(function (root, factory) { "use strict"; if (typeof define === "function" && define.amd) { define([], factory) } Cesium["viewerCesiumNavigationMixin"] = factory() })(typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : this, function () { var requirejs, require, define; (function (undef) { var main, req, makeMap, handlers, defined = {}, waiting = {}, config = {}, defining = {}, hasOwn = Object.prototype.hasOwnProperty, aps = [].slice, jsSuffixRegExp = /\.js$/; function hasProp(obj, prop) { return hasOwn.call(obj, prop) } function normalize(name, baseName) { var nameParts, nameSegment, mapValue, foundMap, lastIndex, foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, baseParts = baseName && baseName.split("/"), map = config.map, starMap = map && map["*"] || {}; if (name) { name = name.split("/"); lastIndex = name.length - 1; if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, "") } if (name[0].charAt(0) === "." && baseParts) { normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); name = normalizedBaseParts.concat(name) } for (i = 0; i < name.length; i++) { part = name[i]; if (part === ".") { name.splice(i, 1); i -= 1 } else if (part === "..") { if (i === 0 || i === 1 && name[2] === ".." || name[i - 1] === "..") { continue } else if (i > 0) { name.splice(i - 1, 2); i -= 2 } } } name = name.join("/") } if ((baseParts || starMap) && map) { nameParts = name.split("/"); for (i = nameParts.length; i > 0; i -= 1) { nameSegment = nameParts.slice(0, i).join("/"); if (baseParts) { for (j = baseParts.length; j > 0; j -= 1) { mapValue = map[baseParts.slice(0, j).join("/")]; if (mapValue) { mapValue = mapValue[nameSegment]; if (mapValue) { foundMap = mapValue; foundI = i; break } } } } if (foundMap) { break } if (!foundStarMap && starMap && starMap[nameSegment]) { foundStarMap = starMap[nameSegment]; starI = i } } if (!foundMap && foundStarMap) { foundMap = foundStarMap; foundI = starI } if (foundMap) { nameParts.splice(0, foundI, foundMap); name = nameParts.join("/") } } return name } function makeRequire(relName, forceSync) { return function () { var args = aps.call(arguments, 0); if (typeof args[0] !== "string" && args.length === 1) { args.push(null) } return req.apply(undef, args.concat([relName, forceSync])) } } function makeNormalize(relName) { return function (name) { return normalize(name, relName) } } function makeLoad(depName) { return function (value) { defined[depName] = value } } function callDep(name) { if (hasProp(waiting, name)) { var args = waiting[name]; delete waiting[name]; defining[name] = true; main.apply(undef, args) } if (!hasProp(defined, name) && !hasProp(defining, name)) { throw new Error("No " + name) } return defined[name] } function splitPrefix(name) { var prefix, index = name ? name.indexOf("!") : -1; if (index > -1) { prefix = name.substring(0, index); name = name.substring(index + 1, name.length) } return [prefix, name] } makeMap = function (name, relName) { var plugin, parts = splitPrefix(name), prefix = parts[0]; name = parts[1]; if (prefix) { prefix = normalize(prefix, relName); plugin = callDep(prefix) } if (prefix) { if (plugin && plugin.normalize) { name = plugin.normalize(name, makeNormalize(relName)) } else { name = normalize(name, relName) } } else { name = normalize(name, relName); parts = splitPrefix(name); prefix = parts[0]; name = parts[1]; if (prefix) { plugin = callDep(prefix) } } return {f: prefix ? prefix + "!" + name : name, n: name, pr: prefix, p: plugin} }; function makeConfig(name) { return function () { return config && config.config && config.config[name] || {} } } handlers = { require: function (name) { return makeRequire(name) }, exports: function (name) { var e = defined[name]; if (typeof e !== "undefined") { return e } else { return defined[name] = {} } }, module: function (name) { return {id: name, uri: "", exports: defined[name], config: makeConfig(name)} } }; main = function (name, deps, callback, relName) { var cjsModule, depName, ret, map, i, args = [], callbackType = typeof callback, usingExports; relName = relName || name; if (callbackType === "undefined" || callbackType === "function") { deps = !deps.length && callback.length ? ["require", "exports", "module"] : deps; for (i = 0; i < deps.length; i += 1) { map = makeMap(deps[i], relName); depName = map.f; if (depName === "require") { args[i] = handlers.require(name) } else if (depName === "exports") { args[i] = handlers.exports(name); usingExports = true } else if (depName === "module") { cjsModule = args[i] = handlers.module(name) } else if (hasProp(defined, depName) || hasProp(waiting, depName) || hasProp(defining, depName)) { args[i] = callDep(depName) } else if (map.p) { map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); args[i] = defined[depName] } else { throw new Error(name + " missing " + depName) } } ret = callback ? callback.apply(defined[name], args) : undefined; if (name) { if (cjsModule && cjsModule.exports !== undef && cjsModule.exports !== defined[name]) { defined[name] = cjsModule.exports } else if (ret !== undef || !usingExports) { defined[name] = ret } } } else if (name) { defined[name] = callback } }; requirejs = require = req = function (deps, callback, relName, forceSync, alt) { if (typeof deps === "string") { if (handlers[deps]) { return handlers[deps](callback) } return callDep(makeMap(deps, callback).f) } else if (!deps.splice) { config = deps; if (config.deps) { req(config.deps, config.callback) } if (!callback) { return } if (callback.splice) { deps = callback; callback = relName; relName = null } else { deps = undef } } callback = callback || function () { }; if (typeof relName === "function") { relName = forceSync; forceSync = alt } if (forceSync) { main(undef, deps, callback, relName) } else { setTimeout(function () { main(undef, deps, callback, relName) }, 4) } return req }; req.config = function (cfg) { return req(cfg) }; requirejs._defined = defined; define = function (name, deps, callback) { if (typeof name !== "string") { throw new Error("See almond README: incorrect module build, no module name") } if (!deps.splice) { callback = deps; deps = [] } if (!hasProp(defined, name) && !hasProp(waiting, name)) { waiting[name] = [name, deps, callback] } }; define.amd = {jQuery: true} })(); define("almond", function () { }); (function () { (function (n) { var x = this || (0, eval)("this"), u = x.document, M = x.navigator, v = x.jQuery, F = x.JSON; (function (n) { "function" === typeof define && define.amd ? define("knockout", ["exports", "require"], n) : "object" === typeof exports && "object" === typeof module ? n(module.exports || exports) : n(x.ko = {}) })(function (N, O) { function J(a, c) { return null === a || typeof a in T ? a === c : !1 } function U(b, c) { var d; return function () { d || (d = a.a.setTimeout(function () { d = n; b() }, c)) } } function V(b, c) { var d; return function () { clearTimeout(d); d = a.a.setTimeout(b, c) } } function W(a, c) { c && c !== I ? "beforeChange" === c ? this.Kb(a) : this.Ha(a, c) : this.Lb(a) } function X(a, c) { null !== c && c.k && c.k() } function Y(a, c) { var d = this.Hc, e = d[s]; e.R || (this.lb && this.Ma[c] ? (d.Pb(c, a, this.Ma[c]), this.Ma[c] = null, --this.lb) : e.r[c] || d.Pb(c, a, e.s ? {ia: a} : d.uc(a))) } function K(b, c, d, e) { a.d[b] = { init: function (b, g, k, l, m) { var h, r; a.m(function () { var q = a.a.c(g()), p = !d !== !q, A = !r; if (A || c || p !== h) A && a.va.Aa() && (r = a.a.ua(a.f.childNodes(b), !0)), p ? (A || a.f.da(b, a.a.ua(r)), a.eb(e ? e(m, q) : m, b)) : a.f.xa(b), h = p }, null, {i: b}); return {controlsDescendantBindings: !0} } }; a.h.ta[b] = !1; a.f.Z[b] = !0 } var a = "undefined" !== typeof N ? N : {}; a.b = function (b, c) { for (var d = b.split("."), e = a, f = 0; f < d.length - 1; f++)e = e[d[f]]; e[d[d.length - 1]] = c }; a.G = function (a, c, d) { a[c] = d }; a.version = "3.4.0"; a.b("version", a.version); a.options = {deferUpdates: !1, useOnlyNativeEvents: !1}; a.a = function () { function b(a, b) { for (var c in a)a.hasOwnProperty(c) && b(c, a[c]) } function c(a, b) { if (b)for (var c in b)b.hasOwnProperty(c) && (a[c] = b[c]); return a } function d(a, b) { a.__proto__ = b; return a } function e(b, c, d, e) { var h = b[c].match(r) || []; a.a.q(d.match(r), function (b) { a.a.pa(h, b, e) }); b[c] = h.join(" ") } var f = {__proto__: []} instanceof Array, g = "function" === typeof Symbol, k = {}, l = {}; k[M && /Firefox\/2/i.test(M.userAgent) ? "KeyboardEvent" : "UIEvents"] = ["keyup", "keydown", "keypress"]; k.MouseEvents = "click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "); b(k, function (a, b) { if (b.length)for (var c = 0, d = b.length; c < d; c++)l[b[c]] = a }); var m = {propertychange: !0}, h = u && function () { for (var a = 3, b = u.createElement("div"), c = b.getElementsByTagName("i"); b.innerHTML = "", c[0];); return 4 < a ? a : n }(), r = /\S+/g; return { cc: ["authenticity_token", /^__RequestVerificationToken(_.*)?$/], q: function (a, b) { for (var c = 0, d = a.length; c < d; c++)b(a[c], c) }, o: function (a, b) { if ("function" == typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(a, b); for (var c = 0, d = a.length; c < d; c++)if (a[c] === b)return c; return -1 }, Sb: function (a, b, c) { for (var d = 0, e = a.length; d < e; d++)if (b.call(c, a[d], d))return a[d]; return null }, La: function (b, c) { var d = a.a.o(b, c); 0 < d ? b.splice(d, 1) : 0 === d && b.shift() }, Tb: function (b) { b = b || []; for (var c = [], d = 0, e = b.length; d < e; d++)0 > a.a.o(c, b[d]) && c.push(b[d]); return c }, fb: function (a, b) { a = a || []; for (var c = [], d = 0, e = a.length; d < e; d++)c.push(b(a[d], d)); return c }, Ka: function (a, b) { a = a || []; for (var c = [], d = 0, e = a.length; d < e; d++)b(a[d], d) && c.push(a[d]); return c }, ra: function (a, b) { if (b instanceof Array) a.push.apply(a, b); else for (var c = 0, d = b.length; c < d; c++)a.push(b[c]); return a }, pa: function (b, c, d) { var e = a.a.o(a.a.zb(b), c); 0 > e ? d && b.push(c) : d || b.splice(e, 1) }, ka: f, extend: c, Xa: d, Ya: f ? d : c, D: b, Ca: function (a, b) { if (!a)return a; var c = {}, d; for (d in a)a.hasOwnProperty(d) && (c[d] = b(a[d], d, a)); return c }, ob: function (b) { for (; b.firstChild;)a.removeNode(b.firstChild) }, jc: function (b) { b = a.a.V(b); for (var c = (b[0] && b[0].ownerDocument || u).createElement("div"), d = 0, e = b.length; d < e; d++)c.appendChild(a.$(b[d])); return c }, ua: function (b, c) { for (var d = 0, e = b.length, h = []; d < e; d++) { var m = b[d].cloneNode(!0); h.push(c ? a.$(m) : m) } return h }, da: function (b, c) { a.a.ob(b); if (c)for (var d = 0, e = c.length; d < e; d++)b.appendChild(c[d]) }, qc: function (b, c) { var d = b.nodeType ? [b] : b; if (0 < d.length) { for (var e = d[0], h = e.parentNode, m = 0, l = c.length; m < l; m++)h.insertBefore(c[m], e); m = 0; for (l = d.length; m < l; m++)a.removeNode(d[m]) } }, za: function (a, b) { if (a.length) { for (b = 8 === b.nodeType && b.parentNode || b; a.length && a[0].parentNode !== b;)a.splice(0, 1); for (; 1 < a.length && a[a.length - 1].parentNode !== b;)a.length--; if (1 < a.length) { var c = a[0], d = a[a.length - 1]; for (a.length = 0; c !== d;)a.push(c), c = c.nextSibling; a.push(d) } } return a }, sc: function (a, b) { 7 > h ? a.setAttribute("selected", b) : a.selected = b }, $a: function (a) { return null === a || a === n ? "" : a.trim ? a.trim() : a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, "") }, nd: function (a, b) { a = a || ""; return b.length > a.length ? !1 : a.substring(0, b.length) === b }, Mc: function (a, b) { if (a === b)return !0; if (11 === a.nodeType)return !1; if (b.contains)return b.contains(3 === a.nodeType ? a.parentNode : a); if (b.compareDocumentPosition)return 16 == (b.compareDocumentPosition(a) & 16); for (; a && a != b;)a = a.parentNode; return !!a }, nb: function (b) { return a.a.Mc(b, b.ownerDocument.documentElement) }, Qb: function (b) { return !!a.a.Sb(b, a.a.nb) }, A: function (a) { return a && a.tagName && a.tagName.toLowerCase() }, Wb: function (b) { return a.onError ? function () { try { return b.apply(this, arguments) } catch (c) { throw a.onError && a.onError(c), c } } : b }, setTimeout: function (b, c) { return setTimeout(a.a.Wb(b), c) }, $b: function (b) { setTimeout(function () { a.onError && a.onError(b); throw b }, 0) }, p: function (b, c, d) { var e = a.a.Wb(d); d = h && m[c]; if (a.options.useOnlyNativeEvents || d || !v)if (d || "function" != typeof b.addEventListener)if ("undefined" != typeof b.attachEvent) { var l = function (a) { e.call(b, a) }, f = "on" + c; b.attachEvent(f, l); a.a.F.oa(b, function () { b.detachEvent(f, l) }) } else throw Error("Browser doesn't support addEventListener or attachEvent"); else b.addEventListener(c, e, !1); else v(b).bind(c, e) }, Da: function (b, c) { if (!b || !b.nodeType)throw Error("element must be a DOM node when calling triggerEvent"); var d; "input" === a.a.A(b) && b.type && "click" == c.toLowerCase() ? (d = b.type, d = "checkbox" == d || "radio" == d) : d = !1; if (a.options.useOnlyNativeEvents || !v || d)if ("function" == typeof u.createEvent)if ("function" == typeof b.dispatchEvent) d = u.createEvent(l[c] || "HTMLEvents"), d.initEvent(c, !0, !0, x, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, b), b.dispatchEvent(d); else throw Error("The supplied element doesn't support dispatchEvent"); else if (d && b.click) b.click(); else if ("undefined" != typeof b.fireEvent) b.fireEvent("on" + c); else throw Error("Browser doesn't support triggering events"); else v(b).trigger(c) }, c: function (b) { return a.H(b) ? b() : b }, zb: function (b) { return a.H(b) ? b.t() : b }, bb: function (b, c, d) { var h; c && ("object" === typeof b.classList ? (h = b.classList[d ? "add" : "remove"], a.a.q(c.match(r), function (a) { h.call(b.classList, a) })) : "string" === typeof b.className.baseVal ? e(b.className, "baseVal", c, d) : e(b, "className", c, d)) }, Za: function (b, c) { var d = a.a.c(c); if (null === d || d === n) d = ""; var e = a.f.firstChild(b); !e || 3 != e.nodeType || a.f.nextSibling(e) ? a.f.da(b, [b.ownerDocument.createTextNode(d)]) : e.data = d; a.a.Rc(b) }, rc: function (a, b) { a.name = b; if (7 >= h)try { a.mergeAttributes(u.createElement(""), !1) } catch (c) { } }, Rc: function (a) { 9 <= h && (a = 1 == a.nodeType ? a : a.parentNode, a.style && (a.style.zoom = a.style.zoom)) }, Nc: function (a) { if (h) { var b = a.style.width; a.style.width = 0; a.style.width = b } }, hd: function (b, c) { b = a.a.c(b); c = a.a.c(c); for (var d = [], e = b; e <= c; e++)d.push(e); return d }, V: function (a) { for (var b = [], c = 0, d = a.length; c < d; c++)b.push(a[c]); return b }, Yb: function (a) { return g ? Symbol(a) : a }, rd: 6 === h, sd: 7 === h, C: h, ec: function (b, c) { for (var d = a.a.V(b.getElementsByTagName("input")).concat(a.a.V(b.getElementsByTagName("textarea"))), e = "string" == typeof c ? function (a) { return a.name === c } : function (a) { return c.test(a.name) }, h = [], m = d.length - 1; 0 <= m; m--)e(d[m]) && h.push(d[m]); return h }, ed: function (b) { return "string" == typeof b && (b = a.a.$a(b)) ? F && F.parse ? F.parse(b) : new Function("return " + b)() : null }, Eb: function (b, c, d) { if (!F || !F.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"); return F.stringify(a.a.c(b), c, d) }, fd: function (c, d, e) { e = e || {}; var h = e.params || {}, m = e.includeFields || this.cc, l = c; if ("object" == typeof c && "form" === a.a.A(c))for (var l = c.action, f = m.length - 1; 0 <= f; f--)for (var g = a.a.ec(c, m[f]), k = g.length - 1; 0 <= k; k--)h[g[k].name] = g[k].value; d = a.a.c(d); var r = u.createElement("form"); r.style.display = "none"; r.action = l; r.method = "post"; for (var n in d)c = u.createElement("input"), c.type = "hidden", c.name = n, c.value = a.a.Eb(a.a.c(d[n])), r.appendChild(c); b(h, function (a, b) { var c = u.createElement("input"); c.type = "hidden"; c.name = a; c.value = b; r.appendChild(c) }); u.body.appendChild(r); e.submitter ? e.submitter(r) : r.submit(); setTimeout(function () { r.parentNode.removeChild(r) }, 0) } } }(); a.b("utils", a.a); a.b("utils.arrayForEach", a.a.q); a.b("utils.arrayFirst", a.a.Sb); a.b("utils.arrayFilter", a.a.Ka); a.b("utils.arrayGetDistinctValues", a.a.Tb); a.b("utils.arrayIndexOf", a.a.o); a.b("utils.arrayMap", a.a.fb); a.b("utils.arrayPushAll", a.a.ra); a.b("utils.arrayRemoveItem", a.a.La); a.b("utils.extend", a.a.extend); a.b("utils.fieldsIncludedWithJsonPost", a.a.cc); a.b("utils.getFormFields", a.a.ec); a.b("utils.peekObservable", a.a.zb); a.b("utils.postJson", a.a.fd); a.b("utils.parseJson", a.a.ed); a.b("utils.registerEventHandler", a.a.p); a.b("utils.stringifyJson", a.a.Eb); a.b("utils.range", a.a.hd); a.b("utils.toggleDomNodeCssClass", a.a.bb); a.b("utils.triggerEvent", a.a.Da); a.b("utils.unwrapObservable", a.a.c); a.b("utils.objectForEach", a.a.D); a.b("utils.addOrRemoveItem", a.a.pa); a.b("utils.setTextContent", a.a.Za); a.b("unwrap", a.a.c); Function.prototype.bind || (Function.prototype.bind = function (a) { var c = this; if (1 === arguments.length)return function () { return c.apply(a, arguments) }; var d = Array.prototype.slice.call(arguments, 1); return function () { var e = d.slice(0); e.push.apply(e, arguments); return c.apply(a, e) } }); a.a.e = new function () { function a(b, g) { var k = b[d]; if (!k || "null" === k || !e[k]) { if (!g)return n; k = b[d] = "ko" + c++; e[k] = {} } return e[k] } var c = 0, d = "__ko__" + (new Date).getTime(), e = {}; return { get: function (c, d) { var e = a(c, !1); return e === n ? n : e[d] }, set: function (c, d, e) { if (e !== n || a(c, !1) !== n) a(c, !0)[d] = e }, clear: function (a) { var b = a[d]; return b ? (delete e[b], a[d] = null, !0) : !1 }, I: function () { return c++ + d } } }; a.b("utils.domData", a.a.e); a.b("utils.domData.clear", a.a.e.clear); a.a.F = new function () { function b(b, c) { var e = a.a.e.get(b, d); e === n && c && (e = [], a.a.e.set(b, d, e)); return e } function c(d) { var e = b(d, !1); if (e)for (var e = e.slice(0), l = 0; l < e.length; l++)e[l](d); a.a.e.clear(d); a.a.F.cleanExternalData(d); if (f[d.nodeType])for (e = d.firstChild; d = e;)e = d.nextSibling, 8 === d.nodeType && c(d) } var d = a.a.e.I(), e = {1: !0, 8: !0, 9: !0}, f = {1: !0, 9: !0}; return { oa: function (a, c) { if ("function" != typeof c)throw Error("Callback must be a function"); b(a, !0).push(c) }, pc: function (c, e) { var l = b(c, !1); l && (a.a.La(l, e), 0 == l.length && a.a.e.set(c, d, n)) }, $: function (b) { if (e[b.nodeType] && (c(b), f[b.nodeType])) { var d = []; a.a.ra(d, b.getElementsByTagName("*")); for (var l = 0, m = d.length; l < m; l++)c(d[l]) } return b }, removeNode: function (b) { a.$(b); b.parentNode && b.parentNode.removeChild(b) }, cleanExternalData: function (a) { v && "function" == typeof v.cleanData && v.cleanData([a]) } } }; a.$ = a.a.F.$; a.removeNode = a.a.F.removeNode; a.b("cleanNode", a.$); a.b("removeNode", a.removeNode); a.b("utils.domNodeDisposal", a.a.F); a.b("utils.domNodeDisposal.addDisposeCallback", a.a.F.oa); a.b("utils.domNodeDisposal.removeDisposeCallback", a.a.F.pc); (function () { var b = [0, "", ""], c = [1, "
" + i(e[r].content) + "
"
}, a.code_block = function (e, r, t, n, s) {
var o = e[r], a = s.renderAttrs(o);
return "" + i(e[r].content) + "
\n"
}, a.fence = function (e, r, t, n, s) {
var a, c, l, u, p = e[r], h = p.info ? o(p.info).trim() : "", f = "";
return h && (f = h.split(/\s+/g)[0]), a = t.highlight ? t.highlight(p.content, f) || i(p.content) : i(p.content), 0 === a.indexOf("" + a + "
\n") : "" + a + "
\n"
}, a.image = function (e, r, t, n, s) {
var o = e[r];
return o.attrs[o.attrIndex("alt")][1] = s.renderInlineAsText(o.children, t, n), s.renderToken(e, r, t)
}, a.hardbreak = function (e, r, t) {
return t.xhtmlOut ? "