/*! * Mars3D平台插件, 支持对 天地图三维地名服务和地形服务加载使用 * 版本信息:v3.1.17, hash值: 0b1e14242815ecaa3be2 * 编译日期:2021-12-19 12:08:56 * 版权所有:Copyright by 火星科技 http://mars3d.cn * */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("mars3d-cesium"), require("mars3d")); else if(typeof define === 'function' && define.amd) define("mars3dTdt", ["mars3d-cesium", "mars3d"], factory); else if(typeof exports === 'object') exports["mars3dTdt"] = factory(require("mars3d-cesium"), require("mars3d")); else root["mars3dTdt"] = factory(root["Cesium"], root["mars3d"]); })(window, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__2__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 12); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__0__; /***/ }), /* 1 */ /***/ (function(module, exports) { function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { module.exports = _typeof = function _typeof(obj) { return typeof obj; }; module.exports["default"] = module.exports, module.exports.__esModule = true; } else { module.exports = _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; module.exports["default"] = module.exports, module.exports.__esModule = true; } return _typeof(obj); } module.exports = _typeof; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 2 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__2__; /***/ }), /* 3 */ /***/ (function(module, exports) { function _getPrototypeOf(o) { module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; module.exports["default"] = module.exports, module.exports.__esModule = true; return _getPrototypeOf(o); } module.exports = _getPrototypeOf; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 4 */ /***/ (function(module, exports) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } module.exports = _classCallCheck; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { var setPrototypeOf = __webpack_require__(10); 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); } module.exports = _inherits; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { var _typeof = __webpack_require__(1)["default"]; var assertThisInitialized = __webpack_require__(11); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return assertThisInitialized(self); } module.exports = _possibleConstructorReturn; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 7 */ /***/ (function(module, exports) { function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } module.exports = _defineProperty; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 8 */ /***/ (function(module, exports) { 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; } module.exports = _createClass; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 9 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var cesium__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0); /* harmony import */ var cesium__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(cesium__WEBPACK_IMPORTED_MODULE_1__); !function (e, t) { t(); }(window, function () { return function (e) { var t = {}; function i(r) { if (t[r]) return t[r].exports; var n = t[r] = { i: r, l: !1, exports: {} }; return e[r].call(n.exports, n, n.exports, i), n.l = !0, n.exports; } return i.m = e, i.c = t, i.d = function (e, t, r) { i.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: r }); }, i.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }, i.t = function (e, t) { if (1 & t && (e = i(e)), 8 & t) return e; if (4 & t && "object" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e) && e && e.__esModule) return e; var r = Object.create(null); if (i.r(r), Object.defineProperty(r, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e) for (var n in e) { i.d(r, n, function (t) { return e[t]; }.bind(null, n)); } return r; }, i.n = function (e) { var t = e && e.__esModule ? function () { return e["default"]; } : function () { return e; }; return i.d(t, "a", t), t; }, i.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }, i.p = "", i(i.s = 242); }([function (e, t, i) { var r = i(175), n = i(6); function o(t) { return e.exports = o = "function" == typeof n && "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(r) ? function (e) { return _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e); } : function (e) { return e && "function" == typeof n && e.constructor === n && e !== n.prototype ? "symbol" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e); }, o(t); } e.exports = o; }, function (e, t, i) { e.exports = i(172); }, function (e, t, i) { e.exports = i(169); }, function (e, t, i) { e.exports = i(160); }, function (e, t, i) { var r = i(50)("wks"), n = i(28), o = i(10).Symbol, a = "function" == typeof o; (e.exports = function (e) { return r[e] || (r[e] = a && o[e] || (a ? o : n)("Symbol." + e)); }).store = r; }, function (e, t) { var i = e.exports = { version: "2.6.11" }; "number" == typeof __e && (__e = i); }, function (e, t, i) { e.exports = i(183); }, function (e, t) { var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); "number" == typeof __g && (__g = i); }, function (e, t, i) { e.exports = i(167); }, function (e, t, i) { e.exports = i(154); }, function (e, t) { var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")(); "number" == typeof __g && (__g = i); }, function (e, t, i) { e.exports = !i(18)(function () { return 7 != Object.defineProperty({}, "a", { get: function get() { return 7; } }).a; }); }, function (e, t, i) { var r = i(7), n = i(5), o = i(59), a = i(32), s = i(31), x = function x(e, t, i) { var l, c, u, h = e & x.F, f = e & x.G, d = e & x.S, g = e & x.P, p = e & x.B, m = e & x.W, b = f ? n : n[t] || (n[t] = {}), v = b.prototype, C = f ? r : d ? r[t] : (r[t] || {}).prototype; for (l in f && (i = t), i) { (c = !h && C && void 0 !== C[l]) && s(b, l) || (u = c ? C[l] : i[l], b[l] = f && "function" != typeof C[l] ? i[l] : p && c ? o(u, r) : m && C[l] == u ? function (e) { var t = function (_t2) { function t(_x, _x2, _x3) { return _t2.apply(this, arguments); } t.toString = function () { return _t2.toString(); }; return t; }(function (t, i, r) { if (this instanceof e) { switch (arguments.length) { case 0: return new e(); case 1: return new e(t); case 2: return new e(t, i); } return new e(t, i, r); } return e.apply(this, arguments); }); return t.prototype = e.prototype, t; }(u) : g && "function" == typeof u ? o(Function.call, u) : u, g && ((b.virtual || (b.virtual = {}))[l] = u, e & x.R && v && !v[l] && a(v, l, u))); } }; x.F = 1, x.G = 2, x.S = 4, x.P = 8, x.B = 16, x.W = 32, x.U = 64, x.R = 128, e.exports = x; }, function (e, t, i) { var r = i(17), n = i(98), o = i(44), a = Object.defineProperty; t.f = i(11) ? Object.defineProperty : function (e, t, i) { if (r(e), t = o(t, !0), r(i), n) try { return a(e, t, i); } catch (e) {} if ("get" in i || "set" in i) throw TypeError("Accessors not supported!"); return "value" in i && (e[t] = i.value), e; }; }, function (e, t, i) { var r = i(75)("wks"), n = i(58), o = i(7).Symbol, a = "function" == typeof o; (e.exports = function (e) { return r[e] || (r[e] = a && o[e] || (a ? o : n)("Symbol." + e)); }).store = r; }, function (e, t, i) { e.exports = i(147); }, function (e, t, i) { e.exports = i(164); }, function (e, t, i) { var r = i(21); e.exports = function (e) { if (!r(e)) throw TypeError(e + " is not an object!"); return e; }; }, function (e, t) { e.exports = function (e) { try { return !!e(); } catch (e) { return !0; } }; }, function (e, t, i) { var r = i(29), n = Math.min; e.exports = function (e) { return e > 0 ? n(r(e), 9007199254740991) : 0; }; }, function (e, t, i) { var r = i(13), n = i(45); e.exports = i(11) ? function (e, t, i) { return r.f(e, t, n(1, i)); } : function (e, t, i) { return e[t] = i, e; }; }, function (e, t) { e.exports = function (e) { return "object" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e) ? null !== e : "function" == typeof e; }; }, function (e, t, i) { var r = i(10), n = i(20), o = i(24), a = i(28)("src"), s = i(150), x = ("" + s).split("toString"); i(43).inspectSource = function (e) { return s.call(e); }, (e.exports = function (e, t, i, s) { var l = "function" == typeof i; l && (o(i, "name") || n(i, "name", t)), e[t] !== i && (l && (o(i, a) || n(i, a, e[t] ? "" + e[t] : x.join(String(t)))), e === r ? e[t] = i : s ? e[t] ? e[t] = i : n(e, t, i) : (delete e[t], n(e, t, i))); })(Function.prototype, "toString", function () { return "function" == typeof this && this[a] || s.call(this); }); }, function (e, t, i) { var r = i(10), n = i(43), o = i(20), a = i(22), s = i(51), x = function x(e, t, i) { var l, c, u, h, f = e & x.F, d = e & x.G, g = e & x.S, p = e & x.P, m = e & x.B, b = d ? r : g ? r[t] || (r[t] = {}) : (r[t] || {}).prototype, v = d ? n : n[t] || (n[t] = {}), C = v.prototype || (v.prototype = {}); for (l in d && (i = t), i) { u = ((c = !f && b && void 0 !== b[l]) ? b : i)[l], h = m && c ? s(u, r) : p && "function" == typeof u ? s(Function.call, u) : u, b && a(b, l, u, e & x.U), v[l] != u && o(v, l, h), p && C[l] != u && (C[l] = u); } }; r.core = n, x.F = 1, x.G = 2, x.S = 4, x.P = 8, x.B = 16, x.W = 32, x.U = 64, x.R = 128, e.exports = x; }, function (e, t) { var i = {}.hasOwnProperty; e.exports = function (e, t) { return i.call(e, t); }; }, function (e, t, i) { e.exports = !i(40)(function () { return 7 != Object.defineProperty({}, "a", { get: function get() { return 7; } }).a; }); }, function (e, t, i) { var r = i(27), n = i(107), o = i(78), a = Object.defineProperty; t.f = i(25) ? Object.defineProperty : function (e, t, i) { if (r(e), t = o(t, !0), r(i), n) try { return a(e, t, i); } catch (e) {} if ("get" in i || "set" in i) throw TypeError("Accessors not supported!"); return "value" in i && (e[t] = i.value), e; }; }, function (e, t, i) { var r = i(33); e.exports = function (e) { if (!r(e)) throw TypeError(e + " is not an object!"); return e; }; }, function (e, t) { var i = 0, r = Math.random(); e.exports = function (e) { return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36)); }; }, function (e, t) { var i = Math.ceil, r = Math.floor; e.exports = function (e) { return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e); }; }, function (e, t, i) { var r = i(38); e.exports = function (e) { return Object(r(e)); }; }, function (e, t) { var i = {}.hasOwnProperty; e.exports = function (e, t) { return i.call(e, t); }; }, function (e, t, i) { var r = i(26), n = i(61); e.exports = i(25) ? function (e, t, i) { return r.f(e, t, n(1, i)); } : function (e, t, i) { return e[t] = i, e; }; }, function (e, t) { e.exports = function (e) { return "object" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e) ? null !== e : "function" == typeof e; }; }, function (e, t, i) { "use strict"; if (i(11)) { var r = i(35), n = i(10), o = i(18), a = i(23), s = i(123), x = i(196), l = i(51), c = i(125), u = i(45), h = i(20), f = i(124), d = i(29), g = i(19), p = i(126), m = i(54), b = i(44), v = i(24), C = i(63), y = i(21), _ = i(30), A = i(197), I = i(52), w = i(104), G = i(41).f, E = i(198), S = i(28), T = i(4), P = i(199), M = i(103), N = i(108), L = i(42), R = i(36), O = i(202), F = i(128), D = i(92), U = i(203), k = i(13), B = i(67), W = k.f, j = B.f, V = n.RangeError, z = n.TypeError, H = n.Uint8Array, q = Array.prototype, X = x.ArrayBuffer, Y = x.DataView, K = P(0), Q = P(2), Z = P(3), J = P(4), $ = P(5), ee = P(6), te = M(!0), ie = M(!1), re = L.values, ne = L.keys, oe = L.entries, ae = q.lastIndexOf, se = q.reduce, xe = q.reduceRight, le = q.join, ce = q.sort, ue = q.slice, he = q.toString, fe = q.toLocaleString, de = T("iterator"), ge = T("toStringTag"), pe = S("typed_constructor"), me = S("def_constructor"), be = s.CONSTR, ve = s.TYPED, Ce = s.VIEW, ye = P(1, function (e, t) { return Ge(N(e, e[me]), t); }), _e = o(function () { return 1 === new H(new Uint16Array([1]).buffer)[0]; }), Ae = !!H && !!H.prototype.set && o(function () { new H(1).set({}); }), Ie = function Ie(e, t) { var i = d(e); if (i < 0 || i % t) throw V("Wrong offset!"); return i; }, we = function we(e) { if (y(e) && ve in e) return e; throw z(e + " is not a typed array!"); }, Ge = function Ge(e, t) { if (!y(e) || !(pe in e)) throw z("It is not a typed array constructor!"); return new e(t); }, Ee = function Ee(e, t) { return Se(N(e, e[me]), t); }, Se = function Se(e, t) { for (var i = 0, r = t.length, n = Ge(e, r); r > i;) { n[i] = t[i++]; } return n; }, Te = function Te(e, t, i) { W(e, t, { get: function get() { return this._d[i]; } }); }, Pe = function Pe(e) { var t, i, r, n, o, a, s = _(e), x = arguments.length, c = x > 1 ? arguments[1] : void 0, u = void 0 !== c, h = E(s); if (null != h && !A(h)) { for (a = h.call(s), r = [], t = 0; !(o = a.next()).done; t++) { r.push(o.value); } s = r; } for (u && x > 2 && (c = l(c, arguments[2], 2)), t = 0, i = g(s.length), n = Ge(this, i); i > t; t++) { n[t] = u ? c(s[t], t) : s[t]; } return n; }, Me = function Me() { for (var e = 0, t = arguments.length, i = Ge(this, t); t > e;) { i[e] = arguments[e++]; } return i; }, Ne = !!H && o(function () { fe.call(new H(1)); }), Le = function Le() { return fe.apply(Ne ? ue.call(we(this)) : we(this), arguments); }, Re = { copyWithin: function copyWithin(e, t) { return U.call(we(this), e, t, arguments.length > 2 ? arguments[2] : void 0); }, every: function every(e) { return J(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, fill: function fill(e) { return D.apply(we(this), arguments); }, filter: function filter(e) { return Ee(this, Q(we(this), e, arguments.length > 1 ? arguments[1] : void 0)); }, find: function find(e) { return $(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, findIndex: function findIndex(e) { return ee(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, forEach: function forEach(e) { K(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, indexOf: function indexOf(e) { return ie(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, includes: function includes(e) { return te(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, join: function join(e) { return le.apply(we(this), arguments); }, lastIndexOf: function lastIndexOf(e) { return ae.apply(we(this), arguments); }, map: function map(e) { return ye(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, reduce: function reduce(e) { return se.apply(we(this), arguments); }, reduceRight: function reduceRight(e) { return xe.apply(we(this), arguments); }, reverse: function reverse() { for (var e, t = we(this).length, i = Math.floor(t / 2), r = 0; r < i;) { e = this[r], this[r++] = this[--t], this[t] = e; } return this; }, some: function some(e) { return Z(we(this), e, arguments.length > 1 ? arguments[1] : void 0); }, sort: function sort(e) { return ce.call(we(this), e); }, subarray: function subarray(e, t) { var i = we(this), r = i.length, n = m(e, r); return new (N(i, i[me]))(i.buffer, i.byteOffset + n * i.BYTES_PER_ELEMENT, g((void 0 === t ? r : m(t, r)) - n)); } }, Oe = function Oe(e, t) { return Ee(this, ue.call(we(this), e, t)); }, Fe = function Fe(e) { we(this); var t = Ie(arguments[1], 1), i = this.length, r = _(e), n = g(r.length), o = 0; if (n + t > i) throw V("Wrong length!"); for (; o < n;) { this[t + o] = r[o++]; } }, De = { entries: function entries() { return oe.call(we(this)); }, keys: function keys() { return ne.call(we(this)); }, values: function values() { return re.call(we(this)); } }, Ue = function Ue(e, t) { return y(e) && e[ve] && "symbol" != _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(t) && t in e && String(+t) == String(t); }, ke = function ke(e, t) { return Ue(e, t = b(t, !0)) ? u(2, e[t]) : j(e, t); }, Be = function Be(e, t, i) { return !(Ue(e, t = b(t, !0)) && y(i) && v(i, "value")) || v(i, "get") || v(i, "set") || i.configurable || v(i, "writable") && !i.writable || v(i, "enumerable") && !i.enumerable ? W(e, t, i) : (e[t] = i.value, e); }; be || (B.f = ke, k.f = Be), a(a.S + a.F * !be, "Object", { getOwnPropertyDescriptor: ke, defineProperty: Be }), o(function () { he.call({}); }) && (he = fe = function fe() { return le.call(this); }); var We = f({}, Re); f(We, De), h(We, de, De.values), f(We, { slice: Oe, set: Fe, constructor: function constructor() {}, toString: he, toLocaleString: Le }), Te(We, "buffer", "b"), Te(We, "byteOffset", "o"), Te(We, "byteLength", "l"), Te(We, "length", "e"), W(We, ge, { get: function get() { return this[ve]; } }), e.exports = function (e, t, i, x) { var l = e + ((x = !!x) ? "Clamped" : "") + "Array", u = "get" + e, f = "set" + e, d = n[l], m = d || {}, b = d && w(d), v = !d || !s.ABV, _ = {}, A = d && d.prototype, E = function E(e, i) { W(e, i, { get: function get() { return function (e, i) { var r = e._d; return r.v[u](i * t + r.o, _e); }(this, i); }, set: function set(e) { return function (e, i, r) { var n = e._d; x && (r = (r = Math.round(r)) < 0 ? 0 : r > 255 ? 255 : 255 & r), n.v[f](i * t + n.o, r, _e); }(this, i, e); }, enumerable: !0 }); }; v ? (d = i(function (e, i, r, n) { c(e, d, l, "_d"); var o, a, s, x, u = 0, f = 0; if (y(i)) { if (!(i instanceof X || "ArrayBuffer" == (x = C(i)) || "SharedArrayBuffer" == x)) return ve in i ? Se(d, i) : Pe.call(d, i); o = i, f = Ie(r, t); var m = i.byteLength; if (void 0 === n) { if (m % t) throw V("Wrong length!"); if ((a = m - f) < 0) throw V("Wrong length!"); } else if ((a = g(n) * t) + f > m) throw V("Wrong length!"); s = a / t; } else s = p(i), o = new X(a = s * t); for (h(e, "_d", { b: o, o: f, l: a, e: s, v: new Y(o) }); u < s;) { E(e, u++); } }), A = d.prototype = I(We), h(A, "constructor", d)) : o(function () { d(1); }) && o(function () { new d(-1); }) && O(function (e) { new d(), new d(null), new d(1.5), new d(e); }, !0) || (d = i(function (e, i, r, n) { var o; return c(e, d, l), y(i) ? i instanceof X || "ArrayBuffer" == (o = C(i)) || "SharedArrayBuffer" == o ? void 0 !== n ? new m(i, Ie(r, t), n) : void 0 !== r ? new m(i, Ie(r, t)) : new m(i) : ve in i ? Se(d, i) : Pe.call(d, i) : new m(p(i)); }), K(b !== Function.prototype ? G(m).concat(G(b)) : G(m), function (e) { e in d || h(d, e, m[e]); }), d.prototype = A, r || (A.constructor = d)); var S = A[de], T = !!S && ("values" == S.name || null == S.name), P = De.values; h(d, pe, !0), h(A, ve, l), h(A, Ce, !0), h(A, me, d), (x ? new d(1)[ge] == l : ge in A) || W(A, ge, { get: function get() { return l; } }), _[l] = d, a(a.G + a.W + a.F * (d != m), _), a(a.S, l, { BYTES_PER_ELEMENT: t }), a(a.S + a.F * o(function () { m.of.call(d, 1); }), l, { from: Pe, of: Me }), "BYTES_PER_ELEMENT" in A || h(A, "BYTES_PER_ELEMENT", t), a(a.P, l, Re), F(l), a(a.P + a.F * Ae, l, { set: Fe }), a(a.P + a.F * !T, l, De), r || A.toString == he || (A.toString = he), a(a.P + a.F * o(function () { new d(1).slice(); }), l, { slice: Oe }), a(a.P + a.F * (o(function () { return [1, 2].toLocaleString() != new d([1, 2]).toLocaleString(); }) || !o(function () { A.toLocaleString.call([1, 2]); })), l, { toLocaleString: Le }), R[l] = T ? S : P, r || T || h(A, de, P); }; } else e.exports = function () {}; }, function (e, t) { e.exports = !1; }, function (e, t) { e.exports = {}; }, function (e, t, i) { var r = i(100), n = i(38); e.exports = function (e) { return r(n(e)); }; }, function (e, t) { e.exports = function (e) { if (null == e) throw TypeError("Can't call method on " + e); return e; }; }, function (e, t, i) { var r = i(156), n = i(56); e.exports = function (e) { return r(n(e)); }; }, function (e, t) { e.exports = function (e) { try { return !!e(); } catch (e) { return !0; } }; }, function (e, t, i) { var r = i(102), n = i(71).concat("length", "prototype"); t.f = Object.getOwnPropertyNames || function (e) { return r(e, n); }; }, function (e, t, i) { "use strict"; var r = i(97), n = i(148), o = i(36), a = i(37); e.exports = i(149)(Array, "Array", function (e, t) { this._t = a(e), this._i = 0, this._k = t; }, function () { var e = this._t, t = this._k, i = this._i++; return !e || i >= e.length ? (this._t = void 0, n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]]); }, "values"), o.Arguments = o.Array, r("keys"), r("values"), r("entries"); }, function (e, t) { var i = e.exports = { version: "2.6.11" }; "number" == typeof __e && (__e = i); }, function (e, t, i) { var r = i(21); e.exports = function (e, t) { if (!r(e)) return e; var i, n; if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e))) return n; if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e))) return n; if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e))) return n; throw TypeError("Can't convert object to primitive value"); }; }, function (e, t) { e.exports = function (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t }; }; }, function (e, t) { var i = {}.toString; e.exports = function (e) { return i.call(e).slice(8, -1); }; }, function (e, t) { var i = {}.toString; e.exports = function (e) { return i.call(e).slice(8, -1); }; }, function (e, t) { e.exports = !0; }, function (e, t) { e.exports = {}; }, function (e, t, i) { var r = i(43), n = i(10), o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {}); (e.exports = function (e, t) { return o[e] || (o[e] = void 0 !== t ? t : {}); })("versions", []).push({ version: r.version, mode: i(35) ? "pure" : "global", copyright: "© 2019 Denis Pushkarev (zloirock.ru)" }); }, function (e, t, i) { var r = i(101); e.exports = function (e, t, i) { if (r(e), void 0 === t) return e; switch (i) { case 1: return function (i) { return e.call(t, i); }; case 2: return function (i, r) { return e.call(t, i, r); }; case 3: return function (i, r, n) { return e.call(t, i, r, n); }; } return function () { return e.apply(t, arguments); }; }; }, function (e, t, i) { var r = i(17), n = i(152), o = i(71), a = i(70)("IE_PROTO"), s = function s() {}, _x4 = function x() { var e, t = i(99)("iframe"), r = o.length; for (t.style.display = "none", i(153).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write(""), e.close(), _x4 = e.F; r--;) { delete _x4.prototype[o[r]]; } return _x4(); }; e.exports = Object.create || function (e, t) { var i; return null !== e ? (s.prototype = r(e), i = new s(), s.prototype = null, i[a] = e) : i = _x4(), void 0 === t ? i : n(i, t); }; }, function (e, t, i) { var r = i(102), n = i(71); e.exports = Object.keys || function (e) { return r(e, n); }; }, function (e, t, i) { var r = i(29), n = Math.max, o = Math.min; e.exports = function (e, t) { return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t); }; }, function (e, t, i) { var r = i(13).f, n = i(24), o = i(4)("toStringTag"); e.exports = function (e, t, i) { e && !n(e = i ? e : e.prototype, o) && r(e, o, { configurable: !0, value: t }); }; }, function (e, t) { e.exports = function (e) { if (null == e) throw TypeError("Can't call method on " + e); return e; }; }, function (e, t, i) { var r = i(105), n = i(76); e.exports = Object.keys || function (e) { return r(e, n); }; }, function (e, t) { var i = 0, r = Math.random(); e.exports = function (e) { return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + r).toString(36)); }; }, function (e, t, i) { var r = i(60); e.exports = function (e, t, i) { if (r(e), void 0 === t) return e; switch (i) { case 1: return function (i) { return e.call(t, i); }; case 2: return function (i, r) { return e.call(t, i, r); }; case 3: return function (i, r, n) { return e.call(t, i, r, n); }; } return function () { return e.apply(t, arguments); }; }; }, function (e, t) { e.exports = function (e) { if ("function" != typeof e) throw TypeError(e + " is not a function!"); return e; }; }, function (e, t) { e.exports = function (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t }; }; }, function (e, t, i) { "use strict"; var r = i(63), n = RegExp.prototype.exec; e.exports = function (e, t) { var i = e.exec; if ("function" == typeof i) { var o = i.call(e, t); if ("object" != _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(o)) throw new TypeError("RegExp exec method returned something other than an Object or null"); return o; } if ("RegExp" !== r(e)) throw new TypeError("RegExp#exec called on incompatible receiver"); return n.call(e, t); }; }, function (e, t, i) { var r = i(46), n = i(4)("toStringTag"), o = "Arguments" == r(function () { return arguments; }()); e.exports = function (e) { var t, i, a; return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function (e, t) { try { return e[t]; } catch (e) {} }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (a = r(t)) && "function" == typeof t.callee ? "Arguments" : a; }; }, function (e, t, i) { "use strict"; var r = i(17); e.exports = function () { var e = r(this), t = ""; return e.global && (t += "g"), e.ignoreCase && (t += "i"), e.multiline && (t += "m"), e.unicode && (t += "u"), e.sticky && (t += "y"), t; }; }, function (e, t, i) { "use strict"; i(163); var r = i(22), n = i(20), o = i(18), a = i(38), s = i(4), x = i(82), l = s("species"), c = !o(function () { var e = /./; return e.exec = function () { var e = []; return e.groups = { a: "7" }, e; }, "7" !== "".replace(e, "$"); }), u = function () { var e = /(?:)/, t = e.exec; e.exec = function () { return t.apply(this, arguments); }; var i = "ab".split(e); return 2 === i.length && "a" === i[0] && "b" === i[1]; }(); e.exports = function (e, t, i) { var h = s(e), f = !o(function () { var t = {}; return t[h] = function () { return 7; }, 7 != ""[e](t); }), d = f ? !o(function () { var t = !1, i = /a/; return i.exec = function () { return t = !0, null; }, "split" === e && (i.constructor = {}, i.constructor[l] = function () { return i; }), i[h](""), !t; }) : void 0; if (!f || !d || "replace" === e && !c || "split" === e && !u) { var g = /./[h], p = i(a, h, ""[e], function (e, t, i, r, n) { return t.exec === x ? f && !n ? { done: !0, value: g.call(t, i, r) } : { done: !0, value: e.call(i, t, r) } : { done: !1 }; }), m = p[0], b = p[1]; r(String.prototype, e, m), n(RegExp.prototype, h, 2 == t ? function (e, t) { return b.call(e, this, t); } : function (e) { return b.call(e, this); }); } }; }, function (e, t, i) { var r = i(26).f, n = i(31), o = i(14)("toStringTag"); e.exports = function (e, t, i) { e && !n(e = i ? e : e.prototype, o) && r(e, o, { configurable: !0, value: t }); }; }, function (e, t, i) { var r = i(93), n = i(45), o = i(37), a = i(44), s = i(24), x = i(98), l = Object.getOwnPropertyDescriptor; t.f = i(11) ? l : function (e, t) { if (e = o(e), t = a(t, !0), x) try { return l(e, t); } catch (e) {} if (s(e, t)) return n(!r.f.call(e, t), e[t]); }; }, function (e, t, i) { e.exports = i(214); }, function (e, t, i) { for (var r = i(42), n = i(53), o = i(22), a = i(10), s = i(20), x = i(36), l = i(4), c = l("iterator"), u = l("toStringTag"), h = x.Array, f = { CSSRuleList: !0, CSSStyleDeclaration: !1, CSSValueList: !1, ClientRectList: !1, DOMRectList: !1, DOMStringList: !1, DOMTokenList: !0, DataTransferItemList: !1, FileList: !1, HTMLAllCollection: !1, HTMLCollection: !1, HTMLFormElement: !1, HTMLSelectElement: !1, MediaList: !0, MimeTypeArray: !1, NamedNodeMap: !1, NodeList: !0, PaintRequestList: !1, Plugin: !1, PluginArray: !1, SVGLengthList: !1, SVGNumberList: !1, SVGPathSegList: !1, SVGPointList: !1, SVGStringList: !1, SVGTransformList: !1, SourceBufferList: !1, StyleSheetList: !0, TextTrackCueList: !1, TextTrackList: !1, TouchList: !1 }, d = n(f), g = 0; g < d.length; g++) { var p, m = d[g], b = f[m], v = a[m], C = v && v.prototype; if (C && (C[c] || s(C, c, h), C[u] || s(C, u, m), x[m] = h, b)) for (p in r) { C[p] || o(C, p, r[p], !0); } } }, function (e, t, i) { var r = i(50)("keys"), n = i(28); e.exports = function (e) { return r[e] || (r[e] = n(e)); }; }, function (e, t) { e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","); }, function (e, t, i) { var r = i(56); e.exports = function (e) { return Object(r(e)); }; }, function (e, t) { var i = Math.ceil, r = Math.floor; e.exports = function (e) { return isNaN(e = +e) ? 0 : (e > 0 ? r : i)(e); }; }, function (e, t, i) { var r = i(75)("keys"), n = i(58); e.exports = function (e) { return r[e] || (r[e] = n(e)); }; }, function (e, t, i) { var r = i(5), n = i(7), o = n["__core-js_shared__"] || (n["__core-js_shared__"] = {}); (e.exports = function (e, t) { return o[e] || (o[e] = void 0 !== t ? t : {}); })("versions", []).push({ version: r.version, mode: i(48) ? "pure" : "global", copyright: "© 2019 Denis Pushkarev (zloirock.ru)" }); }, function (e, t) { e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","); }, function (e, t, i) { var r = i(33), n = i(7).document, o = r(n) && r(n.createElement); e.exports = function (e) { return o ? n.createElement(e) : {}; }; }, function (e, t, i) { var r = i(33); e.exports = function (e, t) { if (!r(e)) return e; var i, n; if (t && "function" == typeof (i = e.toString) && !r(n = i.call(e))) return n; if ("function" == typeof (i = e.valueOf) && !r(n = i.call(e))) return n; if (!t && "function" == typeof (i = e.toString) && !r(n = i.call(e))) return n; throw TypeError("Can't convert object to primitive value"); }; }, function (e, t, i) { "use strict"; var r = i(80), n = i(17), o = i(108), a = i(81), s = i(19), x = i(62), l = i(82), c = i(18), u = Math.min, h = [].push, f = "length", d = !c(function () { RegExp(4294967295, "y"); }); i(65)("split", 2, function (e, t, i, c) { var g; return g = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1)[f] || 2 != "ab".split(/(?:ab)*/)[f] || 4 != ".".split(/(.?)(.?)/)[f] || ".".split(/()()/)[f] > 1 || "".split(/.?/)[f] ? function (e, t) { var n = String(this); if (void 0 === e && 0 === t) return []; if (!r(e)) return i.call(n, e, t); for (var o, a, s, x = [], c = (e.ignoreCase ? "i" : "") + (e.multiline ? "m" : "") + (e.unicode ? "u" : "") + (e.sticky ? "y" : ""), u = 0, d = void 0 === t ? 4294967295 : t >>> 0, g = new RegExp(e.source, c + "g"); (o = l.call(g, n)) && !((a = g.lastIndex) > u && (x.push(n.slice(u, o.index)), o[f] > 1 && o.index < n[f] && h.apply(x, o.slice(1)), s = o[0][f], u = a, x[f] >= d));) { g.lastIndex === o.index && g.lastIndex++; } return u === n[f] ? !s && g.test("") || x.push("") : x.push(n.slice(u)), x[f] > d ? x.slice(0, d) : x; } : "0".split(void 0, 0)[f] ? function (e, t) { return void 0 === e && 0 === t ? [] : i.call(this, e, t); } : i, [function (i, r) { var n = e(this), o = null == i ? void 0 : i[t]; return void 0 !== o ? o.call(i, n, r) : g.call(String(n), i, r); }, function (e, t) { var r = c(g, e, this, t, g !== i); if (r.done) return r.value; var l = n(e), h = String(this), f = o(l, RegExp), p = l.unicode, m = (l.ignoreCase ? "i" : "") + (l.multiline ? "m" : "") + (l.unicode ? "u" : "") + (d ? "y" : "g"), b = new f(d ? l : "^(?:" + l.source + ")", m), v = void 0 === t ? 4294967295 : t >>> 0; if (0 === v) return []; if (0 === h.length) return null === x(b, h) ? [h] : []; for (var C = 0, y = 0, _ = []; y < h.length;) { b.lastIndex = d ? y : 0; var A, I = x(b, d ? h : h.slice(y)); if (null === I || (A = u(s(b.lastIndex + (d ? 0 : y)), h.length)) === C) y = a(h, y, p);else { if (_.push(h.slice(C, y)), _.length === v) return _; for (var w = 1; w <= I.length - 1; w++) { if (_.push(I[w]), _.length === v) return _; } y = C = A; } } return _.push(h.slice(C)), _; }]; }); }, function (e, t, i) { var r = i(21), n = i(46), o = i(4)("match"); e.exports = function (e) { var t; return r(e) && (void 0 !== (t = e[o]) ? !!t : "RegExp" == n(e)); }; }, function (e, t, i) { "use strict"; var r = i(162)(!0); e.exports = function (e, t, i) { return t + (i ? r(e, t).length : 1); }; }, function (e, t, i) { "use strict"; var r, n, o = i(64), a = RegExp.prototype.exec, s = String.prototype.replace, x = a, l = (r = /a/, n = /b*/g, a.call(r, "a"), a.call(n, "a"), 0 !== r.lastIndex || 0 !== n.lastIndex), c = void 0 !== /()??/.exec("")[1]; (l || c) && (x = function x(e) { var t, i, r, n, x = this; return c && (i = new RegExp("^" + x.source + "$(?!\\s)", o.call(x))), l && (t = x.lastIndex), r = a.call(x, e), l && r && (x.lastIndex = x.global ? r.index + r[0].length : t), c && r && r.length > 1 && s.call(r[0], i, function () { for (n = 1; n < arguments.length - 2; n++) { void 0 === arguments[n] && (r[n] = void 0); } }), r; }), e.exports = x; }, function (e, t, i) { var r = i(27), n = i(109), o = i(76), a = i(74)("IE_PROTO"), s = function s() {}, _x5 = function x() { var e, t = i(77)("iframe"), r = o.length; for (t.style.display = "none", i(110).appendChild(t), t.src = "javascript:", (e = t.contentWindow.document).open(), e.write(""), e.close(), _x5 = e.F; r--;) { delete _x5.prototype[o[r]]; } return _x5(); }; e.exports = Object.create || function (e, t) { var i; return null !== e ? (s.prototype = r(e), i = new s(), s.prototype = null, i[a] = e) : i = _x5(), void 0 === t ? i : n(i, t); }; }, function (e, t, i) { var r = i(13).f, n = Function.prototype, o = /^\s*function ([^ (]*)/; "name" in n || i(11) && r(n, "name", { configurable: !0, get: function get() { try { return ("" + this).match(o)[1]; } catch (e) { return ""; } } }); }, function (e, t, i) { "use strict"; i(166); var r = i(17), n = i(64), o = i(11), a = /./.toString, s = function s(e) { i(22)(RegExp.prototype, "toString", e, !0); }; i(18)(function () { return "/a/b" != a.call({ source: "a", flags: "b" }); }) ? s(function () { var e = r(this); return "/".concat(e.source, "/", "flags" in e ? e.flags : !o && e instanceof RegExp ? n.call(e) : void 0); }) : "toString" != a.name && s(function () { return a.call(this); }); }, function (e, t, i) { "use strict"; var r = i(63), n = {}; n[i(4)("toStringTag")] = "z", n + "" != "[object z]" && i(22)(Object.prototype, "toString", function () { return "[object " + r(this) + "]"; }, !0); }, function (e, t) { e.exports = "\t\n\x0B\f\r \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF"; }, function (e, t, i) { "use strict"; var r = i(17), n = i(30), o = i(19), a = i(29), s = i(81), x = i(62), l = Math.max, c = Math.min, u = Math.floor, h = /\$([$&`']|\d\d?|<[^>]*>)/g, f = /\$([$&`']|\d\d?)/g; i(65)("replace", 2, function (e, t, i, d) { return [function (r, n) { var o = e(this), a = null == r ? void 0 : r[t]; return void 0 !== a ? a.call(r, o, n) : i.call(String(o), r, n); }, function (e, t) { var n = d(i, e, this, t); if (n.done) return n.value; var u = r(e), h = String(this), f = "function" == typeof t; f || (t = String(t)); var p = u.global; if (p) { var m = u.unicode; u.lastIndex = 0; } for (var b = [];;) { var v = x(u, h); if (null === v) break; if (b.push(v), !p) break; "" === String(v[0]) && (u.lastIndex = s(h, o(u.lastIndex), m)); } for (var C, y = "", _ = 0, A = 0; A < b.length; A++) { v = b[A]; for (var I = String(v[0]), w = l(c(a(v.index), h.length), 0), G = [], E = 1; E < v.length; E++) { G.push(void 0 === (C = v[E]) ? C : String(C)); } var S = v.groups; if (f) { var T = [I].concat(G, w, h); void 0 !== S && T.push(S); var P = String(t.apply(void 0, T)); } else P = g(I, h, w, G, S, t); w >= _ && (y += h.slice(_, w) + P, _ = w + I.length); } return y + h.slice(_); }]; function g(e, t, r, o, a, s) { var x = r + e.length, l = o.length, c = f; return void 0 !== a && (a = n(a), c = h), i.call(s, c, function (i, n) { var s; switch (n.charAt(0)) { case "$": return "$"; case "&": return e; case "`": return t.slice(0, r); case "'": return t.slice(x); case "<": s = a[n.slice(1, -1)]; break; default: var c = +n; if (0 === c) return i; if (c > l) { var h = u(c / 10); return 0 === h ? i : h <= l ? void 0 === o[h - 1] ? n.charAt(1) : o[h - 1] + n.charAt(1) : i; } s = o[c - 1]; } return void 0 === s ? "" : s; }); } }); }, function (e, t, i) { t.f = i(14); }, function (e, t, i) { var r = i(7), n = i(5), o = i(48), a = i(89), s = i(26).f; e.exports = function (e) { var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {}); "_" == e.charAt(0) || e in t || s(t, e, { value: a.f(e) }); }; }, function (e, t) { t.f = {}.propertyIsEnumerable; }, function (e, t, i) { "use strict"; var r = i(30), n = i(54), o = i(19); e.exports = function (e) { for (var t = r(this), i = o(t.length), a = arguments.length, s = n(a > 1 ? arguments[1] : void 0, i), x = a > 2 ? arguments[2] : void 0, l = void 0 === x ? i : n(x, i); l > s;) { t[s++] = e; } return t; }; }, function (e, t) { t.f = {}.propertyIsEnumerable; }, function (e, t, i) { "use strict"; var r = i(60); function n(e) { var t, i; this.promise = new e(function (e, r) { if (void 0 !== t || void 0 !== i) throw TypeError("Bad Promise constructor"); t = e, i = r; }), this.resolve = r(t), this.reject = r(i); } e.exports.f = function (e) { return new n(e); }; }, function (e, t) { var i, r, n = e.exports = {}; function o() { throw new Error("setTimeout has not been defined"); } function a() { throw new Error("clearTimeout has not been defined"); } function s(e) { if (i === setTimeout) return setTimeout(e, 0); if ((i === o || !i) && setTimeout) return i = setTimeout, setTimeout(e, 0); try { return i(e, 0); } catch (t) { try { return i.call(null, e, 0); } catch (t) { return i.call(this, e, 0); } } } !function () { try { i = "function" == typeof setTimeout ? setTimeout : o; } catch (e) { i = o; } try { r = "function" == typeof clearTimeout ? clearTimeout : a; } catch (e) { r = a; } }(); var x, l = [], c = !1, u = -1; function h() { c && x && (c = !1, x.length ? l = x.concat(l) : u = -1, l.length && f()); } function f() { if (!c) { var e = s(h); c = !0; for (var t = l.length; t;) { for (x = l, l = []; ++u < t;) { x && x[u].run(); } u = -1, t = l.length; } x = null, c = !1, function (e) { if (r === clearTimeout) return clearTimeout(e); if ((r === a || !r) && clearTimeout) return r = clearTimeout, clearTimeout(e); try { r(e); } catch (t) { try { return r.call(null, e); } catch (t) { return r.call(this, e); } } }(e); } } function d(e, t) { this.fun = e, this.array = t; } function g() {} n.nextTick = function (e) { var t = new Array(arguments.length - 1); if (arguments.length > 1) for (var i = 1; i < arguments.length; i++) { t[i - 1] = arguments[i]; } l.push(new d(e, t)), 1 !== l.length || c || s(f); }, d.prototype.run = function () { this.fun.apply(null, this.array); }, n.title = "browser", n.browser = !0, n.env = {}, n.argv = [], n.version = "", n.versions = {}, n.on = g, n.addListener = g, n.once = g, n.off = g, n.removeListener = g, n.removeAllListeners = g, n.emit = g, n.prependListener = g, n.prependOnceListener = g, n.listeners = function (e) { return []; }, n.binding = function (e) { throw new Error("process.binding is not supported"); }, n.cwd = function () { return "/"; }, n.chdir = function (e) { throw new Error("process.chdir is not supported"); }, n.umask = function () { return 0; }; }, function (e, t) { e.exports = function (e) { if (!e.webpackPolyfill) { var t = Object.create(e); t.children || (t.children = []), Object.defineProperty(t, "loaded", { enumerable: !0, get: function get() { return t.l; } }), Object.defineProperty(t, "id", { enumerable: !0, get: function get() { return t.i; } }), Object.defineProperty(t, "exports", { enumerable: !0 }), t.webpackPolyfill = 1; } return t; }; }, function (e, t, i) { var r = i(4)("unscopables"), n = Array.prototype; null == n[r] && i(20)(n, r, {}), e.exports = function (e) { n[r][e] = !0; }; }, function (e, t, i) { e.exports = !i(11) && !i(18)(function () { return 7 != Object.defineProperty(i(99)("div"), "a", { get: function get() { return 7; } }).a; }); }, function (e, t, i) { var r = i(21), n = i(10).document, o = r(n) && r(n.createElement); e.exports = function (e) { return o ? n.createElement(e) : {}; }; }, function (e, t, i) { var r = i(46); e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) { return "String" == r(e) ? e.split("") : Object(e); }; }, function (e, t) { e.exports = function (e) { if ("function" != typeof e) throw TypeError(e + " is not a function!"); return e; }; }, function (e, t, i) { var r = i(24), n = i(37), o = i(103)(!1), a = i(70)("IE_PROTO"); e.exports = function (e, t) { var i, s = n(e), x = 0, l = []; for (i in s) { i != a && r(s, i) && l.push(i); } for (; t.length > x;) { r(s, i = t[x++]) && (~o(l, i) || l.push(i)); } return l; }; }, function (e, t, i) { var r = i(37), n = i(19), o = i(54); e.exports = function (e) { return function (t, i, a) { var s, x = r(t), l = n(x.length), c = o(a, l); if (e && i != i) { for (; l > c;) { if ((s = x[c++]) != s) return !0; } } else for (; l > c; c++) { if ((e || c in x) && x[c] === i) return e || c || 0; } return !e && -1; }; }; }, function (e, t, i) { var r = i(24), n = i(30), o = i(70)("IE_PROTO"), a = Object.prototype; e.exports = Object.getPrototypeOf || function (e) { return e = n(e), r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null; }; }, function (e, t, i) { var r = i(31), n = i(39), o = i(157)(!1), a = i(74)("IE_PROTO"); e.exports = function (e, t) { var i, s = n(e), x = 0, l = []; for (i in s) { i != a && r(s, i) && l.push(i); } for (; t.length > x;) { r(s, i = t[x++]) && (~o(l, i) || l.push(i)); } return l; }; }, function (e, t, i) { var r = i(73), n = Math.min; e.exports = function (e) { return e > 0 ? n(r(e), 9007199254740991) : 0; }; }, function (e, t, i) { e.exports = !i(25) && !i(40)(function () { return 7 != Object.defineProperty(i(77)("div"), "a", { get: function get() { return 7; } }).a; }); }, function (e, t, i) { var r = i(17), n = i(101), o = i(4)("species"); e.exports = function (e, t) { var i, a = r(e).constructor; return void 0 === a || null == (i = r(a)[o]) ? t : n(i); }; }, function (e, t, i) { var r = i(26), n = i(27), o = i(57); e.exports = i(25) ? Object.defineProperties : function (e, t) { n(e); for (var i, a = o(t), s = a.length, x = 0; s > x;) { r.f(e, i = a[x++], t[i]); } return e; }; }, function (e, t, i) { var r = i(7).document; e.exports = r && r.documentElement; }, function (e, t, i) { var r = i(47); e.exports = Array.isArray || function (e) { return "Array" == r(e); }; }, function (e, t, i) { var r = i(12), n = i(56), o = i(40), a = i(87), s = "[" + a + "]", x = RegExp("^" + s + s + "*"), l = RegExp(s + s + "*$"), c = function c(e, t, i) { var n = {}, s = o(function () { return !!a[e]() || "​…" != "​…"[e](); }), x = n[e] = s ? t(u) : a[e]; i && (n[i] = x), r(r.P + r.F * s, "String", n); }, u = c.trim = function (e, t) { return e = String(n(e)), 1 & t && (e = e.replace(x, "")), 2 & t && (e = e.replace(l, "")), e; }; e.exports = c; }, function (e, t, i) { "use strict"; var r = i(177)(!0); i(114)(String, "String", function (e) { this._t = String(e), this._i = 0; }, function () { var e, t = this._t, i = this._i; return i >= t.length ? { value: void 0, done: !0 } : (e = r(t, i), this._i += e.length, { value: e, done: !1 }); }); }, function (e, t, i) { "use strict"; var r = i(48), n = i(12), o = i(115), a = i(32), s = i(49), x = i(178), l = i(66), c = i(179), u = i(14)("iterator"), h = !([].keys && "next" in [].keys()), f = function f() { return this; }; e.exports = function (e, t, i, d, g, p, m) { x(i, t, d); var b, v, C, y = function y(e) { if (!h && e in w) return w[e]; switch (e) { case "keys": case "values": return function () { return new i(this, e); }; } return function () { return new i(this, e); }; }, _ = t + " Iterator", A = "values" == g, I = !1, w = e.prototype, G = w[u] || w["@@iterator"] || g && w[g], E = G || y(g), S = g ? A ? y("entries") : E : void 0, T = "Array" == t && w.entries || G; if (T && (C = c(T.call(new e()))) !== Object.prototype && C.next && (l(C, _, !0), r || "function" == typeof C[u] || a(C, u, f)), A && G && "values" !== G.name && (I = !0, E = function E() { return G.call(this); }), r && !m || !h && !I && w[u] || a(w, u, E), s[t] = E, s[_] = f, g) if (b = { values: A ? E : y("values"), keys: p ? E : y("keys"), entries: S }, m) for (v in b) { v in w || o(w, v, b[v]); } else n(n.P + n.F * (h || I), t, b); return b; }; }, function (e, t, i) { e.exports = i(32); }, function (e, t, i) { i(180); for (var r = i(7), n = i(32), o = i(49), a = i(14)("toStringTag"), s = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), x = 0; x < s.length; x++) { var l = s[x], c = r[l], u = c && c.prototype; u && !u[a] && n(u, a, l), o[l] = o.Array; } }, function (e, t) { t.f = Object.getOwnPropertySymbols; }, function (e, t, i) { var r = i(105), n = i(76).concat("length", "prototype"); t.f = Object.getOwnPropertyNames || function (e) { return r(e, n); }; }, function (e, t) {}, function (e, t, i) { var r, n, o; /** * @license bytebuffer.js (c) 2015 Daniel Wirtz * Backing buffer: ArrayBuffer, Accessor: Uint8Array * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/bytebuffer.js for details */ n = [i(191)], void 0 === (o = "function" == typeof (r = function r(e) { "use strict"; var t = function t(e, i, n) { if (void 0 === e && (e = t.DEFAULT_CAPACITY), void 0 === i && (i = t.DEFAULT_ENDIAN), void 0 === n && (n = t.DEFAULT_NOASSERT), !n) { if ((e |= 0) < 0) throw RangeError("Illegal capacity"); i = !!i, n = !!n; } this.buffer = 0 === e ? r : new ArrayBuffer(e), this.view = 0 === e ? null : new Uint8Array(this.buffer), this.offset = 0, this.markedOffset = -1, this.limit = e, this.littleEndian = i, this.noAssert = n; }; t.VERSION = "5.0.1", t.LITTLE_ENDIAN = !0, t.BIG_ENDIAN = !1, t.DEFAULT_CAPACITY = 16, t.DEFAULT_ENDIAN = t.BIG_ENDIAN, t.DEFAULT_NOASSERT = !1, t.Long = e || null; var i = t.prototype; i.__isByteBuffer__, Object.defineProperty(i, "__isByteBuffer__", { value: !0, enumerable: !1, configurable: !1 }); var r = new ArrayBuffer(0), n = String.fromCharCode; function o(e) { var t = 0; return function () { return t < e.length ? e.charCodeAt(t++) : null; }; } function a() { var e = [], t = []; return function () { if (0 === arguments.length) return t.join("") + n.apply(String, e); e.length + arguments.length > 1024 && (t.push(n.apply(String, e)), e.length = 0), Array.prototype.push.apply(e, arguments); }; } function s(e, t, i, r, n) { var o, a, s = 8 * n - r - 1, x = (1 << s) - 1, l = x >> 1, c = -7, u = i ? n - 1 : 0, h = i ? -1 : 1, f = e[t + u]; for (u += h, o = f & (1 << -c) - 1, f >>= -c, c += s; c > 0; o = 256 * o + e[t + u], u += h, c -= 8) { ; } for (a = o & (1 << -c) - 1, o >>= -c, c += r; c > 0; a = 256 * a + e[t + u], u += h, c -= 8) { ; } if (0 === o) o = 1 - l;else { if (o === x) return a ? NaN : 1 / 0 * (f ? -1 : 1); a += Math.pow(2, r), o -= l; } return (f ? -1 : 1) * a * Math.pow(2, o - r); } function x(e, t, i, r, n, o) { var a, s, x, l = 8 * o - n - 1, c = (1 << l) - 1, u = c >> 1, h = 23 === n ? Math.pow(2, -24) - Math.pow(2, -77) : 0, f = r ? 0 : o - 1, d = r ? 1 : -1, g = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0; for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = c) : (a = Math.floor(Math.log(t) / Math.LN2), t * (x = Math.pow(2, -a)) < 1 && (a--, x *= 2), (t += a + u >= 1 ? h / x : h * Math.pow(2, 1 - u)) * x >= 2 && (a++, x /= 2), a + u >= c ? (s = 0, a = c) : a + u >= 1 ? (s = (t * x - 1) * Math.pow(2, n), a += u) : (s = t * Math.pow(2, u - 1) * Math.pow(2, n), a = 0)); n >= 8; e[i + f] = 255 & s, f += d, s /= 256, n -= 8) { ; } for (a = a << n | s, l += n; l > 0; e[i + f] = 255 & a, f += d, a /= 256, l -= 8) { ; } e[i + f - d] |= 128 * g; } t.accessor = function () { return Uint8Array; }, t.allocate = function (e, i, r) { return new t(e, i, r); }, t.concat = function (e, i, r, n) { "boolean" != typeof i && "string" == typeof i || (n = r, r = i, i = void 0); for (var o, a = 0, s = 0, x = e.length; s < x; ++s) { t.isByteBuffer(e[s]) || (e[s] = t.wrap(e[s], i)), (o = e[s].limit - e[s].offset) > 0 && (a += o); } if (0 === a) return new t(0, r, n); var l, c = new t(a, r, n); for (s = 0; s < x;) { (o = (l = e[s++]).limit - l.offset) <= 0 || (c.view.set(l.view.subarray(l.offset, l.limit), c.offset), c.offset += o); } return c.limit = c.offset, c.offset = 0, c; }, t.isByteBuffer = function (e) { return !0 === (e && e.__isByteBuffer__); }, t.type = function () { return ArrayBuffer; }, t.wrap = function (e, r, n, o) { if ("string" != typeof r && (o = n, n = r, r = void 0), "string" == typeof e) switch (void 0 === r && (r = "utf8"), r) { case "base64": return t.fromBase64(e, n); case "hex": return t.fromHex(e, n); case "binary": return t.fromBinary(e, n); case "utf8": return t.fromUTF8(e, n); case "debug": return t.fromDebug(e, n); default: throw Error("Unsupported encoding: " + r); } if (null === e || "object" != _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e)) throw TypeError("Illegal buffer"); var a; if (t.isByteBuffer(e)) return (a = i.clone.call(e)).markedOffset = -1, a; if (e instanceof Uint8Array) a = new t(0, n, o), e.length > 0 && (a.buffer = e.buffer, a.offset = e.byteOffset, a.limit = e.byteOffset + e.byteLength, a.view = new Uint8Array(e.buffer));else if (e instanceof ArrayBuffer) a = new t(0, n, o), e.byteLength > 0 && (a.buffer = e, a.offset = 0, a.limit = e.byteLength, a.view = e.byteLength > 0 ? new Uint8Array(e) : null);else { if ("[object Array]" !== Object.prototype.toString.call(e)) throw TypeError("Illegal buffer"); (a = new t(e.length, n, o)).limit = e.length; for (var s = 0; s < e.length; ++s) { a.view[s] = e[s]; } } return a; }, i.writeBitSet = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if (!(e instanceof Array)) throw TypeError("Illegal BitSet: Not an array"); if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } var r, n = t, o = e.length, a = o >> 3, s = 0; for (t += this.writeVarint32(o, t); a--;) { r = 1 & !!e[s++] | (1 & !!e[s++]) << 1 | (1 & !!e[s++]) << 2 | (1 & !!e[s++]) << 3 | (1 & !!e[s++]) << 4 | (1 & !!e[s++]) << 5 | (1 & !!e[s++]) << 6 | (1 & !!e[s++]) << 7, this.writeByte(r, t++); } if (s < o) { var x = 0; for (r = 0; s < o;) { r |= (1 & !!e[s++]) << x++; } this.writeByte(r, t++); } return i ? (this.offset = t, this) : t - n; }, i.readBitSet = function (e) { var t = void 0 === e; t && (e = this.offset); var i, r = this.readVarint32(e), n = r.value, o = n >> 3, a = 0, s = []; for (e += r.length; o--;) { i = this.readByte(e++), s[a++] = !!(1 & i), s[a++] = !!(2 & i), s[a++] = !!(4 & i), s[a++] = !!(8 & i), s[a++] = !!(16 & i), s[a++] = !!(32 & i), s[a++] = !!(64 & i), s[a++] = !!(128 & i); } if (a < n) { var x = 0; for (i = this.readByte(e++); a < n;) { s[a++] = !!(i >> x++ & 1); } } return t && (this.offset = e), s; }, i.readBytes = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + e > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+" + e + ") <= " + this.buffer.byteLength); } var r = this.slice(t, t + e); return i && (this.offset += e), r; }, i.writeBytes = i.append, i.writeInt8 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e |= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 1; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 1, this.view[t] = e, i && (this.offset += 1), this; }, i.writeByte = i.writeInt8, i.readInt8 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength); } var i = this.view[e]; return 128 == (128 & i) && (i = -(255 - i + 1)), t && (this.offset += 1), i; }, i.readByte = i.readInt8, i.writeUint8 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 1; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 1, this.view[t] = e, i && (this.offset += 1), this; }, i.writeUInt8 = i.writeUint8, i.readUint8 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength); } var i = this.view[e]; return t && (this.offset += 1), i; }, i.readUInt8 = i.readUint8, i.writeInt16 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e |= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 2; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 2, this.littleEndian ? (this.view[t + 1] = (65280 & e) >>> 8, this.view[t] = 255 & e) : (this.view[t] = (65280 & e) >>> 8, this.view[t + 1] = 255 & e), i && (this.offset += 2), this; }, i.writeShort = i.writeInt16, i.readInt16 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+2) <= " + this.buffer.byteLength); } var i = 0; return this.littleEndian ? (i = this.view[e], i |= this.view[e + 1] << 8) : (i = this.view[e] << 8, i |= this.view[e + 1]), 32768 == (32768 & i) && (i = -(65535 - i + 1)), t && (this.offset += 2), i; }, i.readShort = i.readInt16, i.writeUint16 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 2; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 2, this.littleEndian ? (this.view[t + 1] = (65280 & e) >>> 8, this.view[t] = 255 & e) : (this.view[t] = (65280 & e) >>> 8, this.view[t + 1] = 255 & e), i && (this.offset += 2), this; }, i.writeUInt16 = i.writeUint16, i.readUint16 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 2 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+2) <= " + this.buffer.byteLength); } var i = 0; return this.littleEndian ? (i = this.view[e], i |= this.view[e + 1] << 8) : (i = this.view[e] << 8, i |= this.view[e + 1]), t && (this.offset += 2), i; }, i.readUInt16 = i.readUint16, i.writeInt32 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e |= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 4; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 4, this.littleEndian ? (this.view[t + 3] = e >>> 24 & 255, this.view[t + 2] = e >>> 16 & 255, this.view[t + 1] = e >>> 8 & 255, this.view[t] = 255 & e) : (this.view[t] = e >>> 24 & 255, this.view[t + 1] = e >>> 16 & 255, this.view[t + 2] = e >>> 8 & 255, this.view[t + 3] = 255 & e), i && (this.offset += 4), this; }, i.writeInt = i.writeInt32, i.readInt32 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength); } var i = 0; return this.littleEndian ? (i = this.view[e + 2] << 16, i |= this.view[e + 1] << 8, i |= this.view[e], i += this.view[e + 3] << 24 >>> 0) : (i = this.view[e + 1] << 16, i |= this.view[e + 2] << 8, i |= this.view[e + 3], i += this.view[e] << 24 >>> 0), i |= 0, t && (this.offset += 4), i; }, i.readInt = i.readInt32, i.writeUint32 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 4; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 4, this.littleEndian ? (this.view[t + 3] = e >>> 24 & 255, this.view[t + 2] = e >>> 16 & 255, this.view[t + 1] = e >>> 8 & 255, this.view[t] = 255 & e) : (this.view[t] = e >>> 24 & 255, this.view[t + 1] = e >>> 16 & 255, this.view[t + 2] = e >>> 8 & 255, this.view[t + 3] = 255 & e), i && (this.offset += 4), this; }, i.writeUInt32 = i.writeUint32, i.readUint32 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength); } var i = 0; return this.littleEndian ? (i = this.view[e + 2] << 16, i |= this.view[e + 1] << 8, i |= this.view[e], i += this.view[e + 3] << 24 >>> 0) : (i = this.view[e + 1] << 16, i |= this.view[e + 2] << 8, i |= this.view[e + 3], i += this.view[e] << 24 >>> 0), t && (this.offset += 4), i; }, i.readUInt32 = i.readUint32, e && (i.writeInt64 = function (t, i) { var r = void 0 === i; if (r && (i = this.offset), !this.noAssert) { if ("number" == typeof t) t = e.fromNumber(t);else if ("string" == typeof t) t = e.fromString(t);else if (!(t && t instanceof e)) throw TypeError("Illegal value: " + t + " (not an integer or Long)"); if ("number" != typeof i || i % 1 != 0) throw TypeError("Illegal offset: " + i + " (not an integer)"); if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength); } "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)), i += 8; var n = this.buffer.byteLength; i > n && this.resize((n *= 2) > i ? n : i), i -= 8; var o = t.low, a = t.high; return this.littleEndian ? (this.view[i + 3] = o >>> 24 & 255, this.view[i + 2] = o >>> 16 & 255, this.view[i + 1] = o >>> 8 & 255, this.view[i] = 255 & o, i += 4, this.view[i + 3] = a >>> 24 & 255, this.view[i + 2] = a >>> 16 & 255, this.view[i + 1] = a >>> 8 & 255, this.view[i] = 255 & a) : (this.view[i] = a >>> 24 & 255, this.view[i + 1] = a >>> 16 & 255, this.view[i + 2] = a >>> 8 & 255, this.view[i + 3] = 255 & a, i += 4, this.view[i] = o >>> 24 & 255, this.view[i + 1] = o >>> 16 & 255, this.view[i + 2] = o >>> 8 & 255, this.view[i + 3] = 255 & o), r && (this.offset += 8), this; }, i.writeLong = i.writeInt64, i.readInt64 = function (t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+8) <= " + this.buffer.byteLength); } var r = 0, n = 0; this.littleEndian ? (r = this.view[t + 2] << 16, r |= this.view[t + 1] << 8, r |= this.view[t], r += this.view[t + 3] << 24 >>> 0, t += 4, n = this.view[t + 2] << 16, n |= this.view[t + 1] << 8, n |= this.view[t], n += this.view[t + 3] << 24 >>> 0) : (n = this.view[t + 1] << 16, n |= this.view[t + 2] << 8, n |= this.view[t + 3], n += this.view[t] << 24 >>> 0, t += 4, r = this.view[t + 1] << 16, r |= this.view[t + 2] << 8, r |= this.view[t + 3], r += this.view[t] << 24 >>> 0); var o = new e(r, n, !1); return i && (this.offset += 8), o; }, i.readLong = i.readInt64, i.writeUint64 = function (t, i) { var r = void 0 === i; if (r && (i = this.offset), !this.noAssert) { if ("number" == typeof t) t = e.fromNumber(t);else if ("string" == typeof t) t = e.fromString(t);else if (!(t && t instanceof e)) throw TypeError("Illegal value: " + t + " (not an integer or Long)"); if ("number" != typeof i || i % 1 != 0) throw TypeError("Illegal offset: " + i + " (not an integer)"); if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength); } "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)), i += 8; var n = this.buffer.byteLength; i > n && this.resize((n *= 2) > i ? n : i), i -= 8; var o = t.low, a = t.high; return this.littleEndian ? (this.view[i + 3] = o >>> 24 & 255, this.view[i + 2] = o >>> 16 & 255, this.view[i + 1] = o >>> 8 & 255, this.view[i] = 255 & o, i += 4, this.view[i + 3] = a >>> 24 & 255, this.view[i + 2] = a >>> 16 & 255, this.view[i + 1] = a >>> 8 & 255, this.view[i] = 255 & a) : (this.view[i] = a >>> 24 & 255, this.view[i + 1] = a >>> 16 & 255, this.view[i + 2] = a >>> 8 & 255, this.view[i + 3] = 255 & a, i += 4, this.view[i] = o >>> 24 & 255, this.view[i + 1] = o >>> 16 & 255, this.view[i + 2] = o >>> 8 & 255, this.view[i + 3] = 255 & o), r && (this.offset += 8), this; }, i.writeUInt64 = i.writeUint64, i.readUint64 = function (t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+8) <= " + this.buffer.byteLength); } var r = 0, n = 0; this.littleEndian ? (r = this.view[t + 2] << 16, r |= this.view[t + 1] << 8, r |= this.view[t], r += this.view[t + 3] << 24 >>> 0, t += 4, n = this.view[t + 2] << 16, n |= this.view[t + 1] << 8, n |= this.view[t], n += this.view[t + 3] << 24 >>> 0) : (n = this.view[t + 1] << 16, n |= this.view[t + 2] << 8, n |= this.view[t + 3], n += this.view[t] << 24 >>> 0, t += 4, r = this.view[t + 1] << 16, r |= this.view[t + 2] << 8, r |= this.view[t + 3], r += this.view[t] << 24 >>> 0); var o = new e(r, n, !0); return i && (this.offset += 8), o; }, i.readUInt64 = i.readUint64), i.writeFloat32 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e) throw TypeError("Illegal value: " + e + " (not a number)"); if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 4; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 4, x(this.view, e, t, this.littleEndian, 23, 4), i && (this.offset += 4), this; }, i.writeFloat = i.writeFloat32, i.readFloat32 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength); } var i = s(this.view, e, this.littleEndian, 23, 4); return t && (this.offset += 4), i; }, i.readFloat = i.readFloat32, i.writeFloat64 = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof e) throw TypeError("Illegal value: " + e + " (not a number)"); if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } t += 8; var r = this.buffer.byteLength; return t > r && this.resize((r *= 2) > t ? r : t), t -= 8, x(this.view, e, t, this.littleEndian, 52, 8), i && (this.offset += 8), this; }, i.writeDouble = i.writeFloat64, i.readFloat64 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 8 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+8) <= " + this.buffer.byteLength); } var i = s(this.view, e, this.littleEndian, 52, 8); return t && (this.offset += 8), i; }, i.readDouble = i.readFloat64, t.MAX_VARINT32_BYTES = 5, t.calculateVarint32 = function (e) { return (e >>>= 0) < 128 ? 1 : e < 16384 ? 2 : e < 1 << 21 ? 3 : e < 1 << 28 ? 4 : 5; }, t.zigZagEncode32 = function (e) { return ((e |= 0) << 1 ^ e >> 31) >>> 0; }, t.zigZagDecode32 = function (e) { return e >>> 1 ^ -(1 & e) | 0; }, i.writeVarint32 = function (e, i) { var r = void 0 === i; if (r && (i = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e |= 0, "number" != typeof i || i % 1 != 0) throw TypeError("Illegal offset: " + i + " (not an integer)"); if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength); } var n, o = t.calculateVarint32(e); i += o; var a = this.buffer.byteLength; for (i > a && this.resize((a *= 2) > i ? a : i), i -= o, e >>>= 0; e >= 128;) { n = 127 & e | 128, this.view[i++] = n, e >>>= 7; } return this.view[i++] = e, r ? (this.offset = i, this) : o; }, i.writeVarint32ZigZag = function (e, i) { return this.writeVarint32(t.zigZagEncode32(e), i); }, i.readVarint32 = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength); } var i, r = 0, n = 0; do { if (!this.noAssert && e > this.limit) { var o = Error("Truncated"); throw o.truncated = !0, o; } i = this.view[e++], r < 5 && (n |= (127 & i) << 7 * r), ++r; } while (0 != (128 & i)); return n |= 0, t ? (this.offset = e, n) : { value: n, length: r }; }, i.readVarint32ZigZag = function (e) { var i = this.readVarint32(e); return "object" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(i) ? i.value = t.zigZagDecode32(i.value) : i = t.zigZagDecode32(i), i; }, e && (t.MAX_VARINT64_BYTES = 10, t.calculateVarint64 = function (t) { "number" == typeof t ? t = e.fromNumber(t) : "string" == typeof t && (t = e.fromString(t)); var i = t.toInt() >>> 0, r = t.shiftRightUnsigned(28).toInt() >>> 0, n = t.shiftRightUnsigned(56).toInt() >>> 0; return 0 == n ? 0 == r ? i < 16384 ? i < 128 ? 1 : 2 : i < 1 << 21 ? 3 : 4 : r < 16384 ? r < 128 ? 5 : 6 : r < 1 << 21 ? 7 : 8 : n < 128 ? 9 : 10; }, t.zigZagEncode64 = function (t) { return "number" == typeof t ? t = e.fromNumber(t, !1) : "string" == typeof t ? t = e.fromString(t, !1) : !1 !== t.unsigned && (t = t.toSigned()), t.shiftLeft(1).xor(t.shiftRight(63)).toUnsigned(); }, t.zigZagDecode64 = function (t) { return "number" == typeof t ? t = e.fromNumber(t, !1) : "string" == typeof t ? t = e.fromString(t, !1) : !1 !== t.unsigned && (t = t.toSigned()), t.shiftRightUnsigned(1).xor(t.and(e.ONE).toSigned().negate()).toSigned(); }, i.writeVarint64 = function (i, r) { var n = void 0 === r; if (n && (r = this.offset), !this.noAssert) { if ("number" == typeof i) i = e.fromNumber(i);else if ("string" == typeof i) i = e.fromString(i);else if (!(i && i instanceof e)) throw TypeError("Illegal value: " + i + " (not an integer or Long)"); if ("number" != typeof r || r % 1 != 0) throw TypeError("Illegal offset: " + r + " (not an integer)"); if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength); } "number" == typeof i ? i = e.fromNumber(i, !1) : "string" == typeof i ? i = e.fromString(i, !1) : !1 !== i.unsigned && (i = i.toSigned()); var o = t.calculateVarint64(i), a = i.toInt() >>> 0, s = i.shiftRightUnsigned(28).toInt() >>> 0, x = i.shiftRightUnsigned(56).toInt() >>> 0; r += o; var l = this.buffer.byteLength; switch (r > l && this.resize((l *= 2) > r ? l : r), r -= o, o) { case 10: this.view[r + 9] = x >>> 7 & 1; case 9: this.view[r + 8] = 9 !== o ? 128 | x : 127 & x; case 8: this.view[r + 7] = 8 !== o ? s >>> 21 | 128 : s >>> 21 & 127; case 7: this.view[r + 6] = 7 !== o ? s >>> 14 | 128 : s >>> 14 & 127; case 6: this.view[r + 5] = 6 !== o ? s >>> 7 | 128 : s >>> 7 & 127; case 5: this.view[r + 4] = 5 !== o ? 128 | s : 127 & s; case 4: this.view[r + 3] = 4 !== o ? a >>> 21 | 128 : a >>> 21 & 127; case 3: this.view[r + 2] = 3 !== o ? a >>> 14 | 128 : a >>> 14 & 127; case 2: this.view[r + 1] = 2 !== o ? a >>> 7 | 128 : a >>> 7 & 127; case 1: this.view[r] = 1 !== o ? 128 | a : 127 & a; } return n ? (this.offset += o, this) : o; }, i.writeVarint64ZigZag = function (e, i) { return this.writeVarint64(t.zigZagEncode64(e), i); }, i.readVarint64 = function (t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+1) <= " + this.buffer.byteLength); } var r = t, n = 0, o = 0, a = 0, s = 0; if (n = 127 & (s = this.view[t++]), 128 & s && (n |= (127 & (s = this.view[t++])) << 7, (128 & s || this.noAssert && void 0 === s) && (n |= (127 & (s = this.view[t++])) << 14, (128 & s || this.noAssert && void 0 === s) && (n |= (127 & (s = this.view[t++])) << 21, (128 & s || this.noAssert && void 0 === s) && (o = 127 & (s = this.view[t++]), (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 7, (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 14, (128 & s || this.noAssert && void 0 === s) && (o |= (127 & (s = this.view[t++])) << 21, (128 & s || this.noAssert && void 0 === s) && (a = 127 & (s = this.view[t++]), (128 & s || this.noAssert && void 0 === s) && (a |= (127 & (s = this.view[t++])) << 7, 128 & s || this.noAssert && void 0 === s)))))))))) throw Error("Buffer overrun"); var x = e.fromBits(n | o << 28, o >>> 4 | a << 24, !1); return i ? (this.offset = t, x) : { value: x, length: t - r }; }, i.readVarint64ZigZag = function (i) { var r = this.readVarint64(i); return r && r.value instanceof e ? r.value = t.zigZagDecode64(r.value) : r = t.zigZagDecode64(r), r; }), i.writeCString = function (e, t) { var i = void 0 === t; i && (t = this.offset); var r, n = e.length; if (!this.noAssert) { if ("string" != typeof e) throw TypeError("Illegal str: Not a string"); for (r = 0; r < n; ++r) { if (0 === e.charCodeAt(r)) throw RangeError("Illegal str: Contains NULL-characters"); } if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } n = c.calculateUTF16asUTF8(o(e))[1], t += n + 1; var a = this.buffer.byteLength; return t > a && this.resize((a *= 2) > t ? a : t), t -= n + 1, c.encodeUTF16toUTF8(o(e), function (e) { this.view[t++] = e; }.bind(this)), this.view[t++] = 0, i ? (this.offset = t, this) : n; }, i.readCString = function (e) { var t = void 0 === e; if (t && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength); } var i, r = e, n = -1; return c.decodeUTF8toUTF16(function () { if (0 === n) return null; if (e >= this.limit) throw RangeError("Illegal range: Truncated data, " + e + " < " + this.limit); return 0 === (n = this.view[e++]) ? null : n; }.bind(this), i = a(), !0), t ? (this.offset = e, i()) : { string: i(), length: e - r }; }, i.writeIString = function (e, t) { var i = void 0 === t; if (i && (t = this.offset), !this.noAssert) { if ("string" != typeof e) throw TypeError("Illegal str: Not a string"); if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } var r, n = t; r = c.calculateUTF16asUTF8(o(e), this.noAssert)[1], t += 4 + r; var a = this.buffer.byteLength; if (t > a && this.resize((a *= 2) > t ? a : t), t -= 4 + r, this.littleEndian ? (this.view[t + 3] = r >>> 24 & 255, this.view[t + 2] = r >>> 16 & 255, this.view[t + 1] = r >>> 8 & 255, this.view[t] = 255 & r) : (this.view[t] = r >>> 24 & 255, this.view[t + 1] = r >>> 16 & 255, this.view[t + 2] = r >>> 8 & 255, this.view[t + 3] = 255 & r), t += 4, c.encodeUTF16toUTF8(o(e), function (e) { this.view[t++] = e; }.bind(this)), t !== n + 4 + r) throw RangeError("Illegal range: Truncated data, " + t + " == " + (t + 4 + r)); return i ? (this.offset = t, this) : t - n; }, i.readIString = function (e) { var i = void 0 === e; if (i && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 4 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+4) <= " + this.buffer.byteLength); } var r = e, n = this.readUint32(e), o = this.readUTF8String(n, t.METRICS_BYTES, e += 4); return e += o.length, i ? (this.offset = e, o.string) : { string: o.string, length: e - r }; }, t.METRICS_CHARS = "c", t.METRICS_BYTES = "b", i.writeUTF8String = function (e, t) { var i, r = void 0 === t; if (r && (t = this.offset), !this.noAssert) { if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: " + t + " (not an integer)"); if ((t >>>= 0) < 0 || t + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + t + " (+0) <= " + this.buffer.byteLength); } var n = t; i = c.calculateUTF16asUTF8(o(e))[1], t += i; var a = this.buffer.byteLength; return t > a && this.resize((a *= 2) > t ? a : t), t -= i, c.encodeUTF16toUTF8(o(e), function (e) { this.view[t++] = e; }.bind(this)), r ? (this.offset = t, this) : t - n; }, i.writeString = i.writeUTF8String, t.calculateUTF8Chars = function (e) { return c.calculateUTF16asUTF8(o(e))[0]; }, t.calculateUTF8Bytes = function (e) { return c.calculateUTF16asUTF8(o(e))[1]; }, t.calculateString = t.calculateUTF8Bytes, i.readUTF8String = function (e, i, r) { "number" == typeof i && (r = i, i = void 0); var n = void 0 === r; if (n && (r = this.offset), void 0 === i && (i = t.METRICS_CHARS), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal length: " + e + " (not an integer)"); if (e |= 0, "number" != typeof r || r % 1 != 0) throw TypeError("Illegal offset: " + r + " (not an integer)"); if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength); } var o, s = 0, x = r; if (i === t.METRICS_CHARS) { if (o = a(), c.decodeUTF8(function () { return s < e && r < this.limit ? this.view[r++] : null; }.bind(this), function (e) { ++s, c.UTF8toUTF16(e, o); }), s !== e) throw RangeError("Illegal range: Truncated data, " + s + " == " + e); return n ? (this.offset = r, o()) : { string: o(), length: r - x }; } if (i === t.METRICS_BYTES) { if (!this.noAssert) { if ("number" != typeof r || r % 1 != 0) throw TypeError("Illegal offset: " + r + " (not an integer)"); if ((r >>>= 0) < 0 || r + e > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + r + " (+" + e + ") <= " + this.buffer.byteLength); } var l = r + e; if (c.decodeUTF8toUTF16(function () { return r < l ? this.view[r++] : null; }.bind(this), o = a(), this.noAssert), r !== l) throw RangeError("Illegal range: Truncated data, " + r + " == " + l); return n ? (this.offset = r, o()) : { string: o(), length: r - x }; } throw TypeError("Unsupported metrics: " + i); }, i.readString = i.readUTF8String, i.writeVString = function (e, i) { var r = void 0 === i; if (r && (i = this.offset), !this.noAssert) { if ("string" != typeof e) throw TypeError("Illegal str: Not a string"); if ("number" != typeof i || i % 1 != 0) throw TypeError("Illegal offset: " + i + " (not an integer)"); if ((i >>>= 0) < 0 || i + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + i + " (+0) <= " + this.buffer.byteLength); } var n, a, s = i; n = c.calculateUTF16asUTF8(o(e), this.noAssert)[1], a = t.calculateVarint32(n), i += a + n; var x = this.buffer.byteLength; if (i > x && this.resize((x *= 2) > i ? x : i), i -= a + n, i += this.writeVarint32(n, i), c.encodeUTF16toUTF8(o(e), function (e) { this.view[i++] = e; }.bind(this)), i !== s + n + a) throw RangeError("Illegal range: Truncated data, " + i + " == " + (i + n + a)); return r ? (this.offset = i, this) : i - s; }, i.readVString = function (e) { var i = void 0 === e; if (i && (e = this.offset), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 1 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+1) <= " + this.buffer.byteLength); } var r = e, n = this.readVarint32(e), o = this.readUTF8String(n.value, t.METRICS_BYTES, e += n.length); return e += o.length, i ? (this.offset = e, o.string) : { string: o.string, length: e - r }; }, i.append = function (e, i, r) { "number" != typeof i && "string" == typeof i || (r = i, i = void 0); var n = void 0 === r; if (n && (r = this.offset), !this.noAssert) { if ("number" != typeof r || r % 1 != 0) throw TypeError("Illegal offset: " + r + " (not an integer)"); if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength); } e instanceof t || (e = t.wrap(e, i)); var o = e.limit - e.offset; if (o <= 0) return this; r += o; var a = this.buffer.byteLength; return r > a && this.resize((a *= 2) > r ? a : r), r -= o, this.view.set(e.view.subarray(e.offset, e.limit), r), e.offset += o, n && (this.offset += o), this; }, i.appendTo = function (e, t) { return e.append(this, t), this; }, i.assert = function (e) { return this.noAssert = !e, this; }, i.capacity = function () { return this.buffer.byteLength; }, i.clear = function () { return this.offset = 0, this.limit = this.buffer.byteLength, this.markedOffset = -1, this; }, i.clone = function (e) { var i = new t(0, this.littleEndian, this.noAssert); return e ? (i.buffer = new ArrayBuffer(this.buffer.byteLength), i.view = new Uint8Array(i.buffer)) : (i.buffer = this.buffer, i.view = this.view), i.offset = this.offset, i.markedOffset = this.markedOffset, i.limit = this.limit, i; }, i.compact = function (e, t) { if (void 0 === e && (e = this.offset), void 0 === t && (t = this.limit), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (t >>>= 0, e < 0 || e > t || t > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength); } if (0 === e && t === this.buffer.byteLength) return this; var i = t - e; if (0 === i) return this.buffer = r, this.view = null, this.markedOffset >= 0 && (this.markedOffset -= e), this.offset = 0, this.limit = 0, this; var n = new ArrayBuffer(i), o = new Uint8Array(n); return o.set(this.view.subarray(e, t)), this.buffer = n, this.view = o, this.markedOffset >= 0 && (this.markedOffset -= e), this.offset = 0, this.limit = i, this; }, i.copy = function (e, i) { if (void 0 === e && (e = this.offset), void 0 === i && (i = this.limit), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (e >>>= 0, "number" != typeof i || i % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (i >>>= 0, e < 0 || e > i || i > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + e + " <= " + i + " <= " + this.buffer.byteLength); } if (e === i) return new t(0, this.littleEndian, this.noAssert); var r = i - e, n = new t(r, this.littleEndian, this.noAssert); return n.offset = 0, n.limit = r, n.markedOffset >= 0 && (n.markedOffset -= e), this.copyTo(n, 0, e, i), n; }, i.copyTo = function (e, i, r, n) { var o, a; if (!this.noAssert && !t.isByteBuffer(e)) throw TypeError("Illegal target: Not a ByteBuffer"); if (i = (a = void 0 === i) ? e.offset : 0 | i, r = (o = void 0 === r) ? this.offset : 0 | r, n = void 0 === n ? this.limit : 0 | n, i < 0 || i > e.buffer.byteLength) throw RangeError("Illegal target range: 0 <= " + i + " <= " + e.buffer.byteLength); if (r < 0 || n > this.buffer.byteLength) throw RangeError("Illegal source range: 0 <= " + r + " <= " + this.buffer.byteLength); var s = n - r; return 0 === s ? e : (e.ensureCapacity(i + s), e.view.set(this.view.subarray(r, n), i), o && (this.offset += s), a && (e.offset += s), this); }, i.ensureCapacity = function (e) { var t = this.buffer.byteLength; return t < e ? this.resize((t *= 2) > e ? t : e) : this; }, i.fill = function (e, t, i) { var r = void 0 === t; if (r && (t = this.offset), "string" == typeof e && e.length > 0 && (e = e.charCodeAt(0)), void 0 === t && (t = this.offset), void 0 === i && (i = this.limit), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal value: " + e + " (not an integer)"); if (e |= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (t >>>= 0, "number" != typeof i || i % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (i >>>= 0, t < 0 || t > i || i > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + t + " <= " + i + " <= " + this.buffer.byteLength); } if (t >= i) return this; for (; t < i;) { this.view[t++] = e; } return r && (this.offset = t), this; }, i.flip = function () { return this.limit = this.offset, this.offset = 0, this; }, i.mark = function (e) { if (e = void 0 === e ? this.offset : e, !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal offset: " + e + " (not an integer)"); if ((e >>>= 0) < 0 || e + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + e + " (+0) <= " + this.buffer.byteLength); } return this.markedOffset = e, this; }, i.order = function (e) { if (!this.noAssert && "boolean" != typeof e) throw TypeError("Illegal littleEndian: Not a boolean"); return this.littleEndian = !!e, this; }, i.LE = function (e) { return this.littleEndian = void 0 === e || !!e, this; }, i.BE = function (e) { return this.littleEndian = void 0 !== e && !e, this; }, i.prepend = function (e, i, r) { "number" != typeof i && "string" == typeof i || (r = i, i = void 0); var n = void 0 === r; if (n && (r = this.offset), !this.noAssert) { if ("number" != typeof r || r % 1 != 0) throw TypeError("Illegal offset: " + r + " (not an integer)"); if ((r >>>= 0) < 0 || r + 0 > this.buffer.byteLength) throw RangeError("Illegal offset: 0 <= " + r + " (+0) <= " + this.buffer.byteLength); } e instanceof t || (e = t.wrap(e, i)); var o = e.limit - e.offset; if (o <= 0) return this; var a = o - r; if (a > 0) { var s = new ArrayBuffer(this.buffer.byteLength + a), x = new Uint8Array(s); x.set(this.view.subarray(r, this.buffer.byteLength), o), this.buffer = s, this.view = x, this.offset += a, this.markedOffset >= 0 && (this.markedOffset += a), this.limit += a, r += a; } else new Uint8Array(this.buffer); return this.view.set(e.view.subarray(e.offset, e.limit), r - o), e.offset = e.limit, n && (this.offset -= o), this; }, i.prependTo = function (e, t) { return e.prepend(this, t), this; }, i.printDebug = function (e) { "function" != typeof e && (e = console.log.bind(console)), e(this.toString() + "\n-------------------------------------------------------------------\n" + this.toDebug(!0)); }, i.remaining = function () { return this.limit - this.offset; }, i.reset = function () { return this.markedOffset >= 0 ? (this.offset = this.markedOffset, this.markedOffset = -1) : this.offset = 0, this; }, i.resize = function (e) { if (!this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal capacity: " + e + " (not an integer)"); if ((e |= 0) < 0) throw RangeError("Illegal capacity: 0 <= " + e); } if (this.buffer.byteLength < e) { var t = new ArrayBuffer(e), i = new Uint8Array(t); i.set(this.view), this.buffer = t, this.view = i; } return this; }, i.reverse = function (e, t) { if (void 0 === e && (e = this.offset), void 0 === t && (t = this.limit), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (t >>>= 0, e < 0 || e > t || t > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength); } return e === t || Array.prototype.reverse.call(this.view.subarray(e, t)), this; }, i.skip = function (e) { if (!this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal length: " + e + " (not an integer)"); e |= 0; } var t = this.offset + e; if (!this.noAssert && (t < 0 || t > this.buffer.byteLength)) throw RangeError("Illegal length: 0 <= " + this.offset + " + " + e + " <= " + this.buffer.byteLength); return this.offset = t, this; }, i.slice = function (e, t) { if (void 0 === e && (e = this.offset), void 0 === t && (t = this.limit), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (t >>>= 0, e < 0 || e > t || t > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength); } var i = this.clone(); return i.offset = e, i.limit = t, i; }, i.toBuffer = function (e) { var t = this.offset, i = this.limit; if (!this.noAssert) { if ("number" != typeof t || t % 1 != 0) throw TypeError("Illegal offset: Not an integer"); if (t >>>= 0, "number" != typeof i || i % 1 != 0) throw TypeError("Illegal limit: Not an integer"); if (i >>>= 0, t < 0 || t > i || i > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + t + " <= " + i + " <= " + this.buffer.byteLength); } if (!e && 0 === t && i === this.buffer.byteLength) return this.buffer; if (t === i) return r; var n = new ArrayBuffer(i - t); return new Uint8Array(n).set(new Uint8Array(this.buffer).subarray(t, i), 0), n; }, i.toArrayBuffer = i.toBuffer, i.toString = function (e, t, i) { if (void 0 === e) return "ByteBufferAB(offset=" + this.offset + ",markedOffset=" + this.markedOffset + ",limit=" + this.limit + ",capacity=" + this.capacity() + ")"; switch ("number" == typeof e && (i = t = e = "utf8"), e) { case "utf8": return this.toUTF8(t, i); case "base64": return this.toBase64(t, i); case "hex": return this.toHex(t, i); case "binary": return this.toBinary(t, i); case "debug": return this.toDebug(); case "columns": return this.toColumns(); default: throw Error("Unsupported encoding: " + e); } }; var l = function () { for (var e = {}, t = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47], i = [], r = 0, n = t.length; r < n; ++r) { i[t[r]] = r; } return e.encode = function (e, i) { for (var r, n; null !== (r = e());) { i(t[r >> 2 & 63]), n = (3 & r) << 4, null !== (r = e()) ? (i(t[63 & ((n |= r >> 4 & 15) | r >> 4 & 15)]), n = (15 & r) << 2, null !== (r = e()) ? (i(t[63 & (n | r >> 6 & 3)]), i(t[63 & r])) : (i(t[63 & n]), i(61))) : (i(t[63 & n]), i(61), i(61)); } }, e.decode = function (e, t) { var r, n, o; function a(e) { throw Error("Illegal character code: " + e); } for (; null !== (r = e());) { if (void 0 === (n = i[r]) && a(r), null !== (r = e()) && (void 0 === (o = i[r]) && a(r), t(n << 2 >>> 0 | (48 & o) >> 4), null !== (r = e()))) { if (void 0 === (n = i[r])) { if (61 === r) break; a(r); } if (t((15 & o) << 4 >>> 0 | (60 & n) >> 2), null !== (r = e())) { if (void 0 === (o = i[r])) { if (61 === r) break; a(r); } t((3 & n) << 6 >>> 0 | o); } } } }, e.test = function (e) { return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e); }, e; }(); i.toBase64 = function (e, t) { if (void 0 === e && (e = this.offset), void 0 === t && (t = this.limit), t |= 0, (e |= 0) < 0 || t > this.capacity || e > t) throw RangeError("begin, end"); var i; return l.encode(function () { return e < t ? this.view[e++] : null; }.bind(this), i = a()), i(); }, t.fromBase64 = function (e, i) { if ("string" != typeof e) throw TypeError("str"); var r = new t(e.length / 4 * 3, i), n = 0; return l.decode(o(e), function (e) { r.view[n++] = e; }), r.limit = n, r; }, t.btoa = function (e) { return t.fromBinary(e).toBase64(); }, t.atob = function (e) { return t.fromBase64(e).toBinary(); }, i.toBinary = function (e, t) { if (void 0 === e && (e = this.offset), void 0 === t && (t = this.limit), t |= 0, (e |= 0) < 0 || t > this.capacity() || e > t) throw RangeError("begin, end"); if (e === t) return ""; for (var i = [], r = []; e < t;) { i.push(this.view[e++]), i.length >= 1024 && (r.push(String.fromCharCode.apply(String, i)), i = []); } return r.join("") + String.fromCharCode.apply(String, i); }, t.fromBinary = function (e, i) { if ("string" != typeof e) throw TypeError("str"); for (var r, n = 0, o = e.length, a = new t(o, i); n < o;) { if ((r = e.charCodeAt(n)) > 255) throw RangeError("illegal char code: " + r); a.view[n++] = r; } return a.limit = o, a; }, i.toDebug = function (e) { for (var t, i = -1, r = this.buffer.byteLength, n = "", o = "", a = ""; i < r;) { if (-1 !== i && (n += (t = this.view[i]) < 16 ? "0" + t.toString(16).toUpperCase() : t.toString(16).toUpperCase(), e && (o += t > 32 && t < 127 ? String.fromCharCode(t) : ".")), ++i, e && i > 0 && i % 16 == 0 && i !== r) { for (; n.length < 51;) { n += " "; } a += n + o + "\n", n = o = ""; } i === this.offset && i === this.limit ? n += i === this.markedOffset ? "!" : "|" : i === this.offset ? n += i === this.markedOffset ? "[" : "<" : i === this.limit ? n += i === this.markedOffset ? "]" : ">" : n += i === this.markedOffset ? "'" : e || 0 !== i && i !== r ? " " : ""; } if (e && " " !== n) { for (; n.length < 51;) { n += " "; } a += n + o + "\n"; } return e ? a : n; }, t.fromDebug = function (e, i, r) { for (var n, o, a = e.length, s = new t((a + 1) / 3 | 0, i, r), x = 0, l = 0, c = !1, u = !1, h = !1, f = !1, d = !1; x < a;) { switch (n = e.charAt(x++)) { case "!": if (!r) { if (u || h || f) { d = !0; break; } u = h = f = !0; } s.offset = s.markedOffset = s.limit = l, c = !1; break; case "|": if (!r) { if (u || f) { d = !0; break; } u = f = !0; } s.offset = s.limit = l, c = !1; break; case "[": if (!r) { if (u || h) { d = !0; break; } u = h = !0; } s.offset = s.markedOffset = l, c = !1; break; case "<": if (!r) { if (u) { d = !0; break; } u = !0; } s.offset = l, c = !1; break; case "]": if (!r) { if (f || h) { d = !0; break; } f = h = !0; } s.limit = s.markedOffset = l, c = !1; break; case ">": if (!r) { if (f) { d = !0; break; } f = !0; } s.limit = l, c = !1; break; case "'": if (!r) { if (h) { d = !0; break; } h = !0; } s.markedOffset = l, c = !1; break; case " ": c = !1; break; default: if (!r && c) { d = !0; break; } if (o = parseInt(n + e.charAt(x++), 16), !r && (isNaN(o) || o < 0 || o > 255)) throw TypeError("Illegal str: Not a debug encoded string"); s.view[l++] = o, c = !0; } if (d) throw TypeError("Illegal str: Invalid symbol at " + x); } if (!r) { if (!u || !f) throw TypeError("Illegal str: Missing offset or limit"); if (l < s.buffer.byteLength) throw TypeError("Illegal str: Not a debug encoded string (is it hex?) " + l + " < " + a); } return s; }, i.toHex = function (e, t) { if (e = void 0 === e ? this.offset : e, t = void 0 === t ? this.limit : t, !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (t >>>= 0, e < 0 || e > t || t > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength); } for (var i, r = new Array(t - e); e < t;) { (i = this.view[e++]) < 16 ? r.push("0", i.toString(16)) : r.push(i.toString(16)); } return r.join(""); }, t.fromHex = function (e, i, r) { if (!r) { if ("string" != typeof e) throw TypeError("Illegal str: Not a string"); if (e.length % 2 != 0) throw TypeError("Illegal str: Length not a multiple of 2"); } for (var n, o = e.length, a = new t(o / 2 | 0, i), s = 0, x = 0; s < o; s += 2) { if (n = parseInt(e.substring(s, s + 2), 16), !r && (!isFinite(n) || n < 0 || n > 255)) throw TypeError("Illegal str: Contains non-hex characters"); a.view[x++] = n; } return a.limit = x, a; }; var c = function () { var e = { MAX_CODEPOINT: 1114111, encodeUTF8: function encodeUTF8(e, t) { var i = null; for ("number" == typeof e && (i = e, e = function e() { return null; }); null !== i || null !== (i = e());) { i < 128 ? t(127 & i) : i < 2048 ? (t(i >> 6 & 31 | 192), t(63 & i | 128)) : i < 65536 ? (t(i >> 12 & 15 | 224), t(i >> 6 & 63 | 128), t(63 & i | 128)) : (t(i >> 18 & 7 | 240), t(i >> 12 & 63 | 128), t(i >> 6 & 63 | 128), t(63 & i | 128)), i = null; } }, decodeUTF8: function decodeUTF8(e, t) { for (var i, r, n, o, a = function a(e) { e = e.slice(0, e.indexOf(null)); var t = Error(e.toString()); throw t.name = "TruncatedError", t.bytes = e, t; }; null !== (i = e());) { if (0 == (128 & i)) t(i);else if (192 == (224 & i)) null === (r = e()) && a([i, r]), t((31 & i) << 6 | 63 & r);else if (224 == (240 & i)) (null === (r = e()) || null === (n = e())) && a([i, r, n]), t((15 & i) << 12 | (63 & r) << 6 | 63 & n);else { if (240 != (248 & i)) throw RangeError("Illegal starting byte: " + i); (null === (r = e()) || null === (n = e()) || null === (o = e())) && a([i, r, n, o]), t((7 & i) << 18 | (63 & r) << 12 | (63 & n) << 6 | 63 & o); } } }, UTF16toUTF8: function UTF16toUTF8(e, t) { for (var i, r = null; null !== (i = null !== r ? r : e());) { i >= 55296 && i <= 57343 && null !== (r = e()) && r >= 56320 && r <= 57343 ? (t(1024 * (i - 55296) + r - 56320 + 65536), r = null) : t(i); } null !== r && t(r); }, UTF8toUTF16: function UTF8toUTF16(e, t) { var i = null; for ("number" == typeof e && (i = e, e = function e() { return null; }); null !== i || null !== (i = e());) { i <= 65535 ? t(i) : (t(55296 + ((i -= 65536) >> 10)), t(i % 1024 + 56320)), i = null; } }, encodeUTF16toUTF8: function encodeUTF16toUTF8(t, i) { e.UTF16toUTF8(t, function (t) { e.encodeUTF8(t, i); }); }, decodeUTF8toUTF16: function decodeUTF8toUTF16(t, i) { e.decodeUTF8(t, function (t) { e.UTF8toUTF16(t, i); }); }, calculateCodePoint: function calculateCodePoint(e) { return e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4; }, calculateUTF8: function calculateUTF8(e) { for (var t, i = 0; null !== (t = e());) { i += t < 128 ? 1 : t < 2048 ? 2 : t < 65536 ? 3 : 4; } return i; }, calculateUTF16asUTF8: function calculateUTF16asUTF8(t) { var i = 0, r = 0; return e.UTF16toUTF8(t, function (e) { ++i, r += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4; }), [i, r]; } }; return e; }(); return i.toUTF8 = function (e, t) { if (void 0 === e && (e = this.offset), void 0 === t && (t = this.limit), !this.noAssert) { if ("number" != typeof e || e % 1 != 0) throw TypeError("Illegal begin: Not an integer"); if (e >>>= 0, "number" != typeof t || t % 1 != 0) throw TypeError("Illegal end: Not an integer"); if (t >>>= 0, e < 0 || e > t || t > this.buffer.byteLength) throw RangeError("Illegal range: 0 <= " + e + " <= " + t + " <= " + this.buffer.byteLength); } var i; try { c.decodeUTF8toUTF16(function () { return e < t ? this.view[e++] : null; }.bind(this), i = a()); } catch (i) { if (e !== t) throw RangeError("Illegal range: Truncated data, " + e + " != " + t); } return i(); }, t.fromUTF8 = function (e, i, r) { if (!r && "string" != typeof e) throw TypeError("Illegal str: Not a string"); var n = new t(c.calculateUTF16asUTF8(o(e), !0)[1], i, r), a = 0; return c.encodeUTF16toUTF8(o(e), function (e) { n.view[a++] = e; }), n.limit = a, n; }, t; }) ? r.apply(t, n) : r) || (e.exports = o); }, function (e, t) { (function (t) { e.exports = t; }).call(this, {}); }, function (e, t, i) { (function (e) { function i(e, t) { for (var i = 0, r = e.length - 1; r >= 0; r--) { var n = e[r]; "." === n ? e.splice(r, 1) : ".." === n ? (e.splice(r, 1), i++) : i && (e.splice(r, 1), i--); } if (t) for (; i--; i) { e.unshift(".."); } return e; } function r(e, t) { if (e.filter) return e.filter(t); for (var i = [], r = 0; r < e.length; r++) { t(e[r], r, e) && i.push(e[r]); } return i; } t.resolve = function () { for (var t = "", n = !1, o = arguments.length - 1; o >= -1 && !n; o--) { var a = o >= 0 ? arguments[o] : e.cwd(); if ("string" != typeof a) throw new TypeError("Arguments to path.resolve must be strings"); a && (t = a + "/" + t, n = "/" === a.charAt(0)); } return (n ? "/" : "") + (t = i(r(t.split("/"), function (e) { return !!e; }), !n).join("/")) || "."; }, t.normalize = function (e) { var o = t.isAbsolute(e), a = "/" === n(e, -1); return (e = i(r(e.split("/"), function (e) { return !!e; }), !o).join("/")) || o || (e = "."), e && a && (e += "/"), (o ? "/" : "") + e; }, t.isAbsolute = function (e) { return "/" === e.charAt(0); }, t.join = function () { var e = Array.prototype.slice.call(arguments, 0); return t.normalize(r(e, function (e, t) { if ("string" != typeof e) throw new TypeError("Arguments to path.join must be strings"); return e; }).join("/")); }, t.relative = function (e, i) { function r(e) { for (var t = 0; t < e.length && "" === e[t]; t++) { ; } for (var i = e.length - 1; i >= 0 && "" === e[i]; i--) { ; } return t > i ? [] : e.slice(t, i - t + 1); } e = t.resolve(e).substr(1), i = t.resolve(i).substr(1); for (var n = r(e.split("/")), o = r(i.split("/")), a = Math.min(n.length, o.length), s = a, x = 0; x < a; x++) { if (n[x] !== o[x]) { s = x; break; } } var l = []; for (x = s; x < n.length; x++) { l.push(".."); } return (l = l.concat(o.slice(s))).join("/"); }, t.sep = "/", t.delimiter = ":", t.dirname = function (e) { if ("string" != typeof e && (e += ""), 0 === e.length) return "."; for (var t = e.charCodeAt(0), i = 47 === t, r = -1, n = !0, o = e.length - 1; o >= 1; --o) { if (47 === (t = e.charCodeAt(o))) { if (!n) { r = o; break; } } else n = !1; } return -1 === r ? i ? "/" : "." : i && 1 === r ? "/" : e.slice(0, r); }, t.basename = function (e, t) { var i = function (e) { "string" != typeof e && (e += ""); var t, i = 0, r = -1, n = !0; for (t = e.length - 1; t >= 0; --t) { if (47 === e.charCodeAt(t)) { if (!n) { i = t + 1; break; } } else -1 === r && (n = !1, r = t + 1); } return -1 === r ? "" : e.slice(i, r); }(e); return t && i.substr(-1 * t.length) === t && (i = i.substr(0, i.length - t.length)), i; }, t.extname = function (e) { "string" != typeof e && (e += ""); for (var t = -1, i = 0, r = -1, n = !0, o = 0, a = e.length - 1; a >= 0; --a) { var s = e.charCodeAt(a); if (47 !== s) -1 === r && (n = !1, r = a + 1), 46 === s ? -1 === t ? t = a : 1 !== o && (o = 1) : -1 !== t && (o = -1);else if (!n) { i = a + 1; break; } } return -1 === t || -1 === r || 0 === o || 1 === o && t === r - 1 && t === i + 1 ? "" : e.slice(t, r); }; var n = "b" === "ab".substr(-1) ? function (e, t, i) { return e.substr(t, i); } : function (e, t, i) { return t < 0 && (t = e.length + t), e.substr(t, i); }; }).call(this, i(95)); }, function (e, t, i) { for (var r, n = i(10), o = i(20), a = i(28), s = a("typed_array"), x = a("view"), l = !(!n.ArrayBuffer || !n.DataView), c = l, u = 0, h = "Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(","); u < 9;) { (r = n[h[u++]]) ? (o(r.prototype, s, !0), o(r.prototype, x, !0)) : c = !1; } e.exports = { ABV: l, CONSTR: c, TYPED: s, VIEW: x }; }, function (e, t, i) { var r = i(22); e.exports = function (e, t, i) { for (var n in t) { r(e, n, t[n], i); } return e; }; }, function (e, t) { e.exports = function (e, t, i, r) { if (!(e instanceof t) || void 0 !== r && r in e) throw TypeError(i + ": incorrect invocation!"); return e; }; }, function (e, t, i) { var r = i(29), n = i(19); e.exports = function (e) { if (void 0 === e) return 0; var t = r(e), i = n(t); if (t !== i) throw RangeError("Wrong length!"); return i; }; }, function (e, t, i) { var r = i(46); e.exports = Array.isArray || function (e) { return "Array" == r(e); }; }, function (e, t, i) { "use strict"; var r = i(10), n = i(13), o = i(11), a = i(4)("species"); e.exports = function (e) { var t = r[e]; o && t && !t[a] && n.f(t, a, { configurable: !0, get: function get() { return this; } }); }; }, function (e, t, i) { "use strict"; var r = i(23), n = i(19), o = i(130), a = "".endsWith; r(r.P + r.F * i(131)("endsWith"), "String", { endsWith: function endsWith(e) { var t = o(this, e, "endsWith"), i = arguments.length > 1 ? arguments[1] : void 0, r = n(t.length), s = void 0 === i ? r : Math.min(n(i), r), x = String(e); return a ? a.call(t, x, s) : t.slice(s - x.length, s) === x; } }); }, function (e, t, i) { var r = i(80), n = i(38); e.exports = function (e, t, i) { if (r(t)) throw TypeError("String#" + i + " doesn't accept regex!"); return String(n(e)); }; }, function (e, t, i) { var r = i(4)("match"); e.exports = function (e) { var t = /./; try { "/./"[e](t); } catch (i) { try { return t[r] = !1, !"/./"[e](t); } catch (e) {} } return !0; }; }, function (e, t, i) { "use strict"; var r = i(23), n = i(19), o = i(130), a = "".startsWith; r(r.P + r.F * i(131)("startsWith"), "String", { startsWith: function startsWith(e) { var t = o(this, e, "startsWith"), i = n(Math.min(arguments.length > 1 ? arguments[1] : void 0, t.length)), r = String(e); return a ? a.call(t, r, i) : t.slice(i, i + r.length) === r; } }); }, function (e, t, i) { var r = i(47), n = i(14)("toStringTag"), o = "Arguments" == r(function () { return arguments; }()); e.exports = function (e) { var t, i, a; return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (i = function (e, t) { try { return e[t]; } catch (e) {} }(t = Object(e), n)) ? i : o ? r(t) : "Object" == (a = r(t)) && "function" == typeof t.callee ? "Arguments" : a; }; }, function (e, t, i) { var r = i(27), n = i(60), o = i(14)("species"); e.exports = function (e, t) { var i, a = r(e).constructor; return void 0 === a || null == (i = r(a)[o]) ? t : n(i); }; }, function (e, t, i) { var r, n, o, a = i(59), s = i(221), x = i(110), l = i(77), c = i(7), u = c.process, h = c.setImmediate, f = c.clearImmediate, d = c.MessageChannel, g = c.Dispatch, p = 0, m = {}, b = function b() { var e = +this; if (m.hasOwnProperty(e)) { var t = m[e]; delete m[e], t(); } }, v = function v(e) { b.call(e.data); }; h && f || (h = function h(e) { for (var t = [], i = 1; arguments.length > i;) { t.push(arguments[i++]); } return m[++p] = function () { s("function" == typeof e ? e : Function(e), t); }, r(p), p; }, f = function f(e) { delete m[e]; }, "process" == i(47)(u) ? r = function r(e) { u.nextTick(a(b, e, 1)); } : g && g.now ? r = function r(e) { g.now(a(b, e, 1)); } : d ? (o = (n = new d()).port2, n.port1.onmessage = v, r = a(o.postMessage, o, 1)) : c.addEventListener && "function" == typeof postMessage && !c.importScripts ? (r = function r(e) { c.postMessage(e + "", "*"); }, c.addEventListener("message", v, !1)) : r = "onreadystatechange" in l("script") ? function (e) { x.appendChild(l("script")).onreadystatechange = function () { x.removeChild(this), b.call(e); }; } : function (e) { setTimeout(a(b, e, 1), 0); }), e.exports = { set: h, clear: f }; }, function (e, t) { e.exports = function (e) { try { return { e: !1, v: e() }; } catch (e) { return { e: !0, v: e }; } }; }, function (e, t, i) { var r = i(27), n = i(33), o = i(94); e.exports = function (e, t) { if (r(e), n(t) && t.constructor === e) return t; var i = o.f(e); return (0, i.resolve)(t), i.promise; }; }, function (e, t, i) { var r = i(10), n = i(43), o = i(35), a = i(139), s = i(13).f; e.exports = function (e) { var t = n.Symbol || (n.Symbol = o ? {} : r.Symbol || {}); "_" == e.charAt(0) || e in t || s(t, e, { value: a.f(e) }); }; }, function (e, t, i) { t.f = i(4); }, function (e, t) { t.f = Object.getOwnPropertySymbols; }, function (e, t, i) { "use strict"; var r = i(10), n = i(24), o = i(46), a = i(142), s = i(44), x = i(18), l = i(41).f, c = i(67).f, u = i(13).f, h = i(235).trim, _f = r.Number, d = _f, g = _f.prototype, p = "Number" == o(i(52)(g)), m = ("trim" in String.prototype), b = function b(e) { var t = s(e, !1); if ("string" == typeof t && t.length > 2) { var i, r, n, o = (t = m ? t.trim() : h(t, 3)).charCodeAt(0); if (43 === o || 45 === o) { if (88 === (i = t.charCodeAt(2)) || 120 === i) return NaN; } else if (48 === o) { switch (t.charCodeAt(1)) { case 66: case 98: r = 2, n = 49; break; case 79: case 111: r = 8, n = 55; break; default: return +t; } for (var a, x = t.slice(2), l = 0, c = x.length; l < c; l++) { if ((a = x.charCodeAt(l)) < 48 || a > n) return NaN; } return parseInt(x, r); } } return +t; }; if (!_f(" 0o1") || !_f("0b1") || _f("+0x1")) { _f = function f(e) { var t = arguments.length < 1 ? 0 : e, i = this; return i instanceof _f && (p ? x(function () { g.valueOf.call(i); }) : "Number" != o(i)) ? a(new d(b(t)), i, _f) : b(t); }; for (var v, C = i(11) ? l(d) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), y = 0; C.length > y; y++) { n(d, v = C[y]) && !n(_f, v) && u(_f, v, c(d, v)); } _f.prototype = g, g.constructor = _f, i(22)(r, "Number", _f); } }, function (e, t, i) { var r = i(21), n = i(234).set; e.exports = function (e, t, i) { var o, a = t.constructor; return a !== i && "function" == typeof a && (o = a.prototype) !== i.prototype && r(o) && n && n(e, o), e; }; }, function (e, t, i) { var r = i(10), n = i(142), o = i(13).f, a = i(41).f, s = i(80), x = i(64), _l = r.RegExp, c = _l, u = _l.prototype, h = /a/g, f = /a/g, d = new _l(h) !== h; if (i(11) && (!d || i(18)(function () { return f[i(4)("match")] = !1, _l(h) != h || _l(f) == f || "/a/i" != _l(h, "i"); }))) { _l = function l(e, t) { var i = this instanceof _l, r = s(e), o = void 0 === t; return !i && r && e.constructor === _l && o ? e : n(d ? new c(r && !o ? e.source : e, t) : c((r = e instanceof _l) ? e.source : e, r && o ? x.call(e) : t), i ? this : u, _l); }; for (var g = function g(e) { (e in _l) || o(_l, e, { configurable: !0, get: function get() { return c[e]; }, set: function set(t) { c[e] = t; } }); }, p = a(c), m = 0; p.length > m;) { g(p[m++]); } u.constructor = _l, _l.prototype = u, i(22)(r, "RegExp", _l); } i(128)("RegExp"); }, function (e, t, i) { e.exports = i(193); }, function (e, t, i) { e.exports = i(209); }, function (e, t, i) { "use strict"; (function (e, t) { var r = i(15), n = i.n(r), o = (i(69), i(42), i(9)), a = i.n(o), s = i(3), x = i.n(s), l = (i(79), i(16)), c = i.n(l), u = (i(84), i(85), i(86), i(8)), h = i.n(u), f = i(2), d = i.n(f), g = i(1), p = i.n(g), m = (i(88), i(0)), b = i.n(m); !function (e, r) { var n = i(120); window.dcodeIO = window.dcodeIO || {}, window.dcodeIO.ByteBuffer = n, "function" == typeof define && i(121) ? define(["bytebuffer"], r) : "object" === b()(t) && t && t.exports ? t.exports = r(i(120), !0) : (e.dcodeIO = e.dcodeIO || {}).ProtoBuf = r(e.dcodeIO.ByteBuffer); }(window, function (t, r) { var o, s = {}; return s.ByteBuffer = t, s.Long = t.Long || null, s.VERSION = "5.0.1", s.WIRE_TYPES = {}, s.WIRE_TYPES.VARINT = 0, s.WIRE_TYPES.BITS64 = 1, s.WIRE_TYPES.LDELIM = 2, s.WIRE_TYPES.STARTGROUP = 3, s.WIRE_TYPES.ENDGROUP = 4, s.WIRE_TYPES.BITS32 = 5, s.PACKABLE_WIRE_TYPES = [s.WIRE_TYPES.VARINT, s.WIRE_TYPES.BITS64, s.WIRE_TYPES.BITS32], s.TYPES = { int32: { name: "int32", wireType: s.WIRE_TYPES.VARINT, defaultValue: 0 }, uint32: { name: "uint32", wireType: s.WIRE_TYPES.VARINT, defaultValue: 0 }, sint32: { name: "sint32", wireType: s.WIRE_TYPES.VARINT, defaultValue: 0 }, int64: { name: "int64", wireType: s.WIRE_TYPES.VARINT, defaultValue: s.Long ? s.Long.ZERO : void 0 }, uint64: { name: "uint64", wireType: s.WIRE_TYPES.VARINT, defaultValue: s.Long ? s.Long.UZERO : void 0 }, sint64: { name: "sint64", wireType: s.WIRE_TYPES.VARINT, defaultValue: s.Long ? s.Long.ZERO : void 0 }, bool: { name: "bool", wireType: s.WIRE_TYPES.VARINT, defaultValue: !1 }, "double": { name: "double", wireType: s.WIRE_TYPES.BITS64, defaultValue: 0 }, string: { name: "string", wireType: s.WIRE_TYPES.LDELIM, defaultValue: "" }, bytes: { name: "bytes", wireType: s.WIRE_TYPES.LDELIM, defaultValue: null }, fixed32: { name: "fixed32", wireType: s.WIRE_TYPES.BITS32, defaultValue: 0 }, sfixed32: { name: "sfixed32", wireType: s.WIRE_TYPES.BITS32, defaultValue: 0 }, fixed64: { name: "fixed64", wireType: s.WIRE_TYPES.BITS64, defaultValue: s.Long ? s.Long.UZERO : void 0 }, sfixed64: { name: "sfixed64", wireType: s.WIRE_TYPES.BITS64, defaultValue: s.Long ? s.Long.ZERO : void 0 }, "float": { name: "float", wireType: s.WIRE_TYPES.BITS32, defaultValue: 0 }, "enum": { name: "enum", wireType: s.WIRE_TYPES.VARINT, defaultValue: 0 }, message: { name: "message", wireType: s.WIRE_TYPES.LDELIM, defaultValue: null }, group: { name: "group", wireType: s.WIRE_TYPES.STARTGROUP, defaultValue: null } }, s.MAP_KEY_TYPES = [s.TYPES.int32, s.TYPES.sint32, s.TYPES.sfixed32, s.TYPES.uint32, s.TYPES.fixed32, s.TYPES.int64, s.TYPES.sint64, s.TYPES.sfixed64, s.TYPES.uint64, s.TYPES.fixed64, s.TYPES.bool, s.TYPES.string, s.TYPES.bytes], s.ID_MIN = 1, s.ID_MAX = 536870911, s.convertFieldsToCamelCase = !1, s.populateAccessors = !0, s.populateDefaults = !0, s.Util = ((o = {}).IS_NODE = !("object" !== (void 0 === e ? "undefined" : b()(e)) || "[object process]" != e + "" || e.browser), o.XHR = function () { for (var e = [function () { return new XMLHttpRequest(); }, function () { return new ActiveXObject("Msxml2.XMLHTTP"); }, function () { return new ActiveXObject("Msxml3.XMLHTTP"); }, function () { return new ActiveXObject("Microsoft.XMLHTTP"); }], t = null, i = 0; i < e.length; i++) { try { t = e[i](); } catch (e) { continue; } break; } if (!t) throw Error("XMLHttpRequest is not supported"); return t; }, o.fetch = function (e, t) { if (t && "function" != typeof t && (t = null), o.IS_NODE) { var r = i(192); if (t) r.readFile(e, function (e, i) { t(e ? null : "" + i); });else try { return r.readFileSync(e); } catch (e) { return null; } } else { var n = o.XHR(); if (n.open("GET", e, !!t), n.setRequestHeader("Accept", "text/plain"), "function" == typeof n.overrideMimeType && n.overrideMimeType("text/plain"), !t) return n.send(null), 200 == n.status || 0 == n.status && "string" == typeof n.responseText ? n.responseText : null; n.onreadystatechange = function () { 4 == n.readyState && (200 == n.status || 0 == n.status && "string" == typeof n.responseText ? t(n.responseText) : t(null)); }, 4 != n.readyState && n.send(null); } }, o.toCamelCase = function (e) { return e.replace(/_([a-zA-Z])/g, function (e, t) { return t.toUpperCase(); }); }, o), s.Lang = { DELIM: /[\s\{\}=;:\[\],'"\(\)<>]/g, RULE: /^(?:required|optional|repeated|map)$/, TYPE: /^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/, NAME: /^[a-zA-Z_][a-zA-Z_0-9]*$/, TYPEDEF: /^[a-zA-Z][a-zA-Z_0-9]*$/, TYPEREF: /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)+$/, FQTYPEREF: /^(?:\.[a-zA-Z][a-zA-Z_0-9]*)+$/, NUMBER: /^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/, NUMBER_DEC: /^(?:[1-9][0-9]*|0)$/, NUMBER_HEX: /^0[xX][0-9a-fA-F]+$/, NUMBER_OCT: /^0[0-7]+$/, NUMBER_FLT: /^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/, BOOL: /^(?:true|false)$/i, ID: /^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/, NEGID: /^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/, WHITESPACE: /\s/, STRING: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g, STRING_DQ: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g, STRING_SQ: /(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g }, s.DotProto = function (e, t) { function i(e, i) { var r = -1, n = 1; if ("-" == e.charAt(0) && (n = -1, e = e.substring(1)), t.NUMBER_DEC.test(e)) r = p()(e);else if (t.NUMBER_HEX.test(e)) r = p()(e.substring(2), 16);else { if (!t.NUMBER_OCT.test(e)) throw Error("illegal id value: " + (0 > n ? "-" : "") + e); r = p()(e.substring(1), 8); } if (r = n * r | 0, !i && 0 > r) throw Error("illegal id value: " + (0 > n ? "-" : "") + e); return r; } function r(e) { var i = 1; if ("-" == e.charAt(0) && (i = -1, e = e.substring(1)), t.NUMBER_DEC.test(e)) return i * p()(e, 10); if (t.NUMBER_HEX.test(e)) return i * p()(e.substring(2), 16); if (t.NUMBER_OCT.test(e)) return i * p()(e.substring(1), 8); if ("inf" === e) return 1 / 0 * i; if ("nan" === e) return NaN; if (t.NUMBER_FLT.test(e)) return i * d()(e); throw Error("illegal number value: " + (0 > i ? "-" : "") + e); } function n(e, t, i) { void 0 === e[t] ? e[t] = i : (h()(e[t]) || (e[t] = [e[t]]), e[t].push(i)); } var o = {}, a = function a(e) { this.source = e + "", this.index = 0, this.line = 1, this.stack = [], this._stringOpen = null; }; (s = a.prototype)._readString = function () { var e = '"' === this._stringOpen ? t.STRING_DQ : t.STRING_SQ; e.lastIndex = this.index - 1; var i = e.exec(this.source); if (!i) throw Error("unterminated string"); return this.index = e.lastIndex, this.stack.push(this._stringOpen), this._stringOpen = null, i[1]; }, s.next = function () { if (0 < this.stack.length) return this.stack.shift(); if (this.index >= this.source.length) return null; if (null !== this._stringOpen) return this._readString(); var e, i; do { for (e = !1; t.WHITESPACE.test(i = this.source.charAt(this.index));) { if ("\n" === i && ++this.line, ++this.index === this.source.length) return null; } if ("/" === this.source.charAt(this.index)) if (++this.index, "/" === this.source.charAt(this.index)) { for (; "\n" !== this.source.charAt(++this.index);) { if (this.index == this.source.length) return null; } ++this.index, ++this.line, e = !0; } else { if ("*" !== (i = this.source.charAt(this.index))) return "/"; do { if ("\n" === i && ++this.line, ++this.index === this.source.length) return null; e = i, i = this.source.charAt(this.index); } while ("*" !== e || "/" !== i); ++this.index, e = !0; } } while (e); if (this.index === this.source.length) return null; if (i = this.index, t.DELIM.lastIndex = 0, !t.DELIM.test(this.source.charAt(i++))) for (; i < this.source.length && !t.DELIM.test(this.source.charAt(i));) { ++i; } return '"' !== (i = this.source.substring(this.index, this.index = i)) && "'" !== i || (this._stringOpen = i), i; }, s.peek = function () { if (0 === this.stack.length) { var e = this.next(); if (null === e) return null; this.stack.push(e); } return this.stack[0]; }, s.skip = function (e) { var t = this.next(); if (t !== e) throw Error("illegal '" + t + "', '" + e + "' expected"); }, s.omit = function (e) { return this.peek() === e && (this.next(), !0); }, s.toString = function () { return "Tokenizer (" + this.index + "/" + this.source.length + " at line " + this.line + ")"; }, o.Tokenizer = a; var s, x = function x(e) { this.tn = new a(e), this.proto3 = !1; }; return (s = x.prototype).parse = function () { var e, i, r = { name: "[ROOT]", "package": null, messages: [], enums: [], imports: [], options: {}, services: [] }, n = !0; try { for (; e = this.tn.next();) { switch (e) { case "package": if (!n || null !== r["package"]) throw Error("unexpected 'package'"); if (e = this.tn.next(), !t.TYPEREF.test(e)) throw Error("illegal package name: " + e); this.tn.skip(";"), r["package"] = e; break; case "import": if (!n) throw Error("unexpected 'import'"); ("public" === (e = this.tn.peek()) || (i = "weak" === e)) && this.tn.next(), e = this._readString(), this.tn.skip(";"), i || r.imports.push(e); break; case "syntax": if (!n) throw Error("unexpected 'syntax'"); this.tn.skip("="), "proto3" === (r.syntax = this._readString()) && (this.proto3 = !0), this.tn.skip(";"); break; case "message": this._parseMessage(r, null), n = !1; break; case "enum": this._parseEnum(r), n = !1; break; case "option": this._parseOption(r); break; case "service": this._parseService(r); break; case "extend": this._parseExtend(r); break; default: throw Error("unexpected '" + e + "'"); } } } catch (e) { throw e.message = "Parse error at line " + this.tn.line + ": " + e.message, e; } return delete r.name, r; }, x.parse = function (e) { return new x(e).parse(); }, s._readString = function () { var e, t = ""; do { if ("'" !== (e = this.tn.next()) && '"' !== e) throw Error("illegal string delimiter: " + e); t += this.tn.next(), this.tn.skip(e), e = this.tn.peek(); } while ('"' === e || '"' === e); return t; }, s._readValue = function (e) { var i = this.tn.peek(); if ('"' === i || "'" === i) return this._readString(); if (this.tn.next(), t.NUMBER.test(i)) return r(i); if (t.BOOL.test(i)) return "true" === i.toLowerCase(); if (e && t.TYPEREF.test(i)) return i; throw Error("illegal value: " + i); }, s._parseOption = function (e, i) { var r = this.tn.next(), n = !1; if ("(" === r && (n = !0, r = this.tn.next()), !t.TYPEREF.test(r)) throw Error("illegal option name: " + r); var o = r; n && (this.tn.skip(")"), o = "(" + o + ")", r = this.tn.peek(), t.FQTYPEREF.test(r) && (o += r, this.tn.next())), this.tn.skip("="), this._parseOptionValue(e, o), i || this.tn.skip(";"); }, s._parseOptionValue = function (e, i) { var r = this.tn.peek(); if ("{" !== r) n(e.options, i, this._readValue(!0));else for (this.tn.skip("{"); "}" !== (r = this.tn.next());) { if (!t.NAME.test(r)) throw Error("illegal option name: " + i + "." + r); this.tn.omit(":") ? n(e.options, i + "." + r, this._readValue(!0)) : this._parseOptionValue(e, i + "." + r); } }, s._parseService = function (e) { var i = this.tn.next(); if (!t.NAME.test(i)) throw Error("illegal service name at line " + this.tn.line + ": " + i); var r = { name: i, rpc: {}, options: {} }; for (this.tn.skip("{"); "}" !== (i = this.tn.next());) { if ("option" === i) this._parseOption(r);else { if ("rpc" !== i) throw Error("illegal service token: " + i); this._parseServiceRPC(r); } } this.tn.omit(";"), e.services.push(r); }, s._parseServiceRPC = function (e) { var i = this.tn.next(); if (!t.NAME.test(i)) throw Error("illegal rpc service method name: " + i); var r = i, n = { request: null, response: null, request_stream: !1, response_stream: !1, options: {} }; if (this.tn.skip("("), "stream" === (i = this.tn.next()).toLowerCase() && (n.request_stream = !0, i = this.tn.next()), !t.TYPEREF.test(i)) throw Error("illegal rpc service request type: " + i); if (n.request = i, this.tn.skip(")"), "returns" !== (i = this.tn.next()).toLowerCase()) throw Error("illegal rpc service request type delimiter: " + i); if (this.tn.skip("("), "stream" === (i = this.tn.next()).toLowerCase() && (n.response_stream = !0, i = this.tn.next()), n.response = i, this.tn.skip(")"), "{" === (i = this.tn.peek())) { for (this.tn.next(); "}" !== (i = this.tn.next());) { if ("option" !== i) throw Error("illegal rpc service token: " + i); this._parseOption(n); } this.tn.omit(";"); } else this.tn.skip(";"); void 0 === e.rpc && (e.rpc = {}), e.rpc[r] = n; }, s._parseMessage = function (e, r) { var n = !!r, o = this.tn.next(), a = { name: "", fields: [], enums: [], messages: [], options: {}, services: [], oneofs: {} }; if (!t.NAME.test(o)) throw Error("illegal " + (n ? "group" : "message") + " name: " + o); for (a.name = o, n && (this.tn.skip("="), r.id = i(this.tn.next()), a.isGroup = !0), "[" === (o = this.tn.peek()) && r && this._parseFieldOptions(r), this.tn.skip("{"); "}" !== (o = this.tn.next());) { if (t.RULE.test(o)) this._parseMessageField(a, o);else if ("oneof" === o) this._parseMessageOneOf(a);else if ("enum" === o) this._parseEnum(a);else if ("message" === o) this._parseMessage(a);else if ("option" === o) this._parseOption(a);else if ("service" === o) this._parseService(a);else if ("extensions" === o) a.hasOwnProperty("extensions") ? a.extensions = a.extensions.concat(this._parseExtensionRanges()) : a.extensions = this._parseExtensionRanges();else if ("reserved" === o) this._parseIgnored();else if ("extend" === o) this._parseExtend(a);else { if (!t.TYPEREF.test(o)) throw Error("illegal message token: " + o); if (!this.proto3) throw Error("illegal field rule: " + o); this._parseMessageField(a, "optional", o); } } return this.tn.omit(";"), e.messages.push(a), a; }, s._parseIgnored = function () { for (; ";" !== this.tn.peek();) { this.tn.next(); } this.tn.skip(";"); }, s._parseMessageField = function (e, r, n) { if (!t.RULE.test(r)) throw Error("illegal message field rule: " + r); var o = { rule: r, type: "", name: "", options: {}, id: 0 }; if ("map" === r) { if (n) throw Error("illegal type: " + n); if (this.tn.skip("<"), r = this.tn.next(), !t.TYPE.test(r) && !t.TYPEREF.test(r)) throw Error("illegal message field type: " + r); if (o.keytype = r, this.tn.skip(","), r = this.tn.next(), !t.TYPE.test(r) && !t.TYPEREF.test(r)) throw Error("illegal message field: " + r); if (o.type = r, this.tn.skip(">"), r = this.tn.next(), !t.NAME.test(r)) throw Error("illegal message field name: " + r); o.name = r, this.tn.skip("="), o.id = i(this.tn.next()), "[" === (r = this.tn.peek()) && this._parseFieldOptions(o), this.tn.skip(";"); } else if ("group" === (n = void 0 !== n ? n : this.tn.next())) { if (r = this._parseMessage(e, o), !/^[A-Z]/.test(r.name)) throw Error("illegal group name: " + r.name); o.type = r.name, o.name = r.name.toLowerCase(), this.tn.omit(";"); } else { if (!t.TYPE.test(n) && !t.TYPEREF.test(n)) throw Error("illegal message field type: " + n); if (o.type = n, r = this.tn.next(), !t.NAME.test(r)) throw Error("illegal message field name: " + r); o.name = r, this.tn.skip("="), o.id = i(this.tn.next()), "[" === (r = this.tn.peek()) && this._parseFieldOptions(o), this.tn.skip(";"); } return e.fields.push(o), o; }, s._parseMessageOneOf = function (e) { var i = this.tn.next(); if (!t.NAME.test(i)) throw Error("illegal oneof name: " + i); var r = i, n = []; for (this.tn.skip("{"); "}" !== (i = this.tn.next());) { (i = this._parseMessageField(e, "optional", i)).oneof = r, n.push(i.id); } this.tn.omit(";"), e.oneofs[r] = n; }, s._parseFieldOptions = function (e) { this.tn.skip("["); for (var t = !0; "]" !== this.tn.peek();) { t || this.tn.skip(","), this._parseOption(e, !0), t = !1; } this.tn.next(); }, s._parseEnum = function (e) { var r = { name: "", values: [], options: {} }, n = this.tn.next(); if (!t.NAME.test(n)) throw Error("illegal name: " + n); for (r.name = n, this.tn.skip("{"); "}" !== (n = this.tn.next());) { if ("option" === n) this._parseOption(r);else { if (!t.NAME.test(n)) throw Error("illegal name: " + n); this.tn.skip("="); var o = { name: n, id: i(this.tn.next(), !0) }; "[" === (n = this.tn.peek()) && this._parseFieldOptions({ options: {} }), this.tn.skip(";"), r.values.push(o); } } this.tn.omit(";"), e.enums.push(r); }, s._parseExtensionRanges = function () { var t, i, n = []; do { for (i = [];;) { switch (t = this.tn.next()) { case "min": t = e.ID_MIN; break; case "max": t = e.ID_MAX; break; default: t = r(t); } if (i.push(t), 2 === i.length) break; if ("to" !== this.tn.peek()) { i.push(t); break; } this.tn.next(); } n.push(i); } while (this.tn.omit(",")); return this.tn.skip(";"), n; }, s._parseExtend = function (e) { var i = this.tn.next(); if (!t.TYPEREF.test(i)) throw Error("illegal extend reference: " + i); var r = { ref: i, fields: [] }; for (this.tn.skip("{"); "}" !== (i = this.tn.next());) { if (t.RULE.test(i)) this._parseMessageField(r, i);else { if (!t.TYPEREF.test(i)) throw Error("illegal extend token: " + i); if (!this.proto3) throw Error("illegal field rule: " + i); this._parseMessageField(r, "optional", i); } } return this.tn.omit(";"), e.messages.push(r), r; }, s.toString = function () { return "Parser at line " + this.tn.line; }, o.Parser = x, o; }(s, s.Lang), s.Reflect = function (e) { function i(t, i) { if (t && "number" == typeof t.low && "number" == typeof t.high && "boolean" == typeof t.unsigned && t.low == t.low && t.high == t.high) return new e.Long(t.low, t.high, void 0 === i ? t.unsigned : i); if ("string" == typeof t) return e.Long.fromString(t, i || !1, 10); if ("number" == typeof t) return e.Long.fromNumber(t, i || !1); throw Error("not convertible to Long"); } function r(t, i) { var n = 7 & (o = i.readVarint32()), o = o >>> 3; switch (n) { case e.WIRE_TYPES.VARINT: do { o = i.readUint8(); } while (128 == (128 & o)); break; case e.WIRE_TYPES.BITS64: i.offset += 8; break; case e.WIRE_TYPES.LDELIM: o = i.readVarint32(), i.offset += o; break; case e.WIRE_TYPES.STARTGROUP: r(o, i); break; case e.WIRE_TYPES.ENDGROUP: if (o === t) return !1; throw Error("Illegal GROUPEND after unknown group: " + o + " (" + t + " expected)"); case e.WIRE_TYPES.BITS32: i.offset += 4; break; default: throw Error("Illegal wire type in unknown group " + t + ": " + n); } return !0; } var o = {}, s = function s(e, t, i) { this.builder = e, this.parent = t, this.name = i; }; (l = s.prototype).fqn = function () { for (var e = this.name, t = this;;) { if (null == (t = t.parent)) break; e = t.name + "." + e; } return e; }, l.toString = function (e) { return (e ? this.className + " " : "") + this.fqn(); }, l.build = function () { throw Error(this.toString(!0) + " cannot be built directly"); }, o.T = s; var l, u = function u(e, t, i, r, n) { s.call(this, e, t, i), this.className = "Namespace", this.children = [], this.options = r || {}, this.syntax = n || "proto2"; }; (l = u.prototype = c()(s.prototype)).getChildren = function (e) { if (null == (e = e || null)) return this.children.slice(); for (var t = [], i = 0, r = this.children.length; i < r; ++i) { this.children[i] instanceof e && t.push(this.children[i]); } return t; }, l.addChild = function (e) { var t; if (t = this.getChild(e.name)) if (t instanceof g.Field && t.name !== t.originalName && null === this.getChild(t.originalName)) t.name = t.originalName;else { if (!(e instanceof g.Field && e.name !== e.originalName && null === this.getChild(e.originalName))) throw Error("Duplicate name in namespace " + this.toString(!0) + ": " + e.name); e.name = e.originalName; } this.children.push(e); }, l.getChild = function (e) { for (var t = "number" == typeof e ? "id" : "name", i = 0, r = this.children.length; i < r; ++i) { if (this.children[i][t] === e) return this.children[i]; } return null; }, l.resolve = function (e, t) { var i = "string" == typeof e ? e.split(".") : e, r = this, n = 0; if ("" === i[n]) { for (; null !== r.parent;) { r = r.parent; } n++; } do { do { if (!(r instanceof o.Namespace)) { r = null; break; } if (!((r = r.getChild(i[n])) && r instanceof o.T) || t && !(r instanceof o.Namespace)) { r = null; break; } n++; } while (n < i.length); if (null != r) break; if (null !== this.parent) return this.parent.resolve(e, t); } while (null != r); return r; }, l.qn = function (e) { var t = [], i = e; do { t.unshift(i.name), i = i.parent; } while (null !== i); for (i = 1; i <= t.length; i++) { var r = t.slice(t.length - i); if (e === this.resolve(r, e instanceof o.Namespace)) return r.join("."); } return e.fqn(); }, l.build = function () { for (var e, t = {}, i = this.children, r = 0, n = i.length; r < n; ++r) { (e = i[r]) instanceof u && (t[e.name] = e.build()); } return x.a && x()(t, "$options", { value: this.buildOpt() }), t; }, l.buildOpt = function () { for (var e = {}, t = a()(this.options), i = 0, r = t.length; i < r; ++i) { e[t[i]] = this.options[t[i]]; } return e; }, l.getOption = function (e) { return void 0 === e ? this.options : void 0 !== this.options[e] ? this.options[e] : null; }, o.Namespace = u; var f = function f(t, i, r, n, o) { if (this.type = t, this.resolvedType = i, this.isMapKey = r, this.syntax = n, this.name = o, r && 0 > e.MAP_KEY_TYPES.indexOf(t)) throw Error("Invalid map key type: " + t.name); }, d = f.prototype; f.defaultFieldValue = function (i) { if ("string" == typeof i && (i = e.TYPES[i]), void 0 === i.defaultValue) throw Error("default value for type " + i.name + " is not supported"); return i == e.TYPES.bytes ? new t(0) : i.defaultValue; }, d.toString = function () { return (this.name || "") + (this.isMapKey ? "map" : "value") + " element"; }, d.verifyValue = function (r) { function n(e, t) { throw Error("Illegal value for " + o.toString(!0) + " of type " + o.type.name + ": " + e + " (" + t + ")"); } var o = this; switch (this.type) { case e.TYPES.int32: case e.TYPES.sint32: case e.TYPES.sfixed32: return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"), 4294967295 < r ? 0 | r : r; case e.TYPES.uint32: case e.TYPES.fixed32: return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"), 0 > r ? r >>> 0 : r; case e.TYPES.int64: case e.TYPES.sint64: case e.TYPES.sfixed64: if (e.Long) try { return i(r, !1); } catch (e) { n(b()(r), e.message); } else n(b()(r), "requires Long.js"); case e.TYPES.uint64: case e.TYPES.fixed64: if (e.Long) try { return i(r, !0); } catch (e) { n(b()(r), e.message); } else n(b()(r), "requires Long.js"); case e.TYPES.bool: return "boolean" != typeof r && n(b()(r), "not a boolean"), r; case e.TYPES["float"]: case e.TYPES["double"]: return "number" != typeof r && n(b()(r), "not a number"), r; case e.TYPES.string: return "string" == typeof r || r && r instanceof String || n(b()(r), "not a string"), "" + r; case e.TYPES.bytes: return t.isByteBuffer(r) ? r : t.wrap(r, "base64"); case e.TYPES["enum"]: for (var a = this.resolvedType.getChildren(e.Reflect.Enum.Value), s = 0; s < a.length; s++) { if (a[s].name == r || a[s].id == r) return a[s].id; } if ("proto3" === this.syntax) return ("number" != typeof r || r == r && 0 != r % 1) && n(b()(r), "not an integer"), (4294967295 < r || 0 > r) && n(b()(r), "not in range for uint32"), r; n(r, "not a valid enum value"); case e.TYPES.group: case e.TYPES.message: if (r && "object" === b()(r) || n(b()(r), "object expected"), r instanceof this.resolvedType.clazz) return r; if (r instanceof e.Builder.Message) { a = {}; for (s in r) { r.hasOwnProperty(s) && (a[s] = r[s]); } r = a; } return new this.resolvedType.clazz(r); } throw Error("[INTERNAL] Illegal value for " + this.toString(!0) + ": " + r + " (undefined type " + this.type + ")"); }, d.calculateLength = function (i, r) { if (null === r) return 0; var n; switch (this.type) { case e.TYPES.int32: return 0 > r ? t.calculateVarint64(r) : t.calculateVarint32(r); case e.TYPES.uint32: return t.calculateVarint32(r); case e.TYPES.sint32: return t.calculateVarint32(t.zigZagEncode32(r)); case e.TYPES.fixed32: case e.TYPES.sfixed32: case e.TYPES["float"]: return 4; case e.TYPES.int64: case e.TYPES.uint64: return t.calculateVarint64(r); case e.TYPES.sint64: return t.calculateVarint64(t.zigZagEncode64(r)); case e.TYPES.fixed64: case e.TYPES.sfixed64: return 8; case e.TYPES.bool: return 1; case e.TYPES["enum"]: return t.calculateVarint32(r); case e.TYPES["double"]: return 8; case e.TYPES.string: return n = t.calculateUTF8Bytes(r), t.calculateVarint32(n) + n; case e.TYPES.bytes: if (0 > r.remaining()) throw Error("Illegal value for " + this.toString(!0) + ": " + r.remaining() + " bytes remaining"); return t.calculateVarint32(r.remaining()) + r.remaining(); case e.TYPES.message: return n = this.resolvedType.calculate(r), t.calculateVarint32(n) + n; case e.TYPES.group: return (n = this.resolvedType.calculate(r)) + t.calculateVarint32(i << 3 | e.WIRE_TYPES.ENDGROUP); } throw Error("[INTERNAL] Illegal value to encode in " + this.toString(!0) + ": " + r + " (unknown type)"); }, d.encodeValue = function (i, r, n) { if (null === r) return n; switch (this.type) { case e.TYPES.int32: 0 > r ? n.writeVarint64(r) : n.writeVarint32(r); break; case e.TYPES.uint32: n.writeVarint32(r); break; case e.TYPES.sint32: n.writeVarint32ZigZag(r); break; case e.TYPES.fixed32: n.writeUint32(r); break; case e.TYPES.sfixed32: n.writeInt32(r); break; case e.TYPES.int64: case e.TYPES.uint64: n.writeVarint64(r); break; case e.TYPES.sint64: n.writeVarint64ZigZag(r); break; case e.TYPES.fixed64: n.writeUint64(r); break; case e.TYPES.sfixed64: n.writeInt64(r); break; case e.TYPES.bool: "string" == typeof r ? n.writeVarint32("false" === r.toLowerCase() ? 0 : !!r) : n.writeVarint32(r ? 1 : 0); break; case e.TYPES["enum"]: n.writeVarint32(r); break; case e.TYPES["float"]: n.writeFloat32(r); break; case e.TYPES["double"]: n.writeFloat64(r); break; case e.TYPES.string: n.writeVString(r); break; case e.TYPES.bytes: if (0 > r.remaining()) throw Error("Illegal value for " + this.toString(!0) + ": " + r.remaining() + " bytes remaining"); i = r.offset, n.writeVarint32(r.remaining()), n.append(r), r.offset = i; break; case e.TYPES.message: i = new t().LE(), this.resolvedType.encode(r, i), n.writeVarint32(i.offset), n.append(i.flip()); break; case e.TYPES.group: this.resolvedType.encode(r, n), n.writeVarint32(i << 3 | e.WIRE_TYPES.ENDGROUP); break; default: throw Error("[INTERNAL] Illegal value to encode in " + this.toString(!0) + ": " + r + " (unknown type)"); } return n; }, d.decode = function (t, i, r) { if (i != this.type.wireType) throw Error("Unexpected wire type for element"); switch (this.type) { case e.TYPES.int32: return 0 | t.readVarint32(); case e.TYPES.uint32: return t.readVarint32() >>> 0; case e.TYPES.sint32: return 0 | t.readVarint32ZigZag(); case e.TYPES.fixed32: return t.readUint32() >>> 0; case e.TYPES.sfixed32: return 0 | t.readInt32(); case e.TYPES.int64: return t.readVarint64(); case e.TYPES.uint64: return t.readVarint64().toUnsigned(); case e.TYPES.sint64: return t.readVarint64ZigZag(); case e.TYPES.fixed64: return t.readUint64(); case e.TYPES.sfixed64: return t.readInt64(); case e.TYPES.bool: return !!t.readVarint32(); case e.TYPES["enum"]: return t.readVarint32(); case e.TYPES["float"]: return t.readFloat(); case e.TYPES["double"]: return t.readDouble(); case e.TYPES.string: return t.readVString(); case e.TYPES.bytes: if (r = t.readVarint32(), t.remaining() < r) throw Error("Illegal number of bytes for " + this.toString(!0) + ": " + r + " required but got only " + t.remaining()); return (i = t.clone()).limit = i.offset + r, t.offset += r, i; case e.TYPES.message: return r = t.readVarint32(), this.resolvedType.decode(t, r); case e.TYPES.group: return this.resolvedType.decode(t, -1, r); } throw Error("[INTERNAL] Illegal decode type"); }, d.valueFromString = function (i) { if (!this.isMapKey) throw Error("valueFromString() called on non-map-key element"); switch (this.type) { case e.TYPES.int32: case e.TYPES.sint32: case e.TYPES.sfixed32: case e.TYPES.uint32: case e.TYPES.fixed32: return this.verifyValue(p()(i)); case e.TYPES.int64: case e.TYPES.sint64: case e.TYPES.sfixed64: case e.TYPES.uint64: case e.TYPES.fixed64: return this.verifyValue(i); case e.TYPES.bool: return "true" === i; case e.TYPES.string: return this.verifyValue(i); case e.TYPES.bytes: return t.fromBinary(i); } }, d.valueToString = function (t) { if (!this.isMapKey) throw Error("valueToString() called on non-map-key element"); return this.type === e.TYPES.bytes ? t.toString("binary") : t.toString(); }, o.Element = f; var g = function g(e, t, i, r, n, o) { u.call(this, e, t, i, r, o), this.className = "Message", this.extensions = void 0, this.clazz = null, this.isGroup = !!n, this._fieldsByName = this._fieldsById = this._fields = null; }; (d = g.prototype = c()(u.prototype)).build = function (i) { if (this.clazz && !i) return this.clazz; i = function (e, i) { function r(i, n, o, a) { if (null === i || "object" !== b()(i)) { if (a && a instanceof e.Reflect.Enum) if (null !== (c = e.Reflect.Enum.getName(a.object, i))) return c; return i; } if (t.isByteBuffer(i)) return n ? i.toBase64() : i.toBuffer(); if (e.Long.isLong(i)) return o ? i.toString() : e.Long.fromValue(i); var s; if (h()(i)) return s = [], i.forEach(function (e, t) { s[t] = r(e, n, o, a); }), s; if (s = {}, i instanceof e.Map) { for (var x = (c = i.entries()).next(); !x.done; x = c.next()) { s[i.keyElem.valueToString(x.value[0])] = r(x.value[1], n, o, i.valueElem.resolvedType); } return s; } var l, c = i.$type; x = void 0; for (l in i) { i.hasOwnProperty(l) && (c && (x = c.getChild(l)) ? s[l] = r(i[l], n, o, x.resolvedType) : s[l] = r(i[l], n, o)); } return s; } var o = i.getChildren(e.Reflect.Message.Field), a = i.getChildren(e.Reflect.Message.OneOf), s = function r(n, s) { e.Builder.Message.call(this); for (var x = 0, l = a.length; x < l; ++x) { this[a[x].name] = null; } for (x = 0, l = o.length; x < l; ++x) { var c = o[x]; this[c.name] = c.repeated ? [] : c.map ? new e.Map(c) : null, !c.required && "proto3" !== i.syntax || null === c.defaultValue || (this[c.name] = c.defaultValue); } if (0 < arguments.length) if (1 !== arguments.length || null === n || "object" !== b()(n) || !("function" != typeof n.encode || n instanceof r) || h()(n) || n instanceof e.Map || t.isByteBuffer(n) || n instanceof ArrayBuffer || e.Long && n instanceof e.Long) for (x = 0, l = arguments.length; x < l; ++x) { void 0 !== (c = arguments[x]) && this.$set(o[x].name, c); } else this.$set(n); }, l = s.prototype = c()(e.Builder.Message.prototype); l.add = function (t, r, n) { var o = i._fieldsByName[t]; if (!n) { if (!o) throw Error(this + "#" + t + " is undefined"); if (!(o instanceof e.Reflect.Message.Field)) throw Error(this + "#" + t + " is not a field: " + o.toString(!0)); if (!o.repeated) throw Error(this + "#" + t + " is not a repeated field"); r = o.verifyValue(r, !0); } return null === this[t] && (this[t] = []), this[t].push(r), this; }, l.$add = l.add, l.set = function (t, r, n) { if (t && "object" === b()(t)) { for (var o in n = r, t) { t.hasOwnProperty(o) && void 0 !== (r = t[o]) && this.$set(o, r, n); } return this; } if (o = i._fieldsByName[t], n) this[t] = r;else { if (!o) throw Error(this + "#" + t + " is not a field: undefined"); if (!(o instanceof e.Reflect.Message.Field)) throw Error(this + "#" + t + " is not a field: " + o.toString(!0)); this[o.name] = r = o.verifyValue(r); } return o && o.oneof && (n = this[o.oneof.name], null !== r ? (null !== n && n !== o.name && (this[n] = null), this[o.oneof.name] = o.name) : n === t && (this[o.oneof.name] = null)), this; }, l.$set = l.set, l.get = function (t, r) { if (r) return this[t]; var n = i._fieldsByName[t]; if (!(n && n instanceof e.Reflect.Message.Field)) throw Error(this + "#" + t + " is not a field: undefined"); if (!(n instanceof e.Reflect.Message.Field)) throw Error(this + "#" + t + " is not a field: " + n.toString(!0)); return this[n.name]; }, l.$get = l.get; for (var u = 0; u < o.length; u++) { var f = o[u]; f instanceof e.Reflect.Message.ExtensionField || i.builder.options.populateAccessors && function (e) { var t = (t = e.originalName.replace(/(_[a-zA-Z])/g, function (e) { return e.toUpperCase().replace("_", ""); })).substring(0, 1).toUpperCase() + t.substring(1), r = e.originalName.replace(/([A-Z])/g, function (e) { return "_" + e; }), n = function n(t, i) { return this[e.name] = i ? t : e.verifyValue(t), this; }, o = function o() { return this[e.name]; }; null === i.getChild("set" + t) && (l["set" + t] = n), null === i.getChild("set_" + r) && (l["set_" + r] = n), null === i.getChild("get" + t) && (l["get" + t] = o), null === i.getChild("get_" + r) && (l["get_" + r] = o); }(f); } return l.encode = function (e, r) { "boolean" == typeof e && (r = e, e = void 0); var n = !1; e || (e = new t(), n = !0); var o = e.littleEndian; try { return i.encode(this, e.LE(), r), (n ? e.flip() : e).LE(o); } catch (t) { throw e.LE(o), t; } }, s.encode = function (e, t, i) { return new s(e).encode(t, i); }, l.calculate = function () { return i.calculate(this); }, l.encodeDelimited = function (e, r) { var n = !1; e || (e = new t(), n = !0); var o = new t().LE(); return i.encode(this, o, r).flip(), e.writeVarint32(o.remaining()), e.append(o), n ? e.flip() : e; }, l.encodeAB = function () { try { return this.encode().toArrayBuffer(); } catch (e) { throw e.encoded && (e.encoded = e.encoded.toArrayBuffer()), e; } }, l.toArrayBuffer = l.encodeAB, l.encodeNB = function () { try { return this.encode().toBuffer(); } catch (e) { throw e.encoded && (e.encoded = e.encoded.toBuffer()), e; } }, l.toBuffer = l.encodeNB, l.encode64 = function () { try { return this.encode().toBase64(); } catch (e) { throw e.encoded && (e.encoded = e.encoded.toBase64()), e; } }, l.toBase64 = l.encode64, l.encodeHex = function () { try { return this.encode().toHex(); } catch (e) { throw e.encoded && (e.encoded = e.encoded.toHex()), e; } }, l.toHex = l.encodeHex, l.toRaw = function (e, t) { return r(this, !!e, !!t, this.$type); }, l.encodeJSON = function () { return n()(r(this, !0, !0, this.$type)); }, s.decode = function (e, r, n) { "string" == typeof r && (n = r, r = -1), "string" == typeof e ? e = t.wrap(e, n || "base64") : t.isByteBuffer(e) || (e = t.wrap(e)), n = e.littleEndian; try { var o = i.decode(e.LE(), r); return e.LE(n), o; } catch (t) { throw e.LE(n), t; } }, s.decodeDelimited = function (e, r) { if ("string" == typeof e ? e = t.wrap(e, r || "base64") : t.isByteBuffer(e) || (e = t.wrap(e)), 1 > e.remaining()) return null; var n = e.offset, o = e.readVarint32(); if (e.remaining() < o) return e.offset = n, null; try { var a = i.decode(e.slice(e.offset, e.offset + o).LE()); return e.offset += o, a; } catch (t) { throw e.offset += o, t; } }, s.decode64 = function (e) { return s.decode(e, "base64"); }, s.decodeHex = function (e) { return s.decode(e, "hex"); }, s.decodeJSON = function (e) { return new s(JSON.parse(e)); }, l.toString = function () { return i.toString(); }, x.a && (x()(s, "$options", { value: i.buildOpt() }), x()(l, "$options", { value: s.$options }), x()(s, "$type", { value: i }), x()(l, "$type", { value: i })), s; }(e, this), this._fields = [], this._fieldsById = {}, this._fieldsByName = {}; for (var r, o = 0, a = this.children.length; o < a; o++) { if ((r = this.children[o]) instanceof v || r instanceof g || r instanceof y) { if (i.hasOwnProperty(r.name)) throw Error("Illegal reflect child of " + this.toString(!0) + ": " + r.toString(!0) + " cannot override static property '" + r.name + "'"); i[r.name] = r.build(); } else if (r instanceof g.Field) r.build(), this._fields.push(r), this._fieldsById[r.id] = r, this._fieldsByName[r.name] = r;else if (!(r instanceof g.OneOf || r instanceof C)) throw Error("Illegal reflect child of " + this.toString(!0) + ": " + this.children[o].toString(!0)); } return this.clazz = i; }, d.encode = function (e, t, i) { for (var r, n, o = null, a = 0, s = this._fields.length; a < s; ++a) { n = e[(r = this._fields[a]).name], r.required && null === n ? null === o && (o = r) : r.encode(i ? n : r.verifyValue(n), t, e); } if (null !== o) throw (e = Error("Missing at least one required field for " + this.toString(!0) + ": " + o)).encoded = t, e; return t; }, d.calculate = function (e) { for (var t, i, r = 0, n = 0, o = this._fields.length; n < o; ++n) { if (i = e[(t = this._fields[n]).name], t.required && null === i) throw Error("Missing at least one required field for " + this.toString(!0) + ": " + t); r += t.calculate(i, e); } return r; }, d.decode = function (t, i, n) { "number" != typeof i && (i = -1); for (var o, a, s, x = t.offset, l = new this.clazz(); t.offset < x + i || -1 === i && 0 < t.remaining();) { if (s = (o = t.readVarint32()) >>> 3, (a = 7 & o) === e.WIRE_TYPES.ENDGROUP) { if (s !== n) throw Error("Illegal group end indicator for " + this.toString(!0) + ": " + s + " (" + (n ? n + " expected" : "not a group") + ")"); break; } if (o = this._fieldsById[s]) o.repeated && !o.options.packed ? l[o.name].push(o.decode(a, t)) : o.map ? (a = o.decode(a, t), l[o.name].set(a[0], a[1])) : (l[o.name] = o.decode(a, t), o.oneof && (null !== (a = l[o.oneof.name]) && a !== o.name && (l[a] = null), l[o.oneof.name] = o.name));else switch (a) { case e.WIRE_TYPES.VARINT: t.readVarint32(); break; case e.WIRE_TYPES.BITS32: t.offset += 4; break; case e.WIRE_TYPES.BITS64: t.offset += 8; break; case e.WIRE_TYPES.LDELIM: o = t.readVarint32(), t.offset += o; break; case e.WIRE_TYPES.STARTGROUP: for (; r(s, t);) { ; } break; default: throw Error("Illegal wire type for unknown field " + s + " in " + this.toString(!0) + "#decode: " + a); } } for (t = 0, i = this._fields.length; t < i; ++t) { if (null === l[(o = this._fields[t]).name]) if ("proto3" === this.syntax) l[o.name] = o.defaultValue;else { if (o.required) throw (t = Error("Missing at least one required field for " + this.toString(!0) + ": " + o.name)).decoded = l, t; e.populateDefaults && null !== o.defaultValue && (l[o.name] = o.defaultValue); } } return l; }, o.Message = g; var m = function m(t, i, r, n, o, a, x, l, c, u) { s.call(this, t, i, a), this.className = "Message.Field", this.required = "required" === r, this.repeated = "repeated" === r, this.map = "map" === r, this.keyType = n || null, this.type = o, this.resolvedType = null, this.id = x, this.options = l || {}, this.defaultValue = null, this.oneof = c || null, this.syntax = u || "proto2", this.originalName = this.name, this.keyElement = this.element = null, !this.builder.options.convertFieldsToCamelCase || this instanceof g.ExtensionField || (this.name = e.Util.toCamelCase(this.name)); }; (d = m.prototype = c()(s.prototype)).build = function () { this.element = new f(this.type, this.resolvedType, !1, this.syntax, this.name), this.map && (this.keyElement = new f(this.keyType, void 0, !0, this.syntax, this.name)), "proto3" !== this.syntax || this.repeated || this.map ? void 0 !== this.options["default"] && (this.defaultValue = this.verifyValue(this.options["default"])) : this.defaultValue = f.defaultFieldValue(this.type); }, d.verifyValue = function (t, i) { function r(e, t) { throw Error("Illegal value for " + o.toString(!0) + " of type " + o.type.name + ": " + e + " (" + t + ")"); } i = i || !1; var n, o = this; if (null === t) return this.required && r(b()(t), "required"), "proto3" === this.syntax && this.type !== e.TYPES.message && r(b()(t), "proto3 field without field presence cannot be null"), null; if (this.repeated && !i) { h()(t) || (t = [t]); var a = []; for (n = 0; n < t.length; n++) { a.push(this.element.verifyValue(t[n])); } return a; } return this.map && !i ? t instanceof e.Map ? t : (t instanceof Object || r(b()(t), "expected ProtoBuf.Map or raw object for map field"), new e.Map(this, t)) : (!this.repeated && h()(t) && r(b()(t), "no array expected"), this.element.verifyValue(t)); }, d.hasWirePresence = function (t, i) { if ("proto3" !== this.syntax) return null !== t; if (this.oneof && i[this.oneof.name] === this.name) return !0; switch (this.type) { case e.TYPES.int32: case e.TYPES.sint32: case e.TYPES.sfixed32: case e.TYPES.uint32: case e.TYPES.fixed32: return 0 !== t; case e.TYPES.int64: case e.TYPES.sint64: case e.TYPES.sfixed64: case e.TYPES.uint64: case e.TYPES.fixed64: return 0 !== t.low || 0 !== t.high; case e.TYPES.bool: return t; case e.TYPES["float"]: case e.TYPES["double"]: return 0 !== t; case e.TYPES.string: return 0 < t.length; case e.TYPES.bytes: return 0 < t.remaining(); case e.TYPES["enum"]: return 0 !== t; case e.TYPES.message: return null !== t; default: return !0; } }, d.encode = function (i, r, n) { if (null === this.type || "object" !== b()(this.type)) throw Error("[INTERNAL] Unresolved type in " + this.toString(!0) + ": " + this.type); if (null === i || this.repeated && 0 == i.length) return r; try { var o; if (this.repeated) { if (this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)) { r.writeVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM), r.ensureCapacity(r.offset += 1); var a = r.offset; for (o = 0; o < i.length; o++) { this.element.encodeValue(this.id, i[o], r); } var s = r.offset - a, x = t.calculateVarint32(s); if (1 < x) { var l = r.slice(a, r.offset); a = a + (x - 1); r.offset = a, r.append(l); } r.writeVarint32(s, a - x); } else for (o = 0; o < i.length; o++) { r.writeVarint32(this.id << 3 | this.type.wireType), this.element.encodeValue(this.id, i[o], r); } } else this.map ? i.forEach(function (i, n, o) { o = t.calculateVarint32(8 | this.keyType.wireType) + this.keyElement.calculateLength(1, n) + t.calculateVarint32(16 | this.type.wireType) + this.element.calculateLength(2, i), r.writeVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM), r.writeVarint32(o), r.writeVarint32(8 | this.keyType.wireType), this.keyElement.encodeValue(1, n, r), r.writeVarint32(16 | this.type.wireType), this.element.encodeValue(2, i, r); }, this) : this.hasWirePresence(i, n) && (r.writeVarint32(this.id << 3 | this.type.wireType), this.element.encodeValue(this.id, i, r)); } catch (e) { throw Error("Illegal value for " + this.toString(!0) + ": " + i + " (" + e + ")"); } return r; }, d.calculate = function (i, r) { if (i = this.verifyValue(i), null === this.type || "object" !== b()(this.type)) throw Error("[INTERNAL] Unresolved type in " + this.toString(!0) + ": " + this.type); if (null === i || this.repeated && 0 == i.length) return 0; var n = 0; try { var o, a; if (this.repeated) { if (this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)) { for (n += t.calculateVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM), o = a = 0; o < i.length; o++) { a += this.element.calculateLength(this.id, i[o]); } n += t.calculateVarint32(a), n += a; } else for (o = 0; o < i.length; o++) { n += t.calculateVarint32(this.id << 3 | this.type.wireType), n += this.element.calculateLength(this.id, i[o]); } } else this.map ? i.forEach(function (i, r, o) { i = t.calculateVarint32(8 | this.keyType.wireType) + this.keyElement.calculateLength(1, r) + t.calculateVarint32(16 | this.type.wireType) + this.element.calculateLength(2, i), n += t.calculateVarint32(this.id << 3 | e.WIRE_TYPES.LDELIM), n += t.calculateVarint32(i), n += i; }, this) : this.hasWirePresence(i, r) && (n += t.calculateVarint32(this.id << 3 | this.type.wireType), n += this.element.calculateLength(this.id, i)); } catch (e) { throw Error("Illegal value for " + this.toString(!0) + ": " + i + " (" + e + ")"); } return n; }, d.decode = function (t, i, r) { if (!(!this.map && t == this.type.wireType || !r && this.repeated && this.options.packed && t == e.WIRE_TYPES.LDELIM || this.map && t == e.WIRE_TYPES.LDELIM)) throw Error("Illegal wire type for field " + this.toString(!0) + ": " + t + " (" + this.type.wireType + " expected)"); if (t == e.WIRE_TYPES.LDELIM && this.repeated && this.options.packed && 0 <= e.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType) && !r) { for (t = i.readVarint32(), t = i.offset + t, r = []; i.offset < t;) { r.push(this.decode(this.type.wireType, i, !0)); } return r; } if (this.map) { var n = f.defaultFieldValue(this.keyType); if (r = f.defaultFieldValue(this.type), t = i.readVarint32(), i.remaining() < t) throw Error("Illegal number of bytes for " + this.toString(!0) + ": " + t + " required but got only " + i.remaining()); var o = i.clone(); for (o.limit = o.offset + t, i.offset += t; 0 < o.remaining();) { if (t = 7 & (i = o.readVarint32()), 1 === (i >>>= 3)) n = this.keyElement.decode(o, t, i);else { if (2 !== i) throw Error("Unexpected tag in map field key/value submessage"); r = this.element.decode(o, t, i); } } return [n, r]; } return this.element.decode(i, t, this.id); }, o.Message.Field = m, (d = function d(e, t, i, r, n, o, a) { m.call(this, e, t, i, null, r, n, o, a); }).prototype = c()(m.prototype), o.Message.ExtensionField = d, o.Message.OneOf = function (e, t, i) { s.call(this, e, t, i), this.fields = []; }; var v = function v(e, t, i, r, n) { u.call(this, e, t, i, r, n), this.className = "Enum", this.object = null; }; v.getName = function (e, t) { for (var i, r = a()(e), n = 0; n < r.length; ++n) { if (e[i = r[n]] === t) return i; } return null; }, (v.prototype = c()(u.prototype)).build = function (t) { if (this.object && !t) return this.object; t = new e.Builder.Enum(); for (var i = this.getChildren(v.Value), r = 0, n = i.length; r < n; ++r) { t[i[r].name] = i[r].id; } return x.a && x()(t, "$options", { value: this.buildOpt(), enumerable: !1 }), this.object = t; }, o.Enum = v, (d = function d(e, t, i, r) { s.call(this, e, t, i), this.className = "Enum.Value", this.id = r; }).prototype = c()(s.prototype), o.Enum.Value = d; var C = function C(e, t, i, r) { s.call(this, e, t, i), this.field = r; }; C.prototype = c()(s.prototype), o.Extension = C; var y = function y(e, t, i, r) { u.call(this, e, t, i, r), this.className = "Service", this.clazz = null; }; (y.prototype = c()(u.prototype)).build = function (i) { return this.clazz && !i ? this.clazz : this.clazz = function (e, i) { for (var r = function r(t) { e.Builder.Service.call(this), this.rpcImpl = t || function (e, t, i) { setTimeout(i.bind(this, Error("Not implemented, see: https://github.com/dcodeIO/ProtoBuf.js/wiki/Services")), 0); }; }, n = r.prototype = c()(e.Builder.Service.prototype), o = i.getChildren(e.Reflect.Service.RPCMethod), a = 0; a < o.length; a++) { !function (e) { n[e.name] = function (r, n) { try { try { r = e.resolvedRequestType.clazz.decode(t.wrap(r)); } catch (e) { if (!(e instanceof TypeError)) throw e; } if (null === r || "object" !== b()(r)) throw Error("Illegal arguments"); r instanceof e.resolvedRequestType.clazz || (r = new e.resolvedRequestType.clazz(r)), this.rpcImpl(e.fqn(), r, function (t, r) { if (t) n(t);else { null === r && (r = ""); try { r = e.resolvedResponseType.clazz.decode(r); } catch (e) {} r && r instanceof e.resolvedResponseType.clazz ? n(null, r) : n(Error("Illegal response type received in service method " + i.name + "#" + e.name)); } }); } catch (e) { setTimeout(n.bind(this, e), 0); } }, r[e.name] = function (t, i, n) { new r(t)[e.name](i, n); }, x.a && (x()(r[e.name], "$options", { value: e.buildOpt() }), x()(n[e.name], "$options", { value: r[e.name].$options })); }(o[a]); } return x.a && (x()(r, "$options", { value: i.buildOpt() }), x()(n, "$options", { value: r.$options }), x()(r, "$type", { value: i }), x()(n, "$type", { value: i })), r; }(e, this); }, o.Service = y; var _ = function _(e, t, i, r) { s.call(this, e, t, i), this.className = "Service.Method", this.options = r || {}; }; return (_.prototype = c()(s.prototype)).buildOpt = l.buildOpt, o.Service.Method = _, (l = function l(e, t, i, r, n, o, a, s) { _.call(this, e, t, i, s), this.className = "Service.RPCMethod", this.requestName = r, this.responseName = n, this.requestStream = o, this.responseStream = a, this.resolvedResponseType = this.resolvedRequestType = null; }).prototype = c()(_.prototype), o.Service.RPCMethod = l, o; }(s), s.Builder = function (e, t, r) { var o = function o(e) { this.ptr = this.ns = new r.Namespace(this, null, ""), this.resolved = !1, this.result = null, this.files = {}, this.importRoot = null, this.options = e || {}; }, s = o.prototype; return o.isMessage = function (e) { return "string" == typeof e.name && void 0 === e.values && void 0 === e.rpc; }, o.isMessageField = function (e) { return "string" == typeof e.rule && "string" == typeof e.name && "string" == typeof e.type && void 0 !== e.id; }, o.isEnum = function (e) { return !("string" != typeof e.name || void 0 === e.values || !h()(e.values) || 0 === e.values.length); }, o.isService = function (e) { return !("string" != typeof e.name || "object" !== b()(e.rpc) || !e.rpc); }, o.isExtend = function (e) { return "string" == typeof e.ref; }, s.reset = function () { return this.ptr = this.ns, this; }, s.define = function (e) { if ("string" != typeof e || !t.TYPEREF.test(e)) throw Error("illegal namespace: " + e); return e.split(".").forEach(function (e) { var t = this.ptr.getChild(e); null === t && this.ptr.addChild(t = new r.Namespace(this, this.ptr, e)), this.ptr = t; }, this), this; }, s.create = function (t) { if (!t) return this; if (h()(t)) { if (0 === t.length) return this; t = t.slice(); } else t = [t]; for (var i = [t]; 0 < i.length;) { if (t = i.pop(), !h()(t)) throw Error("not a valid namespace: " + n()(t)); for (; 0 < t.length;) { var s = t.shift(); if (o.isMessage(s)) { var x = new r.Message(this, this.ptr, s.name, s.options, s.isGroup, s.syntax), l = {}; s.oneofs && a()(s.oneofs).forEach(function (e) { x.addChild(l[e] = new r.Message.OneOf(this, x, e)); }, this), s.fields && s.fields.forEach(function (e) { if (null !== x.getChild(0 | e.id)) throw Error("duplicate or invalid field id in " + x.name + ": " + e.id); if (e.options && "object" !== b()(e.options)) throw Error("illegal field options in " + x.name + "#" + e.name); var t = null; if ("string" == typeof e.oneof && !(t = l[e.oneof])) throw Error("illegal oneof in " + x.name + "#" + e.name + ": " + e.oneof); e = new r.Message.Field(this, x, e.rule, e.keytype, e.type, e.name, e.id, e.options, t, s.syntax), t && t.fields.push(e), x.addChild(e); }, this); var c = []; if (s.enums && s.enums.forEach(function (e) { c.push(e); }), s.messages && s.messages.forEach(function (e) { c.push(e); }), s.services && s.services.forEach(function (e) { c.push(e); }), s.extensions && (x.extensions = "number" == typeof s.extensions[0] ? [s.extensions] : s.extensions), this.ptr.addChild(x), 0 < c.length) { i.push(t), t = c, c = null, this.ptr = x, x = null; continue; } c = null; } else if (o.isEnum(s)) x = new r.Enum(this, this.ptr, s.name, s.options, s.syntax), s.values.forEach(function (e) { x.addChild(new r.Enum.Value(this, x, e.name, e.id)); }, this), this.ptr.addChild(x);else if (o.isService(s)) x = new r.Service(this, this.ptr, s.name, s.options), a()(s.rpc).forEach(function (e) { var t = s.rpc[e]; x.addChild(new r.Service.RPCMethod(this, x, e, t.request, t.response, !!t.request_stream, !!t.response_stream, t.options)); }, this), this.ptr.addChild(x);else { if (!o.isExtend(s)) throw Error("not a valid definition: " + n()(s)); if (x = this.ptr.resolve(s.ref, !0)) s.fields.forEach(function (t) { if (null !== x.getChild(0 | t.id)) throw Error("duplicate extended field id in " + x.name + ": " + t.id); if (x.extensions) { var i = !1; if (x.extensions.forEach(function (e) { t.id >= e[0] && t.id <= e[1] && (i = !0); }), !i) throw Error("illegal extended field id in " + x.name + ": " + t.id + " (not within valid ranges)"); } var n = t.name; this.options.convertFieldsToCamelCase && (n = e.Util.toCamelCase(n)); n = new r.Message.ExtensionField(this, x, t.rule, t.type, this.ptr.fqn() + "." + n, t.id, t.options); var o = new r.Extension(this, this.ptr, t.name, n); n.extension = o, this.ptr.addChild(o), x.addChild(n); }, this);else if (!/\.?google\.protobuf\./.test(s.ref)) throw Error("extended message " + s.ref + " is not defined"); } x = s = null; } t = null, this.ptr = this.ptr.parent; } return this.resolved = !1, this.result = null, this; }, s["import"] = function (t, r) { var n = "/"; if ("string" == typeof r) { if (e.Util.IS_NODE && (r = i(122).resolve(r)), !0 === this.files[r]) return this.reset(); this.files[r] = !0; } else if ("object" === b()(r)) { var o = r.root; if (e.Util.IS_NODE && (o = i(122).resolve(o)), (0 <= o.indexOf("\\") || 0 <= r.file.indexOf("\\")) && (n = "\\"), o = o + n + r.file, !0 === this.files[o]) return this.reset(); this.files[o] = !0; } if (t.imports && 0 < t.imports.length) { var s = !1; "object" === b()(r) ? (this.importRoot = r.root, s = !0, o = this.importRoot, r = r.file, (0 <= o.indexOf("\\") || 0 <= r.indexOf("\\")) && (n = "\\")) : "string" == typeof r ? this.importRoot ? o = this.importRoot : 0 <= r.indexOf("/") ? "" === (o = r.replace(/\/[^\/]*$/, "")) && (o = "/") : 0 <= r.indexOf("\\") ? (o = r.replace(/\\[^\\]*$/, ""), n = "\\") : o = "." : o = null; for (var x = 0; x < t.imports.length; x++) { if ("string" == typeof t.imports[x]) { if (!o) throw Error("cannot determine import root"); var l = t.imports[x]; if ("google/protobuf/descriptor.proto" !== l && (l = o + n + l, !0 !== this.files[l])) { /\.proto$/i.test(l) && !e.DotProto && (l = l.replace(/\.proto$/, ".json")); var c = e.Util.fetch(l); if (null === c) throw Error("failed to import '" + l + "' in '" + r + "': file not found"); /\.json$/i.test(l) ? this["import"](JSON.parse(c + ""), l) : this["import"](e.DotProto.Parser.parse(c), l); } } else r ? /\.(\w+)$/.test(r) ? this["import"](t.imports[x], r.replace(/^(.+)\.(\w+)$/, function (e, t, i) { return t + "_import" + x + "." + i; })) : this["import"](t.imports[x], r + "_import" + x) : this["import"](t.imports[x]); } s && (this.importRoot = null); } t["package"] && this.define(t["package"]), t.syntax && function e(t) { t.messages && t.messages.forEach(function (i) { i.syntax = t.syntax, e(i); }), t.enums && t.enums.forEach(function (e) { e.syntax = t.syntax; }); }(t); var u = this.ptr; return t.options && a()(t.options).forEach(function (e) { u.options[e] = t.options[e]; }), t.messages && (this.create(t.messages), this.ptr = u), t.enums && (this.create(t.enums), this.ptr = u), t.services && (this.create(t.services), this.ptr = u), t["extends"] && this.create(t["extends"]), this.reset(); }, s.resolveAll = function () { var i; if (null == this.ptr || "object" === b()(this.ptr.type)) return this; if (this.ptr instanceof r.Namespace) this.ptr.children.forEach(function (e) { this.ptr = e, this.resolveAll(); }, this);else if (this.ptr instanceof r.Message.Field) { if (t.TYPE.test(this.ptr.type)) this.ptr.type = e.TYPES[this.ptr.type];else { if (!t.TYPEREF.test(this.ptr.type)) throw Error("illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type); if (!(i = (this.ptr instanceof r.Message.ExtensionField ? this.ptr.extension.parent : this.ptr.parent).resolve(this.ptr.type, !0))) throw Error("unresolvable type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type); if (this.ptr.resolvedType = i, i instanceof r.Enum) { if (this.ptr.type = e.TYPES["enum"], "proto3" === this.ptr.syntax && "proto3" !== i.syntax) throw Error("proto3 message cannot reference proto2 enum"); } else { if (!(i instanceof r.Message)) throw Error("illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.type); this.ptr.type = i.isGroup ? e.TYPES.group : e.TYPES.message; } } if (this.ptr.map) { if (!t.TYPE.test(this.ptr.keyType)) throw Error("illegal key type for map field in " + this.ptr.toString(!0) + ": " + this.ptr.keyType); this.ptr.keyType = e.TYPES[this.ptr.keyType]; } } else if (this.ptr instanceof e.Reflect.Service.Method) { if (!(this.ptr instanceof e.Reflect.Service.RPCMethod)) throw Error("illegal service type in " + this.ptr.toString(!0)); if (!((i = this.ptr.parent.resolve(this.ptr.requestName, !0)) && i instanceof e.Reflect.Message)) throw Error("Illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.requestName); if (this.ptr.resolvedRequestType = i, !((i = this.ptr.parent.resolve(this.ptr.responseName, !0)) && i instanceof e.Reflect.Message)) throw Error("Illegal type reference in " + this.ptr.toString(!0) + ": " + this.ptr.responseName); this.ptr.resolvedResponseType = i; } else if (!(this.ptr instanceof e.Reflect.Message.OneOf || this.ptr instanceof e.Reflect.Extension || this.ptr instanceof e.Reflect.Enum.Value)) throw Error("illegal object in namespace: " + b()(this.ptr) + ": " + this.ptr); return this.reset(); }, s.build = function (e) { if (this.reset(), this.resolved || (this.resolveAll(), this.resolved = !0, this.result = null), null === this.result && (this.result = this.ns.build()), !e) return this.result; e = "string" == typeof e ? e.split(".") : e; for (var t = this.result, i = 0; i < e.length; i++) { if (!t[e[i]]) { t = null; break; } t = t[e[i]]; } return t; }, s.lookup = function (e, t) { return e ? this.ns.resolve(e, t) : this.ns; }, s.toString = function () { return "Builder"; }, o.Message = function () {}, o.Enum = function () {}, o.Service = function () {}, o; }(s, s.Lang, s.Reflect), s.Map = function (e, t) { function i(e) { var t = 0; return { next: function next() { return t < e.length ? { done: !1, value: e[t++] } : { done: !0 }; } }; } var r = function r(e, i) { if (!e.map) throw Error("field is not a map"); if (this.field = e, this.keyElem = new t.Element(e.keyType, null, !0, e.syntax), this.valueElem = new t.Element(e.type, e.resolvedType, !1, e.syntax), this.map = {}, x()(this, "size", { get: function get() { return a()(this.map).length; } }), i) for (var r = a()(i), n = 0; n < r.length; n++) { var o = this.keyElem.valueFromString(r[n]), s = this.valueElem.verifyValue(i[r[n]]); this.map[this.keyElem.valueToString(o)] = { key: o, value: s }; } }, n = r.prototype; return n.clear = function () { this.map = {}; }, n["delete"] = function (e) { var t = ((e = this.keyElem.valueToString(this.keyElem.verifyValue(e))) in this.map); return delete this.map[e], t; }, n.entries = function () { for (var e, t = [], r = a()(this.map), n = 0; n < r.length; n++) { t.push([(e = this.map[r[n]]).key, e.value]); } return i(t); }, n.keys = function () { for (var e = [], t = a()(this.map), r = 0; r < t.length; r++) { e.push(this.map[t[r]].key); } return i(e); }, n.values = function () { for (var e = [], t = a()(this.map), r = 0; r < t.length; r++) { e.push(this.map[t[r]].value); } return i(e); }, n.forEach = function (e, t) { for (var i, r = a()(this.map), n = 0; n < r.length; n++) { e.call(t, (i = this.map[r[n]]).value, i.key, this); } }, n.set = function (e, t) { var i = this.keyElem.verifyValue(e), r = this.valueElem.verifyValue(t); return this.map[this.keyElem.valueToString(i)] = { key: i, value: r }, this; }, n.get = function (e) { return (e = this.keyElem.valueToString(this.keyElem.verifyValue(e))) in this.map ? this.map[e].value : void 0; }, n.has = function (e) { return this.keyElem.valueToString(this.keyElem.verifyValue(e)) in this.map; }, r; }(0, s.Reflect), s.loadProto = function (e, t, i) { return ("string" == typeof t || t && "string" == typeof t.file && "string" == typeof t.root) && (i = t, t = void 0), s.loadJson(s.DotProto.Parser.parse(e), t, i); }, s.protoFromString = s.loadProto, s.loadProtoFile = function (e, t, i) { if (t && "object" === b()(t) ? (i = t, t = null) : t && "function" == typeof t || (t = null), t) return s.Util.fetch("string" == typeof e ? e : e.root + "/" + e.file, function (r) { if (null === r) t(Error("Failed to fetch file"));else try { t(null, s.loadProto(r, i, e)); } catch (e) { t(e); } }); var r = s.Util.fetch("object" === b()(e) ? e.root + "/" + e.file : e); return null === r ? null : s.loadProto(r, i, e); }, s.protoFromFile = s.loadProtoFile, s.newBuilder = function (e) { return void 0 === (e = e || {}).convertFieldsToCamelCase && (e.convertFieldsToCamelCase = s.convertFieldsToCamelCase), void 0 === e.populateAccessors && (e.populateAccessors = s.populateAccessors), new s.Builder(e); }, s.loadJson = function (e, t, i) { return ("string" == typeof t || t && "string" == typeof t.file && "string" == typeof t.root) && (i = t, t = null), t && "object" === b()(t) || (t = s.newBuilder()), "string" == typeof e && (e = JSON.parse(e)), t["import"](e, i), t.resolveAll(), t; }, s.loadJsonFile = function (e, t, i) { if (t && "object" === b()(t) ? (i = t, t = null) : t && "function" == typeof t || (t = null), t) return s.Util.fetch("string" == typeof e ? e : e.root + "/" + e.file, function (r) { if (null === r) t(Error("Failed to fetch file"));else try { t(null, s.loadJson(JSON.parse(r), i, e)); } catch (e) { t(e); } }); var r = s.Util.fetch("object" === b()(e) ? e.root + "/" + e.file : e); return null === r ? null : s.loadJson(JSON.parse(r), i, e); }, s; }); }).call(this, i(95), i(96)(e)); }, function (e, t, i) { var r = i(5), n = r.JSON || (r.JSON = { stringify: JSON.stringify }); e.exports = function (e) { return n.stringify.apply(n, arguments); }; }, function (e, t) { e.exports = function (e, t) { return { value: t, done: !!e }; }; }, function (e, t, i) { "use strict"; var r = i(35), n = i(23), o = i(22), a = i(20), s = i(36), x = i(151), l = i(55), c = i(104), u = i(4)("iterator"), h = !([].keys && "next" in [].keys()), f = function f() { return this; }; e.exports = function (e, t, i, d, g, p, m) { x(i, t, d); var b, v, C, y = function y(e) { if (!h && e in w) return w[e]; switch (e) { case "keys": case "values": return function () { return new i(this, e); }; } return function () { return new i(this, e); }; }, _ = t + " Iterator", A = "values" == g, I = !1, w = e.prototype, G = w[u] || w["@@iterator"] || g && w[g], E = G || y(g), S = g ? A ? y("entries") : E : void 0, T = "Array" == t && w.entries || G; if (T && (C = c(T.call(new e()))) !== Object.prototype && C.next && (l(C, _, !0), r || "function" == typeof C[u] || a(C, u, f)), A && G && "values" !== G.name && (I = !0, E = function E() { return G.call(this); }), r && !m || !h && !I && w[u] || a(w, u, E), s[t] = E, s[_] = f, g) if (b = { values: A ? E : y("values"), keys: p ? E : y("keys"), entries: S }, m) for (v in b) { v in w || o(w, v, b[v]); } else n(n.P + n.F * (h || I), t, b); return b; }; }, function (e, t, i) { e.exports = i(50)("native-function-to-string", Function.toString); }, function (e, t, i) { "use strict"; var r = i(52), n = i(45), o = i(55), a = {}; i(20)(a, i(4)("iterator"), function () { return this; }), e.exports = function (e, t, i) { e.prototype = r(a, { next: n(1, i) }), o(e, t + " Iterator"); }; }, function (e, t, i) { var r = i(13), n = i(17), o = i(53); e.exports = i(11) ? Object.defineProperties : function (e, t) { n(e); for (var i, a = o(t), s = a.length, x = 0; s > x;) { r.f(e, i = a[x++], t[i]); } return e; }; }, function (e, t, i) { var r = i(10).document; e.exports = r && r.documentElement; }, function (e, t, i) { i(155), e.exports = i(5).Object.keys; }, function (e, t, i) { var r = i(72), n = i(57); i(159)("keys", function () { return function (e) { return n(r(e)); }; }); }, function (e, t, i) { var r = i(47); e.exports = Object("z").propertyIsEnumerable(0) ? Object : function (e) { return "String" == r(e) ? e.split("") : Object(e); }; }, function (e, t, i) { var r = i(39), n = i(106), o = i(158); e.exports = function (e) { return function (t, i, a) { var s, x = r(t), l = n(x.length), c = o(a, l); if (e && i != i) { for (; l > c;) { if ((s = x[c++]) != s) return !0; } } else for (; l > c; c++) { if ((e || c in x) && x[c] === i) return e || c || 0; } return !e && -1; }; }; }, function (e, t, i) { var r = i(73), n = Math.max, o = Math.min; e.exports = function (e, t) { return (e = r(e)) < 0 ? n(e + t, 0) : o(e, t); }; }, function (e, t, i) { var r = i(12), n = i(5), o = i(40); e.exports = function (e, t) { var i = (n.Object || {})[e] || Object[e], a = {}; a[e] = t(i), r(r.S + r.F * o(function () { i(1); }), "Object", a); }; }, function (e, t, i) { i(161); var r = i(5).Object; e.exports = function (e, t, i) { return r.defineProperty(e, t, i); }; }, function (e, t, i) { var r = i(12); r(r.S + r.F * !i(25), "Object", { defineProperty: i(26).f }); }, function (e, t, i) { var r = i(29), n = i(38); e.exports = function (e) { return function (t, i) { var o, a, s = String(n(t)), x = r(i), l = s.length; return x < 0 || x >= l ? e ? "" : void 0 : (o = s.charCodeAt(x)) < 55296 || o > 56319 || x + 1 === l || (a = s.charCodeAt(x + 1)) < 56320 || a > 57343 ? e ? s.charAt(x) : o : e ? s.slice(x, x + 2) : a - 56320 + (o - 55296 << 10) + 65536; }; }; }, function (e, t, i) { "use strict"; var r = i(82); i(23)({ target: "RegExp", proto: !0, forced: r !== /./.exec }, { exec: r }); }, function (e, t, i) { i(165); var r = i(5).Object; e.exports = function (e, t) { return r.create(e, t); }; }, function (e, t, i) { var r = i(12); r(r.S, "Object", { create: i(83) }); }, function (e, t, i) { i(11) && "g" != /./g.flags && i(13).f(RegExp.prototype, "flags", { configurable: !0, get: i(64) }); }, function (e, t, i) { i(168), e.exports = i(5).Array.isArray; }, function (e, t, i) { var r = i(12); r(r.S, "Array", { isArray: i(111) }); }, function (e, t, i) { i(170), e.exports = i(5).parseFloat; }, function (e, t, i) { var r = i(12), n = i(171); r(r.G + r.F * (parseFloat != n), { parseFloat: n }); }, function (e, t, i) { var r = i(7).parseFloat, n = i(112).trim; e.exports = 1 / r(i(87) + "-0") != -1 / 0 ? function (e) { var t = n(String(e), 3), i = r(t); return 0 === i && "-" == t.charAt(0) ? -0 : i; } : r; }, function (e, t, i) { i(173), e.exports = i(5).parseInt; }, function (e, t, i) { var r = i(12), n = i(174); r(r.G + r.F * (parseInt != n), { parseInt: n }); }, function (e, t, i) { var r = i(7).parseInt, n = i(112).trim, o = i(87), a = /^[-+]?0[xX]/; e.exports = 8 !== r(o + "08") || 22 !== r(o + "0x16") ? function (e, t) { var i = n(String(e), 3); return r(i, t >>> 0 || (a.test(i) ? 16 : 10)); } : r; }, function (e, t, i) { e.exports = i(176); }, function (e, t, i) { i(113), i(116), e.exports = i(89).f("iterator"); }, function (e, t, i) { var r = i(73), n = i(56); e.exports = function (e) { return function (t, i) { var o, a, s = String(n(t)), x = r(i), l = s.length; return x < 0 || x >= l ? e ? "" : void 0 : (o = s.charCodeAt(x)) < 55296 || o > 56319 || x + 1 === l || (a = s.charCodeAt(x + 1)) < 56320 || a > 57343 ? e ? s.charAt(x) : o : e ? s.slice(x, x + 2) : a - 56320 + (o - 55296 << 10) + 65536; }; }; }, function (e, t, i) { "use strict"; var r = i(83), n = i(61), o = i(66), a = {}; i(32)(a, i(14)("iterator"), function () { return this; }), e.exports = function (e, t, i) { e.prototype = r(a, { next: n(1, i) }), o(e, t + " Iterator"); }; }, function (e, t, i) { var r = i(31), n = i(72), o = i(74)("IE_PROTO"), a = Object.prototype; e.exports = Object.getPrototypeOf || function (e) { return e = n(e), r(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? a : null; }; }, function (e, t, i) { "use strict"; var r = i(181), n = i(182), o = i(49), a = i(39); e.exports = i(114)(Array, "Array", function (e, t) { this._t = a(e), this._i = 0, this._k = t; }, function () { var e = this._t, t = this._k, i = this._i++; return !e || i >= e.length ? (this._t = void 0, n(1)) : n(0, "keys" == t ? i : "values" == t ? e[i] : [i, e[i]]); }, "values"), o.Arguments = o.Array, r("keys"), r("values"), r("entries"); }, function (e, t) { e.exports = function () {}; }, function (e, t) { e.exports = function (e, t) { return { value: t, done: !!e }; }; }, function (e, t, i) { i(184), i(119), i(189), i(190), e.exports = i(5).Symbol; }, function (e, t, i) { "use strict"; var r = i(7), n = i(31), o = i(25), a = i(12), s = i(115), x = i(185).KEY, l = i(40), c = i(75), u = i(66), h = i(58), f = i(14), d = i(89), g = i(90), p = i(186), m = i(111), b = i(27), v = i(33), C = i(72), y = i(39), _ = i(78), A = i(61), I = i(83), w = i(187), G = i(188), E = i(117), S = i(26), T = i(57), P = G.f, M = S.f, N = w.f, _L = r.Symbol, R = r.JSON, O = R && R.stringify, F = f("_hidden"), D = f("toPrimitive"), U = {}.propertyIsEnumerable, k = c("symbol-registry"), B = c("symbols"), W = c("op-symbols"), j = Object.prototype, V = "function" == typeof _L && !!E.f, z = r.QObject, H = !z || !z.prototype || !z.prototype.findChild, q = o && l(function () { return 7 != I(M({}, "a", { get: function get() { return M(this, "a", { value: 7 }).a; } })).a; }) ? function (e, t, i) { var r = P(j, t); r && delete j[t], M(e, t, i), r && e !== j && M(j, t, r); } : M, X = function X(e) { var t = B[e] = I(_L.prototype); return t._k = e, t; }, Y = V && "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(_L.iterator) ? function (e) { return "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e); } : function (e) { return e instanceof _L; }, K = function K(e, t, i) { return e === j && K(W, t, i), b(e), t = _(t, !0), b(i), n(B, t) ? (i.enumerable ? (n(e, F) && e[F][t] && (e[F][t] = !1), i = I(i, { enumerable: A(0, !1) })) : (n(e, F) || M(e, F, A(1, {})), e[F][t] = !0), q(e, t, i)) : M(e, t, i); }, Q = function Q(e, t) { b(e); for (var i, r = p(t = y(t)), n = 0, o = r.length; o > n;) { K(e, i = r[n++], t[i]); } return e; }, Z = function Z(e) { var t = U.call(this, e = _(e, !0)); return !(this === j && n(B, e) && !n(W, e)) && (!(t || !n(this, e) || !n(B, e) || n(this, F) && this[F][e]) || t); }, J = function J(e, t) { if (e = y(e), t = _(t, !0), e !== j || !n(B, t) || n(W, t)) { var i = P(e, t); return !i || !n(B, t) || n(e, F) && e[F][t] || (i.enumerable = !0), i; } }, $ = function $(e) { for (var t, i = N(y(e)), r = [], o = 0; i.length > o;) { n(B, t = i[o++]) || t == F || t == x || r.push(t); } return r; }, ee = function ee(e) { for (var t, i = e === j, r = N(i ? W : y(e)), o = [], a = 0; r.length > a;) { !n(B, t = r[a++]) || i && !n(j, t) || o.push(B[t]); } return o; }; V || (s((_L = function L() { if (this instanceof _L) throw TypeError("Symbol is not a constructor!"); var e = h(arguments.length > 0 ? arguments[0] : void 0), t = function t(i) { this === j && t.call(W, i), n(this, F) && n(this[F], e) && (this[F][e] = !1), q(this, e, A(1, i)); }; return o && H && q(j, e, { configurable: !0, set: t }), X(e); }).prototype, "toString", function () { return this._k; }), G.f = J, S.f = K, i(118).f = w.f = $, i(91).f = Z, E.f = ee, o && !i(48) && s(j, "propertyIsEnumerable", Z, !0), d.f = function (e) { return X(f(e)); }), a(a.G + a.W + a.F * !V, { Symbol: _L }); for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ie = 0; te.length > ie;) { f(te[ie++]); } for (var re = T(f.store), ne = 0; re.length > ne;) { g(re[ne++]); } a(a.S + a.F * !V, "Symbol", { "for": function _for(e) { return n(k, e += "") ? k[e] : k[e] = _L(e); }, keyFor: function keyFor(e) { if (!Y(e)) throw TypeError(e + " is not a symbol!"); for (var t in k) { if (k[t] === e) return t; } }, useSetter: function useSetter() { H = !0; }, useSimple: function useSimple() { H = !1; } }), a(a.S + a.F * !V, "Object", { create: function create(e, t) { return void 0 === t ? I(e) : Q(I(e), t); }, defineProperty: K, defineProperties: Q, getOwnPropertyDescriptor: J, getOwnPropertyNames: $, getOwnPropertySymbols: ee }); var oe = l(function () { E.f(1); }); a(a.S + a.F * oe, "Object", { getOwnPropertySymbols: function getOwnPropertySymbols(e) { return E.f(C(e)); } }), R && a(a.S + a.F * (!V || l(function () { var e = _L(); return "[null]" != O([e]) || "{}" != O({ a: e }) || "{}" != O(Object(e)); })), "JSON", { stringify: function stringify(e) { for (var t, i, r = [e], n = 1; arguments.length > n;) { r.push(arguments[n++]); } if (i = t = r[1], (v(t) || void 0 !== e) && !Y(e)) return m(t) || (t = function (_t3) { function t(_x6, _x7) { return _t3.apply(this, arguments); } t.toString = function () { return _t3.toString(); }; return t; }(function (e, t) { if ("function" == typeof i && (t = i.call(this, e, t)), !Y(t)) return t; })), r[1] = t, O.apply(R, r); } }), _L.prototype[D] || i(32)(_L.prototype, D, _L.prototype.valueOf), u(_L, "Symbol"), u(Math, "Math", !0), u(r.JSON, "JSON", !0); }, function (e, t, i) { var r = i(58)("meta"), n = i(33), o = i(31), a = i(26).f, s = 0, x = Object.isExtensible || function () { return !0; }, l = !i(40)(function () { return x(Object.preventExtensions({})); }), c = function c(e) { a(e, r, { value: { i: "O" + ++s, w: {} } }); }, u = e.exports = { KEY: r, NEED: !1, fastKey: function fastKey(e, t) { if (!n(e)) return "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e) ? e : ("string" == typeof e ? "S" : "P") + e; if (!o(e, r)) { if (!x(e)) return "F"; if (!t) return "E"; c(e); } return e[r].i; }, getWeak: function getWeak(e, t) { if (!o(e, r)) { if (!x(e)) return !0; if (!t) return !1; c(e); } return e[r].w; }, onFreeze: function onFreeze(e) { return l && u.NEED && x(e) && !o(e, r) && c(e), e; } }; }, function (e, t, i) { var r = i(57), n = i(117), o = i(91); e.exports = function (e) { var t = r(e), i = n.f; if (i) for (var a, s = i(e), x = o.f, l = 0; s.length > l;) { x.call(e, a = s[l++]) && t.push(a); } return t; }; }, function (e, t, i) { var r = i(39), n = i(118).f, o = {}.toString, a = "object" == (typeof window === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(window)) && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; e.exports.f = function (e) { return a && "[object Window]" == o.call(e) ? function (e) { try { return n(e); } catch (e) { return a.slice(); } }(e) : n(r(e)); }; }, function (e, t, i) { var r = i(91), n = i(61), o = i(39), a = i(78), s = i(31), x = i(107), l = Object.getOwnPropertyDescriptor; t.f = i(25) ? l : function (e, t) { if (e = o(e), t = a(t, !0), x) try { return l(e, t); } catch (e) {} if (s(e, t)) return n(!r.f.call(e, t), e[t]); }; }, function (e, t, i) { i(90)("asyncIterator"); }, function (e, t, i) { i(90)("observable"); }, function (e, t, i) { var r, n, o; /** * @license long.js (c) 2013 Daniel Wirtz * Released under the Apache License, Version 2.0 * see: https://github.com/dcodeIO/long.js for details */ n = [], void 0 === (o = "function" == typeof (r = function r() { "use strict"; function e(e, t, i) { this.low = 0 | e, this.high = 0 | t, this.unsigned = !!i; } function t(e) { return !0 === (e && e.__isLong__); } e.prototype.__isLong__, Object.defineProperty(e.prototype, "__isLong__", { value: !0, enumerable: !1, configurable: !1 }), e.isLong = t; var i = {}, r = {}; function n(e, t) { var n, o, s; return t ? (s = 0 <= (e >>>= 0) && e < 256) && (o = r[e]) ? o : (n = a(e, (0 | e) < 0 ? -1 : 0, !0), s && (r[e] = n), n) : (s = -128 <= (e |= 0) && e < 128) && (o = i[e]) ? o : (n = a(e, e < 0 ? -1 : 0, !1), s && (i[e] = n), n); } function o(e, t) { if (isNaN(e) || !isFinite(e)) return t ? g : d; if (t) { if (e < 0) return g; if (e >= u) return C; } else { if (e <= -h) return y; if (e + 1 >= h) return v; } return e < 0 ? o(-e, t).neg() : a(e % c | 0, e / c | 0, t); } function a(t, i, r) { return new e(t, i, r); } e.fromInt = n, e.fromNumber = o, e.fromBits = a; var s = Math.pow; function x(e, t, i) { if (0 === e.length) throw Error("empty string"); if ("NaN" === e || "Infinity" === e || "+Infinity" === e || "-Infinity" === e) return d; if ("number" == typeof t ? (i = t, t = !1) : t = !!t, (i = i || 10) < 2 || 36 < i) throw RangeError("radix"); var r; if ((r = e.indexOf("-")) > 0) throw Error("interior hyphen"); if (0 === r) return x(e.substring(1), t, i).neg(); for (var n = o(s(i, 8)), a = d, l = 0; l < e.length; l += 8) { var c = Math.min(8, e.length - l), u = parseInt(e.substring(l, l + c), i); if (c < 8) { var h = o(s(i, c)); a = a.mul(h).add(o(u)); } else a = (a = a.mul(n)).add(o(u)); } return a.unsigned = t, a; } function l(t) { return t instanceof e ? t : "number" == typeof t ? o(t) : "string" == typeof t ? x(t) : a(t.low, t.high, t.unsigned); } e.fromString = x, e.fromValue = l; var c = 4294967296, u = c * c, h = u / 2, f = n(1 << 24), d = n(0); e.ZERO = d; var g = n(0, !0); e.UZERO = g; var p = n(1); e.ONE = p; var m = n(1, !0); e.UONE = m; var b = n(-1); e.NEG_ONE = b; var v = a(-1, 2147483647, !1); e.MAX_VALUE = v; var C = a(-1, -1, !0); e.MAX_UNSIGNED_VALUE = C; var y = a(0, -2147483648, !1); e.MIN_VALUE = y; var _ = e.prototype; return _.toInt = function () { return this.unsigned ? this.low >>> 0 : this.low; }, _.toNumber = function () { return this.unsigned ? (this.high >>> 0) * c + (this.low >>> 0) : this.high * c + (this.low >>> 0); }, _.toString = function (e) { if ((e = e || 10) < 2 || 36 < e) throw RangeError("radix"); if (this.isZero()) return "0"; if (this.isNegative()) { if (this.eq(y)) { var t = o(e), i = this.div(t), r = i.mul(t).sub(this); return i.toString(e) + r.toInt().toString(e); } return "-" + this.neg().toString(e); } for (var n = o(s(e, 6), this.unsigned), a = this, x = "";;) { var l = a.div(n), c = (a.sub(l.mul(n)).toInt() >>> 0).toString(e); if ((a = l).isZero()) return c + x; for (; c.length < 6;) { c = "0" + c; } x = "" + c + x; } }, _.getHighBits = function () { return this.high; }, _.getHighBitsUnsigned = function () { return this.high >>> 0; }, _.getLowBits = function () { return this.low; }, _.getLowBitsUnsigned = function () { return this.low >>> 0; }, _.getNumBitsAbs = function () { if (this.isNegative()) return this.eq(y) ? 64 : this.neg().getNumBitsAbs(); for (var e = 0 != this.high ? this.high : this.low, t = 31; t > 0 && 0 == (e & 1 << t); t--) { ; } return 0 != this.high ? t + 33 : t + 1; }, _.isZero = function () { return 0 === this.high && 0 === this.low; }, _.isNegative = function () { return !this.unsigned && this.high < 0; }, _.isPositive = function () { return this.unsigned || this.high >= 0; }, _.isOdd = function () { return 1 == (1 & this.low); }, _.isEven = function () { return 0 == (1 & this.low); }, _.equals = function (e) { return t(e) || (e = l(e)), (this.unsigned === e.unsigned || this.high >>> 31 != 1 || e.high >>> 31 != 1) && this.high === e.high && this.low === e.low; }, _.eq = _.equals, _.notEquals = function (e) { return !this.eq(e); }, _.neq = _.notEquals, _.lessThan = function (e) { return this.comp(e) < 0; }, _.lt = _.lessThan, _.lessThanOrEqual = function (e) { return this.comp(e) <= 0; }, _.lte = _.lessThanOrEqual, _.greaterThan = function (e) { return this.comp(e) > 0; }, _.gt = _.greaterThan, _.greaterThanOrEqual = function (e) { return this.comp(e) >= 0; }, _.gte = _.greaterThanOrEqual, _.compare = function (e) { if (t(e) || (e = l(e)), this.eq(e)) return 0; var i = this.isNegative(), r = e.isNegative(); return i && !r ? -1 : !i && r ? 1 : this.unsigned ? e.high >>> 0 > this.high >>> 0 || e.high === this.high && e.low >>> 0 > this.low >>> 0 ? -1 : 1 : this.sub(e).isNegative() ? -1 : 1; }, _.comp = _.compare, _.negate = function () { return !this.unsigned && this.eq(y) ? y : this.not().add(p); }, _.neg = _.negate, _.add = function (e) { t(e) || (e = l(e)); var i = this.high >>> 16, r = 65535 & this.high, n = this.low >>> 16, o = 65535 & this.low, s = e.high >>> 16, x = 65535 & e.high, c = e.low >>> 16, u = 0, h = 0, f = 0, d = 0; return f += (d += o + (65535 & e.low)) >>> 16, h += (f += n + c) >>> 16, u += (h += r + x) >>> 16, u += i + s, a((f &= 65535) << 16 | (d &= 65535), (u &= 65535) << 16 | (h &= 65535), this.unsigned); }, _.subtract = function (e) { return t(e) || (e = l(e)), this.add(e.neg()); }, _.sub = _.subtract, _.multiply = function (e) { if (this.isZero()) return d; if (t(e) || (e = l(e)), e.isZero()) return d; if (this.eq(y)) return e.isOdd() ? y : d; if (e.eq(y)) return this.isOdd() ? y : d; if (this.isNegative()) return e.isNegative() ? this.neg().mul(e.neg()) : this.neg().mul(e).neg(); if (e.isNegative()) return this.mul(e.neg()).neg(); if (this.lt(f) && e.lt(f)) return o(this.toNumber() * e.toNumber(), this.unsigned); var i = this.high >>> 16, r = 65535 & this.high, n = this.low >>> 16, s = 65535 & this.low, x = e.high >>> 16, c = 65535 & e.high, u = e.low >>> 16, h = 65535 & e.low, g = 0, p = 0, m = 0, b = 0; return m += (b += s * h) >>> 16, p += (m += n * h) >>> 16, m &= 65535, p += (m += s * u) >>> 16, g += (p += r * h) >>> 16, p &= 65535, g += (p += n * u) >>> 16, p &= 65535, g += (p += s * c) >>> 16, g += i * h + r * u + n * c + s * x, a((m &= 65535) << 16 | (b &= 65535), (g &= 65535) << 16 | (p &= 65535), this.unsigned); }, _.mul = _.multiply, _.divide = function (e) { if (t(e) || (e = l(e)), e.isZero()) throw Error("division by zero"); if (this.isZero()) return this.unsigned ? g : d; var i, r, n; if (this.unsigned) { if (e.unsigned || (e = e.toUnsigned()), e.gt(this)) return g; if (e.gt(this.shru(1))) return m; n = g; } else { if (this.eq(y)) return e.eq(p) || e.eq(b) ? y : e.eq(y) ? p : (i = this.shr(1).div(e).shl(1)).eq(d) ? e.isNegative() ? p : b : (r = this.sub(e.mul(i)), n = i.add(r.div(e))); if (e.eq(y)) return this.unsigned ? g : d; if (this.isNegative()) return e.isNegative() ? this.neg().div(e.neg()) : this.neg().div(e).neg(); if (e.isNegative()) return this.div(e.neg()).neg(); n = d; } for (r = this; r.gte(e);) { i = Math.max(1, Math.floor(r.toNumber() / e.toNumber())); for (var a = Math.ceil(Math.log(i) / Math.LN2), x = a <= 48 ? 1 : s(2, a - 48), c = o(i), u = c.mul(e); u.isNegative() || u.gt(r);) { u = (c = o(i -= x, this.unsigned)).mul(e); } c.isZero() && (c = p), n = n.add(c), r = r.sub(u); } return n; }, _.div = _.divide, _.modulo = function (e) { return t(e) || (e = l(e)), this.sub(this.div(e).mul(e)); }, _.mod = _.modulo, _.not = function () { return a(~this.low, ~this.high, this.unsigned); }, _.and = function (e) { return t(e) || (e = l(e)), a(this.low & e.low, this.high & e.high, this.unsigned); }, _.or = function (e) { return t(e) || (e = l(e)), a(this.low | e.low, this.high | e.high, this.unsigned); }, _.xor = function (e) { return t(e) || (e = l(e)), a(this.low ^ e.low, this.high ^ e.high, this.unsigned); }, _.shiftLeft = function (e) { return t(e) && (e = e.toInt()), 0 == (e &= 63) ? this : e < 32 ? a(this.low << e, this.high << e | this.low >>> 32 - e, this.unsigned) : a(0, this.low << e - 32, this.unsigned); }, _.shl = _.shiftLeft, _.shiftRight = function (e) { return t(e) && (e = e.toInt()), 0 == (e &= 63) ? this : e < 32 ? a(this.low >>> e | this.high << 32 - e, this.high >> e, this.unsigned) : a(this.high >> e - 32, this.high >= 0 ? 0 : -1, this.unsigned); }, _.shr = _.shiftRight, _.shiftRightUnsigned = function (e) { if (t(e) && (e = e.toInt()), 0 == (e &= 63)) return this; var i = this.high; return e < 32 ? a(this.low >>> e | i << 32 - e, i >>> e, this.unsigned) : a(32 === e ? i : i >>> e - 32, 0, this.unsigned); }, _.shru = _.shiftRightUnsigned, _.toSigned = function () { return this.unsigned ? a(this.low, this.high, !1) : this; }, _.toUnsigned = function () { return this.unsigned ? this : a(this.low, this.high, !0); }, _.toBytes = function (e) { return e ? this.toBytesLE() : this.toBytesBE(); }, _.toBytesLE = function () { var e = this.high, t = this.low; return [255 & t, t >>> 8 & 255, t >>> 16 & 255, t >>> 24 & 255, 255 & e, e >>> 8 & 255, e >>> 16 & 255, e >>> 24 & 255]; }, _.toBytesBE = function () { var e = this.high, t = this.low; return [e >>> 24 & 255, e >>> 16 & 255, e >>> 8 & 255, 255 & e, t >>> 24 & 255, t >>> 16 & 255, t >>> 8 & 255, 255 & t]; }, e; }) ? r.apply(t, n) : r) || (e.exports = o); }, function (e, t) {}, function (e, t, i) { i(194); var r = i(5).Object; e.exports = function (e, t) { return r.defineProperties(e, t); }; }, function (e, t, i) { var r = i(12); r(r.S + r.F * !i(25), "Object", { defineProperties: i(109) }); }, function (e, t, i) { i(34)("Uint8", 1, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }, !0); }, function (e, t, i) { "use strict"; var r = i(10), n = i(11), o = i(35), a = i(123), s = i(20), x = i(124), l = i(18), c = i(125), u = i(29), h = i(19), f = i(126), d = i(41).f, g = i(13).f, p = i(92), m = i(55), _b2 = r.ArrayBuffer, _v = r.DataView, C = r.Math, y = r.RangeError, _ = r.Infinity, A = _b2, I = C.abs, w = C.pow, G = C.floor, E = C.log, S = C.LN2, T = n ? "_b" : "buffer", P = n ? "_l" : "byteLength", M = n ? "_o" : "byteOffset"; function N(e, t, i) { var r, n, o, a = new Array(i), s = 8 * i - t - 1, x = (1 << s) - 1, l = x >> 1, c = 23 === t ? w(2, -24) - w(2, -77) : 0, u = 0, h = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0; for ((e = I(e)) != e || e === _ ? (n = e != e ? 1 : 0, r = x) : (r = G(E(e) / S), e * (o = w(2, -r)) < 1 && (r--, o *= 2), (e += r + l >= 1 ? c / o : c * w(2, 1 - l)) * o >= 2 && (r++, o /= 2), r + l >= x ? (n = 0, r = x) : r + l >= 1 ? (n = (e * o - 1) * w(2, t), r += l) : (n = e * w(2, l - 1) * w(2, t), r = 0)); t >= 8; a[u++] = 255 & n, n /= 256, t -= 8) { ; } for (r = r << t | n, s += t; s > 0; a[u++] = 255 & r, r /= 256, s -= 8) { ; } return a[--u] |= 128 * h, a; } function L(e, t, i) { var r, n = 8 * i - t - 1, o = (1 << n) - 1, a = o >> 1, s = n - 7, x = i - 1, l = e[x--], c = 127 & l; for (l >>= 7; s > 0; c = 256 * c + e[x], x--, s -= 8) { ; } for (r = c & (1 << -s) - 1, c >>= -s, s += t; s > 0; r = 256 * r + e[x], x--, s -= 8) { ; } if (0 === c) c = 1 - a;else { if (c === o) return r ? NaN : l ? -_ : _; r += w(2, t), c -= a; } return (l ? -1 : 1) * r * w(2, c - t); } function R(e) { return e[3] << 24 | e[2] << 16 | e[1] << 8 | e[0]; } function O(e) { return [255 & e]; } function F(e) { return [255 & e, e >> 8 & 255]; } function D(e) { return [255 & e, e >> 8 & 255, e >> 16 & 255, e >> 24 & 255]; } function U(e) { return N(e, 52, 8); } function k(e) { return N(e, 23, 4); } function B(e, t, i) { g(e.prototype, t, { get: function get() { return this[i]; } }); } function W(e, t, i, r) { var n = f(+i); if (n + t > e[P]) throw y("Wrong index!"); var o = e[T]._b, a = n + e[M], s = o.slice(a, a + t); return r ? s : s.reverse(); } function j(e, t, i, r, n, o) { var a = f(+i); if (a + t > e[P]) throw y("Wrong index!"); for (var s = e[T]._b, x = a + e[M], l = r(+n), c = 0; c < t; c++) { s[x + c] = l[o ? c : t - c - 1]; } } if (a.ABV) { if (!l(function () { _b2(1); }) || !l(function () { new _b2(-1); }) || l(function () { return new _b2(), new _b2(1.5), new _b2(NaN), "ArrayBuffer" != _b2.name; })) { for (var V, z = (_b2 = function b(e) { return c(this, _b2), new A(f(e)); }).prototype = A.prototype, H = d(A), q = 0; H.length > q;) { (V = H[q++]) in _b2 || s(_b2, V, A[V]); } o || (z.constructor = _b2); } var X = new _v(new _b2(2)), Y = _v.prototype.setInt8; X.setInt8(0, 2147483648), X.setInt8(1, 2147483649), !X.getInt8(0) && X.getInt8(1) || x(_v.prototype, { setInt8: function setInt8(e, t) { Y.call(this, e, t << 24 >> 24); }, setUint8: function setUint8(e, t) { Y.call(this, e, t << 24 >> 24); } }, !0); } else _b2 = function _b(e) { c(this, _b2, "ArrayBuffer"); var t = f(e); this._b = p.call(new Array(t), 0), this[P] = t; }, _v = function v(e, t, i) { c(this, _v, "DataView"), c(e, _b2, "DataView"); var r = e[P], n = u(t); if (n < 0 || n > r) throw y("Wrong offset!"); if (n + (i = void 0 === i ? r - n : h(i)) > r) throw y("Wrong length!"); this[T] = e, this[M] = n, this[P] = i; }, n && (B(_b2, "byteLength", "_l"), B(_v, "buffer", "_b"), B(_v, "byteLength", "_l"), B(_v, "byteOffset", "_o")), x(_v.prototype, { getInt8: function getInt8(e) { return W(this, 1, e)[0] << 24 >> 24; }, getUint8: function getUint8(e) { return W(this, 1, e)[0]; }, getInt16: function getInt16(e) { var t = W(this, 2, e, arguments[1]); return (t[1] << 8 | t[0]) << 16 >> 16; }, getUint16: function getUint16(e) { var t = W(this, 2, e, arguments[1]); return t[1] << 8 | t[0]; }, getInt32: function getInt32(e) { return R(W(this, 4, e, arguments[1])); }, getUint32: function getUint32(e) { return R(W(this, 4, e, arguments[1])) >>> 0; }, getFloat32: function getFloat32(e) { return L(W(this, 4, e, arguments[1]), 23, 4); }, getFloat64: function getFloat64(e) { return L(W(this, 8, e, arguments[1]), 52, 8); }, setInt8: function setInt8(e, t) { j(this, 1, e, O, t); }, setUint8: function setUint8(e, t) { j(this, 1, e, O, t); }, setInt16: function setInt16(e, t) { j(this, 2, e, F, t, arguments[2]); }, setUint16: function setUint16(e, t) { j(this, 2, e, F, t, arguments[2]); }, setInt32: function setInt32(e, t) { j(this, 4, e, D, t, arguments[2]); }, setUint32: function setUint32(e, t) { j(this, 4, e, D, t, arguments[2]); }, setFloat32: function setFloat32(e, t) { j(this, 4, e, k, t, arguments[2]); }, setFloat64: function setFloat64(e, t) { j(this, 8, e, U, t, arguments[2]); } }); m(_b2, "ArrayBuffer"), m(_v, "DataView"), s(_v.prototype, a.VIEW, !0), t.ArrayBuffer = _b2, t.DataView = _v; }, function (e, t, i) { var r = i(36), n = i(4)("iterator"), o = Array.prototype; e.exports = function (e) { return void 0 !== e && (r.Array === e || o[n] === e); }; }, function (e, t, i) { var r = i(63), n = i(4)("iterator"), o = i(36); e.exports = i(43).getIteratorMethod = function (e) { if (null != e) return e[n] || e["@@iterator"] || o[r(e)]; }; }, function (e, t, i) { var r = i(51), n = i(100), o = i(30), a = i(19), s = i(200); e.exports = function (e, t) { var i = 1 == e, x = 2 == e, l = 3 == e, c = 4 == e, u = 6 == e, h = 5 == e || u, f = t || s; return function (t, s, d) { for (var g, p, m = o(t), b = n(m), v = r(s, d, 3), C = a(b.length), y = 0, _ = i ? f(t, C) : x ? f(t, 0) : void 0; C > y; y++) { if ((h || y in b) && (p = v(g = b[y], y, m), e)) if (i) _[y] = p;else if (p) switch (e) { case 3: return !0; case 5: return g; case 6: return y; case 2: _.push(g); } else if (c) return !1; } return u ? -1 : l || c ? c : _; }; }; }, function (e, t, i) { var r = i(201); e.exports = function (e, t) { return new (r(e))(t); }; }, function (e, t, i) { var r = i(21), n = i(127), o = i(4)("species"); e.exports = function (e) { var t; return n(e) && ("function" != typeof (t = e.constructor) || t !== Array && !n(t.prototype) || (t = void 0), r(t) && null === (t = t[o]) && (t = void 0)), void 0 === t ? Array : t; }; }, function (e, t, i) { var r = i(4)("iterator"), n = !1; try { var o = [7][r](); o["return"] = function () { n = !0; }, Array.from(o, function () { throw 2; }); } catch (e) {} e.exports = function (e, t) { if (!t && !n) return !1; var i = !1; try { var o = [7], a = o[r](); a.next = function () { return { done: i = !0 }; }, o[r] = function () { return a; }, e(o); } catch (e) {} return i; }; }, function (e, t, i) { "use strict"; var r = i(30), n = i(54), o = i(19); e.exports = [].copyWithin || function (e, t) { var i = r(this), a = o(i.length), s = n(e, a), x = n(t, a), l = arguments.length > 2 ? arguments[2] : void 0, c = Math.min((void 0 === l ? a : n(l, a)) - x, a - s), u = 1; for (x < s && s < x + c && (u = -1, x += c - 1, s += c - 1); c-- > 0;) { x in i ? i[s] = i[x] : delete i[s], s += u, x += u; } return i; }; }, function (e, t, i) { i(34)("Uint32", 4, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }); }, function (e, t, i) { i(34)("Float64", 8, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }); }, function (e, t, i) { i(34)("Uint8", 1, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }); }, function (e, t, i) { i(34)("Int16", 2, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }); }, function (e, t, i) { var r = i(23); r(r.S, "Math", { log2: function log2(e) { return Math.log(e) / Math.LN2; } }); }, function (e, t, i) { i(210), e.exports = i(5).Date.now; }, function (e, t, i) { var r = i(12); r(r.S, "Date", { now: function now() { return new Date().getTime(); } }); }, function (e, t, i) { i(34)("Uint16", 2, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }); }, function (e, t, i) { var r = i(23); r(r.P, "Array", { fill: i(92) }), i(97)("fill"); }, function (e, t, i) { i(34)("Float32", 4, function (e) { return function (t, i, r) { return e(this, t, i, r); }; }); }, function (e, t, i) { i(119), i(113), i(116), i(215), i(227), i(228), e.exports = i(5).Promise; }, function (e, t, i) { "use strict"; var r, n, o, a, s = i(48), x = i(7), l = i(59), c = i(133), u = i(12), h = i(33), f = i(60), d = i(216), g = i(217), p = i(134), m = i(135).set, b = i(222)(), v = i(94), C = i(136), y = i(223), _ = i(137), A = x.TypeError, I = x.process, w = I && I.versions, G = w && w.v8 || "", _E = x.Promise, S = "process" == c(I), T = function T() {}, P = n = v.f, M = !!function () { try { var e = _E.resolve(1), t = (e.constructor = {})[i(14)("species")] = function (e) { e(T, T); }; return (S || "function" == typeof PromiseRejectionEvent) && e.then(T) instanceof t && 0 !== G.indexOf("6.6") && -1 === y.indexOf("Chrome/66"); } catch (e) {} }(), N = function N(e) { var t; return !(!h(e) || "function" != typeof (t = e.then)) && t; }, L = function L(e, t) { if (!e._n) { e._n = !0; var i = e._c; b(function () { for (var r = e._v, n = 1 == e._s, o = 0, a = function a(t) { var i, o, a, s = n ? t.ok : t.fail, x = t.resolve, l = t.reject, c = t.domain; try { s ? (n || (2 == e._h && F(e), e._h = 1), !0 === s ? i = r : (c && c.enter(), i = s(r), c && (c.exit(), a = !0)), i === t.promise ? l(A("Promise-chain cycle")) : (o = N(i)) ? o.call(i, x, l) : x(i)) : l(r); } catch (e) { c && !a && c.exit(), l(e); } }; i.length > o;) { a(i[o++]); } e._c = [], e._n = !1, t && !e._h && R(e); }); } }, R = function R(e) { m.call(x, function () { var t, i, r, n = e._v, o = O(e); if (o && (t = C(function () { S ? I.emit("unhandledRejection", n, e) : (i = x.onunhandledrejection) ? i({ promise: e, reason: n }) : (r = x.console) && r.error && r.error("Unhandled promise rejection", n); }), e._h = S || O(e) ? 2 : 1), e._a = void 0, o && t.e) throw t.v; }); }, O = function O(e) { return 1 !== e._h && 0 === (e._a || e._c).length; }, F = function F(e) { m.call(x, function () { var t; S ? I.emit("rejectionHandled", e) : (t = x.onrejectionhandled) && t({ promise: e, reason: e._v }); }); }, D = function D(e) { var t = this; t._d || (t._d = !0, (t = t._w || t)._v = e, t._s = 2, t._a || (t._a = t._c.slice()), L(t, !0)); }, U = function U(e) { var t, i = this; if (!i._d) { i._d = !0, i = i._w || i; try { if (i === e) throw A("Promise can't be resolved itself"); (t = N(e)) ? b(function () { var r = { _w: i, _d: !1 }; try { t.call(e, l(U, r, 1), l(D, r, 1)); } catch (e) { D.call(r, e); } }) : (i._v = e, i._s = 1, L(i, !1)); } catch (e) { D.call({ _w: i, _d: !1 }, e); } } }; M || (_E = function E(e) { d(this, _E, "Promise", "_h"), f(e), r.call(this); try { e(l(U, this, 1), l(D, this, 1)); } catch (e) { D.call(this, e); } }, (r = function r(e) { this._c = [], this._a = void 0, this._s = 0, this._d = !1, this._v = void 0, this._h = 0, this._n = !1; }).prototype = i(224)(_E.prototype, { then: function then(e, t) { var i = P(p(this, _E)); return i.ok = "function" != typeof e || e, i.fail = "function" == typeof t && t, i.domain = S ? I.domain : void 0, this._c.push(i), this._a && this._a.push(i), this._s && L(this, !1), i.promise; }, "catch": function _catch(e) { return this.then(void 0, e); } }), o = function o() { var e = new r(); this.promise = e, this.resolve = l(U, e, 1), this.reject = l(D, e, 1); }, v.f = P = function P(e) { return e === _E || e === a ? new o(e) : n(e); }), u(u.G + u.W + u.F * !M, { Promise: _E }), i(66)(_E, "Promise"), i(225)("Promise"), a = i(5).Promise, u(u.S + u.F * !M, "Promise", { reject: function reject(e) { var t = P(this); return (0, t.reject)(e), t.promise; } }), u(u.S + u.F * (s || !M), "Promise", { resolve: function resolve(e) { return _(s && this === a ? _E : this, e); } }), u(u.S + u.F * !(M && i(226)(function (e) { _E.all(e)["catch"](T); })), "Promise", { all: function all(e) { var t = this, i = P(t), r = i.resolve, n = i.reject, o = C(function () { var i = [], o = 0, a = 1; g(e, !1, function (e) { var s = o++, x = !1; i.push(void 0), a++, t.resolve(e).then(function (e) { x || (x = !0, i[s] = e, --a || r(i)); }, n); }), --a || r(i); }); return o.e && n(o.v), i.promise; }, race: function race(e) { var t = this, i = P(t), r = i.reject, n = C(function () { g(e, !1, function (e) { t.resolve(e).then(i.resolve, r); }); }); return n.e && r(n.v), i.promise; } }); }, function (e, t) { e.exports = function (e, t, i, r) { if (!(e instanceof t) || void 0 !== r && r in e) throw TypeError(i + ": incorrect invocation!"); return e; }; }, function (e, t, i) { var r = i(59), n = i(218), o = i(219), a = i(27), s = i(106), x = i(220), l = {}, c = {}; (t = e.exports = function (e, t, i, u, h) { var f, d, g, p, m = h ? function () { return e; } : x(e), b = r(i, u, t ? 2 : 1), v = 0; if ("function" != typeof m) throw TypeError(e + " is not iterable!"); if (o(m)) { for (f = s(e.length); f > v; v++) { if ((p = t ? b(a(d = e[v])[0], d[1]) : b(e[v])) === l || p === c) return p; } } else for (g = m.call(e); !(d = g.next()).done;) { if ((p = n(g, b, d.value, t)) === l || p === c) return p; } }).BREAK = l, t.RETURN = c; }, function (e, t, i) { var r = i(27); e.exports = function (e, t, i, n) { try { return n ? t(r(i)[0], i[1]) : t(i); } catch (t) { var o = e["return"]; throw void 0 !== o && r(o.call(e)), t; } }; }, function (e, t, i) { var r = i(49), n = i(14)("iterator"), o = Array.prototype; e.exports = function (e) { return void 0 !== e && (r.Array === e || o[n] === e); }; }, function (e, t, i) { var r = i(133), n = i(14)("iterator"), o = i(49); e.exports = i(5).getIteratorMethod = function (e) { if (null != e) return e[n] || e["@@iterator"] || o[r(e)]; }; }, function (e, t) { e.exports = function (e, t, i) { var r = void 0 === i; switch (t.length) { case 0: return r ? e() : e.call(i); case 1: return r ? e(t[0]) : e.call(i, t[0]); case 2: return r ? e(t[0], t[1]) : e.call(i, t[0], t[1]); case 3: return r ? e(t[0], t[1], t[2]) : e.call(i, t[0], t[1], t[2]); case 4: return r ? e(t[0], t[1], t[2], t[3]) : e.call(i, t[0], t[1], t[2], t[3]); } return e.apply(i, t); }; }, function (e, t, i) { var r = i(7), n = i(135).set, o = r.MutationObserver || r.WebKitMutationObserver, a = r.process, s = r.Promise, x = "process" == i(47)(a); e.exports = function () { var e, t, i, l = function l() { var r, n; for (x && (r = a.domain) && r.exit(); e;) { n = e.fn, e = e.next; try { n(); } catch (r) { throw e ? i() : t = void 0, r; } } t = void 0, r && r.enter(); }; if (x) i = function i() { a.nextTick(l); };else if (!o || r.navigator && r.navigator.standalone) { if (s && s.resolve) { var c = s.resolve(void 0); i = function i() { c.then(l); }; } else i = function i() { n.call(r, l); }; } else { var u = !0, h = document.createTextNode(""); new o(l).observe(h, { characterData: !0 }), i = function i() { h.data = u = !u; }; } return function (r) { var n = { fn: r, next: void 0 }; t && (t.next = n), e || (e = n, i()), t = n; }; }; }, function (e, t, i) { var r = i(7).navigator; e.exports = r && r.userAgent || ""; }, function (e, t, i) { var r = i(32); e.exports = function (e, t, i) { for (var n in t) { i && e[n] ? e[n] = t[n] : r(e, n, t[n]); } return e; }; }, function (e, t, i) { "use strict"; var r = i(7), n = i(5), o = i(26), a = i(25), s = i(14)("species"); e.exports = function (e) { var t = "function" == typeof n[e] ? n[e] : r[e]; a && t && !t[s] && o.f(t, s, { configurable: !0, get: function get() { return this; } }); }; }, function (e, t, i) { var r = i(14)("iterator"), n = !1; try { var o = [7][r](); o["return"] = function () { n = !0; }, Array.from(o, function () { throw 2; }); } catch (e) {} e.exports = function (e, t) { if (!t && !n) return !1; var i = !1; try { var o = [7], a = o[r](); a.next = function () { return { done: i = !0 }; }, o[r] = function () { return a; }, e(o); } catch (e) {} return i; }; }, function (e, t, i) { "use strict"; var r = i(12), n = i(5), o = i(7), a = i(134), s = i(137); r(r.P + r.R, "Promise", { "finally": function _finally(e) { var t = a(this, n.Promise || o.Promise), i = "function" == typeof e; return this.then(i ? function (i) { return s(t, e()).then(function () { return i; }); } : e, i ? function (i) { return s(t, e()).then(function () { throw i; }); } : e); } }); }, function (e, t, i) { "use strict"; var r = i(12), n = i(94), o = i(136); r(r.S, "Promise", { "try": function _try(e) { var t = n.f(this), i = o(e); return (i.e ? t.reject : t.resolve)(i.v), t.promise; } }); }, function (e, t, i) { i(138)("asyncIterator"); }, function (e, t, i) { "use strict"; var r = i(10), n = i(24), o = i(11), a = i(23), s = i(22), x = i(231).KEY, l = i(18), c = i(50), u = i(55), h = i(28), f = i(4), d = i(139), g = i(138), p = i(232), m = i(127), b = i(17), v = i(21), C = i(30), y = i(37), _ = i(44), A = i(45), I = i(52), w = i(233), G = i(67), E = i(140), S = i(13), T = i(53), P = G.f, M = S.f, N = w.f, _L2 = r.Symbol, R = r.JSON, O = R && R.stringify, F = f("_hidden"), D = f("toPrimitive"), U = {}.propertyIsEnumerable, k = c("symbol-registry"), B = c("symbols"), W = c("op-symbols"), j = Object.prototype, V = "function" == typeof _L2 && !!E.f, z = r.QObject, H = !z || !z.prototype || !z.prototype.findChild, q = o && l(function () { return 7 != I(M({}, "a", { get: function get() { return M(this, "a", { value: 7 }).a; } })).a; }) ? function (e, t, i) { var r = P(j, t); r && delete j[t], M(e, t, i), r && e !== j && M(j, t, r); } : M, X = function X(e) { var t = B[e] = I(_L2.prototype); return t._k = e, t; }, Y = V && "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(_L2.iterator) ? function (e) { return "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e); } : function (e) { return e instanceof _L2; }, K = function K(e, t, i) { return e === j && K(W, t, i), b(e), t = _(t, !0), b(i), n(B, t) ? (i.enumerable ? (n(e, F) && e[F][t] && (e[F][t] = !1), i = I(i, { enumerable: A(0, !1) })) : (n(e, F) || M(e, F, A(1, {})), e[F][t] = !0), q(e, t, i)) : M(e, t, i); }, Q = function Q(e, t) { b(e); for (var i, r = p(t = y(t)), n = 0, o = r.length; o > n;) { K(e, i = r[n++], t[i]); } return e; }, Z = function Z(e) { var t = U.call(this, e = _(e, !0)); return !(this === j && n(B, e) && !n(W, e)) && (!(t || !n(this, e) || !n(B, e) || n(this, F) && this[F][e]) || t); }, J = function J(e, t) { if (e = y(e), t = _(t, !0), e !== j || !n(B, t) || n(W, t)) { var i = P(e, t); return !i || !n(B, t) || n(e, F) && e[F][t] || (i.enumerable = !0), i; } }, $ = function $(e) { for (var t, i = N(y(e)), r = [], o = 0; i.length > o;) { n(B, t = i[o++]) || t == F || t == x || r.push(t); } return r; }, ee = function ee(e) { for (var t, i = e === j, r = N(i ? W : y(e)), o = [], a = 0; r.length > a;) { !n(B, t = r[a++]) || i && !n(j, t) || o.push(B[t]); } return o; }; V || (s((_L2 = function L() { if (this instanceof _L2) throw TypeError("Symbol is not a constructor!"); var e = h(arguments.length > 0 ? arguments[0] : void 0), t = function t(i) { this === j && t.call(W, i), n(this, F) && n(this[F], e) && (this[F][e] = !1), q(this, e, A(1, i)); }; return o && H && q(j, e, { configurable: !0, set: t }), X(e); }).prototype, "toString", function () { return this._k; }), G.f = J, S.f = K, i(41).f = w.f = $, i(93).f = Z, E.f = ee, o && !i(35) && s(j, "propertyIsEnumerable", Z, !0), d.f = function (e) { return X(f(e)); }), a(a.G + a.W + a.F * !V, { Symbol: _L2 }); for (var te = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), ie = 0; te.length > ie;) { f(te[ie++]); } for (var re = T(f.store), ne = 0; re.length > ne;) { g(re[ne++]); } a(a.S + a.F * !V, "Symbol", { "for": function _for(e) { return n(k, e += "") ? k[e] : k[e] = _L2(e); }, keyFor: function keyFor(e) { if (!Y(e)) throw TypeError(e + " is not a symbol!"); for (var t in k) { if (k[t] === e) return t; } }, useSetter: function useSetter() { H = !0; }, useSimple: function useSimple() { H = !1; } }), a(a.S + a.F * !V, "Object", { create: function create(e, t) { return void 0 === t ? I(e) : Q(I(e), t); }, defineProperty: K, defineProperties: Q, getOwnPropertyDescriptor: J, getOwnPropertyNames: $, getOwnPropertySymbols: ee }); var oe = l(function () { E.f(1); }); a(a.S + a.F * oe, "Object", { getOwnPropertySymbols: function getOwnPropertySymbols(e) { return E.f(C(e)); } }), R && a(a.S + a.F * (!V || l(function () { var e = _L2(); return "[null]" != O([e]) || "{}" != O({ a: e }) || "{}" != O(Object(e)); })), "JSON", { stringify: function stringify(e) { for (var t, i, r = [e], n = 1; arguments.length > n;) { r.push(arguments[n++]); } if (i = t = r[1], (v(t) || void 0 !== e) && !Y(e)) return m(t) || (t = function (_t4) { function t(_x8, _x9) { return _t4.apply(this, arguments); } t.toString = function () { return _t4.toString(); }; return t; }(function (e, t) { if ("function" == typeof i && (t = i.call(this, e, t)), !Y(t)) return t; })), r[1] = t, O.apply(R, r); } }), _L2.prototype[D] || i(20)(_L2.prototype, D, _L2.prototype.valueOf), u(_L2, "Symbol"), u(Math, "Math", !0), u(r.JSON, "JSON", !0); }, function (e, t, i) { var r = i(28)("meta"), n = i(21), o = i(24), a = i(13).f, s = 0, x = Object.isExtensible || function () { return !0; }, l = !i(18)(function () { return x(Object.preventExtensions({})); }), c = function c(e) { a(e, r, { value: { i: "O" + ++s, w: {} } }); }, u = e.exports = { KEY: r, NEED: !1, fastKey: function fastKey(e, t) { if (!n(e)) return "symbol" == _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(e) ? e : ("string" == typeof e ? "S" : "P") + e; if (!o(e, r)) { if (!x(e)) return "F"; if (!t) return "E"; c(e); } return e[r].i; }, getWeak: function getWeak(e, t) { if (!o(e, r)) { if (!x(e)) return !0; if (!t) return !1; c(e); } return e[r].w; }, onFreeze: function onFreeze(e) { return l && u.NEED && x(e) && !o(e, r) && c(e), e; } }; }, function (e, t, i) { var r = i(53), n = i(140), o = i(93); e.exports = function (e) { var t = r(e), i = n.f; if (i) for (var a, s = i(e), x = o.f, l = 0; s.length > l;) { x.call(e, a = s[l++]) && t.push(a); } return t; }; }, function (e, t, i) { var r = i(37), n = i(41).f, o = {}.toString, a = "object" == (typeof window === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(window)) && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; e.exports.f = function (e) { return a && "[object Window]" == o.call(e) ? function (e) { try { return n(e); } catch (e) { return a.slice(); } }(e) : n(r(e)); }; }, function (e, t, i) { var r = i(21), n = i(17), o = function o(e, t) { if (n(e), !r(t) && null !== t) throw TypeError(t + ": can't set as prototype!"); }; e.exports = { set: Object.setPrototypeOf || ("__proto__" in {} ? function (e, t, r) { try { (r = i(51)(Function.call, i(67).f(Object.prototype, "__proto__").set, 2))(e, []), t = !(e instanceof Array); } catch (e) { t = !0; } return function (e, i) { return o(e, i), t ? e.__proto__ = i : r(e, i), e; }; }({}, !1) : void 0), check: o }; }, function (e, t, i) { var r = i(23), n = i(38), o = i(18), a = i(236), s = "[" + a + "]", x = RegExp("^" + s + s + "*"), l = RegExp(s + s + "*$"), c = function c(e, t, i) { var n = {}, s = o(function () { return !!a[e]() || "​…" != "​…"[e](); }), x = n[e] = s ? t(u) : a[e]; i && (n[i] = x), r(r.P + r.F * s, "String", n); }, u = c.trim = function (e, t) { return e = String(n(e)), 1 & t && (e = e.replace(x, "")), 2 & t && (e = e.replace(l, "")), e; }; e.exports = c; }, function (e, t) { e.exports = "\t\n\x0B\f\r \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF"; }, function (module, __webpack_exports__, __webpack_require__) { "use strict"; (function (module, global) { var core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69), core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(core_js_modules_web_dom_iterable__WEBPACK_IMPORTED_MODULE_0__), core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42), core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(core_js_modules_es6_array_iterator__WEBPACK_IMPORTED_MODULE_1__), _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15), _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2__), core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(84), core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3___default = __webpack_require__.n(core_js_modules_es6_function_name__WEBPACK_IMPORTED_MODULE_3__), _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8), _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4__), core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(129), core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5___default = __webpack_require__.n(core_js_modules_es6_string_ends_with__WEBPACK_IMPORTED_MODULE_5__), core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(132), core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6___default = __webpack_require__.n(core_js_modules_es6_string_starts_with__WEBPACK_IMPORTED_MODULE_6__), _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1), _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7__), core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(141), core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8___default = __webpack_require__.n(core_js_modules_es6_number_constructor__WEBPACK_IMPORTED_MODULE_8__), core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(239), core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9___default = __webpack_require__.n(core_js_modules_es6_regexp_search__WEBPACK_IMPORTED_MODULE_9__), core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(88), core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10___default = __webpack_require__.n(core_js_modules_es6_regexp_replace__WEBPACK_IMPORTED_MODULE_10__), _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(0), _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default = __webpack_require__.n(_babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11__), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(2), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default = __webpack_require__.n(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12__), core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(85), core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13___default = __webpack_require__.n(core_js_modules_es6_regexp_to_string__WEBPACK_IMPORTED_MODULE_13__), core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(86), core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14___default = __webpack_require__.n(core_js_modules_es6_object_to_string__WEBPACK_IMPORTED_MODULE_14__), core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(79), core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15___default = __webpack_require__.n(core_js_modules_es6_regexp_split__WEBPACK_IMPORTED_MODULE_15__), core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(241), core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16___default = __webpack_require__.n(core_js_modules_es6_regexp_match__WEBPACK_IMPORTED_MODULE_16__), core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(143), core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17___default = __webpack_require__.n(core_js_modules_es6_regexp_constructor__WEBPACK_IMPORTED_MODULE_17__), require, require, e; window.GeoGlobe = window.GeoGlobe || {}, window.GeoGlobe.Class = window.GeoGlobe.Class || {}, window.GeoGlobe.LngLatBounds = window.GeoGlobe.LngLatBounds || {}, window.GeoGlobe.LngLat = window.GeoGlobe.LngLat || {}, window.GeoGlobe.Filter = window.GeoGlobe.Filter || {}, window.GeoGlobe.Format = window.GeoGlobe.Format || {}, window.GeoGlobe.Protocol = window.GeoGlobe.Protocol || {}, window.GeoGlobe.Query = window.GeoGlobe.Query || {}, window.GeoGlobe.Service = window.GeoGlobe.Service || {}, window.GeoGlobe.Analysis = window.GeoGlobe.Analysis || {}, GeoGlobe.getScriptLocation = function (e) { for (var t = "", i = new RegExp("(^|(.*?\\/))(" + e + ")(\\?|$)"), r = document.getElementsByTagName("script"), n = 0, o = r.length; n < o; n++) { var a = r[n].getAttribute("src"); if (a) { var s = a.match(i); if (s) { t = s[1]; break; } } } return t; }, GeoGlobe.createNS = function (e) { for (var t = e.split("."), i = window, r = 0; r < t.length; r++) { i[t[r]] || (i[t[r]] = {}), i = i[t[r]]; } }, GeoGlobe.Class = function () { var e = arguments.length, t = arguments[0], i = arguments[e - 1], r = "function" == typeof i.initialize ? i.initialize : function () { t.prototype.initialize.apply(this, arguments); }; return e > 1 ? [r, t].concat(Array.prototype.slice.call(arguments).slice(1, e - 1), i) : r.prototype = i, r; }, GeoGlobe.Class4OL = function () { var e = arguments.length, t = arguments[0], i = arguments[e - 1], r = "function" == typeof i.initialize ? i.initialize : function () { t.prototype.initialize.apply(this, arguments); }; if (e > 1) { var n = [r, t].concat(Array.prototype.slice.call(arguments).slice(1, e - 1), i); GeoGlobe.inherit.apply(null, n); } else r.prototype = i; return r; }, GeoGlobe.inherit = function (e, t) { var i, r, n, o = function o() {}; for (o.prototype = t.prototype, e.prototype = new o(), i = 2, r = arguments.length; i < r; i++) { "function" == typeof (n = arguments[i]) && (n = n.prototype), GeoGlobe.Util.extend(e.prototype, n); } }, GeoGlobe.Util = GeoGlobe.Util || {}, GeoGlobe.Util.extend = function (e, t) { if (e = e || {}, t) { for (var i in t) { var r = t[i]; void 0 !== r && (e[i] = r); } !("function" == typeof window.Event && t instanceof window.Event) && t.hasOwnProperty && t.hasOwnProperty("toString") && (e.toString = t.toString); } return e; }, GeoGlobe.Util.deepExtend = function (e) { for (var t = 1; t < arguments.length; t++) { for (var i in arguments[t]) { if (arguments[t].hasOwnProperty(i)) switch (GeoGlobe.Util.getType(arguments[t][i])) { case "array": e.hasOwnProperty(i) && "array" === GeoGlobe.Util.getType(e[i]) ? GeoGlobe.Util.deepExtend(e[i], arguments[t][i]) : e[i] = GeoGlobe.Util.deepExtend([], arguments[t][i]); break; case "object": e.hasOwnProperty(i) && "object" === GeoGlobe.Util.getType(e[i]) ? GeoGlobe.Util.deepExtend(e[i], arguments[t][i]) : e[i] = GeoGlobe.Util.deepExtend({}, arguments[t][i]); break; default: e[i] = arguments[t][i]; } } } return e; }, GeoGlobe.Util = GeoGlobe.Util || {}, GeoGlobe.Util.getElement = function () { for (var e = [], t = 0, i = arguments.length; t < i; t++) { var r = arguments[t]; if ("string" == typeof r && (r = document.getElementById(r)), 1 == arguments.length) return r; e.push(r); } return e; }, GeoGlobe.Util.isElement = function (e) { return !(!e || 1 !== e.nodeType); }, GeoGlobe.Util.isArray = function (e) { return "[object Array]" === Object.prototype.toString.call(e); }, GeoGlobe.Util.removeItem = function (e, t) { for (var i = e.length - 1; i >= 0; i--) { e[i] == t && e.splice(i, 1); } return e; }, GeoGlobe.Util.indexOf = function (e, t) { if ("function" == typeof e.indexOf) return e.indexOf(t); for (var i = 0, r = e.length; i < r; i++) { if (e[i] == t) return i; } return -1; }, GeoGlobe.Util.dotless = /\./g, GeoGlobe.IMAGE_RELOAD_ATTEMPTS = 0, GeoGlobe.Util.alphaHackNeeded = null, GeoGlobe.Util.alphaHack = function () { if (null == GeoGlobe.Util.alphaHackNeeded) { var e = navigator.appVersion.split("MSIE"), t = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e[1]), i = !1; try { i = !!document.body.filters; } catch (e) {} GeoGlobe.Util.alphaHackNeeded = i && t >= 5.5 && t < 7; } return GeoGlobe.Util.alphaHackNeeded; }, GeoGlobe.Util.upperCaseObject = function (e) { var t = {}; for (var i in e) { t[i.toUpperCase()] = e[i]; } return t; }, GeoGlobe.Util.applyDefaults = function (e, t) { e = e || {}; var i = "function" == typeof window.Event && t instanceof window.Event; for (var r in t) { (void 0 === e[r] || !i && t.hasOwnProperty && t.hasOwnProperty(r) && !e.hasOwnProperty(r)) && (e[r] = t[r]); } return !i && t && t.hasOwnProperty && t.hasOwnProperty("toString") && !e.hasOwnProperty("toString") && (e.toString = t.toString), e; }, GeoGlobe.Util.getParameterString = function (e) { var t = []; for (var i in e) { var r = e[i]; if (null != r && "function" != typeof r) { var n; if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) { for (var o, a = [], s = 0, x = r.length; s < x; s++) { o = r[s], a.push(encodeURIComponent(null == o ? "" : o)); } n = a.join(","); } else n = encodeURIComponent(r); t.push(encodeURIComponent(i) + "=" + n); } } return t.join("&"); }, GeoGlobe.Util.urlAppend = function (e, t) { var i = e; if (t) { var r = (e + " ").split(/[?&]/); i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t; } return i; }, GeoGlobe.Util.getImagesLocation = function () { return GeoGlobe.ImgPath || GeoGlobe._getScriptLocation() + "img/"; }, GeoGlobe.Util.getImageLocation = function (e) { return GeoGlobe.Util.getImagesLocation() + e; }, GeoGlobe.Util.Try = function () { for (var e = null, t = 0, i = arguments.length; t < i; t++) { var r = arguments[t]; try { e = r(); break; } catch (e) {} } return e; }, GeoGlobe.Util.getXmlNodeValue = function (e) { var t = null; return GeoGlobe.Util.Try(function () { (t = e.text) || (t = e.textContent), t || (t = e.firstChild.nodeValue); }, function () { t = e.textContent; }), t; }, GeoGlobe.Util.mouseLeft = function (e, t) { for (var i = e.relatedTarget ? e.relatedTarget : e.toElement; i != t && null != i;) { i = i.parentNode; } return i != t; }, GeoGlobe.Util.DEFAULT_PRECISION = 14, GeoGlobe.Util.toFloat = function (e, t) { return null == t && (t = GeoGlobe.Util.DEFAULT_PRECISION), "number" != typeof e && (e = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e)), 0 === t ? e : _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toPrecision(t)); }, GeoGlobe.Util.rad = function (e) { return e * Math.PI / 180; }, GeoGlobe.Util.deg = function (e) { return 180 * e / Math.PI; }, GeoGlobe.Util.VincentyConstants = { a: 6378137, b: 6356752.3142, f: 1 / 298.257223563 }, GeoGlobe.Util.distVincenty = function (e, t) { for (var i = GeoGlobe.Util.VincentyConstants, r = i.a, n = i.b, o = i.f, a = GeoGlobe.Util.rad(t.lng - e.lng), s = Math.atan((1 - o) * Math.tan(GeoGlobe.Util.rad(e.lat))), x = Math.atan((1 - o) * Math.tan(GeoGlobe.Util.rad(t.lat))), l = Math.sin(s), c = Math.cos(s), u = Math.sin(x), h = Math.cos(x), f = a, d = 2 * Math.PI, g = 20; Math.abs(f - d) > 1e-12 && --g > 0;) { var p = Math.sin(f), m = Math.cos(f), b = Math.sqrt(h * p * (h * p) + (c * u - l * h * m) * (c * u - l * h * m)); if (0 == b) return 0; var v = l * u + c * h * m, C = Math.atan2(b, v), y = Math.asin(c * h * p / b), _ = Math.cos(y) * Math.cos(y), A = v - 2 * l * u / _, I = o / 16 * _ * (4 + o * (4 - 3 * _)); d = f, f = a + (1 - I) * o * Math.sin(y) * (C + I * b * (A + I * v * (2 * A * A - 1))); } if (0 == g) return NaN; var w = _ * (r * r - n * n) / (n * n), G = w / 1024 * (256 + w * (w * (74 - 47 * w) - 128)); return (n * (1 + w / 16384 * (4096 + w * (w * (320 - 175 * w) - 768))) * (C - G * b * (A + G / 4 * (v * (2 * A * A - 1) - G / 6 * A * (4 * b * b - 3) * (4 * A * A - 3))))).toFixed(3) / 1e3; }, GeoGlobe.Util.destinationVincenty = function (e, t, i) { for (var r = GeoGlobe.Util, n = r.VincentyConstants, o = n.a, a = n.b, s = n.f, x = e.lng, l = e.lat, c = i, u = r.rad(t), h = Math.sin(u), f = Math.cos(u), d = (1 - s) * Math.tan(r.rad(l)), g = 1 / Math.sqrt(1 + d * d), p = d * g, m = Math.atan2(d, f), b = g * h, v = 1 - b * b, C = v * (o * o - a * a) / (a * a), y = 1 + C / 16384 * (4096 + C * (C * (320 - 175 * C) - 768)), _ = C / 1024 * (256 + C * (C * (74 - 47 * C) - 128)), A = c / (a * y), I = 2 * Math.PI; Math.abs(A - I) > 1e-12;) { var w = Math.cos(2 * m + A), G = Math.sin(A), E = Math.cos(A); I = A, A = c / (a * y) + _ * G * (w + _ / 4 * (E * (2 * w * w - 1) - _ / 6 * w * (4 * G * G - 3) * (4 * w * w - 3))); } var S = p * G - g * E * f, T = Math.atan2(p * E + g * G * f, (1 - s) * Math.sqrt(b * b + S * S)), P = s / 16 * v * (4 + s * (4 - 3 * v)), M = Math.atan2(G * h, g * E - p * G * f) - (1 - P) * s * b * (A + P * G * (w + P * E * (2 * w * w - 1))); return Math.atan2(b, -S), new GeoGlobe.LngLat(x + r.deg(M), r.deg(T)); }, GeoGlobe.Util.getParameters = function (e, t) { t = t || {}, e = null == e ? window.location.href : e; var i = ""; if (GeoGlobe.String.contains(e, "?")) { var r = e.indexOf("?") + 1, n = GeoGlobe.String.contains(e, "#") ? e.indexOf("#") : e.length; i = e.substring(r, n); } for (var o = {}, a = i.split(/[&;]/), s = 0, x = a.length; s < x; ++s) { var l = a[s].split("="); if (l[0]) { var c = l[0]; try { c = decodeURIComponent(c); } catch (e) { c = unescape(c); } var u = (l[1] || "").replace(/\+/g, " "); try { u = decodeURIComponent(u); } catch (e) { u = unescape(u); } !1 !== t.splitArgs && (u = u.split(",")), 1 == u.length && (u = u[0]), o[c] = u; } } return o; }, GeoGlobe.Util.lastSeqID = 0, GeoGlobe.Util.createUniqueID = function (e) { return e = null == e ? "id_" : e.replace(GeoGlobe.Util.dotless, "_"), GeoGlobe.Util.lastSeqID += 1, e + GeoGlobe.Util.lastSeqID; }, GeoGlobe.INCHES_PER_UNIT = { inches: 1, ft: 12, mi: 63360, m: 1 / 0.0254, km: 39370, dd: 4374754, yd: 36 }, GeoGlobe.INCHES_PER_UNIT["in"] = GeoGlobe.INCHES_PER_UNIT.inches, GeoGlobe.INCHES_PER_UNIT.degrees = GeoGlobe.INCHES_PER_UNIT.dd, GeoGlobe.INCHES_PER_UNIT.nmi = 1852 * GeoGlobe.INCHES_PER_UNIT.m, GeoGlobe.METERS_PER_INCH = 0.0254000508001016, GeoGlobe.Util.extend(GeoGlobe.INCHES_PER_UNIT, { Inch: GeoGlobe.INCHES_PER_UNIT.inches, Meter: 1 / GeoGlobe.METERS_PER_INCH, Foot: 0.3048006096012192 / GeoGlobe.METERS_PER_INCH, IFoot: 0.3048 / GeoGlobe.METERS_PER_INCH, ClarkeFoot: 0.3047972651151 / GeoGlobe.METERS_PER_INCH, SearsFoot: 0.30479947153867626 / GeoGlobe.METERS_PER_INCH, GoldCoastFoot: 0.3047997101815088 / GeoGlobe.METERS_PER_INCH, IInch: 0.0254 / GeoGlobe.METERS_PER_INCH, MicroInch: 254e-7 / GeoGlobe.METERS_PER_INCH, Mil: 2.54e-8 / GeoGlobe.METERS_PER_INCH, Centimeter: 0.01 / GeoGlobe.METERS_PER_INCH, Kilometer: 1e3 / GeoGlobe.METERS_PER_INCH, Yard: 0.9144018288036576 / GeoGlobe.METERS_PER_INCH, SearsYard: 0.914398414616029 / GeoGlobe.METERS_PER_INCH, IndianYard: 0.9143985307444408 / GeoGlobe.METERS_PER_INCH, IndianYd37: 0.91439523 / GeoGlobe.METERS_PER_INCH, IndianYd62: 0.9143988 / GeoGlobe.METERS_PER_INCH, IndianYd75: 0.9143985 / GeoGlobe.METERS_PER_INCH, IndianFoot: 0.30479951 / GeoGlobe.METERS_PER_INCH, IndianFt37: 0.30479841 / GeoGlobe.METERS_PER_INCH, IndianFt62: 0.3047996 / GeoGlobe.METERS_PER_INCH, IndianFt75: 0.3047995 / GeoGlobe.METERS_PER_INCH, Mile: 1609.3472186944373 / GeoGlobe.METERS_PER_INCH, IYard: 0.9144 / GeoGlobe.METERS_PER_INCH, IMile: 1609.344 / GeoGlobe.METERS_PER_INCH, NautM: 1852 / GeoGlobe.METERS_PER_INCH, "Lat-66": 110943.31648893273 / GeoGlobe.METERS_PER_INCH, "Lat-83": 110946.25736872235 / GeoGlobe.METERS_PER_INCH, Decimeter: 0.1 / GeoGlobe.METERS_PER_INCH, Millimeter: 0.001 / GeoGlobe.METERS_PER_INCH, Dekameter: 10 / GeoGlobe.METERS_PER_INCH, Decameter: 10 / GeoGlobe.METERS_PER_INCH, Hectometer: 100 / GeoGlobe.METERS_PER_INCH, GermanMeter: 1.0000135965 / GeoGlobe.METERS_PER_INCH, CaGrid: 0.999738 / GeoGlobe.METERS_PER_INCH, ClarkeChain: 20.1166194976 / GeoGlobe.METERS_PER_INCH, GunterChain: 20.11684023368047 / GeoGlobe.METERS_PER_INCH, BenoitChain: 20.116782494375872 / GeoGlobe.METERS_PER_INCH, SearsChain: 20.11676512155 / GeoGlobe.METERS_PER_INCH, ClarkeLink: 0.201166194976 / GeoGlobe.METERS_PER_INCH, GunterLink: 0.2011684023368047 / GeoGlobe.METERS_PER_INCH, BenoitLink: 0.20116782494375873 / GeoGlobe.METERS_PER_INCH, SearsLink: 0.2011676512155 / GeoGlobe.METERS_PER_INCH, Rod: 5.02921005842012 / GeoGlobe.METERS_PER_INCH, IntnlChain: 20.1168 / GeoGlobe.METERS_PER_INCH, IntnlLink: 0.201168 / GeoGlobe.METERS_PER_INCH, Perch: 5.02921005842012 / GeoGlobe.METERS_PER_INCH, Pole: 5.02921005842012 / GeoGlobe.METERS_PER_INCH, Furlong: 201.1684023368046 / GeoGlobe.METERS_PER_INCH, Rood: 3.778266898 / GeoGlobe.METERS_PER_INCH, CapeFoot: 0.3047972615 / GeoGlobe.METERS_PER_INCH, Brealey: 375 / GeoGlobe.METERS_PER_INCH, ModAmFt: 0.304812252984506 / GeoGlobe.METERS_PER_INCH, Fathom: 1.8288 / GeoGlobe.METERS_PER_INCH, "NautM-UK": 1853.184 / GeoGlobe.METERS_PER_INCH, "50kilometers": 5e4 / GeoGlobe.METERS_PER_INCH, "150kilometers": 15e4 / GeoGlobe.METERS_PER_INCH }), GeoGlobe.Util.extend(GeoGlobe.INCHES_PER_UNIT, { mm: GeoGlobe.INCHES_PER_UNIT.Meter / 1e3, cm: GeoGlobe.INCHES_PER_UNIT.Meter / 100, dm: 100 * GeoGlobe.INCHES_PER_UNIT.Meter, km: 1e3 * GeoGlobe.INCHES_PER_UNIT.Meter, kmi: GeoGlobe.INCHES_PER_UNIT.nmi, fath: GeoGlobe.INCHES_PER_UNIT.Fathom, ch: GeoGlobe.INCHES_PER_UNIT.IntnlChain, link: GeoGlobe.INCHES_PER_UNIT.IntnlLink, "us-in": GeoGlobe.INCHES_PER_UNIT.inches, "us-ft": GeoGlobe.INCHES_PER_UNIT.Foot, "us-yd": GeoGlobe.INCHES_PER_UNIT.Yard, "us-ch": GeoGlobe.INCHES_PER_UNIT.GunterChain, "us-mi": GeoGlobe.INCHES_PER_UNIT.Mile, "ind-yd": GeoGlobe.INCHES_PER_UNIT.IndianYd37, "ind-ft": GeoGlobe.INCHES_PER_UNIT.IndianFt37, "ind-ch": 20.11669506 / GeoGlobe.METERS_PER_INCH }), GeoGlobe.DOTS_PER_INCH = 96, GeoGlobe.Util.normalizeScale = function (e) { return e > 1 ? 1 / e : e; }, GeoGlobe.Util.getResolutionFromScale = function (e, t) { var i; return e && (null == t && (t = "degrees"), i = 1 / (GeoGlobe.Util.normalizeScale(e) * GeoGlobe.INCHES_PER_UNIT[t] * GeoGlobe.DOTS_PER_INCH)), i; }, GeoGlobe.Util.getScaleFromResolution = function (e, t) { return null == t && (t = "degrees"), e * GeoGlobe.INCHES_PER_UNIT[t] * GeoGlobe.DOTS_PER_INCH; }, GeoGlobe.Util.pagePosition = function (e) { var t = [0, 0], i = GeoGlobe.Util.getViewportElement(); if (!e || e == window || e == i) return t; var r, n = GeoGlobe.IS_GECKO && document.getBoxObjectFor && "absolute" == GeoGlobe.Element.getStyle(e, "position") && ("" == e.style.top || "" == e.style.left), o = null; if (e.getBoundingClientRect) { r = e.getBoundingClientRect(); var a = window.pageYOffset || i.scrollTop, s = window.pageXOffset || i.scrollLeft; t[0] = r.left + s, t[1] = r.top + a; } else if (document.getBoxObjectFor && !n) { r = document.getBoxObjectFor(e); var x = document.getBoxObjectFor(i); t[0] = r.screenX - x.screenX, t[1] = r.screenY - x.screenY; } else { if (t[0] = e.offsetLeft, t[1] = e.offsetTop, (o = e.offsetParent) != e) for (; o;) { t[0] += o.offsetLeft, t[1] += o.offsetTop, o = o.offsetParent; } var l = GeoGlobe.BROWSER_NAME; for (("opera" == l || "safari" == l && "absolute" == GeoGlobe.Element.getStyle(e, "position")) && (t[1] -= document.body.offsetTop), o = e.offsetParent; o && o != document.body;) { t[0] -= o.scrollLeft, "opera" == l && "TR" == o.tagName || (t[1] -= o.scrollTop), o = o.offsetParent; } } return t; }, GeoGlobe.Util.getViewportElement = function () { var e = arguments.callee.viewportElement; return null == e && (e = "msie" == GeoGlobe.BROWSER_NAME && "CSS1Compat" != document.compatMode ? document.body : document.documentElement, arguments.callee.viewportElement = e), e; }, GeoGlobe.Util.isEquivalentUrl = function (e, t, i) { i = i || {}, GeoGlobe.Util.applyDefaults(i, { ignoreCase: !0, ignorePort80: !0, ignoreHash: !0, splitArgs: !1 }); var r = GeoGlobe.Util.createUrlObject(e, i), n = GeoGlobe.Util.createUrlObject(t, i); for (var o in r) { if ("args" !== o && r[o] != n[o]) return !1; } for (var o in r.args) { if (r.args[o] != n.args[o]) return !1; delete n.args[o]; } for (var o in n.args) { return !1; } return !0; }, GeoGlobe.Util.createUrlObject = function (e, t) { if (t = t || {}, !/^\w+:\/\//.test(e)) { var i = window.location, r = i.port ? ":" + i.port : "", n = i.protocol + "//" + i.host.split(":").shift() + r; if (0 === e.indexOf("/")) e = n + e;else { var o = i.pathname.split("/"); o.pop(), e = n + o.join("/") + "/" + e; } } t.ignoreCase && (e = e.toLowerCase()); var a = document.createElement("a"); a.href = e; var s = {}; s.host = a.host.split(":").shift(), s.protocol = a.protocol, t.ignorePort80 ? s.port = "80" == a.port || "0" == a.port ? "" : a.port : s.port = "" == a.port || "0" == a.port ? "80" : a.port, s.hash = t.ignoreHash || "#" === a.hash ? "" : a.hash; var x = a.search; if (!x) { var l = e.indexOf("?"); x = -1 != l ? e.substr(l) : ""; } return s.args = GeoGlobe.Util.getParameters(x, { splitArgs: t.splitArgs }), s.pathname = "/" == a.pathname.charAt(0) ? a.pathname : "/" + a.pathname, s; }, GeoGlobe.Util.removeTail = function (e) { var t = e.indexOf("?"), i = e.indexOf("#"); return -1 == t ? -1 != i ? e.substr(0, i) : e : -1 != i ? e.substr(0, Math.min(t, i)) : e.substr(0, t); }, GeoGlobe.IS_GECKO = (e = navigator.userAgent.toLowerCase(), -1 == e.indexOf("webkit") && -1 != e.indexOf("gecko")), GeoGlobe.CANVAS_SUPPORTED = function () { var e = document.createElement("canvas"); return !(!e.getContext || !e.getContext("2d")); }(), GeoGlobe.BROWSER_NAME = function () { var e = "", t = navigator.userAgent.toLowerCase(); return -1 != t.indexOf("opera") ? e = "opera" : -1 != t.indexOf("msie") ? e = "msie" : -1 != t.indexOf("safari") ? e = "safari" : -1 != t.indexOf("mozilla") && (e = -1 != t.indexOf("firefox") ? "firefox" : "mozilla"), e; }(), GeoGlobe.Util.getBrowserName = function () { return GeoGlobe.BROWSER_NAME; }, GeoGlobe.Util.getScrollbarWidth = function () { var e = GeoGlobe.Util._scrollbarWidth; if (null == e) { var t, i, r = null, n = null; (r = document.createElement("div")).style.position = "absolute", r.style.top = "-1000px", r.style.left = "-1000px", r.style.width = "100px", r.style.height = "50px", r.style.overflow = "hidden", (n = document.createElement("div")).style.width = "100%", n.style.height = "200px", r.appendChild(n), document.body.appendChild(r), t = n.offsetWidth, r.style.overflow = "scroll", i = n.offsetWidth, document.body.removeChild(document.body.lastChild), GeoGlobe.Util._scrollbarWidth = t - i, e = GeoGlobe.Util._scrollbarWidth; } return e; }, GeoGlobe.Util.randomStr = function (e) { for (var t = "", i = [], r = 0; r < e; r++) { var n = Math.ceil(25 * Math.random()); i.push(String.fromCharCode(97 + n)); } for (r = 0; r < e; r++) { t += i[r]; } return t; }, GeoGlobe.Util.globalEval = function (e) { e && GeoGlobe.String.trim(e) && (window.execScript || function (e) { window.eval.call(window, e); })(e); }, GeoGlobe.Util.getResolutionFromScale_DPI = function (e, t, i) { var r; return e && (null == t && (t = "degrees"), r = 1 / (GeoGlobe.Util.normalizeScale(e) * GeoGlobe.INCHES_PER_UNIT[t] * i)), r; }, GeoGlobe.Util.getScaleFromResolution_DPI = function (e, t, i) { return null == t && (t = "degrees"), e * GeoGlobe.INCHES_PER_UNIT[t] * i; }, GeoGlobe.Util.getMapLevelFormResolution = function (e, t) { if (!t) return 0; var i, r, n = Number.POSITIVE_INFINITY, o = e.getResolutions(); for (i = 0, len = o.length; i < len && !((r = Math.abs(o[i] - t)) > n); i++) { n = r; } return Math.max(0, i - 1); }, GeoGlobe.Util.getMapLevelFormScale = function (e, t, i, r) { i = i || "degrees", r = r || 96; var n = GeoGlobe.Util.getResolutionFromScale_DPI(t, i, r); return GeoGlobe.Util.getMapLevelFormResolution(e, n); }, GeoGlobe.Util.delayFun = function (e, t, i) { var r; return function () { var n = this, o = arguments, a = i && !r; clearTimeout(r), r = setTimeout(function () { r = null, i || e.apply(n, o); }, t), a && e.apply(n, o); }; }, GeoGlobe.Util.clone = function (e) { if ("object" != _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e)) return e; if (null == e) return e; var t = e.constructor == Array ? [] : {}; for (var i in e) { t[i] = GeoGlobe.Util.clone(e[i]); } return t; }, GeoGlobe.Util.getType = function (e) { var t = Object.prototype.toString; return e instanceof Element ? "element" : { "[object Boolean]": "boolean", "[object Number]": "number", "[object String]": "string", "[object Function]": "function", "[object Array]": "array", "[object Date]": "date", "[object RegExp]": "regExp", "[object Undefined]": "undefined", "[object Null]": "null", "[object Object]": "object" }[t.call(e)]; }, GeoGlobe.Util.formatNumberToThousands = function (e, t, i) { e = e.toString().replace(/\$|\,/g, ""), isNaN(e) && (e = "0"); var r = e === (e = Math.abs(e)), n = (e = Math.floor(e * Math.pow(10, t) + 0.50000000001)) % Math.pow(10, t); for (e = Math.floor(e / Math.pow(10, t)).toString(), n = n.toString(); n.length < t;) { n = "0" + n; } if (i) for (var o = 0; o < Math.floor((e.length - (1 + o)) / 3); o++) { e = e.substring(0, e.length - (4 * o + 3)) + "," + e.substring(e.length - (4 * o + 3)); } return t > 0 ? (r ? "" : "-") + e + "." + n : (r ? "" : "-") + e; }, GeoGlobe.Util.getFormattedString = function (e, t) { var i = t; if ((i = (i = i.replace(/{a}/g, e.a)).replace(/{b}/g, e.b)).contains("{c")) for (var r = i.split("{c"), n = 0, o = 0; o < r.length - 1; o++) { n = r[o + 1].split("}")[0], i = i.replace(new RegExp("{c" + n + "}", "g"), GeoGlobe.Util.formatNumberToThousands(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.c), "" === n ? 2 : n, !0)); } return i; }, GeoGlobe.Util.getGradientImageData = function (e) { var t = document.createElement("canvas"), i = t.getContext("2d"); t.width = 1, t.height = 256; var r = i.createLinearGradient(0, 0, 0, 256); for (var n in e) { e.hasOwnProperty(n) && r.addColorStop(n, e[n]); } return i.fillStyle = r, i.fillRect(0, 0, 1, 256), i.getImageData(0, 0, 1, 256).data; }, GeoGlobe.Util.getRgbColor = function (e) { if ((e = e.toLowerCase()) && /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e)) { if (4 === e.length) { for (var t = "#", i = 1; i < 4; i += 1) { t += e.slice(i, i + 1).concat(e.slice(i, i + 1)); } e = t; } for (t = [], i = 1; i < 7; i += 2) { t.push(_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()("0x" + e.slice(i, i + 2))); } return "rgb(" + t.join(",") + ")"; } return e.startsWith("rgba") || e.startsWith("hsla") ? e.substring(0, 3) + e.substring(4, e.lastIndexOf(",")) + ")" : e.startsWith("rgb") || e.startsWith("hsl") ? e : ""; }, GeoGlobe.Util.getShadeColor = function (e, t) { e = (e = GeoGlobe.Util.getHexColor(e)).substr(1); var i = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e, 16), r = Math.round(2.55 * t), n = (i >> 16) + r, o = (i >> 8 & 255) + r, a = (255 & i) + r; return "#" + (16777216 + 65536 * (n < 255 ? n < 1 ? 0 : n : 255) + 256 * (o < 255 ? o < 1 ? 0 : o : 255) + (a < 255 ? a < 1 ? 0 : a : 255)).toString(16).slice(1); }, GeoGlobe.Util.getHexColor = function (e) { if (e = e.toLowerCase(), /^(rgb|rgba)/.test(e)) { for (var t = e.split("(")[1].split(")")[0].split(","), i = "#", r = 0; r < 3; r++) { var n = Number(t[r]).toString(16); "0" === n && (n += n), 1 === n.length && (n = "0" + n), i += n; } return 7 !== i.length && (i = e), i; } if (!/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)) return e; var o = e.replace(/#/, "").split(""); if (6 === o.length) return e; if (3 === o.length) { var a = "#"; for (r = 0; r < o.length; r += 1) { a += o[r] + o[r]; } return a; } }, GeoGlobe.Util.transferToLonLat = function (e) { return -238107693.23182276 === e[1] ? [e[0] / 20037508.34 * 180, -90] : [e[0] / 20037508.34 * 180, 180 / Math.PI * (2 * Math.atan(Math.exp(e[1] / 20037508.34 * 180 * Math.PI / 180)) - Math.PI / 2)]; }, GeoGlobe.Util.transferToMercator = function (e) { return -90 === e[1] ? [20037508.34 * e[0] / 180, -238107693.23182276] : [20037508.34 * e[0] / 180, Math.log(Math.tan((90 + e[1]) * Math.PI / 360)) / (Math.PI / 180) * 20037508.34 / 180]; }, GeoGlobe.ProjAxisOrder = { AXIS_ORDER_EN: !0, AXIS_ORDER_NE: !1 }, GeoGlobe.ProjAxisOrder.AxisOrder = { "EPSG:900913": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, WGS84: GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "IGNF:WGS84G": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:4326": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:4490": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:4269": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:2361": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:27700": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:904490": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:4171": GeoGlobe.ProjAxisOrder.AXIS_ORDER_NE, "EPSG:32637": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:32638": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:32639": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:32640": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:32641": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:28991": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:28992": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:31300": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:31370": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2176": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2177": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2178": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2179": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2180": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2154": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:3346": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:3857": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN, "EPSG:2065": GeoGlobe.ProjAxisOrder.AXIS_ORDER_EN }, GeoGlobe.SpatialReference = GeoGlobe.Class({ proj: null, projCode: null, titleRegEx: /\+title=[^\+]*/, initialize: function initialize(e, t) { GeoGlobe.Util.extend(this, t), this.projCode = e, "object" == ("undefined" == typeof Proj4js ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(Proj4js)) && (this.proj = new Proj4js.Proj(e)); }, getCode: function getCode() { return this.proj ? this.proj.srsCode : this.projCode; }, getUnits: function getUnits() { return this.proj ? this.proj.units : null; }, toString: function toString() { return this.getCode(); }, equals: function equals(e) { var t = e, i = !1; if (t) if (t instanceof GeoGlobe.SpatialReference || (t = new GeoGlobe.SpatialReference(t)), "object" == ("undefined" == typeof Proj4js ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(Proj4js)) && this.proj.defData && t.proj.defData) i = this.proj.defData.replace(this.titleRegEx, "") == t.proj.defData.replace(this.titleRegEx, "");else if (t.getCode) { var r = this.getCode(), n = t.getCode(); i = r == n || !!GeoGlobe.SpatialReference.transforms[r] && GeoGlobe.SpatialReference.transforms[r][n] === GeoGlobe.SpatialReference.nullTransform; } return i; }, destroy: function destroy() { delete this.proj, delete this.projCode; }, CLASS_NAME: "GeoGlobe.SpatialReference" }), GeoGlobe.SpatialReference.transforms = {}, GeoGlobe.SpatialReference.defaults = { "EPSG:4326": { units: "degrees", maxExtent: [-180, -90, 180, 90], yx: !0 }, "CRS:84": { units: "degrees", maxExtent: [-180, -90, 180, 90] }, "EPSG:900913": { units: "m", maxExtent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34] } }, GeoGlobe.SpatialReference.addTransform = function (e, t, i) { if (i === GeoGlobe.SpatialReference.nullTransform) { var r = GeoGlobe.SpatialReference.defaults[e]; r && !GeoGlobe.SpatialReference.defaults[t] && (GeoGlobe.SpatialReference.defaults[t] = r); } GeoGlobe.SpatialReference.transforms[e] || (GeoGlobe.SpatialReference.transforms[e] = {}), GeoGlobe.SpatialReference.transforms[e][t] = i; }, GeoGlobe.SpatialReference.transform = function (e, t, i) { if (t && i) if (t instanceof GeoGlobe.SpatialReference || (t = new GeoGlobe.SpatialReference(t)), i instanceof GeoGlobe.SpatialReference || (i = new GeoGlobe.SpatialReference(i)), t.proj && i.proj) e = Proj4js.transform(t.proj, i.proj, e);else { var r = t.getCode(), n = i.getCode(), o = GeoGlobe.SpatialReference.transforms; o[r] && o[r][n] && o[r][n](e); } return e; }, GeoGlobe.SpatialReference.nullTransform = function (e) { return e; }, function () { var e = 20037508.34; function t(t) { return t.x = 180 * t.x / e, t.y = 180 / Math.PI * (2 * Math.atan(Math.exp(t.y / e * Math.PI)) - Math.PI / 2), t; } function i(t) { t.x = t.x * e / 180; var i = Math.log(Math.tan((90 + t.y) * Math.PI / 360)) / Math.PI * e; return t.y = Math.max(-20037508.34, Math.min(i, 20037508.34)), t; } function r(e, r) { var n, o, a, s, x, l = GeoGlobe.SpatialReference.addTransform, c = GeoGlobe.SpatialReference.nullTransform; for (n = 0, o = r.length; n < o; ++n) { for (l(e, a = r[n], i), l(a, e, t), x = n + 1; x < o; ++x) { l(a, s = r[x], c), l(s, a, c); } } } var n, o = ["EPSG:900913", "EPSG:3857", "EPSG:102113", "EPSG:102100"], a = ["CRS:84", "urn:ogc:def:crs:EPSG:6.6:4326", "EPSG:4326"]; for (n = o.length - 1; n >= 0; --n) { r(o[n], a); } for (n = a.length - 1; n >= 0; --n) { r(a[n], o); } }(), GeoGlobe.Console = { log: function log() {}, debug: function debug() {}, info: function info() {}, warn: function warn() {}, error: function error() {}, userError: function userError(e) { alert(e); }, assert: function assert() {}, dir: function dir() {}, dirxml: function dirxml() {}, trace: function trace() {}, group: function group() {}, groupEnd: function groupEnd() {}, time: function time() {}, timeEnd: function timeEnd() {}, profile: function profile() {}, profileEnd: function profileEnd() {}, count: function count() {}, CLASS_NAME: "GeoGlobe.Console" }, function () { for (var e = document.getElementsByTagName("script"), t = 0, i = e.length; t < i; ++t) { if (-1 != e[t].src.indexOf("firebug.js") && console) { GeoGlobe.Util.extend(GeoGlobe.Console, console); break; } } }(), GeoGlobe.ProxyHost = "", GeoGlobe.Request || (GeoGlobe.Request = {}), GeoGlobe.Util.extend(GeoGlobe.Request, { DEFAULT_CONFIG: { method: "GET", url: window.location.href, async: !0, user: void 0, password: void 0, params: null, proxy: GeoGlobe.ProxyHost, headers: {}, data: null, callback: function callback() {}, success: null, failure: null, scope: null }, URL_SPLIT_REGEX: /([^:]*:)\/\/([^:]*:?[^@]*@)?([^:\/\?]*):?([^\/\?]*)/, makeSameOrigin: function makeSameOrigin(e, t) { var i = 0 !== e.indexOf("http"), r = !i && e.match(this.URL_SPLIT_REGEX); if (r) { var n = window.location; i = r[1] == n.protocol && r[3] == n.hostname; var o = r[4], a = n.port; (80 != o && "" != o || "80" != a && "" != a) && (i = i && o == a); } return i || t && (e = "function" == typeof t ? t(e) : e.indexOf("cts?") >= 0 ? t + e : t + encodeURIComponent(e)), e; }, issue: function issue(e) { var t = GeoGlobe.Util.extend(this.DEFAULT_CONFIG, { proxy: GeoGlobe.ProxyHost }); (e = e || {}).headers = e.headers || {}, (e = GeoGlobe.Util.applyDefaults(e, t)).headers = GeoGlobe.Util.applyDefaults(e.headers, t.headers); var i, r = !1; for (i in e.headers) { e.headers.hasOwnProperty(i) && "x-requested-with" === i.toLowerCase() && (r = !0); } !1 === r && (e.headers["X-Requested-With"] = "XMLHttpRequest"); var n = new GeoGlobe.Request.XMLHttpRequest(); e.url = encodeURI(e.url); var o = GeoGlobe.Util.urlAppend(e.url, GeoGlobe.Util.getParameterString(e.params || {})); for (var a in o = GeoGlobe.Request.makeSameOrigin(o, e.proxy), n.open(e.method, o, e.async, e.user, e.password), e.headers) { n.setRequestHeader(a, e.headers[a]); } var s = this; return n.onreadystatechange = function () { n.readyState == GeoGlobe.Request.XMLHttpRequest.DONE && s.runCallbacks({ request: n, config: e, requestUrl: o }); }, !1 === e.async ? n.send(e.data) : window.setTimeout(function () { 0 !== n.readyState && n.send(e.data); }, 0), n; }, runCallbacks: function runCallbacks(e) { var t, i, r = e.request, n = e.config, o = n.scope ? GeoGlobe.Function.bind(n.callback, n.scope) : n.callback; n.success && (t = n.scope ? GeoGlobe.Function.bind(n.success, n.scope) : n.success), n.failure && (i = n.scope ? GeoGlobe.Function.bind(n.failure, n.scope) : n.failure), "file:" == GeoGlobe.Util.createUrlObject(n.url).protocol && r.responseText && (r.status = 200), o(r), (!r.status || r.status >= 200 && r.status < 300) && t && t(r), r.status && (r.status < 200 || r.status >= 300) && i && i(r); }, GET: function GET(e) { return e = GeoGlobe.Util.extend(e, { method: "GET" }), GeoGlobe.Request.issue(e); }, POST: function POST(e) { return (e = GeoGlobe.Util.extend(e, { method: "POST" })).headers = e.headers ? e.headers : {}, "CONTENT-TYPE" in GeoGlobe.Util.upperCaseObject(e.headers) || (e.headers["Content-Type"] = "application/xml"), GeoGlobe.Request.issue(e); }, PUT: function PUT(e) { return (e = GeoGlobe.Util.extend(e, { method: "PUT" })).headers = e.headers ? e.headers : {}, "CONTENT-TYPE" in GeoGlobe.Util.upperCaseObject(e.headers) || (e.headers["Content-Type"] = "application/xml"), GeoGlobe.Request.issue(e); }, DELETE: function DELETE(e) { return e = GeoGlobe.Util.extend(e, { method: "DELETE" }), GeoGlobe.Request.issue(e); }, HEAD: function HEAD(e) { return e = GeoGlobe.Util.extend(e, { method: "HEAD" }), GeoGlobe.Request.issue(e); }, OPTIONS: function OPTIONS(e) { return e = GeoGlobe.Util.extend(e, { method: "OPTIONS" }), GeoGlobe.Request.issue(e); } }), GeoGlobe.nullHandler = function (e) { GeoGlobe.Console.userError(GeoGlobe.i18n("unhandledRequest", { statusText: e.statusText })); }, GeoGlobe.loadURL = function (e, t, i, r, n) { "string" == typeof t && (t = GeoGlobe.Util.getParameters(t)); var o = r || GeoGlobe.nullHandler, a = n || GeoGlobe.nullHandler; return GeoGlobe.Request.GET({ url: e, params: t, success: o, failure: a, scope: i }); }, GeoGlobe.Request.setProxyHost = function (e) { GeoGlobe.ProxyHost = e; }, GeoGlobe.Request.getProxyHost = function () { return GeoGlobe.ProxyHost; }, GeoGlobe.appendToProxy = function (e) { var t = e.split("?"), i = GeoGlobe.ProxyHost + encodeURI(encodeURI(t[0])); return 2 === t.length && (i += "?" + t[1]), i; }, GeoGlobe.loadScript = function (e) { GeoGlobe.Request.GET({ url: e, async: !1, headers: { Accept: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01" }, success: function success(e) { GeoGlobe.Util.globalEval(e.responseText); }, failure: function failure(t) { alert("加载:" + e + " 失败。"); } }); }, function () { var e = window.XMLHttpRequest, t = !!window.controllers, i = window.document.all && !window.opera, r = i && window.navigator.userAgent.match(/MSIE 7.0/); function n() { this._object = e && !r ? new e() : new window.ActiveXObject("Microsoft.XMLHTTP"), this._listeners = []; } function o() { return new n(); } function a(e) { o.onreadystatechange && o.onreadystatechange.apply(e), e.dispatchEvent({ type: "readystatechange", bubbles: !1, cancelable: !1, timeStamp: new Date() + 0 }); } function s(e) { try { e.responseText = e._object.responseText; } catch (e) {} try { e.responseXML = (r = (t = e._object).responseXML, n = t.responseText, i && n && r && !r.documentElement && t.getResponseHeader("Content-Type").match(/[^\/]+\/[^\+]+\+xml/) && ((r = new window.ActiveXObject("Microsoft.XMLDOM")).async = !1, r.validateOnParse = !1, r.loadXML(n)), r && (i && 0 != r.parseError || !r.documentElement || r.documentElement && "parsererror" == r.documentElement.tagName) ? null : r); } catch (e) {} var t, r, n; try { e.status = e._object.status; } catch (e) {} try { e.statusText = e._object.statusText; } catch (e) {} } function x(e) { e._object.onreadystatechange = new window.Function(); } o.prototype = n.prototype, t && e.wrapped && (o.wrapped = e.wrapped), o.UNSENT = 0, o.OPENED = 1, o.HEADERS_RECEIVED = 2, o.LOADING = 3, o.DONE = 4, o.prototype.readyState = o.UNSENT, o.prototype.responseText = "", o.prototype.responseXML = null, o.prototype.status = 0, o.prototype.statusText = "", o.prototype.priority = "NORMAL", o.prototype.onreadystatechange = null, o.onreadystatechange = null, o.onopen = null, o.onsend = null, o.onabort = null, o.prototype.open = function (e, r, n, l, c) { delete this._headers, arguments.length < 3 && (n = !0), this._async = n; var u, h = this, f = this.readyState; i && n && (u = function u() { f != o.DONE && (x(h), h.abort()); }, window.attachEvent("onunload", u)), o.onopen && o.onopen.apply(this, arguments), arguments.length > 4 ? this._object.open(e, r, n, l, c) : arguments.length > 3 ? this._object.open(e, r, n, l) : this._object.open(e, r, n); try { this._object.responseType = "msxml-document"; } catch (e) {} this.readyState = o.OPENED, a(this), this._object.onreadystatechange = function () { t && !n || (h.readyState = h._object.readyState, s(h), h._aborted ? h.readyState = o.UNSENT : (h.readyState == o.DONE && (delete h._data, x(h), i && n && window.detachEvent("onunload", u)), f != h.readyState && a(h), f = h.readyState)); }; }, o.prototype.send = function (e) { o.onsend && o.onsend.apply(this, arguments), arguments.length || (e = null), e && e.nodeType && (e = window.XMLSerializer ? new window.XMLSerializer().serializeToString(e) : e.xml, this._headers["Content-Type"] || this._object.setRequestHeader("Content-Type", "application/xml")), this._data = e, function (e) { if (e._object.send(e._data), t && !e._async) for (e.readyState = o.OPENED, s(e); e.readyState < o.DONE;) { if (e.readyState++, a(e), e._aborted) return; } }(this); }, o.prototype.abort = function () { o.onabort && o.onabort.apply(this, arguments), this.readyState > o.UNSENT && (this._aborted = !0), this._object.abort(), x(this), this.readyState = o.UNSENT, delete this._data; }, o.prototype.getAllResponseHeaders = function () { return this._object.getAllResponseHeaders(); }, o.prototype.getResponseHeader = function (e) { return this._object.getResponseHeader(e); }, o.prototype.setRequestHeader = function (e, t) { return this._headers || (this._headers = {}), this._headers[e] = t, this._object.setRequestHeader(e, t); }, o.prototype.addEventListener = function (e, t, i) { for (var r, n = 0; r = this._listeners[n]; n++) { if (r[0] == e && r[1] == t && r[2] == i) return; } this._listeners.push([e, t, i]); }, o.prototype.removeEventListener = function (e, t, i) { for (var r, n = 0; (r = this._listeners[n]) && (r[0] != e || r[1] != t || r[2] != i); n++) { ; } r && this._listeners.splice(n, 1); }, o.prototype.dispatchEvent = function (e) { var t = { type: e.type, target: this, currentTarget: this, eventPhase: 2, bubbles: e.bubbles, cancelable: e.cancelable, timeStamp: e.timeStamp, stopPropagation: function stopPropagation() {}, preventDefault: function preventDefault() {}, initEvent: function initEvent() {} }; "readystatechange" == t.type && this.onreadystatechange && (this.onreadystatechange.handleEvent || this.onreadystatechange).apply(this, [t]); for (var i, r = 0; i = this._listeners[r]; r++) { i[0] != t.type || i[2] || (i[1].handleEvent || i[1]).apply(this, [t]); } }, o.prototype.toString = function () { return "[object XMLHttpRequest]"; }, o.toString = function () { return "[XMLHttpRequest]"; }, window.Function.prototype.apply || (window.Function.prototype.apply = function (e, t) { t || (t = []), e.__func = this, e.__func(t[0], t[1], t[2], t[3], t[4]), delete e.__func; }), GeoGlobe.Request || (GeoGlobe.Request = {}), GeoGlobe.Request.XMLHttpRequest = o; }(), GeoGlobe.Lang = { code: null, defaultCode: "zh-CN", getCode: function getCode() { return GeoGlobe.Lang.code || GeoGlobe.Lang.setCode(), GeoGlobe.Lang.code; }, setCode: function setCode(e) { var t; e || (e = "msie" == GeoGlobe.BROWSER_NAME ? navigator.userLanguage : navigator.language); var i = e.split("-"); if (i[0] = i[0].toLowerCase(), "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(GeoGlobe.Lang[i[0]]) && (t = i[0]), i[1]) { var r = i[0] + "-" + i[1].toUpperCase(); "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(GeoGlobe.Lang[r]) && (t = r); } t || (GeoGlobe.Console.warn("Failed to find GeoGlobe.Lang." + i.join("-") + " dictionary, falling back to default language"), t = GeoGlobe.Lang.defaultCode), GeoGlobe.Lang.code = t; }, translate: function translate(e, t) { var i = GeoGlobe.Lang[GeoGlobe.Lang.getCode()], r = i && i[e]; return r || (r = e), t && (r = GeoGlobe.String.format(r, t)), r; } }, GeoGlobe.i18n = GeoGlobe.Lang.translate, GeoGlobe.Lang.en = { unhandledRequest: "Unhandled request return ${statusText}", end: "" }, GeoGlobe.Lang["zh-CN"] = { unhandledRequest: "未处理的请求,返回值为 ${statusText}", end: "" }, GeoGlobe.String = { startsWith: function startsWith(e, t) { return 0 == e.indexOf(t); }, contains: function contains(e, t) { return -1 != e.indexOf(t); }, trim: function trim(e) { return e.replace(/^\s\s*/, "").replace(/\s\s*$/, ""); }, camelize: function camelize(e) { for (var t = e.split("-"), i = t[0], r = 1, n = t.length; r < n; r++) { var o = t[r]; i += o.charAt(0).toUpperCase() + o.substring(1); } return i; }, format: function format(e, t, i) { return t || (t = window), e.replace(GeoGlobe.String.tokenRegEx, function (e, r) { for (var n, o = r.split(/\.+/), a = 0; a < o.length && (0 == a && (n = t), void 0 !== n); a++) { n = n[o[a]]; } return "function" == typeof n && (n = i ? n.apply(null, i) : n()), void 0 === n ? "undefined" : n; }); }, tokenRegEx: /\$\{([\w.]+?)\}/g, numberRegEx: /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/, isNumeric: function isNumeric(e) { return GeoGlobe.String.numberRegEx.test(e); }, numericIf: function numericIf(e, t) { var i = e; return !0 === t && null != e && e.replace && (e = e.replace(/^\s*|\s*$/g, "")), GeoGlobe.String.isNumeric(e) ? _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e) : i; } }, GeoGlobe.Number = { decimalSeparator: ".", thousandsSeparator: ",", limitSigDigs: function limitSigDigs(e, t) { var i = 0; return t > 0 && (i = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toPrecision(t))), i; }, format: function format(e, t, i, r) { t = void 0 !== t ? t : 0, i = void 0 !== i ? i : GeoGlobe.Number.thousandsSeparator, r = void 0 !== r ? r : GeoGlobe.Number.decimalSeparator, null != t && (e = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.toFixed(t))); var n = e.toString().split("."); 1 == n.length && null == t && (t = 0); var o, a = n[0]; if (i) for (var s = /(-?[0-9]+)([0-9]{3})/; s.test(a);) { a = a.replace(s, "$1" + i + "$2"); } if (0 == t) o = a;else { var x = n.length > 1 ? n[1] : "0"; null != t && (x += new Array(t - x.length + 1).join("0")), o = a + r + x; } return o; }, zeroPad: function zeroPad(e, t, i) { for (var r = e.toString(i || 10); r.length < t;) { r = "0" + r; } return r; } }, GeoGlobe.Function = { bind: function bind(e, t) { var i = Array.prototype.slice.apply(arguments, [2]); return function () { var r = i.concat(Array.prototype.slice.apply(arguments, [0])); return e.apply(t, r); }; }, bindAsEventListener: function bindAsEventListener(e, t) { return function (i) { return e.call(t, i || window.event); }; }, False: function False() { return !1; }, True: function True() { return !0; }, Void: function Void() {} }, GeoGlobe.Array = { filter: function filter(e, t, i) { var r = []; if (Array.prototype.filter) r = e.filter(t, i);else { var n = e.length; if ("function" != typeof t) throw new TypeError(); for (var o = 0; o < n; o++) { if (o in e) { var a = e[o]; t.call(i, a, o, e) && r.push(a); } } } return r; } }, String.prototype.endsWith || (String.prototype.endsWith = function (e, t) { var i = this.toString(); ("number" != typeof t || !isFinite(t) || Math.floor(t) !== t || t > i.length) && (t = i.length), t -= e.length; var r = i.lastIndexOf(e, t); return -1 !== r && r === t; }), GeoGlobe.Date = { dateRegEx: /^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:(?:T(\d{1,2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(?:[+-]\d{1,2}(?::(\d{2}))?)))|Z)?$/, toISOString: "toISOString" in Date.prototype ? function (e) { return e.toISOString(); } : function (e) { return isNaN(e.getTime()) ? "Invalid Date" : e.getUTCFullYear() + "-" + GeoGlobe.Number.zeroPad(e.getUTCMonth() + 1, 2) + "-" + GeoGlobe.Number.zeroPad(e.getUTCDate(), 2) + "T" + GeoGlobe.Number.zeroPad(e.getUTCHours(), 2) + ":" + GeoGlobe.Number.zeroPad(e.getUTCMinutes(), 2) + ":" + GeoGlobe.Number.zeroPad(e.getUTCSeconds(), 2) + "." + GeoGlobe.Number.zeroPad(e.getUTCMilliseconds(), 3) + "Z"; }, parse: function parse(e) { var t, i = e.match(this.dateRegEx); if (i && (i[1] || i[7])) { var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[1], 10) || 0, n = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[2], 10) - 1 || 0, o = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[3], 10) || 1; t = new Date(Date.UTC(r, n, o)); var a = i[7]; if (a) { var s = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[4], 10), x = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[5], 10), l = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[6]), c = 0 | l, u = Math.round(1e3 * (l - c)); if (t.setUTCHours(s, x, c, u), "Z" !== a) { var h = -1e3 * (60 * _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a, 10) * 60 + 60 * (_babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[8], 10) || 0)); t = new Date(t.getTime() + h); } } } else t = new Date("invalid"); return t; } }, function (e) { "object" == ("undefined" == typeof exports ? "undefined" : _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(exports)) && void 0 !== module ? module.exports = e() : "function" == typeof define && __webpack_require__(121) ? define([], e) : ("undefined" != typeof window ? window : void 0 !== global ? global : "undefined" != typeof self ? self : this)._GeoGlobe = e(); }(function () { return function e(t, i, r) { function n(a, s) { if (!i[a]) { if (!t[a]) { if (!s && "function" == typeof require && require) return require(a, !0); if (o) return o(a, !0); var x = new Error("Cannot find module '" + a + "'"); throw x.code = "MODULE_NOT_FOUND", x; } var l = i[a] = { exports: {} }; t[a][0].call(l.exports, function (e) { return n(t[a][1][e] || e); }, l, l.exports, e, t, i, r); } return i[a].exports; } for (var o = "function" == typeof require && require, a = 0; a < r.length; a++) { n(r[a]); } return n; }({ 1: [function (e, t, i) { var r = function r(e, t) { if (isNaN(e) || isNaN(t)) throw new Error("Invalid LngLat object: (" + e + ", " + t + ")"); this.lng = +e, this.lat = +t; }; r.prototype.wrap = function () { return new r((i = ((this.lng - (e = -180)) % (t = 180 - e) + t) % t + e) === e ? 180 : i, this.lat); var e, t, i; }, r.prototype.toArray = function () { return [this.lng, this.lat]; }, r.prototype.toString = function () { return "LngLat(" + this.lng + ", " + this.lat + ")"; }, r.prototype.toBounds = function (t) { var i = 360 * t / 40075017, n = i / Math.cos(Math.PI / 180 * this.lat); return new (e("./lng_lat_bounds"))(new r(this.lng - n, this.lat - i), new r(this.lng + n, this.lat + i)); }, r.convert = function (e) { if (e instanceof r) return e; if (_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) && 2 === e.length) return new r(Number(e[0]), Number(e[1])); if (!_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e) && null !== e) return new r(Number(e.lng), Number(e.lat)); throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, or an array of [, ]"); }, t.exports = r; }, { "./lng_lat_bounds": 2 }], 2: [function (e, t, i) { var r = e("./lng_lat"), n = function n(e, t) { e && (t ? this.setSouthWest(e).setNorthEast(t) : 4 === e.length ? this.setSouthWest([e[0], e[1]]).setNorthEast([e[2], e[3]]) : this.setSouthWest(e[0]).setNorthEast(e[1])); }; n.prototype.setNorthEast = function (e) { return this._ne = e instanceof r ? new r(e.lng, e.lat) : r.convert(e), this; }, n.prototype.setSouthWest = function (e) { return this._sw = e instanceof r ? new r(e.lng, e.lat) : r.convert(e), this; }, n.prototype.extend = function (e) { var t, i, o = this._sw, a = this._ne; if (e instanceof r) t = e, i = e;else { if (!(e instanceof n)) return _babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default()(e) ? e.every(_babel_runtime_corejs2_core_js_array_is_array__WEBPACK_IMPORTED_MODULE_4___default.a) ? this.extend(n.convert(e)) : this.extend(r.convert(e)) : this; if (t = e._sw, i = e._ne, !t || !i) return this; } return o || a ? (o.lng = Math.min(t.lng, o.lng), o.lat = Math.min(t.lat, o.lat), a.lng = Math.max(i.lng, a.lng), a.lat = Math.max(i.lat, a.lat)) : (this._sw = new r(t.lng, t.lat), this._ne = new r(i.lng, i.lat)), this; }, n.prototype.getCenter = function () { return new r((this._sw.lng + this._ne.lng) / 2, (this._sw.lat + this._ne.lat) / 2); }, n.prototype.getSouthWest = function () { return this._sw; }, n.prototype.getNorthEast = function () { return this._ne; }, n.prototype.getNorthWest = function () { return new r(this.getWest(), this.getNorth()); }, n.prototype.getSouthEast = function () { return new r(this.getEast(), this.getSouth()); }, n.prototype.getWest = function () { return this._sw.lng; }, n.prototype.getSouth = function () { return this._sw.lat; }, n.prototype.getEast = function () { return this._ne.lng; }, n.prototype.getNorth = function () { return this._ne.lat; }, n.prototype.toArray = function () { return [this._sw.toArray(), this._ne.toArray()]; }, n.prototype.toString = function () { return "LngLatBounds(" + this._sw.toString() + ", " + this._ne.toString() + ")"; }, n.convert = function (e) { return !e || e instanceof n ? e : new n(e); }, t.exports = n; }, { "./lng_lat": 1 }], 3: [function (e, t, i) { var r = e("./geo/lng_lat"), n = e("./geo/lng_lat_bounds"); t.exports = { LngLat: r, LngLatBounds: n }; }, { "./geo/lng_lat": 1, "./geo/lng_lat_bounds": 2 }] }, {}, [3])(3); }), window.GeoGlobe.Util.extend(window.GeoGlobe, window._GeoGlobe), GeoGlobe.LngLat.prototype.CLASS_NAME = "GeoGlobe.LngLat", GeoGlobe.LngLatBounds.prototype.clone = function () { return new GeoGlobe.LngLatBounds(this._sw, this._ne); }, GeoGlobe.LngLatBounds.prototype.contains = function (e, t, i) { return null == i && (i = !0), null != e && null != t && (e = GeoGlobe.Util.toFloat(e), t = GeoGlobe.Util.toFloat(t), i ? e >= this._sw.lng && e <= this._ne.lng && t >= this._sw.lat && t <= this._ne.lat : e > this._sw.lng && e < this._ne.lng && t > this._sw.lat && t < this._ne.lat); }, GeoGlobe.LngLatBounds.prototype.getWidth = function () { return this._ne.lng - this._sw.lng; }, GeoGlobe.LngLatBounds.prototype.containsLonLat = function (e, t) { "boolean" == typeof t && (t = { inclusive: t }), t = t || {}; var i = this.contains(e.lng, e.lat, t.inclusive), r = t.worldBounds; if (r && !i) { var n = r.getWidth(), o = (r._sw.lng + r._ne.lng) / 2, a = Math.round((e.lng - o) / n); i = this.containsLonLat({ lng: e.lng - a * n, lat: e.lat }, { inclusive: t.inclusive }); } return i; }, GeoGlobe.LngLatBounds.prototype.equals = function (e) { var t = !1; return null != e && (t = this._sw.lng == e._sw.lng && this._ne.lng == e._ne.lng && this._ne.lat == e._ne.lat && this._sw.lat == e._sw.lat), t; }, GeoGlobe.LngLatBounds.prototype.toBBOX = function (e, t) { null == e && (e = 6); var i = Math.pow(10, e), r = Math.round(this._sw.lng * i) / i, n = Math.round(this._sw.lat * i) / i, o = Math.round(this._ne.lng * i) / i, a = Math.round(this._ne.lat * i) / i; return !0 === t ? n + "," + r + "," + a + "," + o : r + "," + n + "," + o + "," + a; }, GeoGlobe.LngLatBounds.prototype.toGeometry = function () { return new GeoGlobe.Geometry.Polygon([new GeoGlobe.Geometry.LinearRing([new GeoGlobe.Geometry.Point(this._sw.lng, this._sw.lat), new GeoGlobe.Geometry.Point(this._ne.lng, this._sw.lat), new GeoGlobe.Geometry.Point(this._ne.lng, this._ne.lat), new GeoGlobe.Geometry.Point(this._sw.lng, this._ne.lat)])]); }, GeoGlobe.LngLatBounds.prototype.getCenterLonLat = function () { return this.centerLonLat || (this.centerLonLat = new GeoGlobe.LngLat((this._sw.lng + this._ne.lng) / 2, (this._sw.lat + this._ne.lat) / 2)), this.centerLonLat; }, GeoGlobe.LngLatBounds.prototype.CLASS_NAME = "GeoGlobe.LngLatBounds", GeoGlobe.LngLatBounds.fromString = function (e, t) { var i = e.split(","); return GeoGlobe.LngLatBounds.fromArray(i, t); }, GeoGlobe.LngLatBounds.fromArray = function (e, t) { return !0 === t ? new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(e[1], e[0]), new GeoGlobe.LngLat(e[3], e[2])) : new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(e[0], e[1]), new GeoGlobe.LngLat(e[2], e[3])); }, GeoGlobe.Geometry = GeoGlobe.Class4OL({ id: null, parent: null, bounds: null, initialize: function initialize() { this.id = GeoGlobe.Util.createUniqueID(this.CLASS_NAME + "_"); }, destroy: function destroy() { this.id = null, this.bounds = null; }, clone: function clone() { return new GeoGlobe.Geometry(); }, setBounds: function setBounds(e) { e && (this.bounds = e.clone()); }, clearBounds: function clearBounds() { this.bounds = null, this.parent && this.parent.clearBounds(); }, extendBounds: function extendBounds(e) { this.getBounds() ? this.bounds.extend(e) : this.setBounds(e); }, getBounds: function getBounds() { return null == this.bounds && this.calculateBounds(), this.bounds; }, calculateBounds: function calculateBounds() {}, distanceTo: function distanceTo(e, t) {}, getVertices: function getVertices(e) {}, atPoint: function atPoint(e, t, i) { var r = !1; if (null != this.getBounds() && null != e) { var n = null != t ? t : 0, o = null != i ? i : 0, a = new GeoGlobe.LngLat(this.bounds._sw.lng - n, this.bounds._sw.lat - o), s = new GeoGlobe.LngLat(this.bounds._ne.lng + n, this.bounds._ne.lat + o); r = new GeoGlobe.LngLatBounds(a, s).containsLonLat(e); } return r; }, getLength: function getLength() { return 0; }, getArea: function getArea() { return 0; }, getCentroid: function getCentroid() { return null; }, toString: function toString() { return GeoGlobe.Format && GeoGlobe.Format.WKT ? GeoGlobe.Format.WKT.prototype.write(new GeoGlobe.Feature(this)) : Object.prototype.toString.call(this); }, CLASS_NAME: "GeoGlobe.Geometry" }), GeoGlobe.Geometry.fromWKT = function (e) { var t; if (GeoGlobe.Format && GeoGlobe.Format.WKT) { var i = GeoGlobe.Geometry.fromWKT.format; i || (i = new GeoGlobe.Format.WKT(), GeoGlobe.Geometry.fromWKT.format = i); var r = i.read(e); if (r instanceof GeoGlobe.Feature) t = r.geometry;else if (GeoGlobe.Util.isArray(r)) { for (var n = r.length, o = new Array(n), a = 0; a < n; ++a) { o[a] = r[a].geometry; } t = new GeoGlobe.Geometry.Collection(o); } } return t; }, GeoGlobe.Geometry.segmentsIntersect = function (e, t, i) { var r = i && i.point, n = i && i.tolerance, o = !1, a = e.x1 - t.x1, s = e.y1 - t.y1, x = e.x2 - e.x1, l = e.y2 - e.y1, c = t.y2 - t.y1, u = t.x2 - t.x1, h = c * x - u * l, f = u * s - c * a, d = x * s - l * a; if (0 == h) 0 == f && 0 == d && (o = !0);else { var g = f / h, p = d / h; if (g >= 0 && g <= 1 && p >= 0 && p <= 1) if (r) { var m = e.x1 + g * x, b = e.y1 + g * l; o = new GeoGlobe.Geometry.Point(m, b); } else o = !0; } if (n) if (o) { if (r) { var v, C = [e, t]; e: for (var y = 0; y < 2; ++y) { v = C[y]; for (var _ = 1; _ < 3; ++_) { if (m = v["x" + _], b = v["y" + _], Math.sqrt(Math.pow(m - o.x, 2) + Math.pow(b - o.y, 2)) < n) { o.x = m, o.y = b; break e; } } } } } else { var A, I, w; C = [e, t]; e: for (y = 0; y < 2; ++y) { for (A = C[y], I = C[(y + 1) % 2], _ = 1; _ < 3; ++_) { if (w = { x: A["x" + _], y: A["y" + _] }, GeoGlobe.Geometry.distanceToSegment(w, I).distance < n) { o = !r || new GeoGlobe.Geometry.Point(w.x, w.y); break e; } } } } return o; }, GeoGlobe.Geometry.distanceToSegment = function (e, t) { var i = GeoGlobe.Geometry.distanceSquaredToSegment(e, t); return i.distance = Math.sqrt(i.distance), i; }, GeoGlobe.Geometry.distanceSquaredToSegment = function (e, t) { var i, r, n = e.x, o = e.y, a = t.x1, s = t.y1, x = t.x2, l = t.y2, c = x - a, u = l - s, h = 0 == c && 0 == u ? 0 : (c * (n - a) + u * (o - s)) / (Math.pow(c, 2) + Math.pow(u, 2)); return h <= 0 ? (i = a, r = s) : h >= 1 ? (i = x, r = l) : (i = a + h * c, r = s + h * u), { distance: Math.pow(i - n, 2) + Math.pow(r - o, 2), x: i, y: r, along: h }; }, GeoGlobe.Geometry.fromGeoJson = function (e) { var t; if (GeoGlobe.Format && GeoGlobe.Format.GeoJSON) { format = new GeoGlobe.Format.GeoJSON(); var i = null; try { i = format.parseGeometry(geojson); } catch (e) { console.log(e); } t = i; } return t; }, GeoGlobe.Geometry.Collection = GeoGlobe.Class4OL(GeoGlobe.Geometry, { components: null, componentTypes: null, initialize: function initialize(e) { GeoGlobe.Geometry.prototype.initialize.apply(this, arguments), this.components = [], null != e && this.addComponents(e); }, destroy: function destroy() { this.components.length = 0, this.components = null, GeoGlobe.Geometry.prototype.destroy.apply(this, arguments); }, clone: function clone() { for (var geometry = eval("new " + this.CLASS_NAME + "()"), i = 0, len = this.components.length; i < len; i++) { geometry.addComponent(this.components[i].clone()); } return GeoGlobe.Util.applyDefaults(geometry, this), geometry; }, getComponentsString: function getComponentsString() { for (var e = [], t = 0, i = this.components.length; t < i; t++) { e.push(this.components[t].toShortString()); } return e.join(","); }, calculateBounds: function calculateBounds() { this.bounds = null; var e = new GeoGlobe.LngLatBounds(), t = this.components; if (t) for (var i = 0, r = t.length; i < r; i++) { e.extend(t[i].getBounds()); } null != e._sw && null != e._sw && null != e._ne && null != e._ne && null != e._sw.lng && null != e._sw.lat && null != e._ne.lng && null != e._ne.lat && this.setBounds(e); }, addComponents: function addComponents(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = 0, i = e.length; t < i; t++) { this.addComponent(e[t]); } }, addComponent: function addComponent(e, t) { var i = !1; if (e && (null == this.componentTypes || GeoGlobe.Util.indexOf(this.componentTypes, e.CLASS_NAME) > -1)) { if (null != t && t < this.components.length) { var r = this.components.slice(0, t), n = this.components.slice(t, this.components.length); r.push(e), this.components = r.concat(n); } else this.components.push(e); e.parent = this, this.clearBounds(), i = !0; } return i; }, removeComponents: function removeComponents(e) { var t = !1; GeoGlobe.Util.isArray(e) || (e = [e]); for (var i = e.length - 1; i >= 0; --i) { t = this.removeComponent(e[i]) || t; } return t; }, removeComponent: function removeComponent(e) { return GeoGlobe.Util.removeItem(this.components, e), this.clearBounds(), !0; }, getLength: function getLength() { for (var e = 0, t = 0, i = this.components.length; t < i; t++) { e += this.components[t].getLength(); } return e; }, getArea: function getArea() { for (var e = 0, t = 0, i = this.components.length; t < i; t++) { e += this.components[t].getArea(); } return e; }, getGeodesicArea: function getGeodesicArea(e) { for (var t = 0, i = 0, r = this.components.length; i < r; i++) { t += this.components[i].getGeodesicArea(e); } return t; }, getCentroid: function getCentroid(e) { if (!e) return this.components.length && this.components[0].getCentroid(); var t = this.components.length; if (!t) return !1; for (var i, r = [], n = [], o = 0, a = Number.MAX_VALUE, s = 0; s < t; ++s) { var x = (i = this.components[s]).getArea(), l = i.getCentroid(!0); isNaN(x) || isNaN(l.x) || isNaN(l.y) || (r.push(x), o += x, a = x < a && x > 0 ? x : a, n.push(l)); } if (t = r.length, 0 === o) { for (s = 0; s < t; ++s) { r[s] = 1; } o = r.length; } else { for (s = 0; s < t; ++s) { r[s] /= a; } o /= a; } var c = 0, u = 0; for (s = 0; s < t; ++s) { l = n[s], x = r[s], c += l.x * x, u += l.y * x; } return new GeoGlobe.Geometry.Point(c / o, u / o); }, getGeodesicLength: function getGeodesicLength(e) { for (var t = 0, i = 0, r = this.components.length; i < r; i++) { t += this.components[i].getGeodesicLength(e); } return t; }, move: function move(e, t) { for (var i = 0, r = this.components.length; i < r; i++) { this.components[i].move(e, t); } }, rotate: function rotate(e, t) { for (var i = 0, r = this.components.length; i < r; ++i) { this.components[i].rotate(e, t); } }, resize: function resize(e, t, i) { for (var r = 0; r < this.components.length; ++r) { this.components[r].resize(e, t, i); } return this; }, distanceTo: function distanceTo(e, t) { for (var i, r, n, o = !(t && !1 === t.edge) && t && t.details, a = Number.POSITIVE_INFINITY, s = 0, x = this.components.length; s < x && (i = this.components[s].distanceTo(e, t), !((n = o ? i.distance : i) < a && (r = i, 0 == (a = n)))); ++s) { ; } return r; }, equals: function equals(e) { var t = !0; if (e && e.CLASS_NAME && this.CLASS_NAME == e.CLASS_NAME) { if (GeoGlobe.Util.isArray(e.components) && e.components.length == this.components.length) { for (var i = 0, r = this.components.length; i < r; ++i) { if (!this.components[i].equals(e.components[i])) { t = !1; break; } } } else t = !1; } else t = !1; return t; }, transform: function transform(e, t) { if (e && t) { for (var i = 0, r = this.components.length; i < r; i++) { this.components[i].transform(e, t); } this.bounds = null; } return this; }, intersects: function intersects(e) { for (var t = !1, i = 0, r = this.components.length; i < r && !(t = e.intersects(this.components[i])); ++i) { ; } return t; }, getVertices: function getVertices(e) { for (var t = [], i = 0, r = this.components.length; i < r; ++i) { Array.prototype.push.apply(t, this.components[i].getVertices(e)); } return t; }, CLASS_NAME: "GeoGlobe.Geometry.Collection" }), GeoGlobe.Geometry.Point = GeoGlobe.Class4OL(GeoGlobe.Geometry, { x: null, y: null, initialize: function initialize(e, t) { GeoGlobe.Geometry.prototype.initialize.apply(this, arguments), this.x = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e), this.y = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t); }, clone: function clone(e) { return null == e && (e = new GeoGlobe.Geometry.Point(this.x, this.y)), GeoGlobe.Util.applyDefaults(e, this), e; }, calculateBounds: function calculateBounds() { var e = new GeoGlobe.LngLat(this.x, this.y), t = new GeoGlobe.LngLat(this.x, this.y); this.bounds = new GeoGlobe.LngLatBounds(e, t); }, distanceTo: function distanceTo(e, t) { var i, r, n, o, a, s, x = !(t && !1 === t.edge) && t && t.details; return e instanceof GeoGlobe.Geometry.Point ? (r = this.x, n = this.y, o = e.x, a = e.y, i = Math.sqrt(Math.pow(r - o, 2) + Math.pow(n - a, 2)), s = x ? { x0: r, y0: n, x1: o, y1: a, distance: i } : i) : (s = e.distanceTo(this, t), x && (s = { x0: s.x1, y0: s.y1, x1: s.x0, y1: s.y0, distance: s.distance })), s; }, equals: function equals(e) { var t = !1; return null != e && (t = this.x == e.x && this.y == e.y || isNaN(this.x) && isNaN(this.y) && isNaN(e.x) && isNaN(e.y)), t; }, toShortString: function toShortString() { return this.x + ", " + this.y; }, move: function move(e, t) { this.x = this.x + e, this.y = this.y + t, this.clearBounds(); }, rotate: function rotate(e, t) { e *= Math.PI / 180; var i = this.distanceTo(t), r = e + Math.atan2(this.y - t.y, this.x - t.x); this.x = t.x + i * Math.cos(r), this.y = t.y + i * Math.sin(r), this.clearBounds(); }, getCentroid: function getCentroid() { return new GeoGlobe.Geometry.Point(this.x, this.y); }, resize: function resize(e, t, i) { return i = null == i ? 1 : i, this.x = t.x + e * i * (this.x - t.x), this.y = t.y + e * (this.y - t.y), this.clearBounds(), this; }, intersects: function intersects(e) { return "GeoGlobe.Geometry.Point" == e.CLASS_NAME ? this.equals(e) : e.intersects(this); }, transform: function transform(e, t) { return e && t && (GeoGlobe.SpatialReference.transform(this, e, t), this.bounds = null), this; }, getVertices: function getVertices(e) { return [this]; }, CLASS_NAME: "GeoGlobe.Geometry.Point" }), GeoGlobe.Geometry.MultiPoint = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, { componentTypes: ["GeoGlobe.Geometry.Point"], addPoint: function addPoint(e, t) { this.addComponent(e, t); }, removePoint: function removePoint(e) { this.removeComponent(e); }, CLASS_NAME: "GeoGlobe.Geometry.MultiPoint" }), GeoGlobe.Geometry.Curve = GeoGlobe.Class4OL(GeoGlobe.Geometry.MultiPoint, { componentTypes: ["GeoGlobe.Geometry.Point"], getLength: function getLength() { var e = 0; if (this.components && this.components.length > 1) for (var t = 1, i = this.components.length; t < i; t++) { e += this.components[t - 1].distanceTo(this.components[t]); } return e; }, getGeodesicLength: function getGeodesicLength(e) { var t = this; if (e) { var i = new GeoGlobe.SpatialReference("EPSG:4326"); i.equals(e) || (t = this.clone().transform(e, i)); } var r = 0; if (t.components && t.components.length > 1) for (var n, o, a = 1, s = t.components.length; a < s; a++) { n = t.components[a - 1], o = t.components[a], r += GeoGlobe.Util.distVincenty({ lng: n.x, lat: n.y }, { lng: o.x, lat: o.y }); } return 1e3 * r; }, CLASS_NAME: "GeoGlobe.Geometry.Curve" }), GeoGlobe.Geometry.LineString = GeoGlobe.Class4OL(GeoGlobe.Geometry.Curve, { removeComponent: function removeComponent(e) { var t = this.components && this.components.length > 2; return t && GeoGlobe.Geometry.Collection.prototype.removeComponent.apply(this, arguments), t; }, intersects: function intersects(e) { var t = !1, i = e.CLASS_NAME; if ("GeoGlobe.Geometry.LineString" == i || "GeoGlobe.Geometry.LinearRing" == i || "GeoGlobe.Geometry.Point" == i) { var r, n, o, a, s, x, l, c, u, h = this.getSortedSegments(); r = "GeoGlobe.Geometry.Point" == i ? [{ x1: e.x, y1: e.y, x2: e.x, y2: e.y }] : e.getSortedSegments(); e: for (var f = 0, d = h.length; f < d; ++f) { o = (n = h[f]).x1, a = n.x2, s = n.y1, x = n.y2; for (var g = 0, p = r.length; g < p && !((l = r[g]).x1 > a); ++g) { if (!(l.x2 < o) && (c = l.y1, u = l.y2, !(Math.min(c, u) > Math.max(s, x)) && !(Math.max(c, u) < Math.min(s, x)) && GeoGlobe.Geometry.segmentsIntersect(n, l))) { t = !0; break e; } } } } else t = e.intersects(this); return t; }, getSortedSegments: function getSortedSegments() { for (var e, t, i = this.components.length - 1, r = new Array(i), n = 0; n < i; ++n) { e = this.components[n], t = this.components[n + 1], e.x < t.x ? r[n] = { x1: e.x, y1: e.y, x2: t.x, y2: t.y } : r[n] = { x1: t.x, y1: t.y, x2: e.x, y2: e.y }; } return r.sort(function (e, t) { return e.x1 - t.x1; }); }, splitWithSegment: function splitWithSegment(e, t) { for (var i, r, n, o, a = !(t && !1 === t.edge), s = t && t.tolerance, x = [], l = this.getVertices(), c = [], u = [], h = !1, f = { point: !0, tolerance: s }, d = null, g = 0, p = l.length - 2; g <= p; ++g) { if (i = l[g], c.push(i.clone()), r = l[g + 1], o = { x1: i.x, y1: i.y, x2: r.x, y2: r.y }, (n = GeoGlobe.Geometry.segmentsIntersect(e, o, f)) instanceof GeoGlobe.Geometry.Point && (n.x === e.x1 && n.y === e.y1 || n.x === e.x2 && n.y === e.y2 || n.equals(i) || n.equals(r) || a)) { if (n.equals(u[u.length - 1]) || u.push(n.clone()), 0 === g && n.equals(i)) continue; if (n.equals(r)) continue; h = !0, n.equals(i) || c.push(n), x.push(new GeoGlobe.Geometry.LineString(c)), c = [n.clone()]; } } if (h && (c.push(r.clone()), x.push(new GeoGlobe.Geometry.LineString(c))), u.length > 0) { var m = e.x1 < e.x2 ? 1 : -1, b = e.y1 < e.y2 ? 1 : -1; d = { lines: x, points: u.sort(function (e, t) { return m * e.x - m * t.x || b * e.y - b * t.y; }) }; } return d; }, split: function split(e, t) { var i, r, n, o, a = null, s = t && t.mutual; if (e instanceof GeoGlobe.Geometry.LineString) { var x, l, c, u, h, f, d = this.getVertices(), g = []; n = []; for (var p = 0, m = d.length - 2; p <= m; ++p) { x = d[p], l = d[p + 1], c = { x1: x.x, y1: x.y, x2: l.x, y2: l.y }, o = o || [e], s && g.push(x.clone()); for (var b = 0; b < o.length; ++b) { if ((u = o[b].splitWithSegment(c, t)) && ((h = u.lines).length > 0 && (h.unshift(b, 1), Array.prototype.splice.apply(o, h), b += h.length - 2), s)) for (var v = 0, C = u.points.length; v < C; ++v) { (f = u.points[v]).equals(x) || (g.push(f), n.push(new GeoGlobe.Geometry.LineString(g)), g = f.equals(l) ? [] : [f.clone()]); } } } s && n.length > 0 && g.length > 0 && (g.push(l.clone()), n.push(new GeoGlobe.Geometry.LineString(g))); } else a = e.splitWith(this, t); return o && o.length > 1 ? r = !0 : o = [], n && n.length > 1 ? i = !0 : n = [], (r || i) && (a = s ? [n, o] : o), a; }, splitWith: function splitWith(e, t) { return e.split(this, t); }, getVertices: function getVertices(e) { return !0 === e ? [this.components[0], this.components[this.components.length - 1]] : !1 === e ? this.components.slice(1, this.components.length - 1) : this.components.slice(); }, distanceTo: function distanceTo(e, t) { var i, r = !(t && !1 === t.edge) && t && t.details, n = {}, o = Number.POSITIVE_INFINITY; if (e instanceof GeoGlobe.Geometry.Point) { for (var a, s = this.getSortedSegments(), x = e.x, l = e.y, c = 0, u = s.length; c < u; ++c) { if (a = s[c], (i = GeoGlobe.Geometry.distanceToSegment(e, a)).distance < o) { if (n = i, 0 === (o = i.distance)) break; } else if (a.x2 > x && (l > a.y1 && l < a.y2 || l < a.y1 && l > a.y2)) break; } n = r ? { distance: n.distance, x0: n.x, y0: n.y, x1: x, y1: l } : n.distance; } else if (e instanceof GeoGlobe.Geometry.LineString) { var h, f, d, g, p, m = this.getSortedSegments(), b = e.getSortedSegments(), v = b.length, C = { point: !0 }; e: for (c = 0, u = m.length; c < u; ++c) { g = (h = m[c]).x1, p = h.y1; for (var y = 0; y < v; ++y) { if (f = b[y], d = GeoGlobe.Geometry.segmentsIntersect(h, f, C)) { o = 0, n = { distance: 0, x0: d.x, y0: d.y, x1: d.x, y1: d.y }; break e; } (i = GeoGlobe.Geometry.distanceToSegment({ x: g, y: p }, f)).distance < o && (n = { distance: o = i.distance, x0: g, y0: p, x1: i.x, y1: i.y }); } } if (r || (n = n.distance), 0 !== o && h) { i = e.distanceTo(new GeoGlobe.Geometry.Point(h.x2, h.y2), t); var _ = r ? i.distance : i; _ < o && (n = r ? { distance: o, x0: i.x1, y0: i.y1, x1: i.x0, y1: i.y0 } : _); } } else n = e.distanceTo(this, t), r && (n = { distance: n.distance, x0: n.x1, y0: n.y1, x1: n.x0, y1: n.y0 }); return n; }, simplify: function simplify(e) { if (this && null !== this) { var t = this.getVertices(); if (t.length < 3) return this; var i = function (_i) { function i(_x10, _x11, _x12) { return _i.apply(this, arguments); } i.toString = function () { return _i.toString(); }; return i; }(function (e, t, i) { return Math.abs(0.5 * (e.x * t.y + t.x * i.y + i.x * e.y - t.x * e.y - i.x * t.y - e.x * i.y)) / Math.sqrt(Math.pow(e.x - t.x, 2) + Math.pow(e.y - t.y, 2)) * 2; }), r = t.length - 1, n = []; for (n.push(0), n.push(r); t[0].equals(t[r]);) { r--, n.push(r); } !function e(t, r, o, a) { for (var s, x = 0, l = 0, c = r; c < o; c++) { (s = i(t[r], t[o], t[c])) > x && (x = s, l = c); } x > a && l != r && (n.push(l), e(t, r, l, a), e(t, l, o, a)); }(t, 0, r, e); var o = []; n.sort(function (e, t) { return e - t; }); for (var a = 0; a < n.length; a++) { o.push(t[n[a]]); } return new GeoGlobe.Geometry.LineString(o); } return this; }, CLASS_NAME: "GeoGlobe.Geometry.LineString" }), GeoGlobe.Geometry.LineString.createCurveLine = function (e) { for (var t = [], i = 0; i < e.length - 1; i++) { var r = GeoGlobe.Geometry.LineString.getCurveCoordinatesByTwoPoints(e[i], e[i + 1]); r && r.length > 0 && (t = t.concat(r)); } return new GeoGlobe.Geometry.LineString(t); }, GeoGlobe.Geometry.LineString.getCurveCoordinatesByTwoPoints = function (e, t) { if (!(e && t && e instanceof GeoGlobe.Geometry.Point && t instanceof GeoGlobe.Geometry.Point)) return null; var i = function i(e) { return 1 - 2 * e + e * e; }, r = function r(e) { return 2 * e - 2 * e * e; }, n = function n(e) { return e * e; }; curveCoordinates = []; var o, a, s, x, l, c, u = 0, h = 0; if (void 0 !== t) { var f = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.y), d = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t.y), g = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.x), p = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t.x); for (p > g && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(p - g) > 180 && g < 0 && (g = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(360 + g)), g > p && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(g - p) > 180 && p < 0 && (p = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(360 + p)), c = 0, d == f ? (o = 0, a = g - p) : p == g ? (o = Math.PI / 2, a = f - d) : (o = Math.atan((d - f) / (p - g)), a = (d - f) / Math.sin(o)), 0 == c && (c = o + Math.PI / 5), l = (s = a / 2) * Math.cos(c) + g, x = s * Math.sin(c) + f, u = 0; u < 31; u++) { curveCoordinates.push(new GeoGlobe.Geometry.Point(g * i(h) + l * r(h) + p * n(h), f * i(h) + x * r(h) + d * n(h))), h += 1 / 30; } return curveCoordinates; } "undefined" != typeof curveCoordinates && (curveCoordinates = []); }, GeoGlobe.Geometry.LinearRing = GeoGlobe.Class4OL(GeoGlobe.Geometry.LineString, { componentTypes: ["GeoGlobe.Geometry.Point"], addComponent: function addComponent(e, t) { var i = !1, r = this.components.pop(); null == t && e.equals(r) || (i = GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, arguments)); var n = this.components[0]; return GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, [n]), i; }, removeComponent: function removeComponent(e) { var t = this.components && this.components.length > 3; if (t) { this.components.pop(), GeoGlobe.Geometry.Collection.prototype.removeComponent.apply(this, arguments); var i = this.components[0]; GeoGlobe.Geometry.Collection.prototype.addComponent.apply(this, [i]); } return t; }, move: function move(e, t) { for (var i = 0, r = this.components.length; i < r - 1; i++) { this.components[i].move(e, t); } }, rotate: function rotate(e, t) { for (var i = 0, r = this.components.length; i < r - 1; ++i) { this.components[i].rotate(e, t); } }, resize: function resize(e, t, i) { for (var r = 0, n = this.components.length; r < n - 1; ++r) { this.components[r].resize(e, t, i); } return this; }, transform: function transform(e, t) { if (e && t) { for (var i = 0, r = this.components.length; i < r - 1; i++) { this.components[i].transform(e, t); } this.bounds = null; } return this; }, getCentroid: function getCentroid() { if (this.components) { var e = this.components.length; if (e > 0 && e <= 2) return this.components[0].clone(); if (e > 2) { var t = 0, i = 0, r = this.components[0].x, n = this.components[0].y, o = -1 * this.getArea(); if (0 != o) { for (var a = 0; a < e - 1; a++) { var s = this.components[a], x = this.components[a + 1]; t += (s.x + x.x - 2 * r) * ((s.x - r) * (x.y - n) - (x.x - r) * (s.y - n)), i += (s.y + x.y - 2 * n) * ((s.x - r) * (x.y - n) - (x.x - r) * (s.y - n)); } var l = r + t / (6 * o), c = n + i / (6 * o); } else { for (a = 0; a < e - 1; a++) { t += this.components[a].x, i += this.components[a].y; } l = t / (e - 1), c = i / (e - 1); } return new GeoGlobe.Geometry.Point(l, c); } return null; } }, getArea: function getArea() { var e = 0; if (this.components && this.components.length > 2) { for (var t = 0, i = 0, r = this.components.length; i < r - 1; i++) { var n = this.components[i], o = this.components[i + 1]; t += (n.x + o.x) * (o.y - n.y); } e = -t / 2; } return e; }, getGeodesicArea: function getGeodesicArea(e) { var t = this; if (e) { var i = new GeoGlobe.SpatialReference("EPSG:4326"); i.equals(e) || (t = this.clone().transform(e, i)); } var r = 0, n = t.components && t.components.length; if (n > 2) { for (var o, a, s = 0; s < n - 1; s++) { o = t.components[s], a = t.components[s + 1], r += GeoGlobe.Util.rad(a.x - o.x) * (2 + Math.sin(GeoGlobe.Util.rad(o.y)) + Math.sin(GeoGlobe.Util.rad(a.y))); } r = 6378137 * r * 6378137 / 2; } return r; }, containsPoint: function containsPoint(e) { for (var t, i, r, n, o, a, s, x, l, c = GeoGlobe.Number.limitSigDigs, u = c(e.x, 14), h = c(e.y, 14), f = this.components.length - 1, d = 0, g = 0; g < f; ++g) { if (r = c((t = this.components[g]).x, 14), n = c(t.y, 14), o = c((i = this.components[g + 1]).x, 14), n != (a = c(i.y, 14))) { if ((s = c(((x = o) - r) / ((l = a) - n) * (h - l) + x, 14)) == u && (n < a && h >= n && h <= a || n > a && h <= n && h >= a)) { d = -1; break; } s <= u || r != o && (s < Math.min(r, o) || s > Math.max(r, o)) || (n < a && h >= n && h < a || n > a && h < n && h >= a) && ++d; } else if (h == n && (r <= o && u >= r && u <= o || r >= o && u <= r && u >= o)) { d = -1; break; } } return -1 == d ? 1 : !!(1 & d); }, intersects: function intersects(e) { var t = !1; if ("GeoGlobe.Geometry.Point" == e.CLASS_NAME) t = this.containsPoint(e);else if ("GeoGlobe.Geometry.LineString" == e.CLASS_NAME) t = e.intersects(this);else if ("GeoGlobe.Geometry.LinearRing" == e.CLASS_NAME) t = GeoGlobe.Geometry.LineString.prototype.intersects.apply(this, [e]);else for (var i = 0, r = e.components.length; i < r && !(t = e.components[i].intersects(this)); ++i) { ; } return t; }, getVertices: function getVertices(e) { return !0 === e ? [] : this.components.slice(0, this.components.length - 1); }, CLASS_NAME: "GeoGlobe.Geometry.LinearRing" }), GeoGlobe.Geometry.Polygon = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, { componentTypes: ["GeoGlobe.Geometry.LinearRing"], getArea: function getArea() { var e = 0; if (this.components && this.components.length > 0) { e += Math.abs(this.components[0].getArea()); for (var t = 1, i = this.components.length; t < i; t++) { e -= Math.abs(this.components[t].getArea()); } } return e; }, getGeodesicArea: function getGeodesicArea(e) { var t = 0; if (this.components && this.components.length > 0) { t += Math.abs(this.components[0].getGeodesicArea(e)); for (var i = 1, r = this.components.length; i < r; i++) { t -= Math.abs(this.components[i].getGeodesicArea(e)); } } return t; }, containsPoint: function containsPoint(e) { var t = this.components.length, i = !1; if (t > 0 && 1 !== (i = this.components[0].containsPoint(e)) && i && t > 1) for (var r, n = 1; n < t; ++n) { if (r = this.components[n].containsPoint(e)) { i = 1 === r && 1; break; } } return i; }, intersects: function intersects(e) { var t, i, r = !1; if ("GeoGlobe.Geometry.Point" == e.CLASS_NAME) r = this.containsPoint(e);else if ("GeoGlobe.Geometry.LineString" == e.CLASS_NAME || "GeoGlobe.Geometry.LinearRing" == e.CLASS_NAME) { for (t = 0, i = this.components.length; t < i && !(r = e.intersects(this.components[t])); ++t) { ; } if (!r) for (t = 0, i = e.components.length; t < i && !(r = this.containsPoint(e.components[t])); ++t) { ; } } else for (t = 0, i = e.components.length; t < i && !(r = this.intersects(e.components[t])); ++t) { ; } if (!r && "GeoGlobe.Geometry.Polygon" == e.CLASS_NAME) { var n = this.components[0]; for (t = 0, i = n.components.length; t < i && !(r = e.containsPoint(n.components[t])); ++t) { ; } } return r; }, distanceTo: function distanceTo(e, t) { return t && !1 === t.edge && this.intersects(e) ? 0 : GeoGlobe.Geometry.Collection.prototype.distanceTo.apply(this, [e, t]); }, CLASS_NAME: "GeoGlobe.Geometry.Polygon" }), GeoGlobe.Geometry.Polygon.createRegularPolygon = function (e, t, i, r) { var n, o, a, s = Math.PI * (1 / i - 0.5); r && (s += r / 180 * Math.PI); for (var x = [], l = 0; l < i; ++l) { n = s + 2 * l * Math.PI / i, o = e.x + t * Math.cos(n), a = e.y + t * Math.sin(n), x.push(new GeoGlobe.Geometry.Point(o, a)); } var c = new GeoGlobe.Geometry.LinearRing(x); return new GeoGlobe.Geometry.Polygon([c]); }, GeoGlobe.Geometry.MultiLineString = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, { componentTypes: ["GeoGlobe.Geometry.LineString"], split: function split(e, t) { for (var i, r, n, o, a, s = null, x = t && t.mutual, l = [], c = [e], u = 0, h = this.components.length; u < h; ++u) { r = this.components[u], o = !1; for (var f = 0; f < c.length; ++f) { if (i = r.split(c[f], t)) { if (x) { for (var d = 0, g = (n = i[0]).length; d < g; ++d) { 0 === d && l.length ? l[l.length - 1].addComponent(n[d]) : l.push(new GeoGlobe.Geometry.MultiLineString([n[d]])); } o = !0, i = i[1]; } if (i.length) { i.unshift(f, 1), Array.prototype.splice.apply(c, i); break; } } } o || (l.length ? l[l.length - 1].addComponent(r.clone()) : l = [new GeoGlobe.Geometry.MultiLineString(r.clone())]); } return l && l.length > 1 ? o = !0 : l = [], c && c.length > 1 ? a = !0 : c = [], (o || a) && (s = x ? [l, c] : c), s; }, splitWith: function splitWith(e, t) { var i, r, n, o, a, s, x, l = null, c = t && t.mutual; if (e instanceof GeoGlobe.Geometry.LineString) { x = [], s = [e]; for (var u = 0, h = this.components.length; u < h; ++u) { a = !1, r = this.components[u]; for (var f = 0; f < s.length; ++f) { if (i = s[f].split(r, t)) { c && ((n = i[0]).length && (n.unshift(f, 1), Array.prototype.splice.apply(s, n), f += n.length - 2), 0 === (i = i[1]).length && (i = [r.clone()])); for (var d = 0, g = i.length; d < g; ++d) { 0 === d && x.length ? x[x.length - 1].addComponent(i[d]) : x.push(new GeoGlobe.Geometry.MultiLineString([i[d]])); } a = !0; } } a || (x.length ? x[x.length - 1].addComponent(r.clone()) : x = [new GeoGlobe.Geometry.MultiLineString([r.clone()])]); } } else l = e.split(this); return s && s.length > 1 ? o = !0 : s = [], x && x.length > 1 ? a = !0 : x = [], (o || a) && (l = c ? [s, x] : x), l; }, CLASS_NAME: "GeoGlobe.Geometry.MultiLineString" }), GeoGlobe.Geometry.MultiPolygon = GeoGlobe.Class4OL(GeoGlobe.Geometry.Collection, { componentTypes: ["GeoGlobe.Geometry.Polygon"], CLASS_NAME: "GeoGlobe.Geometry.MultiPolygon" }), GeoGlobe.State = { UNKNOWN: "Unknown", INSERT: "Insert", UPDATE: "Update", DELETE: "Delete" }, GeoGlobe.Feature = GeoGlobe.Class4OL({ id: null, fid: null, lonlat: null, geometry: null, attributes: null, data: null, bounds: null, state: null, url: null, modified: null, initialize: function initialize(e, t) { this.data = null != t ? t : {}, this.id = GeoGlobe.Util.createUniqueID(this.CLASS_NAME + "_"), this.lonlat = null, this.geometry = e || null, this.state = null, this.attributes = {}, t && (this.attributes = GeoGlobe.Util.extend(this.attributes, t)); }, destroy: function destroy() { this.geometry = null, this.modified = null, this.id = null, this.lonlat = null, this.data = null; }, clone: function clone() { return new GeoGlobe.Feature(this.geometry ? this.geometry.clone() : null, this.attributes); }, createMarker: function createMarker() { return null; }, destroyMarker: function destroyMarker() {}, createPopup: function createPopup() { return null; }, atPoint: function atPoint(e, t, i) { var r = !1; return this.geometry && (r = this.geometry.atPoint(e, t, i)), r; }, destroyPopup: function destroyPopup() {}, toState: function toState(e) { if (e == GeoGlobe.State.UPDATE) switch (this.state) { case GeoGlobe.State.UNKNOWN: case GeoGlobe.State.DELETE: this.state = e; break; case GeoGlobe.State.UPDATE: case GeoGlobe.State.INSERT: } else if (e == GeoGlobe.State.INSERT) switch (this.state) { case GeoGlobe.State.UNKNOWN: break; default: this.state = e; } else if (e == GeoGlobe.State.DELETE) switch (this.state) { case GeoGlobe.State.INSERT: case GeoGlobe.State.DELETE: break; case GeoGlobe.State.UNKNOWN: case GeoGlobe.State.UPDATE: this.state = e; } else e == GeoGlobe.State.UNKNOWN && (this.state = e); }, CLASS_NAME: "GeoGlobe.Feature" }), GeoGlobe.Feature.getBoundsByFeatures = function (e) { for (var t = e.length, i = new Array(t), r = 0; r < t; ++r) { i[r] = e[r].geometry; } var n = new GeoGlobe.Geometry.Collection(i); return n.calculateBounds(), n.bounds; }, GeoGlobe.Feature.fromGeoJson = function (e) { if (GeoGlobe.Format && GeoGlobe.Format.GeoJSON) { format = new GeoGlobe.Format.GeoJSON(); var t = format.read(e); } return t; }, GeoGlobe.Filter = GeoGlobe.Class4OL({ initialize: function initialize(e) { GeoGlobe.Util.extend(this, e); }, destroy: function destroy() {}, evaluate: function evaluate(e) { return !0; }, clone: function clone() { return null; }, toString: function toString() { return GeoGlobe.Format && GeoGlobe.Format.CQL ? GeoGlobe.Format.CQL.prototype.write(this) : Object.prototype.toString.call(this); }, CLASS_NAME: "GeoGlobe.Filter" }), GeoGlobe.Filter.FeatureId = GeoGlobe.Class4OL(GeoGlobe.Filter, { fids: null, type: "FID", initialize: function initialize(e) { this.fids = [], GeoGlobe.Filter.prototype.initialize.apply(this, [e]); }, evaluate: function evaluate(e) { for (var t = 0, i = this.fids.length; t < i; t++) { if ((e.fid || e.id) == this.fids[t]) return !0; } return !1; }, clone: function clone() { var e = new GeoGlobe.Filter.FeatureId(); return GeoGlobe.Util.extend(e, this), e.fids = this.fids.slice(), e; }, CLASS_NAME: "GeoGlobe.Filter.FeatureId" }), GeoGlobe.Filter.Logical = GeoGlobe.Class4OL(GeoGlobe.Filter, { filters: null, type: null, initialize: function initialize(e) { this.filters = [], GeoGlobe.Filter.prototype.initialize.apply(this, [e]); }, destroy: function destroy() { this.filters = null, GeoGlobe.Filter.prototype.destroy.apply(this); }, evaluate: function evaluate(e) { var t, i; switch (this.type) { case GeoGlobe.Filter.Logical.AND: for (t = 0, i = this.filters.length; t < i; t++) { if (0 == this.filters[t].evaluate(e)) return !1; } return !0; case GeoGlobe.Filter.Logical.OR: for (t = 0, i = this.filters.length; t < i; t++) { if (1 == this.filters[t].evaluate(e)) return !0; } return !1; case GeoGlobe.Filter.Logical.NOT: return !this.filters[0].evaluate(e); } }, clone: function clone() { for (var e = [], t = 0, i = this.filters.length; t < i; ++t) { e.push(this.filters[t].clone()); } return new GeoGlobe.Filter.Logical({ type: this.type, filters: e }); }, CLASS_NAME: "GeoGlobe.Filter.Logical" }), GeoGlobe.Filter.Logical.AND = "&&", GeoGlobe.Filter.Logical.OR = "||", GeoGlobe.Filter.Logical.NOT = "!", GeoGlobe.Filter.Comparison = GeoGlobe.Class4OL(GeoGlobe.Filter, { type: null, property: null, value: null, matchCase: !0, lowerBoundary: null, upperBoundary: null, initialize: function initialize(e) { GeoGlobe.Filter.prototype.initialize.apply(this, [e]), this.type === GeoGlobe.Filter.Comparison.LIKE && void 0 === e.matchCase && (this.matchCase = null); }, evaluate: function evaluate(e) { e instanceof GeoGlobe.Feature && (e = e.attributes); var t, i = !1, r = e[this.property]; if (void 0 === r) return !1; switch (this.type) { case GeoGlobe.Filter.Comparison.EQUAL_TO: t = this.value, i = this.matchCase || "string" != typeof r || "string" != typeof t ? r == t : r.toUpperCase() == t.toUpperCase(); break; case GeoGlobe.Filter.Comparison.NOT_EQUAL_TO: t = this.value, i = this.matchCase || "string" != typeof r || "string" != typeof t ? r != t : r.toUpperCase() != t.toUpperCase(); break; case GeoGlobe.Filter.Comparison.LESS_THAN: i = r < this.value; break; case GeoGlobe.Filter.Comparison.GREATER_THAN: i = r > this.value; break; case GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO: i = r <= this.value; break; case GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO: i = r >= this.value; break; case GeoGlobe.Filter.Comparison.BETWEEN: i = r >= this.lowerBoundary && r <= this.upperBoundary; break; case GeoGlobe.Filter.Comparison.LIKE: i = new RegExp(this.value, "gi").test(r); break; case GeoGlobe.Filter.Comparison.IS_NULL: i = null === r; } return i; }, value2regex: function value2regex(e, t, i) { if ("." == e) throw new Error("'.' is an unsupported wildCard character for GeoGlobe.Filter.Comparison"); return e = e || "*", t = t || ".", i = i || "!", this.value = this.value.replace(new RegExp("\\" + i + "(.|$)", "g"), "\\$1"), this.value = this.value.replace(new RegExp("\\" + t, "g"), "."), this.value = this.value.replace(new RegExp("\\" + e, "g"), ".*"), this.value = this.value.replace(new RegExp("\\\\.\\*", "g"), "\\" + e), this.value = this.value.replace(new RegExp("\\\\\\.", "g"), "\\" + t), this.value; }, regex2value: function regex2value() { var e = this.value; return (e = (e = (e = (e = e.replace(/!/g, "!!")).replace(/(\\)?\\\./g, function (e, t) { return t ? e : "!."; })).replace(/(\\)?\\\*/g, function (e, t) { return t ? e : "!*"; })).replace(/\\\\/g, "\\")).replace(/\.\*/g, "*"); }, clone: function clone() { return GeoGlobe.Util.extend(new GeoGlobe.Filter.Comparison(), this); }, CLASS_NAME: "GeoGlobe.Filter.Comparison" }), GeoGlobe.Filter.Comparison.EQUAL_TO = "==", GeoGlobe.Filter.Comparison.NOT_EQUAL_TO = "!=", GeoGlobe.Filter.Comparison.LESS_THAN = "<", GeoGlobe.Filter.Comparison.GREATER_THAN = ">", GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO = "<=", GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO = ">=", GeoGlobe.Filter.Comparison.BETWEEN = "..", GeoGlobe.Filter.Comparison.LIKE = "~", GeoGlobe.Filter.Comparison.IS_NULL = "NULL", GeoGlobe.Filter.Spatial = GeoGlobe.Class4OL(GeoGlobe.Filter, { type: null, property: null, value: null, distance: null, distanceUnits: null, evaluate: function evaluate(e) { var t = !1; switch (this.type) { case GeoGlobe.Filter.Spatial.BBOX: case GeoGlobe.Filter.Spatial.INTERSECTS: if (e.geometry) { var i = this.value; "GeoGlobe.LngLatBounds" == this.value.CLASS_NAME && (i = this.value.toGeometry()), e.geometry.intersects(i) && (t = !0); } break; default: throw new Error("evaluate is not implemented for this filter type."); } return t; }, clone: function clone() { var e = GeoGlobe.Util.applyDefaults({ value: this.value && this.value.clone && this.value.clone() }, this); return new GeoGlobe.Filter.Spatial(e); }, CLASS_NAME: "GeoGlobe.Filter.Spatial" }), GeoGlobe.Filter.Spatial.BBOX = "BBOX", GeoGlobe.Filter.Spatial.INTERSECTS = "INTERSECTS", GeoGlobe.Filter.Spatial.DWITHIN = "DWITHIN", GeoGlobe.Filter.Spatial.WITHIN = "WITHIN", GeoGlobe.Filter.Spatial.CONTAINS = "CONTAINS", GeoGlobe.Filter.Function = GeoGlobe.Class4OL(GeoGlobe.Filter, { name: null, params: null, CLASS_NAME: "GeoGlobe.Filter.Function" }), GeoGlobe.Protocol = GeoGlobe.Class4OL({ format: null, options: null, autoDestroy: !0, defaultFilter: null, initialize: function initialize(e) { e = e || {}, GeoGlobe.Util.extend(this, e), this.options = e; }, mergeWithDefaultFilter: function mergeWithDefaultFilter(e) { return e && this.defaultFilter ? new GeoGlobe.Filter.Logical({ type: GeoGlobe.Filter.Logical.AND, filters: [this.defaultFilter, e] }) : e || this.defaultFilter || void 0; }, destroy: function destroy() { this.options = null, this.format = null; }, read: function read(e) { (e = e || {}).filter = this.mergeWithDefaultFilter(e.filter); }, create: function create() {}, update: function update() {}, "delete": function _delete() {}, commit: function commit() {}, abort: function abort(e) {}, createCallback: function createCallback(e, t, i) { return GeoGlobe.Function.bind(function () { e.apply(this, [t, i]); }, this); }, CLASS_NAME: "GeoGlobe.Protocol" }), GeoGlobe.Protocol.Response = GeoGlobe.Class4OL({ code: null, requestType: null, last: !0, features: null, data: null, reqFeatures: null, priv: null, error: null, initialize: function initialize(e) { GeoGlobe.Util.extend(this, e); }, success: function success() { return this.code > 0; }, CLASS_NAME: "GeoGlobe.Protocol.Response" }), GeoGlobe.Protocol.Response.SUCCESS = 1, GeoGlobe.Protocol.Response.FAILURE = 0, GeoGlobe.Protocol.HTTP = GeoGlobe.Class4OL(GeoGlobe.Protocol, { url: null, headers: null, params: null, callback: null, scope: null, readWithPOST: !1, updateWithPOST: !1, deleteWithPOST: !1, wildcarded: !1, srsInBBOX: !1, initialize: function initialize(e) { if (e = e || {}, this.params = {}, this.headers = {}, GeoGlobe.Protocol.prototype.initialize.apply(this, arguments), !this.filterToParams && GeoGlobe.Format.QueryStringFilter) { var t = new GeoGlobe.Format.QueryStringFilter({ wildcarded: this.wildcarded, srsInBBOX: this.srsInBBOX }); this.filterToParams = function (e, i) { return t.write(e, i); }; } }, destroy: function destroy() { this.params = null, this.headers = null, GeoGlobe.Protocol.prototype.destroy.apply(this); }, read: function read(e) { GeoGlobe.Protocol.prototype.read.apply(this, arguments), (e = e || {}).params = GeoGlobe.Util.applyDefaults(e.params, this.options.params), (e = GeoGlobe.Util.applyDefaults(e, this.options)).filter && this.filterToParams && (e.params = this.filterToParams(e.filter, e.params)); var t = void 0 !== e.readWithPOST ? e.readWithPOST : this.readWithPOST, i = new GeoGlobe.Protocol.Response({ requestType: "read" }); if (t) { var r = e.headers || {}; r["Content-Type"] = "application/x-www-form-urlencoded", i.priv = GeoGlobe.Request.POST({ url: e.url, callback: this.createCallback(this.handleRead, i, e), data: GeoGlobe.Util.getParameterString(e.params), headers: r }); } else i.priv = GeoGlobe.Request.GET({ url: e.url, callback: this.createCallback(this.handleRead, i, e), params: e.params, headers: e.headers }); return i; }, handleRead: function handleRead(e, t) { this.handleResponse(e, t); }, create: function create(e, t) { t = GeoGlobe.Util.applyDefaults(t, this.options); var i = new GeoGlobe.Protocol.Response({ reqFeatures: e, requestType: "create" }); return i.priv = GeoGlobe.Request.POST({ url: t.url, callback: this.createCallback(this.handleCreate, i, t), headers: t.headers, data: this.format.write(e) }), i; }, handleCreate: function handleCreate(e, t) { this.handleResponse(e, t); }, update: function update(e, t) { var i = (t = t || {}).url || e.url || this.options.url + "/" + e.fid; t = GeoGlobe.Util.applyDefaults(t, this.options); var r = new GeoGlobe.Protocol.Response({ reqFeatures: e, requestType: "update" }), n = this.updateWithPOST ? "POST" : "PUT"; return r.priv = GeoGlobe.Request[n]({ url: i, callback: this.createCallback(this.handleUpdate, r, t), headers: t.headers, data: this.format.write(e) }), r; }, handleUpdate: function handleUpdate(e, t) { this.handleResponse(e, t); }, "delete": function _delete(e, t) { var i = (t = t || {}).url || e.url || this.options.url + "/" + e.fid; t = GeoGlobe.Util.applyDefaults(t, this.options); var r = new GeoGlobe.Protocol.Response({ reqFeatures: e, requestType: "delete" }), n = this.deleteWithPOST ? "POST" : "DELETE", o = { url: i, callback: this.createCallback(this.handleDelete, r, t), headers: t.headers }; return this.deleteWithPOST && (o.data = this.format.write(e)), r.priv = GeoGlobe.Request[n](o), r; }, handleDelete: function handleDelete(e, t) { this.handleResponse(e, t); }, handleResponse: function handleResponse(e, t) { var i = e.priv; t.callback && (i.status >= 200 && i.status < 300 ? ("delete" != e.requestType && (e.features = this.parseFeatures(i)), e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE, t.callback.call(t.scope, e)); }, parseFeatures: function parseFeatures(e) { var t = e.responseXML; return t && t.documentElement || (t = e.responseText), !t || t.length <= 0 ? null : this.format.read(t); }, commit: function commit(e, t) { t = GeoGlobe.Util.applyDefaults(t, this.options); var i = [], r = 0, n = {}; n[GeoGlobe.State.INSERT] = [], n[GeoGlobe.State.UPDATE] = [], n[GeoGlobe.State.DELETE] = []; for (var o, a, s = [], x = 0, l = e.length; x < l; ++x) { (a = n[(o = e[x]).state]) && (a.push(o), s.push(o)); } var c = (n[GeoGlobe.State.INSERT].length > 0 ? 1 : 0) + n[GeoGlobe.State.UPDATE].length + n[GeoGlobe.State.DELETE].length, u = !0, h = new GeoGlobe.Protocol.Response({ reqFeatures: s }); function f(e) { this.callUserCallback(e, t), u = u && e.success(), ++r >= c && t.callback && (h.code = u ? GeoGlobe.Protocol.Response.SUCCESS : GeoGlobe.Protocol.Response.FAILURE, t.callback.apply(t.scope, [h])); } var d = n[GeoGlobe.State.INSERT]; for (d.length > 0 && i.push(this.create(d, GeoGlobe.Util.applyDefaults({ callback: function callback(e) { for (var t = e.features ? e.features.length : 0, i = new Array(t), r = 0; r < t; ++r) { i[r] = e.features[r].fid; } h.insertIds = i, f.apply(this, [e]); }, scope: this }, t.create))), x = (d = n[GeoGlobe.State.UPDATE]).length - 1; x >= 0; --x) { i.push(this.update(d[x], GeoGlobe.Util.applyDefaults({ callback: f, scope: this }, t.update))); } for (x = (d = n[GeoGlobe.State.DELETE]).length - 1; x >= 0; --x) { i.push(this["delete"](d[x], GeoGlobe.Util.applyDefaults({ callback: f, scope: this }, t["delete"]))); } return i; }, abort: function abort(e) { e && e.priv.abort(); }, callUserCallback: function callUserCallback(e, t) { var i = t[e.requestType]; i && i.callback && i.callback.call(i.scope, e); }, CLASS_NAME: "GeoGlobe.Protocol.HTTP" }), GeoGlobe.Protocol.WFS = function (e) { e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Protocol.WFS.DEFAULTS); var t = GeoGlobe.Protocol.WFS["v" + e.version.replace(/\./g, "_")]; if (!t) throw "Unsupported WFS version: " + e.version; return new t(e); }, GeoGlobe.Protocol.WFS.DEFAULTS = { version: "1.0.0" }, GeoGlobe.Protocol.WFS.v1 = GeoGlobe.Class4OL(GeoGlobe.Protocol, { version: null, srsName: "EPSG:4326", featureType: null, featureNS: null, geometryName: "the_geom", schema: null, featurePrefix: "feature", formatOptions: null, readFormat: null, readOptions: null, initialize: function initialize(e) { GeoGlobe.Protocol.prototype.initialize.apply(this, [e]), e.format || (this.format = GeoGlobe.Format.WFST(GeoGlobe.Util.extend({ version: this.version, featureType: this.featureType, featureNS: this.featureNS, featurePrefix: this.featurePrefix, geometryName: this.geometryName, srsName: this.srsName, schema: this.schema }, this.formatOptions))), !e.geometryName && _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.format.version) > 1 && this.setGeometryName(null); }, destroy: function destroy() { this.options && !this.options.format && this.format.destroy(), this.format = null, GeoGlobe.Protocol.prototype.destroy.apply(this); }, read: function read(e) { GeoGlobe.Protocol.prototype.read.apply(this, arguments), e = GeoGlobe.Util.extend({}, e), GeoGlobe.Util.applyDefaults(e, this.options || {}); var t = new GeoGlobe.Protocol.Response({ requestType: "read" }), i = GeoGlobe.Format.XML.prototype.write.apply(this.format, [this.format.writeNode("wfs:GetFeature", e)]); return t.priv = GeoGlobe.Request.POST({ url: e.url, callback: this.createCallback(this.handleRead, t, e), params: e.params, headers: e.headers, data: i }), t; }, setFeatureType: function setFeatureType(e) { this.featureType = e, this.format.featureType = e; }, setGeometryName: function setGeometryName(e) { this.geometryName = e, this.format.geometryName = e; }, handleRead: function handleRead(e, t) { if (t = GeoGlobe.Util.extend({}, t), GeoGlobe.Util.applyDefaults(t, this.options), t.callback) { var i = e.priv; if (i.status >= 200 && i.status < 300) { var r = this.parseResponse(i, t.readOptions); r && !1 !== r.success ? (t.readOptions && "object" == t.readOptions.output ? GeoGlobe.Util.extend(e, r) : e.features = r, e.code = GeoGlobe.Protocol.Response.SUCCESS) : (e.code = GeoGlobe.Protocol.Response.FAILURE, e.error = r); } else e.code = GeoGlobe.Protocol.Response.FAILURE; t.callback.call(t.scope, e); } }, parseResponse: function parseResponse(e, t) { var i = e.responseXML; if (i && i.documentElement || (i = e.responseText), !i || i.length <= 0) return null; var r = null; try { r = null !== this.readFormat ? this.readFormat.read(i) : this.format.read(i, t); } catch (e) { var n = "程序运行异常:" + e.name + "," + e.message; alert(n); } if (!this.featureNS) { var o = this.readFormat || this.format; this.featureNS = o.featureNS, o.autoConfig = !1, this.geometryName || this.setGeometryName(o.geometryName); } return r; }, commit: function commit(e, t) { t = GeoGlobe.Util.extend({}, t), GeoGlobe.Util.applyDefaults(t, this.options); var i = new GeoGlobe.Protocol.Response({ requestType: "commit", reqFeatures: e }); return i.priv = GeoGlobe.Request.POST({ url: t.url, headers: t.headers, data: this.format.write(e, t), callback: this.createCallback(this.handleCommit, i, t) }), i; }, handleCommit: function handleCommit(e, t) { if (t.callback) { var i = e.priv, r = i.responseXML; r && r.documentElement || (r = i.responseText); var n = this.format.read(r) || {}; e.insertIds = n.insertIds || [], n.success ? e.code = GeoGlobe.Protocol.Response.SUCCESS : (e.code = GeoGlobe.Protocol.Response.FAILURE, e.error = n), t.callback.call(t.scope, e); } }, filterDelete: function filterDelete(e, t) { t = GeoGlobe.Util.extend({}, t), GeoGlobe.Util.applyDefaults(t, this.options), new GeoGlobe.Protocol.Response({ requestType: "commit" }); var i = this.format.createElementNSPlus("wfs:Transaction", { attributes: { service: "WFS", version: this.version } }), r = this.format.createElementNSPlus("wfs:Delete", { attributes: { typeName: (t.featureNS ? this.featurePrefix + ":" : "") + t.featureType } }); t.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, t.featureNS); var n = this.format.writeNode("ogc:Filter", e); r.appendChild(n), i.appendChild(r); var o = GeoGlobe.Format.XML.prototype.write.apply(this.format, [i]); return GeoGlobe.Request.POST({ url: this.url, callback: t.callback || function () {}, data: o }); }, abort: function abort(e) { e && e.priv.abort(); }, CLASS_NAME: "GeoGlobe.Protocol.WFS.v1" }), GeoGlobe.Protocol.WFS.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Protocol.WFS.v1, { version: "1.0.0", CLASS_NAME: "GeoGlobe.Protocol.WFS.v1_0_0" }), GeoGlobe.Protocol.WFS.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Protocol.WFS.v1, { version: "1.1.0", initialize: function initialize(e) { GeoGlobe.Protocol.WFS.v1.prototype.initialize.apply(this, arguments), this.outputFormat && !this.readFormat && ("gml2" == this.outputFormat.toLowerCase() ? this.readFormat = new GeoGlobe.Format.GML.v2({ featureType: this.featureType, featureNS: this.featureNS, geometryName: this.geometryName }) : "json" == this.outputFormat.toLowerCase() && (this.readFormat = new GeoGlobe.Format.GeoJSON())); }, CLASS_NAME: "GeoGlobe.Protocol.WFS.v1_1_0" }), GeoGlobe.Protocol.CSW = function (e) { e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Protocol.CSW.DEFAULTS); var t = GeoGlobe.Protocol.CSW["v" + e.version.replace(/\./g, "_")]; if (!t) throw "Unsupported CSW version: " + e.version; return new t(e); }, GeoGlobe.Protocol.CSW.DEFAULTS = { version: "2.0.2" }, GeoGlobe.Protocol.CSW.v2_0_2 = GeoGlobe.Class4OL(GeoGlobe.Protocol, { formatOptions: null, initialize: function initialize(e) { GeoGlobe.Protocol.prototype.initialize.apply(this, [e]), e.format || (this.format = new GeoGlobe.Format.CSWGetRecords.v2_0_2(GeoGlobe.Util.extend({}, this.formatOptions))); }, destroy: function destroy() { this.options && !this.options.format && this.format.destroy(), this.format = null, GeoGlobe.Protocol.prototype.destroy.apply(this); }, read: function read(e) { e = GeoGlobe.Util.extend({}, e), GeoGlobe.Util.applyDefaults(e, this.options || {}); var t = new GeoGlobe.Protocol.Response({ requestType: "read" }), i = this.format.write(e.params || e); return t.priv = GeoGlobe.Request.POST({ url: e.url, callback: this.createCallback(this.handleRead, t, e), params: e.params, headers: e.headers, data: i }), t; }, handleRead: function handleRead(e, t) { if (t.callback) { var i = e.priv; i.status >= 200 && i.status < 300 ? (e.data = this.parseData(i), e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE, t.callback.call(t.scope, e); } }, parseData: function parseData(e) { var t = e.responseXML; return t && t.documentElement || (t = e.responseText), !t || t.length <= 0 ? null : this.format.read(t); }, CLASS_NAME: "GeoGlobe.Protocol.CSW.v2_0_2" }), GeoGlobe.Protocol.Script = GeoGlobe.Class4OL(GeoGlobe.Protocol, { url: null, params: null, callback: null, callbackTemplate: "GeoGlobe.Protocol.Script.registry.${id}", callbackKey: "callback", callbackPrefix: "", scope: null, format: null, pendingRequests: null, srsInBBOX: !1, initialize: function initialize(e) { if (e = e || {}, this.params = {}, this.pendingRequests = {}, GeoGlobe.Protocol.prototype.initialize.apply(this, arguments), this.format || (this.format = new GeoGlobe.Format.GeoJSON()), !this.filterToParams && GeoGlobe.Format.QueryStringFilter) { var t = new GeoGlobe.Format.QueryStringFilter({ srsInBBOX: this.srsInBBOX }); this.filterToParams = function (e, i) { return t.write(e, i); }; } }, read: function read(e) { GeoGlobe.Protocol.prototype.read.apply(this, arguments), (e = GeoGlobe.Util.applyDefaults(e, this.options)).params = GeoGlobe.Util.applyDefaults(e.params, this.options.params), e.filter && this.filterToParams && (e.params = this.filterToParams(e.filter, e.params)); var t = new GeoGlobe.Protocol.Response({ requestType: "read" }), i = this.createRequest(e.url, e.params, GeoGlobe.Function.bind(function (i) { t.data = i, this.handleRead(t, e); }, this)); return t.priv = i, t; }, createRequest: function createRequest(e, t, i) { var r = GeoGlobe.Protocol.Script.register(i), n = GeoGlobe.String.format(this.callbackTemplate, { id: r }); (t = GeoGlobe.Util.extend({}, t))[this.callbackKey] = this.callbackPrefix + n, e = GeoGlobe.Util.urlAppend(e, GeoGlobe.Util.getParameterString(t)); var o = document.createElement("script"); return o.type = "text/javascript", o.src = e, o.id = "GeoGlobe_Protocol_Script_" + r, this.pendingRequests[o.id] = o, document.getElementsByTagName("head")[0].appendChild(o), o; }, destroyRequest: function destroyRequest(e) { GeoGlobe.Protocol.Script.unregister(e.id.split("_").pop()), delete this.pendingRequests[e.id], e.parentNode && e.parentNode.removeChild(e); }, handleRead: function handleRead(e, t) { this.handleResponse(e, t); }, handleResponse: function handleResponse(e, t) { t.callback && (e.data ? (e.features = this.parseFeatures(e.data), e.code = GeoGlobe.Protocol.Response.SUCCESS) : e.code = GeoGlobe.Protocol.Response.FAILURE, this.destroyRequest(e.priv), t.callback.call(t.scope, e)); }, parseFeatures: function parseFeatures(e) { return this.format.read(e); }, abort: function abort(e) { if (e) this.destroyRequest(e.priv);else for (var t in this.pendingRequests) { this.destroyRequest(this.pendingRequests[t]); } }, destroy: function destroy() { this.abort(), delete this.params, delete this.format, GeoGlobe.Protocol.prototype.destroy.apply(this); }, CLASS_NAME: "GeoGlobe.Protocol.Script" }), function () { var e = GeoGlobe.Protocol.Script, t = 0; e.registry = {}, e.register = function (i) { var r = "c" + ++t; return e.registry[r] = function () { i.apply(this, arguments); }, r; }, e.unregister = function (t) { delete e.registry[t]; }; }(), GeoGlobe.Format = GeoGlobe.Class4OL({ options: null, externalProjection: null, internalProjection: null, data: null, keepData: !1, initialize: function initialize(e) { GeoGlobe.Util.extend(this, e), this.options = e; }, destroy: function destroy() {}, read: function read(e) { throw new Error("Read not implemented."); }, write: function write(e) { throw new Error("Write not implemented."); }, CLASS_NAME: "GeoGlobe.Format" }), GeoGlobe.Format.XML = GeoGlobe.Class4OL(GeoGlobe.Format, { namespaces: null, namespaceAlias: null, defaultPrefix: null, readers: {}, writers: {}, xmldom: null, initialize: function initialize(e) { for (var t in window.ActiveXObject && (this.xmldom = new ActiveXObject("Microsoft.XMLDOM")), GeoGlobe.Format.prototype.initialize.apply(this, [e]), this.namespaces = GeoGlobe.Util.extend({}, this.namespaces), this.namespaceAlias = {}, this.namespaces) { this.namespaceAlias[this.namespaces[t]] = t; } }, destroy: function destroy() { this.xmldom = null, GeoGlobe.Format.prototype.destroy.apply(this, arguments); }, setNamespace: function setNamespace(e, t) { this.namespaces[e] = t, this.namespaceAlias[t] = e; }, read: function read(e) { var t = e.indexOf("<"); t > 0 && (e = e.substring(t)); var i = GeoGlobe.Util.Try(GeoGlobe.Function.bind(function () { var t; return (t = window.ActiveXObject && !this.xmldom ? new ActiveXObject("Microsoft.XMLDOM") : this.xmldom).loadXML(e), t; }, this), function () { return new DOMParser().parseFromString(e, "text/xml"); }, function () { var t = new XMLHttpRequest(); return t.open("GET", "data:text/xml;charset=utf-8," + encodeURIComponent(e), !1), t.overrideMimeType && t.overrideMimeType("text/xml"), t.send(null), t.responseXML; }); return this.keepData && (this.data = i), i; }, write: function write(e) { var t; if (e.xml) t = e.xml;else { var i = new XMLSerializer(); if (1 == e.nodeType) { var r = document.implementation.createDocument("", "", null); r.importNode && (e = r.importNode(e, !0)), r.appendChild(e), t = i.serializeToString(r); } else t = i.serializeToString(e); } return t; }, createElementNS: function createElementNS(e, t) { return this.xmldom ? "string" == typeof e ? this.xmldom.createNode(1, t, e) : this.xmldom.createNode(1, t, "") : document.createElementNS(e, t); }, createDocumentFragment: function createDocumentFragment() { return this.xmldom ? this.xmldom.createDocumentFragment() : document.createDocumentFragment(); }, createTextNode: function createTextNode(e) { return "string" != typeof e && (e = String(e)), this.xmldom ? this.xmldom.createTextNode(e) : document.createTextNode(e); }, getElementsByTagNameNS: function getElementsByTagNameNS(e, t, i) { var r = []; if (e.getElementsByTagNameNS) r = e.getElementsByTagNameNS(t, i);else for (var n, o, a = e.getElementsByTagName("*"), s = 0, x = a.length; s < x; ++s) { o = (n = a[s]).prefix ? n.prefix + ":" + i : i, "*" != i && o != n.nodeName || "*" != t && t != n.namespaceURI || r.push(n); } return r; }, getAttributeNodeNS: function getAttributeNodeNS(e, t, i) { var r = null; if (e.getAttributeNodeNS) r = e.getAttributeNodeNS(t, i);else for (var n, o = e.attributes, a = 0, s = o.length; a < s; ++a) { if ((n = o[a]).namespaceURI == t && (n.prefix ? n.prefix + ":" + i : i) == n.nodeName) { r = n; break; } } return r; }, getAttributeNS: function getAttributeNS(e, t, i) { var r = ""; if (e.getAttributeNS) r = e.getAttributeNS(t, i) || "";else { var n = this.getAttributeNodeNS(e, t, i); n && (r = n.nodeValue); } return r; }, getChildValue: function getChildValue(e, t) { var i = t || ""; if (e) for (var r = e.firstChild; r; r = r.nextSibling) { switch (r.nodeType) { case 3: case 4: i += r.nodeValue; } } return i; }, isSimpleContent: function isSimpleContent(e) { for (var t = !0, i = e.firstChild; i; i = i.nextSibling) { if (1 === i.nodeType) { t = !1; break; } } return t; }, contentType: function contentType(e) { for (var t = !1, i = !1, r = GeoGlobe.Format.XML.CONTENT_TYPE.EMPTY, n = e.firstChild; n; n = n.nextSibling) { switch (n.nodeType) { case 1: i = !0; break; case 8: break; default: t = !0; } if (i && t) break; } if (i && t) r = GeoGlobe.Format.XML.CONTENT_TYPE.MIXED;else { if (i) return GeoGlobe.Format.XML.CONTENT_TYPE.COMPLEX; if (t) return GeoGlobe.Format.XML.CONTENT_TYPE.SIMPLE; } return r; }, hasAttributeNS: function hasAttributeNS(e, t, i) { return e.hasAttributeNS ? e.hasAttributeNS(t, i) : !!this.getAttributeNodeNS(e, t, i); }, setAttributeNS: function setAttributeNS(e, t, i, r) { if (e.setAttributeNS) e.setAttributeNS(t, i, r);else { if (!this.xmldom) throw "setAttributeNS not implemented"; if (t) { var n = e.ownerDocument.createNode(2, i, t); n.nodeValue = r, e.setAttributeNode(n); } else e.setAttribute(i, r); } }, createElementNSPlus: function createElementNSPlus(e, t) { var i = (t = t || {}).uri || this.namespaces[t.prefix]; if (!i) { var r = e.indexOf(":"); i = this.namespaces[e.substring(0, r)]; } i || (i = this.namespaces[this.defaultPrefix]); var n = this.createElementNS(i, e); t.attributes && this.setAttributes(n, t.attributes); var o = t.value; return null != o && n.appendChild(this.createTextNode(o)), n; }, setAttributes: function setAttributes(e, t) { var i, r; for (var n in t) { null != t[n] && t[n].toString && (i = t[n].toString(), r = this.namespaces[n.substring(0, n.indexOf(":"))] || null, this.setAttributeNS(e, r, n, i)); } }, readNode: function readNode(e, t) { t || (t = {}); var i = this.readers[e.namespaceURI ? this.namespaceAlias[e.namespaceURI] : this.defaultPrefix]; if (i) { var r = i[e.localName || e.nodeName.split(":").pop()] || i["*"]; r && r.apply(this, [e, t]); } return t; }, readChildNodes: function readChildNodes(e, t) { t || (t = {}); for (var i, r = e.childNodes, n = 0, o = r.length; n < o; ++n) { 1 == (i = r[n]).nodeType && this.readNode(i, t); } return t; }, writeNode: function writeNode(e, t, i) { var r, n, o = e.indexOf(":"); o > 0 ? (r = e.substring(0, o), n = e.substring(o + 1)) : (r = i ? this.namespaceAlias[i.namespaceURI] : this.defaultPrefix, n = e); var a = this.writers[r][n].apply(this, [t]); return i && i.appendChild(a), a; }, getChildEl: function getChildEl(e, t, i) { return e && this.getThisOrNextEl(e.firstChild, t, i); }, getNextEl: function getNextEl(e, t, i) { return e && this.getThisOrNextEl(e.nextSibling, t, i); }, getThisOrNextEl: function getThisOrNextEl(e, t, i) { e: for (var r = e; r; r = r.nextSibling) { switch (r.nodeType) { case 1: if (!(t && t !== (r.localName || r.nodeName.split(":").pop()) || i && i !== r.namespaceURI)) break e; r = null; break e; case 3: if (/^\s*$/.test(r.nodeValue)) break; case 4: case 6: case 12: case 10: case 11: r = null; break e; } } return r || null; }, lookupNamespaceURI: function lookupNamespaceURI(e, t) { var i = null; if (e) if (e.lookupNamespaceURI) i = e.lookupNamespaceURI(t);else e: switch (e.nodeType) { case 1: if (null !== e.namespaceURI && e.prefix === t) { i = e.namespaceURI; break e; } var r = e.attributes.length; if (r) for (var n, o = 0; o < r; ++o) { if ("xmlns" === (n = e.attributes[o]).prefix && n.name === "xmlns:" + t) { i = n.value || null; break e; } if ("xmlns" === n.name && null === t) { i = n.value || null; break e; } } i = this.lookupNamespaceURI(e.parentNode, t); break e; case 2: i = this.lookupNamespaceURI(e.ownerElement, t); break e; case 9: i = this.lookupNamespaceURI(e.documentElement, t); break e; case 6: case 12: case 10: case 11: break e; default: i = this.lookupNamespaceURI(e.parentNode, t); } return i; }, getXMLDoc: function getXMLDoc() { return GeoGlobe.Format.XML.document || this.xmldom || (document.implementation && document.implementation.createDocument ? GeoGlobe.Format.XML.document = document.implementation.createDocument("", "", null) : !this.xmldom && window.ActiveXObject && (this.xmldom = new ActiveXObject("Microsoft.XMLDOM"))), GeoGlobe.Format.XML.document || this.xmldom; }, CLASS_NAME: "GeoGlobe.Format.XML" }), GeoGlobe.Format.XML.CONTENT_TYPE = { EMPTY: 0, SIMPLE: 1, COMPLEX: 2, MIXED: 3 }, GeoGlobe.Format.XML.lookupNamespaceURI = GeoGlobe.Function.bind(GeoGlobe.Format.XML.prototype.lookupNamespaceURI, GeoGlobe.Format.XML.prototype), GeoGlobe.Format.XML.document = null, GeoGlobe.Format.XML.VersionedOGC = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { defaultVersion: null, version: null, profile: null, allowFallback: !1, name: null, stringifyOutput: !1, parser: null, initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); var t = this.CLASS_NAME; this.name = t.substring(t.lastIndexOf(".") + 1); }, getVersion: function getVersion(e, t) { var i; return e ? (i = this.version) || (i = e.getAttribute("version")) || (i = this.defaultVersion) : i = t && t.version || this.version || this.defaultVersion, i; }, getParser: function getParser(e) { e = e || this.defaultVersion; var t = this.profile ? "_" + this.profile : ""; if (!this.parser || this.parser.VERSION != e) { var i = GeoGlobe.Format[this.name]["v" + e.replace(/\./g, "_") + t]; if (!i && ("" !== t && this.allowFallback && (t = "", i = GeoGlobe.Format[this.name]["v" + e.replace(/\./g, "_")]), !i)) throw "Can't find a " + this.name + " parser for version " + e + t; this.parser = new i(this.options); } return this.parser; }, write: function write(e, t) { var i = this.getVersion(null, t); this.parser = this.getParser(i); var r = this.parser.write(e, t); return !1 === this.stringifyOutput ? r : GeoGlobe.Format.XML.prototype.write.apply(this, [r]); }, read: function read(e, t) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); var i = e.documentElement, r = this.getVersion(i); this.parser = this.getParser(r); var n = this.parser.read(e, t), o = this.parser.errorProperty || null; if (null !== o && void 0 === n[o]) { var a = new GeoGlobe.Format.OGCExceptionReport(); n.error = a.read(e); } return n.version = r, n; }, CLASS_NAME: "GeoGlobe.Format.XML.VersionedOGC" }), GeoGlobe.Format.GML = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { featureNS: "http://mapserver.gis.umn.edu/mapserver", featurePrefix: "feature", featureName: "featureMember", layerName: "features", geometryName: "geometry", collectionName: "FeatureCollection", gmlns: "http://www.opengis.net/gml", extractAttributes: !0, xy: !0, initialize: function initialize(e) { this.regExes = { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); for (var t = this.getElementsByTagNameNS(e.documentElement, this.gmlns, this.featureName), i = [], r = 0; r < t.length; r++) { var n = this.parseFeature(t[r]); n && i.push(n); } return i; }, parseFeature: function parseFeature(e) { for (var t, i, r, n, o, a = ["MultiPolygon", "Polygon", "MultiLineString", "LineString", "MultiPoint", "Point", "Envelope"], s = 0; s < a.length; ++s) { if (t = a[s], (i = this.getElementsByTagNameNS(e, this.gmlns, t)).length > 0) { if (!(n = this.parseGeometry[t.toLowerCase()])) throw new TypeError("Unsupported geometry type: " + t); r = n.apply(this, [i[0]]), this.internalProjection && this.externalProjection && r.transform(this.externalProjection, this.internalProjection); break; } } var x, l = this.getElementsByTagNameNS(e, this.gmlns, "Box"); for (s = 0; s < l.length; ++s) { var c = l[s], u = this.parseGeometry.box.apply(this, [c]), h = c.parentNode; "boundedBy" === (h.localName || h.nodeName.split(":").pop()) ? o = u : r = u.toGeometry(); } this.extractAttributes && (x = this.parseAttributes(e)); var f = new GeoGlobe.Feature(r, x); f.bounds = o, f.gml = { featureType: e.firstChild.nodeName.split(":")[1], featureNS: e.firstChild.namespaceURI, featureNSPrefix: e.firstChild.prefix }; for (var d, g = e.firstChild; g && (1 != g.nodeType || !(d = g.getAttribute("fid") || g.getAttribute("id")));) { g = g.nextSibling; } return f.fid = d, f; }, parseGeometry: { point: function point(e) { var t, i = []; if ((t = this.getElementsByTagNameNS(e, this.gmlns, "pos")).length > 0 && (i = t[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)), 0 == i.length && (t = this.getElementsByTagNameNS(e, this.gmlns, "coordinates")).length > 0 && (i = t[0].firstChild.nodeValue.replace(this.regExes.removeSpace, "").split(",")), 0 == i.length && (t = this.getElementsByTagNameNS(e, this.gmlns, "coord")).length > 0) { var r = this.getElementsByTagNameNS(t[0], this.gmlns, "X"), n = this.getElementsByTagNameNS(t[0], this.gmlns, "Y"); r.length > 0 && n.length > 0 && (i = [r[0].firstChild.nodeValue, n[0].firstChild.nodeValue]); } return 2 == i.length && (i[2] = null), this.xy ? new GeoGlobe.Geometry.Point(i[0], i[1], i[2]) : new GeoGlobe.Geometry.Point(i[1], i[0], i[2]); }, multipoint: function multipoint(e) { var t = this.getElementsByTagNameNS(e, this.gmlns, "Point"), i = []; if (t.length > 0) for (var r, n = 0; n < t.length; ++n) { (r = this.parseGeometry.point.apply(this, [t[n]])) && i.push(r); } return new GeoGlobe.Geometry.MultiPoint(i); }, linestring: function linestring(e, t) { var i, r = [], n = []; if ((i = this.getElementsByTagNameNS(e, this.gmlns, "posList")).length > 0) { r = this.getChildValue(i[0]).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace); for (var o, a, s, x, l = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[0].getAttribute("dimension")), c = 0; c < r.length / l; ++c) { a = r[o = c * l], s = r[o + 1], x = 2 == l ? null : r[o + 2], this.xy ? n.push(new GeoGlobe.Geometry.Point(a, s, x)) : n.push(new GeoGlobe.Geometry.Point(s, a, x)); } } if (0 == r.length && (i = this.getElementsByTagNameNS(e, this.gmlns, "coordinates")).length > 0) { var u = this.getChildValue(i[0]).replace(this.regExes.trimSpace, "").replace(this.regExes.trimComma, ",").split(this.regExes.splitSpace); for (c = 0; c < u.length; ++c) { 2 == (r = u[c].split(",")).length && (r[2] = null), this.xy ? n.push(new GeoGlobe.Geometry.Point(r[0], r[1], r[2])) : n.push(new GeoGlobe.Geometry.Point(r[1], r[0], r[2])); } } var h = null; return 0 != n.length && (h = t ? new GeoGlobe.Geometry.LinearRing(n) : new GeoGlobe.Geometry.LineString(n)), h; }, multilinestring: function multilinestring(e) { var t = this.getElementsByTagNameNS(e, this.gmlns, "LineString"), i = []; if (t.length > 0) for (var r, n = 0; n < t.length; ++n) { (r = this.parseGeometry.linestring.apply(this, [t[n]])) && i.push(r); } return new GeoGlobe.Geometry.MultiLineString(i); }, polygon: function polygon(e) { var t = this.getElementsByTagNameNS(e, this.gmlns, "LinearRing"), i = []; if (t.length > 0) for (var r, n = 0; n < t.length; ++n) { (r = this.parseGeometry.linestring.apply(this, [t[n], !0])) && i.push(r); } return new GeoGlobe.Geometry.Polygon(i); }, multipolygon: function multipolygon(e) { var t = this.getElementsByTagNameNS(e, this.gmlns, "Polygon"), i = []; if (t.length > 0) for (var r, n = 0; n < t.length; ++n) { (r = this.parseGeometry.polygon.apply(this, [t[n]])) && i.push(r); } return new GeoGlobe.Geometry.MultiPolygon(i); }, envelope: function envelope(e) { var t, i = [], r = this.getElementsByTagNameNS(e, this.gmlns, "lowerCorner"); if (r.length > 0) { var n = []; if (r.length > 0 && (n = r[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)), 2 == n.length && (n[2] = null), this.xy) var o = new GeoGlobe.Geometry.Point(n[0], n[1], n[2]);else o = new GeoGlobe.Geometry.Point(n[1], n[0], n[2]); } var a = this.getElementsByTagNameNS(e, this.gmlns, "upperCorner"); if (a.length > 0) if (n = [], a.length > 0 && (n = a[0].firstChild.nodeValue.replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace)), 2 == n.length && (n[2] = null), this.xy) var s = new GeoGlobe.Geometry.Point(n[0], n[1], n[2]);else s = new GeoGlobe.Geometry.Point(n[1], n[0], n[2]); if (o && s) { i.push(new GeoGlobe.Geometry.Point(o.x, o.y)), i.push(new GeoGlobe.Geometry.Point(s.x, o.y)), i.push(new GeoGlobe.Geometry.Point(s.x, s.y)), i.push(new GeoGlobe.Geometry.Point(o.x, s.y)), i.push(new GeoGlobe.Geometry.Point(o.x, o.y)); var x = new GeoGlobe.Geometry.LinearRing(i); t = new GeoGlobe.Geometry.Polygon([x]); } return t; }, box: function box(e) { var t, i = this.getElementsByTagNameNS(e, this.gmlns, "coordinates"), r = null, n = null; if (i.length > 0 && 2 == (t = i[0].firstChild.nodeValue.split(" ")).length && (r = t[0].split(","), n = t[1].split(",")), null !== r && null !== n) { var o = new GeoGlobe.LngLat(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(r[0]), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(r[1])), a = new GeoGlobe.LngLat(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(n[0]), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(n[1])); return new GeoGlobe.LngLatBounds(o, a); } } }, parseAttributes: function parseAttributes(e) { for (var t, i, r, n, o, a, s, x = {}, l = e.firstChild; l;) { if (1 == l.nodeType) { for (t = l.childNodes, i = 0; i < t.length; ++i) { 1 == (r = t[i]).nodeType && (1 == (n = r.childNodes).length ? 3 != (o = n[0]).nodeType && 4 != o.nodeType || (a = r.prefix ? r.nodeName.split(":")[1] : r.nodeName, s = o.nodeValue.replace(this.regExes.trimSpace, ""), x[a] = s) : x[r.nodeName.split(":").pop()] = null); } break; } l = l.nextSibling; } return x; }, write: function write(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = this.createElementNS("http://www.opengis.net/wfs", "wfs:" + this.collectionName), i = 0; i < e.length; i++) { t.appendChild(this.createFeatureXML(e[i])); } return GeoGlobe.Format.XML.prototype.write.apply(this, [t]); }, createFeatureXML: function createFeatureXML(e) { var t = e.geometry, i = this.buildGeometryNode(t), r = this.createElementNS(this.featureNS, this.featurePrefix + ":" + this.geometryName); r.appendChild(i); var n = this.createElementNS(this.gmlns, "gml:" + this.featureName), o = this.createElementNS(this.featureNS, this.featurePrefix + ":" + this.layerName), a = e.fid || e.id; for (var s in o.setAttribute("fid", a), o.appendChild(r), e.attributes) { var x = this.createTextNode(e.attributes[s]), l = s.substring(s.lastIndexOf(":") + 1), c = this.createElementNS(this.featureNS, this.featurePrefix + ":" + l); c.appendChild(x), o.appendChild(c); } return n.appendChild(o), n; }, buildGeometryNode: function buildGeometryNode(e) { this.externalProjection && this.internalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection); var t = e.CLASS_NAME, i = t.substring(t.lastIndexOf(".") + 1); return this.buildGeometry[i.toLowerCase()].apply(this, [e]); }, buildGeometry: { point: function point(e) { var t = this.createElementNS(this.gmlns, "gml:Point"); return t.appendChild(this.buildCoordinatesNode(e)), t; }, multipoint: function multipoint(e) { for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiPoint"), n = e.components, o = 0; o < n.length; o++) { t = this.createElementNS(this.gmlns, "gml:pointMember"), i = this.buildGeometry.point.apply(this, [n[o]]), t.appendChild(i), r.appendChild(t); } return r; }, linestring: function linestring(e) { var t = this.createElementNS(this.gmlns, "gml:LineString"); return t.appendChild(this.buildCoordinatesNode(e)), t; }, multilinestring: function multilinestring(e) { for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiLineString"), n = e.components, o = 0; o < n.length; ++o) { t = this.createElementNS(this.gmlns, "gml:lineStringMember"), i = this.buildGeometry.linestring.apply(this, [n[o]]), t.appendChild(i), r.appendChild(t); } return r; }, linearring: function linearring(e) { var t = this.createElementNS(this.gmlns, "gml:LinearRing"); return t.appendChild(this.buildCoordinatesNode(e)), t; }, polygon: function polygon(e) { for (var t, i, r, n = this.createElementNS(this.gmlns, "gml:Polygon"), o = e.components, a = 0; a < o.length; ++a) { r = 0 == a ? "outerBoundaryIs" : "innerBoundaryIs", t = this.createElementNS(this.gmlns, "gml:" + r), i = this.buildGeometry.linearring.apply(this, [o[a]]), t.appendChild(i), n.appendChild(t); } return n; }, multipolygon: function multipolygon(e) { for (var t, i, r = this.createElementNS(this.gmlns, "gml:MultiPolygon"), n = e.components, o = 0; o < n.length; ++o) { t = this.createElementNS(this.gmlns, "gml:polygonMember"), i = this.buildGeometry.polygon.apply(this, [n[o]]), t.appendChild(i), r.appendChild(t); } return r; }, lnglatbounds: function lnglatbounds(e) { var t = this.createElementNS(this.gmlns, "gml:Box"); return t.appendChild(this.buildCoordinatesNode(e)), t; } }, buildCoordinatesNode: function buildCoordinatesNode(e) { var t = this.createElementNS(this.gmlns, "gml:coordinates"); t.setAttribute("decimal", "."), t.setAttribute("cs", ","), t.setAttribute("ts", " "); var i = []; if (e instanceof GeoGlobe.LngLatBounds) i.push(e.getWest() + "," + e.getSouth()), i.push(e.getEast() + "," + e.getNorth());else for (var r = e.components ? e.components : [e], n = 0; n < r.length; n++) { i.push(r[n].x + "," + r[n].y); } var o = this.createTextNode(i.join(" ")); return t.appendChild(o), t; }, CLASS_NAME: "GeoGlobe.Format.GML" }), GeoGlobe.Format.GML || (GeoGlobe.Format.GML = {}), GeoGlobe.Format.GML.Base = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { gml: "http://www.opengis.net/gml", xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance", wfs: "http://www.opengis.net/wfs" }, defaultPrefix: "gml", schemaLocation: null, featureType: null, featureNS: null, geometryName: "geometry", extractAttributes: !0, srsName: null, xy: !0, geometryTypes: null, singleFeatureType: null, regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g, featureMember: /^(.*:)?featureMembers?$/ }, initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]), this.setGeometryTypes(), e && e.featureNS && this.setNamespace("feature", e.featureNS), this.singleFeatureType = !e || "string" == typeof e.featureType; }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t, i = []; if (this.readNode(e, { features: i }, !0), 0 == i.length) if ((t = this.getElementsByTagNameNS(e, this.namespaces.gml, "featureMember")).length) for (var r = 0, n = t.length; r < n; ++r) { this.readNode(t[r], { features: i }, !0); } else (t = this.getElementsByTagNameNS(e, this.namespaces.gml, "featureMembers")).length && this.readNode(t[0], { features: i }, !0); return i; }, readNode: function readNode(e, t, i) { return !0 === i && !0 === this.autoConfig && (this.featureType = null, delete this.namespaceAlias[this.featureNS], delete this.namespaces.feature, this.featureNS = null), this.featureNS || e.prefix in this.namespaces || e.parentNode.namespaceURI != this.namespaces.gml || !this.regExes.featureMember.test(e.parentNode.nodeName) || (this.featureType = e.nodeName.split(":").pop(), this.setNamespace("feature", e.namespaceURI), this.featureNS = e.namespaceURI, this.autoConfig = !0), GeoGlobe.Format.XML.prototype.readNode.apply(this, [e, t]); }, readers: { gml: { _inherit: function _inherit(e, t, i) {}, featureMember: function featureMember(e, t) { this.readChildNodes(e, t); }, featureMembers: function featureMembers(e, t) { this.readChildNodes(e, t); }, name: function name(e, t) { t.name = this.getChildValue(e); }, boundedBy: function boundedBy(e, t) { var i = {}; this.readChildNodes(e, i), i.components && i.components.length > 0 && (t.bounds = i.components[0]); }, Point: function Point(e, t) { var i = { points: [] }; this.readChildNodes(e, i), t.components || (t.components = []), t.components.push(i.points[0]); }, coordinates: function coordinates(e, t) { for (var i, r = this.getChildValue(e).replace(this.regExes.trimSpace, ""), n = (r = r.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace), o = n.length, a = new Array(o), s = 0; s < o; ++s) { i = n[s].split(","), this.xy ? a[s] = new GeoGlobe.Geometry.Point(i[0], i[1], i[2]) : a[s] = new GeoGlobe.Geometry.Point(i[1], i[0], i[2]); } t.points = a; }, coord: function coord(e, t) { var i = {}; this.readChildNodes(e, i), t.points || (t.points = []), t.points.push(new GeoGlobe.Geometry.Point(i.x, i.y, i.z)); }, X: function X(e, t) { t.x = this.getChildValue(e); }, Y: function Y(e, t) { t.y = this.getChildValue(e); }, Z: function Z(e, t) { t.z = this.getChildValue(e); }, MultiPoint: function MultiPoint(e, t) { var i = { components: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), t.components = [new GeoGlobe.Geometry.MultiPoint(i.components)]; }, pointMember: function pointMember(e, t) { this.readChildNodes(e, t); }, LineString: function LineString(e, t) { var i = {}; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), t.components || (t.components = []), t.components.push(new GeoGlobe.Geometry.LineString(i.points)); }, MultiLineString: function MultiLineString(e, t) { var i = { components: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), t.components = [new GeoGlobe.Geometry.MultiLineString(i.components)]; }, lineStringMember: function lineStringMember(e, t) { this.readChildNodes(e, t); }, Polygon: function Polygon(e, t) { var i = { outer: null, inner: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), i.inner.unshift(i.outer), t.components || (t.components = []), t.components.push(new GeoGlobe.Geometry.Polygon(i.inner)); }, LinearRing: function LinearRing(e, t) { var i = {}; this.readers.gml._inherit.apply(this, [e, i]), this.readChildNodes(e, i), t.components = [new GeoGlobe.Geometry.LinearRing(i.points)]; }, MultiPolygon: function MultiPolygon(e, t) { var i = { components: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), t.components = [new GeoGlobe.Geometry.MultiPolygon(i.components)]; }, polygonMember: function polygonMember(e, t) { this.readChildNodes(e, t); }, GeometryCollection: function GeometryCollection(e, t) { var i = { components: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), t.components = [new GeoGlobe.Geometry.Collection(i.components)]; }, geometryMember: function geometryMember(e, t) { this.readChildNodes(e, t); } }, feature: { "*": function _(e, t) { var i, r = e.localName || e.nodeName.split(":").pop(); if (t.features) { if (this.singleFeatureType || -1 === GeoGlobe.Util.indexOf(this.featureType, r)) { if (r === this.featureType) i = "_typeName";else if (GeoGlobe.Util.isArray(this.featureType_)) for (var n = 0; n < this.featureType_.length; n++) { if (this.featureType_[n] === r) { i = "_typeName"; break; } } } else i = "_typeName"; } else 0 == e.childNodes.length || 1 == e.childNodes.length && 3 == e.firstChild.nodeType ? this.extractAttributes && (i = "_attribute") : i = "_geometry"; i && this.readers.feature[i].apply(this, [e, t]); }, _typeName: function _typeName(e, t) { var i = { components: [], attributes: {} }; this.readChildNodes(e, i), i.name && (i.attributes.name = i.name); var r = new GeoGlobe.Feature(i.components[0], i.attributes); this.singleFeatureType || (r.type = e.nodeName.split(":").pop(), r.namespace = e.namespaceURI); var n = e.getAttribute("fid") || this.getAttributeNS(e, this.namespaces.gml, "id"); n && (r.fid = n), this.internalProjection && this.externalProjection && r.geometry && r.geometry.transform(this.externalProjection, this.internalProjection), i.bounds && (r.bounds = i.bounds), t.features.push(r); }, _geometry: function _geometry(e, t) { this.geometryName || (this.geometryName = e.nodeName.split(":").pop()), this.readChildNodes(e, t); }, _attribute: function _attribute(e, t) { var i = e.localName || e.nodeName.split(":").pop(), r = this.getChildValue(e); t.attributes[i] = r; } }, wfs: { FeatureCollection: function FeatureCollection(e, t) { this.readChildNodes(e, t); } } }, write: function write(e) { var t; t = GeoGlobe.Util.isArray(e) ? "featureMembers" : "featureMember"; var i = this.writeNode("gml:" + t, e); return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation), GeoGlobe.Format.XML.prototype.write.apply(this, [i]); }, writers: { gml: { featureMember: function featureMember(e) { var t = this.createElementNSPlus("gml:featureMember"); return this.writeNode("feature:_typeName", e, t), t; }, MultiPoint: function MultiPoint(e) { for (var t = this.createElementNSPlus("gml:MultiPoint"), i = e.components || [e], r = 0, n = i.length; r < n; ++r) { this.writeNode("pointMember", i[r], t); } return t; }, pointMember: function pointMember(e) { var t = this.createElementNSPlus("gml:pointMember"); return this.writeNode("Point", e, t), t; }, MultiLineString: function MultiLineString(e) { for (var t = this.createElementNSPlus("gml:MultiLineString"), i = e.components || [e], r = 0, n = i.length; r < n; ++r) { this.writeNode("lineStringMember", i[r], t); } return t; }, lineStringMember: function lineStringMember(e) { var t = this.createElementNSPlus("gml:lineStringMember"); return this.writeNode("LineString", e, t), t; }, MultiPolygon: function MultiPolygon(e) { for (var t = this.createElementNSPlus("gml:MultiPolygon"), i = e.components || [e], r = 0, n = i.length; r < n; ++r) { this.writeNode("polygonMember", i[r], t); } return t; }, polygonMember: function polygonMember(e) { var t = this.createElementNSPlus("gml:polygonMember"); return this.writeNode("Polygon", e, t), t; }, GeometryCollection: function GeometryCollection(e) { for (var t = this.createElementNSPlus("gml:GeometryCollection"), i = 0, r = e.components.length; i < r; ++i) { this.writeNode("geometryMember", e.components[i], t); } return t; }, geometryMember: function geometryMember(e) { var t = this.createElementNSPlus("gml:geometryMember"), i = this.writeNode("feature:_geometry", e); return t.appendChild(i.firstChild), t; } }, feature: { _typeName: function _typeName(e) { var t = this.createElementNSPlus("feature:" + this.featureType, { attributes: { fid: e.fid } }); for (var i in e.geometry && this.writeNode("feature:_geometry", e.geometry, t), e.attributes) { var r = e.attributes[i]; null != r && this.writeNode("feature:_attribute", { name: i, value: r }, t); } return t; }, _geometry: function _geometry(e) { this.externalProjection && this.internalProjection && (e = e.clone().transform(this.internalProjection, this.externalProjection)); var t = this.createElementNSPlus("feature:" + this.geometryName), i = this.geometryTypes[e.CLASS_NAME], r = this.writeNode("gml:" + i, e, t); return this.srsName && r.setAttribute("srsName", this.srsName), t; }, _attribute: function _attribute(e) { return this.createElementNSPlus("feature:" + e.name, { value: e.value }); } }, wfs: { FeatureCollection: function FeatureCollection(e) { for (var t = this.createElementNSPlus("wfs:FeatureCollection"), i = 0, r = e.length; i < r; ++i) { this.writeNode("gml:featureMember", e[i], t); } return t; } } }, setGeometryTypes: function setGeometryTypes() { this.geometryTypes = { "GeoGlobe.Geometry.Point": "Point", "GeoGlobe.Geometry.MultiPoint": "MultiPoint", "GeoGlobe.Geometry.LineString": "LineString", "GeoGlobe.Geometry.MultiLineString": "MultiLineString", "GeoGlobe.Geometry.Polygon": "Polygon", "GeoGlobe.Geometry.MultiPolygon": "MultiPolygon", "GeoGlobe.Geometry.Collection": "GeometryCollection" }; }, setFeatureType_: function setFeatureType_(e) { this.featureType_ = e; }, CLASS_NAME: "GeoGlobe.Format.GML.Base" }), GeoGlobe.Format.GML.v2 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.Base, { schemaLocation: "http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd", initialize: function initialize(e) { GeoGlobe.Format.GML.Base.prototype.initialize.apply(this, [e]); }, readers: { gml: GeoGlobe.Util.applyDefaults({ outerBoundaryIs: function outerBoundaryIs(e, t) { var i = {}; this.readChildNodes(e, i), t.outer = i.components[0]; }, innerBoundaryIs: function innerBoundaryIs(e, t) { var i = {}; this.readChildNodes(e, i), t.inner.push(i.components[0]); }, Box: function Box(e, t) { var i = {}; this.readChildNodes(e, i), t.components || (t.components = []); var r = i.points[0], n = i.points[1], o = new GeoGlobe.LngLat(r.x, r.y), a = new GeoGlobe.LngLat(n.x, n.y); t.components.push(new GeoGlobe.LngLatBounds(o, a)); } }, GeoGlobe.Format.GML.Base.prototype.readers.gml), feature: GeoGlobe.Format.GML.Base.prototype.readers.feature, wfs: GeoGlobe.Format.GML.Base.prototype.readers.wfs }, write: function write(e) { var t; t = GeoGlobe.Util.isArray(e) ? "wfs:FeatureCollection" : "gml:featureMember"; var i = this.writeNode(t, e); return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation), GeoGlobe.Format.XML.prototype.write.apply(this, [i]); }, writers: { gml: GeoGlobe.Util.applyDefaults({ Point: function Point(e) { var t = this.createElementNSPlus("gml:Point"); return this.writeNode("coordinates", [e], t), t; }, coordinates: function coordinates(e) { for (var t, i = e.length, r = new Array(i), n = 0; n < i; ++n) { t = e[n], this.xy ? r[n] = t.x + "," + t.y : r[n] = t.y + "," + t.x, null != t.z && (r[n] += "," + t.z); } return this.createElementNSPlus("gml:coordinates", { attributes: { decimal: ".", cs: ",", ts: " " }, value: 1 == i ? r[0] : r.join(" ") }); }, LineString: function LineString(e) { var t = this.createElementNSPlus("gml:LineString"); return this.writeNode("coordinates", e.components, t), t; }, Polygon: function Polygon(e) { var t = this.createElementNSPlus("gml:Polygon"); this.writeNode("outerBoundaryIs", e.components[0], t); for (var i = 1; i < e.components.length; ++i) { this.writeNode("innerBoundaryIs", e.components[i], t); } return t; }, outerBoundaryIs: function outerBoundaryIs(e) { var t = this.createElementNSPlus("gml:outerBoundaryIs"); return this.writeNode("LinearRing", e, t), t; }, innerBoundaryIs: function innerBoundaryIs(e) { var t = this.createElementNSPlus("gml:innerBoundaryIs"); return this.writeNode("LinearRing", e, t), t; }, LinearRing: function LinearRing(e) { var t = this.createElementNSPlus("gml:LinearRing"); return this.writeNode("coordinates", e.components, t), t; }, Box: function Box(e) { var t = this.createElementNSPlus("gml:Box"); return this.writeNode("coordinates", [{ x: e._sw.lng, y: e._sw.lat }, { x: e._ne.lng, y: e._ne.lat }], t), this.srsName && t.setAttribute("srsName", this.srsName), t; } }, GeoGlobe.Format.GML.Base.prototype.writers.gml), feature: GeoGlobe.Format.GML.Base.prototype.writers.feature, wfs: GeoGlobe.Format.GML.Base.prototype.writers.wfs }, CLASS_NAME: "GeoGlobe.Format.GML.v2" }), GeoGlobe.Format.GML.v3 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.Base, { schemaLocation: "http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd", curve: !1, multiCurve: !0, surface: !1, multiSurface: !0, initialize: function initialize(e) { GeoGlobe.Format.GML.Base.prototype.initialize.apply(this, [e]); }, readers: { gml: GeoGlobe.Util.applyDefaults({ _inherit: function _inherit(e, t, i) { var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("srsDimension"), 10) || i && i.srsDimension; r && (t.srsDimension = r); }, featureMembers: function featureMembers(e, t) { this.readChildNodes(e, t); }, Curve: function Curve(e, t) { var i = { points: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), t.components || (t.components = []), t.components.push(new GeoGlobe.Geometry.LineString(i.points)); }, segments: function segments(e, t) { this.readChildNodes(e, t); }, LineStringSegment: function LineStringSegment(e, t) { var i = {}; this.readChildNodes(e, i), i.points && Array.prototype.push.apply(t.points, i.points); }, pos: function pos(e, t) { var i, r = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace); i = this.xy ? new GeoGlobe.Geometry.Point(r[0], r[1], r[2]) : new GeoGlobe.Geometry.Point(r[1], r[0], r[2]), t.points = [i]; }, posList: function posList(e, t) { for (var i, r, n, o = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(this.regExes.splitSpace), a = t.srsDimension || _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("srsDimension") || e.getAttribute("dimension"), 10) || 2, s = o.length / a, x = new Array(s), l = 0, c = o.length; l < c; l += a) { i = o[l], r = o[l + 1], n = 2 == a ? void 0 : o[l + 2], this.xy ? x[l / a] = new GeoGlobe.Geometry.Point(i, r, n) : x[l / a] = new GeoGlobe.Geometry.Point(r, i, n); } t.points = x; }, Surface: function Surface(e, t) { this.readChildNodes(e, t); }, patches: function patches(e, t) { this.readChildNodes(e, t); }, PolygonPatch: function PolygonPatch(e, t) { this.readers.gml.Polygon.apply(this, [e, t]); }, exterior: function exterior(e, t) { var i = {}; this.readChildNodes(e, i), t.outer = i.components[0]; }, interior: function interior(e, t) { var i = {}; this.readChildNodes(e, i), t.inner.push(i.components[0]); }, MultiCurve: function MultiCurve(e, t) { var i = { components: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), i.components.length > 0 && (t.components = [new GeoGlobe.Geometry.MultiLineString(i.components)]); }, curveMember: function curveMember(e, t) { this.readChildNodes(e, t); }, MultiSurface: function MultiSurface(e, t) { var i = { components: [] }; this.readers.gml._inherit.apply(this, [e, i, t]), this.readChildNodes(e, i), i.components.length > 0 && (t.components = [new GeoGlobe.Geometry.MultiPolygon(i.components)]); }, surfaceMember: function surfaceMember(e, t) { this.readChildNodes(e, t); }, surfaceMembers: function surfaceMembers(e, t) { this.readChildNodes(e, t); }, pointMembers: function pointMembers(e, t) { this.readChildNodes(e, t); }, lineStringMembers: function lineStringMembers(e, t) { this.readChildNodes(e, t); }, polygonMembers: function polygonMembers(e, t) { this.readChildNodes(e, t); }, geometryMembers: function geometryMembers(e, t) { this.readChildNodes(e, t); }, Envelope: function Envelope(e, t) { var i = { points: new Array(2) }; this.readChildNodes(e, i), t.components || (t.components = []); var r = i.points[0], n = i.points[1], o = new GeoGlobe.LngLat(r.x, r.y), a = new GeoGlobe.LngLat(n.x, n.y); t.components.push(new GeoGlobe.LngLatBounds(o, a)); }, lowerCorner: function lowerCorner(e, t) { var i = {}; this.readers.gml.pos.apply(this, [e, i]), t.points[0] = i.points[0]; }, upperCorner: function upperCorner(e, t) { var i = {}; this.readers.gml.pos.apply(this, [e, i]), t.points[1] = i.points[0]; } }, GeoGlobe.Format.GML.Base.prototype.readers.gml), feature: GeoGlobe.Format.GML.Base.prototype.readers.feature, wfs: GeoGlobe.Format.GML.Base.prototype.readers.wfs }, write: function write(e) { var t; t = GeoGlobe.Util.isArray(e) ? "featureMembers" : "featureMember"; var i = this.writeNode("gml:" + t, e); return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation), GeoGlobe.Format.XML.prototype.write.apply(this, [i]); }, writers: { gml: GeoGlobe.Util.applyDefaults({ featureMembers: function featureMembers(e) { for (var t = this.createElementNSPlus("gml:featureMembers"), i = 0, r = e.length; i < r; ++i) { this.writeNode("feature:_typeName", e[i], t); } return t; }, Point: function Point(e) { var t = this.createElementNSPlus("gml:Point"); return this.writeNode("pos", e, t), t; }, pos: function pos(e) { var t = this.xy ? e.x + " " + e.y : e.y + " " + e.x; return this.createElementNSPlus("gml:pos", { value: t }); }, LineString: function LineString(e) { var t = this.createElementNSPlus("gml:LineString"); return this.writeNode("posList", e.components, t), t; }, Curve: function Curve(e) { var t = this.createElementNSPlus("gml:Curve"); return this.writeNode("segments", e, t), t; }, segments: function segments(e) { var t = this.createElementNSPlus("gml:segments"); return this.writeNode("LineStringSegment", e, t), t; }, LineStringSegment: function LineStringSegment(e) { var t = this.createElementNSPlus("gml:LineStringSegment"); return this.writeNode("posList", e.components, t), t; }, posList: function posList(e) { for (var t, i = e.length, r = new Array(i), n = 0; n < i; ++n) { t = e[n], this.xy ? r[n] = t.x + " " + t.y : r[n] = t.y + " " + t.x; } return this.createElementNSPlus("gml:posList", { value: r.join(" ") }); }, Surface: function Surface(e) { var t = this.createElementNSPlus("gml:Surface"); return this.writeNode("patches", e, t), t; }, patches: function patches(e) { var t = this.createElementNSPlus("gml:patches"); return this.writeNode("PolygonPatch", e, t), t; }, PolygonPatch: function PolygonPatch(e) { var t = this.createElementNSPlus("gml:PolygonPatch", { attributes: { interpolation: "planar" } }); this.writeNode("exterior", e.components[0], t); for (var i = 1, r = e.components.length; i < r; ++i) { this.writeNode("interior", e.components[i], t); } return t; }, Polygon: function Polygon(e) { var t = this.createElementNSPlus("gml:Polygon"); this.writeNode("exterior", e.components[0], t); for (var i = 1, r = e.components.length; i < r; ++i) { this.writeNode("interior", e.components[i], t); } return t; }, exterior: function exterior(e) { var t = this.createElementNSPlus("gml:exterior"); return this.writeNode("LinearRing", e, t), t; }, interior: function interior(e) { var t = this.createElementNSPlus("gml:interior"); return this.writeNode("LinearRing", e, t), t; }, LinearRing: function LinearRing(e) { var t = this.createElementNSPlus("gml:LinearRing"); return this.writeNode("posList", e.components, t), t; }, MultiCurve: function MultiCurve(e) { for (var t = this.createElementNSPlus("gml:MultiCurve"), i = e.components || [e], r = 0, n = i.length; r < n; ++r) { this.writeNode("curveMember", i[r], t); } return t; }, curveMember: function curveMember(e) { var t = this.createElementNSPlus("gml:curveMember"); return this.curve ? this.writeNode("Curve", e, t) : this.writeNode("LineString", e, t), t; }, MultiSurface: function MultiSurface(e) { for (var t = this.createElementNSPlus("gml:MultiSurface"), i = e.components || [e], r = 0, n = i.length; r < n; ++r) { this.writeNode("surfaceMember", i[r], t); } return t; }, surfaceMember: function surfaceMember(e) { var t = this.createElementNSPlus("gml:surfaceMember"); return this.surface ? this.writeNode("Surface", e, t) : this.writeNode("Polygon", e, t), t; }, Envelope: function Envelope(e) { var t = this.createElementNSPlus("gml:Envelope"); return this.writeNode("lowerCorner", e, t), this.writeNode("upperCorner", e, t), this.srsName && t.setAttribute("srsName", this.srsName), t; }, lowerCorner: function lowerCorner(e) { var t = this.xy ? e._sw.lng + " " + e._sw.lat : e._sw.lat + " " + e._sw.lng; return this.createElementNSPlus("gml:lowerCorner", { value: t }); }, upperCorner: function upperCorner(e) { var t = this.xy ? e._ne.lng + " " + e._ne.lat : e._ne.lat + " " + e._ne.lng; return this.createElementNSPlus("gml:upperCorner", { value: t }); } }, GeoGlobe.Format.GML.Base.prototype.writers.gml), feature: GeoGlobe.Format.GML.Base.prototype.writers.feature, wfs: GeoGlobe.Format.GML.Base.prototype.writers.wfs }, setGeometryTypes: function setGeometryTypes() { this.geometryTypes = { "GeoGlobe.Geometry.Point": "Point", "GeoGlobe.Geometry.MultiPoint": "MultiPoint", "GeoGlobe.Geometry.LineString": !0 === this.curve ? "Curve" : "LineString", "GeoGlobe.Geometry.MultiLineString": !1 === this.multiCurve ? "MultiLineString" : "MultiCurve", "GeoGlobe.Geometry.Polygon": !0 === this.surface ? "Surface" : "Polygon", "GeoGlobe.Geometry.MultiPolygon": !1 === this.multiSurface ? "MultiPolygon" : "MultiSurface", "GeoGlobe.Geometry.Collection": "GeometryCollection" }; }, CLASS_NAME: "GeoGlobe.Format.GML.v3" }), GeoGlobe.Format.KML = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { kml: "http://www.opengis.net/kml/2.2", gx: "http://www.google.com/kml/ext/2.2" }, kmlns: "http://earth.google.com/kml/2.0", placemarksDesc: "No description available", foldersName: "GeoGlobe export", foldersDesc: "Exported on " + new Date(), extractAttributes: !0, kvpAttributes: !1, extractStyles: !1, extractTracks: !1, trackAttributes: null, internalns: null, features: null, styles: null, styleBaseUrl: "", fetched: null, maxDepth: 0, initialize: function initialize(e) { this.regExes = { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g, kmlColor: /(\w{2})(\w{2})(\w{2})(\w{2})/, kmlIconPalette: /root:\/\/icons\/palette-(\d+)(\.\w+)/, straightBracket: /\$\[(.*?)\]/g }, this.externalProjection = new GeoGlobe.SpatialReference("EPSG:4326"), GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); }, read: function read(e) { this.features = [], this.styles = {}, this.fetched = {}; var t = { depth: 0, styleBaseUrl: this.styleBaseUrl }; return this.parseData(e, t); }, parseData: function parseData(e, t) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); for (var i = ["Link", "NetworkLink", "Style", "StyleMap", "Placemark"], r = 0, n = i.length; r < n; ++r) { var o = i[r], a = this.getElementsByTagNameNS(e, "*", o); if (0 != a.length) switch (o.toLowerCase()) { case "link": case "networklink": this.parseLinks(a, t); break; case "style": this.extractStyles && this.parseStyles(a, t); break; case "stylemap": this.extractStyles && this.parseStyleMaps(a, t); break; case "placemark": this.parseFeatures(a, t); } } return this.features; }, parseLinks: function parseLinks(e, t) { if (t.depth >= this.maxDepth) return !1; var i = GeoGlobe.Util.extend({}, t); i.depth++; for (var r = 0, n = e.length; r < n; r++) { var o = this.parseProperty(e[r], "*", "href"); if (o && !this.fetched[o]) { this.fetched[o] = !0; var a = this.fetchLink(o); a && this.parseData(a, i); } } }, fetchLink: function fetchLink(e) { var t = GeoGlobe.Request.GET({ url: e, async: !1 }); if (t) return t.responseText; }, parseStyles: function parseStyles(e, t) { for (var i = 0, r = e.length; i < r; i++) { var n = this.parseStyle(e[i]); if (n) { var o = (t.styleBaseUrl || "") + "#" + n.id; this.styles[o] = n; } } }, parseKmlColor: function parseKmlColor(e) { var t = null; if (e) { var i = e.match(this.regExes.kmlColor); i && (t = { color: "#" + i[4] + i[3] + i[2], opacity: _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(i[1], 16) / 255 }); } return t; }, parseStyle: function parseStyle(e) { for (var t, i, r = {}, n = ["LineStyle", "PolyStyle", "IconStyle", "BalloonStyle", "LabelStyle"], o = 0, a = n.length; o < a; ++o) { if (t = n[o], i = this.getElementsByTagNameNS(e, "*", t)[0]) switch (t.toLowerCase()) { case "linestyle": var s = this.parseProperty(i, "*", "color"); (I = this.parseKmlColor(s)) && (r.strokeColor = I.color, r.strokeOpacity = I.opacity), (l = this.parseProperty(i, "*", "width")) && (r.strokeWidth = l); break; case "polystyle": s = this.parseProperty(i, "*", "color"), (I = this.parseKmlColor(s)) && (r.fillOpacity = I.opacity, r.fillColor = I.color), "0" == this.parseProperty(i, "*", "fill") && (r.fillColor = "none"), "0" == this.parseProperty(i, "*", "outline") && (r.strokeWidth = "0"); break; case "iconstyle": var x = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.parseProperty(i, "*", "scale") || 1), l = 32 * x, c = 32 * x, u = this.getElementsByTagNameNS(i, "*", "Icon")[0]; if (u) { var h = this.parseProperty(u, "*", "href"); if (h) { var f = this.parseProperty(u, "*", "w"), d = this.parseProperty(u, "*", "h"); !GeoGlobe.String.startsWith(h, "http://maps.google.com/mapfiles/kml") || f || d || (f = 64, d = 64, x /= 2), f = f || d, d = d || f, f && (l = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(f) * x), d && (c = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(d) * x); var g = h.match(this.regExes.kmlIconPalette); if (g) { var p = g[1], m = g[2], b = this.parseProperty(u, "*", "x"); h = "http://maps.google.com/mapfiles/kml/pal" + p + "/icon" + (8 * ((C = this.parseProperty(u, "*", "y")) ? 7 - C / 32 : 7) + (b ? b / 32 : 0)) + m; } r.graphicOpacity = 1, r.externalGraphic = h; } } var v = this.getElementsByTagNameNS(i, "*", "hotSpot")[0]; if (v) { b = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(v.getAttribute("x")); var C = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(v.getAttribute("y")), y = v.getAttribute("xunits"); "pixels" == y ? r.graphicXOffset = -b * x : "insetPixels" == y ? r.graphicXOffset = b * x - l : "fraction" == y && (r.graphicXOffset = -l * b); var _ = v.getAttribute("yunits"); "pixels" == _ ? r.graphicYOffset = C * x - c + 1 : "insetPixels" == _ ? r.graphicYOffset = -C * x + 1 : "fraction" == _ && (r.graphicYOffset = -c * (1 - C) + 1); } r.graphicWidth = l, r.graphicHeight = c; break; case "balloonstyle": var A = GeoGlobe.Util.getXmlNodeValue(i); A && (r.balloonStyle = A.replace(this.regExes.straightBracket, "${$1}")); break; case "labelstyle": var I; s = this.parseProperty(i, "*", "color"), (I = this.parseKmlColor(s)) && (r.fontColor = I.color, r.fontOpacity = I.opacity); } } !r.strokeColor && r.fillColor && (r.strokeColor = r.fillColor); var w = e.getAttribute("id"); return w && r && (r.id = w), r; }, parseStyleMaps: function parseStyleMaps(e, t) { for (var i = 0, r = e.length; i < r; i++) { for (var n = e[i], o = this.getElementsByTagNameNS(n, "*", "Pair"), a = n.getAttribute("id"), s = 0, x = o.length; s < x; s++) { var l = o[s], c = this.parseProperty(l, "*", "key"), u = this.parseProperty(l, "*", "styleUrl"); u && "normal" == c && (this.styles[(t.styleBaseUrl || "") + "#" + a] = this.styles[(t.styleBaseUrl || "") + u]); } } }, parseFeatures: function parseFeatures(e, t) { for (var i = [], r = 0, n = e.length; r < n; r++) { var o = e[r], a = this.parseFeature.apply(this, [o]); if (!a) throw "Bad Placemark: " + r; if (this.extractStyles && a.attributes && a.attributes.styleUrl && (a.style = this.getStyle(a.attributes.styleUrl, t)), this.extractStyles) { var s = this.getElementsByTagNameNS(o, "*", "Style")[0]; if (s) { var x = this.parseStyle(s); x && (a.style = GeoGlobe.Util.extend(a.style, x)); } } if (this.extractTracks) { var l = this.getElementsByTagNameNS(o, this.namespaces.gx, "Track"); if (l && l.length > 0) { var c = l[0], u = { features: [], feature: a }; this.readNode(c, u), u.features.length > 0 && i.push.apply(i, u.features); } } else i.push(a); } this.features = this.features.concat(i); }, readers: { kml: { when: function when(e, t) { t.whens.push(GeoGlobe.Date.parse(this.getChildValue(e))); }, _trackPointAttribute: function _trackPointAttribute(e, t) { var i = e.nodeName.split(":").pop(); t.attributes[i].push(this.getChildValue(e)); } }, gx: { Track: function Track(e, t) { var i = { whens: [], points: [], angles: [] }; if (this.trackAttributes) { i.attributes = {}; for (var r = 0, n = this.trackAttributes.length; r < n; ++r) { u = this.trackAttributes[r], i.attributes[u] = [], u in this.readers.kml || (this.readers.kml[u] = this.readers.kml._trackPointAttribute); } } if (this.readChildNodes(e, i), i.whens.length !== i.points.length) throw new Error("gx:Track with unequal number of when (" + i.whens.length + ") and gx:coord (" + i.points.length + ") elements."); var o, a, s, x = i.angles.length > 0; if (x && i.whens.length !== i.angles.length) throw new Error("gx:Track with unequal number of when (" + i.whens.length + ") and gx:angles (" + i.angles.length + ") elements."); for (r = 0, n = i.whens.length; r < n; ++r) { if ((o = t.feature.clone()).fid = t.feature.fid || t.feature.id, a = i.points[r], o.geometry = a, "z" in a && (o.attributes.altitude = a.z), this.internalProjection && this.externalProjection && o.geometry.transform(this.externalProjection, this.internalProjection), this.trackAttributes) for (var l = 0, c = this.trackAttributes.length; l < c; ++l) { var u = this.trackAttributes[l]; o.attributes[u] = i.attributes[u][r]; } o.attributes.when = i.whens[r], o.attributes.trackId = t.feature.id, x && (s = i.angles[r], o.attributes.heading = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[0]), o.attributes.tilt = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[1]), o.attributes.roll = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(s[2])), t.features.push(o); } }, coord: function coord(e, t) { var i = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(/\s+/), r = new GeoGlobe.Geometry.Point(i[0], i[1]); i.length > 2 && (r.z = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[2])), t.points.push(r); }, angles: function angles(e, t) { var i = this.getChildValue(e).replace(this.regExes.trimSpace, "").split(/\s+/); t.angles.push(i); } } }, parseFeature: function parseFeature(e) { for (var t, i, r, n, o = ["MultiGeometry", "Polygon", "LineString", "Point"], a = 0, s = o.length; a < s; ++a) { if (t = o[a], this.internalns = e.namespaceURI ? e.namespaceURI : this.kmlns, (i = this.getElementsByTagNameNS(e, this.internalns, t)).length > 0) { var x; if (!(x = this.parseGeometry[t.toLowerCase()])) throw new TypeError("Unsupported geometry type: " + t); r = x.apply(this, [i[0]]), this.internalProjection && this.externalProjection && r.transform(this.externalProjection, this.internalProjection); break; } } this.extractAttributes && (n = this.parseAttributes(e)); var l = new GeoGlobe.Feature(r, n), c = e.getAttribute("id") || e.getAttribute("name"); return null != c && (l.fid = c), l; }, getStyle: function getStyle(e, t) { var i = GeoGlobe.Util.removeTail(e), r = GeoGlobe.Util.extend({}, t); if (r.depth++, r.styleBaseUrl = i, !this.styles[e] && !GeoGlobe.String.startsWith(e, "#") && r.depth <= this.maxDepth && !this.fetched[i]) { var n = this.fetchLink(i); n && this.parseData(n, r); } return GeoGlobe.Util.extend({}, this.styles[e]); }, parseGeometry: { point: function point(e) { var t = this.getElementsByTagNameNS(e, this.internalns, "coordinates"), i = []; if (t.length > 0) { var r = t[0].firstChild.nodeValue; i = (r = r.replace(this.regExes.removeSpace, "")).split(","); } if (!(i.length > 1)) throw "Bad coordinate string: " + r; return 2 == i.length && (i[2] = null), new GeoGlobe.Geometry.Point(i[0], i[1], i[2]); }, linestring: function linestring(e, t) { var i = this.getElementsByTagNameNS(e, this.internalns, "coordinates"), r = null; if (i.length > 0) { for (var n, o = this.getChildValue(i[0]), a = (o = (o = o.replace(this.regExes.trimSpace, "")).replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace), s = a.length, x = new Array(s), l = 0; l < s; ++l) { if (!((n = a[l].split(",")).length > 1)) throw "Bad LineString point coordinates: " + a[l]; 2 == n.length && (n[2] = null), x[l] = new GeoGlobe.Geometry.Point(n[0], n[1], n[2]); } if (!s) throw "Bad LineString coordinates: " + o; r = t ? new GeoGlobe.Geometry.LinearRing(x) : new GeoGlobe.Geometry.LineString(x); } return r; }, polygon: function polygon(e) { var t = this.getElementsByTagNameNS(e, this.internalns, "LinearRing"), i = t.length, r = new Array(i); if (i > 0) for (var n, o = 0, a = t.length; o < a; ++o) { if (!(n = this.parseGeometry.linestring.apply(this, [t[o], !0]))) throw "Bad LinearRing geometry: " + o; r[o] = n; } return new GeoGlobe.Geometry.Polygon(r); }, multigeometry: function multigeometry(e) { for (var t, i = [], r = e.childNodes, n = 0, o = r.length; n < o; ++n) { if (1 == (t = r[n]).nodeType) { var a, s = t.prefix ? t.nodeName.split(":")[1] : t.nodeName; (a = this.parseGeometry[s.toLowerCase()]) && i.push(a.apply(this, [t])); } } return new GeoGlobe.Geometry.Collection(i); } }, parseAttributes: function parseAttributes(e) { var t, i, r = {}, n = e.getElementsByTagName("ExtendedData"); n.length && (r = this.parseExtendedData(n[0])); for (var o = e.childNodes, a = 0, s = o.length; a < s; ++a) { if (1 == (t = o[a]).nodeType && (i = t.childNodes).length >= 1 && i.length <= 3) { var x; switch (i.length) { case 1: x = i[0]; break; case 2: var l = i[0], c = i[1]; x = 3 == l.nodeType || 4 == l.nodeType ? l : c; break; case 3: default: x = i[1]; } if (3 == x.nodeType || 4 == x.nodeType) { var u = t.prefix ? t.nodeName.split(":")[1] : t.nodeName, h = GeoGlobe.Util.getXmlNodeValue(x); h && (h = h.replace(this.regExes.trimSpace, ""), r[u] = h); } } } return r; }, parseExtendedData: function parseExtendedData(e) { var t, i, r, n, o = {}, a = e.getElementsByTagName("Data"); for (t = 0, i = a.length; t < i; t++) { n = (r = a[t]).getAttribute("name"); var s = {}, x = r.getElementsByTagName("value"); if (x.length && (s.value = this.getChildValue(x[0])), this.kvpAttributes) o[n] = s.value;else { var l = r.getElementsByTagName("displayName"); l.length && (s.displayName = this.getChildValue(l[0])), o[n] = s; } } var c = e.getElementsByTagName("SimpleData"); for (t = 0, i = c.length; t < i; t++) { s = {}, n = (r = c[t]).getAttribute("name"), s.value = this.getChildValue(r), this.kvpAttributes ? o[n] = s.value : (s.displayName = n, o[n] = s); } return o; }, parseProperty: function parseProperty(e, t, i) { var r, n = this.getElementsByTagNameNS(e, t, i); try { r = GeoGlobe.Util.getXmlNodeValue(n[0]); } catch (e) { r = null; } return r; }, write: function write(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = this.createElementNS(this.kmlns, "kml"), i = this.createFolderXML(), r = 0, n = e.length; r < n; ++r) { i.appendChild(this.createPlacemarkXML(e[r])); } return t.appendChild(i), GeoGlobe.Format.XML.prototype.write.apply(this, [t]); }, createFolderXML: function createFolderXML() { var e = this.createElementNS(this.kmlns, "Folder"); if (this.foldersName) { var t = this.createElementNS(this.kmlns, "name"), i = this.createTextNode(this.foldersName); t.appendChild(i), e.appendChild(t); } if (this.foldersDesc) { var r = this.createElementNS(this.kmlns, "description"), n = this.createTextNode(this.foldersDesc); r.appendChild(n), e.appendChild(r); } return e; }, createPlacemarkXML: function createPlacemarkXML(e) { var t = this.createElementNS(this.kmlns, "name"), i = e.style && e.style.label ? e.style.label : e.id, r = e.attributes.name || i; t.appendChild(this.createTextNode(r)); var n = this.createElementNS(this.kmlns, "description"), o = e.attributes.description || this.placemarksDesc; n.appendChild(this.createTextNode(o)); var a = this.createElementNS(this.kmlns, "Placemark"); null != e.fid && a.setAttribute("id", e.fid), a.appendChild(t), a.appendChild(n); var s = this.buildGeometryNode(e.geometry); if (a.appendChild(s), e.attributes) { var x = this.buildExtendedData(e.attributes); x && a.appendChild(x); } return a; }, buildGeometryNode: function buildGeometryNode(e) { var t = e.CLASS_NAME, i = t.substring(t.lastIndexOf(".") + 1), r = this.buildGeometry[i.toLowerCase()], n = null; return r && (n = r.apply(this, [e])), n; }, buildGeometry: { point: function point(e) { var t = this.createElementNS(this.kmlns, "Point"); return t.appendChild(this.buildCoordinatesNode(e)), t; }, multipoint: function multipoint(e) { return this.buildGeometry.collection.apply(this, [e]); }, linestring: function linestring(e) { var t = this.createElementNS(this.kmlns, "LineString"); return t.appendChild(this.buildCoordinatesNode(e)), t; }, multilinestring: function multilinestring(e) { return this.buildGeometry.collection.apply(this, [e]); }, linearring: function linearring(e) { var t = this.createElementNS(this.kmlns, "LinearRing"); return t.appendChild(this.buildCoordinatesNode(e)), t; }, polygon: function polygon(e) { for (var t, i, r, n = this.createElementNS(this.kmlns, "Polygon"), o = e.components, a = 0, s = o.length; a < s; ++a) { r = 0 == a ? "outerBoundaryIs" : "innerBoundaryIs", t = this.createElementNS(this.kmlns, r), i = this.buildGeometry.linearring.apply(this, [o[a]]), t.appendChild(i), n.appendChild(t); } return n; }, multipolygon: function multipolygon(e) { return this.buildGeometry.collection.apply(this, [e]); }, collection: function collection(e) { for (var t, i = this.createElementNS(this.kmlns, "MultiGeometry"), r = 0, n = e.components.length; r < n; ++r) { (t = this.buildGeometryNode.apply(this, [e.components[r]])) && i.appendChild(t); } return i; } }, buildCoordinatesNode: function buildCoordinatesNode(e) { var t, i = this.createElementNS(this.kmlns, "coordinates"), r = e.components; if (r) { for (var n, o = r.length, a = new Array(o), s = 0; s < o; ++s) { n = r[s], a[s] = this.buildCoordinates(n); } t = a.join(" "); } else t = this.buildCoordinates(e); var x = this.createTextNode(t); return i.appendChild(x), i; }, buildCoordinates: function buildCoordinates(e) { return this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection), e.x + "," + e.y; }, buildExtendedData: function buildExtendedData(e) { var t = this.createElementNS(this.kmlns, "ExtendedData"); for (var i in e) { if (e[i] && "name" != i && "description" != i && "styleUrl" != i) { var r = this.createElementNS(this.kmlns, "Data"); r.setAttribute("name", i); var n = this.createElementNS(this.kmlns, "value"); if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e[i])) { if (e[i].value && n.appendChild(this.createTextNode(e[i].value)), e[i].displayName) { var o = this.createElementNS(this.kmlns, "displayName"); o.appendChild(this.getXMLDoc().createCDATASection(e[i].displayName)), r.appendChild(o); } } else n.appendChild(this.createTextNode(e[i])); r.appendChild(n), t.appendChild(r); } } return this.isSimpleContent(t) ? null : t; }, CLASS_NAME: "GeoGlobe.Format.KML" }), GeoGlobe.Format.OWSCommon = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.0.0", getVersion: function getVersion(e, t) { var i = this.version; if (!i) { var r = e.getAttribute("xmlns:ows"); r && "1.1" === r.substring(r.lastIndexOf("/") + 1) && (i = "1.1.0"), i || (i = this.defaultVersion); } return i; }, CLASS_NAME: "GeoGlobe.Format.OWSCommon" }), GeoGlobe.Format.OWSCommon.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, read: function read(e, t) { t = GeoGlobe.Util.applyDefaults(t, this.options); var i = {}; return this.readChildNodes(e, i), i; }, readers: { ows: { Exception: function Exception(e, t) { var i = { code: e.getAttribute("exceptionCode"), locator: e.getAttribute("locator"), texts: [] }; t.exceptions.push(i), this.readChildNodes(e, i); }, ExceptionText: function ExceptionText(e, t) { var i = this.getChildValue(e); t.texts.push(i); }, ServiceIdentification: function ServiceIdentification(e, t) { t.serviceIdentification = {}, this.readChildNodes(e, t.serviceIdentification); }, Title: function Title(e, t) { t.title = this.getChildValue(e); }, Abstract: function Abstract(e, t) { t["abstract"] = this.getChildValue(e); }, Keywords: function Keywords(e, t) { t.keywords = {}, this.readChildNodes(e, t.keywords); }, Keyword: function Keyword(e, t) { t[this.getChildValue(e)] = !0; }, ServiceType: function ServiceType(e, t) { t.serviceType = { codeSpace: e.getAttribute("codeSpace"), value: this.getChildValue(e) }; }, ServiceTypeVersion: function ServiceTypeVersion(e, t) { t.serviceTypeVersion = this.getChildValue(e); }, Fees: function Fees(e, t) { t.fees = this.getChildValue(e); }, AccessConstraints: function AccessConstraints(e, t) { t.accessConstraints = this.getChildValue(e); }, ServiceProvider: function ServiceProvider(e, t) { t.serviceProvider = {}, this.readChildNodes(e, t.serviceProvider); }, ProviderName: function ProviderName(e, t) { t.providerName = this.getChildValue(e); }, ProviderSite: function ProviderSite(e, t) { t.providerSite = this.getAttributeNS(e, this.namespaces.xlink, "href"); }, ServiceContact: function ServiceContact(e, t) { t.serviceContact = {}, this.readChildNodes(e, t.serviceContact); }, IndividualName: function IndividualName(e, t) { t.individualName = this.getChildValue(e); }, PositionName: function PositionName(e, t) { t.positionName = this.getChildValue(e); }, ContactInfo: function ContactInfo(e, t) { t.contactInfo = {}, this.readChildNodes(e, t.contactInfo); }, Phone: function Phone(e, t) { t.phone = {}, this.readChildNodes(e, t.phone); }, Voice: function Voice(e, t) { t.voice = this.getChildValue(e); }, Address: function Address(e, t) { t.address = {}, this.readChildNodes(e, t.address); }, DeliveryPoint: function DeliveryPoint(e, t) { t.deliveryPoint = this.getChildValue(e); }, City: function City(e, t) { t.city = this.getChildValue(e); }, AdministrativeArea: function AdministrativeArea(e, t) { t.administrativeArea = this.getChildValue(e); }, PostalCode: function PostalCode(e, t) { t.postalCode = this.getChildValue(e); }, Country: function Country(e, t) { t.country = this.getChildValue(e); }, ElectronicMailAddress: function ElectronicMailAddress(e, t) { t.electronicMailAddress = this.getChildValue(e); }, Role: function Role(e, t) { t.role = this.getChildValue(e); }, OperationsMetadata: function OperationsMetadata(e, t) { t.operationsMetadata = {}, this.readChildNodes(e, t.operationsMetadata); }, Operation: function Operation(e, t) { var i = e.getAttribute("name"); t[i] = {}, this.readChildNodes(e, t[i]); }, DCP: function DCP(e, t) { t.dcp = {}, this.readChildNodes(e, t.dcp); }, HTTP: function HTTP(e, t) { t.http = {}, this.readChildNodes(e, t.http); }, Get: function Get(e, t) { t.get || (t.get = []); var i = { url: this.getAttributeNS(e, this.namespaces.xlink, "href") }; this.readChildNodes(e, i), t.get.push(i); }, Post: function Post(e, t) { t.post || (t.post = []); var i = { url: this.getAttributeNS(e, this.namespaces.xlink, "href") }; this.readChildNodes(e, i), t.post.push(i); }, Parameter: function Parameter(e, t) { t.parameters || (t.parameters = {}); var i = e.getAttribute("name"); t.parameters[i] = {}, this.readChildNodes(e, t.parameters[i]); }, Constraint: function Constraint(e, t) { t.constraints || (t.constraints = {}); var i = e.getAttribute("name"); t.constraints[i] = {}, this.readChildNodes(e, t.constraints[i]); }, Value: function Value(e, t) { t[this.getChildValue(e)] = !0; }, OutputFormat: function OutputFormat(e, t) { t.formats.push({ value: this.getChildValue(e) }), this.readChildNodes(e, t); }, WGS84BoundingBox: function WGS84BoundingBox(e, t) { var i = {}; i.crs = e.getAttribute("crs"), t.BoundingBox ? t.BoundingBox.push(i) : (t.projection = i.crs, i = t), this.readChildNodes(e, i); }, BoundingBox: function BoundingBox(e, t) { this.readers.ows.WGS84BoundingBox.apply(this, [e, t]); }, LowerCorner: function LowerCorner(e, t) { var i = this.getChildValue(e).replace(this.regExes.trimSpace, ""), r = (i = i.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace); t.left = r[0], t.bottom = r[1]; }, UpperCorner: function UpperCorner(e, t) { var i = this.getChildValue(e).replace(this.regExes.trimSpace, ""), r = (i = i.replace(this.regExes.trimComma, ",")).split(this.regExes.splitSpace); t.right = r[0], t.top = r[1], t.bounds = new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(t.left, t.bottom), new GeoGlobe.LngLat(t.right, t.top)), delete t.left, delete t.bottom, delete t.right, delete t.top; }, Language: function Language(e, t) { t.language = this.getChildValue(e); } } }, writers: { ows: { BoundingBox: function BoundingBox(e, t) { var i = this.createElementNSPlus(t || "ows:BoundingBox", { attributes: { crs: e.projection } }); return this.writeNode("ows:LowerCorner", e, i), this.writeNode("ows:UpperCorner", e, i), i; }, LowerCorner: function LowerCorner(e) { return this.createElementNSPlus("ows:LowerCorner", { value: e.bounds._sw.lng + " " + e.bounds._sw.lat }); }, UpperCorner: function UpperCorner(e) { return this.createElementNSPlus("ows:UpperCorner", { value: e.bounds._ne.lng + " " + e.bounds._ne.lat }); }, Identifier: function Identifier(e) { return this.createElementNSPlus("ows:Identifier", { value: e }); }, Title: function Title(e) { return this.createElementNSPlus("ows:Title", { value: e }); }, Abstract: function Abstract(e) { return this.createElementNSPlus("ows:Abstract", { value: e }); }, OutputFormat: function OutputFormat(e) { return this.createElementNSPlus("ows:OutputFormat", { value: e }); } } }, CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1" }), GeoGlobe.Format.OWSCommon.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1, { namespaces: { ows: "http://www.opengis.net/ows", xlink: "http://www.w3.org/1999/xlink" }, readers: { ows: GeoGlobe.Util.applyDefaults({ ExceptionReport: function ExceptionReport(e, t) { t.success = !1, t.exceptionReport = { version: e.getAttribute("version"), language: e.getAttribute("language"), exceptions: [] }, this.readChildNodes(e, t.exceptionReport); } }, GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows) }, writers: { ows: GeoGlobe.Format.OWSCommon.v1.prototype.writers.ows }, CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1_0_0" }), GeoGlobe.Format.OWSCommon.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1, { namespaces: { ows: "http://www.opengis.net/ows/1.1", xlink: "http://www.w3.org/1999/xlink" }, readers: { ows: GeoGlobe.Util.applyDefaults({ ExceptionReport: function ExceptionReport(e, t) { t.exceptionReport = { version: e.getAttribute("version"), language: e.getAttribute("xml:lang"), exceptions: [] }, this.readChildNodes(e, t.exceptionReport); }, AllowedValues: function AllowedValues(e, t) { t.allowedValues = {}, this.readChildNodes(e, t.allowedValues); }, AnyValue: function AnyValue(e, t) { t.anyValue = !0; }, DataType: function DataType(e, t) { t.dataType = this.getChildValue(e); }, Range: function Range(e, t) { t.range = {}, this.readChildNodes(e, t.range); }, MinimumValue: function MinimumValue(e, t) { t.minValue = this.getChildValue(e); }, MaximumValue: function MaximumValue(e, t) { t.maxValue = this.getChildValue(e); }, Identifier: function Identifier(e, t) { t.identifier = this.getChildValue(e); }, SupportedCRS: function SupportedCRS(e, t) { t.supportedCRS = this.getChildValue(e); } }, GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows) }, writers: { ows: GeoGlobe.Util.applyDefaults({ Range: function Range(e) { var t = this.createElementNSPlus("ows:Range", { attributes: { "ows:rangeClosure": e.closure } }); return this.writeNode("ows:MinimumValue", e.minValue, t), this.writeNode("ows:MaximumValue", e.maxValue, t), t; }, MinimumValue: function MinimumValue(e) { return this.createElementNSPlus("ows:MinimumValue", { value: e }); }, MaximumValue: function MaximumValue(e) { return this.createElementNSPlus("ows:MaximumValue", { value: e }); }, Value: function Value(e) { return this.createElementNSPlus("ows:Value", { value: e }); } }, GeoGlobe.Format.OWSCommon.v1.prototype.writers.ows) }, CLASS_NAME: "GeoGlobe.Format.OWSCommon.v1_1_0" }), GeoGlobe.Format.WFSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.1.0", CLASS_NAME: "GeoGlobe.Format.WFSCapabilities" }), GeoGlobe.Format.WFSCapabilities.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { wfs: "http://www.opengis.net/wfs", xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance", ows: "http://www.opengis.net/ows" }, errorProperty: "featureTypeList", defaultPrefix: "wfs", read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t = {}; return this.readNode(e, t), t; }, readers: { wfs: { WFS_Capabilities: function WFS_Capabilities(e, t) { this.readChildNodes(e, t); }, FeatureTypeList: function FeatureTypeList(e, t) { t.featureTypeList = { featureTypes: [] }, this.readChildNodes(e, t.featureTypeList); }, FeatureType: function FeatureType(e, t) { var i = {}; this.readChildNodes(e, i), t.featureTypes.push(i); }, Name: function Name(e, t) { var i = this.getChildValue(e); if (i) { var r = i.split(":"); t.name = r.pop(), r.length > 0 && (t.featureNS = this.lookupNamespaceURI(e, r[0])); } }, Title: function Title(e, t) { var i = this.getChildValue(e); i && (t.title = i); }, Abstract: function Abstract(e, t) { var i = this.getChildValue(e); i && (t["abstract"] = i); } } }, CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1" }), GeoGlobe.Format.WFSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WFSCapabilities.v1, { readers: { wfs: GeoGlobe.Util.applyDefaults({ Service: function Service(e, t) { t.service = {}, this.readChildNodes(e, t.service); }, Fees: function Fees(e, t) { var i = this.getChildValue(e); i && "none" != i.toLowerCase() && (t.fees = i); }, AccessConstraints: function AccessConstraints(e, t) { var i = this.getChildValue(e); i && "none" != i.toLowerCase() && (t.accessConstraints = i); }, OnlineResource: function OnlineResource(e, t) { var i = this.getChildValue(e); i && "none" != i.toLowerCase() && (t.onlineResource = i); }, Keywords: function Keywords(e, t) { var i = this.getChildValue(e); i && "none" != i.toLowerCase() && (t.keywords = i.split(", ")); }, Capability: function Capability(e, t) { t.capability = {}, this.readChildNodes(e, t.capability); }, Request: function Request(e, t) { t.request = {}, this.readChildNodes(e, t.request); }, GetFeature: function GetFeature(e, t) { t.getfeature = { href: {}, formats: [] }, this.readChildNodes(e, t.getfeature); }, ResultFormat: function ResultFormat(e, t) { for (var i, r = e.childNodes, n = 0; n < r.length; n++) { 1 == (i = r[n]).nodeType && t.formats.push(i.nodeName); } }, DCPType: function DCPType(e, t) { this.readChildNodes(e, t); }, HTTP: function HTTP(e, t) { this.readChildNodes(e, t.href); }, Get: function Get(e, t) { t.get = e.getAttribute("onlineResource"); }, Post: function Post(e, t) { t.post = e.getAttribute("onlineResource"); }, SRS: function SRS(e, t) { var i = this.getChildValue(e); i && (t.srs = i); }, LatLongBoundingBox: function LatLongBoundingBox(e, t) { var i = e.getAttribute("minx"), r = e.getAttribute("miny"), n = e.getAttribute("maxx"), o = e.getAttribute("maxy"); t.bbox = i + "," + r + "," + n + "," + o; }, TemporalFeatureLayer: function TemporalFeatureLayer(e, t) { t.temporalFeatureLayers = []; var i = {}; this.readChildNodes(e, i), t.temporalFeatureLayers.push(i); }, Extent: function Extent(e, t) { t.defaultTime = e.getAttribute("default"); var i = this.getChildValue(e).split("/"); t.time = i; }, Dimension: function Dimension(e, t) { t.defaultTime = e.getAttribute("default"); var i = this.getChildValue(e).split("/"); t.time = i; } }, GeoGlobe.Format.WFSCapabilities.v1.prototype.readers.wfs) }, CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1_0_0" }), GeoGlobe.Format.WFSCapabilities.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WFSCapabilities.v1, { regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, readers: { wfs: GeoGlobe.Util.applyDefaults({ DefaultSRS: function DefaultSRS(e, t) { var i = this.getChildValue(e); i && (t.srs = i); }, WGS84BoundingBox: function WGS84BoundingBox(e, t) { var i = e.getElementsByTagName("ows:LowerCorner"), r = this.getChildValue(i[0]).split(" "), n = e.getElementsByTagName("ows:UpperCorner"), o = this.getChildValue(n[0]).split(" "); t.bbox = r[0] + "," + r[1] + "," + o[0] + "," + o[1]; }, TemporalFeatureLayer: function TemporalFeatureLayer(e, t) { t.temporalFeatureLayers = []; var i = {}; this.readChildNodes(e, i), t.temporalFeatureLayers.push(i); }, Extent: function Extent(e, t) { t.defaultTime = e.getAttribute("default"); var i = this.getChildValue(e).split("/"); t.time = i; }, Dimension: function Dimension(e, t) { t.defaultTime = e.getAttribute("default"); var i = this.getChildValue(e).split("/"); t.time = i; } }, GeoGlobe.Format.WFSCapabilities.v1.prototype.readers.wfs), ows: GeoGlobe.Format.OWSCommon.v1.prototype.readers.ows }, CLASS_NAME: "GeoGlobe.Format.WFSCapabilities.v1_1_0" }), GeoGlobe.Format.WFSDescribeFeatureType = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { regExes: { trimSpace: /^\s*|\s*$/g }, namespaces: { xsd: "http://www.w3.org/2001/XMLSchema" }, readers: { xsd: { schema: function schema(e, t) { var i, r, n = [], o = {}, a = { complexTypes: n, customTypes: o }; this.readChildNodes(e, a); var s, x, l, c, u = e.attributes; for (i = 0, r = u.length; i < r; ++i) { 0 === (x = (s = u[i]).name).indexOf("xmlns") ? this.setNamespace(x.split(":")[1] || "", s.value) : t[x] = s.value; } for (t.featureTypes = n, t.targetPrefix = this.namespaceAlias[t.targetNamespace], i = 0, r = n.length; i < r; ++i) { c = o[(l = n[i]).typeName], o[l.typeName] && (l.typeName = c.name); } }, complexType: function complexType(e, t) { var i = { typeName: e.getAttribute("name") }; this.readChildNodes(e, i), t.complexTypes.push(i); }, complexContent: function complexContent(e, t) { this.readChildNodes(e, t); }, extension: function extension(e, t) { this.readChildNodes(e, t); }, sequence: function sequence(e, t) { var i = { elements: [] }; this.readChildNodes(e, i), t.properties = i.elements; }, element: function element(e, t) { var i; if (t.elements) { for (var r, n = {}, o = e.attributes, a = 0, s = o.length; a < s; ++a) { n[(r = o[a]).name] = r.value; } (i = n.type || n.ref) || (i = {}, this.readChildNodes(e, i), n.restriction = i, n.type = i.base); var x = i.base || i; n.localType = x.split(":").pop(), t.elements.push(n), this.readChildNodes(e, n); } if (t.complexTypes) { var l = (i = e.getAttribute("type")).split(":").pop(); t.customTypes[l] = { name: e.getAttribute("name"), type: i }; } }, annotation: function annotation(e, t) { t.annotation = {}, this.readChildNodes(e, t.annotation); }, appinfo: function appinfo(e, t) { t.appinfo || (t.appinfo = []), t.appinfo.push(this.getChildValue(e)); }, documentation: function documentation(e, t) { t.documentation || (t.documentation = []); var i = this.getChildValue(e); t.documentation.push({ lang: e.getAttribute("xml:lang"), textContent: i.replace(this.regExes.trimSpace, "") }); }, simpleType: function simpleType(e, t) { this.readChildNodes(e, t); }, restriction: function restriction(e, t) { t.base = e.getAttribute("base"), this.readRestriction(e, t); } } }, readRestriction: function readRestriction(e, t) { for (var i, r, n, o = e.childNodes, a = 0, s = o.length; a < s; ++a) { 1 == (i = o[a]).nodeType && (r = i.nodeName.split(":").pop(), n = i.getAttribute("value"), t[r] ? ("string" == typeof t[r] && (t[r] = [t[r]]), t[r].push(n)) : t[r] = n); } }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t = {}; if ("ExceptionReport" === e.nodeName.split(":").pop()) { var i = new GeoGlobe.Format.OGCExceptionReport(); t.error = i.read(e); } else this.readNode(e, t); return t; }, CLASS_NAME: "GeoGlobe.Format.WFSDescribeFeatureType" }), GeoGlobe.Format.WKT = GeoGlobe.Class4OL(GeoGlobe.Format, { initialize: function initialize(e) { this.regExes = { typeStr: /^\s*(\w+)\s*\(\s*(.*)\s*\)\s*$/, spaces: /\s+/, parenComma: /\)\s*,\s*\(/, doubleParenComma: /\)\s*\)\s*,\s*\(\s*\(/, trimParens: /^\s*\(?(.*?)\)?\s*$/ }, GeoGlobe.Format.prototype.initialize.apply(this, [e]); }, read: function read(e) { var t, i, r; e = e.replace(/[\n\r]/g, " "); var n = this.regExes.typeStr.exec(e); if (n && (i = n[1].toLowerCase(), r = n[2], this.parse[i] && (t = this.parse[i].apply(this, [r])), this.internalProjection && this.externalProjection)) if (t && "GeoGlobe.Feature" == t.CLASS_NAME) t.geometry.transform(this.externalProjection, this.internalProjection);else if (t && "geometrycollection" != i && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(t)) for (var o = 0, a = t.length; o < a; o++) { t[o].geometry.transform(this.externalProjection, this.internalProjection); } return t; }, write: function write(e) { var t, i, r; e.constructor == Array ? (t = e, r = !0) : (t = [e], r = !1); var n = []; r && n.push("GEOMETRYCOLLECTION("); for (var o = 0, a = t.length; o < a; ++o) { r && o > 0 && n.push(","), i = t[o].geometry, n.push(this.extractGeometry(i)); } return r && n.push(")"), n.join(""); }, extractGeometry: function extractGeometry(e) { var t = e.CLASS_NAME.split(".")[2].toLowerCase(); return this.extract[t] ? (this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection), ("collection" == t ? "GEOMETRYCOLLECTION" : t.toUpperCase()) + "(" + this.extract[t].apply(this, [e]) + ")") : null; }, extract: { point: function point(e) { return e.x + " " + e.y; }, multipoint: function multipoint(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push("(" + this.extract.point.apply(this, [e.components[i]]) + ")"); } return t.join(","); }, linestring: function linestring(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extract.point.apply(this, [e.components[i]])); } return t.join(","); }, multilinestring: function multilinestring(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push("(" + this.extract.linestring.apply(this, [e.components[i]]) + ")"); } return t.join(","); }, polygon: function polygon(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push("(" + this.extract.linestring.apply(this, [e.components[i]]) + ")"); } return t.join(","); }, multipolygon: function multipolygon(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push("(" + this.extract.polygon.apply(this, [e.components[i]]) + ")"); } return t.join(","); }, collection: function collection(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extractGeometry.apply(this, [e.components[i]])); } return t.join(","); } }, parse: { point: function point(e) { var t = GeoGlobe.String.trim(e).split(this.regExes.spaces); return new GeoGlobe.Feature(new GeoGlobe.Geometry.Point(t[0], t[1])); }, multipoint: function multipoint(e) { for (var t, i = GeoGlobe.String.trim(e).split(","), r = [], n = 0, o = i.length; n < o; ++n) { t = i[n].replace(this.regExes.trimParens, "$1"), r.push(this.parse.point.apply(this, [t]).geometry); } return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiPoint(r)); }, linestring: function linestring(e) { for (var t = GeoGlobe.String.trim(e).split(","), i = [], r = 0, n = t.length; r < n; ++r) { i.push(this.parse.point.apply(this, [t[r]]).geometry); } return new GeoGlobe.Feature(new GeoGlobe.Geometry.LineString(i)); }, multilinestring: function multilinestring(e) { for (var t, i = GeoGlobe.String.trim(e).split(this.regExes.parenComma), r = [], n = 0, o = i.length; n < o; ++n) { t = i[n].replace(this.regExes.trimParens, "$1"), r.push(this.parse.linestring.apply(this, [t]).geometry); } return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiLineString(r)); }, polygon: function polygon(e) { for (var t, i, r, n = GeoGlobe.String.trim(e).split(this.regExes.parenComma), o = [], a = 0, s = n.length; a < s; ++a) { t = n[a].replace(this.regExes.trimParens, "$1"), i = this.parse.linestring.apply(this, [t]).geometry, r = new GeoGlobe.Geometry.LinearRing(i.components), o.push(r); } return new GeoGlobe.Feature(new GeoGlobe.Geometry.Polygon(o)); }, multipolygon: function multipolygon(e) { for (var t, i = GeoGlobe.String.trim(e).split(this.regExes.doubleParenComma), r = [], n = 0, o = i.length; n < o; ++n) { t = i[n].replace(this.regExes.trimParens, "$1"), r.push(this.parse.polygon.apply(this, [t]).geometry); } return new GeoGlobe.Feature(new GeoGlobe.Geometry.MultiPolygon(r)); }, geometrycollection: function geometrycollection(e) { e = e.replace(/,\s*([A-Za-z])/g, "|$1"); for (var t = GeoGlobe.String.trim(e).split("|"), i = [], r = 0, n = t.length; r < n; ++r) { i.push(GeoGlobe.Format.WKT.prototype.read.apply(this, [t[r]])); } return i; } }, CLASS_NAME: "GeoGlobe.Format.WKT" }), GeoGlobe.Format.CQL = function () { var e, t = { PROPERTY: /^[_a-zA-Z]\w*/, COMPARISON: /^(=|<>|<=|<|>=|>|LIKE)/i, IS_NULL: /^IS NULL/i, COMMA: /^,/, LOGICAL: /^(AND|OR)/i, VALUE: /^('([^']|'')*'|\d+(\.\d*)?|\.\d+)/, LPAREN: /^\(/, RPAREN: /^\)/, SPATIAL: /^(BBOX|INTERSECTS|DWITHIN|WITHIN|CONTAINS)/i, NOT: /^NOT/i, BETWEEN: /^BETWEEN/i, GEOMETRY: function GEOMETRY(e) { var t = /^(POINT|LINESTRING|POLYGON|MULTIPOINT|MULTILINESTRING|MULTIPOLYGON|GEOMETRYCOLLECTION)/.exec(e); if (t) { var i = e.length, r = e.indexOf("(", t[0].length); if (r > -1) for (var n = 1; r < i && n > 0;) { switch (r++, e.charAt(r)) { case "(": n++; break; case ")": n--; } } return [e.substr(0, r + 1)]; } }, END: /^$/ }, i = { LPAREN: ["GEOMETRY", "SPATIAL", "PROPERTY", "VALUE", "LPAREN"], RPAREN: ["NOT", "LOGICAL", "END", "RPAREN"], PROPERTY: ["COMPARISON", "BETWEEN", "COMMA", "IS_NULL"], BETWEEN: ["VALUE"], IS_NULL: ["END"], COMPARISON: ["VALUE"], COMMA: ["GEOMETRY", "VALUE", "PROPERTY"], VALUE: ["LOGICAL", "COMMA", "RPAREN", "END"], SPATIAL: ["LPAREN"], LOGICAL: ["NOT", "VALUE", "SPATIAL", "PROPERTY", "LPAREN"], NOT: ["PROPERTY", "LPAREN"], GEOMETRY: ["COMMA", "RPAREN"] }, r = { "=": GeoGlobe.Filter.Comparison.EQUAL_TO, "<>": GeoGlobe.Filter.Comparison.NOT_EQUAL_TO, "<": GeoGlobe.Filter.Comparison.LESS_THAN, "<=": GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO, ">": GeoGlobe.Filter.Comparison.GREATER_THAN, ">=": GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO, LIKE: GeoGlobe.Filter.Comparison.LIKE, BETWEEN: GeoGlobe.Filter.Comparison.BETWEEN, "IS NULL": GeoGlobe.Filter.Comparison.IS_NULL }, n = {}, o = { AND: GeoGlobe.Filter.Logical.AND, OR: GeoGlobe.Filter.Logical.OR }, a = {}, s = { RPAREN: 3, LOGICAL: 2, COMPARISON: 1 }; for (e in r) { r.hasOwnProperty(e) && (n[r[e]] = e); } for (e in o) { o.hasOwnProperty(e) && (a[o[e]] = e); } function x(e, i) { var r, n, o, a, s = i.length; for (r = 0; r < s; r++) { n = i[r]; var x = (o = e, (a = t[n]) instanceof RegExp ? a.exec(o) : a(o)); if (x) { var l = x[0]; return { type: n, text: l, remainder: e.substr(l.length).replace(/^\s*/, "") }; } } var c = "ERROR: In parsing: [" + e + "], expected one of: "; for (r = 0; r < s; r++) { c += "\n " + (n = i[r]) + ": " + t[n]; } throw new Error(c); } return GeoGlobe.Class4OL(GeoGlobe.Format, { read: function read(e) { var t = function (e) { for (var t = [], i = []; e.length;) { var n = e.shift(); switch (n.type) { case "PROPERTY": case "GEOMETRY": case "VALUE": i.push(n); break; case "COMPARISON": case "BETWEEN": case "IS_NULL": case "LOGICAL": for (var a = s[n.type]; t.length > 0 && s[t[t.length - 1].type] <= a;) { i.push(t.pop()); } t.push(n); break; case "SPATIAL": case "NOT": case "LPAREN": t.push(n); break; case "RPAREN": for (; t.length > 0 && "LPAREN" != t[t.length - 1].type;) { i.push(t.pop()); } t.pop(), t.length > 0 && "SPATIAL" == t[t.length - 1].type && i.push(t.pop()); case "COMMA": case "END": break; default: throw new Error("Unknown token type " + n.type); } } for (; t.length > 0;) { i.push(t.pop()); } var x = function e() { var t = i.pop(); switch (t.type) { case "LOGICAL": var n = e(), a = e(); return new GeoGlobe.Filter.Logical({ filters: [a, n], type: o[t.text.toUpperCase()] }); case "NOT": var s = e(); return new GeoGlobe.Filter.Logical({ filters: [s], type: GeoGlobe.Filter.Logical.NOT }); case "BETWEEN": var x, l; return i.pop(), l = e(), x = e(), u = e(), new GeoGlobe.Filter.Comparison({ property: u, lowerBoundary: x, upperBoundary: l, type: GeoGlobe.Filter.Comparison.BETWEEN }); case "COMPARISON": var c = e(), u = e(); return new GeoGlobe.Filter.Comparison({ property: u, value: c, type: r[t.text.toUpperCase()] }); case "IS_NULL": return u = e(), new GeoGlobe.Filter.Comparison({ property: u, type: r[t.text.toUpperCase()] }); case "VALUE": var h = t.text.match(/^'(.*)'$/); return h ? h[1].replace(/''/g, "'") : Number(t.text); case "SPATIAL": switch (t.text.toUpperCase()) { case "BBOX": var f = e(), d = e(), g = e(), p = e(), m = e(); return new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.BBOX, property: m, value: GeoGlobe.LngLatBounds.fromArray([p, g, d, f]) }); case "INTERSECTS": return c = e(), u = e(), new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.INTERSECTS, property: u, value: c }); case "WITHIN": return c = e(), u = e(), new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.WITHIN, property: u, value: c }); case "CONTAINS": return c = e(), u = e(), new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.CONTAINS, property: u, value: c }); case "DWITHIN": var b = e(); return c = e(), u = e(), new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.DWITHIN, value: c, property: u, distance: Number(b) }); } case "GEOMETRY": return GeoGlobe.Geometry.fromWKT(t.text); default: return t.text; } }(); if (i.length > 0) { for (var l = "Remaining tokens after building AST: \n", c = i.length - 1; c >= 0; c--) { l += i[c].type + ": " + i[c].text + "\n"; } throw new Error(l); } return x; }(function (e) { var t, r = [], n = ["NOT", "GEOMETRY", "SPATIAL", "PROPERTY", "LPAREN"]; do { if (e = (t = x(e, n)).remainder, n = i[t.type], "END" != t.type && !n) throw new Error("No follows list for " + t.type); r.push(t); } while ("END" != t.type); return r; }(e)); return this.keepData && (this.data = t), t; }, write: function write(e) { if (e instanceof GeoGlobe.Geometry) return e.toString(); switch (e.CLASS_NAME) { case "GeoGlobe.Filter.Spatial": switch (e.type) { case GeoGlobe.Filter.Spatial.BBOX: return "BBOX(" + e.property + "," + e.value.toBBOX() + ")"; case GeoGlobe.Filter.Spatial.DWITHIN: return "DWITHIN(" + e.property + ", " + this.write(e.value) + ", " + e.distance + ")"; case GeoGlobe.Filter.Spatial.WITHIN: return "WITHIN(" + e.property + ", " + this.write(e.value) + ")"; case GeoGlobe.Filter.Spatial.INTERSECTS: return "INTERSECTS(" + e.property + ", " + this.write(e.value) + ")"; case GeoGlobe.Filter.Spatial.CONTAINS: return "CONTAINS(" + e.property + ", " + this.write(e.value) + ")"; default: throw new Error("Unknown spatial filter type: " + e.type); } case "GeoGlobe.Filter.Logical": if (e.type == GeoGlobe.Filter.Logical.NOT) return "NOT (" + this.write(e.filters[0]) + ")"; for (var t = "(", i = !0, r = 0; r < e.filters.length; r++) { i ? i = !1 : t += ") " + a[e.type] + " (", t += this.write(e.filters[r]); } return t + ")"; case "GeoGlobe.Filter.Comparison": return e.type == GeoGlobe.Filter.Comparison.BETWEEN ? e.property + " BETWEEN " + this.write(e.lowerBoundary) + " AND " + this.write(e.upperBoundary) : null !== e.value ? e.property + " " + n[e.type] + " " + this.write(e.value) : e.property + " " + n[e.type]; case void 0: if ("string" == typeof e) return "'" + e.replace(/'/g, "''") + "'"; if ("number" == typeof e) return String(e); default: throw new Error("Can't encode: " + e.CLASS_NAME + " " + e); } }, CLASS_NAME: "GeoGlobe.Format.CQL" }); }(), GeoGlobe.Format.Filter = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.0.0", CLASS_NAME: "GeoGlobe.Format.Filter" }), GeoGlobe.Format.Filter.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { ogc: "http://www.opengis.net/ogc", gml: "http://www.opengis.net/gml", xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance" }, defaultPrefix: "ogc", schemaLocation: null, initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); }, read: function read(e) { var t = {}; return this.readers.ogc.Filter.apply(this, [e, t]), t.filter; }, readers: { ogc: { _expression: function _expression(e) { for (var t, i = "", r = e.firstChild; r; r = r.nextSibling) { switch (r.nodeType) { case 1: (t = this.readNode(r)).property ? i += "${" + t.property + "}" : void 0 !== t.value && (i += t.value); break; case 3: case 4: i += r.nodeValue; } } return i; }, Filter: function Filter(e, t) { var i = { fids: [], filters: [] }; this.readChildNodes(e, i), i.fids.length > 0 ? t.filter = new GeoGlobe.Filter.FeatureId({ fids: i.fids }) : i.filters.length > 0 && (t.filter = i.filters[0]); }, FeatureId: function FeatureId(e, t) { var i = e.getAttribute("fid"); i && t.fids.push(i); }, And: function And(e, t) { var i = new GeoGlobe.Filter.Logical({ type: GeoGlobe.Filter.Logical.AND }); this.readChildNodes(e, i), t.filters.push(i); }, Or: function Or(e, t) { var i = new GeoGlobe.Filter.Logical({ type: GeoGlobe.Filter.Logical.OR }); this.readChildNodes(e, i), t.filters.push(i); }, Not: function Not(e, t) { var i = new GeoGlobe.Filter.Logical({ type: GeoGlobe.Filter.Logical.NOT }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsLessThan: function PropertyIsLessThan(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.LESS_THAN }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsGreaterThan: function PropertyIsGreaterThan(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.GREATER_THAN }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsLessThanOrEqualTo: function PropertyIsLessThanOrEqualTo(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsGreaterThanOrEqualTo: function PropertyIsGreaterThanOrEqualTo(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsBetween: function PropertyIsBetween(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.BETWEEN }); this.readChildNodes(e, i), t.filters.push(i); }, Literal: function Literal(e, t) { t.value = GeoGlobe.String.numericIf(this.getChildValue(e), !0); }, PropertyName: function PropertyName(e, t) { t.property = this.getChildValue(e); }, LowerBoundary: function LowerBoundary(e, t) { t.lowerBoundary = GeoGlobe.String.numericIf(this.readers.ogc._expression.call(this, e), !0); }, UpperBoundary: function UpperBoundary(e, t) { t.upperBoundary = GeoGlobe.String.numericIf(this.readers.ogc._expression.call(this, e), !0); }, Intersects: function Intersects(e, t) { this.readSpatial(e, t, GeoGlobe.Filter.Spatial.INTERSECTS); }, Within: function Within(e, t) { this.readSpatial(e, t, GeoGlobe.Filter.Spatial.WITHIN); }, Contains: function Contains(e, t) { this.readSpatial(e, t, GeoGlobe.Filter.Spatial.CONTAINS); }, DWithin: function DWithin(e, t) { this.readSpatial(e, t, GeoGlobe.Filter.Spatial.DWITHIN); }, Distance: function Distance(e, t) { t.distance = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)), t.distanceUnits = e.getAttribute("units"); }, Function: function Function(e, t) {}, PropertyIsNull: function PropertyIsNull(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.IS_NULL }); this.readChildNodes(e, i), t.filters.push(i); } } }, readSpatial: function readSpatial(e, t, i) { var r = new GeoGlobe.Filter.Spatial({ type: i }); this.readChildNodes(e, r), r.value = r.components[0], delete r.components, t.filters.push(r); }, encodeLiteral: function encodeLiteral(e) { return e instanceof Date && (e = GeoGlobe.Date.toISOString(e)), e; }, writeOgcExpression: function writeOgcExpression(e, t) { return e instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e, t) : this.writeNode("Literal", e, t), t; }, write: function write(e) { return this.writers.ogc.Filter.apply(this, [e]); }, writers: { ogc: { Filter: function Filter(e) { var t = this.createElementNSPlus("ogc:Filter"); return this.writeNode(this.getFilterType(e), e, t), t; }, _featureIds: function _featureIds(e) { for (var t = this.createDocumentFragment(), i = 0, r = e.fids.length; i < r; ++i) { this.writeNode("ogc:FeatureId", e.fids[i], t); } return t; }, FeatureId: function FeatureId(e) { return this.createElementNSPlus("ogc:FeatureId", { attributes: { fid: e } }); }, And: function And(e) { for (var t, i = this.createElementNSPlus("ogc:And"), r = 0, n = e.filters.length; r < n; ++r) { t = e.filters[r], this.writeNode(this.getFilterType(t), t, i); } return i; }, Or: function Or(e) { for (var t, i = this.createElementNSPlus("ogc:Or"), r = 0, n = e.filters.length; r < n; ++r) { t = e.filters[r], this.writeNode(this.getFilterType(t), t, i); } return i; }, Not: function Not(e) { var t = this.createElementNSPlus("ogc:Not"), i = e.filters[0]; return this.writeNode(this.getFilterType(i), i, t), t; }, PropertyIsLessThan: function PropertyIsLessThan(e) { var t = this.createElementNSPlus("ogc:PropertyIsLessThan"); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsGreaterThan: function PropertyIsGreaterThan(e) { var t = this.createElementNSPlus("ogc:PropertyIsGreaterThan"); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsLessThanOrEqualTo: function PropertyIsLessThanOrEqualTo(e) { var t = this.createElementNSPlus("ogc:PropertyIsLessThanOrEqualTo"); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsGreaterThanOrEqualTo: function PropertyIsGreaterThanOrEqualTo(e) { var t = this.createElementNSPlus("ogc:PropertyIsGreaterThanOrEqualTo"); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsBetween: function PropertyIsBetween(e) { var t = this.createElementNSPlus("ogc:PropertyIsBetween"); return this.writeNode("PropertyName", e, t), this.writeNode("LowerBoundary", e, t), this.writeNode("UpperBoundary", e, t), t; }, PropertyName: function PropertyName(e) { return this.createElementNSPlus("ogc:PropertyName", { value: e.property }); }, Literal: function Literal(e) { var t = this.encodeLiteral || GeoGlobe.Format.Filter.v1.prototype.encodeLiteral; return this.createElementNSPlus("ogc:Literal", { value: t(e) }); }, LowerBoundary: function LowerBoundary(e) { var t = this.createElementNSPlus("ogc:LowerBoundary"); return this.writeOgcExpression(e.lowerBoundary, t), t; }, UpperBoundary: function UpperBoundary(e) { var t = this.createElementNSPlus("ogc:UpperBoundary"); return this.writeNode("Literal", e.upperBoundary, t), t; }, INTERSECTS: function INTERSECTS(e) { return this.writeSpatial(e, "Intersects"); }, WITHIN: function WITHIN(e) { return this.writeSpatial(e, "Within"); }, CONTAINS: function CONTAINS(e) { return this.writeSpatial(e, "Contains"); }, DWITHIN: function DWITHIN(e) { var t = this.writeSpatial(e, "DWithin"); return this.writeNode("Distance", e, t), t; }, Distance: function Distance(e) { return this.createElementNSPlus("ogc:Distance", { attributes: { units: e.distanceUnits }, value: e.distance }); }, Function: function Function(e) { for (var t = this.createElementNSPlus("ogc:Function", { attributes: { name: e.name } }), i = e.params, r = 0, n = i.length; r < n; r++) { this.writeOgcExpression(i[r], t); } return t; }, PropertyIsNull: function PropertyIsNull(e) { var t = this.createElementNSPlus("ogc:PropertyIsNull"); return this.writeNode("PropertyName", e, t), t; }, SortBy: function SortBy(e) { for (var t = this.createElementNSPlus("ogc:SortBy"), i = 0, r = e.length; i < r; i++) { this.writeNode("ogc:SortProperty", e[i], t); } return t; }, SortProperty: function SortProperty(e) { var t = this.createElementNSPlus("ogc:SortProperty"); return this.writeNode("ogc:PropertyName", e, t), this.writeNode("ogc:SortOrder", "DESC" == e.order ? "DESC" : "ASC", t), t; }, SortOrder: function SortOrder(e) { return this.createElementNSPlus("ogc:SortOrder", { value: e }); } } }, getFilterType: function getFilterType(e) { var t = this.filterMap[e.type]; if (!t) throw "Filter writing not supported for rule type: " + e.type; return t; }, filterMap: { "&&": "And", "||": "Or", "!": "Not", "==": "PropertyIsEqualTo", "!=": "PropertyIsNotEqualTo", "<": "PropertyIsLessThan", ">": "PropertyIsGreaterThan", "<=": "PropertyIsLessThanOrEqualTo", ">=": "PropertyIsGreaterThanOrEqualTo", "..": "PropertyIsBetween", "~": "PropertyIsLike", NULL: "PropertyIsNull", BBOX: "BBOX", DWITHIN: "DWITHIN", WITHIN: "WITHIN", CONTAINS: "CONTAINS", INTERSECTS: "INTERSECTS", FID: "_featureIds" }, CLASS_NAME: "GeoGlobe.Format.Filter.v1" }), GeoGlobe.Format.Filter.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.v2, GeoGlobe.Format.Filter.v1, { VERSION: "1.0.0", schemaLocation: "http://www.opengis.net/ogc/filter/1.0.0/filter.xsd", initialize: function initialize(e) { GeoGlobe.Format.GML.v2.prototype.initialize.apply(this, [e]); }, readers: { ogc: GeoGlobe.Util.applyDefaults({ PropertyIsEqualTo: function PropertyIsEqualTo(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.EQUAL_TO }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsNotEqualTo: function PropertyIsNotEqualTo(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.NOT_EQUAL_TO }); this.readChildNodes(e, i), t.filters.push(i); }, PropertyIsLike: function PropertyIsLike(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.LIKE }); this.readChildNodes(e, i); var r = e.getAttribute("wildCard"), n = e.getAttribute("singleChar"), o = e.getAttribute("escape"); i.value2regex(r, n, o), t.filters.push(i); } }, GeoGlobe.Format.Filter.v1.prototype.readers.ogc), gml: GeoGlobe.Format.GML.v2.prototype.readers.gml, feature: GeoGlobe.Format.GML.v2.prototype.readers.feature }, writers: { ogc: GeoGlobe.Util.applyDefaults({ PropertyIsEqualTo: function PropertyIsEqualTo(e) { var t = this.createElementNSPlus("ogc:PropertyIsEqualTo"); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsNotEqualTo: function PropertyIsNotEqualTo(e) { var t = this.createElementNSPlus("ogc:PropertyIsNotEqualTo"); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsLike: function PropertyIsLike(e) { var t = this.createElementNSPlus("ogc:PropertyIsLike", { attributes: { wildCard: "*", singleChar: ".", escape: "!" } }); return this.writeNode("PropertyName", e, t), this.writeNode("Literal", e.regex2value(), t), t; }, BBOX: function BBOX(e) { var t = this.createElementNSPlus("ogc:BBOX"); e.property && this.writeNode("PropertyName", e, t); var i = this.writeNode("gml:Box", e.value, t); return e.projection && i.setAttribute("srsName", e.projection), t; } }, GeoGlobe.Format.Filter.v1.prototype.writers.ogc), gml: GeoGlobe.Format.GML.v2.prototype.writers.gml, feature: GeoGlobe.Format.GML.v2.prototype.writers.feature }, writeSpatial: function writeSpatial(e, t) { var i, r = this.createElementNSPlus("ogc:" + t); return this.writeNode("PropertyName", e, r), e.value instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e.value, r) : (i = e.value instanceof GeoGlobe.Geometry ? this.writeNode("feature:_geometry", e.value).firstChild : this.writeNode("gml:Box", e.value), e.projection && i.setAttribute("srsName", e.projection), r.appendChild(i)), r; }, CLASS_NAME: "GeoGlobe.Format.Filter.v1_0_0" }), GeoGlobe.Format.Filter.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.GML.v3, GeoGlobe.Format.Filter.v1, { VERSION: "1.1.0", schemaLocation: "http://www.opengis.net/ogc/filter/1.1.0/filter.xsd", initialize: function initialize(e) { GeoGlobe.Format.GML.v3.prototype.initialize.apply(this, [e]); }, readers: { ogc: GeoGlobe.Util.applyDefaults({ PropertyIsEqualTo: function PropertyIsEqualTo(e, t) { var i = e.getAttribute("matchCase"), r = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.EQUAL_TO, matchCase: !("false" === i || "0" === i) }); this.readChildNodes(e, r), t.filters.push(r); }, PropertyIsNotEqualTo: function PropertyIsNotEqualTo(e, t) { var i = e.getAttribute("matchCase"), r = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.NOT_EQUAL_TO, matchCase: !("false" === i || "0" === i) }); this.readChildNodes(e, r), t.filters.push(r); }, PropertyIsLike: function PropertyIsLike(e, t) { var i = new GeoGlobe.Filter.Comparison({ type: GeoGlobe.Filter.Comparison.LIKE }); this.readChildNodes(e, i); var r = e.getAttribute("wildCard"), n = e.getAttribute("singleChar"), o = e.getAttribute("escapeChar"); i.value2regex(r, n, o), t.filters.push(i); } }, GeoGlobe.Format.Filter.v1.prototype.readers.ogc), gml: GeoGlobe.Format.GML.v3.prototype.readers.gml, feature: GeoGlobe.Format.GML.v3.prototype.readers.feature }, writers: { ogc: GeoGlobe.Util.applyDefaults({ PropertyIsEqualTo: function PropertyIsEqualTo(e) { var t = this.createElementNSPlus("ogc:PropertyIsEqualTo", { attributes: { matchCase: e.matchCase } }); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsNotEqualTo: function PropertyIsNotEqualTo(e) { var t = this.createElementNSPlus("ogc:PropertyIsNotEqualTo", { attributes: { matchCase: e.matchCase } }); return this.writeNode("PropertyName", e, t), this.writeOgcExpression(e.value, t), t; }, PropertyIsLike: function PropertyIsLike(e) { var t = this.createElementNSPlus("ogc:PropertyIsLike", { attributes: { matchCase: e.matchCase, wildCard: "*", singleChar: ".", escapeChar: "!" } }); return this.writeNode("PropertyName", e, t), this.writeNode("Literal", e.regex2value(), t), t; }, BBOX: function BBOX(e) { var t = this.createElementNSPlus("ogc:BBOX"); e.property && this.writeNode("PropertyName", e, t); var i = this.writeNode("gml:Envelope", e.value); return e.projection && i.setAttribute("srsName", e.projection), t.appendChild(i), t; }, SortBy: function SortBy(e) { for (var t = this.createElementNSPlus("ogc:SortBy"), i = 0, r = e.length; i < r; i++) { this.writeNode("ogc:SortProperty", e[i], t); } return t; }, SortProperty: function SortProperty(e) { var t = this.createElementNSPlus("ogc:SortProperty"); return this.writeNode("ogc:PropertyName", e, t), this.writeNode("ogc:SortOrder", "DESC" == e.order ? "DESC" : "ASC", t), t; }, SortOrder: function SortOrder(e) { return this.createElementNSPlus("ogc:SortOrder", { value: e }); } }, GeoGlobe.Format.Filter.v1.prototype.writers.ogc), gml: GeoGlobe.Format.GML.v3.prototype.writers.gml, feature: GeoGlobe.Format.GML.v3.prototype.writers.feature }, writeSpatial: function writeSpatial(e, t) { var i, r = this.createElementNSPlus("ogc:" + t); return this.writeNode("PropertyName", e, r), e.value instanceof GeoGlobe.Filter.Function ? this.writeNode("Function", e.value, r) : (i = e.value instanceof GeoGlobe.Geometry ? this.writeNode("feature:_geometry", e.value).firstChild : this.writeNode("gml:Envelope", e.value), e.projection && i.setAttribute("srsName", e.projection), r.appendChild(i)), r; }, CLASS_NAME: "GeoGlobe.Format.Filter.v1_1_0" }), GeoGlobe.Format.WFST = function (e) { e = GeoGlobe.Util.applyDefaults(e, GeoGlobe.Format.WFST.DEFAULTS); var t = GeoGlobe.Format.WFST["v" + e.version.replace(/\./g, "_")]; if (!t) throw "Unsupported WFST version: " + e.version; return new t(e); }, GeoGlobe.Format.WFST.DEFAULTS = { version: "1.0.0" }, GeoGlobe.Format.WFST.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance", wfs: "http://www.opengis.net/wfs", gml: "http://www.opengis.net/gml", ogc: "http://www.opengis.net/ogc", ows: "http://www.opengis.net/ows" }, defaultPrefix: "wfs", version: null, schemaLocations: null, srsName: null, extractAttributes: !0, xy: !0, stateName: null, initialize: function initialize(e) { this.stateName = {}, this.stateName[GeoGlobe.State.INSERT] = "wfs:Insert", this.stateName[GeoGlobe.State.UPDATE] = "wfs:Update", this.stateName[GeoGlobe.State.DELETE] = "wfs:Delete", GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); }, getSrsName: function getSrsName(e, t) { var i = t && t.srsName; return i || (i = e && e.layer ? e.layer.projection.getCode() : this.srsName), i; }, read: function read(e, t) { t = t || {}, GeoGlobe.Util.applyDefaults(t, { output: "features" }), "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var i = {}; return e && this.readNode(e, i, !0), i.features && "features" === t.output && (i = i.features), i; }, readers: { wfs: { FeatureCollection: function FeatureCollection(e, t) { t.features = [], this.readChildNodes(e, t); } } }, write: function write(e, t) { var i = this.writeNode("wfs:Transaction", { features: e, options: t }), r = this.schemaLocationAttr(); return r && this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", r), GeoGlobe.Format.XML.prototype.write.apply(this, [i]); }, writers: { wfs: { GetFeature: function GetFeature(e) { var t = this.createElementNSPlus("wfs:GetFeature", { attributes: { service: "WFS", version: this.version, outputFormat: e && e.outputFormat, maxFeatures: e && e.maxFeatures, resultType: e && e.resultType, startPosition: e && e.startPosition, "xsi:schemaLocation": this.schemaLocationAttr(e) } }); if ("string" == typeof this.featureType) this.writeNode("Query", e, t);else for (var i = 0, r = this.featureType.length; i < r; i++) { e.featureType = this.featureType[i], this.writeNode("Query", e, t); } return t; }, Transaction: function Transaction(e) { var t, i, r = (e = e || {}).options || {}, n = this.createElementNSPlus("wfs:Transaction", { attributes: { service: "WFS", version: this.version, handle: r.handle } }), o = e.features; if (o) { var a, s; for (!0 === r.multi && GeoGlobe.Util.extend(this.geometryTypes, { "GeoGlobe.Geometry.Point": "MultiPoint", "GeoGlobe.Geometry.LineString": !0 === this.multiCurve ? "MultiCurve" : "MultiLineString", "GeoGlobe.Geometry.Polygon": !0 === this.multiSurface ? "MultiSurface" : "MultiPolygon" }), t = 0, i = o.length; t < i; ++t) { s = o[t], (a = this.stateName[s.state]) && this.writeNode(a, { feature: s, options: r }, n); } !0 === r.multi && this.setGeometryTypes(); } if (r.nativeElements) for (t = 0, i = r.nativeElements.length; t < i; ++t) { this.writeNode("wfs:Native", r.nativeElements[t], n); } return n; }, Native: function Native(e) { return this.createElementNSPlus("wfs:Native", { attributes: { vendorId: e.vendorId, safeToIgnore: e.safeToIgnore }, value: e.value }); }, Insert: function Insert(e) { var t = e.feature, i = e.options, r = this.createElementNSPlus("wfs:Insert", { attributes: { handle: i && i.handle } }); return this.srsName = this.getSrsName(t), this.writeNode("feature:_typeName", t, r), r; }, Update: function Update(e) { var t = e.feature, i = e.options, r = this.createElementNSPlus("wfs:Update", { attributes: { handle: i && i.handle, typeName: (this.featureNS ? this.featurePrefix + ":" : "") + this.featureType } }); this.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, this.featureNS); var n = t.modified; for (var o in null === this.geometryName || n && void 0 === n.geometry || (this.srsName = this.getSrsName(t), this.writeNode("Property", { name: this.geometryName, value: t.geometry }, r)), t.attributes) { void 0 === t.attributes[o] || n && n.attributes && (!n.attributes || void 0 === n.attributes[o]) || this.writeNode("Property", { name: o, value: t.attributes[o] }, r); } return this.writeNode("ogc:Filter", new GeoGlobe.Filter.FeatureId({ fids: [t.fid] }), r), r; }, Property: function Property(e) { var t = this.createElementNSPlus("wfs:Property"); return this.writeNode("Name", e.name, t), null !== e.value && this.writeNode("Value", e.value, t), t; }, Name: function Name(e) { return this.createElementNSPlus("wfs:Name", { value: e }); }, Value: function Value(e) { var t; if (e instanceof GeoGlobe.Geometry) { t = this.createElementNSPlus("wfs:Value"); var i = this.writeNode("feature:_geometry", e).firstChild; t.appendChild(i); } else t = this.createElementNSPlus("wfs:Value", { value: e }); return t; }, Delete: function Delete(e) { var t = e.feature, i = e.options, r = this.createElementNSPlus("wfs:Delete", { attributes: { handle: i && i.handle, typeName: (this.featureNS ? this.featurePrefix + ":" : "") + this.featureType } }); return this.featureNS && r.setAttribute("xmlns:" + this.featurePrefix, this.featureNS), this.writeNode("ogc:Filter", new GeoGlobe.Filter.FeatureId({ fids: [t.fid] }), r), r; } } }, schemaLocationAttr: function schemaLocationAttr(e) { e = GeoGlobe.Util.extend({ featurePrefix: this.featurePrefix, schema: this.schema }, e); var t = GeoGlobe.Util.extend({}, this.schemaLocations); e.schema && (t[e.featurePrefix] = e.schema); var i, r = []; for (var n in t) { (i = this.namespaces[n]) && r.push(i + " " + t[n]); } return r.join(" ") || void 0; }, setFilterProperty: function setFilterProperty(e) { if (e.filters) for (var t = 0, i = e.filters.length; t < i; ++t) { GeoGlobe.Format.WFST.v1.prototype.setFilterProperty.call(this, e.filters[t]); } else e instanceof GeoGlobe.Filter.Spatial && !e.property && (e.property = this.geometryName); }, CLASS_NAME: "GeoGlobe.Format.WFST.v1" }), GeoGlobe.Format.WFST.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.Filter.v1_0_0, GeoGlobe.Format.WFST.v1, { version: "1.0.0", srsNameInQuery: !1, schemaLocations: { wfs: "http://schemas.opengis.net/wfs/1.0.0/WFS-transaction.xsd" }, initialize: function initialize(e) { GeoGlobe.Format.Filter.v1_0_0.prototype.initialize.apply(this, [e]), GeoGlobe.Format.WFST.v1.prototype.initialize.apply(this, [e]); }, readNode: function readNode(e, t, i) { return GeoGlobe.Format.GML.v2.prototype.readNode.apply(this, arguments); }, readers: { wfs: GeoGlobe.Util.applyDefaults({ WFS_TransactionResponse: function WFS_TransactionResponse(e, t) { t.insertIds = [], t.success = !1, this.readChildNodes(e, t); }, InsertResult: function InsertResult(e, t) { var i = { fids: [] }; this.readChildNodes(e, i), t.insertIds = t.insertIds.concat(i.fids); }, TransactionResult: function TransactionResult(e, t) { this.readChildNodes(e, t); }, Status: function Status(e, t) { this.readChildNodes(e, t); }, SUCCESS: function SUCCESS(e, t) { t.success = !0; } }, GeoGlobe.Format.WFST.v1.prototype.readers.wfs), gml: GeoGlobe.Format.GML.v2.prototype.readers.gml, feature: GeoGlobe.Format.GML.v2.prototype.readers.feature, ogc: GeoGlobe.Format.Filter.v1_0_0.prototype.readers.ogc }, writers: { wfs: GeoGlobe.Util.applyDefaults({ Query: function Query(e) { var t = (e = GeoGlobe.Util.extend({ featureNS: this.featureNS, featurePrefix: this.featurePrefix, featureType: this.featureType, srsName: this.srsName, srsNameInQuery: this.srsNameInQuery }, e)).featurePrefix, i = this.createElementNSPlus("wfs:Query", { attributes: { typeName: (e.featureNS ? t + ":" : "") + e.featureType, time: e && e.time, userecent: e && e.userecent } }); if (e.srsNameInQuery && e.srsName && i.setAttribute("srsName", e.srsName), e.featureNS && i.setAttribute("xmlns:" + t, e.featureNS), e.propertyNames) for (var r = 0, n = e.propertyNames.length; r < n; r++) { this.writeNode("ogc:PropertyName", { property: e.propertyNames[r] }, i); } return e.filter && (this.setFilterProperty(e.filter), this.writeNode("ogc:Filter", e.filter, i)), e.sortBy && this.writeNode("ogc:SortBy", e.sortBy, i), e.groupBy && this.writeNode("ogc:GroupBy", e.groupBy, i), i; } }, GeoGlobe.Format.WFST.v1.prototype.writers.wfs), gml: GeoGlobe.Format.GML.v2.prototype.writers.gml, feature: GeoGlobe.Format.GML.v2.prototype.writers.feature, ogc: GeoGlobe.Format.Filter.v1_0_0.prototype.writers.ogc }, CLASS_NAME: "GeoGlobe.Format.WFST.v1_0_0" }), GeoGlobe.Format.WFST.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.Filter.v1_1_0, GeoGlobe.Format.WFST.v1, { version: "1.1.0", schemaLocations: { wfs: "http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" }, initialize: function initialize(e) { GeoGlobe.Format.Filter.v1_1_0.prototype.initialize.apply(this, [e]), GeoGlobe.Format.WFST.v1.prototype.initialize.apply(this, [e]); }, readNode: function readNode(e, t, i) { return GeoGlobe.Format.GML.v3.prototype.readNode.apply(this, arguments); }, readers: { wfs: GeoGlobe.Util.applyDefaults({ FeatureCollection: function FeatureCollection(e, t) { t.numberOfFeatures = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("numberOfFeatures")), GeoGlobe.Format.WFST.v1.prototype.readers.wfs.FeatureCollection.apply(this, arguments); }, TransactionResponse: function TransactionResponse(e, t) { t.insertIds = [], t.success = !1, this.readChildNodes(e, t); }, TransactionSummary: function TransactionSummary(e, t) { t.success = !0; }, InsertResults: function InsertResults(e, t) { this.readChildNodes(e, t); }, Feature: function Feature(e, t) { var i = { fids: [] }; this.readChildNodes(e, i), t.insertIds.push(i.fids[0]); } }, GeoGlobe.Format.WFST.v1.prototype.readers.wfs), gml: GeoGlobe.Format.GML.v3.prototype.readers.gml, feature: GeoGlobe.Format.GML.v3.prototype.readers.feature, ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.readers.ogc, ows: GeoGlobe.Format.OWSCommon.v1_0_0.prototype.readers.ows }, writers: { wfs: GeoGlobe.Util.applyDefaults({ GetFeature: function GetFeature(e) { var t = GeoGlobe.Format.WFST.v1.prototype.writers.wfs.GetFeature.apply(this, arguments); return e && this.setAttributes(t, { resultType: e.resultType, startIndex: e.startIndex, count: e.count }), t; }, Query: function Query(e) { var t = (e = GeoGlobe.Util.extend({ featureNS: this.featureNS, featurePrefix: this.featurePrefix, featureType: this.featureType, srsName: this.srsName }, e)).featurePrefix, i = this.createElementNSPlus("wfs:Query", { attributes: { typeName: (e.featureNS ? t + ":" : "") + e.featureType, srsName: e.srsName, time: e && e.time, userecent: e && e.userecent } }); if (e.featureNS && i.setAttribute("xmlns:" + t, e.featureNS), e.propertyNames) for (var r = 0, n = e.propertyNames.length; r < n; r++) { this.writeNode("wfs:PropertyName", { property: e.propertyNames[r] }, i); } return e.filter && (GeoGlobe.Format.WFST.v1_1_0.prototype.setFilterProperty.call(this, e.filter), this.writeNode("ogc:Filter", e.filter, i)), e.sortBy && this.writeNode("ogc:SortBy", e.sortBy, i), e.groupBy && this.writeNode("ogc:GroupBy", e.groupBy, i), i; }, PropertyName: function PropertyName(e) { return this.createElementNSPlus("wfs:PropertyName", { value: e.property }); } }, GeoGlobe.Format.WFST.v1.prototype.writers.wfs), gml: GeoGlobe.Format.GML.v3.prototype.writers.gml, feature: GeoGlobe.Format.GML.v3.prototype.writers.feature, ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc }, CLASS_NAME: "GeoGlobe.Format.WFST.v1_1_0" }), GeoGlobe.Format.JSON = GeoGlobe.Class4OL(GeoGlobe.Format, { indent: " ", space: " ", newline: "\n", level: 0, pretty: !1, nativeJSON: !(!window.JSON || "function" != typeof JSON.parse || "function" != typeof _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default.a), read: function read(json, filter) { var object; if (this.nativeJSON) object = JSON.parse(json, filter);else try { if (/^[\],:{}\s]*$/.test(json.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g, "")) && (object = eval("(" + json + ")"), "function" == typeof filter)) { var walk = function walk(e, t) { if (t && "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(t)) for (var i in t) { t.hasOwnProperty(i) && (t[i] = walk(i, t[i])); } return filter(e, t); }; object = walk("", object); } } catch (e) {} return this.keepData && (this.data = object), object; }, write: function write(e, t) { this.pretty = !!t; var i = null, r = _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e); if (this.serialize[r]) try { i = !this.pretty && this.nativeJSON ? _babel_runtime_corejs2_core_js_json_stringify__WEBPACK_IMPORTED_MODULE_2___default()(e) : this.serialize[r].apply(this, [e]); } catch (e) { GeoGlobe.Console.error("Trouble serializing: " + e); } return i; }, writeIndent: function writeIndent() { var e = []; if (this.pretty) for (var t = 0; t < this.level; ++t) { e.push(this.indent); } return e.join(""); }, writeNewline: function writeNewline() { return this.pretty ? this.newline : ""; }, writeSpace: function writeSpace() { return this.pretty ? this.space : ""; }, serialize: { object: function object(e) { if (null == e) return "null"; if (e.constructor == Date) return this.serialize.date.apply(this, [e]); if (e.constructor == Array) return this.serialize.array.apply(this, [e]); var t, i, r, n = ["{"]; this.level += 1; var o = !1; for (t in e) { e.hasOwnProperty(t) && (i = GeoGlobe.Format.JSON.prototype.write.apply(this, [t, this.pretty]), r = GeoGlobe.Format.JSON.prototype.write.apply(this, [e[t], this.pretty]), null != i && null != r && (o && n.push(","), n.push(this.writeNewline(), this.writeIndent(), i, ":", this.writeSpace(), r), o = !0)); } return this.level -= 1, n.push(this.writeNewline(), this.writeIndent(), "}"), n.join(""); }, array: function array(e) { var t, i = ["["]; this.level += 1; for (var r = 0, n = e.length; r < n; ++r) { null != (t = GeoGlobe.Format.JSON.prototype.write.apply(this, [e[r], this.pretty])) && (r > 0 && i.push(","), i.push(this.writeNewline(), this.writeIndent(), t)); } return this.level -= 1, i.push(this.writeNewline(), this.writeIndent(), "]"), i.join(""); }, string: function string(e) { var t = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }; return /["\\\x00-\x1f]/.test(e) ? '"' + e.replace(/([\x00-\x1f\\"])/g, function (e, i) { var r = t[i]; return r || (r = i.charCodeAt(), "\\u00" + Math.floor(r / 16).toString(16) + (r % 16).toString(16)); }) + '"' : '"' + e + '"'; }, number: function number(e) { return isFinite(e) ? String(e) : "null"; }, "boolean": function boolean(e) { return String(e); }, date: function date(e) { function t(e) { return e < 10 ? "0" + e : e; } return '"' + e.getFullYear() + "-" + t(e.getMonth() + 1) + "-" + t(e.getDate()) + "T" + t(e.getHours()) + ":" + t(e.getMinutes()) + ":" + t(e.getSeconds()) + '"'; } }, CLASS_NAME: "GeoGlobe.Format.JSON" }), GeoGlobe.Format.GeoJSON = GeoGlobe.Class4OL(GeoGlobe.Format.JSON, { ignoreExtraDims: !1, read: function read(e, t, i) { t = t || "FeatureCollection"; var r, n = null; if (r = "string" == typeof e ? GeoGlobe.Format.JSON.prototype.read.apply(this, [e, i]) : e) { if ("string" != typeof r.type) GeoGlobe.Console.error("Bad GeoJSON - no type: " + e);else if (this.isValidType(r, t)) switch (t) { case "Geometry": try { n = this.parseGeometry(r); } catch (e) { GeoGlobe.Console.error(e); } break; case "Feature": try { (n = this.parseFeature(r)).type = "Feature"; } catch (e) { GeoGlobe.Console.error(e); } break; case "FeatureCollection": switch (n = [], r.type) { case "Feature": try { n.push(this.parseFeature(r)); } catch (e) { n = null, GeoGlobe.Console.error(e); } break; case "FeatureCollection": for (var o = 0, a = r.features.length; o < a; ++o) { try { n.push(this.parseFeature(r.features[o])); } catch (e) { n = null, GeoGlobe.Console.error(e); } } break; default: try { var s = this.parseGeometry(r); n.push(new GeoGlobe.Feature(s)); } catch (e) { n = null, GeoGlobe.Console.error(e); } } } } else GeoGlobe.Console.error("Bad JSON: " + e); return n; }, isValidType: function isValidType(e, t) { var i = !1; switch (t) { case "Geometry": -1 == GeoGlobe.Util.indexOf(["Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", "Box", "GeometryCollection"], e.type) ? GeoGlobe.Console.error("Unsupported geometry type: " + e.type) : i = !0; break; case "FeatureCollection": i = !0; break; default: e.type == t ? i = !0 : GeoGlobe.Console.error("Cannot convert types from " + e.type + " to " + t); } return i; }, parseFeature: function parseFeature(e) { var t, i, r, n; r = e.properties ? e.properties : {}, n = e.geometry && e.geometry.bbox || e.bbox; try { i = this.parseGeometry(e.geometry); } catch (e) { throw e; } return t = new GeoGlobe.Feature(i, r), n && (t.bounds = GeoGlobe.LngLatBounds.fromArray(n)), e.id && (t.fid = e.id), t; }, parseGeometry: function parseGeometry(e) { if (null == e) return null; var t, i = !1; if ("GeometryCollection" == e.type) { if (!GeoGlobe.Util.isArray(e.geometries)) throw "GeometryCollection must have geometries array: " + e; for (var r = e.geometries.length, n = new Array(r), o = 0; o < r; ++o) { n[o] = this.parseGeometry.apply(this, [e.geometries[o]]); } t = new GeoGlobe.Geometry.Collection(n), i = !0; } else { if (!GeoGlobe.Util.isArray(e.coordinates)) throw "Geometry must have coordinates array: " + e; if (!this.parseCoords[e.type.toLowerCase()]) throw "Unsupported geometry type: " + e.type; try { t = this.parseCoords[e.type.toLowerCase()].apply(this, [e.coordinates]); } catch (e) { throw e; } } return this.internalProjection && this.externalProjection && !i && t.transform(this.externalProjection, this.internalProjection), t; }, parseCoords: { point: function point(e) { if (0 == this.ignoreExtraDims && 2 != e.length) throw "Only 2D points are supported: " + e; return new GeoGlobe.Geometry.Point(e[0], e[1]); }, multipoint: function multipoint(e) { for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) { try { i = this.parseCoords.point.apply(this, [e[r]]); } catch (e) { throw e; } t.push(i); } return new GeoGlobe.Geometry.MultiPoint(t); }, linestring: function linestring(e) { for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) { try { i = this.parseCoords.point.apply(this, [e[r]]); } catch (e) { throw e; } t.push(i); } return new GeoGlobe.Geometry.LineString(t); }, multilinestring: function multilinestring(e) { for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) { try { i = this.parseCoords.linestring.apply(this, [e[r]]); } catch (e) { throw e; } t.push(i); } return new GeoGlobe.Geometry.MultiLineString(t); }, polygon: function polygon(e) { for (var t, i, r = [], n = 0, o = e.length; n < o; ++n) { try { i = this.parseCoords.linestring.apply(this, [e[n]]); } catch (e) { throw e; } t = new GeoGlobe.Geometry.LinearRing(i.components), r.push(t); } return new GeoGlobe.Geometry.Polygon(r); }, multipolygon: function multipolygon(e) { for (var t = [], i = null, r = 0, n = e.length; r < n; ++r) { try { i = this.parseCoords.polygon.apply(this, [e[r]]); } catch (e) { throw e; } t.push(i); } return new GeoGlobe.Geometry.MultiPolygon(t); }, box: function box(e) { if (2 != e.length) throw "GeoJSON box coordinates must have 2 elements"; return new GeoGlobe.Geometry.Polygon([new GeoGlobe.Geometry.LinearRing([new GeoGlobe.Geometry.Point(e[0][0], e[0][1]), new GeoGlobe.Geometry.Point(e[1][0], e[0][1]), new GeoGlobe.Geometry.Point(e[1][0], e[1][1]), new GeoGlobe.Geometry.Point(e[0][0], e[1][1]), new GeoGlobe.Geometry.Point(e[0][0], e[0][1])])]); } }, write: function write(e, t) { var i = { type: null }; if (GeoGlobe.Util.isArray(e)) { i.type = "FeatureCollection"; var r = e.length; i.features = new Array(r); for (var n = 0; n < r; ++n) { var o = e[n]; if (!o instanceof GeoGlobe.Feature) throw "FeatureCollection only supports collections of features: " + o; i.features[n] = this.extract.feature.apply(this, [o]); } } else 0 == e.CLASS_NAME.indexOf("GeoGlobe.Geometry") ? i = this.extract.geometry.apply(this, [e]) : e instanceof GeoGlobe.Feature && (i = this.extract.feature.apply(this, [e]), e.layer && e.layer.projection && (i.crs = this.createCRSObject(e))); return GeoGlobe.Format.JSON.prototype.write.apply(this, [i, t]); }, createCRSObject: function createCRSObject(e) { var t = e.layer.projection.toString(), i = {}; if (t.match(/epsg:/i)) { var r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(t.substring(t.indexOf(":") + 1)); i = 4326 == r ? { type: "name", properties: { name: "urn:ogc:def:crs:OGC:1.3:CRS84" } } : { type: "name", properties: { name: "EPSG:" + r } }; } return i; }, extract: { feature: function feature(e) { var t = this.extract.geometry.apply(this, [e.geometry]), i = { type: "Feature", properties: e.attributes, geometry: t }; return null != e.fid && (i.id = e.fid), i; }, geometry: function geometry(e) { if (null == e) return null; this.internalProjection && this.externalProjection && (e = e.clone()).transform(this.internalProjection, this.externalProjection); var t = e.CLASS_NAME.split(".")[2], i = this.extract[t.toLowerCase()].apply(this, [e]); return "Collection" == t ? { type: "GeometryCollection", geometries: i } : { type: t, coordinates: i }; }, point: function point(e) { return [e.x, e.y]; }, multipoint: function multipoint(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extract.point.apply(this, [e.components[i]])); } return t; }, linestring: function linestring(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extract.point.apply(this, [e.components[i]])); } return t; }, multilinestring: function multilinestring(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extract.linestring.apply(this, [e.components[i]])); } return t; }, polygon: function polygon(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extract.linestring.apply(this, [e.components[i]])); } return t; }, multipolygon: function multipolygon(e) { for (var t = [], i = 0, r = e.components.length; i < r; ++i) { t.push(this.extract.polygon.apply(this, [e.components[i]])); } return t; }, collection: function collection(e) { for (var t = e.components.length, i = new Array(t), r = 0; r < t; ++r) { i[r] = this.extract.geometry.apply(this, [e.components[r]]); } return i; } }, CLASS_NAME: "GeoGlobe.Format.GeoJSON" }), GeoGlobe.Format.WMTS = GeoGlobe.Class4OL({ initialize: function initialize(e) { GeoGlobe.Util.extend(this, e); }, getWMTSCapabilities: function getWMTSCapabilities(e) { var t = null; return this.getCapabilities(e, function (e) { var i = e.responseXML; i && i.documentElement || (i = e.responseText); var r = new GeoGlobe.Format.WMTSCapabilities.v1_0_0(); t = r.read(i); }, function () { alert("WMTS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), t; }, getCapabilities: function getCapabilities(e, t, i) { "function" != typeof i && (i = function i() { alert("WMTS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), GeoGlobe.Request.GET({ url: e, params: { REQUEST: "GetCapabilities", SERVICE: "WMTS" }, scope: this, async: !1, success: function success(e) { "function" == typeof t && t(e); }, failure: i }); }, createLayerOption: function createLayerOption(e, t, i) { if (!("layer" in i)) throw new Error("Missing property 'layer' in configuration."); for (var r, n = t.contents, o = (n.layers, 0), a = n.layers.length; o < a; ++o) { if (n.layers[o].identifier === i.layer) { r = n.layers[o]; break; } } if (!r) throw new Error("Layer not found"); var s, x, l = i.format; if (!l && r.formats && r.formats.length && (l = r.formats[0]), i.matrixSet) s = n.tileMatrixSets[i.matrixSet];else if (i.projection) { o = 0; for (var c = r.tileMatrixSetLinks.length; o < c; o++) { if (n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === i.projection) { s = n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet]; break; } } } else r.tileMatrixSetLinks.length >= 1 && (s = n.tileMatrixSets[r.tileMatrixSetLinks[0].tileMatrixSet]); if (!s) throw new Error("matrixSet not found"); for (o = 0, a = r.styles.length; o < a && !(x = r.styles[o]).isDefault; ++o) { ; } var u = i.requestEncoding; u || (u = "KVP", t.operationsMetadata.GetTile.dcp.http); var h = [], f = i.params || {}; delete i.params; for (var d = 0, g = r.dimensions.length; d < g; d++) { var p = r.dimensions[d]; h.push(p.identifier), f.hasOwnProperty(p.identifier) || (f[p.identifier] = p["default"]); } var m, b, v, C = i.projection || s.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = i.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = r.tileMatrixSetLinks, w = function w(e) { _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]), (!m || m > e) && (m = e), (!b || b < e) && (b = e); }, G = 0; for (c = I.length; G < c; G++) { if ((v = I[G]).tileMatrixSet === s.identifier) { if (v.tileMatrixSetLimits) { for (var E, S = {}, T = 0, P = s.matrixIds.length; T < P; T++) { S[s.matrixIds[T].identifier] = s.matrixIds[T]; } for (T = 0, P = v.tileMatrixSetLimits.length; T < P; T++) { E = S[v.tileMatrixSetLimits[T].tileMatrix], A.push(E), w(E.scaleDenominator); } } else for (T = 0, P = s.matrixIds.length; T < P; T++) { w(s.matrixIds[T].scaleDenominator); } break; } } _.sort(function (e, t) { return t - e; }); var M, N = this.getParameterString({ SERVICE: "WMTS", REQUEST: "GetTile", VERSION: t.version, LAYER: r.identifier, STYLE: x.identifier, TILEMATRIXSET: s.identifier, FORMAT: l, TILEMATRIX: "{z}", TILEROW: "{y}", TILECOL: "{x}" }); M = e.endsWith("?") ? GeoGlobe.ProxyHost + e + N : GeoGlobe.ProxyHost + e + "?" + N; var L = GeoGlobe.Util.randomStr(10); if (r.bounds) var R = [r.bounds._sw.lng, r.bounds._sw.lat, r.bounds._ne.lng, r.bounds._ne.lat];else r.BoundingBox && (R = r.BoundingBox[0].bounds.toBBOX()); var O = r.tileMatrixSetLinks[0].tileMatrixSet, F = n.tileMatrixSets[O].matrixIds[0].identifier, D = { name: r.identifier, srs: C, bbox: R, format: r.formats, zoomoffset: F }; return { id: "layer_" + r.identifier + "_" + L, type: "raster", source: { type: "raster", tiles: [M], tileSize: 256 }, metadata: D, paint: { "raster-opacity": 1 } }; }, createLayer: function createLayer(e, t) { var i = this.getWMTSCapabilities(e); if (t) var r = { layer: t.layer };else r = { layer: i.contents.layers[0].identifier }; return this.createLayerOption(e, i, r); }, createLayers: function createLayers(e) { for (var t = this.getWMTSCapabilities(e), i = t.contents.layers, r = [], n = 0; n < i.length; n++) { var o = { layer: i[n].identifier }, a = this.createLayerOption(e, t, o); r.push(a); } return r; }, getParameterString: function getParameterString(e) { var t = []; for (var i in e) { var r = e[i]; null != r && "function" != typeof r && t.push(i + "=" + r); } return t.join("&"); }, CLASS_NAME: "GeoGlobe.Format.WMTS" }), GeoGlobe.Format.WMS = GeoGlobe.Class4OL({ initialize: function initialize(e) { GeoGlobe.Util.extend(this, e); }, getWMSCapabilities: function getWMSCapabilities(e) { var t = null; return this.getCapabilities(e, function (e) { var i = e.responseXML; i && i.documentElement || (i = e.responseText); var r = new GeoGlobe.Format.WMSCapabilities.v1_1_1(); t = r.read(i); }, function () { alert("WMS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), t; }, getCapabilities: function getCapabilities(e, t, i) { "function" != typeof i && (i = function i() { alert("WMS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), GeoGlobe.Request.GET({ url: e, params: { REQUEST: "GetCapabilities", SERVICE: "WMS", VERSION: "1.1.1" }, scope: this, async: !1, success: function success(e) { "function" == typeof t && t(e); }, failure: i }); }, createLayerOption: function createLayerOption(url, capabilities, config) { var layer; if (!("layer" in config)) throw new Error("Missing property 'layer' in configuration."); for (var contents = capabilities.capability, layers = contents.layers, layerDef, i = 0, ii = contents.layers.length; i < ii; ++i) { if (contents.layers[i].name === config.layer) { layerDef = contents.layers[i]; break; } } if (!layerDef) throw new Error("Layer not found"); var format = config.format; if (!format && layerDef.formats && layerDef.formats.length) { for (var f = 0; f < layerDef.formats.length; f++) { "image/png" == layerDef.formats[f] && (format = layerDef.formats[f]); } "image/png" != format && (format = layerDef.formats[0]); } var styles = config.styles; !styles && layerDef.styles && layerDef.styles.length && (styles = layerDef.styles[0].name); var srs = eval(layerDef.srs), SRS; for (var o in srs) { SRS = o; } var wms_url = "", transparent = config.transparent; if (config.isTile) { var param = this.getParameterString({ SERVICE: "WMS", REQUEST: "GetMap", VERSION: "1.1.1", LAYERS: layerDef.name, styles: styles, FORMAT: format, TRANSPARENT: transparent, BBOX: "{bbox-epsg-3857}", WIDTH: "256", HEIGHT: "256", SRS: SRS }); wms_url = url.endsWith("?") ? url + param : url + "?" + param, wms_url = GeoGlobe.appendToProxy(wms_url); var randomNum = GeoGlobe.Util.randomStr(10), metadata = { name: layerDef.name, srs: SRS, bbox: layerDef.bbox, format: format }, layerOption = { id: "layer_" + layerDef.name + "_" + randomNum, type: "raster", source: { type: "raster", tiles: [wms_url], tileSize: 256 }, metadata: metadata, paint: { "raster-opacity": 1 } }; return layerOption; } return layerOption = new GeoGlobe.Layer.WMS({ url: url, layer: layerDef.name, format: format, version: "1.1.1", SRS: SRS, styles: styles, bbox: layerDef.bbox, isTile: !1 }), layerOption; }, createLayer: function createLayer(e, t, i) { this.url = e, i = !(void 0 !== i && !i); var r = !!(t && void 0 === t.transparent || t.transparent), n = this.getWMSCapabilities(e), o = { layer: t && t.layer ? t.layer : n.capability.layers[0].name, transparent: r, isTile: i }; return this.createLayerOption(e, n, o); }, createLayers: function createLayers(e, t, i) { i = !(void 0 !== i && !i); for (var r = !!(t && void 0 === t.transparent || t.transparent), n = this.getWMSCapabilities(e), o = n.capability.layers, a = [], s = 0; s < o.length; s++) { var x = { layer: o[s].name, transparent: r, isTile: i }, l = this.createLayerOption(e, n, x); a.push(l); } return a; }, getParameterString: function getParameterString(e) { var t = []; for (var i in e) { var r = e[i]; null != r && "function" != typeof r && t.push(i + "=" + r); } return t.join("&"); }, CLASS_NAME: "GeoGlobe.Format.WMS" }), GeoGlobe.Format.VTS = GeoGlobe.Class4OL({ initialize: function initialize(e) { GeoGlobe.Util.extend(this, e); }, getVTSCapabilities: function getVTSCapabilities(e) { this.url = e; var t = null; return this.getCapabilities(e, function (e) { var i = e.responseXML; i && i.documentElement || (i = e.responseText); var r = new GeoGlobe.Format.VTSCapabilities.v1_0_0(); t = r.read(i); }, function () { alert("VTS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), t; }, getCapabilities: function getCapabilities(e, t, i) { "function" != typeof i && (i = function i() { alert("VTS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), GeoGlobe.Request.GET({ url: e, params: { REQUEST: "GetCapabilities", SERVICE: "WMTS" }, scope: this, async: !1, success: function success(e) { "function" == typeof t && t(e); }, failure: i }); }, createLayerOption: function createLayerOption(e, t, i) { if (!("layer" in i)) throw new Error("Missing property 'layer' in configuration."); for (var r, n = t.contents, o = (n.layers, 0), a = n.layers.length; o < a; ++o) { if (n.layers[o].identifier === i.layer) { r = n.layers[o]; break; } } if (!r) throw new Error("Layer not found"); var s, x = i.format; if (!x && r.formats && r.formats.length && (x = r.formats[0]), i.matrixSet) s = n.tileMatrixSets[i.matrixSet];else if (i.projection) { o = 0; for (var l = r.tileMatrixSetLinks.length; o < l; o++) { if (n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === i.projection) { s = n.tileMatrixSets[r.tileMatrixSetLinks[o].tileMatrixSet]; break; } } } else r.tileMatrixSetLinks.length >= 1 && (s = n.tileMatrixSets[r.tileMatrixSetLinks[0].tileMatrixSet]); if (!s) throw new Error("matrixSet not found"); var c = []; i.styleName && "" != i.styleName ? c[0] = i.styleName : this.GetStyleName(function (e) { c = e; }); var u = i.requestEncoding; u || (u = "KVP", t.operationsMetadata.GetTile.dcp.http); var h = [], f = i.params || {}; delete i.params; for (var d = 0, g = r.dimensions.length; d < g; d++) { var p = r.dimensions[d]; h.push(p.identifier), f.hasOwnProperty(p.identifier) || (f[p.identifier] = p["default"]); } var m, b, v, C = i.projection || s.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = i.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = r.tileMatrixSetLinks, w = function w(e) { _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]), (!m || m > e) && (m = e), (!b || b < e) && (b = e); }, G = 0; for (l = I.length; G < l; G++) { if ((v = I[G]).tileMatrixSet === s.identifier) { if (v.tileMatrixSetLimits) { for (var E, S = {}, T = 0, P = s.matrixIds.length; T < P; T++) { S[s.matrixIds[T].identifier] = s.matrixIds[T]; } for (T = 0, P = v.tileMatrixSetLimits.length; T < P; T++) { E = S[v.tileMatrixSetLimits[T].tileMatrix], A.push(E), w(E.scaleDenominator); } } else for (T = 0, P = s.matrixIds.length; T < P; T++) { w(s.matrixIds[T].scaleDenominator); } break; } } _.sort(function (e, t) { return t - e; }); var M, N = { layers: [], source: {}, source_id: "", url: "", url_tmpl: "", layerType: "VTS" }, L = this.getParameterString({ SERVICE: "WMTS", REQUEST: "GetTile", VERSION: t.version, LAYER: r.identifier, TILEMATRIXSET: s.identifier, FORMAT: "protobuf", TILEMATRIX: "{z}", TILEROW: "{y}", TILECOL: "{x}" }); if (N.url = e, M = e.endsWith("?") ? GeoGlobe.ProxyHost + e + L : GeoGlobe.ProxyHost + e + "?" + L, N.url_tmpl = M, GeoGlobe.Util.randomStr(10), r.bounds) var R = [r.bounds._sw.lng, r.bounds._sw.lat, r.bounds._ne.lng, r.bounds._ne.lat];else r.BoundingBox && (R = r.BoundingBox[0].bounds.toBBOX()); var O = r.tileMatrixSetLinks[0].tileMatrixSet, F = n.tileMatrixSets[O].matrixIds[0].identifier; return this.GetStyle(c[0], function (e) { if (e.sprite) var t = GeoGlobe.ProxyHost + e.sprite;else t = ""; if (e.glyphs) var i = GeoGlobe.ProxyHost + e.glyphs;else i = ""; var n = { name: r.identifier, sprite: t, glyphs: i, styleName: e.styleName, srs: C, bbox: R, format: r.formats, zoomoffset: F }, o = "source_vts_" + GeoGlobe.Util.randomStr(6); if (N.source_id = o, N.source = { type: "vector", tiles: [M] }, e.styleData) for (var a = 0; a < e.styleData.layers.length; a++) { e.styleData.layers[a].metadata = n, e.styleData.layers[a].source = o, N.layers[a] = e.styleData.layers[a]; } else for (a = 0; a < e.layers.length; a++) { e.layers[a].metadata = n, e.layers[a].source = o, N.layers[a] = e.layers[a]; } }, function () { alert("WMTS服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + e + "\n操作类型:GetCapabilities"); }), N; }, createLayer: function createLayer(e, t) { var i = this.getVTSCapabilities(e); return (t = t || {}).layer = t.layer ? t.layer : i.contents.layers[0].identifier, t.styleName = t.styleName ? t.styleName : "", this.createLayerOption(e, i, t); }, createLayers: function createLayers(e) { for (var t = this.getVTSCapabilities(e), i = t.contents.layers, r = [], n = 0; n < i.length; n++) { var o = { layer: i[n].identifier }, a = this.createLayerOption(e, t, o); r.push(a); } return r; }, GetStyleName: function GetStyleName(e, t) { var i = this.url, r = { REQUEST: "GetStyle", SERVICE: "WMTS", VERSION: "1.0.0" }; t || (t = function t() { this.failFn(r.REQUEST); }), GeoGlobe.Request.GET({ url: i, params: r, scope: this, async: !1, success: function success(i) { var r = i.responseText; if (!r) return t(), !1; var n = new GeoGlobe.Format.JSON().read(r), o = []; if (n.style) for (var a = 0; a < n.style.length; a++) { o.push(n.style[a].styleName); } else if (n.styleName) for (var s = 0; s < n.styleName.length; s++) { o.push(n.styleName[s]); } e(o); }, failure: t }); }, GetStyle: function GetStyle(e, t, i) { var r = this.url; if ("" != e && null != e) { var n = { REQUEST: "GetStyle", SERVICE: "WMTS", VERSION: "1.0.0", STYLENAME: e }; i || (i = function i() { this.failFn(n.REQUEST); }), GeoGlobe.Request.GET({ url: r, params: n, scope: this, async: !1, success: function success(e) { var r = e.responseText; if (!r) return i(), !1; var n = new GeoGlobe.Format.JSON().read(r); t(n); }, failure: i }); } else alert("请查看样式名称是否存在"); }, getParameterString: function getParameterString(e) { var t = []; for (var i in e) { var r = e[i]; null != r && "function" != typeof r && t.push(i + "=" + r); } return t.join("&"); }, CLASS_NAME: "GeoGlobe.Format.VTS" }), GeoGlobe.Format.WMSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.1.1", profile: null, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities" }), GeoGlobe.Format.WMSCapabilities.v1 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { wms: "http://www.opengis.net/wms", xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance" }, defaultPrefix: "wms", read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); var t = e; e && 9 == e.nodeType && (e = e.documentElement); var i = {}; if (this.readNode(e, i), void 0 === i.service) { var r = new GeoGlobe.Format.OGCExceptionReport(); i.error = r.read(t); } return i; }, readers: { wms: { Service: function Service(e, t) { t.service = {}, this.readChildNodes(e, t.service); }, Name: function Name(e, t) { t.name = this.getChildValue(e); }, Title: function Title(e, t) { t.title = this.getChildValue(e); }, Abstract: function Abstract(e, t) { t["abstract"] = this.getChildValue(e); }, BoundingBox: function BoundingBox(e, t) { var i = {}; i.bbox = [_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("minx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("miny")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxy"))]; var r = { x: _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("resx")), y: _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("resy")) }; return isNaN(r.x) && isNaN(r.y) || (i.res = r), i; }, OnlineResource: function OnlineResource(e, t) { t.href = this.getAttributeNS(e, this.namespaces.xlink, "href"); }, ContactInformation: function ContactInformation(e, t) { t.contactInformation = {}, this.readChildNodes(e, t.contactInformation); }, ContactPersonPrimary: function ContactPersonPrimary(e, t) { t.personPrimary = {}, this.readChildNodes(e, t.personPrimary); }, ContactPerson: function ContactPerson(e, t) { t.person = this.getChildValue(e); }, ContactOrganization: function ContactOrganization(e, t) { t.organization = this.getChildValue(e); }, ContactPosition: function ContactPosition(e, t) { t.position = this.getChildValue(e); }, ContactAddress: function ContactAddress(e, t) { t.contactAddress = {}, this.readChildNodes(e, t.contactAddress); }, AddressType: function AddressType(e, t) { t.type = this.getChildValue(e); }, Address: function Address(e, t) { t.address = this.getChildValue(e); }, City: function City(e, t) { t.city = this.getChildValue(e); }, StateOrProvince: function StateOrProvince(e, t) { t.stateOrProvince = this.getChildValue(e); }, PostCode: function PostCode(e, t) { t.postcode = this.getChildValue(e); }, Country: function Country(e, t) { t.country = this.getChildValue(e); }, ContactVoiceTelephone: function ContactVoiceTelephone(e, t) { t.phone = this.getChildValue(e); }, ContactFacsimileTelephone: function ContactFacsimileTelephone(e, t) { t.fax = this.getChildValue(e); }, ContactElectronicMailAddress: function ContactElectronicMailAddress(e, t) { t.email = this.getChildValue(e); }, Fees: function Fees(e, t) { var i = this.getChildValue(e); i && "none" != i.toLowerCase() && (t.fees = i); }, AccessConstraints: function AccessConstraints(e, t) { var i = this.getChildValue(e); i && "none" != i.toLowerCase() && (t.accessConstraints = i); }, Capability: function Capability(e, t) { t.capability = { nestedLayers: [], layers: [] }, this.readChildNodes(e, t.capability); }, Request: function Request(e, t) { t.request = {}, this.readChildNodes(e, t.request); }, GetCapabilities: function GetCapabilities(e, t) { t.getcapabilities = { formats: [] }, this.readChildNodes(e, t.getcapabilities); }, Format: function Format(e, t) { GeoGlobe.Util.isArray(t.formats) ? t.formats.push(this.getChildValue(e)) : t.format = this.getChildValue(e); }, DCPType: function DCPType(e, t) { this.readChildNodes(e, t); }, HTTP: function HTTP(e, t) { this.readChildNodes(e, t); }, Get: function Get(e, t) { t.get = {}, this.readChildNodes(e, t.get), t.href || (t.href = t.get.href); }, Post: function Post(e, t) { t.post = {}, this.readChildNodes(e, t.post), t.href || (t.href = t.get.href); }, GetMap: function GetMap(e, t) { t.getmap = { formats: [] }, this.readChildNodes(e, t.getmap); }, GetFeatureInfo: function GetFeatureInfo(e, t) { t.getfeatureinfo = { formats: [] }, this.readChildNodes(e, t.getfeatureinfo); }, Exception: function Exception(e, t) { t.exception = { formats: [] }, this.readChildNodes(e, t.exception); }, Layer: function Layer(e, t) { var i, r; t.capability ? (r = t.capability, i = t) : r = t; var n = e.getAttributeNode("queryable"), o = n && n.specified ? e.getAttribute("queryable") : null, a = (n = e.getAttributeNode("cascaded")) && n.specified ? e.getAttribute("cascaded") : null, s = (n = e.getAttributeNode("opaque")) && n.specified ? e.getAttribute("opaque") : null, x = e.getAttribute("noSubsets"), l = e.getAttribute("fixedWidth"), c = e.getAttribute("fixedHeight"), u = i || {}, h = GeoGlobe.Util.extend, f = { nestedLayers: [], styles: i ? [].concat(i.styles) : [], srs: i ? h({}, u.srs) : {}, metadataURLs: [], bbox: i ? h({}, u.bbox) : {}, llbbox: u.llbbox, dimensions: i ? h({}, u.dimensions) : {}, authorityURLs: i ? h({}, u.authorityURLs) : {}, identifiers: {}, keywords: [], queryable: o && "" !== o ? "1" === o || "true" === o : u.queryable || !1, cascaded: null !== a ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a) : u.cascaded || 0, opaque: s ? "1" === s || "true" === s : u.opaque || !1, noSubsets: null !== x ? "1" === x || "true" === x : u.noSubsets || !1, fixedWidth: null != l ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(l) : u.fixedWidth || 0, fixedHeight: null != c ? _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(c) : u.fixedHeight || 0, minScale: u.minScale, maxScale: u.maxScale, attribution: u.attribution }; if (t.nestedLayers.push(f), f.capability = r, this.readChildNodes(e, f), delete f.capability, f.name) { var d = f.name.split(":"), g = r.request, p = g.getfeatureinfo; d.length > 0 && (f.prefix = d[0]), r.layers.push(f), void 0 === f.formats && (f.formats = g.getmap.formats), void 0 === f.infoFormats && p && (f.infoFormats = p.formats); } }, Attribution: function Attribution(e, t) { t.attribution = {}, this.readChildNodes(e, t.attribution); }, LogoURL: function LogoURL(e, t) { t.logo = { width: e.getAttribute("width"), height: e.getAttribute("height") }, this.readChildNodes(e, t.logo); }, Style: function Style(e, t) { var i = {}; t.styles.push(i), this.readChildNodes(e, i); }, LegendURL: function LegendURL(e, t) { var i = { width: e.getAttribute("width"), height: e.getAttribute("height") }; t.legend = i, this.readChildNodes(e, i); }, MetadataURL: function MetadataURL(e, t) { var i = { type: e.getAttribute("type") }; t.metadataURLs.push(i), this.readChildNodes(e, i); }, DataURL: function DataURL(e, t) { t.dataURL = {}, this.readChildNodes(e, t.dataURL); }, FeatureListURL: function FeatureListURL(e, t) { t.featureListURL = {}, this.readChildNodes(e, t.featureListURL); }, AuthorityURL: function AuthorityURL(e, t) { var i = e.getAttribute("name"), r = {}; this.readChildNodes(e, r), t.authorityURLs[i] = r.href; }, Identifier: function Identifier(e, t) { var i = e.getAttribute("authority"); t.identifiers[i] = this.getChildValue(e); }, KeywordList: function KeywordList(e, t) { this.readChildNodes(e, t); }, SRS: function SRS(e, t) { t.srs[this.getChildValue(e)] = !0; } } }, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1" }), GeoGlobe.Format.WMSCapabilities.v1_1 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1, { readers: { wms: GeoGlobe.Util.applyDefaults({ WMT_MS_Capabilities: function WMT_MS_Capabilities(e, t) { this.readChildNodes(e, t); }, Keyword: function Keyword(e, t) { t.keywords && t.keywords.push(this.getChildValue(e)); }, DescribeLayer: function DescribeLayer(e, t) { t.describelayer = { formats: [] }, this.readChildNodes(e, t.describelayer); }, GetLegendGraphic: function GetLegendGraphic(e, t) { t.getlegendgraphic = { formats: [] }, this.readChildNodes(e, t.getlegendgraphic); }, GetStyles: function GetStyles(e, t) { t.getstyles = { formats: [] }, this.readChildNodes(e, t.getstyles); }, PutStyles: function PutStyles(e, t) { t.putstyles = { formats: [] }, this.readChildNodes(e, t.putstyles); }, UserDefinedSymbolization: function UserDefinedSymbolization(e, t) { var i = { supportSLD: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("SupportSLD")), userLayer: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("UserLayer")), userStyle: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("UserStyle")), remoteWFS: 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("RemoteWFS")) }; t.userSymbols = i; }, LatLonBoundingBox: function LatLonBoundingBox(e, t) { t.llbbox = [_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("minx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("miny")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxx")), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(e.getAttribute("maxy"))]; }, BoundingBox: function BoundingBox(e, t) { var i = GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, [e, t]); i.srs = e.getAttribute("SRS"), t.bbox[i.srs] = i; }, ScaleHint: function ScaleHint(e, t) { var i = e.getAttribute("min"), r = e.getAttribute("max"), n = Math.pow(2, 0.5), o = GeoGlobe.INCHES_PER_UNIT.m; 0 != i && (t.maxScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()((i / n * o * GeoGlobe.DOTS_PER_INCH).toPrecision(13))), r != Number.POSITIVE_INFINITY && (t.minScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()((r / n * o * GeoGlobe.DOTS_PER_INCH).toPrecision(13))); }, Dimension: function Dimension(e, t) { var i = { name: e.getAttribute("name").toLowerCase(), units: e.getAttribute("units"), unitsymbol: e.getAttribute("unitSymbol") }; t.dimensions[i.name] = i; }, Extent: function Extent(e, t) { var i = e.getAttribute("name").toLowerCase(); if (i in t.dimensions) { var r = t.dimensions[i]; r.nearestVal = "1" === e.getAttribute("nearestValue"), r.multipleVal = "1" === e.getAttribute("multipleValues"), r.current = "1" === e.getAttribute("current"), r["default"] = e.getAttribute("default") || ""; var n = this.getChildValue(e); r.values = n.split(","); } } }, GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms) }, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1" }), GeoGlobe.Format.WMSCapabilities.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1, { version: "1.1.0", readers: { wms: GeoGlobe.Util.applyDefaults({ SRS: function SRS(e, t) { for (var i = this.getChildValue(e).split(/ +/), r = 0, n = i.length; r < n; r++) { t.srs[i[r]] = !0; } } }, GeoGlobe.Format.WMSCapabilities.v1_1.prototype.readers.wms) }, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_0" }), GeoGlobe.Format.WMSCapabilities.v1_1_1 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1, { version: "1.1.1", readers: { wms: GeoGlobe.Util.applyDefaults({ SRS: function SRS(e, t) { t.srs[this.getChildValue(e)] = !0; } }, GeoGlobe.Format.WMSCapabilities.v1_1.prototype.readers.wms) }, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_1" }), GeoGlobe.Format.WMSCapabilities.v1_1_1_WMSC = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_1_1, { version: "1.1.1", profile: "WMSC", readers: { wms: GeoGlobe.Util.applyDefaults({ VendorSpecificCapabilities: function VendorSpecificCapabilities(e, t) { t.vendorSpecific = { tileSets: [] }, this.readChildNodes(e, t.vendorSpecific); }, TileSet: function TileSet(e, t) { var i = { srs: {}, bbox: {}, resolutions: [] }; this.readChildNodes(e, i), t.tileSets.push(i); }, Resolutions: function Resolutions(e, t) { for (var i = this.getChildValue(e).split(" "), r = 0, n = i.length; r < n; r++) { "" != i[r] && t.resolutions.push(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(i[r])); } }, Width: function Width(e, t) { t.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, Height: function Height(e, t) { t.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, Layers: function Layers(e, t) { t.layers = this.getChildValue(e); }, Styles: function Styles(e, t) { t.styles = this.getChildValue(e); } }, GeoGlobe.Format.WMSCapabilities.v1_1_1.prototype.readers.wms) }, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_1_1_WMSC" }), GeoGlobe.Format.WMSCapabilities.v1_3 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1, { readers: { wms: GeoGlobe.Util.applyDefaults({ WMS_Capabilities: function WMS_Capabilities(e, t) { this.readChildNodes(e, t); }, LayerLimit: function LayerLimit(e, t) { t.layerLimit = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MaxWidth: function MaxWidth(e, t) { t.maxWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MaxHeight: function MaxHeight(e, t) { t.maxHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, BoundingBox: function BoundingBox(e, t) { var i = GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms.BoundingBox.apply(this, [e, t]); i.srs = e.getAttribute("CRS"), t.bbox[i.srs] = i; }, CRS: function CRS(e, t) { this.readers.wms.SRS.apply(this, [e, t]); }, EX_GeographicBoundingBox: function EX_GeographicBoundingBox(e, t) { t.llbbox = [], this.readChildNodes(e, t.llbbox); }, westBoundLongitude: function westBoundLongitude(e, t) { t[0] = this.getChildValue(e); }, eastBoundLongitude: function eastBoundLongitude(e, t) { t[2] = this.getChildValue(e); }, southBoundLatitude: function southBoundLatitude(e, t) { t[1] = this.getChildValue(e); }, northBoundLatitude: function northBoundLatitude(e, t) { t[3] = this.getChildValue(e); }, MinScaleDenominator: function MinScaleDenominator(e, t) { t.maxScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)).toPrecision(16); }, MaxScaleDenominator: function MaxScaleDenominator(e, t) { t.minScale = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)).toPrecision(16); }, Dimension: function Dimension(e, t) { var i = { name: e.getAttribute("name").toLowerCase(), units: e.getAttribute("units"), unitsymbol: e.getAttribute("unitSymbol"), nearestVal: "1" === e.getAttribute("nearestValue"), multipleVal: "1" === e.getAttribute("multipleValues"), "default": e.getAttribute("default") || "", current: "1" === e.getAttribute("current"), values: this.getChildValue(e).split(",") }; t.dimensions[i.name] = i; }, Keyword: function Keyword(e, t) { var i = { value: this.getChildValue(e), vocabulary: e.getAttribute("vocabulary") }; t.keywords && t.keywords.push(i); } }, GeoGlobe.Format.WMSCapabilities.v1.prototype.readers.wms), sld: { UserDefinedSymbolization: function UserDefinedSymbolization(e, t) { this.readers.wms.UserDefinedSymbolization.apply(this, [e, t]), t.userSymbols.inlineFeature = 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("InlineFeature")), t.userSymbols.remoteWCS = 1 == _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e.getAttribute("RemoteWCS")); }, DescribeLayer: function DescribeLayer(e, t) { this.readers.wms.DescribeLayer.apply(this, [e, t]); }, GetLegendGraphic: function GetLegendGraphic(e, t) { this.readers.wms.GetLegendGraphic.apply(this, [e, t]); } } }, CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_3" }), GeoGlobe.Format.WMSCapabilities.v1_3_0 = GeoGlobe.Class4OL(GeoGlobe.Format.WMSCapabilities.v1_3, { version: "1.3.0", CLASS_NAME: "GeoGlobe.Format.WMSCapabilities.v1_3_0" }), GeoGlobe.Format.WMTSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.0.0", yx: { "urn:ogc:def:crs:EPSG::4326": !0 }, createLayer: function createLayer(e, t) { if (!("layer" in t)) throw new Error("Missing property 'layer' in configuration."); for (var i, r = e.contents, n = (r.layers, 0), o = r.layers.length; n < o; ++n) { if (r.layers[n].identifier === t.layer) { i = r.layers[n]; break; } } if (!i) throw new Error("Layer not found"); var a, s, x = t.format; if (!x && i.formats && i.formats.length && (x = i.formats[0]), t.matrixSet) a = r.tileMatrixSets[t.matrixSet];else if (t.projection) { n = 0; for (var l = i.tileMatrixSetLinks.length; n < l; n++) { if (r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === t.projection) { a = r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet]; break; } } } else i.tileMatrixSetLinks.length >= 1 && (a = r.tileMatrixSets[i.tileMatrixSetLinks[0].tileMatrixSet]); if (!a) throw new Error("matrixSet not found"); for (n = 0, o = i.styles.length; n < o && !(s = i.styles[n]).isDefault; ++n) { ; } var c = t.requestEncoding; c || (c = "KVP", e.operationsMetadata.GetTile.dcp.http); var u = [], h = t.params || {}; delete t.params; for (var f = 0, d = i.dimensions.length; f < d; f++) { var g = i.dimensions[f]; u.push(g.identifier), h.hasOwnProperty(g.identifier) || (h[g.identifier] = g["default"]); } var p, m, b, v, C = t.projection || a.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = t.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = i.tileMatrixSetLinks, w = function w(e) { _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]), (!p || p > e) && (p = e), (!m || m < e) && (m = e); }, G = 0; for (l = I.length; G < l; G++) { if ((b = I[G]).tileMatrixSet === a.identifier) { if (b.tileMatrixSetLimits) { for (var E, S = {}, T = 0, P = a.matrixIds.length; T < P; T++) { S[a.matrixIds[T].identifier] = a.matrixIds[T]; } for (T = 0, P = b.tileMatrixSetLimits.length; T < P; T++) { E = S[b.tileMatrixSetLimits[T].tileMatrix], A.push(E), w(E.scaleDenominator); } } else for (T = 0, P = a.matrixIds.length; T < P; T++) { w(a.matrixIds[T].scaleDenominator); } break; } } if ("REST" === c && i.resourceUrls) { v = [], i.resourceUrls; for (var M, N = 0, L = i.resourceUrls.length; N < L; ++N) { (M = i.resourceUrls[N]).format === x && "tile" === M.resourceType && v.push(M.template); } } else { var R, O = e.operationsMetadata.GetTile.dcp.http.get; for (v = [], n = 0, o = O.length; n < o; n++) { (!(R = O[n].constraints) || R && R.GetEncoding.allowedValues[c]) && v.push(O[n].url); } } _.sort(function (e, t) { return t - e; }); var F, D = "SERVICE=WMTS&REQUEST=GetTile&VERSION=" + e.version + "&LAYER=" + i.identifier + "&STYLE=" + s.identifier + "&TILEMATRIXSET=" + a.identifier + "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=" + x; F = v[0].endsWith("?") ? v[0] + D : v[0] + "?" + D; var U = GeoGlobe.Util.applyDefaults(t, { id: i.identifier, url: [F] }), k = { id: U.id, layer: { id: U.id, type: "raster", source: U.id }, source: { type: "raster", tiles: U.url, tileSize: 256 } }; return k.matrixSet = a, k.identifier = i.identifier, k.bounds = i.bounds, k; }, CLASS_NAME: "GeoGlobe.Format.WMTSCapabilities" }), GeoGlobe.Format.WMTSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1_1_0, { version: "1.0.0", namespaces: { ows: "http://www.opengis.net/ows/1.1", wmts: "http://www.opengis.net/wmts/1.0", xlink: "http://www.w3.org/1999/xlink" }, yx: null, defaultPrefix: "wmts", initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]), this.options = e; var t = GeoGlobe.Util.extend({}, GeoGlobe.Format.WMTSCapabilities.prototype.yx); this.yx = GeoGlobe.Util.extend(t, this.yx); }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t = {}; return this.readNode(e, t), t.version = this.version, t; }, readers: { wmts: { Capabilities: function Capabilities(e, t) { this.readChildNodes(e, t); }, Contents: function Contents(e, t) { t.contents = {}, t.contents.layers = [], t.contents.tileMatrixSets = {}, this.readChildNodes(e, t.contents); }, Layer: function Layer(e, t) { var i = { styles: [], formats: [], dimensions: [], tileMatrixSetLinks: [] }; this.readChildNodes(e, i), t.layers.push(i); }, Style: function Style(e, t) { var i = {}; i.isDefault = "true" === e.getAttribute("isDefault"), this.readChildNodes(e, i), t.styles.push(i); }, Format: function Format(e, t) { t.formats.push(this.getChildValue(e)); }, TileMatrixSetLink: function TileMatrixSetLink(e, t) { var i = {}; this.readChildNodes(e, i), t.tileMatrixSetLinks.push(i); }, TileMatrixSet: function TileMatrixSet(e, t) { if (t.layers) { var i = { matrixIds: [] }; this.readChildNodes(e, i), t.tileMatrixSets[i.identifier] = i; } else t.tileMatrixSet = this.getChildValue(e); }, TileMatrixSetLimits: function TileMatrixSetLimits(e, t) { t.tileMatrixSetLimits = [], this.readChildNodes(e, t); }, TileMatrixLimits: function TileMatrixLimits(e, t) { var i = {}; this.readChildNodes(e, i), t.tileMatrixSetLimits.push(i); }, MinTileRow: function MinTileRow(e, t) { t.minTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MaxTileRow: function MaxTileRow(e, t) { t.maxTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MinTileCol: function MinTileCol(e, t) { t.minTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MaxTileCol: function MaxTileCol(e, t) { t.maxTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, TileMatrix: function TileMatrix(e, t) { if (t.identifier) { var i = { supportedCRS: t.supportedCRS }; this.readChildNodes(e, i), t.matrixIds.push(i); } else t.tileMatrix = this.getChildValue(e); }, ScaleDenominator: function ScaleDenominator(e, t) { t.scaleDenominator = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)); }, TopLeftCorner: function TopLeftCorner(e, t) { var i, r = this.getChildValue(e).split(" "); if (t.supportedCRS) { var n = t.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/, "urn:ogc:def:crs:$1::$2"); i = !!this.yx[n]; } t.topLeftCorner = i ? new GeoGlobe.LngLat(r[1], r[0]) : new GeoGlobe.LngLat(r[0], r[1]); }, TileWidth: function TileWidth(e, t) { t.tileWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, TileHeight: function TileHeight(e, t) { t.tileHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MatrixWidth: function MatrixWidth(e, t) { t.matrixWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MatrixHeight: function MatrixHeight(e, t) { t.matrixHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, ResourceURL: function ResourceURL(e, t) { t.resourceUrl = t.resourceUrl || {}; var i = e.getAttribute("resourceType"); t.resourceUrls || (t.resourceUrls = []); var r = t.resourceUrl[i] = { format: e.getAttribute("format"), template: e.getAttribute("template"), resourceType: i }; t.resourceUrls.push(r); }, LegendURL: function LegendURL(e, t) { t.legends = t.legends || []; var i = { format: e.getAttribute("format"), href: e.getAttribute("xlink:href") }, r = e.getAttribute("width"), n = e.getAttribute("height"), o = e.getAttribute("minScaleDenominator"), a = e.getAttribute("maxScaleDenominator"); null !== r && (i.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(r)), null !== n && (i.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(n)), null !== o && (i.minScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(o)), null !== a && (i.maxScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a)), t.legends.push(i); }, InfoFormat: function InfoFormat(e, t) { t.infoFormats = t.infoFormats || [], t.infoFormats.push(this.getChildValue(e)); }, WSDL: function WSDL(e, t) { t.wsdl = {}, t.wsdl.href = e.getAttribute("xlink:href"); }, ServiceMetadataURL: function ServiceMetadataURL(e, t) { t.serviceMetadataUrl = {}, t.serviceMetadataUrl.href = e.getAttribute("xlink:href"); }, Dimension: function Dimension(e, t) { var i = { values: [] }; this.readChildNodes(e, i), t.dimensions.push(i); }, Default: function Default(e, t) { t["default"] = this.getChildValue(e); }, Value: function Value(e, t) { t.values.push(this.getChildValue(e)); } }, ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows }, CLASS_NAME: "GeoGlobe.Format.WMTSCapabilities.v1_0_0" }), GeoGlobe.Format.VTSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.0.0", yx: { "urn:ogc:def:crs:EPSG::4326": !0 }, createLayer: function createLayer(e, t) { if (!("layer" in t)) throw new Error("Missing property 'layer' in configuration."); for (var i, r = e.contents, n = (r.layers, 0), o = r.layers.length; n < o; ++n) { if (r.layers[n].identifier === t.layer) { i = r.layers[n]; break; } } if (!i) throw new Error("Layer not found"); var a, s, x = t.format; if (!x && i.formats && i.formats.length && (x = i.formats[0]), t.matrixSet) a = r.tileMatrixSets[t.matrixSet];else if (t.projection) { n = 0; for (var l = i.tileMatrixSetLinks.length; n < l; n++) { if (r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet].supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3") === t.projection) { a = r.tileMatrixSets[i.tileMatrixSetLinks[n].tileMatrixSet]; break; } } } else i.tileMatrixSetLinks.length >= 1 && (a = r.tileMatrixSets[i.tileMatrixSetLinks[0].tileMatrixSet]); if (!a) throw new Error("matrixSet not found"); for (n = 0, o = i.styles.length; n < o && !(s = i.styles[n]).isDefault; ++n) { ; } var c = t.requestEncoding; c || (c = "KVP", e.operationsMetadata.GetTile.dcp.http); var u = [], h = t.params || {}; delete t.params; for (var f = 0, d = i.dimensions.length; f < d; f++) { var g = i.dimensions[f]; u.push(g.identifier), h.hasOwnProperty(g.identifier) || (h[g.identifier] = g["default"]); } var p, m, b, v, C = t.projection || a.supportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"), y = t.units || ("EPSG:4326" === C ? "degrees" : "m"), _ = [], A = [], I = i.tileMatrixSetLinks, w = function w(e) { _.push(28e-5 * e / GeoGlobe.METERS_PER_INCH / GeoGlobe.INCHES_PER_UNIT[y]), (!p || p > e) && (p = e), (!m || m < e) && (m = e); }, G = 0; for (l = I.length; G < l; G++) { if ((b = I[G]).tileMatrixSet === a.identifier) { if (b.tileMatrixSetLimits) { for (var E, S = {}, T = 0, P = a.matrixIds.length; T < P; T++) { S[a.matrixIds[T].identifier] = a.matrixIds[T]; } for (T = 0, P = b.tileMatrixSetLimits.length; T < P; T++) { E = S[b.tileMatrixSetLimits[T].tileMatrix], A.push(E), w(E.scaleDenominator); } } else for (T = 0, P = a.matrixIds.length; T < P; T++) { w(a.matrixIds[T].scaleDenominator); } break; } } if ("REST" === c && i.resourceUrls) { v = [], i.resourceUrls; for (var M, N = 0, L = i.resourceUrls.length; N < L; ++N) { (M = i.resourceUrls[N]).format === x && "tile" === M.resourceType && v.push(M.template); } } else { var R, O = e.operationsMetadata.GetTile.dcp.http.get; for (v = [], n = 0, o = O.length; n < o; n++) { (!(R = O[n].constraints) || R && R.GetEncoding.allowedValues[c]) && v.push(O[n].url); } } _.sort(function (e, t) { return t - e; }); var F, D = "SERVICE=WMTS&REQUEST=GetTile&VERSION=" + e.version + "&LAYER=" + i.identifier + "&STYLE=" + s.identifier + "&TILEMATRIXSET=" + a.identifier + "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=" + x; F = v[0].endsWith("?") ? v[0] + D : v[0] + "?" + D; var U = GeoGlobe.Util.applyDefaults(t, { id: i.identifier, url: [F] }), k = new GeoGlobe.Layer.VTS(U); return k.matrixSet = a, k.identifier = i.identifier, k.bounds = i.bounds, k; }, CLASS_NAME: "GeoGlobe.Format.VTSCapabilities" }), GeoGlobe.Format.VTSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.OWSCommon.v1_1_0, { version: "1.0.0", namespaces: { ows: "http://www.opengis.net/ows/1.1", wmts: "http://www.opengis.net/wmts/1.0", xlink: "http://www.w3.org/1999/xlink" }, yx: null, defaultPrefix: "wmts", initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]), this.options = e; var t = GeoGlobe.Util.extend({}, GeoGlobe.Format.VTSCapabilities.prototype.yx); this.yx = GeoGlobe.Util.extend(t, this.yx); }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t = {}; return this.readNode(e, t), t.version = this.version, t; }, readers: { wmts: { Capabilities: function Capabilities(e, t) { this.readChildNodes(e, t); }, Contents: function Contents(e, t) { t.contents = {}, t.contents.layers = [], t.contents.tileMatrixSets = {}, this.readChildNodes(e, t.contents); }, Layer: function Layer(e, t) { var i = { styles: [], formats: [], dimensions: [], tileMatrixSetLinks: [] }; this.readChildNodes(e, i), t.layers.push(i); }, Style: function Style(e, t) { var i = {}; i.isDefault = "true" === e.getAttribute("isDefault"), this.readChildNodes(e, i), t.styles.push(i); }, Format: function Format(e, t) { t.formats.push(this.getChildValue(e)); }, TileMatrixSetLink: function TileMatrixSetLink(e, t) { var i = {}; this.readChildNodes(e, i), t.tileMatrixSetLinks.push(i); }, TileMatrixSet: function TileMatrixSet(e, t) { if (t.layers) { var i = { matrixIds: [] }; this.readChildNodes(e, i), t.tileMatrixSets[i.identifier] = i; } else t.tileMatrixSet = this.getChildValue(e); }, TileMatrixSetLimits: function TileMatrixSetLimits(e, t) { t.tileMatrixSetLimits = [], this.readChildNodes(e, t); }, TileMatrixLimits: function TileMatrixLimits(e, t) { var i = {}; this.readChildNodes(e, i), t.tileMatrixSetLimits.push(i); }, MinTileRow: function MinTileRow(e, t) { t.minTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MaxTileRow: function MaxTileRow(e, t) { t.maxTileRow = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MinTileCol: function MinTileCol(e, t) { t.minTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MaxTileCol: function MaxTileCol(e, t) { t.maxTileCol = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, TileMatrix: function TileMatrix(e, t) { if (t.identifier) { var i = { supportedCRS: t.supportedCRS }; this.readChildNodes(e, i), t.matrixIds.push(i); } else t.tileMatrix = this.getChildValue(e); }, ScaleDenominator: function ScaleDenominator(e, t) { t.scaleDenominator = _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(this.getChildValue(e)); }, TopLeftCorner: function TopLeftCorner(e, t) { var i, r = this.getChildValue(e).split(" "); if (t.supportedCRS) { var n = t.supportedCRS.replace(/urn:ogc:def:crs:(\w+):.+:(\w+)$/, "urn:ogc:def:crs:$1::$2"); i = !!this.yx[n]; } t.topLeftCorner = i ? new GeoGlobe.LngLat(r[1], r[0]) : new GeoGlobe.LngLat(r[0], r[1]); }, TileWidth: function TileWidth(e, t) { t.tileWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, TileHeight: function TileHeight(e, t) { t.tileHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MatrixWidth: function MatrixWidth(e, t) { t.matrixWidth = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, MatrixHeight: function MatrixHeight(e, t) { t.matrixHeight = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(this.getChildValue(e)); }, ResourceURL: function ResourceURL(e, t) { t.resourceUrl = t.resourceUrl || {}; var i = e.getAttribute("resourceType"); t.resourceUrls || (t.resourceUrls = []); var r = t.resourceUrl[i] = { format: e.getAttribute("format"), template: e.getAttribute("template"), resourceType: i }; t.resourceUrls.push(r); }, LegendURL: function LegendURL(e, t) { t.legends = t.legends || []; var i = { format: e.getAttribute("format"), href: e.getAttribute("xlink:href") }, r = e.getAttribute("width"), n = e.getAttribute("height"), o = e.getAttribute("minScaleDenominator"), a = e.getAttribute("maxScaleDenominator"); null !== r && (i.width = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(r)), null !== n && (i.height = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(n)), null !== o && (i.minScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(o)), null !== a && (i.maxScaleDenominator = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(a)), t.legends.push(i); }, InfoFormat: function InfoFormat(e, t) { t.infoFormats = t.infoFormats || [], t.infoFormats.push(this.getChildValue(e)); }, WSDL: function WSDL(e, t) { t.wsdl = {}, t.wsdl.href = e.getAttribute("xlink:href"); }, ServiceMetadataURL: function ServiceMetadataURL(e, t) { t.serviceMetadataUrl = {}, t.serviceMetadataUrl.href = e.getAttribute("xlink:href"); }, Dimension: function Dimension(e, t) { var i = { values: [] }; this.readChildNodes(e, i), t.dimensions.push(i); }, Default: function Default(e, t) { t["default"] = this.getChildValue(e); }, Value: function Value(e, t) { t.values.push(this.getChildValue(e)); } }, ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows }, CLASS_NAME: "GeoGlobe.Format.VTSCapabilities.v1_0_0" }), GeoGlobe.Format.WPSCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML.VersionedOGC, { defaultVersion: "1.0.0", CLASS_NAME: "GeoGlobe.Format.WPSCapabilities" }), GeoGlobe.Format.WPSCapabilities.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { ows: "http://www.opengis.net/ows/1.1", wps: "http://www.opengis.net/wps/1.0.0", xlink: "http://www.w3.org/1999/xlink" }, regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t = {}; return this.readNode(e, t), t; }, readers: { wps: { Capabilities: function Capabilities(e, t) { this.readChildNodes(e, t); }, ProcessOfferings: function ProcessOfferings(e, t) { t.processOfferings = {}, this.readChildNodes(e, t.processOfferings); }, Process: function Process(e, t) { var i = { processVersion: this.getAttributeNS(e, this.namespaces.wps, "processVersion") }; this.readChildNodes(e, i), t[i.identifier] = i; }, Languages: function Languages(e, t) { t.languages = [], this.readChildNodes(e, t.languages); }, Default: function Default(e, t) { var i = { isDefault: !0 }; this.readChildNodes(e, i), t.push(i); }, Supported: function Supported(e, t) { var i = {}; this.readChildNodes(e, i), t.push(i); } }, ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows }, CLASS_NAME: "GeoGlobe.Format.WPSCapabilities.v1_0_0" }), GeoGlobe.Format.WCSGetCoverage = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { ows: "http://www.opengis.net/ows/1.1", wcs: "http://www.opengis.net/wcs/1.1", xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance" }, regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, VERSION: "1.1.2", schemaLocation: "http://www.opengis.net/wcs/1.1 http://schemas.opengis.net/wcs/1.1/wcsGetCoverage.xsd", write: function write(e) { var t = this.writeNode("wcs:GetCoverage", e); return this.setAttributeNS(t, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation), GeoGlobe.Format.XML.prototype.write.apply(this, [t]); }, writers: { wcs: { GetCoverage: function GetCoverage(e) { var t = this.createElementNSPlus("wcs:GetCoverage", { attributes: { version: e.version || this.VERSION, service: "WCS" } }); return this.writeNode("ows:Identifier", e.identifier, t), this.writeNode("wcs:DomainSubset", e.domainSubset, t), this.writeNode("wcs:Output", e.output, t), t; }, DomainSubset: function DomainSubset(e) { var t = this.createElementNSPlus("wcs:DomainSubset", {}); return this.writeNode("ows:BoundingBox", e.boundingBox, t), e.temporalSubset && this.writeNode("wcs:TemporalSubset", e.temporalSubset, t), t; }, TemporalSubset: function TemporalSubset(e) { for (var t = this.createElementNSPlus("wcs:TemporalSubset", {}), i = 0, r = e.timePeriods.length; i < r; ++i) { this.writeNode("wcs:TimePeriod", e.timePeriods[i], t); } return t; }, TimePeriod: function TimePeriod(e) { var t = this.createElementNSPlus("wcs:TimePeriod", {}); return this.writeNode("wcs:BeginPosition", e.begin, t), this.writeNode("wcs:EndPosition", e.end, t), e.resolution && this.writeNode("wcs:TimeResolution", e.resolution, t), t; }, BeginPosition: function BeginPosition(e) { return this.createElementNSPlus("wcs:BeginPosition", { value: e }); }, EndPosition: function EndPosition(e) { return this.createElementNSPlus("wcs:EndPosition", { value: e }); }, TimeResolution: function TimeResolution(e) { return this.createElementNSPlus("wcs:TimeResolution", { value: e }); }, Output: function Output(e) { var t = this.createElementNSPlus("wcs:Output", { attributes: { format: e.format, store: e.store } }); return e.gridCRS && this.writeNode("wcs:GridCRS", e.gridCRS, t), t; }, GridCRS: function GridCRS(e) { var t = this.createElementNSPlus("wcs:GridCRS", {}); return this.writeNode("wcs:GridBaseCRS", e.baseCRS, t), e.type && this.writeNode("wcs:GridType", e.type, t), e.origin && this.writeNode("wcs:GridOrigin", e.origin, t), this.writeNode("wcs:GridOffsets", e.offsets, t), e.CS && this.writeNode("wcs:GridCS", e.CS, t), t; }, GridBaseCRS: function GridBaseCRS(e) { return this.createElementNSPlus("wcs:GridBaseCRS", { value: e }); }, GridOrigin: function GridOrigin(e) { return this.createElementNSPlus("wcs:GridOrigin", { value: e }); }, GridType: function GridType(e) { return this.createElementNSPlus("wcs:GridType", { value: e }); }, GridOffsets: function GridOffsets(e) { return this.createElementNSPlus("wcs:GridOffsets", { value: e }); }, GridCS: function GridCS(e) { return this.createElementNSPlus("wcs:GridCS", { value: e }); } }, ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.writers.ows }, CLASS_NAME: "GeoGlobe.Format.WCSGetCoverage" }), GeoGlobe.Format.WPSExecute = GeoGlobe.Class4OL(GeoGlobe.Format.XML, GeoGlobe.Format.Filter.v1_1_0, { namespaces: { ows: "http://www.opengis.net/ows/1.1", gml: "http://www.opengis.net/gml", wps: "http://www.opengis.net/wps/1.0.0", wfs: "http://www.opengis.net/wfs", ogc: "http://www.opengis.net/ogc", wcs: "http://www.opengis.net/wcs", xlink: "http://www.w3.org/1999/xlink", xsi: "http://www.w3.org/2001/XMLSchema-instance" }, regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, VERSION: "1.0.0", schemaLocation: "http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd", schemaLocationAttr: function schemaLocationAttr(e) {}, write: function write(e) { var t; GeoGlobe.Format.XML.supportActiveX ? (t = new ActiveXObject("Microsoft.XMLDOM"), this.xmldom = t) : t = document.implementation.createDocument("", "", null); var i = this.writeNode("wps:Execute", e, t); return this.setAttributeNS(i, this.namespaces.xsi, "xsi:schemaLocation", this.schemaLocation), GeoGlobe.Format.XML.prototype.write.apply(this, [i]); }, read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType && (e = e.documentElement); var t = {}; return this.readNode(e, t), t; }, writers: { wps: { Execute: function Execute(e) { var t = this.createElementNSPlus("wps:Execute", { attributes: { version: this.VERSION, service: "WPS" } }); return this.writeNode("ows:Identifier", e.identifier, t), this.writeNode("wps:DataInputs", e.dataInputs, t), this.writeNode("wps:ResponseForm", e.responseForm, t), t; }, ResponseForm: function ResponseForm(e) { var t = this.createElementNSPlus("wps:ResponseForm", {}); return e.rawDataOutput && this.writeNode("wps:RawDataOutput", e.rawDataOutput, t), e.responseDocument && this.writeNode("wps:ResponseDocument", e.responseDocument, t), t; }, ResponseDocument: function ResponseDocument(e) { var t = this.createElementNSPlus("wps:ResponseDocument", { attributes: { storeExecuteResponse: e.storeExecuteResponse, lineage: e.lineage, status: e.status } }); if (e.outputs) for (var i = 0, r = e.outputs.length; i < r; i++) { this.writeNode("wps:Output", e.outputs[i], t); } return t; }, Output: function Output(e) { var t = this.createElementNSPlus("wps:Output", { attributes: { asReference: e.asReference, mimeType: e.mimeType, encoding: e.encoding, schema: e.schema } }); return this.writeNode("ows:Identifier", e.identifier, t), this.writeNode("ows:Title", e.title, t), this.writeNode("ows:Abstract", e["abstract"], t), t; }, RawDataOutput: function RawDataOutput(e) { var t = this.createElementNSPlus("wps:RawDataOutput", { attributes: { mimeType: e.mimeType, encoding: e.encoding, schema: e.schema } }); return this.writeNode("ows:Identifier", e.identifier, t), t; }, DataInputs: function DataInputs(e) { for (var t = this.createElementNSPlus("wps:DataInputs", {}), i = 0, r = e.length; i < r; ++i) { this.writeNode("wps:Input", e[i], t); } return t; }, Input: function Input(e) { var t = this.createElementNSPlus("wps:Input", {}); return this.writeNode("ows:Identifier", e.identifier, t), e.title && this.writeNode("ows:Title", e.title, t), e.data && this.writeNode("wps:Data", e.data, t), e.reference && this.writeNode("wps:Reference", e.reference, t), e.boundingBoxData && this.writeNode("wps:BoundingBoxData", e.boundingBoxData, t), t; }, Data: function Data(e) { var t = this.createElementNSPlus("wps:Data", {}); return e.literalData ? this.writeNode("wps:LiteralData", e.literalData, t) : e.complexData ? this.writeNode("wps:ComplexData", e.complexData, t) : e.boundingBoxData && this.writeNode("ows:BoundingBox", e.boundingBoxData, t), t; }, LiteralData: function LiteralData(e) { return this.createElementNSPlus("wps:LiteralData", { attributes: { uom: e.uom }, value: e.value }); }, ComplexData: function ComplexData(e) { var t = this.createElementNSPlus("wps:ComplexData", { attributes: { mimeType: e.mimeType, encoding: e.encoding, schema: e.schema } }), i = e.value; return "string" == typeof i ? t.appendChild(this.getXMLDoc().createCDATASection(e.value)) : t.appendChild(i), t; }, Reference: function Reference(e) { var t = this.createElementNSPlus("wps:Reference", { attributes: { mimeType: e.mimeType, "xlink:href": e.href, method: e.method, encoding: e.encoding, schema: e.schema } }); return e.body && this.writeNode("wps:Body", e.body, t), t; }, BoundingBoxData: function BoundingBoxData(e, t) { this.writers.ows.BoundingBox.apply(this, [e, t, "wps:BoundingBoxData"]); }, Body: function Body(e) { var t = this.createElementNSPlus("wps:Body", {}); return e.wcs ? this.writeNode("wcs:GetCoverage", e.wcs, t) : e.wfs ? (this.featureType = e.wfs.featureType, this.version = e.wfs.version, this.writeNode("wfs:GetFeature", e.wfs, t)) : this.writeNode("wps:Execute", e, t), t; } }, wcs: GeoGlobe.Format.WCSGetCoverage.prototype.writers.wcs, wfs: GeoGlobe.Format.WFST.v1_1_0.prototype.writers.wfs, ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc, ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.writers.ows }, readers: { wps: { ExecuteResponse: function ExecuteResponse(e, t) { t.executeResponse = { lang: e.getAttribute("lang"), statusLocation: e.getAttribute("statusLocation"), serviceInstance: e.getAttribute("serviceInstance"), service: e.getAttribute("service") }, this.readChildNodes(e, t.executeResponse); }, Process: function Process(e, t) { t.process = {}, this.readChildNodes(e, t.process); }, Status: function Status(e, t) { t.status = { creationTime: e.getAttribute("creationTime") }, this.readChildNodes(e, t.status); }, ProcessSucceeded: function ProcessSucceeded(e, t) { t.processSucceeded = !0; }, ProcessOutputs: function ProcessOutputs(e, t) { t.processOutputs = [], this.readChildNodes(e, t.processOutputs); }, Output: function Output(e, t) { var i = {}; this.readChildNodes(e, i), t.push(i); }, Reference: function Reference(e, t) { t.reference = { href: e.getAttribute("href"), mimeType: e.getAttribute("mimeType"), encoding: e.getAttribute("encoding"), schema: e.getAttribute("schema") }; }, Data: function Data(e, t) { t.data = {}, this.readChildNodes(e, t); }, LiteralData: function LiteralData(e, t) { t.literalData = { dataType: e.getAttribute("dataType"), uom: e.getAttribute("uom"), value: this.getChildValue(e) }; }, ComplexData: function ComplexData(e, t) { var i; if (t.complexData = { mimeType: e.getAttribute("mimeType"), schema: e.getAttribute("schema"), encoding: e.getAttribute("encoding"), value: "" }, this.isSimpleContent(e)) for (i = e.firstChild; i; i = i.nextSibling) { switch (i.nodeType) { case 3: case 4: t.complexData.value += i.nodeValue; } } else for (i = e.firstChild; i; i = i.nextSibling) { 1 == i.nodeType && (t.complexData.value = i); } }, BoundingBox: function BoundingBox(e, t) { t.boundingBoxData = { dimensions: e.getAttribute("dimensions"), crs: e.getAttribute("crs") }, this.readChildNodes(e, t.boundingBoxData); } }, ows: GeoGlobe.Format.OWSCommon.v1_1_0.prototype.readers.ows }, CLASS_NAME: "GeoGlobe.Format.WPSExecute" }), GeoGlobe.Format.OGCExceptionReport = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { namespaces: { ogc: "http://www.opengis.net/ogc" }, regExes: { trimSpace: /^\s*|\s*$/g, removeSpace: /\s*/g, splitSpace: /\s+/, trimComma: /\s*,\s*/g }, defaultPrefix: "ogc", read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); var t = { exceptionReport: null }; return e.documentElement && (this.readChildNodes(e, t), null === t.exceptionReport && (t = new GeoGlobe.Format.OWSCommon().read(e))), t; }, readers: { ogc: { ServiceExceptionReport: function ServiceExceptionReport(e, t) { t.exceptionReport = { exceptions: [] }, this.readChildNodes(e, t.exceptionReport); }, ServiceException: function ServiceException(e, t) { var i = { code: e.getAttribute("code"), locator: e.getAttribute("locator"), text: this.getChildValue(e) }; t.exceptions.push(i); } } }, CLASS_NAME: "GeoGlobe.Format.OGCExceptionReport" }), GeoGlobe.Format.QueryStringFilter = function () { var e = {}; return e[GeoGlobe.Filter.Comparison.EQUAL_TO] = "eq", e[GeoGlobe.Filter.Comparison.NOT_EQUAL_TO] = "ne", e[GeoGlobe.Filter.Comparison.LESS_THAN] = "lt", e[GeoGlobe.Filter.Comparison.LESS_THAN_OR_EQUAL_TO] = "lte", e[GeoGlobe.Filter.Comparison.GREATER_THAN] = "gt", e[GeoGlobe.Filter.Comparison.GREATER_THAN_OR_EQUAL_TO] = "gte", e[GeoGlobe.Filter.Comparison.LIKE] = "ilike", GeoGlobe.Class4OL(GeoGlobe.Format, { wildcarded: !1, srsInBBOX: !1, write: function write(t, i) { i = i || {}; var r = t.CLASS_NAME, n = r.substring(r.lastIndexOf(".") + 1); switch (n) { case "Spatial": switch (t.type) { case GeoGlobe.Filter.Spatial.BBOX: i.bbox = t.value.toArray(), this.srsInBBOX && t.projection && i.bbox.push(t.projection.getCode()); break; case GeoGlobe.Filter.Spatial.DWITHIN: i.tolerance = t.distance; case GeoGlobe.Filter.Spatial.WITHIN: i.lon = t.value.x, i.lat = t.value.y; break; default: GeoGlobe.Console.warn("Unknown spatial filter type " + t.type); } break; case "Comparison": var o = e[t.type]; if (void 0 !== o) { var a = t.value; t.type == GeoGlobe.Filter.Comparison.LIKE && (a = a.replace(/%/g, "\\%").replace(/\\\\\.(\*)?/g, function (e, t) { return t ? e : "\\\\_"; }).replace(/\\\\\.\*/g, "\\\\%").replace(/(\\)?\.(\*)?/g, function (e, t, i) { return t || i ? e : "_"; }).replace(/(\\)?\.\*/g, function (e, t) { return t ? e : "%"; }).replace(/\\\./g, ".").replace(/(\\)?\\\*/g, function (e, t) { return t ? e : "*"; }), this.wildcarded && (a = "%" + a + "%")), i[t.property + "__" + o] = a, i.queryable = i.queryable || [], i.queryable.push(t.property); } else GeoGlobe.Console.warn("Unknown comparison filter type " + t.type); break; case "Logical": if (t.type === GeoGlobe.Filter.Logical.AND) for (var s = 0, x = t.filters.length; s < x; s++) { i = this.write(t.filters[s], i); } else GeoGlobe.Console.warn("Unsupported logical filter type " + t.type); break; default: GeoGlobe.Console.warn("Unknown filter type " + n); } return i; }, CLASS_NAME: "GeoGolobe.Format.QueryStringFilter" }); }(), GeoGlobe.Format.BusCapabilities = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { tagName: "NETWORK_Capabilities", read: function read(e) { var t; "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); var i = {}; return (t = e.nodeName != this.tagName ? e.getElementsByTagName(this.tagName) : [e]).length > 0 && this.runChildNodes(i, t[0]), i; }, runChildNodes: function runChildNodes(e, t, i) { for (var r, n, o = t.childNodes, a = 0; a < o.length; ++a) { 1 == (r = o[a]).nodeType && (n = i ? this["read_" + i + "_" + r.nodeName] : this["read_" + r.nodeName]) && n.apply(this, [e, r]); } }, read_Service: function read_Service(e, t) { var i = {}; this.runChildNodes(i, t, "Service"), e.service = i; }, read_Service_Name: function read_Service_Name(e, t) { var i = this.getChildValue(t); i && (e.name = i); }, read_Service_Title: function read_Service_Title(e, t) { var i = this.getChildValue(t); i && (e.title = i); }, read_Service_Abstract: function read_Service_Abstract(e, t) { var i = this.getChildValue(t); i && (e.serviceAbstract = i); }, read_Service_KeywordList: function read_Service_KeywordList(e, t) {}, read_Service_OnlineResource: function read_Service_OnlineResource(e, t) { var i = this.getChildValue(t); e && (e.onlineResource = i); }, read_Capability: function read_Capability(e, t) { var i = {}; this.runChildNodes(i, t, "Capability"), e.capability = i; }, read_Capability_Request: function read_Capability_Request(e, t) { var i = {}; this.runChildNodes(i, t, "Capability_Request"), e.request = i; }, read_Capability_Request_GetCapabilities: function read_Capability_Request_GetCapabilities(e, t) { var i = t.getElementsByTagName("HTTP"), r = {}; i[0] && this.runChildNodes(r, i[0], "Capability_Request_GetCapabilities_DCPType_HTTP"), e.getCapabilities = r; }, read_Capability_Request_GetCapabilities_DCPType_HTTP_Get: function read_Capability_Request_GetCapabilities_DCPType_HTTP_Get(e, t) { var i = t.getAttribute("onlineResource"); i && (e.getUrl = i); }, read_Capability_Request_GetCapabilities_DCPType_HTTP_Post: function read_Capability_Request_GetCapabilities_DCPType_HTTP_Post(e, t) { var i = t.getAttribute("onlineResource"); i && (e.postUrl = i); }, read_Capability_Request_queryStation: function read_Capability_Request_queryStation(e, t) { var i = t.getElementsByTagName("HTTP"), r = {}; i[0] && this.runChildNodes(r, i[0], "Capability_Request_queryStation_DCPType_HTTP"), e.queryStation = r; }, read_Capability_Request_queryStation_DCPType_HTTP_Get: function read_Capability_Request_queryStation_DCPType_HTTP_Get(e, t) { var i = t.getAttribute("onlineResource"); i && (e.getUrl = i); }, read_Capability_Request_queryStation_DCPType_HTTP_Post: function read_Capability_Request_queryStation_DCPType_HTTP_Post(e, t) { var i = t.getAttribute("onlineResource"); i && (e.postUrl = i); }, read_Capability_Request_queryLine: function read_Capability_Request_queryLine(e, t) { var i = t.getElementsByTagName("HTTP"), r = {}; i[0] && this.runChildNodes(r, i[0], "Capability_Request_queryLine_DCPType_HTTP"), e.queryLine = r; }, read_Capability_Request_queryLine_DCPType_HTTP_Get: function read_Capability_Request_queryLine_DCPType_HTTP_Get(e, t) { var i = t.getAttribute("onlineResource"); i && (e.getUrl = i); }, read_Capability_Request_queryLine_DCPType_HTTP_Post: function read_Capability_Request_queryLine_DCPType_HTTP_Post(e, t) { var i = t.getAttribute("onlineResource"); i && (e.postUrl = i); }, read_Capability_Request_queryChange: function read_Capability_Request_queryChange(e, t) { var i = t.getElementsByTagName("HTTP"); i[0] && this.runChildNodes({}, i[0], "Capability_Request_queryChange_DCPType_HTTP"); }, read_Capability_Request_queryChange_DCPType_HTTP_Get: function read_Capability_Request_queryChange_DCPType_HTTP_Get(e, t) { var i = t.getAttribute("onlineResource"); i && (e.getUrl = i); }, read_Capability_Request_queryChange_DCPType_HTTP_Post: function read_Capability_Request_queryChange_DCPType_HTTP_Post(e, t) { var i = t.getAttribute("onlineResource"); i && (e.postUrl = i); }, read_Capability_Networks: function read_Capability_Networks(e, t) { for (var i = t.getElementsByTagName("Name"), r = [], n = 0; n < i.length; n++) { var o = this.getChildValue(i[n]); o && r.push(o); } e.networks = r; }, CLASS_NAME: "GeoGlobe.Format.BusCapabilities" }), GeoGlobe.Format.XML2JSON = GeoGlobe.Class4OL({ initialize: function initialize() {}, read: function read(e, t, i) { t || (t = ""), e = (e = e.replace(/\s*\/>/g, "/>")).replace(/<\?[^>]*>/g, "").replace(/<\![^>]*>/g, ""), t.sort || (t = t.split(",")); var r = this.no_fast_endings(e); r = this.attris_to_tags(r), r = (r = escape(r)).split("%3C").join("<").split("%3E").join(">").split("%3D").join("=").split("%22").join('"'); for (var n = 0; n < t.length; n++) { r = (r = r.replace(new RegExp("<" + t[n] + ">", "g"), "*$**" + t[n] + "**$*")).replace(new RegExp("", "g"), "*$***" + t[n] + "**$*"); } r = "" + r + "", this.xmlobject = {}; var o = this.xml_to_object(r).JSONTAGWRAPPER; return i && (o = this.show_json_structure(o, i)), o; }, xml_to_object: function xml_to_object(xmlcode) { var x = xmlcode.replace(/<\//g, "?"); x = x.split("<"); for (var y = [], level = 0, opentags = [], i = 1; i < x.length; i++) { var tagname = x[i].split(">")[0]; for (opentags.push(tagname), level++, y.push(level + "<" + x[i].split("?")[0]); x[i].indexOf("?" + opentags[opentags.length - 1] + ">") >= 0;) { level--, opentags.pop(); } } for (var oldniva = -1, objname = "this.xmlobject", i = 0; i < y.length; i++) { var preeval = "", niva = y[i].split("<")[0], tagnamn = y[i].split("<")[1].split(">")[0]; tagnamn = tagnamn.replace(/%3A/, "_"); var rest = y[i].split(">")[1]; if (niva <= oldniva) for (var tabort = oldniva - niva + 1, j = 0; j < tabort; j++) { objname = objname.substring(0, objname.lastIndexOf(".")); } objname += "." + tagnamn; var pobject = objname.substring(0, objname.lastIndexOf(".")); "object" != eval("typeof " + pobject) && (preeval += pobject + "={value:" + pobject + "};\n"); var objlast = objname.substring(objname.lastIndexOf(".") + 1), already = !1; for (k in eval(pobject)) { k == objlast && (already = !0); } for (var onlywhites = !0, s = 0; s < rest.length; s += 3) { "%" != rest.charAt(s) && (onlywhites = !1); } "" == rest || onlywhites ? rest = "{}" : rest / 1 != rest && (rest = "'" + rest.replace(/\'/g, "\\'") + "'", rest = rest.replace(/\*\$\*\*\*/g, "")), "'" == rest.charAt(0) && (rest = "unescape(" + rest + ")"), already && !eval(objname + ".sort") && (preeval += objname + "=[" + objname + "];\n"); var before = "="; after = "", already && (before = ".push(", after = ")"); var toeval = preeval + objname + before + rest + after; eval(toeval), eval(objname + ".sort") && (objname += "[" + eval(objname + ".length-1") + "]"), oldniva = niva; } return this.xmlobject; }, show_json_structure: function show_json_structure(e, t, i) { var r = ""; for (var n in e.sort ? r += "[\n" : r += "{\n", e) { e.sort || (r += n + ":"), "object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(e[n]) ? r += this.show_json_structure(e[n], !1, 1) : "function" == typeof e[n] ? r += e[n] + "" : "string" != typeof e[n] ? r += e[n] + ",\n" : r += "'" + e[n].replace(/\'/g, "\\'").replace(/\n/g, "\\n").replace(/\t/g, "\\t").replace(/\r/g, "\\r") + "',\n"; } if (e.sort ? r += "],\n" : r += "},\n", !i) { var o = (r = (r = (r = r.substring(0, r.lastIndexOf(","))).replace(new RegExp(",\n}", "g"), "\n}")).replace(new RegExp(",\n]", "g"), "\n]")).split("\n"); r = ""; var a = 0; for (n = 0; n < o.length; n++) { (o[n].indexOf("}") >= 0 || o[n].indexOf("]") >= 0) && a--, tabs = ""; for (var s = 0; s < a; s++) { tabs += "\t"; } r += tabs + o[n] + "\n", (o[n].indexOf("{") >= 0 || o[n].indexOf("[") >= 0) && a++; } "html" == t && (r = (r = r.replace(//g, ">")).replace(/\n/g, "
").replace(/\t/g, "    ")), "compact" == t && (r = r.replace(/\n/g, "").replace(/\t/g, "")); } return r; }, no_fast_endings: function no_fast_endings(e) { e = e.split("/>"); for (var t = 1; t < e.length; t++) { var i = e[t - 1].substring(e[t - 1].lastIndexOf("<") + 1).split(" ")[0]; e[t] = ">" + e[t]; } return e.join(""); }, attris_to_tags: function attris_to_tags(e) { var t = " =\"'".split(""); e = e.split(">"); for (var i = 0; i < e.length; i++) { for (var r = e[i].split("<"), n = 0; n < 4; n++) { r[0] = r[0].replace(new RegExp(t[n], "g"), "_jsonconvtemp" + n + "_"); } if (r[1]) { r[1] = r[1].replace(/'/g, '"'), r[1] = r[1].split('"'); for (var o = 1; o < r[1].length; o += 2) { for (n = 0; n < 4; n++) { r[1][o] = r[1][o].replace(new RegExp(t[n], "g"), "_jsonconvtemp" + n + "_"); } } r[1] = r[1].join('"'); } e[i] = r.join("<"); } for (e = (e = (e = e.join(">")).replace(/ ([^=]*)=([^ |>]*)/g, "><$1>$2"/g, ">").replace(/" 0) for (var r = 0, n = i.length; r < n; r++) { this.writeNode("csw:ResponseHandler", i[r], t); } return this.writeNode("Query", e.Query || this.Query, t), t; }, DistributedSearch: function DistributedSearch(e) { return this.createElementNSPlus("csw:DistributedSearch", { attributes: { hopCount: e.hopCount } }); }, ResponseHandler: function ResponseHandler(e) { return this.createElementNSPlus("csw:ResponseHandler", { value: e.value }); }, Query: function Query(e) { e || (e = {}); var t = this.createElementNSPlus("csw:Query", { attributes: { typeNames: e.typeNames || "csw:Record" } }), i = e.ElementName; if (GeoGlobe.Util.isArray(i) && i.length > 0) for (var r = 0, n = i.length; r < n; r++) { this.writeNode("csw:ElementName", i[r], t); } else this.writeNode("csw:ElementSetName", e.ElementSetName || { value: "summary" }, t); return e.Constraint && this.writeNode("csw:Constraint", e.Constraint, t), e.SortBy && this.writeNode("ogc:SortBy", e.SortBy, t), t; }, ElementName: function ElementName(e) { return this.createElementNSPlus("csw:ElementName", { value: e.value }); }, ElementSetName: function ElementSetName(e) { return this.createElementNSPlus("csw:ElementSetName", { attributes: { typeNames: e.typeNames }, value: e.value }); }, Constraint: function Constraint(e) { var t = this.createElementNSPlus("csw:Constraint", { attributes: { version: e.version } }); if (e.Filter) { var i = new GeoGlobe.Format.Filter({ version: e.version }); t.appendChild(i.write(e.Filter)); } else if (e.CqlText) { var r = this.createElementNSPlus("CqlText", { value: e.CqlText.value }); t.appendChild(r); } return t; } }, ogc: GeoGlobe.Format.Filter.v1_1_0.prototype.writers.ogc }, CLASS_NAME: "GeoGlobe.Format.CSWGetRecords.v2_0_2" }), function (e, t) { e.GeoGlobe.Format.X2JS = function (e) { void 0 === (e = e || {}).escapeMode && (e.escapeMode = !0), e.attributePrefix = e.attributePrefix || "_", e.arrayAccessForm = e.arrayAccessForm || "none", e.emptyNodeForm = e.emptyNodeForm || "text", void 0 === e.enableToStringFunc && (e.enableToStringFunc = !0), e.arrayAccessFormPaths = e.arrayAccessFormPaths || [], void 0 === e.skipEmptyTextNodesForObj && (e.skipEmptyTextNodesForObj = !0), void 0 === e.stripWhitespaces && (e.stripWhitespaces = !0), e.datetimeAccessFormPaths = e.datetimeAccessFormPaths || [], void 0 === e.useDoubleQuotes && (e.useDoubleQuotes = !1), e.xmlElementsFilter = e.xmlElementsFilter || [], e.jsonPropertiesFilter = e.jsonPropertiesFilter || [], void 0 === e.keepCData && (e.keepCData = !1); var t = 1, i = 3, r = 4, n = 8, o = 9; function a(e) { var t = e.localName; return null == t && (t = e.baseName), null != t && "" != t || (t = e.nodeName), t; } function s(e) { return "string" == typeof e ? e.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'") : e; } function x(e, t, i, r) { for (var n = 0; n < e.length; n++) { var o = e[n]; if ("string" == typeof o) { if (o == r) break; } else if (o instanceof RegExp) { if (o.test(r)) break; } else if ("function" == typeof o && o(t, i, r)) break; } return n != e.length; } function l(t, i, r) { switch (e.arrayAccessForm) { case "property": t[i] instanceof Array ? t[i + "_asArray"] = t[i] : t[i + "_asArray"] = [t[i]]; } !(t[i] instanceof Array) && e.arrayAccessFormPaths.length > 0 && x(e.arrayAccessFormPaths, t, i, r) && (t[i] = [t[i]]); } function c(e) { var t = e.split(/[-T:+Z]/g), i = new Date(t[0], t[1] - 1, t[2]), r = t[5].split("."); if (i.setHours(t[3], t[4], r[0]), r.length > 1 && i.setMilliseconds(r[1]), t[6] && t[7]) { var n = 60 * t[6] + Number(t[7]); n = 0 + ("-" == (/\d\d-\d\d:\d\d$/.test(e) ? "-" : "+") ? -1 * n : n), i.setMinutes(i.getMinutes() - n - i.getTimezoneOffset()); } else -1 !== e.indexOf("Z", e.length - 1) && (i = new Date(Date.UTC(i.getFullYear(), i.getMonth(), i.getDate(), i.getHours(), i.getMinutes(), i.getSeconds(), i.getMilliseconds()))); return i; } function u(i, r, n, o) { return !(r == t && e.xmlElementsFilter.length > 0) || x(e.xmlElementsFilter, i, n, o); } function h(s, f) { if (s.nodeType == o) { for (var d = new Object(), g = s.childNodes, p = 0; p < g.length; p++) { if ((m = g.item(p)).nodeType == t) d[b = a(m)] = h(m, b); } return d; } if (s.nodeType == t) { (d = new Object()).__cnt = 0; for (g = s.childNodes, p = 0; p < g.length; p++) { var m, b = a(m = g.item(p)); if (m.nodeType != n) { var v = f + "." + b; u(d, m.nodeType, b, v) && (d.__cnt++, null == d[b] ? (d[b] = h(m, v), l(d, b, v)) : (null != d[b] && (d[b] instanceof Array || (d[b] = [d[b]], l(d, b, v))), d[b][d[b].length] = h(m, v))); } } for (var C = 0; C < s.attributes.length; C++) { var y = s.attributes.item(C); d.__cnt++, d[e.attributePrefix + y.name] = y.value; } var _ = s.prefix; return null != _ && "" != _ && (d.__cnt++, d.__prefix = _), null != d["#text"] && (d.__text = d["#text"], d.__text instanceof Array && (d.__text = d.__text.join("\n")), e.stripWhitespaces && (d.__text = d.__text.trim()), delete d["#text"], "property" == e.arrayAccessForm && delete d["#text_asArray"], d.__text = function (t, i, r) { if (e.datetimeAccessFormPaths.length > 0) { var n = r.split(".#")[0]; return x(e.datetimeAccessFormPaths, t, i, n) ? c(t) : t; } return t; }(d.__text, b, f + "." + b)), null != d["#cdata-section"] && (d.__cdata = d["#cdata-section"], delete d["#cdata-section"], "property" == e.arrayAccessForm && delete d["#cdata-section_asArray"]), 0 == d.__cnt && "text" == e.emptyNodeForm ? d = "" : 1 == d.__cnt && null != d.__text ? d = d.__text : 1 != d.__cnt || null == d.__cdata || e.keepCData ? d.__cnt > 1 && null != d.__text && e.skipEmptyTextNodesForObj && (e.stripWhitespaces && "" == d.__text || "" == d.__text.trim()) && delete d.__text : d = d.__cdata, delete d.__cnt, !e.enableToStringFunc || null == d.__text && null == d.__cdata || (d.toString = function () { return (null != this.__text ? this.__text : "") + (null != this.__cdata ? this.__cdata : ""); }), d; } if (s.nodeType == i || s.nodeType == r) return s.nodeValue; } function f(t, i, r, n) { var o = "<" + (null != t && null != t.__prefix ? t.__prefix + ":" : "") + i; if (null != r) for (var a = 0; a < r.length; a++) { var x = r[a], l = t[x]; e.escapeMode && (l = s(l)), o += " " + x.substr(e.attributePrefix.length) + "=", e.useDoubleQuotes ? o += '"' + l + '"' : o += "'" + l + "'"; } return o + (n ? "/>" : ">"); } function d(e, t) { return ""; } function g(t, i) { return "property" == e.arrayAccessForm && (n = "_asArray", -1 !== (r = i.toString()).indexOf(n, r.length - n.length)) || 0 == i.toString().indexOf(e.attributePrefix) || 0 == i.toString().indexOf("__") || t[i] instanceof Function; var r, n; } function p(e) { var t = 0; if (e instanceof Object) for (var i in e) { g(e, i) || t++; } return t; } function m(t) { var i = []; if (t instanceof Object) for (var r in t) { -1 == r.toString().indexOf("__") && 0 == r.toString().indexOf(e.attributePrefix) && i.push(r); } return i; } function b(t) { var i, r, n = ""; return t instanceof Object ? n += (r = "", null != (i = t).__cdata && (r += ""), null != i.__text && (e.escapeMode ? r += s(i.__text) : r += i.__text), r) : null != t && (e.escapeMode ? n += s(t) : n += t), n; } function v(e, t) { return "" === e ? t : e + "." + t; } function C(e, t, i, r) { var n = ""; if (0 == e.length) n += f(e, t, i, !0);else for (var o = 0; o < e.length; o++) { n += f(e[o], t, m(e[o]), !1), n += y(e[o], v(r, t)), n += d(e[o], t); } return n; } function y(t, i) { var r, n, o, a = ""; if (p(t) > 0) for (var s in t) { if (!g(t, s) && ("" == i || (r = t, n = s, o = v(i, s), 0 == e.jsonPropertiesFilter.length || "" == o || x(e.jsonPropertiesFilter, r, n, o)))) { var l = t[s], c = m(l); if (null == l || null == l) a += f(l, s, c, !0);else if (l instanceof Object) { if (l instanceof Array) a += C(l, s, c, i);else if (l instanceof Date) a += f(l, s, c, !1), a += l.toISOString(), a += d(l, s);else { p(l) > 0 || null != l.__text || null != l.__cdata ? (a += f(l, s, c, !1), a += y(l, v(i, s)), a += d(l, s)) : a += f(l, s, c, !0); } } else a += f(l, s, c, !1), a += b(l), a += d(l, s); } } return a + b(t); } this.parseXmlString = function (e) { var t, i = window.ActiveXObject || "ActiveXObject" in window; if (void 0 === e) return null; if (window.DOMParser) { var r = new window.DOMParser(), n = null; if (!i) try { n = r.parseFromString("INVALID", "text/xml").getElementsByTagName("parsererror")[0].namespaceURI; } catch (e) { n = null; } try { t = r.parseFromString(e, "text/xml"), null != n && t.getElementsByTagNameNS(n, "parsererror").length > 0 && (t = null); } catch (e) { t = null; } } else 0 == e.indexOf("") + 2)), (t = new ActiveXObject("Microsoft.XMLDOM")).async = "false", t.loadXML(e); return t; }, this.asArray = function (e) { return void 0 === e || null == e ? [] : e instanceof Array ? e : [e]; }, this.toXmlDateTime = function (e) { return e instanceof Date ? e.toISOString() : "number" == typeof e ? new Date(e).toISOString() : null; }, this.asDateTime = function (e) { return "string" == typeof e ? c(e) : e; }, this.xml2json = function (e) { return h(e); }, this.xml_str2json = function (e) { var t = this.parseXmlString(e); return null != t ? this.xml2json(t) : null; }, this.json2xml_str = function (e) { return y(e, ""); }, this.json2xml = function (e) { var t = this.json2xml_str(e); return this.parseXmlString(t); }, this.getVersion = function () { return "1.2.0"; }; }, e.GeoGlobe.Format.X2JS.CLASS_NAME = "GeoGlobe.Format.X2JS"; }(window), GeoGlobe.Query.Service = GeoGlobe.Class4OL({ name: null, url: null, version: null, userid: "test@liferay.com", initialize: function initialize(e, t, i) { this.name = e, this.url = t, GeoGlobe.Util.extend(this, i); }, getCapabilities: function getCapabilities(e, t) {}, isExist: function isExist() {}, failFn: function failFn(e) { alert("服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + this.url + "\n操作类型:" + e); }, _parseToXML: function _parseToXML(e) { var t = e.responseXML; return t && t.documentElement || (t = e.responseText), new GeoGlobe.Format.XML().read(t); }, _checkIsError: function _checkIsError(e) { return new GeoGlobe.Format.XML().read(e).selectNodes("ServiceExceptionReport").length > 0 ? this._parseToJSON(e) : null; }, _isException: function _isException(e) { return !(!e || !e.ServiceExceptionReport); }, _parseToJSON: function _parseToJSON(e) { return new GeoGlobe.Util.Format.XML2JSON().read(e); }, CLASS_NAME: "GeoGlobe.Query.Service" }), GeoGlobe.Query.RouteQuery = GeoGlobe.Class4OL(GeoGlobe.Query.Service, { _format: null, initialize: function initialize(e, t, i) { this.name = e, this.url = t, this._format = new GeoGlobe.Format.RouteQuery(), GeoGlobe.Util.extend(this, i); }, getCapabilities: function getCapabilities(e, t) { var i = this.url; GeoGlobe.loadURL(i, { REQUEST: "GetCapabilities" }, this, e, t); }, findRoute: function findRoute(e, t, i) { var r = { REQUEST: "FindRoute", SERVICE: "ROUTE", VERSION: "1.0.0" }; for (var n in { data: !0, orig: !0, dest: !0 }) { if (!(n in e)) throw new Error("Missing property '" + n + "'"); } r.DATA = e.data, r.ORIG = e.orig, r.DEST = e.dest, null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), null !== e.radius && void 0 !== e.radius && (r.RADIUS = e.radius), null !== e.queryType && void 0 !== e.queryType && (r.QUERYTYPE = e.queryType), null !== e.midpos && void 0 !== e.midpos && (r.MIDPOS = e.midpos), null !== e.avoidPos && void 0 !== e.avoidPos && (r.AVOIDPOS = e.avoidPos), null !== e.filterRoute && void 0 !== e.filterRoute && (r.FILTERROUTE = e.filterRoute), null !== e.resultCount && void 0 !== e.resultCount && (r.RESULTCOUNT = e.resultCount), GeoGlobe.Request.GET({ url: this.url, params: r, async: !1, scope: this, success: function success(e) { var i = this._format.read(e.responseText); if ("string" != typeof i.exceptionInfo) { var r = new GeoGlobe.Query.RoutesResult(i), n = r.routes, o = new GeoGlobe.Format.GeoJSON().write(n), a = new GeoGlobe.Format.JSON(); geojsonRoute = a.read(o), r.geojsonRoute = geojsonRoute, t(r); } else t(i); }, failure: i }); }, getRouteInfo: function getRouteInfo(e, t, i) { var r = { REQUEST: "GetRouteInfo", SERVICE: "ROUTE", VERSION: "1.0.0" }; if (!e.data || !e.id) throw "Error!Not data and id for bus query."; r.DATA = e.data, r.ID = e.id, GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { var i = this._format.read(e.responseText); "string" != typeof i.exceptionInfo ? (i = new GeoGlobe.Query.RouteInfoResult(i), t(i)) : t(i); }, failure: i }); }, CLASS_NAME: "GeoGlobe.Query.RouteQuery" }), GeoGlobe.Format.RouteQuery = new GeoGlobe.Class4OL(GeoGlobe.Format.XML, { initialize: function initialize(e) { GeoGlobe.Format.XML.prototype.initialize.apply(this, [e]); }, read: function read(e) { var t = {}, i = []; if ("string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])), e && 9 == e.nodeType) { i = []; var r = GeoGlobe.Format.XML.prototype.getChildEl.apply(this, [e]).nodeName; if ("ServiceExceptionReport" === r) { var n = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "ServiceException")[0]; return { exceptionInfo: GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [n]), exceptionCode: n.getAttribute("code") }; } for (var o = e.getElementsByTagName(r)[0].childNodes, a = 0; a < o.length; a++) { var s = o[a], x = s.nodeName; this._resultPaser[r][x] && this._resultPaser[r][x].apply(this, [s, i]); } } return "routeinfo" === (r = r.toLowerCase()) ? t.items = i : t[r] = i, t; }, _resultPaser: { RouteInfo: { Item: function Item(e, t) { var i = e.childNodes, r = e.getAttribute("id"), n = {}; r && (n = { id: r }); for (var o = 0; o < i.length; o++) { var a = (e = i[o]).nodeName; this._resultPaser.RouteInfo[a] && this._resultPaser.RouteInfo[a].apply(this, [e, n]); } t.push(n); }, Name: function Name(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); i && (t.name = i); }, Toll: function Toll(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.toll = i; }, Level: function Level(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.level = i; }, Length: function Length(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.length = i; }, Geometry: function Geometry(e, t) { var i = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "LineString")[0]; if (i) { var r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [i]); if ("string" == typeof r && r.length > 0) { for (var n = r.split(" "), o = [], a = 0, s = n.length; a < s; a++) { var x = n[a].split(","); o.push(new GeoGlobe.Geometry.Point(new Number(x[0]), new Number(x[1]))); } var l = new GeoGlobe.Geometry.LineString(o); t.geometry = l; } } }, Directions: function Directions(e, t) { t.directions = []; for (var i = e.childNodes, r = 0; r < i.length; r++) { var n = (e = i[r]).nodeName; this._resultPaser.RouteInfo[n] && this._resultPaser.RouteInfo[n](e, t.directions); } }, Direction: function Direction(e, t) { var i = {}, r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); i.direction = r, i.nextID = e.getAttribute("nextID"), i.nextItem = e.getAttribute("nextItem"), t.push(i); } }, Routes: { Route: function Route(e, t) { for (var i = e.childNodes, r = {}, n = 0; n < i.length; n++) { var o = (e = i[n]).nodeName; this._resultPaser.Routes[o] && this._resultPaser.Routes[o].apply(this, [e, r]); } t.push(r); }, Item: function Item(e, t) { GeoGlobe.Util.isArray(t.items) || (t.items = []); var i = e.childNodes, r = e.getAttribute("id"), n = {}; r && (n = { id: r }); for (var o = 0; o < i.length; o++) { var a = (e = i[o]).nodeName; this._resultPaser.Routes[a] && this._resultPaser.Routes[a].apply(this, [e, n]); } t.items.push(n); }, Distance: function Distance(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.distance = i; }, Name: function Name(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); i && (t.name = i); }, Length: function Length(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.length = i; }, Direction: function Direction(e, t) { var i = {}, r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); i.direction = r, i.nextID = e.getAttribute("nextID"), i.nextItem = e.getAttribute("nextItem"), t.direction = i; }, Geometry: function Geometry(e, t) { var i = GeoGlobe.Format.XML.prototype.getElementsByTagNameNS(e, "*", "LineString")[0]; if (i) { var r = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [i]); if ("string" == typeof r && r.length > 0) { for (var n = r.split(" "), o = [], a = 0, s = n.length; a < s; a++) { var x = n[a].split(","); o.push(new GeoGlobe.Geometry.Point(new Number(x[0]), new Number(x[1]))); } var l = new GeoGlobe.Geometry.LineString(o); t.geometry = l; } } }, Duration: function Duration(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.duration = i; }, BoundingBox: function BoundingBox(e, t) { for (var i = e.childNodes, r = 0; r < i.length; r++) { var n = (e = i[r]).nodeName; this._resultPaser.Routes[n] && this._resultPaser.Routes[n].apply(this, [e, t]); } }, LowerCorner: function LowerCorner(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]).replace(/^\s*|\s*$/g, ""), r = (i = i.replace(/\s*,\s*/g, ",")).split(","); t.left = r[0], t.bottom = r[1]; }, UpperCorner: function UpperCorner(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]).replace(/^\s*|\s*$/g, ""), r = (i = i.replace(/\s*,\s*/g, ",")).split(","); t.right = r[0], t.top = r[1], t.bounds = new GeoGlobe.LngLatBounds(new GeoGlobe.LngLat(t.left, t.bottom), new GeoGlobe.LngLat(t.right, t.top)), delete t.left, delete t.bottom, delete t.right, delete t.top; }, Count: function Count(e, t) { var i = GeoGlobe.Format.XML.prototype.getChildValue.apply(this, [e]); t.count = i; } } } }), GeoGlobe.Query.RoutesResult = GeoGlobe.Class4OL({ data: null, routes: null, initialize: function initialize(e) { this.routes = []; var t = null; if (e && e.routes && (this.data = e, t = e.routes), GeoGlobe.Util.isArray(t)) for (var i = 0, r = t.length; i < r; i++) { var n = new GeoGlobe.Query.RouteResult(); for (var o in t[i]) { n[o] = t[i][o]; } this.routes.push(n); } }, CLASS_NAME: "GeoGlobe.Query.RoutesResult" }), GeoGlobe.Query.RouteResult = GeoGlobe.Class4OL({ bounds: null, count: null, distance: null, duration: null, geometry: null, items: null, initialize: function initialize() {}, CLASS_NAME: "GeoGlobe.Query.RouteResult" }), GeoGlobe.Query.RouteInfoResult = GeoGlobe.Class4OL({ data: null, items: null, initialize: function initialize(e) { if (this.items = [], e && e.items) { this.data = e; var t = e.items; } if (GeoGlobe.Util.isArray(t)) for (var i = 0, r = t.length; i < r; i++) { var n = new GeoGlobe.Query.RouteInfoItem(); for (var o in t[i]) { n[o] = t[i][o]; } this.items.push(n); } }, CLASS_NAME: "GeoGlobe.Query.RouteInfoResult" }), GeoGlobe.Query.RouteInfoItem = GeoGlobe.Class4OL({ id: null, name: null, toll: null, length: null, geometry: null, level: null, directions: null, initialize: function initialize() {}, CLASS_NAME: "GeoGlobe.Query.RouteInfoItem" }), GeoGlobe.Query.BusQuery = GeoGlobe.Class4OL(GeoGlobe.Query.Service, { networkName: null, transferScheme: null, initialize: function initialize(e, t, i) { this.name = e, this.url = t, GeoGlobe.Util.extend(this, i); }, getCapabilities: function getCapabilities(e, t) { "function" != typeof t && (t = function t() { alert("公交服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + this.url + "\n操作类型:GetCapabilities"); }), GeoGlobe.Request.GET({ url: this.url, params: { REQUEST: "GetCapabilities" }, scope: this, async: !1, success: function success(t) { "function" == typeof e && e(t); }, failure: t }); }, isExist: function isExist() { var e = !1, t = this.url; return GeoGlobe.Request.GET({ url: t, scope: this, async: !1, success: function success() { e = !0; } }), e; }, queryStation: function queryStation(e, t, i) { var r = { REQUEST: "QueryStation" }; if (!e.networkName) throw "Error!Not network name for bus query."; r.NETWORKNAME = e.networkName, null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId), null !== e.stationName && void 0 !== e.stationName && (r.STATIONNAME = e.stationName), null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId), null !== e.lineName && void 0 !== e.lineName && (r.LINENAME = e.lineName), null !== e.coordinate && void 0 !== e.coordinate && (r.COORDINATE = e.coordinate), null !== e.bbox && void 0 !== e.bbox && (r.BOX = e.bbox), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { var i = this._parserFeatures(e.responseText); t(i); }, failure: i }); }, queryLine: function queryLine(e, t, i) { var r = { REQUEST: "QueryLine" }; if (!e.networkName) throw "Error!Not network name for bus query."; r.NETWORKNAME = e.networkName, null !== e.lineName && void 0 !== e.lineName && (r.LINENAME = e.lineName), null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId), null !== e.stationName && void 0 !== e.stationName && (r.STATIONNAME = e.stationName), null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId), null !== e.coordinate && void 0 !== e.coordinate && (r.COORDINATE = e.coordinate), null !== e.bbox && void 0 !== e.bbox && (r.BOX = e.bbox), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { var i = this._parserFeatures(e.responseText); t(i); }, failure: i }); }, queryChange: function queryChange(e, t, i) { var r = { REQUEST: "QueryChange" }; if (!e.networkName) throw "Error!Not network name for bus query."; r.NETWORKNAME = e.networkName, null !== e.startStationId && void 0 !== e.startStationId && (r.STARTSTATIONID = e.startStationId), null !== e.endStationId && void 0 !== e.endStationId && (r.ENDSTATIONID = e.endStationId), null !== e.orderType && void 0 !== e.orderType && (r.ORDERTYPE = e.orderType), null !== e.startCoordinate && void 0 !== e.startCoordinate && (r.STARTCOORDINATE = e.startCoordinate), null !== e.endCoordinate && void 0 !== e.endCoordinate && (r.ENDCOORDINATE = e.endCoordinate), null !== e.maxDepth && void 0 !== e.maxDepth && (r.MAXDEPTH = e.maxDepth), null !== e.maxCost && void 0 !== e.maxCost && (r.MAXCOST = e.maxCost), null !== e.maxSolutions && void 0 !== e.maxSolutions && (r.MAXSOLUTIONS = e.maxSolutions), null !== e.ChangeCount && void 0 !== e.ChangeCount && (r.CHANGECOUNT = e.ChangeCount), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { for (var i = [], r = (e.responseXML.documentElement ? e.responseXML : format.read(e.responseText)).selectNodes("/Features/FeatureCollection"), n = new GeoGlobe.Format.XML(), o = 0; o < r.length; o++) { var a = r[o], s = this._getAttibutionOfNode(a, ["cost", "price", "walkingDistance", "transferTimes"]), x = n.write(r[o]), l = this._parserFeatures(x); l.attributes = s; for (var c = a.selectNodes("featureMember"), u = 0; u < c.length; u++) { var h = c[u].selectNodes("Road"); l[u].isOnFoot = h[0].getAttribute("isOnFoot"); } i.push(l); } t(i); }, failure: i }); }, _getAttibutionOfNode: function _getAttibutionOfNode(e, t) { var i = {}; if (e.tagName) for (var r = 0; r < t.length; r++) { i[t[r]] = e.getAttribute(t[r]); } return i; }, _getGeometryType: function _getGeometryType(e) { return "polygon"; }, _pagingToString: function _pagingToString(e, t) { return "" + (t = t || this.maxPerPage) + "" + (e = e || 1) + ""; }, _orderByToString: function _orderByToString(e, t) { return e ? "" + e + "" : ""; }, _geometryToString: function _geometryToString(e) { return '20,30 21,41 52,42 53,33 20,30'; }, _stringToGeometry: function _stringToGeometry(e) { return GeoGlobe.Geometry.Polygon.createRegularPolygon(new GeoGlobe.Geometry.Point(360 * Math.random() - 160, 90 * Math.random() - 70), Math.round(20 * Math.random()), Math.round(10 * Math.random())); }, _parserFeatures: function _parserFeatures(e) { var t = new GeoGlobe.Format.GML(); return t.gmlns = "*", t.read(e); }, _parserResponseText: function _parserResponseText(e, t) { if (t) { var i = new RegExp("<" + t + ">", ["g"]), r = new RegExp("", ["g"]); e = (e = e.replace(i, "<" + t + ">")).replace(r, ""); } return (e = (e = (e = e.replace(//g, "")).replace(/<\/gml:LineString>/g, "")).replace(//g, "")).replace(/<\/gml:Point>/g, ""); }, _parserFeaturesNew: function _parserFeaturesNew(e, t) { var i = new GeoGlobe.Format.GML(); return i.gmlns = "*", t && (i.featureName = t), i.read(e); }, _parserSuccessResult: function _parserSuccessResult(e) { return new GeoGlobe.Util.Format.XML2JSON().read(e); }, _parseToXML: function _parseToXML(e) { var t = e.responseXML; return t && t.documentElement || (t = e.responseText), new GeoGlobe.Format.XML().read(t); }, _parseToJSON: function _parseToJSON(e) { return new GeoGlobe.Format.XML2JSON().read(e); }, queryTransferScheme: function queryTransferScheme(e, t, i) { var r = { request: "QueryTransferScheme", SERVICE: "BUS", VERSION: "1.0.0" }; for (var n in { networkName: !0, transferMode: !0, startInput: !0, endInput: !0 }) { if (!(n in e)) throw new Error("缺少必选属性:'" + n + "'。"); } r.networkName = e.networkName, null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), null !== e.transferMode && void 0 !== e.transferMode && (r.TRANSFERMODE = e.transferMode), null !== e.startInput && void 0 !== e.startInput && (r.STARTINPUT = e.startInput), null !== e.endInput && void 0 !== e.endInput && (r.ENDINPUT = e.endInput), null !== e.inputMode && void 0 !== e.inputMode && (r.INPUTMODEL = e.inputMode), null !== e.ExistGoTime && void 0 !== e.ExistGoTime && (r.EXISTGOTIME = e.ExistGoTime), null !== e.StartTime && void 0 !== e.StartTime && (r.STARTTIME = e.StartTime), null !== e.MaxSearchDistance && void 0 !== e.MaxSearchDistance && (r.MAXSEARCHDISTANCE = e.MaxSearchDistance), null !== e.PrioritySubset && void 0 !== e.PrioritySubset && (r.PRIORITYSUBSET = e.PrioritySubset), null !== e.ExistAbsolutePriority && void 0 !== e.ExistAbsolutePriority && (r.EXISTABSOLUTEPRIORITY = e.ExistAbsolutePriority), null !== e.LagSubset && void 0 !== e.LagSubset && (r.LAGSUBSET = e.LagSubset), null !== e.OutputPage && void 0 !== e.OutputPage && (r.OUTPUTPAGE = e.OutputPage), null !== e.PageSize && void 0 !== e.PageSize && (r.PAGESIZE = e.PageSize), null !== e.ChangeCount && void 0 !== e.ChangeCount && (r.CHANGECOUNT = e.ChangeCount), GeoGlobe.Request.GET({ url: this.url, params: r, async: !1, scope: this, success: GeoGlobe.Function.bind(function (e) { var i = e.responseXML, r = { startPoint: [], transferScheme: [], endPoint: [] }; if (!i) return t(r), r; var n = new GeoGlobe.Format.XML(), o = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage"); if (o && o.length > 0) return t(r), r; var a = i.selectNodes("/QueryTransferSchemeResponse"), s = n.write(a[0]), x = this._parseToJSON(s), l = x.QueryTransferSchemeResponse.StartPoint; GeoGlobe.Util.isArray(l) || (l = [l]); var c = x.QueryTransferSchemeResponse.EndPoint; GeoGlobe.Util.isArray(c) || (c = [c]); var u = x.QueryTransferSchemeResponse.TransferScheme, h = this._getPointGeometryByGMLPointStr(l[0].Geometry.gml_Point), f = new GeoGlobe.Feature(h), d = this._getPointGeometryByGMLPointStr(c[0].Geometry.gml_Point), g = new GeoGlobe.Feature(d), p = this._parserTransferScheme(u); t(r = { startPoint: f, transferScheme: p, endPoint: g }); }, this), failure: i }); }, _parserTransferScheme: function _parserTransferScheme(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = new Array(), i = 0; i < e.length; i++) { var r = e[i], n = this._parserSectionInfo(r.SectionInfo), o = this._parserSectionRouting(r.SectionRouting), a = { Cost: e[i].Cost, SectionInfo: n, SectionRouting: o, TotalDistance: e[i].TotalDistance, TransferCount: e[i].TransferCount }; t.push(a); } return t; }, _parserSectionInfo: function _parserSectionInfo(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = new Array(), i = 0; i < e.length; i++) { var r = this._getPointFeatureByObj(e[i].FromStation); e[i].FromStation.PassagewayRouting && ((n = this._getPointFeatureByObj(e[i].FromStation.PassagewayRouting)).SectionRouting && (n.attributes.SectionRouting = n.data.SectionRouting = this._parserSectionRouting(n.SectionRouting)), r.attributes.PassagewayRouting = r.data.PassagewayRouting = n); var n, o = this._getPointFeatureByObj(e[i].ToStation); e[i].ToStation.PassagewayRouting && ((n = this._getPointFeatureByObj(e[i].ToStation.PassagewayRouting)).SectionRouting && (n.attributes.SectionRouting = n.data.SectionRouting = this._parserSectionRouting(n.SectionRouting)), o.attributes.PassagewayRouting = o.data.PassagewayRouting = n); var a = this._parserSectionLines(e[i].SectionLines.SectionLine), s = this._parserSectionRouting(e[i].SectionRouting); t.push({ FromStation: r, SectionLine: a, ToStation: o, SectionRouting: s }); } return t; }, _parserSectionLines: function _parserSectionLines(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = new Array(), i = 0; i < e.length; i++) { var r = new GeoGlobe.Feature(null, e[i]); t.push(r); } return t; }, _parserSectionRouting: function _parserSectionRouting(e) { GeoGlobe.Util.isArray(e) || (e = [e]); for (var t = new Array(), i = 0; i < e.length; i++) { t.push(e[i]); } return t; }, _getPointGeometryByGMLPointStr: function _getPointGeometryByGMLPointStr(e) { var t = e.split(","); return new GeoGlobe.Geometry.Point(_babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t[0]), _babel_runtime_corejs2_core_js_parse_float__WEBPACK_IMPORTED_MODULE_12___default()(t[1])); }, _getPointFeatureByObj: function _getPointFeatureByObj(e) { var t = null; return e.Geometry && e.Geometry.gml_Point && (t = this._getPointGeometryByGMLPointStr(e.Geometry.gml_Point)), new GeoGlobe.Feature(t, e); }, _getLineGeometryByGMLLineStr: function _getLineGeometryByGMLLineStr(e) { if (!e) return null; for (var t = e.split(" "), i = [], r = 0, n = t.length; r < n; r++) { var o = this._getPointGeometryByGMLPointStr(t[r]); i.push(o); } return new GeoGlobe.Geometry.LineString(i); }, queryTransferGeometry: function queryTransferGeometry(e, t, i) { var r = { request: "QueryTransferGeometry", SERVICE: "BUS", VERSION: "1.0.0" }; if (!e.networkName) throw "Error!Not network name for bus query."; if (null === e.parameterInfo || void 0 === e.parameterInfo || "" === e.parameterInfo) throw "Error!Not parameterInfo for bus query."; r.networkName = e.networkName, r.PARAMETERINFO = ""; for (var n = 0; n < e.parameterInfo.length; n++) { r.PARAMETERINFO += e.parameterInfo[n].toString(), n != e.parameterInfo.length - 1 && (r.PARAMETERINFO += "_"); } null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, async: !1, success: GeoGlobe.Function.bind(function (e) { var i = this._parseQueryTransferGeometryResult(e); t(i); }, this), failure: i }); }, _parseQueryTransferGeometryResult: function _parseQueryTransferGeometryResult(e) { resXML = e.responseXML; var t = []; if (!resXML) return t; var i = new GeoGlobe.Format.XML(), r = resXML.selectNodes("/QueryTransferGeometryResponse"); if (r && r.length <= 0) return t; var n = i.write(r[0]), o = this._parseToJSON(n).QueryTransferGeometryResponse.SectionGeometry; if (o) { GeoGlobe.Util.isArray(o) || (o = [o]); for (var a = 0; a < o.length; a++) { var s = this._getLineGeometryByGMLLineStr(o[a].Geometry.gml_LineString), x = new GeoGlobe.Feature(s, { ID: o[a].ID }); t.push(x); } } return t; }, queryKeyWord: function queryKeyWord(e, t, i) { var r = { REQUEST: "QueryKeyWord", SERVICE: "BUS", VERSION: "1.0.0", SEARCHTYPE: 2 }; if (!e.networkName) throw "Error!Not network name for bus query."; if (null === e.keyWord || void 0 === e.keyWord || "" === e.keyWord) throw "Error!Not keyWord for bus query."; r.NETWORKNAME = e.networkName, r.KEYWORD = e.keyWord, null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), null !== e.searchType && void 0 !== e.searchType && (r.SEARCHTYPE = e.searchType), null !== e.keyWordType && void 0 !== e.keyWordType && (r.KEYWORDTYPE = e.keyWordType), GeoGlobe.Request.GET({ url: this.url, params: r, async: !1, scope: this, success: GeoGlobe.Function.bind(function (i) { var r = this._parserQueryKeyWordResult(i, e.keyWordType); t(r); }, this), failure: i }); }, _parserQueryKeyWordResult: function _parserQueryKeyWordResult(e, t) { var i = e.responseXML, r = []; if (!i) return r; var n = new GeoGlobe.Format.XML(), o = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage"); if (o && o.length > 0) return r; var a = i.selectNodes("/QueryKeyWordResponse"), s = n.write(a[0]), x = this._parseToJSON(s); if (1 === t) { var l = x.QueryKeyWordResponse.Stations.Station; l && !GeoGlobe.Util.isArray(l) && (l = [l]); for (var c = 0; c < l.length; c++) { var u = this._getPointFeatureByObj(l[c]); r.push(u); } } else if (2 === t) { var h = x.QueryKeyWordResponse.Passageways.Passageway; for (h && !GeoGlobe.Util.isArray(h) && (h = [h]), c = 0; c < h.length; c++) { u = this._getPointFeatureByObj(h[c]), r.push(u); } } else { var f = x.QueryKeyWordResponse.Lines.Line; for (f && !GeoGlobe.Util.isArray(f) && (f = [f]), c = 0; c < f.length; c++) { var d = new GeoGlobe.Feature(null, f[c]); r.push(d); } } return r; }, queryStationInfo: function queryStationInfo(e, t, i) { var r = { REQUEST: "QueryStationInfo", SERVICE: "BUS", VERSION: "1.0.0" }; if (!e.networkName) throw "Error!Not network name for bus query."; if (null === e.stationId || void 0 === e.stationId || "" === e.stationId) throw "Error!Not stationId for bus query."; r.NETWORKNAME = e.networkName, null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), null !== e.stationId && void 0 !== e.stationId && (r.STATIONID = e.stationId), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { if (resXML = e.responseXML, resXML) { for (var i = new GeoGlobe.Format.XML(), r = this._parserQueryStationInfoNode("Lines", i, resXML), n = this._parserQueryStationInfoNode("Passageways", i, resXML), o = new Array(), a = 0; a < n.length; a++) { var s = this._getPointFeatureByObj(n[a]); o.push(s); } t({ lines: r, passageways: o }); } else t({ lines: [], passageways: [] }); }, failure: i }); }, _parserQueryStationInfoNode: function _parserQueryStationInfoNode(e, t, i) { switch (e) { case "Lines": var r = i.selectNodes("/QueryStationInfoResponse/StationInfo/Lines"), n = new Array(); if (r.length > 0) { var o = t.write(r[0]); n = this._parseToJSON(o).Lines.Line, GeoGlobe.Util.isArray(n) || (n = [n]); } return n; case "Passageways": r = i.selectNodes("/QueryStationInfoResponse"); var a = new Array(); if (r.length > 0) { o = t.write(r[0]); var s = this._parseToJSON(o).QueryStationInfoResponse.StationInfo.Passageways; s && (a = s.Passageway, GeoGlobe.Util.isArray(a) || (a = [a])); } return a; default: return []; } }, queryLineInfo: function queryLineInfo(e, t, i) { var r = { REQUEST: "QueryLineInfo", SERVICE: "BUS", VERSION: "1.0.0" }; if (!e.networkName) throw "Error!Not network name for bus query."; if (null === e.lineId || void 0 === e.lineId || "" === e.lineId) throw "Error!Not lineId for bus query."; r.NETWORKNAME = e.networkName, null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), null !== e.lineId && void 0 !== e.lineId && (r.LINEID = e.lineId), null !== e.startNodeNumber && void 0 !== e.startNodeNumber && (r.STARTNODENUMBER = e.startNodeNumber), null !== e.endNodeNumber && void 0 !== e.endNodeNumber && (r.ENDNODENUMBER = e.endNodeNumber), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { var i = [], r = null; if (e.responseXML) { var n = (r = e.responseXML).selectNodes("/ServiceExceptionReport/ServiceExceptionMessage"); if (n && n.length > 0) return void t(i); for (var o = new GeoGlobe.Format.XML(), a = this._parserQueryLineInfoNode("Line", o, r), s = new Array(), x = 0; x < a.length; x++) { for (var l = new Array(), c = 0; c < a[x].VIAStations.Station.length; c++) { var u = this._getPointFeatureByObj(a[x].VIAStations.Station[c]); l.push(u); } a[x].Stations = l; var h = this._getLineGeometryByGMLLineStr(a[x].Geometry.gml_LineString), f = new GeoGlobe.Feature(h, a[x]); s.push(f); } i = s; } t(i); }, failure: i }); }, _parserQueryLineInfoNode: function _parserQueryLineInfoNode(e, t, i) { switch (e) { case "Line": var r = i.selectNodes("/QueryLineInfoResponse"), n = t.write(r[0]), o = this._parseToJSON(n).QueryLineInfoResponse.Line; return new Array(), o && !GeoGlobe.Util.isArray(o) ? [o] : o; default: return []; } }, queryPassagewayInfo: function queryPassagewayInfo(e, t, i) { var r = { REQUEST: "QueryPassagewayInfo", SERVICE: "BUS", VERSION: "1.0.0" }; if (!e.networkName) throw "Error!Not network name for bus query."; if (null === e.passagewayId || void 0 === e.passagewayId || "" === e.passagewayId) throw "Error!Not passagewayId for bus query."; r.NETWORKNAME = e.networkName, null !== e.service && void 0 !== e.service && (r.SERVICE = e.service), null !== e.version && void 0 !== e.version && (r.VERSION = e.version), null !== e.passagewayId && void 0 !== e.passagewayId && (r.PASSAGEWAYID = e.passagewayId), GeoGlobe.Request.GET({ url: this.url, params: r, scope: this, success: function success(e) { var i = e.responseXML, r = []; if (!i) return t(r), r; new GeoGlobe.Format.XML(); var n = i.selectNodes("/ServiceExceptionReport/ServiceExceptionMessage"); if (n && n.length > 0) return t(r), r; var o = this._parserResponseText(e.responseText); r = this._parserFeaturesNew(o, "Stations"), t(r); } }); }, _queryByName: function _queryByName(e, t, i) { var r = this, n = null; return r.queryKeyWord({ networkName: r.networkName, keyWord: e, keyWordType: 1, SEARCHTYPE: 2 }, function (e) { if (0 != e.length) { var o = e[0].geometry.x + " " + e[0].geometry.y; r.queryKeyWord({ networkName: r.networkName, keyWord: t, keyWordType: 1, SEARCHTYPE: 2 }, function (e) { if (0 != e.length) { var t = e[0].geometry.x + " " + e[0].geometry.y; n = r._queryTransferScheme(o, t, i); } else alert("没有查询到终点"); }); } else alert("没有查询到起点"); }), n; }, queryBus: function queryBus(e, t, i) { var r = this, n = null; return r.getCapabilities(GeoGlobe.Function.bind(function (o) { var a = o.responseXML; a && a.documentElement || (a = o.responseText); var s = new GeoGlobe.Format.BusCapabilities().read(a); if (s.capability) { var x = s.capability.networks[0]; if (r.networkName = x, "string" == typeof e && "string" == typeof t) n = r._queryByName(e, t, i);else { var l = e.lng + " " + e.lat, c = t.lng + " " + t.lat; n = r._queryTransferScheme(l, c, i); } } else alert("公交服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + url + "\n操作类型:GetCapabilities"); }, this), function () { alert("公交服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + url + "\n操作类型:GetCapabilities"); }), { flag: !!n, featuresInfo: n }; }, failFn: function failFn() { alert("公交服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + url + "\n操作类型:GetCapabilities"); }, _queryTransferScheme: function _queryTransferScheme(e, t, i) { return this.queryTransferScheme({ networkName: this.networkName, transferMode: i || 0, inputMode: 0, startInput: e, endInput: t }, function (e) { featuresInfo = e; }), this.transferScheme = featuresInfo.transferScheme, featuresInfo; }, queryBusTransferSchemeByIndex: function queryBusTransferSchemeByIndex(e) { var t = null, r = _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(e), n = this.transferScheme[r].SectionInfo, o = new Array(), a = new Array(); for (i = 0; i < n.length; i++) { var s = n[i].SectionLine[0], x = s.data.ID, l = s.data.FromOrdinal, c = s.data.ToOrdinal; o.push([0, x, l, c]), a.push(n[i].FromStation), a.push(n[i].ToStation); } return this.queryTransferGeometry({ networkName: this.networkName, parameterInfo: o }, function (e) { var i = e, r = new GeoGlobe.Format.GeoJSON(), n = r.write(i), o = r.write(a), s = new GeoGlobe.Format.JSON(), x = s.read(n), l = s.read(o); t = { lineFeatures: i, geojsonRoute: x, stationFeatures: a, geojsonStation: l }; }), t; }, CLASS_NAME: "GeoGlobe.Query.BusQuery" }), document.implementation.hasFeature("XPath", "3.0") && (XMLDocument.prototype.selectNodes = function (e, t) { t || (t = this); for (var i = this.evaluate(e, t, function (e) { return { csw: "http://www.opengis.net/cat/csw", smmd: "http://data.sbsm.gov.cn/smmd/2007", wfs: "http://www.opengis.net/wfs", gml: "http://www.opengis.net/gml", geoglobe: "http://www.geostar.com.cn/geoglobe" }[e] || null; }, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null), r = [], n = 0; n < i.snapshotLength; n++) { r[n] = i.snapshotItem(n); } return r; }, Element.prototype.selectNodes = function (e) { if (this.ownerDocument.selectNodes) return this.ownerDocument.selectNodes(e, this); throw "For XML Elements Only"; }), document.implementation.hasFeature("XPath", "3.0") && (XMLDocument.prototype.selectSingleNode = function (e, t) { t || (t = this); var i = this.selectNodes(e, t); return i.length > 0 ? i[0] : null; }, Element.prototype.selectSingleNode = function (e) { if (this.ownerDocument.selectSingleNode) return this.ownerDocument.selectSingleNode(e, this); throw "For XML Elements Only"; }), GeoGlobe.Query.WFSQuery = GeoGlobe.Class4OL({ url: null, version: "1.0.0", featureNS: null, isReverse: !1, featurePrefix: "", featureType: "", maxFeatures: 10, filter: null, geometryName: "the_geom", protocol: null, format: null, formatOptions: null, isSeparate: !1, srsName: "EPSG:4326", time: null, userecent: !0, sortBy: null, groupBy: null, resultType: "Results", startPosition: null, initialize: function initialize(e, t, i) { this.url = e, this.featureType = t; var r = null; i && (!0 === i.isReverse || !1 === i.isReverse ? (this.isReverse = i.isReverse, r = !i.isReverse) : r = !this.isReverse, i.format ? (i.format instanceof GeoGlobe.Format.GML.v2 || i.format instanceof GeoGlobe.Format.GML.v3) && i.format.setFeatureType_(t) : this.format = new GeoGlobe.Format.GML({ xy: r })), GeoGlobe.Util.extend(this, i); }, query: function query(e, t, i) { this.protocol = new GeoGlobe.Protocol.WFS({ readFormat: this.format, formatOptions: this.formatOptions, propertyNames: this.propertyNames, maxFeatures: this.maxFeatures, featurePrefix: this.featurePrefix, featureNS: this.featureNS, url: this.url, version: this.version, geometryName: this.geometryName, featureType: this.featureType, time: this.time, userecent: this.userecent, srsName: this.srsName }); var r = e || this.filter, n = t || this.successFn, o = i || this.failFn, a = GeoGlobe.Function.bind(function (e) { if (e.success()) { var t = e.features; this.isSeparate && (t = this._separateFeatures(t)); var i = this._read_trueName(e); i && (t.trueNames = i); var r = new GeoGlobe.Format.GeoJSON().write(t), a = new GeoGlobe.Format.JSON().read(r); n({ features: t, geojson: a }); } else o(); }, this); this.response = this.protocol.read({ sortBy: this.sortBy, filter: r, callback: a }); }, queryPage: function queryPage(e, t, i, r) { var n = r && r.perPageNumber || 15, o = ((r && r.pageNumber || 1) - 1) * n + 1; this.protocol = new GeoGlobe.Protocol.WFS({ readFormat: this.format, multi: !0, formatOptions: this.formatOptions, propertyNames: this.propertyNames, maxFeatures: n, startPosition: o, featurePrefix: this.featurePrefix, url: this.url, featureNS: this.featureNS, version: this.version, geometryName: this.geometryName, featureType: this.featureType, time: this.time, userecent: this.userecent, srsName: this.srsName }); var a = e || this.filter, s = t || this.successFn, x = i || this.failFn, l = GeoGlobe.Function.bind(function (e) { if (e.success()) { var t = e.features; this.isSeparate && (t = this._separateFeatures(t)); var i = this._read_trueName(e); t.trueNames = i; var r = new GeoGlobe.Format.GeoJSON().write(t), n = new GeoGlobe.Format.JSON().read(r); s({ features: t, geojson: n }); } else x(); }, this); this.response = this.protocol.read({ sortBy: this.sortBy, filter: a, callback: l }); }, queryTotalNumber: function queryTotalNumber(e, t, i) { var r = new GeoGlobe.Format.WFSHits(); this.protocol = new GeoGlobe.Protocol.WFS({ readFormat: r, propertyNames: this.propertyNames, resultType: "hits", maxFeatures: this.maxFeatures, featurePrefix: this.featurePrefix, featureNS: this.featureNS, url: this.url, version: this.version, geometryName: this.geometryName, featureType: this.featureType, time: this.time, userecent: this.userecent }); var n = e || this.filter, o = t || this.successFn, a = i || this.failFn, s = GeoGlobe.Function.bind(function (e) { if (e.success()) { var t = e.features; o(t); } else a(); }, this); this.response = this.protocol.read({ filter: n, callback: s }); }, _read_trueName: function _read_trueName(e) { var t = []; if (e.priv && e.priv.responseText) { if (null == this.format) return null; var i = this.format.getXMLDoc().getElementsByTagName("trueName"); if (null == i || 0 == i.length) return null; for (var r = 0; r < i.length; r++) { t.push(i[r].text); } return t; } return t; }, getBufferRegion: function getBufferRegion(e, t, i) { var r = this._getFeaturesCenter(e); switch (i) { case "km": t *= 1e3; case "m": t = this._meterToDegree(t, r); } return GeoGlobe.Geometry.Polygon.createRegularPolygon(e.geometry, t, 40, 360); }, _getFeaturesCenter: function _getFeaturesCenter(e) { return this._getFeaturesExtent(e).getCenterLonLat(); }, _getFeaturesExtent: function _getFeaturesExtent(e) { GeoGlobe.Util.isArray(e) || (e = [e]); var t = null; if (e && e.length > 0) { t = new GeoGlobe.LngLatBounds(); for (var i = null, r = 0, n = e.length; r < n; r++) { (i = e[r].geometry) && t.extend(i.getBounds()); } } return t; }, _meterToDegree: function _meterToDegree(e, t) { var i = t.lat; return e * (899e-8 / Math.cos(GeoGlobe.Util.rad(i))); }, pointQuery: function pointQuery(e, t, i, r, n) { t = t || 0, i = i || "degree"; var o = new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.DWITHIN, property: this.geometryName, distance: t, distanceUnits: i, value: e }); this.query(o, r, n); }, pathQuery: function pathQuery(e, t, i, r, n) { t = t || 0, i = i || "degree"; var o = new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.DWITHIN, property: this.geometryName, distance: t, distanceUnits: i, value: e }); this.query(o, r, n); }, polygonQuery: function polygonQuery(e, t, i, r) { var n = t ? GeoGlobe.Filter.Spatial.CONTAINS : GeoGlobe.Filter.Spatial.INTERSECTS, o = new GeoGlobe.Filter.Spatial({ type: n, property: this.geometryName, value: e }); this.query(o, i, r); }, bboxQuery: function bboxQuery(e, t, i) { var r = new GeoGlobe.Filter.Spatial({ type: GeoGlobe.Filter.Spatial.BBOX, property: this.geometryName, value: e }); this.query(r, t, i); }, attributeQuery: function attributeQuery(e, t, i, r, n, o) { var a = r && r.matchCase, s = r ? r.lowerBoundary : null, x = r ? r.upperBoundary : null, l = new GeoGlobe.Filter.Comparison({ type: e, property: t, value: i, matchCase: a, lowerBoundary: s, upperBoundary: x }); this.query(l, n, o); }, statisticsQuery: function statisticsQuery(e, t, i) { this.protocol = new GeoGlobe.Protocol.WFS({ readFormat: this.format, formatOptions: this.formatOptions, propertyNames: this.propertyNames, resultType: "statistics", maxFeatures: this.maxFeatures, featurePrefix: this.featurePrefix, featureNS: this.featureNS, url: this.url, version: this.version, geometryName: this.geometryName, featureType: this.featureType, time: this.time, userecent: this.userecent }); var r = e || this.filter, n = t || this.successFn, o = i || this.failFn, a = GeoGlobe.Function.bind(function (e) { if (e.success()) { try { var t = e.priv.responseXML, i = this._analysis_StatisticsResult(t); } catch (t) { return void n(e.priv.responseText); } n(i); } else o(); }, this); this.response = this.protocol.read({ sortBy: this.sortBy, groupBy: this.groupBy, filter: r, callback: a }); }, _analysis_StatisticsResult: function _analysis_StatisticsResult(e) { var t = {}, i = e.documentElement.firstChild.childNodes; return 0 < i.length && (t.layers = this._analysis_StatisticsResult_results(i)), t; }, _analysis_StatisticsResult_results: function _analysis_StatisticsResult_results(e) { for (var t = [], i = 0; i < e.length; i++) { for (var r = {}, n = [], o = e[i].childNodes, a = 0; a < o.length; a++) { var s = {}; s.layerName = o[a].parentNode.nodeName, "Microsoft Internet Explorer" == navigator.appName ? s.result = this._analysis_StatisticsResult_results_result_IE(o[a]) : s.result = this._analysis_StatisticsResult_results_result_google(o[a]), n.push(s); } r.results = n, t.push(r); } return t; }, _analysis_StatisticsResult_results_result_IE: function _analysis_StatisticsResult_results_result_IE(e) { var t = {}, i = 0; "Key" == e.childNodes[0].nodeName && (t.Key = e.childNodes[0].text, i = 1); for (var r = [], n = []; i < e.childNodes.length; i++) { var o = {}, a = {}; o.name = e.childNodes[i].getAttribute("name"), a.Value = e.childNodes[i].text, r.push(o), n.push(a); } return t.name = r, t.values = n, t; }, _analysis_StatisticsResult_results_result_google: function _analysis_StatisticsResult_results_result_google(e) { var t = {}, i = 0; "Key" == e.childNodes[0].nodeName && (t.Key = e.childNodes[0].innerHTML, i = 1); for (var r = [], n = []; i < e.childNodes.length; i++) { var o = {}, a = {}; o.name = e.childNodes[i].getAttribute("name"), a.Value = e.childNodes[i].innerHTML, r.push(o), n.push(a); } return t.name = r, t.values = n, t; }, successFn: function successFn(e) {}, failFn: function failFn() { alert("对不起,查询失败,请查询服务是否正常。"); }, _separateFeatures: function _separateFeatures(e) { for (var t = {}, i = 0; i < e.length; i++) { var r, n = e[i]; t[r = n.gml ? n.gml.featureType : n.type] || (t[r] = []), t[r].push(n); } return t; }, setTime: function setTime(e) { this.time = e; }, setUserecent: function setUserecent(e) { this.userecent = e; }, CLASS_NAME: "GeoGlobe.Query.WFSQuery" }), GeoGlobe.Query.WFSQuery.reverseGeometryXY = function (e) { var t = { Point: function Point(e, t) { var i = e.x, r = e.y, n = e.clone(e); return n.x = r, n.y = i, n; }, LineString: function LineString(e, t) { for (var i = e.clone(e), r = 0; r < i.components.length; r++) { var n = t.Point(i.components[r]); i.components[r] = n; } return i; }, Polygon: function Polygon(e, t) { for (var i = e.clone(e), r = 0; r < i.components.length; r++) { for (var n = 0; n < i.components[r].components.length - 1; n++) { var o = t.Point(i.components[r].components[n]); i.components[r].components[n] = o; } } return i; } }; return t[{ "GeoGlobe.Geometry.Point": "Point", "GeoGlobe.Geometry.MultiPoint": "MultiPoint", "GeoGlobe.Geometry.LineString": "LineString", "GeoGlobe.Geometry.MultiLineString": "MultiLineString", "GeoGlobe.Geometry.Polygon": "Polygon", "GeoGlobe.Geometry.MultiPolygon": "MultiPolygon", "GeoGlobe.Geometry.Collection": "GeometryCollection" }[e.CLASS_NAME]](e, t); }, GeoGlobe.Format.WFSHits = GeoGlobe.Class4OL(GeoGlobe.Format.XML, { wfsns: "http://www.opengis.net/wfs", featureCollection: "FeatureCollection", read: function read(e) { "string" == typeof e && (e = GeoGlobe.Format.XML.prototype.read.apply(this, [e])); var t = e.documentElement; return { numberOfFeatures: _babel_runtime_corejs2_core_js_parse_int__WEBPACK_IMPORTED_MODULE_7___default()(t.getAttribute("numberOfFeatures")) }; } }), GeoGlobe.Query.GeoCodingQuery = function (e, t) { t = GeoGlobe.Util.applyDefaults(t, GeoGlobe.Query.GeoCodingQuery.DEFAULTS); var i = GeoGlobe.Query.GeoCodingQuery["v" + t.version.replace(/\./g, "_")]; if (!i) throw "不支持的地址匹配服务版本: " + t.version; return new i(e, t); }, GeoGlobe.Query.GeoCodingQuery.DEFAULTS = { version: "1.0.0" }, GeoGlobe.Query.GeoCodingQuery.v1 = GeoGlobe.Class4OL({ version: "1.0.0", url: null, initialize: function initialize(e, t) { this.url = e, GeoGlobe.Util.extend(this, t), this.format = new GeoGlobe.Format.JSON(); }, getCommonParams: function getCommonParams(e) { var t = { request: "GetCategory", service: "GeoCoding", version: this.version, output: "json" }; return GeoGlobe.Util.extend(t, e), t; }, getCategoryByName: function getCategoryByName(e, t, i) { var r = this.getCommonParams(); "string" == typeof e && 0 !== e.length && (r.categoryName = e), i = i || this.failFn, GeoGlobe.Function.bind(this._requestCategory, this)(r, t, i); }, getCategoryByCode: function getCategoryByCode(e, t, i) { var r = this.getCommonParams(); "number" == typeof e && (r.categoryCode = e), GeoGlobe.Function.bind(this._requestCategory, this)(r, t, i); }, getAllCategory: function getAllCategory(e, t) { var i = this.getCommonParams(); GeoGlobe.Function.bind(this._requestCategory, this)(i, e, t); }, _requestCategory: function _requestCategory(e, t, i) { i = i || this.failFn, GeoGlobe.loadURL(this.url, e, this, function (e) { try { var i = this.format.read(e.responseText); } catch (i) { return void t(e.responseText); } t(i); }, i); }, _analysis_GeoCodeResult: function _analysis_GeoCodeResult(e) { var t = { status: e.status }; switch (e.status) { case "OK": (i = e.results) && (t.results = this._analysis_GeoCodeResult_results(i)); break; case "INVALID_REQUEST": case "NO_RESULTS": case "UNKNOWN_ERROR": break; default: var i; t = { requestKeyWord: e.requestKeyWord, count: e.count, statisticsLevel: e.statisticsLevel, statisticsLevelName: e.statisticsLevelName }, e && e.count > 0 && (i = e.results) && (t.results = this._analysis_GeoCodeResult_statistics(i)); } return t; }, _analysis_GeoCodeResult_results: function _analysis_GeoCodeResult_results(e) { var t = []; if (GeoGlobe.Util.isArray(e)) { for (var i = 0, r = e.length; i < r; i++) { var n = {}; n.requestKeyWord = e[i].requestKeyWord, e[i].errorCorrectionTips && (n.errorCorrectionTips = e[i].errorCorrectionTips), n.count = e[i].count, e[i].result && (n.result = this._analysis_GeoCodeResult_results_result(e[i].result)), t.push(n); } return t; } }, _analysis_GeoCodeResult_statistics: function _analysis_GeoCodeResult_statistics(e) { var t = []; if (GeoGlobe.Util.isArray(e)) { for (var i = 0, r = e.length; i < r; i++) { var n = {}; e[i].errorCorrectionTips && (n.errorCorrectionTips = e[i].errorCorrectionTips), e[i] && (n.name = e[i].name, n.value = e[i].value, n.remark = e[i].remark), t.push(n); } return t; } }, _analysis_GeoCodeResult_results_result: function _analysis_GeoCodeResult_results_result(e) { for (var t = [], i = 0, r = e.length; i < r; i++) { var n = {}, o = {}; n.resultType = e[i].resultType, n.precise = e[i].precise, n.isBrief = e[i].isBrief, n.score = e[i].score, e[i].addressComponent.street && (o = e[i].addressComponent.street), 0 == n.isBrief && (n.addressComponent = this._analysis_GeoCodeResult_results_result_address(e[i].addressComponent, n.resultType)), n.poiArray = this._analysispoiArray(e[i].poiArray), e[i].location && (n.location = e[i].location), 0 == n.precise && (n.referenceAddressArray = e[i].referenceAddressArray), o && (n.street_path = o), t.push(n); } return t; }, _analysis_GeoCodeResult_results_result_address: function _analysis_GeoCodeResult_results_result_address(e, t) { var i = { country: e.country }; if (e.province && (i.province = e.province), e.city && (i.city = e.city), e.district && (i.district = e.district), e.town && (i.town = e.town), e.street && (i.street = { name: e.street.name }, "street" === t && e.street.geometry)) { var r = this.format.read(e.street.geometry), n = null; (r.paths || r.rings || r.x && r.y) && (n = this._getGeometry(r), i.street.geometry = n); } if (e.streetNumber && (i.streetNumber = e.streetNumber), e.buildingNumber && (i.buildingNumber = e.buildingNumber), "adminArea" === t) { if (e.geometry) { var o = this.format.read(e.geometry), a = null; o.rings || o.paths ? (a = this._getGeometry(o), i.geometry = a) : "number" == typeof o.x && "number" == typeof o.y && (i.geometry = this._getGeometry(o)); } e.subordinate && (i.subordinate = e.subordinate), e.zipCode && (i.zipCode = e.zipCode), e.callingCode && (i.callingCode = e.callingCode); } return i; }, _analysispoiArray: function _analysispoiArray(e) { for (var t = [], i = 0, r = e.length; i < r; i++) { var n = {}; for (var o in e[i]) { n[o] = e[i][o]; } if ("" != n.geometry && null != n.geometry) { var a = this.format.read(n.geometry); n.geometry = this._getGeometry(a); } t.push(n); } return t; }, _analysisLocation: function _analysisLocation(e) {}, _getGeometry: function _getGeometry(e) { for (var t in e) { if ("spatialReference" == t) return; return e = e.hasOwnProperty("x") && e.hasOwnProperty("y") ? new GeoGlobe.Geometry.Point(e.x, e.y) : e.hasOwnProperty("xmin") && e.hasOwnProperty("ymin") && e.hasOwnProperty("xmax") && e.hasOwnProperty("ymax") ? new GeoGlobe.Bounds(e.xmin, e.ymin, e.xmax, e.ymax).toGeometry() : this._geometryType[t](e[t]); } }, _geometryType: { points: function points(e) { var t = []; if (GeoGlobe.Util.isArray(e)) for (var i = 0, r = e.length; i < r; i++) { var n = new GeoGlobe.Geometry.Point(e[i][0], e[i][1]); t.push(n); } return t; }, paths: function paths(e) { var t = []; if (GeoGlobe.Util.isArray(e)) { for (var i = 0, r = e.length; i < r; i++) { for (var n = [], o = 0, a = e[i].length; o < a; o++) { n.push(new GeoGlobe.Geometry.Point(e[i][o][0], e[i][o][1])); } var s = new GeoGlobe.Geometry.LineString(n); t.push(s); } var x = new GeoGlobe.Geometry.MultiLineString(t); } return x; }, rings: function rings(e) { var t = []; if (GeoGlobe.Util.isArray(e)) { for (var i = 0, r = e.length; i < r; i++) { for (var n = [], o = 0, a = e[i].length; o < a; o++) { n.push(new GeoGlobe.Geometry.Point(e[i][o][0], e[i][o][1])); } var s = new GeoGlobe.Geometry.LinearRing(n); t.push(s); } var x = new GeoGlobe.Geometry.Polygon(t); } return x; } }, failFn: function failFn(e) { "string" == typeof e && alert(e), alert("对不起,查询请求失败!请检查地址匹配服务是否正常运行。\n当前服务地址为:" + this.url); }, CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1" }), GeoGlobe.Query.GeoCodingQuery.v1_0_0 = GeoGlobe.Class4OL(GeoGlobe.Query.GeoCodingQuery.v1, { addressesToLocations: function addressesToLocations(e, t, i) { var r = this.getCommonParams({ request: "GeoCoder" }); if ("string" == typeof e.address) r.address = e.address;else if (GeoGlobe.Util.isArray(e.address)) { for (var n = "", o = 0; o < e.address.length; o++) { n += e.address[o] + ","; } n = n.substr(0, n.length - 1), r.address = n; } else if (null == e.address || null == e.address) throw "address是必选参数!"; if ("number" == typeof e.categoryCode && (r.categoryCode = e.categoryCode), e.extent instanceof GeoGlobe.LngLatBounds) r.bbox = e.extent.toBBOX(null, !0);else if (e.extent instanceof GeoGlobe.Geometry.Polygon) { for (var a = e.extent, s = [], x = (o = 0, a.components.length); o < x; o++) { for (var l = a.components[o].components, c = 0; c < l.length; c++) { s.push(l[c].toShortString()); } } r.bbox = s.join(","); } "boolean" == typeof e.fuzzyMatch && (r.fuzzyMatch = e.fuzzyMatch), "string" == typeof e.resultType && (r.resultType = e.resultType), "number" == typeof e.maxCount && (r.maxCount = e.maxCount), "number" == typeof e.startPosition && (r.startPosition = e.startPosition), GeoGlobe.loadURL(this.url, r, this, function (e) { try { var i = this.format.read(e.responseText); if ("result" == r.resultType) var n = this._parseQueryResultToFeature(i);else n = this._analysis_GeoCodeResult(i); } catch (i) { return void t(e.responseText); } t(n); }, this.failFn); }, locationToAddresses: function locationToAddresses(e, t, i) { var r = this.getCommonParams({ request: "GeoCoder" }); if (!e.lonlat) throw "address是必选参数!请填写正确的数据类型!"; r.latlng = e.lonlat.lat + "," + e.lonlat.lng, "number" == typeof e.tolerance && (r.tolerance = e.tolerance), "string" == typeof e.unit && (r.unit = e.unit), "string" == typeof e.resultType && (r.resultType = e.resultType), "number" == typeof e.maxCount && (r.maxCount = e.maxCount), "number" == typeof e.startPosition && (r.startPosition = e.startPosition), GeoGlobe.loadURL(this.url, r, this, function (e) { try { var i = this.format.read(e.responseText); if ("result" == r.resultType) var n = this._parseQueryResultToFeature(i);else n = this._analysis_GeoCodeResult(i); } catch (i) { return void t(e.responseText); } t(n, i); }, this.failFn); }, getLocations: function getLocations(e, t, i) { this.addressesToLocations(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, total)); }, this), i); }, getLocationsByPage: function getLocationsByPage(e, t, i) { e.resultType = "hits", this.addressesToLocations(e, GeoGlobe.Function.bind(function (r) { if ("OK" == r.status) { e.resultType = "result"; var n = r.results[0].count; null != e.maxCount && null != e.maxCount || (e.maxCount = 3), e.startPosition = (e.startPosition - 1) * e.maxCount + 1, this.addressesToLocations(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, n)); }, this), i); } else alert("没有查询到任何数据"); }, this), i); }, getAddresses: function getAddresses(e, t, i) { this.locationToAddresses(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, total)); }, this), i); }, getAddressesByPage: function getAddressesByPage(e, t, i) { e.resultType = "hits", this.locationToAddresses(e, GeoGlobe.Function.bind(function (r) { if ("OK" == r.status) { e.resultType = "result"; var n = r.results[0].count; null != e.maxCount && null != e.maxCount || (e.maxCount = 3), e.startPosition = (e.startPosition - 1) * e.maxCount + 1, this.locationToAddresses(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, n)); }, this), i); } else alert("没有查询到任何数据"); }, this), i); }, _parseQueryResultToFeature: function _parseQueryResultToFeature(e) { var t = []; if ("OK" == e.status && e.results) for (var i = 0; i < e.results.length; i++) { var r = e.results[i].result; if (r) for (var n = 0; n < r.length; n++) { var o = {}, a = null; if (o.requestKeyWord = e.results[i].requestKeyWord, GeoGlobe.Util.isArray(r[n].poiArray)) for (var s = 0; s < r[n].poiArray.length; s++) { o.CONTINENT = r[n].poiArray[s].CONTINENT, o.GBCODE = r[n].poiArray[s].GBCODE, o.STANDARDNAME = r[n].poiArray[s].STANDARDNAME, o.name = r[n].poiArray[s].name; } if (r[n].addressComponent) { var x = r[n].addressComponent; o.address = this._getAddress(x, o.name), o.country = r[n].addressComponent.country, o.province = r[n].addressComponent.province, o.city = r[n].addressComponent.city, o.district = r[n].addressComponent.district, r[n].addressComponent.street ? (o.streetName = r[n].addressComponent.street.name, o.streetgeometry = r[n].addressComponent.street.geometry) : o.streetName = "", o.streetNumber = r[n].addressComponent.streetNumber; } r[n].location && (r[n].location.lng && (o.lng = r[n].location.lng), r[n].location.lat && (o.lat = r[n].location.lat), a = new GeoGlobe.Geometry.Point(r[n].location.lng, r[n].location.lat)), o.isBrief = r[n].isBrief, o.precise = r[n].precise, o.resultType = r[n].resultType, o.score = r[n].score; var l = new GeoGlobe.Feature(a, o); t.push(l); } } var c = new GeoGlobe.Format.GeoJSON().write(t), u = new GeoGlobe.Format.JSON().read(c); return { status: e.status, features: t, geojsonFeatures: u }; }, _getAddress: function _getAddress(e, t) { var i = ""; return e.country && (i += e.country), e.province && (i += e.province), e.city && (i += e.city), e.district && (i += e.district), e.street && (e.street.name && (i += e.street.name), e.streetNumber && (i += e.streetNumber + "号")), t && (i += t), i; }, CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1_0_0" }), GeoGlobe.Query.GeoCodingQuery.v1_1_0 = GeoGlobe.Class4OL(GeoGlobe.Query.GeoCodingQuery.v1, { method: "get", initialize: function initialize(e, t) { GeoGlobe.Util.extend(this, t), this.filterFormat = new GeoGlobe.Format.Filter(), GeoGlobe.Query.GeoCodingQuery.v1.prototype.initialize.apply(this, arguments); }, addressesToLocations: function addressesToLocations(e, t, i) { var r = this.getCommonParams({ request: "GeoCoder" }); if (r.reverseMatch = !1, "string" == typeof e.address && (r.keyword = e.address), "number" == typeof e.categoryCode && (r.categoryCode = e.categoryCode), !(null != e.address && null != e.address || null != e.categoryCode && null != e.categoryCode)) throw "address是必选参数!"; if (e.extent instanceof GeoGlobe.LngLatBounds) r.bbox = e.extent.toBBOX(null, !0);else if (e.extent instanceof GeoGlobe.Geometry.Polygon) { for (var n = e.extent, o = [], a = 0, s = n.components.length; a < s; a++) { for (var x = n.components[a].components, l = 0; l < x.length; l++) { o.push(x[l].toShortString()); } } r.bbox = o.join(","); } if (e.filter instanceof GeoGlobe.Filter) { var c = this.filterFormat.write(e.filter), u = GeoGlobe.Format.XML.prototype.write.apply(this.filterFormat, [c]); r.filter = u; } "string" == typeof e.resultType && (r.resultType = e.resultType), "statistics" == e.resultType && (r.statisticsLevel = e.statisticsLevel), "number" == typeof e.maxCount && (r.maxCount = e.maxCount), "number" == typeof e.startPosition && (r.startPosition = e.startPosition), "boolean" == typeof e.semanticAnalysis && (r.semanticAnalysis = e.semanticAnalysis), "boolean" == typeof e.customWeight && (r.customWeight = e.customWeight), this._setGeoCoderCommonProperty(r, e), this._getCodingRequest(r, t, i); }, _getCodingRequest: function _getCodingRequest(e, t, i) { if ("get" == this.method) GeoGlobe.loadURL(this.url, e, this, function (i) { try { var r = this.format.read(i.responseText); if ("result" == e.resultType) var n = this._parseQueryResultToFeature(r);else n = this._analysis_GeoCodeResult(r); } catch (e) { return void t(i.responseText); } t(n); }, this.failFn);else { var r = GeoGlobe.Util.getParameterString(e); GeoGlobe.Request.POST({ url: this.url, data: r, success: function success(e) { try { var i = this.format.read(e.responseText), r = this._analysis_GeoCodeResult(i); } catch (i) { return void t(e.responseText); } t(r); }, failure: this.failFn, scope: this }); } }, _setGeoCoderCommonProperty: function _setGeoCoderCommonProperty(e, t) { "string" == typeof t.sortFields && (e.sortFields = t.sortFields), "string" == typeof t.scoreFilter && (e.scoreFilter = t.scoreFilter); }, locationToAddresses: function locationToAddresses(e, t, i) { var r = this.getCommonParams({ request: "GeoCoder" }); if (r.reverseMatch = !0, !e.lonlat) throw "address是必选参数!请填写正确的数据类型!"; r.keyword = e.lonlat.lat + "," + e.lonlat.lng, "number" == typeof e.tolerance && (r.tolerance = e.tolerance), "string" == typeof e.unit && (r.unit = e.unit), "string" == typeof e.resultType && (r.resultType = e.resultType), "statistics" == e.resultType && (r.statisticsLevel = e.statisticsLevel), "number" == typeof e.maxCount && (r.maxCount = e.maxCount), "number" == typeof e.startPosition && (r.startPosition = e.startPosition), "boolean" == typeof e.customWeight && (r.customWeight = e.customWeight), this._setGeoCoderCommonProperty(r, e), this._getCodingRequest(r, t, i); }, batchAddressesToLocations: function batchAddressesToLocations(e, t, i) { var r = this.getCommonParams({ request: "BatchGeoCoder", service: "GeoCoding" }); if (r.reverseMatch = !1, GeoGlobe.Util.isArray(e.address)) { for (var n = "", o = 0; o < e.address.length; o++) { n += e.address[o] + ","; } n = n.substr(0, n.length - 1), r.keywords = n; } else if (null == e.address || null == e.address) throw "address是必选参数!"; if ("number" == typeof e.singleKeywordResultCount && (r.singleKeywordResultCount = e.singleKeywordResultCount), e.filter instanceof GeoGlobe.Filter) { var a = this.filterFormat.write(e.filter), s = GeoGlobe.Format.XML.prototype.write.apply(this.filterFormat, [a]); r.filter = s; } this._setGeoCoderCommonProperty(r, e), this._getCodingRequest(r, t, i); }, batchLocationToAddresses: function batchLocationToAddresses(e, t, i) { var r = this.getCommonParams({ request: "BatchGeoCoder", service: "GeoCoding" }); if (r.reverseMatch = !0, e.lonlats instanceof GeoGlobe.LonLat) e.lonlats = [e.lonlats];else if (!GeoGlobe.Util.isArray(e.lonlats)) throw "address是必选参数!请填写正确的数据类型!"; if (GeoGlobe.Util.isArray(e.lonlats)) { for (var n = "", o = 0; o < e.lonlats.length; o++) { n += e.lonlats[o].lat + "," + e.lonlats[o].lng + ";"; } n = n.substr(0, n.length - 1), r.keywords = n; } "number" == typeof e.tolerance && (r.tolerance = e.tolerance), "string" == typeof e.unit && (r.unit = e.unit), "number" == typeof e.singleKeywordResultCount && (r.singleKeywordResultCount = e.singleKeywordResultCount), this._setGeoCoderCommonProperty(r, e), this._getCodingRequest(r, t, i); }, _getAddress: function _getAddress(e, t) { var i = ""; return e.country && (i += e.country), e.province && (i += e.province), e.city && (i += e.city), e.district && (i += e.district), e.street && (e.street.name && (i += e.street.name), e.streetNumber && (i += e.streetNumber + "号")), t && (i += t), i; }, getLocations: function getLocations(e, t, i) { this.addressesToLocations(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, total)); }, this), i); }, getLocationsByPage: function getLocationsByPage(e, t, i) { e.resultType = "hits", this.addressesToLocations(e, GeoGlobe.Function.bind(function (r) { if ("OK" == r.status) { e.resultType = "result"; var n = r.results[0].count; null != e.maxCount && null != e.maxCount || (e.maxCount = 3), e.startPosition = (e.startPosition - 1) * e.maxCount + 1, this.addressesToLocations(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, n)); }, this), i); } else alert("没有查询到任何数据"); }, this), i); }, getAddresses: function getAddresses(e, t, i) { this.locationToAddresses(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, total)); }, this), i); }, getAddressesByPage: function getAddressesByPage(e, t, i) { e.resultType = "hits", this.locationToAddresses(e, GeoGlobe.Function.bind(function (r) { if ("OK" == r.status) { e.resultType = "result"; var n = r.results[0].count; null != e.maxCount && null != e.maxCount || (e.maxCount = 3), e.startPosition = (e.startPosition - 1) * e.maxCount + 1, this.locationToAddresses(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e, n)); }, this), i); } else alert("没有查询到任何数据"); }, this), i); }, batchGetAddresses: function batchGetAddresses(e, t, i) { this.batchLocationToAddresses(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e)); }, this), i); }, batchGetLocations: function batchGetLocations(e, t, i) { this.batchAddressesToLocations(e, GeoGlobe.Function.bind(function (e) { t(this._parseQueryResultToFeature(e)); }, this), i); }, _parseQueryResultToFeature: function _parseQueryResultToFeature(e) { var t = []; if ("OK" == e.status && e.results) for (var i = 0; i < e.results.length; i++) { var r = e.results[i].result; if (r) for (var n = 0; n < r.length; n++) { var o = {}, a = null; if (o.requestKeyWord = e.results[i].requestKeyWord, GeoGlobe.Util.isArray(r[n].poiArray)) for (var s = 0; s < r[n].poiArray.length; s++) { o.CONTINENT = r[n].poiArray[s].CONTINENT, o.GBCODE = r[n].poiArray[s].GBCODE, o.STANDARDNAME = r[n].poiArray[s].STANDARDNAME, o.name = r[n].poiArray[s].name; } if (r[n].addressComponent) { var x = r[n].addressComponent; o.address = this._getAddress(x, o.name), o.country = r[n].addressComponent.country, o.province = r[n].addressComponent.province, o.city = r[n].addressComponent.city, o.district = r[n].addressComponent.district, r[n].addressComponent.street ? (o.streetName = r[n].addressComponent.street.name, o.streetgeometry = r[n].addressComponent.street.geometry) : o.streetName = "", o.streetNumber = r[n].addressComponent.streetNumber; } r[n].location && (r[n].location.lng && (o.lng = r[n].location.lng), r[n].location.lat && (o.lat = r[n].location.lat), a = new GeoGlobe.Geometry.Point(r[n].location.lng, r[n].location.lat)), o.isBrief = r[n].isBrief, o.precise = r[n].precise, o.resultType = r[n].resultType, o.score = r[n].score; var l = new GeoGlobe.Feature(a, o); t.push(l); } } var c = new GeoGlobe.Format.GeoJSON().write(t), u = new GeoGlobe.Format.JSON().read(c); return { status: e.status, features: t, geojsonFeatures: u }; }, CLASS_NAME: "GeoGlobe.Query.GeoCodingQuery.v1_1_0" }), GeoGlobe.Service = GeoGlobe.Class({ name: null, url: null, version: null, userid: "test@liferay.com", initialize: function initialize(e, t, i) { this.name = e, this.url = t, GeoGlobe.Util.extend(this, i); }, getCapabilities: function getCapabilities(e, t) {}, isExist: function isExist() {}, failFn: function failFn(e) { alert("服务请求失败,请检查服务是否正常运行或请求地址是否正确。\n请求地址:" + this.url + "\n操作类型:" + e); }, _parseToXML: function _parseToXML(e) { var t = e.responseXML; return t && t.documentElement || (t = e.responseText), new GeoGlobe.Format.XML().read(t); }, _checkIsError: function _checkIsError(e) { return new GeoGlobe.Format.XML().read(e).selectNodes("ServiceExceptionReport").length > 0 ? this._parseToJSON(e) : null; }, _isException: function _isException(e) { return !(!e || !e.ServiceExceptionReport); }, _parseToJSON: function _parseToJSON(e) { return new GeoGlobe.Util.Format.XML2JSON().read(e); }, CLASS_NAME: "GeoGlobe.Service" }), GeoGlobe.Service.WFST = GeoGlobe.Class4OL(GeoGlobe.Service, { xy: !0, initialize: function initialize(e, t, i) { GeoGlobe.Service.prototype.initialize.apply(this, arguments); }, getCapabilities: function getCapabilities(e, t) { var i = this.url, r = { REQUEST: "GetCapabilities", SERVICE: "WFS", VERSION: "1.0.0" }; t || (t = function t() { this.failFn(r.REQUEST); }), GeoGlobe.loadURL(i, r, this, function (t) { e(t); }, t); }, isExist: function isExist() { var e = !1, t = this.url; return GeoGlobe.Request.GET({ url: t, params: { REQUEST: "GetCapabilities", SERVICE: "WFS" }, scope: this, async: !1, success: function success() { e = !0; } }), e; }, describeFeatureType: function describeFeatureType(e, t, i) { var r = this.url; GeoGlobe.Util.applyDefaults(e, { SERVICE: "WFS", VERSION: "1.0.0", REQUEST: "DescribeFeatureType" }), i || (i = function i() { this.failFn(e.REQUEST); }), GeoGlobe.loadURL(r, e, this, function (e) { t(e); }, i); }, getFeature: function getFeature(e, t, i) { var r = this.url; GeoGlobe.Util.applyDefaults(e, { SERVICE: "WFS", VERSION: "1.0.0", REQUEST: "GetFeature" }), i || (i = function i() { this.failFn(e.REQUEST); }), GeoGlobe.loadURL(r, e, this, function (e) { t(e); }, i); }, lockFeature: function lockFeature(e, t, i) { this.url, GeoGlobe.Util.applyDefaults(e, { service: "WFS", version: "1.0.0", request: "LockFeature", expiry: 1, lockAction: "ALL" }); var r = this._parserFilterToString(e.filter), n = GeoGlobe.String.format('${filterXMLString}', { version: e.version, service: e.service, lockAction: e.lockAction, expiry: e.expiry, typeName: e.typeName, filterXMLString: r }); i || (i = function i() { this.failFn(e.request); }), new GeoGlobe.Request.POST({ url: this.url, data: n, scope: this, success: t, failure: i }); }, transaction: function transaction(e, t, i, r, n, o) { var a = this.url; GeoGlobe.Util.applyDefaults(e, { service: "WFS", version: "1.0.0", request: "Transaction", releaseAction: "ALL" }); var s = e.lockId, x = ""; s && (x += "" + s + ""); var l = ""; t && (l += this._getInsertString(t)), i && (l += this._getUpdateString(i)), r && (l += this._getDeleteString(r)); var c = GeoGlobe.String.format('${lockIdString}${transactionString}', { releaseAction: e.releaseAction, version: e.version, service: e.service, lockIdString: x, transactionString: l }); o || (o = function o() { this.failFn(e.request); }), new GeoGlobe.Request.POST({ url: a, data: c, scope: this, success: n, failure: o }); }, parseTransactionResult: function parseTransactionResult(e) { var t = new GeoGlobe.Format.XML2JSON().read(e.responseText), i = new Array(), r = this._objToArray(t.wfs_WFS_TransactionResponse.wfs_TransactionResult.wfs_Status), n = this._objToArray(t.wfs_WFS_TransactionResponse.wfs_InsertResults); if (!r) return i; for (var o = 0; o < r.length; o++) { void 0 !== r[o].wfs_SUCCESS ? i.push({ status: "SUCCESS", fid: n && n[o] ? n[o].ogc_FeatureId.fid : null }) : i.push({ status: "FAILED", fid: null }); } return i; }, _objToArray: function _objToArray(e) { return !e || e instanceof Array || (e = [e]), e; }, _getInsertString: function _getInsertString(e) { for (var t = e.features, i = e.typeName, r = "", n = 0; n < t.length; n++) { var o = t[n]; r += '' + this._getInsertFeatureString(o, i) + ""; } return r; }, _getInsertFeatureString: function _getInsertFeatureString(e, t) { var i = ""; for (var r in e.attributes) { "OID" != r && (i += GeoGlobe.String.format("<${tag}>", { value: e.attributes[r] ? e.attributes[r] : "", tag: r })); } return i += GeoGlobe.String.format("${geometry}", { geometry: this._getGeometryStringByFeature(e) }), GeoGlobe.String.format("<${typeName}>${content}", { typeName: t, content: i }); }, _getUpdateString: function _getUpdateString(e) { e.filter; for (var t = e.typeName, i = e.features, r = "", n = 0; n < i.length; n++) { if (i[n].geometry) { var o = this._getUpdatePropertyString(i[n]), a = new GeoGlobe.Filter.FeatureId({ fids: [t + "." + i[n].attributes.OID] }); r += '' + o + this._parserFilterToString(a) + ""; } } return r; }, _getUpdatePropertyString: function _getUpdatePropertyString(e) { var t = ""; for (var i in e.data) { "OID" != i && e.data[i] && (t += ""); } return t + "Geometry" + this._getGeometryStringByFeature(e) + ""; }, _getGeometryStringByFeature: function _getGeometryStringByFeature(e) { var t = new GeoGlobe.Format.GML({ xy: this.xy }); t.buildCoordinatesNode = GeoGlobe.Function.bind(function (e) { var t = this.createElementNS(this.gmlns, "gml:coordinates"); t.setAttribute("decimal", "."), t.setAttribute("cs", ","), t.setAttribute("ts", " "); var i = []; if (e instanceof GeoGlobe.LngLatBounds) this.xy ? (i.push(e.left + "," + e.bottom), i.push(e.right + "," + e.top)) : (i.push(e.bottom + "," + e.left), i.push(e.top + "," + e.right));else for (var r = e.components ? e.components : [e], n = 0; n < r.length; n++) { this.xy ? i.push(r[n].x + "," + r[n].y) : i.push(r[n].y + "," + r[n].x); } var o = this.createTextNode(i.join(" ")); return t.appendChild(o), t; }, t); var i = t.buildGeometryNode(e.geometry); return new GeoGlobe.Format.XML().write(i); }, _getDeleteString: function _getDeleteString(e) { for (var t = e.filter, i = e.typeName, r = "", n = 0; n < t.fids.length; n++) { r += ''; var o = new GeoGlobe.Filter.FeatureId({ fids: [t.fids[n]] }); r += this._parserFilterToString(o), r += ""; } return r; }, _parserFilterToString: function _parserFilterToString(e) { var t = ""; if (e) { var i = new GeoGlobe.Format.Filter.v1().write(e); return new GeoGlobe.Format.XML().write(i); } return t; }, CLASS_NAME: "GeoGlobe.Service.WFST" }), GeoGlobe.Service.CTS = GeoGlobe.Class4OL(GeoGlobe.Service, { initialize: function initialize(e, t, i) { GeoGlobe.Service.prototype.initialize.apply(this, arguments); }, getCapabilities: function getCapabilities(e, t) { var i = this.url, r = { REQUEST: "GetCapabilities", SERVICE: "CTS" }; t || (t = function t() { this.failFn(r.REQUEST); }), GeoGlobe.loadURL(i, r, this, function (t) { e(t); }, t); }, isExist: function isExist() { var e = !1, t = this.url; return GeoGlobe.Request.GET({ url: t, params: { REQUEST: "GetCapabilities", SERVICE: "CTS" }, scope: this, async: !1, success: function success() { e = !0; } }), e; }, TransCoords: function TransCoords(e, t, i) { var r = this.url; GeoGlobe.Util.applyDefaults(e, { SERVICE: "CTS", REQUEST: "TransCoords" }), i || (i = function i() { this.failFn(e.REQUEST); }), GeoGlobe.loadURL(r, e, this, function (i) { if ("xml" == e.FORMAT) { var r = {}, n = i.responseXML; GeoGlobe.Function.bind(this.xmltoJson, this); var o = this.xmltoJson(n); r.attributes = o.CTS_TransResult["cts:Coordinate"].attributes.dim; for (var a = o.CTS_TransResult["cts:Coordinate"].text.split(","), s = [], x = 0; x < a.length; x++) { s.push(a[x]); } r.coordvalue = s; } else if ("json" == e.FORMAT) { r = {}, o = i.responseText; var l = new GeoGlobe.Format.JSON().read(o); r.attributes = l.CTS_TransResult.dim, r.coordvalue = l.CTS_TransResult.Coordinate; } t(r); }, i); }, xmltoJson: function xmltoJson(e) { var t = {}; if (1 == e.nodeType) { if (e.attributes.length > 0) { t.attributes = {}; for (var i = 0; i < e.attributes.length; i++) { var r = e.attributes.item(i); t.attributes[r.nodeName] = r.nodeValue; } } } else 3 == e.nodeType && (t = e.nodeValue); if (e.hasChildNodes()) for (var n = 0; n < e.childNodes.length; n++) { var o = e.childNodes.item(n), a = o.nodeName.replace("ows:", ""); if (void 0 === t[a = a.replace("#", "")]) t[a] = this.xmltoJson(o);else { if (void 0 === t[a].push) { var s = t[a]; t[a] = [], t[a].push(s); } t[a].push(this.xmltoJson(o)); } } return t; }, AffineTransform: function AffineTransform(e, t, i) { var r = this.url; GeoGlobe.Util.applyDefaults(e, { SERVICE: "CTS", REQUEST: "AffineTransform" }), i || (i = function i() { this.failFn(e.REQUEST); }), GeoGlobe.loadURL(r, e, this, function (i) { if ("xml" == e.FORMAT) { var r = {}, n = i.responseXML; GeoGlobe.Function.bind(this.xmltoJson, this); var o = this.xmltoJson(n); r.attributes = o.CTS_AffineTransResult["cts:Coordinate"].attributes.dim; for (var a = o.CTS_AffineTransResult["cts:Coordinate"].text.split(","), s = [], x = 0; x < a.length; x++) { s.push(a[x]); } r.coordvalue = s; } else if ("json" == e.FORMAT) { r = {}, o = i.responseText; var l = new GeoGlobe.Format.JSON().read(o); r.attributes = l.CTS_AffineTransResult.dim, r.coordvalue = l.CTS_AffineTransResult.Coordinate; } t(r); }, i); }, CLASS_NAME: "GeoGlobe.Service.CTS" }), GeoGlobe.Service.WMS = GeoGlobe.Class4OL(GeoGlobe.Service, { initialize: function initialize(e, t, i) { GeoGlobe.Service.prototype.initialize.apply(this, arguments); }, getCapabilities: function getCapabilities(e, t) { var i = this.url, r = { REQUEST: "GetCapabilities", SERVICE: "WMS" }; t || (t = function t() { this.failFn(r.REQUEST); }), GeoGlobe.loadURL(i, r, this, function (t) { var i = t.responseXML; GeoGlobe.Function.bind(this.xmlToJson, this); var r, n = this.xmlToJson(i), o = {}, a = n.WMT_MS_Capabilities, s = a.Capability.Layer.Layer, x = a.Capability.Request; r = s.length ? s[0] : s, o.version = a.attributes.version, o.format = x.GetMap.Format[1].text, o.layer = r.Title.text, o.bbox = r.BoundingBox.attributes.SRS, o.maxExtent = a.Capability.Layer.LatLonBoundingBox.attributes, e(o, n); }, t); }, isExist: function isExist() { var e = !1, t = this.url; return GeoGlobe.Request.GET({ url: t, params: { REQUEST: "GetCapabilities", SERVICE: "WMS" }, scope: this, async: !1, success: function success() { e = !0; } }), e; }, xmlToJson: function xmlToJson(e) { var t = {}; if (1 == e.nodeType) { if (e.attributes.length > 0) { t.attributes = {}; for (var i = 0; i < e.attributes.length; i++) { var r = e.attributes.item(i); t.attributes[r.nodeName] = r.nodeValue; } } } else 3 == e.nodeType && (t = e.nodeValue); if (e.hasChildNodes()) for (var n = 0; n < e.childNodes.length; n++) { var o = e.childNodes.item(n), a = o.nodeName.replace("ows:", ""); if (void 0 === t[a = a.replace("#", "")]) t[a] = this.xmlToJson(o);else { if (void 0 === t[a].push) { var s = t[a]; t[a] = [], t[a].push(s); } t[a].push(this.xmlToJson(o)); } } return t; }, getMap: function getMap(e) { this.url; var t = {}; return e.layers && (t.LAYERS = e.layers), e.format && (t.FORMAT = e.format), e.bbox && (t.BBOX = "{bbox-epsg-3857}"), e.width && (t.WIDTH = e.width), e.height && (t.HEIGHT = e.height), e.version && (t.VERSION = e.version), e.SRS && (t.SRS = e.SRS), GeoGlobe.Util.applyDefaults(t, { service: "WMS", request: "GetMap", TRANSPARENT: !0 }), this.urlAppend(this.url, this.getParameterString(t || {})); }, getParameterString: function getParameterString(e) { var t = []; for (var i in e) { var r = e[i]; if (null != r && "function" != typeof r) { var n; if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) { for (var o, a = [], s = 0, x = r.length; s < x; s++) { o = r[s], a.push(encodeURIComponent(null == o ? "" : o)); } n = a.join(","); } else n = r; t.push(encodeURIComponent(i) + "=" + n); } } return t.join("&"); }, urlAppend: function urlAppend(e, t) { var i = e; if (t) { var r = (e + " ").split(/[?&]/); i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t; } return i; }, CLASS_NAME: "GeoGlobe.Service.WMS" }), GeoGlobe.Service.WMTS = GeoGlobe.Class4OL(GeoGlobe.Service, { initialize: function initialize(e, t, i) { GeoGlobe.Service.prototype.initialize.apply(this, arguments); }, getCapabilities: function getCapabilities(e, t) { var i = this.url, r = { REQUEST: "GetCapabilities", SERVICE: "WMTS" }; t || (t = function t() { this.failFn(r.REQUEST); }), GeoGlobe.loadURL(i, r, this, function (t) { var i = t.responseXML; GeoGlobe.Function.bind(this.xmlToJson, this); var r = this.xmlToJson(i), n = r.Capabilities, o = {}, a = n.Contents.Layer; a = a.length ? a[0] : a, o.version = n.attributes.version; var s = n.Contents; o.layer = a.Title.text, o.LayerIdentifier = a.Identifier.text, o.StyleIdentifier = a.Style.Identifier.text, o.MatrixSet = a.TileMatrixSetLink[0].TileMatrixSet.text, o.Format = a.Format[1].text, o.Bounding = a.BoundingBox; var x = "", l = s.TileMatrixSet[0].TileMatrix; if (l.length > 0) for (var c = 0, u = l.length; c < u && c != u; c++) { x += l[c].ScaleDenominator.text + ","; } o.Scales = x.substr(0, x.length - 1), o.zoomOffset = l[0].Identifier.text, e(o, r); }, t); }, xmlToJson: function xmlToJson(e) { var t = {}; if (1 == e.nodeType) { if (e.attributes.length > 0) { t.attributes = {}; for (var i = 0; i < e.attributes.length; i++) { var r = e.attributes.item(i); t.attributes[r.nodeName] = r.nodeValue; } } } else 3 == e.nodeType && (t = e.nodeValue); if (e.hasChildNodes()) for (var n = 0; n < e.childNodes.length; n++) { var o = e.childNodes.item(n), a = o.nodeName.replace("ows:", ""); if (void 0 === t[a = a.replace("#", "")]) t[a] = this.xmlToJson(o);else { if (void 0 === t[a].push) { var s = t[a]; t[a] = [], t[a].push(s); } t[a].push(this.xmlToJson(o)); } } return t; }, isExist: function isExist() { var e = !1, t = this.url; return GeoGlobe.Request.GET({ url: t, params: { REQUEST: "GetCapabilities", SERVICE: "WMTS" }, scope: this, async: !1, success: function success() { e = !0; } }), e; }, getTile: function getTile(e) { var t = {}; return e.layer && (t.LAYER = e.layer), e.format && (t.FORMAT = e.format), e.tileMatrixSet && (t.TILEMATRIXSET = e.tileMatrixSet), e.TILEMATRIX && (t.TILEMATRIX = e.TILEMATRIX), e.TILEROW && (t.TILEROW = e.TILEROW), e.TILECOL && (t.TILECOL = e.TILECOL), e.version && (t.VERSION = e.version), e.style && (t.STYLE = e.style), GeoGlobe.Util.applyDefaults(t, { service: "WMTS", request: "GetTile" }), this.urlAppend(this.url, this.getParameterString(t || {})); }, getParameterString: function getParameterString(e) { var t = []; for (var i in e) { var r = e[i]; if (null != r && "function" != typeof r) { var n; if ("object" == _babel_runtime_corejs2_helpers_typeof__WEBPACK_IMPORTED_MODULE_11___default()(r) && r.constructor == Array) { for (var o, a = [], s = 0, x = r.length; s < x; s++) { o = r[s], a.push(encodeURIComponent(null == o ? "" : o)); } n = a.join(","); } else n = r; t.push(encodeURIComponent(i) + "=" + n); } } return t.join("&"); }, urlAppend: function urlAppend(e, t) { var i = e; if (t) { var r = (e + " ").split(/[?&]/); i += " " === r.pop() ? t : r.length ? "&" + t : "?" + t; } return i; }, getCapabilitiesForRest: function getCapabilitiesForRest(e, t) { var i = this.url; i.match(/\/$/) || (i += "/"), i += "1.0.0/WMTSCapabilities.xml", t || (t = function t() { this.failFn("GetCapabilities"); }), GeoGlobe.loadURL(i, null, this, function (t) { e(t); }, t); }, getTileForRest: function getTileForRest(e) { var t = e.layer, i = e.style, r = e.tileMatrixSet, n = e.tileMatrix, o = e.tileRow, a = e.tileCol, s = null, x = e.format ? e.format : "image/png"; s || (s = { "image/png": "png", "image/png8": "png", "image/png24": "png", "image/png32": "png", png: "png", "image/jpeg": "jpg", "image/jpg": "jpg", jpeg: "jpg", jpg: "jpg" }[x] || x.split("/").pop()); var l = t + "/" + i + "/" + r + "/" + n + "/" + o + "/" + a + "." + s, c = this.url; return c.match(/\/$/) || (c += "/"), c + l; }, CLASS_NAME: "GeoGlobe.Service.WMTS" }), GeoGlobe.Analysis.BufferAnalysis = GeoGlobe.Class4OL({ url: null, type: 1, accuracy: 32, initialize: function initialize(e, t) { this.url = e, GeoGlobe.Util.extend(this, t); }, _buildPostXML: function _buildPostXML(e, t) { return 'BufferInputPolygon' + new GeoGlobe.Format.GML().write(e) + "BufferDistance" + t + "BufferType" + this.type + "BufferAccuracy" + this.accuracy + "BufferedPolygon"; }, _getFeaturesCenter: function _getFeaturesCenter(e) { return this._getFeaturesExtent(e).getCenterLonLat(); }, _getFeaturesExtent: function _getFeaturesExtent(e) { GeoGlobe.Util.isArray(e) || (e = [e]); var t = null; if (e && e.length > 0) { t = new GeoGlobe.LngLatBounds(); for (var i = null, r = 0, n = e.length; r < n; r++) { (i = e[r].geometry) && t.extend(i.getBounds()); } } return t; }, startAnalysis: function startAnalysis(e, t, i) { var r = new GeoGlobe.Format.GeoJSON().read(e), n = this._getFeaturesCenter(r); switch (i && -1 != GeoGlobe.Util.indexOf(["m", "km", "degree"], i) || (i = "m"), i) { case "km": t *= 1e3; case "m": t = this._meterToDegree(t, n); } var o = this._buildPostXML(r, t); new GeoGlobe.Request.POST({ url: this.url, data: o, scope: this, success: function success(e) { if ("" != e.responseText && null != e.responseText) { var t = this._parserResult(e), i = new GeoGlobe.Format.GeoJSON().write(t), r = new GeoGlobe.Format.JSON().read(i); this.successFn(r); } else this.failFn(); }, failure: this.failFn }); }, _meterToDegree: function _meterToDegree(e, t) { var i = t.lat; return e * (899e-8 / Math.cos(GeoGlobe.Util.rad(i))); }, successFn: function successFn(e) {}, failFn: function failFn() { alert("缓冲分析操作失败,请检测服务是否正常运行。"); }, _parserResult: function _parserResult(e) { var t = new GeoGlobe.Format.XML(); return e.responseXML || (e.responseXML = t.read(e.responseText)), new GeoGlobe.Format.GML().read(e.responseXML); }, CLASS_NAME: "GeoGlobe.Analysis.BufferAnalysis" }), GeoGlobe.Analysis.BufferAnalysis.CAP_ROUND = 1, GeoGlobe.Analysis.BufferAnalysis.CAP_BUTT = 2, GeoGlobe.Analysis.BufferAnalysis.CAP_SQUARE = 3, GeoGlobe.Analysis.CoreBufferAnalysis = GeoGlobe.Class({ url: null, type: "intersection", _requestStrTemplate: "{'BufferAnalysis': {'service': 'OverlapService','version': '1.0.0','layerName': '${layerName}','bufferRadius': '${bufferRadius}','bufferStyle':'${bufferStyle}','outPutFormat': 'JSON','bufferType': '${bufferType}','isSynchronization': 'true'}}", initialize: function initialize(e, t) { this.url = e, GeoGlobe.Util.extend(this, t); }, _buildRequestStr: function _buildRequestStr() { return GeoGlobe.String.format(this._requestStrTemplate, { type: this.type, layerName: this.layerName, bufferRadius: this.bufferRadius, bufferStyle: this.bufferStyle, bufferType: this.bufferType }); }, startAnalysis: function startAnalysis(e) { if (this._checkSet()) return !1; var t = this._buildRequestStr(); new GeoGlobe.Request.POST({ url: this.url, data: t, scope: this, success: function success(t) { "" != t.responseText && null != t.responseText ? this.successFn(t, e) : this.failFn(); }, failure: this.failFn }); }, _checkSet: function _checkSet() { if (!this.url) return !1; }, successFn: function successFn(e) {}, failFn: function failFn() { alert("缓冲分析操作失败,请检测服务是否正常运行"); }, CLASS_NAME: "GeoGlobe.Analysis.CoreBufferAnalysis" }), GeoGlobe.Analysis.GetFeature = GeoGlobe.Class4OL({ url: null, type: "intersection", _reqStrTemplate: "{'GetFeature': {'service': 'OverlapService','version': '1.0.0','dataSource':'${sourceInputs}','Query': [{'typeName':'${dataInputs}'}],'maxFeatures': '','startPosition': '','outPutFormat': 'GeoJSON','resultType': ''}}", initialize: function initialize(e, t) { this.url = e, GeoGlobe.Util.extend(this, t); }, _buildReqStr: function _buildReqStr() { return GeoGlobe.String.format(this._reqStrTemplate, { type: this.type, dataInputs: this.typeName, sourceInputs: this.DataSource }); }, startAnalysis: function startAnalysis(e) { if (this._checkSet()) return !1; var t = this._buildReqStr(); new GeoGlobe.Request.POST({ url: this.url, data: t, scope: this, success: function success(e) { "" != e.responseText && null != e.responseText ? this.successFn(e) : this.failFn(); }, failure: this.failFn }); }, _checkSet: function _checkSet() { if (!this.url) return !1; }, successFn: function successFn(e) {}, failFn: function failFn() { alert("服务请求操作失败,请检测服务是否正常运行。"); }, CLASS_NAME: "GeoGlobe.Analysis.GetFeature" }), GeoGlobe.Analysis.SpatialAnalysis = GeoGlobe.Class({ url: null, type: "intersection", _requestStrTemplate: "{'SpatialAnalysis': {'service': 'OverlapService','version': '1.0.0','origionLayerNames': ['${origionLayerNames}'],'targetLayerNames': ['${targetLayerNames}'],'outPutFormat': 'GeoJSON','operator': '${dataInputs}','isSynchronization': 'true','tolerance': '${tolerance}'}}", initialize: function initialize(e, t) { this.url = e, GeoGlobe.Util.extend(this, t); }, _buildRequestStr: function _buildRequestStr() { return GeoGlobe.String.format(this._requestStrTemplate, { type: this.type, dataInputs: this.operator, origionLayerNames: this.origionLayerNames, targetLayerNames: this.targetLayerNames, tolerance: this.tolerance }); }, startAnalysis: function startAnalysis(e) { if (this._checkSet()) return !1; var t = this._buildRequestStr(); new GeoGlobe.Request.POST({ url: this.url, data: t, scope: this, success: function success(t) { "" != t.responseText && null != t.responseText ? this.successFn(t, e) : this.failFn(); }, failure: this.failFn }); }, _checkSet: function _checkSet() { if (!this.url) return !1; }, successFn: function successFn(e) {}, failFn: function failFn() { alert("叠置分析操作失败,请检测服务是否正常运行。"); }, CLASS_NAME: "GeoGlobe.Analysis.SpatialAnalysis" }); }).call(this, __webpack_require__(96)(module), __webpack_require__(238)); }, function (e, t) { var i; i = function () { return this; }(); try { i = i || new Function("return this")(); } catch (e) { "object" == (typeof window === "undefined" ? "undefined" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(window)) && (i = window); } e.exports = i; }, function (e, t, i) { "use strict"; var r = i(17), n = i(240), o = i(62); i(65)("search", 1, function (e, t, i, a) { return [function (i) { var r = e(this), n = null == i ? void 0 : i[t]; return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r)); }, function (e) { var t = a(i, e, this); if (t.done) return t.value; var s = r(e), x = String(this), l = s.lastIndex; n(l, 0) || (s.lastIndex = 0); var c = o(s, x); return n(s.lastIndex, l) || (s.lastIndex = l), null === c ? -1 : c.index; }]; }); }, function (e, t) { e.exports = Object.is || function (e, t) { return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t; }; }, function (e, t, i) { "use strict"; var r = i(17), n = i(19), o = i(81), a = i(62); i(65)("match", 1, function (e, t, i, s) { return [function (i) { var r = e(this), n = null == i ? void 0 : i[t]; return void 0 !== n ? n.call(i, r) : new RegExp(i)[t](String(r)); }, function (e) { var t = s(i, e, this); if (t.done) return t.value; var x = r(e), l = String(this); if (!x.global) return a(x, l); var c = x.unicode; x.lastIndex = 0; for (var u, h = [], f = 0; null !== (u = a(x, l));) { var d = String(u[0]); h[f] = d, "" === d && (x.lastIndex = o(l, n(x.lastIndex), c)), f++; } return 0 === f ? null : h; }]; }); }, function (e, i, r) { "use strict"; r.r(i); r(146); var n, o = r(144), a = r.n(o), s = (r(79), r(15)), x = r.n(s), l = (r(195), r(204), r(205), r(206), r(207), r(88), r(9)), c = r.n(l), u = (r(129), r(132), r(208), r(145)), h = r.n(u), f = r(8), d = r.n(f), g = (r(211), r(212), r(85), r(213), r(1)), p = r.n(g), m = r(2), b = r.n(m), v = r(68), C = r.n(v), _ = (r(69), r(42), r(86), r(229), r(230), r(6)), A = r.n(_), I = (r(84), r(141), r(143), r(0)), w = r.n(I), G = r(3), E = r.n(G), S = ["_latelyCollisionStamp", "collisionDetection", "boundBox", "minLevel", "{z}", "{x}", "CutString", "tile", "addCacheTile", "addLabelAndIco", "delaySynchronous", "send", "json", "LabelPoint", "Name", "initTDT", "pois", "createLabel", "_timer2", "coordinate", "font", "px ", "stringTable", "label", "sans-serif", "fontStyle", "bold ", "italic ", "fontColor", "shiningColor", "shiningSize", "backgroundPadding", "eyeOffset", "disableDepthTestDistance", "heightReference", "NONE", "symbolID", "billboard", "{id}", "displayHeight", "alignedAxis", "HeightReference", "priority", "xyz", "debug", "getElementsByClassName", "SceneTransforms", "getLabelReact", "class", "cssText", "position:absolute; top:", "px; left:", "px; width:", "px; height:", "collisionBox", "bindEvent", "moveEnd", "changed", "unbindEvent", "_roadTileset", "entity", "minX", "maxX", "maxY", "option optimize_for = LITE_RUNTIME;", "package GEOPOI;", "enum enumGeometryType {", "ePoint = 0;", "eMultiLineString = 1;", "ePolygon = 2;", "} ;", "message PBPOI{", "required uint64 OID = 1;", "required string Name =2;", "repeated double Coordinates =3 [packed=true];", "required enumGeometryType GeometryType = 4;", "optional int32 Interate = 5;", "optional int32 SymbolID = 10 [default = 0];", "optional double DisplayHeight = 11 [default = 32];", "optional uint32 ShiningColor=12 [default =0];", "optional uint32\tFontNameIndex=13 [default =0];", "optional int32\tFontSize=14 [default =18];", "optional uint32\tFontColor=15 [default =0];", "repeated string s = 1;", "message PBPOITile{", "required int64 Version = 1;", "required StringTable StringTable = 3;", "repeated PBPOI POIS = 4;", "ProtoBuf", "ProtoBuf.js is not present. Please see www/index.html for manual setup instructions.", "loadProto", "GeoPOI.proto", "GEOPOI", "PBPOITile", "enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};", "optional enumZCoordType ZCoordType = 16 [default = eAbsolute];", "message StringTable {", "required int64 TileKey = 2;", "GeoPOI2.proto", "optional int32 Priority = 5;", "repeated int32 Interates =6 [packed=true];", "optional int32 FontStyle=17;", "optional int32 ShiningSize=18;", "GeoPOI3.proto", "decode", "version", "Version", "titleKey", "TileKey", "StringTable", "POIS", "OID", "SymbolID", "DisplayHeight", "ShiningColor", "fontNameIndex", "FontNameIndex", "fontSize", "FontSize", "ZCoordType", "zCoordType", "geometryType", "Coordinates", "interates", "Interates", "FontStyle", "ShiningSize", "GeoWTFS", "hierarchy", "horizontalDistance", "verticalHeight", "spaceDistance", "MVTProvider", "_tileWidth", "tileWidth", "_tileHeight", "_mvtParser", "styleName", "_tileMatrixSetID", "_tileMatrixLabels", "protobuf", "maximumLevel", "_sourceMaxzoom", "sourceMaxzoom", "_symbolVisibility", "enablePickFeatures", "_pickedEvent", "_key", "https://a.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/{z}/{x}/{y}.vector.pbf?access_token={k}", "createForExtent", "getResolutions", "_pixelRatio", "Default", "Text", "_tileQueueForFeatures", "TileReplacementQueue", "_cacheSize", "getUrlTmpl", "_spriteUrl", "deferCache", "messageCache", "blankCanvas", "OffscreenCanvas", "_useWebWorker", "useWebWorker", "浏览器不支持OffscreenCanvas,无法使用WebWorker", "styleFunc", "getStyleUrl", "sources", "layers", "vector", "_styles", "sprite", "loadJson", ".json", "fetchJson", "stylefunction", ".png", "spriteData", "retry", "_initWorker", "_tileQueueForCanvas", "forEachLoadedTile", "imagery", "loadingImagery", "imageryLayer", "QuadtreeTileLoadState", "LOADING", "readyImagery", "addReference", "ImageryState", "setRequestHeader", "getTileCredits", "head", "yMvt", "zMvt", "replacementNext", "_lastBeforeStartOfFrame", "replacementPrevious", "tail", "\nvar sourceMaxZoom = ", ";\nvar resolutions = [", "];\nvar olmsUrl = '", "_olmsUrl", "';\nvar tileWidth = ", ";\nvar tileHeight = ", ';\nvar window={},document={implementation:{createDocument:function(){}},createElement:function(e){if("CANVAS"===e.toUpperCase())return new OffscreenCanvas(512,512)}};function getJSON(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.setRequestHeader("Accept","application/json"),s.onerror=function(){},s.onload=function(){if(200<=s.status&&s.status<300&&s.response){var e;try{e=JSON.parse(s.response)}catch(e){}t(e)}},s.send()}function getArrayBuffer(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onerror=function(){t(null)},s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response?t(e):t(null)},s.send()}function getImage(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="blob",s.onload=function(){var e=s.response;200<=s.status&&s.status<300&&s.response&&t(e)},s.send()}function clip(e,t){var s=JSON.parse(t),r=s[0],n=s[1],o=s[2];if(o>sourceMaxZoom){var a=[0,0,4096,4096],i=o-sourceMaxZoom,p=r-(r>>i<>i<Click to add first point

", "random", ")

", "

Double click to finish drawing

", "LEFT_DOUBLE_CLICK", "cartographicArrayToCartesianArray", "Rectangle", "northwest", "southwest", "startDrawingTailedAttack", "firstTime", "test", "

点击以增加第一个控制点

", "单击以增加一个新的控制点", "poly", "

双击可结束绘制

", "startDrawingExtent", "ExtentPrimitive", "

拖动改变箭头

再次点击结束绘制

", "setEditable", "_editable", "executeListeners", "dragEnd", "_highlighted", "_strokeColor", "fromCssColorString", "white", "_markers", "onEdited", "EllipsoidGeodesic", "interpolateUsingFraction", "billBoard", "removeBillboard", "index", "Drag to create a new point", "_editMarkers", "_globeClickhandler", "Extent", "cartesianArrayToCartographicArray", "doubleArrow", "拖动以钳击形状", "PolygonPrimitive单击", "拖动以改变形状", "TailedAttackPrimitive单击", "DrawHelperWidget", "Container is required", "./img/glyphicons_242_google_maps.png", "./img/glyphicons_097_vector_path_line.png", "./img/qianjijiantou.png", "./img/glyphicons_095_vector_path_circle.png", "./img/zhijiaojiantou.png", "DIV", "button", "title", "onclick", "SPAN", "IMG", "extentIcon", "点击以绘制直箭头", "extentCreated", "点击以绘制钳击箭头", "polygonCreated", "点击以绘制攻击箭头", "tailedAttackCreated", "clearIcon", "addToolbar", "ClearWidget", "DrawWidget", "west", "east", "south", "north", "EPSILON7", "pow", "toFixed", "twipsy-arrow", "twipsy-inner", "_div", "block", "none", "_title", "undefined", "constructor", "_listeners", "addListener", "getCircleCenterOfThreePoints", "getIntersectPoint", "getAzimuth", "getPointOnLine", "getCubicValue", "getArcPoints", "FITTING_COUNT", "getBisectorNormals", "ZERO_TOLERANCE", "getCurvePoints", "getLeftMostControlPoint", "getRightMostControlPoint", "getNormal", "getBinomialFactor", "getFactorial", "getQuadricBSplineFactor", "MeasureAreaWidget", "tags", "tag", "userAgent", "MeasureAreaWidget_draw_point", "WHITE", "MeasureAreaWidget_draw_label", "measureEnd", "selectFeatures", "indexOf", "polygon", "YELLOW", "delete", "MeasureAreaWidget_draw_polygon", "MeasureAreaWidget_", "area", "km²", "MeasureAzimuthWidget", "hideInfobox", "MeasureAzimuthWidget_result_label", "FILL_AND_OUTLINE", "18px KaiTi", "CADETBLUE", "Cesium3DTileset", "warn", "单击结束绘制", "MeasureAzimuthWidget_draw_polyline", "MeasureAzimuthWidget_", "PolylineArrowMaterialProperty", "AQUA", "_polylineGraphicsAzimuth", "PolylineDashMaterialProperty", "_polylineGraphicsNorth", "polyline", "point", "coordinates", "12px sans-serif", "角度:", "showInfobox", "display", "selectionIndicator", "infoBox", "MeasureCoordinateWidget", "请点击模型", "MeasureCoordinateWidget_", "MeasureCoordinateWidget_draw_coordinate", "MeasureCoordinateWidget_result_label", "经度:", "纬度:", "高程:", "collection", "MeasureDistanceWidget", "MeasureDistanceWidget_draw_point", "flag", "!cartesian", "MeasureDistanceWidget_draw_label", "MeasureDistanceWidget_draw_polyline", "总长:", "_polylineCollection", "_polyline", "_primitives", "MeasureDistanceWidget_result_label", "lerp", "MeasureElevationWidget_", "高程值:", "MeasureElevationWidget", "MeasureElevationWidget_result_label", "MeasureHeightWidget", "MeasureHeightWidget_draw_point", "MeasureHeightWidget_draw_polyline", "GREEN", "水平距离:", "垂直高度:", "空间距离:", "result_labelHeight", "MeasureHeightWidget_result_labelHeight", "MeasureSlopeWidget", "_camera", "_canvas", "_lineColor", "_lineWidth", "text", "MeasureSlopeWidget_draw_polyline", "MeasureSlopeWidget_", "PolylineArrow", "MeasureSlopeWidget_draw_label", "单击开始绘制", "atan", "MeasureSlopeWidget_result_label_", "LabelStyle", "16px KaiTi", "MeasureVolumeWidget", "_designElevation", "_samplingPointsNumber", "samplingPointsNumber", "_depthTestAgainstTerrain", "depthTestAgainstTerrain", "_classificationPrimitives", "_pickedClassificationPrimitives", "_tin", "_minHeight", "_maxHeight", "MeasureVolumeWidget_", "MeasureVolumeWidget_draw_label", "_volumeResult", "then", "addClassificationPrimitive", "addVerticalPolylines", "addBasePolygon", "_classificationPrimitive", "BLUE", "_interpolationPoints", "features", "_verticalPolylines", "MeasureVolumeWidget_draw_vertical_polylines", "properties", "lineString", "bboxPolygon", "randomPoint", "booleanPointInPolygon", "ceil", "FeatureCollection", "Feature", "Point", "apply", "getVolume", "intersection", "vertexSerial", "excavationVolume", "excavationArea", "fillVolume", "fillArea", "baseArea", "volume", "底面积:", "km³", "_resultLabels", "MeasureVolumeWidget_result_label_volume", "getGeometryInstanceAttributes", "_polylines", "toValue", "updateBaseElevation", "updateClassificationPrimitive", "体积:", "updateVerticalPolylinesAndBasePolygon", "ClassificationPrimitive", "MeasureVolumeWidget_draw_base_polygon", "miles", "convex", "steps", "edgeWidth", "edgeColor", "cylinderRadius", "clippingModeUnion", "enabled", "clippingPlanes", "modelEntityClippingPlanes", "computePlanes", "ClippingPlane", "createClippingPlanes", "ClippingPlaneCollection", "GeoFlood", "cartesianArrayHeights", "fragmentShader", "normalMapUrl", "createWaterFace", "creatPrimitive", "Water", "PolygonHierarchy", "VERSION", "parseFloat", "varying vec3 v_positionMC;\n\t\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\t\n\t\t\t\t\tvoid main()\n\t\t\t\t\t{\n\t\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t\t#endif\n\t\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t\t#ifdef FLAT\n\t\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t\t#else\n\t\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ", czm_lightDirectionEC", "GeoLimitHeight", "labelEntity", "polygonPlaneEntity", "targetHeight", "labelOption", "polygonPlaneOption", "polygonFitOption", "drawLabel", "drawPolygonPlane", "drawPolygonFit", "clearLabelEntity", "labelPosition", "labelText", "labelPixelOffset", "labelFillColor", "labelFont", "18px 楷体", "labelOutlineWidth", "labelStyle", "polygonPlanePerPositionHeight", "polygonPlaneHeight", "polygonPlaneMaterial", "polygonPlaneOutline", "polygonPlaneShow", "clearPolygonFitPrimitive", "polygonFitPositions", "error", "请输入有效的坐标数组!", "polygonFitHeight", "polygonFitExtrudedHeight", "polygonFitColor", "polygonFitPrimitive", "clearAll", "clearPolygonPlaneEntity", "GeoPLSViewShed3D_LIGHTPOINT", "GeoPLSViewShed3D_BOUNDARY", "GeoPLSViewShed3D_DASHLINE", "GeoPLSViewShed3D_ORIENTLINE", "GeoPLSViewShed3D", "groundPrimitives", "_pointLightHeight", "_pointLightPixelSize", "pointLightPixelSize", "_pointLightColor", "pointLightColor", "_boundaryWidth", "boundaryWidth", "_boundaryColor", "boundaryColor", "_orientLineWidth", "orientLineWidth", "_orientLineColor", "orientLineColor", "baseDEMLerpCfg", "_intervalAnalysis", "intervalAnalysis", "_pointLightCamera", "当前Cesium版本:", ",点光源可视域分析暂不支持该版本,请更换至1.50以上的版本!", "firstLeftClick", "shadowMap", "enableGeoPLSViewShed3D", "_baseDEMLerpCfg", "enable", "angleInterval", "timeInterval", "num", "boundaryPositionArr", "startPointLng", "startPointLat", "startPointHgt", "interpolationBase", "visibleColor", "invisibleColor", "单击左键确定可视域位置", "tipPosition", "单击左键固定可视域半径", "fromAlpha", "视高:", "半径:", "BOTTOM", "dynamicAnalysis", "pointLightPosition", "realTimeRadius", "Camera", "context", "size", "_pointLightRadius", "depthBias", "fromRadians", "toCartesian", "sort", "terrainShadows", "ShadowMode", "ENABLED", "GroundPolylineGeometry", "GroundPolylinePrimitive", "showBackground", "backgroundColor", "horizontalOrigin", "verticalOrigin", "pixelOffset", "fillColor", "outlineWidth", "outlineColor", "GeoProfile", "getLerpValue", "lng_origin", "lat_origin", "hgt_origin", "lng_destination", "lat_destination", "hgt_destination", "floor", "samplingNum", "minHeight", "maxHeight", "surfaceLen", "YValueArray", "addLenArray", "lerpCoordnatesArray", "drawChart", "getElementById", "onmousedown", "clientX", "onmousemove", "clientY", "onmouseup", "init", "剖面示意图", "#ccc", "bold", "axis", "
", "12%", "#aaa", "solid", "category", "长度(米)", "rgba(0.0, 128, 255, 0.6)", "bolder", "dashed", "高程(米)", "rgba(0.0,255.0,255.0,0.8)", "setOption", "table", "tbody", "innerHTML", "起点经度:", "投影距离:", "起点纬度:", "终点高程:", "地表距离:", "终点经度:", "最高高程:", "straightLen", "最低高程:", "oTable", "originCoordanate", "originImage", "destinationCoordanate", "clearChart", "myChart", "chartContainer", "removeChild", "GEOSIGHTLINE_TIP", "REDLINE", "GREENLINE", "GeoSightline", "observeRelativeHeight", "targetRelativeHeight", "observeImage", "targetImage", "objectsToExclude", "observeActualPosition", "targetActualPosition", "observeEntity", "targetEntity", ",通视分析暂不支持该版本,请更换至1.50以上的版本!", "destroyHandler", "enableGeoSightline", "pickFromRays", "单击左键确定观察点", "drillPickFromRay", "clampToHeight", "_entities", "_array", "GeoSkyLineVolume", "skyLineShow", "skylineShow", "skyLineWidth", "skyLineMaterial", "skyLineVolumeMaterial", "ORANGE", "skyLineVolumeOutLine", "skyLineVolumeOutLineColor", "BLACK", "extrudeRatio", "skyLine", "skyLineVolume", "calculateSkyLinePositions", "data", "skyLinePositions", "drawSkyLine", "skyLineDepthFailMaterial", "drawSkyLineVolume", "cameraPosition", "cameraHeight", "天际线示意图", "宽度(PX)", "line", "getPointDistance", "interNumber", "holeDepth", "arrPoints", "earth", "sideMaterial", "bottomMaterial", "GeoExcavationRegion", "samplingPoints", "_sideMaterial", "_interNumber", "_depth", "depth", "StripeMaterialProperty", "_entitys", "_samplingPoints", "_callback", "_bottomMaterial", "_vPolyline", "_vertexNum", "_excavationRegion", "_arrayVertex", "_outPoints", "GeoTerrainSlope", "shadingUniforms", "updateMaterial", "contour", "spacing", "selectedShading", "slope", "aspect", "elevation", "materials", "elevationRampMaterial", "minimumHeight", "maximumHeight", "contourMaterial", "slopeRampMaterial", "contourUniforms", "ElevationContour", "ElevationRamp", "SlopeRamp", "AspectRamp", "image", "getContext", "createLinearGradient", "#000000", "addColorStop", "#2747E0", "#ffffff", "#0a8d33", "#afdd76", "#f2b602", "#eea706", "#df7702", "#a52100", "#682b06", "#6a2402", "fillStyle", "ElevationColorContour", "max(contourMaterial.alpha, elevationRampMaterial.alpha)", "SlopeColorContour", "max(contourMaterial.alpha, slopeRampMaterial.alpha)", "AspectColorContour", "max(contourMaterial.alpha, aspectRampMaterial.alpha)", "_ready", "dirty", "polys", "isCartesian3Point", "platSlot", "content", "bindTileset", "_tileset", "There is a tileset already, Only One Bind", "platBodyDebug", "tileLoad", "showPlat", "isPlatShow", "isPlatDirty", "clearPlatDirty", "addPlatArea", "platPickPoints", "_show", "getPlatArea", "removePlatArea", "number", "_pickObject", "_tile", "_runtime", "rootNodes", "_boundingVolume", "halfAxes", "matOrg", "createHalfMatrix", "matOrgI", "invertMatrix", "matPrj", "matPrjI", "modelMatrix", "computedMatrix", "initBoxMatrixes", "modelMatrixI", "buffers", "initRegionMatrixes", "initializePlatPoly", "buffer", "byteOffset", "BYTES_PER_ELEMENT", "isPlatPoint", "replaceCommandVertexBuffer", "platPolys", "toPlatBoxModel", "toPlatModel", "_header", "boundingVolume", "region", "toPlatRegionModel", "platModel", "hitPlatTest", "isUsed", "toUnplatModel", "platPickRegion", "initPlatBodyDebug", "createTileRegion", "tileRegion", "initializeCartographicPlatPoly", "initializeCartesianPlatPoly", "divideByScalar", "initCompressPlane", "_orientedBoundingBox", "isPlatPointResult", "mapPosition", "compressPlane", "isPlatPointNoResult", "normal", "isInsidedPoint", "minY", "isEqualFloat", "_nodeCommands", "BufferUsage", "STATIC_DRAW", "command", "_vertexArray", "_attributes", "vertexBuffer", "vertexArrayDestroyable", "_vao", "glDeleteVertexArray", "_cachedGltf", "_gltf", "bufferViews", "getBuffer", "inverse", "setColumn", "createNormal", "createMatrix", "GEOVIEWRADAR_TIP", "GEOVIEWRADAR_LIGHTPOINT", "GeoViewRadar", "pointLightHeight", "boundingSphereStackPartitions", "boundingSphereSlicePartitions", "boundingSphereSubdivisions", ",雷达分析暂不支持该版本,请更换至1.50以上的版本!", "enableGeoViewRadar", "单击左键确定雷达位置", "单击左键固定雷达半径", "ShadowMap", "debugShow", "_boundingSphere", "slicePartitions", "subdivisions", "GEOVIEWSHED3D_TIP", "GEOVIEWSHED3D_SPOTID", "GeoViewShed3D", "spotLightHeight", "_shadowMapNum", "_spotLightCameraList", "expandShadowMapList", "spotLightPosition", "realTimeHeading", "realTimePitching", "realTimeDistance", "realTimeFieldAngle", "单击左键确定观察位置", "单击左键固定视域范围", "analysis", "observePtCoordinate", "frustumLength", "frustumField", "_terrainBias", "enableGeoViewShed3D", "lookAt", "fromHsl", "GeoVolumeCalculate_LINE", "GeoVolumeCalculate_TIP", "GeoVolumeCalculate_GON", "GeoVolumeCalculate_DEGON", "GeoVolumeCalculate_CORAL", "designElevation", "getValue", "shift", "polylineEntity", "volumeAnalysis", "VOLUME", "designPolygonEntity", "CORAL", "polygonEntity", "designPolygonEntity_coral", "左键点击绘制,右键点击结束", "15px sans-serif", "SingleBuildingWidget", "PrimitiveCollection", "CORNFLOWERBLUE", "highlightColor_click", "highlightColor_move", "_INTERSECTED_FLOOR", "_INTERSECTED_FLOOR2", "classificationPrimitiveCollection", "extrudeToBuilding", "_INTERSECTED_FLOOR3", "baseHeight", "sampleHeightSupported", "sampleHeight", "地形还未准备好!", "建筑物基础高度baseHeight是必需的!", "levels", "GEO_SINGLEBUILDING", "callback_click", "_primitiveOptions", "geometryInstances", "toString", "callback_move", "highlightFloor", "deActivate", "removeInputAction", "FlyAround", "_pitch", "_roll", "speed", "_distance", "_positionCartographic", "isFlying", "deltaHeight", "keyEvent", "preRender", "_play", "_heading", "deltaDistance", "play", "参数不可缺省!", "_preRender", "pause", "continue", "removeEventListener", "keydown", "shiftKey", "deltaRadians", "FreeFlight", "direct", "lat", "planePrimitive", "hpRoll", "fromBehind", "fixedFrameTransform", "pathPosition", "SampledPositionProperty", "speedVector", "hpRange", "readyPromise", "activeAnimations", "ModelAnimationLoop", "REPEAT", "boundingSphere", "range", "PolylineGlowMaterialProperty", "PALEGOLDENROD", "addSample", "JulianDate", "now", "headingPitchRollToFixedFrame", "lon", "postRender", "keydownOption", "keyCode", "RouteFly", "cartographicArray", "pointArray", "_stop", "cartesian3", "initialHeading", "differentBearing", "reduceBearing", "HorizontalRadian", "initializationFly", "clock", "startTime", "stopTime", "clockRange", "CLAMPED", "computeCirclularFlight", "addSeconds", "TRANSPARENT", "TimeInterval", "currentTime", "multiplier", "VerticalRadians", "WalkBrowse", "orientationAngle", "point1", "point2", "point3", "bearing1", "bearing2", "moveForward", "lookRight", "GeoCirclePipe", "topRadius", "bottomRadius", "_numSubGeometrys", "numSubGeometrys", "_imageColor", "imageColor", "_rotationXPerFrame", "rotationXPerFrame", "_rotationYPerFrame", "rotationYPerFrame", "rotationZPerFrame", "_instanceName", "endRadian", "_useImage", "_image", "_color", "multiplyByTranslation", "CirclePipeGeometry", "_startRadian", "_endRadian", "MaterialAppearance", "_waitForBuildingMaterial", "onTick", "onFrame", "_circlePipePrimitive", "fromRotationX", "fromRotationY", "fromRotationZ", "_rotationZPerFrame", "multiplyByMatrix3", "Image", "slices", "onMouseEnter", "onMouseLeave", "_onMouseLeftClick", "onMouseLeftClick", "_previousEnter", "_moveHandler", "_clickHandler", "images", "instanceNames", "_circlePipeCollection", "_onMouseEnter", "_onMouseLeave", "instanceName", "_center", "_drawCommandAlpha", "_drawCommandOpaque", "_needUpdate", "_va", "_speed", "_actived", "actived", "_lastTime", "_maxRadius", "_hSpeed", "_life", "_metallicFactor", "metallicFactor", "_roughnessFactor", "roughnessFactor", "_emissiveFactor", "emissiveFactor", "_initTransform", "_modelTransform", "_updateTime", "_updateCommands", "commandList", "vertexArray", "shaderProgram", "owner", "_updateVA", "_time", "getTimestamp", "_updateAlphaCommand", "_updateOpaqueCommand", "DrawCommand", "pass", "renderState", "RenderState", "fromCache", "WebGLConstants", "LEQUAL", "BlendingState", "ALPHA_BLEND", "ShaderProgram", "HDR", "uniformMap", "multiplyTransformation", "viewMatrix", "getRotation", "getMatrix3", "transpose", "Pass", "OPAQUE", "_computeStepCount", "createTypedArray", "ComponentDatatype", "FLOAT", "Buffer", "createVertexBuffer", "createIndexBuffer", "UNSIGNED_SHORT", "VertexArray", "_updateBoundingVolume", "round", "BoundingSphere", "attribute vec3 aPoint;\n", "attribute vec3 aNormal;\n", "attribute float aT;\n", "uniform mat3 u_normalMatrix;\n", "varying vec3 v_normalEC;\n", "varying vec3 v_positionEC;\n", "varying float v_t;\n", "void main(){\n", " v_positionEC = (czm_modelViewRelativeToEye * vec4(aPoint, 1.0)).xyz;\n", " v_normalEC = u_normalMatrix * aNormal;\n", "uniform vec4 u_color;\n", "uniform float u_metallicFactor;\n", "uniform float u_roughnessFactor;\n", "uniform vec3 u_emissiveFactor;\n", "float M_PI = 3.141592653589793;\n", "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n", " return f0 + (f90 - f0) * pow(clamp(1.0 - VdotH, 0.0, 1.0), 5.0);\n", "float smithVisibilityG1(float NdotV, float roughness) \n", " return NdotV / (NdotV * (1.0 - k) + k);\n", "float smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n", " return smithVisibilityG1(NdotL, roughness) * smithVisibilityG1(NdotV, roughness);\n", "float GGX(float roughness, float NdotH) \n", " float roughnessSquared = roughness * roughness;\n", " float f = (NdotH * roughnessSquared - NdotH) * NdotH + 1.0;\n", " return roughnessSquared / (M_PI * f * f);\n", "vec3 lambertianDiffuse(vec3 diffuseColor) \n", " return diffuseColor / M_PI;\n", "vec3 LINEARtoSRGB(vec3 linearIn) \n", "#ifndef HDR \n", " return pow(linearIn, vec3(1.0/2.2));\n", "#else \n", "#endif \n", " if (!gl_FrontFacing){\n", " n = -n;\n", " }\n", " vec4 baseColorWithAlpha = u_color;\n", " if (v_t > 0.5){", " baseColorWithAlpha.a = (2.0 - v_t * 2.0);\n", " else{\n", " baseColorWithAlpha.a = 1.0;\n", " vec3 baseColor = baseColorWithAlpha.rgb;\n", " float metalness = clamp(u_metallicFactor, 0.0, 1.0);\n", " float roughness = clamp(u_roughnessFactor, 0.04, 1.0);\n", " vec3 lightColor = vec3(1.5, 1.4, 1.2);\n", " vec3 h = normalize(v + l);\n", " float NdotL = clamp(dot(n, l), 0.001, 1.0);\n", " float NdotH = clamp(dot(n, h), 0.0, 1.0);\n", " float VdotH = clamp(dot(v, h), 0.0, 1.0);\n", " vec3 f0 = vec3(0.04);\n", " vec3 diffuseColor = baseColor * (1.0 - metalness) * (1.0 - f0);\n", " float alpha = roughness * roughness;\n", " float reflectance = max(max(specularColor.r, specularColor.g), specularColor.b);\n", " vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n", " vec3 r0 = specularColor.rgb;\n", " float G = smithVisibilityGGX(alpha, NdotL, NdotV);\n", " float D = GGX(alpha, NdotH);\n", " vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n", " vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n", " vec3 color = NdotL * lightColor * (diffuseContribution + specularContribution);\n", " color += u_emissiveFactor;\n", " color = LINEARtoSRGB(color);\n", " gl_FragColor = vec4(color, baseColorWithAlpha.a);\n", " float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n", " return linearIn;\n", " if (v_t > 0.5){discard;}\n", " vec3 n = normalize(v_normalEC);\n", " baseColorWithAlpha.a = 1.0;\n", " vec3 v = -normalize(v_positionEC);\n", " vec3 l = normalize(czm_sunDirectionEC);\n", " float LdotH = clamp(dot(l, h), 0.0, 1.0);\n", " vec3 specularColor = mix(f0, baseColor, metalness);\n", " vec3 F = fresnelSchlick2(r0, r90, VdotH);\n", "viewer is required.", "DEFAULT_HEIGHT", "_radius", "GeoDynamicCircle", "_classificationType", "classificationType", "DEFAULT_CLASSIFICATION_TYPE", "_bottomEllipse", "_waveEllipse", "_createDynamicCircle", "isShow", "setShow", "_isShow", "setColor", "DEFAULT_COLOR", "ellipse", "getColor", "setRadius", "DEFAULT_RADIUS", "semiMajorAxis", "getRadius", "setCenter", "position is required.", "ImageMaterialProperty", "CallbackProperty", "rgba(255, 255, 255, 1.0)", "rgba(255, 255, 255, 0.0)", "rgba(255, 255, 255, 0.9)", "rgba(255, 255, 255, 0.2)", "clearRect", "beginPath", "arc", "restore", "strokeStyle", "rgb(255, 255, 255)", "setLineDash", "stroke", "center is required.", "_length", "GeoDynamicCylinder", "DEFAULT_LENGTH", "_topRadius", "_bottomRadius", "particlesColor", "DEFAULT_PARTICLES_COLOR", "_cylinderColor", "cylinderColor", "particlesImageUrl", "_cylinderPrimitive", "_createDynamicCylinder", "_particlesPrimitive", "\n varying vec3 v_positionEC;\n varying vec3 v_normalEC;\n varying vec2 v_st;\n //varying vec4 v_color;\n //uniform sampler2D u_image;\n //uniform vec4 u_color;\n void main()\n {\n float powerRatio = fract(czm_frameNumber / 30.0) + 1.0;\n float alpha = pow(1.0 - v_st.t, powerRatio);\n vec4 color = vec4(", "red", "green", "blue", "alpha", ");\n // gl_FragColor = vec4(u_color.rgb, alpha*u_color.a);\n gl_FragColor = vec4(color.rgb, alpha*color.a);\n }\n ", "particles primitive", "_particlesImageUrl", "\n varying vec3 v_positionEC;\n varying vec3 v_normalEC;\n varying vec2 v_st;\n //varying vec4 v_color;\n //uniform sampler2D u_image;\n //uniform vec4 u_color;\n void main()\n {\n vec3 positionToEyeEC = -v_positionEC;\n vec3 normalEC = normalize(v_normalEC);\n normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\n float dt = fract(czm_frameNumber / 90.0);\n vec2 st = fract(vec2(1.0) + v_st - vec2(dt, dt));\n //vec4 imageColor = texture2D(u_image, st);\n\n czm_materialInput materialInput;\n materialInput.normalEC = normalEC;\n materialInput.positionToEyeEC = positionToEyeEC;\n materialInput.st = st;\n czm_material material = czm_getMaterial(materialInput);\n\n\n vec3 diffuse = material.diffuse;\n float alpha = material.alpha;\n\n //diffuse *= v_color.rgb;\n //alpha *= v_color.a;\n \n vec4 ucolor = vec4(", ");\n diffuse *= ucolor.rgb;\n alpha *= ucolor.a;\n\n //diffuse *= u_color.rgb;\n //alpha *= u_color.a;\n\n gl_FragColor = vec4(diffuse, alpha * pow(1.0 - v_st.t, 2.0));\n }\n ", "\n attribute vec3 position3DHigh;\n attribute vec3 position3DLow;\n attribute vec3 normal;\n attribute vec2 st;\n attribute float batchId;\n\n varying vec3 v_positionEC;\n varying vec3 v_normalEC;\n varying vec2 v_st;\n\n void main()\n {\n vec4 p = czm_computePosition();\n\n v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates\n v_normalEC = czm_normal * normal; // normal in eye coordinates\n v_st = st;\n\n gl_Position = czm_modelViewProjectionRelativeToEye * p;\n }\n ", "DEFAULT_CYLINDER_COLOR", "GOLD", "GeoHeatMap", "heatmapOptions", "orange", "useEntities", "defaults", "gradient", "maxOpacity", "minOpacity", "_computeBounds", "_getContainer", "width: ", "px; height: ", "body", "_getImageryProvider", "getDataURL", "_rectangle", "_tilingScheme", "WebMercatorTilingScheme", "_mbounds", "_getID", "charAt", "WebMercatorProjection", "wgs84ToMercator", "wgs84ToMercatorBB", "mercatorToWgs84", "mercatorToWgs84BB", "rad2deg", "deg2rad", "mercatorPointToHeatmapPoint", "_xoffset", "_factor", "_spacing", "maxCanvasSize", "minCanvasSize", "setData", "_initBounds", "_setWidthAndHeight", "radiusFactor", "_yoffset", "bounds", "_container", "px; margin: 0px; display: none;", "repaint", "_heatmap", "-hm", "wgs84PointToHeatmapPoint", "_layer", "imageryLayers", "updateLayer", "_renderer", "1.21", "transparent", "addImageryProvider", "url", "url is required.", "_url", "GeoImageCircle", "_ellipse", "_createImageCircle", "TERRAIN", "_position", "_direction", "_baseScale", "_mode", "buildModuleUrl", "_url_1", "urlTop", "explode", "_positions", "_startScale", "_endScale", "_imageSize", "_endColor", "smoking", "life", "_minLife", "_maxLife", "_minSpeed", "_maxSpeed", "_count", "_grow", "grow", "_texture_0", "_texture_1", "_drawCommand", "_pointsArray", "_speedScaleLifeTimesArray", "_preTime", "_loadTexture", "_initFires", "addPosition", "_explode", "_owner", "_fires", "_directionsArray", "frameState", "Resource", "Texture", "fetchImage", "_emissionPosition", "randomBetween", "_growFires", "baseScale", "_updateFire", "_initFire", "_clock", "shouldAnimate", "secondsOfDay", "_updateCommand", "_isCommandReady", "updateNext", "instanceCount", "_updateCommandBoundingVolume", "_updateCommandShaderProgram", "_updateCommandUniforms", "_updateCommandRenderState", "aPosition", "aDirection", "aSpeedScaleLifeTime", "_updateCommandVA", "time", "aTexcoord", "aPlane", "u_startScale", "u_endScale", "u_imageSize", "u_endColor", "u_texture_0", "u_texture_1", "_updateCommandModelMatrix", "attribute vec2 aPlane;\n", "attribute vec4 aDirection;\n", "attribute vec4 aSpeedScaleLifeTime;\n", "attribute vec2 aTexcoord;\n", "uniform float u_endScale;\n", "varying vec3 v_texcoord_0;\n", "varying vec4 v_colorFact;\n", "vec4 computePosition(vec3 position, vec2 plane, vec3 direction, float imageSize, float baseScale, float speed, float time){\n", " vec3 v = normalize(direction) * speed * time;\n", " vec4 result = czm_modelView * vec4(v, 1.0);\n", " result.xy += plane * imageSize * baseScale;\n", " return result;\n", "void main()\n", " float speed = aSpeedScaleLifeTime.x;\n", " float baseScale = aSpeedScaleLifeTime.y;\n", " float life = aSpeedScaleLifeTime.z;\n", " baseScale *= mix(u_startScale, u_endScale, t);\n", " gl_Position = czm_projection * positionEC;\n", " v_texcoord_0.z = aDirection.w;\n", " if (t > 0.618){\n", " v_texIndex = 2.0;\n", " else if (t > 0.382){\n", " v_texIndex = 1.0;\n", " v_texIndex = 0.0;\n", " v_colorFact = vec4(1.0 - t);\n", " v_colorFact = mix(u_startColor, u_endColor, t);\n", "uniform sampler2D u_texture_0;\n", "uniform sampler2D u_texture_1;\n", " int mode = int(v_texcoord_0.z);\n", " vec4 color = vec4(0.0);\n", " if (mode == 0){\n", " color = texture2D(u_texture_1, v_texcoord_0.xy);\n", " color = texture2D(u_texture_0, v_texcoord_0.xy);\n", " }\n", " else if (mode == 1){\n", " color.rg *= 1.4;\n", " else if (mode == 2){\n", " color = v_colorFact;\n", " if (color.a == 1.0){\n", " color.a = mc;\n", " if (color.a > 0.995){\n", " vec4 fact = czm_gammaCorrect(v_colorFact);\n", " color *= fact;\n", " if (color.a < 0.1){discard;}\n", " gl_FragColor = color;\n", "_normalFact", "_alphaFact", "GeoLineSmokeEffect", "_startColor", "density", "normalFactor", "_smokes", "_needTime", "_door", "_maxNormalFactor", "_minNormalFactor", "_growSmokes", "_initSmokes", "_initSmoke", "multiply", "fromRotationTranslation", "multiplyByPointAsVector", "alphaFact", "normalFact", "_updateSmoke", "_udoor", "TRANSLUCENT", "_updateCommandShaderProgramAlpha", "_updateCommandRepeatVA", "_updateCommandShaderProgramOpaque", "IndexDatatype", "u_startColor", "attribute vec4 aPosition;\n", "uniform vec4 u_endColor;\n", "uniform float u_imageSize;\n", " vec3 v = position;\n", " result /= result.w;\n", " float time = aSpeedScaleLifeTime.w;\n", " float t = time / life;\n", " vec4 positionEC = computePosition(aPosition.xyz, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n", " v_texcoord_0.xy = aTexcoord;\n", " v_texcoord_0.z = t;\n", " color = texture2D(u_texture_0, v_texcoord_0.xy);\n", " vec4 fact = v_colorFact;\n", " if (v_texcoord_0.z > 0.9){color.a *= 0.1;}\n", "uniform vec4 u_startColor;\n", "uniform float u_startScale;\n", " v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n", " if (v_texcoord_0.z > 0.9){discard;}\n", " color = czm_gammaCorrect(color);\n", "playing", "sampleMaxHeight", "sampleMaxPoint", "isParabola", "autoToGround", "_name", "createGuid", "render", "_data", "posititons", "getData", "_createPolylines", "_lines", "duration", "_clearPolylines", "_definitionChanged", "Event", "createPropertyDescriptor", "getType", "getValueOrClonedDefault", "_materialCache", "addMaterial", "GeoOutlineFireEffect", "_fireEffect", "_postProcess", "_assigned", "_depthAttachment", "_clearCommand", "_yPlane", "_zPlane", "_xyRange", "_checkPositionsOrder", "_createGroundTexture", "_createXYPlanes", "_createPostProcess", "_updateAssiged", "_viewMatrix", "_invViewMatrix", "postProcessStages", "useLogDepth", "_createFireEffect", "GeoLineFireEffect", "_computePlane", "_createAssignedFrameBuffer", "drawingBufferWidth", "drawingBufferHeight", "_framebuffer", "PixelFormat", "DEPTH_STENCIL", "PixelDatatype", "UNSIGNED_INT_24_8", "Sampler", "CLAMP_TO_EDGE", "TextureWrap", "TextureMinificationFilter", "NEAREST", "TextureMagnificationFilter", "Framebuffer", "ClearCommand", "addFireEffect", "addSmokeEffect", "_depthStencilTexture", "_view", "passState", "framebuffer", "execute", "uniform mat4 u_nViewMatrix;\n", "uniform int u_count;\n", "uniform vec4 u_planes[", "];\n", "uniform vec4 u_xPlane;\n", "uniform vec4 u_yPlane;\n", "uniform vec4 u_zPlane;\n", "uniform vec2 u_xyRange;\n", "uniform sampler2D colorTexture;\n", "uniform sampler2D depthTexture;\n", "uniform sampler2D u_assignedTexture;\n", "uniform sampler2D u_groundTexture;\n", "varying vec2 v_textureCoordinates;\n", "vec4 toEye(in vec2 uv, in float depth){\n", " vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n", " posInCamera = posInCamera / posInCamera.w;\n", "float getDepth(in vec4 depth){\n", " float z_window = czm_unpackDepth(depth);\n", " z_window = czm_reverseLogDepth(z_window);\n", " float n_range = czm_depthRange.near;\n", " float f_range = czm_depthRange.far;\n", " return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n", "vec2 getGroundTexCoord(in vec3 position){\n", " float y = czm_planeDistance(u_yPlane, position) / u_xyRange.y;\n", " return vec2(x * 4.0, y * 4.0);\n", " vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", " vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", " if(currD.r>=1.0){\n", " gl_FragColor = color;\n", " return;\n", " vec4 assigned = texture2D(u_assignedTexture, v_textureCoordinates);\n", " }\n", " float depth = getDepth(currD);\n", " float z = czm_planeDistance(u_zPlane, position.xyz);\n", " vec2 gndTexCoord = getGroundTexCoord(position.xyz);\n", " vec4 colorGround = texture2D(u_groundTexture, gndTexCoord);\n", " for (int i = 0; i < ", " if (i >= u_count){\n", " break;\n", " }\n", " float d0 = czm_planeDistance(u_planes[i], position.xyz);\n", " float d2 = czm_planeDistance(u_planes[i+2], position.xyz);\n", " if (d0 > 0.0 && d1 > 0.0 && d2 > 0.0){\n", " if (z < -1000.0){break;}\n", " break;\n", "PostProcessStage", "_groundTexture", "_xPlane", "urlGround", "function ", "join", "l-1", ";while(l<=h){ var m=(l+h)>>>1,x=a[m]", ";if(x===y){return m}else if(x<=y){", ";var p=c(x,y);if(p===0){return m}else if(p<=0){", ";if(", "){i=m;", "l=m+1}else{h=m-1}", "h=m-1}else{l=m+1}", "return -1};", "return i};", "c(x,y)", "function dispatchBsearch", "(a,y,c,l,h){ if(typeof(c)==='function'){ return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c) }else{ return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y) }} return dispatchBsearch", "triangulation", "binary-search-bounds", "stars", "edges", "removeTriangle", "addTriangle", "flip", "opposite", "cells", "neighbor", "flags", "next", "locate", "boundary", "constraint", "two-sum", "twoProduct", "fastTwoSum", "robust-subtract", "robustSubtract", "robust-sum", "linearExpansionSum", "two-product", "robust-scale", "scaleLinearExpansion", "sum(", "split", "substr", "prod(", "scale(", "prod(m", "var w", "=scale(w", "[0]);", "var p=", "sum", "diff", "slow", "function testInSphere(", ":return o", "robust-in-sphere", "delaunay", "isConstraint", "),prod(-", "Exact", "){var p=", ",n=", ",d=sub(p,n); return d[d.length-1];};return ", "prod", "function getOrientation(", "case ", "}var s=new Array(arguments.length);for(var i=0;i 0.0)\n", " {\n", " j++;\n", " clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", " clipNormal = clippingPlane.xyz;\n", " clipPosition = -clippingPlane.w * clipNormal;\n", " clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", " if (amount > 0.0)\n", " {\n", " clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n", " clipNormal = clippingPlane.xyz;\n", " amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", " clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", " {\n", " bDiscard = false;\n", " break;\n", " }\n", " }\n", " if (bDiscard) {\n", " discard;\n", "getClipAndStyleCodeForMulArea", "uniform sampler2D gltf_clippingPlanes; \n", "uniform mat4 gltf_clippingPlanesMatrix; \n", "uniform vec4 gltf_clippingPlanesEdgeStyle; \n", "{ \n", " gltf_clip_main(); \n", "); \n", " clippingPlanesEdgeColor.rgb = ", ".rgb; \n", " float clippingPlanesEdgeWidth = ", " if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) \n", " gl_FragColor = clippingPlanesEdgeColor;\n", " } \n", "} \n", " vec3 clipPosition = vec3(0.0);\n", " int j = i;\n", " clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n", " amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n", " j++;\n", " if (amount > 0.0)\n", " //break;\n", "void main() \n", " float clipDistance = clip(gl_FragCoord, ", ".a; \n", " if (clipDistance < 0.0) \n", " { \n", "peekSource", "addOutlinePosition", "_outline", "tileUnload", "raiseEvent", "_statistics", "decrementLoadCounts", "numberOfTilesWithContentReady", "unloadContent", "_enableTileset", "_root", "_removeEffectFromTileset", "_cache", "trim", "unloadTiles", "_unloadTileCallback", "GeoRadarScan", "DEFAULT_LINE_WIDTH", "_sectorColor", "_sectorWidth", "sectorWidth", "DEFAULT_SECTOR_WIDTH", "_createRadarScan", "_updateBorderMaterial", "_updateSectorMaterial", "_radarScanEntity", "_borderEntity", "setLineColor", "getLineColor", "setsectorColor", "radar", "rgba(", "rgba(255,255,255,1)", "255,255,255", ",1)", "moveTo", "lineTo", "fill", "_createCanvas", "GeoScanCircleEffect", "_repeat", "repeat", "_scanCirclePostProcess", "_scanAperturePostProcess", "_normal", "_setLife", "_setTime", "_color0", "_finishedEvent", "_updatePostProcesses", "_finish", "inverseViewMatrix", "_updateScanAperturePostProcess", "_updateScanCirclePostProcess", "uniform mat4 u_invViewMatrix;\n", "uniform vec3 u_center;\n", " vec4 color = texture2D(colorTexture, v_textureCoordinates);\n", " vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n", " if(currD.r >= 1.0){\n", " return;\n", " float zd = czm_unpackDepth(currD);\n", " zd = czm_reverseLogDepth(zd);\n", " zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n", " vec2 xy = vec2((v_textureCoordinates.x * 2.0 - 1.0), (v_textureCoordinates.y * 2.0 - 1.0));\n", " vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n", " float z = 0.0;\n", " if (all(notEqual(n, b))){\n", " vec3 nc = cross(b, n);\n", " b = normalize(b);\n", " z = dot(b, position.xyz) - dot(b, u_center);\n", " float d5 = u_param0.z * u_param0.y;\n", " float hw = u_param0.w / 2.0;\n", " float hw5 = hw * 12.0;\n", " float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n", " if (z < (d5 + hw5) && z > (d5 - hw5)){\n", " color.rgb = mix(color.rgb, u_color.rgb, smoothstep(0.0, 1.0, z1));\n", " float r = abs(z - d);\n", " if (u_color.a < 1.0){\n", " z = (r - hw * u_color.a) / (hw * (1.0 - u_color.a));\n", " color.rgb = mix(color.rgb, u_color.rgb, clamp(al * ((hw * u_color.a > r) ? 1.0 : exp(-(pow(z, 2.27)))), 0.0, 1.0));\n", "invViewMatrix", "uniform vec3 u_normal;\n", "uniform vec4 u_param0;\n", " position /= position.w;\n", " float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n", " vec3 b = normalize(position.xyz - u_center);\n", " b = cross(n, nc);\n", " float d = u_param0.z * t;\n", " float r = abs(z - d5);\n", " color.rgb *= ((r / hw5) > 0.5) ? 0.996 : 1.018;\n", " color.rgb += vec3(0.01) * u_color.rgb;\n", " if (z < (d + hw) && z > (d - hw)){\n", " r = 1.5707963 * r / hw;\n", " color.rgb = color.rgb * vec3(0.618) + u_color.rgb * vec3(cos(r) * 0.382);\n", "GeoScanRingEffect", "longest", "_textureUrl", "_scanPostProcess", "_texture", "_param1", "_param3", "_loading", "_checkVisible", "_updateTexture", "_udpateParams", "setTextureUrl", "_param0", "_param4", "_longest", "only-if-cache", "_param2", "uniform vec4 u_param3;\n", " gl_FragColor = color;\n", " position = u_invViewMatrix * position;\n", " float z0 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", " if(z0 < -800.0 || z0 > 800.0){\n", " vec3 v = u_param3.xyz * z0;\n", " vec3 p = position.xyz - v;\n", " float z2 = distance(u_param0.xyz, p);\n", " float z3 = u_param2.x * 0.75;\n", " if(z2 < z3){\n", " gl_FragColor = mix(color, u_color, (z2 - z3) * 0.8 / (u_param2.x * 0.25));\n", "uniform vec4 u_param2;\n", "uniform vec4 u_param4;\n", " float z0 = dot(u_param0.xyz, position.xyz) + u_param0.w;\n", " if(z0 < 0.0){\n", " float z1 = dot(u_param1.xyz, position.xyz) + u_param1.w;\n", " if(z1 < 0.0){\n", " float z2 = dot(u_param2.xyz, position.xyz) + u_param2.w;\n", " if(z2 < 0.0){\n", " float z3 = dot(u_param3.xyz, position.xyz) + u_param3.w;\n", " if(z3 < 0.0){\n", " float z4 = dot(u_param4.xyz, position.xyz) + u_param4.w;\n", " float a = max(sColor.r, max(sColor.g, sColor.b));\n", " gl_FragColor = mix(color, sColor, a * 0.8);\n", "_angle", "angle", "emit", "velocity", "imageSize", "_particleLife", "particleLife", "_emissionRate", "emissionRate", "_lifetime", "lifetime", "_system", "_initializeParticleSystem", "_reset", "_particles", "_billboard", "_particlePool", "VisualSenseStyleCondition", "_fieldName", "_fieldValue", "fieldValue", "minValue", "_maxValue", "maxValue", "_topic", "topic", "vec4(", "_makeColorShader", "if (visualSenseStyle_enabledMixColor == 1.0) { \n", "gl_FragColor *= ", "_minValue", " == ", ".0) \n", "if (", ".0 && ", "_makeLuminanceShader", ") \n", " >= ", " && ", "mixedColor", "luminanceAtZenith", "getLuminanceByProperty", "true", "getProperty", "ConditionParser", "parse", "fieldName", "_useElevation", "bloom", "glowOnly", "contrast", "brightness", "sigma", "stepSize", "isSelected", "GeoVisualSenseStyle", "_enabledMixedColor", "_enabledLuminanceAtZenith", "_enabledBloom", "_bloomStep", "_map", "_conditionParser", "_mixedColorConditions", "parseLuminanceAtZenith", "lightBand", "_enabledLightBand", "_luminanceAtZenithConditions", "conditions", "makeFragmentColorShader", "if (visualSenseStyle_enabledLuminanceAtZenith == 1.0) { \n", "luminanceValue = heightLightValue; \n", "makeShader", "makeLightBandShader", "float vtxf_a13 = fract(czm_frameNumber / 360.0);\n", "float vtxf_h = clamp(v_elevationPos.z / 300.0, 0.0, 1.0);\n", "vtxf_a13 = abs(vtxf_a13 - 0.5) * 2.0;\n", "float vtxf_diff = step(0.005, abs(vtxf_h - vtxf_a13));\n", "gl_FragColor.rgb += gl_FragColor.rgb * (1.0 - vtxf_diff);\n", "GeoWind", "level", "rectangle", "velocityScale", "particleMultiplier", "maxWindIntensity", "colors", "#00ffff", "#64f0ff", "#87e1ff", "#a0d0ff", "#c6adff", "#d49bff", "#ec6dff", "#ff1edb", "canvasContext", "_initWindy", "Windy", "header", "parameterCategory", "parameterNumber", "2,2", "2,3", "lo1", "la1", "refTime", "setHours", "getHours", "forecastTime", "interpolate", "release", "randomize", "substring", "indexFor", "rgba(0, 0, 0, 0.97)", "age", "globalCompositeOperation", "fillRect", "timer", "field", "_locationCoordinate", "_size", "_bounds", "tan", "_getLevel", "_getCenterPoint", "_calculateBounds", "1.16", "windy", "GEO_OVERVIEW_ICO_LAYER", "GEO_OVERVIWE_ICO_ID", "map2DOptions", "raster", "http://t3.tianditu.com/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&LAYER=vec&TILEMATRIXSET=c&FORMAT=tiles&VERSION=1.0.0&STYLE=default&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e90d56e5a09d1767899ad45846b0cefd", "tdt_layer_overview", "visible", "movingTargetIco", "movingTargetIcoSize", "movingTargetZoomLevel", "_isReady", "modelType", "ROAM", "_initOverview", "geo-cesium-viewer-overview", "layout", "toLocaleUpperCase", "startsWith", "bottom", "5px", "absolute", "_bindEvent", "map2D", "load", "loadImage", "addImage", "addSource", "addLayer", "updateAimingRect", "_unbindEvent", "GEOOVERVIEW_3D_RENDER_EVENT", "getMap2D", "getMap2DLayer", "getLayer", "addMap2DLayer", "removeLayer", "getMap2DSource", "addMap2DSource", "removeMap2DSource", "_latelyUpdateStamp", "_modelType", "getSource", "setLayoutProperty", "icon-rotate", "setModel", "setScalable", "boolean", "GeoOverviewWidget", "CustomGeographicTilingScheme", "_resolutions", "resolutions", "_maximumLevel", "_origin", "_fullExtent", "fullExtent", "_dataRectangle", "_matrixWidth", "_matrixHeight", "LN2", "_topTileExtent", "_numberOfLevelZeroTilesY", "_centerPoint", "_proposalHeight", "GeographicTilingScheme", "_numberOfLevelZeroTilesX", "getNumberOfXTilesAtLevel", "CustomWebMercatorTilingScheme", "matrixWidth", "numberOfLevelZeroTilesX", "numberOfLevelZeroTilesY", "_rectangleSouthwestInMeters", "rectangleSouthwestInMeters", "rectangleNortheastInMeters", "_rectangleNortheastInMeters", "getNumberOfYTilesAtLevel", "LineString", "GeoGeodesic", "radiansToDegrees", "degreesToRadians", "atan2", "_destination", "along", "_bearing", "geoTranslateByDistance", "GeoGeographicTilingScheme", "GeographicProjection", "when", "defer", "ToolManager", "_tools", "ModifyTerrainTool", "vertices", "heights", "mtHeight", "mtType", "fromKML", "resolve", "lenght", "timeStamp", "getTileDataAvailable", "_errorEvent", "_credit", "string", "Credit", "heightMapWidth", "heightMapHeight", "_subdomains", "firstRequestUrl", "{s}", "sTag", "_firstRequest", "layerName", "&Styles=&Format=image/mpt", "pngOnly", "maxTerrainLevel", "_maxTerrainLevel", "setFormatMPT", "_urlTemplate", "request=GetMap&Version=1.3.0&Service=WMS&v=1&CRS=EPSG:4326&bbox={south},{west},{north},{east}&height={height}&width={width}&optimizedOnly={optimizedOnly}&layers=", "_format", "_levelZeroMaximumGeometricError", "TerrainProvider", "_workerPool", "_pendingRequests", "_requestsCache", "_requestsCacheKeys", "errorEvent", "GeoSkylineTerrainProvider", "_geometricErrorFactor", "mpt", "png", "_isMPT", "replace", "requestFactorForLevel", "_requestGridSize", "getRequestBaseTerrainUrl", "getRequestElevationLayer", "getRequestUrl", "tilingScheme", "tileXYToNativeRectangle", "{north}", "{west}", "{east}", "{optimizedOnly}", "{height}", "isT_Inside_E", "DEGREES_PER_RADIAN", "isT_Intersects_E", "RADIANS_PER_DEGREE", "refreshElevationLayer", "_surface", "_levelZeroTiles", "findDirectParent", "freeResources", "isTileAvailable", "tileXYToRectangle", "terrainData", "_childTileMask", "markTileAsUnavailable", "requestTileGeometryBuffers", "requestedRectangle", "layer", "requestTileHeightBuffer", "all", "myReject", "reject", "isFloor", "arrayToHeightmapTerrainData", "otherwise", "_allElevationLayers", "each", "requestElevationLayerTileGeometry", "requestBaseTerrainTileGeometry", "nullTolerance", "nullValueNumber", "polygonVerticesX", "polygonVerticesY", "mergeBuffers", "offset", "tolerance", "_buffer", "Request", "subdomains", "/SG", "/Elevation", "format", "image/png", "image/mpt", "_modifyTerrainObjects", "modelFloorBestLevel", "NoMerge", "_selectedTiles", "NoFloor", "rootFloorRectangle", "getHRMTFP", "_model", "hasOwnProperty", "dataLoaded", "fetchArrayBuffer", "workerFinished", "queueWorkItem", "rejected", "extractTileHeightBuffer", "message", "HeightmapTerrainData", "workerPath is required.", "_workerPath", "workerPath", "_poolSize", "poolSize", "_workers", "_defered", "jobQueueSize", "onWorkerError", "workerId", "deferedId", "postMessage", "trimPool", "timerId", "terminate", "onWorkerMessage", "options.urls is required.", "_dataType", "dataType", "GeoTerrainProvider", "INT", "_tileType", "tileType", "HEIGHTMAP", "_urls", "urls", "_urls_length", "_url_i", "_url_step", "_readyPromise", "credit", "_heightmapWidth", "_heightmapHeight", "getEstimatedLevelZeroGeometricErrorForAHeightmap", "_opacity", "opacity", "_maxExtent", "maxExtent", "_topLevel", "_bottomLevel", "bottomLevel", "ready", "requestTileGeometry must not be called before ready returns true.", "promise", "requestTileGeometry", "&y=", "&l=", "_proxy", "getURL", "QUANTIZED_MESH", "_terrainDataStructure", "_skirtHeight", "getLevelMaximumGeometricError", "getvHeightBuffer", "_vHeightBuffer", "transformBuffer", "setInt8", "requestFunction", "GET", "open", "responseType", "arraybuffer", "async", "RequestScheduler", "request", "readyState", "status", "response", "byteLength", "Inflate", "decompress", "_rectangles", "getFloat64", "getFloat32", "subarray", "getUint32", "createTypedArrayFromArrayBuffer", "getUint8", "OCT_VERTEX_NORMALS", "_requestVertexNormals", "WATER_MASK", "METADATA", "_requestMetadata", "available", "endY", "EPSILON5", "fromRectangle", "_tileCredits", "int", "float", "quantized-mesh", "heightmap", "tileset", "source", "autoActivate", "originalColor", "fromBytes", "moveColor", "selectedFeature", "groundPrimitiveCollection", "geojson", "activateAction", "_seletedEvent", "XMLHttpRequest", "withCredentials", "Accept", "application/json", "onerror", "statusText", "onload", "_loadGroundPrimitives", "data的类型不被支持!", "Polygon", "类型,该类型不被支持!", "GEO_MONOMER_FEATURE", "reloadGeoJSON", "_loadGeoJSON", "description", "isContaintFeature", "drillPick", "selectedColor", "deactivateAction", "Cesium3DTilesetMonomer", "EasingFunction", "Intersect", "OrthographicFrustum", "PerspectiveFrustum", "CameraFlightPath", "_transform", "_invTransform", "_actualTransform", "_transformChanged", "isTDT", "_positionWC", "_directionWC", "_up", "_upWC", "_right", "aspectRatio", "fov", "defaultMoveAmount", "defaultLookAmount", "defaultRotateAmount", "defaultZoomAmount", "maximumZoomFactor", "_moveEnd", "_changed", "_changedDirection", "_changedFrustum", "percentageChanged", "_modeChanged", "_max2Dfrustum", "_suspendTerrainAdjustment", "DEFAULT_VIEW_RECTANGLE", "DEFAULT_VIEW_FACTOR", "TRANSFORM_2D", "TRANSFORM_2D_INVERSE", "PI_OVER_FOUR", "computeView", "_updateCameraChanged", "numberOfListeners", "_changedPosition", "fovy", "_adjustHeightForTerrain", "basisTo2D", "getColumn", "EPSILON10", "inverseTransformation", "_actualInvTransform", "_rightWC", "zeroToTwoPi", "MORPHING", "_moveStart", "mode is required.", "An OrthographicOffCenterFrustum is required in 2D.", "A PerspectiveFrustum or OrthographicFrustum is required in 3D and Columbus view", "The camera frustum is expected to be orthographic for 2D camera control.", "tileProvider", "_tileLoadQueueHigh", "_tileLoadQueueMedium", "_tileLoadQueueLow", "_debug", "tilesWaitingForChildren", "pickPositionWorldCoordinates", "ROTATE", "fromHeadingPitchRoll", "endTransform", "getRectangleCameraCoordinates", "flyHome", "completeMorph", "flyTo", "cartesian is required.", "worldToCameraCoordinatesVector", "cameraToWorldCoordinates", "cameraToWorldCoordinatesPoint", "cameraToWorldCoordinatesVector", "direction is required.", "moveUp", "moveDown", "moveRight", "lookLeft", "lookDown", "twistLeft", "axis is required.", "rotateDown", "rotateLeft", "zoomOut", "offset is required", "lookAt is not supported while morphing.", "UNIT_Y", "transform is required", "lookAtTransform is not supported while morphing.", "setEndPoints", "_offCenterFrustum", "MAX_VALUE", "rectangle is required", "windowPosition is required.", "near", "distanceToBoundingSphere", "boundingSphere is required.", "getPixelSize", "drawingBufferHeight is required.", "getPixelDimensions", "EXPONENTIAL_OUT", "createCorrectPositionTween", "duration is required.", "_currentFlight", "destination is required.", "cancelFlight", "convert", "complete", "cancel", "pitchAdjustHeight", "flyOverLongitude", "flyOverLongitudeWeight", "easingFunction", "createTween", "DEFAULT_OFFSET", "viewBoundingSphere is not supported while morphing.", "fromCartesian4", "radii", "multiplyComponents", "oneOverRadii", "upWC", "computeVisibility", "fromCartographicArray", "EPSILON9", "switchToPerspectiveFrustum", "switchToOrthographicFrustum", "projectionMatrix", "CameraEventType", "_update", "_isDown", "_movement", "prevAngle", "_buttonsDown", "position1", "_eventHandler", "PINCH_END", "PINCH_MOVE", "_eventStartPosition", "_pressTime", "_releaseTime", "RIGHT_DOWN", "RIGHT_UP", "MIDDLE_DRAG", "MIDDLE_UP", "_lastMovement", "valid", "canvas is required.", "_currentMousePosition", "ALT", "type is required.", "GeoCloudPrimitive", "speedScale", "_base", "_step", "_gamma", "gamma", "_isInverse", "_animationMatrix", "_colorTexture_0", "_requestUrl", "_requestCommand", "../../../resource/images/10.jpg", "_url_0", "_createTexture", "_context", "RGBA", "CloudPrimitive fetchImage is failed!", "passes", "_isTexturesReady", "_timeoutWorkerCommand", "_updateAnimationMatrix", "_createCommandByWorker", "var PI_OVER_TWO = PI / 2.0;\n", "onmessage = function (e) {\n", " var xCount = params.xCount;\n", " if (!xCount){\n", " var yCount = params.yCount;\n", " if (!yCount){\n", " postMessage({error:true});\n", " var radius = params.radius;\n", " if (!radius){\n", " var pointsCount = (xCount + 1) * (yCount - 1) + 2 * xCount;\n", " var pointsArray = new Float32Array(3 * pointsCount);\n", " var texcoordArray = new Float32Array(2 * pointsCount);\n", " var ptIndex = 0;\n", " var tcIndex = 0;\n", " var hFovRad = PI * 2.0;\n", " var angleH = 0;\n", " var angelV = 0;\n", " var stepVRad = vFovRad / yCount;\n", " for (var F = 0; F < xCount; F++){\n", " pointsArray[ptIndex ++] = 0.0;\n", " pointsArray[ptIndex ++] = -radius;\n", " texcoordArray[tcIndex ++] = F / xCount + 1 / (xCount * 2.0);\n", " texcoordArray[tcIndex ++] = 0.0;\n", " var startHRad = -PI;\n", " var startVRad = -PI_OVER_TWO + stepVRad;\n", " for (var U = 0; U < yCount - 1; U++) {\n", " angelV = startVRad + U * stepVRad;\n", " angleH = startHRad + F * stepHRad;\n", " pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.cos(angleH);\n", " pointsArray[ptIndex ++] = radius * Math.cos(angelV) * Math.sin(angleH);\n", " pointsArray[ptIndex ++] = radius * Math.sin(angelV);\n", " tt = 0.5 + angleH / hFovRad;\n", " texcoordArray[tcIndex ++] = tt;\n", " texcoordArray[tcIndex ++] = (U + 1) / yCount;\n", " pointsArray[ptIndex ++] = radius;\n", " texcoordArray[tcIndex ++] = 1.0;\n", " var faceIndexCount = (xCount * (yCount - 2) + xCount) * 6;\n", " var faceIndex = 0;\n", " for (var F = 0; F < xCount; F ++){\n", " faceIndexArray[faceIndex ++] = F + xCount + 1;\n", " faceIndexArray[faceIndex ++] = F + xCount;\n", " for (var U = 0; U < yCount - 2; U ++){\n", " faceIndexArray[faceIndex ++] = F + xCount + U * (xCount + 1);\n", " faceIndexArray[faceIndex ++] = F + xCount + 1 + U * (xCount + 1);\n", " faceIndexArray[faceIndex ++] = F + xCount + 1 + (U + 1) * (xCount + 1);\n", " faceIndexArray[faceIndex ++] = F + xCount + (U + 1) * (xCount + 1);\n", " faceIndexArray[faceIndex ++] = F + xCount + (yCount - 2) * (xCount + 1);\n", " postMessage({\n", " faceIndexArray: faceIndexArray\n", "};\n", "onerror = function(error){\n", "application/javascript", "onmessage", "faceIndexArray", "PrimitiveType", "TRIANGLES", "FUNC_ADD", "ONE", "_createShaderProgram", "cull", "_card", " attribute vec3 a_position;\n attribute vec2 a_texcoord_0;\n uniform mat4 u_animationMatrix;\n varying vec2 v_texcoord_0;\n ", " void main()\n {\n vec4 p = vec4(a_position, 1.0);\n v_texcoord_0 = a_texcoord_0;\n gl_Position = czm_modelViewProjection * u_animationMatrix * p;\n }\n ", " uniform sampler2D u_colorTexture_0;\n uniform vec4 u_gamma;\n varying vec2 v_texcoord_0;\n ", " float computeW(vec4 color){\n float w = color.w;\n if (w == 1.0){\n //w = min(min(color.r, color.g), color.b);\n w = sin(color.r * color.g * color.b * 1.5707963);\n }\n w = pow(w, u_gamma.w * 10.0);\n return w;\n }\n void main()\n {\n vec4 color_0 = texture2D(u_colorTexture_0, v_texcoord_0);\n color_0.w = computeW(color_0);\n color_0.rgb *= u_gamma.xyz;\n gl_FragColor = color_0;\n }\n ", "topCylinderColor", "bottomCylinderColor", "createPrestrainPrimitive", "ellipseAppearance", "prestrainEllipsePrimitive", "trackedEntity", "pointEntity", "ellipsePrimitive", "cylinderPrimitive", "MIDDLE_DOWN", "prestrainCylinderPrimitive", "removeById", "EllipseGeometry", "VERTEXT_FORMAT", "POSITION_AND_NORMAL", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAA6E2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE5LTA2LTExVDEwOjE2OjUzKzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjNkNWU2OTU5LTZiOTMtZTQ0Mi1hNmFkLWVhMmExOWQxZGI0MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo5ODQ4MzQ2Ny03Mjg5LTUzNGQtOTUyOC05MGY3MWU0MTEwMmU8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6OTg0ODM0NjctNzI4OS01MzRkLTk1MjgtOTBmNzFlNDExMDJlPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTA2LTExVDA5OjQ2OjU3KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozZDVlNjk1OS02YjkzLWU0NDItYTZhZC1lYTJhMTlkMWRiNDE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDYtMTFUMTA6MTY6NTMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pu16zW8AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAEbhJREFUeNrsW3t0VPWd//x+9955ZDKTyeRNnrxCXEGEgAqyQXqEWmtdtbj0gVsaaVfWB6tSjh5r67J2j0qhPrrWcnqaLisKVK0bLdsKIiBGBOVhSYiERwghk5AQ8pqZ3Dv3/r77x/yGjrOZyUSC7jnu95zfyeP+Ht/f5/5+3/dlRIQvM3F8yenzACAPwDIAc0cwZhyABwBUXGrm1Es4dz6AbwGYB+BvAPzrCMZ6AHwfwE0A3gewGcChS8EkuwQy4DYA1QBKAZwDsA/AWwB2AwiN4GRWArgRwLUACgB0A3gNwDP/VwH4HoD7ANgB/BnAbwHUj9Lc2QDuBPB3AHwAXgHw41GZmYguts0mov1EdISIVozCfMO1hUT0ARE1EdGdFzvfxTKzjoi6ieipz2Hj8W0JEZ0moneJKOPzBiCfiE4Q0SEiKv0CNh/bXiaiEBF97bOM/ywyYB6APwFYB+DeEYzzAZgG4DKp5nwAFPlMABgA0AzgKIADAFpGMPcdAH4H4LERapsRn4BvUoS+l2J/HxEtJaI3iaiXUieLiN4jooeJaGKKa11GRANE9ItLdQVulszNSaFvERE9TUQ9iXZomqZlGIZpGIZlGIY5DCCvSWE73LppRNRBRGtG+wrMBLBXWnO7hun7UwAPAXDE/M+sq6s7vmfPnuaGhgZ/a2tr/7lz53TTNIkxxgCQ1+vVxowZk15eXp47c+bM0qqqqvEulys9bu71cm5/kvVdADoB/ATAz0fDDvDKCX8IoCZJvyskg1Oj//D7/Z01NTUf1NbW1h88eNCv67oBQOGca3a7XeGcI7q+YRjCNE0TQBgAr6ioyLnhhhsmLV68eEZlZeWEmHX6APwjgI1JeJkAoAnAfADbLhaAj+XbX5qkz3cAbLjwuk1z8LHHHvvjunXr9nZ2dp5XFMWTm5vrstvtXModBoDFiyPGGMnx1N3dPRgMBns1TbMtWrRoyqpVq24cO3bsmJj+qwGsTMLTrdJy9ADo/6wAPCIdmaIkfR4AsCb6x7Zt2w7de++9f2hsbDzjdruzc3JynEIIQUQqgHR5Naxij9s2PsOT7rQM5VjfQH/TQCgktYIpGTYUReEDAwPm2bNnz2ZkZLgef/zxr95zzz0LYtZ+CcB3k/D2nwBKkjliyQAoAnAawBQAhxP0uRvAL6N/rFmzZsuKFStqATjHjRvnE0KYROQAkCn9gBYAJwG0PVKcWzY1M+M6h6JkHusPvPPAsdP7pANVJptXAtGvqqra3t4eCAQCnXfcccc169ev/36MI/eyPIGJKCCv74aRAvA2gDapY4eimwC8Ef3jwQcffHnt2rVbMzMzC3w+n900TZKucEA6RB/W3TTvOBgD0zToRw7foR9peJQrWqlWNvZRraT0KTJNgAhzdh/IkzbDLOkIdXLOjXA4zFpbW1vnzp07cevWrcs1TbPL5X8O4EcJ+LwdwAsAskYSD7haSv4fJnheAKA2+sfDDz+8ee3atdvy8/OLvV6vZpqmDcAYadA8DWDT/oeWH3dMvgKOK66E88pKqJneYqurZ6Le3GkTg4ZHzc6C4s2A4s3A+zdd1yGNrdXSk8wQQnhVVbXKyspKdu7ceXzBggXPArAkCysA3JKA199LrbFqJAD8Qh6tRO5rbVSI1dTU7HziiSf+nJeXV+h0OiGEcEvBs1lai60AYLafiTR/K8JtLTarv6+YGCAEQIKXkBAVZFo2CpugsBldZ0B6fr8CoBNRLoBwWVlZ4Y4dO45WV1f/R9xGvQn4/RGAf0oVgHEAxkp9OxQtATADAI4cOXKqurp6o8fjyXW5XFxu3gHg1/HqJ7h/T7R5Qvveuz58+uQk6FL8G+HJYlCvIgE7MQX0v9mql8e8h4jyAFiFhYVFNTU1u2tqanbGBHfWJeD5vwG0A7gnFQAeAvAhgPNDPNPkkQYAWrp06UYAak5OjtOyLLt88+uk6vwUmaeaI635pMc4eaLK6usdz5yAogFWZ+v4cMuxK3m6Q1NzfFAyPUNtokuezBARZdpsNkpPT8+97777Xvf7/V0x9/2KBCDUyCjTsADMTWLwLAOQAQDr169/t66urqm0tDTHNE0BIEfq3Y+HNM+uW4D0r94Mx7SrMkiIKhEIljAVUDIBq/+8xzjdMoMBecxmA1OURIK5W54uuxDClpeX5xoYGAg98sgjb8T0eTLB2BekAzYpGQDXyp+vJdH5ICJz9erVOzVN83LOhYzYHJGRoKGDj3kF0AqLoXgyJtLAwAQYAszOwNI0kA5YXQFP+GzHlHDrKY/RcjKZbXJMCsZc0zTNnJyc3BdffPFAU1NTq3x+QwK7JSBVcHUyAL4rOw1F18g4H2praw8cPnz4TEFBgVsIoch5XkvGdejghwgd+rBcP940R/QEXOAAc6gAY4AJUMDyit7+vwVDCfdmDGedbpF3Ot3tdqvhcNhYt25dXVx4bijaCaBKmspDAjA9ibOzKPrLpk2bDgLQOOdRP/+g9OUTkggFYDQfqzSaPqkSuqlBYQDngACYBpAYzDLbz8xnmlZqGzt2OAAMuRmvZVkiLS3N++abbzbouh7VWt9Mor2yASxMBMDSJFHXrwBAT09Pb11d3SmPx+ORRpQqDZ2k5Jw5C6rbPZkCfdOgQAVnkTAIAJ6pgKm6qh87Osns6ipNMV2xTwpqm8/nczY2Nnbt2rWrST6bJu2QeDog7YXfJwLgsLwr8ZQDYDIA7N27t7mlpaXX4/FoUuV1yChOUhLBwBirp28K6brKnWBMkwAQwO0M4IDoBUSQplJYTEoBgF4AxwG4VVUFALFnz57mOGNuKKqX40aUGKmIgtXQ0NBORJaqqoyI0qTbGRxugv4d7/xDuKmtQnQDzEkAWZHGAMYBywBMAejNLTcyTi0AfpYCX80ApsmTqDU2Np6NeZYKiCkDcEGqnjlzpj/Gh1BlrGBYKszUzgyUF+4z9IIuxcHPCzDBAHAOUlRuWSHdEQ7odueEMW32orxPcOCTVKbtkN4jUxRF8/v9AzHPikcTgAuWSXd3dzhOiwRTmcCVQVudqnoQYZ7GbUwnzgVxBs4AaAohCIX6LZVl2wLwOc6myFcwCoDdbmc9PT1hy7KEoig8ludRzQ3KYManrncq4zb1TW4Ph1m7SRwAg2AcBEABQVEYzNAgwrqBzEAx0vuyU2XnwtqRyBqYEAJKYkPqMwPAYgD4TLm05T3XFrmddpdiU7lOsAQxBgEwEuCWgG6EedgSfFzIo2f3Oc8lMMWHezk0FM+jAYB1wRnQtNiJKSa2n5SKHcZSZuqzLJNl2zjvFWAMBMaIiDOCzdBdImxxj6WccAu8BOD1FPlnACCEgKqqTFEUFs/zaADQfUEf5uTYZfwORCQAuFOZYHJ5vvr2lg8mnT7dWcrcOZZ8ZRH+VQUUDCjcHDQ1jHOEzZzcFPlyyz2QrusiKyvLxjln8TyPBgCnLrzJ4uKMaEJFRnDzU5lg2pVFGz/6+NRXTncZpU63TdEUDi7lAFc4Bp0KINyC2R1vChJvpchXAQCFMUZCCKOwsNATpyJTysOnQo1RaT916tQxmqZp4XCYpNFUImN+yWPr3rQTmT5PPZwOy7QIXFVgd2rQbAoM04RmV5Gd6+lLc9q2M8aaU+RrHIBBeQ3MKVOmFMQZPCMG4FsyGBJPAwA+AoDp06eXlZeXZ/X09AzKE+ADcPmwCDb6RV5W2geluZ5DRm8IpmGBAFiWQDBggCwaTE/TPjQtq30goKfC+xjJ64Cu65bNZrPPmTNnXIyvsHeIMQqAbwO4LhEAj0Zd3iHoLQCw2+2OefPmjQ8Gg33yvgWTmJ0X6Fx3wCwfn7N74rjsAzAFhBDSCmTgjEFV+HFF4X8yDPNsMJgSALMBOBljZmdnZ2D69OkFM2bMGC+f7ZIJlKH8meejEa2hANgcm9mJo5ejvyxevHgGAKbrugDQI83OymTcTqrIM0vLshp9eZ5GxeOEKYDBUBhEBM2mwONxnPT5XNuyfK7urCzXcJvPkrGLLsaYYppm38KFC6+I2c/GJJHsvQB+kwiADQAKE0j24wA+AICrr7560vXXXz+xra2tWxod/TITk1CoGoaFYCgMu11pzc11tUEIMdCvQ9dNKJyhpNh7bOb04voZ04qMyiuLhgNgIQAHY0w/d+5cMDs721tdXT07Gn0DsCnBuFnyJPckAuCYvO9LEkxwwUF59NFH5wPQQ6GQYIz1So8xUSAC7+05ibd3HEVPz2Dz2OLs3RrnvVb3AMIDRrhoTObxMQXew5wzcIUjYskmpCp5hDsYY2pfX1/n/fffPyczMzMaRVkn9xBPpQBy48N9Q630qhQUQ9EbMvSFqqqqy5csWXKV3+9vVxRFlbH3WQC+MdTAvBw3crPTMbY06+SEcdm7HC6tHyAwjetOp7anr09vqD/SjobGDjQeTegKTJa8damqyk6ePNk9adKkwpUrV94Q0+enCcbeD+BEvH0wFABrAYyXKbGh6M7oL88888zf5+fnZ5w4ceK8qqpMhqlulu3TCrvAg4ICD/Lz3B2Zmc73XS77ABw2OF2OQE62e2uG23FIVRRoaqQNQdMRyQoHOOeD3d3dOoBATU3Nt1VVtcVsvisB37dhiHQ5T6Dy3olNeMbR+9Fj5PF43LW1tT8goqDf7w+oqmpKF/UbEqi06KCGI+1oONKOQ385g2PHu7o0RTnPnXZwzvQsb9rHBXme4Ji8DERbHH0dwA8ADHLO+0KhEJ0/f97/3HPPLZw1a1ZFjIxalcgVkY7TllQtwX+WE06UAY94qpa6dOzMmTMnvvLKK0sWLlz4W7/fj4KCApdpmm0ArpJG0lsA3ms44o86LFAUbnrcjsbCPPdVlhBdgaDe390dgG6Y8etcJqO8lwHoUhRFDwQC1NHRcWbFihUL4jLFX0siNx6WexpRcvTf5SZmJnheBuATADYA2Lx58/uLFi1aD8A5fvz4TMuyTCLyylNwTBpSDZVzftwBwMs5+3pPT+iq3t7Qac5ZDSJVpWg/+csMAOUyrjdFWnmdqqryzs7Owb6+vo6VK1cuePLJJxfFGXCJJP8qmTC5bKQAMHkdqpNMfo28EgCA3bt3NyxatGh9W1vb+YKCgnyn08kty4JMpjili9sqZUW/VFlRjzINkWxykdQoFoDznHOLiHhzc3MXAOv555+/ddmyZdfHCbenE/CXK69kJYD9IwUAiNTq/lFuoC9BnznymDsB4Ny5c+eXL1/+yoYNGz4CYCssLPTZbDYuhBDytKTJnzzOZxfStA7Juw4hBFpbW/sty+qdPXv2hGefffbWysrK8pgx9wF4Lgn/hxFJ8y9P+JZTiG/8Th7HqUn6lAP4AyJV4ZHMxZYtH61Zs2bX9u3bjwMQaWlpHq/Xa9c0jUtXeujAg2VRf3+/0dvb2w/AnDx5csFdd901++6774596zoiRRHJkjFPyqtRmjTSk2KApx7AnlgVmODKvIC4moLt27cffvXVVw/u3LnzRFNTU7dhGEaSaA0xxpSSkpKMWbNmldxyyy1Tbr/99umcc3tcdufO2NB2giTORumqd4wGAC5EqkWeSiFcPR/Av0ij6K/Ry2AwsH///pb6+np/S0tLb2dn56BpmtFYHnw+n1ZYWOiuqKjInzZtWnFeXp4vbt4ziFSB/nqY9a9FpDS/CsC7qcTRUm1FRNRPRD9Jsf/tRLSNLp4+JqIHiciRwprziEgQ0W2Xqli6SJa8bhjBmMtlyevbsrJ8OBokon1EtJqI5o5gnbvl+FsudbG0S+blwogUTnePYGyGzMyWIVLOosZogAFEqshOIHkl6FC0AZGPKRYAqBtpKPliytR7R+OjhYto1xDRUSL6CxF5vogPJhYS0Rki2k1E0z7HjfuIaD0RdRHRz77IL0ZivxxpJqLXiejqS7jxQiL6lVxry2h8rDGaH00VSRV5jTR3axEpZe28yHlV6cp+RxpcLQD+DcNXraeW8roEn81lIvIlyXyZoOxApHDqNzK8nuocy6ROL5GW3x5E6gXrR5NZdom/HZ6MSEXGfGnAvJTiuKnSwTkI4L8A7LhUDLL//3j6S05fegD+ZwD3gk1Njxe3yQAAAABJRU5ErkJggg==", "varying vec3 v_positionMC;\n\t\t\t\tvarying vec3 v_positionEC;\n\t\t\t\tvarying vec2 v_st;\n\t\t\t\t\n\t\t\t\tvoid main()\n\t\t\t\t{\n\t\t\t\t\tczm_materialInput materialInput;\n\t\t\t\t\tvec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)));\n\t\t\t\t#ifdef FACE_FORWARD\n\t\t\t\t\tnormalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);\n\t\t\t\t#endif\n\t\t\t\t\tmaterialInput.s = v_st.s;\n\t\t\t\t\tmaterialInput.st = v_st;\n\t\t\t\t\tmaterialInput.str = vec3(v_st, 0.0);\n\t\t\t\t\tmaterialInput.normalEC = normalEC;\n\t\t\t\t\tmaterialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC);\n\t\t\t\t\tvec3 positionToEyeEC = -v_positionEC;\n\t\t\t\t\tmaterialInput.positionToEyeEC = positionToEyeEC;\n\t\t\t\t\tczm_material material = czm_getMaterial(materialInput);\n\t\t\t\t#ifdef FLAT\n\t\t\t\t\tgl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\t\t\t\t#else\n\t\t\t\t\tgl_FragColor = czm_phong(normalize(positionToEyeEC), material", ");\n\t\t\t\t\tif(gl_FragColor.r==1.0&&gl_FragColor.g==1.0&&gl_FragColor.b==1.0&&gl_FragColor.a==1.0){\n\t\t\t\t\t\tgl_FragColor.a = 0.0;\n\t\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t}\n\t\t\t", "GeoLocateRatate", "GeoRayPick", "isOnly", "BoundingRectangle", "View", "deferred", "doPick", "minimumRadius", "postProcess", "offscreen", "_frameState", "brdfLutGenerator", "_brdfLutGenerator", "environmentMap", "_cubeMap", "morphTime", "cullingVolume", "computeCullingVolume", "_terrainExaggeration", "minimumDisableDepthTestDistance", "_minimumDisableDepthTestDistance", "invertClassification", "_sunColor", "_actualInvertClassificationColor", "isTranslucencySupported", "invertClassificationColor", "maximumScreenSpaceError", "CullingVolume", "_environmentState", "skyAtmosphereCommand", "skyBoxCommand", "sunDrawCommand", "sunComputeCommand", "moonCommand", "_depthPlane", "renderTranslucentDepthForPick", "planes", "originalFramebuffer", "useGlobeDepthFramebuffer", "viewport", "_hdr", "globeDepth", "useOIT", "usePostProcess", "useInvertClassification", "PickDepth", "derivedCommands", "picking", "depthOnlyCommand", "EPSILON12", "mergeSort", "updateCamera", "far", "updateFrustum", "ENVIRONMENT", "clearGlobeDepth", "_depthClearCommand", "frustumCommandsList", "opaqueFrustumNearOffset", "stencilBuffer", "updatePass", "commands", "GLOBE", "indices", "executeCopyDepth", "TERRAIN_CLASSIFICATION", "CLASSIFICATION", "CESIUM_3D_TILE", "CESIUM_3D_TILE_CLASSIFICATION", "depthTexture", "useDepthPicking", "createPotentiallyVisibleSet", "executeCopyColor", "uniformState", "_pickOffscreenView", "pickFramebuffer", "begin", "disableThisFrame", "pickEx", "end", "_defaultView", "endFrame", "_pick", "ray", "getDepthEx", "readPixels", "unpack", "getPixelsEx", "PickFramebuffer", "watchPlane", "_picker", "Scene", "_originalDestory", "_originalUpdate", "_updatePicked", "_content", "computeVisibilityWithPlaneMask", "MASK_INDETERMINATE", "MASK_OUTSIDE", "_visibility_Old", "visibility", "computeIntersectionWithBoundingVolume", "clippingPlanesOriginMatrix", "_isClipped", "INSIDE", "OUTSIDE", "Cesium3DTile", "projectTo2D", "_boundingVolume2D", "MASK_INSIDE", "INTERSECTING", "COLUMN0ROW0", "COLUMN0ROW1", "COLUMN0ROW2", "COLUMN1ROW0", "COLUMN2ROW0", "COLUMN2ROW2", "_videoProject", "_context2D", "_width", "_dirty", "_sampler", "_updateSize", "videoWidth", "timeupdate", "_getCurrentTexture", "_createSampler", "_source", "params", "UNSIGNED_BYTE", "copyFrom", "_recreateParseCanvas", "drawImage", "nextPowerOfTwo", "_readVideoFramePixels", "videoHeight", "_videoProjection", "_uniforms", "_postStage", "_videoTexture", "_addEvent", "_removeEvent", "_createEvent", "_FS_Cone", "uniform float mixNum;\n", "uniform float videoDistance;\n", "uniform sampler2D videoTexture;\n", "uniform mat4 videoMapMatrix;\n", "uniform mat4 videoViewMatrix;\n", "uniform vec3 videoMapPosition;\n", " vec4 posInCamera =czm_inverseProjection * vec4(xy, depth, 1.0);\n", " return posInCamera;\n", "bool videoVisibility(sampler2D shadowMap, vec4 position){\n", " vec4 positionEC = toEye(v_textureCoordinates, depth);\n", " if (any(lessThan(videoPosition.xyz, vec3(0.0))) || any(greaterThan(videoPosition.xyz, vec3(1.0))))\n", " bool visibility = videoVisibility(videoMapTexture, videoPosition);\n", " if(visibility){\n", " vec4 videoColor = texture2D(videoTexture, videoPosition.xy);\n", " }else{\n", "_FS_Cone_Fill", "uniform sampler2D videoMapTexture;\n", "uniform vec4 u_videoColor;\n", " float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n", " return (visibility == 1.0);\n", " vec4 videoPosition = videoMapMatrix * positionEC;\n", " videoPosition /= videoPosition.w;\n", " vec4 videoColor = u_videoColor;\n", " gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n", "_FS_Sphere", " mat4 viewScene = videoViewMatrix;\n", " gl_FragColor = color;\n", " return;\n", "_FS_Sphere_Fill", " vec4 positionWC = viewScene * positionEC;\n", " depth = length(videoMapPosition - positionWC.xyz);\n", "_updateState", "_getCurrentVideoTexture", "fillVideo", "_createUniforms", "_createPostStage", "_clearData", "_addToScene", "_removeFromScene", "mixFactor", "_getShadowMapTexture", "_getShadowMapMatrix", "_getViewMatrix", "hitlineColor", "fovDistance", "_updatePost", "hitlineType", "_MinFovX", "_maxFovX", "_minFovY", "_MinFovY", "_maxFovY", "_MaxFovY", "_minFovDistance", "_MinFovDistance", "_maxFovDistance", "_MaxFovDistance", "_minHeading", "_MinHeading", "_maxHeading", "_MaxHeading", "_MinPitch", "_maxPitch", "_MaxPitch", "_minRoll", "_MinRoll", "_MaxRoll", "_minSegmentCount", "_maxSegmentCount", "_MaxSegmentCount", "_isInvSphere", "_isSphereType", "_minFovX", "_minPitch", "_maxRoll", "_MinSegmentCount", "clampSegmentCount", "clampFovY", "clampFovDistance", "clampHeading", "clampPitch", "_videoProjectionCamera", "_fovY", "_fovDistance", "_mixFactor", "_vs", "_fs", "_renderState", "_segmentCount", "_isNeedRecreate", "_visibly", "_shaderProgram", "minFovX", "config", "maxFovX", "maxFovY", "minFovDistance", "minHeading", "maxHeading", "minPitch", "maxPitch", "minRoll", "maxRoll", "minSegmentCount", "maxSegmentCount", "isSphereType", "isInvSphere", "fovX!", "minFovY", "fovY!", "maxFovDistance", "fovDistance!", "heading!", "roll!", "mixFactor!", "_render", "render!", "_getProjectionCamera", "update!", "_updatePosition", "_tryCreate", "_updateFovX", "fovX", "_updateFovY", "_updatePitch", "_updateRoll", "_updateParams", "fovY", "_computeTransformInv", "_computeTransform!", "_createVS", "uniform vec4 uDiffuseColor;\n", "varying vec4 vColor;\n", "varying vec4 clip_vertex;\n", "varying float fWindowZ;\n", "varying vec3 normal_vertex;\n", "vec4 depthClampFarPlane(vec4 clipPos)\n", " fWindowZ = (0.5 * (clipPos.z / clipPos.w) + 0.5) * clipPos.w;\n", " return clipPos;\n", " vec4 pos = czm_modelViewProjection * vec4(aPosition.xyz, 1.0);\n", " gl_Position = depthClampFarPlane(pos);\n", " vColor = uDiffuseColor;\n", " normal_vertex = aPosition.xyz;\n", "#extension GL_EXT_frag_depth : enable\n", "#extension GL_OES_standard_derivatives : enable\n", " gl_FragDepthEXT = min(fWindowZ * gl_FragCoord.w, 1.0);\n", " vec3 normal = cross(vec3(dFdx(normal_vertex.x), dFdx(normal_vertex.y), dFdx(normal_vertex.z)), vec3(dFdy(normal_vertex.x), dFdy(normal_vertex.y), dFdy(normal_vertex.z)));\n", " normal = normalize(normal);\n", " vec3 lightDirection = normalize(czm_sunPositionWC - vec3(eyePosition));\n", " vec4 diffuse = vColor * LIGHT_COLOR * nDotL;\n", " vec4 ambient = vColor * LIGHT_COLOR;\n", " gl_FragColor = clamp(diffuse + ambient, vec4(0.0), vec4(1.0));\n", "_createVACone", "_fovX", "_createBoundingVolume", "_createVASphere", "_createVA!", "_createVASphereInv", "_createRenderState", "_createAttributes", "_createShadeProgram", "_createShadeProgram!", "_createFS", "fromCornerPoints", "_updateBoundingVolume!", "_computeTransform", "_recreate!", "LINES", "_shadowMap", "_updateMatrixEvent", "_updateEvent", "_createFramebufferDepth", "_textureSize", "_passes", "_shadowMapTexture", "_clearFramebuffer", "_clearPassState", "_destroyShadowFramebuffer", "_colorAttachment", "build", "_updateOri", "_sceneCamera", "_lightCamera", "videoProjectionMaps", "deactive", "updateFovX", "updateFovY", "updateFovDistance", "_shadowMapMatrix", "_nextName", "VideoProjection", "_instance", "nextName", "GeoVideoProjection", "_videoProjectionConfig", "_videoProjectionFrustumPrimitive", "_videoTextureSource", "_videoProjectionPostRender", "_videoShadowMap", "_fillVideo", "DeveloperErrorEvent", "AddToSceneEvent", "RemoveFromSceneEvent", "UpdateMatrixEvent", "UpdateEvent", "_rebuildPostRender", "CreationEvent", "clampFovX", "_createShadowMap", "_destroyPostStage", "updatePosition", "_updateFovDistance", "_updateHeading", "updateHeadingPitchRoll", "updatePitch", "updateRoll", "clampRoll", "updateHitLineColor", "updateMixFactor", "updateLineWidth", "isSamedName", "isSelf", "updateHeading", "_type", "visibly", "_removeAllEvent", "_projectBackFaces", "noname!", "_findByName", "destoryObject", "getByIndex", "removeByIndex", "removeByName", "getNames", "_videoProjectionCollection", "_renderVideoProjectionCollection", "destroyAllVideoProjections", "destroyVideoProjection", "createVideoProjection", "getVideoProjectionCollection", "_clearPassesVideoProjectionCommands", "_executePassesVideoProjectionCommands", "_executeVideoProjectionCommand", "shadows", "castCommands", "projectBackFaces", "outOfView", "shadowMapCullingVolume", "_updateVideoProjectionCommand", "castShadows", "isVisible", "originalCommand", "createCastDerivedCommand", "_updateVideoProjectionCommands", "debugCommandFilter", "logDepth", "hdr", "debugShowCommands", "shadowState", "receiveShadows", "receiveCommand", "oit", "lightShadowMaps", "lightShadowsEnabled", "pickId", "DerivedCommand", "pickOnly", "createDepthOnlyDerivedCommand", "createHdrCommand", "createReceiveDerivedCommand", "isSupported", "createDerivedCommands", "GeoViewAnalyse", "_stage", "filterFar", "inputPreviousStageTexture", "_textureCache", "outputTexture", "_index", "pixelFormat", "forcePowerOfTwo", "pixelDatatype", "clearColor", "initStage", "uniform float u_filterFar;\n", "vec4 clipToEye(vec2 uv, float depth)\n", " vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0));\n", " vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0);\n", " posEC = posEC / posEC.w;\n", "void main() {\n", " hsb.g = clamp(hsb.g + 0.03, 0.0, 1.0);\n", " if (hsb.b > 0.5)\n", " hsb.b = clamp(hsb.b + 0.01, 0.0, 1.0);\n", " hsb.b = clamp(hsb.b - 0.02, 0.0, 1.0);\n", " float depth = czm_readDepth(depthTexture, v_textureCoordinates);\n", " vec4 posInCamera = clipToEye(v_textureCoordinates, depth);\n", " float d = length(posInCamera.xyz);\n", " if (d > u_filterFar)\n", " gl_FragColor = vec4(mix(color.rgb, vec3(0.8, 0.85, 0.85), 1.0 - u_filterFar / d), 1.0);\n", " else \n", " gl_FragColor = vec4(color.rgb, 1.0);\n", "enableFilter", "_isSupported", "GeoWalkerAnimationCamera", "path", "moveStep", "rotateStep", "frameChange", "_lockCamera", "walkFrame", "addChangeEventListener", "_hooker", "_hookUpdate", "geoposition", "unactivate", "_walkAnimation", "_isPause", "changeEvent", "raiseChangeEvent", "isDone", "_isDone", "isPause", "_begin", "_toStop", "state", "_loadGeoposition", "_loadDirection", "run", "ComputeTimeDelta", "getMilliseconds", "getSeconds", "getMinutes", "_createState", "date", "endDirection", "moveSpeed", "rotateSpeed", "rotateSize", "manHeight", "manRange", "stateType", "UNKNOWN", "_readyCamera", "_walkQueue", "canLog", "_collideActived", "collideActived", "filterFog", "keys", "GeoWalkerCamera", "logarithmicDepthBuffer", "raiseUpdate", "FORWARD", "LEFTWARD", "computeLeftward", "UPWARD", "computeTrunUp", "DOWNWARD", "computeTrunDown", "computeTrunRight", "jumpUp", "computeInitialPosition", "computeForeward", "_computeCollideDistance", "Forward : height = ", "Forward Node : height = ", "computeBackward", "getTangentNormal", "Backward : height = ", "Backward Node : height = ", "collide :", " max: ", "Not collide", "computeTrunLeft", "raiseMouseMove", "filterWithCamera", "getFront", "getRear", "getAvgHeight", "getDropThreshold", "preventFalling", "getLatelyHeight", "GeoWater", "_pointsToCartographic", "_waterColor", "_refractColor", "_waveWidth", "_flowDirection", "_flowSpeed", "_normalTexture", "_m_startTime", "_reflectCamera", "_reflectPassState", "_isVisible", "_waterPolygon", "_computeBoundingRectangle", "_polygonHierarchy", "_lonMin", "_latMin", "_waterCenterPos", "initialize", "RenderbufferFormat", "DEPTH_COMPONENT16", "PassState", "_initialized", "waterPolygon", "workingFrustums", "_fScale", "setRow", "invWorldViewMatrix", "modelViewMatrix", "modeiViewProjection", "_fElapse", "_frameTime", "_flowAngle", "attribute vec3 position;\n\t\t\t\t\t\t\t\t\t\t\tattribute vec2 st;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewProjectionMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_modelViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform mat4 u_invWorldViewMatrix;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordOffset;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\tuniform float u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\tuniform int u_clampToGroud;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_camPos;\n\t\t\t\t\t\t\t\t\t\t\tuniform vec3 u_scale;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\tvoid main(void)\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t//gl_Position = ftransform();\n\t\t\t\t\t\t\t\t\t\t\t\tgl_Position = u_modelViewProjectionMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\tif (u_clampToGroud == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = (u_camPos - position.xyz) * u_scale;\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec4 pos = u_modelViewMatrix * vec4(position.xyz,1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\teyeDir = vec3(u_invWorldViewMatrix*vec4(pos.xyz,0.0));\n\t\t\t\t\t\t\t\t\t\t\t\t\tprojectionCoord = gl_Position;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\ttexCoord = (st+u_texCoordOffset)*u_texCoordScale;\n\t\t\t\t\t\t\t\t\t\t\t\tmyTime = 0.01 * u_frameTime;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t", "uniform sampler2D u_normalMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_refractMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform samplerCube u_cubeMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform sampler2D u_reflectMap;\n\t\t\t\t\t\t\t\t\t\t\t\t//uniform sampler2D u_flowMap;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_waterColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_refractColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_useRefractTex;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec4 u_reflectColor;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform int u_reflection;\n\t\t\t\t\t\t\t\t\t\t\t\tuniform vec2 u_flowDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec3 eyeDir;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec2 texCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying float myTime;\n\t\t\t\t\t\t\t\t\t\t\t\tvarying vec4 projectionCoord;\n\t\t\t\t\t\t\t\t\t\t\t\tvoid main (void)\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale determines the amount of tiles generated.\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale = 35.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// texScale2 determines the repeat of the water texture (the normalmap) itself\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat texScale2 = 10.0;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 myNormal;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 mytexFlowCoord = texCoord * texScale;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ff is the factor that blends the tiles.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ff = abs(2.0*(fract(mytexFlowCoord)) - 1.0) -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// take a third power, to make the area with more or less equal contribution\n\t\t\t\t\t\t\t\t\t\t\t\t\t// of more tile bigger\n\t\t\t\t\t\t\t\t\t\t\t\t\tff = 0.5-4.0*ff*ff*ff;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ffscale is a scaling factor that compensates for the effect that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding normal vectors together tends to get them closer to the average normal\n\t\t\t\t\t\t\t\t\t\t\t\t\t// which is a visible effect. For more or less random waves, this factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// compensates for it\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 ffscale = sqrt(ff*ff + (1.0-ff)*(1.0-ff));\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 Tcoord = texCoord * texScale2;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// offset makes the water move\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 offset = vec2(myTime,0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// I scale the texFlowCoord and floor the value to create the tiling\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This could have be replace by an extremely lo-res texture lookup\n\t\t\t\t\t\t\t\t\t\t\t\t\t// using NEAREST pixel.\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 sample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor(mytexFlowCoord)/ texScale).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// flowdir is supposed to go from -1 to 1 and the line below\n\t\t\t\t\t\t\t\t\t\t\t\t\t// used to be sample.xy * 2.0 - 1.0, but saves a multiply by\n\t\t\t\t\t\t\t\t\t\t\t\t\t// moving this factor two to the sample.b\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 flowdir = sample.xy -0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// sample.b is used for the inverse length of the wave\n\t\t\t\t\t\t\t\t\t\t\t\t\t// could be premultiplied in sample.xy, but this is easier for editing flowtexture\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir *= sample.b;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// build the rotation matrix that scales and rotates the complete tile\n\t\t\t\t\t\t\t\t\t\t\t\t\tmat2 rotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this is the normal for tile A\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// for the next tile (B) I shift by half the tile size in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and the normal for tile B...\n\t\t\t\t\t\t\t\t\t\t\t\t\t// multiply the offset by some number close to 1 to give it a different speed\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The result is that after blending the water starts to animate and look\n\t\t\t\t\t\t\t\t\t\t\t\t\t// realistic, instead of just sliding in some direction.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// This is also why I took the third power of ff above, so the area where the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// water animates is as big as possible\n\t\t\t\t\t\t\t\t\t\t\t\t\t// adding a small arbitrary constant isn't really needed, but helps to show\n\t\t\t\t\t\t\t\t\t\t\t\t\t// a bit less tiling in the beginning of the program. After a few seconds, the\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tiling cannot be seen anymore so this constant could be removed.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// For the quick demo I leave them in. In a simulation that keeps running for\n\t\t\t\t\t\t\t\t\t\t\t\t\t// some time, you could just as well remove these small constant offsets\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.06+0.62).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend them together using the ff factor\n\t\t\t\t\t\t\t\t\t\t\t\t\t// use ff.x because this tile is shifted in the x-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTAB = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the scaling of NormalTab and NormalTCD is moved to a single scale of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalT later in the program, which is mathematically identical to\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTAB = (NormalTAB - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile C is shifted in the y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.0,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT0 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.33+0.27).rg;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// tile D is shifted in both x- and y-direction\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample = vec3(u_flowDir, 1.0);//texture2D( u_flowMap, floor((mytexFlowCoord + vec2(0.5,0.5)))/ texScale ).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tflowdir = sample.b * (sample.xy - 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\trotmat = mat2(flowdir.x, -flowdir.y, flowdir.y ,flowdir.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT1 = texture2D(u_normalMap, rotmat * Tcoord - offset*1.24).rg ;\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalTCD = ff.x * NormalT0 + (1.0-ff.x) * NormalT1;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// NormalTCD = (NormalTCD - 0.5) / ffscale.x + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// now blend the two values togetherv\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 NormalT = ff.y * NormalTAB + (1.0-ff.y) * NormalTCD;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// this line below used to be here for scaling the result\n\t\t\t\t\t\t\t\t\t\t\t\t\t//NormalT = (NormalT - 0.5) / ffscale.y + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// below the new, direct scaling of NormalT\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT = (NormalT - 0.5) / (ffscale.y * ffscale.x);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// scaling by 0.3 is arbritrary, and could be done by just\n\t\t\t\t\t\t\t\t\t\t\t\t\t// changing the values in the normal map\n\t\t\t\t\t\t\t\t\t\t\t\t\t// without this factor, the waves look very strong\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= 0.3;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// to make the water more transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\ttransp = 1.0;//texture2D( u_flowMap, texFlowCoord ).a;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and scale the normals with the transparency\n\t\t\t\t\t\t\t\t\t\t\t\t\tNormalT *= transp*transp;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// assume normal of plane is 0,0,1 and produce the normalized sum of adding NormalT to it\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyNormal = vec3(NormalT,sqrt(1.0-NormalT.x*NormalT.x - NormalT.y*NormalT.y));\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 获取反射颜色。\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 envColor = u_reflectColor.rgb;//vec3(0.5647, 0.6941, 0.8235);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_reflection == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 reflectDir = reflect(eyeDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//vec3 envColor = vec3(textureCube(u_cubeMap, -reflectDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 如果要实现反射真实场景,需要把场景渲染5遍构建一个无底的立方体纹理。\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// 目前使用一张反射纹理近似模拟。\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvec2 final = projectionCoord.xy / projectionCoord.w;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal = final * 0.5 + 0.5;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfinal.y = 1.0 - final.y;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tenvColor = texture2D(u_reflectMap, final + myNormal.xy/texScale2*transp).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t// very ugly version of fresnel effect\n\t\t\t\t\t\t\t\t\t\t\t\t\t// but it gives a nice transparent water, but not too transparent\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = dot(myNormal,normalize(eyeDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tmyangle = 0.95-0.6*myangle*myangle;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// blend in the color of the plane below the water\n\t\t\t\t\t\t\t\t\t\t\t\t\t// add in a little distortion of the colormap for the effect of a refracted\n\t\t\t\t\t\t\t\t\t\t\t\t\t// view of the image below the surface.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// (this isn't really tested, just a last minute addition\n\t\t\t\t\t\t\t\t\t\t\t\t\t// and perhaps should be coded differently\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the correct way, would be to use the refract routine, use the alpha channel for depth of\n\t\t\t\t\t\t\t\t\t\t\t\t\t// the water (and make the water disappear when depth = 0), add some watercolor to the colormap\n\t\t\t\t\t\t\t\t\t\t\t\t\t// depending on the depth, and use the calculated refractdir and the depth to find the right\n\t\t\t\t\t\t\t\t\t\t\t\t\t// pixel in the colormap.... who knows, something for the next version\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 base = u_refractColor.rgb;//vec3(0.3, 0.4, 0.5);\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (u_useRefractTex == 1)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbase = texture2D(u_refractMap,(texCoord + myNormal.xy/texScale2*0.03*transp)*32.0).rgb;\n\t\t\t\t\t\t\t\t\t\t\t\t\tbase = mix(base, u_waterColor.rgb, u_waterColor.a);\n\t\t\t\t\t\t\t\t\t\t\t\t\t// 光照计算\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 lightDir = czm_sunDirectionEC;//normalize(vec3(0.0, 0.0, 1.0)); // 光照方向需要从外面传入\n\t\t\t\t\t\t\t\t\t\t\t\t\tvec3 reflectVec = reflect(-lightDir, myNormal);\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat diffuse = max(0.0, dot(myNormal, lightDir));\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat spec = max(dot(reflectVec, normalize(-eyeDir)), 0.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tspec = pow(spec, 128.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\t//float lightIntensity = 0.7 * diffuse + 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tfloat lightIntensity = 0.3 * spec;\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor = vec4(mix(base, envColor, myangle*transp), 1.0);\n\t\t\t\t\t\t\t\t\t\t\t\t\tgl_FragColor += vec4(0.8)*lightIntensity;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// note that smaller waves appear to move slower than bigger waves\n\t\t\t\t\t\t\t\t\t\t\t\t\t// one could use the tiles and give each tile a different speed if that\n\t\t\t\t\t\t\t\t\t\t\t\t\t// is what you want\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t", "_uniformMap", "getColorTexture", "_reflectColor", "_waterGeometry", "UNSIGNED_INT", "water", "_updateReflectTexture", "ComputeCommand", "proxy", "metadata", "roadMetadata", "roadUrl", "labelGraphics", "billboardGraphics", "aotuCollide", "collisionPadding", "serverFirstStyle", "tileCache", "labelCache", "_isInitial", "_latelyGrid", "_UUID", "GEO_WTFS_LABEL_", "_UUIDRoad", "getCacheTile", "removeCacheTile", "getCacheLabel", "oid", "addCacheLabel", "removeCacheLabel", "timestamp", "getTileUrl", "/GetTiles?lxys={z},{x},{y}", "getIcoUrl", "/GetIcon?id={id}", "getRoadTileUrl", "_timer", "_tilesToRender", "getTilesToRender", "compareArray", "_queueCall", "_latelyRefreshStamp"]; n = S, function (e) { for (; --e;) { n.push(n.shift()); } }(310); var T, P = function P(e, t) { return S[e -= 0]; }, M = function () { function e(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { var r = t[i]; r[P("0x1")] = r[P("0x1")] || !1, r[P("0x2")] = !0, P("0x3") in r && (r.writable = !0), E()(e, r[P("0x4")], r); } } return function (t, i, r) { return i && e(t[P("0x5")], i), r && e(t, r), t; }; }(); function N(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); } function L(e) { for (var t = e || P("0x120"), i = "", r = new RegExp(P("0x121") + t + P("0x122")), n = document[P("0x123")](P("0x124")), o = 0, a = n[P("0x0")]; o < a; o++) { var s = n[o].getAttribute(P("0x125")); if (s) { var x = s[P("0x126")](r); if (x) { i = x[1]; break; } } } return i; } !function (e) { ("undefined" == typeof define ? "undefined" : w()(define)) === P("0x8") && define[P("0xd")] ? define(e) : e(); }(function () { var e = function () { try { return "x" in Object[P("0xe")]({}, "x", {}); } catch (e) { return !1; } }(), t = Object[P("0xf")]; e && null != t || (t = function t(e) { return e; }); var i = t, r = cesium__WEBPACK_IMPORTED_MODULE_1__, n = r[P("0x10")], o = r[P("0x11")], a = r[P("0x12")], s = r[P("0x13")], x = r.defaultValue, l = r[P("0x14")], c = r.destroyObject, u = r[P("0x15")], h = r[P("0x16")], f = r[P("0x17")], d = r[P("0x18")], g = r[P("0x19")], p = r[P("0x1a")], m = r[P("0x1b")], b = r.OrthographicFrustum, v = r[P("0x1c")], C = r[P("0x1d")], y = r[P("0x1e")], _ = r[P("0x1f")], A = r[P("0x20")], I = r.CameraEventType, G = r[P("0x21")], E = r[P("0x22")], S = r.SceneTransforms, T = r.TweenCollection, L = cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x23")]; function R(e) { if (!l(e)) throw new u(P("0x24")); this[P("0x25")] = -L[P("0x26")], this[P("0x27")] = !0, this[P("0x28")] = !0, this.enableZoom = !0, this[P("0x29")] = !0, this[P("0x2a")] = !0, this[P("0x2b")] = !0, this[P("0x2c")] = 0.9, this[P("0x2d")] = 0.9, this.inertiaZoom = 0.8, this[P("0x2e")] = 0.1, this[P("0x2f")] = 3, this[P("0x30")] = 1, this.maximumZoomDistance = Number[P("0x31")], this.translateEventTypes = I[P("0x32")], this[P("0x33")] = [I[P("0x34")], I[P("0x35")]], this[P("0x36")] = I[P("0x32")], this.tiltEventTypes = [I[P("0x37")], I.MIDDLE_DRAG, I[P("0x35")], { eventType: I[P("0x32")], modifier: g[P("0x38")] }, { eventType: I[P("0x37")], modifier: g.CTRL }], this[P("0x39")] = { eventType: I[P("0x32")], modifier: g[P("0x3a")] }, this[P("0x3b")] = 15e4, this[P("0x3c")] = this[P("0x3b")], this[P("0x3d")] = 15e3, this[P("0x3e")] = this[P("0x3d")], this[P("0x3f")] = -75e5, this[P("0x40")] = this[P("0x3f")], this[P("0x41")] = !0, this[P("0x42")] = e, this[P("0x43")] = void 0, this[P("0x44")] = void 0, cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x45")] && cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x45")].GeoCameraEventAggregator ? this[P("0x46")] = new cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x47")](e.canvas) : this._aggregator = new A(e[P("0x48")]), this._lastInertiaSpinMovement = void 0, this._lastInertiaZoomMovement = void 0, this[P("0x49")] = void 0, this[P("0x4a")] = void 0, this._tweens = new T(), this[P("0x4b")] = void 0, this[P("0x4c")] = void 0, this[P("0x4d")] = new n(-1, -1), this._tiltCenter = new o(), this[P("0x4e")] = new n(-1, -1), this[P("0x4f")] = new o(), this[P("0x50")] = new o(), this[P("0x51")] = new n(-1, -1), this._zoomWorldPosition = new o(), this[P("0x52")] = !1, this[P("0x53")] = !1, this[P("0x54")] = !1, this[P("0x55")] = !1, this[P("0x56")] = !1, this[P("0x57")] = !1, this[P("0x58")] = !1, this._adjustedHeightForTerrain = !1; var t = e.mapProjection; this[P("0x59")] = t[P("0x5a")](new s(Math.PI, L[P("0x5b")])), this[P("0x5c")] = 5, this[P("0x5d")] = void 0, this._rotateRateRangeAdjustment = void 0, this[P("0x5e")] = 1.77, this[P("0x5f")] = 2e-4, this._minimumZoomRate = 20, this[P("0x60")] = 5906376272e3; } function O(e, t, i, r, o, a, s) { var x = a[s]; l(x) || (x = a[s] = { startPosition: new n(), endPosition: new n(), motion: new n(), active: !1 }); var c, u = e[P("0x66")](t, i), h = e[P("0x67")](t, i), f = u && h && (h[P("0x68")]() - u[P("0x68")]()) / 1e3, d = new Date(), g = h && (d.getTime() - h[P("0x68")]()) / 1e3; if (u && h && f < 0.4) { var p = function (e, t) { if (e < 0) return 0; var i = 25 * (1 - t); return Math[P("0x61")](-i * e); }(g, r); if (x[P("0x69")]) x[P("0x63")] = n[P("0x6e")](x[P("0x64")], x[P("0x63")]), x.endPosition = n[P("0x6c")](x[P("0x6b")], p, x[P("0x64")]), x.endPosition = n[P("0x6d")](x[P("0x63")], x[P("0x64")], x[P("0x64")]), x[P("0x6b")] = n[P("0x6e")](n[P("0x6f")], x[P("0x6b")]);else { var m = e[P("0x6a")](t, i); if (!l(m) || (c = m, n[P("0x62")](c[P("0x63")], c[P("0x64")], L[P("0x65")]))) return; x[P("0x6b")].x = 0.5 * (m[P("0x64")].x - m[P("0x63")].x), x.motion.y = 0.5 * (m.endPosition.y - m.startPosition.y), x[P("0x63")] = n.clone(m[P("0x63")], x[P("0x63")]), x.endPosition = n[P("0x6c")](x[P("0x6b")], p, x[P("0x64")]), x[P("0x64")] = n[P("0x6d")](x[P("0x63")], x[P("0x64")], x[P("0x64")]), x.active = !0; } if (isNaN(x[P("0x64")].x) || isNaN(x[P("0x64")].y) || n.distance(x[P("0x63")], x[P("0x64")]) < 0.5) return void (x[P("0x69")] = !1); e[P("0x70")](t, i) || o(a, e.getStartMousePosition(t, i), x); } else x[P("0x69")] = !1; } var F = []; function D(e, t, i, r, n, o) { if (l(i)) { var a = e._aggregator; Array[P("0x71")](i) || (F[0] = i, i = F); for (var s = i[P("0x0")], x = 0; x < s; ++x) { var c = i[x], u = l(c[P("0x72")]) ? c[P("0x72")] : c, h = c[P("0x73")], f = a[P("0x74")](u, h) && a[P("0x75")](u, h), d = a[P("0x76")](u, h); e.enableInputs && t && (f ? r(e, d, f) : n < 1 && O(a, u, h, n, r, e, o)); } } } var U = new y(), k = new o(), B = new n(), W = new o(), j = new n(), V = new o(), z = new o(), H = new o(), q = new o(), X = new o(), Y = new o(), K = new o(), Q = new o(), Z = new o(), J = new o(), $ = new o(), ee = new o(), te = new o(), ie = new o(), re = new o(), ne = new o(), oe = new o(), ae = new o(), se = { orientation: new f() }; function xe(e, t, i, r, s, x) { var c = 1; l(x) && (c = L[P("0x77")](Math[P("0x78")](x), 0.25, 1)); var u = e.minimumZoomDistance * c, h = e[P("0x79")], f = r * (s - u); f = L.clamp(f, e[P("0x7a")], e._maximumZoomRate); var d = i[P("0x64")].y - i[P("0x63")].y; if (!(e[P("0x7b")] && d < 0 && function (e, t) { var i = a[P("0x6e")](a[P("0xa1")]), r = a[P("0x6e")](a[P("0xa1")]), n = e[P("0x42")], o = n.globe.ellipsoid, s = n[P("0x7e")], x = n.canvas; if (1.5 <= Math.abs(s[P("0x80")]) && (s[P("0x7f")] <= 0.25 || 6.03 <= s[P("0x7f")])) return !1; var l = s.pickEllipsoid(new cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x10")](0, x.clientHeight), o, i), c = s[P("0xa2")](new cesium__WEBPACK_IMPORTED_MODULE_1__["Cartesian2"](x.clientWidth, x[P("0x7c")]), o, r); if (l && c && Math[P("0x78")](l.x - c.x) < 8e4 && Math[P("0x78")](l.y - c.y) < 8e4) return !1; var u = new cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x1e")](); u = s[P("0x86")](t, u); var h = n[P("0xa3")][P("0xa4")](u, n); if (h || (u[P("0x87")] = s[P("0xa5")], u[P("0x93")] = s[P("0xa6")], h = n[P("0xa3")][P("0xa4")](u, n)), !h) return !0; var f = o[P("0xa7")](s[P("0x91")], new cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x11")]()), d = (o.geodeticSurfaceNormal(h), new cesium__WEBPACK_IMPORTED_MODULE_1__["BoundingSphere"](h, 0)); return s[P("0xa8")](d, { offset: new cesium__WEBPACK_IMPORTED_MODULE_1__[P("0xa9")](0, cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x23")].toRadians(-90), cesium__WEBPACK_IMPORTED_MODULE_1__["Cartesian3"].distance(f, h)), duration: 0 }), !0; }(e, t))) { var g = d / e[P("0x42")][P("0x48")][P("0x7c")], p = f * (g = Math[P("0x7d")](g, e.maximumMovementRatio)); if (!(0 < p && Math.abs(s - u) < 1 || p < 0 && Math.abs(s - h) < 1)) { s - p < u ? p = s - u - 1 : h < s - p && (p = s - h); var m = e[P("0x42")], v = m[P("0x7e")], C = m.mode, y = se.orientation; if (y[P("0x7f")] = v[P("0x7f")], y[P("0x80")] = v[P("0x80")], y[P("0x81")] = v[P("0x81")], v.frustum instanceof b) 0 < Math.abs(p) && (v[P("0x82")](p), v[P("0x83")]());else { var _, A = n[P("0x84")](t, e._zoomMouseStart), I = e[P("0x57")], w = e._rotatingZoom; if (A || (e[P("0x51")] = n[P("0x6e")](t, e[P("0x51")]), l(e[P("0x43")]) && (_ = C === E[P("0x85")] ? (_ = v[P("0x86")](t, U)[P("0x87")], o[P("0x88")](_.y, _.z, _.x)) : Ce(e, t, k)), l(_) ? (e[P("0x52")] = !0, e[P("0x89")] = o.clone(_, e[P("0x89")])) : e[P("0x52")] = !1, I = e[P("0x57")] = !1, w = e[P("0x58")] = !1), e[P("0x52")]) { var G = C === E[P("0x8a")]; if (v.positionCartographic[P("0x8b")] < 2e6 && (w = !0), !A || w) { if (C === E.SCENE2D) { var T = e._zoomWorldPosition, M = v[P("0x8c")]; if (!o[P("0x84")](T, M) && v.positionCartographic[P("0x8b")] < 2 * e[P("0x59")].x) { var N = v[P("0x8c")].x, R = o.subtract(T, M, W); o[P("0x8d")](R, R); var O = o[P("0x8e")](T, M) * p / (0.5 * v[P("0x8f")]()); v.move(R, 0.5 * O), (v[P("0x8c")].x < 0 && 0 < N || 0 < v.position.x && N < 0) && (_ = v[P("0x86")](t, U)[P("0x87")], _ = o.fromElements(_.y, _.z, _.x), e[P("0x89")] = o[P("0x6e")](_, e[P("0x89")])); } } else if (C === E[P("0x90")]) { var F = o.normalize(v[P("0x8c")], X); if (v[P("0x91")][P("0x8b")] < 3e3 && Math.abs(o[P("0x92")](v[P("0x93")], F)) < 0.6) G = !0;else { var D = m[P("0x48")], xe = j; xe.x = D[P("0x94")] / 2, xe.y = D[P("0x7c")] / 2; var le = Ce(e, xe, V); if (l(le) && v[P("0x91")].height < 1e6) { var ce = K; o[P("0x6e")](v.position, ce); var ue = e[P("0x89")], he = Y; if (he = o[P("0x8d")](ue, he), o[P("0x92")](he, F) < 0) return; var fe = re, de = J; o[P("0x6e")](v.direction, de), o[P("0x6d")](ce, o[P("0x6c")](de, 1e3, ne), fe); var ge = $, pe = ee; o[P("0x95")](ue, ce, ge), o[P("0x8d")](ge, pe); var me = o.dot(F, pe); if (0 <= me) return void (e[P("0x51")].x = -1); var be = Math.acos(-me), ve = o[P("0x96")](ce), ye = o.magnitude(ue), _e = ve - p, Ae = o.magnitude(ge), Ie = Math[P("0x97")](L.clamp(Ae / ye * Math[P("0x98")](be), -1, 1)) - Math[P("0x97")](L.clamp(_e / ye * Math[P("0x98")](be), -1, 1)) + be, we = Q; o.normalize(ce, we); var Ge = Z; Ge = o[P("0x99")](pe, we, Ge), Ge = o.normalize(Ge, Ge), o[P("0x8d")](o[P("0x99")](we, Ge, ne), de), o[P("0x6c")](o[P("0x8d")](fe, ne), o[P("0x96")](fe) - p, fe), o[P("0x8d")](ce, ce), o[P("0x6c")](ce, _e, ce); var Ee = te; o[P("0x6c")](o[P("0x6d")](o[P("0x6c")](we, Math[P("0x9a")](Ie) - 1, oe), o.multiplyByScalar(de, Math[P("0x98")](Ie), ae), ne), _e, Ee), o[P("0x6d")](ce, Ee, ce), o.normalize(fe, we), o.normalize(o[P("0x99")](we, Ge, ne), de); var Se = ie; return o[P("0x6c")](o[P("0x6d")](o[P("0x6c")](we, Math[P("0x9a")](Ie) - 1, oe), o[P("0x6c")](de, Math[P("0x98")](Ie), ae), ne), o.magnitude(fe), Se), o.add(fe, Se, fe), o[P("0x6e")](ce, v[P("0x8c")]), o.normalize(o.subtract(fe, ce, ne), v[P("0x93")]), o[P("0x6e")](v[P("0x93")], v[P("0x93")]), o[P("0x99")](v.direction, v.up, v[P("0x9b")]), o.cross(v[P("0x9b")], v[P("0x93")], v.up), void v[P("0x9c")](se); } if (l(le)) { var Te = o[P("0x8d")](le, z), Pe = o[P("0x8d")](e[P("0x89")], H), Me = o[P("0x92")](Pe, Te); if (0 < Me && Me < 1) { var Ne = L[P("0x9d")](Me), Le = o.cross(Pe, Te, q), Re = p / (Math[P("0x78")](Ne) > L.toRadians(20) ? 0.75 * v.positionCartographic[P("0x8b")] : v[P("0x91")].height - p); v[P("0x9e")](Le, Ne * Re); } } else G = !0; } } e[P("0x58")] = !G; } if (!A && G || I) { var Oe = S[P("0x9f")](m, e._zoomWorldPosition, B), Fe = (C !== E[P("0x8a")] && n[P("0x84")](t, e[P("0x51")]) && l(Oe) ? v[P("0x86")](Oe, U) : v.getPickRay(t, U)).direction; C !== E[P("0x8a")] && C !== E.SCENE2D || o[P("0x88")](Fe.y, Fe.z, Fe.x, Fe), v[P("0xa0")](Fe, p), e[P("0x57")] = !0; } else v[P("0x82")](p); v[P("0x9c")](se); } else v[P("0x82")](p); } } } } var le = new y(), ce = new y(), ue = new o(); function he(e, t, i) { var r = e[P("0x42")][P("0x7e")], n = r[P("0x86")](i[P("0x63")], le)[P("0x87")], a = r[P("0x86")](i.endPosition, ce).origin; n = o[P("0x88")](n.y, n.z, n.x, n), a = o[P("0x88")](a.y, a.z, a.x, a); var s = o[P("0x95")](n, a, ue), x = o[P("0x96")](s); 0 < x && (o[P("0x8d")](s, s), r[P("0xa0")](s, x)); } function fe(e, t, i) { l(i[P("0x8e")]) && (i = i[P("0x8e")]); var r = e[P("0x42")][P("0x7e")]; xe(e, t, i, e[P("0x5c")], r[P("0x8f")]()); } var de = new n(), ge = new n(); function pe(e, t, i) { if (l(i[P("0xaa")])) !function (e, t) { var i = e._rotateFactor * e._rotateRateRangeAdjustment; i > e[P("0x5e")] && (i = e[P("0x5e")]), i < e[P("0x5f")] && (i = e[P("0x5f")]); var r = e._scene, n = r[P("0x7e")], o = r[P("0x48")], a = (t[P("0x64")].x - t[P("0x63")].x) / o.clientWidth, s = i * (a = Math[P("0x7d")](a, e[P("0x2e")])) * Math.PI * 4; n.twistRight(s); }(e, i.angleAndHeight);else { var r = e[P("0x42")], o = r[P("0x7e")], a = r[P("0x48")], s = a[P("0x94")], x = a.clientHeight, c = de; c.x = 2 / s * i[P("0x63")].x - 1, c.y = 2 / x * (x - i[P("0x63")].y) - 1, c = n[P("0x8d")](c, c); var u = ge; u.x = 2 / s * i[P("0x64")].x - 1, u.y = 2 / x * (x - i[P("0x64")].y) - 1, u = n.normalize(u, u); var h = L[P("0x9d")](c.x); c.y < 0 && (h = L.TWO_PI - h); var f = L[P("0x9d")](u.x); u.y < 0 && (f = L[P("0xab")] - f); var d = f - h; o[P("0xac")](d); } } var me = new y(), be = new o(), ve = new o(); function Ce(e, t, i) { var r = e[P("0x42")], n = e._globe, a = r[P("0x7e")]; if (l(n)) { var s; r.pickPositionSupported && (s = r.pickPositionWorldCoordinates(t, be)); var x = a.getPickRay(t, me), c = n.pickWorldCoordinates(x, r, ve); return (l(s) ? o.distance(s, a[P("0xa5")]) : Number[P("0x31")]) < (l(c) ? o[P("0x8e")](c, a[P("0xa5")]) : Number.POSITIVE_INFINITY) ? o.clone(s, i) : o.clone(c, i); } } var ye = new y(), _e = new y(), Ae = new o(), Ie = new o(), we = new o(), Ge = new o(), Ee = new v(o.UNIT_X, 0), Se = new n(), Te = new n(); function Pe(e, t, i) { if (o.equals(t, e[P("0xb6")]) || (e[P("0x54")] = !1), o.equals(t, e[P("0xb7")]) || (e[P("0x56")] = !1), e._looking) Bt(e, t, i);else if (e._strafing) tt(e, t, i);else { var r, a = e._scene[P("0x7e")], s = n[P("0x6e")](i.startPosition, Se), x = n[P("0x6e")](i[P("0x64")], Te), c = a[P("0x86")](s, ye), u = o[P("0x6e")](o[P("0x6f")], Ge), h = o[P("0xb8")]; if (a[P("0x8c")].z < e[P("0x3c")] && (r = Ce(e, s, Ae), l(r) && (u.x = r.x)), u.x > a[P("0x8c")].z && l(r)) return o.clone(r, e._strafeStartPosition), e[P("0x56")] = !0, tt(e, t, i), void (e[P("0xb7")] = n[P("0x6e")](t, e[P("0xb7")])); var f = v[P("0xb9")](u, h, Ee); c = a[P("0x86")](s, ye); var g = d.rayPlane(c, f, Ae), p = a.getPickRay(x, _e), m = d[P("0xba")](p, f, Ie); if (!l(g) || !l(m)) return e[P("0x54")] = !0, Bt(e, t, i), void n[P("0x6e")](t, e[P("0xb6")]); var b = o[P("0x95")](g, m, we), C = b.x; b.x = b.y, b.y = b.z, b.z = C; var y = o[P("0x96")](b); y > L[P("0xbb")] && (o[P("0x8d")](b, b), a[P("0xa0")](b, y)); } } var Me = new n(), Ne = new y(), Le = new o(), Re = new o(), Oe = new m(), Fe = new m(), De = new o(), Ue = new v(o.UNIT_X, 0), ke = new o(), Be = new s(), We = new m(), je = new C(), Ve = new p(), ze = new o(); function He(e, t, i) { if (l(i[P("0xaa")]) && (i = i.angleAndHeight), n.equals(t, e[P("0x4d")]) || (e[P("0x53")] = !1, e._looking = !1), e[P("0x54")]) Bt(e, t, i);else { var r = e[P("0x42")].camera; e[P("0x53")] || !e[P("0xbc")]() || r[P("0x8c")].z > e[P("0x3c")] ? (e[P("0x53")] = !0, function (e, t, i) { var r = e[P("0x42")], a = r.camera, s = r.canvas, x = Me; x.x = s[P("0x94")] / 2, x.y = s[P("0x7c")] / 2; var c, u = a[P("0x86")](x, Ne), f = o[P("0xb8")], d = u.origin, g = u[P("0x93")], p = o[P("0x92")](f, g); if (Math[P("0x78")](p) > L[P("0xbb")] && (c = -o.dot(f, d) / p), !l(c) || c <= 0) return e[P("0x54")] = !0, Bt(e, t, i), n[P("0x6e")](t, e[P("0x4d")]); var b = o.multiplyByScalar(g, c, Le); o.add(d, b, b); var v = r[P("0xbd")], C = v.ellipsoid; o[P("0x88")](b.y, b.z, b.x, b); var y = v[P("0xbe")](b, Be); C[P("0xa7")](y, b); var A = _[P("0xbf")](b, C, Oe), I = e[P("0x43")], w = e._ellipsoid; e[P("0x43")] = void 0, e[P("0x44")] = h[P("0xc0")], e._rotateFactor = 1, e[P("0xc1")] = 1; var G = m[P("0x6e")](a[P("0xaf")], We); a[P("0xc2")](A), xt(e, t, i, o[P("0xc3")]), a._setTransform(G), e[P("0x43")] = I; var E = (e[P("0x44")] = w)[P("0xc4")]; e._rotateFactor = 1 / E, e[P("0xc1")] = E; }(e, t, i)) : function (e, t, i) { var r, a, s = e[P("0x42")], x = s[P("0x7e")], c = o[P("0xb8")]; if (n.equals(t, e[P("0x4d")])) r = o[P("0x6e")](e[P("0xc5")], Le);else { if (x[P("0x8c")].z < e[P("0x3c")] && (r = Ce(e, t, Le)), !l(r)) { var u, f = (a = x[P("0x86")](t, Ne))[P("0x87")], g = a[P("0x93")], b = o.dot(c, g); if (Math.abs(b) > L[P("0xbb")] && (u = -o[P("0x92")](c, f) / b), !l(u) || u <= 0) return e[P("0x54")] = !0, Bt(e, t, i), n[P("0x6e")](t, e[P("0x4d")]); r = o[P("0x6c")](g, u, Le), o.add(f, r, r); } n[P("0x6e")](t, e._tiltCenterMousePosition), o[P("0x6e")](r, e[P("0xc5")]); } var y = s[P("0x48")], A = Me; A.x = y[P("0x94")] / 2, A.y = e._tiltCenterMousePosition.y, a = x[P("0x86")](A, Ne); var I = o[P("0x6e")](o.ZERO, De); I.x = r.x; var w = v[P("0xb9")](I, c, Ue), G = d[P("0xba")](a, w, Re), E = x[P("0xc6")], S = E.ellipsoid; o[P("0x88")](r.y, r.z, r.x, r); var T = E[P("0xbe")](r, Be); S[P("0xa7")](T, r); var M, N = _[P("0xbf")](r, S, Oe); M = l(G) ? (o[P("0x88")](G.y, G.z, G.x, G), T = E[P("0xbe")](G, Be), S[P("0xa7")](T, G), _[P("0xbf")](G, S, Fe)) : N; var R = e._globe, O = e._ellipsoid; e[P("0x43")] = void 0, e[P("0x44")] = h[P("0xc0")], e[P("0x5d")] = 1, e[P("0xc1")] = 1; var F = o[P("0xc3")], D = m[P("0x6e")](x.transform, We); x[P("0xc2")](N); var U = o[P("0x99")](o[P("0xc3")], o[P("0x8d")](x.position, ke), ke), k = o[P("0x92")](x[P("0x9b")], U); if (xt(e, t, i, F, !1, !0), x._setTransform(M), k < 0) { i[P("0x63")].y > i[P("0x64")].y && (F = void 0); var B = x.constrainedAxis; x[P("0xc7")] = void 0, xt(e, t, i, F, !0, !1), x[P("0xc7")] = B; } else xt(e, t, i, F, !0, !1); if (l(x[P("0xc7")])) { var W = o[P("0x99")](x[P("0x93")], x.constrainedAxis, ze); o[P("0x62")](W, o[P("0x6f")], L[P("0xbb")]) || (o[P("0x92")](W, x[P("0x9b")]) < 0 && o[P("0xc8")](W, W), o[P("0x99")](W, x.direction, x.up), o.cross(x[P("0x93")], x.up, x[P("0x9b")]), o.normalize(x.up, x.up), o.normalize(x[P("0x9b")], x[P("0x9b")])); } x._setTransform(D), e[P("0x43")] = R; var j = (e._ellipsoid = O)[P("0xc4")]; e[P("0x5d")] = 1 / j, e[P("0xc1")] = j; var V = o[P("0x6e")](x[P("0xa5")], ke); if (e[P("0x41")] && Vt(e), !o[P("0x84")](x[P("0xa5")], V)) { x._setTransform(M), x[P("0xc9")](V, V); var z = o.magnitudeSquared(V); o.magnitudeSquared(x[P("0x8c")]) > z && (o.normalize(x[P("0x8c")], x[P("0x8c")]), o[P("0x6c")](x[P("0x8c")], Math[P("0xca")](z), x.position)); var H = o[P("0xcb")](V, x[P("0x8c")]), q = o[P("0x99")](V, x[P("0x8c")], V); o[P("0x8d")](q, q); var X = C[P("0xcc")](q, H, je), Y = p[P("0xcd")](X, Ve); p[P("0xce")](Y, x.direction, x[P("0x93")]), p[P("0xce")](Y, x.up, x.up), o[P("0x99")](x[P("0x93")], x.up, x[P("0x9b")]), o.cross(x[P("0x9b")], x[P("0x93")], x.up), x._setTransform(D); } }(e, t, i); } } var qe = new n(), Xe = new y(), Ye = new o(); function Ke(e, t, i) { l(i.distance) && (i = i[P("0x8e")]); var r = e[P("0x42")], n = r[P("0x7e")], a = r[P("0x48")], s = qe; s.x = a.clientWidth / 2, s.y = a[P("0x7c")] / 2; var x, c, u = n[P("0x86")](s, Xe); if (n[P("0x8c")].z < e[P("0x3c")] && (x = Ce(e, s, Ye)), l(x)) c = o.distance(u[P("0x87")], x);else { var h = o.UNIT_X, f = u[P("0x87")], d = u[P("0x93")]; c = -o[P("0x92")](h, f) / o[P("0x92")](h, d); } xe(e, t, i, e[P("0x5c")], c); } var Qe = new y(), Ze = new v(o[P("0xb8")], 0), Je = new o(), $e = new o(), et = new o(); function tt(e, t, i) { var r = e[P("0x42")], n = r[P("0x7e")], a = Ce(e, i[P("0x63")], et); if (l(a)) { var s = i[P("0x64")], x = n.getPickRay(s, Qe), c = o[P("0x6e")](n[P("0x93")], $e); r[P("0xd3")] === E[P("0x8a")] && o[P("0x88")](c.z, c.x, c.y, c); var u = v[P("0xb9")](a, c, Ze), h = d[P("0xba")](x, u, Je); l(h) && (c = o[P("0x95")](a, h, c), r[P("0xd3")] === E.COLUMBUS_VIEW && o[P("0x88")](c.y, c.z, c.x, c), o[P("0x6d")](n[P("0x8c")], c, n.position)); } } var it = new o(), rt = new s(), nt = new o(), ot = new h(), at = new o(); function st(e, t, i) { var r = e[P("0x42")].camera; if (m[P("0x84")](r.transform, m[P("0xae")])) { var a, s, x, c = e[P("0x44")][P("0xd5")](r[P("0x8c")], at), u = e[P("0x44")][P("0xd6")](r[P("0xa5")], rt)[P("0x8b")], f = e._globe; if (l(f) && u < e[P("0x3c")] && (x = Ce(e, i.startPosition, et), l(x))) { var d = r[P("0x86")](i.startPosition, me), g = e._ellipsoid[P("0xd5")](x); Math.abs(o.dot(d[P("0x93")], g)) < 0.05 && !e[P("0x54")] && (e[P("0x55")] = !1, e[P("0x56")] = !0); } n.equals(t, e[P("0x4e")]) ? e._looking ? Bt(e, t, i, c) : e[P("0x55")] ? xt(e, t, i) : e._strafing ? (o[P("0x6e")](x, e[P("0x50")]), tt(e, 0, i)) : (a = o[P("0x96")](e[P("0x4f")]), (s = nt).x = s.y = s.z = a, mt(e, t, i, h.fromCartesian3(s, ot))) : (e[P("0x54")] = !1, e[P("0x55")] = !1, e[P("0x56")] = !1, l(f) && u < e._minimumPickingTerrainHeight ? l(x) ? o[P("0x96")](r[P("0x8c")]) < o[P("0x96")](x) ? (o[P("0x6e")](x, e[P("0x50")]), e._strafing = !0, tt(e, 0, i)) : (a = o.magnitude(x), (s = nt).x = s.y = s.z = a, mt(e, t, i, h[P("0xd7")](s, ot)), o[P("0x6e")](x, e[P("0x4f")])) : (e[P("0x54")] = !0, Bt(e, t, i, c)) : l(r[P("0xa2")](i.startPosition, e._ellipsoid, it)) ? (mt(e, t, i, e[P("0x44")]), o[P("0x6e")](it, e[P("0x4f")])) : u > e._minimumTrackBallHeight ? (e[P("0x55")] = !0, xt(e, t, i)) : (e[P("0x54")] = !0, Bt(e, t, i, c)), n.clone(t, e._rotateMousePosition)); } else { i && i[P("0x63")] && i[P("0x64")] && (t = i[P("0x64")], i[P("0x64")] = i[P("0x63")], i.startPosition = t, i[P("0x64")].x = (i.startPosition.x + i[P("0x64")].x) / 2, i[P("0x64")].y = (i[P("0x63")].y + i[P("0x64")].y) / 2); var p = function (e) { var t = e[P("0x42")], i = t[P("0x7e")], r = t[P("0x43")][P("0x44")], n = _[P("0xbf")](i[P("0x8c")], r, wt), a = m.clone(i[P("0xaf")], Et); i[P("0xc2")](n); var s = new o(); return s = m[P("0xd4")](i.viewMatrix, s, s), i._setTransform(a), s; }(e); r[P("0x80")] > L[P("0x77")](e.constrainedPitch, -L.PI, 0) && 0 <= i.startPosition.y - i[P("0x64")].y || 0 < p.y && i[P("0x63")].y - i[P("0x64")].y <= 0 ? xt(e, t, i, o[P("0xc3")], !1, !0) : xt(e, t, i); } } function xt(e, t, i, r, n, a) { n = x(n, !1), a = x(a, !1); var s = e._scene, c = s[P("0x7e")], u = s[P("0x48")], h = c[P("0xc7")]; l(r) && (c.constrainedAxis = r); var f = o[P("0x96")](c[P("0x8c")]), d = e._rotateFactor * (f - e._rotateRateRangeAdjustment); d > e[P("0x5e")] && (d = e[P("0x5e")]), d < e[P("0x5f")] && (d = e[P("0x5f")]); var g = (i[P("0x63")].x - i[P("0x64")].x) / u[P("0x94")], p = (i[P("0x63")].y - i[P("0x64")].y) / u[P("0x7c")]; g = Math[P("0x7d")](g, e.maximumMovementRatio), p = Math[P("0x7d")](p, e[P("0x2e")]); var m = d * g * Math.PI * 2, b = d * p * Math.PI; n || c[P("0xd8")](-m), a || (1 == e[P("0xd9")] && (c.constrainedAxis = void 0), c[P("0xda")](b)), c[P("0xc7")] = h; } var lt = a[P("0x6e")](a[P("0xa1")]), ct = a[P("0x6e")](a[P("0xa1")]), ut = new o(), ht = new o(), ft = new o(), dt = new o(), gt = new n(), pt = new n(); function mt(e, t, i, r) { var a = e._scene[P("0x7e")], s = n[P("0x6e")](i[P("0x63")], gt), x = n[P("0x6e")](i.endPosition, pt), c = a[P("0xa2")](s, r, lt), u = a[P("0xa2")](x, r, ct); if (!l(c) || !l(u)) return e[P("0x55")] = !0, void xt(e, 0, i); if (c = a[P("0xdb")](c, c), u = a[P("0xdb")](u, u), l(a.constrainedAxis)) { var h = a[P("0xc7")], f = o[P("0xdd")](h, ut); o.cross(f, h, f), o.normalize(f, f); var d = o[P("0x99")](h, f, ht), g = o[P("0x96")](c), p = o.dot(h, c), m = Math[P("0xdc")](p / g), b = o[P("0x6c")](h, p, ft); o.subtract(c, b, b), o[P("0x8d")](b, b); var v = o[P("0x96")](u), C = o[P("0x92")](h, u), y = Math[P("0xdc")](C / v), _ = o[P("0x6c")](h, C, dt); o.subtract(u, _, _), o[P("0x8d")](_, _); var A = Math[P("0xdc")](o.dot(b, f)); o[P("0x92")](b, d) < 0 && (A = L[P("0xab")] - A); var I = Math[P("0xdc")](o[P("0x92")](_, f)); o.dot(_, d) < 0 && (I = L.TWO_PI - I); var w, G = A - I; w = o[P("0x62")](h, a[P("0x8c")], L.EPSILON2) ? a[P("0x9b")] : o[P("0x99")](h, a[P("0x8c")], ut); var E, S = o[P("0x99")](h, w, ut), T = o[P("0x92")](S, o[P("0x95")](c, h, ht)), M = o.dot(S, o[P("0x95")](u, h, ht)); E = 0 < T && 0 < M ? y - m : 0 < T && M <= 0 ? 0 < o.dot(a[P("0x8c")], h) ? -m - y : m + y : m - y, a.rotateRight(G), a[P("0xda")](E); } else { o[P("0x8d")](c, c), o[P("0x8d")](u, u); var N = o[P("0x92")](c, u), R = o[P("0x99")](c, u, ut); if (N < 1 && !o[P("0x62")](R, o[P("0x6f")], L[P("0x65")])) { var O = Math[P("0xdc")](N); a.rotate(R, O); } } } var bt = new o(), vt = new s(); function Ct(e, t, i) { l(i[P("0x8e")]) && (i = i.distance); var r = e[P("0x44")], n = e._scene, a = n[P("0x7e")], s = n.canvas, x = qe; x.x = s[P("0x94")] / 2, x.y = s[P("0x7c")] / 2; var c, u, h = a.getPickRay(x, Xe), f = r[P("0xd6")](a[P("0x8c")], vt).height; f < e[P("0x3c")] && (c = Ce(e, x, Ye)), u = l(c) ? o.distance(h[P("0x87")], c) : f; var d = o[P("0x8d")](a.position, bt); xe(e, t, i, e._zoomFactor, u, o[P("0x92")](d, a[P("0x93")])); } var yt = new n(), _t = new y(), At = new o(), It = new o(), wt = new m(), Gt = new m(), Et = new m(), St = new C(), Tt = new p(), Pt = new s(), Mt = new o(); function Nt(e, t, i) { var r = e[P("0x42")].camera; if (i && i[P("0x63")] && i.endPosition && (t = i.endPosition, i.endPosition = i[P("0x63")], i[P("0x63")] = t, i[P("0x64")].x = (i.startPosition.x + i[P("0x64")].x) / 2, i[P("0x64")].y = (i[P("0x63")].y + i[P("0x64")].y) / 2), m[P("0x84")](r[P("0xaf")], m[P("0xae")])) if (l(i[P("0xaa")]) && (i = i[P("0xaa")]), n[P("0x84")](t, e[P("0x4d")]) || (e[P("0xde")] = !1, e._looking = !1), e[P("0x54")]) { var a = e[P("0x44")][P("0xd5")](r[P("0x8c")], Mt); Bt(e, t, i, a); } else { var s = e[P("0x44")][P("0xd6")](r[P("0x8c")], Pt); e[P("0xde")] || s.height > e[P("0x3e")] ? (e._tiltOnEllipsoid = !0, function (e, t, i) { var r = e[P("0x44")], a = e[P("0x42")], s = a[P("0x7e")], x = 0.25 * e[P("0x30")], c = r[P("0xd6")](s[P("0xa5")], Lt)[P("0x8b")]; if (!(c - x - 1 < L[P("0xdf")] && i[P("0x64")].y - i[P("0x63")].y < 0)) { var u = a[P("0x48")], f = yt; f.x = u[P("0x94")] / 2, f.y = u[P("0x7c")] / 2; var g, p = s.getPickRay(f, _t), b = d[P("0xe0")](p, r); if (l(b)) g = y[P("0xe1")](p, b[P("0xe2")], At);else { if (!(c > e._minimumTrackBallHeight)) { e[P("0x54")] = !0; var v = e[P("0x44")][P("0xd5")](s.position, Mt); return Bt(e, t, i, v), n[P("0x6e")](t, e._tiltCenterMousePosition); } var C = d[P("0xe3")](p, r); if (!l(C)) return; var A = r[P("0xd6")](C, Pt); A.height = 0, g = r.cartographicToCartesian(A, At); } var I = _[P("0xbf")](g, r, wt), w = e[P("0x43")], G = e[P("0x44")]; e[P("0x43")] = void 0, e[P("0x44")] = h[P("0xc0")], e[P("0x5d")] = 1, e[P("0xc1")] = 1; var E = m[P("0x6e")](s[P("0xaf")], Et); s._setTransform(I), s[P("0x80")] > L[P("0x77")](e.constrainedPitch, -L.PI, 0) && 0 <= i[P("0x63")].y - i[P("0x64")].y ? xt(e, 0, i, o.UNIT_Z, !1, !0) : xt(e, 0, i, o[P("0xc3")]), s._setTransform(E), e[P("0x43")] = w; var S = (e._ellipsoid = G)[P("0xc4")]; e._rotateFactor = 1 / S, e[P("0xc1")] = S; } }(e, t, i)) : function (e, t, i) { var r, a, s, x = e[P("0x44")], c = e[P("0x42")], u = c[P("0x7e")]; if (n[P("0x84")](t, e[P("0x4d")])) r = o.clone(e[P("0xc5")], At);else { if (r = Ce(e, t, At), !l(r)) { if (a = u[P("0x86")](t, _t), s = d.rayEllipsoid(a, x), !l(s)) { if (x[P("0xd6")](u[P("0x8c")], Pt)[P("0x8b")] <= e[P("0x40")]) { e._looking = !0; var f = e[P("0x44")][P("0xd5")](u[P("0x8c")], Mt); Bt(e, t, i, f), n[P("0x6e")](t, e._tiltCenterMousePosition); } return; } r = y[P("0xe1")](a, s[P("0xe2")], At); } n.clone(t, e[P("0x4d")]), o.clone(r, e[P("0xc5")]); } var g = c[P("0x48")], b = yt; b.x = g[P("0x94")] / 2, b.y = e[P("0x4d")].y, a = u[P("0x86")](b, _t); var v = o.magnitude(r), A = o[P("0x88")](v, v, v, nt), I = h[P("0xd7")](A, ot); if (s = d[P("0xe0")](a, I), l(s)) { var w = o[P("0x96")](a[P("0x87")]) > v ? s.start : s[P("0xe4")], G = y[P("0xe1")](a, w, It), E = _[P("0xbf")](r, x, wt), S = _[P("0xbf")](G, I, Gt), T = e[P("0x43")], M = e[P("0x44")]; e[P("0x43")] = void 0, e[P("0x44")] = h.UNIT_SPHERE, e[P("0x5d")] = 1, e[P("0xc1")] = 1; var N = o[P("0xc3")], R = m[P("0x6e")](u[P("0xaf")], Et); u._setTransform(E); var O = o[P("0x99")](G, u.positionWC, ze), F = o[P("0x92")](u[P("0xe5")], O); if (xt(e, 0, i, N, !1, !0), u[P("0xc2")](S), F < 0) { i.startPosition.y > i[P("0x64")].y && (N = void 0); var D = u[P("0xc7")]; u[P("0xc7")] = void 0, xt(e, 0, i, N, !0, !1), u.constrainedAxis = D; } else (u[P("0x80")] < L[P("0x77")](e[P("0x25")], -L.PI, 0) || i.startPosition.y - i[P("0x64")].y <= 0) && xt(e, 0, i, N, !0, !1); if (l(u.constrainedAxis)) { var U = o[P("0x99")](u[P("0x93")], u.constrainedAxis, ze); o.equalsEpsilon(U, o.ZERO, L[P("0xbb")]) || (o[P("0x92")](U, u.right) < 0 && o[P("0xc8")](U, U), o.cross(U, u[P("0x93")], u.up), o[P("0x99")](u[P("0x93")], u.up, u[P("0x9b")]), o[P("0x8d")](u.up, u.up), o.normalize(u[P("0x9b")], u[P("0x9b")])); } u._setTransform(R), e[P("0x43")] = T; var k = (e._ellipsoid = M)[P("0xc4")]; e[P("0x5d")] = 1 / k, e[P("0xc1")] = k; var B = o[P("0x6e")](u.positionWC, ze); if (e[P("0x41")] && Vt(e), !o.equals(u[P("0xa5")], B)) { u[P("0xc2")](S), u[P("0xc9")](B, B); var W = o[P("0xe6")](B); o[P("0xe6")](u[P("0x8c")]) > W && (o.normalize(u[P("0x8c")], u[P("0x8c")]), o[P("0x6c")](u[P("0x8c")], Math[P("0xca")](W), u[P("0x8c")])); var j = o[P("0xcb")](B, u[P("0x8c")]), V = o[P("0x99")](B, u.position, B); o[P("0x8d")](V, V); var z = C.fromAxisAngle(V, j, St), H = p[P("0xcd")](z, Tt); p[P("0xce")](H, u[P("0x93")], u[P("0x93")]), p[P("0xce")](H, u.up, u.up), o[P("0x99")](u[P("0x93")], u.up, u[P("0x9b")]), o[P("0x99")](u[P("0x9b")], u[P("0x93")], u.up), u._setTransform(R); } } }(e, t, i); } } var Lt = new s(), Rt = new n(), Ot = new n(), Ft = new y(), Dt = new y(), Ut = new o(), kt = new o(); function Bt(e, t, i, r) { var n = e[P("0x42")][P("0x7e")], a = Rt; a.x = i.startPosition.x, a.y = 0; var s = Ot; s.x = i[P("0x64")].x, s.y = 0; var c, u, h = n[P("0x86")](a, Ft), f = n[P("0x86")](s, Dt), d = 0; n.frustum instanceof b ? (c = h[P("0x87")], u = f[P("0x87")], o[P("0x6d")](n[P("0x93")], c, c), o.add(n[P("0x93")], u, u), o[P("0x95")](c, n[P("0x8c")], c), o[P("0x95")](u, n[P("0x8c")], u), o[P("0x8d")](c, c), o[P("0x8d")](u, u)) : (c = h[P("0x93")], u = f[P("0x93")]); var g = o[P("0x92")](c, u); g < 1 && (d = Math[P("0xdc")](g)), d = i[P("0x63")].x > i[P("0x64")].x ? -d : d; var p = e[P("0x4c")]; if (l(r) ? n[P("0xe7")](r, -d) : l(p) ? n[P("0xe7")](p, -d) : n.lookLeft(d), a.x = 0, a.y = i[P("0x63")].y, s.x = 0, s.y = i[P("0x64")].y, h = n.getPickRay(a, Ft), f = n[P("0x86")](s, Dt), d = 0, n[P("0xe8")] instanceof b ? (c = h[P("0x87")], u = f.origin, o[P("0x6d")](n[P("0x93")], c, c), o[P("0x6d")](n[P("0x93")], u, u), o.subtract(c, n[P("0x8c")], c), o[P("0x95")](u, n.position, u), o.normalize(c, c), o[P("0x8d")](u, u)) : (c = h[P("0x93")], u = f.direction), (g = o.dot(c, u)) < 1 && (d = Math.acos(g)), d = i.startPosition.y > i[P("0x64")].y ? -d : d, r = x(r, p), l(r)) { var m = n[P("0x93")], v = o.negate(r, Ut), C = o[P("0x62")](m, r, L[P("0xe9")]), y = o.equalsEpsilon(m, v, L[P("0xe9")]); if (C || y) (C && d < 0 || y && 0 < d) && n[P("0xe7")](n[P("0x9b")], -d);else { g = o[P("0x92")](m, r); var _ = L.acosClamped(g); 0 < d && _ < d && (d = _ - L.EPSILON4), g = o[P("0x92")](m, v), _ = L[P("0x9d")](g), d < 0 && _ < -d && (d = -_ + L[P("0xea")]); var A = o[P("0x99")](r, m, kt); n.look(A, d); } } else n[P("0xeb")](d); } var Wt = new m(), jt = new s(); function Vt(e) { e[P("0xec")] = !0; var t = e[P("0x42")], i = t.mode, r = t.globe; if (l(r) && i !== E[P("0x85")] && i !== E.MORPHING) { var n, a, s = t[P("0x7e")], x = r.ellipsoid, c = t[P("0xbd")]; m.equals(s[P("0xaf")], m[P("0xae")]) || (n = m[P("0x6e")](s[P("0xaf")], Wt), a = o[P("0x96")](s[P("0x8c")]), s[P("0xc2")](m.IDENTITY)); var u = jt; i === E[P("0x90")] ? x[P("0xd6")](s[P("0x8c")], u) : c[P("0xbe")](s[P("0x8c")], u); var h = !1; if (u[P("0x8b")] < e[P("0x3e")]) { var f = r[P("0xed")](u); l(f) && (f += e[P("0x30")], u[P("0x8b")] < f && (u[P("0x8b")] = f, i === E[P("0x90")] ? x[P("0xa7")](u, s.position) : c.project(u, s.position), h = !0)); } l(n) && (s[P("0xc2")](n), h && (o[P("0x8d")](s[P("0x8c")], s[P("0x8c")]), o[P("0xc8")](s[P("0x8c")], s[P("0x93")]), o[P("0x6c")](s[P("0x8c")], Math[P("0xee")](a, e[P("0x30")]), s[P("0x8c")]), o.normalize(s[P("0x93")], s[P("0x93")]), o[P("0x99")](s[P("0x93")], s.up, s[P("0x9b")]), o[P("0x99")](s[P("0x9b")], s[P("0x93")], s.up))); } } R.prototype[P("0xbc")] = function () { var e = this._scene, t = e.mode, i = e[P("0x7e")]; return t !== E[P("0x8a")] || Math[P("0x78")](i[P("0x8c")].x) - this[P("0x59")].x < 0 && Math[P("0x78")](i[P("0x8c")].y) - this[P("0x59")].y < 0; }; var zt = new o(), Ht = new o(); R.prototype[P("0xd2")] = function () { var e = this[P("0x42")][P("0x7e")]; m.equals(e.transform, m[P("0xae")]) ? (this[P("0x43")] = this[P("0x42")][P("0xa3")], this[P("0x44")] = l(this[P("0x43")]) ? this._globe.ellipsoid : this[P("0x42")][P("0xbd")][P("0xef")]) : (this[P("0x43")] = void 0, this._ellipsoid = h[P("0xc0")]), this[P("0x3e")] = this[P("0x3d")] * this[P("0x42")][P("0xf0")], this._minimumPickingTerrainHeight = this[P("0x3b")] * this[P("0x42")].terrainExaggeration, this[P("0x40")] = this[P("0x3f")] * this[P("0x42")][P("0xf0")]; var t = this[P("0x44")][P("0xc4")]; this._rotateFactor = 1 / t, this[P("0xc1")] = t, this[P("0xec")] = !1; var i, r, n, a = o[P("0x6e")](e[P("0xa5")], zt), s = o[P("0x6e")](e[P("0xa6")], Ht), x = this[P("0x42")][P("0xd3")]; x === E[P("0x85")] ? (n = (r = this)[P("0x42")][P("0xad")] === G.ROTATE, m.equals(m[P("0xae")], r[P("0x42")][P("0x7e")][P("0xaf")]) ? (D(r, r[P("0x28")], r[P("0xb2")], he, r.inertiaTranslate, P("0x49")), D(r, r[P("0xb0")], r[P("0x33")], fe, r[P("0xb1")], P("0xb4")), n && D(r, r[P("0x29")], r[P("0xb5")], pe, r[P("0x2c")], P("0x4a"))) : (D(r, r[P("0xb0")], r[P("0x33")], fe, r[P("0xb1")], "_lastInertiaZoomMovement"), n && D(r, r[P("0x29")], r[P("0xb2")], pe, r[P("0x2c")], P("0xb3")))) : x === E[P("0x8a")] ? (this[P("0x4c")] = o[P("0xc3")], function (e) { var t = e[P("0x42")][P("0x7e")]; if (m[P("0x84")](m[P("0xae")], t[P("0xaf")])) { var i = e[P("0xcf")]; if (e[P("0x46")][P("0xd0")] && i.removeAll(), D(e, e[P("0x2a")], e[P("0xb5")], He, e[P("0x2c")], "_lastInertiaTiltMovement"), D(e, e[P("0x28")], e[P("0xb2")], Pe, e.inertiaTranslate, P("0x49")), D(e, e[P("0xb0")], e.zoomEventTypes, Ke, e[P("0xb1")], P("0xb4")), D(e, e[P("0x2b")], e[P("0x39")], Bt), !(e._aggregator[P("0xd0")] || l(e._lastInertiaZoomMovement) && e[P("0xb4")][P("0x69")] || l(e._lastInertiaTranslateMovement) && e[P("0x49")][P("0x69")] || i[P("0xd1")](e._tween))) { var r = t.createCorrectPositionTween(e[P("0x2f")]); l(r) && (e[P("0x4b")] = i[P("0x6d")](r)); } i[P("0xd2")](); } else D(e, e[P("0x29")], e[P("0x36")], xt, e[P("0x2c")], P("0xb3")), D(e, e.enableZoom, e[P("0x33")], Ct, e[P("0xb1")], P("0xb4")); }(this)) : x === E[P("0x90")] && (this[P("0x4c")] = void 0, D(i = this, i[P("0x29")], i[P("0x36")], st, i[P("0x2c")], P("0xb3")), D(i, i[P("0xb0")], i[P("0x33")], Ct, i[P("0xb1")], P("0xb4")), D(i, i[P("0x2a")], i[P("0xb5")], Nt, 2, "_lastInertiaTiltMovement"), D(i, i.enableLook, i[P("0x39")], Bt)), this[P("0x41")] && !this[P("0xec")] && (o[P("0x84")](a, e[P("0xa5")]) && o[P("0x84")](s, e[P("0xa6")]) || Vt(this)), this[P("0x46")][P("0xf1")](); }, R[P("0x5")][P("0xf2")] = function () { return this[P("0xec")]; }, R[P("0x5")][P("0xf3")] = function () { return !1; }, R[P("0x5")][P("0xf4")] = function () { return this._tweens[P("0xf5")](), this[P("0x46")] = this[P("0x46")] && this._aggregator[P("0xf4")](), c(this); }; var qt = { name: P("0xf6"), version: "", description: "", code: "", schemaCode: "", visible: "", type: "" }, Xt = (M(Yt, [{ key: "destroy", value: function value() {} }]), Yt); function Yt(e) { N(this, Yt), e = Object[P("0xf7")]({}, qt, e), this.name = e.name, this._version = e.version + ""; } Object[P("0xf")](Xt[P("0x5")], { version: { get: function get() { return this[P("0xf8")]; }, set: function set(e) { this[P("0xf8")] = e + ""; } } }); var Kt = (function (e, t) { if (w()(t) !== P("0x8") && null !== t) throw new TypeError(P("0x9") + w()(t)); e[P("0x5")] = Object[P("0xa")](t && t[P("0x5")], { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }), t && (Object[P("0xb")] ? Object[P("0xb")](e, t) : e[P("0xc")] = t); }(Qt, Xt), M(Qt, [{ key: "translate", value: function value() {} }, { key: P("0xfb"), value: function value() {} }, { key: P("0xfc"), value: function value() {} }]), Qt); function Qt(e) { return N(this, Qt), function (e, t) { if (!e) throw new ReferenceError(P("0x6")); return !t || w()(t) !== P("0x7") && "function" != typeof t ? e : t; }(this, (Qt[P("0xc")] || Object[P("0xf9")](Qt))[P("0xfa")](this, e)); } window[P("0xfd")] && (cesium__WEBPACK_IMPORTED_MODULE_1__[P("0xf")] || (cesium__WEBPACK_IMPORTED_MODULE_1__[P("0xf")] = i), cesium__WEBPACK_IMPORTED_MODULE_1__["GeoScreenSpaceCameraController"] = R, cesium__WEBPACK_IMPORTED_MODULE_1__[P("0xfe")] = Kt); }), (T = window.Cesium) && (T[P("0x45")] = { GeoCamera: !0, GeoCameraEventAggregator: !0, GeoScreenSpaceCameraController: !0 }, T[P("0xff")] = P("0x100")), function (e) { e[P("0x101")] = function (t, i) { if ((i = i || {}).baseLayerPicker = e[P("0x102")](i[P("0x103")], !1), i.timeline = e[P("0x102")](i.timeline, !1), i[P("0x104")] = e.defaultValue(i[P("0x104")], !1), i.homeButton = e[P("0x102")](i[P("0x105")], !1), i.navigationHelpButton = e[P("0x102")](i.navigationHelpButton, !1), i[P("0x106")] = e[P("0x102")](i[P("0x106")], !0), i.sceneMode = e[P("0x102")](i[P("0x107")], e[P("0x22")][P("0x90")]), i[P("0x108")] = e.defaultValue(i[P("0x108")], !0), i[P("0x109")] = e[P("0x102")](i[P("0x109")], 25), i.geocoder = e.defaultValue(i.geocoder, !1), i.fullscreenButton = e[P("0x102")](i[P("0x10a")], !1), !e[P("0x14")](i[P("0x10b")])) { var r = L(), n = new e[P("0x10c")]({ url: r + P("0x10d"), rectangle: e.Rectangle.fromDegrees(-180, -90, 180, 90) }); i.imageryProvider = n; } return new e[P("0x10e")](t, i); }, e[P("0x10e")][P("0x5")].getCameraOptionsToMapbox = function () { var t, i, r = this[P("0x10f")], n = this[P("0x48")], o = this[P("0x7e")], a = r.globe, s = e[P("0x16")][P("0x110")], x = 0, l = 0, c = null, u = new e[P("0x10")](n.clientWidth / 2, n[P("0x7c")] / 2), h = o[P("0x86")](u); if (!(c = (c = r[P("0xa3")][P("0xa4")](h, r)) || o[P("0xa2")](u))) { var f = o[P("0x91")][P("0x6e")](), d = a[P("0xed")](f); f[P("0x8b")] = d || 0, c = s[P("0xa7")](f); } var g = e[P("0x11")].distance(c, o[P("0x8c")]) / 1405.5; t = Math[P("0x111")](78271.51696402031 / g) - 1.2; var p = s.cartesianToCartographic(c); if (i = [e[P("0x23")].toDegrees(p[P("0x112")]), e[P("0x23")][P("0x113")](p[P("0x114")])], c) { var m = o.up, b = o[P("0x9b")], v = new e.Cartesian3(-c.y, c.x, 0), C = e[P("0x11")][P("0xcb")](b, v); x = e[P("0x11")].cross(c, m, new e[P("0x11")]()).z < 0 ? -C : C, x = e[P("0x23")][P("0x113")](x); var y = o[P("0x8c")], _ = new e[P("0x11")](); s[P("0x115")](c, _); var A = new e[P("0x11")](); e[P("0x11")][P("0x95")](y, c, A), e.Cartesian3[P("0x8d")](A, A); var I = Math[P("0xdc")](e[P("0x11")][P("0x92")](_, A)); l = isNaN(I) ? 0 : I; } else x = e.Math[P("0x113")](o[P("0x7f")]), l = e[P("0x23")][P("0x116")]; return { center: i, zoom: t, bearing: x, pitch: l = e[P("0x23")][P("0x113")](l) }; }, e[P("0x10e")][P("0x5")][P("0x117")] = function (t) { var i = this[P("0x10f")], r = (this[P("0x48")], this[P("0x7e")]), n = i.globe, o = e[P("0x102")](t, { center: [0, 0], zoom: 1, bearing: 0, pitch: 0 }), a = 78271.51696402031 / Math.pow(2, o[P("0x118")] + 1.2), s = new e.Cartographic(e[P("0x23")][P("0x119")](o[P("0x11a")][0]), e[P("0x23")][P("0x119")](o[P("0x11a")][1])), x = 1405.5 * a + (n[P("0xed")](s) || 0), l = e.Math.toRadians(o[P("0x11b")]), c = e.Math[P("0x119")](o[P("0x80")] - 90), u = { destination: e[P("0x16")][P("0x110")][P("0xa7")](s), orientation: { heading: l, pitch: c, roll: 0 } }, h = { destination: r[P("0x8c")][P("0x6e")](), orientation: { heading: r.heading, pitch: r[P("0x80")], roll: r.roll } }; return r[P("0x9c")](u), r[P("0x11c")](x), u[P("0x11d")] = r[P("0x8c")][P("0x6e")](), u[P("0x11e")].heading = r[P("0x7f")], u[P("0x11e")][P("0x80")] = r[P("0x80")], u[P("0x11e")][P("0x81")] = r.roll, r[P("0x9c")](h), u; }, e[P("0x101")][P("0x11f")] = !1; }(window[P("0xfd")]), function (e) { var t = new e[P("0x127")](); function i(i) { var o = (i = e[P("0x102")](i, e[P("0x102")][P("0x128")]))[P("0x129")]; if (!e[P("0x14")](o)) throw new DeveloperError(P("0x12a")); o = e[P("0x12b")](o); var a = i[P("0x12c")]; this[P("0x12d")] = [], this[P("0x12e")] = t; for (var s = this, x = o[P("0x12f")], l = 0; l < x[P("0x0")]; l++) { var c = x[l], u = n(c, r(c.id, a)); this[P("0x12d")].push(u); } for (var h = function h(e) { var t = s[P("0x12d")][e]; t[P("0x7e")].changed[P("0x130")](function () { var e = t; s.onCameraChanged(e, s._viewers); }); }, f = 0; f < s[P("0x12d")][P("0x0")]; f++) { h(f); } } function r(e, t) { if (!t || !e) return null; for (var i = 0; i < t[P("0x0")]; i++) { var r = t[i]; if (e == r[P("0x131")]) return r[P("0x132")]; } } function n(i, r) { return e.defaultValue(r, { clockViewModel: t, shouldAnimate: !0, showRenderLoopErrors: !1, baseLayerPicker: !1, infoBox: !1 }), new e[P("0x101")](i, r); } function o(e, t) { var i = !0, r = t[P("0x8c")], n = e[P("0x8c")]; n[P("0x84")](r) || (i = !1); var o = t[P("0x93")], a = e[P("0x93")]; a[P("0x84")](o) || (i = !1); var s = t.up, x = e.up; x.equals(s) || (i = !1); var l = t[P("0x7f")], c = e[P("0x7f")]; l != c && (i = !1); var u = t.pitch, h = e.pitch; u != h && (i = !1); var f = t[P("0x81")], d = e[P("0x81")]; if (f != d && (i = !1), i) return console[P("0x133")]("停止"), !1; t.setView({ destination: n.clone(), orientation: { direction: a[P("0x6e")](), up: x[P("0x6e")](), heading: c, pitch: h, roll: d } }); } i[P("0x5")].onCameraChanged = function (e, t) { !function (e, t) { for (var i = 0; i < t[P("0x0")]; i++) { var r = t[i]; e != r && o(e[P("0x7e")], r[P("0x7e")]); } }(e, t); }, i[P("0x5")][P("0x134")] = function (e) { for (var t = this[P("0x12d")], i = null, r = 0; r < t[P("0x0")]; r++) { if ((i = t[r])[P("0x131")].id == e) return i; } return i; }, i[P("0x5")].destroy = function () { var e = this._viewers; if (e) { for (var t = e[P("0x0")] - 1; 0 <= t; t--) { e[t].destroy(); } this[P("0x12d")] = []; } }, e[P("0x135")] = i; }(window[P("0xfd")]), function (e) { var t = { left: { mode: P("0x136"), direction: e[P("0x137")][P("0x138")] }, right: { mode: P("0x136"), direction: e[P("0x137")][P("0x139")] }, top: { mode: "top-bottom", direction: 1 }, bottom: { mode: P("0x13a"), direction: -1 } }; function i(t) { var i = (t = e[P("0x102")](t, e.defaultValue[P("0x128")]))[P("0x13b")]; if (!e[P("0x14")](i)) throw new DeveloperError("viewer is required."); this[P("0x13c")] = i, this[P("0x13d")] = e[P("0x102")](t.isEnable, !0), this[P("0x13e")](t.splitDirection), this[P("0x13f")] = this[P("0x140")](i, this[P("0x141")]), this[P("0x142")](), this[P("0x143")](this[P("0x141")]), this[P("0x144")](), this[P("0x145")] = e[P("0x102")](t[P("0x146")], []), this[P("0x147")](); } i[P("0x5")]._setSplitDirection = function (i) { i = (i = e[P("0x102")](i, "left"))[P("0x148")](); var r = t[i]; r || (i = P("0x149"), r = t[i]), this._splitDirection = i, this._splitMode = r.mode; }, i.prototype._updateEnableLayers = function () { for (var e = this[P("0x145")], i = e[P("0x0")] - 1; 0 <= i; i--) { e[i][P("0x14a")] = t[this[P("0x14b")]][P("0x93")]; } }, i.prototype._setSplitMode = function (e) { var t = this[P("0x13c")], i = this[P("0x13f")]; i[P("0x14c")] = P("0x14d"), e == P("0x13a") && (i[P("0x14c")] += P("0x14e"), t.scene[P("0x14f")] = -1, i[P("0x150")][P("0x149")] = 0, i.style[P("0x151")] = P("0x152")), e == P("0x136") && (i[P("0x14c")] += P("0x153"), t[P("0x10f")][P("0x14f")] = 1, i[P("0x150")][P("0x151")] = 0, i[P("0x150")][P("0x149")] = P("0x152")); }, i[P("0x5")][P("0x154")] = function (e) { var t = this[P("0x13c")]; if (this[P("0x155")] == P("0x136")) { var i = e[P("0x64")].x; if ((r = (slider[P("0x156")] + i) / slider[P("0x157")][P("0x158")]) < 0 || 1 < r) return; slider[P("0x150")][P("0x149")] = 100 * r + "%", t[P("0x10f")][P("0x159")] = r; } if (this.splitMode == P("0x13a")) { var r; if (i = e[P("0x64")].y, (r = (slider[P("0x15a")] + i) / slider[P("0x157")][P("0x15b")]) < 0 || 1 < r) return; slider[P("0x150")][P("0x151")] = 100 * r + "%", slider[P("0x150")][P("0x149")] = 0, t[P("0x10f")].imagerySplitPosition = 1 - r; } }, i[P("0x5")]._initSlider = function (t, i) { var r, n = this; if (!this[P("0x13f")]) { var o = function o(e) { if (s) { if (n.splitMode == P("0x136")) { var i = e[P("0x64")].x; if ((o = (r.offsetLeft + i) / r[P("0x157")][P("0x158")]) < 0 || 1 < o) return; r[P("0x150")][P("0x149")] = 100 * o + "%", t.scene[P("0x159")] = o; } if (n.splitMode == P("0x13a")) { var o; if (i = e.endPosition.y, (o = (r[P("0x15a")] + i) / r[P("0x157")][P("0x15b")]) < 0 || 1 < o) return; r[P("0x150")][P("0x151")] = 100 * o + "%", r[P("0x150")][P("0x149")] = 0, t.scene[P("0x159")] = 1 - o; } } }; this[P("0x13f")] = document[P("0x15c")](P("0x15d")), r = this._slider, t[P("0x15e")].appendChild(r); var a = new e[P("0x15f")](r), s = !1; a[P("0x160")](function () { s = !0; }, e.ScreenSpaceEventType.LEFT_DOWN), a[P("0x160")](function () { s = !0; }, e[P("0x161")][P("0x162")]), a[P("0x160")](o, e[P("0x161")][P("0x163")]), a.setInputAction(o, e.ScreenSpaceEventType.PINCH_MOVE), a.setInputAction(function () { s = !1; }, e.ScreenSpaceEventType.LEFT_UP), a[P("0x160")](function () { s = !1; }, e[P("0x161")].PINCH_END); } return r; }, i[P("0x5")][P("0x142")] = function () { var e = P("0x164"), t = document.getElementById(e); t || ((t = document.createElement(P("0x150")))[P("0x165")] = "text/css", t.id = e, document.getElementsByTagName("head")[0].appendChild(t)); var i = P("0x166"); t[P("0x167")](document[P("0x168")](i)); }, i.prototype[P("0x144")] = function () { var e, t = this[P("0x141")], i = this[P("0x13f")], r = this[P("0x13c")].scene; t == P("0x136") && (e = (i[P("0x156")] + 0) / i[P("0x157")][P("0x158")], r[P("0x159")] = e), t == P("0x13a") && (e = (i.offsetTop + 0) / i.parentElement[P("0x15b")], r.imagerySplitPosition = 1 - e); }, i.prototype.destroy = function () { var e = this[P("0x13f")]; e && (this[P("0x13c")][P("0x131")].removeChild(e), this[P("0x13c")][P("0x10f")][P("0x159")] = 0); }, e[P("0xf")](i.prototype, { splitMode: { get: function get() { return this[P("0x141")]; }, set: function set(e) { this._splitMode = e, this[P("0x143")](e); var t, i = this[P("0x13f")], r = this[P("0x13c")]; this.splitMode == P("0x136") && (t = (i.offsetLeft + 0) / i[P("0x157")][P("0x158")], r.scene[P("0x159")] = t), "top-bottom" == this[P("0x155")] && (t = (i.offsetTop + 0) / i[P("0x157")][P("0x15b")], r[P("0x10f")][P("0x159")] = 1 - t); } }, isEnable: { get: function get() { return this._isEnable; }, set: function set(e) { this[P("0x13d")] = e; } }, enableLayers: { get: function get() { return this._enableLayers; }, set: function set(e) { this._enableLayers = e, this[P("0x147")](); } }, splitDirection: { get: function get() { return this[P("0x14b")]; }, set: function set(e) { this._setSplitDirection(e), this._setSplitMode(this._splitMode), this._updateEnableLayers(), this._upateSceneImagerySplitPositionBySlider(); } } }), e.GeoSplitSliderWidget = i; }(window[P("0xfd")]), function (e) { var t = e.DrawCircleWidget = function (t, i) { this[P("0x13b")] = t.viewer, this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x16b")][P("0x16c")](0.3), this[P("0x10f")] = this[P("0x13b")].scene, this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this.canvas = this[P("0x10f")][P("0x48")], this.primitives = this[P("0x10f")].primitives, this[P("0xef")] = this[P("0x10f")][P("0xa3")][P("0xef")], this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1, this[P("0x16d")] = new e[P("0x16e")](), this.callback = i || null; }; function i(e, t) { for (var i = 0; i < t.length; i++) { t.get(i)[P("0x176")] == e && (t.remove(t[P("0x187")](i)), i--); } } t[P("0x5")].activate = function () { if (!this[P("0x16f")]) { this.handler = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171"); var t, i, r = this, n = []; this[P("0x172")] = n, this._circles_ = t = [], this[P("0x173")] = i, this[P("0x16f")][P("0x160")](function (i) { r.lastP = i; var o = r[P("0x10f")][P("0x174")](i.position); if (!o) { var a = r[P("0x7e")].getPickRay(i[P("0x8c")]); o = r[P("0x10f")][P("0xa3")][P("0xa4")](a, r[P("0x10f")]); } if (o && (e[P("0x13")][P("0x175")](o)[P("0x8b")] < 0 && (a = r[P("0x7e")][P("0x86")](i[P("0x8c")]), o = r[P("0x10f")].globe[P("0xa4")](a, r.scene)), n[0] = o, 0 < n[P("0x0")])) { var s = new e.CircleGeometry({ center: o, radius: 0, height: 0 }); s[P("0x176")] = P("0x177"); var x = new e[P("0x178")]({ geometryInstances: new e[P("0x179")]({ geometry: s, attributes: { color: e.ColorGeometryInstanceAttribute.fromColor(r[P("0x169")]) } }), appearance: r.appearance, classificationType: e[P("0x17a")][P("0x17b")], interleave: !0 }); x.name = P("0x177"), t[P("0x17c")]({ geometry: { center: o, radius: 0, height: 0 }, primitive: x }), r[P("0x17d")][P("0x6d")](x); } }, e.ScreenSpaceEventType[P("0x17e")]), this[P("0x16f")].setInputAction(function (o) { var a = r.scene[P("0x174")](o.endPosition); if (!a) { var s = r.camera[P("0x86")](o[P("0x64")]); a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r[P("0x10f")]); } if (!a) return i && (r[P("0x17d")][P("0x17f")](i), i = null), void (r._labels_ = i); e[P("0x13")].fromCartesian(a)[P("0x8b")] < 0 && (s = r.camera.getPickRay(o[P("0x64")]), a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r.scene)); var x = e.Cartographic[P("0x175")](a), l = e[P("0x23")][P("0x113")](x[P("0x112")]), c = e[P("0x23")][P("0x113")](x[P("0x114")]), u = x.height; 0 < n[P("0x0")] && (t[0], r[P("0x17d")][P("0x17f")](t[0].primitive), t[0][P("0x180")][P("0x181")] = e.Cartesian3.distance(t[0].geometry[P("0x11a")], a), 3189100 < t[0][P("0x180")][P("0x181")] && (t[0][P("0x180")][P("0x181")] = 3189100), t[0][P("0x182")] = new e[P("0x178")]({ geometryInstances: new e[P("0x179")]({ geometry: new e[P("0x183")]({ center: t[0][P("0x180")].center[P("0x6e")](), radius: t[0].geometry.radius, height: t[0][P("0x180")][P("0x8b")] }), attributes: { color: e[P("0x184")].fromColor(r[P("0x169")]) } }), appearance: r[P("0x16d")], classificationType: e.ClassificationType[P("0x17b")], interleave: !0 }), t[0][P("0x182")][P("0x176")] = P("0x177"), r[P("0x17d")][P("0x6d")](t[0][P("0x182")])), i ? i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")].fromDegrees(l, c, u) : ((i = r[P("0x17d")].add(new e.LabelCollection()))[P("0x176")] = "draw_label", i[P("0x6d")]({ text: P("0x185"), font: P("0x186"), showBackground: !0 }), i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(l, c, u)), r[P("0x173")] = i; }, e.ScreenSpaceEventType.MOUSE_MOVE), this[P("0x16f")].setInputAction(function (e) { r[P("0x188")](e); }, e.ScreenSpaceEventType[P("0x189")]); } }, t[P("0x5")].drawEnd = function (t) { var i = this[P("0x172")], r = this[P("0x18a")], n = this[P("0x173")]; t = t || this[P("0x18b")], this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](), this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x18c"), n && (this[P("0x17d")].remove(n), n = null); var o = this[P("0x10f")][P("0x174")](t.position); if (!o) { var a = this[P("0x7e")][P("0x86")](t.position); o = this[P("0x10f")].globe[P("0xa4")](a, this[P("0x10f")]); } if (o) { e[P("0x13")][P("0x175")](o)[P("0x8b")] < 0 && (a = this[P("0x7e")].getPickRay(t.position), o = this[P("0x10f")][P("0xa3")][P("0xa4")](a, this.scene)); var s = e.Cartographic.fromCartesian(o); if (e.Math.toDegrees(s.longitude), e[P("0x23")][P("0x113")](s[P("0x114")]), s[P("0x8b")], this[P("0xd3")], 0 < i[P("0x0")] && (this.primitives[P("0x17f")](r[0][P("0x182")]), r[0][P("0x180")][P("0x181")] = e.Cartesian3[P("0x8e")](r[0].geometry[P("0x11a")], o), 3189100 < r[0][P("0x180")][P("0x181")] && (r[0][P("0x180")].radius = 3189100), r[0][P("0x182")] = new e[P("0x178")]({ geometryInstances: new e[P("0x179")]({ geometry: new e[P("0x183")]({ center: r[0].geometry[P("0x11a")][P("0x6e")](), radius: r[0][P("0x180")].radius, height: r[0][P("0x180")][P("0x8b")] }), attributes: { color: e[P("0x184")].fromColor(this[P("0x169")]) } }), appearance: this[P("0x16d")], classificationType: e.ClassificationType[P("0x17b")], interleave: !0 }), r[0][P("0x182")][P("0x176")] = P("0x177"), this[P("0x17d")][P("0x6d")](r[0].primitive), this.callback)) { var x = e[P("0x183")][P("0x18d")](new e[P("0x183")]({ center: r[0][P("0x180")][P("0x11a")].clone(), radius: r[0].geometry.radius, height: r[0].geometry.height })), l = new e[P("0x18e")]({ polygon: { hierarchy: { positions: function () { for (var t = [], i = x[P("0x18f")][P("0x8c")][P("0x190")], r = 0; r < i[P("0x0")]; r += 3) { t[P("0x17c")](new e.Cartesian3(i[r], i[r + 1], i[r + 2])); } return t; }() } } }); this[P("0x191")](l); } i = [], r = []; } }, t[P("0x5")][P("0x192")] = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x18c"), i(P("0x193"), this[P("0x17d")]), i(P("0x177"), this[P("0x17d")]), function (e, t) { for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++) { i[r][P("0x176")] == e && (t.remove(i[r]), r--); } }(P("0x177"), this[P("0x13b")][P("0x194")]); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x195")] = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e.Color[P("0x196")].withAlpha(0.5), this.lineWidth = t[P("0x197")] ? t[P("0x197")] : 2, this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0x48")] = this[P("0x10f")].canvas, this[P("0x17d")] = this.scene[P("0x17d")], this[P("0xef")] = this[P("0x10f")].globe[P("0xef")], this[P("0x191")] = i || null; }; function i(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i).name == e && (t.remove(t[P("0x187")](i)), i--); } } t.prototype[P("0x198")] = function () { if (!this[P("0x16f")]) { this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171"); var t, i, r = this, n = []; this[P("0x16f")][P("0x160")](function (i) { if (!(0 < n.length)) { var o = r[P("0x7e")][P("0x86")](i.position), a = r.scene[P("0xa3")][P("0xa4")](o, r[P("0x10f")]); if (a) { var s = e[P("0x13")].fromCartesian(a), x = e[P("0x23")][P("0x113")](s[P("0x112")]), l = e[P("0x23")][P("0x113")](s[P("0x114")]), c = s[P("0x8b")]; 0 == n[P("0x0")] && (n.push(x), n[P("0x17c")](l), n[P("0x17c")](c), n[P("0x17c")](x), n[P("0x17c")](l), n[P("0x17c")](c), n[P("0x17c")](x), n.push(l), n[P("0x17c")](c), (t = r[P("0x17d")][P("0x6d")](new e[P("0x199")]())).name = "draw_polyline", t[P("0x6d")]({ polyline: {} }), t[P("0x187")](t.length - 1)[P("0x19a")] = r[P("0x197")], t.get(t[P("0x0")] - 1)[P("0x19b")] = !0, t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")].color = r[P("0x169")], t[P("0x187")](t[P("0x0")] - 1).positions = e[P("0x11")][P("0x19e")](n)); } } }, e[P("0x161")].LEFT_CLICK), this[P("0x16f")][P("0x160")](function (o) { var a = r[P("0x7e")].getPickRay(o[P("0x64")]), s = r[P("0x10f")][P("0xa3")][P("0xa4")](a, r.scene); if (s) { var x = e[P("0x13")].fromCartesian(s), l = e[P("0x23")][P("0x113")](x[P("0x112")]), c = e[P("0x23")][P("0x113")](x[P("0x114")]), u = x[P("0x8b")]; 9 == n[P("0x0")] && (n[3] = l, n[4] = c, n[5] = u, n[2] >= n[5] ? (n[6] = n[0], n[7] = n[1], n[8] = n[5]) : (n[6] = n[3], n[7] = n[4], n[8] = n[2]), t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(n)), i ? i.get(i[P("0x0")] - 1).position = e[P("0x11")][P("0x1a1")](l, c, u) : ((i = r[P("0x17d")][P("0x6d")](new e.LabelCollection())).name = P("0x193"), i[P("0x6d")]({ text: P("0x185"), font: P("0x1a0"), showBackground: !0, disableDepthTestDistance: Number[P("0x31")] }), i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")][P("0x1a1")](l, c, u)); } else i && (r[P("0x17d")].remove(i), i = null); }, e[P("0x161")][P("0x163")]), this[P("0x16f")][P("0x160")](function (t) { if (r[P("0x16f")] = r.handler && r.handler.destroy(), r.viewer[P("0x48")].style[P("0x170")] = P("0x18c"), i && (r[P("0x17d")][P("0x17f")](i), i = null), r[P("0x191")]) { var o = new e[P("0x18e")]({ polyline: { positions: e[P("0x11")][P("0x19e")](n) } }); r.callback(o); } }, e[P("0x161")][P("0x189")]); } }, t.prototype[P("0x192")] = function () { this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), i(P("0x193"), this[P("0x17d")]), i("draw_polyline", this[P("0x17d")]); }; }(window.Cesium), function (e) { var t = e[P("0x1a2")] = function (t, i) { this.viewer = t.viewer, this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x16b")], this[P("0x1a3")] = t[P("0x1a3")] ? t[P("0x1a3")] : 10, this.scene = this[P("0x13b")][P("0x10f")], this.camera = this[P("0x13b")][P("0x7e")], this.canvas = this.scene.canvas, this[P("0x17d")] = this.scene.primitives, this[P("0xef")] = this.scene.globe.ellipsoid, this.callback = i || null; }; function i(e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i).name == e && (t[P("0x17f")](t.get(i)), i--); } } t[P("0x5")][P("0x198")] = function () { if (!this[P("0x16f")]) { this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]), this.viewer[P("0x48")][P("0x150")][P("0x170")] = "crosshair"; var t, i, r = this, n = []; this[P("0x16f")][P("0x160")](function (o) { var a = r[P("0x10f")][P("0x174")](o[P("0x8c")]); if (!a) { var s = r[P("0x7e")][P("0x86")](o.position); a = r.scene[P("0xa3")].pick(s, r[P("0x10f")]); } if (a && (e[P("0x13")][P("0x175")](a).height < 0 && (s = r.camera.getPickRay(o[P("0x8c")]), a = r[P("0x10f")][P("0xa3")][P("0xa4")](s, r.scene)), n[0] = a, t ? t[P("0xf5")]() : (t = r[P("0x17d")][P("0x6d")](new e[P("0x1a4")]())).name = "draw_point", t[P("0x6d")]({ position: a, color: r[P("0x169")], pixelSize: r[P("0x1a3")], disableDepthTestDistance: 30 }), r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")][P("0xf4")](), r[P("0x13b")].canvas[P("0x150")].cursor = P("0x18c"), i && (r.primitives.remove(i), i = null), r[P("0x191")])) { var x = new e[P("0x18e")]({ position: n[0], point: {} }); r[P("0x191")](x); } }, e[P("0x161")][P("0x17e")]), this[P("0x16f")][P("0x160")](function (t) { var n = r.scene.pickPosition(t[P("0x64")]); if (!n) { var o = r[P("0x7e")][P("0x86")](t[P("0x64")]); n = r.scene[P("0xa3")][P("0xa4")](o, r[P("0x10f")]); } n ? (e[P("0x13")][P("0x175")](n).height < 0 && (o = r.camera[P("0x86")](t[P("0x64")]), n = r[P("0x10f")][P("0xa3")][P("0xa4")](o, r[P("0x10f")])), i ? i[P("0x187")](i.length - 1).position = n : ((i = r.primitives[P("0x6d")](new e[P("0x1a5")]()))[P("0x176")] = "draw_label", i.add({ text: P("0x1a6"), font: P("0x186"), showBackground: !0 }), i[P("0x187")](i[P("0x0")] - 1).position = n)) : i && (r[P("0x17d")].remove(i), i = null); }, e[P("0x161")][P("0x163")]); } }, t[P("0x5")].clear = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "default", i(P("0x193"), this[P("0x17d")]), i(P("0x1a7"), this[P("0x17d")]); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x1a8")] = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x196")][P("0x16c")](0.5), this.lineWidth = t.lineWidth ? t[P("0x197")] : 2, this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this.camera = this[P("0x13b")].camera, this[P("0x48")] = this[P("0x10f")].canvas, this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0xef")] = this[P("0x10f")].globe[P("0xef")], this.callback = i || null, this[P("0x1a9")] = 0; }; function i(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } t[P("0x5")].activate = function () { if (!this[P("0x16f")]) { this.handler = new e.ScreenSpaceEventHandler(this[P("0x48")]), this[P("0x13b")].canvas[P("0x150")].cursor = P("0x171"); var t, i, r = this, n = [], o = [], a = []; this[P("0x172")] = o, this._array2_ = a, this[P("0x1aa")] = t, this[P("0x173")] = i, this[P("0x16f")][P("0x160")](function (i) { r[P("0x18b")] = i; var s = r[P("0x10f")].pickPosition(i[P("0x8c")]); if (!s) { var x = r[P("0x7e")].getPickRay(i[P("0x8c")]); s = r[P("0x10f")][P("0xa3")][P("0xa4")](x, r[P("0x10f")]); } if (s) { e[P("0x13")].fromCartesian(s)[P("0x8b")] < 0 && (x = r[P("0x7e")][P("0x86")](i.position), s = r.scene.globe[P("0xa4")](x, r[P("0x10f")])); var l = e[P("0x13")][P("0x175")](s); o.push(s); var c = e[P("0x23")][P("0x113")](l[P("0x112")]), u = e[P("0x23")][P("0x113")](l.latitude), h = l[P("0x8b")]; a.push([c, u]), n[P("0x17c")](c), n[P("0x17c")](u), n.push(h), 3 == n[P("0x0")] && ((t = r[P("0x17d")].add(new e[P("0x199")]())).name = P("0x1ab"), t.add({ polyline: {} }), t.get(t[P("0x0")] - 1)[P("0x19a")] = r.lineWidth, t[P("0x187")](t[P("0x0")] - 1)[P("0x19b")] = !0, t[P("0x187")](t[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = r[P("0x169")], t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](n)), 3 < n[P("0x0")] && (t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(n)), r[P("0x1aa")] = t; } }, e[P("0x161")][P("0x17e")]), this[P("0x16f")][P("0x160")](function (o) { var a = r[P("0x10f")][P("0x174")](o[P("0x64")]); if (!a) { var s = r[P("0x7e")].getPickRay(o[P("0x64")]); a = r[P("0x10f")].globe.pick(s, r[P("0x10f")]); } if (a) { e[P("0x13")][P("0x175")](a).height < 0 && (s = r[P("0x7e")][P("0x86")](o.endPosition), a = r.scene[P("0xa3")].pick(s, r[P("0x10f")])); var x = e[P("0x13")][P("0x175")](a), l = e[P("0x23")][P("0x113")](x[P("0x112")]), c = e[P("0x23")][P("0x113")](x[P("0x114")]), u = x[P("0x8b")]; if (3 <= n[P("0x0")]) { var h = n.concat(); h[P("0x17c")](l), h[P("0x17c")](c), h[P("0x17c")](u), t[P("0x187")](t.length - 1)[P("0x19f")] = e.Cartesian3.fromDegreesArrayHeights(h); } i ? i[P("0x187")](i[P("0x0")] - 1).position = e[P("0x11")].fromDegrees(l, c, u) : ((i = r.primitives[P("0x6d")](new e[P("0x1a5")]())).name = P("0x193"), i.add({ text: P("0x185"), font: P("0x186"), showBackground: !0 }), i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(l, c, u)), r[P("0x173")] = i; } }, e[P("0x161")].MOUSE_MOVE), this.handler[P("0x160")](function (e) { r.drawEnd(e); }, e[P("0x161")].RIGHT_CLICK), this.count++; } }, t.prototype[P("0x188")] = function (t) { if (0 != this[P("0x172")][P("0x0")]) { var i = this[P("0x172")], r = this[P("0x1ac")], n = this[P("0x1aa")], o = this._labels_; t || (console[P("0x133")](P("0x1ad")), t = this.lastP), this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), o && (this[P("0x17d")][P("0x17f")](o), o = null); var a = this[P("0x10f")][P("0x174")](t[P("0x8c")]); if (!a) { var s = this[P("0x7e")][P("0x86")](t[P("0x8c")]); a = this[P("0x10f")][P("0xa3")].pick(s, this.scene); } if (a) { e[P("0x13")].fromCartesian(a)[P("0x8b")] < 0 && (s = this[P("0x7e")][P("0x86")](t.position), a = this[P("0x10f")][P("0xa3")][P("0xa4")](s, this[P("0x10f")])), i[P("0x17c")](a); var x = e[P("0x13")].fromCartesian(a), l = e.Math.toDegrees(x[P("0x112")]), c = e[P("0x23")][P("0x113")](x.latitude); r[P("0x17c")]([l, c]), n[P("0x187")](n[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = e[P("0x16a")][P("0x1ae")][P("0x16c")](0); var u = new e[P("0x178")]({ geometryInstances: [], appearance: new e[P("0x16e")](), show: !0, classificationType: e.ClassificationType[P("0x17b")] }), h = new e[P("0x179")]({ geometry: e[P("0x1af")].fromPositions({ positions: i, vertexFormat: e[P("0x1b0")][P("0x1b1")] }), attributes: { color: e[P("0x184")][P("0x1b2")](e[P("0x16a")].GREEN.withAlpha(0.3)) } }); if (u.geometryInstances[P("0x17c")](h), this[P("0x17d")][P("0x6d")](u)[P("0x176")] = P("0x1b3"), this[P("0x191")]) { var f = new e.Entity({ polygon: { hierarchy: { positions: i } } }); this[P("0x191")](f); } this._array_ = [], this[P("0x1aa")] = null; } } }, t[P("0x5")][P("0x192")] = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")].cursor = "default", i(P("0x193"), this[P("0x17d")]), i(P("0x1ab"), this[P("0x17d")]), i(P("0x1b3"), this[P("0x17d")]); }; }(window[P("0xfd")]), function (e) { var t = e.DrawPolylineWidget = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x1b4")] = e[P("0x102")](t[P("0x1b4")], e[P("0x16a")].CHARTREUSE.withAlpha(0.5)), this[P("0x197")] = e.defaultValue(t[P("0x197")], 1), this.lineLoop = e[P("0x102")](t.lineLoop, !0), this.lineClampGround = e[P("0x102")](t.lineClampGround, !0), this.scene = this[P("0x13b")][P("0x10f")], this.camera = this[P("0x13b")].camera, this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0x191")] = i || null; }; function i(e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } function r(t) { return [e[P("0x23")][P("0x113")](e[P("0x13")][P("0x175")](t)[P("0x112")]), e[P("0x23")][P("0x113")](e[P("0x13")][P("0x175")](t)[P("0x114")]), e[P("0x13")][P("0x175")](t)[P("0x8b")]]; } t[P("0x5")][P("0x1b5")] = function (t) { if (this[P("0x1b6")]) { if (!(r = this[P("0x10f")][P("0x174")](t))) { var i = this[P("0x7e")][P("0x86")](t); r = this.scene[P("0xa3")][P("0xa4")](i, this.scene); } if (!r) return; e[P("0x13")][P("0x175")](r)[P("0x8b")] < 0 && (i = this[P("0x7e")][P("0x86")](t), r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")])); } else { i = this[P("0x7e")].getPickRay(t); var r = this.scene.globe.pick(i, this[P("0x10f")]); } return r; }, t[P("0x5")].createGroundPrimitive = function (t) { if (this.lineWidth && this[P("0x1b4")] && this[P("0x17d")]) { var i = new e[P("0x178")]({ geometryInstances: new e.GeometryInstance({ geometry: new e.CorridorGeometry({ vertexFormat: e[P("0x1b7")][P("0x1b8")], positions: t, width: this.lineWidth }), attributes: { color: e.ColorGeometryInstanceAttribute.fromColor(this.lineColor) } }), classificationType: e.ClassificationType.BOTH }); return this.primitives[P("0x6d")](i); } return !1; }, t.prototype[P("0x1b9")] = function (t) { if (this.lineWidth && this.lineColor && this.primitives) { var i = this[P("0x17d")][P("0x6d")](new e[P("0x199")]()); return i[P("0x6d")]({ polyline: {} }), i[P("0x187")](i[P("0x0")] - 1)[P("0x19a")] = this[P("0x197")], i[P("0x187")](i[P("0x0")] - 1).material[P("0x19d")][P("0x169")] = this[P("0x1b4")], i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = t, i; } return !1; }, t[P("0x5")][P("0x198")] = function () { if (!this.handler) { this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x171"); var t = []; this[P("0x1ba")] = [], this[P("0x1bb")] = null; var i = this; this[P("0x16f")][P("0x160")](function (e) { var n = i.screenToCartesian(e[P("0x8c")]); t[P("0x17c")](n), i[P("0x1ba")] = i[P("0x1ba")].concat(r(n)); var o = t[P("0x0")], a = [], s = []; 1 == o ? a = [t[o - 1]] : s = i.lineLoop ? (a = [t[o - 2], t[o - 1]], [t[0], t[o - 1]]) : (a = [t[o - 2], t[o - 1]], []), i.lineClampGround ? (i[P("0x17d")][P("0x17f")](i[P("0x1bc")]), i[P("0x17d")][P("0x17f")](i.concatGroundPrimitive), i[P("0x1bd")] = i.createGroundPrimitive(a), i[P("0x1bd")][P("0x176")] = "draw_polyline", i.concatGroundPrimitive = i.createGroundPrimitive(s), i[P("0x1be")].name = P("0x1bf")) : (i[P("0x17d")].remove(i[P("0x1c0")]), i[P("0x17d")].remove(i[P("0x1c1")]), i[P("0x1c2")] = i[P("0x1b9")](a), i.fixedPrimitive[P("0x176")] = "draw_polyline", i[P("0x1c0")] = i.createPrimitive(s), i[P("0x1c0")][P("0x176")] = "draw_polylineConcat"); }, e[P("0x161")].LEFT_CLICK), this[P("0x16f")][P("0x160")](function (r) { var n = i.screenToCartesian(r.endPosition); if (n) { var o = t[P("0x0")]; if (o) if (i[P("0x1b6")]) { i.primitives[P("0x17f")](i[P("0x1bc")]), i[P("0x17d")].remove(i[P("0x1be")]); var a = i[P("0x1c3")] && 2 <= o ? [t[o - 1], n[P("0x6e")](), t[0]] : [t[o - 1], n.clone()]; i.temporaryGroundPrimitive = i[P("0x1c4")](a), i[P("0x1bc")].name = P("0x1c5"); } else { i.primitives[P("0x17f")](i[P("0x1c1")]), i[P("0x17d")].remove(i[P("0x1c0")]); var s = i[P("0x1c3")] && 2 <= o ? [t[o - 1], n[P("0x6e")](), t[0]] : [t[o - 1], n[P("0x6e")]()]; i.temporaryPrimitive = i[P("0x1b9")](s), i[P("0x1c1")][P("0x176")] = P("0x1c5"); } i._labels ? i[P("0x1bb")][P("0x187")](i._labels[P("0x0")] - 1)[P("0x8c")] = n : (i._labels = i[P("0x17d")][P("0x6d")](new e.LabelCollection()), i[P("0x1bb")][P("0x176")] = P("0x193"), i[P("0x1bb")][P("0x6d")]({ text: P("0x185"), font: P("0x186"), showBackground: !0 }), i._labels[P("0x187")](i._labels[P("0x0")] - 1)[P("0x8c")] = n); } else i[P("0x1bb")] && (i[P("0x17d")][P("0x17f")](i._labels), i[P("0x1bb")] = null); }, e.ScreenSpaceEventType.MOUSE_MOVE), this.handler.setInputAction(function (e) { i[P("0x188")](t, e); }, e[P("0x161")].RIGHT_CLICK); } }, t.prototype[P("0x188")] = function (t, i) { var n = this[P("0x1bb")]; this.handler = this[P("0x16f")] && this.handler[P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "default", n && (this[P("0x17d")][P("0x17f")](n), n = null); var o = this[P("0x1b5")](i.position); t[P("0x17c")](o), this.degreesArrayHeights = this.degreesArrayHeights[P("0x1c6")](r(o)); var a = t.length; if (this.lineClampGround) { this[P("0x17d")][P("0x17f")](this.temporaryGroundPrimitive), this[P("0x17d")][P("0x17f")](this[P("0x1be")]); var s = this.lineLoop && 2 < a ? [t[a - 2], t[a - 1], t[0]] : [t[a - 2], t[a - 1]]; this[P("0x1c7")] = this[P("0x1c4")](s), this[P("0x1c7")][P("0x176")] = P("0x1ab"); } else { this[P("0x17d")].remove(this.temporaryPrimitive), this[P("0x17d")][P("0x17f")](this[P("0x1c0")]); var x = this[P("0x1c3")] && 2 < a ? [t[a - 2], t[a - 1], t[0]] : [t[a - 2], t[a - 1]]; this[P("0x1c8")] = this[P("0x1b9")](x), this[P("0x1c8")][P("0x176")] = P("0x1ab"); } if (this.callback) { var l = new e.Entity({ polyline: { positions: e[P("0x11")][P("0x19e")](this[P("0x1ba")]) } }); this[P("0x191")](l); } }, t[P("0x5")].clear = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")].style[P("0x170")] = "default", i(P("0x193"), this.primitives), i(P("0x1ab"), this.primitives); }; }(window[P("0xfd")]); var R = { version: P("0x1c9"), createTime: P("0x1ca"), author: P("0x1cb") }, O = { type: P("0x1cc"), headHeightFactor: 0.25, headWidthFactor: 0.3, neckHeightFactor: 0.85, fixPointCount: 4, neckWidthFactor: 0.15 }, F = { headHeightFactor: 0.18, headWidthFactor: 0.3, neckHeightFactor: 0.85, neckWidthFactor: 0.15, tailWidthFactor: 0.1, headTailFactor: 0.8, swallowTailFactor: 1 }; R[P("0x1cd")] = {}, R[P("0x1cd")].doubleArrow = function (e) { this[P("0x1ce")] = null; var t = { controlPoint: this[P("0x1cf")] = null, polygonalPoint: null }; if (!((i = (this.points = e).length) < 2)) { if (2 == i) return e; var i, r, n, o = this.points[0], a = this[P("0x1d0")][1], s = this[P("0x1d0")][2]; 3 == (i = e[P("0x0")]) ? this[P("0x1cf")] = R[P("0x1cd")][P("0x1d1")](o, a, s) : this.tempPoint4 = this.points[3], 3 == i || 4 == i ? this.connPoint = W[P("0x1d2")].mid(o, a) : this[P("0x1ce")] = this.points[4], n = W[P("0x1d2")][P("0x1d3")](o, a, s) ? (r = R[P("0x1cd")].getArrowPoints(o, this[P("0x1ce")], this[P("0x1cf")], !1), R[P("0x1cd")].getArrowPoints(this.connPoint, a, s, !0)) : (r = R[P("0x1cd")][P("0x1d4")](a, this[P("0x1ce")], s, !1), R.algorithm[P("0x1d4")](this[P("0x1ce")], o, this[P("0x1cf")], !0)); var x = r.length, l = (x - 5) / 2, c = r.slice(0, l), u = r[P("0x1d5")](l, 5 + l), h = r[P("0x1d5")](5 + l, x), f = n[P("0x1d5")](0, l), d = n.slice(l, 5 + l), g = n.slice(5 + l, x); f = W.PlotUtils[P("0x1d6")](f); var p = W[P("0x1d2")][P("0x1d6")](g[P("0x1c6")](c.slice(1))); h = W[P("0x1d2")].getBezierPoints(h); var m = f[P("0x1c6")](d, p, u, h), b = R[P("0x1cd")][P("0x1d7")](m); t[P("0x1d8")] = [o, a, s, this.tempPoint4, this[P("0x1ce")]], t[P("0x1d9")] = cesium__WEBPACK_IMPORTED_MODULE_1__["Cartesian3"][P("0x1da")](b); } return t; }, R.algorithm[P("0x1d1")] = function (e, t, i, r) { this[P("0x165")] = O[P("0x165")], this[P("0x1db")] = O.headHeightFactor, this.headWidthFactor = O[P("0x1dc")], this[P("0x1dd")] = O.neckHeightFactor, this[P("0x1de")] = O[P("0x1de")]; var n = W[P("0x1d2")].mid(e, t), o = W[P("0x1d2")].distance(n, i), a = W.PlotUtils[P("0x1df")](i, n, 0, 0.3 * o, !0), s = W[P("0x1d2")][P("0x1df")](i, n, 0, 0.5 * o, !0), x = [n, a = W[P("0x1d2")][P("0x1df")](n, a, W.Constants[P("0x1e0")], o / 5, r), s = W[P("0x1d2")][P("0x1df")](n, s, W[P("0x1e1")][P("0x1e0")], o / 4, r), i], l = R[P("0x1cd")].getArrowHeadPoints(x, this.headHeightFactor, this[P("0x1dc")], this[P("0x1dd")], this.neckWidthFactor), c = l[0], u = l[4], h = W[P("0x1d2")][P("0x8e")](e, t) / W[P("0x1d2")][P("0x1e2")](x) / 2, f = R.algorithm.getArrowBodyPoints(x, c, u, h), d = f[P("0x0")], g = f[P("0x1d5")](0, d / 2), p = f.slice(d / 2, d); return g.push(c), p[P("0x17c")](u), (g = g[P("0x1e3")]())[P("0x17c")](t), (p = p[P("0x1e3")]()).push(e), g[P("0x1e3")]()[P("0x1c6")](l, p); }, R[P("0x1cd")][P("0x1d7")] = function (e) { var t = []; return e[P("0x1e4")](function (e) { t[P("0x17c")](e[0]), t[P("0x17c")](e[1]); }), t; }, R[P("0x1cd")][P("0x1d4")] = function (e, t, i, r) { this[P("0x165")] = O.type, this.headHeightFactor = O[P("0x1db")], this[P("0x1dc")] = O[P("0x1dc")], this[P("0x1dd")] = O[P("0x1dd")], this[P("0x1de")] = O[P("0x1de")]; var n = W.PlotUtils[P("0x1e5")](e, t), o = W[P("0x1d2")][P("0x8e")](n, i), a = W[P("0x1d2")].getThirdPoint(i, n, 0, 0.3 * o, !0), s = W.PlotUtils[P("0x1df")](i, n, 0, 0.5 * o, !0), x = [n, a = W[P("0x1d2")].getThirdPoint(n, a, W[P("0x1e1")].HALF_PI, o / 5, r), s = W[P("0x1d2")][P("0x1df")](n, s, W.Constants[P("0x1e0")], o / 4, r), i], l = R[P("0x1cd")][P("0x1e6")](x, this[P("0x1db")], this[P("0x1dc")], this[P("0x1dd")], this[P("0x1de")]), c = l[0], u = l[4], h = W[P("0x1d2")][P("0x8e")](e, t) / W[P("0x1d2")][P("0x1e2")](x) / 2, f = R[P("0x1cd")][P("0x1e7")](x, c, u, h), d = f.length, g = f[P("0x1d5")](0, d / 2), p = f[P("0x1d5")](d / 2, d); return g.push(c), p[P("0x17c")](u), (g = g[P("0x1e3")]())[P("0x17c")](t), (p = p[P("0x1e3")]())[P("0x17c")](e), g[P("0x1e3")]()[P("0x1c6")](l, p); }, R[P("0x1cd")][P("0x1e6")] = function (e, t, i) { this.type = O.type, this[P("0x1db")] = O[P("0x1db")], this[P("0x1dc")] = O[P("0x1dc")], this[P("0x1dd")] = O[P("0x1dd")], this.neckWidthFactor = O[P("0x1de")]; var r = W.PlotUtils[P("0x1e2")](e) * this[P("0x1db")], n = e[e[P("0x0")] - 1], o = (W.PlotUtils.distance(t, i), r * this.headWidthFactor), a = r * this[P("0x1de")], s = r * this[P("0x1dd")], x = W[P("0x1d2")][P("0x1df")](e[e[P("0x0")] - 2], n, 0, r, !0), l = W[P("0x1d2")][P("0x1df")](e[e[P("0x0")] - 2], n, 0, s, !0), c = W[P("0x1d2")][P("0x1df")](n, x, W[P("0x1e1")][P("0x1e0")], o, !1), u = W[P("0x1d2")].getThirdPoint(n, x, W.Constants[P("0x1e0")], o, !0); return [W[P("0x1d2")].getThirdPoint(n, l, W[P("0x1e1")][P("0x1e0")], a, !1), c, n, u, W.PlotUtils[P("0x1df")](n, l, W[P("0x1e1")][P("0x1e0")], a, !0)]; }, R[P("0x1cd")][P("0x1e7")] = function (e, t, i, r) { for (var n = W.PlotUtils[P("0x1e8")](e), o = W[P("0x1d2")][P("0x1e2")](e) * r, a = (o - W[P("0x1d2")][P("0x8e")](t, i)) / 2, s = 0, x = [], l = [], c = 1; c < e[P("0x0")] - 1; c++) { var u = W[P("0x1d2")][P("0x1e9")](e[c - 1], e[c], e[c + 1]) / 2, h = (o / 2 - (s += W.PlotUtils[P("0x8e")](e[c - 1], e[c])) / n * a) / Math[P("0x98")](u), f = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], Math.PI - u, h, !0), d = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], u, h, !1); x[P("0x17c")](f), l[P("0x17c")](d); } return x[P("0x1c6")](l); }, R[P("0x1cd")][P("0x1d1")] = function (e, t, i) { var r, n, o, a = W[P("0x1d2")][P("0x1e5")](e, t), s = W[P("0x1d2")].distance(a, i), x = W[P("0x1d2")][P("0x1e9")](e, a, i); return x < W[P("0x1e1")][P("0x1e0")] ? (r = s * Math.sin(x), n = s * Math.cos(x), o = W[P("0x1d2")][P("0x1df")](e, a, W.Constants[P("0x1e0")], r, !1), W[P("0x1d2")].getThirdPoint(a, o, W[P("0x1e1")].HALF_PI, n, !0)) : x >= W[P("0x1e1")].HALF_PI && x < Math.PI ? (r = s * Math.sin(Math.PI - x), n = s * Math.cos(Math.PI - x), o = W[P("0x1d2")][P("0x1df")](e, a, W[P("0x1e1")][P("0x1e0")], r, !1), W[P("0x1d2")].getThirdPoint(a, o, W.Constants[P("0x1e0")], n, !1)) : x >= Math.PI && x < 1.5 * Math.PI ? (r = s * Math[P("0x98")](x - Math.PI), n = s * Math[P("0x9a")](x - Math.PI), o = W[P("0x1d2")][P("0x1df")](e, a, W[P("0x1e1")].HALF_PI, r, !0), W[P("0x1d2")].getThirdPoint(a, o, W[P("0x1e1")][P("0x1e0")], n, !0)) : (r = s * Math[P("0x98")](2 * Math.PI - x), n = s * Math[P("0x9a")](2 * Math.PI - x), o = W[P("0x1d2")][P("0x1df")](e, a, W.Constants[P("0x1e0")], r, !0), W.PlotUtils[P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], n, !1)); }, R[P("0x1cd")][P("0x1ea")] = function (e) { e = R[P("0x1cd")].dereplication(e), this[P("0x1eb")] = F.tailWidthFactor, this[P("0x1ec")] = F[P("0x1ec")], this[P("0x1ed")] = F.swallowTailPnt; var t = { controlPoint: null, polygonalPoint: null }; if (!((d = (t[P("0x1d8")] = e)[P("0x0")]) < 2)) { if (2 == e.length) return t.polygonalPoint = e, t; var i = e, r = i[0], n = i[1]; W[P("0x1d2")].isClockWise(i[0], i[1], i[2]) && (r = i[1], n = i[0]); var o = [W.PlotUtils[P("0x1e5")](r, n)].concat(i[P("0x1d5")](2)), a = R[P("0x1cd")][P("0x1ee")](o, r, n, F), s = a[0], x = a[4], l = W[P("0x1d2")][P("0x8e")](r, n), c = W[P("0x1d2")][P("0x1e2")](o), u = c * this[P("0x1eb")] * this[P("0x1ec")]; this.swallowTailPnt = W[P("0x1d2")][P("0x1df")](o[1], o[0], 0, u, !0); var h = l / c, f = R[P("0x1cd")][P("0x1ef")](o, s, x, h), d = f[P("0x0")], g = [r][P("0x1c6")](f[P("0x1d5")](0, d / 2)); g[P("0x17c")](s); var p, m = [n][P("0x1c6")](f.slice(d / 2, d)); m[P("0x17c")](x), g = W[P("0x1d2")].getQBSplinePoints(g), m = W[P("0x1d2")][P("0x1f0")](m), p = R[P("0x1cd")][P("0x1d7")](g[P("0x1c6")](a, m[P("0x1e3")](), [this[P("0x1ed")], g[0]])), t.polygonalPoint = cesium__WEBPACK_IMPORTED_MODULE_1__["Cartesian3"][P("0x1da")](p); } return t; }, R[P("0x1cd")][P("0x1ee")] = function (e, t, i, r) { this[P("0x1db")] = r[P("0x1db")], this.headTailFactor = r[P("0x1f1")], this[P("0x1dc")] = r[P("0x1dc")], this[P("0x1de")] = r[P("0x1de")], this[P("0x1dd")] = r[P("0x1dd")]; var n = W[P("0x1d2")].getBaseLength(e), o = n * this.headHeightFactor, a = e[e[P("0x0")] - 1]; n = W[P("0x1d2")].distance(a, e[e[P("0x0")] - 2]); var s = W[P("0x1d2")][P("0x8e")](t, i); o > s * this.headTailFactor && (o = s * this[P("0x1f1")]); var x = o * this[P("0x1dc")], l = o * this.neckWidthFactor, c = (o = n < o ? n : o) * this[P("0x1dd")], u = W[P("0x1d2")][P("0x1df")](e[e.length - 2], a, 0, o, !0), h = W.PlotUtils.getThirdPoint(e[e.length - 2], a, 0, c, !0), f = W.PlotUtils.getThirdPoint(a, u, W[P("0x1e1")].HALF_PI, x, !1), d = W[P("0x1d2")][P("0x1df")](a, u, W[P("0x1e1")][P("0x1e0")], x, !0); return [W[P("0x1d2")][P("0x1df")](a, h, W.Constants.HALF_PI, l, !1), f, a, d, W.PlotUtils[P("0x1df")](a, h, W.Constants.HALF_PI, l, !0)]; }, R.algorithm[P("0x1ef")] = function (e, t, i, r) { for (var n = W[P("0x1d2")].wholeDistance(e), o = W[P("0x1d2")][P("0x1e2")](e) * r, a = (o - W.PlotUtils[P("0x8e")](t, i)) / 2, s = 0, x = [], l = [], c = 1; c < e[P("0x0")] - 1; c++) { var u = W[P("0x1d2")][P("0x1e9")](e[c - 1], e[c], e[c + 1]) / 2, h = (o / 2 - (s += W[P("0x1d2")].distance(e[c - 1], e[c])) / n * a) / Math[P("0x98")](u), f = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], Math.PI - u, h, !0), d = W[P("0x1d2")][P("0x1df")](e[c - 1], e[c], u, h, !1); x[P("0x17c")](f), l[P("0x17c")](d); } return x.concat(l); }, R.algorithm.dereplication = function (e) { var t = e[e[P("0x0")] - 1], i = !1, r = []; return r = e[P("0x1f2")](function (e) { if (e[0] != t[0] && e[1] != t[1]) return e; i = !0; }), i && r[P("0x17c")](t), r; }; var D, U, k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && w()(Symbol[P("0x1f3")]) === P("0x1f4") ? function (e) { return w()(e); } : function (e) { return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e.constructor === A.a && e !== Symbol[P("0x5")] ? "symbol" : w()(e); }; D = window[P("0xfd")], U = D[P("0x1f5")] = function () { var e = D.Ellipsoid[P("0x110")], t = { billBoard: [], primitives: [] }; function i(e) { function t(e) { var t = document[P("0x15c")](P("0x298")); t[P("0x14c")] = "twipsy right"; var i = document[P("0x15c")](P("0x298")); i.className = P("0x2b0"), t[P("0x167")](i); var r = document[P("0x15c")]("DIV"); r[P("0x14c")] = P("0x2b1"), t.appendChild(r), this[P("0x2b2")] = t, this._title = r, e[P("0x167")](t); } var i; this[P("0x42")] = e[P("0x10f")], this[P("0x1f6")] = (i = e[P("0x131")], t.prototype[P("0x207")] = function (e) { this[P("0x2b2")][P("0x150")].display = P(e ? "0x2b3" : "0x2b4"); }, t[P("0x5")][P("0x205")] = function (e, t) { e && t && (this.setVisible(!0), this[P("0x2b5")].innerHTML = t, this[P("0x2b2")][P("0x150")][P("0x149")] = e.x + 10 + "px", this[P("0x2b2")][P("0x150")][P("0x151")] = e.y - this[P("0x2b2")][P("0x7c")] / 2 + "px"); }, new t(i)), this[P("0x1f7")] = [], this.initialiseHandlers(), this[P("0x1f8")](); } i[P("0x5")].initialiseHandlers = function () { var e, t = this[P("0x42")], i = this, r = new D[P("0x15f")](t[P("0x48")]); function n(e, r) { if (1 != i[P("0x1f9")]) { var n = t[P("0xa4")](r); n && n[P("0x182")] && n[P("0x182")][e] && n[P("0x182")][e](r); } } r[P("0x160")](function (e) { n("leftClick", e[P("0x8c")]); }, D[P("0x161")][P("0x17e")]), r[P("0x160")](function (e) { n("leftDoubleClick", e[P("0x8c")]); }, D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK), r[P("0x160")](function (r) { if (1 != i[P("0x1f9")]) { var n = t.pick(r[P("0x64")]); !e || n && e == n[P("0x182")] || (e.isDestroyed && e[P("0xf3")]() || e.mouseOut(r.endPosition), e = null), n && n[P("0x182")] && ((n = n[P("0x182")])[P("0x1fa")] && (e = n), n.mouseMove && n[P("0x1fb")](r[P("0x64")])); } }, D[P("0x161")].MOUSE_MOVE), r[P("0x160")](function (e) { n(P("0x1fc"), e[P("0x8c")]); }, D.ScreenSpaceEventType[P("0x1fd")]), r[P("0x160")](function (e) { n(P("0x1fe"), e.position); }, D.ScreenSpaceEventType[P("0x1ff")]); }, i[P("0x5")][P("0x200")] = function (e, t, i) { e[t] = i; }, i[P("0x5")][P("0x201")] = function (e) { this._handlersMuted = e; }, i[P("0x5")][P("0x202")] = function (e) { var i = this; E(e, P("0x1fb"), function (t) { e[P("0x203")](!0), e[P("0x204")] || i._tooltip[P("0x205")](t, P("0x206")); }), E(e, P("0x1fa"), function (t) { e[P("0x203")](!1), i[P("0x1f6")][P("0x207")](!1); }), E(e, P("0x208"), function (i) { e.setEditMode(!0), t.primitives[P("0x17c")](e); }), E(e, P("0x209"), function (i) { t.primitives[P("0x17c")](e); }); }, i[P("0x5")].startDrawing = function (e) { this[P("0x20a")](), this[P("0x20b")] && this[P("0x20b")](), this.editCleanUp = e, this[P("0x201")](!0); }, i[P("0x5")][P("0x20c")] = function () { this.editCleanUp && (this.editCleanUp(), this[P("0x20b")] = null), this[P("0x201")](!1); }, i[P("0x5")][P("0x20d")] = function () { this[P("0x203")](void 0); }, i[P("0x5")][P("0x203")] = function (e) { this[P("0x20e")] && !this[P("0x20e")][P("0xf3")]() && this[P("0x20e")] != e && this[P("0x20e")][P("0x203")](!1), this._highlightedSurface = e; }, i[P("0x5")][P("0x20a")] = function () { this[P("0x20f")](void 0); }, i.prototype[P("0x20f")] = function (e) { this[P("0x210")] && !this[P("0x210")][P("0xf3")]() && this[P("0x210")][P("0x211")](!1), this._editedSurface = e; }; var r = D[P("0x212")][P("0x213")](D[P("0x212")][P("0x214")]); r[P("0x19d")][P("0x169")] = new D[P("0x16a")](1, 1, 0, 0.5); var n = { ellipsoid: D.Ellipsoid[P("0x110")], textureRotationAngle: 0, height: 0, asynchronous: !0, show: !0, debugShowBoundingVolume: !1 }, o = G(n, { appearance: new D[P("0x1b0")]({ aboveGround: !1 }), material: r, granularity: Math.PI / 180 }), a = G(n, {}), s = G(n, {}), x = G(n, {}), l = (G(o, { rotation: 0 }), G(n, { width: 5, geodesic: !0, granularity: 1e4, appearance: new D[P("0x215")]({ aboveGround: !1 }), material: r })), c = (u[P("0x5")].initialiseOptions = function (e) { I(this, e), this[P("0x44")] = void 0, this[P("0x216")] = void 0, this[P("0x217")] = void 0, this[P("0x218")] = void 0, this._id = void 0, this[P("0x219")] = !0, this._primitive = void 0, this[P("0x21a")] = void 0; }, u.prototype[P("0x21b")] = function (e, t) { this[e] = t, this._createPrimitive = !0; }, u[P("0x5")][P("0x21c")] = function (e) { return this[e]; }, u[P("0x5")].update = function (e, t, i) { if (!D[P("0x14")](this[P("0xef")])) throw new D[P("0x15")](P("0x21d")); if (!D[P("0x14")](this.appearance)) throw new D[P("0x15")](P("0x21e")); if (this[P("0x21f")] < 0) throw new D[P("0x15")](P("0x220")); if (this[P("0x221")] && (this[P("0x219")] || D.defined(this[P("0x222")]))) { if (this[P("0x219")] || this[P("0x44")] !== this.ellipsoid || this[P("0x216")] !== this[P("0x21f")] || this._height !== this[P("0x8b")] || this._textureRotationAngle !== this[P("0x223")] || this[P("0x224")] !== this.id) { var r = this[P("0x225")](); if (!r) return; this[P("0x219")] = !1, this[P("0x44")] = this.ellipsoid, this._granularity = this.granularity, this._height = this[P("0x8b")], this._textureRotationAngle = this[P("0x223")], this[P("0x224")] = this.id, this[P("0x222")] = this[P("0x222")] && this[P("0x222")].destroy(), this[P("0x222")] = new D[P("0x226")]({ geometryInstances: new D[P("0x179")]({ geometry: r, id: this.id, pickPrimitive: this }), appearance: this[P("0x16d")], asynchronous: this[P("0x227")] }), this[P("0x21a")] = this[P("0x21a")] && this[P("0x21a")][P("0xf4")](), this[P("0x228")] && this[P("0x229")] && (this[P("0x21a")] = new D[P("0x226")]({ geometryInstances: new D.GeometryInstance({ geometry: this[P("0x229")](), attributes: { color: D[P("0x184")][P("0x1b2")](this[P("0x228")]) } }), appearance: new D[P("0x16e")]({ flat: !0, renderState: { depthTest: { enabled: !0 }, lineWidth: 1 } }) })); } var n = this._primitive; n[P("0x16d")][P("0x19c")] = this[P("0x19c")], n[P("0x22a")] = this[P("0x22a")], n[P("0xd2")](e, t, i), this[P("0x21a")] && this[P("0x21a")].update(e, t, i); } }, u.prototype.isDestroyed = function () { return !1; }, u.prototype[P("0xf4")] = function () { return this._primitive = this[P("0x222")] && this[P("0x222")][P("0xf4")](), D[P("0x22b")](this); }, u[P("0x5")][P("0x22c")] = function (e, t) { this[P("0x228")] && this[P("0x228")][P("0x84")](e) && this[P("0x22d")] == t || (this[P("0x219")] = !0, this[P("0x228")] = e, this.strokeWidth = t); }, u); function u() {} function h(e) { if (!D[P("0x14")](e[P("0x22e")])) throw new D[P("0x15")]("Extent is required"); e = G(e, o), this[P("0x22f")](e), this.setExtent(e[P("0x22e")]); } function f(e) { e = G(e, o), this[P("0x22f")](e), this[P("0x234")] = !0; } function d(e) { e = G(e, o), this.initialiseOptions(e), this.isPolygon = !0; } function g(e) { e = G(e, l), this.initialiseOptions(e); } i.ExtentPrimitive = (h[P("0x5")] = new c(), h.prototype[P("0x230")] = function (e) { this[P("0x21b")](P("0x22e"), e); }, h[P("0x5")].getExtent = function () { return this[P("0x21c")](P("0x22e")); }, h.prototype[P("0x225")] = function () { if (D[P("0x14")](this.extent)) return D[P("0x1af")][P("0x231")]({ positions: this.extent, height: this.height, vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")], stRotation: this.textureRotationAngle, ellipsoid: this[P("0xef")], granularity: this[P("0x21f")] }); }, h.prototype[P("0x229")] = function () { return D[P("0x232")][P("0x231")]({ positions: this.extent }); }, h), i[P("0x233")] = (f[P("0x5")] = new c(), f[P("0x5")].setPositions = function (e) { this[P("0x21b")](P("0x19f"), e); }, f[P("0x5")].getPositions = function () { return this[P("0x21c")](P("0x19f")); }, f.prototype[P("0x235")] = function (e) { this.setAttribute(P("0x236")); }, f.prototype[P("0x237")] = function (e) { return this[P("0x21c")]("custom"); }, f[P("0x5")][P("0x225")] = function () { if (D[P("0x14")](this[P("0x19f")]) && !(this.positions[P("0x0")] < 3)) return D[P("0x1af")][P("0x231")]({ positions: this[P("0x19f")], height: this[P("0x8b")], vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")], stRotation: this[P("0x223")], ellipsoid: this[P("0xef")], granularity: this[P("0x21f")] }); }, f[P("0x5")].getOutlineGeometry = function () { return D.PolygonOutlineGeometry[P("0x231")]({ positions: this[P("0x238")]() }); }, f), i[P("0x239")] = (d[P("0x5")] = new c(), d[P("0x5")][P("0x23a")] = function (e) { this.setAttribute(P("0x19f"), e); }, d[P("0x5")][P("0x238")] = function () { return this[P("0x21c")]("positions"); }, d.prototype.setCustom = function (e) { this[P("0x21b")](P("0x236")); }, d[P("0x5")].getCustom = function (e) { return this[P("0x21c")](P("0x236")); }, d[P("0x5")][P("0x225")] = function () { if (D[P("0x14")](this[P("0x19f")]) && !(this[P("0x19f")].length < 3)) return D[P("0x1af")][P("0x231")]({ positions: this[P("0x19f")], height: this.height, vertexFormat: D[P("0x1b0")][P("0x1b1")], stRotation: this[P("0x223")], ellipsoid: this[P("0xef")], granularity: this.granularity }); }, d[P("0x5")].getOutlineGeometry = function () { return D.PolygonOutlineGeometry[P("0x231")]({ positions: this.getPositions() }); }, d), i[P("0x23b")] = (g[P("0x5")] = new c(), g[P("0x5")][P("0x23a")] = function (e) { this[P("0x21b")]("positions", e); }, g[P("0x5")][P("0x23c")] = function (e) { this.setAttribute(P("0x19a"), e); }, g[P("0x5")][P("0x23d")] = function (e) { this[P("0x21b")](P("0x23e"), e); }, g.prototype[P("0x238")] = function () { return this[P("0x21c")](P("0x19f")); }, g[P("0x5")].getWidth = function () { return this[P("0x21c")](P("0x19a")); }, g[P("0x5")][P("0x23f")] = function (e) { return this[P("0x21c")]("geodesic"); }, g[P("0x5")][P("0x225")] = function () { if (D.defined(this[P("0x19f")]) && !(this.positions[P("0x0")] < 2)) return new D[P("0x240")]({ positions: this[P("0x19f")], height: this[P("0x8b")], width: this[P("0x19a")] < 1 ? 1 : this[P("0x19a")], vertexFormat: D.EllipsoidSurfaceAppearance[P("0x1b1")], ellipsoid: this.ellipsoid }); }, g); var p = { iconUrl: "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIcon.png", shiftX: 0, shiftY: 0 }, m = { iconUrl: P("0x241"), shiftX: 0, shiftY: 0 }, b = { iconUrl: "/geomap-api/JsCesuimDemo/resource/images/img_plot/dragIconLight.png", shiftX: 0, shiftY: 0 }; function v(e) { return [e[7], e[3]]; } function C(e) { var t = D[P("0x13")][P("0x175")](e); return [D[P("0x23")][P("0x113")](t[P("0x112")]), D[P("0x23")].toDegrees(t[P("0x114")])]; } function y(e, t) { if (!(e.length < 2 || t[P("0x0")] < 2)) { var i = Math.PI / 8.5, r = Math.PI / 13, n = []; n[0] = e, n[1] = t; var o = n[0], a = n[1], s = W[P("0x1d2")][P("0x1e2")](n), x = 0.15 * s, l = 0.2 * s, c = 0.25 * s, u = W[P("0x1d2")][P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], x, !0), h = W[P("0x1d2")][P("0x1df")](a, o, W[P("0x1e1")][P("0x1e0")], x, !1), f = W.PlotUtils[P("0x1df")](o, a, i, c, !1), d = W.PlotUtils[P("0x1df")](o, a, i, c, !0), g = W[P("0x1d2")][P("0x1df")](o, a, r, l, !1), p = W[P("0x1d2")][P("0x1df")](o, a, r, l, !0), m = []; return m[P("0x17c")](u[0], u[1], g[0], g[1], f[0], f[1], a[0], a[1], d[0], d[1], p[0], p[1], h[0], h[1], o[0], o[1]), D.Cartesian3[P("0x1da")](m); } } function _(e) { for (var t = [], i = 0; i < e[P("0x0")]; i++) { var r = D[P("0x11")][P("0x1a1")](e[i][0], e[i][1], 0); t.push(r); } return t; } function A(e, t) { if (null == e || (w()(e) === P("0x2b6") ? P("0x2b6") : k(e)) != P("0x7")) return e; if (e.constructor != Object && e[P("0x2b7")] != Array) return e; if (e.constructor == Date || e[P("0x2b7")] == RegExp || e[P("0x2b7")] == Function || e.constructor == String || e.constructor == Number || e.constructor == Boolean) return new e[P("0x2b7")](e); for (var i in t = t || new e[P("0x2b7")](), e) { t[i] = w()(t[i]) == P("0x2b6") ? A(e[i], null) : t[i]; } return t; } function I(e, t) { var i; for (i in e = e || {}, t) { void 0 === e[i] && (e[i] = A(t[i])); } } function G(e, t) { var i, r = A(e); for (i in t) { void 0 === r[i] && (r[i] = A(t[i])); } return r; } function E(e, t, i) { e[t] = i; } function S(e) { e[P("0x2b8")] = {}, e[P("0x2b9")] = function (e, t) { return this._listeners[e] = this[P("0x2b8")][e] || [], this._listeners[e][P("0x17c")](t), this[P("0x2b8")][e][P("0x0")]; }, e.executeListeners = function (e, t) { if (this[P("0x2b8")][e[P("0x176")]] && 0 < this[P("0x2b8")][e[P("0x176")]][P("0x0")]) for (var i = 0; i < this[P("0x2b8")][e[P("0x176")]][P("0x0")]; i++) { this[P("0x2b8")][e[P("0x176")]][i](e); } else t && t(e); }; } return i.prototype.createBillboardGroup = function (e, t, r) { var n = new i[P("0x242")](this, t); return n[P("0x243")](e, r), n; }, i[P("0x242")] = function (e, t) { this._drawHelper = e, this[P("0x42")] = e._scene, this._options = G(t, p); var i = new D[P("0x244")](); this[P("0x42")][P("0x17d")][P("0x6d")](i), this._billboards = i, this[P("0x245")] = []; }, i.BillboardGroup[P("0x5")][P("0x246")] = function (t, i) { var r = this[P("0x247")][P("0x6d")]({ show: !0, position: t, pixelOffset: new D[P("0x10")](this[P("0x248")][P("0x249")], this._options[P("0x24a")]), eyeOffset: new D[P("0x11")](0, 0, 0), horizontalOrigin: D[P("0x24b")][P("0x24c")], verticalOrigin: D[P("0x24d")][P("0x24c")], scale: 1, image: this._options[P("0x24e")], color: new D[P("0x16a")](1, 1, 1, 1) }); if (i) { var _n = function _n(e) { s.enableRotate = e; }; var _o = function _o() { for (var e = 0, t = a._orderedBillboards[P("0x0")]; e < t && a._orderedBillboards[e] != r; ++e) { ; } return e; }; var a = this, s = this[P("0x42")][P("0x24f")]; i[P("0x250")] && (a = this, E(r, P("0x1fe"), function (t) { function s(e) { x.destroy(), _n(!0), i[P("0x250")][P("0x252")] && i[P("0x250")][P("0x252")](_o(), e); } var x = new D[P("0x15f")](a[P("0x42")][P("0x48")]); x.setInputAction(function (t) { var n = a[P("0x42")][P("0x7e")].pickEllipsoid(t[P("0x64")], e); n ? function (e) { r[P("0x8c")] = e; for (var t = 0, n = a[P("0x245")].length; t < n && a._orderedBillboards[t] != r; ++t) { ; } i[P("0x250")][P("0x251")] && i[P("0x250")][P("0x251")](_o(), e); }(n) : s(n); }, D[P("0x161")][P("0x163")]), x.setInputAction(function (t) { s(a[P("0x42")][P("0x7e")].pickEllipsoid(t[P("0x8c")], e)); }, D[P("0x161")][P("0x1fd")]), _n(!1), i[P("0x250")][P("0x253")] && i[P("0x250")].onDragStart(_o(), a[P("0x42")][P("0x7e")][P("0xa2")](t, e)); })), i[P("0x254")] && E(r, P("0x209"), function (e) { i[P("0x254")](_o()); }), i[P("0x255")] && E(r, P("0x208"), function (e) { i.onClick(_o()); }), i.tooltip && (E(r, "mouseMove", function (e) { a[P("0x256")]._tooltip[P("0x205")](e, i[P("0x257")]()); }), E(r, P("0x1fa"), function (e) { a[P("0x256")][P("0x1f6")][P("0x207")](!1); })); } return r; }, i[P("0x242")][P("0x5")][P("0x258")] = function (e, t, i) { this[P("0x245")][P("0x259")](e, 0, this[P("0x246")](t, i)); }, i[P("0x242")][P("0x5")][P("0x25a")] = function (e, t) { this._orderedBillboards.push(this[P("0x246")](e, t)); }, i[P("0x242")][P("0x5")][P("0x25b")] = function () { this[P("0x247")][P("0x17f")](this[P("0x245")][P("0x25c")]()); }, i.BillboardGroup[P("0x5")][P("0x243")] = function (e, t) { for (var i = 0; i < e.length; i++) { this[P("0x25a")](e[i], t); } }, i[P("0x242")][P("0x5")][P("0x25d")] = function (e) { for (var t = 0; t < e[P("0x0")]; t++) { this[P("0x25e")](t)[P("0x8c")] = e[t]; } }, i.BillboardGroup[P("0x5")][P("0x25f")] = function () { return this[P("0x245")][P("0x0")]; }, i[P("0x242")].prototype[P("0x25e")] = function (e) { return this[P("0x245")][e]; }, i.BillboardGroup.prototype.removeBillboard = function (e) { this[P("0x247")][P("0x17f")](this.getBillboard(e)), this._orderedBillboards[P("0x259")](e, 1); }, i[P("0x242")][P("0x5")].remove = function () { this[P("0x247")] = this._billboards && this._billboards[P("0xf5")]() && this[P("0x247")][P("0xf4")](); }, i[P("0x242")].prototype[P("0x260")] = function () { this._scene.primitives.raiseToTop(this[P("0x247")]); }, i[P("0x5")][P("0x261")] = function (e) { e = G(e, o), this[P("0x262")](!0, e); }, i.prototype[P("0x263")] = function (t) { t = G(t, l), this[P("0x264")](function () { a[P("0x17f")](r), c[P("0x17f")](), u[P("0xf4")](), s[P("0x207")](!1); }); var r, n = this, o = this._scene, a = o[P("0x17d")], s = this._tooltip; (r = new U[P("0x23b")](t))[P("0x227")] = !1, a[P("0x6d")](r); var x = [], c = new i.BillboardGroup(this, p), u = new D[P("0x15f")](o[P("0x48")]); u[P("0x160")](function (t) { if (null != t[P("0x8c")]) { var i = o.camera[P("0xa2")](t[P("0x8c")], e); i && (0 == x[P("0x0")] && (x[P("0x17c")](i[P("0x6e")]()), c[P("0x25a")](x[0])), 2 <= x[P("0x0")] && (r[P("0x19f")] = x, r[P("0x219")] = !0), x.push(i), c[P("0x25a")](i)); } }, D[P("0x161")][P("0x17e")]), u[P("0x160")](function (t) { var i = t[P("0x64")]; if (null != i) if (0 == x[P("0x0")]) s.showAt(i, P("0x265"));else { var n = o[P("0x7e")][P("0xa2")](i, e); n && (x[P("0x25c")](), n.y += 1 + Math[P("0x266")](), x.push(n), 2 <= x[P("0x0")] && (r.positions = x, r[P("0x219")] = !0), c[P("0x25e")](x.length - 1)[P("0x8c")] = n, s.showAt(i, "

Click to add new point (" + x[P("0x0")] + P("0x267") + (2 < x.length ? P("0x268") : ""))); } }, D[P("0x161")].MOUSE_MOVE), u[P("0x160")](function (i) { var r = i[P("0x8c")]; if (null != r) { if (x[P("0x0")] < 4) return; o[P("0x7e")][P("0xa2")](r, e) && (n.stopDrawing(), w()(t.callback) == P("0x8")) && (x.length, t.callback(x)); } }, D[P("0x161")][P("0x269")]); }, i[P("0x5")][P("0x26e")] = function (t) { this[P("0x264")](function () { o[P("0x17f")](s), c.remove(), u[P("0xf4")](), a[P("0x207")](!1); }), this[P("0x26f")] = !0, this.options = t; var r = this, n = this._scene, o = n.primitives, a = this[P("0x1f6")], s = new U.TailedAttackPrimitive(t); /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent) ? s.asynchronous = !0 : s.asynchronous = !1, o[P("0x6d")](s); var x = [], l = [], c = new i[P("0x242")](this, p), u = new D[P("0x15f")](n[P("0x48")]); this.positions = x, this.minPoints = 2, this.poly = s, u[P("0x160")](function (t) { if (null != t[P("0x8c")]) { var i = n[P("0x7e")][P("0xa2")](t[P("0x8c")], e), r = D[P("0x13")][P("0x175")](i), o = [D[P("0x23")][P("0x113")](r.longitude), D[P("0x23")][P("0x113")](r[P("0x114")])]; if (i) { if (0 == l[P("0x0")] && (x[P("0x17c")](i[P("0x6e")]()), c[P("0x25a")](x[0])), l[P("0x0")] < 3 && l[P("0x17c")](o), 2 <= l[P("0x0")]) { l[P("0x17c")](o); var a = R[P("0x1cd")][P("0x1ea")](l); s[P("0x19f")] = a[P("0x1d9")], s.custom = a.controlPoint, s._createPrimitive = !0; } x[P("0x17c")](i), 5 <= x.length && c[P("0x25b")](), c[P("0x25a")](i); } } }, D[P("0x161")][P("0x17e")]), u[P("0x160")](function (t) { var i = t[P("0x64")]; if (null != i) if (0 == x[P("0x0")]) a[P("0x205")](i, P("0x271"));else { var r = n[P("0x7e")].pickEllipsoid(i, e), o = D.Cartographic[P("0x175")](r), c = [D[P("0x23")].toDegrees(o[P("0x112")]), D.Math[P("0x113")](o[P("0x114")])]; if (r) { if (x[P("0x25c")](), r.y += 1 + Math.random(), x.push(r), 3 <= l[P("0x0")] && (l[P("0x25c")](), l[P("0x17c")](c)), 2 == l[P("0x0")] && l.push(c), 2 < x[P("0x0")]) { var u = R[P("0x1cd")][P("0x1ea")](l); s[P("0x19f")] = u ? u.polygonalPoint : null, s[P("0x236")] = u ? u[P("0x1d8")] : null, s[P("0x219")] = !0; } var h = 3 == x[P("0x0")] ? "

双击可结束绘制

" : P("0x272"); a[P("0x205")](i, h); } } }, D.ScreenSpaceEventType.MOUSE_MOVE), u[P("0x160")](function (e) { r[P("0x188")](e, t); }, D.ScreenSpaceEventType.LEFT_DOUBLE_CLICK); }, i[P("0x5")].drawEnd = function (t, i) { var r, n = this.positions, o = this.minPoints, a = this[P("0x273")]; if (i = this[P("0x132")], null == t) { if (this[P("0x26f")]) { if (this.stopDrawing(), w()(i[P("0x191")]) != P("0x8")) return; n[P("0x0")], i[P("0x191")](a[P("0x19f")], a[P("0x236")]), this[P("0x26f")] = !1; } } else if (null != (r = t[P("0x8c")])) { if (n[P("0x0")] < o + 2) return; scene[P("0x7e")][P("0xa2")](r, e) && (this[P("0x20c")](), w()(i.callback) == P("0x8")) && (n.length, i[P("0x191")](a[P("0x19f")], a[P("0x236")])); } }, i[P("0x5")].startDrawingPolyshape = function (t, r) { this[P("0x264")](function () { s.remove(n), u.remove(), h.destroy(), x.setVisible(!1); }), this[P("0x26f")] = !0, this.options = r; var n, o = this, a = this[P("0x42")], s = a.primitives, x = this._tooltip; this.minPoints = 2, n = t ? new U[P("0x233")](r) : new U[P("0x23b")](r), /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent) ? n[P("0x227")] = !0 : n[P("0x227")] = !1, s[P("0x6d")](n); var l = [], c = [], u = new i[P("0x242")](this, p), h = new D[P("0x15f")](a[P("0x48")]); this[P("0x273")] = n, this.positions = l, h.setInputAction(function (t) { if (null != t[P("0x8c")]) { var i = a[P("0x7e")][P("0xa2")](t[P("0x8c")], e), r = D[P("0x13")][P("0x175")](i), o = [D[P("0x23")].toDegrees(r[P("0x112")]), D[P("0x23")].toDegrees(r[P("0x114")])]; if (i) { if (0 == c[P("0x0")] && (l[P("0x17c")](i[P("0x6e")]()), u[P("0x25a")](l[0])), c[P("0x0")] < 3 && c[P("0x17c")](o), 2 <= c[P("0x0")]) { var s = R.algorithm.doubleArrow(c); n[P("0x19f")] = s[P("0x1d9")], n[P("0x236")] = s[P("0x1d8")], n._createPrimitive = !0; } l[P("0x17c")](i), 5 <= l.length && u.removeLastBillboard(), u[P("0x25a")](i); } } }, D[P("0x161")][P("0x17e")]), h[P("0x160")](function (t) { var i = t[P("0x64")]; if (null != i) if (0 == l.length) x[P("0x205")](i, "

点击以增加第一个控制点

");else { var r = a[P("0x7e")][P("0xa2")](i, e), o = D.Cartographic.fromCartesian(r), s = [D.Math.toDegrees(o[P("0x112")]), D.Math[P("0x113")](o[P("0x114")])]; if (r) { if (l[P("0x25c")](), r.y += 1 + Math.random(), l[P("0x17c")](r), 3 == c[P("0x0")] && (c[P("0x25c")](), c[P("0x17c")](s)), 2 == c[P("0x0")] && c[P("0x17c")](s), 2 <= l.length) { var u = R[P("0x1cd")].doubleArrow(c); n[P("0x19f")] = u ? u[P("0x1d9")] : null, n.custom = u ? u[P("0x1d8")] : null, n[P("0x219")] = !0; } var h = 3 == l[P("0x0")] ? P("0x274") : P("0x272"); x[P("0x205")](i, h); } } }, D[P("0x161")][P("0x163")]), h.setInputAction(function (e) { o[P("0x188")](e, r); }, D[P("0x161")][P("0x269")]); }, i.prototype[P("0x275")] = function (t) { t = G(t, o), this.startDrawing(function () { null != l && a[P("0x17f")](l), c[P("0x17f")](), u[P("0xf4")](), s.setVisible(!1); }); var r = this, n = this._scene, a = this[P("0x42")].primitives, s = this[P("0x1f6")], x = [], l = null, c = null, u = new D[P("0x15f")](n[P("0x48")]); u.setInputAction(function (o) { if (null != o.position) { var s = n[P("0x7e")][P("0xa2")](o[P("0x8c")], e); if (s) if (null == l) { var u = D.Cartographic[P("0x175")](s), h = D[P("0x23")][P("0x113")](u[P("0x112")]), f = D[P("0x23")][P("0x113")](u[P("0x114")]); x.push(h, f); var d = y(x, x); l = new i[P("0x276")]({ extent: d, asynchronous: !1, material: t[P("0x19c")] }), a[P("0x6d")](l), c = new i.BillboardGroup(r, p); var g = _([x, x]); c[P("0x243")](g); } else r.stopDrawing(), w()(t[P("0x191")]) == P("0x8") && (u = D[P("0x13")][P("0x175")](s), h = D.Math[P("0x113")](u.longitude), f = D[P("0x23")][P("0x113")](u[P("0x114")]), t[P("0x191")](y(x, [h, f]))); } }, D[P("0x161")].LEFT_DOWN), u[P("0x160")](function (t) { var i = t[P("0x64")]; if (null != i) if (null == l) s.showAt(i, "

点击开始绘制

");else { var r = n[P("0x7e")][P("0xa2")](i, e); if (r) { var o = D.Cartographic[P("0x175")](r), a = D.Math[P("0x113")](o[P("0x112")]), u = D.Math[P("0x113")](o[P("0x114")]), h = y(x, [a, u]); l[P("0x230")](h); var f = _([x, [a, u]]); c[P("0x25d")](f), s.showAt(i, P("0x277")); } } }, D.ScreenSpaceEventType[P("0x163")]); }, i.prototype[P("0x1f8")] = function () { var r = this; function n(e) { r[P("0x42")], this[P("0x27c")] && this._highlighted == e || !0 !== this[P("0x204")] && ((this[P("0x27c")] = e) ? (r.setHighlighted(this), this[P("0x27d")] = this[P("0x228")], this[P("0x22c")](D[P("0x16a")][P("0x27e")](P("0x27f")), this.strokeWidth)) : this._strokeColor ? this[P("0x22c")](this._strokeColor, this[P("0x22d")]) : this[P("0x22c")](void 0, void 0)); } function o(n) { if (this[P("0x204")] != n) if (r[P("0x20d")](), n) { r[P("0x20f")](this); var o = r[P("0x42")], a = this; if (null == this[P("0x280")]) { var _s = function _s(e, t) { var i = e - 1 < 0 ? t.length - 1 : e - 1; i < u[P("0x25f")]() && (u[P("0x25e")](i)[P("0x8c")] = l(i)), (i = e) < u[P("0x25f")]() && (u.getBillboard(i)[P("0x8c")] = l(i)); }; var _x13 = function _x13() { a.executeListeners({ name: P("0x281"), positions: a[P("0x19f")] }); }; var l = function l(t) { var i = a[P("0x19f")]; return e[P("0xa7")](new D[P("0x282")](e.cartesianToCartographic(i[t]), e.cartesianToCartographic(i[t < i[P("0x0")] - 1 ? t + 1 : 0]))[P("0x283")](0.5)); }, c = new i[P("0x242")](r, m); t[P("0x284")].push(c); var u = new i[P("0x242")](r, b); t[P("0x284")].push(u); var h = { dragHandlers: { onDrag: function onDrag(e, t) { a[P("0x19f")][e] = t, _s(e, a[P("0x19f")]), a[P("0x219")] = !0; }, onDragEnd: function onDragEnd() { a[P("0x219")] = !0, _x13(); } }, onDoubleClick: function onDoubleClick(e) { a[P("0x19f")][P("0x0")] < 4 || (a.positions[P("0x259")](e, 1), a[P("0x219")] = !0, c[P("0x285")](e), u[P("0x285")](e), _s(e, a[P("0x19f")]), _x13()); }, tooltip: function tooltip() { if (3 < a.positions[P("0x0")]) return "Double click to remove this point"; } }; c[P("0x243")](a[P("0x19f")], h), this._markers = c; for (var f = [], d = 0, g = a[P("0x19f")].length + (this.isPolygon ? 0 : -1); d < g; d++) { f[P("0x17c")](l(d)); } var p = { dragHandlers: { onDragStart: function onDragStart(e, t) { this[P("0x286")] = e + 1, a[P("0x19f")][P("0x259")](this[P("0x286")], 0, t), a[P("0x219")] = !0; }, onDrag: function onDrag(e, t) { a[P("0x19f")][this[P("0x286")]] = t, a[P("0x219")] = !0; }, onDragEnd: function onDragEnd(e, t) { c[P("0x258")](this[P("0x286")], t, h), u[P("0x25e")](this[P("0x286")] - 1)[P("0x8c")] = l(this[P("0x286")] - 1), u[P("0x258")](this[P("0x286")], l(this[P("0x286")]), p), a[P("0x219")] = !0, _x13(); } }, tooltip: function tooltip() { return P("0x287"); } }; u.addBillboards(f, p), this[P("0x288")] = u, this[P("0x289")] = new D[P("0x15f")](o.canvas), this[P("0x289")][P("0x160")](function (e) { var t = o[P("0xa4")](e.position); t && t[P("0x182")] || a[P("0x211")](!1); }, D[P("0x161")][P("0x17e")]), c[P("0x260")](), u[P("0x260")](); } this[P("0x204")] = !0; } else null != this._markers && (this[P("0x280")].remove(), this[P("0x288")][P("0x17f")](), this._markers = null, this[P("0x288")] = null, this[P("0x289")][P("0xf4")]()), this[P("0x204")] = !1; } D.Billboard[P("0x5")][P("0x278")] = function () { if (!this._editable) { this[P("0x279")] = !0; var t = this, i = this; E(t, P("0x1fe"), function (o) { function a(e) { s[P("0xf4")](), n(!0), i[P("0x27a")]({ name: P("0x27b"), positions: e }); } var s = new D[P("0x15f")](r[P("0x42")][P("0x48")]); s[P("0x160")](function (n) { var o, s = r[P("0x42")].camera[P("0xa2")](n[P("0x64")], e); s ? (o = s, t[P("0x8c")] = o, i[P("0x27a")]({ name: "drag", positions: o })) : a(s); }, D.ScreenSpaceEventType[P("0x163")]), s[P("0x160")](function (t) { a(r[P("0x42")][P("0x7e")][P("0xa2")](t[P("0x8c")], e)); }, D[P("0x161")][P("0x1fd")]), n(!1); }), S(t); } function n(e) { r[P("0x42")][P("0x24f")][P("0x29")] = e; } }, U[P("0x23b")][P("0x5")][P("0x278")] = function () { if (!this[P("0x211")]) { var t = this; t[P("0x234")] = !1, t[P("0x227")] = !1, r[P("0x202")](t), t[P("0x211")] = o; var i = this[P("0x19a")]; t[P("0x203")] = function (e) { !0 !== this[P("0x204")] && (e ? (r.setHighlighted(this), this[P("0x23c")](2 * i)) : this[P("0x23c")](i)); }, t.getExtent = function () { return D[P("0x28a")].fromCartographicArray(e[P("0x28b")](this[P("0x19f")])); }, S(t), t[P("0x211")](!1); } }, U.PolygonPrimitive.prototype[P("0x278")] = function () { var e = this; e[P("0x227")] = !1; var o = r[P("0x42")]; r[P("0x202")](e), e.setEditMode = function (n) { if (this[P("0x204")] != n) if (r[P("0x20d")](), n) { if (r[P("0x20f")](this), null == this[P("0x280")]) { var a = new i[P("0x242")](r, m); t[P("0x284")][P("0x17c")](a); var s = { dragHandlers: { onDrag: function onDrag(t, i) { var r = e[P("0x236")]; r[t] = C(i); var n = R[P("0x1cd")][P("0x28c")](r); e.positions = n[P("0x1d9")], e[P("0x236")] = n.controlPoint, e._createPrimitive = !0, a[P("0x25d")](_(e[P("0x236")])); }, onDragEnd: function onDragEnd() { e[P("0x27a")]({ name: P("0x281"), positions: e[P("0x19f")] }); } }, tooltip: function tooltip() { return P("0x28d"); } }, x = e.custom; a[P("0x243")](_(x), s), this._markers = a, this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]), this[P("0x289")][P("0x160")](function (t) { var i = o[P("0xa4")](t.position); console[P("0x133")](P("0x28e")), i && i[P("0x182")] || e[P("0x211")](!1); }, D[P("0x161")][P("0x17e")]), a[P("0x260")](); } this[P("0x204")] = !0; } else null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](), this[P("0x280")] = null, this[P("0x289")][P("0xf4")]()), this._editMode = !1; }, e[P("0x203")] = n, S(e), e[P("0x211")](!1); }, U.TailedAttackPrimitive[P("0x5")].setEditable = function () { var e = this; e[P("0x227")] = !1; var o = r._scene; r[P("0x202")](e), e[P("0x211")] = function (n) { if (this._editMode != n) if (r[P("0x20d")](), n) { if (r[P("0x20f")](this), null == this[P("0x280")]) { var a = new i[P("0x242")](r, m); t[P("0x284")][P("0x17c")](a); var s = { dragHandlers: { onDrag: function onDrag(t, i) { var r = e[P("0x236")]; r[t] = C(i); var n = R[P("0x1cd")].tailedAttackArrow(r); e.positions = n[P("0x1d9")], e[P("0x236")] = n.controlPoint, e[P("0x219")] = !0, a[P("0x25d")](_(e[P("0x236")])); }, onDragEnd: function onDragEnd() { e[P("0x27a")]({ name: P("0x281"), positions: e.positions }); } }, tooltip: function tooltip() { return P("0x28f"); } }, x = e[P("0x236")]; a[P("0x243")](_(x), s), this._markers = a, this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]), this[P("0x289")][P("0x160")](function (t) { var i = o[P("0xa4")](t[P("0x8c")]); console[P("0x133")](P("0x290")), i && i[P("0x182")] || e.setEditMode(!1); }, D.ScreenSpaceEventType.LEFT_CLICK), a.setOnTop(); } this[P("0x204")] = !0; } else null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](), this[P("0x280")] = null, this[P("0x289")][P("0xf4")]()), this._editMode = !1; }, e[P("0x203")] = n, S(e), e[P("0x211")](!1); }, U[P("0x276")][P("0x5")].setEditable = function () { if (!this[P("0x211")]) { var e = this, o = r._scene; r.registerEditableShape(e), e.asynchronous = !1, e[P("0x211")] = function (n) { if (this._editMode != n) if (r[P("0x20d")](), n) { if (r[P("0x20f")](this), null == this[P("0x280")]) { var a = new i[P("0x242")](r, m); t[P("0x284")][P("0x17c")](a); var s = { dragHandlers: { onDrag: function onDrag(t, i) { var r = C(i), n = C(a.getBillboard((t + 1) % 2).position), o = 0 == t ? y(r, n) : y(n, r); e[P("0x230")](o), a[P("0x25d")](v(e.extent)); }, onDragEnd: function onDragEnd() { e[P("0x27a")]({ name: P("0x281"), extent: e[P("0x22e")] }); } }, tooltip: function tooltip() { return "拖动以改变此箭头形状"; } }; a[P("0x243")](v(e[P("0x22e")]), s), this[P("0x280")] = a, this[P("0x289")] = new D.ScreenSpaceEventHandler(o[P("0x48")]), this[P("0x289")][P("0x160")](function (t) { var i = o.pick(t[P("0x8c")]); console.log("ExtentPrimitive单击"), i && i[P("0x182")] || e[P("0x211")](!1); }, D[P("0x161")][P("0x17e")]), a.setOnTop(); } this[P("0x204")] = !0; } else null != this[P("0x280")] && (this[P("0x280")][P("0x17f")](), this._markers = null, this._globeClickhandler[P("0xf4")]()), this[P("0x204")] = !1; }, e[P("0x203")] = n, S(e), e.setEditMode(!1); } }; }, i[P("0x291")] = function (e, i) { if (!D.defined(i.container)) throw new D[P("0x15")](P("0x292")); I(i, { markerIcon: P("0x293"), polylineIcon: P("0x294"), polygonIcon: P("0x295"), circleIcon: P("0x296"), tailedAttackArrowIcon: "./img/gongjijiantou.png", extentIcon: P("0x297"), clearIcon: "./img/glyphicons_067_cleaning.png", polylineDrawingOptions: l, polygonDrawingOptions: a, extentDrawingOptions: s, circleDrawingOptions: x }); var r = this, n = document[P("0x15c")](P("0x298")); function o(e, t, i, r) { var o = document[P("0x15c")]("DIV"); o[P("0x14c")] = P("0x299"), o[P("0x29a")] = i, n[P("0x167")](o), o[P("0x29b")] = r; var a = document.createElement(P("0x29c")); o[P("0x167")](a); var s = document[P("0x15c")](P("0x29d")); return s[P("0x125")] = t, a[P("0x167")](s), o; } n[P("0x14c")] = "toolbar", i[P("0x131")].appendChild(n); var c = e._scene; o(0, i[P("0x29e")], P("0x29f"), function () { e.startDrawingExtent({ callback: function callback(e) { r[P("0x27a")]({ name: P("0x2a0"), extent: e }); } }); }), o(0, i.polygonIcon, P("0x2a1"), function () { e[P("0x261")]({ callback: function callback(e, t) { r[P("0x27a")]({ name: P("0x2a2"), positions: e, custom: t }); } }); }), o(P("0x1ea"), i.tailedAttackArrowIcon, P("0x2a3"), function () { e[P("0x26e")]({ callback: function callback(e, t) { r.executeListeners({ name: P("0x2a4"), positions: e, custom: t }); } }); }); var u = document.createElement(P("0x298")); u.className = "divider", n.appendChild(u), o(P("0x192"), i[P("0x2a5")], "Remove all primitives", function () { for (var e = t[P("0x17d")].length, i = t.billBoard[P("0x0")], r = 0; r < e; r++) { var n = t[P("0x17d")].pop(); n._globeClickhandler[P("0xf4")](), c[P("0x17d")][P("0x17f")](n); } for (r = 0; r < i; r++) { t[P("0x284")][P("0x25c")]()[P("0x17f")](); } }), S(this); }, i[P("0x5")][P("0x2a6")] = function (e, t) { return t = G(t, { container: e }), new i[P("0x291")](this, t); }, i.DrawWidget = function (e, t) { var i = this; "extentCreated" == t && e[P("0x275")]({ callback: function callback(e) { i.executeListeners({ name: P("0x2a0"), extent: e }); } }), t == P("0x2a2") && e.startDrawingPolygon({ callback: function callback(e, t) { i[P("0x27a")]({ name: P("0x2a2"), positions: e, custom: t }); } }), t == P("0x2a4") && e.startDrawingTailedAttack({ callback: function callback(e, t) { i[P("0x27a")]({ name: P("0x2a4"), positions: e, custom: t }); } }), S(this); }, i[P("0x2a7")] = function () { var e = drawHelper._scene, i = t[P("0x17d")][P("0x0")], r = t[P("0x284")][P("0x0")]; if (0 != i && t[P("0x17d")][i - 1][P("0x204")]) { for (var n = 0; n < 1; n++) { var o = t[P("0x17d")][i - 1]; o[P("0x289")][P("0xf4")](), e[P("0x17d")][P("0x17f")](o); } for (n = 0; n < 1; n++) { t[P("0x284")][r - 1][P("0x17f")](); } t = { billBoard: [], primitives: [] }, S(this); } }, i[P("0x5")][P("0x69")] = function (e) { return new i[P("0x2a8")](this, e); }, i[P("0x5")][P("0x192")] = function () { return new i[P("0x2a7")](this); }, i; }(); var B, W = { version: P("0x1c9") }; W[P("0x1d2")] = {}, W.PlotUtils.distance = function (e, t) { return Math[P("0xca")](Math.pow(e[0] - t[0], 2) + Math.pow(e[1] - t[1], 2)); }, W.PlotUtils.wholeDistance = function (e) { for (var t = 0, i = 0; i < e[P("0x0")] - 1; i++) { t += W[P("0x1d2")].distance(e[i], e[i + 1]); } return t; }, W[P("0x1d2")][P("0x1e2")] = function (e) { return Math[P("0x2ae")](W[P("0x1d2")][P("0x1e8")](e), 0.99); }, W[P("0x1d2")][P("0x1e5")] = function (e, t) { return [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2]; }, W[P("0x1d2")][P("0x2ba")] = function (e, t, i) { var r = [(e[0] + t[0]) / 2, (e[1] + t[1]) / 2], n = [r[0] - e[1] + t[1], r[1] + e[0] - t[0]], o = [(e[0] + i[0]) / 2, (e[1] + i[1]) / 2], a = [o[0] - e[1] + i[1], o[1] + e[0] - i[0]]; return W[P("0x1d2")][P("0x2bb")](r, n, o, a); }, W.PlotUtils[P("0x2bb")] = function (e, t, i, r) { if (e[1] == t[1]) { var n = (r[0] - i[0]) / (r[1] - i[1]), o = n * (e[1] - i[1]) + i[0], a = e[1]; return [o, a]; } if (i[1] != r[1]) return s = (t[0] - e[0]) / (t[1] - e[1]), n = (r[0] - i[0]) / (r[1] - i[1]), [o = s * (a = (s * e[1] - e[0] - n * i[1] + i[0]) / (s - n)) - s * e[1] + e[0], a]; var s = (t[0] - e[0]) / (t[1] - e[1]); return [o = s * (i[1] - e[1]) + e[0], a = i[1]]; }, W[P("0x1d2")].getAzimuth = function (e, t) { var i, r = Math[P("0x97")](Math.abs(t[1] - e[1]) / W[P("0x1d2")][P("0x8e")](e, t)); return t[1] >= e[1] && t[0] >= e[0] ? i = r + Math.PI : t[1] >= e[1] && t[0] < e[0] ? i = W[P("0x1e1")][P("0xab")] - r : t[1] < e[1] && t[0] < e[0] ? i = r : t[1] < e[1] && t[0] >= e[0] && (i = Math.PI - r), i; }, W[P("0x1d2")].getAngleOfThreePoints = function (e, t, i) { var r = W[P("0x1d2")][P("0x2bc")](t, e) - W[P("0x1d2")][P("0x2bc")](t, i); return r < 0 ? r + W[P("0x1e1")].TWO_PI : r; }, W[P("0x1d2")].isClockWise = function (e, t, i) { return (i[1] - e[1]) * (t[0] - e[0]) > (t[1] - e[1]) * (i[0] - e[0]); }, W[P("0x1d2")][P("0x2bd")] = function (e, t, i) { return [t[0] + e * (i[0] - t[0]), t[1] + e * (i[1] - t[1])]; }, W.PlotUtils[P("0x2be")] = function (e, t, i, r, n) { var o = 1 - (e = Math[P("0xee")](Math[P("0x7d")](e, 1), 0)), a = e * e, s = a * e, x = o * o, l = x * o; return [l * t[0] + 3 * x * e * i[0] + 3 * o * a * r[0] + s * n[0], l * t[1] + 3 * x * e * i[1] + 3 * o * a * r[1] + s * n[1]]; }, W.PlotUtils[P("0x1df")] = function (e, t, i, r, n) { var o = W[P("0x1d2")][P("0x2bc")](e, t), a = n ? o + i : o - i, s = r * Math.cos(a), x = r * Math[P("0x98")](a); return [t[0] + s, t[1] + x]; }, W[P("0x1d2")][P("0x2bf")] = function (e, t, i, r) { var n, o, a = [], s = r - i; s = s < 0 ? s + W[P("0x1e1")].TWO_PI : s; for (var x = 0; x <= W[P("0x1e1")][P("0x2c0")]; x++) { var l = i + s * x / W.Constants[P("0x2c0")]; n = e[0] + t * Math[P("0x9a")](l), o = e[1] + t * Math.sin(l), a[P("0x17c")]([n, o]); } return a; }, W[P("0x1d2")][P("0x2c1")] = function (e, t, i, r) { var n = W[P("0x1d2")].getNormal(t, i, r), o = Math[P("0xca")](n[0] * n[0] + n[1] * n[1]), a = n[0] / o, s = n[1] / o, x = W[P("0x1d2")].distance(t, i), l = W[P("0x1d2")][P("0x8e")](i, r); if (o > W[P("0x1e1")][P("0x2c2")]) { if (W.PlotUtils[P("0x1d3")](t, i, r)) { var c = e * x, u = i[0] - c * s, h = i[1] + c * a, f = [u, h]; c = e * l; var d = [u = i[0] + c * s, h = i[1] - c * a]; } else c = e * x, f = [u = i[0] + c * s, h = i[1] - c * a], c = e * l, d = [u = i[0] - c * s, h = i[1] + c * a]; } else f = [u = i[0] + e * (t[0] - i[0]), h = i[1] + e * (t[1] - i[1])], d = [u = i[0] + e * (r[0] - i[0]), h = i[1] + e * (r[1] - i[1])]; return [f, d]; }, W[P("0x1d2")].getNormal = function (e, t, i) { var r = e[0] - t[0], n = e[1] - t[1], o = Math[P("0xca")](r * r + n * n); r /= o, n /= o; var a = i[0] - t[0], s = i[1] - t[1], x = Math[P("0xca")](a * a + s * s); return [r + (a /= x), n + (s /= x)]; }, W[P("0x1d2")][P("0x2c3")] = function (e, t) { for (var i = [W.PlotUtils[P("0x2c4")](t)], r = 0; r < t[P("0x0")] - 2; r++) { var n = t[r], o = t[r + 1], a = t[r + 2], s = W[P("0x1d2")][P("0x2c1")](e, n, o, a); i = i.concat(s); } var x = W[P("0x1d2")][P("0x2c5")](t); i[P("0x17c")](x); var l = []; for (r = 0; r < t[P("0x0")] - 1; r++) { for (n = t[r], o = t[r + 1], l.push(n), e = 0; e < W[P("0x1e1")][P("0x2c0")]; e++) { var c = W[P("0x1d2")][P("0x2be")](e / W[P("0x1e1")][P("0x2c0")], n, i[2 * r], i[2 * r + 1], o); l[P("0x17c")](c); } l[P("0x17c")](o); } return l; }, W[P("0x1d2")][P("0x2c4")] = function (e) { var i = e[0], r = e[1], n = e[2], o = W[P("0x1d2")][P("0x2c1")](0, i, r, n)[0], a = W[P("0x1d2")][P("0x2c6")](i, r, n); if (Math[P("0xca")](a[0] * a[0] + a[1] * a[1]) > W[P("0x1e1")][P("0x2c2")]) var s = W.PlotUtils.mid(i, r), x = i[0] - s[0], l = i[1] - s[1], c = 2 / W[P("0x1d2")][P("0x8e")](i, r), u = -c * l, h = c * x, f = u * u - h * h, d = 2 * u * h, g = h * h - u * u, p = o[0] - s[0], m = o[1] - s[1], b = s[0] + f * p + d * m, v = s[1] + d * p + g * m;else b = i[0] + t * (r[0] - i[0]), v = i[1] + t * (r[1] - i[1]); return [b, v]; }, W[P("0x1d2")].getRightMostControlPoint = function (e) { var i = e[P("0x0")], r = e[i - 3], n = e[i - 2], o = e[i - 1], a = W[P("0x1d2")][P("0x2c1")](0, r, n, o)[1], s = W.PlotUtils[P("0x2c6")](r, n, o); if (Math[P("0xca")](s[0] * s[0] + s[1] * s[1]) > W[P("0x1e1")].ZERO_TOLERANCE) var x = W.PlotUtils[P("0x1e5")](n, o), l = o[0] - x[0], c = o[1] - x[1], u = 2 / W[P("0x1d2")][P("0x8e")](n, o), h = -u * c, f = u * l, d = h * h - f * f, g = 2 * h * f, p = f * f - h * h, m = a[0] - x[0], b = a[1] - x[1], v = x[0] + d * m + g * b, C = x[1] + g * m + p * b;else v = o[0] + t * (n[0] - o[0]), C = o[1] + t * (n[1] - o[1]); return [v, C]; }, W[P("0x1d2")][P("0x1d6")] = function (e) { if (e[P("0x0")] <= 2) return e; for (var t = [], i = e[P("0x0")] - 1, r = 0; r <= 1; r += 0.01) { for (var n = y = 0, o = 0; o <= i; o++) { var a = W[P("0x1d2")][P("0x2c7")](i, o), s = Math[P("0x2ae")](r, o), x = Math[P("0x2ae")](1 - r, i - o); n += a * s * x * e[o][0], y += a * s * x * e[o][1]; } t.push([n, y]); } return t[P("0x17c")](e[i]), t; }, W.PlotUtils[P("0x2c7")] = function (e, t) { return W[P("0x1d2")][P("0x2c8")](e) / (W[P("0x1d2")][P("0x2c8")](t) * W[P("0x1d2")][P("0x2c8")](e - t)); }, W[P("0x1d2")][P("0x2c8")] = function (e) { if (e <= 1) return 1; if (2 == e) return 2; if (3 == e) return 6; if (4 == e) return 24; if (5 == e) return 120; for (var t = 1, i = 1; i <= e; i++) { t *= i; } return t; }, W[P("0x1d2")].getQBSplinePoints = function (e) { if (e[P("0x0")] <= 2) return e; var t = [], i = e[P("0x0")] - 2 - 1; t[P("0x17c")](e[0]); for (var r = 0; r <= i; r++) { for (var n = 0; n <= 1; n += 0.05) { for (var o = y = 0, a = 0; a <= 2; a++) { var s = W[P("0x1d2")][P("0x2c9")](a, n); o += s * e[r + a][0], y += s * e[r + a][1]; } t.push([o, y]); } } return t[P("0x17c")](e[e[P("0x0")] - 1]), t; }, W[P("0x1d2")][P("0x2c9")] = function (e, t) { return 0 == e ? Math[P("0x2ae")](t - 1, 2) / 2 : 1 == e ? (-2 * Math[P("0x2ae")](t, 2) + 2 * t + 1) / 2 : 2 == e ? Math[P("0x2ae")](t, 2) / 2 : 0; }, W[P("0x1e1")] = { TWO_PI: 2 * Math.PI, HALF_PI: Math.PI / 2, FITTING_COUNT: 100, ZERO_TOLERANCE: 1e-4 }, function (e) { var t = e[P("0x2ca")] = function (t, i) { this.viewer = t[P("0x13b")], this.color = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")][P("0x196")].withAlpha(0.5), this[P("0x197")] = t.lineWidth ? t[P("0x197")] : 2, this.scene = this[P("0x13b")][P("0x10f")], this.camera = this[P("0x13b")][P("0x7e")], this[P("0x48")] = this[P("0x10f")][P("0x48")], this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0xef")] = this[P("0x10f")][P("0xa3")].ellipsoid, this[P("0x1a9")] = 0, this[P("0x2cb")] = [], this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1; }; function i(e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } function r(e, t) { for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++) { i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]), r--); } } function n(t, i, r, n) { var o = t.add(new e[P("0x1a5")]()); o[P("0x176")] = "MeasureAreaWidget_result_labelArea", o.tag = P("0x2d8") + n, o[P("0x6d")]({ text: i, font: P("0x1a0"), showBackground: !0, disableDepthTestDistance: Number.POSITIVE_INFINITY }), o[P("0x187")](o[P("0x0")] - 1).position = r[r[P("0x0")] - 1]; } t[P("0x5")][P("0x198")] = function () { if (this.count++, this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), !this[P("0x16f")]) { this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = "crosshair"; var t, i, r, n = this, o = []; this._array_ = o, this[P("0x1aa")] = t, this[P("0x173")] = i, this.handler[P("0x160")](function (i) { if (n.lastP = i, 1 == n[P("0xd3")]) var a = n.camera[P("0x86")](i[P("0x8c")]), s = n[P("0x10f")][P("0xa3")][P("0xa4")](a, n[P("0x10f")]);else s = n[P("0x10f")][P("0x174")](i.position); s && (o[P("0x17c")](s), 1 == o[P("0x0")] && ((t = n[P("0x17d")][P("0x6d")](new e.PolylineCollection())).name = "MeasureAreaWidget_draw_polyline", t[P("0x2cc")] = P("0x2ca") + "_" + n[P("0x1a9")], t[P("0x6d")]({ polyline: {} }), t[P("0x187")](t[P("0x0")] - 1)[P("0x19a")] = n[P("0x197")], t[P("0x187")](t[P("0x0")] - 1).loop = !0, t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")][P("0x169")] = n[P("0x169")], t[P("0x187")](t[P("0x0")] - 1).positions = o), 3 <= o[P("0x0")] && (t.get(t[P("0x0")] - 1).positions = o, /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) && n.measureEnd()), n[P("0x1aa")] = t, /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) && ((r = n.primitives.add(new e[P("0x1a4")]())).name = P("0x2ce"), r[P("0x2cc")] = "MeasureAreaWidget_" + n[P("0x1a9")], r.add({ position: s, color: e[P("0x16a")][P("0x2cf")], outlineColor: e.Color[P("0x16b")], outlineWidth: 1, pixelSize: 5 }))); }, e[P("0x161")].LEFT_CLICK), this[P("0x16f")][P("0x160")](function (r) { if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) { if (1 == n[P("0xd3")]) var a = n[P("0x7e")][P("0x86")](r[P("0x64")]), s = n.scene[P("0xa3")][P("0xa4")](a, n[P("0x10f")]);else s = n[P("0x10f")][P("0x174")](r[P("0x64")]); if (!s) return void (i && (n[P("0x17d")][P("0x17f")](i), i = null)); if (1 <= o[P("0x0")]) { var x = o.concat(); x.push(s), t[P("0x187")](t.length - 1)[P("0x19f")] = x; } i ? i[P("0x187")](i[P("0x0")] - 1)[P("0x8c")] = s : ((i = n[P("0x17d")][P("0x6d")](new e[P("0x1a5")]()))[P("0x176")] = P("0x2d0"), i[P("0x2cc")] = P("0x2ca") + "_" + n[P("0x1a9")], i[P("0x6d")]({ text: "左键单击开始绘制,右键单击结束绘制", font: P("0x1a0"), showBackground: !0, pixelOffset: new e[P("0x10")](10, 10), disableDepthTestDistance: Number[P("0x31")] }), i[P("0x187")](i.length - 1).position = s), n[P("0x173")] = i; } }, e[P("0x161")][P("0x163")]), this.handler[P("0x160")](function (e) { n[P("0x2d1")](), n[P("0x16f")] = n[P("0x16f")] && n[P("0x16f")].destroy(), n[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"); }, e[P("0x161")][P("0x189")]); } }, t.prototype[P("0x2d2")] = function (t) { this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this.handler = new e.ScreenSpaceEventHandler(this[P("0x48")]); var i = this; this[P("0x16f")].setInputAction(function (t) { var r = i[P("0x13b")][P("0x10f")].pick(t.position); r && r.id && r.id && -1 < r.id[P("0x2cc")][P("0x2d3")](P("0x2ca")) && r.id[P("0x2d4")] && (r.id.polygon[P("0x19c")] = e[P("0x16a")][P("0x2d5")], i.tags.push(r.id[P("0x2cc")])); }, e[P("0x161")][P("0x17e")]); }, t[P("0x5")][P("0x2d6")] = function () { if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](), this[P("0x13b")].canvas.style[P("0x170")] = P("0x18c"), this.tags && 0 < this.tags.length) for (var e = 0; e < this[P("0x2cb")][P("0x0")]; e++) { i(this[P("0x2cb")][e], this[P("0x17d")]), r(this[P("0x2cb")][e], this[P("0x13b")][P("0x194")]); } }, t.prototype[P("0x2d1")] = function (t) { if (null != this[P("0x172")] && 0 != this[P("0x172")][P("0x0")]) { if (this[P("0x173")] && (this.primitives[P("0x17f")](this[P("0x173")]), this[P("0x173")] = null), t = t || this[P("0x18b")], 1 == this[P("0xd3")]) var i = this[P("0x7e")][P("0x86")](t.position), r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]);else r = this[P("0x10f")][P("0x174")](t[P("0x8c")]); if (r) { this[P("0x172")][P("0x17c")](r), this[P("0x1aa")][P("0x187")](this._polylines_[P("0x0")] - 1).material.uniforms[P("0x169")] = e[P("0x16a")][P("0x196")].withAlpha(0), this[P("0x13b")].entities[P("0x6d")]({ name: P("0x2d7"), tag: P("0x2d8") + this[P("0x1a9")], polygon: { hierarchy: { positions: this._array_ }, material: this[P("0x169")], perPositionHeight: !1 } }); for (var o = [], a = 0; a < this._array_[P("0x0")]; a++) { var s = e.Cartographic[P("0x175")](this[P("0x172")][a]), x = e[P("0x23")][P("0x113")](s.longitude), l = e.Math[P("0x113")](s[P("0x114")]); o[P("0x17c")]([x, l]); } o[P("0x17c")](o[0]); var c, u = turf[P("0x2d4")]([o]), h = turf[P("0x2d9")](u); c = h < 1e6 ? "总面积:" + h.toFixed(2) + "m²" : "总面积:" + (h / 1e6)[P("0x2af")](2) + P("0x2da"), /Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")]) ? 4 < this[P("0x17d")][P("0x0")] ? (this.primitives.remove(this[P("0x17d")][P("0x187")](this[P("0x17d")][P("0x0")] - 2)), n(this.primitives, c, this[P("0x172")])) : n(this[P("0x17d")], c, this[P("0x172")]) : (n(this[P("0x17d")], c, this[P("0x172")], this[P("0x1a9")]), this[P("0x1a9")]++); } } }, t[P("0x5")].clear = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), function (e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")].indexOf("MeasureAreaWidget") && (t.remove(t[P("0x187")](i)), i--); } }(0, this[P("0x17d")]), function (e, t) { for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++) { i[r][P("0x176")] && -1 < i[r][P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](i[r]), r--); } }(P("0x2ca"), this[P("0x13b")][P("0x194")]); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x2db")] = function (e) { this[P("0x13b")] = e.viewer, this.scene = this.viewer[P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0x48")] = this.scene[P("0x48")], this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0x194")] = this[P("0x13b")].entities, this[P("0xef")] = this[P("0x10f")][P("0xa3")][P("0xef")], this[P("0x1a9")] = 0, this[P("0x2cb")] = [], this.mode = e[P("0xd3")] ? e[P("0xd3")] : 1; }; function i(e, t) { for (var i = t[P("0x190")], r = 0; r < i.length; r++) { i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]), r--); } } function r(e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } t.prototype.activate = function () { this[P("0x1a9")]++, this[P("0x16f")] && (this[P("0x16f")] = this.handler && this.handler.destroy()), this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")].canvas[P("0x150")][P("0x170")] = P("0x171"), this[P("0x2dc")](); var t, i, r, n = this, o = [], a = []; this._array_ = o; var s = this[P("0x17d")][P("0x6d")](new e.LabelCollection()); s[P("0x176")] = P("0x2dd"), s[P("0x2cc")] = "MeasureAzimuthWidget_" + this[P("0x1a9")], s[P("0x6d")]({ style: e.LabelStyle[P("0x2de")], outlineWidth: 2, text: "", font: P("0x2df"), showBackground: !1, backgroundColor: e[P("0x16a")][P("0x2e0")], pixelOffset: new e[P("0x10")](10, -15), disableDepthTestDistance: Number[P("0x31")] }), this[P("0x16f")][P("0x160")](function (x) { if (2 == n[P("0xd3")]) { var l = n[P("0x10f")][P("0xa4")](x[P("0x8c")]); if (!l) return; if (!(l[P("0x182")] instanceof e[P("0x2e1")])) return void console[P("0x2e2")]("请点击模型"); var c = n[P("0x10f")].pickPosition(x[P("0x8c")]); } else if (1 == n[P("0xd3")]) { var u = n[P("0x7e")][P("0x86")](x[P("0x8c")]); c = n[P("0x10f")].globe.pick(u, n[P("0x10f")]); } if (c) { var h = e.Cartographic[P("0x175")](c), f = e.Math[P("0x113")](h[P("0x112")]), d = e.Math[P("0x113")](h[P("0x114")]), g = h[P("0x8b")]; o[P("0x17c")](f), o[P("0x17c")](d), o.push(g), 3 === o.length ? (a.push(f), a.push(d), a.push(g), t[P("0x187")](t.length - 1).text = P("0x2e3"), i = n[P("0x194")].add({ name: P("0x2e4"), tag: P("0x2e5") + n[P("0x1a9")], polyline: { positions: e[P("0x11")][P("0x19e")](o), width: 10, material: new e[P("0x2e6")](e[P("0x16a")][P("0x2e7")]), clampToGround: !0 } }), n[P("0x2e8")] = i, r = n[P("0x194")].add({ name: "MeasureAzimuthWidget_draw_polyline", tag: P("0x2e5") + n[P("0x1a9")], polyline: { positions: e[P("0x11")].fromDegreesArrayHeights(a), width: 3, material: new e[P("0x2e9")]({ color: e.Color[P("0x16b")] }), clampToGround: !0 } }), n[P("0x2ea")] = r) : 6 === o[P("0x0")] && (i[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](o), t && (n[P("0x17d")][P("0x17f")](t), t = null), n.measureEnd(o, s), o = [], a = [], r = i = null, n[P("0x16f")] = n[P("0x16f")] && n[P("0x16f")][P("0xf4")](), n[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x18c")); } }, e[P("0x161")][P("0x17e")]), this.handler[P("0x160")](function (a) { if (2 == n[P("0xd3")]) var x = n[P("0x10f")][P("0x174")](a[P("0x64")]);else { var l = n[P("0x7e")][P("0x86")](a[P("0x64")]); x = n[P("0x10f")][P("0xa3")][P("0xa4")](l, n.scene); } if (x) { var c = e[P("0x13")][P("0x175")](x), u = e[P("0x23")].toDegrees(c[P("0x112")]), h = e[P("0x23")][P("0x113")](c[P("0x114")]), f = c[P("0x8b")]; if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) { if (3 == o[P("0x0")]) { var d = o[P("0x1d5")](), g = o.slice(); d[P("0x17c")](u), d[P("0x17c")](h), d[P("0x17c")](f), i[P("0x2eb")][P("0x19f")] = e[P("0x11")].fromDegreesArrayHeights(d); var p = turf[P("0x2ec")]([d[0], d[1]]), m = turf[P("0x2ec")]([d[3], d[4]]), b = 2 * turf[P("0x8e")](p, m) / 3, v = turf[P("0x11d")](p, b, 0); g[P("0x17c")](v[P("0x180")][P("0x2ed")][0]), g[P("0x17c")](v[P("0x180")][P("0x2ed")][1]), g[P("0x17c")](0), r[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](g), n[P("0x2d1")](d, s); } t && 0 != t.length ? t.get(t.length - 1).position = e[P("0x11")][P("0x1a1")](u, h, f) : ((t = n[P("0x17d")][P("0x6d")](new e.LabelCollection())).name = "MeasureAzimuthWidget_draw_label", t[P("0x2cc")] = P("0x2e5") + n[P("0x1a9")], t[P("0x6d")]({ text: "单击开始绘制", font: P("0x2ee"), showBackground: !0, pixelOffset: new e[P("0x10")](10, 10), disableDepthTestDistance: Number[P("0x31")] }), t[P("0x187")](t[P("0x0")] - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](u, h, f)); } } }, e[P("0x161")][P("0x163")]); }, t[P("0x5")][P("0x2d1")] = function (t, i) { var r = turf[P("0x2ec")]([t[0], t[1]]), n = turf[P("0x2ec")]([t[3], t[4]]), o = turf[P("0x11b")](r, n), a = P("0x2ef") + o[P("0x2af")](2) + "°"; i[P("0x187")](i.length - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](t[3], t[4], t[5]), i[P("0x187")](i[P("0x0")] - 1).text = a; }, t[P("0x5")][P("0x2f0")] = function () { this.viewer.infoBox && (this[P("0x13b")].infoBox[P("0x131")][P("0x150")][P("0x2f1")] = ""), this.viewer.selectionIndicator && (this[P("0x13b")][P("0x2f2")][P("0x131")][P("0x150")][P("0x2f1")] = ""); }, t.prototype.hideInfobox = function () { this[P("0x13b")][P("0x2f3")] && (this[P("0x13b")][P("0x2f3")][P("0x131")][P("0x150")].display = P("0x2b4")), this.viewer[P("0x2f2")] && (this[P("0x13b")][P("0x2f2")][P("0x131")][P("0x150")][P("0x2f1")] = P("0x2b4")); }, t[P("0x5")].clear = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this.viewer.canvas[P("0x150")][P("0x170")] = P("0x18c"), function (e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)), i--); } }(P("0x2db"), this[P("0x17d")]), function (e, t) { for (var i = t[P("0x190")], r = 0; r < i[P("0x0")]; r++) { i[r][P("0x176")] && -1 < i[r].name.indexOf(e) && (t[P("0x17f")](i[r]), r--); } }(P("0x2db"), this[P("0x13b")].entities), this[P("0x2f0")](); }, t[P("0x5")][P("0x2d2")] = function () { var t = this; this[P("0x16f")] || (this.handler = new e[P("0x15f")](this.canvas), this[P("0x16f")][P("0x160")](function (i) { var r = t[P("0x13b")][P("0x10f")][P("0xa4")](i.position); r.id && r.id[P("0x2cc")] && -1 < r.id[P("0x2cc")][P("0x2d3")](P("0x2db")) && (t[P("0x2cb")][P("0x17c")](r.id[P("0x2cc")]), r.id._polyline.material[P("0x169")] = e.Color[P("0x2d5")].withAlpha(0.5)); }, e[P("0x161")][P("0x17e")])); }, t[P("0x5")][P("0x2d6")] = function () { if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this.viewer.canvas[P("0x150")][P("0x170")] = P("0x18c"), this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")]) for (var e = 0; e < this.tags[P("0x0")]; e++) { r(this.tags[e], this[P("0x17d")]), i(this[P("0x2cb")][e], this[P("0x13b")][P("0x194")]); } }; }(window[P("0xfd")]), function (e) { var t = e[P("0x2f4")] = function (t, i) { this.viewer = t[P("0x13b")], this[P("0x169")] = t.color ? t.color : e[P("0x16a")][P("0x2d5")], this.pixelSize = t[P("0x1a3")] ? t[P("0x1a3")] : 10, this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this.camera = this.viewer[P("0x7e")], this[P("0x48")] = this[P("0x10f")][P("0x48")], this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0xef")] = this.scene.globe[P("0xef")], this[P("0x1a9")] = 0, this[P("0x2cb")] = [], this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1; }; function i(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } t[P("0x5")][P("0x198")] = function () { this.count++, this.handler && (this.handler = this.handler && this[P("0x16f")][P("0xf4")]()), this[P("0x16f")] = new e[P("0x15f")](this.canvas), this.viewer[P("0x48")][P("0x150")][P("0x170")] = P("0x171"); var t, i, r = this, n = []; this[P("0x16f")][P("0x160")](function (o) { if (2 == r.mode) { var a = r[P("0x10f")][P("0xa4")](o.position); if (!a) return; if (!(a[P("0x182")] instanceof e[P("0x2e1")])) return void console[P("0x2e2")](P("0x2f5")); var s = r[P("0x10f")].pickPosition(o.position); } else { var x = r[P("0x7e")][P("0x86")](o[P("0x8c")]); s = r.scene[P("0xa3")][P("0xa4")](x, r[P("0x10f")]); } if (s) { n[0] = s, t ? t.removeAll() : ((t = r[P("0x17d")][P("0x6d")](new e.PointPrimitiveCollection()))[P("0x2cc")] = P("0x2f6") + r[P("0x1a9")], t[P("0x176")] = P("0x2f7")), t.add({ position: s, color: r[P("0x169")], pixelSize: r[P("0x1a3")] }), r.handler = r[P("0x16f")] && r[P("0x16f")].destroy(), r[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), i && (r[P("0x17d")][P("0x17f")](i), i = null); var l, c, u, h, f, d = e.Cartographic[P("0x175")](n[0]), g = { longitude: e[P("0x23")][P("0x113")](d[P("0x112")]), latitude: e.Math[P("0x113")](d[P("0x114")]), height: d[P("0x8b")] }; l = r[P("0x17d")], c = g, u = n, h = r[P("0x1a9")], (f = l[P("0x6d")](new e[P("0x1a5")]()))[P("0x176")] = P("0x2f8"), f[P("0x2cc")] = P("0x2f6") + h, f[P("0x6d")]({ text: P("0x2f9") + c[P("0x112")][P("0x2af")](7) + "°\n" + P("0x2fa") + c.latitude[P("0x2af")](7) + "°\n" + P("0x2fb") + c.height.toFixed(2) + "m", font: P("0x1a0"), showBackground: !0, pixelOffset: new e[P("0x10")](8, 0), disableDepthTestDistance: Number[P("0x31")] }), f[P("0x187")](f[P("0x0")] - 1)[P("0x8c")] = u[u.length - 1]; } }, e[P("0x161")][P("0x1ff")]); }, t[P("0x5")].clear = function () { this.handler = this.handler && this.handler[P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"), function (e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x176")] && -1 < t.get(i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)), i--); } }(P("0x2f4"), this[P("0x17d")]); }, t[P("0x5")][P("0x2d2")] = function () { var t = this; this[P("0x16f")] || (this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]), this.handler[P("0x160")](function (i) { var r = t[P("0x13b")][P("0x10f")][P("0xa4")](i.position); r && r.collection && r.collection[P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")]("MeasureCoordinateWidget") && r[P("0x182")] && (t[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")]), r[P("0x182")][P("0x169")] = e.Color.YELLOW.withAlpha(0.5)); }, e.ScreenSpaceEventType.LEFT_CLICK)); }, t[P("0x5")][P("0x2d6")] = function (e) { if (this.handler = this.handler && this[P("0x16f")].destroy(), this[P("0x13b")][P("0x48")].style[P("0x170")] = P("0x18c"), this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")]) for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++) { i(this[P("0x2cb")][t], this.primitives); } }; }(window[P("0xfd")]), function (e) { var t = e[P("0x2fd")] = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e.Color.CHARTREUSE[P("0x16c")](0.5), this.lineWidth = t.lineWidth ? t[P("0x197")] : 2, this.scene = this.viewer[P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0x48")] = this[P("0x10f")].canvas, this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0x194")] = this[P("0x13b")].entities, this.ellipsoid = this[P("0x10f")][P("0xa3")].ellipsoid, this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1, this[P("0x1a9")] = 0, this[P("0x2cb")] = []; }; function i(e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i).tag == e && (t.remove(t.get(i)), i--); } } function r(e, t) { for (var i = t[P("0x190")], r = 0; r < i.length; r++) { i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]), r--); } } t[P("0x5")][P("0x198")] = function () { var t = this; t[P("0x1a9")]++, this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")].canvas[P("0x150")].cursor = P("0x171"); var i, r, n, o = []; this._array_ = o, this._polylines_ = i, this[P("0x173")] = r, this[P("0x16f")][P("0x160")](function (r) { if (t[P("0x18b")] = r, 3 == t[P("0xd3")]) var a = t[P("0x10f")][P("0x174")](r[P("0x8c")]);else { var s = t[P("0x7e")][P("0x86")](r[P("0x8c")]); a = t[P("0x10f")][P("0xa3")][P("0xa4")](s, t[P("0x10f")]); } if (a) { var x = e.Cartographic[P("0x175")](a), l = e.Math[P("0x113")](x.longitude), c = e[P("0x23")].toDegrees(x[P("0x114")]), u = x[P("0x8b")]; o.push(l), o[P("0x17c")](c), o[P("0x17c")](u), 3 == o[P("0x0")] && ((i = t[P("0x17d")][P("0x6d")](new e[P("0x199")]())).tag = P("0x2fd") + "_" + t[P("0x1a9")], i[P("0x176")] = "MeasureDistanceWidget_draw_polyline", i[P("0x6d")]({ polyline: {} }), i[P("0x187")](i[P("0x0")] - 1)[P("0x19a")] = t[P("0x197")], i.get(i[P("0x0")] - 1)[P("0x19c")][P("0x19d")][P("0x169")] = t[P("0x169")], i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](o)), 3 < o[P("0x0")] && (i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](o)), t._polylines_ = i, (n = t[P("0x17d")][P("0x6d")](new e[P("0x1a4")]()))[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")], n[P("0x176")] = P("0x2fe"), n[P("0x6d")]({ position: a, color: e[P("0x16a")][P("0x2cf")], outlineColor: e[P("0x16a")][P("0x16b")], outlineWidth: 1, pixelSize: t[P("0x1a3")] }), t[P("0x2ff")] = !1, t[P("0x2d1")](r); } }, e[P("0x161")][P("0x1ff")]), this[P("0x16f")][P("0x160")](function (n) { if (3 == t[P("0xd3")]) var a = t[P("0x10f")].pickPosition(n.endPosition);else { var s = t[P("0x7e")][P("0x86")](n[P("0x64")]); a = t.scene[P("0xa3")][P("0xa4")](s, t[P("0x10f")]); } if (!a) return console[P("0x133")](P("0x300")), void (r && (t.primitives[P("0x17f")](r), r = null)); var x = e[P("0x13")][P("0x175")](a), l = e.Math[P("0x113")](x[P("0x112")]), c = e[P("0x23")][P("0x113")](x[P("0x114")]), u = x[P("0x8b")]; if (/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) r = null;else { if (3 <= o.length) { var h = o[P("0x1c6")](); h[P("0x17c")](l), h[P("0x17c")](c), h.push(u), i[P("0x187")](i[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](h); } r && 0 != r[P("0x0")] ? r[P("0x187")](r.length - 1)[P("0x8c")] = e[P("0x11")][P("0x1a1")](l, c, u) : ((r = t[P("0x17d")][P("0x6d")](new e[P("0x1a5")]())).name = P("0x301"), r[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")], r.add({ text: P("0x185"), font: P("0x1a0"), showBackground: !0, pixelOffset: new e[P("0x10")](10, 10), disableDepthTestDistance: Number[P("0x31")] }), r.get(r.length - 1)[P("0x8c")] = e.Cartesian3.fromDegrees(l, c, u)); } t[P("0x173")] = r; }, e[P("0x161")].MOUSE_MOVE), this[P("0x16f")][P("0x160")](function (i) { if (t.flag = !0, i = t[P("0x18b")], 3 == t[P("0xd3")]) var r = t[P("0x10f")][P("0x174")](i.position);else { var o = t.camera[P("0x86")](i.position); r = t[P("0x10f")][P("0xa3")][P("0xa4")](o, t[P("0x10f")]); } if (r) { var a = e[P("0x13")][P("0x175")](r), s = e[P("0x23")][P("0x113")](a.longitude), x = e[P("0x23")][P("0x113")](a.latitude), l = a[P("0x8b")]; (n = t[P("0x17d")][P("0x6d")](new e[P("0x1a4")]()))[P("0x2cc")] = P("0x2fd") + "_" + t[P("0x1a9")], n[P("0x176")] = P("0x2fe"), n[P("0x6d")]({ position: r, color: e[P("0x16a")][P("0x2cf")], outlineColor: e.Color[P("0x16b")], outlineWidth: 1, pixelSize: t.pixelSize }), t._array_[P("0x17c")](s), t[P("0x172")][P("0x17c")](x), t._array_.push(l), t[P("0x2d1")](i), t[P("0x16f")] = t[P("0x16f")] && t[P("0x16f")][P("0xf4")](), t.viewer.canvas[P("0x150")].cursor = "default", t[P("0x172")] = [], t[P("0x1aa")] = null; } }, e[P("0x161")][P("0x189")]); }, t.prototype[P("0x2d1")] = function (t) { if (null != this[P("0x172")] && 0 != this[P("0x172")][P("0x0")]) { if (/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator[P("0x2cd")])) this[P("0x172")] = this[P("0x172")];else if (!t) { console[P("0x133")](P("0x1ad")), t = this[P("0x18b")]; var i = this[P("0x7e")][P("0x86")](t.position), r = this[P("0x10f")][P("0xa3")][P("0xa4")](i, this[P("0x10f")]); if (!r) return; var n = e[P("0x13")].fromCartesian(r), o = e[P("0x23")][P("0x113")](n[P("0x112")]), a = e[P("0x23")][P("0x113")](n[P("0x114")]), s = n[P("0x8b")]; this[P("0x172")][this[P("0x172")][P("0x0")] - 1] == s && this._array_[this[P("0x172")][P("0x0")] - 2] == a && this._array_[this._array_[P("0x0")] - 3] == o ? this[P("0x172")] = this._array_ : (this[P("0x172")][P("0x17c")](o), this._array_[P("0x17c")](a), this[P("0x172")][P("0x17c")](s)); } this._labels_ && (this[P("0x17d")][P("0x17f")](this[P("0x173")]), this._labels_ = null); var x = this[P("0xd3")]; if (2 == this[P("0xd3")]) { var l = function (t, i) { for (var r = [], n = 0; n < t[P("0x0")] / 3 - 1; n++) { var o = 3 * n, a = t[o], s = t[1 + o], x = t[2 + o], l = t[3 + o], c = t[4 + o], u = t[5 + o]; r[P("0x17c")](a), r[P("0x17c")](s), r[P("0x17c")](x); for (var h = 0; h < 100; h++) { var f = { longitude: e.Math.toRadians(a), latitude: e[P("0x23")].toRadians(s), height: x }, d = { longitude: e.Math[P("0x119")](l), latitude: e[P("0x23")][P("0x119")](c), height: u }, g = e[P("0x23")][P("0x308")](f[P("0x112")], d[P("0x112")], 0.01 * (h + 1)), p = e[P("0x23")][P("0x308")](f[P("0x114")], d[P("0x114")], 0.01 * (h + 1)), m = { longitude: g, latitude: p }, b = i[P("0xa3")][P("0xed")](m); r.push(e.Math[P("0x113")](g)), r[P("0x17c")](e.Math[P("0x113")](p)), r[P("0x17c")](b); } r[P("0x17c")](l), r.push(c), r.push(u); } return r; }(this[P("0x172")], this[P("0x10f")]); this[P("0x1aa")][P("0x187")](this._polylines_[P("0x0")] - 1)[P("0x19c")][P("0x19d")].color = e[P("0x16a")].CHARTREUSE[P("0x16c")](0), this[P("0x13b")].entities[P("0x6d")]({ tag: P("0x2fd") + "_" + this[P("0x1a9")], name: P("0x302"), polyline: { positions: e.Cartesian3[P("0x19e")](l), width: this[P("0x197")], material: this.color } }); } var c, u, h, f, d, g, p = e[P("0x11")][P("0x19e")](e[P("0x14")](l) ? l : this[P("0x172")]), m = 0; if (new e[P("0x282")](), 1 == x || 3 == x) { for (var b = 1; b < p[P("0x0")]; b++) { m += e[P("0x11")][P("0x8e")](p[b - 1], p[b]); } c = 0 == m ? "起点" : 0 < m && m < 1e3 ? this[P("0x2ff")] ? P("0x303") + m.toFixed(2) + "m" : m[P("0x2af")](2) + "m" : this[P("0x2ff")] ? P("0x303") + (m / 1e3)[P("0x2af")](2) + "km" : (m / 1e3).toFixed(2) + "km"; } else if (2 == x) { for (b = 1; b < p.length; b++) { m += e[P("0x11")][P("0x8e")](p[b - 1], p[b]); } c = 0 == m ? "起点" : 0 < m && m < 1e3 ? this[P("0x2ff")] ? P("0x303") + m[P("0x2af")](2) + "m" : m.toFixed(2) + "m" : this[P("0x2ff")] ? P("0x303") + (m / 1e3)[P("0x2af")](2) + "km" : (m / 1e3)[P("0x2af")](2) + "km"; } u = this[P("0x1a9")], f = c, d = p, (g = (h = this[P("0x17d")])[P("0x6d")](new e[P("0x1a5")]()))[P("0x176")] = "MeasureDistanceWidget_result_label", g[P("0x2cc")] = P("0x2fd") + "_" + u, g[P("0x6d")]({ text: f, font: P("0x1a0"), showBackground: !0, backgroundColor: new e[P("0x16a")](1, 0, 0, 0.3), pixelOffset: new e[P("0x10")](10, 10), disableDepthTestDistance: Number[P("0x31")] }), g[P("0x187")](g[P("0x0")] - 1)[P("0x8c")] = d[d[P("0x0")] - 1], 3 < h[P("0x0")] && h[P("0x306")][h.length - 3].name == P("0x307") && (h[P("0x306")][h[P("0x0")] - 3]._labels[0].backgroundColor = new e[P("0x16a")](0, 1, 0, 0.3)); } }, t.prototype.clear = function () { this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), function (e) { for (var t = 0; t < e[P("0x0")]; t++) { e.get(t)[P("0x176")] && -1 < e.get(t).name[P("0x2d3")](P("0x2fd")) && (e.remove(e[P("0x187")](t)), t--); } }((P("0x1a7"), this[P("0x17d")])), function (e) { for (var t = e[P("0x190")], i = 0; i < t.length; i++) { t[i][P("0x176")] && -1 < t[i][P("0x176")][P("0x2d3")](P("0x2fd")) && (e[P("0x17f")](t[i]), i--); } }(this.viewer[P("0x194")]); }, t[P("0x5")][P("0x2d2")] = function () { var t = this; this[P("0x16f")] || (this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]), this.handler[P("0x160")](function (i) { var r = t.viewer[P("0x10f")].pick(i.position); r && (r[P("0x182")][P("0x304")] && r[P("0x182")][P("0x304")][P("0x2cc")] && -1 < r[P("0x182")]._polylineCollection[P("0x2cc")].indexOf("MeasureDistanceWidget") && (t[P("0x2cb")][P("0x17c")](r[P("0x182")][P("0x304")].tag), r[P("0x182")][P("0x19c")][P("0x19d")][P("0x169")] = e[P("0x16a")][P("0x2d5")].withAlpha(0.5)), r.id && r.id.tag && -1 < r.id[P("0x2cc")].indexOf(P("0x2fd")) && r.id[P("0x305")] && (t.tags[P("0x17c")](r.id.tag), r.id._polyline[P("0x19c")][P("0x169")] = e[P("0x16a")][P("0x2d5")].withAlpha(0.5))); }, e[P("0x161")][P("0x17e")])); }, t.prototype[P("0x2d6")] = function (e) { if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")]) for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++) { i(this[P("0x2cb")][t], this.primitives), r(this[P("0x2cb")][t], this[P("0x13b")][P("0x194")]); } }; }(window.Cesium), function (e) { var t = e.MeasureElevationWidget = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this.color = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")].YELLOW, this.pixelSize = t.pixelSize ? t[P("0x1a3")] : 10, this.scene = this.viewer[P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0x48")] = this[P("0x10f")].canvas, this.primitives = this[P("0x10f")][P("0x17d")], this[P("0xef")] = this.scene[P("0xa3")][P("0xef")], this.count = 0, this.tags = [], this.mode = t[P("0xd3")] ? t[P("0xd3")] : 1; }; function i(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x2cc")] == e && (t.remove(t[P("0x187")](i)), i--); } } t[P("0x5")][P("0x198")] = function () { this[P("0x1a9")]++, this[P("0x16f")] && (this.handler = this[P("0x16f")] && this.handler[P("0xf4")]()), this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13b")].canvas[P("0x150")].cursor = "crosshair"; var t, i, r = this, n = []; this[P("0x16f")][P("0x160")](function (o) { if (2 == r[P("0xd3")]) { var a = r[P("0x10f")][P("0xa4")](o[P("0x8c")]); if (!a) return; if (!(a.primitive instanceof e.Cesium3DTileset)) return void console.warn(P("0x2f5")); var s = r[P("0x10f")][P("0x174")](o[P("0x8c")]); } else { var x = r[P("0x7e")][P("0x86")](o[P("0x8c")]); s = r[P("0x10f")][P("0xa3")].pick(x, r[P("0x10f")]); } if (s) { n[0] = s, t ? t[P("0xf5")]() : ((t = r.primitives[P("0x6d")](new e.PointPrimitiveCollection()))[P("0x2cc")] = P("0x309") + r[P("0x1a9")], t[P("0x176")] = "MeasureElevationWidget_draw_point"), t.add({ position: s, color: r[P("0x169")], pixelSize: r[P("0x1a3")] }), r[P("0x16f")] = r.handler && r[P("0x16f")][P("0xf4")](), r[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x18c"), i && (r[P("0x17d")][P("0x17f")](i), i = null); var l, c, u, h, f, d = e[P("0x13")].fromCartesian(n[0])[P("0x8b")], g = P("0x30a") + d[P("0x2af")](2) + "m"; l = r[P("0x17d")], c = g, u = n, h = r.count, (f = l[P("0x6d")](new e.LabelCollection()))[P("0x176")] = P("0x30c"), f[P("0x2cc")] = "MeasureElevationWidget_" + h, f[P("0x6d")]({ text: c, font: P("0x1a0"), showBackground: !0, pixelOffset: new e[P("0x10")](6, 2), disableDepthTestDistance: Number[P("0x31")] }), f[P("0x187")](f[P("0x0")] - 1)[P("0x8c")] = u[u[P("0x0")] - 1]; } }, e[P("0x161")][P("0x1ff")]); }, t[P("0x5")][P("0x192")] = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), function (e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t.get(i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t[P("0x187")](i)), i--); } }(P("0x30b"), this[P("0x17d")]); }, t[P("0x5")][P("0x2d2")] = function () { var t = this; this[P("0x16f")] || (this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this.handler[P("0x160")](function (i) { var r = t[P("0x13b")][P("0x10f")].pick(i[P("0x8c")]); r && r[P("0x2fc")] && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")].tag.indexOf(P("0x30b")) && r.primitive && (t[P("0x2cb")][P("0x17c")](r[P("0x2fc")].tag), r[P("0x182")][P("0x169")] = e[P("0x16a")].YELLOW.withAlpha(0.5)); }, e[P("0x161")].LEFT_CLICK)); }, t[P("0x5")][P("0x2d6")] = function (e) { if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), this[P("0x2cb")] && 0 < this[P("0x2cb")].length) for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++) { i(this[P("0x2cb")][t], this.primitives); } }; }(window[P("0xfd")]), function (e) { var t = e.MeasureHeightWidget = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x169")] = t[P("0x169")] ? t[P("0x169")] : e[P("0x16a")].CHARTREUSE[P("0x16c")](0.5), this[P("0x197")] = t[P("0x197")] ? t.lineWidth : 2, this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this.canvas = this[P("0x10f")][P("0x48")], this.primitives = this[P("0x10f")][P("0x17d")], this[P("0xef")] = this[P("0x10f")][P("0xa3")].ellipsoid, this[P("0x191")] = i || function () {}, this[P("0x1a9")] = 0, this[P("0x2cb")] = [], this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1; }; function i(t, i, r, n) { var o = t[P("0x6d")](new e[P("0x1a5")]()); o[P("0x2cc")] = P("0x30d") + "_" + n, o[P("0x176")] = P("0x315"), o[P("0x6d")]({ text: i, font: "16px sans-serif", showBackground: !0, disableDepthTestDistance: Number.POSITIVE_INFINITY }), o[P("0x187")](o[P("0x0")] - 1)[P("0x8c")] = e[P("0x11")].fromDegrees(r[r.length - 3], r[r[P("0x0")] - 2], r[r[P("0x0")] - 1]); } function r(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } t[P("0x5")].activate = function () { if (this.count++, this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), !this[P("0x16f")]) { this[P("0x16f")] = new e[P("0x15f")](this.canvas), this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x171"); var t, i, r = this, n = []; this[P("0x172")] = n, this[P("0x1aa")] = t, this[P("0x173")] = void 0, this[P("0x16f")][P("0x160")](function (o) { if (2 == r[P("0xd3")]) var a = r[P("0x10f")][P("0x174")](o[P("0x8c")]);else { var s = r[P("0x7e")].getPickRay(o[P("0x8c")]); a = r.scene.globe.pick(s, r[P("0x10f")]); } if (a) { var x = e[P("0x13")][P("0x175")](a), l = e[P("0x23")][P("0x113")](x.longitude), c = e[P("0x23")].toDegrees(x[P("0x114")]), u = x[P("0x8b")]; 0 < n[P("0x0")] && (9 == n[P("0x0")] && (n[3] = l, n[4] = c, n[5] = u, n[2] >= n[5] ? (n[6] = n[0], n[7] = n[1], n[8] = n[5]) : (n[6] = n[3], n[7] = n[4], n[8] = n[2]), t[P("0x187")](t.length - 1).positions = e[P("0x11")][P("0x19e")](n)), (i = r[P("0x17d")].add(new e[P("0x1a4")]()))[P("0x2cc")] = P("0x30d") + "_" + r.count, i[P("0x176")] = P("0x30e"), i[P("0x6d")]({ position: a, color: r[P("0x169")], pixelSize: r[P("0x1a3")] }), r[P("0x172")] = n, r.measureEnd()), 0 == n.length && (n[P("0x17c")](l), n[P("0x17c")](c), n.push(u), n[P("0x17c")](l), n[P("0x17c")](c), n[P("0x17c")](u), n[P("0x17c")](l), n.push(c), n[P("0x17c")](u), (t = r.primitives[P("0x6d")](new e.PolylineCollection()))[P("0x2cc")] = P("0x30d") + "_" + r[P("0x1a9")], t.name = P("0x30f"), t[P("0x6d")]({ polyline: {} }), t.get(t[P("0x0")] - 1)[P("0x19a")] = r[P("0x197")], t.get(t[P("0x0")] - 1)[P("0x19b")] = !0, t[P("0x187")](t[P("0x0")] - 1)[P("0x19c")].uniforms[P("0x169")] = r[P("0x169")], t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = e[P("0x11")][P("0x19e")](n), (i = r.primitives[P("0x6d")](new e.PointPrimitiveCollection()))[P("0x2cc")] = P("0x30d") + "_" + r.count, i[P("0x176")] = P("0x30e"), i[P("0x6d")]({ position: a, color: r[P("0x169")], pixelSize: r[P("0x1a3")] })); } }, e.ScreenSpaceEventType[P("0x17e")]); } }, t[P("0x5")][P("0x2d2")] = function (t) { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]); var i = this; this[P("0x16f")][P("0x160")](function (t) { var r = i.viewer[P("0x10f")].pick(t.position); r && r[P("0x2fc")] && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")]("MeasureHeightWidget") && r[P("0x182")] && r.primitive instanceof e.Polyline && (r[P("0x182")].material[P("0x19d")][P("0x169")] = e.Color[P("0x310")], i[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")])); }, e[P("0x161")][P("0x17e")]); }, t.prototype[P("0x2d6")] = function (e) { if (this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), this[P("0x2cb")] && 0 < this.tags[P("0x0")]) for (var t = 0; t < this[P("0x2cb")][P("0x0")]; t++) { r(this[P("0x2cb")][t], this.primitives); } }, t[P("0x5")].measureEnd = function () { var t; this[P("0x16f")] = this.handler && this[P("0x16f")].destroy(), this[P("0x13b")].canvas.style[P("0x170")] = P("0x18c"), this._labels_ && (this.primitives[P("0x17f")](this._labels_), this[P("0x173")] = null), (x = [])[P("0x17c")]((this[P("0x172")][0] + this[P("0x172")][3]) / 2), x[P("0x17c")]((this[P("0x172")][1] + this[P("0x172")][4]) / 2), t = this[P("0x172")][2] >= this[P("0x172")][5] ? (x.push(this._array_[5]), this._array_[5]) : (x.push(this[P("0x172")][2]), this._array_[2]); var r = e.Cartesian3[P("0x1a1")](this[P("0x172")][0], this[P("0x172")][1], t), n = e[P("0x11")].fromDegrees(this._array_[3], this[P("0x172")][4], t), o = e[P("0x11")][P("0x8e")](r, n); a = o < 1e3 ? P("0x311") + o.toFixed(2) + "m" : P("0x311") + (o / 1e3)[P("0x2af")](2) + "km", i(this[P("0x17d")], a, x, this.count); var a, s = Math.abs(this._array_[2] - this[P("0x172")][5]), x = []; this[P("0x172")][2] >= this[P("0x172")][5] ? (x[P("0x17c")](this[P("0x172")][0]), x[P("0x17c")](this[P("0x172")][1])) : (x.push(this[P("0x172")][3]), x.push(this[P("0x172")][4])), x[P("0x17c")]((this[P("0x172")][2] + this._array_[5]) / 2), a = s < 1e3 ? P("0x312") + s[P("0x2af")](2) + "m" : P("0x312") + (s / 1e3)[P("0x2af")](2) + "km", i(this[P("0x17d")], a, x, this[P("0x1a9")]), (x = []).push((this[P("0x172")][0] + this[P("0x172")][3]) / 2), x[P("0x17c")]((this[P("0x172")][1] + this[P("0x172")][4]) / 2), x[P("0x17c")]((this[P("0x172")][2] + this[P("0x172")][5]) / 2); var l = Math[P("0xca")](Math.pow(o, 2) + Math[P("0x2ae")](s, 2)); a = l < 1e3 ? P("0x313") + l[P("0x2af")](2) + "m" : P("0x313") + (l / 1e3)[P("0x2af")](2) + "km", i(this.primitives, a, x, this[P("0x1a9")]), this[P("0x1a9")]++, this.callback(o, s, l, this._array_); }, t[P("0x5")][P("0x192")] = function () { this[P("0x16f")] = this[P("0x16f")] && this.handler[P("0xf4")](), this[P("0x13b")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), function (e) { for (var t = 0; t < e[P("0x0")]; t++) { e[P("0x187")](t)[P("0x176")] && -1 < e[P("0x187")](t)[P("0x176")][P("0x2d3")](P("0x30d")) && (e[P("0x17f")](e.get(t)), t--); } }((P("0x314"), this[P("0x17d")])); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x316")] = function (t, i) { this[P("0x13c")] = t[P("0x13b")], this[P("0x42")] = this._viewer[P("0x10f")], this[P("0x317")] = this[P("0x13c")][P("0x7e")], this[P("0x318")] = this[P("0x42")][P("0x48")], this[P("0x306")] = this[P("0x42")][P("0x17d")], this[P("0x44")] = this[P("0x42")][P("0xa3")][P("0xef")], this[P("0x319")] = t[P("0x1b4")] ? t[P("0x1b4")] : e[P("0x16a")].AQUA[P("0x16c")](0.5), this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 6, this[P("0x191")] = i || function () {}, this[P("0xd3")] = t.mode ? t[P("0xd3")] : 1, this.count = 0, this[P("0x2cb")] = []; }; function i(e, t) { for (var i = 0; i < t.length; i++) { t.get(i)[P("0x2cc")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } t.prototype[P("0x198")] = function () { if (this[P("0x1a9")]++, this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), !this[P("0x16f")]) { this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x171"); var t, i, r = this, n = []; this[P("0x172")] = n, this.handler[P("0x160")](function (o) { if (2 == r.mode) var a = r[P("0x42")][P("0x174")](o[P("0x8c")]);else { var s = r[P("0x317")][P("0x86")](o[P("0x8c")]); a = r[P("0x42")][P("0xa3")][P("0xa4")](s, r[P("0x42")]); } if (a) { var x = e[P("0x13")][P("0x175")](a), l = e[P("0x23")].toDegrees(x[P("0x112")]), c = e[P("0x23")][P("0x113")](x[P("0x114")]), u = x.height; n[P("0x17c")](l, c, u), 3 === n.length && (i[P("0x187")](i[P("0x0")] - 1)[P("0x31b")] = "单击结束绘制", (t = r[P("0x306")][P("0x6d")](new e[P("0x199")]()))[P("0x176")] = P("0x31c"), t.tag = P("0x31d") + r[P("0x1a9")], t[P("0x6d")]({ positions: e[P("0x11")].fromDegreesArrayHeights(n), width: r[P("0x31a")], loop: !0, material: new e[P("0x212")]({ fabric: { type: P("0x31e"), uniforms: { color: r[P("0x319")] } } }) }), t[P("0x6d")]({ positions: e.Cartesian3.fromDegreesArrayHeights(n), width: r[P("0x31a")], loop: !0, material: new e[P("0x212")]({ fabric: { type: "PolylineArrow", uniforms: { color: r._lineColor } } }) })), 6 === n[P("0x0")] && (i && (r._primitives[P("0x17f")](i), i = null), r[P("0x2d1")](n, t), r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")].destroy(), r._viewer[P("0x48")].style[P("0x170")] = "default"); } }, e[P("0x161")].LEFT_CLICK), this[P("0x16f")][P("0x160")](function (o) { if (2 == r[P("0xd3")]) var a = r[P("0x42")].pickPosition(o.endPosition);else { var s = r[P("0x317")][P("0x86")](o.endPosition); a = r[P("0x42")][P("0xa3")][P("0xa4")](s, r[P("0x42")]); } if (a) { var x = e[P("0x13")][P("0x175")](a), l = e[P("0x23")][P("0x113")](x[P("0x112")]), c = e[P("0x23")].toDegrees(x[P("0x114")]), u = x[P("0x8b")]; if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) { if (3 == n[P("0x0")]) { var h = n[P("0x1d5")](); h[P("0x17c")](l, c, u), r.measureEnd(h, t); } i && 0 != i[P("0x0")] ? i[P("0x187")](i[P("0x0")] - 1).position = a : ((i = r[P("0x306")][P("0x6d")](new e[P("0x1a5")]()))[P("0x176")] = P("0x31f"), i[P("0x2cc")] = "MeasureSlopeWidget_" + r.count, i[P("0x6d")]({ text: P("0x320"), font: P("0x2ee"), showBackground: !0, pixelOffset: new e[P("0x10")](10, 10), disableDepthTestDistance: Number[P("0x31")] }), i[P("0x187")](i.length - 1).position = a); } } }, e.ScreenSpaceEventType[P("0x163")]); } }, t[P("0x5")][P("0x2d1")] = function (t, i) { if (t && !(t[P("0x0")] < 3) && i) { var r, n, o = [], a = []; t[2] >= t[5] ? (t[6] = t[0], t[7] = t[1], t[8] = t[5], r = t[5], n = [t[3], t[4], t[5]], t[0], t[3], t[1], t[4], t[0], t[1], t[2], t[5], o[P("0x17c")](t[3], t[4], t[5], t[0], t[1], t[2]), a.push(t[3], t[4], t[5], t[0], t[1], t[5])) : (t[6] = t[3], t[7] = t[4], t[8] = t[2], r = t[2], n = [t[0], t[1], t[2]], t[0], t[3], t[1], t[4], t[3], t[4], t[2], t[5], o[P("0x17c")](t[0], t[1], t[2], t[3], t[4], t[5]), a[P("0x17c")](t[0], t[1], t[2], t[3], t[4], t[2])), i.get(0)[P("0x19f")] = e[P("0x11")][P("0x19e")](o), i[P("0x187")](1)[P("0x19f")] = e.Cartesian3[P("0x19e")](a); var s = e[P("0x11")][P("0x1a1")](t[0], t[1], r), x = e[P("0x11")][P("0x1a1")](t[3], t[4], r); !function (t, i, r, n, o) { var a; t < 1e3 ? t[P("0x2af")](2) : (t / 1e3)[P("0x2af")](2), i < 1e3 ? i[P("0x2af")](2) : (i / 1e3)[P("0x2af")](2), a = Math.round(e[P("0x23")].toDegrees(Math[P("0x321")](i / t))) + "°"; var s = function (e, t) { for (var i = 0; i < e[P("0x0")]; i++) { if (e.get(i).name == t) return e[P("0x187")](i); } }(r, P("0x322") + n); s ? (s[P("0x187")](0)[P("0x31b")] = a, s[P("0x187")](0).position = e[P("0x11")][P("0x1a1")](o[0], o[1], o[2])) : ((s = r[P("0x6d")](new e.LabelCollection()))[P("0x176")] = P("0x322") + n, s[P("0x2cc")] = "MeasureSlopeWidget_" + n, s[P("0x6d")]({ position: e[P("0x11")].fromDegrees(o[0], o[1], o[2]), style: e[P("0x323")].FILL_AND_OUTLINE, outlineWidth: 2, text: a, font: P("0x324"), pixelOffset: new e[P("0x10")](-20, 0), disableDepthTestDistance: Number.POSITIVE_INFINITY })); }(e[P("0x11")][P("0x8e")](s, x), Math.abs(t[2] - t[5]), this[P("0x306")], this[P("0x1a9")], n); } }, t[P("0x5")][P("0x2d2")] = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(), this[P("0x16f")] = new e[P("0x15f")](this[P("0x318")]); var t = this; this[P("0x16f")][P("0x160")](function (i) { var r = t[P("0x13c")][P("0x10f")][P("0xa4")](i[P("0x8c")]); if (r && r.collection && r[P("0x2fc")][P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")](P("0x316"))) { var n = function (e, t) { for (var i = 0; i < e[P("0x0")]; i++) { if (e[P("0x187")](i)[P("0x2cc")] == t && e[P("0x187")](i)[P("0x176")] == P("0x31c")) return e[P("0x187")](i); } }(t[P("0x306")], r.collection[P("0x2cc")]); n[P("0x187")](0).material[P("0x19d")][P("0x169")] = e[P("0x16a")][P("0x2d5")], n.get(1)[P("0x19c")][P("0x19d")][P("0x169")] = e[P("0x16a")].YELLOW, t[P("0x2cb")][P("0x17c")](r[P("0x2fc")][P("0x2cc")]); } }, e[P("0x161")][P("0x17e")]); }, t[P("0x5")][P("0x2d6")] = function () { if (this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(), this[P("0x2cb")] && 0 < this[P("0x2cb")][P("0x0")]) for (var e = 0; e < this.tags.length; e++) { i(this[P("0x2cb")][e], this[P("0x306")]); } }, t[P("0x5")].clear = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x318")][P("0x150")][P("0x170")] = P("0x18c"), function (e, t) { for (var i = 0; i < t.length; i++) { t.get(i)[P("0x176")] && -1 < t[P("0x187")](i)[P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](t.get(i)), i--); } }(P("0x316"), this[P("0x306")]); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x325")] = function (t, i) { t = e[P("0x102")](t, e[P("0x102")][P("0x128")]), this[P("0x13c")] = t[P("0x13b")], this[P("0x42")] = this._viewer[P("0x10f")], this[P("0x44")] = this[P("0x42")][P("0xa3")].ellipsoid, this[P("0x317")] = this[P("0x13c")][P("0x7e")], this[P("0x318")] = this[P("0x42")].canvas, this[P("0x306")] = this[P("0x42")].primitives, this.callback = i || function () {}, this[P("0x319")] = t.lineColor ? t[P("0x1b4")] : e.Color.CHARTREUSE, this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 2, this[P("0xd3")] = t[P("0xd3")] ? t[P("0xd3")] : 1, this[P("0x326")] = 0, this[P("0x327")] = e[P("0x102")](t[P("0x328")], 500), this._interpolationInterval = 3821.851414258813, this[P("0x329")] = this[P("0x42")][P("0xa3")][P("0x32a")], this[P("0x1a9")] = 0, this[P("0x2cb")] = [], this[P("0x32b")] = [], this[P("0x32c")] = []; }; function i(e, t) { for (var i = 0, r = 0; r < t[P("0x0")]; r++) { if (t[r] == e && i++, 2 == i) return !0; } } function r(e, t, i, r, n, o, a) { var s = {}, x = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[0]], t[0], t[1], e[P("0x180")][P("0x2ed")][0][i[0]]]]), l = turf.area(x), c = a - r, u = 1 / 3 * l * c, h = turf[P("0x2d4")]([[e.geometry.coordinates[0][i[1]], t[0], t[1], e[P("0x180")].coordinates[0][i[1]]]]), f = turf[P("0x2d9")](h), d = a - n, g = turf[P("0x2d4")]([[e.geometry[P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[0], t[1], e.geometry[P("0x2ed")][0][i[1]]]]), p = turf[P("0x2d9")](g), m = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[1], t[0], e[P("0x180")][P("0x2ed")][0][i[1]]]]), b = turf.area(m), v = b < p ? p : b, C = 1 / 3 * f * d + 1 / 3 * (v - f) * (d + (a - o)); return 0 <= c ? (s[P("0x34c")] = u, s[P("0x34d")] = l, s[P("0x34a")] = C, s[P("0x34b")] = v) : (s[P("0x34c")] = C, s.fillArea = v, s[P("0x34a")] = u, s[P("0x34b")] = l), s; } function n(t, i, r, n, o, a, s, x, l) { var c = {}, u = Math[P("0x78")](t / (t - i)), h = new e[P("0x11")](0, 0, 0), f = e.Cartesian3[P("0x1a1")](r[P("0x180")][P("0x2ed")][0][n][0], r[P("0x180")][P("0x2ed")][0][o][1], x), d = e[P("0x11")][P("0x1a1")](r[P("0x180")][P("0x2ed")][0][o][0], r[P("0x180")][P("0x2ed")][0][o][1], l), g = e[P("0x13")][P("0x175")](e[P("0x11")][P("0x308")](f, d, u, h)); return c[P("0x348")] = [e[P("0x23")][P("0x113")](g[P("0x112")]), e.Math[P("0x113")](g[P("0x114")])], c.vertexSerial = [a, s], c; } function o(e, t) { for (var i = t.values, r = 0; r < i[P("0x0")]; r++) { i[r][P("0x2cc")] == e && (t[P("0x17f")](i[r]), r--); } } function a(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i)[P("0x2cc")] == e && (t[P("0x17f")](t.get(i)), i--); } } function s(e, t, i) { for (var r = 0; r < t[P("0x0")]; r++) { t[r][P("0x2cc")] == e && i[P("0x17f")](t[r].primitive); } } e[P("0xf")](t.prototype, { viewer: { get: function get() { return this[P("0x13c")]; } }, designElevation: { get: function get() { return this._designElevation; } }, tin: { get: function get() { return this[P("0x32d")]; } }, minHeight: { get: function get() { return this[P("0x32e")]; } }, maxHeight: { get: function get() { return this[P("0x32f")]; } } }), t[P("0x5")][P("0x198")] = function () { if (this[P("0x1a9")]++, this.handler = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), !this[P("0x16f")]) { this[P("0x329")] = this[P("0x42")][P("0xa3")][P("0x32a")], this[P("0x42")].globe.depthTestAgainstTerrain = !1, this[P("0x16f")] = new e[P("0x15f")](this[P("0x318")]), this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x171"); var t, i, r = this, n = []; this[P("0x172")] = n, this[P("0x16f")].setInputAction(function (i) { if (1 == r[P("0xd3")]) var o = r[P("0x317")][P("0x86")](i[P("0x8c")]), a = r._scene[P("0xa3")].pick(o, r[P("0x42")]);else a = r[P("0x42")][P("0x174")](i[P("0x8c")]); a && (n.push(a), 1 == n.length && ((t = r[P("0x306")][P("0x6d")](new e[P("0x199")]()))[P("0x176")] = "MeasureVolumeWidget_draw_polyline", t[P("0x2cc")] = P("0x330") + r[P("0x1a9")], t[P("0x6d")]({ polyline: {} }), t[P("0x187")](t.length - 1)[P("0x19a")] = r[P("0x31a")], t[P("0x187")](t[P("0x0")] - 1)[P("0x19b")] = !0, t[P("0x187")](t.length - 1)[P("0x19c")][P("0x19d")].color = r[P("0x319")], t[P("0x187")](t[P("0x0")] - 1)[P("0x19f")] = n), 3 <= n[P("0x0")] && (t[P("0x187")](t[P("0x0")] - 1).positions = n, /Android|webOS|iPhone|ipad|iPod|BlackBerry/i.test(navigator[P("0x2cd")])), r[P("0x1aa")] = t); }, e[P("0x161")].LEFT_CLICK), this.handler[P("0x160")](function (o) { if (!/Android|webOS|iPhone|ipad|iPod|BlackBerry/i[P("0x270")](navigator.userAgent)) { if (1 == r[P("0xd3")]) var a = r[P("0x317")].getPickRay(o.endPosition), s = r[P("0x42")][P("0xa3")].pick(a, r._scene);else s = r[P("0x42")][P("0x174")](o[P("0x64")]); if (!s) return; if (1 <= n[P("0x0")]) { var x = n[P("0x1d5")](); x[P("0x17c")](s), t[P("0x187")](t.length - 1).positions = x; } i ? i.get(i[P("0x0")] - 1)[P("0x8c")] = s : ((i = r[P("0x306")][P("0x6d")](new e[P("0x1a5")]()))[P("0x176")] = P("0x331"), i[P("0x2cc")] = "MeasureVolumeWidget_" + r.count, i.add({ text: P("0x185"), font: P("0x1a0"), showBackground: !0, pixelOffset: new e.Cartesian2(10, 10), disableDepthTestDistance: Number[P("0x31")] }), i[P("0x187")](i[P("0x0")] - 1)[P("0x8c")] = s), r[P("0x173")] = i; } }, e[P("0x161")].MOUSE_MOVE), this[P("0x16f")][P("0x160")](function (o) { if (1 == r[P("0xd3")]) var a = r[P("0x317")][P("0x86")](o[P("0x8c")]), s = r[P("0x42")].globe.pick(a, r[P("0x42")]);else s = r[P("0x42")][P("0x174")](o[P("0x8c")]); s && (n[P("0x17c")](s), r[P("0x306")].remove(t), r[P("0x306")][P("0x17f")](i), r[P("0x332")] = r[P("0x2d1")](), r.callback(r[P("0x332")]), r[P("0x332")][P("0x333")](function (t) { r[P("0x42")][P("0xa3")][P("0x32a")] = r._depthTestAgainstTerrain, r[P("0x334")](), r[P("0x335")](), r[P("0x336")](), r.addOuterPolygon(), function (t, i, r, n, o) { var a, s, x = i[P("0x34e")], l = i[P("0x34f")]; s = x < 1e6 ? (a = P("0x350") + x[P("0x2af")](2) + "m²", "体积:" + l[P("0x2af")](2) + "m³") : (a = P("0x350") + (x / 1e6)[P("0x2af")](2) + P("0x2da"), "体积:" + (l / 1e9)[P("0x2af")](2) + P("0x351")), o._resultLabels = t[P("0x6d")](new e[P("0x1a5")]()); var c = o[P("0x352")]; c.name = P("0x353"), c[P("0x2cc")] = "MeasureVolumeWidget_" + n, c[P("0x6d")]({ style: e[P("0x323")][P("0x2de")], outlineWidth: 2, text: s + "\n" + a, font: P("0x324"), showBackground: !0, pixelOffset: new e.Cartesian2(10, 0), disableDepthTestDistance: Number[P("0x31")] }), c[P("0x187")](c[P("0x0")] - 1).position = r[r[P("0x0")] - 1]; }(r[P("0x306")], t, r[P("0x172")], r[P("0x1a9")], r); }), r[P("0x16f")] = r[P("0x16f")] && r[P("0x16f")][P("0xf4")](), r[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c")); }, e[P("0x161")][P("0x189")]); } }, t[P("0x5")][P("0x334")] = function () { var t = new e[P("0x179")]({ geometry: e[P("0x1af")][P("0x231")]({ positions: this[P("0x172")], height: this._minHeight, extrudedHeight: 1e5, vertexFormat: e[P("0x1b0")].VERTEX_FORMAT }), attributes: { color: e[P("0x184")][P("0x1b2")](e[P("0x16a")][P("0x310")].withAlpha(0.5)) }, id: P("0x330") + this.count }); this[P("0x337")] = new e.ClassificationPrimitive({ geometryInstances: t, classificationType: e[P("0x17a")].BOTH }), this[P("0x32b")][P("0x17c")]({ tag: "MeasureVolumeWidget_" + this[P("0x1a9")], primitive: this[P("0x337")] }), this[P("0x306")][P("0x6d")](this[P("0x337")]); }, t[P("0x5")][P("0x336")] = function () { this._designPolygonEntity = this[P("0x13c")][P("0x194")][P("0x6d")]({ name: "MeasureVolumeWidget_draw_base_polygon", tag: "MeasureVolumeWidget_" + this[P("0x1a9")], polygon: { hierarchy: { positions: this[P("0x172")] }, material: e[P("0x16a")][P("0x338")][P("0x16c")](0.3), perPositionHeight: !1, height: this[P("0x326")] } }); }, t[P("0x5")].addVerticalPolylines = function () { var t = this[P("0x339")][P("0x33a")], i = []; this[P("0x33b")] = this[P("0x306")].add(new e[P("0x199")]()), this[P("0x33b")][P("0x176")] = P("0x33c"), this._verticalPolylines[P("0x2cc")] = P("0x330") + this.count; for (var r = 0; r < t[P("0x0")]; r++) { if (!(t[r].properties.z < this[P("0x326")])) { var n = [t[r].geometry.coordinates[0], t[r][P("0x180")][P("0x2ed")][1], t[r][P("0x33d")].z], o = [t[r][P("0x180")][P("0x2ed")][0], t[r][P("0x180")].coordinates[1], this[P("0x326")]], a = [t[r][P("0x180")][P("0x2ed")][0], t[r].geometry.coordinates[1], this._maxHeight], s = n.concat(o), x = n.concat(a); i[P("0x17c")](s), this[P("0x33b")][P("0x6d")]({ positions: e[P("0x11")][P("0x19e")](s), material: e[P("0x212")][P("0x213")](P("0x16a"), { color: new e[P("0x16a")](1, 0, 0, 1) }) }), this[P("0x33b")][P("0x6d")]({ positions: e[P("0x11")].fromDegreesArrayHeights(x), material: e.Material[P("0x213")](P("0x16a"), { color: new e[P("0x16a")](0, 1, 0, 0.5) }) }); } } }, t[P("0x5")].addOuterPolygon = function () { this[P("0x339")].features; }, t.prototype[P("0x2d1")] = function () { var t = this; if (this[P("0x172")] && 0 != this[P("0x172")].length) { 1 == this[P("0xd3")] && (this._scene[P("0xa3")].depthTestAgainstTerrain = !0); for (var i = [], r = 0; r < this._array_.length; r++) { var n = e[P("0x13")][P("0x175")](this[P("0x172")][r]), o = e[P("0x23")][P("0x113")](n[P("0x112")]), a = e[P("0x23")].toDegrees(n[P("0x114")]); i[P("0x17c")]([o, a]); } i[P("0x17c")](i[0]); var s = turf[P("0x33e")](i), x = turf.bbox(s), l = turf[P("0x33f")](x), c = (turf[P("0x2d9")](l), this._samplingPointsNumber), u = turf[P("0x340")](2 * c, { bbox: x }), h = turf.polygon([i]); for (r = 0; r < u[P("0x33a")][P("0x0")]; r++) { var f = turf[P("0x2ec")](u[P("0x33a")][r].geometry[P("0x2ed")]); turf[P("0x341")](f, h) || (u[P("0x33a")][P("0x259")](r, 1), r--); } var d = [], g = this[P("0x172")].concat(this[P("0x172")][0]); for (r = 0; r < g[P("0x0")] - 1; r++) { for (var p = 1; p < Math[P("0x342")](c / 10); p++) { var m = new e[P("0x11")](0, 0, 0); m = e[P("0x11")].lerp(g[r], g[r + 1], p * (1 / Math[P("0x342")](c / 10)), m), d[P("0x17c")](m); } } var b = this[P("0x172")].concat(d), v = [], C = []; for (r = 0; r < b[P("0x0")]; r++) { var y = this._ellipsoid.cartesianToCartographic(b[r])[P("0x112")], _ = this._ellipsoid[P("0xd6")](b[r]).latitude; v[P("0x17c")](new e.Cartographic(y, _)), C[P("0x17c")]([y, _]); } for (r = 0; r < u[P("0x33a")][P("0x0")]; r++) { var A = e[P("0x23")][P("0x119")](u[P("0x33a")][r].geometry[P("0x2ed")][0]), I = e[P("0x23")][P("0x119")](u[P("0x33a")][r][P("0x180")][P("0x2ed")][1]); v.push(new e[P("0x13")](A, I)); } var w = {}; return w[P("0x33a")] = [], this[P("0x42")].sampleHeightMostDetailed(v)[P("0x333")](function (i) { var r = []; w[P("0x165")] = P("0x343"); for (var n = 0; n < i[P("0x0")]; n++) { i[n][P("0x8b")] && (r.push(i[n][P("0x8b")]), w[P("0x33a")][P("0x17c")]({ type: P("0x344"), geometry: { coordinates: [e[P("0x23")][P("0x113")](i[n][P("0x112")]), e[P("0x23")][P("0x113")](i[n][P("0x114")])], type: P("0x345") }, properties: { z: i[n][P("0x8b")] } })); } t[P("0x32e")] = Math[P("0x7d")][P("0x346")](null, r), t[P("0x32f")] = Math[P("0xee")][P("0x346")](null, r), t[P("0x326")] = t[P("0x32e")], t[P("0x339")] = w; var o = turf.tin(w, "z"); return t[P("0x32d")] = o, t[P("0x347")](); }); } }, t[P("0x5")].getVolume = function () { for (var e = this[P("0x32d")], t = 0, o = 0, a = this._designElevation, s = 0; s < e[P("0x33a")].length; s++) { var x = e.features[s][P("0x33d")].a - a, l = e[P("0x33a")][s][P("0x33d")].b - a, c = e[P("0x33a")][s][P("0x33d")].c - a, u = [], h = []; if (x * l < 0 || x * c < 0 || l * c < 0) { if (x * l < 0) { var f = n(x, l, e[P("0x33a")][s], 0, 1, "a", "b", e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].b); u[P("0x17c")](f[P("0x348")]), h[P("0x17c")](f[P("0x349")][0], f.vertexSerial[1]); } var d; x * c < 0 && (f = n(x, c, e[P("0x33a")][s], 0, 2, "a", "c", e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].c), u[P("0x17c")](f[P("0x348")]), h.push(f[P("0x349")][0], f[P("0x349")][1])), l * c < 0 && (f = n(l, c, e[P("0x33a")][s], 1, 2, "b", "c", e[P("0x33a")][s].properties.b, e.features[s][P("0x33d")].c), u[P("0x17c")](f[P("0x348")]), h[P("0x17c")](f[P("0x349")][0], f[P("0x349")][1])), i("a", h) && (t += (d = r(e[P("0x33a")][s], u, [0, 1, 2], e[P("0x33a")][s][P("0x33d")].a, e[P("0x33a")][s][P("0x33d")].b, e[P("0x33a")][s][P("0x33d")].c, a))[P("0x34a")], o += d[P("0x34b")]), i("b", h) && (t += (d = r(e[P("0x33a")][s], u, [1, 0, 2], e.features[s][P("0x33d")].b, e[P("0x33a")][s][P("0x33d")].a, e.features[s].properties.c, a))[P("0x34a")], o += d[P("0x34b")]), i("c", h) && (t += (d = r(e[P("0x33a")][s], u, [2, 0, 1], e[P("0x33a")][s].properties.c, e.features[s].properties.a, e[P("0x33a")][s].properties.b, a))[P("0x34a")], o += d.excavationArea); } else { var g = 1 / 3 * [a - e[P("0x33a")][s].properties.a + (a - e[P("0x33a")][s][P("0x33d")].b) + (a - e[P("0x33a")][s][P("0x33d")].c)]; if (g < 0) { var p = turf.polygon([e.features[s][P("0x180")][P("0x2ed")][0]]), m = turf.area(p); t += m * -g, o += m; } } } var b = { volume: Number(t[P("0x2af")](3)), baseArea: Number(o[P("0x2af")](3)) }; return new C.a(function (e) { e(b); }); }, t.prototype[P("0x2d2")] = function () { var t = this; this[P("0x16f")] || (this[P("0x16f")] = new e[P("0x15f")](this[P("0x318")]), this.handler[P("0x160")](function (i) { var r = t._viewer[P("0x10f")][P("0xa4")](i[P("0x8c")]); if (r) if (r[P("0x2fc")] && r.collection[P("0x2cc")] && -1 < r[P("0x2fc")][P("0x2cc")][P("0x2d3")](P("0x325"))) { var n = function (e, t) { for (var i = 0; i < t[P("0x0")]; i++) { if (t[i].tag == e) return t[i][P("0x182")]; } }(r[P("0x2fc")][P("0x2cc")], t[P("0x32b")]); n[P("0x354")](r[P("0x2fc")][P("0x2cc")])[P("0x169")] = e[P("0x184")].toValue(e.Color[P("0x2d5")].withAlpha(0.5)); for (var o = 0; o < r[P("0x2fc")][P("0x355")][P("0x0")]; o++) { r[P("0x2fc")][P("0x355")][o][P("0x19c")].uniforms.color = e[P("0x16a")][P("0x2d5")]; } t._pickedClassificationPrimitives.push(n), t[P("0x2cb")][P("0x17c")](r.collection[P("0x2cc")]); } else r.id && -1 < r.id[P("0x2d3")](P("0x325")) && (r.primitive[P("0x354")](r.id)[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](e[P("0x16a")][P("0x2d5")].withAlpha(0.5)), t[P("0x32c")].push(r), t[P("0x2cb")][P("0x17c")](r.id)); }, e.ScreenSpaceEventType.LEFT_CLICK)); }, t.prototype[P("0x2d6")] = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](); for (var e = 0; e < this._pickedClassificationPrimitives[P("0x0")]; e++) { a(this[P("0x2cb")][e], this[P("0x306")]), o(this[P("0x2cb")][e], this[P("0x13c")][P("0x194")]), s(this[P("0x2cb")][e], this._classificationPrimitives, this[P("0x306")]); } }, t[P("0x5")][P("0x357")] = function (t) { var i = this; if (t) (this[P("0x326")] = t) > this[P("0x32f")] && (this[P("0x326")] = this[P("0x32f")]), t < this._minHeight && (this[P("0x326")] = this._minHeight), this[P("0x358")](), this[P("0x347")]()[P("0x333")](function (e) { var t, r, n = e[P("0x34e")], o = e.volume; return r = n < 1e6 ? (t = P("0x350") + n.toFixed(2) + "m²", "体积:" + o[P("0x2af")](2) + "m³") : (t = P("0x350") + (n / 1e6)[P("0x2af")](2) + P("0x2da"), P("0x359") + (o / 1e9)[P("0x2af")](2) + P("0x351")), i[P("0x352")].get(i._resultLabels.length - 1)[P("0x31b")] = r + "\n" + t, e; });else { if (this.handler) return; this[P("0x16f")] = new e[P("0x15f")](this[P("0x318")]), this[P("0x13c")][P("0x48")][P("0x150")].cursor = P("0x171"), this[P("0x16f")][P("0x160")](function (t) { if (1 == i.mode) var r = i._camera[P("0x86")](t[P("0x8c")]), n = i[P("0x42")][P("0xa3")][P("0xa4")](r, i[P("0x42")]);else n = i[P("0x42")].pickPosition(t[P("0x8c")]); if (n) { var o = e[P("0x13")][P("0x175")](n)[P("0x8b")]; (i[P("0x326")] = o) > i._maxHeight && (i._designElevation = i[P("0x32f")]), o < i[P("0x32e")] && (i[P("0x326")] = i._minHeight), i[P("0x16f")] = i[P("0x16f")] && i[P("0x16f")][P("0xf4")](), i[P("0x13c")].canvas[P("0x150")].cursor = P("0x18c"), i[P("0x358")](), i[P("0x35a")](), i[P("0x347")]()[P("0x333")](function (e) { var t, r, n = e[P("0x34e")], o = e.volume; return r = n < 1e6 ? (t = P("0x350") + n.toFixed(2) + "m²", "体积:" + o[P("0x2af")](2) + "m³") : (t = P("0x350") + (n / 1e6)[P("0x2af")](2) + P("0x2da"), "体积:" + (o / 1e9)[P("0x2af")](2) + "km³"), i._resultLabels[P("0x187")](i[P("0x352")][P("0x0")] - 1)[P("0x31b")] = r + "\n" + t, e; }); } }, e.ScreenSpaceEventType[P("0x17e")]); } }, t[P("0x5")].updateClassificationPrimitive = function () { this[P("0x306")][P("0x17f")](this[P("0x337")]); var t = new e[P("0x179")]({ geometry: e[P("0x1af")][P("0x231")]({ positions: this._array_, height: this[P("0x326")], extrudedHeight: 1e5, vertexFormat: e[P("0x1b0")][P("0x1b1")] }), attributes: { color: e[P("0x184")][P("0x1b2")](e[P("0x16a")][P("0x310")][P("0x16c")](0.5)) }, id: P("0x330") + this[P("0x1a9")] }); this[P("0x337")] = new e[P("0x35b")]({ geometryInstances: t, classificationType: e[P("0x17a")].BOTH }), this._classificationPrimitives[P("0x17c")]({ tag: "MeasureVolumeWidget_" + this.count, primitive: this._classificationPrimitive }), this[P("0x306")].add(this._classificationPrimitive); }, t[P("0x5")][P("0x35a")] = function () { !function (e, t, i) { for (var r = 0; r < i.length; r++) { i[P("0x187")](r)[P("0x2cc")] == e && i[P("0x187")](r).name == t && (i[P("0x17f")](i.get(r)), r--); } }("MeasureVolumeWidget_" + this[P("0x1a9")], P("0x33c"), this[P("0x306")]), function (e, t, i) { for (var r = i.values, n = 0; n < r.length; n++) { r[n][P("0x2cc")] == e && r[n][P("0x176")] == t && (i[P("0x17f")](r[n]), n--); } }(P("0x330") + this[P("0x1a9")], P("0x35c"), this._viewer.entities); var t = this._interpolationPoints.features, i = [], r = []; this[P("0x33b")] = this._primitives.add(new e.PolylineCollection()), this[P("0x33b")].name = P("0x33c"), this[P("0x33b")][P("0x2cc")] = P("0x330") + this[P("0x1a9")]; for (var n = 0; n < t.length; n++) { if (!(t[n].properties.z < this._designElevation)) { var o = [t[n][P("0x180")][P("0x2ed")][0], t[n][P("0x180")].coordinates[1], t[n][P("0x33d")].z], a = [t[n][P("0x180")].coordinates[0], t[n][P("0x180")][P("0x2ed")][1], this[P("0x326")]], s = [t[n][P("0x180")][P("0x2ed")][0], t[n].geometry.coordinates[1], this[P("0x32f")]], x = o[P("0x1c6")](a), l = o[P("0x1c6")](s); r[P("0x17c")](turf[P("0x2ec")]([t[n][P("0x180")].coordinates[0], t[n][P("0x180")][P("0x2ed")][1]], { z: t[n][P("0x33d")].z })), i[P("0x17c")](t[n][P("0x180")][P("0x2ed")][0], t[n][P("0x180")][P("0x2ed")][1], this[P("0x326")]), this[P("0x33b")][P("0x6d")]({ positions: e.Cartesian3[P("0x19e")](x), material: e[P("0x212")][P("0x213")](P("0x16a"), { color: new e.Color(1, 0, 0, 1) }) }), this[P("0x33b")][P("0x6d")]({ positions: e[P("0x11")][P("0x19e")](l), material: e[P("0x212")].fromType(P("0x16a"), { color: new e[P("0x16a")](0, 1, 0, 0.5) }) }); } } var c = turf.featureCollection(r), u = (P("0x35d"), turf[P("0x35e")](c)), h = []; for (n = 0; n < u[P("0x180")][P("0x2ed")][0][P("0x0")]; n++) { h[P("0x17c")](u[P("0x180")].coordinates[0][n][0], u.geometry[P("0x2ed")][0][n][1]); } this._designPolygonEntity = this._viewer[P("0x194")].add({ name: P("0x35c"), tag: P("0x330") + this[P("0x1a9")], polygon: { hierarchy: { positions: e[P("0x11")][P("0x1da")](h) }, material: e[P("0x16a")][P("0x338")].withAlpha(0.3), perPositionHeight: !1, height: this[P("0x326")] } }); }, t.prototype.clear = function () { this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(), this[P("0x13c")][P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), function (e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t.get(i).name && -1 < t.get(i).name.indexOf(e) && (t[P("0x17f")](t[P("0x187")](i)), i--); } }(P("0x325"), this[P("0x306")]), function (e, t) { for (var i = t[P("0x190")], r = 0; r < i.length; r++) { i[r][P("0x176")] && -1 < i[r][P("0x176")][P("0x2d3")](e) && (t[P("0x17f")](i[r]), r--); } }(P("0x325"), this._viewer[P("0x194")]), function () { for (var e = 0; e < this[P("0x32b")][P("0x0")]; e++) { this._primitives[P("0x17f")](this[P("0x32b")][e][P("0x182")]); } }.call(this); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x102")], i = e.GeoClipping = function (i) { i = t(i, e[P("0x102")][P("0x128")]), this[P("0x35f")] = t(i[P("0x35f")], 64), this[P("0x360")] = t(i.edgeWidth, 2), this[P("0x361")] = t(i[P("0x361")], e[P("0x16a")][P("0x2cf")]), this[P("0x362")] = t(i[P("0x362")], 50), this[P("0x363")] = t(i.clippingModeUnion, !0), this[P("0x364")] = t(i.enabled, !0), this[P("0x365")] = void 0, this[P("0x366")] = void 0; }; i[P("0x5")][P("0x367")] = function (t) { t = e[P("0x14")](t) ? t : this.steps; for (var i = e.Math[P("0xab")] / t, r = [], n = 0; n < t; n++) { var o = n * i, a = new e[P("0x11")](); a.x = 1, a.y = Math.tan(o), o > e.Math.PI_OVER_TWO && (a.x = -1, a.y *= -1), o > e.Math.PI && (a.x = -1), o > 3 * e[P("0x23")][P("0x5b")] && (a.x = 1, a.y = -a.y), e[P("0x11")][P("0x8d")](a, a); var s = new e[P("0x368")](a, this.cylinderRadius); r[P("0x17c")](s); } return this[P("0x365")] = r; }, i[P("0x5")][P("0x369")] = function (t, i) { for (var r = new e[P("0x36a")]({ modelMatrix: e[P("0x14")](t) ? t : e[P("0x1b")][P("0xae")], edgeWidth: this[P("0x360")], edgeColor: this[P("0x361")], unionClippingRegions: this[P("0x363")], enabled: this[P("0x364")] }), n = this[P("0x367")](i), o = 0; o < n[P("0x0")]; o++) { r[P("0x6d")](n[o]); } return this[P("0x366")] = r; }; }(window[P("0xfd")]), function (e) { var t = e[P("0x36b")] = function (e, t) { this.viewer = e.viewer, this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x48")] = this[P("0x10f")][P("0x48")], this[P("0x17d")] = this.scene[P("0x17d")], this[P("0x36c")] = null, this[P("0x36d")] = null, this[P("0x36e")] = null, this[P("0x180")] = null, this.appearance = null, this[P("0x191")] = t || null; }; t[P("0x5")][P("0x36f")] = function (e, t, i) { return this[P("0x182")] && this[P("0x192")](), this[P("0x182")] = this[P("0x370")](e, t, i), this.primitive; }, t[P("0x5")][P("0x370")] = function (t, i, r) { var n, o, a, s, x, l; if (t && i && !(i && i.length < 3)) return this.fragmentShader = (n = e[P("0x373")], o = Number[P("0x374")](n), P("0x375") + (1.68 <= o ? P("0x376") : "") + ");\n\t\t\t\t\t\tgl_FragColor.a = 1.0;\n\t\t\t\t\t#endif\n\t\t\t\t\t}\n\t\t\t "), this[P("0x36e")] = t, this[P("0x180")] = (a = i, s = r, new e[P("0x1af")]({ polygonHierarchy: new e[P("0x372")](e[P("0x11")][P("0x19e")](a)), extrudedHeight: s || 0, perPositionHeight: !1, closeTop: !0, closeBottom: !0, vertexFormat: e[P("0x1b0")].VERTEXT_FORMAT })), this.appearance || (this[P("0x16d")] = (x = this[P("0x36d")], l = this[P("0x36e")], new e[P("0x1b0")]({ material: new e.Material({ translucent: !1, fabric: { type: P("0x371"), uniforms: { normalMap: l, frequency: 90, animationSpeed: 0.03, amplitude: 90, specularIntensity: 5 } } }), fragmentShaderSource: x }))), this[P("0x17d")][P("0x6d")](new e[P("0x226")]({ allowPicking: !0, geometryInstances: new e.GeometryInstance({ geometry: this[P("0x180")], id: "GEOFlood_ID" }), vertexCacheOptimize: !0, appearance: this[P("0x16d")], interleave: !0, asynchronous: !1, cull: !1, releaseGeometryInstances: !0, show: !0 })); }, t[P("0x5")][P("0x192")] = function () { this[P("0x48")].style[P("0x170")] = P("0x18c"), this[P("0x182")] && this.primitives[P("0x17f")](this.primitive); }, t[P("0x5")].clearPrimitive = function (e) { e && this[P("0x17d")][P("0x17f")](e); }, t.prototype[P("0xf4")] = function () { this.clear(), this[P("0x13b")] = void 0, this[P("0x10f")] = void 0, this[P("0x48")] = void 0, this[P("0x17d")] = void 0, this[P("0x191")] = void 0; }; }(window[P("0xfd")]), function (e) { var t = e[P("0x102")], i = e[P("0x377")] = function (i, r) { i = t(i, e.defaultValue[P("0x128")]), this[P("0x13b")] = i.viewer, this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x194")] = this[P("0x13b")].entities, this[P("0x378")] = void 0, this[P("0x379")] = void 0; }; i.prototype.analysis = function (i) { i = t(i, e[P("0x102")][P("0x128")]), this[P("0x37a")] = t(i[P("0x37a")], 0); var r = i[P("0x37b")], n = i[P("0x37c")], o = i[P("0x37d")]; r && this[P("0x37e")](r), n && this[P("0x37f")](n), o && this[P("0x380")](o); }, i[P("0x5")][P("0x37e")] = function (i) { return this[P("0x381")](), i = t(i, e[P("0x102")][P("0x128")]), this[P("0x378")] = this[P("0x194")][P("0x6d")]({ position: t(i[P("0x382")], new e[P("0x10")](0, 0, 0)), label: { text: t(i[P("0x383")], ""), pixelOffset: t(i[P("0x384")], new e[P("0x10")](0, -60)), fillColor: t(i[P("0x385")], new e[P("0x16a")](0, 0, 1, 1)), font: t(i[P("0x386")], P("0x387")), outlineColor: t(i.labelOutlineColor, new e[P("0x16a")](0, 0, 1, 1)), outlineWidth: t(i[P("0x388")], 1.8), style: e[P("0x102")](i[P("0x389")], e.LabelStyle[P("0x2de")]), show: t(i.labelShow, !0), disableDepthTestDistance: Number.POSITIVE_INFINITY } }), !0; }, i[P("0x5")][P("0x37f")] = function (i) { return this.clearPolygonPlaneEntity(), i = t(i, e.defaultValue[P("0x128")]), this.polygonPlaneEntity = this.entities[P("0x6d")]({ polygon: { hierarchy: t(i.polygonPlaneHierarchy, new e[P("0x11")](0, 0, 0)), perPositionHeight: t(i[P("0x38a")], !1), height: t(i[P("0x38b")], this[P("0x37a")]), material: t(i[P("0x38c")], e[P("0x16a")][P("0x2d5")][P("0x16c")](0.3)), outline: t(i[P("0x38d")], !0), outlineColor: t(i.polygonPlaneOutlineColor, e[P("0x16a")][P("0x2cf")]), show: t(i[P("0x38e")], !0) } }), !0; }, i[P("0x5")][P("0x380")] = function (i) { this[P("0x38f")](); var r = (i = t(i, e[P("0x102")].EMPTY_OBJECT))[P("0x390")]; if (!r || 0 == r[P("0x0")]) return console[P("0x391")](P("0x392")), !1; var n, o, a, s, x = (n = r, o = t(i[P("0x393")], this[P("0x37a")]), a = t(i[P("0x394")], 1e4), s = t(i[P("0x395")], new e.Color(1, 0, 0, 0.5)), new e.GeometryInstance({ geometry: new e[P("0x1af")]({ polygonHierarchy: new e[P("0x372")](e.Cartesian3[P("0x1da")](n)), height: o, extrudedHeight: a }), attributes: { color: e[P("0x184")][P("0x1b2")](s) } })), l = new e[P("0x16e")]({ flat: !0 }), c = new e[P("0x35b")]({ geometryInstances: [x], appearance: l, classificationType: e.ClassificationType.CESIUM_3D_TILE }); return this.polygonFitPrimitive = this[P("0x10f")][P("0x17d")][P("0x6d")](c), !0; }, i[P("0x5")][P("0x381")] = function () { this[P("0x378")] && this[P("0x194")][P("0xd1")](this.labelEntity) && (this[P("0x194")][P("0x17f")](this[P("0x378")]), this[P("0x378")] = void 0); }, i[P("0x5")].clearPolygonPlaneEntity = function () { this[P("0x379")] && this[P("0x194")][P("0xd1")](this[P("0x379")]) && (this[P("0x194")].remove(this[P("0x379")]), this.polygonPlaneEntity = void 0); }, i.prototype[P("0x38f")] = function () { this[P("0x396")] && this[P("0x10f")][P("0x17d")][P("0xd1")](this[P("0x396")]) && (this[P("0x10f")][P("0x17d")][P("0x17f")](this[P("0x396")]), this[P("0x396")] = void 0); }, i[P("0x5")][P("0x397")] = function () { this[P("0x381")](), this[P("0x398")](), this[P("0x38f")](); }; }(window.Cesium), function (e) { var t = "GeoPLSViewShed3D_TIP", i = P("0x399"), r = P("0x39a"), n = P("0x39b"), o = "GeoPLSViewShed3D_DSP", a = P("0x39c"), s = e[P("0x39d")] = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this.canvas = this.scene[P("0x48")], this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0x39e")] = this[P("0x10f")].groundPrimitives, this[P("0x191")] = i || null, this[P("0x39f")] = e[P("0x102")](t.pointLightHeight, 0.2), this[P("0x3a0")] = e[P("0x102")](t[P("0x3a1")], 5), this[P("0x3a2")] = e.defaultValue(t[P("0x3a3")], e[P("0x16a")][P("0x2d5")]), this[P("0x3a4")] = e.defaultValue(t[P("0x3a5")], 4), this[P("0x3a6")] = e[P("0x102")](t[P("0x3a7")], e[P("0x16a")][P("0x2d5")]), this[P("0x3a8")] = e[P("0x102")](t[P("0x3a9")], 8), this[P("0x3aa")] = e[P("0x102")](t[P("0x3ab")], new e[P("0x16a")](1, 1, 0, 0.5)), this._baseDEMLerpCfg = e.defaultValue(t[P("0x3ac")], {}), this[P("0x3ad")] = e[P("0x102")](t[P("0x3ae")], !0), this[P("0x3af")] = void 0, b()(e[P("0x373")]) < 1.5 && console.error(P("0x3b0") + e.VERSION + P("0x3b1")); }; function x(t, i, r, n, o, a) { for (var s = [], x = [], l = p()(t[P("0x3ca")] / r), c = 0; c < l; c++) { var h = { longitude: i[0], latitude: i[1], height: i[2] }, f = { longitude: i[3], latitude: i[4], height: i[5] }, d = e[P("0x23")].lerp(h[P("0x112")], f[P("0x112")], 1 / l * (c + 1)), g = e[P("0x23")][P("0x308")](h[P("0x114")], f[P("0x114")], 1 / l * (c + 1)), m = { longitude: d, latitude: g }, b = t.scene[P("0xa3")].getHeight(m), v = e[P("0x11")][P("0x3d0")](d, g, b); s[P("0x17c")](v); var C = { longitude: i[0], latitude: i[1], height: b }, y = e.Cartographic[P("0x3d1")](C), _ = e[P("0x11")].distance(y, v), A = (b - i[2]) / _; x.push(A); } for (var I = [], w = [], G = [], E = [0], S = 0; S < x[P("0x0")] - 1; S++) { I[P("0x0")] || x[S + 1] < x[S] && (I.push(x[S]), w[P("0x17c")](S)), I.length && (x[S] > I[I[P("0x0")] - 1] && x[S + 1] < x[S] && (I[P("0x17c")](x[S]), w[P("0x17c")](S)), x[S] > I[I[P("0x0")] - 1] && x[S - 1] < I[I[P("0x0")] - 1] && (G[P("0x17c")](x[S]), E[P("0x17c")](S))); } w.push(x[P("0x0")] - 1); var T = w[P("0x1c6")](E); T[P("0x3d2")](function (e, t) { return e - t; }); for (var M = [], N = 0; N < T[P("0x0")] - 1; N++) { var L = [s[T[N]], s[T[N + 1]]]; M = N % 2 == 0 ? M.concat(u(L, a, n, !0)) : M[P("0x1c6")](u(L, a, o, !0)); } return M; } function l(t, i, r) { var n = t.scene.pickPosition(i); if (n) { var o = e[P("0x13")][P("0x175")](n); if (o.height < 0) { t.scene[P("0xa3")].depthTestAgainstTerrain = !0, t[P("0x13b")][P("0x3d3")] = e[P("0x3d4")][P("0x3d5")]; var a = t.scene[P("0x7e")][P("0x86")](i), s = t[P("0x10f")][P("0xa3")][P("0xa4")](a, t[P("0x10f")]); o = e[P("0x13")].fromCartesian(s); } r = r || 0; var x = e[P("0x11")][P("0x3d0")](o.longitude, o[P("0x114")], o.height + r), l = e.Cartographic[P("0x175")](x); return [e[P("0x23")].toDegrees(l.longitude), e[P("0x23")][P("0x113")](l.latitude), l[P("0x8b")]]; } } function c(t, i, r, n) { var o = t.add(new e[P("0x1a5")]()); return o.add({ text: i, font: P("0x1a0"), showBackground: !0, position: r, pixelOffset: new e[P("0x10")](10, -30), style: e[P("0x323")][P("0x2de")] }), o.name = n, o; } function u(t, i, r, n) { var o = [], a = n ? t : e[P("0x11")][P("0x1da")](t), s = new e.GeometryInstance({ geometry: new e[P("0x3d6")]({ positions: a, width: i }), attributes: { color: e.ColorGeometryInstanceAttribute[P("0x1b2")](r) } }); return o.push(s), o; } function h(t, i, r) { var n = t.add(new e[P("0x3d7")]({ geometryInstances: i, appearance: new e.PolylineColorAppearance({ translucent: !0 }) })); return n[P("0x176")] = r, n; } function f(e, t, i) { for (var r = 0; r < e[P("0x0")]; r++) { e[P("0x176")] == i && (t[P("0x8c")] && (e[P("0x187")](r)[P("0x8c")] = t[P("0x8c")]), t[P("0x31b")] && (e[P("0x187")](r).text = t[P("0x31b")]), void 0 !== t[P("0x3d8")] && (e.get(r).showBackground = t.showBackground), t.backgroundColor && (e[P("0x187")](r).backgroundColor = t[P("0x3d9")]), void 0 !== t[P("0x3da")] && (e[P("0x187")](r)[P("0x3da")] = t[P("0x3da")]), void 0 !== t[P("0x3db")] && (e[P("0x187")](r)[P("0x3db")] = t[P("0x3db")]), t[P("0x3dc")] && (e[P("0x187")](r)[P("0x3dc")] = t[P("0x3dc")]), t[P("0x3dd")] && (e[P("0x187")](r)[P("0x3dd")] = t.fillColor), t[P("0x3de")] && (e[P("0x187")](r)[P("0x3de")] = t[P("0x3de")]), t.outlineColor && (e.get(r).outlineColor = t[P("0x3df")])); } } function d(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t.get(i).name == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } s[P("0x5")][P("0x198")] = function () { this.clear(), this.canvas[P("0x150")].cursor = P("0x171"); var s = null, g = null, p = null, m = null, b = !0, v = null, C = null, y = this; this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x16f")].setInputAction(function (n) { if (b) { v = l(y, n[P("0x8c")], y._pointLightHeight), C = e.Cartesian3[P("0x1a1")](v[0], v[1], v[2]), d(t, y.primitives), b = !1, y[P("0x3b2")] = b, s = null, d(i, y[P("0x17d")]); var o = y[P("0x17d")][P("0x6d")](new e[P("0x1a4")]()); o[P("0x176")] = i, o.add({ position: C, color: y[P("0x3a2")], pixelSize: y._pointLightPixelSize }); } else if (y[P("0x10f")].globe[P("0x32a")] = !1, y[P("0x10f")][P("0x3b3")][P("0x3b4")] = !0, y[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), y[P("0x16f")] && !y.handler[P("0xf3")]() && y[P("0x16f")][P("0xf4")](), d(t, y[P("0x17d")]), b = !0, y.firstLeftClick = b, s = null, y[P("0x3b5")][P("0x3b6")]) if (y[P("0x3ad")]) y[P("0x3b7")] = e[P("0x102")](y[P("0x3b5")][P("0x3b7")], 1), y[P("0x3b8")] = e.defaultValue(y[P("0x3b5")][P("0x3b8")], 100), y[P("0x3b9")] = 0, setTimeout(function () { !function t(i) { if (i[P("0x3b9")] % (2 * i[P("0x3b7")]) == 0) { var n = { longitude: i[P("0x3ba")][i[P("0x3b9")]], latitude: i[P("0x3ba")][i.num + 1] }, o = i[P("0x10f")][P("0xa3")].getHeight(n), a = [i[P("0x3bb")], i[P("0x3bc")], i[P("0x3bd")], n.longitude, n[P("0x114")], o], s = e[P("0x102")](i[P("0x3b5")][P("0x3be")], 10), l = e[P("0x102")](i[P("0x3b5")][P("0x3bf")], new e[P("0x16a")](0, 1, 0, 0.8)), c = e.defaultValue(i[P("0x3b5")][P("0x3c0")], new e[P("0x16a")](1, 0, 0, 0.8)), u = e.defaultValue(i[P("0x3b5")][P("0x197")], 5), f = x(i, a, s, l, c, u); h(i[P("0x10f")][P("0x39e")], f, r); } i.num += 2 * i[P("0x3b7")], i[P("0x3b9")] < 720 && setTimeout(function () { t(i); }, i.timeInterval); }(y); }, y.timeInterval);else { for (var a = [], c = 0; c < y.boundaryPositionArr[P("0x0")]; c++) { if (c % 2 == 0) { var u = { longitude: y.boundaryPositionArr[c], latitude: y[P("0x3ba")][c + 1] }, f = y[P("0x10f")].globe[P("0xed")](u), g = [y[P("0x3bb")], y[P("0x3bc")], y[P("0x3bd")], u[P("0x112")], u[P("0x114")], f], p = e[P("0x102")](y[P("0x3b5")][P("0x3be")], 10), m = e[P("0x102")](y[P("0x3b5")][P("0x3bf")], new e[P("0x16a")](0, 1, 0, 0.8)), _ = e.defaultValue(y[P("0x3b5")][P("0x3c0")], new e[P("0x16a")](1, 0, 0, 0.8)), A = e[P("0x102")](y[P("0x3b5")][P("0x197")], 5); x(y, g, p, m, _, A), a = a[P("0x1c6")](radiusLineInstance); } } h(y[P("0x10f")][P("0x39e")], a, r); } }, e[P("0x161")].LEFT_CLICK), this[P("0x16f")][P("0x160")](function (i) { var x, v, _, A, I, w, G, E, S, T; if (y.tipPosition = y.scene.pickPosition(i[P("0x64")]), y.tipPosition && (b && (s ? f(s, { position: y[P("0x3c2")] }, t) : s = c(y[P("0x17d")], P("0x3c1"), y[P("0x3c2")], t)), !b)) { s ? f(s, { position: y[P("0x3c2")] }, t) : s = c(y[P("0x17d")], P("0x3c3"), y[P("0x3c2")], t); var M = l(y, i[P("0x64")]), N = e[P("0x11")][P("0x1a1")](M[0], M[1], M[2]); if (m = e[P("0x11")][P("0x8e")](C, N), d(r, y[P("0x39e")]), d(a, y[P("0x39e")]), m) { var L = e.Math[P("0x113")](e[P("0x13")][P("0x175")](C)[P("0x112")]), R = e.Math.toDegrees(e[P("0x13")][P("0x175")](C)[P("0x114")]), O = e[P("0x13")][P("0x175")](C).height, F = function (e, t, i) { for (var r = [], n = 0; n <= 360; n++) { var o = i * Math[P("0x98")](n * Math.PI / 180), a = i * Math.cos(n * Math.PI / 180), s = 6356725 + 21412 * (90 - t) / 90, x = e + o / (s * Math[P("0x9a")](t * Math.PI / 180)) * 180 / Math.PI, l = t + a / s * 180 / Math.PI; r.push(x), r[P("0x17c")](l); } return r; }(L, R, m), D = u(F, y[P("0x3a4")], y[P("0x3a6")]), U = (h(y[P("0x39e")], D, r), [L, R, F[0], F[1]]), k = (I = y.groundPrimitives, w = U, G = y._orientLineWidth, E = y[P("0x3aa")], S = a, T = new e[P("0x179")]({ geometry: new e[P("0x3d6")]({ positions: e[P("0x11")][P("0x1da")](w), width: G }) }), I[P("0x6d")](new e[P("0x3d7")]({ geometryInstances: T, appearance: new e[P("0x215")]({ material: new e.Material({ fabric: { type: P("0x31e"), uniforms: { color: E } } }) }) })).name = S, [L, R, O, L, R, O + m / 3]), B = e[P("0x16a")][P("0x3c4")](e[P("0x16a")][P("0x2d5")], 0.7); p ? p[P("0x2eb")][P("0x19f")] = e[P("0x11")][P("0x19e")](k) : (x = y[P("0x13b")][P("0x194")], v = k, 2, _ = B, A = n, p = x[P("0x6d")]({ name: A, polyline: { positions: e[P("0x11")][P("0x19e")](v), width: 2, material: new e[P("0x2e9")]({ color: _, dashLength: 5 }) } })); var W = e[P("0x11")][P("0x1a1")](L, R, O + m / 3), j = P("0x3c5") + y._pointLightHeight[P("0x2af")](2) + "米\n" + P("0x3c6") + m[P("0x2af")](4) + "米\n" + P("0x2f9") + L[P("0x2af")](6) + "度\n" + P("0x2fa") + R[P("0x2af")](6) + "度", V = { position: W, text: j, showBackground: !0, backgroundColor: e[P("0x16a")][P("0x3c4")](e[P("0x16a")][P("0x2cf")], 0.8), horizontalOrigin: e[P("0x24b")][P("0x24c")], verticalOrigin: e.VerticalOrigin[P("0x3c7")], pixelOffset: new e.Cartesian2(0, 0), fillColor: e[P("0x16a")].BLACK }; if (f(g || (g = c(y[P("0x17d")], j, W, o)), V, o), y[P("0x3b5")].enable || y[P("0x3c8")](C, m), y[P("0x3c9")] = C, y[P("0x3ca")] = m, y[P("0x3b2")] = b, y[P("0x3b5")][P("0x3b6")]) { y.startPointLng = e[P("0x23")][P("0x119")](L), y[P("0x3bc")] = e[P("0x23")][P("0x119")](R), y[P("0x3bd")] = O, y[P("0x3ba")] = []; for (var z = 0; z < F[P("0x0")]; z++) { y[P("0x3ba")].push(e[P("0x23")].toRadians(F[z])); } y.realTimeRadius = m; } } } }, e[P("0x161")][P("0x163")]); }, s.prototype[P("0x3c8")] = function (t, i) { var r, n; t && i && (null == this._pointLightCamera ? (this[P("0x3af")] = new e[P("0x3cb")](this[P("0x10f")]), this[P("0x3af")][P("0x8c")] = t, r = { context: this[P("0x10f")][P("0x3cc")], lightCamera: this._pointLightCamera, isPointLight: !0 }, this[P("0x10f")][P("0x3b3")].destroy(), this[P("0x10f")][P("0x3b3")] = new e.ShadowMap(r), (n = this.scene[P("0x3b3")])[P("0x3cd")] = 1024, n[P("0x3ce")] = i, n._terrainBias[P("0x3cf")] = 0, n[P("0x364")] = !0, n[P("0x3b4")] = !0) : (n = this[P("0x10f")][P("0x3b3")])[P("0x3ce")] = i); }, s[P("0x5")][P("0x192")] = function () { this[P("0x3b5")][P("0x3b6")] && (this.num = 721), this[P("0x10f")][P("0xa3")][P("0x32a")] = !1, this.scene[P("0x3b3")][P("0x364")] = !1, this[P("0x10f")][P("0x3b3")].enableGeoPLSViewShed3D = void 0, this[P("0x48")].style.cursor = P("0x18c"), this[P("0x3af")] = void 0, this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](), d(t, this[P("0x17d")]), d(o, this[P("0x17d")]), d(i, this[P("0x17d")]), d(r, this[P("0x39e")]), d(a, this[P("0x39e")]), function (e, t) { for (var i = 0; i < t.values[P("0x0")]; i++) { t[P("0x190")][i][P("0x176")] == e && (t[P("0x17f")](t[P("0x190")][i]), i--); } }(n, this[P("0x13b")].entities); }, s[P("0x5")][P("0xf4")] = function () { this[P("0x192")](), this.viewer = void 0, this._pointLightHeight = void 0, this.scene = void 0, this[P("0x48")] = void 0, this[P("0x17d")] = void 0, this[P("0x191")] = void 0, this[P("0x3af")] = void 0; }; }(window.Cesium), function (e) { var t = P("0x3e0"), i = e.GeoProfile = function (e, t) { this[P("0x13b")] = e[P("0x13b")], this[P("0x10f")] = this.viewer[P("0x10f")]; }; i[P("0x5")][P("0x3e1")] = function (t, i) { this[P("0x3e2")] = t[0], this[P("0x3e3")] = t[1], this[P("0x3e4")] = t[2], this[P("0x3e5")] = t[t[P("0x0")] - 3], this[P("0x3e6")] = t[t.length - 2], this[P("0x3e7")] = t[t[P("0x0")] - 1]; for (var r = [], n = 0; n < t[P("0x0")] - 3; n += 3) { var o = e[P("0x11")].fromDegrees(t[n], t[n + 1]), a = e.Cartesian3.fromDegrees(t[n + 3], t[n + 4]), s = e[P("0x11")][P("0x8e")](o, a); r[P("0x17c")](s), e[P("0x11")][P("0x8e")](o, a); } for (var x = 0, l = [], c = 0; c < r.length; c++) { var u = Math[P("0x3e8")](r[c] / i); l[P("0x17c")](u), x += u; } this[P("0x3e9")] = x; var h = [], f = []; for (n = 0; n < l[P("0x0")]; n++) { for (var d = 0; d <= l[n]; d++) { var g = d * i; if (r[n] - g <= i) h[P("0x17c")](1);else { var p = g / r[n]; h[P("0x17c")](p); } } f[P("0x17c")](h), h = []; } for (var m = [], b = [], v = [], C = [], y = (n = 0, 0); y < f[P("0x0")]; y++) { for (d = 0; d < f[y].length; d++) { var _ = e[P("0x23")].lerp(t[n], t[n + 3], f[y][d]), A = e[P("0x23")].lerp(t[n + 1], t[n + 4], f[y][d]), I = { longitude: e[P("0x23")][P("0x119")](_), latitude: e[P("0x23")][P("0x119")](A) }, w = Number(this.scene[P("0xa3")][P("0xed")](I)[P("0x2af")](2)); v.push(w), m[P("0x17c")](e[P("0x11")].fromDegrees(_, A, w)), b[P("0x17c")](e[P("0x11")].fromDegrees(_, A, 0)); } n += 3; } var G = Math[P("0x7d")].apply(null, v); this[P("0x3ea")] = G; var E = Math.max[P("0x346")](null, v); this[P("0x3eb")] = E; var S = 0; for (n = 0; n < m.length - 1; n++) { S += e[P("0x11")].distance(m[n], m[n + 1]); } this[P("0x3ec")] = S; var T = e[P("0x11")].distance(m[0], m[m[P("0x0")] - 1]); this.straightLen = T; var M = 0; for (y = 0; y < b[P("0x0")] - 1; y++) { M += e[P("0x11")][P("0x8e")](b[y], b[y + 1]), C.push(M[P("0x2af")](2)); } C.unshift(0); var N = {}; return N[P("0x3ed")] = v, N[P("0x3ee")] = C, N[P("0x3ef")] = m, N; }, i[P("0x5")][P("0x3f0")] = function (e, t) { var i = document[P("0x3f1")](t); i[P("0x3f2")] = function (e) { var t = e || event, r = t[P("0x3f3")] - i[P("0x156")], n = t.clientY - i[P("0x15a")]; document[P("0x3f4")] = function (e) { var t = e || event; i.style[P("0x149")] = t[P("0x3f3")] - r + "px", i[P("0x150")][P("0x151")] = t[P("0x3f5")] - n + "px"; }, document[P("0x3f6")] = function () { document[P("0x3f4")] = null, document[P("0x3f6")] = null; }; }; var r = echarts[P("0x3f7")](i), n = { title: { x: P("0x11a"), padding: 15, text: P("0x3f8"), textStyle: { color: P("0x3f9"), fontStyle: "normal", fontWeight: P("0x3fa"), fontFamily: "sans-serif", fontSize: 18 } }, tooltip: { trigger: P("0x3fb"), confine: !0, formatter: function formatter(e) { return "长度: " + e[0][P("0x176")] + P("0x3fc") + "高程: " + e[0].value; } }, grid: { left: "2%", right: P("0x3fd"), bottom: "3%", containLabel: !0 }, xAxis: { splitArea: { show: !1 }, splitLine: { show: !1, lineStyle: { color: [P("0x3fe")], width: 1, type: P("0x3ff") } }, type: P("0x400"), boundaryGap: !1, data: e[P("0x3ee")], name: P("0x401"), nameTextStyle: { color: "#ccc", fontWeight: "bolder" }, axisLine: { lineStyle: { color: P("0x402"), width: 4 } }, axisLabel: { color: P("0x3f9"), fontWeight: P("0x403") } }, yAxis: { splitArea: { show: !1 }, splitLine: { show: !0, lineStyle: { color: [P("0x3fe")], width: 1, type: P("0x404") } }, type: P("0x3"), name: P("0x405"), nameTextStyle: { color: P("0x3f9"), fontWeight: "bolder" }, axisLine: { lineStyle: { color: P("0x402"), width: 4 } }, axisLabel: { color: P("0x3f9"), fontWeight: P("0x403") } }, series: [{ type: "line", data: e[P("0x3ed")], areaStyle: { color: P("0x406") } }] }; r[P("0x407")](n); var o = document[P("0x15c")](P("0x408")), a = document[P("0x15c")](P("0x409")), s = document.createElement("tr"), x = document.createElement("td"); x[P("0x40a")] = P("0x40b") + this[P("0x3e2")][P("0x2af")](6), s[P("0x167")](x); var l = document[P("0x15c")]("td"); l[P("0x40a")] = "起点高程:" + e.YValueArray[0][P("0x2af")](2), s[P("0x167")](l); var c = document[P("0x15c")]("td"); c[P("0x40a")] = P("0x40c") + Number(e[P("0x3ee")][e[P("0x3ee")].length - 1]).toFixed(2), s.appendChild(c), a[P("0x167")](s); var u = document[P("0x15c")]("tr"), h = document.createElement("td"); h.innerHTML = P("0x40d") + this.lat_origin[P("0x2af")](6), u[P("0x167")](h); var f = document[P("0x15c")]("td"); f[P("0x40a")] = P("0x40e") + e[P("0x3ed")][e[P("0x3ed")].length - 1].toFixed(2), u[P("0x167")](f); var d = document.createElement("td"); d[P("0x40a")] = P("0x40f") + this.surfaceLen[P("0x2af")](2), u.appendChild(d), a[P("0x167")](u); var g = document.createElement("tr"), p = document[P("0x15c")]("td"); p[P("0x40a")] = P("0x410") + this.lng_destination[P("0x2af")](6), g[P("0x167")](p); var m = document.createElement("td"); m[P("0x40a")] = P("0x411") + this[P("0x3eb")], g[P("0x167")](m); var b = document.createElement("td"); b.innerHTML = "直线距离:" + this[P("0x412")][P("0x2af")](2), g[P("0x167")](b), a.appendChild(g); var v = document.createElement("tr"), C = document[P("0x15c")]("td"); C[P("0x40a")] = "终点纬度:" + this[P("0x3e6")][P("0x2af")](6), v.appendChild(C); var y = document[P("0x15c")]("td"); y[P("0x40a")] = P("0x413") + this[P("0x3ea")], v[P("0x167")](y); var _ = document[P("0x15c")]("td"); return _[P("0x40a")] = "采样点数:" + this[P("0x3e9")], v[P("0x167")](_), a[P("0x167")](v), o.appendChild(a), i[P("0x167")](o), this[P("0x414")] = o, this.chartContainer = i, this.myChart = r; }, i[P("0x5")].drawMark = function (i) { i = e.defaultValue(i, {}); var r = this[P("0x10f")][P("0x17d")][P("0x6d")](new e[P("0x244")]()); r.add({ position: i[P("0x415")], image: i[P("0x416")], verticalOrigin: e[P("0x24d")][P("0x3c7")], scale: 0.2 }), r[P("0x6d")]({ position: i[P("0x417")], image: i.destinationImage, verticalOrigin: e.VerticalOrigin[P("0x3c7")], scale: 0.2 }), r.name = t; }, i[P("0x5")].clearMark = function () { for (var e = 0; e < this.scene[P("0x17d")][P("0x0")]; e++) { this[P("0x10f")][P("0x17d")][P("0x187")](e)[P("0x176")] == t && (this[P("0x10f")][P("0x17d")][P("0x17f")](this[P("0x10f")][P("0x17d")][P("0x187")](e)), e--); } }, i[P("0x5")][P("0x418")] = function () { this[P("0x419")] && (this.myChart[P("0x192")](), this[P("0x419")] = null), this.oTable && this.chartContainer && this[P("0x41a")][P("0x41b")](this[P("0x414")]); }, i.prototype.clear = function () { this[P("0x418")](), this.clearMark(); }; }(window.Cesium), function (e) { var t = P("0x41c"), i = "GEOSIGHTLINEBILLBOARD", r = P("0x41d"), n = P("0x41e"), o = e[P("0x41f")] = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x420")] = t[P("0x420")], this[P("0x421")] = t[P("0x421")], this.observeImage = t[P("0x422")], this[P("0x423")] = t.targetImage, this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x7e")] = this[P("0x13b")].camera, this[P("0x48")] = this[P("0x10f")].canvas, this[P("0x17d")] = this.scene[P("0x17d")], this[P("0x194")] = this[P("0x13b")][P("0x194")], this[P("0x191")] = i || null, this[P("0x424")] = [], this[P("0x425")] = null, this[P("0x426")] = null, this[P("0x427")] = null, this[P("0x428")] = null, b()(e[P("0x373")]) < 1.5 && console[P("0x391")]("当前Cesium版本:" + e[P("0x373")] + P("0x429")); }; function a(t, i, r) { if (t[P("0x10f")]) { var n = t[P("0x10f")].pickPosition(i); if (1.58 <= b()(e[P("0x373")])) { var o = t[P("0x13b")].scene[P("0x42f")](n); o && (n = o); } var a, s = e[P("0x13")][P("0x175")](n); if (s[P("0x8b")] < 0) { var x = t[P("0x7e")][P("0x86")](i), l = t.scene[P("0xa3")][P("0xa4")](x, t.scene); s = e[P("0x13")][P("0x175")](l), t[P("0x10f")][P("0xa3")][P("0x32a")] = !0; } return r = r || 1, a = s[P("0x8b")] + r, e.Cartesian3.fromRadians(s[P("0x112")], s[P("0x114")], a); } } function s(t, i, r, n) { var o = t[P("0x6d")](new e[P("0x1a5")]()); return o[P("0x6d")]({ text: i, font: P("0x1a0"), showBackground: !0, position: r, pixelOffset: new e[P("0x10")](10, -10) }), o.name = n, o; } function x(e, t, i) { for (var r = 0; r < e[P("0x0")]; r++) { e.name == i && (e.get(r)[P("0x8c")] = t); } } function l(e, t) { u(e, t); } function c(t, r, n) { var o = t.add(new e[P("0x244")]()); return o[P("0x6d")]({ position: r, image: n, scale: 0.4, verticalOrigin: e.VerticalOrigin.MIDDLE }), o[P("0x176")] = i, o; } function u(e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i).name == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } function h(e, t) { for (var i = 0; i < t._entities._array[P("0x0")]; i++) { t[P("0x430")][P("0x431")][i][P("0x176")] == e && (t[P("0x17f")](t[P("0x430")][P("0x431")][i]), i--); } } o[P("0x5")][P("0x198")] = function () { this[P("0x10f")][P("0xa3")][P("0x32a")] = !1, this[P("0x42a")](), this[P("0x192")](), 1.52 == b()(e[P("0x373")]) && (this.scene.enableGeoSightline = !0), 1.58 <= b()(e[P("0x373")]) && (this[P("0x10f")][P("0x42b")] = !1), this.canvas[P("0x150")][P("0x170")] = "crosshair"; var i = null, r = !0, n = this; this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x16f")][P("0x160")](function (e) { r ? (n[P("0x192")](), n.observeActualPosition = a(n, e[P("0x8c")], n[P("0x420")]), c(n[P("0x17d")], n.observeActualPosition, n.observeImage), l(t, n[P("0x17d")]), i = null, r = !1) : (n[P("0x426")] = a(n, e.position, n[P("0x421")]), c(n[P("0x17d")], n[P("0x426")], n[P("0x423")]), n[P("0x42c")](), l(t, n.primitives), r = !(i = null), n[P("0x10f")][P("0x42b")] = !1, n[P("0x42a")]()); }, e[P("0x161")][P("0x17e")]), this[P("0x16f")][P("0x160")](function (e) { n[P("0x3c2")] = n[P("0x10f")][P("0x174")](e[P("0x64")]), n[P("0x3c2")] && (r && (i ? x(i, n[P("0x3c2")], t) : i = s(n.primitives, P("0x42d"), n.tipPosition, t)), r || (i ? x(i, n.tipPosition, t) : i = s(n[P("0x17d")], "单击左键确定目标点", n[P("0x3c2")], t))); }, e[P("0x161")].MOUSE_MOVE); }, o.prototype.pickFromRays = function () { var t = new e[P("0x11")](0, 0, 0); this[P("0x424")] = [this.observeEntity, this[P("0x428")]]; var i = e.Cartesian3[P("0x8d")](e[P("0x11")].subtract(this.targetActualPosition, this.observeActualPosition, new e[P("0x11")]()), new e[P("0x11")]()), o = new e[P("0x1e")](this.observeActualPosition, i), a = [], s = [], x = []; a = this[P("0x10f")][P("0x42e")](o, 1e3, this[P("0x424")]); var l = e.Cartesian3[P("0x8e")](this[P("0x425")], this[P("0x426")]); if (0 !== a.length && !a[0][P("0x8c")]) for (var c = 1; c < Math[P("0x3e8")](l) + 1; c++) { if (e[P("0x11")][P("0x308")](this[P("0x425")], this[P("0x426")], c * (1 / Math.floor(l)), t), i = e[P("0x11")][P("0x8d")](e[P("0x11")].subtract(this[P("0x426")], this.observeActualPosition, new e.Cartesian3()), new e[P("0x11")]()), o = new e[P("0x1e")](t, i), a = [], s = [], x = [], 0 < (a = this.scene[P("0x42e")](o, 1, this[P("0x424")])).length) { a[0][P("0x8c")] || (e.Cartesian3.lerp(this[P("0x425")], this.targetActualPosition, c * (1 / Math.floor(l)), t), a[0][P("0x8c")] = t); break; } } if (0 == a.length) s = [this[P("0x425")], this[P("0x426")]];else { var u = e.Cartesian3[P("0x8d")](e[P("0x11")][P("0x95")](a[0][P("0x8c")], this[P("0x425")], new e[P("0x11")]()), new e[P("0x11")]()), h = e.Cartesian3.normalize(e[P("0x11")].subtract(a[0].position, this.targetActualPosition, new e[P("0x11")]()), new e[P("0x11")]()); if (u.x[P("0x2af")](8) == h.x[P("0x2af")](8) && u.y.toFixed(8) == h.y[P("0x2af")](8) && u.z[P("0x2af")](8) == h.z[P("0x2af")](8)) s = [this[P("0x426")], this[P("0x425")]];else { s = [this[P("0x425")], a[0][P("0x8c")]], x = [a[0][P("0x8c")], this[P("0x426")]]; var f = { name: r, polyline: { positions: x, width: 7, followSurface: !1, material: new e[P("0x2e6")](e.Color[P("0x16b")]) } }; this.entities.add(f); } } var d = { name: n, polyline: { positions: s, width: 2, followSurface: !1, material: e[P("0x16a")][P("0x310")] } }; this.entities.add(d); }, o.prototype.clear = function () { this[P("0x17d")] && (u(t, this.primitives), u(i, this.primitives)), this[P("0x194")] && (h(r, this[P("0x194")]), h(n, this[P("0x194")])); }, o[P("0x5")][P("0x42a")] = function () { this[P("0x16f")] = this.handler && this[P("0x16f")][P("0xf4")](), this[P("0x48")].style[P("0x170")] = P("0x18c"); }, o[P("0x5")][P("0xf4")] = function () { this[P("0x10f")][P("0x42b")] = !1, this[P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !1, this[P("0x42a")](), this[P("0x192")](), this.viewer = void 0, this[P("0x420")] = void 0, this[P("0x421")] = void 0, this[P("0x10f")] = void 0, this.camera = void 0, this.canvas = void 0, this.primitives = void 0, this[P("0x194")] = void 0, this[P("0xef")] = void 0, this[P("0x191")] = void 0, this[P("0x424")] = void 0, this[P("0x427")] = null, this.targetEntity = null; }; }(window.Cesium), function (e) { var t = e[P("0x102")], i = P("0x432"), r = e.GeoSkyLine = function (i, r) { this[P("0x13b")] = i[P("0x13b")], this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x48")] = this[P("0x13b")][P("0x48")], this[P("0x194")] = this[P("0x13b")][P("0x194")], this[P("0x433")] = t(i[P("0x434")], !0), this[P("0x435")] = t(i[P("0x435")], 2), this.skyLineMaterial = t(i[P("0x436")], e[P("0x16a")][P("0x16b")][P("0x6e")]()), this.skyLineDepthFailMaterial = t(i.skyLineDepthFailMaterial, void 0), this[P("0x437")] = t(i[P("0x437")], e[P("0x16a")][P("0x438")][P("0x6e")]()), this[P("0x439")] = t(i[P("0x439")], !1), this.skyLineVolumeOutLineColor = t(i[P("0x43a")], e[P("0x16a")][P("0x43b")].clone()), this[P("0x43c")] = t(i[P("0x43c")], 1.2), this[P("0x43d")] = void 0, this[P("0x43e")] = void 0, this[P("0x419")] = void 0; }; r[P("0x5")][P("0x43f")] = function () { if (!this[P("0x43d")]) { var t = [], i = {}; i[P("0x3ee")] = [], i[P("0x3ed")] = []; for (var r = this[P("0x48")].width, n = this[P("0x48")][P("0x8b")], o = 50, a = [], s = 0; s < r; s += p()(r / 3)) { for (var x = 0; x < n; x++) { var l = new e[P("0x10")](s, x); if (this.scene.pickPosition(l)) { a[P("0x17c")](x); break; } } } Math[P("0xee")].apply(null, a) < 10 && (o = 1); for (var c = 0; c < r; c += 3) { for (var u = 0; u < n; u += o) { var h = new e[P("0x10")](c, u); if (this[P("0x10f")][P("0x174")](h)) for (s = u - 1; u - o <= s; --s) { var f = new e[P("0x10")](c, s); if (!this.scene.pickPosition(f)) { var d = new e[P("0x10")](c, s + 1), g = this.scene.pickPosition(d); t[P("0x17c")](g), i[P("0x3ed")].push(n - s), i[P("0x3ee")][P("0x17c")](c), u = n; break; } } } } this[P("0x440")] = i, this[P("0x441")] = t, this.cameraPosition = this[P("0x13b")].camera[P("0x8c")].clone(), this.cameraHeight = e.Cartographic[P("0x175")](this.cameraPosition)[P("0x8b")]; } }, r[P("0x5")][P("0x442")] = function () { this[P("0x43d")] || (this[P("0x441")] || this[P("0x43f")](), this[P("0x43d")] = this.entities[P("0x6d")]({ name: "GeoSkyLine", polyline: { positions: this[P("0x441")], width: this[P("0x435")], show: this.skyLineShow, material: this.skyLineMaterial, depthFailMaterial: this[P("0x443")] } })); }, r[P("0x5")][P("0x444")] = function () { this[P("0x43e")] || (this[P("0x441")] || this.calculateSkyLinePositions(), this[P("0x441")] = this.skyLinePositions.concat([this[P("0x445")]]), this[P("0x441")][P("0x17c")](this[P("0x441")][0]), this.skyLineVolume = this.entities.add({ name: i, polygon: { hierarchy: this[P("0x441")], extrudedHeight: this[P("0x446")] / this[P("0x43c")], perPositionHeight: !0, material: this[P("0x437")], outline: this.skyLineVolumeOutLine, outlineColor: this.skyLineVolumeOutLineColor } })); }, r[P("0x5")][P("0x3f0")] = function (e) { if (!this.myChart && (this.skyLinePositions || this[P("0x43f")](), this[P("0x440")])) { var t = document[P("0x3f1")](e); t.onmousedown = function (e) { var i = e || event, r = i[P("0x3f3")] - t[P("0x156")], n = i[P("0x3f5")] - t.offsetTop; document[P("0x3f4")] = function (e) { var i = e || event; t[P("0x150")][P("0x149")] = i.clientX - r + "px", t.style[P("0x151")] = i.clientY - n + "px"; }, document[P("0x3f6")] = function () { document[P("0x3f4")] = null, document.onmouseup = null; }; }; var i = echarts[P("0x3f7")](t), r = { title: { x: P("0x11a"), padding: 15, text: P("0x447"), textStyle: { color: P("0x3f9"), fontStyle: "normal", fontWeight: P("0x3fa"), fontFamily: "sans-serif", fontSize: 18 } }, tooltip: { trigger: P("0x3fb"), confine: !0, formatter: function formatter(e) { return "宽度: " + e[0][P("0x176")] + P("0x3fc") + "高度: " + e[0].value; } }, grid: { left: "2%", right: P("0x3fd"), bottom: "3%", containLabel: !0 }, xAxis: { splitArea: { show: !1 }, splitLine: { show: !1, lineStyle: { color: [P("0x3fe")], width: 1, type: P("0x3ff") } }, type: P("0x400"), boundaryGap: !1, data: this[P("0x440")][P("0x3ee")], name: P("0x448"), nameTextStyle: { color: "#ccc", fontWeight: P("0x403") }, axisLine: { lineStyle: { color: "rgba(0.0, 128, 255, 0.6)", width: 4 } }, axisLabel: { color: P("0x3f9"), fontWeight: P("0x403") } }, yAxis: { splitArea: { show: !1 }, splitLine: { show: !0, lineStyle: { color: [P("0x3fe")], width: 1, type: P("0x404") } }, type: P("0x3"), name: "高度(PX)", nameTextStyle: { color: P("0x3f9"), fontWeight: "bolder" }, axisLine: { lineStyle: { color: "rgba(0.0, 128, 255, 0.6)", width: 4 } }, axisLabel: { color: P("0x3f9"), fontWeight: "bolder" } }, series: [{ type: P("0x449"), data: this[P("0x440")][P("0x3ed")], areaStyle: { color: P("0x406") } }] }; return i[P("0x407")](r), this[P("0x41a")] = t, this.myChart = i; } }, r[P("0x5")][P("0x418")] = function () { this.myChart && (this[P("0x419")][P("0x192")](), this[P("0x419")] = null); }, r[P("0x5")][P("0x192")] = function () { this[P("0x418")](), this[P("0x43d")] && (this[P("0x194")][P("0x17f")](this[P("0x43d")]), this[P("0x43d")] = void 0), this[P("0x43e")] && (this[P("0x194")][P("0x17f")](this.skyLineVolume), this.skyLineVolume = void 0), this[P("0x440")] = void 0, this[P("0x441")] = void 0, this[P("0x445")] = void 0, this[P("0x446")] = void 0, this[P("0x441")] = void 0; }; }(window[P("0xfd")]), ((B = window.Cesium)[P("0x451")] = function (e) { this[P("0x13b")] = e[P("0x13b")], this.scene = this[P("0x13b")][P("0x10f")], this[P("0x48")] = this[P("0x10f")][P("0x48")], this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this._samplingPoints = e[P("0x452")], this[P("0x453")] = e[P("0x44f")], this._bottomMaterial = e.bottomMaterial, this[P("0x454")] = B[P("0x102")](e.interNumber, 20), this[P("0x455")] = B[P("0x102")](e[P("0x456")], -500), this[P("0x453")] = B.defaultValue(e[P("0x44f")], new B[P("0x457")]({ evenColor: B[P("0x16a")][P("0x2d5")][P("0x16c")](1) })), this._bottomMaterial = B.defaultValue(e[P("0x450")], new B[P("0x457")]({ evenColor: B[P("0x16a")][P("0x338")].withAlpha(1) })), this[P("0x458")] = [], !this[P("0x459")] || this[P("0x459")].length <= 2 || (function (e, t) { !function (e) { var t, i, r, n, o, a, s; e[P("0x0")] < 3 || (i = (t = e)[0], r = t[1], n = t[2], o = B[P("0x11")][P("0x95")](r, i, new B[P("0x11")]()), a = B[P("0x11")].subtract(n, i, new B.Cartesian3()), s = B[P("0x11")][P("0x99")](o, a, new B.Cartesian3()), 0 <= B[P("0x11")][P("0x92")](i, s) || e[P("0x1e3")]()); }(e); for (var i = e[P("0x0")], r = [], n = 0; n < i; ++n) { var o = (n + 1) % i, a = B[P("0x11")][P("0x6d")](e[n], e[o], new B[P("0x11")]()); a = B[P("0x11")][P("0x6c")](a, 0.5, a); var s = B[P("0x11")].normalize(a, new B[P("0x11")]()), x = B[P("0x11")][P("0x95")](e[o], a, new B[P("0x11")]()); x = B[P("0x11")][P("0x8d")](x, x); var l = B[P("0x11")].cross(x, s, new B[P("0x11")]()); l = B[P("0x11")][P("0x8d")](l, l); var c = new B[P("0x1c")](l, 0), u = B[P("0x1c")][P("0x44a")](c, a); r.push(new B[P("0x368")](l, u)); } t.scene[P("0xa3")][P("0x365")] = new B[P("0x36a")]({ planes: r, edgeWidth: 2, edgeColor: B[P("0x16a")][P("0x2cf")] }); }(this[P("0x459")], this[P("0x13b")]), function (e) { for (var t = e[P("0x44b")], i = e[P("0x44c")], r = e[P("0x44d")], n = e[P("0x44e")], o = e[P("0x44f")], a = e[P("0x450")], s = e.entitys, x = [], l = 0; l < r.length; l++) { var c = n[P("0x10f")].globe[P("0xef")][P("0xd6")](r[l]); if (c.height = 0, x[P("0x17c")](c), l == r.length - 1) for (var u = 1; u <= t; u++) { var h = B.Cartesian3[P("0x308")](r[l], r[0], u / t, new B.Cartesian3()); (f = B[P("0x13")][P("0x175")](h))[P("0x8b")] = 0, x.push(f); } else for (u = 1; u <= t; u++) { var f; h = B[P("0x11")][P("0x308")](r[l], r[l + 1], u / t, new B[P("0x11")]()), (f = B[P("0x13")][P("0x175")](h))[P("0x8b")] = 0, x[P("0x17c")](f); } } for (l = 0; l < x[P("0x0")]; l++) { var d = n.scene[P("0xa3")].getHeight(x[l]); x[l][P("0x8b")] = d; } var g = []; for (l = 0; l < x.length; l++) { var p = (l + 1) % x.length, m = []; m[P("0x17c")](B[P("0x23")].toDegrees(x[l][P("0x112")])), m[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x114")])), m.push(x[l][P("0x8b")]), m.push(B[P("0x23")][P("0x113")](x[p][P("0x112")])), m.push(B[P("0x23")][P("0x113")](x[p].latitude)), m.push(x[p][P("0x8b")]), m[P("0x17c")](B.Math[P("0x113")](x[p][P("0x112")])), m.push(B[P("0x23")][P("0x113")](x[p][P("0x114")])), m[P("0x17c")](x[p][P("0x8b")] + i), m[P("0x17c")](B[P("0x23")].toDegrees(x[l][P("0x112")])), m[P("0x17c")](B[P("0x23")].toDegrees(x[l].latitude)), m[P("0x17c")](x[l][P("0x8b")] + i), g[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x112")])), g[P("0x17c")](B[P("0x23")][P("0x113")](x[l][P("0x114")])), g[P("0x17c")](x[l][P("0x8b")] + i); var b = n[P("0x194")][P("0x6d")]({ polygon: { hierarchy: B[P("0x11")].fromDegreesArrayHeights(m), material: o, perPositionHeight: !0 } }); s[P("0x17c")](b); } var v = n[P("0x194")][P("0x6d")]({ polygon: { hierarchy: B[P("0x11")].fromDegreesArrayHeights(g), material: a, perPositionHeight: !0 } }); s.push(v); }({ arrPoints: this[P("0x459")], earth: this[P("0x13b")], holeDepth: this[P("0x455")], interNumber: this[P("0x454")], sideMaterial: this._sideMaterial, bottomMaterial: this._bottomMaterial, entitys: this[P("0x458")] })); }).prototype[P("0xf4")] = function () { for (var e = 0; e < this[P("0x458")].length; e++) { this[P("0x13b")].entities.remove(this[P("0x458")][e]); } this[P("0x458")][P("0x0")] = 0, this.viewer[P("0x10f")][P("0xa3")][P("0x365")].destroy(); }, function (e) { e[P("0x102")]; var t = e.GeoTerrainExcavate = function (t, i) { this[P("0x13b")] = t[P("0x13b")], this[P("0x10f")] = this[P("0x13b")].scene, this[P("0x48")] = this[P("0x10f")].canvas, this[P("0x194")] = this[P("0x13b")].entities, this[P("0x45a")] = i, this.depth = e.defaultValue(t[P("0x456")], -500), this[P("0x453")] = t[P("0x44f")], this[P("0x45b")] = t.bottomMaterial, this._outPoints = [], this._arrayVertex = [], this[P("0x304")] = void 0, this[P("0x45c")] = void 0, this[P("0x45d")] = 0, this[P("0x45e")] = void 0, this[P("0x13b")][P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !0; }; t[P("0x5")][P("0x198")] = function () { if (this.clear(), !this.handler) { this[P("0x16f")] = new e.ScreenSpaceEventHandler(this[P("0x48")]), this[P("0x13b")][P("0x48")][P("0x150")].cursor = P("0x171"); var t = this; this.handler[P("0x160")](function (i) { var r = t[P("0x13b")][P("0x7e")].getPickRay(i.position), n = t.viewer[P("0x10f")].globe[P("0xa4")](r, t.viewer[P("0x10f")]); t[P("0x45f")][P("0x17c")](n); var o = e.Cartographic[P("0x175")](n); t[P("0x460")][P("0x17c")](e[P("0x23")].toDegrees(o[P("0x112")])), t[P("0x460")][P("0x17c")](e[P("0x23")][P("0x113")](o.latitude)), t[P("0x460")][P("0x17c")](o[P("0x8b")]), null == t._polylineCollection && (t[P("0x304")] = t[P("0x13b")][P("0x10f")][P("0x17d")][P("0x6d")](new e.PolylineCollection()), t._polylineCollection[P("0x176")] = "draw_polyline", t[P("0x45c")] = t[P("0x304")][P("0x6d")]({ polyline: {} }), t[P("0x45c")][P("0x19a")] = 2, t[P("0x45c")][P("0x19b")] = !1, t[P("0x45c")][P("0x19c")].uniforms[P("0x169")] = { red: 1, green: 0, blue: 0, alpha: 1 }), t[P("0x45c")][P("0x19f")] = t[P("0x45f")], t[P("0x45d")]++; }, e[P("0x161")][P("0x17e")]), this[P("0x16f")][P("0x160")](function (e) { if (null != t[P("0x304")]) { var i = t[P("0x13b")][P("0x7e")][P("0x86")](e.endPosition), r = t.viewer[P("0x10f")][P("0xa3")][P("0xa4")](i, t[P("0x13b")].scene); t[P("0x45f")][P("0x0")] > t[P("0x45d")] && t[P("0x45f")][P("0x25c")](), t._arrayVertex[P("0x17c")](r), t[P("0x45c")].positions = t[P("0x45f")]; } }, e.ScreenSpaceEventType.MOUSE_MOVE), this.handler.setInputAction(function (i) { if (null != t._polylineCollection) { var r = t[P("0x13b")][P("0x7e")][P("0x86")](i.position), n = t[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa4")](r, t[P("0x13b")].scene), o = e[P("0x13")].fromCartesian(n); t[P("0x460")][P("0x17c")](e.Math[P("0x113")](o.longitude)), t[P("0x460")][P("0x17c")](e.Math[P("0x113")](o.latitude)), t._outPoints.push(o[P("0x8b")]), t[P("0x304")][P("0x17f")](t[P("0x45c")]), t.viewer.scene[P("0x17d")][P("0x17f")](t[P("0x304")]), t.handler.destroy(), t.handler = void 0, t._polylineCollection = void 0, t[P("0x45c")] = void 0, t[P("0x45d")] = 0, t.viewer[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), t._excavationRegion = new e.GeoExcavationRegion({ viewer: t[P("0x13b")], samplingPoints: t[P("0x45f")], depth: t[P("0x456")], sideMaterial: t._sideMaterial, bottomMaterial: t._bottomMaterial, interNumber: 10 }), t[P("0x45a")](t[P("0x460")]); } }, e[P("0x161")][P("0x189")]); } }, t[P("0x5")].clear = function () { this[P("0x45e")] && (this[P("0x460")][P("0x0")] = 0, this._arrayVertex[P("0x0")] = 0, this[P("0x45e")][P("0xf4")](), this[P("0x45e")] = void 0); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x102")]; (e[P("0x461")] = function (e, i) { e = t(e, t[P("0x128")]), this.viewer = e.viewer, this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this[P("0x48")] = this[P("0x10f")][P("0x48")], this.camera = this.scene[P("0x7e")], this[P("0x17d")] = this[P("0x10f")].primitives, this[P("0x191")] = i || null, this.contourUniforms = {}, this[P("0x462")] = {}; }).prototype[P("0x463")] = function (o) { var a = !1; if (o && o[P("0x464")]) { a = t(o[P("0x464")][P("0x3b6")], !1); var s = t(o[P("0x464")][P("0x19a")], 2), x = t(o.contour[P("0x465")], 150), l = t(o[P("0x464")][P("0x169")], e[P("0x16a")].RED[P("0x6e")]()); } var c = "none"; if (o && o[P("0x466")] && (c = o[P("0x466")], -1 == ["elevation", P("0x467"), P("0x468"), P("0x2b4")][P("0x2d3")](c))) return alert("输入值可选elevation,slope,aspect,none中的一个!"), !1; var u, h = -414, f = 8777; return o && o.minHeight && (h = o[P("0x3ea")]), o && o[P("0x3eb")] && (f = o.maxHeight), a ? (c === P("0x469") ? (u = new e.Material({ fabric: { type: P("0x485"), materials: { contourMaterial: { type: P("0x471") }, elevationRampMaterial: { type: P("0x472") } }, components: { diffuse: "contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse", alpha: P("0x486") } }, translucent: !1 }), this[P("0x462")] = u[P("0x46a")][P("0x46b")][P("0x19d")], this[P("0x462")][P("0x46c")] = h, this[P("0x462")][P("0x46d")] = f, this.contourUniforms = u[P("0x46a")][P("0x46e")].uniforms) : c === P("0x467") ? (u = new e[P("0x212")]({ fabric: { type: P("0x487"), materials: { contourMaterial: { type: P("0x471") }, slopeRampMaterial: { type: P("0x473") } }, components: { diffuse: "contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse", alpha: P("0x488") } }, translucent: !0 }), this[P("0x462")] = u[P("0x46a")][P("0x46f")].uniforms, this[P("0x470")] = u[P("0x46a")][P("0x46e")][P("0x19d")]) : c === P("0x468") ? (u = new e[P("0x212")]({ fabric: { type: P("0x489"), materials: { contourMaterial: { type: P("0x471") }, aspectRampMaterial: { type: P("0x474") } }, components: { diffuse: "contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse", alpha: P("0x48a") } }, translucent: !1 }), this[P("0x462")] = u[P("0x46a")].aspectRampMaterial[P("0x19d")], this[P("0x470")] = u.materials[P("0x46e")][P("0x19d")]) : (u = e[P("0x212")][P("0x213")](P("0x471")), this[P("0x470")] = u[P("0x19d")]), this.contourUniforms.width = s, this[P("0x470")][P("0x465")] = x, this.contourUniforms.color = l) : c === P("0x469") ? (u = e.Material[P("0x213")](P("0x472")), this.shadingUniforms = u.uniforms, this[P("0x462")].minimumHeight = h, this[P("0x462")].maximumHeight = f) : c === P("0x467") ? (u = e.Material[P("0x213")](P("0x473")), this[P("0x462")] = u[P("0x19d")]) : c === P("0x468") && (u = e[P("0x212")][P("0x213")](P("0x474")), this[P("0x462")] = u.uniforms), c !== P("0x2b4") && (this.shadingUniforms[P("0x475")] = function (e) { var t = document[P("0x15c")](P("0x48")); t[P("0x19a")] = 100, t[P("0x8b")] = 1; var o, a = t[P("0x476")]("2d"); e === P("0x469") ? o = i : e === P("0x467") ? o = r : "aspect" === e && (o = n); var s = a[P("0x477")](0, 0, 100, 0); return 7 == o[P("0x0")] ? (s.addColorStop(o[0], P("0x478")), s[P("0x479")](o[1], P("0x47a")), s[P("0x479")](o[2], "#D33B7D"), s[P("0x479")](o[3], "#D33038"), s[P("0x479")](o[4], "#FF9742"), s[P("0x479")](o[5], "#ffd700"), s[P("0x479")](o[6], P("0x47b"))) : (s[P("0x479")](o[0], P("0x47c")), s[P("0x479")](o[1], "#599668"), s.addColorStop(o[2], P("0x47d")), s[P("0x479")](o[3], "#fafcb4"), s.addColorStop(o[4], P("0x47e")), s.addColorStop(o[5], P("0x47f")), s[P("0x479")](o[6], P("0x480")), s[P("0x479")](o[7], P("0x481")), s[P("0x479")](o[8], P("0x482")), s[P("0x479")](o[9], P("0x483")), s[P("0x479")](o[10], "#420202")), a[P("0x484")] = s, a.fillRect(0, 0, 100, 1), t; }(c)), this[P("0x10f")][P("0xa3")][P("0x19c")] = u, !0; }; var i = [0, 0.045, 0.1, 0.15, 0.37, 0.54, 1], r = [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], n = [0, 0.2, 0.4, 0.6, 0.8, 0.9, 1]; }(window.Cesium), function (e) { var t = e.GeoTilesetFlatten = function (t) { t = e[P("0x102")](t, e[P("0x102")][P("0x128")]), this[P("0x48b")] = !1, this[P("0x48c")] = !1, this[P("0x48d")] = [], this[P("0x48e")] = e[P("0x102")](t[P("0x48e")], !0), this.show = e.defaultValue(t[P("0x221")], !0), this[P("0xef")] = e.defaultValue(t[P("0xef")], e[P("0x16")].WGS84); }; function i(t) { var i = t.content._model; e.defined(i) && e[P("0x14")](i.platSlot) && delete i[P("0x48f")]; } function r(t) { var i = t[P("0x490")]._model; if (e.defined(i)) { var r = i[P("0x48f")]; if (!e[P("0x14")](r)) throw new e.DeveloperError("storing of model vertex buffers is fail."); } } t.prototype[P("0x491")] = function (t) { if (!e[P("0x14")](t)) throw new e[P("0x15")]("parameter tileset is required."); if (e[P("0x14")](this[P("0x492")])) throw new e[P("0x15")](P("0x493")); this[P("0x492")] = t, (this._tileset[P("0x494")] = this)[P("0x48c")] = !0, this[P("0x492")].tileUnload[P("0x130")](i), this[P("0x492")][P("0x495")].addEventListener(r); }, t.prototype[P("0x496")] = function (e) { this.show != e && (this[P("0x48c")] = !0), this[P("0x221")] = e; }, t[P("0x5")][P("0x497")] = function (e) { return this[P("0x221")]; }, t[P("0x5")][P("0x498")] = function () { return this[P("0x48c")]; }, t[P("0x5")][P("0x499")] = function () { this[P("0x48c")] = !1; }, t[P("0x5")][P("0x49a")] = function (t) { var i = this; if (void 0 !== t && t instanceof Array) { var r = t.length; if (!(r < 3)) { for (var n = [], o = i[P("0x48e")], a = 0; a < r; a++) { var s = t[a]; o ? void 0 !== s[P("0x8b")] ? n[P("0x17c")](e.Cartesian3.fromRadians(s[P("0x112")], s[P("0x114")], s[P("0x8b")], i[P("0xef")])) : n.push(e[P("0x11")][P("0x6e")](s, new e[P("0x11")]())) : void 0 !== s[P("0x8b")] ? n.push(e[P("0x13")].clone(s, new e[P("0x13")]())) : n[P("0x17c")](e.Cartographic[P("0x175")](s, i.ellipsoid, new e[P("0x13")]())); } if (i.isCartesian3Point) { if (!n[0].equals(n[r - 1])) { var x = e[P("0x11")][P("0x6e")](n[0], new e.Cartesian3()); n[P("0x17c")](x); } } else e[P("0x13")].equals(n[0], n[r - 1]) || (x = e[P("0x13")][P("0x6e")](n[0], new e[P("0x13")]()), n[P("0x17c")](x)); var l = {}; l[P("0x49b")] = n, l[P("0x49c")] = !0, i[P("0x48d")][P("0x17c")](l); var c = i[P("0x48d")][P("0x0")] - 1; return i.dirty = !0, i.initPlatBodyDebug(), this._ready = !0, c; } } }, t.prototype[P("0x49d")] = function (t) { if (void 0 !== t && "number" == typeof t && t < this[P("0x48d")][P("0x0")]) { var i = this.polys[t]; if (void 0 === i) return; var r = i[P("0x49b")]; if (void 0 === r) return; for (var n = [], o = 0; o < r[P("0x0")]; o++) { var a = e[P("0x11")][P("0x6e")](r[o], new e[P("0x11")]()); n.push(a); } return n; } }, t[P("0x5")][P("0x49e")] = function (e) { void 0 !== e && w()(e) === P("0x49f") && e < this.polys[P("0x0")] && (delete this[P("0x48d")][e], this[P("0x48c")] = !0); }, t[P("0x5")].showPlatArea = function (e, t) { void 0 !== e && w()(e) === P("0x49f") && e < this.polys[P("0x0")] && (this.polys[e][P("0x49c")] = t, this[P("0x48c")] = !0); }, t[P("0x5")].initRegionMatrixes = function (t) { var i = t, r = i[P("0x4a0")].content[P("0x4a1")]; if (e[P("0x14")](i[P("0x4a2")][P("0x4a3")]) && !(i[P("0x4a2")][P("0x4a3")].length < 1)) { var n = r[P("0x4a4")]._orientedBoundingBox[P("0x4a5")], o = r[P("0x4a4")]._orientedBoundingBox[P("0x11a")], a = {}; if (a[P("0x4a6")] = this[P("0x4a7")](n), a[P("0x4a8")] = this[P("0x4a9")](a.matOrg), e.defined(a[P("0x4a8")]) && (a[P("0x4aa")] = e.Transforms[P("0xbf")](o, this[P("0xef")], new e[P("0x1b")]()), a.matPrjI = this.invertMatrix(a[P("0x4aa")]), e[P("0x14")](a[P("0x4ab")]))) return a[P("0x4ac")] = e[P("0x1b")].clone(i[P("0x4a2")].rootNodes[0][P("0x4ad")], new e.Matrix4()), a; } }, t[P("0x5")][P("0x4ae")] = function (t) { var i = t, r = i._pickObject[P("0x490")][P("0x4a1")]; if (e[P("0x14")](i[P("0x4a2")][P("0x4a3")]) && !(i[P("0x4a2")][P("0x4a3")].length < 1)) { var n = r[P("0x4a4")]._orientedBoundingBox[P("0x11a")], o = {}; if (o[P("0x4aa")] = e[P("0x1f")][P("0xbf")](n, this[P("0xef")], new e[P("0x1b")]()), o[P("0x4ab")] = this[P("0x4a9")](o[P("0x4aa")]), e[P("0x14")](o[P("0x4ab")]) && (o[P("0x4ac")] = e.Matrix4[P("0x6e")](i._runtime[P("0x4a3")][0][P("0x4ad")], new e[P("0x1b")]()), o.modelMatrixI = this[P("0x4a9")](o.modelMatrix), e[P("0x14")](o[P("0x4af")]))) return o; } }, t[P("0x5")].toPlatRegionModel = function (t, i) { var r = i, n = r[P("0x48f")][P("0x4b0")], o = n[P("0x0")], a = this[P("0x4b1")](r); if (e[P("0x14")](a)) { this[P("0x4b2")](r); for (var s = 0; s < o; s++) { var x = n[s]; if (void 0 !== x && 1 != x[P("0x496")]) { x.showPlat = !0; for (var l = x[P("0x4b3")][P("0x1d5")](0), c = new Float32Array(l[P("0x4b3")], l[P("0x4b4")], l[P("0x0")] / Float32Array[P("0x4b5")]), u = 0, h = [], f = [], d = 0; d < c[P("0x0")]; d += 3) { var g = new e.Cartesian3(c[d], c[d + 1], c[d + 2]); f.push(g), (p = e[P("0x1b")][P("0xd4")](a.matOrgI, g, new e[P("0x11")]())).z < u && (u = p.z), h[P("0x17c")](p); } for (d = 0; d < h[P("0x0")]; d++) { var p = h[d]; g = f[d], g = e[P("0x1b")][P("0xd4")](a.modelMatrix, g, new e[P("0x11")]()), g = e[P("0x1b")][P("0xd4")](a[P("0x4ab")], g, new e[P("0x11")]()), this[P("0x4b6")](r, g) && (p.z = u), p = e.Matrix4.multiplyByPoint(a.matOrg, p, new e[P("0x11")]()), c[3 * d] = p.x, c[3 * d + 1] = p.y, c[3 * d + 2] = p.z; } this[P("0x4b7")](r, l, s, t); } } r.platSlot[P("0x4b8")] = void 0; } }, t[P("0x5")][P("0x4b9")] = function (t, i) { var r = this, n = i, o = n[P("0x48f")][P("0x4b0")], a = o[P("0x0")], s = r.initBoxMatrixes(n); if (e.defined(s)) { var x = {}; r[P("0x4b2")](n); for (var l = 0; l < a; l++) { var c = o[l]; if (!c[P("0x496")] || r.isPlatDirty()) { c[P("0x496")] = !0; for (var u = c[P("0x4b3")].slice(0), h = new Float32Array(u[P("0x4b3")], u[P("0x4b4")], u[P("0x0")] / Float32Array.BYTES_PER_ELEMENT), f = 0; f < h[P("0x0")]; f += 3) { var d = new e[P("0x11")](h[f], h[f + 1], h[f + 2]); d = e[P("0x11")].clone(d); var g = e[P("0x1b")][P("0xd4")](s[P("0x4ac")], d, new e.Cartesian3()); x.pt = g, d = e.Matrix4[P("0xd4")](s[P("0x4ab")], g, new e[P("0x11")]()), r[P("0x4b6")](n, d, x) && (g = e[P("0x1b")].multiplyByPoint(s[P("0x4af")], x.pt, new e[P("0x11")]()), h[f] = g.x, h[f + 1] = g.y, h[f + 2] = g.z); } r[P("0x4b7")](n, u, l, t); } } n[P("0x48f")].platPolys = void 0; } }, t[P("0x5")][P("0x4ba")] = function (t, i) { var r = i[P("0x4a0")][P("0x490")]._tile[P("0x4bb")][P("0x4bc")][P("0x4bd")]; e[P("0x14")](r) ? this[P("0x4be")](t, i) : this.toPlatBoxModel(t, i); }, t[P("0x5")].toUnplatModel = function (e, t) { for (var i = t, r = i[P("0x48f")][P("0x4b0")], n = r[P("0x0")], o = 0; o < n; o++) { var a = r[o]; if (void 0 !== a && 0 != a[P("0x496")]) { a[P("0x496")] = !1; var s = a[P("0x4b3")][P("0x1d5")](0); this[P("0x4b7")](i, s, o, e); } } i[P("0x48f")][P("0x4b8")] = void 0; }, t[P("0x5")][P("0x4bf")] = function (e, t) { var i = t; if (this[P("0x48b")] && void 0 !== i.platSlot && void 0 !== i.platSlot[P("0x4b0")] && !(i.platSlot.buffers[P("0x0")] < 1)) { var r = this[P("0x4c0")](i); (r || i[P("0x48f")][P("0x4c1")]) && (i.platSlot[P("0x4c1")] = !0, r ? this[P("0x4ba")](e, t) : this[P("0x4c2")](e, t)); } }, t[P("0x5")][P("0x4c0")] = function (e) { var t = e, i = this[P("0x48d")], r = i.length; if (r < 1) return !1; for (var n = 0; n < r; n++) { var o = i[n]; if (void 0 !== o && void 0 !== o.platPickRegion && this.hitPlatTestByRegion(t, o[P("0x4c3")])) return !0; } return !1; }, t.prototype[P("0x4c4")] = function () { var t = this, i = t.ellipsoid; if (t.isCartesian3Point) { if (void 0 === (s = t.polys)) return; if (void 0 === (x = s[P("0x0")]) || x < 1) return; if (!t.dirty) return; for (var r = 0; r < x; r++) { if (void 0 !== (l = s[r]) && !e[P("0x14")](l[P("0x4c3")])) { if (void 0 === (d = l.platPickPoints)) return; if (void 0 === (g = d.length) || g < 1) return; for (var n = 0; n < g; n++) { var o = e[P("0x11")][P("0x6e")](d[n], new e[P("0x11")]()), a = e[P("0x13")].fromCartesian(o, i); 0 != n ? (u > a[P("0x112")] ? u = a[P("0x112")] : c < a[P("0x112")] && (c = a[P("0x112")]), h > a[P("0x114")] ? h = a.latitude : f < a[P("0x114")] && (f = a[P("0x114")])) : (c = u = a[P("0x112")], h = f = a[P("0x114")]); } l[P("0x4c3")] = { west: u, south: h, east: c, north: f }; } } } else { var s, x; if (void 0 === (s = t[P("0x48d")])) return; if (void 0 === (x = s[P("0x0")]) || x < 1) return; if (!t.dirty) return; for (r = 0; r < x; r++) { var l; if (void 0 !== (l = s[r]) && !e[P("0x14")](l[P("0x4c3")])) { var c, u, h, f, d, g; if (void 0 === (d = l.platPickPoints)) return; if (void 0 === (g = d[P("0x0")]) || g < 1) return; for (c = u = d[0].longitude, h = f = d[0][P("0x114")], n = 1; n < g; n++) { u > (o = e.Cartographic.clone(d[n], new e[P("0x13")]()))[P("0x112")] ? u = o[P("0x112")] : c < o.longitude && (c = o[P("0x112")]), h > o[P("0x114")] ? h = o[P("0x114")] : f < o[P("0x114")] && (f = o[P("0x114")]); } l.platPickRegion = { west: u, south: h, east: c, north: f }; } } } }, t.prototype.createTileRegion = function (t) { var i = t[P("0x4bb")][P("0x4bc")]; if (e[P("0x14")](i)) { if (void 0 !== i[P("0x4bd")]) { var r = i.region; if (!e.defined(r)) return; return { west: r[0], south: r[1], east: r[2], north: r[3] }; } if (i.box) { if (!e[P("0x14")](t[P("0x4a4")])) return; var n = t[P("0x4a4")]._orientedBoundingBox; if (!e[P("0x14")](n)) return; var o, a = e[P("0x11")].add, s = e[P("0x11")][P("0x95")], x = []; for (o = 0; o < 3; o++) { var l = new e[P("0x11")](n[P("0x4a5")][3 * o], n[P("0x4a5")][3 * o + 1], n[P("0x4a5")][3 * o + 2]), c = []; c[P("0x17c")]({ f: a, a: l }), c[P("0x17c")]({ f: s, a: l }), x[P("0x17c")](c); } var u, h, f, d, g, p, m = this[P("0xef")], b = n[P("0x11a")], v = [], C = x[0], y = x[1], _ = x[2]; for (o = 0; o < C[P("0x0")]; o++) { for (var A = C[o], I = e[P("0x11")].clone(b, new e[P("0x11")]()), w = A.f(I, A.a, new e.Cartesian3()), G = 0; G < y.length; G++) { for (var E = y[G], S = E.f(w, E.a, new e.Cartesian3()), T = 0; T < _.length; T++) { var M = _[T], N = M.f(S, M.a, new e.Cartesian3()); v[P("0x17c")](N); } } } for (u = h = v[0].x, f = d = v[0].y, g = p = v[0].z, o = 1; o < v.length; o++) { var L = v[o]; u > L.x ? u = L.x : h < L.x && (h = L.x), f > L.y ? f = L.y : d < L.y && (d = L.y), g > L.z ? g = L.z : p < L.z && (p = L.z); } var R, O, F, D, U = []; for (U[P("0x17c")](e.Cartographic[P("0x175")](new e[P("0x11")](u, f, g), m, new e[P("0x13")]())), U.push(e[P("0x13")].fromCartesian(new e[P("0x11")](h, d, p), m, new e[P("0x13")]())), o = 0; o < U[P("0x0")]; o++) { var k = U[o]; 0 != o ? (R > k[P("0x112")] ? R = k[P("0x112")] : O < k[P("0x112")] && (O = k[P("0x112")]), D > k[P("0x114")] ? D = k[P("0x114")] : F < k[P("0x114")] && (F = k[P("0x114")])) : (R = O = k.longitude, F = D = k[P("0x114")]); } return { west: R, south: D, east: O, north: F }; } } }, t[P("0x5")].hitPlatTestByRegion = function (t, i) { return !!e.defined(i); }, t.prototype.initializePlatPoly = function (e) { this.isCartesian3Point ? this.initializeCartesianPlatPoly(e) : this[P("0x4c7")](e); }, t.prototype[P("0x4c8")] = function (t) { var i = this, r = t, n = r[P("0x48f")]; if (e[P("0x14")](n[P("0x4b8")])) { if (!i[P("0x498")]()) return; delete n.platPolys; } var o, a = i.ellipsoid, s = i.polys; if (e[P("0x14")](r[P("0x4a2")][P("0x4a3")]) && (o = r._runtime[P("0x4a3")][0][P("0x4ad")]), e[P("0x14")](o)) { var x = i[P("0x4a9")](o); if (e.defined(x)) { n.platPolys = []; var l, c, u = n.platPolys; for (c = 0; c < s[P("0x0")]; c++) { var h = s[c]; if (e[P("0x14")](h)) { var f, d, g, p, m = h[P("0x49b")], b = new e[P("0x11")](), v = []; for (l = 1; l < m[P("0x0")]; l++) { var C = m[l]; b = e[P("0x11")][P("0x6d")](b, C, new e.Cartesian3()); var y = e[P("0x1b")][P("0xd4")](x, C, new e[P("0x11")]()); v[P("0x17c")](y), e[P("0x14")](f) ? (f > y.x ? f = y.x : g < y.x && (g = y.x), d > y.y ? d = y.y : p < y.y && (p = y.y)) : (f = g = y.x, d = p = y.y); } b = e.Cartesian3[P("0x4c9")](b, v[P("0x0")], new e[P("0x11")]()); var _ = { pts: v, minX: f, minY: d, maxX: g, maxY: p, compressPlane: i[P("0x4ca")](a, b), show: h[P("0x49c")] }; u[P("0x17c")](_); } } } } }, t[P("0x5")].initializeCartographicPlatPoly = function (t) { var i = this, r = t, n = r[P("0x4a0")][P("0x490")][P("0x4a1")], o = r[P("0x48f")]; if (e[P("0x14")](o[P("0x4b8")])) { if (!i[P("0x498")]()) return; o[P("0x4b8")] = void 0; } var a, s = i[P("0xef")], x = i[P("0x48d")]; if (e[P("0x14")](n._boundingVolume) && e[P("0x14")](n[P("0x4a4")][P("0x4cb")]) && (a = n[P("0x4a4")][P("0x4cb")][P("0x11a")]), e[P("0x14")](a)) { var l, c = e[P("0x1f")][P("0xbf")](a, s, new e[P("0x1b")]()), u = i.invertMatrix(c); if (e[P("0x14")](u) && (e[P("0x14")](r[P("0x4a2")]) && e.defined(r[P("0x4a2")][P("0x4a3")]) && 0 < r[P("0x4a2")][P("0x4a3")][P("0x0")] && e[P("0x14")](r[P("0x4a2")][P("0x4a3")][0]) && (l = r[P("0x4a2")][P("0x4a3")][0][P("0x4ad")]), e[P("0x14")](l))) { var h = i[P("0x4a9")](l); if (e[P("0x14")](h)) { o[P("0x4b8")] = []; var f, d, g = o.platPolys; for (d = 0; d < x[P("0x0")]; d++) { var p = x[d]; if (e[P("0x14")](p)) { var m = p[P("0x49b")]; if (e.defined(m) && !(m[P("0x0")] < 1)) { var b, v, C, y, _ = new e[P("0x11")](), A = []; for (f = 0; f < m[P("0x0")]; f++) { var I, w = m[f]; if (i[P("0x48e")]) I = e[P("0x11")][P("0x6e")](w, new e[P("0x11")]()), _ = e[P("0x11")][P("0x6d")](_, I, new e[P("0x11")]()), I = e[P("0x1b")][P("0xd4")](h, I, new e[P("0x11")]());else { I = e.Cartographic[P("0x6e")](w, new e.Cartographic()); var G = e[P("0x11")][P("0x3d0")](I[P("0x112")], I[P("0x114")], 0, s); _ = e.Cartesian3[P("0x6d")](_, G, new e.Cartesian3()), I = e[P("0x1b")].multiplyByPoint(u, G, new e[P("0x11")]()); } A[P("0x17c")](I), e[P("0x14")](b) ? (b > I.x ? b = I.x : C < I.x && (C = I.x), v > I.y ? v = I.y : y < I.y && (y = I.y)) : (b = C = I.x, v = y = I.y); } _ = e[P("0x11")][P("0x4c9")](_, A.length, new e[P("0x11")]()); var E = { pts: A, minX: b, minY: v, maxX: C, maxY: y, compressPlane: i.initCompressPlane(s, _) }; g[P("0x17c")](E); } } } } } } }, t[P("0x5")][P("0x4ca")] = function (t, i) { var r = e[P("0x11")][P("0x6e")](i, new e[P("0x11")]()), n = e[P("0x13")][P("0x175")](r, t, new e.Cartographic()), o = e[P("0x11")].fromRadians(n[P("0x112")], n.latitude, 0, t); if (!r[P("0x84")](o)) return e[P("0x1c")][P("0xb9")](r, e[P("0x11")][P("0x8d")](e.Cartesian3[P("0x95")](r, o, new e[P("0x11")]()), new e[P("0x11")]())); }, t[P("0x5")].isPlatPointNoResult = function (t, i) { for (var r = t[P("0x48f")][P("0x4b8")], n = e[P("0x11")][P("0x6e")](i, new e[P("0x11")]()), o = 0; o < r.length; o++) { var a = r[o]; if (e.defined(a) && this.isInsidedPoint(a, n)) return !0; } return !1; }, t[P("0x5")][P("0x4cc")] = function (t, i, r) { for (var n = t.platSlot[P("0x4b8")], o = e[P("0x11")][P("0x6e")](i, new e[P("0x11")]()), a = e[P("0x11")][P("0x6e")](r.pt, new e[P("0x11")]()), s = !1, x = 0; x < n[P("0x0")]; x++) { var l = n[x]; if (e.defined(l) && this.isInsidedPoint(l, o)) { var c = this[P("0x4cd")](l[P("0x4ce")], a); e[P("0x14")](c) && (a = c), s = !0; } } return s && (r.pt = a), s; }, t[P("0x5")][P("0x4b6")] = function (t, i, r) { return e[P("0x14")](r) ? this[P("0x4cc")](t, i, r) : this[P("0x4cf")](t, i); }, t[P("0x5")][P("0x4cd")] = function (t, i) { if (e.defined(t) && e[P("0x14")](i) && e.defined(t[P("0x4d0")])) { var r = e[P("0x11")].clone(t[P("0x4d0")], new e[P("0x11")]()), n = e.Cartesian3[P("0x6e")](i, new e[P("0x11")]()), o = new e[P("0x1e")](n, r), a = e[P("0x18")][P("0xba")](o, t); if (e[P("0x14")](a)) return n; var s = e[P("0x11")][P("0xc8")](r, new e[P("0x11")]()), x = new e.Ray(n, s), l = e[P("0x18")][P("0xba")](x, t); if (!e[P("0x14")](l)) return n; var c = e.Cartesian3.distance(l, n); return e[P("0x11")].add(n, e.Cartesian3[P("0x6c")](s, c, new e[P("0x11")]()), new e[P("0x11")]()); } }, t[P("0x5")][P("0x4d1")] = function (t, i) { var r = this; if (!e[P("0x14")](t)) return !1; if (!e.defined(t[P("0x221")]) || !t[P("0x221")]) return !1; if (!e.defined(i)) return !1; var n, o, a = i.x, s = i.y; if (a < t.minX || a > t.maxX || s < t[P("0x4d2")] || s > t.maxY) return !1; var x, l, c, u, h, f, d = { z: !1, b: !1, t: !1 }, g = t.pts, p = g.length; for (n = 0, o = p - 1; n < p; o = n++) { if (x = g[n], l = g[o], c = x.x, u = x.y, h = l.x, f = l.y, r.isEqualFloat(f, u)) { if (r[P("0x4d3")](s, u)) { if (r[P("0x4d3")](a, c)) return !0; if (r.isEqualFloat(a, h)) return !0; if (a < c == h < a) return !0; } } else if (r[P("0x4d3")](s, u)) { if (r[P("0x4d3")](a, c)) return !0; c < a && (f < s ? d.b = !d.b : d.t = !d.t); } else if (r[P("0x4d3")](s, f)) { if (r[P("0x4d3")](a, h)) return !0; h < a && (u < s ? d.b = !d.b : d.t = !d.t); } if (s < u != s < f) { var m = (h - c) / (f - u); if (m *= s - u, m += c, r[P("0x4d3")](a, m)) return !0; a < m && (d.z = !d.z); } } return d.t == d.b ? d.t ? !d.z : d.z : void 0; }, t[P("0x5")][P("0x4d3")] = function (t, i, r) { if (e.defined(r) || (r = 1e-8), !e[P("0x14")](t)) return !1; if (!e[P("0x14")](i)) return !1; var n = t - i; return (n = Math.abs(n)) < r; }, t.prototype.replaceCommandVertexBuffer = function (t, i, r, n) { var o = t; if (e.defined(i) && e[P("0x14")](r) && w()(r) === P("0x49f") && e[P("0x14")](n) && e[P("0x14")](n[P("0x3cc")])) { var a = o[P("0x4d4")]; if (e[P("0x14")](a) && !(a.length <= r)) { var s = e.Buffer.createVertexBuffer({ context: n[P("0x3cc")], typedArray: i, usage: e[P("0x4d5")][P("0x4d6")] }); if (e[P("0x14")](s)) { var x = a[r]; if (e[P("0x14")](x)) { var l = x[P("0x4d7")]; if (e[P("0x14")](l)) { var c = l[P("0x4d8")]; if (e[P("0x14")](c)) { var u = c[P("0x4d9")]; if (e[P("0x14")](u) && 0 < u[P("0x0")]) { var h = u[0]; if (!e[P("0x14")](h)) return; var f = h[P("0x4da")]; e[P("0x14")](f) && !f[P("0xf3")]() && f[P("0x4db")] && f[P("0xf4")](), h.vertexBuffer = s; var d = c[P("0x4dc")]; e.defined(d) && (n.context[P("0x4dd")](c[P("0x4dc")]), c[P("0x4dc")] = void 0); } } } } } } } }, t[P("0x5")].storeVertexBuffer = function (t) { if (e[P("0x14")](t)) { var i = t; if (!e.defined(i[P("0x48f")])) { var r = i[P("0x4a0")]; if (e[P("0x14")](r)) { var n = r.content; if (e[P("0x14")](n)) { var o = n[P("0x492")]; if (e[P("0x14")](o) && e[P("0x14")](o[P("0x494")])) { var a = i._loadResources; if (e[P("0x14")](a)) { var s = i[P("0x4de")][P("0x4df")]; if (e.defined(s)) { var x = s.accessors; if (e[P("0x14")](x)) { var l = s[P("0x4e0")]; if (e[P("0x14")](l)) { var c = s.meshes; if (e.defined(c)) { i[P("0x48f")] = {}, i[P("0x48f")][P("0x4b0")] = [], i[P("0x48f")][P("0x4c1")] = !1; for (var u = 0; u < c[P("0x0")]; u++) { var h = c[u]; if (e[P("0x14")](h)) { var f = h[P("0x17d")]; if (e[P("0x14")](f)) for (var d = 0; d < f[P("0x0")]; d++) { var g = f[d]; if (e[P("0x14")](g)) { var p = g[P("0x18f")]; if (e[P("0x14")](p)) for (var m in p) { if ("POSITION" === m) { var b = l[x[p[m]].bufferView], v = a[P("0x4e1")](b), C = v[P("0x1d5")](0, v[P("0x0")]); i.platSlot[P("0x4b0")][P("0x17c")]({ buffer: C, showPlat: !1 }); } } } } } } } } } } } } } } } } }, t[P("0x5")][P("0x4a9")] = function (t) { var i = void 0; try { i = e[P("0x1b")][P("0x4e2")](t, new e[P("0x1b")]()); } catch (t) {} return i; }, t[P("0x5")].createMatrix = function (t) { if (e.defined(t)) { var i = new e[P("0x1b")](); return e[P("0x1b")][P("0x4e3")](i, 0, new e[P("0x12")](t[0].x, t[0].y, t[0].z, 0), i), e[P("0x1b")][P("0x4e3")](i, 1, new e[P("0x12")](t[1].x, t[1].y, t[1].z, 0), i), e[P("0x1b")][P("0x4e3")](i, 2, new e.Cartesian4(t[2].x, t[2].y, t[2].z, 0), i), e.Matrix4.setColumn(i, 3, new e[P("0x12")](0, 0, 0, 1), i), i; } }, t.prototype[P("0x4a7")] = function (t) { if (e[P("0x14")](t)) { for (var i = [], r = 0; r < 3; r++) { i.push(this[P("0x4e4")](t[3 * r], t[3 * r + 1], t[3 * r + 2])); } return this[P("0x4e5")](i); } }, t[P("0x5")][P("0x4e4")] = function (t, i, r) { return e[P("0x11")][P("0x8d")](new e[P("0x11")](t, i, r), new e[P("0x11")]()); }; }(window.Cesium), function (e) { var t = P("0x4e6"), i = P("0x4e7"), r = e[P("0x4e8")] = function (t, i) { this.viewer = t[P("0x13b")], this[P("0x4e9")] = e[P("0x102")](t.pointLightHeight, 0.2), this[P("0x4ea")] = e[P("0x102")](t[P("0x4ea")], 100), this[P("0x4eb")] = e.defaultValue(t.boundingSphereSlicePartitions, 80), this[P("0x4ec")] = e[P("0x102")](t.boundingSphereSubdivisions, 100), this.scene = this[P("0x13b")][P("0x10f")], this.canvas = this[P("0x10f")][P("0x48")], this[P("0x17d")] = this[P("0x10f")].primitives, this[P("0x191")] = i || null, b()(e.VERSION) < 1.5 ? console[P("0x391")](P("0x3b0") + e.VERSION + P("0x4ed")) : (this.pointLightPosition = void 0, this[P("0x3ca")] = void 0); }; function n(t, i, r) { var n = t[P("0x10f")][P("0x174")](i); if (n) { var o = e[P("0x13")][P("0x175")](n); if (o[P("0x8b")] < 0) { t.scene[P("0xa3")][P("0x32a")] = !0, t[P("0x13b")][P("0x3d3")] = e[P("0x3d4")].CAST_ONLY; var a = t[P("0x10f")][P("0x7e")][P("0x86")](i), s = t[P("0x10f")][P("0xa3")].pick(a, t.scene); o = e[P("0x13")][P("0x175")](s); } r = r || 0; var x = e[P("0x11")][P("0x3d0")](o[P("0x112")], o[P("0x114")], o.height + r), l = e[P("0x13")][P("0x175")](x); return [e[P("0x23")][P("0x113")](l[P("0x112")]), e[P("0x23")][P("0x113")](l[P("0x114")]), l[P("0x8b")]]; } } function o(t, i, r, n) { var o = t[P("0x6d")](new e[P("0x1a5")]()); return o.add({ text: i, font: P("0x1a0"), showBackground: !0, position: r, pixelOffset: new e[P("0x10")](10, -30) }), o[P("0x176")] = n, o; } function a(e, t, i) { for (var r = 0; r < e[P("0x0")]; r++) { e[P("0x176")] == i && (e.get(r)[P("0x8c")] = t); } } function s(e, t) { x(e, t); } function x(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t.get(i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } r.prototype[P("0x198")] = function () { this[P("0x192")](), this.canvas[P("0x150")][P("0x170")] = P("0x171"); var i = null, r = null, x = !0, l = null, c = null, u = this; this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x16f")][P("0x160")](function (r) { x ? (l = n(u, r.position, u[P("0x4e9")]), c = e[P("0x11")][P("0x1a1")](l[0], l[1], l[2]), s(t, u[P("0x17d")]), x = !1, u[P("0x3b2")] = x) : (u[P("0x10f")][P("0x3b3")][P("0x4ee")] = !0, u[P("0x48")].style[P("0x170")] = P("0x18c"), u[P("0x16f")] && !u[P("0x16f")][P("0xf3")]() && u[P("0x16f")][P("0xf4")](), s(t, u[P("0x17d")]), x = !0, u.firstLeftClick = x), i = null; }, e.ScreenSpaceEventType[P("0x17e")]), this[P("0x16f")][P("0x160")](function (s) { if (u.tipPosition = u[P("0x10f")][P("0x174")](s[P("0x64")]), u.tipPosition && (x && (i ? a(i, u[P("0x3c2")], t) : i = o(u.primitives, P("0x4ef"), u[P("0x3c2")], t)), !x)) { i ? a(i, u[P("0x3c2")], t) : i = o(u[P("0x17d")], P("0x4f0"), u.tipPosition, t); var l = n(u, s[P("0x64")]), h = e[P("0x11")][P("0x1a1")](l[0], l[1], l[2]); r = e[P("0x11")][P("0x8e")](c, h), u[P("0x3c8")](c, r), u[P("0x3c9")] = c, u[P("0x3ca")] = r, u[P("0x3b2")] = x; } }, e[P("0x161")][P("0x163")]); }, r[P("0x5")][P("0x3c8")] = function (t, r) { if (t && r) { var n = new e[P("0x3cb")](this[P("0x10f")]); n[P("0x8c")] = t, x(i, this.primitives); var o, a = this[P("0x17d")][P("0x6d")](new e[P("0x1a4")]()); a[P("0x176")] = i, a[P("0x6d")]({ position: t, color: e[P("0x16a")][P("0x2d5")], pixelSize: 5 }), o = { context: this[P("0x10f")][P("0x3cc")], lightCamera: n, isPointLight: !0 }, this[P("0x10f")][P("0x3b3")].destroy(), this[P("0x10f")][P("0x3b3")] = new e[P("0x4f1")](o); var s = this.scene[P("0x3b3")]; s[P("0x364")] = !0, s[P("0x4f2")] = !0, s[P("0x4ee")] = !0, s[P("0x3cd")] = 1024, s[P("0x3ce")] = r, s[P("0x4f3")].stackPartitions = this.boundingSphereStackPartitions, s[P("0x4f3")][P("0x4f4")] = this[P("0x4eb")], s[P("0x4f3")][P("0x4f5")] = this.boundingSphereSubdivisions; } }, r[P("0x5")][P("0x192")] = function () { this.scene[P("0x3b3")][P("0x364")] = !1, this[P("0x10f")].shadowMap[P("0x4ee")] = void 0, this.canvas.style[P("0x170")] = P("0x18c"), this[P("0x16f")] && !this.handler[P("0xf3")]() && this.handler[P("0xf4")](), s(t, this.primitives), x(i, this[P("0x17d")]); }, r[P("0x5")][P("0xf4")] = function () { this.clear(), this[P("0x13b")] = void 0, this[P("0x4e9")] = void 0, this[P("0x10f")] = void 0, this[P("0x48")] = void 0, this.primitives = void 0, this[P("0x191")] = void 0; }; }(window.Cesium), function (e) { var t = P("0x4f6"), i = P("0x4f7"), r = e[P("0x4f8")] = function (t, i) { this.viewer = t.viewer, this[P("0x4f9")] = e[P("0x102")](t[P("0x4f9")], 1), this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x7e")] = this.viewer.camera, this[P("0x48")] = this[P("0x10f")][P("0x48")], this.primitives = this.scene[P("0x17d")], this[P("0x191")] = i || null, this[P("0x4fa")] = 0, this[P("0x4fb")] = [], null == this.scene.expandShadowMapList && (this[P("0x10f")][P("0x4fc")] = []), b()(e[P("0x373")]) < 1.5 ? console.error(P("0x3b0") + e[P("0x373")] + ",可视域分析暂不支持该版本,请更换至1.50以上的版本!") : (this[P("0x4fd")] = void 0, this[P("0x4fe")] = void 0, this[P("0x4ff")] = void 0, this[P("0x500")] = void 0, this[P("0x501")] = void 0); }; function n(t, i, r) { var n = t[P("0x10f")].pickPosition(i); if (n) { var o = e[P("0x13")].fromCartesian(n); if (o[P("0x8b")] < 0) { t.scene[P("0xa3")][P("0x32a")] = !0, t[P("0x13b")][P("0x3d3")] = e.ShadowMode[P("0x3d5")]; var a = t[P("0x7e")].getPickRay(i), s = t.scene[P("0xa3")].pick(a, t[P("0x10f")]); o = e[P("0x13")][P("0x175")](s); } r = r || 0; var x = e[P("0x11")][P("0x3d0")](o[P("0x112")], o[P("0x114")], o[P("0x8b")] + r), l = e[P("0x13")].fromCartesian(x); return [e[P("0x23")].toDegrees(l[P("0x112")]), e[P("0x23")][P("0x113")](l[P("0x114")]), l[P("0x8b")]]; } } function o(t, i, r, n) { var o = t.add(new e[P("0x1a5")]()); return o[P("0x6d")]({ text: i, font: P("0x1a0"), showBackground: !0, position: r, pixelOffset: new e[P("0x10")](10, -10) }), o[P("0x176")] = n, o; } function a(e, t, i) { for (var r = 0; r < e[P("0x0")]; r++) { e[P("0x176")] == i && (e[P("0x187")](r).position = t); } } function s(e, t) { !function (e, t) { for (var i = 0; i < t.length; i++) { t[P("0x187")](i)[P("0x176")] == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } }(e, t); } function x(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { t[P("0x187")](i).id == e && (t[P("0x17f")](t[P("0x187")](i)), i--); } } r[P("0x5")].activate = function () { var i = null, r = this[P("0x4fb")][P("0x0")]; this[P("0x4fb")][r] = new e[P("0x3cb")](this.scene), this[P("0x10f")][P("0x3b3")].enabled = !1; var x = null, l = null, c = null; this[P("0x16f")] && !this.handler[P("0xf3")]() && this[P("0x16f")].destroy(), this[P("0x48")][P("0x150")][P("0x170")] = "crosshair"; var u = this, h = !0, f = null, d = null; this.handler = new e[P("0x15f")](this.canvas), this[P("0x16f")][P("0x160")](function (e) { h ? (f = n(u, e[P("0x8c")], u[P("0x4f9")]), h = !1, u.firstLeftClick = h, s(t, u[P("0x17d")]), i = null) : (u[P("0x16f")] && !u.handler[P("0xf3")]() && u[P("0x16f")][P("0xf4")](), h = !0, u[P("0x3b2")] = h, u.canvas[P("0x150")][P("0x170")] = "default", s(t, u[P("0x17d")]), i = null, u[P("0x4fa")]++); }, e[P("0x161")][P("0x17e")]), this[P("0x16f")][P("0x160")](function (r) { if (u[P("0x3c2")] = u[P("0x10f")][P("0x174")](r.endPosition), u[P("0x3c2")] && (h && (i ? a(i, u[P("0x3c2")], t) : i = o(u[P("0x17d")], P("0x502"), u[P("0x3c2")], t)), !h)) { i ? a(i, u.tipPosition, t) : i = o(u[P("0x17d")], P("0x503"), u.tipPosition, t), d = n(u, r.endPosition), x = turf[P("0x11b")](turf[P("0x2ec")]([f[0], f[1]]), turf[P("0x2ec")]([d[0], d[1]])); var s = turf.distance(turf.point([f[0], f[1]]), turf[P("0x2ec")]([d[0], d[1]])), g = d[2] - f[2]; l = e[P("0x23")][P("0x113")](Math.atan(g / (1e3 * s))); var p = e[P("0x11")][P("0x1a1")](f[0], f[1], f[2]), m = e[P("0x11")][P("0x1a1")](d[0], d[1], d[2]); c = e[P("0x11")][P("0x8e")](p, m), u[P("0x504")]({ observePtCoordinate: f, frustumLength: c, frustumHead: x, frustumPitch: l, frustumField: 30 }), u[P("0x4fd")] = f, u.realTimeHeading = x, u[P("0x4ff")] = l, u.realTimeDistance = c, u[P("0x501")] = 30, u[P("0x3b2")] = h; } }, e.ScreenSpaceEventType[P("0x163")]); }, r[P("0x5")][P("0x504")] = function (t) { var r = t[P("0x505")], n = t[P("0x506")], o = t.frustumHead, a = t.frustumPitch, s = t[P("0x507")]; if (null != r && null != n && null != o && null != a && null != s) { var l = e[P("0x11")][P("0x1a1")](r[0], r[1], r[2]), c = e[P("0x23")][P("0x119")](o), u = e.Math.toRadians(a), h = this[P("0x4fb")].length, f = i + (h - 1), d = this[P("0x10f")][P("0x4fc")][P("0x0")]; d > this[P("0x4fa")] && this[P("0x10f")][P("0x4fc")][P("0x259")](d - 1, 1); var g, p = this[P("0x4fb")][h - 1]; p.frustum = new e.PerspectiveFrustum({ fov: e[P("0x23")][P("0x119")](s), aspectRatio: 1.6, near: 1, far: n }), g = { context: this[P("0x10f")][P("0x3cc")], lightCamera: p, cascadesEnabled: !1, darkness: 0.5, isPointLight: !1 }, this[P("0x10f")][P("0x4fc")].push(new e.ShadowMap(g)); var m = this[P("0x10f")].expandShadowMapList[this[P("0x10f")].expandShadowMapList.length - 1]; m[P("0x508")][P("0x3cf")] = 0, m[P("0x364")] = !0, m.size = 2048, m[P("0x509")] = !0, p[P("0x50a")](l, new e[P("0xa9")](c, u, 1e-21)), x(f, this[P("0x17d")]), this.primitives.add(new e.DebugCameraPrimitive({ camera: p, color: e[P("0x16a")][P("0x50b")](1, 1, 1, 1), id: f })); } }, r[P("0x5")][P("0x192")] = function () { this[P("0x10f")][P("0x3b3")][P("0x509")] = void 0; for (var e = this[P("0x4fb")].length, r = 0; r < e; r++) { x(i + r, this[P("0x17d")]); } s(t, this[P("0x17d")]), this._spotLightCameraList[P("0x0")] = 0, this[P("0x10f")][P("0x4fc")][P("0x0")] = 0; }, r[P("0x5")][P("0xf4")] = function () { this.scene[P("0x3b3")][P("0x509")] = void 0, this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](), this[P("0x10f")].shadowMap[P("0x364")] = !1, this[P("0x48")][P("0x150")][P("0x170")] = P("0x18c"), this.clear(), this.viewer = void 0, this[P("0x4f9")] = void 0, this[P("0x10f")] = void 0, this[P("0x7e")] = void 0, this[P("0x48")] = void 0, this[P("0x17d")] = void 0, this[P("0xef")] = void 0, this[P("0x191")] = void 0; }; }(window.Cesium), function (e) { var t = P("0x50c"), i = P("0x50d"), r = P("0x50e"), n = P("0x50f"), o = P("0x510"), a = e.GeoVolumeCalculate = function (e, t) { this[P("0x13b")] = e[P("0x13b")], this[P("0x10f")] = this[P("0x13b")].scene, this.canvas = this[P("0x10f")].canvas, this[P("0x7e")] = this[P("0x10f")][P("0x7e")], this[P("0x17d")] = this.scene[P("0x17d")], this.designElevation = e.designElevation ? e[P("0x511")] : 4e3, this[P("0x328")] = e[P("0x328")] ? e[P("0x328")] : 500, this.callback = t || null; }; function s(e, t) { for (var i = 0, r = 0; r < t[P("0x0")]; r++) { if (t[r] == e && i++, 2 == i) return !0; } } function x(e, t, i, r, n, o, a) { var s = {}, x = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[0]], t[0], t[1], e.geometry[P("0x2ed")][0][i[0]]]]), l = turf[P("0x2d9")](x), c = a - r, u = 1 / 3 * l * c, h = turf.polygon([[e.geometry[P("0x2ed")][0][i[1]], t[0], t[1], e.geometry[P("0x2ed")][0][i[1]]]]), f = turf[P("0x2d9")](h), d = a - n, g = turf[P("0x2d4")]([[e[P("0x180")][P("0x2ed")][0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[0], t[1], e[P("0x180")][P("0x2ed")][0][i[1]]]]), p = turf.area(g), m = turf[P("0x2d4")]([[e.geometry.coordinates[0][i[1]], e[P("0x180")][P("0x2ed")][0][i[2]], t[1], t[0], e.geometry[P("0x2ed")][0][i[1]]]]), b = turf[P("0x2d9")](m), v = b < p ? p : b, C = 1 / 3 * f * d + 1 / 3 * (v - f) * (d + (a - o)); return 0 <= c ? (s.fillVolume = u, s[P("0x34d")] = l, s[P("0x34a")] = C, s[P("0x34b")] = v) : (s[P("0x34c")] = C, s.fillArea = v, s[P("0x34a")] = u, s[P("0x34b")] = l), s; } function l(t, i, r, n, o, a, s, x, l) { var c = {}, u = Math[P("0x78")](t / (t - i)), h = new e[P("0x11")](0, 0, 0), f = e.Cartesian3[P("0x3d0")](r[P("0x180")].coordinates[0][n][0], r.geometry[P("0x2ed")][0][o][1], x), d = e.Cartesian3.fromRadians(r.geometry[P("0x2ed")][0][o][0], r[P("0x180")][P("0x2ed")][0][o][1], l), g = e[P("0x13")][P("0x175")](e[P("0x11")].lerp(f, d, u, h)); return c.intersection = [g[P("0x112")], g[P("0x114")]], c[P("0x349")] = [a, s], c; } function c(t, r) { return t.add({ name: i, position: r, label: { text: P("0x51b"), font: P("0x51c"), showBackground: !0, pixeloffset: new e[P("0x10")](0, 20) } }); } function u(e, t) { for (var i = 0; i < t.values[P("0x0")]; i++) { t[P("0x190")][i][P("0x176")] == e && (t[P("0x17f")](t.values[i]), i--); } } a[P("0x5")][P("0x198")] = function () { this.canvas[P("0x150")][P("0x170")] = P("0x171"); var a = 0, s = this, x = [], l = [], h = [], f = [], d = []; this[P("0x16f")] = new e[P("0x15f")](this[P("0x48")]), this[P("0x16f")][P("0x160")](function (i) { var r = s[P("0x7e")][P("0x86")](i[P("0x8c")]), n = s.scene[P("0xa3")][P("0xa4")](r, s[P("0x10f")]); l[P("0x17c")](n); var o = e[P("0x13")][P("0x175")](n), c = e.Math[P("0x113")](o[P("0x112")]), u = e.Math[P("0x113")](o[P("0x114")]), g = o[P("0x8b")]; h[P("0x17c")](c, u, g), f[P("0x17c")](c, u, s[P("0x511")]), x = a ? (d[a - 1][P("0x2eb")][P("0x19f")][P("0x512")]()[P("0x513")](), [d[0][P("0x2eb")][P("0x19f")][P("0x512")]()[1], n, d[a - 1][P("0x2eb")][P("0x19f")][P("0x512")]()[0]]) : [n, n, n], s[P("0x514")] = s[P("0x13b")].entities.add({ name: t, polyline: { positions: x, clampToGround: !0, width: 5, material: new e.PolylineOutlineMaterialProperty({ color: e[P("0x16a")].ORANGE, outlineWidth: 2, outlineColor: e[P("0x16a")][P("0x43b")] }) } }), d.push(s[P("0x514")]), a++; }, e.ScreenSpaceEventType.LEFT_CLICK), this.handler.setInputAction(function (e) { if (x[P("0x0")]) { var t = s[P("0x7e")].getPickRay(e[P("0x64")]), i = s.scene[P("0xa3")][P("0xa4")](t, s[P("0x10f")]); x[P("0x259")](x.length - 2, 1, i), d[a - 1][P("0x2eb")][P("0x19f")] = x, s[P("0x378")] ? s.labelEntity.position = i : s[P("0x378")] = c(s[P("0x13b")][P("0x194")], i); } else s[P("0x378")] ? s.labelEntity.position = i : s[P("0x378")] = c(s[P("0x13b")][P("0x194")], i); }, e[P("0x161")][P("0x163")]), this[P("0x16f")][P("0x160")](function (a) { var x = s.camera[P("0x86")](a[P("0x8c")]), c = s.scene[P("0xa3")][P("0xa4")](x, s.scene); l.push(c); var d = e[P("0x13")][P("0x175")](c), g = e.Math[P("0x113")](d[P("0x112")]), p = e.Math[P("0x113")](d[P("0x114")]), m = d.height; h.push(g, p, m), f.push(g, p, s[P("0x511")]), s[P("0x16f")].destroy(), s[P("0x48")].style[P("0x170")] = P("0x18c"), s[P("0x378")] && u(i, s[P("0x13b")][P("0x194")]), s[P("0x514")] && u(t, s[P("0x13b")][P("0x194")]), s.VOLUME = s[P("0x515")](s.scene, h, s[P("0x511")], s[P("0x328")]), s[P("0x191")](s[P("0x516")]), s[P("0x517")] = s.viewer[P("0x194")][P("0x6d")]({ name: n, polygon: { hierarchy: { positions: e[P("0x11")][P("0x19e")](f) }, material: e[P("0x16a")].BLUE.withAlpha(0.8), perPositionHeight: !0 } }), s.polygonEntity = s.viewer[P("0x194")][P("0x6d")]({ name: r, polygon: { hierarchy: { positions: l }, material: e.Color[P("0x310")][P("0x16c")](0.5) } }), s.designPolygonEntity_coral = s[P("0x13b")][P("0x194")].add({ name: o, polygon: { hierarchy: { positions: e[P("0x11")].fromDegreesArrayHeights(f) }, material: e.Color[P("0x518")].withAlpha(0.5), perPositionHeight: !0, outline: !0, outlineColor: e[P("0x16a")][P("0x2d5")][P("0x16c")](1), extrudedHeight: 0, closeTop: !0, closeBottom: !1 } }); }, e[P("0x161")][P("0x189")]); }, a.prototype[P("0x515")] = function (t, i, r, n) { for (var o, a = { features: [] }, c = t.globe.ellipsoid, u = [], h = e[P("0x11")][P("0x19e")](i), f = 0; f < h.length; f++) { var d = e[P("0x23")][P("0x113")](c[P("0xd6")](h[f]).longitude), g = e[P("0x23")][P("0x113")](c[P("0xd6")](h[f])[P("0x114")]); u[P("0x17c")]([d, g]); } u[P("0x17c")]([e.Math[P("0x113")](c.cartesianToCartographic(h[0])[P("0x112")]), e[P("0x23")][P("0x113")](c[P("0xd6")](h[0])[P("0x114")])]); var p = turf[P("0x33e")](u), m = turf.bbox(p), b = turf.randomPoint(2 * n, { bbox: m }), v = turf.polygon([u]); for (f = 0; f < b[P("0x33a")][P("0x0")]; f++) { var y = turf[P("0x2ec")](b.features[f][P("0x180")][P("0x2ed")]); turf.booleanPointInPolygon(y, v) || (b[P("0x33a")][P("0x259")](f, 1), f--); } var _ = [], A = h[P("0x1c6")](h[0]); for (f = 0; f < A[P("0x0")] - 1; f++) { for (var I = 1; I < Math.ceil(n / 10); I++) { var w = new e[P("0x11")](0, 0, 0); w = e[P("0x11")][P("0x308")](A[f], A[f + 1], I * (1 / Math[P("0x342")](n / 10)), w), _[P("0x17c")](w); } } h = h[P("0x1c6")](_); var G = [], E = []; for (f = 0; f < h[P("0x0")]; f++) { var S = c.cartesianToCartographic(h[f])[P("0x112")], T = c[P("0xd6")](h[f]).latitude; G[P("0x17c")](new e.Cartographic(S, T)), E[P("0x17c")]([S, T]); } for (f = 0; f < b.features[P("0x0")]; f++) { var M = e[P("0x23")].toRadians(b.features[f][P("0x180")].coordinates[0]), N = e[P("0x23")][P("0x119")](b.features[f].geometry[P("0x2ed")][1]); G[P("0x17c")](new e[P("0x13")](M, N)); } return t.sampleHeightMostDetailed(G).then(function (e) { a[P("0x165")] = P("0x343"); for (var t = 0; t < e[P("0x0")]; t++) { a[P("0x33a")][P("0x17c")]({ type: P("0x344"), geometry: { coordinates: [e[t][P("0x112")], e[t][P("0x114")]], type: P("0x345") }, properties: { z: e[t].height } }); } o = turf.tin(a, "z"); var i = 0, n = 0, c = 0, u = 0, h = r; for (t = 0; t < o[P("0x33a")][P("0x0")]; t++) { var f = o[P("0x33a")][t].properties.a - h, d = o[P("0x33a")][t][P("0x33d")].b - h, g = o[P("0x33a")][t][P("0x33d")].c - h, p = [], m = []; if (f * d < 0 || f * g < 0 || d * g < 0) { if (f * d < 0) { var b = l(f, d, o[P("0x33a")][t], 0, 1, "a", "b", o[P("0x33a")][t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].b); p[P("0x17c")](b[P("0x348")]), m[P("0x17c")](b[P("0x349")][0], b[P("0x349")][1]); } var v; f * g < 0 && (b = l(f, g, o[P("0x33a")][t], 0, 2, "a", "c", o.features[t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].c), p[P("0x17c")](b[P("0x348")]), m[P("0x17c")](b[P("0x349")][0], b[P("0x349")][1])), d * g < 0 && (b = l(d, g, o[P("0x33a")][t], 1, 2, "b", "c", o[P("0x33a")][t][P("0x33d")].b, o[P("0x33a")][t][P("0x33d")].c), p[P("0x17c")](b[P("0x348")]), m[P("0x17c")](b.vertexSerial[0], b[P("0x349")][1])), s("a", m) && (n += (v = x(o[P("0x33a")][t], p, [0, 1, 2], o[P("0x33a")][t][P("0x33d")].a, o.features[t][P("0x33d")].b, o[P("0x33a")][t].properties.c, h)).fillVolume, u += v[P("0x34d")], i += v[P("0x34a")], c += v.excavationArea), s("b", m) && (n += (v = x(o.features[t], p, [1, 0, 2], o.features[t][P("0x33d")].b, o.features[t][P("0x33d")].a, o[P("0x33a")][t][P("0x33d")].c, h))[P("0x34c")], u += v.fillArea, i += v.excavationVolume, c += v[P("0x34b")]), s("c", m) && (n += (v = x(o[P("0x33a")][t], p, [2, 0, 1], o[P("0x33a")][t][P("0x33d")].c, o.features[t].properties.a, o[P("0x33a")][t][P("0x33d")].b, h))[P("0x34c")], u += v[P("0x34d")], i += v.excavationVolume, c += v[P("0x34b")]); } else { var y = turf[P("0x2d4")]([o[P("0x33a")][t][P("0x180")][P("0x2ed")][0]]), _ = turf[P("0x2d9")](y), A = 1 / 3 * [h - o[P("0x33a")][t][P("0x33d")].a + (h - o[P("0x33a")][t][P("0x33d")].b) + (h - o.features[t][P("0x33d")].c)]; 0 <= A ? (n += _ * A, u += _) : (i += _ * A, c += _); } } var I = { fillVolume: Number(n[P("0x2af")](3)), excavationVolume: Number(Math.abs(i)[P("0x2af")](3)), totalVolume: Number(n[P("0x2af")](3)) + Number(Math[P("0x78")](i)[P("0x2af")](3)), fillArea: Number(u[P("0x2af")](3)), excavationArea: Number(c[P("0x2af")](3)), totalArea: Number(u[P("0x2af")](3)) + Number(c[P("0x2af")](3)) }; return new C.a(function (e) { e(I); }); }); }, a[P("0x5")].clear = function () { this[P("0x48")][P("0x150")][P("0x170")] = "default", this[P("0x16f")] && !this[P("0x16f")][P("0xf3")]() && this[P("0x16f")][P("0xf4")](), this[P("0x514")] && u(t, this[P("0x13b")][P("0x194")]), this.labelEntity && u(i, this[P("0x13b")][P("0x194")]), this[P("0x519")] && u(r, this[P("0x13b")].entities), this[P("0x517")] && u(n, this[P("0x13b")][P("0x194")]), this[P("0x51a")] && u(o, this.viewer[P("0x194")]), this[P("0x514")] = void 0, this[P("0x378")] = void 0; }, a[P("0x5")][P("0xf4")] = function () { this[P("0x192")](), this[P("0x13b")] = void 0, this.scene = void 0, this[P("0x48")] = void 0, this.camera = void 0, this[P("0x17d")] = void 0, this[P("0x511")] = void 0, this[P("0x328")] = void 0, this[P("0x191")] = void 0; }; }(window[P("0xfd")]), function (e) { var t = e[P("0x51d")] = function (t, i, r) { this[P("0x13b")] = t.viewer, this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this.globe = this[P("0x13b")][P("0x10f")].globe, this[P("0x440")] = t[P("0x440")] ? t[P("0x440")] : {}, this.classificationPrimitiveCollection = new e[P("0x51e")](), this[P("0x10f")].primitives[P("0x6d")](this.classificationPrimitiveCollection), this.callback_click = i || function () {}, this.callback_move = r || function () {}, this[P("0x221")] = void 0 === t.show || t.show, this[P("0x3dd")] = t[P("0x3dd")] ? t[P("0x3dd")] : e[P("0x16a")][P("0x51f")][P("0x16c")](0.3), this.highlightColor_click = t[P("0x520")] ? t[P("0x520")] : e[P("0x16a")].YELLOW.withAlpha(0.3), this[P("0x521")] = t[P("0x521")] ? t.highlightColor_move : e[P("0x16a")][P("0x2cf")][P("0x16c")](0.2), this[P("0x522")] = null, this[P("0x523")] = null, this._INTERSECTED_FLOOR3 = null, this.handler = new e.ScreenSpaceEventHandler(this[P("0x13b")][P("0x48")]); }; e[P("0xf")](t[P("0x5")], { show: { set: function set(e) { this._show = e, this[P("0x524")][P("0x221")] = e; }, get: function get() { return this[P("0x49c")]; } } }), t[P("0x5")][P("0x525")] = function () { var t = this; if (this[P("0x192")](), this[P("0x522")] = null, this[P("0x523")] = null, this[P("0x526")] = null, this[P("0x524")][P("0x221")] = this[P("0x49c")], t[P("0x440")] && t.data[P("0x180")]) { var i = 0; if (t[P("0x440")][P("0x33d")].baseHeight) i = t.data[P("0x33d")][P("0x527")];else if (t.scene[P("0x528")]) { var r = t[P("0x440")][P("0x180")].coordinates[0][0], n = new e[P("0x13")](e[P("0x23")][P("0x119")](r[0]), e[P("0x23")][P("0x119")](r[1])); i = t[P("0x10f")][P("0x529")](n); } else (i = t[P("0xa3")][P("0xed")]({ longitude: e[P("0x23")][P("0x119")](t[P("0x440")][P("0x180")][P("0x2ed")][0][0][0]), latitude: e.Math.toRadians(t[P("0x440")][P("0x180")][P("0x2ed")][0][0][1]) })) || console.error(P("0x52a")); if (!i) return void console.warn(P("0x52b")); for (var o = t[P("0x440")][P("0x33d")][P("0x52c")], a = [], s = 0; s < t[P("0x440")][P("0x180")][P("0x2ed")][0][P("0x0")]; s++) { a[P("0x17c")](t.data[P("0x180")][P("0x2ed")][0][s][0]), a[P("0x17c")](t[P("0x440")].geometry[P("0x2ed")][0][s][1]); } for (var x = 0, l = 0; l < o[P("0x0")]; l++) { var c = i + x, u = c + o[l], h = new e.GeometryInstance({ geometry: e[P("0x1af")][P("0x231")]({ positions: e[P("0x11")][P("0x1da")](a), height: c, extrudedHeight: u, vertexFormat: e[P("0x1b0")][P("0x1b1")] }), attributes: { color: e[P("0x184")][P("0x1b2")](this[P("0x3dd")]) }, id: { tag: P("0x52d"), description: t[P("0x440")], level: l + 1 } }), f = new e[P("0x35b")]({ geometryInstances: h, classificationType: e[P("0x17a")][P("0x17b")] }); this[P("0x524")][P("0x6d")](f), x += o[l]; } } }, t[P("0x5")].activate = function () { var t = this; t[P("0x16f")][P("0x160")](function (i) { var r = t[P("0x10f")].pick(i[P("0x8c")]); if (r && r.id && r.id[P("0x2cc")] == P("0x52d")) { if (t[P("0x52e")](r), t[P("0x522")] && t._INTERSECTED_FLOOR != r && (t._INTERSECTED_FLOOR.primitive.getGeometryInstanceAttributes(t._INTERSECTED_FLOOR.id)[P("0x169")] = e.ColorGeometryInstanceAttribute.toValue(t[P("0x3dd")])), t[P("0x522")] = r, t[P("0x526")]) { var n = t._INTERSECTED_FLOOR3[P("0x52f")][P("0x530")][0].id, o = t[P("0x526")].getGeometryInstanceAttributes(n); o[P("0x169")][P("0x531")]() == e[P("0x184")][P("0x356")](t[P("0x520")]).toString() && (o[P("0x169")] = e[P("0x184")][P("0x356")](t[P("0x3dd")])); } var a = t[P("0x522")].primitive[P("0x354")](t[P("0x522")].id); if (a.color.toString() == e[P("0x184")][P("0x356")](t[P("0x520")]).toString()) return; a[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0x520")]); } }, e[P("0x161")][P("0x17e")]), t[P("0x16f")][P("0x160")](function (i) { var r = t[P("0x10f")].pick(i[P("0x64")]); if (r && r.id && r.id[P("0x2cc")] == P("0x52d")) { if (t[P("0x532")](r), t[P("0x523")] && t[P("0x523")] != r && (t._INTERSECTED_FLOOR2[P("0x182")][P("0x354")](t[P("0x523")].id).color = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0x3dd")])), t[P("0x523")] = r, t[P("0x522")]) { var n = t[P("0x522")].primitive.getGeometryInstanceAttributes(t[P("0x522")].id); n[P("0x169")][P("0x531")]() == e[P("0x184")].toValue(t[P("0x3dd")])[P("0x531")]() && (n.color = e[P("0x184")][P("0x356")](t[P("0x520")])); } var o = t._INTERSECTED_FLOOR2.primitive[P("0x354")](t[P("0x523")].id); if (o.color[P("0x531")]() == e[P("0x184")][P("0x356")](t[P("0x521")])[P("0x531")]()) return; o[P("0x169")] = e.ColorGeometryInstanceAttribute.toValue(t[P("0x521")]); } }, e[P("0x161")][P("0x163")]); }, t[P("0x5")][P("0x533")] = function (t) { var i = null; if (this[P("0x440")] && this.data[P("0x180")] && this[P("0x49c")] && (i = this[P("0x524")][P("0x187")](t - 1))) { if (this[P("0x526")] && this._INTERSECTED_FLOOR3 != i) { var r = this[P("0x526")][P("0x52f")][P("0x530")][0].id; this[P("0x526")][P("0x354")](r)[P("0x169")] = e[P("0x184")][P("0x356")](this.fillColor); } this._INTERSECTED_FLOOR3 = i; var n = this._INTERSECTED_FLOOR3[P("0x52f")][P("0x530")][0].id; this._INTERSECTED_FLOOR3.getGeometryInstanceAttributes(n).color = e.ColorGeometryInstanceAttribute[P("0x356")](this[P("0x520")]); } return i; }, t[P("0x5")].clear = function () { this[P("0x524")][P("0xf5")](); }, t.prototype[P("0x534")] = function () { this[P("0x16f")][P("0x535")](e[P("0x161")][P("0x163")]), this[P("0x16f")].removeInputAction(e[P("0x161")][P("0x17e")]); }, t[P("0x5")].destroy = function () { this[P("0x192")](), this[P("0x524")].destroy(), this[P("0x524")] = void 0, this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")][P("0xf4")](), this[P("0x13b")] = void 0, this.data = void 0, this[P("0x3dd")] = void 0, this[P("0x520")] = void 0, this[P("0x521")] = void 0, this[P("0x522")] = void 0, this[P("0x523")] = void 0, this[P("0x526")] = void 0; }; }(window[P("0xfd")]), function (e) { var t = e[P("0x536")] = function (t) { this[P("0x13b")] = t[P("0x13b")], this[P("0x10f")] = this.viewer[P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0x7f")] = e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x7f")]), this._heading = this[P("0x7e")][P("0x7f")], this[P("0x80")] = e[P("0x23")][P("0x113")](this.camera.pitch), this[P("0x537")] = this.camera.pitch, this[P("0x81")] = e[P("0x23")][P("0x113")](this.camera[P("0x81")]), this[P("0x538")] = this[P("0x7e")][P("0x81")], this[P("0x539")] = t[P("0x539")], this[P("0x8e")] = 0, this[P("0x53a")] = 100, this[P("0x11a")] = [e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x53b")][P("0x112")]), e.Math[P("0x113")](this[P("0x7e")][P("0x53b")].latitude), this[P("0x7e")][P("0x53b")][P("0x8b")]], this.height = this[P("0x7e")][P("0x53b")][P("0x8b")], this[P("0x53c")] = !!e[P("0x14")](t[P("0x53c")]) && t[P("0x53c")], this[P("0x53d")] = 0, this.deltaRadians = e[P("0x23")][P("0x119")](1), this.deltaDistance = 0, this[P("0x53e")](), this[P("0x10f")][P("0x53f")][P("0x130")](this[P("0x540")], this); }; t[P("0x5")][P("0x540")] = function (t, i) { this.isFlying && (this.camera[P("0x9c")]({ destination: e[P("0x11")][P("0x1a1")](this.center[0], this[P("0x11a")][1], this[P("0x11a")][2] + this[P("0x53d")]), orientation: { heading: this[P("0x541")] += e[P("0x23")][P("0x119")](this[P("0x539")]), pitch: this[P("0x537")], roll: this[P("0x538")] } }), this[P("0x7e")][P("0x11c")](this[P("0x53a")] + this[P("0x542")]), this[P("0x7f")] = e[P("0x23")][P("0x113")](this[P("0x7e")][P("0x7f")]), this[P("0x80")] = e[P("0x23")].toDegrees(this[P("0x7e")].pitch), this[P("0x81")] = e[P("0x23")].toDegrees(this.camera[P("0x81")]), this[P("0x8b")] = (this[P("0x11a")][2] + this.deltaHeight)[P("0x2af")](2), this.distance = (this._distance + this[P("0x542")])[P("0x2af")](2)); }, t[P("0x5")][P("0x543")] = function (t, i) { if (e[P("0x14")](t) && e[P("0x14")](i)) { this[P("0x53c")] = !0, this[P("0x11a")] = i, this[P("0x53a")] = t, this.deltaDistance = 0, this[P("0x53d")] = 0, this[P("0x541")] = this[P("0x7e")][P("0x7f")], this._pitch = this[P("0x7e")][P("0x80")], this[P("0x538")] = this.camera[P("0x81")]; for (var r = !1, n = 0; n < this[P("0x10f")][P("0x545")][P("0x2b8")].length; n++) { if (this.scene._preRender._listeners[n] === this[P("0x540")]) { r = !0; break; } } r || this[P("0x10f")][P("0x53f")][P("0x130")](this[P("0x540")], this); } else console[P("0x2e2")](P("0x544")); }, t[P("0x5")][P("0x546")] = function () { this[P("0x53c")] = !1; }, t[P("0x5")][P("0x547")] = function () { this[P("0x53c")] = !0; }, t[P("0x5")].stop = function () { this.scene.preRender[P("0x548")](this[P("0x540")], this); }, t.prototype[P("0xf4")] = function () { this[P("0x10f")][P("0x53f")][P("0x548")](this[P("0x540")], this), this[P("0x13b")] = void 0, this.scene = void 0, this[P("0x7e")] = void 0, e[P("0x22b")](this); }, t.prototype[P("0x53e")] = function () { var t = this; document.addEventListener(P("0x549"), function (i) { if (t.viewer) switch (i.keyCode) { case 40: i[P("0x54a")] ? t[P("0x53d")] -= 10 : (t[P("0x537")] -= t[P("0x54b")], t[P("0x537")] < -e[P("0x23")].TWO_PI && (t[P("0x537")] += e.Math[P("0xab")])); break; case 38: i[P("0x54a")] ? t.deltaHeight += 10 : (t[P("0x537")] += t[P("0x54b")], t[P("0x537")] > -e[P("0x23")][P("0xab")] && (t[P("0x537")] -= e[P("0x23")].TWO_PI)); break; case 39: i[P("0x54a")] ? (t[P("0x538")] += t[P("0x54b")], t[P("0x538")] > e[P("0x23")][P("0xab")] && (t._roll -= e[P("0x23")][P("0xab")])) : t[P("0x542")] -= 50; break; case 37: i[P("0x54a")] ? (t[P("0x538")] -= t[P("0x54b")], t[P("0x538")] < e.Math[P("0xab")] && (t[P("0x538")] += e[P("0x23")][P("0xab")])) : t[P("0x542")] += 50; } }); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x54c")] = function (t) { this[P("0x13b")] = t.viewer, this[P("0x54d")] = t[P("0x54d")], this[P("0x80")] = t[P("0x80")], this[P("0x81")] = t[P("0x81")], this.height = t[P("0x8b")], this[P("0x539")] = t[P("0x539")], this.lon = t.lon, this.lat = t[P("0x54e")], this[P("0x54f")] = t.planePrimitive, this.hpRoll = t[P("0x550")], this[P("0x551")] = t[P("0x551")], this.isFlying = t.isFlying, this[P("0x8c")] = t[P("0x8c")], this[P("0x552")] = t.fixedFrameTransform, this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this.camera = this.viewer[P("0x7e")], this[P("0x553")] = new e[P("0x554")](), this[P("0x555")] = new e[P("0x11")](), this.center = new e.Cartesian3(), this[P("0x556")] = new e[P("0xa9")](), this.deltaRadians = e[P("0x23")][P("0x119")](3), this.init(), this[P("0x53e")](); }; t[P("0x5")].init = function () { var t = this, i = this[P("0x10f")][P("0x24f")], r = 0; this[P("0x54f")][P("0x557")][P("0x333")](function (n) { n[P("0x558")].addAll({ speedup: 0.5, loop: e[P("0x559")][P("0x55a")] }), r = 2 * Math[P("0xee")](n[P("0x55b")][P("0x181")], t[P("0x7e")].frustum.near), i[P("0x30")] = 0.5 * r, e[P("0x1b")][P("0xd4")](n.modelMatrix, n[P("0x55b")][P("0x11a")], t[P("0x11a")]); var o = e[P("0x23")][P("0x119")](230), a = e[P("0x23")][P("0x119")](-20); t[P("0x556")][P("0x7f")] = o, t[P("0x556")][P("0x80")] = a, t[P("0x556")][P("0x55c")] = 50 * r, t.camera[P("0x50a")](t.center, t[P("0x556")]); }), viewer[P("0x194")].add({ position: this.pathPosition, name: "path", path: { show: !0, leadTime: 0, trailTime: 60, width: 2, resolution: 1, material: new e[P("0x55d")]({ glowPower: 0.3, color: e.Color[P("0x55e")] }) } }); }, t[P("0x5")][P("0x104")] = function () { if (this[P("0x53c")]) { this[P("0x54d")] = e[P("0x23")].toDegrees(this.hpRoll[P("0x7f")])[P("0x2af")](1), this.pitch = e[P("0x23")][P("0x113")](this.hpRoll[P("0x80")])[P("0x2af")](1), this.roll = e[P("0x23")][P("0x113")](this[P("0x550")][P("0x81")])[P("0x2af")](1), this.speed = this.speed, this[P("0x555")] = e[P("0x11")][P("0x6c")](e[P("0x11")][P("0xb8")], this[P("0x539")] / 10, this[P("0x555")]); var t = e[P("0x1b")][P("0xd4")](this[P("0x54f")][P("0x4ac")], this[P("0x555")], this.position); this[P("0x553")][P("0x55f")](e[P("0x560")][P("0x561")](), t), e[P("0x1f")][P("0x562")](t, this[P("0x550")], e[P("0x16")][P("0x110")], this[P("0x552")], this[P("0x54f")][P("0x4ac")]); var i = e[P("0x13")][P("0x175")](t); this[P("0x563")] = e.Math[P("0x113")](i[P("0x112")]), this[P("0x54e")] = e[P("0x23")][P("0x113")](i[P("0x114")]), this.height = i[P("0x8b")], this.fromBehind && (e.Matrix4[P("0xd4")](this[P("0x54f")][P("0x4ac")], this[P("0x54f")][P("0x55b")].center, this[P("0x11a")]), this[P("0x556")][P("0x7f")] = this[P("0x550")].heading, this[P("0x556")][P("0x80")] = this[P("0x550")][P("0x80")], this[P("0x7e")][P("0x50a")](this[P("0x11a")], this[P("0x556")])); } }, t[P("0x5")].play = function () { this[P("0x13b")].scene[P("0x564")][P("0x130")](this[P("0x104")], this); }, t[P("0x5")][P("0x546")] = function () { this[P("0x13b")].scene[P("0x564")][P("0x548")](this[P("0x104")], this); }, t[P("0x5")][P("0x547")] = function () { 0 != this[P("0x13b")][P("0x194")][P("0x430")][P("0x0")] ? (this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this), this[P("0x13b")][P("0x10f")].postRender.addEventListener(this[P("0x104")], this)) : this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this); }, t.prototype.stop = function () { this.viewer[P("0x10f")][P("0x564")].removeEventListener(this[P("0x104")], this), this[P("0x13b")].entities[P("0xf5")](), this[P("0x10f")][P("0x17d")][P("0xf5")](), document[P("0x548")](P("0x549"), this[P("0x565")]); }, t[P("0x5")][P("0x53e")] = function () { var t = this; document.addEventListener("keydown", function (i) { switch (i[P("0x566")]) { case 40: i[P("0x54a")] ? t[P("0x539")] = Math.max(--t.speed, 1) : (t[P("0x550")].pitch -= t[P("0x54b")], t.hpRoll[P("0x80")] < -e[P("0x23")][P("0xab")] && (t[P("0x550")][P("0x80")] += e[P("0x23")][P("0xab")])); break; case 38: i.shiftKey ? t[P("0x539")] = Math[P("0x7d")](++t[P("0x539")], 100) : (t[P("0x550")][P("0x80")] += t.deltaRadians, t[P("0x550")][P("0x80")] > e.Math[P("0xab")] && (t[P("0x550")][P("0x80")] -= e[P("0x23")][P("0xab")])); break; case 39: i.shiftKey ? (t[P("0x550")][P("0x81")] += t[P("0x54b")], t[P("0x550")].roll > e[P("0x23")][P("0xab")] && (t[P("0x550")][P("0x81")] -= e[P("0x23")].TWO_PI)) : (t[P("0x550")][P("0x7f")] += t.deltaRadians, t[P("0x550")][P("0x7f")] > e[P("0x23")].TWO_PI && (t.hpRoll[P("0x7f")] -= e[P("0x23")][P("0xab")])); break; case 37: i[P("0x54a")] ? (t.hpRoll.roll -= t[P("0x54b")], t.hpRoll.roll < 0 && (t[P("0x550")][P("0x81")] += e[P("0x23")][P("0xab")])) : (t[P("0x550")][P("0x7f")] -= t[P("0x54b")], t[P("0x550")][P("0x7f")] < 0 && (t.hpRoll[P("0x7f")] += e[P("0x23")].TWO_PI)); } }); }; }(window.Cesium), function (e) { var t = e[P("0x567")] = function (t) { this[P("0x13b")] = t[P("0x13b")], this[P("0x568")] = t[P("0x568")], this[P("0x569")] = t.pointArray, this[P("0xe2")] = t[P("0xe2")], this[P("0x56a")] = t[P("0xe4")], this[P("0x539")] = t[P("0x539")], this.deltaHeight = e[P("0x102")](t[P("0x53d")], 10), this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0x56b")] = new e[P("0x11")](0, 0, 0), this[P("0x56c")] = [], this[P("0x565")] = null, this[P("0x2ec")] = [], this.bearing = [], this[P("0x56d")] = [], this[P("0x56e")] = [], this[P("0x56f")] = 0, this.VerticalRadians = 0, this.i = 0, this[P("0x53e")](); }; t[P("0x5")][P("0x3f7")] = function () { for (var t = 0; t < this[P("0x569")][P("0x0")]; t++) { this[P("0x2ec")][P("0x17c")](turf[P("0x2ec")](this[P("0x569")][t])); } for (var i = 0; i < this[P("0x2ec")][P("0x0")] - 1; i++) { this[P("0x11b")].push(turf[P("0x11b")](this[P("0x2ec")][i], this[P("0x2ec")][i + 1])); } for (t = 0; t < this[P("0x11b")][P("0x0")]; t++) { this.initialHeading[P("0x17c")](e.Math[P("0x119")](this[P("0x11b")][t])); } for (var r = 0; r < this[P("0x11b")][P("0x0")] - 1; r++) { this[P("0x11b")][r + 1] - this[P("0x11b")][r] < -180 ? (this[P("0x56d")][P("0x17c")](e[P("0x23")].toRadians(this[P("0x11b")][r + 1] - this.bearing[r] + 360)), this[P("0x56e")].push(e[P("0x23")][P("0x119")](this.bearing[r + 1] - this.bearing[r] + 360))) : 180 < this.bearing[r + 1] - this.bearing[r] ? (this.differentBearing[P("0x17c")](e[P("0x23")].toRadians(this[P("0x11b")][r + 1] - this[P("0x11b")][r] - 360)), this.reduceBearing[P("0x17c")](e[P("0x23")][P("0x119")](Math[P("0x78")](this[P("0x11b")][r + 1] - this[P("0x11b")][r] - 360)))) : (this.differentBearing[P("0x17c")](e.Math[P("0x119")](this[P("0x11b")][r + 1] - this[P("0x11b")][r])), this.reduceBearing[P("0x17c")](e[P("0x23")].toRadians(Math[P("0x78")](this.bearing[r + 1] - this[P("0x11b")][r])))); } }, t[P("0x5")][P("0x570")] = function () { this.viewer[P("0x571")][P("0x572")] = this[P("0xe2")].clone(), this.viewer[P("0x571")][P("0x573")] = this[P("0x56a")].clone(), this[P("0x13b")][P("0x571")].currentTime = this[P("0xe2")][P("0x6e")](), this[P("0x13b")].clock[P("0x574")] = e.ClockRange[P("0x575")]; }, t[P("0x5")][P("0x576")] = function (t) { for (var i = new e[P("0x554")](), r = 0; r < t[P("0x0")]; r++) { var n = e[P("0x560")][P("0x577")](this.start, r, new e[P("0x560")]()), o = e[P("0x11")][P("0x3d0")](Number(t[r][0]), Number(t[r][1]), Number(t[r][2])); i[P("0x55f")](n, o), this[P("0x13b")][P("0x194")][P("0x6d")]({ position: o, point: { pixelSize: 2, color: e.Color[P("0x578")], outlineColor: e[P("0x16a")][P("0x2d5")], outlineWidth: 2 } }); } return i; }, t[P("0x5")][P("0x104")] = function () { if (this[P("0x568")]) { var t = this[P("0x576")](this.cartographicArray), i = this[P("0x13b")][P("0x194")][P("0x6d")]({ availability: new e.TimeIntervalCollection([new e[P("0x579")]({ start: this[P("0xe2")], stop: this[P("0x56a")] })]), position: t }); this[P("0x56b")] = i[P("0x8c")][P("0x512")](this[P("0x13b")][P("0x571")][P("0x57a")]); var r = this[P("0x10f")][P("0xa3")][P("0xef")]; if (null == this[P("0x56b")]) this[P("0x13b")][P("0x571")][P("0x57b")] = 0, document[P("0x548")]("keydown", this.keydownOption), this[P("0x13b")][P("0x10f")].postRender[P("0x548")](this[P("0x104")]);else { var n = r[P("0xd6")](this[P("0x56b")]), o = Math.floor(1e5 * e[P("0x23")][P("0x113")](n[P("0x114")])) / 1e5, a = Math[P("0x3e8")](1e5 * e[P("0x23")].toDegrees(n[P("0x112")])) / 1e5, s = (Math[P("0x3e8")](1e5 * n[P("0x8b")]), 1e3 * turf[P("0x8e")](turf[P("0x2ec")](this[P("0x569")][this.i + 1]), turf[P("0x2ec")]([a, o, 0]))), x = turf.distance(turf[P("0x2ec")](this.pointArray[this.i]), turf[P("0x2ec")](this[P("0x569")][this.i + 1])); s <= 1 * (50 + this[P("0x53d")]) / 10 ? (this[P("0x7e")].setView({ destination: e[P("0x11")][P("0x1a1")](e[P("0x23")][P("0x113")](this.cartographicArray[this.i + 1][0]), e[P("0x23")][P("0x113")](this[P("0x568")][this.i + 1][1]), 50 + this[P("0x53d")]), orientation: { heading: this.initialHeading[this.i] + this.HorizontalRadian, pitch: e[P("0x23")].toRadians(0) + this[P("0x57c")], roll: 0 } }), this[P("0x13b")][P("0x571")][P("0x57b")] = 0, this.i < this.reduceBearing[P("0x0")] ? this[P("0x56e")][this.i] < 1e-5 ? (this[P("0x56f")] = 0, this.i += 1, this[P("0x13b")][P("0x571")][P("0x57b")] = this[P("0x539")]) : (this[P("0x56f")] += this[P("0x56d")][this.i] / 200, this[P("0x56e")][this.i] -= Math[P("0x78")](this[P("0x56d")][this.i] / 200)) : (this[P("0x13b")][P("0x571")][P("0x57b")] = 0, document[P("0x548")]("keydown", this[P("0x565")]), this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this))) : (this[P("0x7e")].setView({ destination: e[P("0x11")].fromDegrees(e[P("0x23")].toDegrees(n[P("0x112")]), e[P("0x23")][P("0x113")](n[P("0x114")]), 50 + this[P("0x53d")]), orientation: { heading: this[P("0x56c")][this.i], pitch: e[P("0x23")][P("0x119")](0) + this[P("0x57c")], roll: 0 } }), this[P("0x13b")][P("0x571")][P("0x57b")] = 1 < x ? this[P("0x539")] * (1 / x) : this[P("0x539")] * (1 - x)); } } }, t.prototype.play = function () { this[P("0x570")](), this.init(), this[P("0x10f")][P("0x564")][P("0x130")](this.animation, this); }, t[P("0x5")].pause = function () { this[P("0x10f")].postRender[P("0x548")](this[P("0x104")], this); }, t[P("0x5")]["continue"] = function () { this.scene[P("0x564")][P("0x548")](this[P("0x104")], this), this[P("0x10f")][P("0x564")][P("0x130")](this[P("0x104")], this); }, t[P("0x5")][P("0xe4")] = function () { this.scene.postRender.removeEventListener(this[P("0x104")], this), this[P("0x13b")][P("0x194")][P("0xf5")](), document[P("0x548")]("keydown", this.keydownOption), this[P("0x13b")] = null, this[P("0x568")] = null, this[P("0x569")] = null, this[P("0xe2")] = null, this[P("0x56a")] = null, this.speed = null, this.scene = null, this[P("0x7e")] = null, this[P("0x56b")] = new e[P("0x11")](0, 0, 0), this[P("0x56c")] = [], this[P("0x565")] = null, this.point = [], this[P("0x11b")] = [], this[P("0x56d")] = [], this[P("0x56e")] = [], this[P("0x53d")] = e[P("0x102")](this[P("0x53d")], 10), this[P("0x56f")] = 0, this[P("0x57c")] = 0, this.i = 0; }, t.prototype.reset = function (t) { this.viewer && (this[P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this), this.cartesian3 = new e[P("0x11")](0, 0, 0), this[P("0x56c")] = [], this.keydownOption = null, this[P("0x2ec")] = [], this[P("0x11b")] = [], this[P("0x56d")] = [], this[P("0x56e")] = [], this.deltaHeight = e[P("0x102")](this.deltaHeight, 10), this.HorizontalRadian = 0, this[P("0x57c")] = 0, this.i = 0, this[P("0x543")]()); }, t.prototype[P("0x53e")] = function () { var e = this; this[P("0x565")] = function (t) { switch (t[P("0x566")]) { case 40: t[P("0x54a")] ? --e[P("0x53d")] : e[P("0x57c")] -= 0.01; break; case 38: t.shiftKey ? e[P("0x53d")] += 1 : e[P("0x57c")] += 0.01; } }, document[P("0x130")](P("0x549"), this[P("0x565")]); }; }(window.Cesium), function (e) { var t = e[P("0x57d")] = function (e) { this[P("0x13b")] = e.viewer, this[P("0x569")] = e.pointArray, this[P("0x57e")] = [], this[P("0x57f")] = turf[P("0x2ec")](this[P("0x569")][0]), this[P("0x580")] = turf[P("0x2ec")](this[P("0x569")][1]), this[P("0x581")] = turf[P("0x2ec")](this.pointArray[2]), this[P("0x582")] = turf[P("0x11b")](this[P("0x57f")], this[P("0x580")]), this[P("0x583")] = turf[P("0x11b")](this.point2, this[P("0x581")]), this.drawMarker(), this[P("0x3f7")](); }; t[P("0x5")].animation = function () { var t = this.viewer[P("0x10f")][P("0xa3")][P("0xef")], i = this[P("0x13b")].camera[P("0x8c")], r = t[P("0xd6")](i), n = Math[P("0x3e8")](1e5 * e[P("0x23")].toDegrees(r.latitude)) / 1e5, o = Math[P("0x3e8")](1e5 * e.Math[P("0x113")](r.longitude)) / 1e5; o == this[P("0x569")][1][0] && n == this[P("0x569")][1][1] ? (this[P("0x57e")][P("0x17c")](e[P("0x23")].toDegrees(this[P("0x13b")].camera[P("0x7f")])), 1e-12 <= this[P("0x583")] - e[P("0x23")].toDegrees(this.viewer[P("0x7e")].heading) ? (this[P("0x13b")][P("0x7e")][P("0x584")](0), this.viewer[P("0x7e")][P("0x585")](e[P("0x23")][P("0x119")]((this[P("0x583")] - this[P("0x57e")][0]) / 200))) : (this[P("0x57e")] = [], this[P("0x13b")][P("0x7e")][P("0x9c")]({ destination: e.Cartesian3[P("0x1a1")](this[P("0x569")][1][0], this[P("0x569")][1][1], this[P("0x569")][1][2]), orientation: { heading: e.Math[P("0x119")](this[P("0x583")]), pitch: e[P("0x23")][P("0x119")](0) } }), this.viewer[P("0x7e")][P("0x584")](this.viewer[P("0x571")][P("0x57b")]))) : -1e-5 < o - this[P("0x569")][2][0] && -1e-5 < n - this[P("0x569")][2][1] ? this[P("0x13b")][P("0x7e")][P("0x584")](0) : this[P("0x13b")][P("0x7e")].moveForward(this[P("0x13b")][P("0x571")][P("0x57b")]); }, t[P("0x5")][P("0x3f7")] = function () { this.viewer[P("0x7e")].setView({ destination: e.Cartesian3[P("0x1a1")](this[P("0x569")][0][0], this[P("0x569")][0][1], this[P("0x569")][0][2]), orientation: { heading: e[P("0x23")].toRadians(this.bearing1), pitch: e.Math[P("0x119")](0) } }); }, t.prototype.drawMarker = function () { this[P("0x13b")].entities.add({ position: e[P("0x11")][P("0x1a1")](this[P("0x569")][1][0], this[P("0x569")][1][1]), point: { pixelSize: 2, color: e[P("0x16a")][P("0x578")], outlineColor: e[P("0x16a")][P("0x2d5")], outlineWidth: 2 } }), this[P("0x13b")][P("0x194")][P("0x6d")]({ position: e.Cartesian3.fromDegrees(this[P("0x569")][2][0], this[P("0x569")][2][1]), point: { pixelSize: 2, color: e[P("0x16a")][P("0x578")], outlineColor: e[P("0x16a")].RED, outlineWidth: 2 } }); }, t[P("0x5")].play = function () { 0 == this[P("0x13b")][P("0x194")][P("0x430")][P("0x0")] && this.drawMarker(), this[P("0x13b")][P("0x10f")].postRender[P("0x548")](this.animation, this), this[P("0x13b")].camera[P("0x9c")]({ destination: e[P("0x11")][P("0x1a1")](this[P("0x569")][0][0], this[P("0x569")][0][1], this[P("0x569")][0][2]), orientation: { heading: e[P("0x23")].toRadians(this[P("0x582")]), pitch: e.Math.toRadians(0) } }), this[P("0x13b")].scene[P("0x564")][P("0x130")](this.animation, this); }, t.prototype[P("0x546")] = function () { this.viewer.scene[P("0x564")].removeEventListener(this[P("0x104")], this); }, t.prototype[P("0x547")] = function () { 0 != this[P("0x13b")][P("0x194")]._entities[P("0x0")] ? (this[P("0x13b")][P("0x10f")][P("0x564")].removeEventListener(this[P("0x104")], this), this[P("0x13b")][P("0x10f")][P("0x564")].addEventListener(this.animation, this)) : this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this); }, t[P("0x5")].stop = function () { this[P("0x13b")][P("0x10f")][P("0x564")][P("0x548")](this[P("0x104")], this), this.viewer[P("0x194")].removeAll(), this[P("0x3f7")](); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x586")] = function (t) { if (t[P("0x13b")] && t[P("0x587")] && t[P("0x588")] && t[P("0x0")] && t.position) { this[P("0x589")] = e[P("0x102")](t[P("0x58a")], 1), this[P("0x58b")] = e[P("0x102")](t[P("0x58c")], new e[P("0x16a")](0.5, 0.8, 1, 1)), this[P("0x58d")] = e.defaultValue(t[P("0x58e")], 0), this[P("0x58f")] = e.defaultValue(t[P("0x590")], 0), this._rotationZPerFrame = e[P("0x102")](t[P("0x591")], 0), this[P("0x592")] = e[P("0x102")](t.instanceName, "GeoCirclePipe"), this._startRadian = e.defaultValue(t.startRadian, 0), this._endRadian = e[P("0x102")](t[P("0x593")], 2 * Math.PI), this[P("0x594")] = !1, t.image ? (this._useImage = !0, this[P("0x595")] = t[P("0x475")]) : (this._useImage = !1, this[P("0x596")] = e[P("0x102")](t[P("0x169")], new e.Color(1, 0, 0, 1))), this[P("0x13c")] = t[P("0x13b")], this[P("0x306")] = this[P("0x13c")][P("0x10f")][P("0x17d")], t[P("0x8c")][P("0x0")] <= 2 && (t[P("0x8c")][2] = 0); var r, n, o = e[P("0x11")][P("0x1a1")](t[P("0x8c")][0], t[P("0x8c")][1], t[P("0x8c")][2]); n = this._useImage ? i(t.image, this[P("0x58b")]) : (r = this[P("0x596")], new e[P("0x212")]({ fabric: { type: "Color", uniforms: { color: r, transparent: !0 } } })); var a = e.Matrix4[P("0x597")](e.Transforms[P("0xbf")](o), new e[P("0x11")](0, 0, 0), new e[P("0x1b")]()), s = new e[P("0x598")]({ length: t[P("0x0")], topRadius: t[P("0x587")], bottomRadius: t[P("0x588")], startRadian: this[P("0x599")], endRadian: this[P("0x59a")] }), x = new e[P("0x179")]({ geometry: s, modelMatrix: a, id: this[P("0x592")] }), l = new e[P("0x226")]({ geometryInstances: x, appearance: new e[P("0x59b")]({ material: n, renderState: { depthTest: { enabled: !1 } } }) }); l[P("0x59c")] = !0, this._primitives[P("0x6d")](l), this._circlePipePrimitive = l, this._viewer.clock[P("0x59d")][P("0x130")](this[P("0x59e")], this); } }; function i(t, i) { return new e.Material({ fabric: { type: P("0x5a5"), uniforms: { image: t, color: i, transparent: !0 } } }); } t[P("0x5")][P("0x59e")] = function (t) { if (this[P("0x59f")]) { var i = this[P("0x59f")][P("0x4ac")], r = e[P("0x1b")].getTranslation(i, new e.Cartesian3()); if (0 != r.x || 0 != r.y || 0 != r.z) { var n = e.Matrix3[P("0x5a0")](e[P("0x23")].toRadians(this._rotationXPerFrame)), o = e[P("0x1a")][P("0x5a1")](e.Math[P("0x119")](this[P("0x58f")])), a = e[P("0x1a")][P("0x5a2")](e[P("0x23")][P("0x119")](this[P("0x5a3")])); e[P("0x1b")].multiplyByMatrix3(i, n, i), e[P("0x1b")].multiplyByMatrix3(i, o, i), e[P("0x1b")][P("0x5a4")](i, a, i); } } }, t.prototype[P("0xf4")] = function () { this[P("0x13c")][P("0x571")][P("0x59d")].removeEventListener(this[P("0x59e")]), this._primitives[P("0x17f")](this[P("0x59f")]); }, e[P("0xf")](t.prototype, { rotationXPerFrame: { get: function get() { return this[P("0x58d")]; }, set: function set(e) { this._rotationXPerFrame = e; } }, rotationYPerFrame: { get: function get() { return this[P("0x590")]; }, set: function set(e) { this[P("0x58f")] = e; } }, rotationZPerFrame: { get: function get() { return this[P("0x5a3")]; }, set: function set(e) { this._rotationZPerFrame = e; } }, image: { get: function get() { return this[P("0x595")]; }, set: function set(e) { this[P("0x595")] = e, this[P("0x59f")][P("0x16d")][P("0x19c")] = i(e, this[P("0x58b")]); } }, imageColor: { get: function get() { return this[P("0x58b")]; }, set: function set(e) { this._imageColor = e, this._circlePipePrimitive[P("0x16d")][P("0x19c")] = i(this[P("0x595")], e); } }, instanceName: { get: function get() { return this[P("0x592")]; } } }); }(window.Cesium), function (e) { var t = e.GeoCirclePipeCollection = function (t) { if (t[P("0x13b")] && t[P("0x587")] && t[P("0x588")] && t[P("0x0")] && t.position && t[P("0x5a6")] && !(t[P("0x5a6")] <= 0)) { this._circlePipeCollection = [], this[P("0x58b")] = e[P("0x102")](t[P("0x58c")], new e[P("0x16a")](0.5, 0.8, 1, 1)), this[P("0x13c")] = t.viewer, this._onMouseEnter = t[P("0x5a7")], this._onMouseLeave = t[P("0x5a8")], this[P("0x5a9")] = t[P("0x5aa")], this[P("0x5ab")] = void 0, this._rotationXPerFrame = e[P("0x102")](t[P("0x58e")], 0), this[P("0x58f")] = e[P("0x102")](t[P("0x590")], 0), this[P("0x5a3")] = e.defaultValue(t[P("0x591")], 0), this[P("0x5ac")] = new e.ScreenSpaceEventHandler(this[P("0x13c")][P("0x10f")][P("0x48")]), this[P("0x5ad")] = new e[P("0x15f")](this[P("0x13c")][P("0x10f")].canvas); for (var r = 2 * Math.PI, n = t[P("0x5a6")], o = r / n, a = 0; a < n; a++) { var s = a * o, x = (a + 1) * o, l = new e.GeoCirclePipe({ viewer: t[P("0x13b")], topRadius: t.topRadius, bottomRadius: t[P("0x588")], length: t[P("0x0")], image: t[P("0x5ae")][a], imageColor: this[P("0x58b")], position: t[P("0x8c")], rotationZPerFrame: this[P("0x5a3")], rotationXPerFrame: this._rotationXPerFrame, rotationYPerFrame: this[P("0x58f")], instanceName: t[P("0x5af")][a], startRadian: s, endRadian: x }); this[P("0x5b0")][P("0x17c")](l); } var c = this; this[P("0x5ad")].setInputAction(function (e) { if (c._onMouseLeftClick) { var t = c[P("0x13c")][P("0x10f")][P("0xa4")](e[P("0x8c")]); if (t) { var r = i(t.id, c._circlePipeCollection); c[P("0x5a9")](r); } } }, e[P("0x161")][P("0x17e")]), this[P("0x5ac")].setInputAction(function (e) { if (c[P("0x5b1")] || c[P("0x5b2")]) { var t = c[P("0x13c")].scene[P("0xa4")](e[P("0x64")]); if (t) { var r = i(t.id, c[P("0x5b0")]); r ? (c[P("0x5b1")] && (c[P("0x5ab")] && (c[P("0x5b2")](c._previousEnter), c[P("0x5ab")] = void 0), c[P("0x5b1")](r)), c[P("0x5ab")] = r) : (c[P("0x5ab")] && c[P("0x5b2")] && c[P("0x5b2")](c[P("0x5ab")]), c._previousEnter = void 0); } } }, e[P("0x161")][P("0x163")]); } }; function i(e, t) { for (var i = 0; i < t[P("0x0")]; i++) { var r = t[i]; if (r[P("0x5b3")] == e) return r; } } t[P("0x5")][P("0xf4")] = function () { for (var e = 0; e < this[P("0x5b0")][P("0x0")]; e++) { this[P("0x5b0")][e][P("0xf4")](); } this[P("0x5b0")][P("0x0")] = 0, this[P("0x5ac")][P("0xf4")](), this[P("0x5ad")][P("0xf4")](), this[P("0x5ac")] = void 0, this[P("0x5ad")] = void 0; }, e[P("0xf")](t[P("0x5")], { rotationXPerFrame: { get: function get() { return this[P("0x58d")]; }, set: function set(e) { this[P("0x58d")] = e; for (var t = 0; t < this[P("0x5b0")][P("0x0")]; t++) { this[P("0x5b0")][t].rotationXPerFrame = e; } } }, rotationYPerFrame: { get: function get() { return this[P("0x590")]; }, set: function set(e) { this[P("0x58f")] = e; for (var t = 0; t < this[P("0x5b0")][P("0x0")]; t++) { this[P("0x5b0")][t][P("0x590")] = e; } } }, rotationZPerFrame: { get: function get() { return this[P("0x5a3")]; }, set: function set(e) { this._rotationZPerFrame = e; for (var t = 0; t < this[P("0x5b0")].length; t++) { this[P("0x5b0")][t].rotationZPerFrame = e; } } } }); }(window[P("0xfd")]), function (e) { var t = e.GeoCylinderApertureSpreadEffect = function (t) { t = t || {}; var i = e[P("0x13")][P("0x1a1")].apply(this, t[P("0x11a")]); this[P("0x5b4")] = e[P("0x11")].fromRadians(i[P("0x112")], i[P("0x114")], i[P("0x8b")]), this._maxRadius = t[P("0x181")], this._height = t.height, this[P("0x5b5")] = null, this[P("0x5b6")] = null, this[P("0x5b7")] = !1, this[P("0x5b8")] = null, this[P("0x4a4")] = null, this._color = t[P("0x169")] ? t[P("0x169")][P("0x6e")]() : new e.Color(0.5, 0.8, 1, 1), this[P("0x5b9")] = t[P("0x539")] ? t[P("0x539")] : 1, this[P("0x5b9")] *= 4, this[P("0x5ba")] = !t.actived || t[P("0x5bb")], this._time = 0, this[P("0x5bc")] = 0, this._life = this[P("0x5bd")] / this[P("0x5b9")], this[P("0x5be")] = 2 * this[P("0x217")] / this[P("0x5bf")], this._modelTransform = null, this[P("0x5c0")] = t.metallicFactor ? t[P("0x5c1")] : 0.115, this[P("0x5c2")] = t[P("0x5c3")] ? t.roughnessFactor : 0.918, this[P("0x5c4")] = t[P("0x5c5")] ? t[P("0x5c5")][P("0x6e")]() : new e[P("0x11")](0.6, 0.6, 0.6), this[P("0x5c6")](); }; e[P("0xf")](t[P("0x5")], { actived: { get: function get() { return this[P("0x5ba")]; }, set: function set(e) { this[P("0x5ba")] = e; } } }), t[P("0x5")][P("0x5c6")] = function () { this[P("0x5c7")] = e[P("0x1f")][P("0xbf")](this[P("0x5b4")]); }, t[P("0x5")][P("0xd2")] = function (e) { if (this._actived && (this[P("0x5c8")](), this._fetchGeometry(e), this[P("0x5c9")](e), this[P("0x5b5")] && this[P("0x5b8")])) { var t = e[P("0x5ca")]; t[P("0x17c")](this[P("0x5b5")]), t[P("0x17c")](this[P("0x5b6")]); } }, t[P("0x5")][P("0xf4")] = function () { this[P("0x5ba")] = !1, this._va && (this[P("0x5b8")][P("0xf4")](), this[P("0x5b8")] = null), this[P("0x5b5")] && (this[P("0x5b5")][P("0x5cb")] = null, this[P("0x5b5")][P("0x5cc")] && (this._drawCommandAlpha[P("0x5cc")][P("0xf4")](), this[P("0x5b5")][P("0x5cc")] = null), this._drawCommandAlpha.owner = null, this[P("0x5b5")] = null), this._drawCommandOpaque && (this[P("0x5b6")][P("0x5cb")] = null, this[P("0x5b6")].shaderProgram && (this._drawCommandOpaque[P("0x5cc")].destroy(), this[P("0x5b6")][P("0x5cc")] = null), this[P("0x5b6")][P("0x5cd")] = null, this._drawCommandOpaque = null); }, t[P("0x5")]._fetchGeometry = function (e) { this[P("0x5ce")](e); }, t[P("0x5")][P("0x5c8")] = function () { this[P("0x5cf")] >= this[P("0x5bf")] && (this[P("0x5cf")] = 0); var t = e[P("0x5d0")]() / 1e3; 0 < this[P("0x5bc")] ? (this._time += t - this[P("0x5bc")], this[P("0x5bc")] = t, this[P("0x5cf")] > this[P("0x5bf")] && (this[P("0x5cf")] = this._life)) : this[P("0x5bc")] = t; }, t[P("0x5")][P("0x5c9")] = function (e) { this[P("0x5d1")](e), this[P("0x5d2")](e); }, t.prototype[P("0x5d1")] = function (t) { var s = t.context, x = this; if (!this[P("0x5b5")]) { var l = this[P("0x5b5")] = new e[P("0x5d3")](); l[P("0x5d4")] = e.Pass.TRANSLUCENT, l[P("0x5cd")] = this, l[P("0x4ac")] = this[P("0x5c7")], l[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({ cull: { enabled: !1 }, depthTest: { enabled: !0, func: e[P("0x5d8")][P("0x5d9")] }, depthMask: !1, blending: e[P("0x5da")][P("0x5db")] }), l[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({ context: s, defines: [P("0x5dd")], vertexShaderSource: o, fragmentShaderSource: a, attributeLocations: { aPoint: 0, aNormal: 1, aT: 2 } }), l[P("0x5de")] = { u_color: function u_color() { return x[P("0x596")]; }, u_metallicFactor: function u_metallicFactor() { return x[P("0x5c0")]; }, u_roughnessFactor: function u_roughnessFactor() { return x[P("0x5c2")]; }, u_emissiveFactor: function u_emissiveFactor() { return x[P("0x5c4")]; }, u_normalMatrix: function u_normalMatrix() { return e[P("0x1b")][P("0x5df")](t[P("0x7e")][P("0x5e0")], x[P("0x5c7")], i), e[P("0x1b")][P("0x4e2")](i, r), e[P("0x1b")][P("0x5e1")] ? e[P("0x1b")][P("0x5e1")](r, n) : e.Matrix4[P("0x5e2")] ? e.Matrix4[P("0x5e2")](r, n) : (n[0] = r[0], n[1] = r[1], n[2] = r[2], n[3] = r[4], n[4] = r[5], n[5] = r[6], n[6] = r[8], n[7] = r[9], n[8] = r[10]), e[P("0x1a")][P("0x5e3")](n, n); } }; } this[P("0x5b5")][P("0x5cb")] = this[P("0x5b8")], this[P("0x5b5")].boundingVolume = this[P("0x4a4")]; }; var i = new e[P("0x1b")](), r = new e[P("0x1b")](), n = new e[P("0x1a")](); t[P("0x5")][P("0x5d2")] = function (t) { var a = t.context, x = this; if (!this[P("0x5b6")]) { var l = this._drawCommandOpaque = new e[P("0x5d3")](); l[P("0x5d4")] = e[P("0x5e4")][P("0x5e5")], l[P("0x5cd")] = this, l.modelMatrix = this._modelTransform, l.renderState = e[P("0x5d6")][P("0x5d7")]({ cull: { enabled: !1 }, depthTest: { enabled: !0, func: e[P("0x5d8")].LEQUAL }, depthMask: !1 }), l[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({ context: a, defines: ["HDR"], vertexShaderSource: o, fragmentShaderSource: s, attributeLocations: { aPoint: 0, aNormal: 1, aT: 2 } }), l[P("0x5de")] = { u_color: function u_color() { return x._color; }, u_metallicFactor: function u_metallicFactor() { return x[P("0x5c0")]; }, u_roughnessFactor: function u_roughnessFactor() { return x._roughnessFactor; }, u_emissiveFactor: function u_emissiveFactor() { return x._emissiveFactor; }, u_normalMatrix: function u_normalMatrix() { return e[P("0x1b")][P("0x5df")](t[P("0x7e")][P("0x5e0")], x[P("0x5c7")], i), e[P("0x1b")][P("0x4e2")](i, r), e.Matrix4[P("0x5e1")] ? e.Matrix4[P("0x5e1")](r, n) : e.Matrix4[P("0x5e2")] ? e[P("0x1b")][P("0x5e2")](r, n) : (n[0] = r[0], n[1] = r[1], n[2] = r[2], n[3] = r[4], n[4] = r[5], n[5] = r[6], n[6] = r[8], n[7] = r[9], n[8] = r[10]), e[P("0x1a")][P("0x5e3")](n, n); } }; } this[P("0x5b6")][P("0x5cb")] = this._va, this[P("0x5b6")][P("0x4bc")] = this[P("0x4a4")]; }, t[P("0x5")]._updateVA = function (t) { this[P("0x5b8")] && (this._va[P("0xf4")](), this[P("0x5b8")] = null); var i = e[P("0x23")][P("0xab")], r = this[P("0x5cf")] * this[P("0x5b9")]; if (!(r < 1e-5)) { var n = 0; if (this[P("0x5cf")] / this[P("0x5bf")] < 0.5) n = this[P("0x5be")] * this[P("0x5cf")];else { var o = this._life - this[P("0x5cf")]; n = this[P("0x5be")] * o; } var a = this[P("0x5e6")](r); if (!(n < 1e-5)) { for (var s, x, l, c, u = t.context, h = i / a, f = 2 * a, d = 3 * f, g = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 3 * f), p = e.ComponentDatatype.createTypedArray(e[P("0x5e8")][P("0x5e9")], 3 * f), m = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], f), b = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")].UNSIGNED_SHORT, d), v = 0, C = 0, y = 0, _ = 0, A = 0; A < a; A++) { s = A * h, x = r * Math.cos(s), l = r * Math.sin(s), c = 0, g[v++] = x, g[v++] = l, g[v++] = c, p[C++] = x, p[C++] = l, p[C++] = 0, m[y++] = 0, c = n, g[v++] = x, g[v++] = l, g[v++] = c, p[C++] = x, p[C++] = l, p[C++] = 0, b[_++] = 2 * A, b[_++] = (A + 1) % a * 2, b[_++] = 2 * A + 1, b[_++] = 2 * A + 1, b[_++] = (A + 1) % a * 2, b[_++] = (A + 1) % a * 2 + 1, m[y++] = 1; } var I = e[P("0x5ea")][P("0x5eb")]({ context: u, typedArray: g, usage: e.BufferUsage[P("0x4d6")] }), w = []; w[P("0x17c")]({ index: 0, vertexBuffer: I, componentsPerAttribute: 3, componentDatatype: e.ComponentDatatype[P("0x5e9")], offsetInBytes: 0, strideInBytes: 12, normalize: !1 }); var G = e[P("0x5ea")].createVertexBuffer({ context: u, typedArray: p, usage: e[P("0x4d5")][P("0x4d6")] }); w[P("0x17c")]({ index: 1, vertexBuffer: G, componentsPerAttribute: 3, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 12, normalize: !1 }); var E = e[P("0x5ea")][P("0x5eb")]({ context: u, typedArray: m, usage: e[P("0x4d5")][P("0x4d6")] }); w.push({ index: 2, vertexBuffer: E, componentsPerAttribute: 1, componentDatatype: e[P("0x5e8")].FLOAT, offsetInBytes: 0, strideInBytes: 4, normalize: !1 }); var S = e[P("0x5ea")][P("0x5ec")]({ context: u, typedArray: b, usage: e.BufferUsage.STATIC_DRAW, indexDatatype: e.IndexDatatype[P("0x5ed")] }); this._va = new e[P("0x5ee")]({ context: u, attributes: w, indexBuffer: S }), this[P("0x5ef")](r, n); } } }, t[P("0x5")][P("0x5e6")] = function (t) { var i = 10 < t ? 1 / t : 0.1, r = 2 * Math[P("0x97")](i); return Math[P("0x5f0")](e.Math[P("0xab")] / r); }, t.prototype[P("0x5ef")] = function (t, i) { var r = Math[P("0xca")](t * t + i + i); this[P("0x4a4")] = new e[P("0x5f1")](e[P("0x11")].ZERO, r + 1), e[P("0x5f1")].transform(this[P("0x4a4")], this._modelTransform, this._boundingVolume); }; var o = P("0x5f2") + P("0x5f3") + P("0x5f4") + P("0x5f5") + P("0x5f6") + P("0x5f7") + P("0x5f8") + P("0x5f9") + P("0x5fa") + P("0x5fb") + " gl_Position = czm_modelViewProjection * vec4(aPoint, 1.0);\n v_t = aT;\n}", a = P("0x5fc") + P("0x5fd") + P("0x5fe") + P("0x5ff") + P("0x5f6") + P("0x5f7") + P("0x5f8") + P("0x600") + P("0x601") + "{\n" + P("0x602") + "}\n" + P("0x603") + "{\n float k = (roughness + 1.0) * (roughness + 1.0) / 8.0;\n" + P("0x604") + "}\n" + P("0x605") + "{\n" + P("0x606") + "}\n" + P("0x607") + "{\n" + P("0x608") + P("0x609") + P("0x60a") + "}\n" + P("0x60b") + "{\n" + P("0x60c") + "}\n" + P("0x60d") + "{\n" + P("0x60e") + P("0x60f") + P("0x610") + " return linearIn;\n" + P("0x611") + "}\n" + P("0x5f9") + " vec3 n = normalize(v_normalEC);\n" + P("0x612") + P("0x613") + P("0x614") + P("0x615") + P("0x616") + P("0x617") + P("0x614") + P("0x618") + P("0x619") + P("0x614") + P("0x61a") + P("0x61b") + P("0x61c") + " vec3 v = -normalize(v_positionEC);\n" + P("0x61d") + " vec3 l = normalize(czm_sunDirectionEC);\n" + P("0x61e") + P("0x61f") + " float NdotV = abs(dot(n, v)) + 0.001;\n" + P("0x620") + " float LdotH = clamp(dot(l, h), 0.0, 1.0);\n" + P("0x621") + P("0x622") + P("0x623") + " vec3 specularColor = mix(f0, baseColor, metalness);\n" + P("0x624") + P("0x625") + P("0x626") + P("0x627") + " vec3 F = fresnelSchlick2(r0, r90, VdotH);\n" + P("0x628") + P("0x629") + P("0x62a") + P("0x62b") + P("0x62c") + P("0x62d") + P("0x62e") + P("0x62f") + "}", s = "uniform vec4 u_color;\nuniform float u_metallicFactor;\n" + P("0x5fe") + "uniform vec3 u_emissiveFactor;\n" + P("0x5f6") + P("0x5f7") + "varying float v_t;\n" + P("0x600") + "vec3 fresnelSchlick2(vec3 f0, vec3 f90, float VdotH) \n{\n" + P("0x602") + "}\n" + P("0x603") + "{\n" + P("0x630") + " return NdotV / (NdotV * (1.0 - k) + k);\n}\nfloat smithVisibilityGGX(float roughness, float NdotL, float NdotV) \n{\n" + P("0x606") + "}\n" + P("0x607") + "{\n float roughnessSquared = roughness * roughness;\n" + P("0x609") + P("0x60a") + "}\n" + P("0x60b") + "{\n" + P("0x60c") + "}\n" + P("0x60d") + "{\n" + P("0x60e") + " return pow(linearIn, vec3(1.0/2.2));\n#else \n" + P("0x631") + "#endif \n}\n" + P("0x5f9") + P("0x632") + P("0x633") + P("0x612") + P("0x613") + P("0x614") + P("0x615") + P("0x634") + P("0x61a") + P("0x61b") + P("0x61c") + P("0x635") + P("0x61d") + P("0x636") + P("0x61e") + " float NdotL = clamp(dot(n, l), 0.001, 1.0);\n float NdotV = abs(dot(n, v)) + 0.001;\n" + P("0x620") + P("0x637") + P("0x621") + P("0x622") + P("0x623") + P("0x638") + P("0x624") + P("0x625") + " vec3 r90 = vec3(clamp(reflectance * 25.0, 0.0, 1.0));\n" + P("0x627") + P("0x639") + P("0x628") + P("0x629") + " vec3 diffuseContribution = (1.0 - F) * lambertianDiffuse(diffuseColor);\n vec3 specularContribution = F * G * D / (4.0 * NdotL * NdotV);\n" + P("0x62c") + " color += u_emissiveFactor;\n color = LINEARtoSRGB(color);\n" + P("0x62f") + "}"; }(window[P("0xfd")]), function (e) { function t(t) { if (t = e[P("0x102")](t, e[P("0x102")].EMPTY_OBJECT), !e[P("0x14")](t.viewer)) throw new DeveloperError(P("0x63a")); if (this[P("0x13c")] = t[P("0x13b")], !e.defined(t[P("0x11a")])) throw new DeveloperError("center is required."); this[P("0x5b4")] = e[P("0x102")](t.center, []); var i = e[P("0x102")](this[P("0x5b4")][2], e.GeoDynamicCircle[P("0x63b")]); this[P("0x217")] = i, this[P("0x63c")] = e[P("0x102")](t[P("0x181")], e[P("0x63d")].DEFAULT_RADIUS), this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x63d")].DEFAULT_COLOR); var r = this[P("0x5b4")][0], n = this[P("0x5b4")][1], o = e[P("0x102")](this._radius, 0), a = this[P("0x596")]; this[P("0x63e")] = e[P("0x102")](t[P("0x63f")], e[P("0x63d")][P("0x640")]), this[P("0x641")] = null, this[P("0x642")] = null, this[P("0x643")](r, n, i, o, a), this._isShow = e[P("0x102")](t[P("0x644")], !0), this[P("0x645")](this[P("0x646")]); } t.prototype[P("0xf4")] = function () { if (this[P("0x13c")]) { var e = this[P("0x13c")].entities; e[P("0x17f")](this[P("0x641")]), e[P("0x17f")](this._waveEllipse); } }, t[P("0x5")].setShow = function (t) { this._isShow = e.defaultValue(t, !0), this[P("0x641")][P("0x221")] = t, this[P("0x642")][P("0x221")] = t; }, t[P("0x5")][P("0x647")] = function (t) { this._color = e[P("0x102")](t, e.GeoDynamicCircle[P("0x648")]), this._bottomEllipse[P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")], this[P("0x642")][P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")]; }, t[P("0x5")][P("0x64a")] = function () { return this[P("0x596")]; }, t[P("0x5")][P("0x64b")] = function (t) { this[P("0x63c")] = e[P("0x102")](t, e[P("0x63d")][P("0x64c")]), this._bottomEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")], this._bottomEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")], this._waveEllipse[P("0x649")][P("0x64d")] = this[P("0x63c")], this[P("0x642")][P("0x649")][P("0x64d")] = this._radius; }, t.prototype[P("0x64e")] = function () { return this[P("0x63c")]; }, t.prototype[P("0x64f")] = function (t) { if (!e.defined(t)) throw new DeveloperError(P("0x650")); this[P("0x641")][P("0x8c")] = position, this._waveEllipse[P("0x8c")] = position, this[P("0x5b4")] = position; }, t[P("0x5")][P("0x643")] = function (t, i, r, n, o) { var a = this[P("0x13c")], s = e[P("0x23")][P("0x119")](30), x = 0; if (!this[P("0x641")]) { var l = a[P("0x194")][P("0x6d")]({ position: e[P("0x11")][P("0x1a1")](t, i, r), ellipse: { classificationType: this._classificationType, semiMinorAxis: n, semiMajorAxis: n, material: new e[P("0x651")]({ color: o, image: function () { var e = document.createElement(P("0x48")); e.width = 512, e[P("0x8b")] = 512; var t = e.getContext("2d"), i = t.createRadialGradient(256, 256, 0, 256, 256, 256); return i.addColorStop(0.1, P("0x653")), i.addColorStop(0.2, P("0x654")), i[P("0x479")](0.3, P("0x655")), i[P("0x479")](0.5, "rgba(255, 255, 255, 0.0)"), i[P("0x479")](0.9, P("0x656")), i.addColorStop(1, P("0x653")), t[P("0x657")](0, 0, 512, 512), t[P("0x658")](), t[P("0x659")](256, 256, 256, 0, 2 * Math.PI, !0), t[P("0x484")] = i, t.fill(), t[P("0x65a")](), e; }(), transparent: !0 }) } }); this[P("0x641")] = l; } if (!this._waveEllipse) { var c = a[P("0x194")][P("0x6d")]({ position: e[P("0x11")].fromDegrees(t, i, r), name: "Wave ellipse on surface", ellipse: { classificationType: this[P("0x63e")], semiMinorAxis: new e.CallbackProperty(h, !1), semiMajorAxis: new e[P("0x652")](h, !1), rotation: new e[P("0x652")](u, !1), stRotation: new e[P("0x652")](u, !1), material: new e[P("0x651")]({ color: o, image: function () { var e = document.createElement("canvas"); e[P("0x19a")] = 512, e[P("0x8b")] = 512; var t = e[P("0x476")]("2d"); return t[P("0x657")](0, 0, 512, 512), t[P("0x65b")] = P("0x65c"), t[P("0x65d")]([80, 80]), t[P("0x197")] = 30, t[P("0x659")](256, 256, 241, 0, 2 * Math.PI, !0), t[P("0x65e")](), e; }(), transparent: !0 }) } }); this[P("0x642")] = c; } function u() { return s += 0.05; } function h() { return n <= (x += 0.01 * n) && (x = 0), x; } }, e.GeoDynamicCircle = t, e.GeoDynamicCircle.DEFAULT_HEIGHT = 0, e[P("0x63d")][P("0x640")] = e.ClassificationType[P("0x17b")], e[P("0x63d")][P("0x64c")] = 25e3, e.GeoDynamicCircle[P("0x648")] = e.Color[P("0x2cf")]; }(window[P("0xfd")]), function (e) { function t(t) { if (t = e[P("0x102")](t, e[P("0x102")][P("0x128")]), !e[P("0x14")](t[P("0x13b")])) throw new DeveloperError("viewer is required."); if (this._viewer = t[P("0x13b")], !e[P("0x14")](t[P("0x11a")])) throw new DeveloperError(P("0x65f")); this._center = e[P("0x102")](t[P("0x11a")], []); var i = this[P("0x217")] = e[P("0x102")](this._center[2], e.GeoDynamicCylinder[P("0x63b")]), r = this[P("0x660")] = e[P("0x102")](t[P("0x0")], e[P("0x661")][P("0x662")]), n = this[P("0x663")] = e[P("0x102")](t[P("0x587")], e[P("0x661")][P("0x64c")]), o = this[P("0x664")] = e[P("0x102")](t[P("0x588")], e[P("0x661")][P("0x64c")]), a = this._particlesColor = e[P("0x102")](t[P("0x665")], e[P("0x661")][P("0x666")]), s = this[P("0x667")] = e[P("0x102")](t[P("0x668")], e.GeoDynamicCylinder.DEFAULT_CYLINDER_COLOR); this._particlesImageUrl = t[P("0x669")]; var x = this[P("0x5b4")][0], l = this[P("0x5b4")][1]; this[P("0x66a")] = null, this._particlesPrimitive = null, this[P("0x66b")](x, l, i, n, o, r, a, s); } t[P("0x5")][P("0xf4")] = function () { if (this[P("0x13c")]) { var e = this[P("0x13c")][P("0x10f")].primitives; e[P("0x17f")](this[P("0x66a")]), e[P("0x17f")](this[P("0x66c")]); } }, t[P("0x5")][P("0x66b")] = function (t, i, r, n, o, a, s, x) { var l = this._viewer, c = new e[P("0x598")]({ length: a, topRadius: n, bottomRadius: o }), u = P("0x66d") + x[P("0x66e")] + ", " + x[P("0x66f")] + ", " + x[P("0x670")] + ", " + x[P("0x671")] + P("0x672"), h = new e[P("0x212")]({ translucent: !1, fabric: { type: "Color" } }), f = new e[P("0x59b")]({ fragmentShaderSource: u, translucent: !0, closed: !0, material: h }), d = new e[P("0x226")]({ geometryInstances: new e[P("0x179")]({ geometry: c, modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](t, i)), new e[P("0x11")](0, 0, r), new e.Matrix4()), id: P("0x673"), attributes: { color: e[P("0x184")].fromColor(x) } }), appearance: f }); if (l[P("0x10f")][P("0x17d")][P("0x6d")](d), this[P("0x66a")] = d, this[P("0x674")]) { var g = new e[P("0x598")]({ length: a, topRadius: 1.6 * n, bottomRadius: 1.6 * o }), p = new e[P("0x212")]({ fabric: { type: P("0x5a5"), uniforms: { image: this[P("0x674")], color: s, transparent: !0 } } }), m = (u = P("0x675") + s[P("0x66e")] + ", " + s[P("0x66f")] + ", " + s[P("0x670")] + ", " + s.alpha + P("0x676"), P("0x677")), b = new e[P("0x59b")]({ fragmentShaderSource: u, vertexShaderSource: m, material: p }), v = new e.Primitive({ geometryInstances: new e[P("0x179")]({ geometry: g, modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](t, i)), new e.Cartesian3(0, 0, r), new e.Matrix4()), id: P("0xef"), attributes: { color: e[P("0x184")].fromColor(s) } }), appearance: b }); this[P("0x66c")] = l.scene[P("0x17d")].add(v); } }, e[P("0x661")] = t, e[P("0x661")][P("0x63b")] = 0, e[P("0x661")][P("0x662")] = 1e6, e[P("0x661")][P("0x64c")] = 25e3, e[P("0x661")][P("0x666")] = e[P("0x16a")].WHITE, e[P("0x661")][P("0x678")] = e[P("0x16a")][P("0x679")]; }(window[P("0xfd")]), function (e) { var t = e[P("0x67a")] = function (t, i) { return this[P("0x13b")] = t[P("0x13b")], this[P("0x67b")] = t[P("0x67b")], this.dataOptions = t.dataOptions, this.defaults = { minCanvasSize: 700, maxCanvasSize: 2e3, useEntities: !0, radiusFactor: 60, spacingFactor: 1.5, maxOpacity: 0.8, minOpacity: 0.1, blur: 0.85, gradient: { 0.3: "blue", 0.65: "yellow", 0.8: P("0x67c"), 0.95: P("0x66e") } }, this[P("0x67b")][P("0x67d")] = e.defaultValue(this.heatmapOptions[P("0x67d")], this[P("0x67e")][P("0x67d")]), this[P("0x67b")][P("0x67f")] = e[P("0x102")](this[P("0x67b")][P("0x67f")], this[P("0x67e")][P("0x67f")]), this[P("0x67b")][P("0x680")] = e.defaultValue(this[P("0x67b")][P("0x680")], this[P("0x67e")][P("0x680")]), this[P("0x67b")][P("0x681")] = e.defaultValue(this[P("0x67b")][P("0x681")], this[P("0x67e")].minOpacity), this[P("0x67b")].blur = e.defaultValue(this[P("0x67b")].blur, this[P("0x67e")].blur), this; }; t.prototype[P("0x682")] = function (e) { if (e && e[P("0x33a")] && 0 < e[P("0x33a")][P("0x0")] && e[P("0x33a")][0][P("0x180")] && e[P("0x33a")][0][P("0x180")][P("0x2ed")]) { for (var t = { west: e[P("0x33a")][0][P("0x180")][P("0x2ed")][0], south: e.features[0][P("0x180")][P("0x2ed")][1], east: e[P("0x33a")][0][P("0x180")][P("0x2ed")][0], north: e[P("0x33a")][0][P("0x180")].coordinates[1] }, i = 0; i < e[P("0x33a")][P("0x0")]; i++) { var r = e[P("0x33a")][i][P("0x180")].coordinates[0], n = e[P("0x33a")][i][P("0x180")][P("0x2ed")][1]; t[P("0x2a9")] = r > t.west ? t.west : r, t[P("0x2aa")] = r > t[P("0x2aa")] ? r : t[P("0x2aa")], t[P("0x2ab")] = n > t[P("0x2ab")] ? t[P("0x2ab")] : n, t[P("0x2ac")] = n > t[P("0x2ac")] ? n : t[P("0x2ac")]; } return t; } return !1; }, t[P("0x5")][P("0x683")] = function (e, t, i) { var r = document[P("0x15c")](P("0x15d")); return i && r.setAttribute("id", i), r[P("0x21b")]("style", P("0x684") + e + P("0x685") + t + "px; margin: 0px; display: none;"), document[P("0x686")][P("0x167")](r), r; }, t[P("0x5")][P("0x687")] = function (t) { var i = t._heatmap[P("0x688")](), r = new e[P("0x10c")]({ url: i, rectangle: t[P("0x689")] }); return r[P("0x68a")] = new e[P("0x68b")]({ rectangleSouthwestInMeters: new e[P("0x10")](t[P("0x68c")][P("0x2a9")], t[P("0x68c")][P("0x2ab")]), rectangleNortheastInMeters: new e[P("0x10")](t[P("0x68c")][P("0x2aa")], t._mbounds[P("0x2ac")]) }), r; }, t.prototype[P("0x68d")] = function (e) { for (var t = "", i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", r = 0; r < (e || 8); r++) { t += i[P("0x68e")](Math[P("0x3e8")](Math[P("0x266")]() * i[P("0x0")])); } return t; }; var i = new e[P("0x68f")](); t[P("0x5")][P("0x690")] = function (t) { var r = i[P("0x5a")](e.Cartographic[P("0x1a1")](t.x, t.y)); return { x: r.x, y: r.y }; }, t[P("0x5")][P("0x691")] = function (t) { var r = i.project(e[P("0x13")][P("0x1a1")](t[P("0x2a9")], t[P("0x2ab")])), n = i[P("0x5a")](e[P("0x13")][P("0x1a1")](t[P("0x2aa")], t.north)); return { north: n.y, east: n.x, south: r.y, west: r.x }; }, t.prototype[P("0x692")] = function (t) { var r = i[P("0xbe")](new e[P("0x11")](t.x, t.y)); return { x: r[P("0x112")], y: r[P("0x114")] }; }, t.prototype[P("0x693")] = function (t) { var r = i[P("0xbe")](new e.Cartesian3(t[P("0x2a9")], t[P("0x2ab")])), n = i[P("0xbe")](new e[P("0x11")](t[P("0x2aa")], t.north)); return { north: this[P("0x694")](n.latitude), east: this.rad2deg(n[P("0x112")]), south: this[P("0x694")](r[P("0x114")]), west: this[P("0x694")](r[P("0x112")]) }; }, t[P("0x5")][P("0x695")] = function (e) { return e * (Math.PI / 180); }, t.prototype[P("0x694")] = function (e) { return e / (Math.PI / 180); }, t[P("0x5")].wgs84PointToHeatmapPoint = function (e) { return this.mercatorPointToHeatmapPoint(this[P("0x690")](e)); }, t[P("0x5")][P("0x696")] = function (e) { var t = {}; return t.x = Math[P("0x5f0")]((e.x - this[P("0x697")]) / this[P("0x698")] + this._spacing), t.y = Math.round((e.y - this._yoffset) / this[P("0x698")] + this[P("0x699")]), t.y = this.height - t.y, t; }, t[P("0x5")]._setWidthAndHeight = function (e) { this[P("0x19a")] = 0 < e[P("0x2aa")] && e.west < 0 ? e[P("0x2aa")] + Math[P("0x78")](e.west) : Math[P("0x78")](e.east - e[P("0x2a9")]), this[P("0x8b")] = 0 < e.north && e[P("0x2ab")] < 0 ? e[P("0x2ac")] + Math.abs(e[P("0x2ab")]) : Math[P("0x78")](e[P("0x2ac")] - e[P("0x2ab")]), this[P("0x698")] = 1, this.width > this[P("0x8b")] && this[P("0x19a")] > this[P("0x67e")][P("0x69a")] ? (this._factor = this[P("0x19a")] / this.defaults[P("0x69a")], this[P("0x8b")] / this[P("0x698")] < this.defaults[P("0x69b")] && (this[P("0x698")] = this[P("0x8b")] / this[P("0x67e")][P("0x69b")])) : this.height > this[P("0x19a")] && this[P("0x8b")] > this[P("0x67e")][P("0x69a")] ? (this[P("0x698")] = this[P("0x8b")] / this[P("0x67e")][P("0x69a")], this[P("0x19a")] / this._factor < this[P("0x67e")][P("0x69b")] && (this[P("0x698")] = this[P("0x19a")] / this.defaults[P("0x69b")])) : this[P("0x19a")] < this.height && this[P("0x19a")] < this.defaults[P("0x69b")] ? (this[P("0x698")] = this[P("0x19a")] / this.defaults[P("0x69b")], this[P("0x8b")] / this._factor > this[P("0x67e")][P("0x69a")] && (this[P("0x698")] = this[P("0x8b")] / this.defaults[P("0x69a")])) : this.height < this[P("0x19a")] && this[P("0x8b")] < this[P("0x67e")][P("0x69b")] && (this[P("0x698")] = this[P("0x8b")] / this.defaults[P("0x69b")], this[P("0x19a")] / this[P("0x698")] > this.defaults[P("0x69a")] && (this[P("0x698")] = this[P("0x19a")] / this[P("0x67e")][P("0x69a")])), this[P("0x19a")] = this[P("0x19a")] / this[P("0x698")], this.height = this[P("0x8b")] / this[P("0x698")]; }, t[P("0x5")][P("0x69c")] = function (t, i, r) { if (this._id = this[P("0x68d")](), this[P("0x69d")] = this._computeBounds(r), this[P("0x68c")] = this[P("0x691")](this[P("0x69d")]), this[P("0x69e")](this[P("0x68c")]), this[P("0x67b")][P("0x181")] = Math.round(this.heatmapOptions.radius ? this[P("0x67b")].radius : this[P("0x19a")] > this[P("0x8b")] ? this[P("0x19a")] / this[P("0x67e")][P("0x69f")] : this.height / this[P("0x67e")].radiusFactor), this[P("0x699")] = this[P("0x67b")][P("0x181")] * this[P("0x67e")].spacingFactor, this[P("0x697")] = this[P("0x68c")].west, this[P("0x6a0")] = this[P("0x68c")][P("0x2ab")], this[P("0x19a")] = Math.round(this[P("0x19a")] + 2 * this[P("0x699")]), this[P("0x8b")] = Math[P("0x5f0")](this[P("0x8b")] + 2 * this[P("0x699")]), this[P("0x68c")][P("0x2a9")] -= this[P("0x699")] * this[P("0x698")], this[P("0x68c")][P("0x2aa")] += this[P("0x699")] * this[P("0x698")], this._mbounds[P("0x2ab")] -= this._spacing * this._factor, this[P("0x68c")].north += this[P("0x699")] * this[P("0x698")], this.bounds = this[P("0x693")](this._mbounds), this[P("0x689")] = e[P("0x26b")].fromDegrees(this[P("0x6a1")][P("0x2a9")], this[P("0x6a1")][P("0x2ab")], this[P("0x6a1")].east, this[P("0x6a1")].north), this[P("0x6a2")] ? (this[P("0x224")] && this[P("0x6a2")].setAttribute("id", this[P("0x224")]), this._container.setAttribute("style", P("0x684") + this[P("0x19a")] + P("0x685") + this[P("0x8b")] + P("0x6a3"))) : this[P("0x6a2")] = this[P("0x683")](this[P("0x19a")], this[P("0x8b")], this[P("0x224")]), this.heatmapOptions[P("0x131")] = this[P("0x6a2")], this._heatmap ? this._heatmap[P("0x6a4")]() : this[P("0x6a5")] = h337[P("0xa")](this[P("0x67b")]), this._container[P("0x12f")][0].setAttribute("id", this[P("0x224")] + P("0x6a6")), r && 0 < r[P("0x33a")][P("0x0")] && null !== t && !1 !== t && null !== i && !1 !== i) { for (var n = [], o = 0; o < r[P("0x33a")][P("0x0")]; o++) { var a = {}; a.x = r[P("0x33a")][o].geometry.coordinates[0], a.y = r[P("0x33a")][o][P("0x180")][P("0x2ed")][1], a[P("0x3")] = r.features[o][P("0x33d")].z, n[P("0x17c")](a); } for (var s = [], x = 0; x < n[P("0x0")]; x++) { var l = n[x], c = this[P("0x6a7")](l); !l[P("0x3")] && 0 !== l[P("0x3")] || (c.value = l.value), s[P("0x17c")](c); } return this[P("0x6a5")].setData({ min: t, max: i, data: s }), this.updateLayer(), !0; } return !1; }, t[P("0x5")].show = function (e) { this[P("0x6a8")] && (this[P("0x6a8")].show = e); }, t[P("0x5")][P("0x17f")] = function () { this[P("0x6a8")] && (this[P("0x13b")].scene[P("0x6a9")][P("0x17f")](this[P("0x6a8")]), this.viewer.entities[P("0x17f")](this[P("0x6a8")])); }, t[P("0x5")][P("0x6aa")] = function () { if (this[P("0x67b")].useEntities && this[P("0x13b")][P("0x194")]) { this[P("0x6a8")] && this[P("0x13b")][P("0x194")].remove(this[P("0x6a8")]); var t = new e[P("0x651")]({ image: this[P("0x6a5")][P("0x6ab")].canvas }); e[P("0x373")] >= P("0x6ac") ? t[P("0x6ad")] = !0 : "1.16" <= e[P("0x373")] && (t[P("0x671")] = 0.99), this[P("0x6a8")] = this[P("0x13b")][P("0x194")][P("0x6d")]({ show: !0, rectangle: { coordinates: this[P("0x689")], material: t } }); } else this._layer && this.viewer[P("0x10f")][P("0x6a9")].remove(this[P("0x6a8")]), this[P("0x6a8")] = this[P("0x13b")][P("0x10f")].imageryLayers[P("0x6ae")](this._getImageryProvider(this)); }; }(window[P("0xfd")]), function (e) { function t(t) { if (t = e[P("0x102")](t, e[P("0x102")].EMPTY_OBJECT), !e.defined(t[P("0x13b")])) throw new DeveloperError(P("0x63a")); if (this[P("0x13c")] = t[P("0x13b")], !e[P("0x14")](t.center)) throw new DeveloperError(P("0x65f")); if (!e[P("0x14")](t[P("0x6af")])) throw new DeveloperError(P("0x6b0")); this[P("0x5b4")] = e[P("0x102")](t[P("0x11a")], []), this[P("0x6b1")] = t.url; var i = e[P("0x102")](this[P("0x5b4")][2], e.GeoImageCircle.DEFAULT_HEIGHT); this[P("0x217")] = i, this._radius = e.defaultValue(t[P("0x181")], e[P("0x6b2")][P("0x64c")]), this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x6b2")][P("0x648")]); var r = this[P("0x5b4")][0], n = this._center[1], o = e[P("0x102")](this[P("0x63c")], 0), a = this._color, s = this[P("0x6b1")]; this._ellipse = null, this[P("0x63e")] = e[P("0x102")](t.classificationType, e[P("0x6b2")][P("0x640")]), this._createImageCircle(r, n, i, o, s, a), this[P("0x646")] = e[P("0x102")](t.isShow, !0), this[P("0x645")](this._isShow); } t[P("0x5")][P("0xf4")] = function () { this._viewer && this._viewer[P("0x194")][P("0x17f")](this[P("0x6b3")]); }, t[P("0x5")].setShow = function (t) { this[P("0x646")] = e[P("0x102")](t, !0), this[P("0x6b3")][P("0x221")] = t; }, t[P("0x5")].setColor = function (t) { this[P("0x596")] = e[P("0x102")](t, e[P("0x6b2")][P("0x648")]), this[P("0x6b3")][P("0x649")][P("0x19c")][P("0x169")] = this[P("0x596")]; }, t[P("0x5")][P("0x64a")] = function () { return this[P("0x596")]; }, t[P("0x5")][P("0x64b")] = function (t) { this[P("0x63c")] = e[P("0x102")](t, e[P("0x6b2")][P("0x64c")]), this[P("0x6b3")][P("0x649")][P("0x64d")] = this._radius, this[P("0x6b3")].ellipse[P("0x64d")] = this._radius; }, t[P("0x5")].getRadius = function () { return this[P("0x63c")]; }, t[P("0x5")].setCenter = function (t) { if (!e.defined(t)) throw new DeveloperError(P("0x650")); this[P("0x6b3")].position = position, this[P("0x5b4")] = position; }, t[P("0x5")][P("0x6b4")] = function (t, i, r, n, o, a) { var s = this[P("0x13c")], x = e[P("0x23")][P("0x119")](30); if (!this[P("0x6b3")]) { var l = s[P("0x194")].add({ position: e[P("0x11")][P("0x1a1")](t, i, r), ellipse: { classificationType: this._classificationType, semiMinorAxis: n, semiMajorAxis: n, rotation: new e[P("0x652")](c, !1), stRotation: new e[P("0x652")](c, !1), material: new e[P("0x651")]({ color: a, image: o, transparent: !0 }) } }); this._ellipse = l; } function c() { return x += 0.05; } }, e.GeoImageCircle = t, e.GeoImageCircle[P("0x63b")] = 0, e[P("0x6b2")][P("0x640")] = e[P("0x17a")][P("0x6b5")], e.GeoImageCircle[P("0x64c")] = 25e3, e[P("0x6b2")][P("0x648")] = e[P("0x16a")].WHITE; }(window.Cesium), function (e) { function t() { this[P("0x6b6")] = null, this[P("0x5ba")] = !1, this._speed = 0, this[P("0x6b7")] = null, this[P("0x6b8")] = 1, this[P("0x5bf")] = 0, this[P("0x5cf")] = 0, this._mode = 0; } t[P("0x5")][P("0x69")] = function () { this[P("0x5ba")] = !0, this[P("0x5cf")] = 0; }, t[P("0x5")][P("0xd2")] = function (e) { this._actived && (this[P("0x5cf")] += e, this[P("0x5cf")] > this[P("0x5bf")] && (this[P("0x5ba")] = !1)); }, e[P("0xf")](t.prototype, { position: { get: function get() { return this[P("0x6b6")]; }, set: function set(e) { e && (this._position = e[P("0x6e")](this[P("0x6b6")])); } }, direction: { get: function get() { return this[P("0x6b7")]; }, set: function set(e) { e && (this._direction = e.clone(this[P("0x6b7")])); } }, actived: { get: function get() { return this[P("0x5ba")]; } }, speed: { get: function get() { return this._speed; }, set: function set(e) { this._speed = e; } }, baseScale: { get: function get() { return this[P("0x6b8")]; }, set: function set(e) { this._baseScale = e; } }, life: { get: function get() { return this[P("0x5bf")]; }, set: function set(e) { this[P("0x5bf")] = e; } }, time: { get: function get() { return this[P("0x5cf")]; } }, mode: { get: function get() { return this[P("0x6b9")]; }, set: function set(e) { this._mode = e; } } }); var i = new e[P("0x11")](), r = e.GeoLineFireEffect = function (t) { t = t || {}, this[P("0x6b1")] = t.url ? e[P("0x6ba")](t[P("0x6af")]) : null, this[P("0x6bb")] = t[P("0x6bc")] ? e[P("0x6ba")](t[P("0x6bc")]) : null, this._explode = t.explode ? t[P("0x6bd")] : 0, this[P("0x6be")] = [], this._scene = t[P("0x13b")][P("0x10f")], this._clock = t.viewer[P("0x571")]; var i = t[P("0xfc")] ? t[P("0xfc")] : 1; this[P("0x6bf")] = 2 * i, this[P("0x6c0")] = 0.1 * i, this[P("0x6c1")] = 1 * i, this._startColor = new e[P("0x16a")](1, 1, 1, 1), this[P("0x6c2")] = new e[P("0x16a")](0.8, 0, 0, 0.01), t.smoking && (this._endColor[P("0x66e")] = 1 - t[P("0x6c3")]); var r = t[P("0x6c4")] ? t.life : 1; this[P("0x6c5")] = 0.5 * r, this[P("0x6c6")] = 2 * r; var n = t[P("0x539")] ? t[P("0x539")] : 1; if (this[P("0x6c7")] = 7 * n, this[P("0x6c8")] = 20 * n, this[P("0x6c9")] = t[P("0x1a9")] ? t.count : 0, this[P("0x63c")] = t.radius ? t[P("0x181")] : 1, this[P("0x6ca")] = t[P("0x6cb")] ? t[P("0x6cb")] : 4, this._fires = [], this[P("0x6cc")] = null, this[P("0x6cd")] = null, this[P("0x6ce")] = null, this[P("0x6cf")] = null, this._directionsArray = null, this[P("0x6d0")] = null, this[P("0x5b7")] = !0, this[P("0x6d1")] = 0, this[P("0x5cf")] = 0, this[P("0x6d2")](), this[P("0x6d3")](this[P("0x6c9")]), t[P("0x19f")] && t[P("0x19f")][P("0x0")]) for (var o = t[P("0x19f")], a = 0; a < o[P("0x0")]; a++) { this[P("0x6d4")](o[a]); } }; e[P("0xf")](r[P("0x5")], { explode: { get: function get() { return this[P("0x6d5")]; }, set: function set(e) { this[P("0x6d5")] = e; } }, scale: { get: function get() { return this._imageSize; }, set: function set(e) { this[P("0x6bf")] = 2 * e, this[P("0x6c0")] = 0.1 * e, this[P("0x6c1")] = 1 * e; } }, life: { get: function get() { return this[P("0x6c6")] / 2; }, set: function set(e) { this[P("0x6c5")] = 0.5 * e, this[P("0x6c6")] = 2 * e; } }, speed: { get: function get() { return this[P("0x6c8")] / 20; }, set: function set(e) { this._minSpeed = 7 * e, this[P("0x6c8")] = 20 * e; } }, radius: { get: function get() { return this[P("0x63c")]; }, set: function set(e) { this._radius = e; } }, grow: { get: function get() { return this[P("0x6ca")]; }, set: function set(e) { this[P("0x6ca")] = e; } }, pntsCount: { get: function get() { return this[P("0x6be")][P("0x0")]; } }, smoking: { get: function get() { return 1 - this[P("0x6c2")][P("0x66e")]; }, set: function set(e) { this[P("0x6c2")][P("0x66e")] = 1 - e; } } }), r.prototype[P("0x6d4")] = function (t) { if (void 0 !== t) { t = e[P("0x13")][P("0x1a1")][P("0x346")](this, t), t = e[P("0x11")][P("0x3d0")](t[P("0x112")], t[P("0x114")], t.height); var r = 10, n = this._positions[P("0x0")]; if (0 < n) { var o = this._positions[n - 1]; i = e[P("0x11")].subtract(t, o, i), r = e.Cartesian3.magnitude(i); } r < 0.5 || (this[P("0x6be")][P("0x17c")](t.clone()), this._growFires(this[P("0x6ca")], r)); } }, r[P("0x5")][P("0xf4")] = function () { this[P("0x42")] = null, this._clock = null, this[P("0x6ce")] && (this[P("0x6ce")][P("0x5cb")] && (this[P("0x6ce")][P("0x5cb")][P("0xf4")](), this._drawCommand.vertexArray = null), this[P("0x6ce")][P("0x5cc")] && (this[P("0x6ce")][P("0x5cc")][P("0xf4")](), this._drawCommand.shaderProgram = null), this[P("0x6ce")][P("0x6d6")] = null, this[P("0x6ce")] = null), this[P("0x6cc")] && (this._texture_0[P("0xf4")](), this._texture_0 = null), this[P("0x6cd")] && (this._texture_1.destroy(), this[P("0x6cd")] = null), this[P("0x6d7")][P("0x0")] = 0, this._positions[P("0x0")] = 0, this[P("0x6cf")] = null, this[P("0x6d8")] = null, this[P("0x6d0")] = null; }, r.prototype._loadTexture = function () { var t = this, i = t[P("0x42")][P("0x6d9")][P("0x3cc")]; this._url && e[P("0x6da")].fetchImage(this[P("0x6b1")]).then(function (r) { t._texture_0 = new e[P("0x6db")]({ context: i, source: r }, function (e) {}); }), this[P("0x6bb")] && e.Resource[P("0x6dc")](this[P("0x6bb")])[P("0x333")](function (r) { t[P("0x6cd")] = new e[P("0x6db")]({ context: i, source: r }, function (e) {}); }); }, r.prototype[P("0x6dd")] = function () { var t = this[P("0x6be")][P("0x0")]; if (t < 1) return null; if (t < 2) return this[P("0x6be")][0].clone(i), i.x += e[P("0x23")].randomBetween(0, 1) * this[P("0x63c")], i.y += e.Math[P("0x6de")](0, 1) * this[P("0x63c")], i.z += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")], i; var r = e[P("0x23")].randomBetween(0, t - 1); r = Math.floor(r); var n = this[P("0x6be")][r], o = this[P("0x6be")][r + 1], a = e.Math.randomBetween(0, 1); return i = e.Cartesian3[P("0x308")](n, o, a, i); }, r[P("0x5")][P("0x6d3")] = function (e) { if (e && !(e < 1)) for (var i = 0; i < e; i++) { var r = new t(); this._fires[P("0x17c")](r); } }, r[P("0x5")][P("0x6df")] = function (e, i) { e = Math[P("0x5f0")](e * i), this[P("0x6c9")] += e; for (var r = 0; r < e; r++) { var n = new t(); this[P("0x6d7")][P("0x17c")](n); } }, r[P("0x5")]._initFire = function (t) { return t.position = this._emissionPosition(), t.position && (t[P("0x93")] = e[P("0x11")][P("0x8d")](t[P("0x8c")], new e.Cartesian3())), t[P("0x539")] = e[P("0x23")][P("0x6de")](this[P("0x6c7")], this[P("0x6c8")]), t[P("0x6c4")] = e[P("0x23")][P("0x6de")](this[P("0x6c5")], this._maxLife), t.baseScale = e[P("0x23")][P("0x6de")](0.5, 5), (t[P("0xd3")] = 0) < this._explode && e[P("0x23")][P("0x6de")](0, 1) > 1 - this._explode && (t[P("0xd3")] = 1, t[P("0x6e0")] *= 1.2, t[P("0x6c4")] *= 0.2, t[P("0x539")] *= 2), null != t.position; }, r[P("0x5")][P("0x6e1")] = function (e) { e.update(this[P("0x5cf")]), e.actived || this[P("0x6e2")](e) && e[P("0x69")](); }, r.prototype[P("0x5c8")] = function (t) { var i; if (i = this[P("0x6e3")][P("0x6e4")] ? t.time[P("0x6e5")] : e[P("0x5d0")]() / 1e3, 0 == this[P("0x6d1")]) this[P("0x6d1")] = i;else { var r = i - this[P("0x6d1")]; r > this[P("0x6c6")] && (r = this[P("0x6c6")]), this[P("0x5cf")] = r, this[P("0x6d1")] = i; } }, r[P("0x5")].update = function (e) { this[P("0x5c8")](e); var t = this[P("0x6c9")]; if (!(t < 1 || t != this[P("0x6d7")][P("0x0")] || this[P("0x6be")][P("0x0")] < 1) && this[P("0x6cc")]) { if (this[P("0x5b7")]) { for (var i = 0; i < t; i++) { var r = this[P("0x6d7")][i]; this[P("0x6e1")](r); } this[P("0x6e6")](e), this._needUpdate = !1; } else this[P("0x5b7")] = !0; this[P("0x6e7")]() && e.commandList[P("0x17c")](this[P("0x6ce")]); } }, r[P("0x5")][P("0x6e8")] = function (e) { this[P("0x6e7")]() && e[P("0x5ca")].push(this[P("0x6ce")]); }, r[P("0x5")]._updateCommand = function (t) { var i = this[P("0x6ce")]; i || ((i = this[P("0x6ce")] = new e[P("0x5d3")]()).pass = e[P("0x5e4")].TRANSLUCENT, i.owner = this, i[P("0x1a9")] = 6), i[P("0x6e9")] = this[P("0x6c9")], this._updateCommandVA(t, i), this[P("0x6ea")](t, i), this[P("0x6eb")](t, i), this[P("0x6ec")](t, i), this[P("0x6ed")](t, i), this._updateCommandModelMatrix(t, i); }, r[P("0x5")][P("0x6e7")] = function () { var e = this[P("0x6ce")]; return !!(e && e[P("0x5cb")] && e.boundingVolume && e[P("0x5cc")] && e.uniformMap && e.renderState); }; var n = { aPlane: 0 }; n[P("0x6ee")] = 1, n[P("0x6ef")] = 2, n[P("0x6f0")] = 3, n.aTexcoord = 4, r[P("0x5")][P("0x6f1")] = function (t, i) { var r = this[P("0x6c9")], o = t[P("0x3cc")]; this[P("0x6cf")] || (this[P("0x6cf")] = e[P("0x5e8")][P("0x5e7")](e.ComponentDatatype[P("0x5e9")], 3 * r)); var a = this[P("0x6cf")]; this[P("0x6d8")] || (this[P("0x6d8")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r)); var s = this._directionsArray; this._speedScaleLifeTimesArray || (this[P("0x6d0")] = e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r)); for (var x = this._speedScaleLifeTimesArray, l = 0; l < r; l++) { var c = this[P("0x6d7")][l], u = c[P("0x8c")]; a[3 * l] = u.x, a[3 * l + 1] = u.y, a[3 * l + 2] = u.z; var h = c.direction; s[4 * l] = h.x, s[4 * l + 1] = h.y, s[4 * l + 2] = h.z, s[4 * l + 3] = c[P("0xd3")], x[4 * l] = c[P("0x539")], x[4 * l + 1] = c[P("0x6e0")], x[4 * l + 2] = c[P("0x6c4")], x[4 * l + 3] = c[P("0x6f2")]; } var f = e[P("0x5ea")][P("0x5eb")]({ context: o, typedArray: new Float32Array([-1, 0, 1, 0, 0.5, 2, -0.5, 2]), usage: e[P("0x4d5")][P("0x4d6")] }), d = e.Buffer[P("0x5eb")]({ context: o, typedArray: a, usage: e[P("0x4d5")][P("0x4d6")] }), g = e[P("0x5ea")][P("0x5eb")]({ context: o, typedArray: s, usage: e[P("0x4d5")].STATIC_DRAW }), p = e.Buffer[P("0x5eb")]({ context: o, typedArray: x, usage: e[P("0x4d5")][P("0x4d6")] }), m = e[P("0x5ea")][P("0x5eb")]({ context: o, typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), usage: e[P("0x4d5")].STATIC_DRAW }), b = e[P("0x5ea")][P("0x5ec")]({ context: o, typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]), usage: e[P("0x4d5")][P("0x4d6")], indexDatatype: e.IndexDatatype[P("0x5ed")] }), v = []; v.push({ index: n[P("0x6ee")], vertexBuffer: d, componentsPerAttribute: 3, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 12, normalize: !1, instanceDivisor: 1 }), v[P("0x17c")]({ index: n.aDirection, vertexBuffer: g, componentsPerAttribute: 4, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), v[P("0x17c")]({ index: n[P("0x6f0")], vertexBuffer: p, componentsPerAttribute: 4, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), v[P("0x17c")]({ index: n[P("0x6f3")], vertexBuffer: m, componentsPerAttribute: 2, componentDatatype: e.ComponentDatatype[P("0x5e9")], offsetInBytes: 0, strideInBytes: 8, normalize: !1 }), v.push({ index: n[P("0x6f4")], vertexBuffer: f, componentsPerAttribute: 2, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 8, normalize: !1 }); var C = new e[P("0x5ee")]({ context: o, attributes: v, indexBuffer: b }); i[P("0x5cb")] && i[P("0x5cb")][P("0xf4")](), i[P("0x5cb")] = C; }, r[P("0x5")][P("0x6ea")] = function (t, i) { var r = this._positions[P("0x0")]; if (!(r < 1)) if (r < 2) i[P("0x4bc")] = new e[P("0x5f1")](this[P("0x6be")][0].clone(), this[P("0x63c")]);else { for (var n = new e[P("0x5f1")](this[P("0x6be")][0][P("0x6e")](), this._radius), o = 1; o < r; o++) { n = e[P("0x5f1")].expand(n, this[P("0x6be")][o], n); } i[P("0x4bc")] = n; } }, r[P("0x5")][P("0x6eb")] = function (t, i) { if (!i[P("0x5cc")]) { var r = t[P("0x3cc")]; i[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({ context: r, vertexShaderSource: o, fragmentShaderSource: a, attributeLocations: n }); } }, r.prototype[P("0x6ec")] = function (e, t) { var i = t[P("0x5de")] = {}; if (!i || !i._ready) { var r = this; i[P("0x48b")] = !0, i[P("0x6f5")] = function () { return r[P("0x6bf")]; }, i[P("0x6f6")] = function () { return r[P("0x6c0")]; }, i[P("0x6f7")] = function () { return r[P("0x6c1")]; }, i.u_startColor = function () { return r._startColor; }, i[P("0x6f8")] = function () { return r[P("0x6c2")]; }, i[P("0x6f9")] = function () { return r._texture_0; }, i[P("0x6fa")] = function () { return r[P("0x6cd")] ? r._texture_1 : r[P("0x6cc")]; }; } }, r.prototype[P("0x6ed")] = function (t, i) { i.renderState || (i[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({ cull: { enabled: !1 }, depthTest: { enabled: !0, func: e[P("0x5d8")].LEQUAL }, depthMask: !1, blending: e[P("0x5da")][P("0x5db")] })); }, r[P("0x5")][P("0x6fb")] = function (t, i) { i[P("0x4ac")] || (i.modelMatrix = e[P("0x1b")].IDENTITY); }; var o = P("0x6fc") + "attribute vec3 aPosition;\n" + P("0x6fd") + P("0x6fe") + P("0x6ff") + "uniform vec4 u_startColor;\nuniform vec4 u_endColor;\nuniform float u_startScale;\n" + P("0x700") + "uniform float u_imageSize;\n" + P("0x701") + P("0x702") + "varying float v_texIndex;\n" + P("0x703") + P("0x704") + " v += position;\n" + P("0x705") + P("0x706") + P("0x707") + "}\n" + P("0x708") + "{\n" + P("0x709") + P("0x70a") + P("0x70b") + " float time = aSpeedScaleLifeTime.w;\n float t = time / life;\n" + P("0x70c") + " vec4 positionEC = computePosition(aPosition, aPlane, aDirection.xyz, u_imageSize, baseScale, speed, time);\n" + P("0x70d") + " v_texcoord_0.xy = aTexcoord;\n" + P("0x70e") + P("0x70f") + P("0x710") + P("0x614") + P("0x711") + P("0x712") + P("0x614") + " else{\n" + P("0x713") + P("0x614") + " if (t > 0.618){\n" + P("0x714") + P("0x614") + " else{\n" + P("0x715") + " }\n}", a = P("0x701") + P("0x702") + "varying float v_texIndex;\n" + P("0x716") + P("0x717") + P("0x708") + "{\n" + P("0x718") + P("0x719") + P("0x71a") + " if (v_texIndex == 1.0){\n" + P("0x71b") + " }\n else{\n" + P("0x71c") + P("0x71d") + P("0x614") + P("0x71e") + " if (v_texIndex == 1.0){\n" + P("0x71b") + P("0x71d") + " else{\n" + P("0x71c") + P("0x71d") + P("0x71f") + P("0x614") + P("0x720") + P("0x721") + P("0x614") + P("0x722") + " float mc = max(max(color.r, color.g), color.b);\n" + P("0x723") + P("0x614") + " else{\n" + P("0x724") + " color.a = 0.0;\n }\n" + P("0x614") + " color = czm_gammaCorrect(color);\n" + P("0x725") + P("0x726") + P("0x727") + P("0x728") + "}"; }(window[P("0xfd")]), function (e) { function t() { this[P("0x6b6")] = null, this[P("0x5ba")] = !1, this[P("0x5b9")] = 0, this[P("0x6b7")] = null, this[P("0x6b8")] = 1, this._life = 0, this[P("0x5cf")] = 0, this[P("0x6b9")] = 0, this._alphaFact = 0, this._normalFact = 1; } t[P("0x5")].active = function () { this._actived = !0, this[P("0x5cf")] = 0; }; var i = new e[P("0x11")](), r = new e.Cartesian3(); t.prototype[P("0xd2")] = function (t) { if (this[P("0x5ba")]) if (this[P("0x5cf")] += t, this[P("0x5cf")] > this[P("0x5bf")]) this[P("0x5ba")] = !1;else { var n = e[P("0x11")].normalize(this._position, i), o = e[P("0x11")][P("0x6c")](this[P("0x6b7")], this[P("0x729")], r); e.Cartesian3[P("0x6d")](n, o, n), e.Cartesian3[P("0x8d")](n, this[P("0x6b7")]), e.Cartesian3[P("0x6c")](this[P("0x6b7")], t * this[P("0x5b9")], n), e[P("0x11")][P("0x6d")](this._position, n, this._position), 0.025 < this._speed && (this[P("0x5b9")] -= 0.025); } }, e[P("0xf")](t[P("0x5")], { position: { get: function get() { return this._position; }, set: function set(e) { e && (this[P("0x6b6")] = e[P("0x6e")](this[P("0x6b6")])); } }, direction: { get: function get() { return this[P("0x6b7")]; }, set: function set(e) { e && (this._direction = e.clone(this[P("0x6b7")])); } }, actived: { get: function get() { return this[P("0x5ba")]; } }, speed: { get: function get() { return this._speed; }, set: function set(e) { this._speed = e; } }, baseScale: { get: function get() { return this[P("0x6b8")]; }, set: function set(e) { this[P("0x6b8")] = e; } }, life: { get: function get() { return this[P("0x5bf")]; }, set: function set(e) { this[P("0x5bf")] = e; } }, time: { get: function get() { return this[P("0x5cf")]; } }, mode: { get: function get() { return this._mode; }, set: function set(e) { this._mode = e; } }, alphaFact: { get: function get() { return this._alphaFact; }, set: function set(e) { this[P("0x72a")] = e; } }, normalFact: { get: function get() { return this[P("0x729")]; }, set: function set(e) { this._normalFact = e; } } }); var n = new e[P("0x11")](), o = e[P("0x72b")] = function (t) { if (t = t || {}, this[P("0x6b1")] = t[P("0x6af")] ? e[P("0x6ba")](t[P("0x6af")]) : null, this[P("0x6be")] = [], this[P("0x42")] = t.viewer[P("0x10f")], this._clock = t.viewer.clock, this[P("0xfc")] = t[P("0xfc")] ? t.scale : 1, this[P("0x72c")] = new e[P("0x16a")](), this._endColor = new e[P("0x16a")](), this[P("0x72d")] = t.density ? t.density : 0.5, this[P("0x6c4")] = t.life ? t.life : 1, this[P("0x539")] = t[P("0x539")] ? t.speed : 1, this[P("0x72e")] = t.normalFactor ? t[P("0x72e")] : 1, this[P("0x6c9")] = t[P("0x1a9")] ? t.count : 600, this[P("0x63c")] = t[P("0x181")] ? t.radius : 0.5, this[P("0x6ca")] = t[P("0x6cb")] ? t.grow : 60, this[P("0x72f")] = [], this[P("0x6cc")] = null, this._drawCommandAlpha = null, this._drawCommandOpaque = null, this._pointsArray = null, this._directionsArray = null, this[P("0x6d0")] = null, this._needUpdate = !0, this[P("0x730")] = 0, this._preTime = 0, this[P("0x5cf")] = 0, this[P("0x731")] = 0.075, this[P("0x6d2")](), this._initSmokes(this[P("0x6c9")]), t.positions && t[P("0x19f")].length) for (var i = t[P("0x19f")], r = i[P("0x0")], n = 0; n < r; n++) { this[P("0x6d4")](i[n]); } }; e[P("0xf")](o.prototype, { scale: { get: function get() { return this[P("0x6c1")]; }, set: function set(e) { this[P("0x6bf")] = 0.7 * e, this._endScale = 1.6 * e, this[P("0x6c1")] = 1 * e; } }, life: { get: function get() { return this[P("0x6c6")] / 4; }, set: function set(e) { this[P("0x6c5")] = 2.5 * e, this._maxLife = 4 * e; } }, speed: { get: function get() { return this[P("0x6c8")] / 6; }, set: function set(e) { this[P("0x6c7")] = 1.5 * e, this[P("0x6c8")] = 6 * e; } }, radius: { get: function get() { return this[P("0x63c")]; }, set: function set(e) { this[P("0x63c")] = e; } }, grow: { get: function get() { return this[P("0x6ca")]; }, set: function set(e) { this._grow = e; } }, pntsCount: { get: function get() { return this[P("0x6be")][P("0x0")]; } }, density: { get: function get() { return 1 - this[P("0x6c2")].red; }, set: function set(e) { e = 1 - e, this._endColor[P("0x66e")] = e, this[P("0x6c2")].green = e, this[P("0x6c2")].blue = e, this[P("0x6c2")][P("0x671")] = 0.715, this._startColor[P("0x66e")] = Math[P("0x7d")](1, e + 0.3), this[P("0x72c")][P("0x66f")] = Math.min(1, e + 0.3), this[P("0x72c")][P("0x670")] = Math[P("0x7d")](1, e + 0.3), this[P("0x72c")][P("0x671")] = 1; } }, normalFactor: { get: function get() { this[P("0x732")]; }, set: function set(e) { this[P("0x733")] = 5 * e, this[P("0x732")] = 16 * e; } } }); var a = new e[P("0x11")](); o.prototype.addPosition = function (t) { if (void 0 !== t) { t = e[P("0x13")].fromDegrees.apply(this, t), t = e[P("0x11")][P("0x3d0")](t[P("0x112")], t.latitude, t.height, void 0, a); var i = 10, r = this[P("0x6be")][P("0x0")]; if (0 < r) { var o = this[P("0x6be")][r - 1]; n = e[P("0x11")][P("0x95")](t, o, n), i = e.Cartesian3[P("0x96")](n); } i < 0.5 || (this[P("0x6be")][P("0x17c")](t[P("0x6e")]()), this[P("0x734")](this[P("0x6ca")], i)); } }, o[P("0x5")][P("0xf4")] = function () { this[P("0x42")] = null, this._clock = null, this._drawCommandAlpha && (this._drawCommandAlpha[P("0x5cb")] && (this._drawCommandAlpha[P("0x5cb")][P("0xf4")](), this[P("0x5b5")][P("0x5cb")] = null), this[P("0x5b5")][P("0x5cc")] && (this[P("0x5b5")][P("0x5cc")][P("0xf4")](), this[P("0x5b5")][P("0x5cc")] = null), this._drawCommandAlpha[P("0x6d6")] = null, this[P("0x5b5")] = null), this[P("0x5b6")] && (this[P("0x5b6")].vertexArray && (this._drawCommandOpaque.vertexArray[P("0xf4")](), this[P("0x5b6")][P("0x5cb")] = null), this[P("0x5b6")].shaderProgram && (this._drawCommandOpaque[P("0x5cc")][P("0xf4")](), this[P("0x5b6")][P("0x5cc")] = null), this._drawCommandOpaque[P("0x6d6")] = null, this[P("0x5b6")] = null), this[P("0x6cc")] && (this[P("0x6cc")].destroy(), this._texture_0 = null), this._smokes[P("0x0")] = 0, this[P("0x6be")][P("0x0")] = 0, this._pointsArray = null, this[P("0x6d8")] = null, this[P("0x6d0")] = null; }, o[P("0x5")][P("0x6d2")] = function () { var t = this, i = t[P("0x42")][P("0x6d9")].context; t[P("0x6b1")] && (t[P("0x6cc")] && (t[P("0x6cc")][P("0xf4")](), t[P("0x6cc")] = null), e[P("0x6da")][P("0x6dc")](t[P("0x6b1")])[P("0x333")](function (r) { t[P("0x6cc")] = new e[P("0x6db")]({ context: i, source: r }, function (e) {}); })); }, o[P("0x5")]._emissionPosition = function () { var t = this[P("0x6be")][P("0x0")]; if (t < 1) return null; if (t < 2) return this[P("0x6be")][0][P("0x6e")](n), n.x += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")], n.y += e[P("0x23")][P("0x6de")](0, 1) * this[P("0x63c")], n.z += e[P("0x23")].randomBetween(0, 1) * this[P("0x63c")], n; var i = e.Math[P("0x6de")](0, t - 1); i = Math.floor(i); var r = this[P("0x6be")][i], o = this[P("0x6be")][i + 1], a = e[P("0x23")][P("0x6de")](0, 1); return n = e.Cartesian3.lerp(r, o, a, n); }, o[P("0x5")][P("0x735")] = function (e) { if (e && !(e < 1)) for (var i = 0; i < e; i++) { var r = new t(); this[P("0x72f")][P("0x17c")](r); } }, o[P("0x5")]._growSmokes = function (e, i) { e = Math[P("0x5f0")](e * i), this[P("0x6c9")] += e; for (var r = 0; r < e; r++) { var n = new t(); this[P("0x72f")].push(n); } }; var s = new e[P("0x11")](), x = new e[P("0x1d")](), l = new e[P("0x1b")](), c = new e[P("0x1a")](); o[P("0x5")][P("0x736")] = function (t) { var i = this._emissionPosition(); if (!i) return !1; if (t.position = i[P("0x6e")](t.position), t[P("0x8c")]) { t[P("0x93")] || (t[P("0x93")] = new e[P("0x11")]()), e[P("0x11")][P("0x8d")](t[P("0x8c")], t[P("0x93")]); var r = e.Math.randomBetween(0.5, 1.570789), n = e[P("0x23")].randomBetween(0, 6.28318), o = e.Quaternion.fromAxisAngle(t[P("0x93")], n, x); if (t[P("0x93")][P("0x84")](e[P("0x11")].UNIT_X)) { var a = e[P("0x11")][P("0x99")](t.direction, e[P("0x11")][P("0xc3")], s); e[P("0x11")][P("0x8d")](a, a), n = e[P("0x1d")][P("0xcc")](a, r, x); } else a = e.Cartesian3.cross(t[P("0x93")], e.Cartesian3[P("0xb8")], s), e.Cartesian3.normalize(a, a), n = e[P("0x1d")][P("0xcc")](a, r, x); var u = e.Quaternion[P("0x737")](o, n, o), h = e.Matrix4[P("0x738")](e[P("0x1a")][P("0xcd")](u, c), void 0, l); e[P("0x1b")][P("0x739")](h, t[P("0x93")], t.direction), e[P("0x11")].normalize(t[P("0x93")], t[P("0x93")]); } return t[P("0x539")] = e[P("0x23")][P("0x6de")](this[P("0x6c7")], this._maxSpeed), t[P("0x6c4")] = e[P("0x23")][P("0x6de")](this[P("0x6c5")], this._maxLife), t[P("0x6e0")] = e[P("0x23")][P("0x6de")](0.5, 5), t[P("0xd3")] = 0, t[P("0x73a")] = e.Math[P("0x6de")](this[P("0x72c")].alpha, this[P("0x6c2")].alpha), t[P("0x73b")] = e.Math.randomBetween(this._minNormalFactor, this[P("0x732")]), null != t[P("0x8c")]; }, o[P("0x5")][P("0x73c")] = function (e) { e[P("0xd2")](this[P("0x5cf")]), e[P("0x5bb")] || this._initSmoke(e) && 0 < this[P("0x73d")] && (e[P("0x69")](), --this[P("0x73d")]); }, o[P("0x5")][P("0x5c8")] = function (t) { var i; if (i = this._clock[P("0x6e4")] ? t[P("0x6f2")].secondsOfDay : e[P("0x5d0")]() / 1e3, 0 == this[P("0x6d1")]) this[P("0x6d1")] = i;else { var r = i - this[P("0x6d1")]; r > this[P("0x6c6")] && (r = this[P("0x6c6")]), this[P("0x5cf")] = r, this._preTime = i; } }, o[P("0x5")][P("0xd2")] = function (e) { this[P("0x5c8")](e); var t = this._count; if (!(t < 1 || t != this[P("0x72f")][P("0x0")] || this[P("0x6be")][P("0x0")] < 1) && this[P("0x6cc")]) { if (this._needUpdate) { this[P("0x73d")] = this._door * t; for (var i = 0; i < t; i++) { var r = this[P("0x72f")][i]; this._updateSmoke(r); } this[P("0x6e6")](e), this[P("0x5b7")] = !1; } else this[P("0x5b7")] = !0; this._isCommandReady() && (e[P("0x5ca")][P("0x17c")](this._drawCommandAlpha), e[P("0x5ca")][P("0x17c")](this._drawCommandOpaque)); } }, o[P("0x5")].updateNext = function (e) { this[P("0x6e7")]() && (e[P("0x5ca")].push(this[P("0x5b5")]), e[P("0x5ca")].push(this[P("0x5b6")])); }, o.prototype[P("0x6e6")] = function (t) { var i = this[P("0x5b5")]; i || ((i = this._drawCommandAlpha = new e[P("0x5d3")]())[P("0x5d4")] = e[P("0x5e4")][P("0x73e")], i[P("0x5cd")] = this, i.count = 6), i.instanceCount = this[P("0x6c9")], this._updateCommandVA(t, i), this[P("0x6ea")](t, i), this[P("0x73f")](t, i), this[P("0x6ec")](t, i), this._updateCommandRenderStateAlpha(t, i), this[P("0x6fb")](t, i); var r = this[P("0x5b6")]; r || ((r = this[P("0x5b6")] = new e[P("0x5d3")]())[P("0x5d4")] = e[P("0x5e4")][P("0x5e5")], r[P("0x5cd")] = this, r.count = 6), r.instanceCount = this._count, this[P("0x740")](t, r), this[P("0x6ea")](t, r), this[P("0x741")](t, r), this[P("0x6ec")](t, r), this._updateCommandRenderStateOpaque(t, r), this[P("0x6fb")](t, r); }, o[P("0x5")][P("0x6e7")] = function () { var e = this[P("0x5b5")]; return !!(e && e[P("0x5cb")] && e[P("0x4bc")] && e[P("0x5cc")] && e[P("0x5de")] && e[P("0x5d5")]); }; var u = { aPlane: 0 }; u[P("0x6ee")] = 1, u[P("0x6ef")] = 2, u[P("0x6f0")] = 3, u[P("0x6f3")] = 4, o[P("0x5")][P("0x6f1")] = function (t, i) { var r = this._count, n = t[P("0x3cc")]; this[P("0x6cf")] || (this[P("0x6cf")] = e[P("0x5e8")][P("0x5e7")](e.ComponentDatatype[P("0x5e9")], 4 * r)); var o = this[P("0x6cf")]; this[P("0x6d8")] || (this[P("0x6d8")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r)); var a = this[P("0x6d8")]; this[P("0x6d0")] || (this[P("0x6d0")] = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 4 * r)); for (var s = this._speedScaleLifeTimesArray, x = 0; x < r; x++) { var l = this[P("0x72f")][x], c = l[P("0x8c")]; o[4 * x] = c.x, o[4 * x + 1] = c.y, o[4 * x + 2] = c.z, o[4 * x + 3] = l.alphaFact; var h = l.direction; a[4 * x] = h.x, a[4 * x + 1] = h.y, a[4 * x + 2] = h.z, a[4 * x + 3] = l[P("0xd3")], s[4 * x] = l.speed, s[4 * x + 1] = l[P("0x6e0")], s[4 * x + 2] = l[P("0x6c4")], s[4 * x + 3] = l[P("0x6f2")]; } var f = e[P("0x5ea")][P("0x5eb")]({ context: n, typedArray: new Float32Array([-0.5, 0, 0.5, 0, 1, 2, -1, 2]), usage: e.BufferUsage[P("0x4d6")] }), d = e[P("0x5ea")][P("0x5eb")]({ context: n, typedArray: o, usage: e.BufferUsage[P("0x4d6")] }), g = e[P("0x5ea")][P("0x5eb")]({ context: n, typedArray: a, usage: e.BufferUsage[P("0x4d6")] }), p = e[P("0x5ea")][P("0x5eb")]({ context: n, typedArray: s, usage: e.BufferUsage[P("0x4d6")] }), m = e[P("0x5ea")][P("0x5eb")]({ context: n, typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), usage: e[P("0x4d5")].STATIC_DRAW }), b = e[P("0x5ea")].createIndexBuffer({ context: n, typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]), usage: e[P("0x4d5")].STATIC_DRAW, indexDatatype: e[P("0x742")][P("0x5ed")] }), v = []; v.push({ index: u[P("0x6ee")], vertexBuffer: d, componentsPerAttribute: 4, componentDatatype: e.ComponentDatatype[P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), v[P("0x17c")]({ index: u[P("0x6ef")], vertexBuffer: g, componentsPerAttribute: 4, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), v[P("0x17c")]({ index: u[P("0x6f0")], vertexBuffer: p, componentsPerAttribute: 4, componentDatatype: e.ComponentDatatype[P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), v.push({ index: u[P("0x6f3")], vertexBuffer: m, componentsPerAttribute: 2, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 8, normalize: !1 }), v[P("0x17c")]({ index: u[P("0x6f4")], vertexBuffer: f, componentsPerAttribute: 2, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 8, normalize: !1 }); var C = new e[P("0x5ee")]({ context: n, attributes: v, indexBuffer: b }); i[P("0x5cb")] && i[P("0x5cb")][P("0xf4")](), i[P("0x5cb")] = C; }, o[P("0x5")][P("0x740")] = function (t, i) { this[P("0x6c9")]; var r = t.context; if (this._pointsArray) { var n = this[P("0x6cf")], o = this._directionsArray, a = this[P("0x6d0")], s = e[P("0x5ea")][P("0x5eb")]({ context: r, typedArray: new Float32Array([-0.5, 0, 0.5, 0, 1, 2, -1, 2]), usage: e[P("0x4d5")][P("0x4d6")] }), x = e[P("0x5ea")].createVertexBuffer({ context: r, typedArray: n, usage: e[P("0x4d5")][P("0x4d6")] }), l = e[P("0x5ea")].createVertexBuffer({ context: r, typedArray: o, usage: e[P("0x4d5")].STATIC_DRAW }), c = e[P("0x5ea")][P("0x5eb")]({ context: r, typedArray: a, usage: e[P("0x4d5")][P("0x4d6")] }), h = e[P("0x5ea")][P("0x5eb")]({ context: r, typedArray: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1]), usage: e.BufferUsage[P("0x4d6")] }), f = e[P("0x5ea")][P("0x5ec")]({ context: r, typedArray: new Uint16Array([0, 1, 2, 0, 2, 3]), usage: e[P("0x4d5")].STATIC_DRAW, indexDatatype: e[P("0x742")].UNSIGNED_SHORT }), d = []; d[P("0x17c")]({ index: u[P("0x6ee")], vertexBuffer: x, componentsPerAttribute: 4, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), d[P("0x17c")]({ index: u.aDirection, vertexBuffer: l, componentsPerAttribute: 4, componentDatatype: e.ComponentDatatype[P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), d.push({ index: u[P("0x6f0")], vertexBuffer: c, componentsPerAttribute: 4, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 16, normalize: !1, instanceDivisor: 1 }), d[P("0x17c")]({ index: u[P("0x6f3")], vertexBuffer: h, componentsPerAttribute: 2, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 8, normalize: !1 }), d[P("0x17c")]({ index: u[P("0x6f4")], vertexBuffer: s, componentsPerAttribute: 2, componentDatatype: e[P("0x5e8")].FLOAT, offsetInBytes: 0, strideInBytes: 8, normalize: !1 }); var g = new e.VertexArray({ context: r, attributes: d, indexBuffer: f }); i.vertexArray && i[P("0x5cb")].destroy(), i[P("0x5cb")] = g; } }; var h = new e[P("0x5f1")](); o[P("0x5")][P("0x6ea")] = function (t, i) { var r = this._positions[P("0x0")]; if (r < 1) i[P("0x4bc")] = null;else if (r < 2) h.center = this[P("0x6be")][0][P("0x6e")](h[P("0x11a")]), h[P("0x181")] = this[P("0x63c")] + this._maxSpeed * this[P("0x6c6")], i.boundingVolume = h;else { h[P("0x11a")] = this._positions[0][P("0x6e")](h[P("0x11a")]), h[P("0x181")] = this[P("0x63c")]; for (var n = 1; n < r; n++) { e[P("0x5f1")].expand(h, this[P("0x6be")][n], h); } i.boundingVolume = h; } }, o[P("0x5")][P("0x73f")] = function (t, i) { if (!i[P("0x5cc")]) { var r = t[P("0x3cc")]; i[P("0x5cc")] = e[P("0x5dc")][P("0x5d7")]({ context: r, vertexShaderSource: f, fragmentShaderSource: d, attributeLocations: u }); } }, o[P("0x5")]._updateCommandShaderProgramOpaque = function (t, i) { if (!i[P("0x5cc")]) { var r = t[P("0x3cc")]; i[P("0x5cc")] = e[P("0x5dc")].fromCache({ context: r, vertexShaderSource: g, fragmentShaderSource: p, attributeLocations: u }); } }, o[P("0x5")][P("0x6ec")] = function (e, t) { var i = t[P("0x5de")] = {}; if (!i || !i[P("0x48b")]) { var r = this; i._ready = !0, i[P("0x6f5")] = function () { return r._startScale; }, i[P("0x6f6")] = function () { return r._endScale; }, i[P("0x6f7")] = function () { return r[P("0x6c1")]; }, i[P("0x743")] = function () { return r[P("0x72c")]; }, i.u_endColor = function () { return r[P("0x6c2")]; }, i[P("0x6f9")] = function () { return r[P("0x6cc")]; }; } }, o[P("0x5")]._updateCommandRenderStateAlpha = function (t, i) { i[P("0x5d5")] || (i[P("0x5d5")] = e.RenderState[P("0x5d7")]({ cull: { enabled: !1 }, depthTest: { enabled: !0, func: e.WebGLConstants.LEQUAL }, depthMask: !1, blending: e[P("0x5da")][P("0x5db")] })); }, o.prototype._updateCommandRenderStateOpaque = function (t, i) { i[P("0x5d5")] || (i[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")]({ cull: { enabled: !1 }, depthTest: { enabled: !0, func: e.WebGLConstants[P("0x5d9")] }, depthMask: !0 })); }, o.prototype[P("0x6fb")] = function (t, i) { i[P("0x4ac")] || (i[P("0x4ac")] = e[P("0x1b")][P("0xae")]); }; var f = P("0x6fc") + P("0x744") + P("0x6fd") + "attribute vec4 aSpeedScaleLifeTime;\nattribute vec2 aTexcoord;\nuniform vec4 u_startColor;\n" + P("0x745") + "uniform float u_startScale;\n" + P("0x700") + P("0x746") + "varying vec3 v_texcoord_0;\nvarying vec4 v_colorFact;\n" + P("0x703") + P("0x747") + P("0x705") + P("0x748") + P("0x706") + P("0x707") + "}\nvoid main()\n{\n" + P("0x709") + P("0x70a") + P("0x70b") + P("0x749") + P("0x74a") + " baseScale *= mix(u_startScale, u_endScale, t);\n" + P("0x74b") + P("0x70d") + P("0x74c") + P("0x74d") + " v_colorFact = vec4(mix(u_startColor.rgb, u_endColor.rgb, aPosition.w * (u_startColor.a + u_endColor.a) / 2.0), aPosition.w);\n}", d = P("0x701") + P("0x702") + P("0x716") + P("0x708") + "{\n" + P("0x719") + P("0x74e") + " color = czm_gammaCorrect(color);\n" + P("0x74f") + P("0x726") + P("0x750") + " gl_FragColor = color;\n}", g = "attribute vec2 aPlane;\n" + P("0x744") + P("0x6fd") + P("0x6fe") + P("0x6ff") + P("0x751") + P("0x745") + P("0x752") + P("0x700") + "uniform float u_imageSize;\n" + P("0x701") + "varying vec4 v_colorFact;\n" + P("0x703") + P("0x747") + " vec4 result = czm_modelView * vec4(v, 1.0);\n" + P("0x748") + P("0x706") + " return result;\n}\n" + P("0x708") + "{\n" + P("0x709") + P("0x70a") + P("0x70b") + P("0x749") + P("0x74a") + P("0x70c") + P("0x74b") + P("0x70d") + P("0x74c") + " v_texcoord_0.z = t;\n" + P("0x753") + "}", p = P("0x701") + P("0x702") + P("0x716") + "void main()\n{\n" + P("0x754") + P("0x719") + P("0x74e") + P("0x755") + P("0x74f") + P("0x726") + " if (color.a < 0.746){discard;}\n" + P("0x728") + "}"; }(window.Cesium), function (e) { function t(t) { t = i(t, i[P("0x128")]), this[P("0x13b")] = t[P("0x13b")], this[P("0x756")] = t[P("0x756")], this[P("0x440")] = t.data, this.sampleMaxHeight = i(t[P("0x757")], 2e4), this.sampleMaxPoint = i(t[P("0x758")], 50), this.isParabola = i(t[P("0x759")], !0), this.autoToGround = i(t[P("0x75a")], !1), this._data = [], this[P("0x75b")] = r + "_" + e[P("0x75c")](), this._lines = [], this[P("0x69c")](this[P("0x440")]), this[P("0x75d")](); } t[P("0x5")][P("0x69c")] = function (t) { var i = this; this[P("0x75e")] = []; var r = this; t instanceof Array && t.forEach(function (t) { var n = e.Cartesian3[P("0x1a1")][P("0x346")](i, t[P("0x75f")][0]), o = e[P("0x11")][P("0x1a1")][P("0x346")](i, t[P("0x75f")][1]), a = []; r[P("0x759")] ? a = function (t, i, r, n) { var o = [], a = e[P("0x13")].fromCartesian(t), s = e[P("0x13")].fromCartesian(i), x = 180 * a[P("0x112")] / Math.PI, l = 180 * a[P("0x114")] / Math.PI, c = 180 * s[P("0x112")] / Math.PI, u = 180 * s[P("0x114")] / Math.PI, h = Math[P("0xca")]((x - c) * (x - c) + (l - u) * (l - u)) * r, f = e[P("0x11")].clone(t), d = e.Cartesian3[P("0x6e")](i), g = e[P("0x11")][P("0x8e")](f, e[P("0x11")][P("0x6f")]), p = e[P("0x11")].distance(d, e[P("0x11")][P("0x6f")]); if (e[P("0x11")][P("0x8d")](f, f), e[P("0x11")][P("0x8d")](d, d), 0 == e.Cartesian3[P("0x8e")](f, d)) return o; var m = e[P("0x11")][P("0xcb")](f, d); o.push(t); for (var b = 1; b < n - 1; b++) { var v = 1 * b / (n - 1), C = 1 - v, y = Math[P("0x98")](C * m) / Math[P("0x98")](m), _ = Math[P("0x98")](v * m) / Math.sin(m), A = e[P("0x11")][P("0x6c")](f, y, new e[P("0x11")]()), I = e[P("0x11")][P("0x6c")](d, _, new e.Cartesian3()), w = e[P("0x11")][P("0x6d")](A, I, new e[P("0x11")]()), G = v * Math.PI, E = g * C + p * v + Math[P("0x98")](G) * h; w = e.Cartesian3[P("0x6c")](w, E, w), o.push(w); } return o[P("0x17c")](i), o; }(n, o, r.sampleMaxHeight, r.sampleMaxPoint) : t.posititons[P("0x1e4")](function (t) { a[P("0x17c")](e[P("0x11")].fromDegrees[P("0x346")](i, t)); }), r[P("0x75e")][P("0x17c")]({ posititons: a, color: t[P("0x169")], width: t[P("0x19a")], duration: t.duration }); }); }, t[P("0x5")][P("0x760")] = function () { return this[P("0x75e")]; }, t[P("0x5")][P("0x761")] = function () { var t = this._data, i = this[P("0x762")], r = this[P("0x13b")].entities, o = this[P("0x75b")], a = this; this._clearPolylines(), t instanceof Array && t.forEach(function (t) { var s = new e[P("0x18e")]({ name: o, polyline: { positions: t[P("0x75f")], width: t[P("0x19a")], clampToGround: !a[P("0x759")] && a.autoToGround, material: new n({ color: t[P("0x169")], width: t[P("0x19a")], duration: t[P("0x763")], playing: a[P("0x756")] }) } }); i.push(s), r.add(s); }); }, t[P("0x5")].render = function () { this[P("0x761")](); }, t[P("0x5")][P("0x764")] = function () { var e = this[P("0x762")], t = this[P("0x13b")][P("0x194")]; e.forEach(function (e) { t[P("0x17f")](e); }), e[P("0x0")] = 0; }, t.prototype[P("0x543")] = function (e) { this[P("0x756")] = "boolean" == typeof e ? e : !this.playing; var t = this[P("0x762")]; e = this.playing, t.forEach(function (t) { t[P("0x2eb")][P("0x19c")][P("0x756")] = e; }); }, t[P("0x5")].destroy = function () { this[P("0x764")](), this[P("0x75e")] = void 0, this._lines = void 0, this[P("0x75b")] = void 0, this.viewer = void 0, this[P("0x440")] = void 0, this[P("0x759")] = void 0, this.playing = void 0, this[P("0x757")] = void 0, this[P("0x758")] = void 0; }; var i = e[P("0x102")], r = (e.defined, "GEOODLINE"); function n(t) { this[P("0x765")] = new e[P("0x766")](), this[P("0x596")] = void 0, this._colorSubscription = void 0, this.color = t[P("0x169")], this[P("0x19a")] = t[P("0x19a")], this[P("0x763")] = t.duration, this[P("0x756")] = t[P("0x756")], this._time = new Date()[P("0x68")](); } e.defineProperties(n[P("0x5")], { isConstant: { get: function get() { return !1; } }, definitionChanged: { get: function get() { return this[P("0x765")]; } }, color: e[P("0x767")](P("0x169")) }), n[P("0x5")][P("0x768")] = function (e) { return r; }, n[P("0x5")][P("0x512")] = function (t, i) { return e[P("0x14")](i) || (i = {}), i[P("0x169")] = e.Property[P("0x769")](this._color, t, e[P("0x16a")][P("0x2cf")], i[P("0x169")]), i.totoalFrameCount = this[P("0x756")] ? 60 * this[P("0x763")] : 0, i; }, n[P("0x5")][P("0x84")] = function (e) { return this === e; }, delete e[P("0x212")][P("0x76a")]._materials[r], e.Material[P("0x76a")][P("0x76b")](r, { fabric: { type: r, uniforms: { color: new e[P("0x16a")](1, 1, 0, 1), totoalFrameCount: 450 }, source: "\n\t\tczm_material czm_getMaterial(czm_materialInput materialInput)\n\t\t{\n\t\t czm_material material = czm_getDefaultMaterial(materialInput);\n\t\t vec2 st = materialInput.st;\n\t\t float t = mod(czm_frameNumber, totoalFrameCount) / totoalFrameCount; \n\t\t t *= 1.03;\n\t\t float alpha = smoothstep(t- 0.03, t, st.s) * step(-t, -st.s); \n\t\t alpha += 0.1;\n\t\t material.diffuse = color.rgb;\n\t\t material.alpha = alpha;\n\t\t return material;\n\t\t}\n " }, translucent: function translucent() { return !0; } }), e.GeoODLine = t; }(window[P("0xfd")]), function (e) { var t = e[P("0x76c")] = function (t) { this[P("0x13c")] = t[P("0x13b")], this._actived = !!t[P("0x5bb")] && t[P("0x5bb")], this[P("0x76d")] = null, this[P("0x76e")] = null, this._viewMatrix = e[P("0x1b")][P("0xae")], this[P("0x76f")] = [], this._framebuffer = null, this[P("0x770")] = null, this[P("0x771")] = null, this._groundTexture = null, this._xPlane = null, this[P("0x772")] = null, this[P("0x773")] = null, this[P("0x774")] = null, this[P("0x5b7")] = !1, this[P("0x775")](t), this[P("0x776")](t), this._createFireEffect(t), this[P("0x777")](t), this[P("0x778")](t); }; e[P("0xf")](t.prototype, { explode: { get: function get() { return this[P("0x76d")] ? this._fireEffect[P("0x6bd")] : 0; }, set: function set(e) { this[P("0x76d")] && (this[P("0x76d")].explode = e); } }, scale: { get: function get() { return this._fireEffect ? this._fireEffect.scale : 1; }, set: function set(e) { this[P("0x76d")] && (this[P("0x76d")][P("0xfc")] = e); } }, life: { get: function get() { return this[P("0x76d")] ? this[P("0x76d")][P("0x6c4")] : 0; }, set: function set(e) { this[P("0x76d")] && (this[P("0x76d")].life = e); } }, speed: { get: function get() { return this[P("0x76d")] ? this._fireEffect[P("0x539")] : 0; }, set: function set(e) { this[P("0x76d")] && (this[P("0x76d")].speed = e); } }, radius: { get: function get() { return this[P("0x76d")] ? this[P("0x76d")][P("0x181")] : 0; }, set: function set(e) { this[P("0x76d")] && (this[P("0x76d")][P("0x181")] = e); } }, grow: { get: function get() { return this[P("0x76d")] ? this[P("0x76d")][P("0x6cb")] : 0; }, set: function set(e) { this[P("0x76d")] && (this[P("0x76d")][P("0x6cb")] = e); } }, smoking: { get: function get() { return this[P("0x76d")] ? this._fireEffect[P("0x6c3")] : 0; }, set: function set(e) { this[P("0x76d")] && (this._fireEffect[P("0x6c3")] = e); } }, actived: { get: function get() { return this[P("0x5ba")]; }, set: function set(e) { this[P("0x5ba")] = e; } } }), t.prototype[P("0xd2")] = function (e) { this[P("0x5ba")] ? (this[P("0x779")](e), this._postProcess && (this[P("0x77a")] = e[P("0x7e")][P("0x77b")], this._groundTexture ? (this._postProcess[P("0x364")] = !0, this[P("0x13c")][P("0x10f")][P("0x77c")][P("0xd1")](this[P("0x76e")]) || (this[P("0x13c")][P("0x10f")][P("0x77c")].add(this[P("0x76e")]), this[P("0x76e")][P("0xd2")](e[P("0x3cc")], e[P("0x77d")]))) : this[P("0x76e")].enabled = !1)) : this._postProcess && (this[P("0x76e")][P("0x364")] = !1); }, t.prototype[P("0x77e")] = function (t) { if (t && !this._fireEffect) { var i = t[P("0x19f")]; if (i && void 0 !== i[P("0x0")] && !(i.length < 1)) { var r = i[P("0x0")]; i[0][0] == i[r - 1][0] && i[0][1] == i[r - 1][1] && i[0][2] == i[r - 1][2] || i[P("0x17c")]([i[0][0], i[0][1], i[0][2]]), t[P("0x6bd")] || (t[P("0x6bd")] = 0.21), t[P("0x6c3")] || (t.smoking = 0.15), t[P("0xfc")] || (t[P("0xfc")] = 1), t[P("0x6c4")] || (t[P("0x6c4")] = 1.1), t[P("0x539")] || (t[P("0x539")] = 1.7), this[P("0x76d")] = new e[P("0x77f")](t); } } }; var i = new e[P("0x11")](), r = new e[P("0x11")](); t[P("0x5")][P("0x780")] = function (t, n) { var o = e[P("0x11")][P("0x99")](n, t, i); e[P("0x11")][P("0x8d")](o, o); var a = e.Cartesian3[P("0x308")](t, n, 0.5, r); return new e[P("0x12")](o.x, o.y, o.z, -e[P("0x11")].dot(o, a)); }, t[P("0x5")]._appendAreaPlanes = function (e, t, i, r) { e[P("0x17c")](this[P("0x780")](t, i)), e[P("0x17c")](this._computePlane(i, r)), e[P("0x17c")](this._computePlane(r, t)); }, t.prototype[P("0x781")] = function (t) { var i = this, r = t.context, n = r[P("0x782")], o = r[P("0x783")]; i[P("0x770")] && (i[P("0x770")].destroy(), i._depthAttachment = null), i[P("0x784")] && (i[P("0x784")].destroy(), i._framebuffer = null); var a = new e[P("0x6db")]({ context: r, width: n, height: o, pixelFormat: e[P("0x785")][P("0x786")], pixelDatatype: e[P("0x787")][P("0x788")], sampler: new e[P("0x789")]({ wrapS: e.TextureWrap[P("0x78a")], wrapT: e[P("0x78b")][P("0x78a")], minificationFilter: e[P("0x78c")][P("0x78d")], magnificationFilter: e[P("0x78e")][P("0x78d")] }) }), s = new e[P("0x78f")]({ context: r, depthStencilTexture: a, destroyAttachments: !1 }); i._clearCommand || (i[P("0x771")] = new e[P("0x790")]({ depth: 1, color: new e.Color() })), i[P("0x784")] = s, i[P("0x770")] = a; }, t[P("0x5")][P("0x791")] = function (t) { (t = t || {}).explode = t.explode ? 0.2 * t[P("0x6bd")] : 0.2, t.smoking = t[P("0x6c3")] ? 0.95 * t[P("0x6c3")] : 0.95, t[P("0x6c4")] = t[P("0x6c4")] ? 4.5 * t[P("0x6c4")] : 4.5, t[P("0xfc")] = t[P("0xfc")] ? t[P("0xfc")] : 1, t[P("0x181")] = t[P("0x181")] ? 0.5 * t[P("0x181")] : 0.5, t.speed = t[P("0x539")] ? 0.4 * t.speed : 0.4; var i = new e[P("0x77f")](t); this[P("0x76f")][P("0x17c")](i); }, t.prototype[P("0x792")] = function (t) { var i = new e[P("0x72b")](t); this[P("0x76f")].push(i); }, t[P("0x5")]._updateAssiged = function (e) { var t = this; this[P("0x76d")] && this[P("0x76d")][P("0xd2")](e); for (var i = t[P("0x76f")].length, r = 0; r < i; r++) { t[P("0x76f")][r][P("0xd2")](e); } if (t[P("0x784")] && t[P("0x784")][P("0x793")]._width == e[P("0x3cc")][P("0x782")] && t[P("0x784")][P("0x793")]._height == e.context[P("0x783")] || t._createAssignedFrameBuffer(e), t._framebuffer) { var n = e[P("0x3cc")], o = e[P("0x5ca")], a = e[P("0x5ca")] = []; for (a.push(t._clearCommand), r = 0; r < i; r++) { t._assigned[r].updateNext(e); } t[P("0x76d")][P("0x6e8")](e), e[P("0x5ca")] = o; var s = t[P("0x13c")].scene[P("0x794")][P("0x795")], x = s[P("0x796")]; if (s[P("0x796")] = t[P("0x784")], 0 < a[P("0x0")]) for (var l = 0; l < a.length; l++) { a[l][P("0x797")](n, s); } s[P("0x796")] = x; } }, t[P("0x5")][P("0x778")] = function (t) { if (t && !this[P("0x76e")]) { var i = t[P("0x19f")]; if (i) { var r = i[P("0x0")]; if (r && !(r < 4)) { var n = this; r -= 2; for (var o = [], a = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[0]), s = e[P("0x11")][P("0x3d0")](a[P("0x112")], a.latitude, a[P("0x8b")]), x = 1; x < r && !(12 <= x); x++) { a = e.Cartographic.fromDegrees[P("0x346")](this, i[x]); var l = e[P("0x11")].fromRadians(a[P("0x112")], a[P("0x114")], a[P("0x8b")]); a = e[P("0x13")].fromDegrees[P("0x346")](this, i[x + 1]); var c = e.Cartesian3[P("0x3d0")](a[P("0x112")], a[P("0x114")], a[P("0x8b")]); this._appendAreaPlanes(o, s, l, c); } var u = P("0x798") + P("0x799") + P("0x79a") + 12[P("0x531")]() + P("0x79b") + P("0x79c") + P("0x79d") + P("0x79e") + P("0x79f") + P("0x7a0") + P("0x7a1") + P("0x7a2") + P("0x7a3") + P("0x7a4") + P("0x7a5") + P("0x7a6") + " vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\n" + P("0x7a7") + " return posInCamera;\n}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + P("0x7ac") + P("0x7ad") + "}\n" + P("0x7ae") + " float x = czm_planeDistance(u_xPlane, position) / u_xyRange.x;\n" + P("0x7af") + P("0x7b0") + "}\n" + P("0x5f9") + P("0x7b1") + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + " }\n" + P("0x7b6") + " if(assigned.r < 1.0){\n" + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + " vec4 positionEC = toEye(v_textureCoordinates, depth);\n vec4 position = u_nViewMatrix * positionEC;\n position /= position.w;\n" + P("0x7b9") + P("0x7ba") + P("0x7bb") + P("0x7bc") + 12[P("0x531")]() + "; i += 3){\n" + P("0x7bd") + P("0x7be") + P("0x7bf") + P("0x7c0") + " float d1 = czm_planeDistance(u_planes[i+1], position.xyz);\n" + P("0x7c1") + P("0x7c2") + P("0x7c3") + " color += colorGround * vec4(0.5);\n" + P("0x7c4") + P("0x7bf") + P("0x7b7") + " gl_FragColor = color;\n}"; this._postProcess = new e[P("0x7c5")]({ fragmentShader: u, uniforms: { u_nViewMatrix: function u_nViewMatrix() { return n[P("0x77a")]; }, u_planes: function u_planes() { return o; }, u_count: function u_count() { return o[P("0x0")]; }, u_assignedTexture: function u_assignedTexture() { return n[P("0x770")]; }, u_groundTexture: function u_groundTexture() { return n[P("0x7c6")]; }, u_xPlane: function u_xPlane() { return n[P("0x7c7")]; }, u_yPlane: function u_yPlane() { return n[P("0x772")]; }, u_zPlane: function u_zPlane() { return n[P("0x773")]; }, u_xyRange: function u_xyRange() { return n[P("0x774")]; } } }), this._postProcess[P("0x364")] = !1; } } } }, t[P("0x5")][P("0x775")] = function (t) { var i = t[P("0x19f")]; if (i && void 0 !== i[P("0x0")] && !(i[P("0x0")] < 4)) { var r = e.Cartographic.fromDegrees.apply(this, i[0]), n = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]); r = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[1]); var o = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r.height); r = e[P("0x13")][P("0x1a1")].apply(this, i[2]); var a = e[P("0x11")].fromRadians(r.longitude, r[P("0x114")], r[P("0x8b")]), s = e[P("0x11")][P("0x95")](o, n, new e[P("0x11")]()), x = e[P("0x11")][P("0x95")](a, n, new e.Cartesian3()), l = e[P("0x11")][P("0x99")](x, s, new e.Cartesian3()); e[P("0x11")][P("0x92")](l, n) < 0 && i[P("0x1e3")](); } }, t[P("0x5")][P("0x777")] = function (t) { var i = t[P("0x19f")]; if (i && void 0 !== i[P("0x0")] && !(i[P("0x0")] < 4)) { var r = e[P("0x13")][P("0x1a1")][P("0x346")](this, i[0]), n = e[P("0x11")][P("0x3d0")](r.longitude, r[P("0x114")], r[P("0x8b")]); r = e[P("0x13")][P("0x1a1")].apply(this, i[1]); var o = e[P("0x11")][P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]); r = e.Cartographic[P("0x1a1")].apply(this, i[2]); var a = e.Cartesian3[P("0x3d0")](r[P("0x112")], r[P("0x114")], r[P("0x8b")]), s = e[P("0x11")].subtract(o, n, new e.Cartesian3()), x = e.Cartesian3[P("0x95")](a, n, new e.Cartesian3()), l = e.Cartesian3.magnitude(s), c = e.Cartesian3[P("0x96")](x); e[P("0x11")].normalize(s, s), e.Cartesian3[P("0x8d")](x, x); var u = e.Cartesian3.cross(x, s, new e.Cartesian3()); e[P("0x11")].normalize(u, u); var h = e.Cartesian3[P("0x92")](x, s) * l, f = Math.max(l, h), d = e.Cartesian3[P("0x99")](s, u, new e[P("0x11")]()); e[P("0x11")][P("0x8d")](d, d); var g = e[P("0x11")][P("0x92")](x, d) * c; this[P("0x7c7")] = new e.Cartesian4(s.x, s.y, s.z, -e[P("0x11")][P("0x92")](s, n)), this[P("0x772")] = new e.Cartesian4(d.x, d.y, d.z, -e[P("0x11")].dot(d, n)), this[P("0x773")] = new e[P("0x12")](u.x, u.y, u.z, -e[P("0x11")][P("0x92")](u, n)), this._xyRange = new e[P("0x10")](f, g); } }, t[P("0x5")][P("0x776")] = function (t) { if (t[P("0x7c8")] && !this[P("0x7c6")]) { var i = this, r = i[P("0x13c")].scene.frameState.context, n = e[P("0x6ba")](t.urlGround); e.Resource.fetchImage(n)[P("0x333")](function (t) { i[P("0x7c6")] = new e[P("0x6db")]({ context: r, source: t, sampler: new e[P("0x789")]({ wrapS: e[P("0x78b")][P("0x55a")], wrapT: e[P("0x78b")][P("0x55a")], minificationFilter: e[P("0x78c")][P("0x78d")], magnificationFilter: e[P("0x78e")][P("0x78d")] }) }, function (e) {}); }); } }, t.prototype.destroy = function () { this[P("0x76d")] && (this[P("0x76d")][P("0xf4")](), this[P("0x76d")] = null), this[P("0x76e")] && (this[P("0x76e")][P("0x364")] = !1, this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this[P("0x76e")]), this[P("0x76e")] = null), this[P("0x77a")] = null; for (var e = 0; e < this[P("0x76f")].length; e++) { this[P("0x76f")][e][P("0xf4")](), this._assigned[e] = null; } this._assigned = null, this._framebuffer && (this[P("0x784")].destroy(), this._framebuffer = null), this[P("0x770")] && (this[P("0x770")][P("0xf4")](), this._depthAttachment = null), this[P("0x771")] = null, this[P("0x7c6")] = null, this[P("0x7c7")] = null, this._yPlane = null, this[P("0x773")] = null, this[P("0x774")] = null, this[P("0x13c")] = null; }; }(window.Cesium); var j, V = {}; if (function () { function e(e, t, i, r, n) { var o = [P("0x7c9"), e, "(a,l,h,", r[P("0x7ca")](","), "){", n ? "" : "var i=", i ? P("0x7cb") : "h+1", P("0x7cc")]; return n ? t[P("0x2d3")]("c") < 0 ? o.push(P("0x7cd")) : o[P("0x17c")](P("0x7ce")) : o[P("0x17c")](P("0x7cf"), t, P("0x7d0")), i ? o[P("0x17c")](P("0x7d1")) : o[P("0x17c")](P("0x7d2")), o[P("0x17c")]("}"), n ? o[P("0x17c")](P("0x7d3")) : o.push(P("0x7d4")), o[P("0x7ca")](""); } function t(t, i, r, n) { return new Function([e("A", "x" + t + "y", i, ["y"], n), e("P", P("0x7d5") + t + "0", i, ["y", "c"], n), P("0x7d6"), r, P("0x7d7"), r][P("0x7ca")](""))(); } V["binary-search-bounds"] = { ge: t(">=", !1, "GE"), gt: t(">", !1, "GT"), lt: t("<", !0, "LT"), le: t("<=", !0, "LE"), eq: t("-", !0, "EQ", !0) }; }(), function (e) { e[P("0x7d8")] = {}; var t = e[P("0x7d9")]; function i(e, t) { this[P("0x7da")] = e, this.edges = t; } var r, n = i[P("0x5")]; function o(e, t, i) { for (var r = 1, n = e.length; r < n; r += 2) { if (e[r - 1] === t && e[r] === i) return e[r - 1] = e[n - 2], e[r] = e[n - 1], void (e[P("0x0")] = n - 2); } } function a(e, t) { return e[0] - t[0] || e[1] - t[1]; } n.isConstraint = (r = [0, 0], function (e, i) { return r[0] = Math[P("0x7d")](e, i), r[1] = Math[P("0xee")](e, i), 0 <= t.eq(this[P("0x7db")], r, a); }), n[P("0x7dc")] = function (e, t, i) { var r = this[P("0x7da")]; o(r[e], t, i), o(r[t], i, e), o(r[i], e, t); }, n[P("0x7dd")] = function (e, t, i) { var r = this[P("0x7da")]; r[e].push(t, i), r[t][P("0x17c")](i, e), r[i][P("0x17c")](e, t); }, n.opposite = function (e, t) { for (var i = this[P("0x7da")][t], r = 1, n = i[P("0x0")]; r < n; r += 2) { if (i[r] === e) return i[r - 1]; } return -1; }, n[P("0x7de")] = function (e, t) { var i = this[P("0x7df")](e, t), r = this[P("0x7df")](t, e); this[P("0x7dc")](e, t, i), this[P("0x7dc")](t, e, r), this[P("0x7dd")](e, r, i), this[P("0x7dd")](t, i, r); }, n[P("0x7db")] = function () { for (var e = this[P("0x7da")], t = [], i = 0, r = e[P("0x0")]; i < r; ++i) { for (var n = e[i], o = 0, a = n[P("0x0")]; o < a; o += 2) { t.push([n[o], n[o + 1]]); } } return t; }, n[P("0x7e0")] = function () { for (var e = this[P("0x7da")], t = [], i = 0, r = e.length; i < r; ++i) { for (var n = e[i], o = 0, a = n[P("0x0")]; o < a; o += 2) { var s = n[o], x = n[o + 1]; i < Math[P("0x7d")](s, x) && t.push([i, s, x]); } } return t; }, e[P("0x7d8")].createTriangulation = function (e, t) { for (var r = new Array(e), n = 0; n < e; ++n) { r[n] = []; } return new i(r, t); }; }(V), function (e) { var t, i = e[P("0x1f2")] = {}, r = e[P("0x7d9")]; function n(e, t, i, r, n, o, a) { this[P("0x7e0")] = e, this[P("0x7e1")] = t, this[P("0x7e2")] = r, this.constraint = i, this[P("0x69")] = n, this[P("0x7e3")] = o, this.boundary = a; } function o(e, t) { return e[0] - t[0] || e[1] - t[1] || e[2] - t[2]; } n[P("0x5")].locate = (t = [0, 0, 0], function (e, i, n) { var a = e, s = i, x = n; return i < n ? i < e && (a = i, s = n, x = e) : n < e && (a = n, s = e, x = i), a < 0 ? -1 : (t[0] = a, t[1] = s, t[2] = x, r.eq(this.cells, t, o)); }), i.classifyFaces = function (e, t, i) { var r = function (e, t) { for (var i = e.cells(), r = i[P("0x0")], a = 0; a < r; ++a) { var s = (m = i[a])[0], x = m[1], l = m[2]; x < l ? x < s && (m[0] = x, m[1] = l, m[2] = s) : l < s && (m[0] = l, m[1] = s, m[2] = x); } i[P("0x3d2")](o); var c = new Array(r); for (a = 0; a < c[P("0x0")]; ++a) { c[a] = 0; } var u = [], h = [], f = new Array(3 * r), d = new Array(3 * r), g = null; t && (g = []); var p = new n(i, f, d, c, u, h, g); for (a = 0; a < r; ++a) { for (var m = i[a], b = 0; b < 3; ++b) { s = m[b], x = m[(b + 1) % 3]; var v = f[3 * a + b] = p[P("0x7e4")](x, s, e[P("0x7df")](x, s)), C = d[3 * a + b] = e.isConstraint(s, x); v < 0 && (C ? h.push(a) : (u[P("0x17c")](a), c[a] = 1), t && g[P("0x17c")]([x, s, -1])); } } return p; }(e, i); if (0 === t) return i ? r.cells[P("0x1c6")](r[P("0x7e5")]) : r[P("0x7e0")]; for (var a = 1, s = r[P("0x69")], x = r[P("0x7e3")], l = r[P("0x7e2")], c = r[P("0x7e0")], u = r[P("0x7e6")], h = r[P("0x7e1")]; 0 < s[P("0x0")] || 0 < x.length;) { for (; 0 < s[P("0x0")];) { var f = s[P("0x25c")](); if (l[f] !== -a) { l[f] = a, c[f]; for (var d = 0; d < 3; ++d) { var g = h[3 * f + d]; 0 <= g && 0 === l[g] && (u[3 * f + d] ? x[P("0x17c")](g) : (s[P("0x17c")](g), l[g] = a)); } } } var p = x; x = s, s = p, x[P("0x0")] = 0, a = -a; } var m = function (e, t, i) { for (var r = 0, n = 0; n < e[P("0x0")]; ++n) { t[n] === i && (e[r++] = e[n]); } return e[P("0x0")] = r, e; }(c, l, t); return i ? m.concat(r[P("0x7e5")]) : m; }; }(V), function (e) { e[P("0x7e7")] = {}, e["two-sum"].fastTwoSum = function (e, t, i) { var r = e + t, n = r - e, o = t - n, a = e - (r - n); return i ? (i[0] = a + o, i[1] = r, i) : [a + o, r]; }; }(V), function (e) { var t = +(Math[P("0x2ae")](2, 27) + 1); e["two-product"] = {}, e["two-product"][P("0x7e8")] = function (e, i, r) { var n = e * i, o = t * e, a = o - (o - e), s = e - a, x = t * i, l = x - (x - i), c = i - l, u = s * c - (n - a * l - s * l - a * c); return r ? (r[0] = u, r[1] = n, r) : [u, n]; }; }(V), function (e) { var t = e["two-product"][P("0x7e8")], i = e["two-sum"][P("0x7e9")]; e["robust-scale"] = {}, e["robust-scale"].scaleLinearExpansion = function (e, r) { var n = e[P("0x0")]; if (1 === n) { var o = t(e[0], r); return o[0] ? o : [o[1]]; } var a = new Array(2 * n), s = [0.1, 0.1], x = [0.1, 0.1], l = 0; t(e[0], r, s), s[0] && (a[l++] = s[0]); for (var c = 1; c < n; ++c) { t(e[c], r, x); var u = s[1]; i(u, x[0], s), s[0] && (a[l++] = s[0]); var h = x[1], f = s[1], d = h + f, g = f - (d - h); s[1] = d, g && (a[l++] = g); } return s[1] && (a[l++] = s[1]), 0 === l && (a[l++] = 0), a.length = l, a; }; }(V), function (e) { e[P("0x7ea")] = {}, e[P("0x7ea")][P("0x7eb")] = function (e, t) { var i, r, n, o, a, s = 0 | e.length, x = 0 | t[P("0x0")]; if (1 == s && 1 == x) return (a = (i = e[0]) - ((n = i + (r = -t[0])) - (o = n - i)) + (r - o)) ? [a, n] : [n]; var l, c, u = new Array(s + x), h = 0, f = 0, d = 0, g = Math[P("0x78")], p = e[f], m = g(p), b = -t[d], v = g(b); m < v ? (c = p, (f += 1) < s && (m = g(p = e[f]))) : (c = b, (d += 1) < x && (v = g(b = -t[d]))), f < s && m < v || x <= d ? (l = p, (f += 1) < s && (m = g(p = e[f]))) : (l = b, (d += 1) < x && (v = g(b = -t[d]))); for (var C, y, _ = l + c, A = _ - l, I = c - A, w = I, G = _; f < s && d < x;) { m < v ? (l = p, (f += 1) < s && (m = g(p = e[f]))) : (l = b, (d += 1) < x && (v = g(b = -t[d]))), (I = (c = w) - (A = (_ = l + c) - l)) && (u[h++] = I), w = G - ((C = G + _) - (y = C - G)) + (_ - y), G = C; } for (; f < s;) { (I = (c = w) - (A = (_ = (l = p) + c) - l)) && (u[h++] = I), w = G - ((C = G + _) - (y = C - G)) + (_ - y), G = C, (f += 1) < s && (p = e[f]); } for (; d < x;) { (I = (c = w) - (A = (_ = (l = b) + c) - l)) && (u[h++] = I), w = G - ((C = G + _) - (y = C - G)) + (_ - y), G = C, (d += 1) < x && (b = -t[d]); } return w && (u[h++] = w), G && (u[h++] = G), h || (u[h++] = 0), u[P("0x0")] = h, u; }; }(V), function (e) { e[P("0x7ec")] = {}, e["robust-sum"][P("0x7ed")] = function (e, t) { var i, r, n, o, a, s = 0 | e[P("0x0")], x = 0 | t[P("0x0")]; if (1 == s && 1 == x) return (a = (i = e[0]) - ((n = i + (r = t[0])) - (o = n - i)) + (r - o)) ? [a, n] : [n]; var l, c, u = new Array(s + x), h = 0, f = 0, d = 0, g = Math[P("0x78")], p = e[f], m = g(p), b = t[d], v = g(b); m < v ? (c = p, (f += 1) < s && (m = g(p = e[f]))) : (c = b, (d += 1) < x && (v = g(b = t[d]))), f < s && m < v || x <= d ? (l = p, (f += 1) < s && (m = g(p = e[f]))) : (l = b, (d += 1) < x && (v = g(b = t[d]))); for (var C, y, _ = l + c, A = _ - l, I = c - A, w = I, G = _; f < s && d < x;) { m < v ? (l = p, (f += 1) < s && (m = g(p = e[f]))) : (l = b, (d += 1) < x && (v = g(b = t[d]))), (I = (c = w) - (A = (_ = l + c) - l)) && (u[h++] = I), w = G - ((C = G + _) - (y = C - G)) + (_ - y), G = C; } for (; f < s;) { (I = (c = w) - (A = (_ = (l = p) + c) - l)) && (u[h++] = I), w = G - ((C = G + _) - (y = C - G)) + (_ - y), G = C, (f += 1) < s && (p = e[f]); } for (; d < x;) { (I = (c = w) - (A = (_ = (l = b) + c) - l)) && (u[h++] = I), w = G - ((C = G + _) - (y = C - G)) + (_ - y), G = C, (d += 1) < x && (b = t[d]); } return w && (u[h++] = w), G && (u[h++] = G), h || (u[h++] = 0), u[P("0x0")] = h, u; }; }(V), function (e) { var t = e[P("0x7ee")].twoProduct, i = e[P("0x7ec")][P("0x7ed")], r = e["robust-subtract"][P("0x7eb")], n = e[P("0x7ef")][P("0x7f0")]; function o(e, t) { for (var i = new Array(e.length - 1), r = 1; r < e.length; ++r) { for (var n = i[r - 1] = new Array(e[P("0x0")] - 1), o = 0, a = 0; o < e[P("0x0")]; ++o) { o !== t && (n[a++] = e[r][o]); } } return i; } function a(e) { if (1 === e[P("0x0")]) return e[0]; if (2 === e.length) return [P("0x7f1"), e[0], ",", e[1], ")"].join(""); var t = e.length >> 1; return [P("0x7f1"), a(e[P("0x1d5")](0, t)), ",", a(e.slice(t)), ")"].join(""); } function s(e, t) { if ("m" !== e[P("0x68e")](0)) return s(t, e); if ("w" !== t[P("0x68e")](0)) return [P("0x7f4"), e, ",", t, ")"][P("0x7ca")](""); var i = e[P("0x7f2")]("["); return ["w", t[P("0x7f3")](1), "m", i[0][P("0x7f3")](1)][P("0x7ca")](""); } function x(e) { if (2 === e[P("0x0")]) return [["diff(", s(e[0][0], e[1][1]), ",", s(e[1][0], e[0][1]), ")"][P("0x7ca")]("")]; for (var t = [], i = 0; i < e[P("0x0")]; ++i) { t.push([P("0x7f5"), a(x(o(e, i))), ",", !0 & i ? "-" : "", e[0][i], ")"][P("0x7ca")]("")); } return t; } function l(e, t) { for (var i = [], r = 0; r < t - 2; ++r) { i[P("0x17c")]([P("0x7f6"), e, "[", r, "],m", e, "[", r, "])"].join("")); } return a(i); } function c(e) { for (var s = [], c = [], u = function (e) { for (var t = new Array(e), i = 0; i < e; ++i) { t[i] = new Array(e); for (var r = 0; r < e; ++r) { t[i][r] = ["m", r, "[", e - i - 2, "]"].join(""); } } return t; }(e), h = 0; h < e; ++h) { u[0][h] = "1", u[e - 1][h] = "w" + h; } for (h = 0; h < e; ++h) { 0 == (1 & h) ? s[P("0x17c")][P("0x346")](s, x(o(u, h))) : c[P("0x17c")][P("0x346")](c, x(o(u, h))); } var f = a(s), d = a(c), g = "exactInSphere" + e, p = []; for (h = 0; h < e; ++h) { p[P("0x17c")]("m" + h); } var m = [P("0x7c9"), g, "(", p[P("0x7ca")](), "){"]; for (h = 0; h < e; ++h) { m[P("0x17c")](P("0x7f7"), h, "=", l(h, e), ";"); for (var b = 0; b < e; ++b) { b !== h && m[P("0x17c")](P("0x7f7"), h, "m", b, P("0x7f8"), h, ",m", b, P("0x7f9")); } } return m.push(P("0x7fa"), f, ",n=", d, ",d=diff(p,n);return d[d.length-1];}return ", g), new Function(P("0x7fb"), P("0x7fc"), "prod", P("0xfc"), m.join(""))(i, r, t, n); } var u = [function () { return 0; }, function () { return 0; }, function () { return 0; }]; !function () { for (; u[P("0x0")] <= 6;) { u[P("0x17c")](c(u[P("0x0")])); } for (var t = [], i = [P("0x7fd")], r = 0; r <= 6; ++r) { t[P("0x17c")]("a" + r), i.push("o" + r); } var n = [P("0x7fe"), t[P("0x7ca")](), "){switch(arguments.length){case 0:case 1:return 0;"]; for (r = 2; r <= 6; ++r) { n[P("0x17c")]("case ", r, P("0x7ff"), r, "(", t[P("0x1d5")](0, r)[P("0x7ca")](), ");"); } n[P("0x17c")]("}var s=new Array(arguments.length);for(var i=0;i> 1; return [P("0x7f1"), a(e.slice(0, t)), ",", a(e.slice(t)), ")"].join(""); } function s(e) { if (2 === e[P("0x0")]) return [["sum(prod(", e[0][0], ",", e[1][1], P("0x803"), e[0][1], ",", e[1][0], "))"][P("0x7ca")]("")]; for (var t = [], i = 0; i < e.length; ++i) { t[P("0x17c")]([P("0x7f5"), a(s(o(e, i))), ",", 1 & i ? "-" : "", e[0][i], ")"][P("0x7ca")]("")); } return t; } function x(e) { for (var x = [], l = [], c = function (e) { for (var t = new Array(e), i = 0; i < e; ++i) { t[i] = new Array(e); for (var r = 0; r < e; ++r) { t[i][r] = ["m", r, "[", e - i - 1, "]"].join(""); } } return t; }(e), u = [], h = 0; h < e; ++h) { 0 == (1 & h) ? x[P("0x17c")].apply(x, s(o(c, h))) : l[P("0x17c")][P("0x346")](l, s(o(c, h))), u[P("0x17c")]("m" + h); } var f = a(x), d = a(l), g = P("0x11e") + e + P("0x804"), p = ["function ", g, "(", u[P("0x7ca")](), P("0x805"), f, P("0x806"), d, P("0x807"), g][P("0x7ca")](""); return new Function(P("0x7fb"), P("0x808"), P("0xfc"), "sub", p)(i, t, r, n); } var l = x(3), c = x(4), u = [function () { return 0; }, function () { return 0; }, function (e, t) { return t[0] - e[0]; }, function (e, t, i) { var r, n = (e[1] - i[1]) * (t[0] - i[0]), o = (e[0] - i[0]) * (t[1] - i[1]), a = n - o; if (0 < n) { if (o <= 0) return a; r = n + o; } else { if (!(n < 0)) return a; if (0 <= o) return a; r = -(n + o); } var s = 33306690738754716e-32 * r; return s <= a || a <= -s ? a : l(e, t, i); }, function (e, t, i, r) { var n = e[0] - r[0], o = t[0] - r[0], a = i[0] - r[0], s = e[1] - r[1], x = t[1] - r[1], l = i[1] - r[1], u = e[2] - r[2], h = t[2] - r[2], f = i[2] - r[2], d = o * l, g = a * x, p = a * s, m = n * l, b = n * x, v = o * s, C = u * (d - g) + h * (p - m) + f * (b - v), y = 7771561172376103e-31 * ((Math[P("0x78")](d) + Math[P("0x78")](g)) * Math[P("0x78")](u) + (Math[P("0x78")](p) + Math[P("0x78")](m)) * Math[P("0x78")](h) + (Math[P("0x78")](b) + Math[P("0x78")](v)) * Math[P("0x78")](f)); return y < C || y < -C ? C : c(e, t, i, r); }]; !function () { for (; u.length <= 5;) { u[P("0x17c")](x(u[P("0x0")])); } for (var t = [], i = ["slow"], r = 0; r <= 5; ++r) { t[P("0x17c")]("a" + r), i[P("0x17c")]("o" + r); } var n = [P("0x809"), t[P("0x7ca")](), "){switch(arguments.length){case 0:case 1:return 0;"]; for (r = 2; r <= 5; ++r) { n[P("0x17c")](P("0x80a"), r, P("0x7ff"), r, "(", t[P("0x1d5")](0, r)[P("0x7ca")](), ");"); } n.push(P("0x80b")), i[P("0x17c")](n.join("")); var o = Function[P("0x346")](void 0, i), a = e[P("0x80c")] = o[P("0x346")](void 0, [function (e) { var t = u[e.length]; return (t = t || (u[e.length] = x(e[P("0x0")])))[P("0x346")](void 0, e); }].concat(u)); for (r = 0; r <= 5; ++r) { a[r] = u[r]; } }(); }(V), function (e) { var t = e[P("0x7d9")], i = e[P("0x80c")][3]; function r(e, t, i, r, n) { this.a = e, this.b = t, this[P("0x80e")] = i, this[P("0x80f")] = r, this.upperIds = n; } function n(e, t, i, r) { this.a = e, this.b = t, this.type = i, this[P("0x80e")] = r; } function o(e, t) { var r = e.a[0] - t.a[0] || e.a[1] - t.a[1] || e[P("0x165")] - t[P("0x165")]; return r || (0 !== e[P("0x165")] && (r = i(e.a, e.b, t.b)) ? r : e[P("0x80e")] - t[P("0x80e")]); } function a(e, t) { return i(e.a, e.b, t); } function s(e, r, n, o, s) { for (var x = t.lt(r, o, a), l = t.gt(r, o, a), c = x; c < l; ++c) { for (var u = r[c], h = u.lowerIds, f = h[P("0x0")]; 1 < f && 0 < i(n[h[f - 2]], n[h[f - 1]], o);) { e[P("0x17c")]([h[f - 1], h[f - 2], s]), --f; } h[P("0x0")] = f, h[P("0x17c")](s); var d = u[P("0x810")]; for (f = d[P("0x0")]; 1 < f && i(n[d[f - 2]], n[d[f - 1]], o) < 0;) { e[P("0x17c")]([d[f - 2], d[f - 1], s]), --f; } d[P("0x0")] = f, d[P("0x17c")](s); } } function x(e, t) { var r; return (r = e.a[0] < t.a[0] ? i(e.a, e.b, t.a) : i(t.b, t.a, e.a)) ? r : (r = t.b[0] < e.b[0] ? i(e.a, e.b, t.b) : i(t.b, t.a, e.b)) || e.idx - t[P("0x80e")]; } function l(e, i, r) { var n = r.a; r.a = r.b, r.b = n; var o = t.eq(e, r, x), a = e[o]; e[o - 1][P("0x810")] = a[P("0x810")], e.splice(o, 1); } (e[P("0x80d")] = {})[P("0x811")] = function (e, i) { for (var a = e[P("0x0")], c = i[P("0x0")], u = [], h = 0; h < a; ++h) { u.push(new n(e[h], null, 0, h)); } for (h = 0; h < c; ++h) { var f = i[h], d = e[f[0]], g = e[f[1]]; d[0] < g[0] ? u[P("0x17c")](new n(d, g, 2, h), new n(g, d, 1, h)) : d[0] > g[0] && u[P("0x17c")](new n(g, d, 2, h), new n(d, g, 1, h)); } u[P("0x3d2")](o); for (var p, m, b, v, C, y, _ = u[0].a[0] - (1 + Math[P("0x78")](u[0].a[0])) * Math[P("0x2ae")](2, -52), A = [new r([_, 1], [_, 0], -1, [], [], [], [])], I = [], w = (h = 0, u.length); h < w; ++h) { var G = u[h], E = G.type; 0 === E ? s(I, A, e, G.a, G[P("0x80e")]) : 2 === E ? (m = G, v = void 0, y = (C = (v = (p = A)[b = t.le(p, m, x)])[P("0x810")])[C.length - 1], v[P("0x810")] = [y], p[P("0x259")](b + 1, 0, new r(m.a, m.b, m.idx, [y], C))) : l(A, 0, G); } return I; }; }(V), function (e) { var t = e[P("0x812")] = {}, i = e[P("0x80d")][P("0x811")], r = e[P("0x7d8")].createTriangulation, n = e.delaunay[P("0x813")], o = e[P("0x1f2")][P("0x814")]; function a(e) { return [Math[P("0x7d")](e[0], e[1]), Math[P("0xee")](e[0], e[1])]; } function s(e, t) { return e[0] - t[0] || e[1] - t[1]; } function x(e, t, i) { return t in e ? e[t] : i; } t.cdt2d = function (e, t, l) { t = d()(t) ? (l = l || {}, t || []) : (l = t || {}, []); var c = !!x(l, "delaunay", !0), u = !!x(l, "interior", !0), h = !!x(l, P("0x816"), !0), f = !!x(l, P("0x817"), !1); if (!u && !h || 0 === e.length) return []; var g = i(e, t); if (c || u != h || f) { for (var p = r(e[P("0x0")], t[P("0x815")](a).sort(s)), m = 0; m < g.length; ++m) { var b = g[m]; p[P("0x7dd")](b[0], b[1], b[2]); } return c && n(e, p), h ? u ? f ? o(p, 0, f) : p[P("0x7e0")]() : o(p, 1, f) : o(p, -1); } return g; }; }(V), function (e) { function t(t) { t = t || {}, this[P("0x563")] = void 0, this[P("0x54e")] = void 0; var i = t[P("0x0")]; e[P("0x14")](i) && 2 <= i && (this[P("0x563")] = e[P("0x23")][P("0x119")](t[0]), this[P("0x54e")] = e[P("0x23")][P("0x119")](t[1])); } var i = V[P("0x812")][P("0x812")]; function r(i) { i = i || {}, this[P("0x818")] = []; var r = i[P("0x0")]; if (e[P("0x14")](r) && 3 == r) for (var n = 0; n < 3; n++) { var o = new t(i[n]); this[P("0x818")][P("0x17c")](o); } } function n(i) { i = i || {}, this[P("0x818")] = []; var r = i[P("0x0")]; if (e[P("0x14")](r) && 3 <= r) for (var n = 0; n < r; n++) { var o = new t(i[n]); this[P("0x818")][P("0x17c")](o); } } function o(t) { t = t || {}, this[P("0x81c")] = []; var i = t[P("0x0")]; if (e[P("0x14")](i)) for (var r = 0; r < i; r++) { var o = new n(t[r]); this[P("0x81c")][P("0x17c")](o); } } t[P("0x3d0")] = function (e) { var i = new t(); return i[P("0x563")] = e[0], i[P("0x54e")] = e[1], i; }, t.prototype[P("0x6d")] = function (e, i) { return (i = i || new t())[P("0x563")] = this[P("0x563")] + e[P("0x563")], i.lat = this.lat + e.lat, i; }, t[P("0x5")].scale = function (e, i) { return (i = i || new t())[P("0x563")] = this.lon * e, i[P("0x54e")] = this[P("0x54e")] * e, i; }, r[P("0x3d0")] = function (i) { var n = new r(), o = i[P("0x0")]; if (e[P("0x14")](o) && 3 == o) for (var a = 0; a < 3; a++) { var s = t[P("0x3d0")](i[a]); n._points[P("0x17c")](s); } return n; }, r.prototype[P("0x11a")] = function () { for (var e = new t([0, 0]), i = this._points, r = i[P("0x0")], n = 0; n < r; n++) { var o = i[n]; e[P("0x6d")](o, e), e[P("0xfc")](0.5, e); } return e; }, r[P("0x5")].adjustOrder = function () { var t = this[P("0x818")]; if (3 == t.length) { var i = new e.Cartesian3(t[0][P("0x563")], t[0][P("0x54e")]), r = new e[P("0x11")](t[1].lon, t[1][P("0x54e")]), n = new e[P("0x11")](t[2][P("0x563")], t[2].lat), o = e[P("0x11")][P("0x95")](r, i, new e[P("0x11")]()), a = e[P("0x11")][P("0x95")](n, i, new e[P("0x11")]()), s = e[P("0x11")][P("0x99")](o, a, new e[P("0x11")]()); if (e[P("0x11")][P("0x8d")](s, s), !(0 < e[P("0x11")][P("0x92")](s, e.Cartesian3[P("0xc3")]))) { var x = t[0]; t[0] = t[2], t[2] = x; } } }, r[P("0x5")][P("0x819")] = function (t, i) { var r = this[P("0x818")], n = r[P("0x0")]; if (3 != n) return !1; for (var o = 0; o < n; o++) { var a = r[o], s = e[P("0x11")][P("0x3d0")](a[P("0x563")], a[P("0x54e")], 0); e[P("0x1b")][P("0xd4")](t, s, s), i.push(s); } return !0; }, r[P("0x5")].peekSource = function (t, i) { var r = []; if (this[P("0x819")](t, r)) { var n = r[0], o = r[1], a = e[P("0x11")][P("0x95")](o, n, new e[P("0x11")]()); e[P("0x11")][P("0x8d")](a, a); var s = e[P("0x11")][P("0x99")](e[P("0x11")].UNIT_Z, a, new e[P("0x11")]()); e.Cartesian3.normalize(s, s); var x = -e[P("0x11")][P("0x92")](s, n); i[P("0x17c")](new e[P("0x368")](s, x)), n = r[1], o = r[2], a = e.Cartesian3[P("0x95")](o, n, new e[P("0x11")]()), e.Cartesian3[P("0x8d")](a, a), s = e.Cartesian3.cross(e[P("0x11")].UNIT_Z, a, new e[P("0x11")]()), e[P("0x11")][P("0x8d")](s, s), x = -e.Cartesian3[P("0x92")](s, n), i[P("0x17c")](new e[P("0x368")](s, x)), n = r[2], o = r[0], a = e[P("0x11")][P("0x95")](o, n, new e[P("0x11")]()), e.Cartesian3[P("0x8d")](a, a), s = e[P("0x11")][P("0x99")](e[P("0x11")].UNIT_Z, a, new e[P("0x11")]()), e[P("0x11")].normalize(s, s), x = -e[P("0x11")][P("0x92")](s, n), i[P("0x17c")](new e[P("0x368")](s, x)); } }, r.prototype[P("0x81a")] = function (t) { var i = []; if (!this[P("0x819")](t, i)) return null; var r = i[0], n = i[1], o = e.Cartesian3.subtract(n, r, new e.Cartesian3()); return e[P("0x11")].normalize(o, o), o; }, r[P("0x5")].computeBoundingSphere = function (t) { var i = []; if (!this[P("0x819")](t, i)) return null; var r = i[0], n = e.Cartesian3.distance(r, i[1]), o = e.Cartesian3[P("0x8e")](r, i[2]); return o < n && (o = n), new e[P("0x5f1")](r, o); }, n[P("0x5")][P("0x81b")] = function (e, t) { var i = e[P("0x0")], r = i, n = this._points; i = n[P("0x0")]; for (var o = 0; o < i; o++) { var a = o + 1; a == i && (a = 0); var s = n[o]; e.push([s[P("0x563")], s[P("0x54e")]]), t[P("0x17c")]([r + o, r + a]); } }, o[P("0x5")][P("0x81d")] = function (e, t, i) { for (var r = i[P("0x0")], n = 0; n < r; n++) { var o = i[n]; if (o[0] == e && o[1] == t) return !0; if (o[0] == t && o[1] == e) return !0; } return !1; }, o[P("0x5")]._checkCell = function (e, t) { for (var i = e[P("0x0")], r = 0; r < i; r++) { var n = r + 1; if (n == i && (n = 0), !this[P("0x81d")](e[r], e[n], t)) return !1; } return !0; }, o[P("0x5")][P("0x81e")] = function (e, t) { for (var i = [], r = e[P("0x0")], n = 0; n < r; n++) { var o = e[n]; this[P("0x81f")](o, t) && i.push(o); } e.length = 0, r = i[P("0x0")]; for (var a = 0; a < r; a++) { e[P("0x17c")](i[a]); } }, o[P("0x5")][P("0x820")] = function (t) { var n = [], o = [], a = this[P("0x81c")], s = a[P("0x0")]; if (!(s < 1)) { for (var x = 0; x < s; x++) { a[x].take(n, o); } var l = i(n, o, { delaunay: !0, interior: !0, exterior: !1, infinity: !1 }); if (e[P("0x14")](l) && e[P("0x14")](l[P("0x0")])) { s = l.length; for (var c = 0; c < s; c++) { var u = l[c], h = r.fromRadians([n[u[0]], n[u[1]], n[u[2]]]); t[P("0x17c")](h); } } } }; var a = e[P("0x821")] = function (t) { t = t || {}, this[P("0x13c")] = t[P("0x13b")], this[P("0x822")] = e[P("0x102")](t[P("0x823")], a.Hide), this._enabled = e.defaultValue(t[P("0x364")], !0), this[P("0x824")] = e[P("0x102")](t[P("0x825")], e[P("0x16a")].RED), this[P("0x826")] = [], this[P("0x827")] = null, this._filterTexture = null, this._initialize(t.polygons, t[P("0x828")]); }; a[P("0x829")] = 0, a[P("0x82a")] = 1, e.defineProperties(a[P("0x5")], { enabled: { get: function get() { return this[P("0x82b")]; }, set: function set(e) { this[P("0x82b")] = e; } }, clipResult: { get: function get() { return this[P("0x822")]; }, set: function set(e) { this[P("0x82c")](), this[P("0x822")] = e; } } }), a[P("0x5")][P("0x82d")] = function (t, i) { if (i = e.defaultValue(i, !1)) this[P("0x82e")](t, this[P("0x826")]);else { var r = []; this._parsePolygons(t, r), this[P("0x82f")](r, this._polygons); } this[P("0x830")](); }, a[P("0x5")]._parseTriangles = function (t, i) { var n = t[P("0x0")]; if (e[P("0x14")](n)) for (var o = 0; o < n; o++) { var a = new r(t[o]); i[P("0x17c")](a); } }, a.prototype[P("0x831")] = function (t, i) { var r = t[P("0x0")]; if (e[P("0x14")](r)) for (var n = 0; n < r; n++) { var a = new o(t[n]); i.push(a); } }, a[P("0x5")][P("0x830")] = function () { for (var e = this[P("0x826")], t = e.length, i = 0; i < t; i++) { e[i][P("0x832")](); } }, a[P("0x5")][P("0x82f")] = function (e, t) { for (var i = 0; i < e[P("0x0")]; i++) { e[i].triangulate(t); } }, a[P("0x5")][P("0xd2")] = function (e) { this[P("0x826")][P("0x0")] < 1 || (this[P("0x82b")] ? this._enableAll() : this[P("0x82c")]()); }, a[P("0x5")][P("0xf4")] = function () { this._polygons.length = 0, this[P("0x82b")] = !1; }, a[P("0x5")][P("0x833")] = function () { this[P("0x822")] == a.Hide ? this[P("0x834")]() : this[P("0x835")](); }, a[P("0x5")][P("0x82c")] = function () { this[P("0x822")] == a[P("0x829")] ? this[P("0x836")]() : this[P("0x837")](); }, a[P("0x5")]._enableHideAll = function () { var e = this[P("0x13c")][P("0x10f")][P("0x17d")]; this[P("0x838")](e); var t = this[P("0x13c")][P("0x10f")].globe; this[P("0x839")](t), scene.skyBox[P("0x221")] = !1, scene[P("0x83a")][P("0x221")] = !1; }, a[P("0x5")]._disableHideAll = function () { var e = this[P("0x13c")].scene[P("0x17d")]; this[P("0x83b")](e); var t = this[P("0x13c")].scene[P("0xa3")]; this[P("0x83c")](t), scene[P("0x83d")].show = !0, scene[P("0x83a")][P("0x221")] = !0; }, a[P("0x5")]._enableShowAll = function () { var e = this[P("0x13c")].scene[P("0x17d")]; this[P("0x838")](e); var t = this._viewer[P("0x10f")][P("0xa3")]; this[P("0x839")](t), scene[P("0x83d")][P("0x221")] = !1, scene[P("0x83a")][P("0x221")] = !1; }, a[P("0x5")][P("0x837")] = function () { var e = this[P("0x13c")].scene[P("0x17d")]; this[P("0x83b")](e); var t = this[P("0x13c")][P("0x10f")][P("0xa3")]; this._disableGlobe(t); }, a[P("0x5")][P("0x838")] = function (e) { for (var t = e.length, i = 0; i < t; i++) { this[P("0x83e")](e[P("0x306")][i]); } }, a[P("0x5")][P("0x83b")] = function (e) { for (var t = e[P("0x0")], i = 0; i < t; i++) { this[P("0x83f")](e[P("0x306")][i]); } }, a[P("0x5")][P("0x83e")] = function (t) { t instanceof e[P("0x2e1")] ? this._enableTileset(t) : t instanceof e[P("0x51e")] ? this[P("0x838")](t) : t instanceof e.EntityCluster ? this[P("0x840")](t) : t instanceof e[P("0x841")] && this[P("0x842")](t); }, a[P("0x5")][P("0x83f")] = function (t) { t instanceof e[P("0x2e1")] ? this._removeEffectFromTileset(t) : t instanceof e.PrimitiveCollection ? this[P("0x83b")](t) : t instanceof e[P("0x843")] ? this[P("0x844")](t) : t instanceof e[P("0x841")] && this[P("0x845")](t); }, a[P("0x5")][P("0x840")] = function (e) { var t = e[P("0x846")]; if (t) for (var i = t[P("0x847")], r = i[P("0x0")], n = 0; n < r; n++) { i[n]; } }, a[P("0x5")][P("0x844")] = function (e) { var t = e._pointCollection; if (t) for (var i = t[P("0x847")], r = i[P("0x0")], n = 0; n < r; n++) { i[n]; } }, a[P("0x5")]._enableGlobe = function (t) { if (e.defined(t[P("0x365")])) t[P("0x365")][P("0x364")] = !0;else { var i = this._calcClipCenter(), r = e[P("0x1f")][P("0xbf")](i); r = e[P("0x1b")][P("0x4e2")](r, new e.Matrix4()); var n = this[P("0x848")](r); t.clippingPlanes = n; } }, a.prototype._disableGlobe = function (t) { e[P("0x14")](t) && e[P("0x14")](t.clippingPlanes) && (t[P("0x365")] = void 0, this[P("0x849")](t._surface)); }, a[P("0x5")]._clearSurfaceClippingPlanes = function (t) { t[P("0x84a")] = !0, t[P("0x84b")][P("0x84c")] = void 0, t._tilesToRender[P("0x0")] = 0, e[P("0x14")](t._tileProvider) && e.defined(t._tileProvider[P("0x84d")]) && this[P("0x84e")](t[P("0x84b")]._surfaceShaderSet[P("0x84f")]); }, a[P("0x5")][P("0x84e")] = function (t) { if (e[P("0x14")](t) && e.defined(t[P("0x0")])) for (var i = t[P("0x0")], r = 0; r < i; r++) { t[r] = void 0; } }, a[P("0x5")][P("0x850")] = function () { var t = this[P("0x826")], i = t[P("0x0")]; if (!(i < 1)) { for (var r = new e[P("0x13")](), n = 0; n < i; n++) { var o = t[n][P("0x11a")](); r[P("0x112")] += o[P("0x563")], r.latitude += o[P("0x54e")], r[P("0x112")] *= 0.5, r.latitude *= 0.5; } return e.Cartesian3[P("0x3d0")](r.longitude, r[P("0x114")], r[P("0x8b")]); } }, a[P("0x5")][P("0x842")] = function (t) { if (e[P("0x14")](t[P("0x365")])) t[P("0x365")][P("0x364")] = !0;else if (t[P("0x48b")]) { var i = e[P("0x11")][P("0x6c")](t[P("0x55b")][P("0x11a")], 0.5, new e[P("0x11")]()), r = e[P("0x1b")][P("0x851")](i, new e.Matrix4()), n = (i = e[P("0x1b")][P("0xd4")](t[P("0x4ac")], t[P("0x55b")][P("0x11a")], new e.Cartesian3()), e.Matrix4[P("0x737")](r, t.modelMatrix, new e.Matrix4())); n = e[P("0x1b")][P("0x4e2")](n, new e[P("0x1b")]()); var o = this._generateClipPlanes(n); t[P("0x365")] = o; } }, a.prototype._disableModel = function (t) { e[P("0x14")](t[P("0x365")]) && (t.clippingPlanes = void 0, t[P("0x852")] = !0); }, a[P("0x5")][P("0x848")] = function (e) { return this[P("0x822")] == a[P("0x829")] ? this[P("0x853")](e) : this[P("0x854")](e); }, a[P("0x5")][P("0x853")] = function (t) { var i = this[P("0x855")](t); if (e.defined(i)) { var r = new e.ClippingPlaneCollection({ planes: i, edgeWidth: 0.5, edgeColor: e[P("0x16a")][P("0x856")], unionClippingRegions: !0 }); return r[P("0x857")] = {}, r[P("0x857")][P("0x858")] = !0, r[P("0x857")][P("0x859")] = function (e) { return P("0x85a") + "{\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n" + P("0x85b") + " vec3 clipPosition = vec3(0.0);\n" + P("0x85c") + P("0x85d") + P("0x85e") + " for (int i = 0; i < " + e + "; i+=3)\n" + P("0x85f") + " int j = i;\n" + P("0x860") + P("0x861") + P("0x862") + P("0x863") + " clipAmount = czm_branchFreeTernary(j == 0, amount, min(amount, clipAmount));\n" + P("0x864") + P("0x865") + P("0x866") + P("0x867") + P("0x868") + P("0x869") + " amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n" + P("0x86a") + P("0x86b") + P("0x86c") + " j++;\n" + P("0x86d") + P("0x86e") + " clipPosition = -clippingPlane.w * clipNormal;\n" + P("0x86f") + P("0x870") + " if (amount > 0.0)\n" + P("0x871") + P("0x872") + P("0x873") + P("0x874") + P("0x875") + P("0x7bf") + P("0x7b7") + P("0x876") + P("0x877") + " }\n return clipAmount;\n}\n"; }, r.mularea[P("0x878")] = function (e, t, i) { return P("0x879") + P("0x87a") + P("0x87b") + "void main() \n" + P("0x87c") + P("0x87d") + " float clipDistance = clip(gl_FragCoord, " + e + ", " + t + P("0x87e") + " vec4 clippingPlanesEdgeColor = vec4(1.0); \n" + P("0x87f") + i + P("0x880") + P("0x881") + i + ".a; \n" + P("0x882") + " { \n" + P("0x883") + P("0x884") + P("0x885"); }, r; } }, a.prototype[P("0x854")] = function (t) { var i = this._generateSourcePlanes(t); if (e[P("0x14")](i)) { var r = new e[P("0x36a")]({ planes: i, edgeWidth: this[P("0x824")][P("0x671")], edgeColor: this[P("0x824")], unionClippingRegions: !0 }); return r[P("0x857")] = {}, r[P("0x857")][P("0x858")] = !1, r[P("0x857")][P("0x859")] = function (e) { return P("0x85a") + "{\n vec4 position = czm_windowToEyeCoordinates(fragCoord);\n vec3 clipNormal = vec3(0.0);\n" + P("0x886") + P("0x85c") + P("0x85d") + P("0x85e") + P("0x7bc") + e + "; i+=3)\n" + P("0x85f") + P("0x887") + P("0x860") + P("0x861") + " clipPosition = -clippingPlane.w * clipNormal;\n float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth;\n" + P("0x888") + P("0x864") + P("0x865") + " j++;\n" + P("0x867") + P("0x868") + P("0x869") + P("0x889") + P("0x86a") + P("0x86b") + P("0x86c") + P("0x88a") + " clippingPlane = getClippingPlane(clippingPlanes, j, clippingPlanesMatrix);\n" + P("0x86e") + " clipPosition = -clippingPlane.w * clipNormal;\n" + P("0x86f") + P("0x870") + P("0x88b") + P("0x871") + " bDiscard = false;\n" + P("0x873") + " }\n" + P("0x875") + P("0x7bf") + P("0x88c") + P("0x7b7") + P("0x876") + " return -100.0;\n }\n return 100.0;\n}\n"; }, r[P("0x857")][P("0x878")] = function (e, t, i) { return P("0x879") + P("0x87a") + P("0x87b") + P("0x88d") + "{ \n" + P("0x87d") + P("0x88e") + e + ", " + t + P("0x87e") + " vec4 clippingPlanesEdgeColor = vec4(1.0); \n" + P("0x87f") + i + P("0x880") + P("0x881") + i + P("0x88f") + P("0x890") + P("0x891") + " gl_FragColor = mix(gl_FragColor, clippingPlanesEdgeColor, clippingPlanesEdgeWidth);\n" + P("0x884") + P("0x885"); }, r; } }, a[P("0x5")][P("0x855")] = function (e) { var t = this[P("0x826")], i = t[P("0x0")]; if (!(i < 1)) { for (var r = [], n = 0; n < i; n++) { t[n][P("0x892")](e, r); } return r; } }, a.prototype[P("0x893")] = function (t) { var i = e[P("0x13")][P("0x1a1")](t[0], t[1], 0); this[P("0x894")][P("0x17c")](i); }, a.prototype._unloadTileCallback = function (e, t) { e[P("0x895")][P("0x896")](t), e[P("0x897")][P("0x898")](t[P("0x490")]), --e[P("0x897")][P("0x899")], t[P("0x89a")](); }, a[P("0x5")][P("0x89b")] = function (t) { if (e[P("0x14")](t[P("0x365")])) t[P("0x365")][P("0x364")] = !0;else if (t[P("0x89c")] && t[P("0x89c")][P("0x4bc")]) { var i = t._root[P("0x4bc")][P("0x55b")].center, r = e[P("0x1f")][P("0xbf")](i); r = e.Matrix4.inverse(r, new e[P("0x1b")]()); var n = this[P("0x848")](r); t[P("0x365")] = n; } }, a[P("0x5")]._disableTileset = function (t) { e[P("0x14")](t[P("0x365")]) && (t[P("0x365")][P("0x364")] = !1); }, a[P("0x5")][P("0x89d")] = function (t) { e[P("0x14")](t.clippingPlanes) && (t.clippingPlanes = void 0, t[P("0x89e")][P("0xf1")](), t[P("0x89e")][P("0x89f")](), t[P("0x89e")][P("0x8a0")](t, this[P("0x8a1")])); }; }(window.Cesium), function (e) { function t(t) { if (t = e[P("0x102")](t, e[P("0x102")][P("0x128")]), !e[P("0x14")](t[P("0x13b")])) throw new DeveloperError(P("0x63a")); if (this[P("0x13c")] = t[P("0x13b")], !e[P("0x14")](t[P("0x11a")])) throw new DeveloperError("center is required."); this[P("0x5b4")] = e[P("0x102")](t[P("0x11a")], []); var i = e.defaultValue(t[P("0x8b")], e.GeoRadarScan.DEFAULT_HEIGHT); this._height = i, this[P("0x63c")] = e[P("0x102")](t[P("0x181")], e[P("0x8a2")][P("0x64c")]), this[P("0x596")] = e[P("0x102")](t[P("0x169")], e[P("0x8a2")][P("0x648")]), this[P("0x319")] = e[P("0x102")](t.lineColor, e[P("0x8a2")][P("0x648")]), this[P("0x31a")] = e[P("0x102")](t[P("0x197")], e[P("0x8a2")][P("0x8a3")]), this[P("0x8a4")] = e[P("0x102")](t.sectorColor, e.GeoRadarScan[P("0x648")]), this[P("0x8a5")] = e[P("0x102")](t[P("0x8a6")], e[P("0x8a2")][P("0x8a7")]); var r = this[P("0x5b4")][0], n = this._center[1], o = e.defaultValue(this[P("0x63c")], 0); this._radarScanEntity = null, this[P("0x8a8")](r, n, i, o, this[P("0x596")], this[P("0x319")], this[P("0x31a")], this[P("0x8a5")]); } e.defineProperties(t[P("0x5")], { lineColor: { get: function get() { return this._lineColor; }, set: function set(e) { this[P("0x319")] = e, this[P("0x8a9")](); } }, lineWidth: { get: function get() { return this._lineWidth; }, set: function set(e) { this[P("0x31a")] = e, this[P("0x8a9")](); } }, sectorColor: { get: function get() { return this[P("0x8a4")]; }, set: function set(e) { this[P("0x8a4")] = e, this[P("0x8aa")](); } }, sectorWidth: { get: function get() { return this._sectorWidth; }, set: function set(e) { this[P("0x8a5")] = e, this._updateSectorMaterial(); } } }), t[P("0x5")][P("0xf4")] = function () { this[P("0x13c")] && this[P("0x13c")][P("0x194")][P("0x17f")](this._radarScanEntity); }, t[P("0x5")][P("0x645")] = function (t) { this._isShow = e[P("0x102")](t, !0), this[P("0x8ab")][P("0x221")] = t, this[P("0x8ac")][P("0x221")] = t; }, t[P("0x5")][P("0x8ad")] = function (t) { this[P("0x319")] = e[P("0x102")](t, e.GeoRadarScan[P("0x648")]); }, t[P("0x5")][P("0x8ae")] = function () { return this[P("0x319")]; }, t.prototype[P("0x8af")] = function (t) { this[P("0x8a4")] = e.defaultValue(t, e[P("0x8a2")].DEFAULT_COLOR); }, t.prototype.getsectorColor = function () { return this[P("0x8a4")]; }, t.prototype[P("0x647")] = function (t) { this[P("0x596")] = e[P("0x102")](t, e[P("0x8a2")][P("0x648")]), this[P("0x8ab")][P("0x649")][P("0x19c")][P("0x169")] = this._color; }, t[P("0x5")][P("0x64a")] = function () { return this[P("0x596")]; }, t[P("0x5")].setRadius = function (t) { this[P("0x63c")] = e[P("0x102")](t, e[P("0x8a2")].DEFAULT_RADIUS), this[P("0x8ab")][P("0x649")][P("0x64d")] = this[P("0x63c")]; }, t.prototype[P("0x64e")] = function () { return this[P("0x63c")]; }, t.prototype[P("0x64f")] = function (t) { if (!e.defined(t)) throw new DeveloperError("position is required."); this[P("0x8ab")][P("0x8c")] = position, this[P("0x5b4")] = position; }, t[P("0x5")][P("0x8a8")] = function (t, i, r, n, o, a, s, x) { var l = this[P("0x13c")]; a = this[P("0x319")], x = this[P("0x8a4")]; var c = e[P("0x23")][P("0x119")](30); if (!this[P("0x8ab")]) { var u = l.entities[P("0x6d")]({ position: e[P("0x11")].fromDegrees(t, i, r), ellipse: { semiMinorAxis: n, semiMajorAxis: n, rotation: new e[P("0x652")](f, !1), stRotation: new e[P("0x652")](f, !1), material: new e[P("0x651")]({ image: function (e, t, i, r) { var n = document[P("0x15c")]("canvas"); n[P("0x19a")] = 1024, n[P("0x8b")] = 1024; var o = n[P("0x476")]("2d"); return e == P("0x449") && (o[P("0x65b")] = function (e) { return P("0x8b1") + 255 * e.red + "," + 255 * e.green + "," + 255 * e[P("0x670")] + "," + 0.5 * e.alpha + ")"; }(t), o.lineWidth = i, o[P("0x658")](), o[P("0x659")](512, 512, 512 - (i / 2 + 2), 0, 2 * Math.PI, !0), o.stroke(), o[P("0x65a")]()), e == P("0x8b0") && function (e, t, i, r, n, o) { var a = Math.PI / 180; i = i || 0, r = r || 512, n = n || 200, o = o || P("0x8b2"), t = t || P("0x8b3"), e[P("0x658")](), e[P("0x65b")] = P("0x8b1") + o + P("0x8b4"); for (var s = r - 2, x = (d(s, i), n), l = 0; l < x; l++) { var c = 0.5 - l, u = d(s, 0.5 - l - 1), h = d(s, c), f = 1 - l / x - 0.3; 0 == l && (f = 1), e[P("0x658")](), e.fillStyle = P("0x8b1") + t.red + "," + t[P("0x66f")] + "," + t[P("0x670")] + "," + f + ")", e[P("0x8b5")](512, 512), e[P("0x8b6")](u.x, u.y), e.lineTo(h.x, h.y), e[P("0x8b7")](); } function d(e, t) { return { x: e * Math[P("0x9a")](a * t), y: e * Math[P("0x98")](a * t) }; } }(o, r, null), n; }(P("0x8b0"), a, s, x), transparent: !0 }) } }); this[P("0x8ab")] = u; } if (!this[P("0x8ac")]) { var h = l[P("0x194")][P("0x6d")]({ position: e.Cartesian3[P("0x1a1")](t, i, r), ellipse: { semiMinorAxis: n, semiMajorAxis: n } }); this[P("0x8ac")] = h, this._updateBorderMaterial(); } function f() { return c += 0.05; } }, t.prototype._createCanvas = function (t, i, r, n) { var o = document[P("0x15c")](P("0x48")); o[P("0x19a")] = 1024, o.height = 1024; var a, s = o[P("0x476")]("2d"); return t == P("0x449") && (s[P("0x65b")] = (a = i, P("0x8b1") + 255 * a[P("0x66e")] + "," + 255 * a[P("0x66f")] + "," + 255 * a.blue + "," + 0.5 * a[P("0x671")] + ")"), s[P("0x197")] = r, s[P("0x658")](), s.arc(512, 512, 512 - (r / 2 + 2), 0, 2 * Math.PI, !0), s[P("0x65e")](), s[P("0x65a")]()), "radar" == t && function (t, i, r, n, o, a) { var s = Math.PI / 180; r = r || 0, n = n || 512, o = o || 200, a = a || P("0x8b2"), i = i || e.GeoRadarScan[P("0x648")], t[P("0x658")](), t[P("0x65b")] = P("0x8b1") + a + ",1)"; for (var x = n - 2, l = (g(x, r), o), c = 0; c < l; c++) { var u = 0.5 - c, h = g(x, 0.5 - c - 1), f = g(x, u), d = 1 - c / l - 0.3; 0 == c && (d = 1), t.beginPath(), t[P("0x484")] = P("0x8b1") + i[P("0x66e")] + "," + i[P("0x66f")] + "," + i.blue + "," + d + ")", t[P("0x8b5")](512, 512), t.lineTo(h.x, h.y), t.lineTo(f.x, f.y), t[P("0x8b7")](); } function g(e, t) { return { x: e * Math[P("0x9a")](s * t), y: e * Math[P("0x98")](s * t) }; } }(s, n, null), o; }, t[P("0x5")][P("0x8a9")] = function () { this[P("0x8ac")].ellipse[P("0x19c")] = new e[P("0x651")]({ image: this[P("0x8b8")](P("0x449"), this[P("0x319")], this[P("0x197")], this[P("0x8a4")]), transparent: !0 }); }, t[P("0x5")][P("0x8aa")] = function () { this[P("0x8ab")].ellipse[P("0x19c")] = new e[P("0x651")]({ image: this[P("0x8b8")](P("0x8b0"), this[P("0x319")], this[P("0x197")], this._sectorColor), transparent: !0 }); }, e.GeoRadarScan = t, e[P("0x8a2")].DEFAULT_HEIGHT = 0, e.GeoRadarScan[P("0x64c")] = 25e3, e[P("0x8a2")].DEFAULT_COLOR = e[P("0x16a")][P("0x2cf")], e.GeoRadarScan.DEFAULT_SECTOR_COLOR = e[P("0x16a")].WHITE, e.GeoRadarScan[P("0x8a3")] = 5, e[P("0x8a2")][P("0x8a7")] = 200; }(window[P("0xfd")]), function (e) { var t = e[P("0x8b9")] = function (t) { this[P("0x13c")] = t.viewer, this[P("0x63c")] = t[P("0x181")], this[P("0x63c")] *= 1.65; var i = e.Cartographic[P("0x1a1")][P("0x346")](this, t[P("0x11a")]); this[P("0x5b4")] = e.Cartesian3.fromRadians(i[P("0x112")], i[P("0x114")], i[P("0x8b")]), this[P("0x596")] = t[P("0x169")] ? t.color[P("0x6e")]() : e[P("0x16a")].ORANGE.withAlpha(0.35)[P("0x6e")](), this[P("0x31a")] = t[P("0x197")] ? t[P("0x197")] : 1, this[P("0x5b9")] = t[P("0x539")] ? t[P("0x539")] : 1, this[P("0x8ba")] = !!t[P("0x8bb")] && t[P("0x8bb")], this._enabled = !t[P("0x364")] || t[P("0x364")], this[P("0x8bc")] = null, this[P("0x8bd")] = null, this[P("0x5bc")] = 0; var r = e[P("0x11")][P("0x8d")](this._center, new e[P("0x11")]()); this[P("0x8be")] = function () { return r; }; var n = this._radius / this[P("0x5b9")]; this._life = function () { return n; }, this[P("0x8bf")] = function (e) { n = e; }; var o = 0; this[P("0x5cf")] = function () { return o; }, this[P("0x8c0")] = function (e) { o = e; }, this._finishedEvent = new e.Event(), this[P("0x77b")] = null, this[P("0x8c1")] = e.Color.WHITE; }; e[P("0xf")](t[P("0x5")], { normal: { get: function get() { return this[P("0x8be")](); } }, life: { get: function get() { return this[P("0x5bf")](); } }, time: { get: function get() { return this[P("0x5cf")](); }, set: function set(e) { this[P("0x8c0")](e); } }, speed: { get: function get() { return this[P("0x5b9")]; }, set: function set(e) { this[P("0x5b9")] != e && (this[P("0x5b9")] = e, this[P("0x8bf")](this[P("0x63c")] / this[P("0x5b9")])); } }, lineWidth: { get: function get() { return this[P("0x31a")]; }, set: function set(e) { this._lineWidth = e; } }, color: { get: function get() { return this[P("0x596")]; }, set: function set(e) { this._color = e[P("0x6e")](); } }, repeat: { get: function get() { return this[P("0x8ba")]; }, set: function set(e) { this._repeat = e; } }, finishedEvent: { get: function get() { return this[P("0x8c2")]; } }, enabled: { get: function get() { return this[P("0x82b")]; }, set: function set(e) { this[P("0x82b")] = e; } }, center: { get: function get() { return this[P("0x5b4")]; } }, invViewMatrix: { get: function get() { return this[P("0x77b")]; } } }), t[P("0x5")][P("0xd2")] = function (e) { if (!this[P("0x82b")]) return this._scanCirclePostProcess && (this._scanCirclePostProcess[P("0x364")] = !1), void (this._scanAperturePostProcess && (this[P("0x8bd")][P("0x364")] = !1)); this._updateTime(), this[P("0x82b")] && this[P("0x8c3")](e); }, t[P("0x5")][P("0xf4")] = function () { this[P("0x8bd")] && (this[P("0x8bd")].enabled = !1, this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this._scanAperturePostProcess), this[P("0x8bd")] = null), this._scanCirclePostProcess && (this._scanCirclePostProcess.enabled = !1, this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x17f")](this[P("0x8bc")]), this[P("0x8bc")] = null); }, t[P("0x5")][P("0x5c8")] = function () { var t = e[P("0x5d0")]() / 1e3; if (0 == this._lastTime) this[P("0x5bc")] = t, this[P("0x6f2")] = 0;else { var i = t - this[P("0x5bc")], r = this.life; r < i && (i = r), this[P("0x6f2")] += i, this[P("0x6f2")] > r && (this._repeat || this[P("0x8c4")](), this[P("0x6f2")] = 0), this[P("0x5bc")] = t; } }, t[P("0x5")][P("0x8c4")] = function () { this[P("0x82b")] = !1, this[P("0x8c2")][P("0x896")](); }, t[P("0x5")][P("0x8c3")] = function (e) { var t = e[P("0x7e")]; this[P("0x77b")] = t[P("0x8c5")].clone(this._invViewMatrix), this._updateScanCirclePostProcess(e), this[P("0x8c6")](e); }, t[P("0x5")][P("0x8c7")] = function (t) { var i = this; if (i[P("0x8bc")]) return this[P("0x8bc")][P("0x364")] = !0, void (this[P("0x13c")].scene[P("0x77c")][P("0xd1")](this[P("0x8bc")]) || (this[P("0x13c")][P("0x10f")].postProcessStages[P("0x6d")](this[P("0x8bc")]), this[P("0x8bc")][P("0xd2")](t.context, t[P("0x77d")]))); var r = P("0x7a0") + P("0x7a1") + P("0x8c8") + P("0x8c9") + "uniform vec3 u_normal;\n" + P("0x5fc") + "uniform vec4 u_param0;\n" + P("0x7a4") + P("0x5f9") + P("0x8ca") + P("0x8cb") + P("0x8cc") + " gl_FragColor = color;\n" + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + " position = u_invViewMatrix * position;\n position /= position.w;\n float t = (u_param0.y > u_param0.x) ? u_param0.x : u_param0.y;\n float al = (u_param0.y <= u_param0.x) ? 1.0 : clamp(1.0 - (u_param0.y - u_param0.x) / (0.65 * u_param0.x), 0.0, 1.0);\n" + P("0x8d3") + " vec3 b = normalize(position.xyz - u_center);\n vec3 n = normalize(u_normal);\n" + P("0x8d4") + P("0x8d5") + " b = cross(n, nc);\n" + P("0x8d6") + P("0x8d7") + P("0x614") + " float d = u_param0.z * t;\n" + P("0x8d8") + P("0x8d9") + P("0x8da") + P("0x8db") + P("0x8dc") + " float r = abs(z - d5);\n float z1 = clamp(u_color.a, 0.1, 0.6) * (1.0 - r / hw5);\n" + P("0x8dd") + " }\n if (z < (d + hw) && z > (d - hw)){\n" + P("0x8de") + P("0x8df") + P("0x8e0") + P("0x71d") + P("0x8e1") + " }\n gl_FragColor = color;\n}", n = new e[P("0x12")](); i[P("0x8bc")] = new e.PostProcessStage({ fragmentShader: r, uniforms: { u_invViewMatrix: function u_invViewMatrix() { return i[P("0x8e2")]; }, u_center: function u_center() { return i[P("0x11a")]; }, u_normal: function u_normal() { return i[P("0x4d0")]; }, u_color: function u_color() { return i[P("0x169")]; }, u_param0: function u_param0() { return n.x = 0.607 * i.life, n.y = i.time, n.z = i[P("0x539")], n.w = i.lineWidth, n; } } }), i[P("0x8bc")].enabled = !1; }, t.prototype._updateScanAperturePostProcess = function (t) { var i = this; if (i[P("0x8bd")]) return this[P("0x8bd")][P("0x364")] = !0, void (this._viewer.scene[P("0x77c")][P("0xd1")](this._scanAperturePostProcess) || (this[P("0x13c")][P("0x10f")][P("0x77c")][P("0x6d")](this[P("0x8bd")]), this[P("0x8bd")][P("0xd2")](t.context, t[P("0x77d")]))); var r = "uniform sampler2D colorTexture;\nuniform sampler2D depthTexture;\nuniform mat4 u_invViewMatrix;\nuniform vec3 u_center;\n" + P("0x8e3") + "uniform vec4 u_color;\n" + P("0x8e4") + "varying vec2 v_textureCoordinates;\n" + P("0x5f9") + " vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + P("0x8cc") + " gl_FragColor = color;\n" + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + " zd = (2.0 * zd - czm_depthRange.near - czm_depthRange.far) / (czm_depthRange.far - czm_depthRange.near);\n" + P("0x8d1") + " vec4 position = czm_inverseProjection * vec4(xy, zd, 1.0);\n position = u_invViewMatrix * position;\n" + P("0x8e5") + P("0x8e6") + " float al = (u_param0.y <= u_param0.x) ? 1.0 : clamp(1.0 - (u_param0.y - u_param0.x) / (0.65 * u_param0.x), 0.0, 1.0);\n" + P("0x8d3") + P("0x8e7") + " vec3 n = normalize(u_normal);\n" + P("0x8d4") + P("0x8d5") + P("0x8e8") + P("0x8d6") + P("0x8d7") + " }\n" + P("0x8e9") + " float d5 = u_param0.z * u_param0.y;\n" + P("0x8d9") + " float hw5 = hw * 12.0;\n float hd = dot(u_normal, position.xyz) - dot(u_normal, u_center);\n if (z < (d5 + hw5) && z > (d5 - hw5)){\n" + P("0x8ea") + P("0x8eb") + P("0x8ec") + P("0x614") + P("0x8ed") + " float r = abs(z - d);\n" + P("0x8ee") + P("0x8ef") + P("0x614") + P("0x728") + "}", n = new e[P("0x12")](); i[P("0x8bd")] = new e[P("0x7c5")]({ fragmentShader: r, uniforms: { u_invViewMatrix: function u_invViewMatrix() { return i[P("0x8e2")]; }, u_center: function u_center() { return i[P("0x11a")]; }, u_normal: function u_normal() { return i.normal; }, u_color: function u_color() { return i[P("0x8c1")]; }, u_param0: function u_param0() { return n.x = 0.607 * i.life, n.y = i[P("0x6f2")], n.z = i.speed, n.w = i[P("0x197")], n; } } }), i[P("0x8bd")].enabled = !1; }; }(window[P("0xfd")]), function (e) { var t = e[P("0x8f0")] = function (t) { this[P("0x13c")] = t[P("0x13b")]; var i = e[P("0x13")][P("0x1a1")].apply(this, t[P("0x11a")]); this[P("0x5b4")] = e[P("0x11")].fromRadians(i[P("0x112")], i.latitude, i[P("0x8b")]), this[P("0x63c")] = t[P("0x181")], this[P("0x596")] = t[P("0x169")] ? t[P("0x169")].clone() : e[P("0x16a")][P("0x438")][P("0x6e")](), this[P("0x5b9")] = t.speed ? t.speed : 1, this[P("0x8ba")] = !!t[P("0x8bb")] && t[P("0x8bb")], this._enabled = !t.enabled || t[P("0x364")], this._longest = e.defined(t[P("0x8f1")]) ? t[P("0x8f1")] : 15e3, this[P("0x8f2")] = e.defined(t.url) ? t.url : null, this[P("0x8f3")] = null, this[P("0x5bc")] = 0, this[P("0x48b")] = !1, this[P("0x8be")] = e.Cartesian3[P("0x8d")](this[P("0x5b4")], new e[P("0x11")]()), this[P("0x5bf")] = this._radius / this._speed, this[P("0x5cf")] = 0, this[P("0x77b")] = null, this[P("0x8f4")] = null, this._param0 = null, this[P("0x8f5")] = null, this._param2 = null, this[P("0x8f6")] = null, this._param4 = null, this[P("0x8f7")] = !1; }; e.defineProperties(t.prototype, { enabled: { get: function get() { return this[P("0x82b")]; }, set: function set(e) { this[P("0x82b")] = e; } }, radius: { get: function get() { return this[P("0x63c")]; }, set: function set(t) { e[P("0x14")](t) && 0 != t && t != this._radius && (this[P("0x63c")] = t, this[P("0x5bf")] = this[P("0x63c")] / this[P("0x5b9")]); } }, speed: { get: function get() { return this._speed; }, set: function set(t) { e[P("0x14")](t) && 0 != t && t != this[P("0x5b9")] && (this[P("0x5b9")] = t, this[P("0x5bf")] = this._radius / this[P("0x5b9")]); } }, color: { get: function get() { return this[P("0x596")]; }, set: function set(e) { this[P("0x596")] = e; } } }), t.prototype[P("0xd2")] = function (e) { var t = this; t[P("0x8f8")](e[P("0x7e")]) ? (t[P("0x8f9")](e), t[P("0x82b")] ? (t._updateTime(), t._enabled && (t[P("0x8fa")](), t._updatePostProcesses(e))) : t[P("0x8f3")] && (t[P("0x8f3")][P("0x364")] = !1)) : t[P("0x8f3")] && (t[P("0x8f3")][P("0x364")] = !1); }, t[P("0x5")][P("0x8fb")] = function (e) { var t = this; t[P("0x8f2")] != e && (t[P("0x8f2")] = e, t._ready = !1, t[P("0x8fc")] = null, t[P("0x8f5")] = null, t._param2 = null, t[P("0x8f6")] = null, t[P("0x8fd")] = null, t[P("0x8f3")] && (t._scanPostProcess[P("0x364")] = !1, t[P("0x13c")][P("0x10f")].postProcessStages[P("0x17f")](t._scanPostProcess), t[P("0x8f3")] = null), t._texture && (t._texture[P("0xf4")](), t._texture = null), t[P("0x8f7")] = !1); }; var i = new e[P("0x11")](); t[P("0x5")][P("0x8f8")] = function (t) { return !(e[P("0x11")][P("0x96")](e.Cartesian3[P("0x95")](t.position, this[P("0x5b4")], i)) > this[P("0x8fe")]); }, t.prototype[P("0xf4")] = function () { this[P("0x8f3")] && (this._scanPostProcess[P("0x364")] = !1, this[P("0x13c")][P("0x10f")].postProcessStages[P("0x17f")](this[P("0x8f3")]), this._scanPostProcess = null); }, t[P("0x5")][P("0x5c8")] = function () { var t = e[P("0x5d0")]() / 1e3; if (0 == this[P("0x5bc")]) this[P("0x5bc")] = t, this._time = 0;else { var i = t - this._lastTime, r = this[P("0x5bf")]; r < i && (i = r), this[P("0x5cf")] += i, this[P("0x5cf")] > r && (this[P("0x8ba")] || this[P("0x8c4")](), this[P("0x5cf")] = 0), this._lastTime = t; } }, t.prototype[P("0x8c4")] = function () { this[P("0x82b")] = !1; }, t[P("0x5")][P("0x8f9")] = function (t) { var i = this; if (null != i[P("0x8f2")]) { if (i._texture) i[P("0x48b")] = !0;else if (i[P("0x48b")] = !1, !i._loading) { i._loading = !0; var r = t.context, n = e[P("0x6ba")](i._textureUrl); e[P("0x6da")][P("0x6dc")]({ url: n, headers: { "cache-control": P("0x8ff") } })[P("0x333")](function (t) { i[P("0x8f7")] = !1, i[P("0x8f4")] = new e[P("0x6db")]({ context: r, source: t }, function (e) { hat[P("0x8f2")] = null; }); }); } } else i[P("0x48b")] = !0; }, t[P("0x5")][P("0x8fa")] = function () { var t = this, i = t[P("0x5b4")], r = t[P("0x8be")], n = e[P("0x11")][P("0x99")](e[P("0x11")][P("0xc3")], r, new e[P("0x11")]()), o = e[P("0x11")].cross(r, n, new e[P("0x11")]()); e.Cartesian3[P("0x8d")](n, n), e[P("0x11")][P("0x8d")](o, o); var a = e.Cartesian3[P("0xc8")](n, new e[P("0x11")]()), s = e[P("0x11")][P("0xc8")](o, new e.Cartesian3()), x = t[P("0x5b9")] * t._time; if (null == t[P("0x8f2")]) x /= 1.532, t._param0 = new e[P("0x12")](i.x, i.y, i.z), t[P("0x8f5")] = new e.Cartesian4(r.x, r.y, r.z), t[P("0x900")] = new e[P("0x12")](x), t[P("0x8f6")] = new e[P("0x12")](r.x, r.y, r.z, -e[P("0x11")][P("0x92")](r, i));else { var l = e.Cartesian3[P("0x6d")](i, e[P("0x11")][P("0x6c")](a, x, new e[P("0x11")]()), new e[P("0x11")]()), c = e[P("0x11")][P("0x6d")](i, e[P("0x11")][P("0x6c")](n, x, new e[P("0x11")]()), new e[P("0x11")]()), u = e[P("0x11")][P("0x6d")](i, e[P("0x11")][P("0x6c")](s, x, new e.Cartesian3()), new e[P("0x11")]()), h = e[P("0x11")].add(i, e[P("0x11")][P("0x6c")](o, x, new e[P("0x11")]()), new e[P("0x11")]()); t._param0 = new e[P("0x12")](n.x, n.y, n.z, -e[P("0x11")][P("0x92")](n, l)), t._param1 = new e[P("0x12")](a.x, a.y, a.z, -e[P("0x11")][P("0x92")](a, c)), t[P("0x900")] = new e[P("0x12")](o.x, o.y, o.z, -e[P("0x11")].dot(o, u)), t[P("0x8f6")] = new e[P("0x12")](s.x, s.y, s.z, -e.Cartesian3[P("0x92")](s, h)), t[P("0x8fd")] = new e[P("0x12")](r.x, r.y, r.z, -e[P("0x11")][P("0x92")](r, i)); } }, t[P("0x5")][P("0x8c3")] = function (t) { var i = this; if (i._ready) { var r = t[P("0x7e")]; if (i._invViewMatrix = r[P("0x8c5")][P("0x6e")](i[P("0x77b")]), i[P("0x8f3")]) return i[P("0x8f3")][P("0x364")] = !0, void (i._viewer[P("0x10f")][P("0x77c")][P("0xd1")](i[P("0x8f3")]) || (i[P("0x13c")][P("0x10f")][P("0x77c")].add(i[P("0x8f3")]), i._scanPostProcess.update(t.context, t[P("0x77d")]))); if (null == i[P("0x8f2")]) { var n = P("0x7a0") + "uniform sampler2D depthTexture;\n" + P("0x8c8") + P("0x5fc") + "uniform vec4 u_param0;\nuniform vec4 u_param1;\nuniform vec4 u_param2;\n" + P("0x901") + P("0x7a4") + "void main(){\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + P("0x8cc") + P("0x902") + P("0x8cd") + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + P("0x903") + " position /= position.w;\n" + P("0x904") + P("0x905") + " gl_FragColor = color;\n return;\n" + P("0x614") + P("0x906") + P("0x907") + P("0x908") + " if(z2 > u_param2.x){\n" + P("0x902") + P("0x8cd") + P("0x614") + P("0x909") + P("0x90a") + P("0x902") + P("0x8cd") + P("0x614") + P("0x90b") + "}"; i[P("0x8f3")] = new e.PostProcessStage({ fragmentShader: n, uniforms: { u_invViewMatrix: function u_invViewMatrix() { return i[P("0x77b")]; }, u_color: function u_color() { return i[P("0x596")]; }, u_param0: function u_param0() { return i._param0; }, u_param1: function u_param1() { return i[P("0x8f5")]; }, u_param2: function u_param2() { return i[P("0x900")]; }, u_param3: function u_param3() { return i._param3; } } }); } else n = "uniform sampler2D colorTexture;\n" + P("0x7a1") + "uniform sampler2D u_texture;\n" + P("0x8c8") + "uniform vec4 u_color;\n" + P("0x8e4") + "uniform vec4 u_param1;\n" + P("0x90c") + P("0x901") + P("0x90d") + P("0x7a4") + P("0x5f9") + " vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x8cb") + " if(currD.r >= 1.0){\n" + P("0x902") + " return;\n" + P("0x614") + P("0x8ce") + P("0x8cf") + P("0x8d0") + P("0x8d1") + P("0x8d2") + P("0x903") + P("0x8e5") + P("0x90e") + P("0x90f") + P("0x902") + P("0x8cd") + P("0x614") + P("0x910") + P("0x911") + P("0x902") + P("0x8cd") + P("0x614") + P("0x912") + P("0x913") + P("0x902") + P("0x8cd") + P("0x614") + P("0x914") + P("0x915") + P("0x902") + " return;\n" + P("0x614") + P("0x916") + " if(z4 < -800.0 || z4 > 800.0){\n" + P("0x902") + " return;\n" + P("0x614") + " float u = z0 / (z0 + z1);\n float v = z2 / (z2 + z3);\n vec4 sColor = texture2D(u_texture, vec2(u, v));\n" + P("0x917") + " sColor = sColor * (1.0 - a) + a * u_color;\n" + P("0x918") + "}", i[P("0x8f3")] = new e[P("0x7c5")]({ fragmentShader: n, uniforms: { u_invViewMatrix: function u_invViewMatrix() { return i._invViewMatrix; }, u_color: function u_color() { return i._color; }, u_texture: function u_texture() { return i._texture; }, u_param0: function u_param0() { return i._param0; }, u_param1: function u_param1() { return i._param1; }, u_param2: function u_param2() { return i[P("0x900")]; }, u_param3: function u_param3() { return i[P("0x8f6")]; }, u_param4: function u_param4() { return i[P("0x8fd")]; } } }); i[P("0x8f3")].enabled = !1; } }; }(window[P("0xfd")]), function (e) { function t(e) { this[P("0x63c")] = e[P("0x181")], this._direction = e[P("0x93")], this[P("0x919")] = e[P("0x91a")]; } var i = new e.Cartesian3(), r = new e[P("0x11")](), n = new e[P("0x17")](), o = new e.Quaternion(), a = new e[P("0x1a")](), s = new e[P("0x1b")](); t[P("0x5")][P("0x91b")] = function (t) { var x, l, c, u, h, f; x = this[P("0x6b7")], (l = n)[P("0x7f")] = x.heading, l[P("0x80")] = x[P("0x81")], l.roll = x[P("0x80")], c = n, u = o, e[P("0x1d")].fromHeadingPitchRoll(c, u), h = o, f = a, e[P("0x1a")][P("0xcd")](h, f); var d, g, p, m, b, v, C, y, _ = (d = a, g = s, e[P("0x1b")][P("0x738")](d, void 0, g)); p = i, m = r, b = this[P("0x63c")], v = this[P("0x919")], C = e[P("0x23")][P("0x6de")](0, e.Math.TWO_PI), y = (b = e[P("0x23")][P("0x6de")](0, b)) + Math.tan(e[P("0x23")][P("0x119")](v)), p.x = b * Math[P("0x9a")](C), p.y = e[P("0x23")][P("0x6de")](0, 10), p.z = -b * Math[P("0x98")](C), m.x = y * Math[P("0x9a")](C), m.y = p.y + 1, m.z = -y * Math.sin(C), e[P("0x1b")][P("0xd4")](_, i, i), e[P("0x1b")][P("0xd4")](_, r, r), t.position = e.Cartesian3.clone(i, t[P("0x8c")]), t[P("0x91c")] = e[P("0x11")][P("0x95")](r, i, t[P("0x91c")]), e[P("0x11")].normalize(t[P("0x91c")], t[P("0x91c")]); }; var x = e.GeoSprinklerParticleSystem = function (t) { this._image = t[P("0x475")], this[P("0x6b6")] = t[P("0x11a")], this[P("0x6b7")] = t[P("0x93")], this[P("0x6c1")] = e[P("0x14")](t.imageSize) ? t[P("0x91d")] : new e[P("0x10")](4.9, 4.9), this[P("0x91e")] = e[P("0x14")](t[P("0x91f")]) ? t[P("0x91f")] : 4.9, this[P("0x5b9")] = e.defined(t.speed) ? t[P("0x539")] : 27.46, this[P("0x920")] = e.defined(t.emissionRate) ? t[P("0x921")] : 800, this[P("0x63c")] = e.defined(t[P("0x181")]) ? t[P("0x181")] : 0.2, this[P("0x922")] = e.defined(t.lifetime) ? t[P("0x923")] : 1, this[P("0x919")] = e[P("0x14")](t[P("0x91a")]) ? t[P("0x91a")] : 0.89, this[P("0x8fe")] = e.defined(t[P("0x8f1")]) ? t[P("0x8f1")] : 2e3; var i = e.Color[P("0x2cf")]; this[P("0x72c")] = i[P("0x16c")](0.8), this[P("0x6c2")] = i.withAlpha(0), this[P("0x924")] = null, this[P("0x925")](); }; x[P("0x5")][P("0xd2")] = function (e) { this[P("0x924")] && (this[P("0x8f8")](e[P("0x7e")]) ? this[P("0x924")][P("0xd2")](e) : this[P("0x926")]()); }, x[P("0x5")][P("0x925")] = function () { if (!this[P("0x924")]) { var i = e[P("0x13")][P("0x1a1")].apply(this, this[P("0x6b6")]); i = e[P("0x11")].fromRadians(i.longitude, i.latitude, i[P("0x8b")]); var r = e[P("0x1f")][P("0xbf")](i); return this._system = new e.ParticleSystem({ image: this[P("0x595")], startColor: this[P("0x72c")], endColor: this[P("0x6c2")], particleLife: this[P("0x91e")], speed: this[P("0x5b9")], imageSize: this[P("0x6c1")], emissionRate: this[P("0x920")], emitter: new t({ radius: this._radius, direction: this._direction, angle: this._angle }), lifetime: this[P("0x922")], updateCallback: h, modelMatrix: r }), this[P("0x924")]; } }, x[P("0x5")].destroy = function () { this[P("0x924")] && (this[P("0x924")].destroy(), this._system = null); }, x[P("0x5")][P("0x926")] = function () { this._system && function (t) { if (e[P("0x14")](t[P("0x927")])) { for (var i = t[P("0x927")], r = i[P("0x0")], n = 0; n < r; n++) { var o = i[n]; e[P("0x14")](o[P("0x928")]) && (o._billboard[P("0x221")] = !1), t[P("0x929")][P("0x17c")](o), i[n] = i[r - 1], n--, r--; } t[P("0x927")].length = 0; } }(this[P("0x924")]); }; var l = new e.Cartographic(), c = new e[P("0x11")](); x[P("0x5")]._checkVisible = function (t) { var i = e[P("0x13")][P("0x1a1")](this[P("0x6b6")][0], this[P("0x6b6")][1], this[P("0x6b6")][2], l); return i = e[P("0x11")][P("0x3d0")](i[P("0x112")], i[P("0x114")], i[P("0x8b")], void 0, c), !(e[P("0x11")][P("0x96")](e[P("0x11")].subtract(t[P("0x8c")], i, c)) > this[P("0x8fe")]); }; var u = new e[P("0x11")](); function h(t, i) { var r = e.Cartesian3[P("0x8d")](t[P("0x8c")], u); e.Cartesian3[P("0xc8")](r, r), e[P("0x11")][P("0x6c")](r, 8.16 * i, r), t[P("0x91c")] = e[P("0x11")].add(t[P("0x91c")], r, t[P("0x91c")]); } }(window.Cesium), function (e) { var t = e[P("0x92a")] = function (e) { this[P("0x92b")] = e.fieldName, this[P("0x92c")] = e[P("0x92d")], this._minValue = e[P("0x92e")], this[P("0x92f")] = e[P("0x930")], this[P("0x931")] = e[P("0x932")]; }; t[P("0x5")][P("0x934")] = function () { var t = function (t) { if (!e[P("0x14")](t)) return ""; var i = 255 * t.red, r = 255 * t[P("0x66f")], n = 255 * t[P("0x670")], o = t.alpha; return P("0x933") + i + "," + r + "," + n + "," + o + ");"; }(this[P("0x92c")]), i = P("0x935"); if (!e[P("0x14")](this[P("0x92b")])) return (i += P("0x936") + t + ";\n") + "} \n"; var r = ""; return this[P("0x92b")] == P("0x469") && (r = "v_elevationPos.z"), i += 1 == (this[P("0x92f")] == this[P("0x937")]) ? "if (" + r + P("0x938") + this._minValue + P("0x939") : P("0x93a") + r + " >= " + this[P("0x937")] + P("0x93b") + r + " <= " + this[P("0x92f")] + P("0x939"), i += "{ \n", i += P("0x936") + t + ";\n", (i += P("0x885")) + P("0x885"); }, t.prototype[P("0x93c")] = function () { if (!e[P("0x14")](this[P("0x92b")]) || this[P("0x92b")] != P("0x469")) return ""; var t = "", i = ""; this[P("0x92b")] == P("0x469") && (i = "v_elevationPos.z"); var r = this[P("0x92f")] == this[P("0x937")], n = this[P("0x937")][P("0x531")](); -1 == n[P("0x2d3")](".") && (n += ".0"); var o = this._maxValue.toString(); -1 == o[P("0x2d3")](".") && (o += ".0"); var a = this[P("0x92c")][P("0x531")](); return -1 == a[P("0x2d3")](".") && (a += ".0"), t += 1 == r ? P("0x93a") + i + P("0x938") + n + P("0x93d") : P("0x93a") + i + P("0x93e") + n + P("0x93f") + i + " <= " + o + P("0x93d"), t += P("0x87c"), (t += "luminanceValue = " + a + ";\n") + P("0x885"); }, t.prototype.makeShader = function () { var e; return this._topic == P("0x940") && (e = this[P("0x934")]()), this[P("0x931")] == P("0x941") && (e = this[P("0x93c")]()), e; }, t[P("0x5")][P("0x942")] = function (t) { if (this[P("0x931")] == P("0x941")) { if (!e[P("0x14")](this[P("0x92b")])) return this[P("0x92c")]; if (this._fieldName != P("0x469")) { if (this[P("0x92b")] == P("0x943")) return this._fieldValue; var i = t[P("0x944")](this[P("0x92b")]); return i >= this[P("0x937")] && i <= this[P("0x92f")] ? this._fieldValue : void 0; } } }; }(window[P("0xfd")]), function (e) { (e[P("0x945")] = function () {})[P("0x5")][P("0x946")] = function (t, i, r) { var n = i, o = {}; return o[P("0x932")] = t, 4 == i[P("0x0")] ? (o[P("0x92d")] = n[0], o.fieldName = n[1], "$" == o[P("0x947")][P("0x7f3")](0, 1) && (o[P("0x947")] = o.fieldName[P("0x7f3")](1, o[P("0x947")][P("0x0")] - 1)), o.minValue = n[2], o.maxValue = n[3], i[1] == P("0x469") && (r[P("0x948")] = !0)) : 1 == i[P("0x0")] ? o[P("0x92d")] = i[0] : 2 == i[P("0x0")] && (o[P("0x92d")] = n[0], o[P("0x947")] = n[1]), new e[P("0x92a")](o); }; }(window.Cesium), function (e) { function t(e, t, i) { var r = i[P("0x10f")][P("0x77c")][P("0x949")]; r[P("0x364")] = e, r[P("0x19d")][P("0x94a")] = !1, r[P("0x19d")][P("0x94b")] = 119, r.uniforms[P("0x94c")] = -0.4, r[P("0x19d")].delta = 0.9, r[P("0x19d")][P("0x94d")] = 3.78, r.uniforms[P("0x94e")] = t, r[P("0x19d")][P("0x94f")] = !1; } var i = e[P("0x950")] = function (i) { if (e[P("0x14")](i)) { if (this[P("0x951")] = !1, this[P("0x952")] = !1, this._enabledLightBand = !1, this[P("0x953")] = !1, this[P("0x954")] = 5, this[P("0x955")] = i[P("0x815")], this._useElevation = !1, this[P("0x956")] = new e[P("0x945")](), e[P("0x14")](i.mixedColor)) { this[P("0x951")] = e[P("0x102")](i[P("0x940")][P("0x364")], !1); var r = i[P("0x940")].conditions; if (e[P("0x14")](r)) { this._mixedColorConditions = []; for (var n = 0; n < r.length; n++) { var o = r[n], a = this._conditionParser[P("0x946")](P("0x940"), o, this); this[P("0x957")][P("0x17c")](a); } } } e.defined(i[P("0x941")]) && this[P("0x958")](i[P("0x941")]), e[P("0x14")](i[P("0x959")]) && (this[P("0x95a")] = e[P("0x102")](i[P("0x959")][P("0x364")], !1)), e[P("0x14")](i[P("0x949")]) && (this._enabledBloom = e[P("0x102")](i[P("0x949")][P("0x364")], !1), this._bloomStep = e[P("0x102")](i.bloom.step, 5), t(this._enabledBloom, this[P("0x954")], this[P("0x955")])); } }; i[P("0x5")].needCalculateElevation = function () { return !!this[P("0x948")] || !!this[P("0x95a")]; }, i[P("0x5")][P("0x958")] = function (t) { e[P("0x14")](this[P("0x95b")]) ? this[P("0x95b")].length = 0 : this[P("0x95b")] = [], this[P("0x952")] = e[P("0x102")](t[P("0x364")], !1); var i = t[P("0x95c")]; if (e[P("0x14")](i)) for (var r = 0; r < i.length; r++) { var n = i[r], o = this[P("0x956")][P("0x946")]("luminanceAtZenith", n, this); this._luminanceAtZenithConditions[P("0x17c")](o); } }, e[P("0xf")](i[P("0x5")], { enabledMixedColor: { get: function get() { return this[P("0x951")]; }, set: function set(e) { this[P("0x951")] = e; } }, enabledLuminanceAtZenith: { get: function get() { return this[P("0x952")]; }, set: function set(e) { this[P("0x952")] = e; } }, luminanceAtZenith: { set: function set(e) { this[P("0x958")](e); } }, enabledlightBand: { get: function get() { return this[P("0x95a")]; }, set: function set(e) { this[P("0x95a")] = e; } }, enabledBloom: { get: function get() { return this[P("0x953")]; }, set: function set(e) { this[P("0x953")] = e, t(this[P("0x953")], this[P("0x954")], this[P("0x955")]); } }, bloomStep: { get: function get() { return this[P("0x954")]; }, set: function set(e) { this[P("0x954")] = e, t(this[P("0x953")], this[P("0x954")], this[P("0x955")]); } } }), i[P("0x5")][P("0x95d")] = function () { var t = ""; if (e.defined(this[P("0x957")])) for (var i = 0; i < this._mixedColorConditions[P("0x0")]; i++) { t += this[P("0x957")][i].makeShader(); } return t; }, i.prototype.makeFragmentLuminanceShader = function () { if (!this[P("0x95b")]) return ""; var e = P("0x95e"); e += P("0x95f"); for (var t = 0; t < this[P("0x95b")].length; t++) { e += this[P("0x95b")][t][P("0x960")](); } return e + P("0x885"); }, i[P("0x5")][P("0x961")] = function () { var e = "if (visualSenseStyle_enabledLightBand == 1.0) \n"; return e += "{\n", e += P("0x962"), e += P("0x963"), e += P("0x964"), e += P("0x965"), (e += P("0x966")) + "}\n"; }, i.prototype[P("0x942")] = function (t, i) { for (var r = void 0, n = 0; n < this[P("0x95b")].length; n++) { var o = this[P("0x95b")][n]; if (!r || o[P("0x92b")] != P("0x943")) { var a = o[P("0x942")](t); e[P("0x14")](a) && (r = a); } } return e[P("0x14")](r) || (r = i), r; }; }(window.Cesium), function (e) { var t = e[P("0x967")] = function (t) { return this[P("0x13b")] = t[P("0x13b")], this[P("0x440")] = t[P("0x440")], this[P("0x968")] = t.level, this[P("0x969")] = t[P("0x969")], this.options = t[P("0x132")], this.options.velocityScale = e[P("0x102")](this[P("0x132")][P("0x96a")], 0.11), this.options[P("0x96b")] = e.defaultValue(this[P("0x132")][P("0x96b")], 0.002), this[P("0x132")].maxWindIntensity = e[P("0x102")](this[P("0x132")][P("0x96c")], 30), this.options[P("0x197")] = e.defaultValue(this[P("0x132")].lineWidth, 2), this[P("0x132")].opacity = e[P("0x102")](this[P("0x132")].opacity, 0.6), this[P("0x132")][P("0x96d")] = e.defaultValue(this[P("0x132")][P("0x96d")], [P("0x96e"), P("0x96f"), P("0x970"), P("0x971"), "#b5c0ff", P("0x972"), P("0x973"), "#e185ff", P("0x974"), P("0x975")]), this[P("0x48")] = document.createElement(P("0x48")), this[P("0x976")] = this[P("0x48")][P("0x476")]("2d"), this[P("0x977")](), this[P("0x69c")](this[P("0x440")]), this; }; t[P("0x5")][P("0x977")] = function () { var e = this; this[P("0x978")] = function () { function t(e, t, i, r, n, o) { var a = 1 - e, s = 1 - t, x = a * s, l = e * s, c = a * t, u = e * t, h = i[0] * x + r[0] * l + n[0] * c + o[0] * u, f = i[1] * x + r[1] * l + n[1] * c + o[1] * u; return [h, f, Math[P("0xca")](h * h + f * f)]; } function i(e) { var i, r, n, o, a = null, s = null; return e[P("0x1e4")](function (e) { switch (e[P("0x979")][P("0x97a")] + "," + e[P("0x979")][P("0x97b")]) { case P("0x97c"): a = e; break; case P("0x97d"): s = e; } }), r = s, n = (i = a)[P("0x440")], o = r[P("0x440")], { header: i[P("0x979")], data: function data(e) { return [n[e], o[e]]; }, interpolate: t }; } function r(e) { return e / 180 * Math.PI; } function n(e) { return e / (Math.PI / 180); } function o(e) { return Math.log(Math.tan(e / 2 + Math.PI / 4)); } function a(e, t, i) { var r = {}, o = s, a = [], x = e.x; function l(i) { for (var s, x, l, c, u, h, f, d, g, p, m, b, C, y, A, I, w, G, E, S = [], T = e.y; T <= e.yMax; T += 2) { var M = (b = i, C = T, A = (y = t)[P("0x2aa")] - y[P("0x2a9")], w = (I = y[P("0x19a")] / n(A) * 360 / (2 * Math.PI)) / 2 * Math[P("0x133")]((1 + Math[P("0x98")](y[P("0x2ab")])) / (1 - Math[P("0x98")](y[P("0x2ab")]))), G = (y.height + w - C) / I, E = 180 / Math.PI * (2 * Math[P("0x321")](Math[P("0x61")](G)) - Math.PI / 2), [n(y.west) + b / y.width * n(A), E]), N = M[0], L = M[1]; if (isFinite(N)) { var R = _(N, L); R && (s = r, x = N, l = L, c = i, u = T, h = o, d = t, g = (f = R)[0] * h, p = f[1] * h, m = v(s, x, l, c, u, d), f[0] = m[0] * g + m[2] * p, f[1] = m[1] * g + m[3] * p, R = f, S[T + 1] = S[T] = R); } } a[i + 1] = a[i] = S; } !function t() { for (var r, n, o, s = Date[P("0x561")](); x < e[P("0x19a")];) { if (l(x), x += 2, 1e3 < h()() - s) return void setTimeout(t, 25); } function c(e, t) { var i = r[Math[P("0x5f0")](e)]; return i && i[Math[P("0x5f0")](t)] || d; } r = a, n = e, o = i, c[P("0x985")] = function () { r = []; }, c[P("0x986")] = function (e) { for (var t, i, r = 0; null === c(t = Math[P("0x5f0")](Math[P("0x3e8")](Math[P("0x266")]() * n[P("0x19a")]) + n.x), i = Math[P("0x5f0")](Math[P("0x3e8")](Math[P("0x266")]() * n[P("0x8b")]) + n.y))[2] && r++ < 30;) { ; } return e.x = t, e.y = i, e; }, o(n, c); }(); } var s = e[P("0x132")][P("0x96a")], x = e[P("0x132")].maxWindIntensity, l = e[P("0x132")][P("0x197")], c = e.options[P("0x96b")], u = e[P("0x132")].opacity, f = e[P("0x132")][P("0x96d")], d = [NaN, NaN, null], g = 2 * Math.PI, m = Math[P("0x2ae")](10, -5.2), b = function b(e) { return null != e; }, v = function v(e, t, i, r, n, o) { var a = t < 0 ? m : -m, s = i < 0 ? m : -m, x = C(i, t + a, o), l = C(i + s, t, o), c = Math[P("0x9a")](i / 360 * g); return [(x[0] - r) / a / c, (x[1] - n) / a / c, (l[0] - r) / s, (l[1] - n) / s]; }, C = function C(e, t, i) { var n = o(i[P("0x2ab")]), a = o(i[P("0x2ac")]), s = i[P("0x19a")] / (i[P("0x2aa")] - i[P("0x2a9")]), x = i[P("0x8b")] / (a - n), l = o(r(e)); return [(r(t) - i[P("0x2a9")]) * s, l = (a - l) * x]; }, y = function y() { A[P("0x98e")] && A[P("0x98e")].release(), A[P("0x98d")] && clearTimeout(A[P("0x98d")]); }, _ = function (e) { var t = i(e), r = t[P("0x979")], n = r[P("0x97e")], o = r[P("0x97f")], a = r.dx, s = r.dy, x = r.nx, l = r.ny, c = new Date(r[P("0x980")]); c[P("0x981")](c[P("0x982")]() + r[P("0x983")]); for (var u = [], h = 0, f = 360 <= Math[P("0x3e8")](x * a), d = 0; d < l; d++) { for (var g = [], p = 0; p < x; p++, h++) { g[p] = t[P("0x440")](h); } f && g.push(g[0]), u[d] = g; } return function (e, i) { var r, x = function (e, t) { return e - t * Math[P("0x3e8")](e / t); }(e - n, 360) / a, l = (o - i) / s, c = Math[P("0x3e8")](x), h = c + 1, f = Math[P("0x3e8")](l), d = f + 1; if (r = u[f]) { var g = r[c], p = r[h]; if (b(g) && b(p) && (r = u[d])) { var m = r[c], v = r[h]; if (b(m) && b(v)) return t[P("0x984")](x - c, l - f, g, p, m, v); } } return null; }; }(e.data), A = { start: function start(t, i, n, o) { var s = { south: r(o[0][1]), north: r(o[1][1]), east: r(o[1][0]), west: r(o[0][0]), width: i, height: n }; y(), a(function (e, t, i) { var r = e[0], n = e[1], o = Math[P("0x5f0")](r[0]), a = Math[P("0xee")](Math[P("0x3e8")](r[1], 0), 0); return Math[P("0x7d")](Math.ceil(n[0], t), t - 1), { x: o, y: a, xMax: t, yMax: Math[P("0x7d")](Math[P("0x342")](n[1], i), i - 1), width: t, height: i }; }(t, i, n), s, function (t, i) { A.field = i, function (t, i) { function r(e) { return "#" == e[P("0x68e")](0) ? e[P("0x987")](1, 7) : e; } var n, o, a = (n = x, o = [], f[P("0x1e4")](function (e) { o[P("0x17c")](P("0x8b1") + p()(r(e).substring(0, 2), 16) + ", " + p()(r(e)[P("0x987")](2, 4), 16) + ", " + p()(r(e).substring(4, 6), 16) + ", " + u + ")"); }), o[P("0x988")] = function (e) { return Math[P("0x3e8")](Math[P("0x7d")](e, n) / n * (o[P("0x0")] - 1)); }, o), s = a.map(function () { return []; }), h = Math[P("0x5f0")](t[P("0x19a")] * t.height * c); /android|blackberry|iemobile|ipad|iphone|ipod|opera mini|webos/i[P("0x270")](navigator.userAgent) && (h *= 0.075); for (var d = P("0x989"), g = [], m = 0; m < h; m++) { g[P("0x17c")](i[P("0x986")]({ age: Math.floor(100 * Math[P("0x266")]()) + 0 })); } var b = e.canvasContext; b[P("0x197")] = l, b.fillStyle = d, function e() { try { A[P("0x98d")] = setTimeout(function () { var r; requestAnimationFrame(e), s[P("0x1e4")](function (e) { e[P("0x0")] = 0; }), g[P("0x1e4")](function (e) { 100 < e[P("0x98a")] && (i[P("0x986")](e)[P("0x98a")] = 0); var t = e.x, r = e.y, n = i(t, r), o = n[2]; if (null === o) e[P("0x98a")] = 100;else { var x = t + n[0], l = r + n[1]; null !== i(x, l)[2] ? (e.xt = x, e.yt = l, s[a.indexFor(o)].push(e)) : (e.x = x, e.y = l); } e[P("0x98a")] += 1; }), r = b[P("0x98b")], b[P("0x98b")] = "destination-in", b[P("0x98c")](t.x, t.y, t[P("0x19a")], t[P("0x8b")]), b[P("0x98b")] = r, s.forEach(function (e, t) { 0 < e[P("0x0")] && (b[P("0x658")](), b[P("0x65b")] = a[t], e.forEach(function (e) { b.moveTo(e.x, e.y), b.lineTo(e.xt, e.yt), e.x = e.xt, e.y = e.yt; }), b[P("0x65e")]()); }); }, 50); } catch (e) { console[P("0x391")](e); } }(); }(t, i); }); }, stop: y }; return A; }; }, t.prototype._calculateBounds = function () { var t = this[P("0x969")][0][0], i = this[P("0x969")][1][1], r = this.rectangle[1][0], n = this[P("0x969")][0][1], o = this[P("0x968")], a = this._locationCoordinate(t, n, o), s = this[P("0x98f")](r, i, o); this[P("0x990")] = [512 * Math[P("0x78")](a[0] - s[0]), 512 * Math.abs(a[1] - s[1])], this[P("0x991")] = [[t, n], [r, i]], this._rectangle = e[P("0x26b")][P("0x1a1")](t, n, r, i); }, t.prototype[P("0x98f")] = function (e, t, i) { return [(180 + e) * Math[P("0x2ae")](2, i) / 360, (180 - 180 / Math.PI * Math[P("0x133")](Math[P("0x992")](Math.PI / 4 + t * Math.PI / 360))) * Math[P("0x2ae")](2, i) / 360]; }, t[P("0x5")]._getCenterPoint = function () { var t = this.viewer[P("0x48")], i = new e[P("0x10")](t.clientWidth / 2, t.clientHeight / 2), r = this.viewer.camera.getPickRay(i); return this[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa4")](r, this.viewer[P("0x10f")]) || this[P("0x13b")][P("0x7e")][P("0xa2")](i); }, t[P("0x5")][P("0x993")] = function () { var t = e[P("0x16")].WGS84, i = this[P("0x994")](); if (!i) { var r = this[P("0x13b")][P("0x10f")][P("0xa3")], n = this[P("0x13b")][P("0x7e")].positionCartographic[P("0x6e")](), o = r.getHeight(n); n[P("0x8b")] = o || 0, i = t.cartographicToCartesian(n); } var a = e[P("0x11")][P("0x8e")](i, this[P("0x13b")][P("0x7e")].position) / 1405.5; return Math.log2(78271.51696402031 / a) - 1.2; }, t.prototype[P("0x221")] = function (e) { this[P("0x6a8")] && (this[P("0x6a8")][P("0x221")] = e); }, t[P("0x5")][P("0x17f")] = function () { this[P("0x6a8")] && this[P("0x13b")].entities[P("0x17f")](this[P("0x6a8")]); }, t[P("0x5")][P("0x6aa")] = function () { var t = this; this[P("0x995")](), this.canvas.width = Math[P("0x5f0")](this[P("0x990")][0]), this[P("0x48")][P("0x8b")] = Math[P("0x5f0")](this[P("0x990")][1]), setTimeout(function () { t.windy[P("0xe2")]([[0, 0], t[P("0x990")]], t._size[0], t[P("0x990")][1], t[P("0x991")]); }, 1), this[P("0x6a8")] && this[P("0x13b")][P("0x194")].remove(this._layer); var i = new e[P("0x651")]({ image: new e[P("0x652")](function () { return t[P("0x48")].toDataURL(); }, !1) }); "1.21" <= e[P("0x373")] ? i[P("0x6ad")] = !0 : e[P("0x373")] >= P("0x996") && (i[P("0x671")] = 0.99), this[P("0x6a8")] = this.viewer[P("0x194")][P("0x6d")]({ rectangle: { coordinates: this._rectangle, material: i } }); }, t[P("0x5")].setData = function (e) { this[P("0x440")] = e, this[P("0x997")] = new this[P("0x978")](), this[P("0x6aa")](); }; }(window[P("0xfd")]), function (e) { var t = "GEO_OVERVIEW_ICO_SOURCE", i = P("0x998"), r = P("0x999"); function n(t, i) { t = e[P("0x102")](t, e[P("0x102")][P("0x128")]), this[P("0x13b")] = t[P("0x13b")], this.map2D = null, this[P("0x99a")] = e[P("0x102")](t[P("0x99a")], { mapCRS: { topTileExtent: [-180, -270, 180, 90], coordtransform: "none" }, style: { version: 8, sources: { tdt_source_overview: { type: P("0x99b"), tiles: [P("0x99c")], tileSize: 256 } }, layers: [{ id: P("0x99d"), type: "raster", source: "tdt_source_overview", layout: { visibility: P("0x99e") } }] }, zoom: 4, center: [112.939, 31.377], renderWorldCopies: !1, isIntScrollZoom: !0, isAttributionControl: !1 }), this[P("0x19a")] = t[P("0x19a")], this[P("0x8b")] = t[P("0x8b")], this.layout = e.defaultValue(t.layout, "BR"), this[P("0x99f")] = t[P("0x99f")], this[P("0x9a0")] = e[P("0x102")](t[P("0x9a0")], 1), this[P("0x9a1")] = e.defaultValue(t.movingTargetZoomLevel, 14), this.callback = "function" == typeof i ? i : function () {}, this.scalable = !1, this[P("0x9a2")] = !1, this._latelyUpdateStamp = 0, this._modelType = n[P("0x9a3")][P("0x9a4")], this[P("0x9a5")](), this._bindEvent(); } n[P("0x5")]._initOverview = function () { var e = this[P("0x13b")].cesiumWidget[P("0x131")].parentElement, t = document[P("0x15c")]("div"); t.className = P("0x9a6"), t[P("0x150")].display = "block", t.style[P("0x8c")] = "absolute", t.style[P("0x19a")] = this.width + "px", t.style.height = this[P("0x8b")] + "px", this[P("0x9a7")][P("0x9a8")]()[P("0x9a9")]("B") ? t[P("0x150")][P("0x9aa")] = P("0x9ab") : this.layout[P("0x9a8")]().startsWith("T") && (t[P("0x150")][P("0x151")] = P("0x9ab")), this[P("0x9a7")][P("0x9a8")]().endsWith("R") ? t[P("0x150")][P("0x9b")] = P("0x9ab") : this.layout[P("0x9a8")]().endsWith("L") && (t[P("0x150")][P("0x149")] = "5px"), e[P("0x167")](t); var i = document[P("0x15c")](P("0x15d")); i.style[P("0x8c")] = P("0x9ac"), i[P("0x150")][P("0x19a")] = i[P("0x150")][P("0x8b")] = "100%", t[P("0x167")](i), this[P("0x99a")][P("0x131")] || (this[P("0x99a")][P("0x131")] = i), this.map2D = new GeoGlobe[P("0x101")](this[P("0x99a")]); }, n.prototype[P("0x9ad")] = function () { var e = this; this[P("0x9ae")].on(P("0x9af"), function () { var n = e.map2D; n[P("0x9b0")](e[P("0x99f")], function (o, a) { var s = e[P("0x9a0")], x = n.getCenter().toArray(); n[P("0x9b1")](r, a), n[P("0x9b2")](t, { type: "geojson", data: { type: "Point", coordinates: x } }), n[P("0x9b3")]({ id: i, source: t, type: P("0x1f4"), layout: { "icon-image": r, "icon-size": s, "icon-rotate": 0 } }), e[P("0x9a2")] = !0, e[P("0x191")] && e[P("0x191")](e); }); }), this[P("0x13b")].scene[P("0x53f")][P("0x130")](function () { e[P("0x9b4")](); }); }, n[P("0x5")][P("0x9b5")] = function () { for (var e = this[P("0x13b")][P("0x10f")][P("0x53f")]._listeners, t = 0; t < e[P("0x0")]; t++) { e[t].name === P("0x9b6") && e[P("0x259")](t, 1); } }, n[P("0x5")][P("0x9b7")] = function () { return this[P("0x9ae")]; }, n[P("0x5")][P("0x9b8")] = function (e) { return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9b9")](e) : null; }, n[P("0x5")][P("0x9ba")] = function (e, t) { return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9b3")](e, t) : null; }, n[P("0x5")].removeMap2DLayer = function (e) { return this[P("0x9ae")] ? this[P("0x9ae")][P("0x9bb")](e) : null; }, n[P("0x5")][P("0x9bc")] = function (e) { return this.map2D ? this[P("0x9ae")].getSource(e) : null; }, n.prototype[P("0x9bd")] = function (e, t) { return this.map2D ? this[P("0x9ae")][P("0x9b2")](e, t) : null; }, n[P("0x5")][P("0x9be")] = function (e) { return this.map2D ? this[P("0x9ae")].removeSource(e) : null; }, n.prototype[P("0x9b4")] = function () { var r = new Date()[P("0x68")](); if (!(r - this[P("0x9bf")] < 600) && (this[P("0x9bf")] = r, this[P("0x13b")] && this._isReady)) { this[P("0x13b")], this[P("0x13b")][P("0x10f")]; var o, a, s = this[P("0x13b")][P("0x48")], x = this[P("0x13b")][P("0x7e")], l = this[P("0x13b")].scene[P("0xa3")], c = this[P("0x9ae")]; if (this[P("0x9c0")] === n[P("0x9a3")].ROAM) { var u = e.Ellipsoid[P("0x110")], h = null, f = new e[P("0x10")](s[P("0x94")] / 2, s[P("0x7c")] / 2), d = this[P("0x13b")][P("0x7e")][P("0x86")](f); if (!(h = (h = this.viewer[P("0x10f")].globe[P("0xa4")](d, this[P("0x13b")][P("0x10f")])) || x.pickEllipsoid(f))) { var g = x[P("0x91")][P("0x6e")](), p = l[P("0xed")](g); g.height = p || 0, h = u[P("0xa7")](g); } var m = e[P("0x11")][P("0x8e")](h, x[P("0x8c")]) / 1405.5; o = Math[P("0x111")](78271.51696402031 / m) - 5.2; var b = u[P("0xd6")](h); a = [e[P("0x23")][P("0x113")](b[P("0x112")]), e[P("0x23")].toDegrees(b.latitude)], this.scalable || c.setZoom(o), c[P("0x64f")](a), c[P("0x9c1")](t)[P("0x69c")]({ type: P("0x345"), coordinates: a }); } else this._modelType === n.modelType.WALK && (o = this[P("0x9a1")], this.scalable || c.setZoom(o), h = x[P("0x91")][P("0x6e")](), a = [e.Math[P("0x113")](h[P("0x112")]), e.Math[P("0x113")](h.latitude)], c.setCenter(a), c[P("0x9c1")](t)[P("0x69c")]({ type: P("0x345"), coordinates: a })); c[P("0x9c2")](i, P("0x9c3"), e[P("0x23")][P("0x113")](x[P("0x7f")])); } }, n[P("0x5")][P("0x9c4")] = function (t) { 0 < c()(e.GeoOverviewWidget[P("0x9a3")])[P("0x1f2")](function (i) { return e.GeoOverviewWidget[P("0x9a3")][i] === t; })[P("0x0")] && (this[P("0x9c0")] = t); }, n[P("0x5")][P("0x9c5")] = function (e) { this.scalable = w()(e) !== P("0x9c6") || e; }, n[P("0x9a3")] = { ROAM: 0, WALK: 1 }, e[P("0x9c7")] = n; }(window[P("0xfd")]), function (e) { var t = e[P("0x9c8")] = function (t) { t = e[P("0x102")](t, {}), this[P("0x9c9")] = t[P("0x9ca")], this[P("0x9cb")] = this[P("0x9c9")][P("0x0")] - 1, this[P("0x9cc")] = t[P("0x87")], this[P("0x9cd")] = t[P("0x9ce")], this[P("0x9cf")] = new e[P("0x26b")].fromDegrees(this._fullExtent[0], this[P("0x9cd")][1], this[P("0x9cd")][2], this[P("0x9cd")][3]), this[P("0x9d0")] = t.matrixWidth, this._matrixHeight = t.matrixHeight; var i = Math[P("0xee")](Number(this[P("0x9d0")]), Number(this[P("0x9d1")])), r = Math[P("0x342")](Math[P("0x133")](i) / Math[P("0x9d2")]), n = Math[P("0x2ae")](2, r); this._topTileExtent = [], this[P("0x9d3")][0] = this._origin[0], this[P("0x9d3")][3] = this[P("0x9cc")][1], this[P("0x9d3")][1] = this[P("0x9d3")][3] - 256 * this._resolutions[0] * n, this[P("0x9d3")][2] = this._topTileExtent[0] + 256 * this[P("0x9c9")][0] * n, this._numberOfLevelZeroTilesX = e[P("0x102")](t.numberOfLevelZeroTilesX, 2), this[P("0x9d4")] = e[P("0x102")](t.numberOfLevelZeroTilesY, 1), this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]), this[P("0x689")] = new e[P("0x26b")].fromDegrees(this[P("0x9d3")][0], this[P("0x9d3")][1], this[P("0x9d3")][2], this[P("0x9d3")][3]), this[P("0xc6")] = new e.GeographicProjection(this[P("0x44")]), this[P("0x9d5")] = [(this[P("0x9cd")][0] + this[P("0x9cd")][2]) / 2, (this[P("0x9cd")][1] + this[P("0x9cd")][3]) / 2]; var o, a = 0 == r ? r : r - 1; this[P("0x9d6")] = (o = a, 2 * Math.PI * 6378137 / 512 / Math[P("0x2ae")](2, o) * 1405.5); }; t[P("0x5")] = new e[P("0x9d7")](), delete t[P("0x5")][P("0x9d8")], delete t.prototype[P("0x9d4")], delete t[P("0x5")][P("0x44")], delete t[P("0x5")][P("0x689")], delete t[P("0x5")][P("0xc6")], e[P("0xf")](t[P("0x5")], { ellipsoid: { get: function get() { return this[P("0x44")]; } }, rectangle: { get: function get() { return this[P("0x689")]; } }, projection: { get: function get() { return this[P("0xc6")]; } }, dataRectangle: { get: function get() { return this[P("0x9cf")]; } }, topTileExtent: { get: function get() { return this[P("0x9d3")]; } }, maximumLevel: { get: function get() { return this[P("0x9cb")]; } }, centerPoint: { get: function get() { return this[P("0x9d5")]; } }, proposalHeight: { get: function get() { return this._proposalHeight; } } }), t[P("0x5")][P("0x9d9")] = function (e) { return (this._topTileExtent[2] - this[P("0x9d3")][0]) / this._resolutions[e] / 256; }, t[P("0x5")].getNumberOfYTilesAtLevel = function (e) { return (this[P("0x9d3")][3] - this[P("0x9d3")][1]) / this[P("0x9c9")][e] / 256; }; }(window[P("0xfd")]), function (e) { var t = e[P("0x9da")] = function (t) { t = e[P("0x102")](t, {}), this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]), this[P("0xc6")] = new e[P("0x68f")](this._ellipsoid), this[P("0x9c9")] = t.resolutions, this[P("0x9cb")] = this[P("0x9c9")].length - 1, this[P("0x9cc")] = t[P("0x87")], this._fullExtent = t[P("0x9ce")]; var i = this[P("0xc6")][P("0xbe")](new e[P("0x10")](this[P("0x9cd")][0], this[P("0x9cd")][1])), r = this[P("0xc6")].unproject(new e[P("0x10")](this[P("0x9cd")][2], this[P("0x9cd")][3])); this._dataRectangle = new e[P("0x26b")](i.longitude, i[P("0x114")], r.longitude, r.latitude), this[P("0x9d0")] = t[P("0x9db")], this[P("0x9d1")] = t.matrixHeight; var n = Math.max(Number(this[P("0x9d0")]), Number(this[P("0x9d1")])), o = Math[P("0x342")](Math.log(n) / Math[P("0x9d2")]), a = Math[P("0x2ae")](2, o); this[P("0x9d3")] = [], this[P("0x9d3")][0] = this[P("0x9cc")][0], this[P("0x9d3")][3] = this._origin[1], this._topTileExtent[1] = this[P("0x9d3")][3] - 256 * this[P("0x9c9")][0] * a, this[P("0x9d3")][2] = this[P("0x9d3")][0] + 256 * this[P("0x9c9")][0] * a, this[P("0x9d8")] = e[P("0x102")](t[P("0x9dc")], 1), this[P("0x9d4")] = e.defaultValue(t[P("0x9dd")], 1), this[P("0x9de")] = e.defaultValue(t[P("0x9df")], new e[P("0x10")](this._topTileExtent[0], this[P("0x9d3")][1])), this._rectangleNortheastInMeters = e[P("0x102")](t[P("0x9e0")], new e[P("0x10")](this[P("0x9d3")][2], this[P("0x9d3")][3])); var s = this[P("0xc6")].unproject(this._rectangleSouthwestInMeters), x = this._projection.unproject(this[P("0x9e1")]); this[P("0x689")] = new e[P("0x26b")](s[P("0x112")], s[P("0x114")], x[P("0x112")], x.latitude), this[P("0x9d5")] = [(e[P("0x23")][P("0x113")](i[P("0x112")]) + e[P("0x23")][P("0x113")](r[P("0x112")])) / 2, (e.Math[P("0x113")](i.latitude) + e[P("0x23")][P("0x113")](r[P("0x114")])) / 2]; var l, c = 0 == o ? o : o - 1; this._proposalHeight = (l = c, 2 * Math.PI * 6378137 / 512 / Math.pow(2, l) * 1405.5); }; t[P("0x5")] = new e[P("0x68b")](), delete t.prototype._numberOfLevelZeroTilesX, delete t[P("0x5")][P("0x9d4")], delete t[P("0x5")][P("0x44")], delete t.prototype[P("0x689")], delete t[P("0x5")]._projection, delete t[P("0x5")][P("0x9de")], delete t.prototype._rectangleNortheastInMeters, e[P("0xf")](t[P("0x5")], { ellipsoid: { get: function get() { return this[P("0x44")]; } }, rectangle: { get: function get() { return this._rectangle; } }, projection: { get: function get() { return this[P("0xc6")]; } }, dataRectangle: { get: function get() { return this[P("0x9cf")]; } }, topTileExtent: { get: function get() { return this._topTileExtent; } }, maximumLevel: { get: function get() { return this[P("0x9cb")]; } }, centerPoint: { get: function get() { return this._centerPoint; } }, proposalHeight: { get: function get() { return this._proposalHeight; } } }), t.prototype[P("0x9d9")] = function (e) { return (this[P("0x9d3")][2] - this[P("0x9d3")][0]) / this[P("0x9c9")][e] / 256; }, t[P("0x5")][P("0x9e2")] = function (e) { return (this._topTileExtent[3] - this[P("0x9d3")][1]) / this[P("0x9c9")][e] / 256; }; }(window[P("0xfd")]), function (e) { function t(e) { this.type = P("0x345"), this[P("0x2ed")] = e; } function i(e) { this.type = P("0x9e3"), this[P("0x2ed")] = e; } var r = e[P("0x9e4")] = function () {}; r.lineString = function (t) { return e[P("0x14")](t) && e[P("0x14")](t[P("0x0")]) ? t[P("0x0")] < 2 ? null : new i(t) : null; }, r.degreesToRadians = function (e) { return e % 360 * Math.PI / 180; }, r[P("0x9e5")] = function (e) { return e % (2 * Math.PI) * 180 / Math.PI; }, r[P("0x8e")] = function (e, t) { var i = e, n = t, o = r[P("0x9e6")](n[1] - i[1]), a = r[P("0x9e6")](n[0] - i[0]), s = r[P("0x9e6")](i[1]), x = r.degreesToRadians(n[1]), l = Math[P("0x2ae")](Math.sin(o / 2), 2) + Math[P("0x2ae")](Math[P("0x98")](a / 2), 2) * Math[P("0x9a")](s) * Math[P("0x9a")](x); return 2 * Math[P("0x9e7")](Math.sqrt(l), Math[P("0xca")](1 - l)) * 6371008.8; }, r._bearing = function (e, t) { var i = e, n = t, o = r[P("0x9e6")](i[0]), a = r[P("0x9e6")](n[0]), s = r[P("0x9e6")](i[1]), x = r[P("0x9e6")](n[1]), l = Math.sin(a - o) * Math[P("0x9a")](x), c = Math[P("0x9a")](s) * Math[P("0x98")](x) - Math[P("0x98")](s) * Math.cos(x) * Math.cos(a - o); return r.radiansToDegrees(Math.atan2(l, c)); }, r[P("0x9e8")] = function (e, i, n) { var o = e, a = r[P("0x9e6")](o[0]), s = r[P("0x9e6")](o[1]), x = r[P("0x9e6")](n), l = i / 6371008.8, c = Math[P("0x97")](Math.sin(s) * Math[P("0x9a")](l) + Math.cos(s) * Math[P("0x98")](l) * Math.cos(x)), u = a + Math.atan2(Math[P("0x98")](x) * Math[P("0x98")](l) * Math.cos(s), Math.cos(l) - Math[P("0x98")](s) * Math[P("0x98")](c)); return new t([r[P("0x9e5")](u), r[P("0x9e5")](c)]); }, r[P("0x9e9")] = function (e, i) { var n; if (e[P("0x165")] !== P("0x9e3")) return null; n = e[P("0x2ed")]; for (var o = 0, a = 0; a < n[P("0x0")] && !(o <= i && a === n[P("0x0")] - 1); a++) { if (i <= o) { var s = i - o; if (s) { var x = r[P("0x9ea")](n[a], n[a - 1]) - 180; return r[P("0x9e8")](n[a], s, x); } return point(n[a]); } o += r[P("0x8e")](n[a], n[a + 1]); } return new t(n[n[P("0x0")] - 1]); }; }(window[P("0xfd")]), (j = window[P("0xfd")]) && j[P("0x2e1")] && (j.Cesium3DTileset.prototype[P("0x9eb")] = function (e, t, i) { var r = j[P("0x9e4")]; if (r) { var n = this.boundingSphere[P("0x11a")], o = j.Cartographic.fromCartesian(n), a = j.Math[P("0x113")](o.longitude), s = j[P("0x23")][P("0x113")](o[P("0x114")]), x = o.height, l = new j[P("0x13")](a, s, x + i); if (e < 0) { var c = a, u = a - 1; e = -e; var h = r.lineString([[c, s], [u, s]]), f = r[P("0x9e9")](h, e); l[P("0x112")] = f[P("0x2ed")][0]; } else 0 < e && (c = a, u = a + 1, h = r.lineString([[c, s], [u, s]]), f = r[P("0x9e9")](h, e), l.longitude = f[P("0x2ed")][0]); t < 0 ? (c = s, u = s - 1, t = -t, h = r[P("0x33e")]([[a, c], [a, u]]), f = r[P("0x9e9")](h, t), l[P("0x114")] = f[P("0x2ed")][1]) : 0 < t && (c = s, u = s + 1, h = r[P("0x33e")]([[a, c], [a, u]]), f = r[P("0x9e9")](h, t), l.latitude = f.coordinates[1]); var d = j[P("0x11")][P("0x1a1")](l.longitude, l[P("0x114")], l.height), g = j[P("0x11")][P("0x95")](d, n, new j[P("0x11")]()); this[P("0x4ac")] = j[P("0x1b")].fromTranslation(g); } }), function (e) { var t = e[P("0x9ec")] = function (t) { t = e.defaultValue(t, {}), this[P("0x9d8")] = e[P("0x102")](t[P("0x9dc")], 1), this[P("0x9d4")] = e[P("0x102")](t[P("0x9dd")], 0.5), this[P("0x44")] = e[P("0x102")](t[P("0xef")], e[P("0x16")][P("0x110")]), this[P("0x689")] = e[P("0x102")](t[P("0x969")], e[P("0x26b")].MAX_VALUE), this._projection = new e[P("0x9ed")](this._ellipsoid); }; t.prototype = new e[P("0x9d7")](), delete t[P("0x5")]._numberOfLevelZeroTilesX, delete t[P("0x5")][P("0x9d4")], delete t[P("0x5")][P("0x44")], delete t[P("0x5")][P("0x689")], delete t.prototype._projection, t[P("0x5")][P("0x9e2")] = function (e) { return this[P("0x9d4")] * Math[P("0x2ae")](2, e); }; }(window[P("0xfd")]), function (e) { function t(t) { if (!e[P("0x14")](t)) throw new e[P("0x15")]("options is required."); this[P("0x9fc")] = new e[P("0x766")](), this._modelFloorMasks = {}, this[P("0x9fd")] = t.credit, w()(this[P("0x9fd")]) == P("0x9fe") && (this[P("0x9fd")] = new e[P("0x9ff")](this[P("0x9fd")])), t[P("0xa00")] = e[P("0x102")](t[P("0xa00")], 32), t[P("0xa01")] = e[P("0x102")](t.heightMapHeight, 32), this._options = t, this[P("0x557")] = e.when[P("0x9f8")](!0), this[P("0xa02")] = t.subdomains, t[P("0xa03")] = t[P("0x6af")].replace(P("0xa04"), this[P("0xa05")](0, 0, 0)), this[P("0xa06")] = t[P("0xa03")] + "?request=GetMap&Version=1.3.0&Service=WMS&CRS=EPSG:4326&bbox=-90,-180,90,180&height=32&width=32&optimizedOnly=0&v=1&layers=" + t[P("0xa07")] + P("0xa08"); var r = e.defaultValue(t[P("0xa09")], !1); void 0 !== t[P("0xa0a")] && isNaN(t[P("0xa0a")]) && (t[P("0xa0a")] = void 0), this[P("0xa0b")] = e[P("0x102")](t[P("0xa0a")], null), r ? this[P("0xa0c")](!1) : this[P("0xa0c")](!0), this[P("0xa0d")] = t.url + "?" + P("0xa0e") + t[P("0xa07")] + "&Styles=&Format=image/" + this[P("0xa0f")], this._allElevationLayers = null, this[P("0x68a")] = new e[P("0x9d7")](), this[P("0xa10")] = e[P("0xa11")].getEstimatedLevelZeroGeometricErrorForAHeightmap(this[P("0x68a")][P("0xef")], 4 * t.heightMapWidth, this[P("0x68a")][P("0x9d9")](0)), this[P("0xa12")] = new i({ workerPath: L() + "ThirdParty/sfsterrainprovider/ParseElevationWorker.js" }), this[P("0xa13")] = 0, this._requestGridSize = 8, this[P("0xa14")] = {}, this[P("0xa15")] = [], this[P("0xa16")].addEventListener(function (e) {}, this); } e[P("0xa17")] = t, t[P("0xa18")] = 2, e[P("0xf")](t[P("0x5")], { errorEvent: { get: function get() { return this[P("0x9fc")]; } }, credit: { get: function get() { return this[P("0x9fd")]; } }, hasVertexNormals: { get: function get() { return !1; } }, tilingScheme: { get: function get() { return this[P("0x68a")]; } }, ready: { get: function get() { return !0; } }, hasWaterMask: { get: function get() { return !1; } }, heightMapHeight: { get: function get() { return this._options[P("0xa01")]; } }, heightMapWidth: { get: function get() { return this[P("0x248")][P("0xa00")]; } }, pendingRequests: { get: function get() { return this[P("0xa13")]; } } }), t[P("0x5")][P("0xa0c")] = function (e) { if (!e || !this[P("0xa09")]) { var t = this._format; this[P("0xa0f")] = P(e ? "0xa19" : "0xa1a"), t !== this[P("0xa0f")] && (this[P("0xa1b")] = e, void 0 !== this[P("0xa0d")] && (this[P("0xa0d")] = this._urlTemplate[P("0xa1c")]("image/" + t, "image/" + this[P("0xa0f")]))); } }, t.prototype.getLevelMaximumGeometricError = function (e) { return this[P("0xa10")] / (1 << e) * t[P("0xa18")]; }, t.prototype.createKeyFromTile = function (e, t, i) { return e + "_" + t + "_" + i; }, t.prototype[P("0x9fb")] = function (e, t, i) { var r = Math.min(this._maxTerrainLevel, 25); return !!this[P("0xa1b")] || i < r; }, t[P("0x5")][P("0xa1d")] = function (e) { var t = Math[P("0x133")](this[P("0xa1e")]) / Math[P("0x133")](2); return t = Math.min(t, e), Math[P("0x2ae")](2, t); }, t.prototype[P("0xa1f")] = function (e, t, i, r) { return this.getRequestUrl(e, t, i, r); }, t[P("0x5")][P("0xa20")] = function (e, t, i) { return this[P("0xa21")](e, t, i, !1, !0); }, t[P("0x5")][P("0xa21")] = function (e, t, i, r, n) { var o = i, a = null != r ? this[P("0xa1d")](i) : 1, s = (e = null != r ? (e - e % a) / a : e, t = null != r ? (t - t % a) / a : t, i = null != r ? i - Math.log(a) / Math.log(2) : i, this[P("0xa22")][P("0xa23")](e, t, i)), x = this[P("0xa00")] * a == 256 && r ? 1 : 0; return n && (x = 0), this[P("0xa0d")].replace("{south}", s.south)[P("0xa1c")](P("0xa24"), s[P("0x2ac")]).replace(P("0xa25"), s[P("0x2a9")])[P("0xa1c")](P("0xa26"), s[P("0x2aa")])[P("0xa1c")](P("0xa27"), x)[P("0xa1c")]("{width}", this[P("0xa00")] * a).replace(P("0xa28"), this[P("0xa01")] * a)[P("0xa1c")](P("0xa04"), this[P("0xa05")](e, t, i)) + "&level=" + i + "&origLevel=" + o; }, t[P("0x5")][P("0xa29")] = function (t, i) { return t[P("0x2a9")] >= i[P("0x2a9")] * e.Math[P("0xa2a")] && t.east <= i.east * e[P("0x23")][P("0xa2a")] && t[P("0x2ab")] >= i[P("0x2ab")] * e[P("0x23")][P("0xa2a")] && t.north <= i[P("0x2ac")] * e[P("0x23")][P("0xa2a")]; }, t.prototype[P("0xa2b")] = function (t, i) { var r = t[P("0x2a9")] * e[P("0x23")].RADIANS_PER_DEGREE, n = t[P("0x2aa")] * e[P("0x23")][P("0xa2c")], o = t[P("0x2ab")] * e[P("0x23")].RADIANS_PER_DEGREE, a = t[P("0x2ac")] * e[P("0x23")].RADIANS_PER_DEGREE, s = new e.Rectangle(r, o, n, a); return e[P("0x26b")].intersection(s, i, new e[P("0x26b")]()); }, t.prototype[P("0xa05")] = function (e, t, i) { if (null == this[P("0xa02")]) return ""; var r = (e + t + i) % this[P("0xa02")][P("0x0")]; return this[P("0xa02")][r]; }, t[P("0x5")][P("0xa2d")] = function (e) { e[P("0x969")] && void 0 !== viewer[P("0x10f")].globe[P("0xa2e")][P("0xa2f")] && this[P("0xa30")](e.rectangle, !0)[P("0xa31")](); }, t[P("0x5")][P("0xa30")] = function (t, i) { function r(t, i, n) { var o = n ? 4.1 : 2.1; if (t[P("0x689")].width <= i[P("0x19a")] * o && e[P("0x26b")].contains(t._rectangle, e.Rectangle.center(i))) return t; for (var a = t[P("0x12f")].length, s = 0; s < a; s++) { var x = t.children[s]; if (e[P("0x26b")][P("0xd1")](x._rectangle, e.Rectangle.center(i))) return r(x, i, n); } return null; } if (t.width == Math.PI) return null; for (var n = 0; n < viewer[P("0x10f")].globe[P("0xa2e")][P("0xa2f")][P("0x0")]; n++) { var o = r(viewer[P("0x10f")][P("0xa3")]._surface[P("0xa2f")][n], t, i); if (o) return o; } return null; }, t.prototype[P("0xa32")] = function (t, i, r) { var n = this._tilingScheme[P("0xa33")](t, i, r, new e.Rectangle()), o = this[P("0xa30")](n); if (o && o[P("0x440")] && o[P("0x440")][P("0xa34")]) { if (!(0 < o.data.terrainData._childTileMask)) return !1; for (var a = o[P("0x12f")][P("0x0")], s = 0; s < a; s++) { var x = o.children[s]; if (e[P("0x26b")][P("0x84")](x[P("0x689")], n)) return o[P("0x440")][P("0xa34")][P("0xa35")] & 1 << s; } } return !0; }, t[P("0x5")][P("0xa36")] = function (t, i, r) { var n = this[P("0x68a")][P("0xa33")](t, i, r, new e[P("0x26b")]()), o = this[P("0xa30")](n); o && o[P("0x440")] && o[P("0x440")][P("0xa34")] && 0 < o[P("0x440")][P("0xa34")][P("0xa35")] && o[P("0x12f")][P("0x1e4")](function (t, i) { if (e[P("0x26b")].equals(t[P("0x689")], n)) switch (i) { case 0: o[P("0x440")].terrainData._childTileMask &= -5; break; case 1: o[P("0x440")].terrainData[P("0xa35")] &= -9; break; case 2: o.data[P("0xa34")][P("0xa35")] &= -2; break; case 3: o[P("0x440")][P("0xa34")][P("0xa35")] &= -3; } }); }, t[P("0x5")].requestBaseTerrainTileGeometry = function (e, t, i, r) { return this.requestTileGeometryBuffers(e, t, i, r); }, t.prototype.requestElevationLayerTileGeometry = function (e, t, i, r, n) { return this.requestTileGeometryBuffers(e, t, i, r, n); }, t[P("0x5")][P("0xa37")] = function (t, i, r, n, o) { var a = this, s = {}; s[P("0xa38")] = this.tilingScheme[P("0xa23")](t, i, r), s[P("0xa39")] = o; var x, l, c, u, h = e[P("0x9ee")][P("0x9ef")](); return void 0 === (u = this[P("0xa3a")](t, i, r, n, void 0, o)) ? void 0 : (x = this[P("0xa3a")](t + 1, i, r, n, !0, o), l = this[P("0xa3a")](t, i + 1, r, n, !0, o), c = this.requestTileHeightBuffer(t + 1, i + 1, r, n, !0, o), e[P("0x9ee")][P("0xa3b")]([u, x, l, c], function (e) { if (null != e[0].myReject && e[0][P("0xa3c")]) h[P("0xa3d")]();else { for (var t = a[P("0xa00")] + 1, i = a[P("0xa01")] + 1, r = new Float32Array(t * i), n = e[0][P("0xa3e")], o = 0; o < t; o++) { for (var x = 0; x < i; x++) { var l = o, c = x, u = 0; x === t - 1 && (c = 0, u = 1, n && (u = 0, c = t - 2)), o === i - 1 && (l = 0, u = 2); var f = o * t + x, d = l * a[P("0xa00")] + c; null === e[u] || null != e[u].myReject && e[u].myReject || (r[f] = e[u][d]); } } null != e[3][P("0xa3c")] && e[3].myReject || (r[t * i - 1] = e[3][0]); var g = a[P("0xa3f")](r, t, i, 15); s.buffer = g, h[P("0x9f8")](s); } })[P("0xa40")](function () { h.reject(); }), h); }, t[P("0x5")].requestTileGeometry = function (t, i, r, n) { var o = this, a = [], s = o[P("0xa22")].tileXYToNativeRectangle(t, i, r); null != this[P("0xa41")] && 0 < this[P("0xa41")].length && 7 < r ? [][P("0xa42")](function (e, x) { if (x[P("0x221")]) { var l = x[P("0x969")]; o[P("0xa29")](s, l) ? (o[P("0xa0c")](!1), a[P("0x17c")](o[P("0xa43")](t, i, r, n, x))) : null != o[P("0xa2b")](s, l) ? (o.setFormatMPT(!1), a[P("0x17c")](o.requestElevationLayerTileGeometry(t, i, r, n, x)), a[P("0x17c")](o[P("0xa44")](t, i, r, n))) : (o[P("0xa0c")](!0), a[P("0x17c")](o.requestBaseTerrainTileGeometry(t, i, r, n))); } else o[P("0xa0c")](!0), a[P("0x17c")](o.requestBaseTerrainTileGeometry(t, i, r, n)); }) : (o[P("0xa0c")](!0), a.push(o[P("0xa44")](t, i, r, n))); var x = e.when[P("0x9ef")](); return e.when[P("0xa3b")](a, function (t) { if (1 === t.length) void 0 !== t[P("0xa39")] && console[P("0x133")]("missing scale and offset"), x.resolve(t[0][P("0x4b3")]);else if (1 < t[P("0x0")]) { var i = t[P("0x1f2")](function (e) { return void 0 !== e.layer; }), r = t[P("0x1f2")](function (e) { return void 0 === e.layer; }); if (0 === i.length) x.resolve(t[0].buffer);else { var n = i[i[P("0x0")] - 1], a = r[r[P("0x0")] - 1], s = { tolerance: n[P("0xa39")][P("0xa45")], nullValueNumber: n[P("0xa39")][P("0xa46")], verticesX: n[P("0xa39")][P("0xa47")], verticesY: n[P("0xa39")][P("0xa48")], scale: e[P("0x102")](n[P("0xa39")][P("0xfc")], 1), offset: e.defaultValue(n[P("0xa39")].offset, 0) }; x[P("0x9f8")](o.mergeBuffers(a.buffer, n[P("0x4b3")], s, a.requestedRectangle)); } } else x[P("0xa3d")](); }).otherwise(function () { x[P("0xa3d")](); }), x; }, t[P("0x5")][P("0xa49")] = function (t, i, r, n) { n[P("0x2a9")], n.north; var o, a, s, x = (n[P("0x2aa")], n.south, n[P("0x19a")] / 33), l = n[P("0x8b")] / 33, c = r[P("0xfc")], u = r[P("0xa4a")], h = r[P("0xa46")], f = r[P("0xa4b")], d = void 0 !== h && void 0 !== f; if (d) var g = e.defaultValue(r[P("0xa46")], 0), p = e[P("0x102")](Number(r.tolerance), 0); var m = new Float32Array(1089); for (o = 0; o < 33; o++, l) { for (a = 0; a < 33; a++, x) { m[s = 33 * o + a] = d ? !i[P("0xa4c")][s] || i[P("0xa4c")][s] >= g - p && i[P("0xa4c")][s] <= g + p ? t[P("0xa4c")][s] : i[P("0xa4c")][s] * c + u : i._buffer[s] ? i[P("0xa4c")][s] * c + u : t[P("0xa4c")][s]; } } return this[P("0xa3f")](m, 33, 33, 15); }, t[P("0x5")].requestTileHeightBuffer = function (t, i, r, n, o, a) { if (!isNaN(t + i + r)) { e.defined(n) && !1 !== n || (n = new e[P("0xa4d")]({ defer: !0 })); var s = 0 == n.defer; o = e.defaultValue(s, !1); var x, l = e[P("0x9ee")][P("0x9ef")](); if (void 0 !== a) a.getUrlFromSTag = function (e, t, i) { return void 0 === a.subdomains ? a[P("0x6af")] : a[P("0xa4e")][0] + P("0xa4f"); }, x = this.getRequestElevationLayer(t, i, r).replace(this[P("0x248")][P("0x6af")], a.getUrlFromSTag(t, i, r) + P("0xa50"))[P("0xa1c")](this[P("0x248")][P("0xa07")], a[P("0x176")]), a[P("0xa51")] === P("0xa19") && (x = x[P("0xa1c")](P("0xa52"), P("0xa53")));else { x = this[P("0xa1f")](t, i, r, s || o); var c = this._tilingScheme.tileXYToRectangle(t, i, r), u = this[P("0xa54")], h = e[P("0x9ee")][P("0x9ef")](); if (void 0 !== u) { var f = []; if (u[P("0x1e4")](function (t) { t[P("0x221")] && null != e[P("0x26b")][P("0x348")](c, t.rectangle, new e[P("0x26b")]()) && f[P("0x17c")](t); }), 0 < f[P("0x0")]) { if (1 === f[P("0x0")] && f[0][P("0xa55")] && r > f[0][P("0xa55")]) h[P("0x9f8")]("NoMerge");else { var d = function (t, i) { var r = e.when[P("0x9ef")](), n = []; return t[P("0x1e4")](function (t) { var r, o, a, s; n[P("0x17c")]((r = t, o = i, s = e[P("0x9ee")][P("0x9ef")](), (a = TerraExplorer.tools[P("0x9f0")][P("0x9f1")][P("0x9f2")].fillArrayFromVerticesAndHeight(r[P("0x9f3")], o, r[P("0x9f4")][0])).timeStamp = r.timeStamp, a[P("0x9f5")] = r[P("0x9f4")], a[P("0x9f6")] = r[P("0x9f6")], a[P("0x9f7")] = r[P("0x9f7")], a.rect = r[P("0x969")], a[P("0x968")] = r[P("0x968")], s[P("0x9f8")](a), s)); }), e[P("0x9ee")].all(n, function (e) { if (e[0][P("0x9f9")], 1 === e[P("0x0")]) r[P("0x9f8")](e[0]);else { var t = e[P("0x3d2")](function (e, t) { return t[P("0x9fa")] - e[P("0x9fa")]; }), i = t.shift(); t.forEach(function (e) { i.forEach(function (t, r) { 1 === t && 1 !== e[r] && (i[r] = e[r]); }); }), r[P("0x9f8")](i); } }), r; }(f, c); e[P("0x9ee")](d, function (e) { h.resolve(e); })[P("0xa40")](function (e) { console[P("0x133")](e); }); } } else h[P("0x9f8")]("NoMerge"); } else h[P("0x9f8")](P("0xa56")); var g = e.when[P("0x9ef")](), p = [].filter(function (e) { return 0 < e[P("0xa57")].length; }); if (1 === p.length && p[0].level && r > p[0][P("0x968")]) g[P("0x9f8")](P("0xa58"));else { var m = !1; p[P("0x1e4")](function (t) { if (t.ready && t[P("0x221")] && void 0 !== t[P("0xa59")] && void 0 !== e[P("0x26b")][P("0x348")](c, t[P("0xa59")])) { for (var i, r = new Uint16Array(1024), n = c.west, o = (c[P("0x2ab")], (c[P("0x2aa")] - c[P("0x2a9")]) / 32), a = (c[P("0x2ac")] - c[P("0x2ab")]) / 32, s = 0; s < 32; s++) { for (var x = 0; x < 32; x++) { var l = n + o * x + o / 2, u = c[P("0x2ac")] - a * s - a / 2, h = new e[P("0x13")](l, u); i = 65535; var f = t[P("0xa5a")](t, h, !0); null != f && f[P("0x490")] && f[P("0x490")][P("0xa5b")] && f[P("0x490")][P("0xa5b")].floor && (i = f[P("0x490")]._model[P("0x3e8")][P("0xed")](h.longitude, h[P("0x114")])), 65535 !== i && (i += 1.5), r[32 * s + x] = i; } } m = !0, g[P("0x9f8")](r); } }), m || g[P("0x9f8")]("NoFloor"); } this[P("0x68a")][P("0xef")]; } if (!1 === this[P("0xa14")][P("0xa5c")](x)) { if (this._requestsCache[x] = {}, this[P("0xa15")][P("0x17c")](x), 100 < this[P("0xa15")].length) { for (var b = 0; b < 50; b++) { delete this._requestsCache[this[P("0xa15")][b]]; } this[P("0xa15")].splice(0, 50); } } else { var v = this[P("0xa15")].indexOf(x); this._requestsCacheKeys[P("0x259")](v, 1), this[P("0xa15")].push(x); } var C = this[P("0xa14")][x]; if (void 0 !== C[P("0xa5d")] || (C[P("0xa5d")] = s ? e.Resource.fetchArrayBuffer(x) : e[P("0x6da")][P("0xa5e")](x), e[P("0x14")](C[P("0xa5d")]))) { var y = this; return this._pendingRequests++, e.when(C[P("0xa5d")], function (n) { void 0 === C.workerFinished && (C[P("0xa5f")] = y[P("0xa12")][P("0xa60")]({ buffer: n, isElevation: void 0 !== a, level: r })), e[P("0x9ee")][P("0xa3b")]([C[P("0xa5f")], h, g], function (e) { var n = void 0 !== e[1] && e[1] !== P("0xa56"), o = void 0 !== e[2] && "NoFloor" !== e[2]; if (e[0][P("0xa61")]) { for (var a = y[P("0xa00")] * y[P("0xa01")], s = new Int16Array(a), x = 0; x < a; x++) { s[x] = 300; } return 2 < r && (s[P("0xa3c")] = !0), l[P("0x9f8")](s), l; } var c = y[P("0xa62")](e[0][P("0x4b3")], t, i, r); if (y[P("0xa13")]--, n) for (x = 0; x < 32; x++) { for (var u = 0; u < 32; u++) { var h = 32 * x + u; e[1].fromKML ? c[h] = 1 === e[1][h] ? c[h] : 1 == e[1][P("0x9f6")] ? c[h] + e[1].mtHeight : 2 == e[1][P("0x9f6")] ? Math[P("0x7d")](c[h], e[1][P("0x9f5")]) : 3 == e[1][P("0x9f6")] ? Math[P("0xee")](c[h], e[1][P("0x9f5")]) : e[1][P("0x9f5")] : c[h] = 1 === e[1][h] ? c[h] : 1 == e[1][P("0x9f6")] ? c[h] + e[1][h] : 2 == e[1][P("0x9f6")] ? Math[P("0x7d")](c[h], e[1][h]) : 3 == e[1][P("0x9f6")] ? Math[P("0xee")](c[h], e[1][h]) : e[1][h]; } } if (o) { for (x = 0; x < 32; x++) { for (u = 0; u < 32; u++) { c[h = 32 * x + u] = 65535 === e[2][h] || 10500 < e[2][h] ? c[h] : e[2][h]; } } c[P("0xa3e")] = !0; } l[P("0x9f8")](c); })[P("0xa40")](function () { for (var e = y[P("0xa00")] * y[P("0xa01")], t = new Int16Array(e), i = 0; i < e; i++) { t[i] = 300; } return 2 < r && (t.myReject = !0), l[P("0x9f8")](t), l; }); })[P("0xa40")](function () { y[P("0xa13")]--, l[P("0xa3d")](); }), l; } } }, t.prototype.extractTileHeightBuffer = function (e, t, i, r) { try { for (var n = this[P("0xa1d")](r), o = t % n, a = i % n, s = new Float32Array(this.heightMapWidth * this[P("0xa01")]), x = 1e6, l = -1e5, c = 0; c < this[P("0xa01")]; c++) { for (var u = 0; u < this.heightMapWidth; u++) { var h = c + a * this.heightMapHeight, f = u + o * this.heightMapWidth, d = c * this[P("0xa00")] + u, g = h * this.heightMapWidth * n + f; e[g] > l && (l = e[g]), e[g] < x && (x = e[g]), s[d] = e[g]; } } } catch (e) { console[P("0x133")](e[P("0xa63")]); } return s; }, t[P("0x5")].arrayToHeightmapTerrainData = function (t, i, r, n) { !1 === e[P("0x14")](t) && (t = new Int16Array(i * r)); var o = { buffer: t, width: i, height: r, childTileMask: n }; return new e[P("0xa64")](o); }; var i = (e[P("0xf")](r[P("0x5")], { errorEvent: { get: function get() { return this[P("0xa16")]; } }, poolSize: { get: function get() { return this[P("0xa68")]; } } }), r[P("0x5")][P("0xa60")] = function (t, i) { for (var r = e[P("0x9ee")][P("0x9ef")](), n = null, o = 999999, a = 0; a < this[P("0xa6a")][P("0x0")]; a++) { n = this._workers[a], this[P("0xa6a")][a].jobQueueSize < o && (n = this[P("0xa6a")][a], o = this[P("0xa6a")][a][P("0xa6c")]); } if (0 < o && this[P("0xa6a")].length < this[P("0xa69")]) { n = new Worker(this[P("0xa66")]); var s = this; n[P("0x130")]("message", function (e) { s.onWorkerMessage(e); }, !1), n[P("0x130")](P("0x391"), function (e) { s[P("0xa6d")](e); }, !1), n[P("0xa6c")] = 0, this[P("0xa6a")][P("0x17c")](n), n.id = e.createGuid(); } t[P("0xa6e")] = n.id; var x = e[P("0x75c")](); return t[P("0xa6f")] = x, this._defered[x] = r, n[P("0xa6c")]++, n[P("0xa70")](t, i), r; }, r[P("0x5")][P("0xa71")] = function (e) { var t = this; if (null == e) return null != this[P("0xa72")] && clearTimeout(this.timerId), void (this[P("0xa72")] = setTimeout(function () { t[P("0xa71")](!0); }, 5e3)); for (var i = 0; i < this[P("0xa6a")][P("0x0")]; i++) { 0 == this._workers[i][P("0xa6c")] && (this[P("0xa6a")][i][P("0xa73")](), this[P("0xa6a")][P("0x259")](i, 1), i--); } this[P("0xa6a")][P("0x0")] ? this[P("0xa72")] = setTimeout(function () { t[P("0xa71")](!0); }, 5e3) : this[P("0xa72")] = null; }, r[P("0x5")][P("0xa74")] = function (e) { var t = e[P("0x440")], i = function (e, t) { for (var i = 0; i < e[P("0x0")]; i++) { if (t(e[i])) return i; } }(this[P("0xa6a")], function (e) { return e.id === t.workerId; }); null != i && (this[P("0xa6a")][i].jobQueueSize--, this[P("0xa71")]()); var r = this[P("0xa6b")][t.deferedId]; delete this._defered[t[P("0xa6f")]], r.resolve(t); }, r[P("0x5")][P("0xa6d")] = function (e) { console.log(e); }, r); function r(t) { if (t = t || [], !e[P("0x14")](t.workerPath)) throw new e[P("0x15")](P("0xa65")); this[P("0xa66")] = t[P("0xa67")], this[P("0xa68")] = e[P("0x102")](t[P("0xa69")], 16), this[P("0xa6a")] = [], this[P("0xa6b")] = []; } }(window.Cesium), function (e) { var t = e.GeoTerrainProvider = function (i) { if (i = e[P("0x102")](i, e[P("0x102")][P("0x128")]), !e[P("0x14")](i.urls)) throw new e[P("0x15")](P("0xa75")); this[P("0xa76")] = e.defaultValue(i[P("0xa77")], e[P("0xa78")][P("0xa79")]), this[P("0xa7a")] = e[P("0x102")](i[P("0xa7b")], t[P("0xa7c")]), this[P("0xa7d")] = i[P("0xa7e")], this[P("0xa7f")] = this[P("0xa7d")].length, this[P("0xa80")] = 0, this[P("0xa81")] = 0, this[P("0xa0b")] = e.defaultValue(i[P("0xa77")], e[P("0xa78")][P("0xa79")]), this[P("0x9fc")] = new e[P("0x766")](), this[P("0x48b")] = !1, this[P("0xa82")] = e.when[P("0x9ef")](), this._proxy = i.proxy, this._terrainDataStructure = { heightScale: 0.001, heightOffset: -1e3, elementsPerHeight: 3, stride: 4, elementMultiplier: 256, isBigEndian: !0 }; var r = i[P("0xa83")]; w()(r) === P("0x9fe") && (r = new e[P("0x9ff")](r)), this[P("0x9fd")] = r, this._tilingScheme = void 0, this._rectangles = []; var n = e[P("0x102")](i[P("0xef")], e[P("0x16")][P("0x110")]); this[P("0x68a")] = new e[P("0x9d7")]({ ellipsoid: n }), this[P("0xa84")] = 64, this[P("0xa85")] = 64, this._levelZeroMaximumGeometricError = e[P("0xa11")][P("0xa86")](n, Math[P("0x7d")](this[P("0xa84")], this[P("0xa85")]), this[P("0x68a")].getNumberOfXTilesAtLevel(0)), this[P("0x48b")] = !0, this[P("0xa82")][P("0x9f8")](!0), this[P("0x75b")] = i[P("0x176")], this[P("0xa87")] = i[P("0xa88")], this[P("0xa89")] = i[P("0xa8a")], this[P("0xa8b")] = e[P("0x102")](i.topLevel, 5), this[P("0xa8c")] = e[P("0x102")](i[P("0xa8d")], 25); }; function i(t, i) { return (i = e[P("0x14")](i) ? i : new e.Request())[P("0x6af")] = t, i[P("0xa9e")] = function () { var i, r, n = P("0xa9f"), o = new XMLHttpRequest(); return o[P("0xaa0")](n, t, !0), o[P("0xaa1")] = P("0xaa2"), o[P("0xaa3")] = !1, o.send(null), i = o, r = e[P("0x9ee")].defer(), i.onreadystatechange = function () { if (4 === i[P("0xaa6")]) if (200 === i[P("0xaa7")]) { if (e[P("0x14")](i[P("0xaa8")])) { for (var t = new DataView(i[P("0xaa8")]), n = new Uint8Array(t[P("0xaa9")]), o = 0; o < t.byteLength;) { n[o] = t.getUint8(o, !0), o++; } var a = function (t) { if (!(t[P("0x0")] < 1e3)) { var i = new Zlib[P("0xaaa")](t); return e[P("0x14")](i) ? i[P("0xaab")]() : void 0; } }(n); e[P("0x14")](a) ? r[P("0x9f8")](a) : r[P("0xa3d")](void 0); } } else (400 <= i[P("0xaa7")] || 0 == i[P("0xaa7")]) && r.reject(void 0); }, r.promise; }, e[P("0xaa4")][P("0xaa5")](i); } e.defineProperties(t[P("0x5")], { errorEvent: { get: function get() { return this[P("0x9fc")]; } }, credit: { get: function get() { return this[P("0x9fd")]; } }, tilingScheme: { get: function get() { if (!this[P("0xa8e")]) throw new e[P("0x15")](P("0xa8f")); return this._tilingScheme; } }, ready: { get: function get() { return this._ready; } }, readyPromise: { get: function get() { return this[P("0xa82")][P("0xa90")]; } }, hasWaterMask: { get: function get() { return !1; } }, hasVertexNormals: { get: function get() { return !1; } } }), t[P("0x5")][P("0xa91")] = function (r, o, a, s) { if (!this.ready) throw new e.DeveloperError(P("0xa8f")); 1 < this[P("0xa7f")] && (this[P("0xa81")] < 8 ? this[P("0xa81")]++ : (this[P("0xa81")] = 0, this[P("0xa80")]++, this[P("0xa80")] >= this._urls_length && (this[P("0xa80")] = 0))); var x = this[P("0xa7d")][this[P("0xa80")]]; if (this[P("0x68a")][P("0x9e2")](a), a < this[P("0xa8c")] && a >= this[P("0xa8b")]) { var l, c = -1 === x[P("0x2d3")]("?") ? "?" : "&", u = x + c + "x=" + r + P("0xa92") + o + P("0xa93") + (a + 1), h = this[P("0xa94")]; if (e.defined(h) && (u = h[P("0xa95")](u)), s = e[P("0x102")](s, !0)) { if (l = i(u, s), !e.defined(l)) return; } else l = i(u); if (this._tileType == t[P("0xa96")]) return l.then(function (e) { return function (e, t, i, r, n) { var o = 0, a = 3 * Float64Array[P("0x4b5")], s = 4 * Float64Array[P("0x4b5")], x = 3 * Uint16Array.BYTES_PER_ELEMENT, l = Uint16Array[P("0x4b5")], c = 3 * l, u = new DataView(t), h = new Cartesian3(u[P("0xaad")](o, !0), u[P("0xaad")](o + 8, !0), u[P("0xaad")](o + 16, !0)); o += a; var f = u[P("0xaae")](o, !0); o += Float32Array.BYTES_PER_ELEMENT; var d = u[P("0xaae")](o, !0); o += Float32Array.BYTES_PER_ELEMENT; var g = new BoundingSphere(new Cartesian3(u.getFloat64(o, !0), u[P("0xaad")](o + 8, !0), u[P("0xaad")](o + 16, !0)), u[P("0xaad")](o + a, !0)); o += s; var p = new Cartesian3(u[P("0xaad")](o, !0), u[P("0xaad")](o + 8, !0), u[P("0xaad")](o + 16, !0)); o += a; var m = u.getUint32(o, !0); o += Uint32Array.BYTES_PER_ELEMENT; var b = new Uint16Array(t, o, 3 * m); o += m * x, 65536 < m && (c = 3 * (l = Uint32Array[P("0x4b5")])); var v = b[P("0xaaf")](0, m), C = b[P("0xaaf")](m, 2 * m), y = b[P("0xaaf")](2 * m, 3 * m); AttributeCompression.zigZagDeltaDecode(v, C, y), o % l != 0 && (o += l - o % l); var _ = u[P("0xab0")](o, !0); o += Uint32Array[P("0x4b5")]; var A = IndexDatatype[P("0xab1")](m, t, o, 3 * _); o += _ * c; for (var I = 0, w = A[P("0x0")], G = 0; G < w; ++G) { var E = A[G]; A[G] = I - E, 0 === E && ++I; } var S = u[P("0xab0")](o, !0); o += Uint32Array.BYTES_PER_ELEMENT; var T = IndexDatatype[P("0xab1")](m, t, o, S); o += S * l; var M = u[P("0xab0")](o, !0); o += Uint32Array[P("0x4b5")]; var N = IndexDatatype[P("0xab1")](m, t, o, M); o += M * l; var L = u[P("0xab0")](o, !0); o += Uint32Array.BYTES_PER_ELEMENT; var R = IndexDatatype[P("0xab1")](m, t, o, L); o += L * l; var O = u[P("0xab0")](o, !0); o += Uint32Array[P("0x4b5")]; var F, D, U = IndexDatatype.createTypedArrayFromArrayBuffer(m, t, o, O); for (o += O * l; o < u[P("0xaa9")];) { var k = u[P("0xab2")](o, !0); o += Uint8Array[P("0x4b5")]; var B = u.getUint32(o, !0); if (o += Uint32Array[P("0x4b5")], k === QuantizedMeshExtensionIds[P("0xab3")] && e[P("0xab4")]) F = new Uint8Array(t, o, 2 * m);else if (k === QuantizedMeshExtensionIds[P("0xab5")] && e._requestWaterMask) D = new Uint8Array(t, o, B);else if (k === QuantizedMeshExtensionIds[P("0xab6")] && e[P("0xab7")]) { var W = u[P("0xab0")](o, !0); if (0 < W) { var j = getStringFromTypedArray(new Uint8Array(t), o + Uint32Array[P("0x4b5")], W), V = JSON[P("0x946")](j)[P("0xab8")]; if (defined(V)) for (var z = 0; z < V[P("0x0")]; ++z) { for (var H = i + z + 1, q = V[z], X = (e._tilingScheme[P("0x9e2")](H), 0); X < q[P("0x0")]; ++X) { var Y = q[X]; Y[P("0xab9")], Y.startY; } } } } o += B; } var K, Q = 5 * e[P("0xa99")](i), Z = e[P("0x68a")][P("0xa33")](r, n, i); return Z.width < CesiumMath.PI_OVER_TWO + CesiumMath[P("0xaba")] && (K = OrientedBoundingBox[P("0xabb")](Z, f, d, e[P("0x68a")][P("0xef")])), new QuantizedMeshTerrainData({ center: h, minimumHeight: f, maximumHeight: d, boundingSphere: g, orientedBoundingBox: K, horizonOcclusionPoint: p, quantizedVertices: b, encodedNormals: F, indices: A, westIndices: T, southIndices: N, eastIndices: R, northIndices: U, westSkirtHeight: Q, southSkirtHeight: Q, eastSkirtHeight: Q, northSkirtHeight: Q, waterMask: D, credits: e[P("0xabc")] }); }(provider, e, a, r, o); }); var f = this; return e[P("0x9ee")](l, function (t) { var i = f.transformBuffer(t); if (e.defined(i)) { var s = new e[P("0xa64")]({ buffer: i, width: f[P("0xa84")], height: f[P("0xa85")], childTileMask: n(f, r, o, a), structure: f[P("0xa97")] }); return s[P("0xa98")] = 6e3, s; } }); } if (a < this[P("0xa8b")]) { var d = this[P("0xa84")], g = this[P("0xa85")], p = n(this, r, o, a), m = this._terrainDataStructure; return new e[P("0xa64")]({ buffer: this.getvHeightBuffer(), width: d, height: g, childTileMask: p, structure: m }); } return a >= this[P("0xa8c")] ? new C.a(function (e, t) { t("该级别不发送请求!"); }) : void 0; }, t[P("0x5")][P("0xa99")] = function (t) { if (!this[P("0xa8e")]) throw new e[P("0x15")]("requestTileGeometry must not be called before ready returns true."); return this._levelZeroMaximumGeometricError / (1 << t); }, t[P("0x5")][P("0x9fb")] = function (e, t, i) { if (i < 25) return !0; }, t[P("0x5")][P("0xa9a")] = function () { var t = this[P("0xa9b")]; if (!e[P("0x14")](t)) { t = new Uint8ClampedArray(this._heightmapWidth * this._heightmapHeight * 4); for (var i = 0; i < this[P("0xa84")] * this[P("0xa85")] * 4;) { t[i++] = 15, t[i++] = 66, t[i++] = 64, t[i++] = 255; } this[P("0xa9b")] = t; } return t; }, t[P("0x5")][P("0xa9c")] = function (t) { var i = 2; this._dataType === e.GeoTerrainProvider[P("0xa79")] ? i = 2 : this._dataType === e[P("0xa78")].FLOAT && (i = 4); var r = t; if (r[P("0x0")] !== 22500 * i) return null; for (var n, o, a, s, x, l = new ArrayBuffer(i), c = new DataView(l), u = this[P("0xa84")], h = this[P("0xa85")], f = new Uint8Array(u * h * 4), d = 0; d < h; d++) { for (var g = 0; g < u; g++) { s = p()(149 * d / (h - 1)), x = p()(149 * g / (u - 1)), (1e4 < (n = 4 === i ? (o = i * (150 * s + x), c.setInt8(0, r[o]), c[P("0xa9d")](1, r[o + 1]), c[P("0xa9d")](2, r[o + 2]), c.setInt8(3, r[o + 3]), c.getFloat32(0, !0)) : r[o = i * (150 * s + x)] + 256 * r[o + 1]) || n < -2e3) && (n = 0); var m = (n + 1e3) / 0.001; f[a = 4 * (d * u + g)] = m / 65536, f[1 + a] = (m - 256 * f[a] * 256) / 256, f[2 + a] = m - 256 * f[a] * 256 - 256 * f[1 + a], f[3 + a] = 255; } } return f; }; var r = new e[P("0x26b")](); function n(t, i, n, a) { for (var s = t._tilingScheme, x = t[P("0xaac")], l = s[P("0xa33")](i, n, a), c = 0, u = 0; u < x[P("0x0")] && 15 !== c; ++u) { var h = x[u]; if (!(h[P("0x109")] <= a)) { var f = h[P("0x969")], d = e[P("0x26b")][P("0x348")](f, l, r); e[P("0x14")](d) && (o(s, f, 2 * i, 2 * n, a + 1) && (c |= 4), o(s, f, 2 * i + 1, 2 * n, a + 1) && (c |= 8), o(s, f, 2 * i, 2 * n + 1, a + 1) && (c |= 1), o(s, f, 2 * i + 1, 2 * n + 1, a + 1) && (c |= 2)); } } return c; } function o(t, i, n, o, a) { var s = t[P("0xa33")](n, o, a); return e[P("0x14")](e.Rectangle.intersection(s, i, r)); } t[P("0xa79")] = P("0xabd"), t[P("0x5e9")] = P("0xabe"), t.QUANTIZED_MESH = P("0xabf"), t[P("0xa7c")] = P("0xac0"); }(window[P("0xfd")]), k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && "symbol" == w()(Symbol[P("0x1f3")]) ? function (e) { return w()(e); } : function (e) { return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e[P("0x2b7")] === A.a && e !== Symbol[P("0x5")] ? "symbol" : w()(e); }, function (e) { var t = e.defaultValue; function i(i) { i = t(i, t[P("0x128")]), this.viewer = i[P("0x13b")], this[P("0xac1")] = i.tileset, this[P("0xac2")] = i[P("0xac2")], this[P("0xac3")] = t(i[P("0xac3")], !0), this[P("0x69")] = t(i[P("0x69")], null), this[P("0xac4")] = t(i.originalColor, e[P("0x16a")][P("0xac5")](255, 50, 50, 1)), this[P("0xac6")] = t(i[P("0xac6")], e.Color[P("0xac5")](255, 50, 50, 122)), this.selectedColor = t(i.selectedColor, e.Color.fromBytes(50, 255, 50, 122)), this[P("0xac7")] = void 0, this[P("0xac8")] = new e.PrimitiveCollection(), this[P("0xac2")] && this[P("0xac2")][P("0x165")] === P("0xac9") && this._loadGeoJSON(this[P("0xac2")].data), this[P("0x16f")] = new e[P("0x15f")](this[P("0x13b")][P("0x10f")][P("0x48")]), this[P("0xac3")] && this[P("0xaca")](), this[P("0xacb")] = new e[P("0x766")](); } e[P("0x14")], e[P("0xf")](i[P("0x5")], { seletedEvent: { get: function get() { return this[P("0xacb")]; } } }), i[P("0x5")]._loadGeoJSON = function (e) { var t = this; if ("object" === (w()(e) === P("0x2b6") ? P("0x2b6") : k(e))) this._loadGroundPrimitives(e);else if ("string" == typeof e) { var i = new window[P("0xacc")](); i[P("0xaa0")](P("0xa9f"), e, !0), i[P("0xacd")] = !1, i.setRequestHeader(P("0xace"), P("0xacf")), i[P("0xad0")] = function () { console[P("0x391")](i[P("0xad1")]); }, i[P("0xad2")] = function () { if (200 <= i.status && i[P("0xaa7")] < 300 && i[P("0xaa8")]) { var e = JSON[P("0x946")](i[P("0xaa8")]); t[P("0xad3")](e); } }, i.send(); } else console.warn(P("0xad4")); }, i[P("0x5")][P("0xad3")] = function (t) { this[P("0xac8")][P("0xf3")]() && (this[P("0xac8")] = new e[P("0x51e")]()); for (var i = 0; i < t[P("0x33a")][P("0x0")]; i++) { var r = t[P("0x33a")][i]; if (r[P("0x180")][P("0x165")] === P("0xad5")) { for (var n = [], o = 0; o < r[P("0x180")].coordinates[0][P("0x0")]; o++) { n[P("0x17c")](r[P("0x180")].coordinates[0][o][0]), n[P("0x17c")](r[P("0x180")][P("0x2ed")][0][o][1]); } var a = new e.GeometryInstance({ geometry: e.PolygonGeometry[P("0x231")]({ positions: e.Cartesian3[P("0x1da")](n), vertexFormat: e[P("0x1b0")][P("0x1b1")] }), attributes: { color: e[P("0x184")][P("0x1b2")](this[P("0xac4")]) }, id: { tag: P("0xad7"), description: r } }), s = new e.GroundPrimitive({ geometryInstances: a, appearance: new e[P("0x16e")](), show: !0, classificationType: e[P("0x17a")].BOTH }); this[P("0xac8")][P("0x6d")](s); } else console[P("0x2e2")]("要素类型是" + r[P("0x180")][P("0x165")] + P("0xad6")); } this.viewer[P("0x10f")][P("0x17d")][P("0x6d")](this[P("0xac8")]); }, i.prototype[P("0xad8")] = function (e) { this.groundPrimitiveCollection && this[P("0xac8")][P("0xf4")](), this[P("0xad9")](e); }, i[P("0x5")].isContaintFeature = function (e) { return this[P("0xac8")][P("0xd1")](e[P("0x182")]); }, i[P("0x5")][P("0xaca")] = function () { if (!0 !== this.active) { this[P("0x69")] = !0; var t = this, i = null, r = null; t[P("0x16f")].setInputAction(function (n) { if (i && i.id && i.id[P("0x2cc")] == P("0xad7")) { if (r && r.id && i && i.id && i.id.description === r.id.description) return; i[P("0x182")][P("0x354")](i.id)[P("0x169")] = e.ColorGeometryInstanceAttribute[P("0x356")](t[P("0xac4")]), i = void 0; } for (var o = void 0, a = t.viewer[P("0x10f")].drillPick(n[P("0x64")], 10), s = 0; s < a[P("0x0")]; s++) { if (a[s] && a[s].id && a[s].id[P("0x2cc")] == P("0xad7")) { o = a[s]; break; } } if (e[P("0x14")](o) && (!r && o && o.id && o.id[P("0x2cc")] == P("0xad7") || o && o.id && r && r.id && o.id[P("0xada")] !== r.id.description)) { if (!t[P("0xadb")](o)) return; (i = o)[P("0x182")][P("0x354")](o.id).color = e[P("0x184")][P("0x356")](t[P("0xac6")]); } }, e.ScreenSpaceEventType[P("0x163")]), t[P("0x16f")][P("0x160")](function (n) { r && (r[P("0x182")][P("0x354")](r.id)[P("0x169")] = e[P("0x184")].toValue(t[P("0xac4")]), r = void 0); for (var o = void 0, a = t.viewer[P("0x10f")][P("0xadc")](n[P("0x8c")], 10), s = 0; s < a[P("0x0")]; s++) { if (a[s] && a[s].id && a[s].id[P("0x2cc")] == P("0xad7")) { o = a[s]; break; } } if (e[P("0x14")](o) && r !== o) { if (o && o.id && r !== o) { if (!t[P("0xadb")](o)) return; (r = o)[P("0x182")][P("0x354")](o.id)[P("0x169")] = e[P("0x184")][P("0x356")](t[P("0xadd")]), t.selectedFeature = r; } o && r && i && o.id === i.id && (i = void 0), o && o.id && t._seletedEvent[P("0x896")](o); } }, e.ScreenSpaceEventType.LEFT_CLICK); } }, i[P("0x5")][P("0xade")] = function () { !0 === this[P("0x69")] && (this[P("0x69")] = !1, this.selectedFeature && this.selectedFeature.id && (this.selectedFeature[P("0x182")][P("0x354")](this.selectedFeature.id)[P("0x169")] = e[P("0x184")][P("0x356")](this[P("0xac4")]), this.selectedFeature = null), this.handler[P("0x535")](e.ScreenSpaceEventType[P("0x163")]), this[P("0x16f")][P("0x535")](e[P("0x161")][P("0x17e")])); }, i[P("0x5")][P("0xf4")] = function () { this[P("0xade")](), this.handler = this.handler && this.handler.destroy(), this[P("0xac8")] = this[P("0xac8")] && this[P("0xac8")].destroy(), this.viewer = void 0, this[P("0xac1")] = void 0, this[P("0xac2")] = void 0, this[P("0xac4")] = void 0, this[P("0xac6")] = void 0, this[P("0xadd")] = void 0, this[P("0xac7")] = void 0; }, e[P("0xadf")] = i; }(window[P("0xfd")]), function (e) { var t = e[P("0x5f1")], i = e[P("0x10")], r = e[P("0x11")], n = e[P("0x12")], o = e[P("0x13")], a = e.defaultValue, s = e[P("0x14")], x = e[P("0xf")], l = e[P("0x15")], c = e[P("0xae0")], u = e[P("0x16")], h = e[P("0x282")], f = e[P("0x766")], d = e[P("0xa9")], g = e[P("0x17")], p = e[P("0xae1")], m = e[P("0x18")], b = e[P("0x23")], v = e.Matrix3, C = e[P("0x1b")], y = e[P("0xae2")], _ = e.OrthographicOffCenterFrustum, A = e[P("0xae3")], I = e[P("0x1d")], w = e.Ray, G = e[P("0x26b")], E = e[P("0x1f")], S = e[P("0xae4")], T = e[P("0x21")], M = e.SceneMode; function N(e) { if (!s(e)) throw new l(P("0x24")); this[P("0x42")] = e, this[P("0xae5")] = C[P("0x6e")](C[P("0xae")]), this[P("0xae6")] = C[P("0x6e")](C.IDENTITY), this[P("0xae7")] = C.clone(C[P("0xae")]), this._actualInvTransform = C[P("0x6e")](C[P("0xae")]), this[P("0xae8")] = !1, this[P("0xae9")] = !1, this[P("0x8c")] = new r(), this[P("0x6b6")] = new r(), this[P("0xaea")] = new r(), this._positionCartographic = new o(), this[P("0x93")] = new r(), this[P("0x6b7")] = new r(), this[P("0xaeb")] = new r(), this.up = new r(), this[P("0xaec")] = new r(), this[P("0xaed")] = new r(), this[P("0x9b")] = new r(), this[P("0xaee")] = new r(), this._rightWC = new r(), this[P("0xe8")] = new A(), this[P("0xe8")][P("0xaef")] = e[P("0x782")] / e[P("0x783")], this[P("0xe8")][P("0xaf0")] = b.toRadians(60), this[P("0xaf1")] = 1e5, this[P("0xaf2")] = Math.PI / 60, this[P("0xaf3")] = Math.PI / 3600, this[P("0xaf4")] = 1e5, this[P("0xc7")] = void 0, this[P("0xaf5")] = 1.5, this._moveStart = new f(), this[P("0xaf6")] = new f(), this[P("0xaf7")] = new f(), this._changedPosition = void 0, this[P("0xaf8")] = void 0, this[P("0xaf9")] = void 0, this[P("0xafa")] = 0.5, this[P("0x77a")] = new C(), this[P("0x77b")] = new C(), L(this), this._mode = M.SCENE3D, this[P("0xafb")] = !0; var t = e[P("0xbd")]; this[P("0xc6")] = t, this[P("0x59")] = t.project(new o(Math.PI, b.PI_OVER_TWO)), this[P("0xafc")] = void 0, this[P("0xafd")] = !1, Qe(this, N[P("0xafe")], this.position, !0); var i = r[P("0x96")](this.position); i += i * N[P("0xaff")], r[P("0x8d")](this[P("0x8c")], this[P("0x8c")]), r[P("0x6c")](this.position, i, this.position); } function L(e) { C[P("0xb03")](e[P("0x6b6")], e._direction, e[P("0xaec")], e[P("0xaee")], e[P("0x77a")]), C[P("0x737")](e[P("0x77a")], e._actualInvTransform, e._viewMatrix), C.inverseTransformation(e[P("0x77a")], e[P("0x77b")]); } N[P("0xb00")] = new C(0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), N[P("0xb01")] = C.inverseTransformation(N[P("0xb00")], new C()), N[P("0xafe")] = G[P("0x1a1")](-95, -20, -70, 90), N[P("0xaff")] = 0.5, N.DEFAULT_OFFSET = new d(0, -b[P("0xb02")], 0), N[P("0x5")][P("0xb04")] = function () { var e = this; if (0 !== e._changed[P("0xb05")]) { var t = e[P("0xafa")]; if (e[P("0x6b9")] !== M[P("0x85")]) { if (!s(e[P("0xaf8")])) return e[P("0xb06")] = r.clone(e[P("0xa5")], e[P("0xb06")]), void (e[P("0xaf8")] = r[P("0x6e")](e[P("0xa6")], e[P("0xaf8")])); var i, n = b[P("0x9d")](r[P("0x92")](e.directionWC, e[P("0xaf8")])); i = s(e.frustum[P("0xb07")]) ? n / (0.5 * e[P("0xe8")][P("0xb07")]) : n; var o = r[P("0x8e")](e.positionWC, e[P("0xb06")]) / e.positionCartographic[P("0x8b")]; (t < i || t < o) && (e._changed[P("0x896")](Math[P("0xee")](i, o)), e._changedPosition = r[P("0x6e")](e[P("0xa5")], e[P("0xb06")]), e._changedDirection = r[P("0x6e")](e[P("0xa6")], e[P("0xaf8")])); } else { if (!s(e._changedFrustum)) return e[P("0xb06")] = r[P("0x6e")](e[P("0x8c")], e._changedPosition), void (e[P("0xaf9")] = e[P("0xe8")][P("0x6e")]()); var a, x = e[P("0x8c")], l = e[P("0xb06")], c = e[P("0xe8")], u = e[P("0xaf9")], h = x.x + c[P("0x149")], f = x.x + c.right, d = l.x + u.left, g = l.x + u[P("0x9b")], p = x.y + c[P("0x9aa")], m = x.y + c[P("0x151")], v = l.y + u.bottom, C = l.y + u[P("0x151")], y = Math[P("0xee")](h, d), _ = Math[P("0x7d")](f, g), A = Math[P("0xee")](p, v), I = Math[P("0x7d")](m, C); if (_ <= y || m <= A) a = 1;else { var w = u; h < d && g < f && p < v && C < m && (w = c), a = 1 - (_ - y) * (I - A) / ((w.right - w.left) * (w[P("0x151")] - w.bottom)); } t < a && (e[P("0xaf7")].raiseEvent(a), e[P("0xb06")] = r.clone(e.position, e[P("0xb06")]), e[P("0xaf9")] = e[P("0xe8")].clone(e[P("0xaf9")])); } } }; var R = new C(), O = new o(); N[P("0x5")][P("0xb08")] = function () { var e = this[P("0x42")], t = e.screenSpaceCameraController, i = t[P("0x41")], n = t[P("0x3d")], o = t[P("0x30")]; if (!this[P("0xafd")] && i) { var a = this[P("0x6b9")], x = e[P("0xa3")]; if (s(x) && a !== M[P("0x85")] && a !== M.MORPHING) { var l, c, u = x[P("0xef")], h = e.mapProjection; C[P("0x84")](this[P("0xaf")], C[P("0xae")]) || (l = C[P("0x6e")](this[P("0xaf")], R), c = r.magnitude(this[P("0x8c")]), this[P("0xc2")](C.IDENTITY)); var f = O; a === M[P("0x90")] ? u.cartesianToCartographic(this.position, f) : h.unproject(this[P("0x8c")], f); var d = !1; if (f[P("0x8b")] < n) { var g = x[P("0xed")](f); s(g) && (g += o, f[P("0x8b")] < g && (f[P("0x8b")] = g, a === M[P("0x90")] ? u[P("0xa7")](f, this[P("0x8c")]) : h.project(f, this[P("0x8c")]), d = !0)); } s(l) && (this[P("0xc2")](l), d && (r[P("0x8d")](this[P("0x8c")], this[P("0x8c")]), r[P("0xc8")](this[P("0x8c")], this[P("0x93")]), r[P("0x6c")](this[P("0x8c")], Math[P("0xee")](c, o), this[P("0x8c")]), r[P("0x8d")](this[P("0x93")], this[P("0x93")]), r.cross(this[P("0x93")], this.up, this.right), r[P("0x99")](this[P("0x9b")], this[P("0x93")], this.up))); } } }; var F = new o(), D = new r(), U = new r(), k = new n(), B = new n(), W = new n(), j = new n(), V = new n(), z = new r(); function H(e) { var t = e[P("0x6b9")], i = !1, o = 0; t === M[P("0x85")] && (i = (o = e.frustum[P("0x9b")] - e.frustum.left) !== e[P("0x53b")].height); var a = e[P("0x6b6")], s = !r[P("0x84")](a, e[P("0x8c")]) || i; s && (a = r[P("0x6e")](e[P("0x8c")], e[P("0x6b6")])); var x = e[P("0x6b7")], l = !r[P("0x84")](x, e.direction); l && (r[P("0x8d")](e[P("0x93")], e[P("0x93")]), x = r[P("0x6e")](e[P("0x93")], e[P("0x6b7")])); var c = e[P("0xaec")], u = !r[P("0x84")](c, e.up); u && (r.normalize(e.up, e.up), c = r[P("0x6e")](e.up, e[P("0xaec")])); var h = e[P("0xaee")], f = !r[P("0x84")](h, e.right); f && (r[P("0x8d")](e[P("0x9b")], e[P("0x9b")]), h = r[P("0x6e")](e[P("0x9b")], e[P("0xaee")])); var d, g = e[P("0xae8")] || e[P("0xafb")]; e[P("0xae8")] = !1, g && (C[P("0xb0c")](e[P("0xae5")], e[P("0xae6")]), e._mode === M[P("0x8a")] || e[P("0x6b9")] === M.SCENE2D ? C.equals(C[P("0xae")], e[P("0xae5")]) ? C.clone(N[P("0xb00")], e[P("0xae7")]) : e[P("0x6b9")] === M[P("0x8a")] ? (d = e, E[P("0xb09")](d._projection, d[P("0xae5")], d._actualTransform)) : function (e) { var t = e[P("0xc6")], i = t.ellipsoid, o = C.getColumn(e._transform, 3, k), a = i[P("0xd6")](o, F), s = t[P("0x5a")](a, D), x = B; x.x = s.z, x.y = s.x, x.z = s.y, x.w = 1; var l = n.clone(n[P("0xb8")], V), c = n[P("0x6d")](C[P("0xb0a")](e[P("0xae5")], 0, U), o, U); i[P("0xd6")](c, a), t[P("0x5a")](a, s); var u = W; u.x = s.z, u.y = s.x, u.z = s.y, u.w = 0, r.subtract(u, x, u), u.x = 0; var h = j; if (r[P("0xe6")](u) > b.EPSILON10) r[P("0x99")](l, u, h);else { var f = n[P("0x6d")](C.getColumn(e[P("0xae5")], 1, U), o, U); i[P("0xd6")](f, a), t.project(a, s), h.x = s.z, h.y = s.x, h.z = s.y, h.w = 0, r.subtract(h, x, h), h.x = 0, r.magnitudeSquared(h) < b[P("0xb0b")] && (n[P("0x6e")](n.UNIT_Y, u), n[P("0x6e")](n[P("0xc3")], h)); } r[P("0x99")](h, l, u), r.normalize(u, u), r[P("0x99")](l, u, h), r.normalize(h, h), C[P("0x4e3")](e[P("0xae7")], 0, u, e[P("0xae7")]), C.setColumn(e[P("0xae7")], 1, h, e._actualTransform), C[P("0x4e3")](e._actualTransform, 2, l, e._actualTransform), C[P("0x4e3")](e[P("0xae7")], 3, x, e[P("0xae7")]); }(e) : C[P("0x6e")](e[P("0xae5")], e[P("0xae7")]), C[P("0xb0c")](e[P("0xae7")], e[P("0xb0d")]), e[P("0xafb")] = !1); var p = e._actualTransform; if (s || g) if (e[P("0xaea")] = C[P("0xd4")](p, a, e[P("0xaea")]), t === M[P("0x90")] || t === M.MORPHING) e[P("0x53b")] = e[P("0xc6")][P("0xef")][P("0xd6")](e._positionWC, e[P("0x53b")]);else { var m = z; m.x = e[P("0xaea")].y, m.y = e[P("0xaea")].z, m.z = e[P("0xaea")].x, t === M[P("0x85")] && (m.z = o), e._projection.unproject(m, e[P("0x53b")]); } if (l || u || f) { var v = r[P("0x92")](x, r.cross(c, h, z)); if (Math[P("0x78")](1 - v) > b[P("0xe9")]) { var y = 1 / r[P("0xe6")](c), _ = r[P("0x92")](c, x) * y, A = r[P("0x6c")](x, _, z); c = r[P("0x8d")](r[P("0x95")](c, A, e[P("0xaec")]), e._up), r[P("0x6e")](c, e.up), h = r[P("0x99")](x, c, e[P("0xaee")]), r[P("0x6e")](h, e[P("0x9b")]); } } (l || g) && (e[P("0xaeb")] = C[P("0x739")](p, x, e[P("0xaeb")]), r.normalize(e[P("0xaeb")], e[P("0xaeb")])), (u || g) && (e[P("0xaed")] = C[P("0x739")](p, c, e._upWC), r.normalize(e[P("0xaed")], e._upWC)), (f || g) && (e[P("0xb0e")] = C[P("0x739")](p, h, e._rightWC), r[P("0x8d")](e[P("0xb0e")], e[P("0xb0e")])), (s || l || u || f || g) && L(e); } function q(e, t) { var i; return i = b[P("0x62")](Math[P("0x78")](e.z), 1, b.EPSILON3) ? Math[P("0x9e7")](t.y, t.x) - b[P("0x5b")] : Math.atan2(e.y, e.x) - b[P("0x5b")], b[P("0xab")] - b[P("0xb0f")](i); } function X(e) { return b[P("0x5b")] - b[P("0x9d")](e.z); } function Y(e, t, i) { var r = 0; return b[P("0x62")](Math.abs(e.z), 1, b[P("0xdf")]) || (r = Math[P("0x9e7")](-i.z, t.z), r = b[P("0xb0f")](r + b[P("0xab")])), r; } var K = new C(), Q = new C(); x(N[P("0x5")], { transform: { get: function get() { return this._transform; } }, inverseTransform: { get: function get() { return H(this), this[P("0xae6")]; } }, viewMatrix: { get: function get() { return H(this), this[P("0x77a")]; } }, inverseViewMatrix: { get: function get() { return H(this), this._invViewMatrix; } }, positionCartographic: { get: function get() { return H(this), this[P("0x53b")]; } }, positionWC: { get: function get() { return H(this), this[P("0xaea")]; } }, directionWC: { get: function get() { return H(this), this._directionWC; } }, upWC: { get: function get() { return H(this), this[P("0xaed")]; } }, rightWC: { get: function get() { return H(this), this._rightWC; } }, heading: { get: function get() { if (this[P("0x6b9")] !== M[P("0xb10")]) { var e = this[P("0xc6")].ellipsoid, t = C.clone(this[P("0xae5")], K), i = E[P("0xbf")](this[P("0xa5")], e, Q); this._setTransform(i); var r = q(this[P("0x93")], this.up); return this[P("0xc2")](t), r; } } }, pitch: { get: function get() { if (this[P("0x6b9")] !== M[P("0xb10")]) { var e = this[P("0xc6")].ellipsoid, t = C[P("0x6e")](this._transform, K), i = E[P("0xbf")](this[P("0xa5")], e, Q); this._setTransform(i); var r = X(this[P("0x93")]); return this[P("0xc2")](t), r; } } }, roll: { get: function get() { if (this[P("0x6b9")] !== M[P("0xb10")]) { var e = this[P("0xc6")][P("0xef")], t = C[P("0x6e")](this[P("0xae5")], K), i = E[P("0xbf")](this[P("0xa5")], e, Q); this[P("0xc2")](i); var r = Y(this.direction, this.up, this.right); return this[P("0xc2")](t), r; } } }, moveStart: { get: function get() { return this[P("0xb11")]; } }, moveEnd: { get: function get() { return this[P("0xaf6")]; } }, changed: { get: function get() { return this[P("0xaf7")]; } } }), N[P("0x5")].update = function (e) { if (!s(e)) throw new l(P("0xb12")); if (e === M.SCENE2D && !(this[P("0xe8")] instanceof _)) throw new l(P("0xb13")); if (!(e !== M[P("0x90")] && e !== M[P("0x8a")] || this[P("0xe8")] instanceof A || this[P("0xe8")] instanceof y)) throw new l(P("0xb14")); var t = !1; if (e !== this[P("0x6b9")] && (this[P("0x6b9")] = e, this[P("0xafb")] = e !== M.MORPHING, t = this[P("0x6b9")] === M[P("0x85")]), t) { var i = this[P("0xafc")] = this[P("0xe8")][P("0x6e")](); if (!(i instanceof _)) throw new l(P("0xb15")); var r = i[P("0x151")] / i[P("0x9b")]; i[P("0x9b")] = 2 * this[P("0x59")].x, i.left = -i.right, i[P("0x151")] = r * i[P("0x9b")], i[P("0x9aa")] = -i[P("0x151")]; } this._mode === M[P("0x85")] && me(this, this[P("0x8c")]); var n = this._scene[P("0xa3")], o = !s(n) || n._surface[P("0xb16")].ready && 0 === n[P("0xa2e")][P("0xb17")].length && 0 === n[P("0xa2e")][P("0xb18")].length && 0 === n[P("0xa2e")][P("0xb19")].length && 0 === n._surface[P("0xb1a")][P("0xb1b")]; this[P("0xafd")] && (this[P("0xafd")] = !o), this[P("0xb08")](); }; var Z = new r(), J = new r(), $ = new r(); N[P("0x5")][P("0xc2")] = function (e) { var t = r[P("0x6e")](this[P("0xa5")], Z), i = r[P("0x6e")](this.upWC, J), n = r[P("0x6e")](this[P("0xa6")], $); C[P("0x6e")](e, this._transform), this[P("0xae8")] = !0, H(this); var o = this[P("0xb0d")]; C[P("0xd4")](o, t, this[P("0x8c")]), C[P("0x739")](o, n, this[P("0x93")]), C[P("0x739")](o, i, this.up), r.cross(this[P("0x93")], this.up, this.right), H(this); }; var ee = new i(), te = new w(), ie = new r(), re = new r(); N[P("0x5")][P("0x83")] = function (e) { if (this[P("0xe8")] instanceof y && (e || !(this[P("0x53b")].height < 15e4))) if (C[P("0x84")](C[P("0xae")], this[P("0xaf")])) { var t, i, n = this[P("0x42")], o = n[P("0x43")]; if (s(o)) { var a = ee; a.x = n[P("0x782")] / 2, a.y = n[P("0x783")] / 2; var x = this[P("0x86")](a, te); if (t = o[P("0xa4")](x, n, ie), n.pickPositionSupported && (i = n[P("0xb1c")](a, re)), s(t) && s(i)) { var l = s(i) ? r[P("0x8e")](i, this[P("0xa5")]) : Number[P("0x31")], c = s(t) ? r[P("0x8e")](t, this.positionWC) : Number[P("0x31")]; this[P("0xe8")][P("0x19a")] = Math[P("0x7d")](l, c); } else s(i) ? this[P("0xe8")][P("0x19a")] = r[P("0x8e")](i, this.positionWC) : s(t) && (this[P("0xe8")].width = r[P("0x8e")](t, this.positionWC)); } if (!s(o) || !s(t) && !s(i)) { var u = Math[P("0xee")](this.positionCartographic[P("0x8b")], 0); this.frustum[P("0x19a")] = u; } } else this[P("0xe8")][P("0x19a")] = r[P("0x96")](this[P("0x8c")]); }; var ne = new r(), oe = new C(), ae = new C(), se = new I(), xe = new v(), le = new o(), ce = new r(), ue = new r(), he = new r(); function fe(e, t, i, n) { var o = r.clone(i[P("0x93")], ce), a = r.clone(i.up, ue); if (e[P("0x42")][P("0xd3")] === M[P("0x90")]) { var s = e[P("0xc6")][P("0xef")], x = E[P("0xbf")](t, s, K), l = C[P("0xb0c")](x, Q); C[P("0x739")](l, o, o), C[P("0x739")](l, a, a); } var c = r[P("0x99")](o, a, he); return n.heading = q(o, a), n.pitch = X(o), n[P("0x81")] = Y(o, a, c), n; } var de = { destination: void 0, orientation: { direction: void 0, up: void 0, heading: void 0, pitch: void 0, roll: void 0 }, convert: void 0, endTransform: void 0 }, ge = new g(); N.prototype[P("0x9c")] = function (e) { e = a(e, a[P("0x128")]); var t = a(e[P("0x11e")], a[P("0x128")]), n = this[P("0x6b9")]; if (n !== M[P("0xb10")]) { s(e[P("0xb1f")]) && this[P("0xc2")](e.endTransform); var o = a(e.convert, !0), x = a(e[P("0x11d")], r.clone(this[P("0xa5")], ne)); s(x) && s(x[P("0x2a9")]) && (x = this[P("0xb20")](x, ne), o = !1), s(t[P("0x93")]) && (t = fe(this, x, t, de[P("0x11e")])), ge[P("0x7f")] = a(t[P("0x7f")], 0), ge[P("0x80")] = a(t.pitch, -b[P("0x5b")]), ge.roll = a(t[P("0x81")], 0), this[P("0xafd")] = !1, n === M[P("0x90")] ? function (e, t, i) { var n = C[P("0x6e")](e[P("0xaf")], oe), o = E[P("0xbf")](t, e[P("0xc6")][P("0xef")], ae); e[P("0xc2")](o), r[P("0x6e")](r.ZERO, e[P("0x8c")]), i[P("0x7f")] = i[P("0x7f")] - b[P("0x5b")]; var a = I.fromHeadingPitchRoll(i, se), s = v.fromQuaternion(a, xe); v[P("0xb0a")](s, 0, e[P("0x93")]), v[P("0xb0a")](s, 2, e.up), r.cross(e.direction, e.up, e[P("0x9b")]), e[P("0xc2")](n), e[P("0x83")](!0); }(this, x, ge) : n === M[P("0x85")] ? function (e, t, n, o) { var a = C[P("0x6e")](e[P("0xaf")], oe); if (e[P("0xc2")](C[P("0xae")]), !r[P("0x84")](t, e.positionWC)) { if (o) { var s = e[P("0xc6")], x = s[P("0xef")][P("0xd6")](t, le); t = s[P("0x5a")](x, ne); } i.clone(t, e.position); var l = 0.5 * -t.z, c = -l, u = e.frustum; if (l < c) { var h = u[P("0x151")] / u.right; u[P("0x9b")] = c, u[P("0x149")] = l, u[P("0x151")] = u.right * h, u[P("0x9aa")] = -u[P("0x151")]; } } if (e._scene.mapMode2D === T[P("0xb1d")]) { n.heading = n[P("0x7f")] - b[P("0x5b")], n[P("0x80")] = -b[P("0x5b")], n[P("0x81")] = 0; var f = I[P("0xb1e")](n, se), d = v[P("0xcd")](f, xe); v[P("0xb0a")](d, 2, e.up), r[P("0x99")](e[P("0x93")], e.up, e[P("0x9b")]); } e[P("0xc2")](a); }(this, x, ge, o) : function (e, t, i, n) { var o = C[P("0x6e")](e[P("0xaf")], oe); if (e._setTransform(C[P("0xae")]), !r[P("0x84")](t, e[P("0xa5")])) { if (n) { var a = e._projection, s = a[P("0xef")].cartesianToCartographic(t, le); t = a[P("0x5a")](s, ne); } r[P("0x6e")](t, e[P("0x8c")]); } i.heading = i[P("0x7f")] - b[P("0x5b")]; var x = I.fromHeadingPitchRoll(i, se), l = v[P("0xcd")](x, xe); v[P("0xb0a")](l, 0, e[P("0x93")]), v.getColumn(l, 2, e.up), r[P("0x99")](e[P("0x93")], e.up, e[P("0x9b")]), e[P("0xc2")](o), e[P("0x83")](!0); }(this, x, ge, o); } }; var pe = new r(); function me(e, t) { var i, r, n = e[P("0x42")].mapMode2D === T.ROTATE, o = e[P("0x59")].x, a = e[P("0x59")].y; i = n ? -(r = o) : (r = t.x - 2 * o, t.x + 2 * o), t.x > o && (t.x = r), t.x < -o && (t.x = i), t.y > a && (t.y = a), t.y < -a && (t.y = -a); } N[P("0x5")][P("0xb21")] = function (e) { var t = this[P("0x6b9")]; if (t === M.MORPHING && this[P("0x42")][P("0xb22")](), t === M.SCENE2D) this[P("0xb23")]({ destination: N.DEFAULT_VIEW_RECTANGLE, duration: e, endTransform: C[P("0xae")] });else if (t === M.SCENE3D) { var i = this[P("0xb20")](N[P("0xafe")]), n = r[P("0x96")](i); n += n * N[P("0xaff")], r.normalize(i, i), r[P("0x6c")](i, n, i), this[P("0xb23")]({ destination: i, duration: e, endTransform: C.IDENTITY }); } else if (t === M[P("0x8a")]) { var o = this[P("0xc6")][P("0xef")][P("0xc4")], a = new r(0, -1, 1); a = r.multiplyByScalar(r[P("0x8d")](a, a), 5 * o, a), this.flyTo({ destination: a, duration: e, orientation: { heading: 0, pitch: -Math[P("0xdc")](r[P("0x8d")](a, pe).z), roll: 0 }, endTransform: C[P("0xae")], convert: !1 }); } }, N.prototype[P("0xdb")] = function (e, t) { if (!s(e)) throw new l("cartesian is required."); return s(t) || (t = new n()), H(this), C[P("0xce")](this[P("0xb0d")], e, t); }, N[P("0x5")][P("0xc9")] = function (e, t) { if (!s(e)) throw new l(P("0xb24")); return s(t) || (t = new r()), H(this), C.multiplyByPoint(this[P("0xb0d")], e, t); }, N[P("0x5")][P("0xb25")] = function (e, t) { if (!s(e)) throw new l(P("0xb24")); return s(t) || (t = new r()), H(this), C[P("0x739")](this._actualInvTransform, e, t); }, N.prototype[P("0xb26")] = function (e, t) { if (!s(e)) throw new l(P("0xb24")); return s(t) || (t = new n()), H(this), C[P("0xce")](this._actualTransform, e, t); }, N[P("0x5")][P("0xb27")] = function (e, t) { if (!s(e)) throw new l(P("0xb24")); return s(t) || (t = new r()), H(this), C[P("0xd4")](this[P("0xae7")], e, t); }, N.prototype[P("0xb28")] = function (e, t) { if (!s(e)) throw new l(P("0xb24")); return s(t) || (t = new r()), H(this), C[P("0x739")](this[P("0xae7")], e, t); }; var be = new r(); N[P("0x5")][P("0xa0")] = function (e, t) { if (!s(e)) throw new l(P("0xb29")); var i = this.position; r.multiplyByScalar(e, t, be), r[P("0x6d")](i, be, i), this[P("0x6b9")] === M.SCENE2D && me(this, i), this[P("0x83")](!0); }, N[P("0x5")][P("0x584")] = function (e) { e = a(e, this[P("0xaf1")]), this[P("0xa0")](this[P("0x93")], e); }, N[P("0x5")][P("0x11c")] = function (e) { e = a(e, this[P("0xaf1")]), this[P("0xa0")](this[P("0x93")], -e); }, N[P("0x5")][P("0xb2a")] = function (e) { e = a(e, this[P("0xaf1")]), this[P("0xa0")](this.up, e); }, N[P("0x5")][P("0xb2b")] = function (e) { e = a(e, this[P("0xaf1")]), this.move(this.up, -e); }, N[P("0x5")][P("0xb2c")] = function (e) { e = a(e, this[P("0xaf1")]), this[P("0xa0")](this[P("0x9b")], e); }, N.prototype.moveLeft = function (e) { e = a(e, this.defaultMoveAmount), this[P("0xa0")](this[P("0x9b")], -e); }, N[P("0x5")][P("0xb2d")] = function (e) { e = a(e, this[P("0xaf2")]), this[P("0xe7")](this.up, -e); }, N.prototype[P("0x585")] = function (e) { e = a(e, this[P("0xaf2")]), this[P("0xe7")](this.up, e); }, N.prototype[P("0xeb")] = function (e) { e = a(e, this[P("0xaf2")]), this[P("0xe7")](this[P("0x9b")], -e); }, N[P("0x5")][P("0xb2e")] = function (e) { e = a(e, this[P("0xaf2")]), this.look(this[P("0x9b")], e); }; var ve = new I(), Ce = new v(); N.prototype[P("0xe7")] = function (e, t) { if (!s(e)) throw new l("axis is required."); var i = a(t, this[P("0xaf2")]), r = I[P("0xcc")](e, -i, ve), n = v[P("0xcd")](r, Ce), o = this.direction, x = this.up, c = this[P("0x9b")]; v.multiplyByVector(n, o, o), v[P("0xce")](n, x, x), v[P("0xce")](n, c, c); }, N[P("0x5")][P("0xb2f")] = function (e) { e = a(e, this[P("0xaf2")]), this.look(this.direction, e); }, N.prototype[P("0xac")] = function (e) { e = a(e, this[P("0xaf2")]), this[P("0xe7")](this.direction, -e); }; var ye = new I(), _e = new v(); N[P("0x5")][P("0x9e")] = function (e, t) { if (!s(e)) throw new l(P("0xb30")); var i = a(t, this[P("0xaf3")]), n = I[P("0xcc")](e, -i, ye), o = v[P("0xcd")](n, _e); v.multiplyByVector(o, this[P("0x8c")], this.position), v.multiplyByVector(o, this[P("0x93")], this[P("0x93")]), v[P("0xce")](o, this.up, this.up), r[P("0x99")](this[P("0x93")], this.up, this[P("0x9b")]), r[P("0x99")](this[P("0x9b")], this.direction, this.up), this[P("0x83")](!1); }, N[P("0x5")][P("0xb31")] = function (e) { Ee(this, e = a(e, this.defaultRotateAmount)); }, N[P("0x5")][P("0xda")] = function (e) { Ee(this, -(e = a(e, this[P("0xaf3")]))); }; var Ae = new r(), Ie = new r(), we = new r(), Ge = new r(); function Ee(e, t) { var i = e.position, n = r.normalize(i, Ae); if (s(e[P("0xc7")])) { var o = r[P("0x62")](n, e[P("0xc7")], b[P("0xe9")]), a = r.equalsEpsilon(n, r.negate(e[P("0xc7")], Ge), b[P("0xe9")]); if (o || a) (o && t < 0 || a && 0 < t) && e[P("0x9e")](e[P("0x9b")], t);else { var x = r.normalize(e[P("0xc7")], Ie), l = r[P("0x92")](n, x), c = b[P("0x9d")](l); 0 < t && c < t && (t = c - b[P("0xea")]), l = r[P("0x92")](n, r[P("0xc8")](x, Ge)), c = b.acosClamped(l), t < 0 && c < -t && (t = -c + b[P("0xea")]); var u = r[P("0x99")](x, n, we); e.rotate(u, t); } } else e[P("0x9e")](e[P("0x9b")], t); } function Se(e, t) { s(e[P("0xc7")]) ? e[P("0x9e")](e.constrainedAxis, t) : e[P("0x9e")](e.up, t); } function Te(e, t) { var i, r = e[P("0xe8")]; if (!(r instanceof _ && s(r.left) && s(r[P("0x9b")]) && s(r[P("0x9aa")]) && s(r[P("0x151")]))) throw new l(P("0xb15")); if (t *= 0.5, Math.abs(r[P("0x151")]) + Math[P("0x78")](r[P("0x9aa")]) > Math.abs(r.left) + Math[P("0x78")](r[P("0x9b")])) { var n = r[P("0x151")] - t, o = r[P("0x9aa")] + t, a = e[P("0x59")].y; e._scene[P("0xad")] === T[P("0xb1d")] && (a *= e[P("0xaf5")]), a < o && (n = -(o = a)), n <= o && (o = -(n = 1)), i = r.right / r.top, r.top = n, r[P("0x9aa")] = o, r.right = r[P("0x151")] * i, r[P("0x149")] = -r[P("0x9b")]; } else { var x = r[P("0x9b")] - t, c = r[P("0x149")] + t, u = e._maxCoord.x; e[P("0x42")][P("0xad")] === T[P("0xb1d")] && (u *= e[P("0xaf5")]), u < x && (c = -(x = u)), x <= c && (c = -(x = 1)), i = r[P("0x151")] / r.right, r.right = x, r[P("0x149")] = c, r[P("0x151")] = r[P("0x9b")] * i, r[P("0x9aa")] = -r[P("0x151")]; } } function Pe(e, t) { e[P("0xa0")](e.direction, t); } N.prototype[P("0xd8")] = function (e) { Se(this, -(e = a(e, this[P("0xaf3")]))); }, N[P("0x5")][P("0xb32")] = function (e) { Se(this, e = a(e, this[P("0xaf3")])); }, N[P("0x5")][P("0x82")] = function (e) { e = a(e, this[P("0xaf4")]), this[P("0x6b9")] === M[P("0x85")] ? Te(this, e) : Pe(this, e); }, N.prototype[P("0xb33")] = function (e) { e = a(e, this[P("0xaf4")]), this[P("0x6b9")] === M.SCENE2D ? Te(this, -e) : Pe(this, -e); }, N[P("0x5")][P("0x8f")] = function () { return this[P("0x6b9")] === M.SCENE3D ? r[P("0x96")](this[P("0x8c")]) : this._mode === M.COLUMBUS_VIEW ? Math.abs(this[P("0x8c")].z) : this[P("0x6b9")] === M[P("0x85")] ? Math[P("0xee")](this[P("0xe8")][P("0x9b")] - this[P("0xe8")][P("0x149")], this[P("0xe8")][P("0x151")] - this[P("0xe8")].bottom) : void 0; }; var Me = new C(); N[P("0x5")][P("0x50a")] = function (e, t) { if (!s(e)) throw new l("target is required"); if (!s(t)) throw new l(P("0xb34")); if (this._mode === M[P("0xb10")]) throw new l(P("0xb35")); var i = E[P("0xbf")](e, u[P("0x110")], Me); this.lookAtTransform(i, t); }; var Ne = new r(), Le = new I(), Re = new I(), Oe = new v(); function Fe(e, t, i) { t = b[P("0x77")](t, -b[P("0x5b")], b[P("0x5b")]), e = b.zeroToTwoPi(e) - b[P("0x5b")]; var n = I[P("0xcc")](r[P("0xb36")], -t, Le), o = I[P("0xcc")](r[P("0xc3")], -e, Re), a = I[P("0x737")](o, n, o), s = v[P("0xcd")](a, Oe), x = r.clone(r[P("0xb8")], Ne); return v[P("0xce")](s, x, x), r[P("0xc8")](x, x), r.multiplyByScalar(x, i, x), x; } N[P("0x5")].lookAtTransform = function (e, t) { if (!s(e)) throw new l(P("0xb37")); if (this._mode === M[P("0xb10")]) throw new l(P("0xb38")); if (this[P("0xc2")](e), s(t)) { var n; if (n = s(t[P("0x7f")]) ? Fe(t[P("0x7f")], t[P("0x80")], t[P("0x55c")]) : t, this._mode === M[P("0x85")]) { i[P("0x6e")](i[P("0x6f")], this[P("0x8c")]), r[P("0xc8")](n, this.up), this.up.z = 0, r.magnitudeSquared(this.up) < b.EPSILON10 && r.clone(r[P("0xb36")], this.up), r[P("0x8d")](this.up, this.up), this[P("0xc2")](C[P("0xae")]), r[P("0xc8")](r.UNIT_Z, this.direction), r.cross(this[P("0x93")], this.up, this.right), r[P("0x8d")](this[P("0x9b")], this.right); var o = this[P("0xe8")], a = o[P("0x151")] / o[P("0x9b")]; return o[P("0x9b")] = 0.5 * r[P("0x96")](n), o.left = -o[P("0x9b")], o.top = a * o[P("0x9b")], o[P("0x9aa")] = -o.top, void this[P("0xc2")](e); } r[P("0x6e")](n, this[P("0x8c")]), r[P("0xc8")](this[P("0x8c")], this[P("0x93")]), r[P("0x8d")](this[P("0x93")], this[P("0x93")]), r.cross(this.direction, r[P("0xc3")], this.right), r[P("0xe6")](this[P("0x9b")]) < b[P("0xb0b")] && r[P("0x6e")](r[P("0xb8")], this[P("0x9b")]), r.normalize(this.right, this[P("0x9b")]), r[P("0x99")](this[P("0x9b")], this[P("0x93")], this.up), r[P("0x8d")](this.up, this.up), this[P("0x83")](!0); } }; var De, Ue = new o(), ke = new o(), Be = new r(), We = new r(), je = new r(), Ve = new r(), ze = new r(), He = new r(), qe = new r(), Xe = new r(), Ye = { direction: new r(), right: new r(), up: new r() }; function Ke(e, t, i, n) { return Math.abs(r[P("0x92")](t, i)) / n - r[P("0x92")](e, i); } function Qe(e, t, i, n) { var o = e[P("0xc6")][P("0xef")], a = n ? e : Ye, x = t[P("0x2ac")], l = t[P("0x2ab")], c = t[P("0x2aa")], u = t[P("0x2a9")]; c < u && (c += b[P("0xab")]); var f, d = 0.5 * (u + c); if (l < -b[P("0x5b")] + b[P("0xa2c")] && x > b.PI_OVER_TWO - b[P("0xa2c")]) f = 0;else { var g = Ue; g[P("0x112")] = d, g[P("0x114")] = x, g.height = 0; var p = ke; p[P("0x112")] = d, p[P("0x114")] = l, p[P("0x8b")] = 0; var m = De; s(m) && m[P("0xef")] === o || (De = m = new h(void 0, void 0, o)), m[P("0xb39")](g, p), f = m[P("0x283")](0.5, Ue).latitude; } var v = Ue; v[P("0x112")] = d, v[P("0x114")] = f, v[P("0x8b")] = 0; var C = o[P("0xa7")](v, qe), _ = Ue; _[P("0x112")] = c, _.latitude = x; var A = o[P("0xa7")](_, Be); _[P("0x112")] = u; var I = o.cartographicToCartesian(_, je); _.longitude = d; var w = o[P("0xa7")](_, ze); _.latitude = l; var G = o[P("0xa7")](_, He); _[P("0x112")] = c; var E = o[P("0xa7")](_, Ve); _[P("0x112")] = u; var S = o[P("0xa7")](_, We); r[P("0x95")](I, C, I), r[P("0x95")](E, C, E), r.subtract(A, C, A), r[P("0x95")](S, C, S), r[P("0x95")](w, C, w), r[P("0x95")](G, C, G); var T = o[P("0xd5")](C, a[P("0x93")]); r.negate(T, T); var M = r.cross(T, r[P("0xc3")], a.right); r[P("0x8d")](M, M); var N, L = r[P("0x99")](M, T, a.up); if (e[P("0xe8")] instanceof y) { var R, O, F = Math.max(r[P("0x8e")](A, I), r[P("0x8e")](E, S)), D = Math[P("0xee")](r.distance(A, E), r[P("0x8e")](I, S)), U = e[P("0xe8")][P("0xb3a")].right / e[P("0xe8")]._offCenterFrustum[P("0x151")], k = D * U; k < F ? O = (R = F) / U : (O = D, R = k), N = Math[P("0xee")](R, O); } else { var B = Math.tan(0.5 * e[P("0xe8")][P("0xb07")]), W = e[P("0xe8")][P("0xaef")] * B; if (N = Math[P("0xee")](Ke(T, L, I, B), Ke(T, L, E, B), Ke(T, L, A, B), Ke(T, L, S, B), Ke(T, L, w, B), Ke(T, L, G, B), Ke(T, M, I, W), Ke(T, M, E, W), Ke(T, M, A, W), Ke(T, M, S, W), Ke(T, M, w, W), Ke(T, M, G, W)), l < 0 && 0 < x) { var j = Ue; j[P("0x112")] = u, j[P("0x114")] = 0, j[P("0x8b")] = 0; var V = o.cartographicToCartesian(j, Xe); r[P("0x95")](V, C, V), N = Math[P("0xee")](N, Ke(T, L, V, B), Ke(T, M, V, W)), j.longitude = c, V = o.cartographicToCartesian(j, Xe), r[P("0x95")](V, C, V), N = Math.max(N, Ke(T, L, V, B), Ke(T, M, V, W)); } } return r[P("0x6d")](C, r[P("0x6c")](T, -N, Xe), i); } var Ze = new o(), Je = new r(), $e = new r(), et = new o(), tt = new r(), it = new r(); N[P("0x5")][P("0xb20")] = function (e, t) { if (!s(e)) throw new l(P("0xb3c")); var i = this[P("0x6b9")]; return s(t) || (t = new r()), i === M[P("0x90")] ? Qe(this, e, t) : i === M[P("0x8a")] ? function (e, t, i) { var r = e[P("0xc6")]; t.west > t[P("0x2aa")] && (t = G[P("0xb3b")]); var n = e[P("0xae7")], o = e[P("0xb0d")], a = Ze; a[P("0x112")] = t[P("0x2aa")], a[P("0x114")] = t.north; var x = r.project(a, Je); C[P("0xd4")](n, x, x), C[P("0xd4")](o, x, x), a[P("0x112")] = t[P("0x2a9")], a[P("0x114")] = t.south; var l = r[P("0x5a")](a, $e); if (C[P("0xd4")](n, l, l), C.multiplyByPoint(o, l, l), i.x = 0.5 * (x.x - l.x) + l.x, i.y = 0.5 * (x.y - l.y) + l.y, s(e[P("0xe8")][P("0xb07")])) { var c = Math[P("0x992")](0.5 * e[P("0xe8")][P("0xb07")]), u = e.frustum[P("0xaef")] * c; i.z = 0.5 * Math[P("0xee")]((x.x - l.x) / u, (x.y - l.y) / c); } else { var h = x.x - l.x, f = x.y - l.y; i.z = Math[P("0xee")](h, f); } return i; }(this, e, t) : i === M.SCENE2D ? function (e, t, i) { var r = e._projection; t.west > t[P("0x2aa")] && (t = G[P("0xb3b")]); var n = et; n[P("0x112")] = t.east, n[P("0x114")] = t[P("0x2ac")]; var o = r.project(n, tt); n[P("0x112")] = t.west, n[P("0x114")] = t.south; var a, s, x = r[P("0x5a")](n, it), l = 0.5 * Math[P("0x78")](o.x - x.x), c = 0.5 * Math.abs(o.y - x.y), u = e[P("0xe8")][P("0x9b")] / e[P("0xe8")].top, h = c * u; return h < l ? s = (a = l) / u : (s = c, a = h), c = Math[P("0xee")](2 * a, 2 * s), i.x = 0.5 * (o.x - x.x) + x.x, i.y = 0.5 * (o.y - x.y) + x.y, (n = r[P("0xbe")](i, n))[P("0x8b")] = c, r[P("0x5a")](n, i); }(this, e, t) : void 0; }; var rt = new w(), nt = new w(), ot = new w(); N[P("0x5")][P("0xa2")] = function (e, t, i) { if (!s(e)) throw new l(P("0xb3d")); var n = this[P("0x42")][P("0x48")]; if (0 !== n.clientWidth && 0 !== n[P("0x7c")]) { if (s(i) || (i = new r()), t = a(t, u[P("0x110")]), this._mode === M[P("0x90")]) i = function (e, t, i, r) { i = a(i, u[P("0x110")]); var n = e.getPickRay(t, rt), o = m[P("0xe0")](n, i); if (o) { var s = 0 < o[P("0xe2")] ? o[P("0xe2")] : o[P("0xe4")]; return w.getPoint(n, s, r); } }(this, e, t, i);else if (this._mode === M[P("0x85")]) i = function (e, t, i, r) { var n = e[P("0x86")](t, nt)[P("0x87")]; n.z = 0; var o = i[P("0xbe")](n); if (!(o[P("0x114")] < -b[P("0x5b")] || o.latitude > b[P("0x5b")])) return i.ellipsoid[P("0xa7")](o, r); }(this, e, this[P("0xc6")], i);else { if (this[P("0x6b9")] !== M[P("0x8a")]) return; i = function (e, t, i, n) { var o = e.getPickRay(t, ot), a = -o[P("0x87")].x / o[P("0x93")].x; w[P("0xe1")](o, a, n); var s = i.unproject(new r(n.y, n.z, 0)); if (!(s[P("0x114")] < -b[P("0x5b")] || s[P("0x114")] > b[P("0x5b")] || s[P("0x112")] < -Math.PI || s.longitude > Math.PI)) return i[P("0xef")][P("0xa7")](s, n); }(this, e, this[P("0xc6")], i); } return i; } }; var at = new r(), st = new r(), xt = new r(), lt = new r(); N[P("0x5")][P("0x86")] = function (e, t) { if (!s(e)) throw new l(P("0xb3d")); s(t) || (t = new w()); var i = this[P("0xe8")]; return s(i[P("0xaef")]) && s(i[P("0xaf0")]) && s(i[P("0xb3e")]) ? function (e, t, i) { var n = e[P("0x42")].canvas, o = n[P("0x94")], a = n[P("0x7c")], s = Math[P("0x992")](0.5 * e[P("0xe8")].fovy), x = e.frustum[P("0xaef")] * s, l = e.frustum.near, c = 2 / o * t.x - 1, u = 2 / a * (a - t.y) - 1, h = e[P("0xa5")]; r[P("0x6e")](h, i[P("0x87")]); var f = r[P("0x6c")](e[P("0xa6")], l, at); r[P("0x6d")](h, f, f); var d = r[P("0x6c")](e.rightWC, c * l * x, st), g = r[P("0x6c")](e.upWC, u * l * s, xt), p = r[P("0x6d")](f, d, i[P("0x93")]); return r[P("0x6d")](p, g, p), r[P("0x95")](p, h, p), r[P("0x8d")](p, p), i; }(this, e, t) : function (e, t, i) { var n = e[P("0x42")].canvas, o = n[P("0x94")], a = n[P("0x7c")], x = e.frustum; s(x._offCenterFrustum) && (x = x._offCenterFrustum); var l = 2 / o * t.x - 1; l *= 0.5 * (x[P("0x9b")] - x[P("0x149")]); var c = 2 / a * (a - t.y) - 1; c *= 0.5 * (x.top - x[P("0x9aa")]); var u = i.origin; return r[P("0x6e")](e.position, u), r[P("0x6c")](e.right, l, lt), r.add(lt, u, u), r.multiplyByScalar(e.up, c, lt), r[P("0x6d")](lt, u, u), r[P("0x6e")](e[P("0xa6")], i[P("0x93")]), e[P("0x6b9")] === M[P("0x8a")] && r[P("0x88")](i[P("0x87")].z, i[P("0x87")].x, i.origin.y, i[P("0x87")]), i; }(this, e, t); }; var ct = new r(), ut = new r(); N[P("0x5")][P("0xb3f")] = function (e) { if (!s(e)) throw new l(P("0xb40")); var t = r[P("0x95")](this[P("0xa5")], e[P("0x11a")], ct), i = r[P("0x6c")](this[P("0xa6")], r[P("0x92")](t, this[P("0xa6")]), ut); return Math[P("0xee")](0, r[P("0x96")](i) - e[P("0x181")]); }; var ht = new i(); function ft(e, t, i, n, o, a) { var s = r.clone(t); return i.y > n ? s.y -= i.y - n : i.y < -n && (s.y += -n - i.y), i.z > o ? s.z -= i.z - o : i.z < -o && (s.z += -o - i.z), { easingFunction: c[P("0xb44")], startObject: { time: 0 }, stopObject: { time: 1 }, duration: a, update: function update(i) { var n = r[P("0x308")](t, s, i.time, new r()); e[P("0xc9")](n, e[P("0x8c")]); } }; } N.prototype[P("0xb41")] = function (e, t, i) { if (!s(e)) throw new l(P("0xb40")); if (!s(t)) throw new l("drawingBufferWidth is required."); if (!s(i)) throw new l(P("0xb42")); var r = this[P("0xb3f")](e), n = this.frustum[P("0xb43")](t, i, r, ht); return Math[P("0xee")](n.x, n.y); }; var dt = new r(), gt = new r(), pt = new r(), mt = new r(); N[P("0x5")][P("0xb45")] = function (e) { if (!s(e)) throw new l(P("0xb46")); if (this[P("0x6b9")] === M[P("0x8a")]) return function (e, t) { var i = e[P("0x8c")], n = e[P("0x93")], o = e.worldToCameraCoordinatesVector(r[P("0xb8")], dt), a = -r[P("0x92")](o, i) / r[P("0x92")](o, n), s = r[P("0x6d")](i, r[P("0x6c")](n, a, gt), gt); e[P("0xb27")](s, s), i = e[P("0xb27")](e.position, pt); var x = Math[P("0x992")](0.5 * e[P("0xe8")][P("0xb07")]), l = e[P("0xe8")][P("0xaef")] * x, c = r.magnitude(r[P("0x95")](i, s, mt)), u = l * c, h = x * c, f = e._maxCoord.x, d = e[P("0x59")].y, g = Math.max(u - f, f), p = Math[P("0xee")](h - d, d); if (i.z < -g || i.z > g || i.y < -p || i.y > p) { var m = s.y < -g || s.y > g, b = s.z < -p || s.z > p; if (m || b) return ft(e, i, s, g, p, t); } }(this, e); }; var bt = new r(), vt = { destination: void 0, heading: void 0, pitch: void 0, roll: void 0, duration: void 0, complete: void 0, cancel: void 0, endTransform: void 0, maximumHeight: void 0, easingFunction: void 0 }; function Ct(e, t, i) { s(i) || (i = d[P("0x6e")](N[P("0xb52")])); var r, n, o, a, x = e[P("0x42")][P("0x24f")][P("0x30")], l = e[P("0x42")][P("0x24f")][P("0x79")], c = i[P("0x55c")]; if (!s(c) || 0 === c) { var u = t[P("0x181")]; 0 === u ? i[P("0x55c")] = 100 : e.frustum instanceof y || e[P("0x6b9")] === M[P("0x85")] ? i[P("0x55c")] = function (e, t) { var i, r, n = e[P("0xe8")]; s(n[P("0xb3a")]) && (n = n[P("0xb3a")]); var o = n[P("0x9b")] / n.top, a = t * o; return a < t ? r = (i = t) / o : (r = t, i = a), 1.5 * Math[P("0xee")](i, r); }(e, u) : i[P("0x55c")] = (r = u, n = e[P("0xe8")], o = Math[P("0x992")](0.5 * n[P("0xb07")]), a = n[P("0xaef")] * o, Math[P("0xee")](r / a, r / o)), i[P("0x55c")] = b[P("0x77")](i.range, x, l); } return i; } N[P("0x5")].cancelFlight = function () { s(this[P("0xb47")]) && (this._currentFlight.cancelTween(), this[P("0xb47")] = void 0); }, N[P("0x5")][P("0xb23")] = function (e) { var t = (e = a(e, a.EMPTY_OBJECT)).destination; if (!s(t)) throw new l(P("0xb48")); if (this[P("0x6b9")] !== M[P("0xb10")]) { this[P("0xb49")](); var i = a(e[P("0x11e")], a.EMPTY_OBJECT); if (s(i[P("0x93")]) && (i = fe(this, t, i, de[P("0x11e")])), s(e[P("0x763")]) && e.duration <= 0) { var r = de; return r[P("0x11d")] = e[P("0x11d")], r[P("0x11e")][P("0x7f")] = i[P("0x7f")], r[P("0x11e")][P("0x80")] = i[P("0x80")], r[P("0x11e")][P("0x81")] = i[P("0x81")], r[P("0xb4a")] = e[P("0xb4a")], r[P("0xb1f")] = e[P("0xb1f")], this[P("0x9c")](r), void ("function" == typeof e[P("0xb4b")] && e[P("0xb4b")]()); } var n = s(t[P("0x2a9")]); n && (t = this[P("0xb20")](t, bt)); var o, x = this; vt[P("0x11d")] = t, vt[P("0x7f")] = i.heading, vt[P("0x80")] = i[P("0x80")], vt.roll = i[P("0x81")], vt[P("0x763")] = e[P("0x763")], vt[P("0xb4b")] = function () { o === x[P("0xb47")] && (x[P("0xb47")] = void 0), s(e[P("0xb4b")]) && e[P("0xb4b")](); }, vt[P("0xb4c")] = e[P("0xb4c")], vt[P("0xb1f")] = e[P("0xb1f")], vt[P("0xb4a")] = !n && e.convert, vt.maximumHeight = e[P("0x46d")], vt[P("0xb4d")] = e.pitchAdjustHeight, vt.flyOverLongitude = e[P("0xb4e")], vt[P("0xb4f")] = e[P("0xb4f")], vt[P("0xb50")] = e[P("0xb50")]; var c = this[P("0x42")]; o = c.tweens[P("0x6d")](S[P("0xb51")](c, vt)), this[P("0xb47")] = o; } }, N[P("0x5")].viewBoundingSphere = function (e, t) { if (!s(e)) throw new l(P("0xb40")); if (this[P("0x6b9")] === M[P("0xb10")]) throw new l(P("0xb53")); t = Ct(this, e, t), this[P("0x50a")](e[P("0x11a")], t); }; var yt = new C(), _t = new r(), At = new r(), It = new r(), wt = new r(), Gt = new n(), Et = new I(), St = new v(); N.prototype[P("0xa8")] = function (e, t) { if (!s(e)) throw new l(P("0xb40")); t = a(t, a.EMPTY_OBJECT); var i = this[P("0x6b9")] === M[P("0x85")] || this._mode === M.COLUMBUS_VIEW; this[P("0xc2")](C[P("0xae")]); var n, o = Ct(this, e, t[P("0xa4a")]); n = i ? r[P("0x6c")](r[P("0xc3")], o.range, _t) : Fe(o[P("0x7f")], o[P("0x80")], o[P("0x55c")]); var x, c, h = E.eastNorthUpToFixedFrame(e[P("0x11a")], u[P("0x110")], yt); if (C[P("0xd4")](h, n, n), !i) { if (x = r[P("0x95")](e[P("0x11a")], n, At), r[P("0x8d")](x, x), c = C[P("0x739")](h, r[P("0xc3")], It), 1 - Math.abs(r[P("0x92")](x, c)) < b[P("0xbb")]) { var f = I.fromAxisAngle(x, o.heading, Et), d = v.fromQuaternion(f, St); r[P("0xb54")](C[P("0xb0a")](h, 1, Gt), c), v[P("0xce")](d, c, c); } var g = r.cross(x, c, wt); r[P("0x99")](g, x, c), r[P("0x8d")](c, c); } this[P("0xb23")]({ destination: n, orientation: { direction: x, up: c }, duration: t[P("0x763")], complete: t[P("0xb4b")], cancel: t[P("0xb4c")], endTransform: t[P("0xb1f")], maximumHeight: t[P("0x46d")], easingFunction: t[P("0xb50")], flyOverLongitude: t[P("0xb4e")], flyOverLongitudeWeight: t[P("0xb4f")], pitchAdjustHeight: t[P("0xb4d")] }); }; var Tt = new r(), Pt = new r(), Mt = new r(), Nt = new r(), Lt = [new r(), new r(), new r(), new r()], Rt = new i(), Ot = new r(), Ft = [new o(), new o(), new o(), new o()]; function Dt(e, t, i, r, n, o) { Rt.x = e, Rt.y = t; var a = r[P("0xa2")](Rt, n, Ot); return s(a) ? (Ft[i] = n[P("0xd6")](a, Ft[i]), 1) : (Ft[i] = n[P("0xd6")](o[i], Ft[i]), 0); } N.prototype.computeViewRectangle = function (e, i) { e = a(e, u.WGS84); var n = this[P("0xe8")].computeCullingVolume(this.positionWC, this[P("0xa6")], this[P("0xb58")]), o = new t(r.ZERO, e[P("0xc4")]); if (n[P("0xb59")](o) !== p.OUTSIDE) { var s = this._scene[P("0x48")], x = s.clientWidth, l = s.clientHeight, c = 0, h = function (e, t) { var i, n, o = t[P("0xb55")], a = e.positionWC, s = r[P("0xb56")](t[P("0xb57")], a, Tt), x = r[P("0x96")](s), l = r[P("0x8d")](s, Pt); n = r[P("0x62")](l, r[P("0xc3")], b[P("0xb0b")]) ? (i = new r(0, 1, 0), new r(0, 0, 1)) : (i = r[P("0x8d")](r[P("0x99")](r[P("0xc3")], l, Mt), Mt), r.normalize(r[P("0x99")](l, i, Nt), Nt)); var c = Math.sqrt(r.magnitudeSquared(s) - 1), u = r[P("0x6c")](l, 1 / x, Tt), h = c / x, f = r[P("0x6c")](i, h, Pt), d = r[P("0x6c")](n, h, Mt), g = r[P("0x6d")](u, d, Lt[0]); r[P("0x95")](g, f, g), r.multiplyComponents(o, g, g); var p = r.subtract(u, d, Lt[1]); r[P("0x95")](p, f, p), r.multiplyComponents(o, p, p); var m = r[P("0x95")](u, d, Lt[2]); r[P("0x6d")](m, f, m), r[P("0xb56")](o, m, m); var v = r.add(u, d, Lt[3]); return r[P("0x6d")](v, f, v), r[P("0xb56")](o, v, v), Lt; }(this, e); if (c += Dt(0, 0, 0, this, e, h), c += Dt(0, l, 1, this, e, h), c += Dt(x, l, 2, this, e, h), (c += Dt(x, 0, 3, this, e, h)) < 2) return G[P("0xb3b")]; i = G[P("0xb5a")](Ft, i); for (var f = 0, d = Ft[3][P("0x112")], g = 0; g < 4; ++g) { var m = Ft[g][P("0x112")], v = Math.abs(m - d); v > b.PI ? f += b.TWO_PI - v : f += v, d = m; } return b.equalsEpsilon(Math[P("0x78")](f), b.TWO_PI, b[P("0xb5b")]) && (i[P("0x2a9")] = -b.PI, i[P("0x2aa")] = b.PI, 0 <= Ft[0][P("0x114")] ? i.north = b[P("0x5b")] : i[P("0x2ab")] = -b.PI_OVER_TWO), i; } }, N.prototype[P("0xb5c")] = function () { if (!(this._mode === M[P("0x85")] || this.frustum instanceof A)) { var e = this[P("0x42")]; this[P("0xe8")] = new A(), this.frustum[P("0xaef")] = e[P("0x782")] / e[P("0x783")], this.frustum.fov = b[P("0x119")](60); } }, N[P("0x5")][P("0xb5d")] = function () { if (!(this._mode === M[P("0x85")] || this.frustum instanceof y)) { var e = this._scene; this[P("0xe8")] = new y(), this[P("0xe8")][P("0xaef")] = e.drawingBufferWidth / e[P("0x783")], this[P("0xe8")][P("0x19a")] = r.magnitude(this.position); var t = this.frustum[P("0xb5e")]; s(t) && this[P("0x83")](!0); } }, N[P("0x6e")] = function (e, t) { return s(t) || (t = new N(e[P("0x42")])), r.clone(e[P("0x8c")], t[P("0x8c")]), r[P("0x6e")](e[P("0x93")], t[P("0x93")]), r.clone(e.up, t.up), r[P("0x6e")](e[P("0x9b")], t[P("0x9b")]), C.clone(e[P("0xae5")], t[P("0xaf")]), t[P("0xae8")] = !0, t; }, e.GeoCamera = N; }(window[P("0xfd")]), function (e) { var t = e[P("0x10")], i = e.defined, r = e[P("0xf")], n = e[P("0x22b")], o = e.DeveloperError, a = e[P("0x19")], s = e[P("0x23")], x = e[P("0x15f")], l = e[P("0x161")], c = e[P("0xb5f")]; function u(e, t) { var r = e; return i(t) && (r += "+" + t), r; } function h(e, r, n) { var o = u(c[P("0x35")], r), a = e[P("0xb60")], s = e[P("0xb61")], x = e._eventStartPosition, h = e._pressTime, f = e._releaseTime; a[o] = !0, s[o] = !1, x[o] = new t(); var d = e[P("0xb62")][o]; i(d) || (d = e[P("0xb62")][o] = {}), d[P("0x8e")] = { startPosition: new t(), endPosition: new t() }, d[P("0xaa")] = { startPosition: new t(), endPosition: new t() }, d[P("0xb63")] = 0, e._eventHandler[P("0x160")](function (i) { e[P("0xb64")]++, s[o] = !0, h[o] = new Date(), t[P("0x308")](i[P("0xb65")], i.position2, 0.5, x[o]); }, l[P("0x162")], r), e[P("0xb66")][P("0x160")](function () { e._buttonsDown = Math[P("0xee")](e[P("0xb64")] - 1, 0), s[o] = !1, f[o] = new Date(); }, l[P("0xb67")], r), e[P("0xb66")][P("0x160")](function (e) { if (s[o]) { a[o] ? (l = e, c = d, t[P("0x6e")](l[P("0x8e")].startPosition, c.distance[P("0x63")]), t[P("0x6e")](l[P("0x8e")][P("0x64")], c[P("0x8e")][P("0x64")]), t[P("0x6e")](l[P("0xaa")].startPosition, c[P("0xaa")].startPosition), t[P("0x6e")](l.angleAndHeight[P("0x64")], c[P("0xaa")][P("0x64")]), a[o] = !1, d[P("0xb63")] = d[P("0xaa")][P("0x63")].x) : (t.clone(e.distance[P("0x64")], d[P("0x8e")].endPosition), t[P("0x6e")](e.angleAndHeight[P("0x64")], d[P("0xaa")][P("0x64")])); for (var i = d.angleAndHeight[P("0x64")].x, r = d[P("0xb63")], x = 2 * Math.PI; i >= r + Math.PI;) { i -= x; } for (; i < r - Math.PI;) { i += x; } d[P("0xaa")].endPosition.x = -i * n[P("0x94")] / 12, d.angleAndHeight.startPosition.x = -r * n.clientWidth / 12; } var l, c; }, l[P("0xb68")], r); } function f(e, r) { var n = u(c[P("0x34")], r), o = e._update; o[n] = !0; var a = e[P("0xb62")][n]; i(a) || (a = e[P("0xb62")][n] = {}), a.startPosition = new t(), a[P("0x64")] = new t(), e[P("0xb66")].setInputAction(function (e) { var i = 10 * s[P("0x119")](e); o[n] ? (t.clone(t[P("0x6f")], a[P("0x63")]), a[P("0x64")].x = 0, a[P("0x64")].y = i, o[n] = !1) : a[P("0x64")].y = a[P("0x64")].y + i; }, l.WHEEL, r); } function d(e, r, n) { var o = u(n, r), a = e[P("0xb61")], s = e[P("0xb69")], x = e[P("0xb6a")], h = e[P("0xb6b")]; a[o] = !1, s[o] = new t(); var f, d, g = e._lastMovement[o]; i(g) || (g = e._lastMovement[o] = { startPosition: new t(), endPosition: new t(), valid: !1 }), n === c[P("0x32")] ? (f = l[P("0x1ff")], d = l[P("0x1fd")]) : n === c[P("0x37")] ? (f = l[P("0xb6c")], d = l[P("0xb6d")]) : n === c[P("0xb6e")] && (f = l.MIDDLE_DOWN, d = l[P("0xb6f")]), e[P("0xb66")][P("0x160")](function (i) { e[P("0xb64")]++, g.valid = !1, a[o] = !0, x[o] = new Date(), t[P("0x6e")](i.position, s[o]); }, f, r), e[P("0xb66")][P("0x160")](function () { e[P("0xb64")] = Math[P("0xee")](e[P("0xb64")] - 1, 0), a[o] = !1, h[o] = new Date(); }, d, r); } function g(e, i) { t.clone(e[P("0x63")], i[P("0x63")]), t.clone(e[P("0x64")], i[P("0x64")]); } function p(e, r) { var n = e[P("0xb60")], o = e._movement, a = e._lastMovement, s = e[P("0xb61")]; for (var x in c) { if (c[P("0xa5c")](x)) { var h = c[x]; if (i(h)) { var f = u(h, r); n[f] = !0, i(e[P("0xb70")][f]) || (e[P("0xb70")][f] = { startPosition: new t(), endPosition: new t(), valid: !1 }), i(e[P("0xb62")][f]) || (e[P("0xb62")][f] = { startPosition: new t(), endPosition: new t() }); } } } e[P("0xb66")][P("0x160")](function (x) { for (var l in c) { if (c[P("0xa5c")](l)) { var h = c[l]; if (i(h)) { var f = u(h, r); s[f] && (n[f] ? (g(o[f], a[f]), a[f][P("0xb71")] = !0, g(x, o[f]), n[f] = !1) : t.clone(x[P("0x64")], o[f][P("0x64")])); } } } t[P("0x6e")](x[P("0x64")], e._currentMousePosition); }, l[P("0x163")], r); } function m(e) { if (!i(e)) throw new o(P("0xb72")); for (var r in this[P("0xb66")] = new x(e, !0), this[P("0xb60")] = {}, this._movement = {}, this[P("0xb70")] = {}, this[P("0xb61")] = {}, this[P("0xb69")] = {}, this[P("0xb6a")] = {}, this[P("0xb6b")] = {}, this[P("0xb64")] = 0, this[P("0xb73")] = new t(), f(this, void 0), h(this, void 0, e), d(this, void 0, c[P("0x32")]), d(this, void 0, c[P("0x37")]), d(this, void 0, c[P("0xb6e")]), p(this, void 0), a) { if (a.hasOwnProperty(r)) { var n = a[r]; i(n) && (f(this, n), h(this, n, e), d(this, n, c.LEFT_DRAG), d(this, n, c[P("0x37")]), d(this, n, c[P("0xb6e")]), p(this, n)); } } } r(m.prototype, { currentMousePosition: { get: function get() { return this[P("0xb73")]; } }, anyButtonDown: { get: function get() { var e = !(this._update[u(c[P("0x34")])] && this[P("0xb60")][u(c.WHEEL, a[P("0x3a")])] && this[P("0xb60")][u(c.WHEEL, a[P("0x38")])] && this[P("0xb60")][u(c.WHEEL, a[P("0xb74")])]); return 0 < this[P("0xb64")] || e; } } }), m.prototype[P("0x74")] = function (e, t) { if (!i(e)) throw new o("type is required."); var r = u(e, t); return !this[P("0xb60")][r]; }, m[P("0x5")][P("0x75")] = function (e, t) { if (!i(e)) throw new o(P("0xb75")); var r = u(e, t); return this._movement[r]; }, m[P("0x5")][P("0x6a")] = function (e, t) { if (!i(e)) throw new o("type is required."); var r = u(e, t), n = this._lastMovement[r]; if (n[P("0xb71")]) return n; }, m[P("0x5")][P("0x70")] = function (e, t) { if (!i(e)) throw new o(P("0xb75")); var r = u(e, t); return this[P("0xb61")][r]; }, m.prototype[P("0x76")] = function (e, t) { if (!i(e)) throw new o(P("0xb75")); if (e === c[P("0x34")]) return this[P("0xb73")]; var r = u(e, t); return this[P("0xb69")][r]; }, m[P("0x5")][P("0x66")] = function (e, t) { if (!i(e)) throw new o(P("0xb75")); var r = u(e, t); return this[P("0xb6a")][r]; }, m.prototype[P("0x67")] = function (e, t) { if (!i(e)) throw new o(P("0xb75")); var r = u(e, t); return this[P("0xb6b")][r]; }, m[P("0x5")][P("0xf1")] = function () { for (var e in this[P("0xb60")]) { this[P("0xb60")][P("0xa5c")](e) && (this[P("0xb60")][e] = !0); } }, m[P("0x5")][P("0xf3")] = function () { return !1; }, m[P("0x5")][P("0xf4")] = function () { return this[P("0xb66")] = this[P("0xb66")] && this._eventHandler[P("0xf4")](), n(this); }, e[P("0x47")] = m; }(window[P("0xfd")]), function (e) { var t = e[P("0xb76")] = function (t) { t = t || {}, this[P("0x217")] = e.defaultValue(t[P("0x8b")], 9e3); var i = e[P("0x102")](t[P("0x6af")], "../../../resource/images/cloud.jpg"); this._url_0 = e[P("0x6ba")](i), this._speedScale = e[P("0x102")](t[P("0xb77")], 1), this[P("0xb78")] = 0, this[P("0xb79")] = 1e-4, this[P("0xb7a")] = e[P("0x102")](t[P("0xb7b")], new e.Cartesian4(0.83, 1.03, 1.4, 0.25)), this[P("0xb7c")] = e[P("0x102")](t.isInverse, !1), this[P("0xb7d")] = new e[P("0x1b")](), this._radius = null, this[P("0xb7e")] = null, this[P("0xb7f")] = !1, this[P("0xb80")] = !1, this[P("0x5ba")] = !0; }; e.defineProperties(t[P("0x5")], { actived: { get: function get() { return this[P("0x5ba")]; }, set: function set(e) { this[P("0x5ba")] = e; } }, isInverse: { get: function get() { return this[P("0xb7c")]; }, set: function set(e) { this[P("0xb7c")] = e; } }, redGamma: { get: function get() { return this[P("0xb7a")].x; }, set: function set(t) { t = e[P("0x23")][P("0x77")](t, 0, 2), this[P("0xb7a")].x = t; } }, greenGamma: { get: function get() { return this[P("0xb7a")].y; }, set: function set(t) { t = e[P("0x23")][P("0x77")](t, 0, 2), this[P("0xb7a")].y = t; } }, blueGamma: { get: function get() { return this._gamma.z; }, set: function set(t) { t = e.Math[P("0x77")](t, 0, 2), this[P("0xb7a")].z = t; } }, alphaGamma: { get: function get() { return this[P("0xb7a")].w; }, set: function set(t) { t = e.Math[P("0x77")](t, 0, 1), this._gamma.w = t; } }, speedScale: { get: function get() { return this._speedScale; }, set: function set(e) { this._speedScale = e; } }, url: { set: function set(t) { var i = e.defaultValue(t, P("0xb81")); this[P("0xb82")] = e[P("0x6ba")](i), this[P("0xb7e")] && (this[P("0xb7e")].destroy(), this[P("0xb7e")] = null); } } }), t[P("0x5")]._isTexturesReady = function () { return !!this[P("0xb7e")]; }, t[P("0x5")][P("0xb83")] = function (t) { var i = this; i[P("0xb84")] = t, i._requestUrl || i[P("0xb7e")] || (i[P("0xb7f")] = !0, e[P("0x9ee")](e[P("0x6da")][P("0x6dc")]({ url: this[P("0xb82")] }))[P("0x333")](function (t) { i[P("0xb7e")] = new e[P("0x6db")]({ context: i._context, source: t, pixelFormat: e[P("0x785")][P("0xb85")], pixelDatatype: e[P("0x787")].UNSIGNED_BYTE }); }).otherwise(function (e) { console[P("0x133")](P("0xb86")); })); }, t[P("0x5")][P("0xd2")] = function (e) { if (this[P("0x5ba")] && e[P("0xb87")][P("0x75d")]) { var t = e[P("0x5ca")], i = e[P("0x3cc")]; this[P("0xb83")](i), this[P("0xb88")]() && (this._drawCommand || this[P("0xb89")](i), this[P("0x6ce")] && (this[P("0xb8a")](), t[P("0x17c")](this[P("0x6ce")]))); } }; var i = new e[P("0x1d")](), r = new e[P("0x1a")](); t[P("0x5")][P("0xb8a")] = function () { var t = this[P("0xb78")] * e[P("0x23")].TWO_PI; this[P("0xb7c")] && (t = -t); var n = e[P("0x1d")][P("0xcc")](e[P("0x11")][P("0xc3")], t, i), o = e[P("0x1a")][P("0xcd")](n, r); this[P("0xb7d")] = e.Matrix4[P("0x738")](o, void 0, this[P("0xb7d")]), this[P("0xb78")] += this._step * this._speedScale, 1 < this[P("0xb78")] && (this[P("0xb78")] = 0); }, t[P("0x5")][P("0xb89")] = function (e) { var t = this; setTimeout(function () { t[P("0xb8b")](e); }, 500); }; var n = "var PI = Math.PI;\nvar TWO_PI = PI * 2.0;\n" + P("0xb8c") + P("0xb8d") + " var params = e.data;\n" + P("0xb8e") + P("0xb8f") + " postMessage({error:true});\n return;\n" + P("0x614") + P("0xb90") + P("0xb91") + P("0xb92") + P("0x8cd") + P("0x614") + P("0xb93") + P("0xb94") + P("0xb92") + P("0x8cd") + P("0x614") + P("0xb95") + P("0xb96") + P("0xb97") + P("0xb98") + P("0xb99") + P("0xb9a") + " var vFovRad = PI;\n" + P("0xb9b") + P("0xb9c") + " var stepHRad = hFovRad / xCount;\n" + P("0xb9d") + P("0xb9e") + " pointsArray[ptIndex ++] = 0.0;\n" + P("0xb9f") + P("0xba0") + P("0xba1") + P("0xba2") + P("0x614") + P("0xba3") + P("0xba4") + " var tt = 0.0;\n" + P("0xba5") + P("0xba6") + " for (var F = 0; F < xCount + 1; F++) {\n" + P("0xba7") + P("0xba8") + P("0xba9") + P("0xbaa") + P("0xbab") + P("0xbac") + P("0xbad") + P("0x71d") + " }\n" + P("0xb9e") + P("0xb9f") + P("0xb9f") + P("0xbae") + P("0xba1") + P("0xbaf") + P("0x614") + P("0xbb0") + " var faceIndexArray = new Uint16Array(faceIndexCount);\n" + P("0xbb1") + P("0xbb2") + " faceIndexArray[faceIndex ++] = F;\n" + P("0xbb3") + P("0xbb4") + P("0x614") + P("0xbb5") + " for (var F = 0; F < xCount; F ++){\n" + P("0xbb6") + P("0xbb7") + P("0xbb8") + P("0xbb6") + P("0xbb8") + P("0xbb9") + P("0x71d") + P("0x614") + P("0xbb2") + P("0xbba") + " faceIndexArray[faceIndex ++] = F + xCount + 1 + (yCount - 2) * (xCount + 1);\n faceIndexArray[faceIndex ++] = pointsCount - (xCount - F);\n" + P("0x614") + P("0xbbb") + " pointsArray: pointsArray,\n texcoordArray: texcoordArray,\n" + P("0xbbc") + " }, [pointsArray.buffer, texcoordArray.buffer, faceIndexArray.buffer]);\n" + P("0xbbd") + P("0xbbe") + " debugger;\n}"; t.prototype[P("0xb8b")] = function (t) { var i = this; if (!i[P("0xb80")]) { i[P("0xb80")] = !0; var r = t, o = i[P("0x217")] + e[P("0x16")].WGS84[P("0xb55")].x + 15e4; i[P("0x63c")] = o; var a = new Blob([n], { type: P("0xbbf") }), s = new Worker(URL.createObjectURL(a)); s[P("0xbc0")] = function (t) { var n = t.data.pointsArray, o = t.data.texcoordArray, a = t[P("0x440")][P("0xbc1")], x = e[P("0x5ea")][P("0x5ec")]({ context: r, typedArray: a, usage: e[P("0x4d5")][P("0x4d6")], indexDatatype: e[P("0x742")].UNSIGNED_SHORT }), l = [], c = e[P("0x5ea")][P("0x5eb")]({ context: r, typedArray: n, usage: e[P("0x4d5")][P("0x4d6")] }); l[P("0x17c")]({ index: 0, vertexBuffer: c, componentsPerAttribute: 3, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 12, normalize: !1 }); var u = e[P("0x5ea")][P("0x5eb")]({ context: r, typedArray: o, usage: e.BufferUsage[P("0x4d6")] }); l[P("0x17c")]({ index: 1, vertexBuffer: u, componentsPerAttribute: 2, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 8, normalize: !1 }); var h = new e.VertexArray({ context: r, attributes: l, indexBuffer: x }), f = new e[P("0x5d3")]({ owner: i, primitiveType: e[P("0xbc2")][P("0xbc3")] }); f[P("0x5cb")] = h; var d = { cull: { enabled: !1 }, depthMask: !1, depthTest: { enabled: !0 }, blending: { color: e[P("0x16a")][P("0x2cf")], enabled: !0, equationRgb: e.WebGLConstants[P("0xbc4")], equationAlpha: e[P("0x5d8")][P("0xbc4")], functionSourceRgb: e[P("0x5d8")][P("0xbc5")], functionDestinationRgb: e[P("0x5d8")].ZERO, functionSourceAlpha: e[P("0x5d8")].ZERO, functionDestinationAlpha: e.WebGLConstants[P("0xbc5")] } }; f[P("0x5d5")] = e[P("0x5d6")][P("0x5d7")](d), f[P("0x5cc")] = i[P("0xbc6")](r), f[P("0x5de")] = { u_colorTexture_0: function u_colorTexture_0() { return i._colorTexture_0; }, u_animationMatrix: function u_animationMatrix() { return i._animationMatrix; }, u_gamma: function u_gamma() { return i._gamma; } }, f[P("0x5d4")] = e.Pass[P("0x73e")], f[P("0xbc7")] = !1, f[P("0x4bc")] = new e[P("0x5f1")](e[P("0x11")][P("0x6f")], i[P("0x63c")]), f[P("0xbc8")] = P("0xb76"), i[P("0x6ce")] = f, s.terminate(); }, s.onerror = function (e) {}, s[P("0xa70")]({ xCount: 36, yCount: 36, radius: o }); } }, t.prototype[P("0xbc6")] = function (t) { var i, r, n = ""; i = n, r = n = i += P("0xbc9"), n = r += P("0xbca"); var o, a, s = ""; return o = s, a = s = o += P("0xbcb"), s = a += P("0xbcc"), e[P("0x5dc")].replaceCache({ context: t, shaderProgram: void 0, vertexShaderSource: n, fragmentShaderSource: s, attributeLocations: { a_position: 0, a_texcoord_0: 1 } }); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x102")]; function i(i) { i = t(i, t.EMPTY_OBJECT), this.viewer = i[P("0x13b")], this.scene = this.viewer[P("0x10f")], this.scene[P("0x24f")][P("0xd9")] = !1, this[P("0x17d")] = this[P("0x10f")][P("0x17d")], this[P("0xbcd")] = t(i[P("0xbcd")], new e.Color(1, 0, 0, 0.5)), this.bottomCylinderColor = t(i[P("0xbce")], new e[P("0x16a")](0, 1, 0, 0.5)), this[P("0xbcf")](), this[P("0x69")](); } function r(t, i, r, n) { return new e[P("0x179")]({ geometry: new e[P("0xbd9")]({ center: t, semiMajorAxis: i, semiMinorAxis: r, height: n, vertexFormat: e[P("0x1b0")][P("0xbda")] }) }); } function n(t, i, r, n, o, a, s, x, l, c) { return new e[P("0x179")]({ geometry: new e.CylinderGeometry({ length: t, topRadius: i, bottomRadius: r, vertexFormat: e[P("0x1b7")][P("0xbdb")] }), attributes: { color: new e[P("0x184")](n, o, a, s) }, modelMatrix: e[P("0x1b")][P("0x597")](e[P("0x1f")][P("0xbf")](e[P("0x11")][P("0x1a1")](x, l, c)), new e[P("0x11")](0, 0, 0), new e[P("0x1b")]()) }); } function o(t, i) { return new e[P("0x226")]({ allowPicking: !0, geometryInstances: t, vertexCacheOptimize: !0, appearance: i, interleave: !0, asynchronous: !1, cull: !1, releaseGeometryInstances: !0, show: !0 }); } e[P("0xf")](i[P("0x5")], {}), i[P("0x5")][P("0xbcf")] = function () { var t, i, a, s = r(e[P("0x11")][P("0xb8")], 1e-4, 1e-4, 1e-4), x = (t = e[P("0x373")], i = Number[P("0x374")](t), P("0xbdd") + (1.68 <= i ? P("0x376") : "") + P("0xbde")); this[P("0xbd0")] = (a = x, new e[P("0x1b0")]({ translucent: !0, material: new e[P("0x212")]({ fabric: { type: "Image", uniforms: { image: P("0xbdc") } } }), fragmentShaderSource: a })); var l = o(s, this[P("0xbd0")]); this[P("0x17d")][P("0x6d")](l), this[P("0xbd1")] = l; var c = o([n(1e-4, 1e-4, 0, 1, 0, 0, 0, 0, 0, 0), n(1e-4, 0, 1e-4, 1, 0, 0, 0, 0, 0, 0)], new e[P("0x16e")]()); this.primitives.add(c), this.prestrainCylinderPrimitive = c; }, i[P("0x5")].active = function () { var t = null, i = this, a = new e[P("0x15f")](this[P("0x10f")][P("0x48")]); a[P("0x160")](function (a) { if (!i.viewer[P("0xbd2")]) { i.scene.screenSpaceCameraController.enableInputs = !1; var s; if (s = null == i[P("0x10f")][P("0xa4")](a[P("0x8c")]) ? i[P("0x10f")].globe.pick(i.viewer[P("0x7e")][P("0x86")](a.position), i[P("0x10f")]) : i[P("0x10f")][P("0x174")](a[P("0x8c")])) { var x = e[P("0x13")][P("0x175")](s), l = e.Math.toDegrees(x[P("0x112")]), c = e[P("0x23")][P("0x113")](x[P("0x114")]), u = x[P("0x8b")] + 0.5, h = e[P("0x11")][P("0x8e")](i[P("0x13b")][P("0x7e")][P("0x8c")], s) / 80, f = i[P("0x13b")][P("0x194")][P("0x6d")]({ id: P("0xbd3"), position: s, point: { color: new e[P("0x16a")](1, 1, 1, 0) } }); f.enableGeoLocateRatate = !0, i[P("0x13b")][P("0xbd2")] = f, i[P("0x10f")].screenSpaceCameraController[P("0xd9")] = !0; var d = o(r(s, h, h, u), i[P("0xbd0")]); i[P("0x17d")][P("0x6d")](d), i[P("0xbd4")] = d; var g = o([n(0.3 * h, 0.1 * h, 0, i[P("0xbcd")][P("0x66e")], i.topCylinderColor[P("0x66f")], i[P("0xbcd")].blue, i.topCylinderColor[P("0x671")], l, c, u + 0.2 * h), n(0.3 * h, 0, 0.1 * h, i[P("0xbce")][P("0x66e")], i[P("0xbce")][P("0x66f")], i.bottomCylinderColor[P("0x670")], i.bottomCylinderColor[P("0x671")], l, c, u - 0.2 * h)], new e[P("0x16e")]()); i.primitives[P("0x6d")](g), i[P("0xbd5")] = g, i[P("0x10f")][P("0x24f")][P("0x36")] = e.CameraEventType[P("0xb6e")], t = setTimeout(function () { i[P("0x10f")][P("0x24f")].enableInputs = !0; }, 10), i[P("0x10f")][P("0xa3")].depthTestAgainstTerrain = !1; } } }, e[P("0x161")][P("0xbd6")]), a[P("0x160")](function (r) { i.viewer.trackedEntity[P("0xd9")] && (clearTimeout(t), i[P("0xbd1")] && i[P("0x17d")][P("0x17f")](i[P("0xbd1")]), i[P("0xbd7")] && i.primitives.remove(i[P("0xbd7")]), i[P("0xbd4")] && i[P("0x17d")].remove(i[P("0xbd4")]), i[P("0xbd5")] && i[P("0x17d")].remove(i[P("0xbd5")]), i[P("0x13b")][P("0x194")][P("0xbd8")]("pointEntity"), t = null, i.prestrainEllipsePrimitive = null, i[P("0xbd7")] = null, i[P("0xbd4")] = null, i.cylinderPrimitive = null, i.viewer[P("0xbd2")] = void 0, i.scene.screenSpaceCameraController[P("0xd9")] = !1, i[P("0x10f")][P("0x24f")][P("0x36")] = e[P("0xb5f")].LEFT_DRAG, i.scene[P("0x24f")].enableInputs = !0); }, e[P("0x161")].MIDDLE_UP); }, e[P("0xbdf")] = i; }(window[P("0xfd")]), function (e) { var t = e[P("0xbe0")] = function (t, i) { if (i = w()(i) === P("0x2b6") || i, this[P("0xa8e")] = !1, t) { this.ready = !0, this[P("0x10f")] = t, this[P("0xbe1")] = i; var r = new e[P("0xbe2")](0, 0, 256, 256), n = new e[P("0x3cb")](t); n.frustum = new e[P("0xae2")]({ width: 1, aspectRatio: 1, near: 0.01, far: 1e3 }), this._pickOffscreenView = new e[P("0xbe3")](t, n, r), this[P("0xbe4")] = e.when[P("0x9ef")](), this[P("0xa90")] = this[P("0xbe4")][P("0xa90")]; } }; t[P("0x5")][P("0xbe5")] = function (e, t) { var i = this; if (!i[P("0xa8e")]) return null; var r = null; return i[P("0xb60")](e, t), i.promise.then(function (e) { r = i._pick(e); }), r; }; var i = new e[P("0x5f1")](); function r(t) { var r, n, o, a = t.camera, s = t[P("0xbe9")]; s[P("0x5ca")][P("0x0")] = 0, s.shadowMaps[P("0x0")] = 0, s[P("0xbea")] = t[P("0xbeb")], s[P("0xbec")] = t.skyBox && t[P("0x83d")][P("0xbed")], s[P("0xd3")] = t[P("0x6b9")], s[P("0xbee")] = t[P("0xbee")], s[P("0xbd")] = t.mapProjection, s.camera = a, s[P("0xbef")] = a[P("0xe8")][P("0xbf0")](a.positionWC, a[P("0xa6")], a.upWC), s.occluder = (n = (r = t)[P("0xa3")].ellipsoid, i[P("0x181")] = n[P("0xbe6")], e.Occluder.fromBoundingSphere(i, r.camera.positionWC)), s[P("0xf0")] = t[P("0xbf1")], s[P("0xbf2")] = t[P("0xbf3")], s[P("0xbf4")] = t[P("0xbf4")], s[P("0x77d")] = !1, s.sunColor = t[P("0xbf5")], t[P("0xbf6")] = e[P("0x16a")][P("0x6e")](t.invertClassificationColor, t._actualInvertClassificationColor), e.InvertClassification[P("0xbf7")](t[P("0xb84")]) || (t[P("0xbf6")].alpha = 1), s[P("0xbf8")] = t[P("0xbf6")], s.maximumScreenSpaceError = t[P("0xa3")][P("0xbf9")], (o = s[P("0xb87")])[P("0x75d")] = !1, o.pick = !1, o[P("0x456")] = !1, o[P("0xbe7")] = !1, o[P("0xbe8")] = !1, o[P("0xaa3")] = !1; } var n = new e[P("0xbfa")](); function o(t, i, r, n) { var o = i[P("0xbe9")]; if (t instanceof e[P("0x790")]) t.execute(r, n);else { o[P("0x77d")] && e[P("0x14")](t.derivedCommands.logDepth) && (t = t[P("0xc0d")].logDepth[P("0x4d7")]); var a = o.passes; if (a[P("0xa4")] || a[P("0x456")]) { if (a[P("0xa4")] && !a[P("0x456")] && e.defined(t[P("0xc0d")][P("0xc0e")])) return void (t = t.derivedCommands.picking.pickCommand).execute(r, n); if (e[P("0x14")](t[P("0xc0d")][P("0x456")])) return void (t = t[P("0xc0d")].depth[P("0xc0f")])[P("0x797")](r, n); } t[P("0x797")](r, n); } } function a(t, i, r) { return t[P("0x4bc")].distanceSquaredTo(r) - i[P("0x4bc")].distanceSquaredTo(r) + e[P("0x23")][P("0xc10")]; } function s(t, i, r, n) { var o = t[P("0x3cc")]; e[P("0xc11")](n, a, t[P("0x7e")][P("0xa5")]); for (var s = n[P("0x0")], x = 0; x < s; ++x) { i(n[x], t, o, r); } } var x = new e[P("0xae2")](); var l = new e.Cartesian3(), c = new e.Cartesian3(), u = new e[P("0xbe2")](), h = new e[P("0x16a")](0, 0, 0, 0); t[P("0x5")]._update = function (t, i) { var a = this[P("0x10f")], f = a[P("0xb84")], d = f[P("0xc28")], g = a[P("0xbe9")], p = this[P("0xc29")], m = (a[P("0x794")] = p)[P("0x7e")], b = t[P("0x93")], v = e[P("0x11")][P("0x99")](b, i, l); e[P("0x11")][P("0x8d")](v, v), i = e[P("0x11")][P("0x6e")](i, c), m[P("0x8c")] = t[P("0x87")], m[P("0x93")] = b, m.up = i, m[P("0x9b")] = v; var C, y, _, A, I, w = e[P("0xbe2")].clone(p.viewport, u), G = p[P("0xc2a")][P("0xc2b")](w, p[P("0xc06")]); a._jobScheduler[P("0xc2c")](), r(a), g[P("0xbf4")] = !1, g[P("0xb87")][P("0xa4")] = !0, g.passes[P("0xbe8")] = !0, g.passes.async = !1, g[P("0xc2d")] = !0, d[P("0xd2")](g), function (e) { var t = e[P("0xbe9")], i = e[P("0xbfb")]; i[P("0xbfc")] = void 0, i[P("0xbfd")] = void 0, i[P("0xbfe")] = void 0, i[P("0xbff")] = void 0, i[P("0xc00")] = void 0, i.clearGlobeDepth = !0, (i.useDepthPlane = !0) && e[P("0xc01")][P("0xd2")](t), i[P("0xc02")] = !1, i.useWebVR = !1; for (var r = t[P("0xbef")], o = n[P("0xc03")], a = 0; a < 5; ++a) { o[a] = r[P("0xc03")][a]; } r = n; }(a), function (t, i, r) { var n, a, l = t[P("0x794")]; t[P("0x6d9")][P("0x5ca")][P("0x0")] = 0, a = (n = t)[P("0xbe9")], n._groundPrimitives[P("0xd2")](a), n[P("0x306")][P("0xd2")](a), n[P("0x43")] && n._globe.render(a), l[P("0xc26")](t), e[P("0x14")](r) && function (t, i, r) { var n = t[P("0xb84")], o = t[P("0xbfb")], a = t[P("0x794")]; o[P("0xc04")] = i[P("0x796")]; var s = t._clearColorCommand; e[P("0x16a")][P("0x6e")](r, s[P("0x169")]), s[P("0x797")](n, i), o[P("0xc05")] = !0, a.globeDepth[P("0xd2")](n, i, a[P("0xc06")], t[P("0xc07")]), a[P("0xc08")].clear(n, i, r), o[P("0xc09")] = !1, o[P("0xc0a")] = !1, o.usePostProcessSelected = !1, i[P("0x796")] = a[P("0xc08")][P("0x796")], s[P("0x797")](n, i), o[P("0xc0b")] = !1; }(t, i, r), function (t, i) { var r = t[P("0x7e")], n = t.context, a = n.uniformState; a[P("0xc12")](r); var l = r[P("0xe8")][P("0x6e")](x); l[P("0xb3e")] = r[P("0xe8")][P("0xb3e")], l[P("0xc13")] = r[P("0xe8")].far, a[P("0xc14")](l), a.updatePass(e[P("0x5e4")][P("0xc15")]); for (var c, u, h, f, d = t[P("0xbfb")], g = t[P("0x794")], p = s, m = d[P("0xc16")], b = d.useDepthPlane, v = t[P("0xc17")], C = t._stencilClearCommand, y = t[P("0xc01")], _ = g[P("0xc18")], A = _.length, I = 0; I < A; ++I) { var w = A - I - 1, G = _[w]; l[P("0xb3e")] = 0 != w ? G[P("0xb3e")] * t[P("0xc19")] : G[P("0xb3e")], l[P("0xc13")] = G[P("0xc13")], a[P("0xc14")](l); var E = g[P("0xc08")]; v[P("0x797")](n, i), n[P("0xc1a")] && C[P("0x797")](n, i), a[P("0xc1b")](e[P("0x5e4")].GLOBE); var S = G[P("0xc1c")][e[P("0x5e4")][P("0xc1d")]], T = G[P("0xc1e")][e[P("0x5e4")][P("0xc1d")]]; for (c = 0; c < T; ++c) { o(S[c], t, n, i); } for (e[P("0x14")](E) && d[P("0xc05")] && E[P("0xc1f")](n, i), a[P("0xc1b")](e[P("0x5e4")][P("0xc20")]), S = G[P("0xc1c")][e.Pass[P("0xc20")]], T = G.indices[e[P("0x5e4")][P("0xc20")]], c = 0; c < T; ++c) { o(S[c], t, n, i); } for (a[P("0xc1b")](e.Pass[P("0xc21")]), S = G.commands[e[P("0x5e4")][P("0xc21")]], T = G[P("0xc1e")][e[P("0x5e4")][P("0xc21")]], c = 0; c < T; ++c) { o(S[c], t, n, i); } for (m && v[P("0x797")](n, i), a.updatePass(e[P("0x5e4")][P("0xc22")]), S = G.commands[e[P("0x5e4")].CESIUM_3D_TILE], T = G[P("0xc1e")][e[P("0x5e4")][P("0xc22")]], c = 0; c < T; ++c) { o(S[c], t, n, i); } for (a[P("0xc1b")](e[P("0x5e4")][P("0xc23")]), S = G[P("0xc1c")][e[P("0x5e4")][P("0xc23")]], T = G[P("0xc1e")][e[P("0x5e4")][P("0xc23")]], c = 0; c < T; ++c) { o(S[c], t, n, i); } for (a[P("0xc1b")](e.Pass[P("0xc21")]), S = G[P("0xc1c")][e[P("0x5e4")][P("0xc21")]], T = G[P("0xc1e")][e[P("0x5e4")].CLASSIFICATION], c = 0; c < T; ++c) { o(S[c], t, n, i); } for (0 < T && n[P("0xc1a")] && C[P("0x797")](n, i), m && b && y.execute(n, i), a.updatePass(e[P("0x5e4")][P("0x5e5")]), S = G[P("0xc1c")][e.Pass.OPAQUE], T = G[P("0xc1e")][e[P("0x5e4")].OPAQUE], c = 0; c < T; ++c) { o(S[c], t, n, i); } if (0 != w && (l[P("0xb3e")] = G[P("0xb3e")], a[P("0xc14")](l)), a[P("0xc1b")](e.Pass.TRANSLUCENT), (S = G[P("0xc1c")][e[P("0x5e4")].TRANSLUCENT]).length = G[P("0xc1e")][e.Pass[P("0x73e")]], p(t, o, i, S), n[P("0xc24")] && t[P("0xc25")] && d[P("0xc05")]) { var M = E[P("0x796")].depthStencilTexture, N = (u = w, f = h = void 0, f = (h = t._view.pickDepths)[u], e[P("0x14")](f) || (f = new e.PickDepth(), h[u] = f), f); N[P("0xd2")](n, M), N.executeCopyDepth(n, i); } } }(t, i); }(a, G, h), y = G, _ = (C = a)[P("0xb84")], A = C[P("0xbfb")], I = C[P("0x794")], y[P("0x796")] = A[P("0xc04")], I[P("0xc08")][P("0xc27")](_, y); var E = p[P("0xc2a")][P("0xc2e")](w); g[P("0xc2d")] = !1, a[P("0x794")] = a[P("0xc2f")], f[P("0xc30")](), this.deferred.resolve({ object: E, ray: t }); }, t[P("0x5")][P("0xc31")] = function (t) { var i, r, n, o, a = t[P("0x7")], s = t[P("0xc32")], x = this[P("0xc29")], l = this[P("0x10f")], c = l[P("0xb84")]; if (c[P("0xc24")]) for (var u = x[P("0xc18")].length, h = 0; h < u; ++h) { var f = (r = h, o = n = void 0, n = x.pickDepths, o = n[r], e[P("0x14")](o) || (o = new e[P("0xc0c")](), n[r] = o), o).getDepthEx(c, 0, 0, x[P("0xc06")][P("0x19a")], x[P("0xc06")][P("0x8b")], this[P("0xbe1")]); if (0 < f && f <= 1) { var d = x.frustumCommandsList[h], g = d[P("0xb3e")] * (0 !== h ? l[P("0xc19")] : 1), p = g + f * (d.far - g); i = e.Ray[P("0xe1")](s, p); break; } } return { object: a, position: i }; }; var f = new e[P("0x12")](), d = new e[P("0x12")](1, 1 / 255, 1 / 65025, 1 / 16581375); function g(t, i) { if (!e[P("0x14")](t[P("0xc3e")]) || !e[P("0x14")](t[P("0xc3e")][P("0xa5b")]) || !t[P("0xc3e")]._model[P("0xa8e")]) return !1; var r = t[P("0x4a4")]; return i[P("0xc3f")](r, e[P("0xbfa")][P("0xc40")]) !== e[P("0xbfa")][P("0xc41")]; } e[P("0xc0c")][P("0x5")][P("0xc33")] = function (t, i, r, n, o, a) { n = void 0 !== n ? n : 1, o = void 0 !== o ? o : 1, a = w()(a) === P("0x2b6") || a; var s = t[P("0xc34")]({ x: i, y: r, width: n, height: o, framebuffer: this[P("0x784")] }); if (!s) return 0; for (var x = [], l = 0; l < n; l++) { for (var c = 0; c < o; c++) { var u = 4 * c * n + l, h = e[P("0x12")][P("0xc35")](s, u, f); e.Cartesian4.divideByScalar(h, 255, h); var g = e[P("0x12")][P("0x92")](h, d); x[P("0x17c")](g); } } var p = Math.floor(0.5 * n) + Math.floor(0.5 * o) * n, m = x[p]; if (0 < m && m <= 1) return m; if (a) return 0; var b = 0, v = 0; for (l = 0; l < n; l++) { for (c = 0; c < o; c++) { u = c * n + l, 0 < (m = x[p]) && m < 1 && (b += m, v++); } } return v < 1 ? 0 : b / v; }, e[P("0xc0c")][P("0x5")][P("0xc36")] = function (e, t, i, r, n) { return r = w()(r) !== P("0x2b6") ? r : 1, n = w()(n) !== P("0x2b6") ? n : 1, { arrayBufferView: e[P("0xc34")]({ x: t, y: i, width: r, height: n, framebuffer: this[P("0x784")] }), width: r, height: n }; }, e[P("0xc37")][P("0x5")][P("0xc36")] = function (e, t) { return e = w()(e) !== P("0x2b6") ? e : 1, t = w()(t) !== P("0x2b6") ? t : 1, { arrayBufferView: this[P("0xb84")][P("0xc34")]({ x: 0, y: 0, width: e, height: t, framebuffer: this._fb }), width: e, height: t }; }, t.pick = function (i, r, n, o) { if (o = w()(o) === P("0x2b6") || o, !i) return null; if (i._picker) i[P("0xc39")][P("0xbe1")] = o;else { var a = new t(i, o, P("0xc38")); i[P("0xc39")] = a, e[P("0xc3a")][P("0x5")][P("0xc3b")] = e[P("0xc3a")][P("0x5")][P("0xf4")], e.Scene[P("0x5")][P("0xf4")] = function () { this[P("0xc39")] && (this[P("0xc39")][P("0xf4")](), this[P("0xc39")] = null), this[P("0xc3b")](); }, e.Cesium3DTile[P("0x5")][P("0xc42")] = e.Cesium3DTile[P("0x5")][P("0xc43")], e.Cesium3DTile.prototype[P("0xc43")] = function (t, i) { var r = t[P("0xbef")], n = function (t, i) { if (i[P("0xd3")] !== e.SceneMode[P("0x90")] && !e.defined(t._boundingVolume2D)) { var r = t._boundingVolume[P("0x55b")], n = e[P("0x5f1")][P("0xc4a")](r, i[P("0xbd")], p); t[P("0xc4b")] = new e.TileBoundingSphere(n.center, n[P("0x181")]); } return i[P("0xd3")] !== e[P("0x22")][P("0x90")] ? t._boundingVolume2D : t._boundingVolume; }(this, t), o = this._tileset, a = o[P("0x365")]; if (e.defined(a) && a[P("0x364")]) { var s = a[P("0xc44")](n, o[P("0xc45")]); if (this[P("0xc46")] = s !== Intersect[P("0xc47")], s === Intersect[P("0xc48")]) return CullingVolume[P("0xc41")]; } return t[P("0x7e")][P("0xc")]._hookUpdate && !0 === t[P("0xc2d")] ? function (t, i, r) { if (r === e[P("0xbfa")][P("0xc41")] || r === e.CullingVolume[P("0xc4c")]) return r; for (var n = e.CullingVolume.MASK_INSIDE, o = t[P("0xc03")], a = 0, s = o.length; a < s; ++a) { var x = a < 31 ? 1 << a : 0; if (!(a < 31 && 0 == (r & x))) { var l = b(i[P("0x4cb")], e.Plane[P("0xb54")](o[a], m)); if (l === e[P("0xae1")][P("0xc48")]) return e[P("0xbfa")].MASK_OUTSIDE; l === e[P("0xae1")][P("0xc4d")] && (n |= x); } } return n; }(r, n, i) : r[P("0xc3f")](n, i); }; } return i._picker[P("0xbe5")](r, n); }, t[P("0x5")].destroy = function () { this[P("0x10f")] = null, this[P("0xc29")][P("0xf4")](), this[P("0xc29")] = null, e[P("0xc49")][P("0x5")]._visibility_Old && (e[P("0xc49")][P("0x5")][P("0xc43")] = e[P("0xc49")].prototype[P("0xc42")], delete e[P("0xc49")].__proto__[P("0xc42")]); }, e[P("0x2e1")][P("0x5")][P("0xc3c")] = e[P("0x2e1")][P("0x5")].update, e[P("0x2e1")][P("0x5")][P("0xd2")] = function (e) { !0 === e[P("0xb87")][P("0xa4")] && !0 === e.pickEx ? this[P("0xc3d")](e) : this[P("0xc3c")](e); }, e[P("0x2e1")][P("0x5")]._updatePicked = function (e) { var t, i, r = this[P("0xa57")], n = r[P("0x0")], o = e[P("0xbef")]; for (t = 0; t < n; ++t) { (i = r[t]) && g(i, o) && i.update(this, e, e[P("0xb87")]); } }; var p = new e[P("0x5f1")](), m = new e[P("0x1c")](new e[P("0x11")](), 0); function b(t, i) { var r = t[P("0x11a")], n = i.normal, o = t[P("0x4a5")], a = n.x, s = n.y, x = n.z, l = Math[P("0x78")](a * o[e.Matrix3[P("0xc4e")]] + s * o[e[P("0x1a")][P("0xc4f")]] + x * o[e[P("0x1a")][P("0xc50")]]) + Math[P("0x78")](a * o[e.Matrix3[P("0xc51")]] + s * o[e[P("0x1a")].COLUMN1ROW1] + x * o[e[P("0x1a")].COLUMN1ROW2]) + Math.abs(a * o[e[P("0x1a")][P("0xc52")]] + s * o[e[P("0x1a")].COLUMN2ROW1] + x * o[e.Matrix3[P("0xc53")]]), c = e.Cartesian3[P("0x92")](n, r) + i[P("0x8e")]; return c <= -(l *= 2) ? e[P("0xae1")][P("0xc48")] : l <= c ? e.Intersect[P("0xc47")] : e[P("0xae1")].INTERSECTING; } }(window[P("0xfd")]), function (e) { function t(t, i, r, n) { var o = this; o[P("0x13c")] = r, o._source = t, o[P("0xc54")] = n, o[P("0xb84")] = i, o._canvas = null, o._texture = null, o[P("0xc55")] = null, o[P("0xc56")] = 0, o._height = 0, o[P("0xc57")] = !1, o[P("0xc58")] = null, o[P("0x9fc")] = new e[P("0x766")](), t && t instanceof HTMLVideoElement && t[P("0x130")](P("0xc5b"), function e() { o[P("0xc59")](Math[P("0x5f0")](0.1 * t[P("0xc5a")]), Math.round(0.1 * t.videoHeight)), t[P("0x548")](P("0xc5b"), e); }), r.clock[P("0x59d")].addEventListener(function () { o[P("0x8f9")](); }); } function i(t, i) { this[P("0xc67")] = i, this[P("0x42")] = t, this._fs = null, this[P("0xc68")] = null, this[P("0x5ba")] = !1, this[P("0xc69")] = null, this[P("0xc6a")] = null, this._createEvent = new e[P("0x766")](), this[P("0xc6b")] = new e.Event(), this[P("0xc6c")] = new e[P("0x766")](); } function r() { this._minFovX = r[P("0xc9e")], this[P("0xc9f")] = r._MaxFovX, this[P("0xca0")] = r[P("0xca1")], this[P("0xca2")] = r[P("0xca3")], this[P("0xca4")] = r[P("0xca5")], this[P("0xca6")] = r[P("0xca7")], this[P("0xca8")] = r[P("0xca9")], this[P("0xcaa")] = r[P("0xcab")], this._minPitch = r[P("0xcac")], this[P("0xcad")] = r[P("0xcae")], this[P("0xcaf")] = r[P("0xcb0")], this._maxRoll = r[P("0xcb1")], this[P("0xcb2")] = r._MinSegmentCount, this[P("0xcb3")] = r[P("0xcb4")], this[P("0xcb5")] = !1, this[P("0xcb6")] = !0; } function n(t, i, r) { this._scene = t, this[P("0x6b6")] = i ? i[P("0x6e")]() : null, this._videoProjection = r, this[P("0xcc0")] = null, this._fovX = 120, this[P("0xcc1")] = 60, this[P("0xcc2")] = 20, this[P("0x541")] = 0, this._pitch = 0, this[P("0x538")] = 0, this[P("0x596")] = e[P("0x16a")][P("0x338")][P("0x6e")](), this[P("0x31a")] = 2, this[P("0xcc3")] = 0.8, this[P("0xcc4")] = null, this[P("0xcc5")] = null, this[P("0x4a4")] = null, this[P("0xcc6")] = null, this[P("0xcc7")] = 10, this[P("0x6ce")] = null, this[P("0xcc8")] = !0, this[P("0x224")] = e.createGuid(), this[P("0x9fc")] = new e[P("0x766")](), this[P("0x5ba")] = !1, this._visibly = !0; } t.prototype[P("0xc5c")] = function () { return this[P("0x8f4")]; }, e.defineProperties(t.prototype, { ErrorEvent: { get: function get() { return this[P("0x9fc")]; } } }), t.prototype[P("0xc59")] = function (e, t) { e && (this[P("0xc56")] = e), t && (this[P("0x217")] = t), this[P("0xc57")] = !0; }, t.prototype._render = function (e) {}, t.prototype[P("0xc5d")] = function () { this._sampler || (this[P("0xc58")] = new e.Sampler()); }, t.prototype[P("0x8f9")] = function () { this[P("0xc54")] && this[P("0xc54")].fillVideo && (this[P("0xb84")] && this[P("0xc5e")] ? this[P("0xc5e")][P("0xaa6")] < 2 || (!this[P("0xc5e")].videoWidth || this._source.videoWidth < 10 ? this._texture && (this[P("0x8f4")].destroy(), this[P("0x8f4")] = null) : this._texture ? this._texture[P("0xc61")](this._source) : this._texture = new e[P("0x6db")]({ context: this[P("0xb84")], source: this._source, pixelFormat: e[P("0x785")][P("0xb85")], pixelDatatype: e[P("0x787")][P("0xc60")] })) : this[P("0x9fc")][P("0x896")](P("0xc5f"))); }, t[P("0x5")]._fetchVideo = function () { var t = e[P("0x9ee")][P("0x9ef")](); if (2 <= this[P("0xc5e")][P("0xaa6")]) { var i = this[P("0xc5e")].videoWidth, r = this[P("0xc5e")].videoHeight; this[P("0xc55")][P("0xc63")](this[P("0xc5e")], 0, 0, i, r, 0, 0, this[P("0xc56")], this[P("0x217")]), t[P("0x9f8")](this[P("0x318")]); } else t[P("0xa3d")](null); return t; }, t.prototype[P("0xb83")] = function (t) { this[P("0x8f4")] ? this[P("0x8f4")][P("0xc61")](t) : this[P("0x8f4")] = new e[P("0x6db")]({ context: this[P("0xb84")], source: t, pixelFormat: e[P("0x785")].RGBA, pixelDatatype: e.PixelDatatype[P("0xc60")], sampler: this[P("0xc58")] }); }, t[P("0x5")]._recreateParseCanvas = function () { this[P("0xc56")] < 1 || this[P("0x217")] < 1 || (this[P("0x318")] || (this[P("0x318")] = document.createElement(P("0x48"))), this[P("0x318")][P("0x19a")] = e[P("0x23")][P("0xc64")](this[P("0xc56")]), this[P("0x318")].height = e.Math[P("0xc64")](this[P("0x217")]), this[P("0xc55")] = this[P("0x318")][P("0x476")]("2d")); }, t[P("0x5")][P("0xc65")] = function () { var e = this[P("0xc5e")][P("0xc5a")], t = this[P("0xc5e")][P("0xc66")]; return this[P("0xc55")][P("0xc63")](this[P("0xc5e")], 0, 0, e, t, 0, 0, this._width, this[P("0x217")]), this._canvas; }, t.prototype._createSource = function (e) { return { arrayBufferView: new Uint8Array(e), width: this._width, height: this[P("0x217")] }; }, t.prototype[P("0xf4")] = function () { this[P("0xc5e")] = null, this._context2D = null, this[P("0xb84")] = null, this[P("0x318")] = null, this[P("0xc54")] = null, this[P("0xc58")] = null, this._errorEvent = new e[P("0x766")](), this[P("0x8f4")] && (this[P("0x8f4")].destroy(), this._texture = null); }, i[P("0x5")].destroy = function () { this._destroyPostStage(), this[P("0xc67")] = null, this[P("0x42")] = null, this[P("0xc6d")] = null, this[P("0xc6b")] = null, this[P("0xc6c")] = null, this[P("0xc6a")] = null; }, i[P("0xc6e")] = P("0xc6f") + P("0xc70") + "uniform sampler2D colorTexture;\nuniform sampler2D videoMapTexture;\n" + P("0xc71") + P("0x7a1") + P("0xc72") + P("0xc73") + P("0xc74") + P("0x7a4") + P("0x7a5") + P("0x7a6") + P("0xc75") + " posInCamera = posInCamera / posInCamera.w;\n" + P("0xc76") + "}\n" + P("0x7a8") + " float z_window = czm_unpackDepth(depth);\n" + P("0x7aa") + P("0x7ab") + P("0x7ac") + " return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + " float visibility = step(position.z, texture2D(shadowMap, position.xy).r);\n return (visibility == 1.0);\n}\n" + P("0x708") + "{\n" + P("0x7b1") + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + " vec4 videoPosition = videoMapMatrix * positionEC;\n videoPosition /= videoPosition.w;\n" + P("0xc79") + " {\n" + P("0x7b4") + P("0x7b5") + " }\n" + P("0xc7a") + P("0xc7b") + P("0xc7c") + " gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n" + P("0xc7d") + P("0x7b4") + P("0x7b7") + "}", i[P("0xc7e")] = P("0xc6f") + P("0xc70") + P("0x7a0") + P("0xc7f") + P("0x7a1") + P("0xc72") + "uniform mat4 videoViewMatrix;\n" + P("0xc74") + P("0xc80") + P("0x7a4") + P("0x7a5") + P("0x7a6") + P("0xc75") + " posInCamera = posInCamera / posInCamera.w;\n" + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + " float f_range = czm_depthRange.far;\n return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + P("0xc81") + P("0xc82") + "}\n" + P("0x708") + "{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n vec4 currD = texture2D(depthTexture, v_textureCoordinates);\n" + P("0x7b3") + P("0x7b4") + P("0x7b5") + " }\n" + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + P("0x85f") + P("0x7b4") + P("0x7b5") + " }\n" + P("0xc7a") + " if(visibility){\n" + P("0xc85") + P("0xc86") + P("0xc7d") + P("0x7b4") + " }\n}", i[P("0xc87")] = P("0xc6f") + P("0xc70") + "uniform sampler2D colorTexture;\n" + P("0xc7f") + P("0xc71") + P("0x7a1") + "uniform mat4 videoMapMatrix;\n" + P("0xc73") + P("0xc74") + P("0xc80") + "varying vec2 v_textureCoordinates;\n" + P("0x7a5") + P("0x7a6") + P("0xc75") + P("0x7a7") + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + P("0x7ab") + P("0x7ac") + P("0x7ad") + "}\n" + P("0xc77") + P("0xc81") + P("0xc82") + "}\n" + P("0x708") + "{\n vec4 color = texture2D(colorTexture, v_textureCoordinates);\n" + P("0x7b2") + P("0x7b3") + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + " {\n gl_FragColor = color;\n return;\n" + P("0x7b7") + P("0xc7a") + P("0xc7b") + P("0xc88") + " vec4 positionWC = viewScene * positionEC;\n positionWC /= positionWC.w;\n depth = length(videoMapPosition - positionWC.xyz);\n if(depth - videoDistance > -0.5){\n" + P("0xc89") + P("0xc8a") + P("0x7bf") + P("0xc7c") + P("0xc86") + P("0xc7d") + P("0x7b4") + " }\n}", i[P("0xc8b")] = "uniform float mixNum;\n" + P("0xc70") + P("0x7a0") + P("0xc7f") + P("0x7a1") + P("0xc72") + P("0xc73") + P("0xc74") + P("0xc80") + "varying vec2 v_textureCoordinates;\n" + P("0x7a5") + P("0x7a6") + P("0xc75") + P("0x7a7") + P("0xc76") + "}\n" + P("0x7a8") + P("0x7a9") + P("0x7aa") + " float n_range = czm_depthRange.near;\n" + P("0x7ac") + " return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n}\n" + P("0xc77") + P("0xc81") + " return (visibility == 1.0);\n}\nvoid main()\n{\n" + P("0x7b1") + P("0x7b2") + P("0x7b3") + " gl_FragColor = color;\n" + P("0x7b5") + P("0x7b7") + P("0x7b8") + P("0xc78") + P("0xc83") + P("0xc84") + P("0xc79") + " {\n" + P("0x7b4") + P("0x7b5") + P("0x7b7") + P("0xc7a") + P("0xc7b") + P("0xc88") + P("0xc8c") + " positionWC /= positionWC.w;\n" + P("0xc8d") + " if(depth - videoDistance > -0.5){\n" + P("0xc89") + P("0xc8a") + P("0x7bf") + P("0xc85") + " gl_FragColor = vec4(mix(color.rgb, videoColor.rgb, mixNum), 1.0);\n" + P("0xc7d") + P("0x7b4") + " }\n}", e[P("0xf")](i[P("0x5")], { CreationEvent: { get: function get() { return this[P("0xc6d")]; } }, AddToSceneEvent: { get: function get() { return this[P("0xc6b")]; } }, RemoveFromSceneEvent: { get: function get() { return this[P("0xc6c")]; } } }), i.prototype[P("0xc8e")] = function () { var e = this[P("0xc67")]; if (e) { if (this[P("0xc6a")] = e[P("0xc8f")](), this._videoTexture) e.fillVideo || (this[P("0xc6a")] = null);else if (e[P("0xc90")]) return void this._removeFromScene(); this[P("0xc91")](), this[P("0xc92")](), this._addToScene(); } }, i[P("0x5")][P("0xc93")] = function () { this[P("0xc68")] = null, this._removeFromScene(); }, i[P("0x5")][P("0xc94")] = function () { this._postStage && (this[P("0x42")][P("0x77c")][P("0xd1")](this[P("0xc69")]) || (this._scene.postProcessStages[P("0x6d")](this[P("0xc69")]), this[P("0xc6b")][P("0x896")](this))); }, i.prototype[P("0xc95")] = function () { this._postStage && this._scene[P("0x77c")][P("0xd1")](this._postStage) && (this[P("0x42")][P("0x77c")][P("0x17f")](this._postStage), this[P("0xc69")] = null, this[P("0xc6c")][P("0x896")](this)); }, i[P("0x5")][P("0xc91")] = function () { if (!this._uniforms) { var e = this, t = e[P("0xc67")]; e._videoTexture ? this[P("0xc68")] = { mixNum: function mixNum() { return t[P("0xc96")]; }, videoMapTexture: function videoMapTexture() { return t[P("0xc97")](); }, videoTexture: function videoTexture() { return e[P("0xc6a")]; }, videoMapMatrix: function videoMapMatrix() { return t[P("0xc98")](); }, videoViewMatrix: function videoViewMatrix() { return t[P("0xc99")](); }, videoDistance: function videoDistance() { return t.fovDistance; }, videoMapPosition: function videoMapPosition() { return t[P("0x8c")]; }, u_videoColor: function u_videoColor() { return t[P("0xc9a")]; } } : this[P("0xc68")] = { mixNum: function mixNum() { return t.mixFactor; }, videoMapTexture: function videoMapTexture() { return t[P("0xc97")](); }, videoMapMatrix: function videoMapMatrix() { return t[P("0xc98")](); }, videoViewMatrix: function videoViewMatrix() { return t[P("0xc99")](); }, videoDistance: function videoDistance() { return t[P("0xc9b")]; }, videoMapPosition: function videoMapPosition() { return t[P("0x8c")]; }, u_videoColor: function u_videoColor() { return t[P("0xc9a")]; } }; } }, i[P("0x5")][P("0xc9c")] = function () { var e = this[P("0xc69")]; e && (e.enabled = this[P("0xc67")][P("0x5ba")]); }, i[P("0x5")][P("0xc92")] = function () { if (!this[P("0xc69")]) { var t; t = 1 == this[P("0xc67")][P("0xc9d")] ? this[P("0xc6a")] ? i._FS_Cone : i[P("0xc7e")] : this[P("0xc6a")] ? i[P("0xc87")] : i[P("0xc8b")], this._postStage = new e[P("0x7c5")]({ fragmentShader: t, enabled: !1, uniforms: this[P("0xc68")] }), this[P("0xc6d")][P("0x896")](this); } }, i[P("0x5")]._destroyPostStage = function () { this._postStage && this[P("0xc95")](), this[P("0xc68")] = null; }, e[P("0xf")](r[P("0x5")], { minFovX: { get: function get() { return this[P("0xcb7")]; }, set: function set(e) { this[P("0xcb7")] = e; } }, maxFovX: { get: function get() { return this[P("0xc9f")]; }, set: function set(e) { this[P("0xc9f")] = e; } }, minFovY: { get: function get() { return this[P("0xca0")]; }, set: function set(e) { this[P("0xca0")] = e; } }, maxFovY: { get: function get() { return this[P("0xca2")]; }, set: function set(e) { this[P("0xca2")] = e; } }, minFovDistance: { get: function get() { return this[P("0xca4")]; }, set: function set(e) { this[P("0xca4")] = e; } }, maxFovDistance: { get: function get() { return this[P("0xca6")]; }, set: function set(e) { this[P("0xca6")] = e; } }, minHeading: { get: function get() { return this[P("0xca8")]; }, set: function set(e) { this[P("0xca8")] = e; } }, maxHeading: { get: function get() { return this[P("0xcaa")]; }, set: function set(e) { this._maxHeading = e; } }, minPitch: { get: function get() { return this[P("0xcb8")]; }, set: function set(e) { this[P("0xcb8")] = e; } }, maxPitch: { get: function get() { return this._maxPitch; }, set: function set(e) { this._maxPitch = e; } }, minRoll: { get: function get() { return this[P("0xcaf")]; }, set: function set(e) { this._minRoll = e; } }, maxRoll: { get: function get() { return this[P("0xcb9")]; }, set: function set(e) { this._maxRoll = e; } }, minSegmentCount: { get: function get() { return this[P("0xcb2")]; }, set: function set(e) { this[P("0xcb2")] = e; } }, maxSegmentCount: { get: function get() { return this[P("0xcb3")]; }, set: function set(e) { this[P("0xcb3")] = e; } }, isInvSphere: { get: function get() { return this._isInvSphere; }, set: function set(e) { this._isInvSphere = e; } }, isSphereType: { get: function get() { return this._isSphereType; }, set: function set(e) { this[P("0xcb6")] = e; } } }), r[P("0xcba")] = 5, r[P("0xcb4")] = 10, r[P("0xc9e")] = 1, r._MaxFovX = 160, r[P("0xca1")] = 1, r._MaxFovY = 90, r[P("0xca5")] = 1, r._MaxFovDistance = 500, r[P("0xca9")] = -180, r[P("0xcab")] = 180, r[P("0xcb0")] = -90, r[P("0xcb1")] = 90, r[P("0xcac")] = -90, r[P("0xcae")] = 90, r[P("0x5")][P("0xcbb")] = function (e) { return e ? e < this._minSegmentCount ? this[P("0xcb2")] : e > this[P("0xcb3")] ? this[P("0xcb3")] : e : this._minSegmentCount; }, r[P("0x5")].clampFovX = function (e) { return e ? e < this[P("0xcb7")] ? this._minFovX : e > this._maxFovX ? this._maxFovX : e : this[P("0xc9f")]; }, r[P("0x5")][P("0xcbc")] = function (e) { return e ? e < this[P("0xca0")] ? this[P("0xca0")] : e > this._maxFovY ? this[P("0xca2")] : e : this._maxFovY; }, r[P("0x5")][P("0xcbd")] = function (e) { return e ? e < this[P("0xca4")] ? this[P("0xca4")] : e > this._maxFovDistance ? this[P("0xca6")] : e : this[P("0xca4")]; }, r.prototype[P("0xcbe")] = function (e) { return e ? e < this[P("0xca8")] ? this[P("0xca8")] : e > this._maxHeading ? this[P("0xcaa")] : e : 0; }, r.prototype[P("0xcbf")] = function (e) { return e ? e < this._minPitch ? this[P("0xcb8")] : e > this._maxPitch ? this[P("0xcad")] : e : 0; }, r[P("0x5")].clampRoll = function (e) { return e ? e < this[P("0xcaf")] ? this[P("0xcaf")] : e > this[P("0xcb9")] ? this[P("0xcb9")] : e : 0; }, n[P("0x5")][P("0xf4")] = function () { this[P("0x42")] = null, this[P("0xc67")] = null, this[P("0x224")] = null, this[P("0x9fc")] = null, this._boundingVolume = null, this[P("0xcc0")] = null, this[P("0xcc6")] = null, this[P("0x5ba")] = !1, this[P("0xcc9")] = !1, this[P("0x6ce")] && (this[P("0x6ce")][P("0xcca")] && (this[P("0x6ce")][P("0xcca")][P("0xf4")](), this[P("0x6ce")][P("0xcca")] = null), this._drawCommand[P("0x4d8")] && (this._drawCommand._vertexArray[P("0xf4")](), this[P("0x6ce")][P("0x4d8")] = null), this[P("0x6ce")] = null); }, e.defineProperties(n[P("0x5")], { id: { get: function get() { return this._id; }, set: function set(e) { this._id = e; } }, actived: { get: function get() { return this[P("0x5ba")]; }, set: function set(e) { this[P("0x5ba")] = e; } }, visibly: { get: function get() { return this._visibly; }, set: function set(e) { this[P("0xcc9")] = e; } }, DeveloperErrorEvent: { get: function get() { return this[P("0x9fc")]; } }, minFovX: { get: function get() { return this._videoProjection.config[P("0xccb")]; } }, maxFovX: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xccd")]; } }, minFovY: { get: function get() { return this[P("0xc67")][P("0xccc")].minFovY; } }, maxFovY: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcce")]; } }, minFovDistance: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xccf")]; } }, maxFovDistance: { get: function get() { return this._videoProjection.config.maxFovDistance; } }, minHeading: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd0")]; } }, maxHeading: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd1")]; } }, minPitch: { get: function get() { return this[P("0xc67")].config[P("0xcd2")]; } }, maxPitch: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd3")]; } }, minRoll: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd4")]; } }, maxRoll: { get: function get() { return this._videoProjection.config[P("0xcd5")]; } }, minSegmentCount: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd6")]; } }, maxSegmentCount: { get: function get() { return this._videoProjection.config[P("0xcd7")]; } }, isSphereType: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd8")]; } }, isInvSphere: { get: function get() { return this[P("0xc67")][P("0xccc")][P("0xcd9")]; } }, position: { get: function get() { return this[P("0x6b6")]; } }, fovX: { get: function get() { return this._fovX; }, set: function set(e) { e < this[P("0xccb")] || e > this[P("0xccd")] ? this[P("0x9fc")][P("0x896")](P("0xcda")) : this._fovX !== e && (this._fovX = e, this[P("0xcc8")] = !0); } }, fovY: { get: function get() { return this[P("0xcc1")]; }, set: function set(e) { e < this[P("0xcdb")] || e > this[P("0xcce")] ? this[P("0x9fc")].raiseEvent(P("0xcdc")) : this._fovY !== e && (this[P("0xcc1")] = e, this._isNeedRecreate = !0); } }, fovDistance: { get: function get() { return this[P("0xcc2")]; }, set: function set(e) { e < this[P("0xccf")] || e > this[P("0xcdd")] ? this[P("0x9fc")][P("0x896")](P("0xcde")) : this[P("0xcc2")] !== e && (this[P("0xcc2")] = e, this[P("0xcc8")] = !0); } }, heading: { get: function get() { return this[P("0x541")]; }, set: function set(e) { e < this.minHeading || e > this[P("0xcd1")] ? this[P("0x9fc")][P("0x896")](P("0xcdf")) : this[P("0x541")] !== e && (this._heading = e, this[P("0xcc8")] = !0); } }, roll: { get: function get() { return this[P("0x538")]; }, set: function set(e) { e < this[P("0xcd4")] || e > this[P("0xcd5")] ? this._errorEvent[P("0x896")](P("0xce0")) : this._roll !== e && (this[P("0x538")] = e, this._isNeedRecreate = !0); } }, pitch: { get: function get() { return this._pitch; }, set: function set(e) { e < this[P("0xcd2")] || e > this.maxPitch ? this[P("0x9fc")][P("0x896")]("pitch!") : this._pitch !== e && (this[P("0x537")] = e, this[P("0xcc8")] = !0); } }, color: { get: function get() { return this[P("0x596")]; }, set: function set(e) { this[P("0x596")] = e[P("0x6e")](); } }, lineWidth: { get: function get() { return this[P("0x31a")]; }, set: function set(e) { e < 1 ? this._errorEvent.raiseEvent("lineWidth!") : this[P("0x31a")] = e; } }, mixFactor: { get: function get() { return this[P("0xcc3")]; }, set: function set(e) { e < 0 || 1 < e ? this[P("0x9fc")][P("0x896")](P("0xce1")) : this[P("0xcc3")] = e; } }, drawCommand: { get: function get() { return this[P("0x6ce")]; } } }), n[P("0x5")][P("0xce2")] = function (e, t) { this._actived && this._visibly && (t && this[P("0xc67")] === t ? (t[P("0xce4")] && (this[P("0xcc0")] = t[P("0xce4")]()), this[P("0xd2")](e), this[P("0xcc0")] = null) : this[P("0x9fc")][P("0x896")](P("0xce3"))); }, n.prototype[P("0xd2")] = function (e) { this[P("0x6ce")] ? e ? e[P("0x5ca")][P("0x17c")](this._drawCommand) : this[P("0x9fc")].raiseEvent(P("0xce5")) : this[P("0x9fc")][P("0x896")]("update!"); }, n.prototype[P("0xce6")] = function (e) { e && (this._position = e[P("0x6e")](), this._isNeedRecreate = !0, this[P("0xce7")]()); }, n[P("0x5")][P("0xce8")] = function (e) { e && (this[P("0xce9")] = e, this._tryCreate()); }, n.prototype[P("0xcea")] = function (e) { e && (this.fovY = e, this[P("0xce7")]()); }, n[P("0x5")]._updateFovDistance = function (e) { e && (this[P("0xc9b")] = e, this._tryCreate()); }, n[P("0x5")]._updateHeading = function (e) { e && (this[P("0x7f")] = e, this._tryCreate()); }, n[P("0x5")][P("0xceb")] = function (e) { e && (this[P("0x80")] = e, this[P("0xce7")]()); }, n[P("0x5")][P("0xcec")] = function (e) { e && (this[P("0x81")] = e, this[P("0xce7")]()); }, n.prototype[P("0xced")] = function (e, t, i, r, n, o) { e && (this[P("0xce9")] = e), t && (this[P("0xcee")] = t), i && (this.fovDistance = i), r && (this.heading = r), n && (this[P("0x80")] = n), o && (this[P("0x81")] = o), this[P("0xce7")](); }, n[P("0x5")][P("0xc91")] = function () { var e = this; return { uDiffuseColor: function uDiffuseColor() { return e[P("0x169")]; } }; }, n[P("0x5")]._computeTransform = function () { if (!this[P("0x8c")]) return this[P("0x9fc")][P("0x896")]("_computeTransform!"), null; var t = null; (t = this[P("0xcc0")] ? e[P("0x3cb")].clone(this._videoProjectionCamera, null) : e[P("0x3cb")].clone(this[P("0x42")][P("0x7e")], null))[P("0xe8")].aspectRatio = this[P("0xce9")] / this[P("0xcee")], t[P("0xe8")].fov = this[P("0xce9")] * e[P("0x23")][P("0xa2c")], t[P("0xe8")][P("0xb3e")] = 0.1, t[P("0xe8")][P("0xc13")] = this.fovDistance, t.setView({ destination: this[P("0x8c")], orientation: { heading: this[P("0x7f")] * e.Math[P("0xa2c")], pitch: this.pitch * e[P("0x23")][P("0xa2c")], roll: this.roll * e[P("0x23")].RADIANS_PER_DEGREE } }); var i = new e[P("0x1b")](); return i[0] = t[P("0x9b")].x, i[1] = t[P("0x9b")].y, i[2] = t[P("0x9b")].z, i[3] = 0, i[4] = t.direction.x, i[5] = t[P("0x93")].y, i[6] = t[P("0x93")].z, i[7] = 0, i[8] = t.up.x, i[9] = t.up.y, i[10] = t.up.z, i[11] = 0, i[12] = t[P("0x8c")].x, i[13] = t[P("0x8c")].y, i[14] = t[P("0x8c")].z, i[15] = 1, i; }, n[P("0x5")][P("0xcef")] = function () { if (!this[P("0x8c")]) return this[P("0x9fc")][P("0x896")](P("0xcf0")), null; var t = null; return (t = this[P("0xcc0")] ? e[P("0x3cb")].clone(this[P("0xcc0")], null) : e[P("0x3cb")][P("0x6e")](this[P("0x42")][P("0x7e")], null))[P("0xe8")][P("0xaef")] = this[P("0xce9")] / this[P("0xcee")], t[P("0xe8")].fov = this[P("0xce9")] * e.Math[P("0xa2c")], t.frustum[P("0xb3e")] = 1, t[P("0xe8")].far = this[P("0xc9b")], t[P("0x9c")]({ destination: this.position, orientation: { heading: this.heading * e.Math[P("0xa2c")], pitch: this[P("0x80")] * e[P("0x23")][P("0xa2c")], roll: this[P("0x81")] * e[P("0x23")].RADIANS_PER_DEGREE } }), t.inverseViewMatrix[P("0x6e")](); }, n.prototype[P("0xcf1")] = function () { return "attribute vec4 aPosition;\n" + P("0xcf2") + P("0xcf3") + P("0xcf4") + P("0xcf5") + P("0xcf6") + P("0xcf7") + "{\n" + P("0xcf8") + " clipPos.z = min(clipPos.z, clipPos.w);\n" + P("0xcf9") + "}\n" + P("0x708") + "{\n" + P("0xcfa") + P("0xcfb") + " clip_vertex = czm_modelView * vec4(aPosition.xyz, 1.0);\n" + P("0xcfc") + P("0xcfd") + "}"; }, n[P("0x5")]._createFS = function () { return P("0xcfe") + P("0xcff") + "varying vec4 vColor;\nvarying float fWindowZ;\n" + P("0xcf6") + "vec4 LIGHT_COLOR = vec4(0.8, 0.8, 0.8, 1.0);\nvoid main()\n{\n" + P("0xd00") + P("0xd01") + P("0xd02") + " vec4 eyePosition = czm_modelView * vec4(normal_vertex.xyz, 1.0);\n" + P("0xd03") + " float nDotL = max(dot(lightDirection, normal), 0.0);\n" + P("0xd04") + P("0xd05") + P("0xd06") + "}"; }, n[P("0x5")][P("0xd07")] = function () { var t = this._scene[P("0x3cc")]; if (!t) return this[P("0x9fc")][P("0x896")]("_createVA!"), null; var i = this[P("0xcc2")], r = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")][P("0x5e9")], 15), n = 3, o = this[P("0xd08")] * e[P("0x23")].RADIANS_PER_DEGREE, a = this[P("0xcc1")] * e[P("0x23")][P("0xa2c")]; if (Math[P("0x2ae")](Math[P("0x9a")](0.5 * o), 2) < 0.001) return null; var s = i / Math[P("0x9a")](0.5 * o), x = i * Math[P("0x992")](0.5 * a); i = Math[P("0xca")](s * s + x * x); for (var l = e[P("0x23")].PI_OVER_TWO + 0.5 * o, c = 0.5 * a, u = 0, h = 0, f = o / 1, d = a / 1, g = 0; g < 2; g++) { u = l - g * f; for (var p = 0; p < 2; p++) { h = c - p * d, r[n++] = i * Math[P("0x9a")](h) * Math[P("0x9a")](u), r[n++] = i * Math[P("0x9a")](h) * Math.sin(u), r[n++] = i * Math.sin(h); } } var m = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].UNSIGNED_SHORT, 16), b = 0; for (m[b++] = 0, m[b++] = 1, m[b++] = 0, m[b++] = 2, m[b++] = 0, m[b++] = 3, m[b++] = 0, m[b++] = 4, g = 0; g < 2; g++) { for (p = 0; p < 1; p++) { m[b++] = 1 + p + 2 * g, m[b++] = 1 + (p + 1) + 2 * g; } } for (g = 0; g < 2; g++) { for (p = 0; p < 1; p++) { m[b++] = 1 + 2 * p + g, m[b++] = 1 + 2 * (p + 1) + g; } } var v = e[P("0x5ea")][P("0x5eb")]({ context: t, typedArray: r, usage: e[P("0x4d5")].STATIC_DRAW }), C = e[P("0x5ea")][P("0x5ec")]({ context: t, typedArray: m, usage: e.BufferUsage[P("0x4d6")], indexDatatype: e[P("0x742")][P("0x5ed")] }), y = []; return y[P("0x17c")]({ index: 0, vertexBuffer: v, componentsPerAttribute: 3, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 12, normalize: !1 }), this[P("0xd09")](r), new e[P("0x5ee")]({ context: t, attributes: y, indexBuffer: C }); }, n.prototype[P("0xd0a")] = function () { var t = this[P("0x42")][P("0x3cc")]; if (!t) return this._errorEvent.raiseEvent(P("0xd0b")), null; var i = Math[P("0xee")](this[P("0xcc7")], this[P("0xcd6")]); i = Math.min(i, this.maxSegmentCount); for (var r = this[P("0xcc2")], n = (i + 1) * (i + 1) + 1, o = e[P("0x5e8")].createTypedArray(e.ComponentDatatype.FLOAT, 3 * n), a = 3, s = this[P("0xd08")] * e.Math[P("0xa2c")], x = this[P("0xcc1")] * e[P("0x23")].RADIANS_PER_DEGREE, l = e.Math[P("0x5b")] + 0.5 * s, c = 0.5 * x, u = 0, h = 0, f = s / i, d = x / i, g = 0; g < i + 1; g++) { u = l - g * f; for (var p = 0; p < i + 1; p++) { h = c - p * d, o[a++] = r * Math[P("0x9a")](h) * Math[P("0x9a")](u), o[a++] = r * Math[P("0x9a")](h) * Math[P("0x98")](u), o[a++] = r * Math[P("0x98")](h); } } var m = 4 * (2 + (i + 1) * i), b = e[P("0x5e8")].createTypedArray(e[P("0x5e8")].UNSIGNED_SHORT, m), v = 0; for (b[v++] = 0, b[v++] = 1, b[v++] = 0, b[v++] = i + 1, b[v++] = 0, b[v++] = i * (i + 1) + 1, b[v++] = 0, b[v++] = (i + 1) * (i + 1), g = 0; g < i + 1; g++) { for (p = 0; p < i; p++) { b[v++] = 1 + p + (i + 1) * g, b[v++] = 1 + (p + 1) + (i + 1) * g; } } for (g = 0; g < i + 1; g++) { for (p = 0; p < i; p++) { b[v++] = 1 + (i + 1) * p + g, b[v++] = 1 + (i + 1) * (p + 1) + g; } } var C = e[P("0x5ea")][P("0x5eb")]({ context: t, typedArray: o, usage: e.BufferUsage[P("0x4d6")] }), y = e.Buffer.createIndexBuffer({ context: t, typedArray: b, usage: e[P("0x4d5")].STATIC_DRAW, indexDatatype: e[P("0x742")][P("0x5ed")] }), _ = []; return _.push({ index: 0, vertexBuffer: C, componentsPerAttribute: 3, componentDatatype: e[P("0x5e8")][P("0x5e9")], offsetInBytes: 0, strideInBytes: 12, normalize: !1 }), this[P("0xd09")](o), new e[P("0x5ee")]({ context: t, attributes: _, indexBuffer: y }); }, n[P("0x5")][P("0xd0c")] = function () { var t = this[P("0x42")][P("0x3cc")]; if (!t) return this._errorEvent.raiseEvent(P("0xd0b")), null; var i = Math.max(this[P("0xcc7")], this[P("0xcd6")]); i = Math[P("0x7d")](i, this[P("0xcd7")]); for (var r = this[P("0xcc2")], n = (i + 1) * (i + 1) + 1, o = e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].FLOAT, 3 * n), a = 3, s = this[P("0xd08")] * e[P("0x23")][P("0xa2c")], x = this[P("0xcc1")] * e[P("0x23")][P("0xa2c")], l = r * Math[P("0x992")](0.5 * x), c = Math.PI - 0.5 * s, u = 0, h = 0, f = s / i, d = 0; d < i + 1; d++) { u = c + d * f; for (var g = l / (r / Math.cos(u)), p = Math[P("0x321")](g), m = -p, b = 2 * p / i, v = 0; v < i + 1; v++) { h = m + v * b, o[a++] = r * Math.cos(h) * Math[P("0x98")](u), o[a++] = r * Math.sin(h), o[a++] = r * Math[P("0x9a")](h) * Math[P("0x9a")](u); } } var C = 4 * (2 + (i + 1) * i), y = e[P("0x5e8")].createTypedArray(e[P("0x5e8")].UNSIGNED_SHORT, C), _ = 0; for (y[_++] = 0, y[_++] = 1, y[_++] = 0, y[_++] = i + 1, y[_++] = 0, y[_++] = i * (i + 1) + 1, y[_++] = 0, y[_++] = (i + 1) * (i + 1), d = 0; d < i + 1; d++) { for (v = 0; v < i; v++) { y[_++] = 1 + v + (i + 1) * d, y[_++] = 1 + (v + 1) + (i + 1) * d; } } for (d = 0; d < i + 1; d++) { for (v = 0; v < i; v++) { y[_++] = 1 + (i + 1) * v + d, y[_++] = 1 + (i + 1) * (v + 1) + d; } } var A = e.Buffer[P("0x5eb")]({ context: t, typedArray: o, usage: e[P("0x4d5")][P("0x4d6")] }), I = e.Buffer[P("0x5ec")]({ context: t, typedArray: y, usage: e.BufferUsage[P("0x4d6")], indexDatatype: e[P("0x742")][P("0x5ed")] }), w = []; return w[P("0x17c")]({ index: 0, vertexBuffer: A, componentsPerAttribute: 3, componentDatatype: e[P("0x5e8")].FLOAT, offsetInBytes: 0, strideInBytes: 12, normalize: !1 }), this[P("0xd09")](o), new e[P("0x5ee")]({ context: t, attributes: w, indexBuffer: I }); }, n[P("0x5")][P("0xd0d")] = function () { return e[P("0x5d6")].fromCache({ cull: { enabled: !1 }, depthTest: { enabled: !0 } }); }, n[P("0x5")][P("0xd0e")] = function () { var e = {}; return e[P("0x6ee")] = 0, e; }, n[P("0x5")][P("0xd0f")] = function () { var t = this[P("0x42")][P("0x3cc")]; if (!t) return this[P("0x9fc")][P("0x896")](P("0xd10")), null; var i = this[P("0xcf1")](), r = this[P("0xd11")](), n = this[P("0xd0e")](); return n ? e.ShaderProgram.fromCache({ context: t, vertexShaderSource: i, fragmentShaderSource: r, attributeLocations: n }) : (this._errorEvent[P("0x896")](P("0xd10")), null); }; var o = new e[P("0x11")](), a = new e[P("0x11")](); n[P("0x5")][P("0xd09")] = function (t) { if (t && t[P("0x0")] && 6 <= t[P("0x0")]) { for (var i = 3, r = t[0], n = t[1], s = t[2], x = t[0], l = t[1], c = t[2], u = 0; i < t[P("0x0")]; i += 3) { u = t[i], r = Math.min(u, r), x = Math[P("0xee")](u, x), u = t[i + 1], n = Math[P("0x7d")](u, n), l = Math[P("0xee")](u, l), u = t[i + 2], s = Math[P("0x7d")](u, s), c = Math[P("0xee")](u, c); } o.x = r, o.y = n, o.z = s, a.x = x, a.y = l, a.z = c, this[P("0x4a4")] = e[P("0x5f1")][P("0xd12")](o, a); } else this[P("0x4a4")] = new e[P("0x5f1")](e.Cartesian3[P("0x6f")], this[P("0xc9b")]); }; var s = new e[P("0x5f1")](e[P("0x11")][P("0x6f")], 1); function x(t, i) { this[P("0xd17")] = null, this[P("0x42")] = t, this[P("0x6d6")] = i, this[P("0x5ba")] = !1, this[P("0xd18")] = new e[P("0x766")](), this[P("0xd19")] = new e[P("0x766")](); } function l() { this[P("0xb78")] = 0; } n[P("0x5")][P("0x5ef")] = function (t) { var i = this[P("0x4a4")]; return i ? (e[P("0x5f1")][P("0xaf")](i, t, s), s) : (this._errorEvent[P("0x896")](P("0xd13")), null); }, n[P("0x5")][P("0xce7")] = function () { try { this._recreate(); } catch (e) { this._drawCommand = null; } }, n[P("0x5")]._recreate = function () { if (this[P("0xcc8")]) { this[P("0xcc8")] = !1, this._drawCommand && (this._drawCommand[P("0xcca")] && (this[P("0x6ce")][P("0xcca")][P("0xf4")](), this._drawCommand[P("0xcca")] = null), this[P("0x6ce")]._vertexArray && (this._drawCommand[P("0x4d8")].destroy(), this[P("0x6ce")][P("0x4d8")] = null), this[P("0x6ce")] = null); var t; if (t = this[P("0xcd9")] && this[P("0xcd8")] ? this[P("0xcef")]() : this[P("0xd14")]()) { var i; if (i = this.isSphereType ? this[P("0xcd9")] ? this[P("0xd0c")]() : this[P("0xd0a")]() : this[P("0xd07")]()) { var r = this[P("0xd0d")](); if (r) { var n = this[P("0xd0f")](); if (n) { var o = this[P("0xc91")](), a = this[P("0x5ef")](t); a ? this._drawCommand = new e.DrawCommand({ vertexArray: i, primitiveType: e.PrimitiveType[P("0xd16")], renderState: r, shaderProgram: n, modelMatrix: t, boundingVolume: a, uniformMap: o, owner: this[P("0xc67")], pass: e.Pass.OPAQUE }) : this[P("0x9fc")][P("0x896")](P("0xd15")); } else this[P("0x9fc")].raiseEvent(P("0xd15")); } else this._errorEvent[P("0x896")](P("0xd15")); } else this._errorEvent[P("0x896")](P("0xd15")); } else this._errorEvent[P("0x896")](P("0xd15")); } }, e[P("0xf")](x[P("0x5")], { UpdateMatrixEvent: { get: function get() { return this._updateMatrixEvent; } }, UpdateEvent: { get: function get() { return this._updateEvent; } } }), x[P("0x5")][P("0xc5d")] = function () { return new e[P("0x789")]({ wrapS: e.TextureWrap.CLAMP_TO_EDGE, wrapT: e[P("0x78b")][P("0x78a")], minificationFilter: e[P("0x78c")].NEAREST, magnificationFilter: e[P("0x78e")][P("0x78d")] }); }, x.prototype[P("0xd1a")] = function (t, i) { for (var r = new e.Texture({ context: i, width: t._textureSize.x, height: t[P("0xd1b")].y, pixelFormat: e[P("0x785")].DEPTH_STENCIL, pixelDatatype: e[P("0x787")].UNSIGNED_INT_24_8, sampler: this[P("0xc5d")]() }), n = new e[P("0x78f")]({ context: i, depthStencilTexture: r, destroyAttachments: !1 }), o = t[P("0xd1c")][P("0x0")], a = 0; a < o; ++a) { var s = t[P("0xd1c")][a]; s[P("0x796")] = n, s.passState[P("0x796")] = n; } t[P("0xd1d")] = r, t[P("0x770")] = r; }, x[P("0x5")][P("0xd1e")] = function (e, t) { e[P("0x771")][P("0x796")] = e[P("0xd1c")][0][P("0x796")], e[P("0x771")].execute(t, e[P("0xd1f")]); }, x[P("0x5")][P("0xd20")] = function () { var t = this[P("0xd17")]; if (t) { for (var i = t._passes[P("0x0")], r = 0; r < i; ++r) { var n = t[P("0xd1c")][r], o = n[P("0x796")]; e[P("0x14")](o) && !o[P("0xf3")]() && o[P("0xf4")](), n[P("0x796")] = void 0; } t._depthAttachment = t[P("0x770")] && t[P("0x770")].destroy(), t[P("0xd21")] = t._colorAttachment && t[P("0xd21")][P("0xf4")](); var a = this._scene[P("0x6d9")][P("0x3cc")]; this[P("0xd1a")](t, a), this[P("0xd1e")](t, a); } }, x[P("0x5")][P("0xd22")] = function (t, i, r, n, o, a, s) { if (!this._shadowMap) { var x = this._scene; if (x) { var l = this, c = new e[P("0x3cb")](x); c[P("0xe8")] = new e[P("0xae3")](), c[P("0xe8")].aspectRatio = i / r, c[P("0xe8")].fov = i * e[P("0x23")][P("0xa2c")], c.frustum[P("0xb3e")] = 1, c[P("0xe8")][P("0xc13")] = n, c[P("0x9c")]({ destination: t, orientation: { heading: o * e.Math[P("0xa2c")], pitch: a * e[P("0x23")].RADIANS_PER_DEGREE, roll: s * e[P("0x23")].RADIANS_PER_DEGREE } }); var u = this[P("0xd17")] = new e[P("0x4f1")]({ lightCamera: c, enable: !1, isPointLight: !1, isSpotLight: !0, cascadesEnabled: !1, context: x[P("0x3cc")], pointLightRadius: n }); u[P("0xd23")] = u[P("0xd2")], u.update = function (e) { u._updateOri(e); var t = u[P("0xd24")]._invViewMatrix; l[P("0xd18")][P("0x896")](t), l[P("0xd19")][P("0x896")](); }; } } }, x[P("0x5")][P("0xd2")] = function (t, i, r, n, o, a) { if (this[P("0xd17")]) { var s = this[P("0xd17")][P("0xd25")]; s[P("0xe8")][P("0xaef")] = t / i, s.frustum.fov = t * e.Math[P("0xa2c")], s[P("0xe8")].near = 1, s[P("0xe8")][P("0xc13")] = r, s[P("0x9c")]({ destination: s[P("0x8c")], orientation: { heading: n * e[P("0x23")].RADIANS_PER_DEGREE, pitch: o * e[P("0x23")][P("0xa2c")], roll: a * e[P("0x23")][P("0xa2c")] } }); } }, x[P("0x5")][P("0xf4")] = function () { this.deactive(), this[P("0xd17")] && (this[P("0xd17")][P("0xf4")](), this[P("0xd17")] = null), this[P("0x42")] = null, this[P("0x6d6")] = null, this[P("0xd18")] = null, this[P("0xd19")] = null; }, x[P("0x5")].active = function () { if (this[P("0xd17")]) { var e = this[P("0x42")][P("0x17d")]; this._actived = !0; var t = this[P("0xd17")], i = t[P("0xa94")]; i || (i = { update: function update(e) { e[P("0xd26")] || (e[P("0xd26")] = []), t[P("0xd2")](e), e[P("0xd26")][P("0x2d3")](t) < 0 && e[P("0xd26")][P("0x17c")](t); }, owner: t, destroy: function destroy() { this.owner && (this[P("0x5cd")]._proxy = null, this[P("0x5cd")] = null); } }, t[P("0xa94")] = i), e.contains(i) || e[P("0x6d")](i); } }, x[P("0x5")][P("0xd27")] = function () { if (this[P("0x5ba")] && this[P("0xd17")]) { var e = this[P("0x42")] && this._scene.primitives; this._actived = !1; var t = this[P("0xd17")], i = t[P("0xa94")]; i && (e.contains(i) && e.remove(i), t[P("0xa94")] = null); var r = this[P("0x42")]; if (r) { var n = r[P("0x6d9")][P("0xd26")]; if (n) { var o = n[P("0x2d3")](this._shadowMap); 0 <= o && n.splice(o, 1); } } } }, x.prototype.updatePosition = function (t, i, r, n) { if (t) { var o = this[P("0xd17")]; if (o) { i || 0 === i || (i = a[P("0x7f")]), r || 0 === r || (r = a[P("0x80")]), n || 0 === n || (n = a[P("0x81")]); var a = o[P("0xd25")]; a[P("0x9c")]({ destination: t, orientation: { heading: i * e.Math[P("0xa2c")], pitch: r * e[P("0x23")][P("0xa2c")], roll: n * e[P("0x23")][P("0xa2c")] } }); } } }, x.prototype[P("0xd28")] = function (t) { if (t) { var i = this[P("0xd17")]; if (i) { var r = i[P("0xd25")], n = r[P("0xe8")][P("0xaf0")] / r[P("0xe8")][P("0xaef")]; r.frustum[P("0xaf0")] = t * e[P("0x23")][P("0xa2c")], r.frustum.aspectRatio = r[P("0xe8")][P("0xaf0")] / n; } } }, x[P("0x5")][P("0xd29")] = function (t) { if (t) { var i = this[P("0xd17")]; if (i) { var r = i[P("0xd25")]; r[P("0xe8")].aspectRatio = r[P("0xe8")].fov / (t * e[P("0x23")][P("0xa2c")]); } } }, x[P("0x5")][P("0xd2a")] = function (e) { if (e) { var t = this._shadowMap; t && (t[P("0xd25")][P("0xe8")][P("0xc13")] = e); } }, x[P("0x5")].updateHeadingPitchRoll = function (t, i, r) { var n = this._shadowMap; if (n) { t || 0 === t || (t = o[P("0x7f")]), i || 0 === i || (i = o[P("0x80")]), r || 0 === r || (r = o.roll); var o = n._lightCamera; o[P("0x9c")]({ destination: o[P("0x8c")], orientation: { heading: t * e[P("0x23")][P("0xa2c")], pitch: i * e[P("0x23")][P("0xa2c")], roll: r * e[P("0x23")].RADIANS_PER_DEGREE } }); } }, x[P("0x5")]._getShadowMapTexture = function () { return this[P("0xd17")] ? this[P("0xd17")]._shadowMapTexture : null; }, x.prototype._getShadowMapMatrix = function () { return this._shadowMap ? this._shadowMap[P("0xd2b")] : null; }, x[P("0x5")]._getProjectionCamera = function () { return this[P("0xd17")] ? this[P("0xd17")][P("0xd25")] : null; }, l.prototype[P("0xd2c")] = function (e) { return e ? e = P("0xd2d") + e : (e = P("0xd2d") + this[P("0xb78")][P("0x531")](), this[P("0xb78")] += 1), e; }, l[P("0xd2e")] = new l(), l[P("0xd2f")] = function () { return l._instance[P("0xd2c")](); }; var c = e[P("0xd30")] = function (t, i, n, o, a) { if (!t || !t.scene) throw e[P("0x15")]("viewer or viewer.scene is invalid!"); var s = t.scene; this._viewer = t, this._scene = s, this[P("0xd31")] = new r(), this[P("0xd32")] = null, this[P("0xd33")] = null, this[P("0xd34")] = null, this[P("0xd35")] = null, this._invViewMatrix = null, this[P("0xd36")] = !0, this._name = l[P("0xd2f")](), this._actived = !1, this[P("0x6d6")] = null, this[P("0x82d")](i, n, o, a); }; function u() { this[P("0x431")] = [], this[P("0xc6b")] = new e[P("0x766")](), this._removeEvent = new e[P("0x766")](), this[P("0xd50")] = new e[P("0x766")](), this[P("0xd51")] = !1; } c[P("0x5")][P("0x82d")] = function (r, o, a, s) { var l = this, c = l._scene; if (r && !(!r instanceof HTMLVideoElement)) { s && (s[P("0xccb")] && (this._videoProjectionConfig[P("0xccb")] = s[P("0xccb")]), s[P("0xccd")] && (this._videoProjectionConfig.maxFovX = s.maxFovX), s.minFovY && (this._videoProjectionConfig.minFovY = s[P("0xcdb")]), s[P("0xcce")] && (this._videoProjectionConfig[P("0xcce")] = s.maxFovY), s[P("0xccf")] && (this[P("0xd31")][P("0xccf")] = s[P("0xccf")]), s[P("0xcdd")] && (this._videoProjectionConfig.maxFovDistance = s[P("0xcdd")]), s[P("0xcd0")] && (this[P("0xd31")][P("0xcd0")] = s[P("0xcd0")]), s[P("0xcd1")] && (this._videoProjectionConfig[P("0xcd1")] = s[P("0xcd1")]), s[P("0xcd2")] && (this[P("0xd31")][P("0xcd2")] = s[P("0xcd2")]), s[P("0xcd3")] && (this[P("0xd31")].maxPitch = s[P("0xcd3")]), s[P("0xcd4")] && (this._videoProjectionConfig[P("0xcd4")] = s[P("0xcd4")]), s[P("0xcd5")] && (this[P("0xd31")][P("0xcd5")] = s.maxRoll), s[P("0xcd8")] && (this[P("0xd31")].isSphereType = s[P("0xcd8")]), s[P("0xcd9")] && (this[P("0xd31")][P("0xcd9")] = s[P("0xcd9")])), (l[P("0xd33")] = new t(r, c.context, this[P("0x13c")], this)).ErrorEvent[P("0x130")](function (e) {}); var u = l[P("0xd32")] = new n(c, o, this); a && a instanceof e[P("0x16a")] && (u[P("0x169")] = a), u[P("0xd37")][P("0x130")](function (e) {}); var h = l[P("0xd34")] = new i(c, this); h.CreationEvent[P("0x130")](function (e) {}), h[P("0xd38")][P("0x130")](function (e) {}), h[P("0xd39")][P("0x130")](function (e) {}); var f = this[P("0xd35")] = new x(c, this); f[P("0xd3a")][P("0x130")](function (e) { l[P("0x77b")] = e; }), f[P("0xd3b")][P("0x130")](function (e) { l[P("0xd34")] && l[P("0xd34")][P("0xc8e")](); }); } }, c[P("0x5")][P("0xd3c")] = function () { if (this._videoProjectionPostRender) { this._videoProjectionPostRender[P("0xf4")](); var e = this[P("0xd34")] = new i(this._scene, this); e[P("0xd3d")][P("0x130")](function (e) {}), e[P("0xd38")][P("0x130")](function (e) {}), e[P("0xd39")][P("0x130")](function (e) {}); } }, c[P("0x5")][P("0xce2")] = function (e) { var t = this[P("0xd33")]; t && t[P("0xce2")](e); var i = this[P("0xd32")]; i && i[P("0xce2")](e, this); var r = this[P("0xd34")]; r && r[P("0xc9c")](e); }, c[P("0x5")][P("0xd20")] = function () { this[P("0xd35")] && this[P("0xd35")][P("0xd20")](); }, c[P("0x5")][P("0xc97")] = function () { return this._videoShadowMap ? this[P("0xd35")][P("0xc97")]() : null; }, c[P("0x5")][P("0xc98")] = function () { return this[P("0xd35")] ? this[P("0xd35")]._getShadowMapMatrix() : null; }, c.prototype[P("0xce4")] = function () { return this[P("0xd35")] ? this[P("0xd35")][P("0xce4")]() : null; }, c[P("0x5")][P("0xd2")] = function (e, t, i, r, n, o) { var a = this._videoProjectionConfig; e = a[P("0xd3e")](e), t = a[P("0xcbc")](t), i = a[P("0xcbd")](i), r = a[P("0xcbe")](r), n = a[P("0xcbf")](n), o = a.clampRoll(o); var s = this[P("0xd32")]; s && s[P("0xced")](e, t, i, r, n, o); var x = this[P("0xd35")]; x && x[P("0xd2")](e, t, i, r, n, o); }, c[P("0x5")][P("0x69")] = function () { this[P("0x5ba")] = !0; var e = this[P("0xd32")]; e && (e[P("0x5bb")] = !0); var t = this[P("0xd3f")](); t && t.active(); }, c[P("0x5")].deactive = function () { var e = this._videoProjectionFrustumPrimitive; e && (e.actived = !1); var t = this[P("0xd34")]; t && t[P("0xd40")](); var i = this[P("0xd35")]; i && i.deactive(), this[P("0x5ba")] = !1; }, c.prototype[P("0xd41")] = function (e) { if (e) { var t = this._videoProjectionFrustumPrimitive; t && t[P("0xce6")](e); var i = this[P("0xd35")]; i && i[P("0xd41")](e, t.heading, t[P("0x80")], t[P("0x81")]); } }, c[P("0x5")][P("0xd28")] = function (e) { e = this[P("0xd31")][P("0xd3e")](e); var t = this[P("0xd32")]; t && t[P("0xce8")](e); var i = this[P("0xd35")]; i && i.update(t[P("0xce9")], t.fovY, t[P("0xc9b")], t[P("0x7f")], t[P("0x80")], t[P("0x81")]); }, c[P("0x5")][P("0xd29")] = function (e) { e = this[P("0xd31")][P("0xcbc")](e); var t = this[P("0xd32")]; t && t[P("0xcea")](e); var i = this[P("0xd35")]; i && i[P("0xd2")](t[P("0xce9")], t[P("0xcee")], t[P("0xc9b")], t[P("0x7f")], t.pitch, t.roll); }, c[P("0x5")][P("0xd2a")] = function (e) { e = this._videoProjectionConfig[P("0xcbd")](e); var t = this[P("0xd32")]; t && t[P("0xd42")](e); var i = this[P("0xd35")]; i && i[P("0xd2a")](e); }, c[P("0x5")].updateHeading = function (e) { e = this[P("0xd31")][P("0xcbe")](e); var t = this._videoProjectionFrustumPrimitive; t && t[P("0xd43")](e); var i = this[P("0xd35")]; i && i[P("0xd44")](t[P("0x7f")], t[P("0x80")], t[P("0x81")]); }, c[P("0x5")][P("0xd45")] = function (e) { e = this._videoProjectionConfig[P("0xcbf")](e); var t = this[P("0xd32")]; t && t[P("0xceb")](e); var i = this[P("0xd35")]; i && i[P("0xd44")](t.heading, t[P("0x80")], t.roll); }, c.prototype[P("0xd46")] = function (e) { e = this._videoProjectionConfig[P("0xd47")](e); var t = this._videoProjectionFrustumPrimitive; t && t[P("0xcec")](e); var i = this[P("0xd35")]; i && i[P("0xd44")](t[P("0x7f")], t[P("0x80")], t[P("0x81")]); }, c[P("0x5")][P("0xd48")] = function (e) { if (e) { var t = this[P("0xd32")]; t && (t.color = e); } }, c[P("0x5")][P("0xd49")] = function (e) { if (e) { var t = this._videoProjectionFrustumPrimitive; t && (t[P("0xc96")] = e); } }, c.prototype[P("0xd4a")] = function (e) { if (e) { var t = this[P("0xd32")]; t && (t[P("0x197")] = e); } }, c[P("0x5")][P("0xd4b")] = function (e) { if (e) return this[P("0x75b")] == e[P("0x75b")]; }, c[P("0x5")][P("0xd4c")] = function (e) { return this[P("0x75b")] == e; }, c.prototype._createShadowMap = function () { if (!this[P("0xd35")]) return null; var e = this[P("0xd32")]; if (!e) return null; var t = e[P("0x8c")], i = e.fovX, r = e.fovY, n = e[P("0xc9b")], o = e[P("0x7f")], a = e[P("0x80")], s = e[P("0x81")]; return this[P("0xd35")][P("0xd22")](t, i, r, n, o, a, s), this[P("0xd35")]; }, c[P("0x5")]._getCurrentVideoTexture = function () { return this[P("0xd33")] ? this._videoTextureSource[P("0xc5c")]() : null; }, c.prototype._getViewMatrix = function () { return this[P("0xd35")] ? this[P("0x77b")] : e[P("0x1b")][P("0xae")]; }, c[P("0x5")][P("0xf4")] = function () { this[P("0xd27")](), this._videoProjectionFrustumPrimitive && (this[P("0xd32")][P("0xf4")](), this[P("0xd32")] = null), this._videoShadowMap && (this[P("0xd35")].destroy(), this[P("0xd35")] = null), this[P("0xd34")] && (this[P("0xd34")][P("0xf4")](), this[P("0xd34")] = null), this._videoTextureSource && (this[P("0xd33")][P("0xf4")](), this[P("0xd33")] = null), this[P("0x77b")] = null, this[P("0x13c")] = null, this[P("0x42")] = null, this._owner = null; }, e[P("0xf")](c[P("0x5")], { name: { get: function get() { return this[P("0x75b")]; } }, fillVideo: { get: function get() { return this[P("0xd36")]; }, set: function set(e) { this[P("0xd36")] != e && (this[P("0xd36")] = e, this._rebuildPostRender()); } }, position: { get: function get() { return this[P("0xd32")][P("0x8c")]; } }, fovX: { get: function get() { return this[P("0xd32")].fovX; }, set: function set(e) { this[P("0xd28")](e); } }, fovY: { get: function get() { return this[P("0xd32")][P("0xcee")]; }, set: function set(e) { this[P("0xd29")](e); } }, fovDistance: { get: function get() { return this[P("0xd32")][P("0xc9b")]; }, set: function set(e) { this[P("0xd2a")](e); } }, heading: { get: function get() { return this[P("0xd32")].heading; }, set: function set(e) { this[P("0xd4d")](e); } }, pitch: { get: function get() { return this[P("0xd32")][P("0x80")]; }, set: function set(e) { this[P("0xd45")](e); } }, roll: { get: function get() { return this[P("0xd32")][P("0x81")]; }, set: function set(e) { this[P("0xd46")](e); } }, hitlineColor: { get: function get() { return this[P("0xd32")][P("0x169")]; }, set: function set(e) { this[P("0xd48")](e); } }, mixFactor: { get: function get() { return this[P("0xd32")][P("0xc96")]; }, set: function set(e) { this.updateMixFactor(e); } }, lineWidth: { get: function get() { return this[P("0xd32")][P("0x197")]; }, set: function set(e) { this[P("0xd4a")](e); } }, hitlineType: { get: function get() { return this[P("0xd32")][P("0xd4e")]; } }, hitlineVisibly: { get: function get() { return this._videoProjectionFrustumPrimitive.visibly; }, set: function set(e) { this._videoProjectionFrustumPrimitive[P("0xd4f")] = e; } }, config: { get: function get() { return this._videoProjectionConfig; } }, isActived: { get: function get() { return this[P("0x5ba")]; } } }), e[P("0xf")](u[P("0x5")], { length: { get: function get() { return this[P("0x431")][P("0x0")]; } }, AddEvent: { get: function get() { return this[P("0xc6b")]; } }, RemoveEvent: { get: function get() { return this[P("0xc6c")]; } }, RemoveAllEvent: { get: function get() { return this[P("0xd50")]; } }, projectBackFaces: { get: function get() { return this[P("0xd51")]; }, set: function set(e) { if (this[P("0xd51")] != e) { for (var t = this[P("0x431")], i = t[P("0x0")], r = 0; r < i; r++) { t[r][P("0xd20")](); } this[P("0xd51")] = e; } } } }), u.prototype[P("0x6d")] = function (e) { if (e) { var t = e[P("0x176")]; if (!t) throw P("0xd52"); if (this[P("0xd53")](t)) throw "exist!"; this[P("0x431")][P("0x17c")](e), this._addEvent[P("0x896")](e); } }, u[P("0x5")][P("0xd54")] = function (e) { if (e) { var t = e[P("0x176")]; if (!t) throw P("0xd52"); this[P("0xd53")](t) && this.removeByName(t), e[P("0xf4")](); } }, u[P("0x5")][P("0xf4")] = function () { this[P("0x192")](); }, u[P("0x5")].getCount = function () { return this[P("0x431")][P("0x0")]; }, u[P("0x5")][P("0x192")] = function () { for (var e = this._array[P("0x0")], t = 0; t < e; t++) { this[P("0x431")][t].destroy(), this[P("0x431")][t] = null; } this[P("0xf5")](); }, u[P("0x5")][P("0xce2")] = function (e) { for (var t = this._array, i = t[P("0x0")], r = 0; r < i; r++) { t[r][P("0xce2")](e); } }, u.prototype[P("0xd55")] = function (e) { var t = this._array.length; return e < 0 || t <= e ? null : this._array[e]; }, u[P("0x5")].getByName = function (e) { return this[P("0xd53")](e); }, u.prototype[P("0xd56")] = function (e) { var t = this[P("0x431")].length; e < 0 || t <= e || (this[P("0x431")][P("0x259")](e, 1), this[P("0xc6c")][P("0x896")]()); }, u.prototype[P("0xd57")] = function (e) { for (var t = this[P("0x431")].length, i = 0; i < t; i++) { if (this._array[i][P("0xd4c")](e)) return this[P("0x431")][P("0x259")](i, 1), void this._removeEvent.raiseEvent(); } }, u[P("0x5")].removeAll = function () { this._array.length = 0, this[P("0xd50")].raiseEvent(); }, u.prototype[P("0xd53")] = function (e) { if (!e) return null; for (var t = this[P("0x431")][P("0x0")], i = 0; i < t; i++) { var r = this[P("0x431")][i]; if (r.isSelf(e)) return r; } return null; }, u.prototype[P("0xd58")] = function () { for (var e = [], t = this[P("0x431")][P("0x0")], i = 0; i < t; i++) { var r = this[P("0x431")][i]; e[P("0x17c")](r[P("0x176")]); } return e; }, e[P("0xc3a")][P("0x5")].getVideoProjectionCollection = function () { return this[P("0xd59")] || (this[P("0xd59")] = new u()), this[P("0xd59")]; }, e[P("0xc3a")][P("0x5")][P("0xd5a")] = function (e) { this[P("0xd59")] || (this._videoProjectionCollection = new u()), this[P("0xd59")]._render(e); }, e[P("0xc3a")].prototype[P("0xd5b")] = function () { this._videoProjectionCollection && this._videoProjectionCollection[P("0x192")](); }, e[P("0xc3a")][P("0x5")][P("0xd5c")] = function (e) { e && this[P("0xd59")] && this._videoProjectionCollection.destoryObject(e); }, e[P("0xc3a")][P("0x5")][P("0xd5d")] = function (t, i, r, n) { try { var o = new e[P("0xd30")](t, i, r, n); if (o) { var a = this[P("0xd5e")](); a && a[P("0x6d")](o); } return o; } catch (t) { return null; } }, e[P("0xc3a")][P("0x5")][P("0xd5f")] = function (e) { if (e) for (var t = e[P("0xb87")], i = t[P("0x0")], r = 0; r < i; ++r) { t[r].commandList[P("0x0")] = 0; } }, e[P("0xc3a")].prototype[P("0xd60")] = function (e, t, i, r, n) { for (var o = 0; o < t; ++o) { var a = e[P("0xb87")][o]; i[P("0xc12")](a[P("0x7e")]), e[P("0xc1b")](r, o); for (var s = a[P("0x5ca")].length, x = 0; x < s; ++x) { var l = a[P("0x5ca")][x]; i.updatePass(l.pass), this[P("0xd61")](l[P("0xc0d")][P("0xd62")][P("0xd63")][n], r, a[P("0x795")]); } } }, e[P("0xc3a")].prototype._executeVideoProjectionCastCommands = function () { var e = this[P("0x6d9")], t = e[P("0xd26")]; if (t) { var i = this[P("0xd59")]; if (i && !i[P("0xd64")]) for (var r = t.length, n = this.context, o = n[P("0xc28")], a = 0; a < r; ++a) { var s = t[a]; if (!s[P("0xd65")]) { var x = s[P("0xb87")][P("0x0")]; this[P("0xd5f")](s); var l = e.commandList; this._insertVideoProjectionCastCommands(l, s), this._executePassesVideoProjectionCommands(s, x, o, n, a); } } } }, e.Scene[P("0x5")]._insertVideoProjectionCastCommands = function (t, i) { for (var r = i[P("0xd66")], n = i[P("0xb87")], o = t[P("0x0")], a = 0; a < o; ++a) { var s = t[a]; this[P("0xd67")](s), !s[P("0xd68")] || s.pass !== e[P("0x5e4")].GLOBE && s[P("0x5d4")] !== e[P("0x5e4")].CESIUM_3D_TILE && s[P("0x5d4")] !== e[P("0x5e4")][P("0x5e5")] && s.pass !== e[P("0x5e4")][P("0x73e")] || this[P("0xd69")](s, r) && n[0][P("0x5ca")].push(s); } }, e.Scene.prototype[P("0xd67")] = function (t) { if (e[P("0x14")](t.derivedCommands)) { var i = this[P("0xbe9")], r = this[P("0xb84")], n = i[P("0x77d")], o = this[P("0xc07")], a = t[P("0xc0d")], s = e[P("0x14")](a[P("0xd6a")]), x = !(n && o || s); if (t[P("0x48c")] = !0, t.dirty) { t.dirty = !1; var l = i.videoProjectionMaps; t.castShadows && (a[P("0xd62")] = e[P("0x4f1")][P("0xd6b")](l, t, !0, r, a[P("0xd62")])), (s || x) && this[P("0xd6c")](t); } } }, e[P("0xc3a")].prototype[P("0xd61")] = function (t, i, r) { var n = this[P("0xbe9")]; if (!e[P("0x14")](this[P("0xd6d")]) || this[P("0xd6d")](t)) if (t instanceof e[P("0x790")]) t.execute(i, r);else if (!t.debugShowBoundingVolume || !e.defined(t[P("0x4bc")])) { n[P("0x77d")] && e[P("0x14")](t[P("0xc0d")][P("0xd6e")]) && (t = t[P("0xc0d")].logDepth.command); var o = n[P("0xb87")]; if (!o.pick && this[P("0xc07")] && e[P("0x14")](t.derivedCommands) && e[P("0x14")](t[P("0xc0d")].hdr) && (t = t[P("0xc0d")][P("0xd6f")][P("0x4d7")]), o[P("0xa4")] || o.depth) { if (o[P("0xa4")] && !o[P("0x456")] && e.defined(t.derivedCommands[P("0xc0e")])) return void (t = t.derivedCommands[P("0xc0e")].pickCommand)[P("0x797")](i, r); if (e[P("0x14")](t[P("0xc0d")][P("0x456")])) return void (t = t[P("0xc0d")][P("0x456")].depthOnlyCommand)[P("0x797")](i, r); } this[P("0xd70")] || this.debugShowFrustums || (n[P("0xd71")].lightShadowsEnabled && t[P("0xd72")] && e[P("0x14")](t[P("0xc0d")][P("0xd62")]) ? t.derivedCommands[P("0xd62")][P("0xd73")][P("0x797")](i, r) : t[P("0x797")](i, r)); } }, e[P("0xc3a")][P("0x5")][P("0xd6c")] = function (t) { var i = this._frameState, r = this[P("0xb84")], n = this._view[P("0xd74")], o = i[P("0xd71")][P("0xd75")], a = i.shadowState[P("0xd76")], s = t.derivedCommands; e[P("0x14")](t[P("0xd77")]) && (s[P("0xc0e")] = e[P("0xd78")].createPickDerivedCommand(this, t, r, s[P("0xc0e")])), t[P("0xd79")] || (s[P("0x456")] = e.DerivedCommand[P("0xd7a")](this, t, r, s[P("0x456")])), s[P("0xd6a")] = t, this._hdr && (s.hdr = e[P("0xd78")][P("0xd7b")](t, r, s[P("0xd6f")]), s = (t = s.hdr[P("0x4d7")])[P("0xc0d")]), a && t.receiveShadows && (s[P("0xd62")] = e[P("0x4f1")][P("0xd7c")](o, t, !0, r, s[P("0xd62")])), t.pass === e[P("0x5e4")][P("0x73e")] && e.defined(n) && n[P("0xd7d")]() && (a && t[P("0xd72")] ? (s.oit = e.defined(s.oit) ? s[P("0xd74")] : {}, s[P("0xd74")][P("0xd62")] = n[P("0xd7e")](s[P("0xd62")][P("0xd73")], r, s[P("0xd74")][P("0xd62")])) : s[P("0xd74")] = n.createDerivedCommands(t, r, s.oit)); }; }(window.Cesium), function (e) { var t = e[P("0xd7f")] = function (t) { t = e[P("0x102")](t, e.defaultValue[P("0x128")]), this[P("0xd80")] = null, this.filterFar = e.defaultValue(t[P("0xd81")], 1e6), this.scene = t[P("0x10f")], this.initStage(); }; e[P("0xf")](t[P("0x5")], { name: { get: function get() { return this[P("0xd80")][P("0x176")]; } }, inputPreviousStageTexture: { get: function get() { return this._stage[P("0xd82")]; } }, enabled: { set: function set(e) { this[P("0xd80")][P("0x364")] = e; }, get: function get() { return this[P("0xd80")][P("0x364")]; } }, _textureCache: { set: function set(e) { this[P("0xd80")][P("0xd83")] = e; }, get: function get() { return this[P("0xd80")][P("0xd83")]; } }, outputTexture: { get: function get() { return this[P("0xd80")][P("0xd84")]; } }, ready: { get: function get() { return this[P("0xd80")][P("0xa8e")]; } }, _index: { set: function set(e) { this[P("0xd80")]._index = e; }, get: function get() { return this[P("0xd80")][P("0xd85")]; } }, uniforms: { get: function get() { return this[P("0xd80")].uniforms; } }, _textureScale: { get: function get() { return this[P("0xd80")].textureScale; } }, _pixelFormat: { get: function get() { return this[P("0xd80")][P("0xd86")]; } }, _forcePowerOfTwo: { get: function get() { return this[P("0xd80")][P("0xd87")]; } }, _pixelDatatype: { get: function get() { return this[P("0xd80")][P("0xd88")]; } }, _clearColor: { get: function get() { return this[P("0xd80")][P("0xd89")]; } } }), t[P("0x5")][P("0xd8a")] = function () { var t = this, i = P("0x7a0") + P("0x7a1") + P("0x7a4") + P("0xd8b") + P("0xd8c") + "{\n" + P("0xd8d") + P("0xd8e") + P("0xd8f") + " return posEC;\n}\n" + P("0xd90") + P("0x7b1") + " vec3 hsb = czm_RGBToHSB(color.rgb);\n" + P("0xd91") + P("0xd92") + P("0x85f") + P("0xd93") + P("0x7b7") + " else\n" + P("0x85f") + P("0xd94") + P("0x7b7") + " color.rgb = czm_HSBToRGB(hsb);\n" + P("0xd95") + P("0xd96") + P("0xd97") + P("0xd98") + P("0x85f") + P("0xd99") + " }\n" + P("0xd9a") + P("0x85f") + P("0xd9b") + P("0x7b7") + "}\n", r = new e[P("0x7c5")]({ fragmentShader: i, name: e[P("0x75c")](), inputPreviousStageTexture: !0, uniforms: { u_filterFar: function u_filterFar() { var e = t[P("0x10f")]; if (e) { var i = e[P("0x7e")]; if (i[P("0xd81")] && i[P("0xd9c")]) return 0.6 * i[P("0xd81")]; } return t[P("0xd81")]; } } }); (this[P("0xd80")] = r)[P("0x48b")] = !0; }, t[P("0x5")][P("0xd2")] = function (e, t) { this[P("0xd80")][P("0xd2")](e, t); }, t[P("0x5")][P("0xd9d")] = function (e) { return this[P("0xd80")]._isSupported(e); }, t[P("0x5")].execute = function (e, t, i, r) { this[P("0xd80")][P("0x797")](e, t, i, r); }, t[P("0x5")][P("0xf4")] = function () { return this[P("0xd80")].destroy(), destroyObject(this); }; }(window[P("0xfd")]), function (e) { var t = e[P("0xd9e")] = function (t) { this[P("0x13b")] = t[P("0x13b")], this[P("0x10f")] = this[P("0x13b")].scene, this[P("0x7e")] = this[P("0x13b")][P("0x7e")], this[P("0xef")] = this[P("0x10f")].globe[P("0xef")], this.path = e.defaultValue(t[P("0xd9f")], null), this.moveStep = e.defaultValue(t[P("0xda0")], 2), this.rotateStep = e[P("0x102")](t[P("0xda1")], 10), this.frameChange = e[P("0x102")](t[P("0xda2")], function () {}), this[P("0xda3")] = !1, this[P("0xda4")] = new i(this), this[P("0xda4")][P("0xda5")](this[P("0xda2")]); }; t[P("0x5")][P("0x198")] = function () { (this[P("0x7e")][P("0xda6")] = this)[P("0x10f")].logarithmicDepthBuffer = !1, e[P("0x3cb")][P("0x5")][P("0xda7")] = e[P("0x3cb")][P("0x5")].update, e.Camera[P("0x5")][P("0xd2")] = function (e) { this._hookUpdate(e), this[P("0xda6")] && this._hooker.raiseUpdate(this); }; }, t[P("0x5")].raiseUpdate = function (t) { var i = {}; if (!this[P("0xda3")]) { var r = this[P("0xda4")].next(); if (void 0 !== r) { i[P("0x8c")] = e[P("0x11")][P("0x6e")](r[P("0x8c")]), i[P("0xda8")] = e[P("0x13")].fromCartesian(r.position, this[P("0xef")]); var n = e[P("0x1f")][P("0xbf")](r[P("0x8c")], this[P("0xef")], o), x = r.direction, l = new e[P("0x11")](n[8], n[9], n[10]), c = e[P("0x11")][P("0x99")](x, l, a); e[P("0x11")][P("0x8d")](c, c), l = e[P("0x11")][P("0x99")](c, x, s), e[P("0x11")][P("0x8d")](l, l), i.direction = e[P("0x11")][P("0x6e")](x), i.up = e[P("0x11")][P("0x6e")](l), i[P("0x9b")] = e[P("0x11")][P("0x6e")](c), this._lockCamera = !0, t[P("0x9c")]({ destination: i[P("0x8c")], orientation: { direction: i[P("0x93")], up: i.up } }), this._lockCamera = !1; } else this[P("0xda3")] = !1; } }, t.prototype[P("0xda9")] = function () { e[P("0x3cb")][P("0x5")][P("0xda7")] && (e[P("0x3cb")].prototype.update = e.Camera[P("0x5")][P("0xda7")]), delete this[P("0x7e")][P("0xda6")] && delete this.camera[P("0xc")][P("0xda7")]; }, t[P("0x5")][P("0xf4")] = function () { e[P("0x3cb")][P("0x5")][P("0xd2")] = e[P("0x3cb")].prototype[P("0xda7")], delete this.camera[P("0xda6")] && delete this[P("0x7e")][P("0xc")]._hookUpdate, this.scene.logarithmicDepthBuffer = !0; }; var i = function i(t) { this[P("0xdaa")] = t, this._begin = 0, this._isDone = !1, this[P("0xdab")] = !1, this[P("0xdac")] = new e[P("0x766")](); }; function r(e, t, i) { return void 0 === e || void 0 === e.x || void 0 === t || void 0 === t.x || !!n(e.x, t.x, i) && !!n(e.y, t.y, i) && !!n(e.z, t.z, i); } function n(e, t, i) { return void 0 === i && (i = 1e-7), Math[P("0x78")](e - t) < i; } i[P("0x5")].addChangeEventListener = function (e) { this[P("0xdac")].addEventListener(e); }, i[P("0x5")][P("0xdad")] = function (e) { this[P("0xdac")].raiseEvent(e); }, i[P("0x5")][P("0xdae")] = function () { return this[P("0xdaf")]; }, i[P("0x5")][P("0xdb0")] = function () { return this._isPause; }, i[P("0x5")][P("0xe2")] = function (e) { this[P("0xdb1")] = null == e ? 0 : e, this._isDone = !1, this._isPause = !1; }, i[P("0x5")][P("0xe4")] = function () { this[P("0xdb2")](); }, i[P("0x5")][P("0xdb2")] = function () { this._isDone = !0, this[P("0xdab")] = !1, this[P("0xdb1")] = 0, this[P("0xdb3")] = void 0, this[P("0xdb4")] = void 0, this[P("0xdb5")] = void 0; }, i.prototype[P("0x546")] = function () { this._isPause = !0; }, i[P("0x5")][P("0xdb6")] = function () { this[P("0xdab")] = !1; }, i[P("0xdb7")] = function (e, t) { var i = t, r = i[P("0xdb8")]() - e[P("0xdb8")](); return r += 1e3 * (i[P("0xdb9")]() - e[P("0xdb9")]()), (r += 60 * (i[P("0xdba")]() - e[P("0xdba")]()) * 1e3) + 60 * (i.getHours() - e[P("0x982")]()) * 60 * 1e3; }, i[P("0x5")][P("0x7e3")] = function () { if (!this[P("0xdaf")]) { if (void 0 === this[P("0xdb3")]) return this[P("0xdb3")] = this[P("0xdbb")](), void 0 === this.state || (this[P("0xdb3")].date = new Date()), this.state; if (this[P("0xdab")]) return this[P("0xdb3")][P("0xdbc")] = new Date(), this[P("0xdb3")]; var t = this[P("0xdb3")]; if (r(t[P("0x8c")], t[P("0x64")]) && r(t[P("0x93")], t.endDirection)) return void 0 !== t[P("0x7e3")] ? (this[P("0xdb3")] = t[P("0x7e3")], this.state[P("0xdbc")] = new Date(), this[P("0xdb3")]) : (this[P("0xdb1")]++, this[P("0xdb1")] >= this[P("0xdaa")][P("0xd9f")].length ? (this[P("0xdad")](this[P("0xdb1")]), void this._toStop()) : (this.state = this._createState(), void 0 === this[P("0xdb3")] ? this.state : (this[P("0xdb3")][P("0xdbc")] = new Date(), this[P("0xdb3")]))); if (r(t[P("0x93")], t[P("0xdbd")])) { var n = e[P("0x11")][P("0x8e")](t[P("0x64")], t[P("0x8c")]), o = this._walkAnimation[P("0xda0")] + t[P("0xdbe")]; return x = new Date(), l = i.ComputeTimeDelta(t[P("0xdbc")], x), t.date = x, n <= (o *= l / 1e3) ? (t[P("0x8c")] = e[P("0x11")][P("0x6e")](t.endPosition, new e.Cartesian3()), t) : (a = e[P("0x11")][P("0x95")](t[P("0x64")], t[P("0x8c")], new e[P("0x11")]()), e[P("0x11")][P("0x8d")](a, a), e[P("0x11")][P("0x6c")](a, o, a), t[P("0x8c")] = e[P("0x11")][P("0x6d")](t.position, a, new e[P("0x11")]()), t); } var a = e[P("0x11")][P("0x99")](t.direction, t[P("0xdbd")], new e.Cartesian3()); e[P("0x11")][P("0x8d")](a, a); var s = e[P("0x23")][P("0x119")](this[P("0xdaa")][P("0xda1")] + t.rotateSpeed), x = new Date(), l = i.ComputeTimeDelta(t[P("0xdbc")], x); if (t[P("0xdbc")] = x, (s *= l / 1e3) < e.Cartesian3[P("0xcb")](t.direction, t[P("0xdbd")])) { var c = e[P("0x1d")][P("0xcc")](a, s, new e.Quaternion()), u = e[P("0x1a")][P("0xcd")](c, new e[P("0x1a")]()), h = e[P("0x1b")][P("0x738")](u, new e[P("0x11")](0, 0, 0), new e[P("0x1b")]()), f = e[P("0x1b")].multiplyByPointAsVector(h, t[P("0x93")], new e[P("0x11")]()); return t[P("0x93")] = e[P("0x11")][P("0x8d")](f, new e[P("0x11")]()), t; } return t[P("0x93")] = e[P("0x11")].clone(t.endDirection, new e[P("0x11")]()), t; } }, i[P("0x5")][P("0xdbb")] = function () { this[P("0xdad")](this[P("0xdb1")]); var t = this[P("0xdb1")], i = t + 1, r = this[P("0xdaa")][P("0xd9f")]; if (i >= r[P("0x0")]) return this.raiseChangeEvent(i), void this[P("0xdb2")](); var n = {}, o = r[t], a = r[i]; return n[P("0x8c")] = e.Cartesian3[P("0x1a1")](o[P("0xda8")].longitude, o.geoposition[P("0x114")], o[P("0xda8")][P("0x8b")], this[P("0xdaa")][P("0xef")], new e[P("0x11")]()), n[P("0x93")] = e[P("0x11")].clone(o[P("0x93")], new e[P("0x11")]()), n[P("0xdbe")] = o[P("0xdbe")], n[P("0xdbf")] = o.rotateSpeed, n.endPosition = e[P("0x11")][P("0x1a1")](a.geoposition[P("0x112")], a[P("0xda8")].latitude, a.geoposition.height, this[P("0xdaa")][P("0xef")], new e[P("0x11")]()), n[P("0xdbd")] = e[P("0x11")][P("0x6e")](a[P("0x93")], new e.Cartesian3()), n; }; var o = new e.Matrix4(), a = (new e[P("0x11")](), new e[P("0x11")]()), s = new e.Cartesian3(); }(window[P("0xfd")]), function (e) { var t = e.GeoWalkerCamera = function (i) { this.viewer = i[P("0x13b")], this[P("0x10f")] = this[P("0x13b")][P("0x10f")], this[P("0x7e")] = this[P("0x13b")].camera, this[P("0x94e")] = e[P("0x102")](i[P("0x94e")], 1), this[P("0xdc0")] = e[P("0x102")](i[P("0xdc0")], 5), this[P("0xdc1")] = e[P("0x102")](i.manHeight, 1.6), this[P("0xdc2")] = e.defaultValue(i[P("0xdc2")], 0.8), this[P("0xdb3")] = t[P("0xdc3")][P("0xdc4")], this._lockCamera = !1, this[P("0xdc5")] = !1, this[P("0x44")] = this.scene[P("0xa3")][P("0xef")], this[P("0xdc6")] = new l(), this[P("0xdc7")] = !1, this[P("0xd81")] = e.defaultValue(i.filterFar, null), this[P("0xdc8")] = e[P("0x102")](i[P("0xdc9")], !0), i[P("0xdca")] && this[P("0x13b")] && viewer[P("0x10f")][P("0x77c")].add(new e[P("0xd7f")]({ scene: viewer[P("0x10f")] })); }; t[P("0x5")].setState = function (t) { 0 < Object[P("0xdcb")](e[P("0xdcc")].stateType).filter(function (i) { return e[P("0xdcc")][P("0xdc3")][i] === t; })[P("0x0")] && (this[P("0xdb3")] = t); }, t[P("0x5")].activate = function () { this[P("0xd81")] && (this[P("0x7e")].filterFar = this[P("0xd81")]), (this[P("0x7e")][P("0xda6")] = this)[P("0x10f")][P("0xdcd")] = !1, e[P("0x3cb")][P("0x5")][P("0xda7")] = e[P("0x3cb")][P("0x5")][P("0xd2")], e[P("0x3cb")].prototype[P("0xd2")] = function (e) { this._hookUpdate(e), this[P("0xda6")] && this[P("0xda6")][P("0xdce")](this); }; }, t[P("0x5")].unactivate = function () { this[P("0x7e")] && this[P("0x7e")][P("0xd81")] && delete this.camera[P("0xd81")], e[P("0x3cb")][P("0x5")]._hookUpdate && (e[P("0x3cb")][P("0x5")].update = e[P("0x3cb")].prototype[P("0xda7")]), delete this[P("0x7e")]._hooker && delete this[P("0x7e")][P("0xc")][P("0xda7")]; }, t[P("0x5")][P("0xdce")] = function (e) { if (!(!this[P("0xdc5")] || this._lockCamera || this[P("0xdb3")] < 1)) switch (this[P("0xdb3")]) { case t[P("0xdc3")][P("0xdcf")]: this.computeForeward(e); break; case t[P("0xdc3")].BACKWARD: this.computeBackward(e); break; case t[P("0xdc3")][P("0xdd0")]: this[P("0xdd1")](e); break; case t.stateType.RIGHTWARD: this.computeRightward(e); break; case t[P("0xdc3")][P("0xdd2")]: this[P("0xdd3")](e); break; case t.stateType[P("0xdd4")]: this[P("0xdd5")](e); break; case t.stateType[P("0x138")]: this.computeTrunLeft(e); break; case t[P("0xdc3")][P("0x139")]: this[P("0xdd6")](e); break; case t[P("0xdc3")][P("0xdc4")]: return; } }, t[P("0x5")].setView = function (e) { this[P("0xda3")] = !0, this.camera[P("0x9c")](e), this[P("0xda3")] = !1, this[P("0xdc5")] = !0; }, t[P("0x5")][P("0xdd7")] = function (e) { this[P("0xda3")] = !0, this[P("0x7e")][P("0xb2a")](e || 100), this[P("0xda3")] = !1; }, t[P("0x5")][P("0xdd8")] = function (t) { this[P("0x10f")][P("0xa4")](t); var i = this[P("0x10f")][P("0x174")](t), r = e[P("0x13")].fromCartesian(i, this[P("0x44")]); if (0 < r[P("0x8b")]) r[P("0x8b")] += this[P("0xdc1")];else { var n = this[P("0x10f")][P("0xa3")][P("0xed")](r); r[P("0x8b")] = 0 < n ? n + this.manHeight : 1e3; } var o = e[P("0x11")].fromRadians(r[P("0x112")], r.latitude, r[P("0x8b")], this[P("0x44")]); this._lockCamera = !0, this.camera[P("0x9c")]({ destination: o, orientation: { heading: this[P("0x7e")][P("0x7f")], pitch: 0, up: 0 } }), this[P("0xda3")] = !1, this[P("0xdc5")] = !0, this[P("0x7e")] && this[P("0xd81")] && (this[P("0xd9c")](!0), this[P("0x7e")].enableFilter = !0); }, t[P("0x5")][P("0xdd9")] = function (t) { var i = new e.Cartesian3(), n = t[P("0x8c")], l = (t[P("0xa5")], t[P("0xa6")].clone()), c = this.getTangentNormal(), u = e[P("0x11")][P("0x99")](l, c, a); if (e[P("0x11")][P("0x8d")](u, u), l = e.Cartesian3.cross(c, u, o), e[P("0x11")][P("0x8d")](l, l), this[P("0xdc8")]) { var h = this[P("0xdda")](n, l, c, 1 / r * this[P("0x94e")]); e[P("0x11")].multiplyByScalar(l, h, i), e[P("0x11")][P("0x6d")](n, i, n); var f = x; f[P("0x87")] = n, f[P("0x93")] = e[P("0x11")][P("0xc8")](c, s); var d = e[P("0x13")].fromCartesian(f[P("0x87")], this[P("0x44")]), g = e[P("0xbe0")][P("0xa4")](this[P("0x10f")], f, l, !0); if (g && g[P("0x8c")] && g[P("0x7")]) (m = e[P("0x13")][P("0x175")](g[P("0x8c")], this[P("0x44")])).height += this[P("0xdc1")], (p = d.height - m.height) < 3 && -1 < p ? (this[P("0x133")](P("0xddb") + p), n = e[P("0x11")][P("0x3d0")](m[P("0x112")], m[P("0x114")], m.height, this._ellipsoid)) : this[P("0x133")]("Forward : height = 0");else { var p, m = e[P("0x13")][P("0x175")](n, this[P("0x44")]), b = this[P("0x10f")][P("0xa3")][P("0xed")](m); m[P("0x8b")] = 0 < b ? b + this[P("0xdc1")] : m[P("0x8b")], (p = d.height - m[P("0x8b")]) < 3 && -1 < p ? (this[P("0x133")](P("0xddc") + p), n = e[P("0x11")][P("0x3d0")](m[P("0x112")], m[P("0x114")], m[P("0x8b")], this[P("0x44")])) : this[P("0x133")](P("0xddc") + 0); } } else e[P("0x11")].multiplyByScalar(l, 1 / r * this[P("0x94e")], i), e[P("0x11")][P("0x6d")](n, i, n); this[P("0xda3")] = !0, t[P("0x9c")]({ destination: n, orientation: { heading: t.heading, pitch: t[P("0x80")], up: t.up } }), this[P("0xda3")] = !1; }, t[P("0x5")][P("0xddd")] = function (t) { var i = new e[P("0x11")](), n = t[P("0x8c")], l = (t[P("0xa5")], t[P("0xa6")][P("0x6e")]()), c = this[P("0xdde")](), u = e[P("0x11")][P("0x99")](l, c, a); if (e[P("0x11")][P("0x8d")](u, u), l = e[P("0x11")][P("0x99")](c, u, o), e[P("0x11")].normalize(l, l), l = e[P("0x11")][P("0xc8")](l, o), this._collideActived) { var h = this._computeCollideDistance(n, l, c, 1 / r * this[P("0x94e")]); e[P("0x11")][P("0x6c")](l, h, i), e[P("0x11")].add(n, i, n); var f = x; f[P("0x87")] = n, f[P("0x93")] = e[P("0x11")][P("0xc8")](c, s); var d = e.Cartographic.fromCartesian(f[P("0x87")], this._ellipsoid), g = e[P("0x11")][P("0xc8")](l, new e[P("0x11")]()), p = e.GeoRayPick[P("0xa4")](this[P("0x10f")], f, g, !0); if (p && p[P("0x8c")] && p[P("0x7")]) (b = e[P("0x13")].fromCartesian(p[P("0x8c")], this[P("0x44")]))[P("0x8b")] += this[P("0xdc1")], (m = d[P("0x8b")] - b[P("0x8b")]) < 3 && -1 < m ? (this[P("0x133")]("Backward : height = " + m), n = e.Cartesian3[P("0x3d0")](b[P("0x112")], b.latitude, b[P("0x8b")], this[P("0x44")])) : this.log(P("0xddf") + 0);else { var m, b = e[P("0x13")][P("0x175")](n, this[P("0x44")]), v = this[P("0x10f")][P("0xa3")][P("0xed")](b); b[P("0x8b")] = 0 < v ? v + this[P("0xdc1")] : b.height, (m = d[P("0x8b")] - b[P("0x8b")]) < 3 && -1 < m ? (this.log(P("0xde0") + m), n = e[P("0x11")][P("0x3d0")](b[P("0x112")], b[P("0x114")], b[P("0x8b")], this[P("0x44")])) : this[P("0x133")](P("0xde0") + 0); } } else e.Cartesian3[P("0x6c")](l, 1 / r * this.stepSize, i), e[P("0x11")][P("0x6d")](n, i, n); this[P("0xda3")] = !0, t[P("0x9c")]({ destination: n, orientation: { heading: t[P("0x7f")], pitch: t.pitch, up: t.up } }), this[P("0xda3")] = !1; }, t[P("0x5")][P("0xdda")] = function (t, i, r, n) { var o = x; o.origin = t, o[P("0x93")] = i; var a = e[P("0xbe0")][P("0xa4")](this.scene, o, r, !1); if (a && a[P("0x8c")]) { var s = e[P("0x11")][P("0x8e")](t, a.position); return s <= this[P("0xdc2")] ? s = 0 : s -= this[P("0xdc2")], this[P("0x133")](P("0xde1") + s + P("0xde2") + n), Math.min(s, n); } return this[P("0x133")](P("0xde3")), n; }, t.prototype[P("0x133")] = function (e) { this[P("0xdc7")] && console.log(e); }, t.prototype[P("0xdd1")] = function (t) { var i = new e[P("0x11")](), n = t[P("0x8c")], o = t[P("0xa6")], a = this[P("0xdde")](); if (o = e[P("0x11")][P("0x99")](a, o, new e[P("0x11")]()), e[P("0x11")].normalize(o, o), this[P("0xdc8")]) { var l = this[P("0xdda")](n, o, a, 0.3 / r * this[P("0x94e")]); e[P("0x11")][P("0x6c")](o, l, i), e.Cartesian3[P("0x6d")](n, i, n); var c = x; c[P("0x87")] = n, c[P("0x93")] = e[P("0x11")][P("0xc8")](a, s); var u = e[P("0x13")][P("0x175")](c[P("0x87")], this[P("0x44")]), h = e[P("0x11")].negate(o, new e[P("0x11")]()), f = e.GeoRayPick[P("0xa4")](this[P("0x10f")], c, h, !0); if (f && f.position && f[P("0x7")]) (g = e.Cartographic[P("0x175")](f[P("0x8c")], this[P("0x44")]))[P("0x8b")] += this[P("0xdc1")], (d = u[P("0x8b")] - g[P("0x8b")]) < 3 && -1 < d && (n = e[P("0x11")][P("0x3d0")](g[P("0x112")], g[P("0x114")], g.height, this[P("0x44")]));else { var d, g = e[P("0x13")][P("0x175")](n, this[P("0x44")]), p = this[P("0x10f")][P("0xa3")][P("0xed")](g); g[P("0x8b")] = 0 < p ? p + this[P("0xdc1")] : g[P("0x8b")], (d = u[P("0x8b")] - g.height) < 3 && -1 < d && (n = e[P("0x11")].fromRadians(g[P("0x112")], g[P("0x114")], g[P("0x8b")], this[P("0x44")])); } } else e[P("0x11")][P("0x6c")](o, 0.3 / r * this.stepSize, i), e[P("0x11")][P("0x6d")](n, i, n); this[P("0xda3")] = !0, t.setView({ destination: n, orientation: { heading: t[P("0x7f")], pitch: t[P("0x80")], up: t.up } }), this[P("0xda3")] = !1; }, t[P("0x5")].computeRightward = function (t) { var i = new e.Cartesian3(), n = t[P("0x8c")], o = t.directionWC, a = this[P("0xdde")](); if (o = e[P("0x11")][P("0x99")](o, a, new e.Cartesian3()), e[P("0x11")][P("0x8d")](o, o), this[P("0xdc8")]) { var l = this._computeCollideDistance(n, o, a, 0.3 / r * this[P("0x94e")]); e.Cartesian3[P("0x6c")](o, l, i), e[P("0x11")][P("0x6d")](n, i, n); var c = x; c.origin = n, c[P("0x93")] = e.Cartesian3.negate(a, s); var u = e.Cartographic[P("0x175")](c[P("0x87")], this._ellipsoid), h = e[P("0x11")].negate(o, new e[P("0x11")]()), f = e[P("0xbe0")].pick(this[P("0x10f")], c, h, !0); if (f && f[P("0x8c")] && f.object) (g = e.Cartographic[P("0x175")](f.position, this[P("0x44")]))[P("0x8b")] += this.manHeight, (d = u.height - g[P("0x8b")]) < 3 && -1 < d && (n = e[P("0x11")][P("0x3d0")](g[P("0x112")], g.latitude, g[P("0x8b")], this[P("0x44")]));else { var d, g = e.Cartographic.fromCartesian(n, this[P("0x44")]), p = this.scene[P("0xa3")].getHeight(g); g[P("0x8b")] = 0 < p ? p + this.manHeight : g[P("0x8b")], (d = u[P("0x8b")] - g[P("0x8b")]) < 3 && -1 < d && (n = e.Cartesian3[P("0x3d0")](g[P("0x112")], g.latitude, g[P("0x8b")], this[P("0x44")])); } } else e.Cartesian3.multiplyByScalar(o, 0.3 / r * this.stepSize, i), e[P("0x11")][P("0x6d")](n, i, n); this[P("0xda3")] = !0, t[P("0x9c")]({ destination: n, orientation: { heading: t[P("0x7f")], pitch: t[P("0x80")], up: t.up } }), this[P("0xda3")] = !1; }, t.prototype[P("0xde4")] = function (t) { t[P("0xe7")](this.getTangentNormal(), -e[P("0x23")][P("0x119")](e[P("0x102")](this[P("0xdc0")], 5)) / r); }, t[P("0x5")][P("0xdd6")] = function (t) { t.look(this[P("0xdde")](), e.Math.toRadians(e[P("0x102")](this.rotateSize, 5)) / r); }, t[P("0x5")][P("0xdd3")] = function (t) { t[P("0xe7")](e[P("0x11")][P("0x99")](t[P("0xa6")].clone(), this[P("0xdde")](), a), -e[P("0x23")][P("0x119")](e[P("0x102")](this[P("0xdc0")], 5)) / r); }, t[P("0x5")][P("0xdd5")] = function (t) { t.look(e[P("0x11")][P("0x99")](t[P("0xa6")][P("0x6e")](), this[P("0xdde")](), a), e[P("0x23")][P("0x119")](e.defaultValue(this.rotateSize, 5)) / r); }, t[P("0x5")][P("0xdde")] = function () { var t = e.Transforms.eastNorthUpToFixedFrame(this.camera[P("0xa5")], this._ellipsoid, n); return new e[P("0x11")](t[8], t[9], t[10]); }, t[P("0x5")].destroy = function () { e[P("0x3cb")].prototype.update = e[P("0x3cb")].prototype._hookUpdate, delete this[P("0x7e")][P("0xda6")] && delete this[P("0x7e")][P("0xc")]._hookUpdate, this[P("0x10f")][P("0xdcd")] = !0; }; var i = new e[P("0x10")](); t[P("0x5")][P("0xde5")] = function (t) { if (t[P("0x63")] && t.endPosition) { var n = e[P("0x10")].subtract(t.endPosition, t[P("0x63")], i); if (0 != n.x) { var o = e[P("0x102")](this[P("0xdc0")], 5) * n.x / 5; this[P("0x7e")][P("0xe7")](this[P("0xdde")](), e[P("0x23")][P("0x119")](o) / r); } 0 != n.y && (o = e[P("0x102")](this[P("0xdc0")], 5) * n.y / 5, this[P("0x7e")][P("0xe7")](e[P("0x11")].cross(this.camera.directionWC[P("0x6e")](), this.getTangentNormal(), a), e[P("0x23")][P("0x119")](o) / r)); } }, t.prototype.enableFilter = function (t) { t = t || !1, this[P("0x7e")] && this[P("0xd81")] && 1.58 <= e[P("0x373")] && ((this[P("0x7e")][P("0xd9c")] = t) ? e[P("0x2e1")][P("0x5")][P("0xde6")] = function (t, i) { var r = i[P("0x7e")]; if (r[P("0xd81")] && r[P("0xd9c")]) { var n = r[P("0xd81")], o = t[P("0x55b")][P("0x181")], a = e[P("0x11")][P("0x8e")](t.boundingSphere[P("0x11a")], r[P("0xaea")]); if (n < (a -= o)) return !0; } return !1; } : e[P("0x2e1")].prototype[P("0xde6")] && delete e.Cesium3DTileset[P("0xc")][P("0xde6")]); }, t.prototype[P("0xdc9")] = function (e) { this._collideActived = e || !1; }, t.stateType = { UNKNOWN: 0, FORWARD: 1, BACKWARD: 2, LEFTWARD: 3, RIGHTWARD: 4, UPWARD: 5, DOWNWARD: 6, LEFT: 7, RIGHT: 8 }; var r = 40, n = new e.Matrix4(), o = new e[P("0x11")](), a = new e[P("0x11")](), s = new e[P("0x11")](), x = new e[P("0x1e")](); function l() { var e = [], t = 0; this[P("0x17c")] = function (t) { return 10 <= this[P("0x3cd")]() && this[P("0x25c")](), e.push(t), !0; }, this[P("0x25c")] = function () { return e[P("0x513")](); }, this[P("0xde7")] = function () { return e[0]; }, this[P("0xde8")] = function () { return e[e.length - 1]; }, this[P("0x192")] = function () { e = []; }, this[P("0x3cd")] = function () { return e[P("0x0")]; }, this[P("0xde9")] = function () { for (var t = 0, i = e[P("0x0")], r = 0; r < i; r++) { t += e[r].height; } return t / i; }, this.getLatelyHeight = function () { return 0 < e[P("0x0")] ? e[e.length - 1].height : null; }, this[P("0xdea")] = function (t) { return 0 < e.length && 4.5 < Math[P("0x78")](this.getLatelyHeight() - t[P("0x8b")]); }, this[P("0xdeb")] = function (e) { this[P("0xdea")](e) && (20 < t ? t = 0 : (e[P("0x8b")] = 3 < t ? this[P("0xde9")]() : this[P("0xdec")](), t++), e[P("0x8b")] = this[P("0xdec")]()), this[P("0x17c")](e); }; } }(window.Cesium), function (e) { var t = e[P("0x102")], i = e[P("0xded")] = function (i) { var r = (i = t(i, t.EMPTY_OBJECT))[P("0x6af")]; this[P("0x13c")] = i[P("0x13b")], this[P("0x42")] = this[P("0x13c")].scene, this[P("0xdee")] = [], this[P("0xdef")] = new e[P("0x16a")](0.439, 0.564, 0.788, 0), this[P("0xdf0")] = new e.Color(0, 0, 0, 0), this._reflectColor = new e.Color(0.439, 0.564, 0.788, 0), this[P("0xdf1")] = 0.2, this[P("0xdf2")] = 90, this[P("0xdf3")] = 0.7, this[P("0xdf4")] = void 0, this[P("0xdf5")] = 0, this[P("0xdf6")] = void 0, this[P("0xdf7")] = void 0, this._initialized = !1, this[P("0x6ce")] = void 0, this[P("0xdf8")] = !0, this[P("0x42")][P("0xb84")]; var n = this, o = new Image(); o[P("0x125")] = r, o[P("0xad2")] = function () { n[P("0xdf4")] = new e[P("0x6db")]({ context: n[P("0x42")][P("0x3cc")], width: o[P("0x19a")], height: o[P("0x8b")], source: o, sampler: new e[P("0x789")]({ wrapS: e[P("0x78b")][P("0x55a")], wrapT: e[P("0x78b")].REPEAT }) }), n._scene[P("0x17d")][P("0x6d")](n); }; }; e.defineProperties(i.prototype, { waterPolygon: { get: function get() { return this[P("0xdf9")]; }, set: function set(e) { null != e && null != this[P("0xdf9")] && this.release(), this[P("0xdf9")] = e; } }, waterColor: { get: function get() { return this._waterColor; }, set: function set(e) { this[P("0xdef")] = e; } }, flowSpeed: { get: function get() { return this._flowSpeed; }, set: function set(e) { this[P("0xdf3")] = e; } }, flowDirection: { get: function get() { return this[P("0xdf2")]; }, set: function set(e) { this[P("0xdf2")] = e; } }, waveWidth: { get: function get() { return this[P("0xdf1")]; }, set: function set(e) { this[P("0xdf1")] = e; } }, isVisible: { get: function get() { return this[P("0xdf8")]; }, set: function set(e) { this[P("0xdf8")] = e; } } }), i[P("0x5")][P("0xdfa")] = function () { this[P("0xdee")] = []; var t = this._waterPolygon[P("0xdfb")].positions, i = e[P("0x13")].fromCartesian(t[0]), r = e[P("0x23")][P("0x113")](i[P("0x112")]), n = e.Math[P("0x113")](i[P("0x114")]), o = e[P("0x23")][P("0x113")](i.longitude), a = e[P("0x23")].toDegrees(i[P("0x114")]); this._zFactor = i[P("0x8b")]; for (var s = 0; s < t[P("0x0")]; s++) { var x = e[P("0x13")][P("0x175")](t[s]), l = e.Math[P("0x113")](x[P("0x112")]), c = e[P("0x23")].toDegrees(x[P("0x114")]), u = new e[P("0x10")](l, c); this[P("0xdee")][P("0x17c")](u), o < l && (o = l), l < r && (r = l), a < c && (a = c), c < n && (n = c); } this[P("0xdfc")] = r, this[P("0xdfd")] = n, this[P("0xdfe")] = new e[P("0x11")][P("0x1a1")]((r + o) / 2, (n + a) / 2, this._zFactor); }, i[P("0x5")][P("0xdff")] = function () { var t = this._scene, i = t[P("0xb84")]; if (e[P("0x14")](this[P("0xdf6")]) || (this[P("0xdf6")] = new e.Camera(t)), !e[P("0x14")](this._reflectPassState)) { var r = new e[P("0x78f")]({ context: i, colorTextures: [new e[P("0x6db")]({ context: i, width: 512, height: 512, pixelFormat: e.PixelFormat[P("0xb85")] })], depthRenderbuffer: new e.Renderbuffer({ context: i, format: e[P("0xe00")][P("0xe01")], width: 512, height: 512 }) }); this[P("0xdf7")] = new e[P("0xe02")](i), this[P("0xdf7")].viewport = new e[P("0xbe2")](0, 0, 512, 512), this[P("0xdf7")][P("0x796")] = r; } this[P("0xe03")] = !0, this[P("0xdfa")](); }, i[P("0x5")].update = function (t) { if (e[P("0x14")](this[P("0xe04")])) { var i = this[P("0x42")]; if (0 !== i[P("0x7e")][P("0xe05")][P("0x0")]) { this[P("0xe03")] || this[P("0xdff")](); var r = i._context; this[P("0xe06")] = 1 / (0.001 * this[P("0xdf1")]); var n = new e[P("0x11")](this._waterCenterPos.x, this[P("0xdfe")].y, this[P("0xdfe")].z), o = e[P("0x13")][P("0x175")](this[P("0xdfe")]), a = e[P("0x23")][P("0x113")](o[P("0x112")]), s = e[P("0x23")][P("0x113")](o[P("0x114")]), x = e[P("0x11")][P("0x1a1")](a, s, 0); e[P("0x11")][P("0x8d")](x, x); var l = new e.Cartesian3(0, 1, 0), c = new e.Cartesian3(0, 1, 0); c = e[P("0x11")][P("0x99")](l, x, c), e[P("0x11")][P("0x8d")](c, c), l = e[P("0x11")][P("0x99")](x, c, l); var u = new e[P("0x1a")](); e[P("0x1a")][P("0xe07")](u, 0, c, u), e[P("0x1a")][P("0xe07")](u, 1, l, u), e[P("0x1a")].setRow(u, 2, x, u); var h = new e[P("0x11")](), f = new e[P("0x11")](-n.x, -n.y, -n.z); e[P("0x1a")][P("0xce")](u, f, h); var d = new e[P("0x1b")](u[0], u[3], u[6], h.x, u[1], u[4], u[7], h.y, u[2], u[5], u[8], h.z, 0, 0, 0, 1); this[P("0xe08")] = new e[P("0x1b")](), e[P("0x1b")].multiply(d, t.camera[P("0x8c5")], this.invWorldViewMatrix), this[P("0x4ac")] = new e[P("0x1b")](1, 0, 0, n.x, 0, 1, 0, n.y, 0, 0, 1, n.z, 0, 0, 0, 1), this[P("0xe09")] = new e[P("0x1b")](), this[P("0xe0a")] = new e.Matrix4(), this.modelViewMatrix = e.Matrix4.multiply(t[P("0x7e")][P("0x5e0")], this[P("0x4ac")], this[P("0xe09")]), this[P("0xe0a")] = e.Matrix4[P("0x737")](t.camera[P("0xe05")][0][P("0xb5e")], this.modelViewMatrix, this.modeiViewProjection); var g = e[P("0x560")][P("0x561")](); 0 == this[P("0xdf5")] && (this[P("0xdf5")] = g[P("0x6e5")]); var p = g.secondsOfDay; if (this[P("0xe0b")] = (p - this[P("0xdf5")]) / 1, this[P("0xe0c")] = this[P("0xe0b")] * this[P("0xdf3")], this[P("0xe0d")] = this[P("0xdf2")] * Math.PI / 180, null == this[P("0x6ce")]) { var m = e[P("0x5dc")][P("0x5d7")]({ context: r, vertexShaderSource: P("0xe0e"), fragmentShaderSource: P("0xe0f") }), b = e.RenderState[P("0x5d7")]({ depthTest: { enabled: !0 } }), v = this; this[P("0xe10")] = { u_bgColor: function u_bgColor() { return v[P("0xdef")]; }, u_texCoordOffset: function u_texCoordOffset() { return new e.Cartesian2(-v[P("0xdfc")], -v[P("0xdfd")]); }, u_texCoordScale: function u_texCoordScale() { return new e[P("0x10")](v[P("0xe06")], v[P("0xe06")]); }, u_scale: function u_scale() { return new e[P("0x11")](3, 3, 3); }, u_camPos: function u_camPos() { return new e[P("0x11")](3, 3, 3); }, u_modelViewProjectionMatrix: function u_modelViewProjectionMatrix() { return v[P("0xe0a")]; }, u_modelViewMatrix: function u_modelViewMatrix() { return v[P("0xe09")]; }, u_clampToGroud: function u_clampToGroud() { return 0; }, u_invWorldViewMatrix: function u_invWorldViewMatrix() { return v[P("0xe08")]; }, u_frameTime: function u_frameTime() { return v[P("0xe0c")]; }, u_normalMap: function u_normalMap() { return v._normalTexture; }, u_refractMap: function u_refractMap() { return v[P("0xdf4")]; }, u_useRefractTex: function u_useRefractTex() { return 0; }, u_reflectMap: function u_reflectMap() { return v[P("0xdf7")][P("0x796")][P("0xe11")](0); }, u_reflection: function u_reflection() { return 1; }, u_waterColor: function u_waterColor() { return v._waterColor; }, u_refractColor: function u_refractColor() { return v[P("0xdf0")]; }, u_reflectColor: function u_reflectColor() { return v[P("0xe12")]; }, u_flowDir: function u_flowDir() { return new e[P("0x10")](0.5 * Math.sin(v._flowAngle) + 0.5, 0.5 * Math.cos(v[P("0xe0d")]) + 0.5); } }, this[P("0xe13")] = e.PolygonGeometry.createGeometry(this._waterPolygon); for (var C = this[P("0xe13")][P("0xc1e")], y = this[P("0xe13")][P("0x18f")][P("0x8c")].values, _ = 0; _ < y[P("0x0")]; _++) { _ % 3 == 0 && (y[_] = y[_] - n.x), _ % 3 == 1 && (y[_] = y[_] - n.y), _ % 3 == 2 && (y[_] = y[_] - n.z); } for (var A = [], I = 0; I < this[P("0xdee")][P("0x0")]; I++) { A[P("0x17c")](this._pointsToCartographic[I].x, this[P("0xdee")][I].y); } var w = new Float64Array(A), G = e[P("0x5ea")][P("0x5ec")]({ context: r, typedArray: new Uint32Array(C), usage: e[P("0x4d5")][P("0x4d6")], indexDatatype: e[P("0x742")][P("0xe14")] }), E = e[P("0x5ea")].createVertexBuffer({ context: r, typedArray: e[P("0x5e8")][P("0x5e7")](e[P("0x5e8")].FLOAT, y), usage: e[P("0x4d5")][P("0x4d6")] }), S = e.Buffer.createVertexBuffer({ context: r, typedArray: e.ComponentDatatype[P("0x5e7")](e[P("0x5e8")][P("0x5e9")], w), usage: e[P("0x4d5")][P("0x4d6")] }), T = []; T[P("0x17c")]({ index: 0, vertexBuffer: E, componentDatatype: e[P("0x5e8")][P("0x5e9")], componentsPerAttribute: 3, normalize: !1 }), T[P("0x17c")]({ index: 1, vertexBuffer: S, componentDatatype: e[P("0x5e8")].FLOAT, componentsPerAttribute: 2, normalize: !1 }); var M = new e[P("0x5ee")]({ context: r, attributes: T, indexBuffer: G }); this[P("0x6ce")] = new e[P("0x5d3")]({ boundingVolume: this[P("0xe13")].boundingSphere, primitiveType: e.PrimitiveType.TRIANGLES, vertexArray: M, shaderProgram: m, castShadows: !1, receiveShadows: !1, uniformMap: this[P("0xe10")], renderState: b, pass: e[P("0x5e4")][P("0x5e5")] }), this._drawCommand[P("0xe15")] = P("0xe15"); } null !== this[P("0xdf4")] && 1 == this[P("0xdf8")] && t[P("0x5ca")][P("0x17c")](this[P("0x6ce")]); } } }, i[P("0x5")][P("0xe16")] = function (t) { if (this[P("0xe03")]) { this.modelViewMatrix = e.Matrix4.multiply(t[P("0x7e")][P("0x5e0")], this[P("0x4ac")], this[P("0xe09")]), this.modeiViewProjection = e[P("0x1b")].multiply(t[P("0x7e")][P("0xe05")][0][P("0xb5e")], this[P("0xe09")], this.modeiViewProjection); var i = new e[P("0x11")](this[P("0xdfe")].x, this[P("0xdfe")].y, this[P("0xdfe")].z), r = new e[P("0x11")](i.x, i.y, i.z); e[P("0x11")][P("0x8d")](r, r); var n = e[P("0x1c")][P("0xb9")](i, r), o = new e[P("0x11")](r.x, r.y, r.z), a = -e[P("0x11")][P("0x92")](r, i), s = new e[P("0x1b")](-2 * o.x * o.x + 1, -2 * o.x * o.y, -2 * o.x * o.z, -2 * o.x * a, -2 * o.y * o.x, -2 * o.y * o.y + 1, -2 * o.y * o.z, -2 * o.y * a, -2 * o.z * o.x, -2 * o.z * o.y, -2 * o.z * o.z + 1, -2 * o.z * a, 0, 0, 0, 1), x = new e[P("0x11")](); e[P("0x11")].clone(t.camera[P("0x93")], x); var l = new e[P("0x11")](), c = new e.Cartesian3(); e[P("0x11")][P("0x6c")](o, 2 * e[P("0x11")].dot(x, o), c), e[P("0x11")][P("0x95")](x, c, l), e[P("0x11")][P("0x8d")](l, l); var u = new e[P("0x11")](); e[P("0x11")][P("0x6e")](t[P("0x7e")].up, u); var h = new e.Cartesian3(), f = new e.Cartesian3(), d = e[P("0x11")].dot(u, o); e[P("0x11")][P("0x6c")](o, 2 * d, f), e[P("0x11")][P("0x6d")](u, f, h), e[P("0x11")][P("0x8d")](h, h); var g = new e.Cartesian3(-h.x, -h.y, -h.z), p = new e[P("0x11")](), m = (e[P("0x11")][P("0x6e")](t[P("0x7e")].position, p), new e[P("0x11")](s[0] * p.x + s[4] * p.y + s[8] * p.z + s[12], s[1] * p.x + s[5] * p.y + s[9] * p.z + s[13], s[2] * p.x + s[6] * p.y + s[10] * p.z + s[14])), b = new e[P("0x1b")](); t[P("0x7e")][P("0xe8")][P("0xc13")] = 1e8, e[P("0x1b")][P("0x6e")](t.camera[P("0xe8")][P("0xb5e")], b), this[P("0xdf6")][P("0x93")] = l, d < 0.5 && (this[P("0xdf6")].up = g), 0.5 <= d && (this[P("0xdf6")].up = h), this[P("0xdf6")][P("0x8c")] = m; var v = new e[P("0x1b")](); e[P("0x1b")][P("0x4e2")](this._reflectCamera.viewMatrix, v), e[P("0x1b")][P("0x5e3")](v, v); var C = new e[P("0x12")](n[P("0x4d0")].x, n.normal.y, n[P("0x4d0")].z, -e[P("0x11")][P("0x92")](r, i)); e[P("0x1b")][P("0xce")](v, C, C); var y = C.w / Math[P("0xca")](C.x * C.x + C.y * C.y + C.z * C.z), _ = new e.Cartesian3(C.x, C.y, C.z); e[P("0x11")][P("0x8d")](_, _); var A = new e.Cartesian3(_.x, _.y, _.z), I = new e[P("0x12")](); I.x = (Math[P("0x97")](A.x) + b[8]) / b[0], I.y = (Math[P("0x97")](A.y) + b[9]) / b[5], I.z = -1, I.w = (1 + b[10]) / b[14]; var w = new e[P("0x12")](A.x, A.y, A.z, y), G = new e[P("0x12")](); e.Cartesian4[P("0x6c")](w, 2 / e.Cartesian4[P("0x92")](w, I), G), b[2] = G.x, b[6] = G.y, b[10] = G.z + 1, b[14] = G.w, e[P("0x1b")][P("0x6e")](b, this[P("0xdf6")][P("0xe8")][P("0xb5e")]); var E = this[P("0x42")][P("0x6d9")], S = this[P("0x42")][P("0x3cc")], T = S[P("0xc28")]; new e[P("0x790")]({ color: e[P("0x16a")][P("0xac5")](14, 33, 60, 255), depth: 1, framebuffer: this._reflectPassState.framebuffer })[P("0x797")](S, this._reflectPassState); var M = this[P("0xdf6")]; T[P("0xc12")](M); for (var N = M[P("0xe8")][P("0xbf0")](M[P("0xa5")], M[P("0xa6")], M.upWC), L = E.commandList, R = 0; R < L[P("0x0")]; R++) { var O = L[R]; O instanceof e[P("0xe17")] || "water" != O[P("0xe15")] && O[P("0x5d4")] !== e[P("0x5e4")][P("0xc1d")] && t[P("0xd69")](O, N) && (T[P("0xc1b")](O[P("0x5d4")]), O.execute(S, this[P("0xdf7")])); } T[P("0xc12")](t[P("0x7e")]), T[P("0xc14")](t[P("0x7e")][P("0xe05")][0]); } }, i.prototype[P("0x985")] = function () { this[P("0xe03")] = !1, this[P("0xdf9")] = void 0, this[P("0x6ce")] = void 0; }, i[P("0x5")][P("0xf4")] = function () { this[P("0x42")][P("0x17d")][P("0x17f")](this), e[P("0x22b")](this); }; }(window[P("0xfd")]), function (e) { var t = e[P("0x102")]; function i(i) { i = t(i, t.EMPTY_OBJECT), this[P("0xe18")] = i.proxy, this[P("0x13b")] = i[P("0x13b")], this.url = i[P("0x6af")], this[P("0xe19")] = i.metadata, this[P("0xe1a")] = i.roadMetadata, this[P("0xe1b")] = i[P("0xe1b")], this[P("0xe1c")] = i.labelGraphics ? i.labelGraphics : {}, this[P("0xe1d")] = i[P("0xe1d")] ? i.billboardGraphics : {}, this[P("0xe1e")] = !!i.aotuCollide, this.collisionPadding = i[P("0xe1f")] ? i[P("0xe1f")] : [3, 5, 3, 5], this[P("0xe20")] = !!i[P("0xe20")], this[P("0xa4e")] = i.subdomains, Array.isArray(this[P("0xa4e")]) ? this[P("0xa4e")] = this[P("0xa4e")].slice() : e[P("0x14")](this[P("0xa4e")]) && 0 < this[P("0xa4e")][P("0x0")] ? this[P("0xa4e")] = this[P("0xa4e")][P("0x7f2")]("") : this[P("0xa4e")] = ["a", "b", "c"], this[P("0xe21")] = [], this[P("0xe22")] = [], this[P("0xe23")] = !1, this[P("0xe24")] = [], this._latelyRefreshStamp = 0, this._latelyCollisionStamp = 0; var r = e[P("0x75c")](); this[P("0xe25")] = P("0xe26") + r, this[P("0xe27")] = "GEO_WTFS_LABEL_ROAD_" + r, this[P("0x13b")][P("0x7e")].percentageChanged = 0.18, this.bindEvent(); } function r(e, t) { return t[P("0xe77")] >= e[P("0xe77")] && t.minX <= e.maxX && t[P("0x4d2")] >= e[P("0x4d2")] && t[P("0x4d2")] <= e.maxY || t[P("0xe78")] >= e[P("0xe77")] && t.maxX <= e[P("0xe78")] && t[P("0xe79")] >= e[P("0x4d2")] && t[P("0xe79")] <= e.maxY || t[P("0xe77")] >= e[P("0xe77")] && t[P("0xe77")] <= e[P("0xe78")] && t[P("0xe79")] >= e[P("0x4d2")] && t.maxY <= e[P("0xe79")] || t[P("0xe78")] >= e[P("0xe77")] && t.maxX <= e.maxX && t[P("0x4d2")] >= e[P("0x4d2")] && t[P("0x4d2")] <= e.maxY; } function n(e, t) { var i = e.x, r = e.y, n = e.width, o = e.height, a = t.x, s = t.y, x = t[P("0x19a")], l = t[P("0x8b")]; return !(a <= i && a + x <= i || i <= a && i + n <= a || s <= r && s + l <= r || r <= s && r + o <= s); } e[P("0x14")], e.defineProperties(i[P("0x5")], {}), i.prototype[P("0xe28")] = function (e, t, i, r) { for (var n = 0; n < this[P("0xe21")].length; n++) { if (this[P("0xe21")][n].x === e && this[P("0xe21")][n].y === t && this[P("0xe21")][n].z === i && this[P("0xe21")][n].t === r) return this[P("0xe21")][n]; } return null; }, i[P("0x5")].addCacheTile = function (e) { 999 < this[P("0xe21")][P("0x0")] && this[P("0xe21")][P("0x259")](0, 500), this[P("0xe29")](e.x, e.y, e.z, e.t), this[P("0xe21")][P("0x17c")](e); }, i[P("0x5")][P("0xe29")] = function (e, t, i, r) { for (var n = 0; n < this.tileCache[P("0x0")]; n++) { if (this[P("0xe21")][n].x === e && this[P("0xe21")][n].y === t && this[P("0xe21")][n].z === i && this[P("0xe21")][n].t === r) { this[P("0xe21")][P("0x259")](n, 1); break; } } }, i.prototype[P("0xe2a")] = function (e) { for (var t = 0; t < this.labelCache[P("0x0")]; t++) { if (this.labelCache[t][P("0x176")] === this[P("0xe25")] && this[P("0xe22")][t][P("0xe2b")] === e) return this.labelCache[t]; } return null; }, i[P("0x5")][P("0xe2c")] = function (e) { 999 < this[P("0xe22")].length && this[P("0xe22")].splice(0, 250), this[P("0xe2d")](e[P("0xe2b")]), e[P("0xe2e")] = new Date().getTime(), this[P("0xe22")][P("0x17c")](e); }, i[P("0x5")][P("0xe2d")] = function (e) { for (var t = 0; t < this[P("0xe22")].length; t++) { if (this[P("0xe22")][t][P("0x176")] === this._UUID && this.labelCache[t][P("0xe2b")] === e) { this[P("0xe22")][P("0x259")](t, 1); break; } } }, i[P("0x5")][P("0xe2f")] = function () { return (this[P("0xe18")] ? this.proxy.proxy : "") + this.url + P("0xe30"); }, i.prototype[P("0xe31")] = function () { return (this[P("0xe18")] ? this.proxy[P("0xe18")] : "") + this.url + P("0xe32"); }, i[P("0x5")][P("0xe33")] = function () { return (this[P("0xe18")] ? this[P("0xe18")][P("0xe18")] : "") + this[P("0xe1b")]; }, i.prototype[P("0xaf6")] = function () { var e = this; clearTimeout(this[P("0xe34")]); var t = this[P("0x13b")].scene[P("0xa3")][P("0xa2e")]; if (t[P("0xe35")][P("0x0")] < 2 || 0 < t._tileLoadQueueHigh.length) this[P("0xe34")] = setTimeout(function () { e[P("0xaf6")](); }, 100);else { var i = this[P("0xe36")](); if (this[P("0xe37")](i, this._latelyGrid)) return; this[P("0xe38")](i), e.delaySynchronous(); } }, i[P("0x5")][P("0xaf7")] = function () { var e = new Date().getTime(), t = e - this[P("0xe39")], i = e - this[P("0xe3a")]; 300 < t && this[P("0xaf6")](), 150 < i && this[P("0xe3b")](); }, i[P("0x5")]._queueCall = function (e) { var t = this; t[P("0xe24")] = e, t[P("0xe39")] = new Date()[P("0x68")](), e[P("0x1e4")](function (e, i, n) { if (t[P("0xe19")] && r(t.metadata[P("0xe3c")], e.boundBox)) { if (t.metadata[P("0xe3d")] > e[P("0x968")] + 1 || t[P("0xe19")][P("0x109")] < e[P("0x968")] + 1) return; var o = t[P("0xe28")](e.x, e.y, e.level + 1, 0); if (o) t.addLabelAndIco(o);else { var s = t[P("0xe2f")]().replace(P("0xe3e"), e.level + 1)[P("0xa1c")]("{y}", e.y).replace(P("0xe3f"), e.x).replace(P("0xa04"), t[P("0xa4e")][(e.x + e.y + e[P("0x968")]) % t[P("0xa4e")][P("0x0")]]), x = new XMLHttpRequest(); x[P("0xaa0")](P("0xa9f"), s, !0), x[P("0xaa1")] = P("0xaa2"), x[P("0xad2")] = function () { if (!(x.status < 200 || 300 <= x[P("0xaa7")])) { var e = t[P("0xe40")](x[P("0xaa8")]); if (e) (i = a(e)).x = this.tile.x, i.y = this[P("0xe41")].y, i.z = this.tile.z, i.t = 0, t[P("0xe42")](i), t[P("0xe43")](i);else { var i = { x: this[P("0xe41")].x, y: this[P("0xe41")].y, z: this[P("0xe41")].z, t: 0 }; t[P("0xe42")](i), t[P("0xe44")](); } } }, x[P("0xad0")] = function (e) { console[P("0x391")](e); }, x[P("0xe45")](), x.tile = { x: e.x, y: e.y, z: e[P("0x968")] + 1 }; } } if (t[P("0xe1a")] && r(t[P("0xe1a")][P("0xe3c")], e.boundBox)) { if (t[P("0xe1a")][P("0xe3d")] > e[P("0x968")] + 1 || t[P("0xe1a")][P("0x109")] < e[P("0x968")] + 1) return; if (o = t[P("0xe28")](e.x, e.y, e[P("0x968")] + 1, 1)) t[P("0xe43")](o);else { var l = t[P("0xe33")]()[P("0xa1c")](P("0xe3e"), e[P("0x968")] + 1).replace("{y}", e.y)[P("0xa1c")]("{x}", e.x), c = new XMLHttpRequest(); c[P("0xaa0")](P("0xa9f"), l, !0), c[P("0xaa1")] = P("0xe46"), c[P("0xad2")] = function () { if (!(c[P("0xaa7")] < 200 || 300 <= c[P("0xaa7")])) { var e = c[P("0xaa8")]; if (e) { var i = { pois: e[P("0x815")](function (e, t, i) { return { oid: e.LabelPoint.X + "_" + e[P("0xe47")].Y, name: e[P("0x344")][P("0x33d")][P("0xe48")], coordinate: [e.LabelPoint.X, e.LabelPoint.Y, e.LabelPoint.Z ? e[P("0xe47")].Z : 0] }; }), x: this[P("0xe41")].x, y: this[P("0xe41")].y, z: this.tile.z, t: 1 }; t[P("0xe42")](i), t[P("0xe43")](i); } else i = { x: this.tile.x, y: this[P("0xe41")].y, z: this.tile.z, t: 1 }, t[P("0xe42")](i), t[P("0xe44")](); } }, c.onerror = function (e) { console.error(e); }, c[P("0xe45")](), c[P("0xe41")] = { x: e.x, y: e.y, z: e[P("0x968")] + 1 }; } } }); }, i[P("0x5")][P("0xe49")] = function (e) { var t = 0, i = this; i[P("0xe23")] = !0, i[P("0xe38")](e); var r = setInterval(function () { 3 < t && (i[P("0xe23")] = !1, clearInterval(r)), t % 2 == 0 && i[P("0xe1e")] && i[P("0xe3b")](), t++; }, 600); return i; }, i[P("0x5")][P("0xe36")] = function () { for (var t = this[P("0x13b")][P("0x10f")][P("0xa3")][P("0xa2e")]._tilesToRender.map(function (t, i, r) { return { x: t.x, y: t.y, level: t.level, boundBox: { minX: e[P("0x23")][P("0x113")](t[P("0x969")].west), minY: e[P("0x23")][P("0x113")](t[P("0x969")].south), maxX: e[P("0x23")][P("0x113")](t[P("0x969")][P("0x2aa")]), maxY: e.Math[P("0x113")](t[P("0x969")][P("0x2ac")]) } }; }).sort(function (e, t) { return t[P("0x968")] - e.level; }), i = [t[0][P("0x968")]], r = 0; r < t[P("0x0")]; r++) { t[r][P("0x968")] != i[i.length - 1] && i[P("0x17c")](t[r][P("0x968")]), 4 < i[P("0x0")] && (t[P("0x259")](r), r--); } return t; }, i.prototype.addLabelAndIco = function (e) { if (e.pois) for (var t = 0; t < e[P("0xe4a")][P("0x0")]; t++) { var i = this[P("0xe2a")](e[P("0xe4a")][t][P("0xe2b")]); i = i || this[P("0xe4b")](e[P("0xe4a")][t], e), this[P("0xe2c")](i); } this[P("0xe44")](); }, i[P("0x5")].delaySynchronous = function () { var e = this; clearTimeout(e._timer2), e[P("0xe4c")] = setTimeout(function () { e.synchronousLabel(); }, 100); }, i[P("0x5")].synchronousLabel = function () { for (var e = 0; e < this.labelCache[P("0x0")]; e++) { this[P("0xe22")][e].timestamp >= this[P("0xe39")] && !this.viewer[P("0x194")].contains(this.labelCache[e]) && (this._isInitial && this[P("0xe1e")] && (this[P("0xe22")][e][P("0x221")] = !1), this[P("0x13b")][P("0x194")][P("0x6d")](this.labelCache[e])); } if (!this[P("0xe23")]) { for (e = 0; e < this.viewer.entities[P("0x190")][P("0x0")]; e++) { !this[P("0x13b")][P("0x194")][P("0x190")][e][P("0x176")] || this[P("0x13b")][P("0x194")][P("0x190")][e][P("0x176")] !== this[P("0xe25")] && this.viewer[P("0x194")][P("0x190")][e].name !== this[P("0xe27")] || this[P("0x13b")][P("0x194")][P("0x190")][e].timestamp < this._latelyRefreshStamp && (this[P("0x13b")][P("0x194")].remove(this[P("0x13b")][P("0x194")][P("0x190")][e]), e--); } this[P("0xe1e")] && this[P("0xe3b")](); } }, i.prototype[P("0xe4b")] = function (t, i) { if (t) { var r, n, o = { show: !0, position: e[P("0x11")].fromDegrees(t[P("0xe4d")][0], t[P("0xe4d")][1], t[P("0xe4d")][2]), label: { text: t.name } }; this.serverFirstStyle && void 0 !== t.fontSize ? (o.label[P("0xe4e")] = t.fontSize + P("0xe4f"), void 0 !== t.fontNameIndex && i[P("0xe50")] && i[P("0xe50")][t.fontNameIndex] ? o[P("0xe51")][P("0xe4e")] += i[P("0xe50")][t.fontNameIndex] : o[P("0xe51")].font += P("0xe52"), !this[P("0xe1c")][P("0x3fa")] && 1 !== t[P("0xe53")] && 3 !== t[P("0xe53")] || (r = !0), 2 !== t[P("0xe53")] && 3 !== t.fontStyle || (n = !0), r && (o[P("0xe51")][P("0xe4e")] = P("0xe54") + o[P("0xe51")].font), n && (o[P("0xe51")][P("0xe4e")] = P("0xe55") + o[P("0xe51")][P("0xe4e")])) : this[P("0xe1c")][P("0xe4e")] && (o[P("0xe51")].font = this[P("0xe1c")][P("0xe4e")]), this[P("0xe20")] && void 0 !== t[P("0xe56")] ? o[P("0xe51")].fillColor = e[P("0x16a")].fromCssColorString(this.HexadecimalConversion(t[P("0xe56")])) : this.labelGraphics.fillColor && (o.label[P("0x3dd")] = this[P("0xe1c")][P("0x3dd")]), this[P("0xe20")] && void 0 !== t[P("0xe57")] ? o[P("0xe51")].outlineColor = e.Color[P("0x27e")](this.HexadecimalConversion(t[P("0xe57")])) : this[P("0xe1c")][P("0x3df")] && (o[P("0xe51")][P("0x3df")] = this[P("0xe1c")][P("0x3df")]), this[P("0xe20")] && w()(t.shiningSize) === P("0x49f") ? o.label[P("0x3de")] = t[P("0xe58")] : void 0 !== this[P("0xe1c")].outlineWidth && (o[P("0xe51")][P("0x3de")] = this[P("0xe1c")][P("0x3de")]), this.serverFirstStyle && void 0 !== t[P("0x3d8")] ? o[P("0xe51")][P("0x3d8")] = t[P("0x3d8")] : void 0 !== this[P("0xe1c")].showBackground && (o[P("0xe51")][P("0x3d8")] = this[P("0xe1c")].showBackground), this.serverFirstStyle && void 0 !== t.backgroundColor ? o[P("0xe51")][P("0x3d9")] = t[P("0x3d9")] : void 0 !== this[P("0xe1c")][P("0x3d9")] && (o[P("0xe51")][P("0x3d9")] = this[P("0xe1c")][P("0x3d9")]), this.serverFirstStyle && void 0 !== t[P("0xe59")] ? o[P("0xe51")].backgroundPadding = t.backgroundPadding : void 0 !== this[P("0xe1c")][P("0xe59")] && (o[P("0xe51")][P("0xe59")] = this[P("0xe1c")][P("0xe59")]), i.t ? (o[P("0xe51")].verticalOrigin = e[P("0x24d")][P("0x24c")], o[P("0xe51")][P("0x3da")] = e[P("0x24b")][P("0x24c")]) : (this[P("0xe20")] && void 0 !== t[P("0x3db")] ? o[P("0xe51")][P("0x3db")] = t[P("0x3db")] : void 0 !== this[P("0xe1c")].verticalOrigin && (o[P("0xe51")][P("0x3db")] = this[P("0xe1c")][P("0x3db")]), this[P("0xe20")] && void 0 !== t[P("0x3da")] ? o.label[P("0x3da")] = t[P("0x3da")] : void 0 !== this[P("0xe1c")].horizontalOrigin && (o[P("0xe51")].horizontalOrigin = this[P("0xe1c")].horizontalOrigin)), this[P("0xe20")] && void 0 !== t.eyeOffset ? o[P("0xe51")][P("0xe5a")] = t[P("0xe5a")] : void 0 !== this[P("0xe1c")][P("0xe5a")] && (o.label[P("0xe5a")] = this[P("0xe1c")][P("0xe5a")]), this[P("0xe20")] && void 0 !== t[P("0x3dc")] ? o[P("0xe51")][P("0x3dc")] = t.pixelOffset : void 0 !== this[P("0xe1c")].pixelOffset && (o[P("0xe51")].pixelOffset = this.labelGraphics[P("0x3dc")]), this[P("0xe20")] && void 0 !== t[P("0x150")] ? o.label[P("0x150")] = t[P("0x150")] : void 0 !== this[P("0xe1c")][P("0x150")] && (o[P("0xe51")].style = this.labelGraphics[P("0x150")]), this[P("0xe20")] && void 0 !== t[P("0xfc")] ? o.label.scale = t.scale : void 0 !== this[P("0xe1c")].scale && (o.label[P("0xfc")] = this[P("0xe1c")][P("0xfc")]), o[P("0xe51")][P("0xe5b")] = this.labelGraphics[P("0xe5b")], o.label[P("0xe5c")] = this[P("0xe1c")][P("0xe5c")] ? this.labelGraphics.heightReference : e.HeightReference[P("0xe5d")], void 0 !== t.symbolID && -1 < t[P("0xe5e")] && (o[P("0xe5f")] = { image: this[P("0xe31")]()[P("0xa1c")](P("0xe60"), t[P("0xe5e")])[P("0xa1c")](P("0xa04"), this.subdomains[(i.x + i.y + i.z) % this[P("0xa4e")][P("0x0")]]) }, this[P("0xe20")] && void 0 !== t[P("0xe61")] ? (o.billboard.width = t.displayHeight, o[P("0xe5f")].height = t[P("0xe61")]) : void 0 === this.billboardGraphics[P("0x19a")] && void 0 === this[P("0xe1d")][P("0x8b")] || (o[P("0xe5f")].width = this[P("0xe1d")].width, o.billboard[P("0x8b")] = this.billboardGraphics[P("0x8b")]), i.t ? (o.label[P("0x3db")] = e[P("0x24d")][P("0x3c7")], o[P("0xe51")][P("0x3da")] = e[P("0x24b")][P("0x24c")]) : (this[P("0xe20")] && void 0 !== t[P("0x3db")] ? o[P("0xe5f")].verticalOrigin = t.verticalOrigin : void 0 !== this.billboardGraphics.verticalOrigin && (o[P("0xe5f")][P("0x3db")] = this[P("0xe1d")][P("0x3db")]), this[P("0xe20")] && void 0 !== t[P("0x3da")] ? o[P("0xe5f")].horizontalOrigin = t.horizontalOrigin : void 0 !== this.billboardGraphics[P("0x3da")] && (o[P("0xe5f")][P("0x3da")] = this[P("0xe1d")][P("0x3da")])), this[P("0xe20")] && void 0 !== t[P("0xe5a")] ? o[P("0xe5f")][P("0xe5a")] = t[P("0xe5a")] : void 0 !== this[P("0xe1d")].eyeOffset && (o[P("0xe5f")][P("0xe5a")] = this[P("0xe1d")][P("0xe5a")]), this[P("0xe20")] && void 0 !== t.pixelOffset ? o.billboard[P("0x3dc")] = t[P("0x3dc")] : void 0 !== this.billboardGraphics[P("0x3dc")] && (o[P("0xe5f")].pixelOffset = this[P("0xe1d")][P("0x3dc")]), this[P("0xe20")] && void 0 !== t[P("0xfb")] ? o[P("0xe5f")][P("0xfb")] = t[P("0xfb")] : void 0 !== this.billboardGraphics.rotation && (o.billboard[P("0xfb")] = this.billboardGraphics[P("0xfb")]), this[P("0xe20")] && void 0 !== t.alignedAxis ? o[P("0xe5f")][P("0xe62")] = t[P("0xe62")] : void 0 !== this.billboardGraphics[P("0xe62")] && (o[P("0xe5f")].alignedAxis = this.billboardGraphics[P("0xe62")]), this[P("0xe20")] && void 0 !== t[P("0x169")] ? o[P("0xe5f")].color = t[P("0x169")] : void 0 !== this[P("0xe1d")].color && (o[P("0xe5f")][P("0x169")] = this[P("0xe1d")].color), this.serverFirstStyle && void 0 !== t[P("0xfc")] ? o[P("0xe5f")][P("0xfc")] = t.scale : void 0 !== this[P("0xe1d")].scale && (o[P("0xe5f")].scale = this[P("0xe1d")][P("0xfc")]), o.billboard[P("0xe5b")] = this[P("0xe1d")][P("0xe5b")], o.billboard[P("0xe5c")] = this[P("0xe1d")][P("0xe5c")] ? this[P("0xe1d")][P("0xe5c")] : e[P("0xe63")].NONE); var a = new e[P("0x18e")](o); return a[P("0x176")] = i.t ? this[P("0xe27")] : this[P("0xe25")], a[P("0xe2b")] = t.oid, a[P("0xe64")] = t[P("0xe64")] ? t[P("0xe64")] : 0, a[P("0xe65")] = i.x + "_" + i.y + "_" + (i.z - 1), a; } }, i[P("0x5")].getPropertyValue = function (e, t, i, r) { return void 0 !== t[e] ? t[e] : void 0 !== i[e] ? i[e] : r; }, i.prototype[P("0xe3b")] = function () { if (this[P("0xe66")]) for (var t = document[P("0xe67")](P("0xe66")), i = 0; i < t[P("0x0")]; i++) { this[P("0x13b")][P("0x131")][P("0x41b")](t[i]), i--; } var r = [], o = this.viewer[P("0x194")][P("0x190")]; for (i = 0; i < o[P("0x0")]; i++) { if (o[i][P("0x176")] && (o[i][P("0x176")] === this[P("0xe25")] || o[i][P("0x176")] === this[P("0xe27")])) { var a, s; a = e[P("0xe68")].wgs84ToDrawingBufferCoordinates(this[P("0x13b")][P("0x10f")], o[i].position[P("0x512")](0)), o[i][P("0x221")] = !0, s = this[P("0xe69")]({ point: a, entity: o[i] }), o[i].collisionBox = s; for (var x = null, l = 0; l < r.length; l++) { if (r[l][P("0xe65")] === o[i].xyz) { x = r[l]; break; } } if (x || (x = { xyz: o[i][P("0xe65")], entities: [] }, r.push(x)), x[P("0x194")][P("0x17c")](o[i]), this[P("0xe66")]) { var c = document[P("0x15c")](P("0x15d")); c[P("0x21b")](P("0xe6a"), P("0xe66")), c[P("0x150")][P("0xe6b")] = P("0xe6c") + s.y + P("0xe6d") + s.x + P("0xe6e") + s.width + P("0xe6f") + s[P("0x8b")] + "px; border: solid 1px red; color: rgba(0,0,0,0);", c[P("0x40a")] = o[i][P("0xe51")][P("0x31b")].getValue(0), this[P("0x13b")].container.appendChild(c); } } } for (var u = 0; u < r[P("0x0")]; u++) { for (r[u].entities[P("0x3d2")](function (e, t) { return e[P("0xe64")] - t[P("0xe64")]; }), i = 0; i < r[u][P("0x194")][P("0x0")]; i++) { if (r[u][P("0x194")][i].show) for (l = i + 1; l < r[u].entities[P("0x0")]; l++) { r[u].entities[l][P("0x221")] && n(r[u][P("0x194")][i][P("0xe70")], r[u][P("0x194")][l][P("0xe70")]) && (r[u][P("0x194")][l][P("0x221")] = !1); } } } var h = []; for (u = 0; u < r.length; u++) { for (i = 0; i < r[u][P("0x194")][P("0x0")]; i++) { r[u][P("0x194")][i][P("0x221")] && h[P("0x17c")](r[u][P("0x194")][i]); } } for (i = 0; i < h[P("0x0")]; i++) { if (h[i][P("0x221")]) for (h[P("0x3d2")](function (e, t) { return e.priority - t[P("0xe64")]; }), l = i + 1; l < h[P("0x0")]; l++) { h[l].show && n(h[i][P("0xe70")], h[l][P("0xe70")]) && (h[l].show = !1); } } }, i[P("0x5")][P("0xe71")] = function () { this[P("0x13b")].scene[P("0x7e")][P("0xe72")][P("0x130")](this[P("0xaf6")], this), this.viewer.scene.camera[P("0xe73")][P("0x130")](this[P("0xaf7")], this); }, i[P("0x5")][P("0xe74")] = function () { this[P("0x13b")][P("0x10f")][P("0x7e")][P("0xe72")][P("0x548")](this[P("0xaf6")], this), this[P("0x13b")][P("0x10f")].camera[P("0xe73")][P("0x548")](this[P("0xaf7")], this); }, i.prototype[P("0x198")] = function () { this[P("0xe24")] = [], this[P("0xaf6")](); }, i[P("0x5")][P("0xf4")] = function () { for (var e = 0; e < this[P("0x13b")][P("0x194")][P("0x190")][P("0x0")]; e++) { !this.viewer[P("0x194")][P("0x190")][e].name || this.viewer.entities[P("0x190")][e][P("0x176")] !== this._UUID && this.viewer.entities.values[e].name !== this[P("0xe27")] || (this[P("0x13b")][P("0x194")].remove(this[P("0x13b")].entities[P("0x190")][e]), e--); } this[P("0x13b")][P("0x7e")].percentageChanged = 0.5, this[P("0xe74")](), this[P("0x16f")] = this[P("0x16f")] && this[P("0x16f")].destroy(), this[P("0xe18")] = void 0, this[P("0x13b")] = void 0, this[P("0x6af")] = void 0, this[P("0xe1c")] = void 0, this[P("0xe1d")] = void 0, this[P("0xe1e")] = void 0, this.collisionPadding = void 0, this.tileCache = void 0, this.labelCache = void 0, this[P("0xe24")] = void 0, this[P("0xe39")] = void 0, this[P("0xe75")] = void 0; }, i[P("0x5")][P("0xe37")] = function (e, t) { for (var i = !1, r = 0; r < e[P("0x0")]; r++) { for (var n = !1, o = 0; o < t.length; o++) { if (e[r].x === t[o].x && e[r].y === t[o].y && e[r].level === t[o][P("0x968")]) { n = !0; break; } } if (!n) { i = !0; break; } } return !i; }, i.prototype[P("0xe69")] = function (e) { var t = p()(e[P("0xe76")].label[P("0xe4e")]); t = 0 < t ? t : 15; for (var i = e[P("0xe76")].label[P("0x31b")][P("0x512")](0)[P("0x7f2")]("\n"), r = 0, n = i[P("0x0")], a = 0; a < i[P("0x0")]; a++) { var s = o(i[a]) / 2; r < s && (r = s); } var x = e[P("0xe76")][P("0xe5f")] ? e[P("0xe76")][P("0xe5f")][P("0x19a")][P("0x512")](0) * e[P("0xe76")][P("0xe5f")].scale[P("0x512")](0) : 1, l = e.entity[P("0xe5f")] ? e[P("0xe76")].billboard.height.getValue(0) * e.entity[P("0xe5f")][P("0xfc")][P("0x512")](0) : 1; return { x: (e[P("0x2ec")] ? e[P("0x2ec")].x : -999) - x / 2 - this[P("0xe1f")][3], y: (e[P("0x2ec")] ? e.point.y : -999) - l / 2 - this[P("0xe1f")][0], width: t * e[P("0xe76")][P("0xe51")][P("0xfc")][P("0x512")](0) * r + e[P("0xe76")][P("0xe51")][P("0x3dc")][P("0x512")](0).x + x + this[P("0xe1f")][1], height: t * e[P("0xe76")][P("0xe51")].scale.getValue(0) * (n + 0.5 * (n - 1)) + e[P("0xe76")][P("0xe51")][P("0x3dc")][P("0x512")](0).y + l / 2 + this[P("0xe1f")][2] }; }, i[P("0x5")].CutString = function (e) { if (!e) return ""; var t = e[P("0xaa9")]; return t <= 28 ? "" : e[P("0x1d5")](19, t - 9); }, i[P("0x5")].HexadecimalConversion = function (e) { if (4278190080 === e) return "#000000"; var t = 4278190080 | p()(-Number(e)); if (e = "", (t = t[P("0x531")](16)[P("0x987")](1))[P("0x0")] < 6) for (var i = 6 - t[P("0x0")], r = 0; r < i; r++) { e += "0"; } return "#" + e + t; }, i[P("0x5")].getLabelVisibility = function (e) { if (!e) return !1; var t = this[P("0x13b")][P("0x48")].getBoundingClientRect(); return !(e.x < -10 || e.x > t[P("0x9b")] + 10 || e.y < -10 || e.y > t[P("0x9aa")] + 10); }; var o = function o(e) { for (var t = 0, i = 0; i < e[P("0x0")]; i++) { null != e.charAt(i)[P("0x126")](/[^\x00-\xff]/gi) ? t += 2 : t += 1; } return t; }, a = function a(e) { var t = { stringTable: [], pois: [], enumGeometryType: [{ ePoint: 0 }, { eMultiLineString: 1 }, { ePolygon: 2 }], enumZCoordType: [{ eCloseGround: 0 }, { eCloseSeaSurface: 1 }, { eRelativelyGround: 2 }, { eAbsolute: 3 }] }, i = function () { var e = P("0xe7a") + P("0xe7b") + P("0xe7c") + P("0xe7d") + P("0xe7e") + P("0xe7f") + P("0xe80") + P("0xe81") + P("0xe82") + P("0xe83") + P("0xe84") + P("0xe85") + P("0xe86") + P("0xe87") + P("0xe88") + P("0xe89") + P("0xe8a") + P("0xe8b") + P("0xe8c") + "};message StringTable {" + P("0xe8d") + "}" + P("0xe8e") + P("0xe8f") + "required int64 TileKey = 2;" + P("0xe90") + P("0xe91") + "};"; if ("undefined" == typeof dcodeIO || !dcodeIO[P("0xe92")]) throw new Error(P("0xe93")); return dcodeIO[P("0xe92")][P("0xe94")](e, "GEOPOI", P("0xe95"))[P("0xd22")](P("0xe96"))[P("0xe97")]; }(), r = function () { var e = P("0xe7a") + P("0xe7b") + P("0xe7c") + P("0xe7d") + P("0xe7e") + P("0xe7f") + "};" + P("0xe98") + P("0xe81") + P("0xe82") + P("0xe83") + P("0xe84") + P("0xe85") + P("0xe86") + "optional int32 SymbolID = 10 [default = 0];" + P("0xe88") + P("0xe89") + "optional uint32\tFontNameIndex=13 [default =0];" + P("0xe8b") + P("0xe8c") + P("0xe99") + "};" + P("0xe9a") + "repeated string s = 1;}" + P("0xe8e") + "required int64 Version = 1;" + P("0xe9b") + P("0xe90") + "repeated PBPOI POIS = 4;};"; if ("undefined" == typeof dcodeIO || !dcodeIO[P("0xe92")]) throw new Error("ProtoBuf.js is not present. Please see www/index.html for manual setup instructions."); return dcodeIO[P("0xe92")][P("0xe94")](e, P("0xe96"), P("0xe9c")).build(P("0xe96")).PBPOITile; }(), n = function () { var e = "option optimize_for = LITE_RUNTIME;" + P("0xe7b") + P("0xe7c") + "ePoint = 0;" + P("0xe7e") + P("0xe7f") + "};enum enumZCoordType {eCloseGround = 0;eCloseSeaSurface = 1;eRelativelyGround = 2;eAbsolute = 3;};message PBPOI{" + P("0xe82") + P("0xe83") + "repeated double Coordinates =3 [packed=true];" + P("0xe85") + P("0xe9d") + P("0xe9e") + P("0xe87") + P("0xe88") + P("0xe89") + P("0xe8a") + P("0xe8b") + P("0xe8c") + P("0xe99") + P("0xe9f") + P("0xea0") + "};" + P("0xe9a") + P("0xe8d") + "}message PBPOITile{" + P("0xe8f") + "required int64 TileKey = 2;" + P("0xe90") + P("0xe91") + "};"; if (("undefined" == typeof dcodeIO ? "undefined" : w()(dcodeIO)) === P("0x2b6") || !dcodeIO[P("0xe92")]) throw new Error(P("0xe93")); return dcodeIO[P("0xe92")][P("0xe94")](e, P("0xe96"), P("0xea1"))[P("0xd22")](P("0xe96"))[P("0xe97")]; }(); t[P("0xe4a")][P("0x0")] = 0; var o, a = e; try { o = n.decode(a); } catch (e) { console[P("0x133")](e[P("0xa63")]); } if (!o) try { o = r[P("0xea2")](a); } catch (e) { console.log(e[P("0xa63")]), o = i[P("0xea2")](a); } t[P("0xea3")] = p()(o[P("0xea4")][P("0x531")]()), t[P("0xea5")] = p()(o[P("0xea6")][P("0x531")]()), t.stringTable = []; for (var s = o.StringTable.s.length, x = 0; x < s; x++) { t[P("0xe50")][P("0x17c")](o[P("0xea7")].s[x].toString()); } return o[P("0xea8")][P("0x1e4")](function (e) { var i = {}; i[P("0xe2b")] = p()(e[P("0xea9")][P("0x531")]()) + "_" + t[P("0xea5")], i.name = e[P("0xe48")][P("0x531")](), i[P("0xe5e")] = p()(e[P("0xeaa")].toString()), i[P("0xe61")] = e[P("0xeab")], i[P("0xe57")] = e[P("0xeac")], i[P("0xead")] = e[P("0xeae")], i[P("0xeaf")] = e[P("0xeb0")], i[P("0xe56")] = e.FontColor, e[P("0xeb1")] && (i[P("0xeb2")] = e[P("0xeb1")]), i[P("0xeb3")] = e.GeometryType, i[P("0xe4d")] = e[P("0xeb4")], i[P("0xe64")] = w()(e.Priority) === P("0x2b6") ? null : e.Priority, i[P("0xeb5")] = w()(e[P("0xeb6")]) === P("0x2b6") ? null : e[P("0xeb6")], i[P("0xe53")] = w()(e.FontStyle) === P("0x2b6") ? null : e[P("0xeb7")], i.shiningSize = w()(e.ShiningSize) === P("0x2b6") ? null : e[P("0xeb8")], t[P("0xe4a")][P("0x17c")](i); }), t; }; e[P("0xeb9")] = i; }(window[P("0xfd")]), function (e) { var t = e.Measure = function (e) { this[P("0x13b")] = e[P("0x13b")], this[P("0x17d")] = this.viewer[P("0x10f")][P("0x17d")]; }; t[P("0x5")][P("0x8e")] = function (t, i) { if (t[P("0x2eb")]) { var r = t[P("0x2eb")][P("0x19f")].getValue(); if (!(r[P("0x0")] <= 1)) { for (var n, o = 0, a = 0, s = new e[P("0x282")](), x = 1; x < r[P("0x0")]; x++) { var l = e[P("0x13")].fromCartesian(r[x - 1]), c = e[P("0x13")][P("0x175")](r[x]); s.setEndPoints(l, c), o += Math[P("0x5f0")](s.surfaceDistance); var u = e.Cartographic.fromCartesian(r[x - 1]), h = e.Math[P("0x113")](u.longitude), f = e[P("0x23")][P("0x113")](u[P("0x114")]), d = e[P("0x13")][P("0x175")](r[x]), g = e[P("0x23")][P("0x113")](d[P("0x112")]), p = e[P("0x23")][P("0x113")](d[P("0x114")]), m = turf.point([h, f]), b = turf[P("0x2ec")]([g, p]); a += turf[P("0x8e")](m, b); } return 2 == i ? n = o < 1e3 ? o[P("0x2af")](2) + "m" : (o / 1e3).toFixed(2) + "km" : 1 == i && (n = a < 1 ? (1e3 * a)[P("0x2af")](2) + "m" : a[P("0x2af")](2) + "km"), n; } } }, t[P("0x5")][P("0x2d9")] = function (t) { if (t[P("0x2d4")]) { var i = t[P("0x2d4")][P("0xeba")].getValue().positions; if (!(i.length <= 2)) { for (var r = [], n = 0; n < i[P("0x0")]; n++) { var o = e[P("0x13")][P("0x175")](i[n]), a = e[P("0x23")][P("0x113")](o.longitude), s = e.Math.toDegrees(o[P("0x114")]); r[P("0x17c")]([a, s]); } r[P("0x17c")](r[0]); var x = turf[P("0x2d4")]([r]), l = turf[P("0x2d9")](x); return l < 1e6 ? l.toFixed(2) + "m²" : (l / 1e6).toFixed(2) + P("0x2da"); } } }, t[P("0x5")].height = function (t) { if (t[P("0x2eb")]) { var i = t[P("0x2eb")][P("0x19f")][P("0x512")](); if (2 == (i = [i[0], i[1]]).length) { for (var r = [], n = 0; n < i[P("0x0")]; n++) { var o = e[P("0x13")].fromCartesian(i[n]), a = e[P("0x23")][P("0x113")](o.longitude), s = e[P("0x23")].toDegrees(o.latitude), x = o.height; r[P("0x17c")](a), r.push(s), r.push(x); } r[2] >= r[5] ? (r.push(r[0]), r[P("0x17c")](r[1]), r[P("0x17c")](r[5])) : (r[P("0x17c")](r[3]), r[P("0x17c")](r[4]), r[P("0x17c")](r[2])); var l = { horizontalDistance: null, verticalHeight: null, spaceDistance: null }, c = 1e3 * turf[P("0x8e")](turf.point([r[0], r[1]]), turf[P("0x2ec")]([r[3], r[4]])); (h = [])[P("0x17c")]((r[0] + r[3]) / 2), h[P("0x17c")]((r[1] + r[4]) / 2), r[2] >= r[5] ? h.push(r[5]) : h[P("0x17c")](r[2]), c < 1e3 ? l.horizontalDistance = P("0x311") + c[P("0x2af")](2) + "m" : l[P("0xebb")] = P("0x311") + (c / 1e3)[P("0x2af")](2) + "km"; var u = Math[P("0x78")](r[2] - r[5]), h = []; r[2] >= r[5] ? (h[P("0x17c")](r[0]), h.push(r[1])) : (h[P("0x17c")](r[3]), h[P("0x17c")](r[4])), h.push((r[2] + r[5]) / 2), l[P("0xebc")] = u < 1e3 ? P("0x312") + u[P("0x2af")](2) + "m" : "垂直高度:" + (u / 1e3)[P("0x2af")](2) + "km"; var f = Math[P("0xca")](Math[P("0x2ae")](c, 2) + Math[P("0x2ae")](u, 2)); return (h = [])[P("0x17c")]((r[0] + r[3]) / 2), h[P("0x17c")]((r[1] + r[4]) / 2), h.push((r[2] + r[5]) / 2), f < 1e3 ? l.spaceDistance = P("0x313") + f.toFixed(2) + "m" : l[P("0xebd")] = P("0x313") + (f / 1e3)[P("0x2af")](2) + "km", l; } } }, t[P("0x5")].elevation = function (t) { if (t[P("0x2ec")]) { var i = [t.position._value]; if (1 == i[P("0x0")]) { var r = e[P("0x13")][P("0x175")](i[0])[P("0x8b")]; P("0x30a"), r.toFixed(2), createResultLabel2(this.options, this.primitives, i); } } }; }(window.Cesium), k = (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && "symbol" == w()(Symbol[P("0x1f3")]) ? function (e) { return w()(e); } : function (e) { return e && (void 0 === A.a ? "undefined" : w()(A.a)) === P("0x8") && e[P("0x2b7")] === A.a && e !== Symbol[P("0x5")] ? P("0x1f4") : w()(e); }, function (e) { var t = e[P("0xebe")] = function (t) { t = e[P("0x102")](t, e[P("0x102")][P("0x128")]), this[P("0x13c")] = t[P("0x13b")], this[P("0x68a")] = e[P("0x14")](t[P("0xa22")]) ? t[P("0xa22")] : new e.WebMercatorTilingScheme({ ellipsoid: t[P("0xef")] }), this[P("0xebf")] = e[P("0x102")](t[P("0xec0")], 512), this[P("0xec1")] = e[P("0x102")](t.tileHeight, 512), this._readyPromise = e[P("0x9ee")].resolve(!0), this[P("0xec2")] = new GeoOLMS.MVT(), this[P("0xa94")] = t[P("0xe18")], this[P("0x6a8")] = t[P("0xa39")], this._styleName = t[P("0xec3")], this[P("0xec4")] = t.tileMatrixSetID, this[P("0xec5")] = t.tileMatrixLabels, this[P("0xa0f")] = P("0xec6"), this._maximumLevel = t[P("0xec7")], this._rectangle = e[P("0x102")](t[P("0x969")], this._tilingScheme[P("0x969")]), this[P("0xec8")] = e[P("0x102")](t[P("0xec9")], 22), this[P("0xeca")] = e[P("0x102")](t.symbolVisibility, P("0x2b4")), this[P("0xecb")] = e[P("0x102")](t[P("0xecb")], !0), this[P("0xecc")] = new e[P("0x766")](), this[P("0xecd")] = e[P("0x102")](t[P("0x4")], ""), this._url = e[P("0x102")](t[P("0x6af")], P("0xece")); var i = null; this[P("0x68a")] instanceof e.WebMercatorTilingScheme ? i = [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244] : this[P("0x68a")] instanceof e[P("0x9d7")] && (i = [-180, -270, 180, 90]), this._resolutions = GeoOLMS[P("0xecf")](i, 22, this._tileWidth)[P("0xed0")](), this[P("0xed1")] = 1, this[P("0xae5")] = [0.125, 0, 0, 0.125, 0, 0], this._replays = [P("0xed2"), P("0x5a5"), "Polygon", P("0x9e3"), P("0xed3")], this._tileQueueForCanvas = new e.TileReplacementQueue(), this[P("0xed4")] = new e[P("0xed5")](), this[P("0xed6")] = 1e3, this._styles = void 0, this[P("0xb7f")] = this[P("0xed7")](), this[P("0xed8")] = void 0, this[P("0xed9")] = {}, this[P("0xeda")] = {}, this[P("0xedb")] = document.createElement(P("0x48")), this[P("0xedb")].width = 512, this[P("0xedb")][P("0x8b")] = 512, P("0xedc") in window ? this[P("0xedd")] = !e.defined(t[P("0xede")]) || t.useWebWorker : (e[P("0x14")](t[P("0xede")]) && !0 === t.useWebWorker && console.warn(P("0xedf")), this[P("0xedd")] = !1), 1 == this._useWebWorker && (this[P("0xeca")] = P("0x2b4")), this[P("0xee0")] = function () { return []; }; var n = this, o = this[P("0xee1")](); if (r(o = this[P("0xa94")] ? this[P("0xa94")].getURL(o) : o, !1, function (i) { if (i) { if (!i[P("0xee2")]) { for (var r = "mysourceid", o = 0; o < i[P("0xee3")][P("0x0")]; o++) { i[P("0xee3")][o][P("0xac2")] = r; } i[P("0xee2")] = {}, i[P("0xee2")][r] = { type: P("0xee4"), url: t[P("0x6af")] }; } if ((n[P("0xee5")] = i)[P("0xee6")] && (n._spriteUrl = n[P("0xa94")] ? n[P("0xa94")][P("0xa95")](i[P("0xee6")]) : i[P("0xee6")]), "none" === n[P("0xeca")]) { var a = []; for (o = 0; o < n[P("0xee5")][P("0xee3")][P("0x0")]; o++) { n[P("0xee5")][P("0xee3")][o][P("0x165")] !== P("0x1f4") && a.push(n[P("0xee5")][P("0xee3")][o]); } n._styles[P("0xee3")] = a, n[P("0xed8")] = void 0; } !1 === n[P("0xedd")] && (n[P("0xed8")] ? (Number(e.VERSION) < 1.42 ? e[P("0xee7")](n[P("0xed8")] + P("0xee8")) : e[P("0x6da")][P("0xee9")](n[P("0xed8")] + ".json")).then(function (e) { n.spriteData = e, n[P("0xee0")] = GeoOLMS[P("0xeea")](i, Object[P("0xdcb")](i.sources), n[P("0x9c9")], e, n[P("0xed8")] + P("0xeeb")); }) : (n[P("0xeec")] = void 0, n.styleFunc = GeoOLMS[P("0xeea")](i, Object[P("0xdcb")](i[P("0xee2")]), n[P("0x9c9")]))); } }), !0 === n._useWebWorker) { var a = function () { for (var e = P("0xf44"), t = "", i = new RegExp(P("0x121") + e + P("0x122")), r = document[P("0x123")](P("0x124")), n = 0, o = r[P("0x0")]; n < o; n++) { var a = r[n][P("0x21c")](P("0x125")); if (a) { var s = a[P("0x126")](i); if (s) { t = s[0]; break; } } } return t; }(); this._olmsUrl = e.buildModuleUrl(a), this._count = 0, this[P("0x9fc")] = new e[P("0x766")](), this[P("0x9fc")][P("0x130")](function (e) { 2 < n[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")]._tilesToRender[P("0x0")] && (e[P("0xeed")] = !0); }), this.bindEvent(), this[P("0xeee")](); } }; function i() { o(this[P("0xeef")], 0), this[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")][P("0xef0")](function (t) { for (var i = t[P("0x440")][P("0xef1")], r = 0; r < i[P("0x0")]; r++) { var n = i[r]; (e.defined(n[P("0xef2")]) ? n[P("0xef2")] : n.readyImagery)[P("0xef3")]._imageryProvider instanceof e[P("0xebe")] && (t.state = e[P("0xef4")][P("0xef5")], e[P("0x14")](n.loadingImagery) || (n[P("0xef2")] = n[P("0xef6")], n[P("0xef2")][P("0xef7")]()), n.loadingImagery[P("0xdb3")] = e[P("0xef8")].UNLOADED); } }); } function r(e, t, i) { var r = new XMLHttpRequest(); r[P("0xaa0")]("GET", e, t), r[P("0xef9")]("Accept", "application/json"), r[P("0xad0")] = function () { i(null); }, r[P("0xad2")] = function () { if (200 <= r[P("0xaa7")] && r.status < 300 && r.response) { var e; try { e = JSON[P("0x946")](r[P("0xaa8")]); } catch (e) {} i(e); } else i(null); }, r[P("0xe45")](); } function n(e, t, i, r) { for (var n = r[P("0xefb")]; null != n && (n.xMvt != e || n[P("0xefc")] != t || n[P("0xefd")] != i);) { n = n[P("0xefe")]; } return n; } function o(t, i) { for (var r, n, o, a, s = t[P("0xf01")]; t[P("0x1a9")] > i && e[P("0x14")](s);) { var x = s[P("0xf00")]; r = t, a = o = void 0, o = (n = s).replacementPrevious, a = n[P("0xefe")], n === r[P("0xeff")] && (r._lastBeforeStartOfFrame = a), n === r.head ? r[P("0xefb")] = a : o.replacementNext = a, n === r.tail ? r.tail = o : a[P("0xf00")] = o, n[P("0xf00")] = void 0, n[P("0xefe")] = void 0, --r.count, s = null, s = x; } } e[P("0xf")](t[P("0x5")], { url: { get: function get() { return this._url; } }, proxy: { get: function get() { return this[P("0xa94")]; } }, tileWidth: { get: function get() { return this[P("0xebf")]; } }, tileHeight: { get: function get() { return this._tileHeight; } }, maximumLevel: { get: function get() { return this._maximumLevel; } }, minimumLevel: { get: function get() { return 0; } }, sourceMaxzoom: { get: function get() { return this[P("0xec8")]; } }, tilingScheme: { get: function get() { return this._tilingScheme; } }, rectangle: { get: function get() { return this[P("0x689")]; } }, tileDiscardPolicy: { get: function get() {} }, errorEvent: { get: function get() { return this._errorEvent; } }, ready: { get: function get() { return !0; } }, readyPromise: { get: function get() { return this[P("0xa82")]; } }, credit: { get: function get() {} }, hasAlphaChannel: { get: function get() { return !0; } }, styles: { get: function get() { return this._styles; } }, pickedEvent: { get: function get() { return this[P("0xecc")]; } }, useWebWorker: { get: function get() { return this[P("0xedd")]; } }, symbolVisibility: { get: function get() { return this._symbolVisibility; } } }), t[P("0x5")][P("0xefa")] = function (e, t, i) {}, t[P("0x5")][P("0xeee")] = function () { var e = P("0xf02") + this[P("0xec8")] + P("0xf03") + this[P("0x9c9")] + P("0xf04") + this[P("0xf05")] + P("0xf06") + this[P("0xebf")] + P("0xf07") + this._tileHeight + P("0xf08"), t = new Blob([e], { type: P("0xf09") }), i = URL[P("0xf0a")](t); this[P("0xf0b")] = []; for (var r = this.currentActor = 0; r < 4; r++) { var n = new Worker(i), o = new a(n, this, 1); o[P("0x176")] = P("0xf0c") + r, this[P("0xf0b")].push(o); } var s = { style: JSON[P("0xf0d")](this[P("0xee5")]), spriteUrl: this._spriteUrl }; for (r = 0; r < this[P("0xf0b")].length; r++) { this[P("0xf0b")][r][P("0xe45")](P("0xf0e"), s); } URL[P("0xf0f")](i); }; var a = function a(e, t, i) { var r, n; this[P("0xf11")] = e, this[P("0xf12")] = t, this[P("0xf13")] = i, this.callbacks = {}, this[P("0xf14")] = 0, r = [P("0xf15")], n = this, r[P("0x1e4")](function (e) { n[e] && (n[e] = n[e][P("0xf10")](n)); }), this[P("0xf11")].addEventListener(P("0xa63"), this.receive, !1); }; function s(e, r) { if (e[P("0x165")] === P("0xf17")) { var a = (d = JSON[P("0x946")](e[P("0x4")]))[0], x = d[1], c = d[2]; if (e[P("0xf20")]) (u = document.createElement("canvas")).width = 512, u[P("0x8b")] = 512, u[P("0x476")](P("0xf21"))[P("0xf22")](e[P("0xf20")]), this[P("0xed9")][e[P("0x4")]].resolve(u), e[P("0x33a")] && (this[P("0xed4")].count > this[P("0xed6")] && o(this[P("0xed4")], this[P("0xed6")] / 4), (g = e[P("0x33a")]).xMvt = a, g[P("0xefc")] = x, g[P("0xefd")] = c, this[P("0xed4")].markTileRendered(g));else { var u = new String("bad request"); this[P("0xed9")][e.key].resolve(this.blankCanvas); } for (var h in this[P("0xeef")][P("0x1a9")] > this[P("0xed6")] && o(this[P("0xeef")], this[P("0xed6")] / 4), u.xMvt = a, u[P("0xefc")] = x, u.zMvt = c, this[P("0xeef")].markTileRendered(u), this[P("0xed9")][e[P("0x4")]].state = t[P("0xf19")][P("0xf23")], delete this.deferCache[e[P("0x4")]], this[P("0xeda")]) { var f = this[P("0xed9")][h]; if (f && (f[P("0xdb3")] === t[P("0xf19")][P("0xf1d")] || f.state === t[P("0xf19")].RELOADED)) { var d, g; e = (g = n(a = (d = JSON[P("0x946")](h))[0], x = d[1], c = d[2], this[P("0xed4")])) ? { key: h, data: g } : { key: h, data: l[P("0xfa")](this, a, x, c)[P("0x33a")] }, r[P("0xe45")](P("0xf17"), e, s[P("0xf10")](this)), delete this.messageCache[h], f.state = t[P("0xf19")][P("0xef5")]; break; } } } else if (e.type === P("0xf24") || e[P("0x165")] === P("0x9c2") || "setStyle" === e.type) { var p = this; this[P("0x6c9")]++, 4 === this[P("0x6c9")] && (this[P("0x6c9")] = 0, i[P("0xfa")](this), setTimeout(function () { p[P("0xaf6")](); }, 200)); } } function l(t, i, r) { for (var o = null, a = null, s = t, x = i, l = r; l > this._sourceMaxzoom && (o = n(s = s / 2 | 0, x = x / 2 | 0, --l, this._tileQueueForFeatures), !e.defined(o));) { ; } if (e[P("0x14")](o)) a = { features: o, x: s, y: x, z: l };else { var c = this[P("0xb7f")][P("0xa1c")](P("0xe3f"), s).replace(P("0xf1b"), x)[P("0xa1c")](P("0xe3e"), l).replace(P("0xf1c"), this[P("0xecd")]); a = { features: c = this[P("0xa94")] ? this[P("0xa94")][P("0xa95")](c) : c, x: s, y: x, z: l }; } return a; } function u(e, t, i) { var r = JSON[P("0x946")](t), n = r[0], o = r[1], a = r[2]; if (i < a) { var s = [0, 0, 4096, 4096], x = a - i, l = n - (n >> x << x), c = o - (o >> x << x), u = (s[2] - s[0]) / (1 << x), h = [s[0] + l * u, s[1] + c * u, s[0] + (1 + l) * u, s[1] + (1 + c) * u]; e[P("0xf2c")] = h; } return e; } function h(e, t, i) { for (var r = !1, n = 2; n < i[P("0x0")]; n += 2) { var o = i[n - 2], a = i[n - 1], s = i[n], x = i[n + 1]; t < a != t < x && e < (s - o) * (t - a) / (x - a) + o && (r = !r); } return r; } function f(e, t, i, r) { for (var n = 0, o = 0, a = 0, s = 2, x = i[P("0x0")]; s < x; s += 2) { var l = i[s - 2], c = i[s - 1], u = i[s], h = i[s + 1]; if (d(e, t, l, c, u, h) && (a = u - l, 0 == (o = c - h) && 0 === a ? n = (e - l) * (e - l) + (t - c) * (t - c) : (n = o * e + a * t - (o * l + a * c), n *= n, n /= o * o + a * a), n <= r)) return !0; } return !1; } function d(e, t, i, r, n, o) { if (i === n && r === o) return !0; var a = (e - i) * (e - i) + (t - r) * (t - r), s = (e - n) * (e - n) + (t - o) * (t - o), x = (n - i) * (n - i) + (o - r) * (o - r); return !(s + x < a || a + x < s); } a[P("0x5")][P("0xe45")] = function (e, t, i, r) { var n = i ? this[P("0xf13")] + ":" + this[P("0xf14")]++ : null; if (i && (this[P("0xf16")][n] = i), e === P("0xf17")) { if (w()(t[P("0x440")]) === P("0x9fe")) this[P("0xf11")][P("0xa70")]({ type: e, id: String(n), key: t[P("0x4")], data: t[P("0x440")] });else if (t[P("0x440")] instanceof ArrayBuffer) { var o = t[P("0x440")][P("0x1d5")](0); this[P("0xf11")][P("0xa70")]({ type: e, id: String(n), key: t.key, data: o }, [o]); } } else e === P("0xf0e") ? this[P("0xf11")].postMessage({ type: e, id: String(n), style: t[P("0x150")], spriteUrl: t[P("0xf18")] }) : "setPaintProperty" !== e && e !== P("0x9c2") || this[P("0xf11")][P("0xa70")]({ type: e, id: String(n), style: t.style }); }, a[P("0x5")][P("0xf15")] = function (e) { var t, i = e[P("0x440")], r = i.id; t = this.callbacks[r], delete this[P("0xf16")][r], t && t(i, this); }, t[P("0xf19")] = { UNLOADED: 0, LOADING: 1, DONE: 2, RELOADED: 3 }, t[P("0x5")].bindEvent = function () { this[P("0x13c")].scene[P("0x7e")][P("0xe72")][P("0x130")](this[P("0xaf6")], this); }, t[P("0x5")][P("0xaf6")] = function () { this[P("0xeda")] = {}; var i = this[P("0x13c")][P("0x10f")][P("0xa3")]._surface[P("0xe35")]; if (2 < i[P("0x0")]) { for (var r = 0; r < i[P("0x0")]; r++) { for (var o = i[r][P("0x440")][P("0xef1")], a = 0; a < o.length; a++) { var c = o[a].loadingImagery; if (o[a].readyImagery, c && c[P("0xef3")][P("0xf1a")] instanceof e[P("0xebe")]) { var u = c.x, h = c.y, f = e[P("0x14")](this._tileMatrixLabels) ? p()(this[P("0xec5")][c[P("0x968")]]) : c[P("0x968")], d = x()([u, h, f]), g = this._requestUrl.replace(P("0xe3f"), u)[P("0xa1c")](P("0xf1b"), h)[P("0xa1c")](P("0xe3e"), f).replace(P("0xf1c"), this[P("0xecd")]); g = this[P("0xa94")] ? this._proxy[P("0xa95")](g) : g, this.messageCache[d] || (this.messageCache[d] = g); } } } var m = 0; for (var d in this.messageCache) { if ((A = this[P("0xed9")][d]) && (A[P("0xdb3")] === t[P("0xf19")][P("0xf1d")] || A[P("0xdb3")] === t.DefferState.RELOADED)) { var b, v = JSON.parse(d), C = n(u = v[0], h = v[1], f = v[2], this._tileQueueForFeatures); b = C ? { key: d, data: C } : { key: d, data: l[P("0xfa")](this, u, h, f)[P("0x33a")] }; var y = this[P("0xf1e")] = (this[P("0xf1e")] + 1) % this.actors[P("0x0")]; if (this[P("0xf0b")][y].send(P("0xf17"), b, s[P("0xf10")](this)), delete this[P("0xeda")][d], A.state = t[P("0xf19")][P("0xef5")], ++m === this[P("0xf0b")][P("0x0")]) break; } } for (var d in this[P("0xed9")]) { var _ = this[P("0xeda")][d], A = this[P("0xed9")][d]; _ || A[P("0xdb3")] !== t[P("0xf19")][P("0xf1d")] && A[P("0xdb3")] !== t[P("0xf19")][P("0xf1f")] || (A[P("0xa3d")](), A[P("0xdb3")] = t[P("0xf19")][P("0xf1f")]); } } }, t[P("0x5")].requestImage = function (i, r, a, c) { var h, f = this, d = e[P("0x9ee")][P("0x9ef")](), g = this[P("0xec5")], m = e.defined(g) ? p()(g[a]) : a; if (!0 === this[P("0xedd")]) { if (h = n(i, r, m, this._tileQueueForCanvas)) h instanceof HTMLCanvasElement ? d[P("0x9f8")](h) : h == P("0xf25") && d[P("0x9f8")](this[P("0xedb")]);else { var b = JSON[P("0xf0d")]([i, r, m]), v = this[P("0xb7f")][P("0xa1c")]("{x}", i)[P("0xa1c")](P("0xf1b"), r)[P("0xa1c")](P("0xe3e"), m)[P("0xa1c")](P("0xf1c"), this[P("0xecd")]); if (v = this[P("0xa94")] ? this._proxy[P("0xa95")](v) : v, (this[P("0xed9")][b] = d)[P("0xdb3")] = t[P("0xf19")][P("0xf1d")], this[P("0x13c")][P("0x10f")][P("0xa3")][P("0xa2e")][P("0xe35")].length < 3) { var C = this[P("0xf1e")] = (this.currentActor + 1) % this[P("0xf0b")].length; this.actors[C][P("0xe45")](P("0xf17"), { key: b, data: v }, s.bind(this)); } } } else if (h = n(i, r, m, this._tileQueueForCanvas)) h instanceof HTMLCanvasElement ? d[P("0x9f8")](h) : h == P("0xf25") && d[P("0x9f8")](this[P("0xedb")]);else { b = x()([i, r, m]); var y = n(i, r, m, this[P("0xed4")]); if (e[P("0x14")](y)) { var _ = u(this._mvtParser[P("0xf26")](y), b, this[P("0xec8")]), A = this[P("0xf27")](_, i, r, m); d.resolve(A); } else { var I = l[P("0xfa")](this, i, r, m).features; w()(I) === P("0x9fe") ? (Number(e[P("0x373")]) < 1.42 ? e[P("0xf28")](I) : e[P("0x6da")][P("0xa5e")](I))[P("0x333")](function (e) { f[P("0xed4")][P("0x1a9")] > f[P("0xed6")] && o(f[P("0xed4")], f._cacheSize / 4), e[P("0xf29")] = i, e[P("0xefc")] = r, e[P("0xefd")] = m, f._tileQueueForFeatures[P("0xf2a")](e); var t = u(f[P("0xec2")][P("0xf26")](e), b, f[P("0xec8")]), n = f[P("0xf27")](t, i, r, m); d.resolve(n); }) : I instanceof ArrayBuffer && (this[P("0xed4")][P("0x1a9")] > this[P("0xed6")] && o(this[P("0xed4")], this[P("0xed6")] / 4), I[P("0xf29")] = i, I[P("0xefc")] = r, I[P("0xefd")] = m, this[P("0xed4")][P("0xf2a")](I), _ = u(this._mvtParser[P("0xf26")](I), b, this[P("0xec8")]), A = this.renderCanvas(_, i, r, m), d.resolve(A)); } } return d[P("0xa90")]; }, t[P("0x5")].renderCanvas = function (t, i, r, n) { var a = GeoOLMS[P("0xf2b")](9, void 0), s = document.createElement(P("0x48")); s[P("0x19a")] = 512, s.height = 512; for (var x = s.getContext("2d"), l = this.styleFunc, c = e[P("0x14")](t[P("0xf2c")]) ? t.rect : [0, 0, 4096, 4096], u = new GeoOLMS.ReplayGroup(0, c, 8, window[P("0xf2d")], !0, a, 100), h = 0; h < t[P("0x0")]; h++) { for (var f = t[h], d = l(t[h], n) || [], g = 0; g < d[P("0x0")]; g++) { GeoOLMS[P("0xf2e")](u, f, d[g], 16); } } u[P("0xf2f")](); var p = {}, m = [this[P("0xebf")] / (c[2] - c[0]), 0, 0, this._tileHeight / (c[3] - c[1]), -512 * c[0] / (c[2] - c[0]), -512 * c[1] / (c[3] - c[1])]; return u[P("0xf30")](x, m, 0, {}, !0, this[P("0xf31")], p), GeoOLMS.replayDeclutter(p, x, 0, !0), u = null, this[P("0xeef")][P("0x1a9")] > this._cacheSize && o(this._tileQueueForCanvas, this[P("0xed6")] / 4), s[P("0xf29")] = i, s.yMvt = r, s[P("0xefd")] = n, this[P("0xeef")].markTileRendered(s), s; }, t.prototype[P("0xf24")] = function (e, t, r) { for (var n = this._styles, o = 0; o < n.layers[P("0x0")]; o++) { if (n[P("0xee3")][o].id === e) { n.layers[o].paint[t] = r; break; } } if (!0 === this._useWebWorker) { this[P("0xeda")] = {}; var a = { style: x()(this[P("0xee5")]) }; for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++) { this.actors[o][P("0xe45")](P("0xf24"), a, s.bind(this)); } } else this.styleFunc = GeoOLMS[P("0xeea")](n, c()(n.sources), this[P("0x9c9")], this[P("0xeec")], this[P("0xed8")] ? this[P("0xed8")] + P("0xeeb") : this[P("0xed8")]), i[P("0xfa")](this); }, t[P("0x5")][P("0x9c2")] = function (e, t, r) { for (var n = this[P("0xee5")], o = 0; o < n.layers[P("0x0")]; o++) { if (n[P("0xee3")][o].id === e) { n.layers[o][P("0x9a7")][t] = r; break; } } if (!0 === this._useWebWorker) { this[P("0xeda")] = {}; var a = { style: JSON[P("0xf0d")](this[P("0xee5")]) }; for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++) { this[P("0xf0b")][o][P("0xe45")]("setPaintProperty", a, s.bind(this)); } } else this.styleFunc = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n.sources), this[P("0x9c9")], this[P("0xeec")], this[P("0xed8")] ? this._spriteUrl + ".png" : this[P("0xed8")]), i[P("0xfa")](this); }, t[P("0x5")][P("0xf0e")] = function (e) { var t = this; if (w()(e) === P("0x9fe")) r(this[P("0xa94")] ? this[P("0xa94")].getURL(e) : e, !0, function (n) { if (!n[P("0xee2")]) { for (var o = P("0xf32"), a = 0; a < n[P("0xee3")][P("0x0")]; a++) { n[P("0xee3")][a][P("0xac2")] = o; } n[P("0xee2")] = {}; var l = e.split("?"); n[P("0xee2")][o] = { type: "vector", url: l[0] }; } if ((t[P("0xee5")] = n)[P("0xee6")] && (t[P("0xed8")] = t[P("0xa94")] ? t[P("0xa94")][P("0xa95")](n[P("0xee6")]) : n[P("0xee6")]), "none" === t[P("0xeca")]) { var c = []; for (a = 0; a < t._styles[P("0xee3")].length; a++) { t[P("0xee5")][P("0xee3")][a].type !== P("0x1f4") && c.push(t[P("0xee5")][P("0xee3")][a]); } t[P("0xee5")].layers = c, t[P("0xed8")] = void 0; } if (!0 === t[P("0xedd")]) { var u = { style: x()(t[P("0xee5")]), spriteUrl: t._spriteUrl }; for (a = 0; a < t[P("0xf0b")].length; a++) { t[P("0xf0b")][a][P("0xe45")](P("0xf0e"), u, s[P("0xf10")](t)); } } else t[P("0xed8")] ? r(t._spriteUrl + ".json", !0, function (e) { t[P("0xeec")] = e, t[P("0xee0")] = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n[P("0xee2")]), t[P("0x9c9")], e, t[P("0xed8")] + P("0xeeb")), i[P("0xfa")](t); }) : (t[P("0xeec")] = void 0, t.styleFunc = GeoOLMS[P("0xeea")](n, Object[P("0xdcb")](n.sources), t._resolutions), i[P("0xfa")](t)); });else { if (8 != (this[P("0xee5")] = e)[P("0xea3")]) return void console[P("0x391")](P("0xf33")); if (!e.sources) return void console[P("0x391")](P("0xf34")); if (e.sprite && (this[P("0xed8")] = this[P("0xa94")] ? this[P("0xa94")][P("0xa95")](e[P("0xee6")]) : e.sprite), this[P("0xeca")] === P("0x2b4")) { for (var n = [], o = 0; o < this._styles[P("0xee3")][P("0x0")]; o++) { this[P("0xee5")].layers[o][P("0x165")] !== P("0x1f4") && n.push(this._styles[P("0xee3")][o]); } this[P("0xee5")].layers = n, this[P("0xed8")] = void 0; } if (!0 === this[P("0xedd")]) { var a = { style: x()(this[P("0xee5")]), spriteUrl: this[P("0xed8")] }; for (o = 0; o < this[P("0xf0b")][P("0x0")]; o++) { this[P("0xf0b")][o][P("0xe45")](P("0xf0e"), a, s[P("0xf10")](this)); } } else this[P("0xed8")] ? r(this[P("0xed8")] + P("0xee8"), !0, function (e) { t[P("0xeec")] = e, t[P("0xee0")] = GeoOLMS[P("0xeea")](glStyle, Object[P("0xdcb")](glStyle[P("0xee2")]), t._resolutions, e, t[P("0xed8")] + P("0xeeb")), i[P("0xfa")](t); }) : (this[P("0xeec")] = void 0, this.styleFunc = GeoOLMS[P("0xeea")](glStyle, c()(glStyle.sources), this[P("0x9c9")]), i.call(this)); } }, t[P("0x5")].pickFeatures = function (t, i, r, o, a) { if (this.enablePickFeatures) { var s = this[P("0xec5")], x = e[P("0x14")](s) ? p()(s[r]) : r, l = n(t, i, x, this[P("0xed4")]); if (l) { var c = null, u = null, d = null; if (this[P("0x68a")] instanceof e.WebMercatorTilingScheme) { c = [-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244]; var g = this[P("0x68a")][P("0xf35")][P("0x5a")](new e[P("0x13")](o, a, 0)); u = g.x, d = g.y; } else this[P("0x68a")] instanceof e.GeographicTilingScheme && (c = [-180, -270, 180, 90], u = e[P("0x23")][P("0x113")](o), d = e[P("0x23")][P("0x113")](a)); for (var m = this[P("0xec2")][P("0xf26")](l), b = x > this._sourceMaxzoom ? this[P("0xec8")] : x, v = (u - c[0]) / (c[2] - c[0]) * Math[P("0x2ae")](2, b), C = (c[3] - d) / (c[3] - c[1]) * Math[P("0x2ae")](2, b), y = 4096 * (v - Math[P("0x3e8")](v)), _ = 4096 * (C - Math[P("0x3e8")](C)), A = [], I = [], w = 0; w < m[P("0x0")]; w++) { for (var G = (R = m[w])[P("0xf36")], E = R[P("0xf37")], S = 0, T = 0; T < E.length; S = E[T], T++) { if (G === P("0xad5") || G === P("0xf38")) { if (h(y, _, R[P("0xf39")][P("0x1d5")](S, E[T]))) { A[P("0x17c")](R); break; } } else if (G === P("0x9e3") || G === P("0xf3a")) { var M = 4096; e[P("0x14")](m.rect) && (M = m[P("0xf2c")][2] - m[P("0xf2c")][0]); var N = 4 * M / 512; if (f(y, _, R[P("0xf39")][P("0x1d5")](S, E[T]), N * N)) { A[P("0x17c")](R); break; } } } } A.reverse(); for (var L = 0; L < A.length; L++) { var R = A[L], O = this[P("0xf3b")](R, Math[P("0x3e8")](v), Math.floor(C), b), F = { type: P("0x344"), id: R[P("0xf3c")], properties: R[P("0xf3d")], geometry: O[P("0x180")], sourceLayer: R[P("0xf3d")][P("0xa39")] }; I.push(F); } this._pickedEvent[P("0x896")](I); } } }, t.prototype[P("0xf3b")] = function (t, i, r, n) { for (var o = this, a = 4096 * Math[P("0x2ae")](2, n), s = 4096 * i, x = 4096 * r, l = t.type_, c = t[P("0xf37")], u = 0, h = [], f = 0; f < c.length; u = c[f], f++) { for (var d = t.flatCoordinates_[P("0x1d5")](u, c[f]), g = [], p = 0; p < d[P("0x0")]; p += 2) { g[P("0x17c")]({ x: d[p], y: d[p + 1] }); } h[P("0x17c")](g); } function m(t) { for (var i = 0; i < t[P("0x0")]; i++) { if (o[P("0x68a")] instanceof e[P("0x9d7")]) { var r = t[i]; t[i] = [360 * (r.x + s) / a - 180, 90 - 360 * (r.y + x) / a]; } else { var n = 180 - 360 * ((r = t[i]).y + x) / a; t[i] = [360 * (r.x + s) / a - 180, 360 / Math.PI * Math[P("0x321")](Math[P("0x61")](n * Math.PI / 180)) - 90]; } } } if (l === P("0xad5") || l === P("0xf38")) { for (var b = [], v = 0; v < h.length; v++) { var C = []; C.push(h[v]), b[P("0x17c")](C); } for (h = b, f = 0; f < h[P("0x0")]; f++) { for (p = 0; p < h[f][P("0x0")]; p++) { m(h[f][p]); } } 1 < h.length && (l = P("0xf38")); } else if (l === P("0x9e3") || l === P("0xf3a")) for (f = 0; f < h[P("0x0")]; f++) { m(h[f]); } return 1 === h[P("0x0")] && (h = h[0]), { type: P("0x344"), geometry: { type: l, coordinates: h }, properties: t[P("0xf3d")] }; }, t[P("0x5")][P("0xed7")] = function () { var t = { SERVICE: P("0xf3e"), VERSION: P("0x1c9"), REQUEST: P("0xf3f") }, i = { LAYER: this._layer, TILEMATRIXSET: this[P("0xec4")], FORMAT: this[P("0xa0f")], TILEMATRIX: P("0xe3e"), TILEROW: "{y}", TILECOL: P("0xe3f") }, r = this[P("0xf40")](e[P("0xf41")](t, i)); return this[P("0x6b1")] + "?" + r; }, t[P("0x5")][P("0xee1")] = function () { var t = { SERVICE: P("0xf3e"), VERSION: P("0x1c9"), REQUEST: P("0xf42") }, i = { STYLENAME: this[P("0xf43")] }, r = this[P("0xf40")](e[P("0xf41")](t, i)); return this[P("0x6b1")] + "?" + r; }, t[P("0x5")][P("0xf40")] = function (e) { var t = []; for (var i in e) { var r = e[i]; if (null != r && w()(r) != P("0x8")) { var n; if ((w()(r) === P("0x2b6") ? P("0x2b6") : k(r)) == P("0x7") && r.constructor == Array) { for (var o, a = [], s = 0, x = r[P("0x0")]; s < x; s++) { o = r[s], a[P("0x17c")](null == o ? "" : o); } n = a[P("0x7ca")](","); } else n = r; t[P("0x17c")](i + "=" + n); } } return t[P("0x7ca")]("&"); }; }(window[P("0xfd")]), 1.5 <= cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x373")] || 1.5 <= cesium__WEBPACK_IMPORTED_MODULE_1__["VERSION"][P("0x987")](0, 4)) { a()(cesium__WEBPACK_IMPORTED_MODULE_1__[P("0x841")][P("0x5")], { _cachedGltf: { set: function set(e) { this[P("0xf4e")] = e, this[P("0xf4e")] && this._vtxf_cachedGltf[P("0x4df")] && function (e) { if (e[P("0xf45")] && (!e[P("0xf45")] || -1 != e[P("0xf45")].indexOf(P("0xf46")))) { var t = e[P("0xf45")][P("0x2d3")](P("0xf46")), i = e[P("0xf47")][P("0x2d3")](P("0xf46")); if (-1 !== t) { e.extensionsRequired[P("0x259")](i, 1, P("0xf48")), e.extensionsUsed[P("0x259")](t, 1, P("0xf48")), e[P("0xf49")] = e.extensions || {}, e[P("0xf49")][P("0xf48")] = {}, e[P("0xf49")].KHR_techniques_webgl.programs = e.programs, e[P("0xf49")][P("0xf48")].shaders = e[P("0xf4a")], e[P("0xf49")].KHR_techniques_webgl[P("0xf4b")] = e[P("0xf4b")]; var r = e[P("0xf49")].KHR_techniques_webgl[P("0xf4b")]; e[P("0x46a")].forEach(function (t, i) { e[P("0x46a")][i] && e[P("0x46a")][i].name && (e[P("0x46a")][i][P("0xf49")] = { KHR_technique_webgl: { technique: e[P("0x46a")][i][P("0xf4c")], values: { diffuse: 0 } } }), void 0 === e[P("0x46a")][i].extensions && (e[P("0x46a")][i][P("0xf49")] = {}, e[P("0x46a")][i].extensions.KHR_technique_webgl = {}), e[P("0x46a")][i].extensions[P("0xf46")][P("0x190")] = e.materials[i][P("0x190")], e.materials[i][P("0xf49")][P("0xf48")] = e.materials[i][P("0xf49")][P("0xf46")]; var n = e[P("0x46a")][i][P("0xf49")][P("0xf48")]; for (var o in n[P("0x190")]) { void 0 === n[P("0xf4c")] && (n[P("0xf4c")] = e.materials[i].technique); var a = r[n[P("0xf4c")]].uniforms; for (var s in a) { if (a[s] === o) { n[P("0x190")][s] = n[P("0x190")][o], delete n.values[o]; break; } } } }), r[P("0x1e4")](function (e) { for (var t in e[P("0x18f")]) { var i = e[P("0x18f")][t]; e[P("0x18f")][t] = e[P("0xf4d")][i]; } for (var r in e[P("0x19d")]) { i = e.uniforms[r], e[P("0x19d")][r] = e[P("0xf4d")][i]; } }); } } }(this[P("0xf4e")][P("0x4df")]); }, get: function get() { return this._vtxf_cachedGltf; } } }); } (function () { function e(e) { throw e; } var t = void 0, i = this; function r(e, r) { var n, o = e[P("0x7f2")]("."), a = i; o[0] in a || !a[P("0xf4f")] || a[P("0xf4f")](P("0xf50") + o[0]); for (; o.length && (n = o.shift());) { o[P("0x0")] || r === t ? a = a[n] ? a[n] : a[n] = {} : a[n] = r; } } var n = "undefined" != typeof Uint8Array && P("0x2b6") !== ("undefined" == typeof Uint16Array ? "undefined" : w()(Uint16Array)) && P("0x2b6") !== ("undefined" == typeof Uint32Array ? "undefined" : w()(Uint32Array)) && P("0x2b6") !== ("undefined" == typeof DataView ? "undefined" : w()(DataView)); function o(t, i) { this[P("0x286")] = P("0x49f") === w()(i) ? i : 0, this.i = 0, this.buffer = t instanceof (n ? Uint8Array : Array) ? t : new (n ? Uint8Array : Array)(32768), 2 * this.buffer[P("0x0")] <= this[P("0x286")] && e(Error(P("0xf51"))), this.buffer.length <= this.index && this.f(); } o.prototype.f = function () { var e, t = this[P("0x4b3")], i = t[P("0x0")], r = new (n ? Uint8Array : Array)(i << 1); if (n) r.set(t);else for (e = 0; e < i; ++e) { r[e] = t[e]; } return this[P("0x4b3")] = r; }, o[P("0x5")].d = function (e, t, i) { var r, n = this[P("0x4b3")], o = this[P("0x286")], a = this.i, s = n[o]; if (i && 1 < t && (e = 8 < t ? (u[255 & e] << 24 | u[e >>> 8 & 255] << 16 | u[e >>> 16 & 255] << 8 | u[e >>> 24 & 255]) >> 32 - t : u[e] >> 8 - t), t + a < 8) s = s << t | e, a += t;else for (r = 0; r < t; ++r) { s = s << 1 | e >> t - r - 1 & 1, 8 == ++a && (a = 0, n[o++] = u[s], s = 0, o === n[P("0x0")] && (n = this.f())); } n[o] = s, this[P("0x4b3")] = n, this.i = a, this[P("0x286")] = o; }, o[P("0x5")].finish = function () { var e = this[P("0x4b3")], t = this[P("0x286")]; return 0 < this.i && (e[t] <<= 8 - this.i, e[t] = u[e[t]], t++), n ? e.subarray(0, t) : (e.length = t, e); }; var a, s = new (n ? Uint8Array : Array)(256); for (a = 0; a < 256; ++a) { for (var x = c = a, l = 7, c = c >>> 1; c; c >>>= 1) { x <<= 1, x |= 1 & c, --l; } s[a] = (x << l & 255) >>> 0; } var u = s; function h(e) { this[P("0x4b3")] = new (n ? Uint16Array : Array)(2 * e), this.length = 0; } function f(e) { var t, i, r, o, a, s, x, l, c, u, h = e[P("0x0")], f = 0, d = Number[P("0x31")]; for (l = 0; l < h; ++l) { e[l] > f && (f = e[l]), e[l] < d && (d = e[l]); } for (t = 1 << f, i = new (n ? Uint32Array : Array)(t), r = 1, o = 0, a = 2; r <= f;) { for (l = 0; l < h; ++l) { if (e[l] === r) { for (x = o, c = s = 0; c < r; ++c) { s = s << 1 | 1 & x, x >>= 1; } for (u = r << 16 | l, c = s; c < t; c += a) { i[c] = u; } ++o; } } ++r, o <<= 1, a <<= 1; } return [i, f, d]; } function d(e, t) { this.h = p, this.w = 0, this[P("0xf53")] = n && e instanceof Array ? new Uint8Array(e) : e, this.b = 0, t && (t[P("0xf54")] && (this.w = t[P("0xf54")]), P("0x49f") === w()(t[P("0xf55")]) && (this.h = t.compressionType), t[P("0xf56")] && (this.a = n && t[P("0xf56")] instanceof Array ? new Uint8Array(t[P("0xf56")]) : t[P("0xf56")]), "number" == typeof t.outputIndex && (this.b = t[P("0xf57")])), this.a || (this.a = new (n ? Uint8Array : Array)(32768)); } h.prototype[P("0xf52")] = function (e) { return 2 * ((e - 2) / 4 | 0); }, h[P("0x5")][P("0x17c")] = function (e, t) { var i, r, n, o = this[P("0x4b3")]; for (i = this[P("0x0")], o[this[P("0x0")]++] = t, o[this[P("0x0")]++] = e; 0 < i && (r = this[P("0xf52")](i), o[i] > o[r]);) { n = o[i], o[i] = o[r], o[r] = n, n = o[i + 1], o[i + 1] = o[r + 1], o[r + 1] = n, i = r; } return this[P("0x0")]; }, h.prototype[P("0x25c")] = function () { var e, t, i, r, n, o = this.buffer; for (t = o[0], e = o[1], this[P("0x0")] -= 2, o[0] = o[this.length], o[1] = o[this[P("0x0")] + 1], n = 0; !((r = 2 * n + 2) >= this[P("0x0")]) && (r + 2 < this[P("0x0")] && o[r + 2] > o[r] && (r += 2), o[r] > o[n]);) { i = o[n], o[n] = o[r], o[r] = i, i = o[n + 1], o[n + 1] = o[r + 1], o[r + 1] = i, n = r; } return { index: e, value: t, length: this.length }; }; var g, p = 2, m = { NONE: 0, r: 1, k: p, O: 3 }, b = []; for (g = 0; g < 288; g++) { switch (!0) { case g <= 143: b[P("0x17c")]([g + 48, 8]); break; case g <= 255: b.push([g - 144 + 400, 9]); break; case g <= 279: b[P("0x17c")]([g - 256 + 0, 7]); break; case g <= 287: b.push([g - 280 + 192, 8]); break; default: e("invalid literal: " + g); } } function v(e, t) { this[P("0x0")] = e, this.H = t; } d.prototype.j = function () { var i, r, a, s, x = this[P("0xf53")]; switch (this.h) { case 0: for (a = 0, s = x[P("0x0")]; a < s;) { var l, c, u, h = r = n ? x[P("0xaaf")](a, a + 65535) : x.slice(a, a + 65535), f = (a += r.length) === s, d = t, g = t, m = this.a, v = this.b; if (n) { for (m = new Uint8Array(this.a[P("0x4b3")]); m[P("0x0")] <= v + h[P("0x0")] + 5;) { m = new Uint8Array(m[P("0x0")] << 1); } m.set(this.a); } if (l = f ? 1 : 0, m[v++] = 0 | l, u = 65536 + ~(c = h[P("0x0")]) & 65535, m[v++] = 255 & c, m[v++] = c >>> 8 & 255, m[v++] = 255 & u, m[v++] = u >>> 8 & 255, n) m.set(h, v), v += h[P("0x0")], m = m.subarray(0, v);else { for (d = 0, g = h.length; d < g; ++d) { m[v++] = h[d]; } m[P("0x0")] = v; } this.b = v, this.a = m; } break; case 1: var C = new o(n ? new Uint8Array(this.a[P("0x4b3")]) : this.a, this.b); C.d(1, 1, !0), C.d(1, 2, !0); var y, A, w, E = _(this, x); for (y = 0, A = E[P("0x0")]; y < A; y++) { if (w = E[y], o[P("0x5")].d.apply(C, b[w]), 256 < w) C.d(E[++y], E[++y], !0), C.d(E[++y], 5), C.d(E[++y], E[++y], !0);else if (256 === w) break; } this.a = C[P("0xf2f")](), this.b = this.a[P("0x0")]; break; case p: var S, T, M, N, L, R, O, F, D, U, k, B, W, j, V, z = new o(n ? new Uint8Array(this.a[P("0x4b3")]) : this.a, this.b), H = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], q = Array(19); for (S = p, z.d(1, 1, !0), z.d(S, 2, !0), T = _(this, x), O = G(R = I(this.M, 15)), D = G(F = I(this.L, 7)), M = 286; 257 < M && 0 === R[M - 1]; M--) { ; } for (N = 30; 1 < N && 0 === F[N - 1]; N--) { ; } var X, Y, K, Q, Z, J, $ = M, ee = N, te = new (n ? Uint32Array : Array)($ + ee), ie = new (n ? Uint32Array : Array)(316), re = new (n ? Uint8Array : Array)(19); for (X = Y = 0; X < $; X++) { te[Y++] = R[X]; } for (X = 0; X < ee; X++) { te[Y++] = F[X]; } if (!n) for (X = 0, Q = re.length; X < Q; ++X) { re[X] = 0; } for (X = Z = 0, Q = te.length; X < Q; X += Y) { for (Y = 1; X + Y < Q && te[X + Y] === te[X]; ++Y) { ; } if (K = Y, 0 === te[X]) { if (K < 3) for (; 0 < K--;) { re[ie[Z++] = 0]++; } else for (; 0 < K;) { K - 3 < (J = K < 138 ? K : 138) && J < K && (J = K - 3), J <= 10 ? (ie[Z++] = 17, ie[Z++] = J - 3, re[17]++) : (ie[Z++] = 18, ie[Z++] = J - 11, re[18]++), K -= J; } } else if (ie[Z++] = te[X], re[te[X]]++, --K < 3) for (; 0 < K--;) { ie[Z++] = te[X], re[te[X]]++; } else for (; 0 < K;) { K - 3 < (J = K < 6 ? K : 6) && J < K && (J = K - 3), ie[Z++] = 16, ie[Z++] = J - 3, re[16]++, K -= J; } } for (i = n ? ie[P("0xaaf")](0, Z) : ie[P("0x1d5")](0, Z), U = I(re, 7), j = 0; j < 19; j++) { q[j] = U[H[j]]; } for (L = 19; 4 < L && 0 === q[L - 1]; L--) { ; } for (k = G(U), z.d(M - 257, 5, !0), z.d(N - 1, 5, !0), z.d(L - 4, 4, !0), j = 0; j < L; j++) { z.d(q[j], 3, !0); } for (j = 0, V = i[P("0x0")]; j < V; j++) { if (B = i[j], z.d(k[B], U[B], !0), 16 <= B) { switch (j++, B) { case 16: W = 2; break; case 17: W = 3; break; case 18: W = 7; break; default: e(P("0xf58") + B); } z.d(i[j], W, !0); } } var ne, oe, ae, se, xe, le, ce, ue, he = [O, R], fe = [D, F]; for (xe = he[0], le = he[1], ce = fe[0], ue = fe[1], ne = 0, oe = T[P("0x0")]; ne < oe; ++ne) { if (ae = T[ne], z.d(xe[ae], le[ae], !0), 256 < ae) z.d(T[++ne], T[++ne], !0), se = T[++ne], z.d(ce[se], ue[se], !0), z.d(T[++ne], T[++ne], !0);else if (256 === ae) break; } this.a = z.finish(), this.b = this.a[P("0x0")]; break; default: e("invalid compression type"); } return this.a; }; var C = function () { function t(t) { switch (!0) { case 3 === t: return [257, t - 3, 0]; case 4 === t: return [258, t - 4, 0]; case 5 === t: return [259, t - 5, 0]; case 6 === t: return [260, t - 6, 0]; case 7 === t: return [261, t - 7, 0]; case 8 === t: return [262, t - 8, 0]; case 9 === t: return [263, t - 9, 0]; case 10 === t: return [264, t - 10, 0]; case t <= 12: return [265, t - 11, 1]; case t <= 14: return [266, t - 13, 1]; case t <= 16: return [267, t - 15, 1]; case t <= 18: return [268, t - 17, 1]; case t <= 22: return [269, t - 19, 2]; case t <= 26: return [270, t - 23, 2]; case t <= 30: return [271, t - 27, 2]; case t <= 34: return [272, t - 31, 2]; case t <= 42: return [273, t - 35, 3]; case t <= 50: return [274, t - 43, 3]; case t <= 58: return [275, t - 51, 3]; case t <= 66: return [276, t - 59, 3]; case t <= 82: return [277, t - 67, 4]; case t <= 98: return [278, t - 83, 4]; case t <= 114: return [279, t - 99, 4]; case t <= 130: return [280, t - 115, 4]; case t <= 162: return [281, t - 131, 5]; case t <= 194: return [282, t - 163, 5]; case t <= 226: return [283, t - 195, 5]; case t <= 257: return [284, t - 227, 5]; case 258 === t: return [285, t - 258, 0]; default: e("invalid length: " + t); } } var i, r, n = []; for (i = 3; i <= 258; i++) { r = t(i), n[i] = r[2] << 24 | r[1] << 16 | r[0]; } return n; }(), y = n ? new Uint32Array(C) : C; function _(i, r) { function o(t, i) { var r, n, o, a, s = t.H, x = [], l = 0; switch (r = y[t[P("0x0")]], x[l++] = 65535 & r, x[l++] = r >> 16 & 255, x[l++] = r >> 24, !0) { case 1 === s: n = [0, s - 1, 0]; break; case 2 === s: n = [1, s - 2, 0]; break; case 3 === s: n = [2, s - 3, 0]; break; case 4 === s: n = [3, s - 4, 0]; break; case s <= 6: n = [4, s - 5, 1]; break; case s <= 8: n = [5, s - 7, 1]; break; case s <= 12: n = [6, s - 9, 2]; break; case s <= 16: n = [7, s - 13, 2]; break; case s <= 24: n = [8, s - 17, 3]; break; case s <= 32: n = [9, s - 25, 3]; break; case s <= 48: n = [10, s - 33, 4]; break; case s <= 64: n = [11, s - 49, 4]; break; case s <= 96: n = [12, s - 65, 5]; break; case s <= 128: n = [13, s - 97, 5]; break; case s <= 192: n = [14, s - 129, 6]; break; case s <= 256: n = [15, s - 193, 6]; break; case s <= 384: n = [16, s - 257, 7]; break; case s <= 512: n = [17, s - 385, 7]; break; case s <= 768: n = [18, s - 513, 8]; break; case s <= 1024: n = [19, s - 769, 8]; break; case s <= 1536: n = [20, s - 1025, 9]; break; case s <= 2048: n = [21, s - 1537, 9]; break; case s <= 3072: n = [22, s - 2049, 10]; break; case s <= 4096: n = [23, s - 3073, 10]; break; case s <= 6144: n = [24, s - 4097, 11]; break; case s <= 8192: n = [25, s - 6145, 11]; break; case s <= 12288: n = [26, s - 8193, 12]; break; case s <= 16384: n = [27, s - 12289, 12]; break; case s <= 24576: n = [28, s - 16385, 13]; break; case s <= 32768: n = [29, s - 24577, 13]; break; default: e(P("0xf59")); } for (r = n, x[l++] = r[0], x[l++] = r[1], x[l++] = r[2], o = 0, a = x[P("0x0")]; o < a; ++o) { p[m++] = x[o]; } v[x[0]]++, C[x[3]]++, b = t[P("0x0")] + i - 1, f = null; } var a, s, x, l, c, u, h, f, d, g = {}, p = n ? new Uint16Array(2 * r[P("0x0")]) : [], m = 0, b = 0, v = new (n ? Uint32Array : Array)(286), C = new (n ? Uint32Array : Array)(30), _ = i.w; if (!n) { for (x = 0; x <= 285;) { v[x++] = 0; } for (x = 0; x <= 29;) { C[x++] = 0; } } for (v[256] = 1, a = 0, s = r[P("0x0")]; a < s; ++a) { for (x = c = 0, l = 3; x < l && a + x !== s; ++x) { c = c << 8 | r[a + x]; } if (g[c] === t && (g[c] = []), u = g[c], !(0 < b--)) { for (; 0 < u[P("0x0")] && 32768 < a - u[0];) { u[P("0x513")](); } if (s <= a + 3) { for (f && o(f, -1), x = 0, l = s - a; x < l; ++x) { d = r[a + x], p[m++] = d, ++v[d]; } break; } 0 < u[P("0x0")] ? (h = A(r, a, u), f ? f[P("0x0")] < h.length ? (d = r[a - 1], p[m++] = d, ++v[d], o(h, 0)) : o(f, -1) : h[P("0x0")] < _ ? f = h : o(h, 0)) : f ? o(f, -1) : (d = r[a], p[m++] = d, ++v[d]); } u.push(a); } return p[m++] = 256, v[256]++, i.M = v, i.L = C, n ? p[P("0xaaf")](0, m) : p; } function A(e, t, i) { var r, n, o, a, s, x, l = 0, c = e.length; a = 0, x = i[P("0x0")]; e: for (; a < x; a++) { if (r = i[x - a - 1], (o = 3) < l) { for (s = l; 3 < s; s--) { if (e[r + s - 1] !== e[t + s - 1]) continue e; } o = l; } for (; o < 258 && t + o < c && e[r + o] === e[t + o];) { ++o; } if (l < o && (n = r, l = o), 258 === o) break; } return new v(l, t - n); } function I(e, t) { var i, r, o, a, s, x = e[P("0x0")], l = new h(572), c = new (n ? Uint8Array : Array)(x); if (!n) for (a = 0; a < x; a++) { c[a] = 0; } for (a = 0; a < x; ++a) { 0 < e[a] && l[P("0x17c")](a, e[a]); } if (i = Array(l[P("0x0")] / 2), r = new (n ? Uint32Array : Array)(l[P("0x0")] / 2), 1 === i[P("0x0")]) return c[l[P("0x25c")]()[P("0x286")]] = 1, c; for (a = 0, s = l[P("0x0")] / 2; a < s; ++a) { i[a] = l[P("0x25c")](), r[a] = i[a][P("0x3")]; } for (o = function (e, t, i) { function r(e) { var i = d[e][g[e]]; i === t ? (r(e + 1), r(e + 1)) : --h[i], ++g[e]; } var o, a, s, x, l, c = new (n ? Uint16Array : Array)(i), u = new (n ? Uint8Array : Array)(i), h = new (n ? Uint8Array : Array)(t), f = Array(i), d = Array(i), g = Array(i), p = (1 << i) - t, m = 1 << i - 1; for (c[i - 1] = t, a = 0; a < i; ++a) { p < m ? u[a] = 0 : (u[a] = 1, p -= m), p <<= 1, c[i - 2 - a] = (c[i - 1 - a] / 2 | 0) + t; } for (c[0] = u[0], f[0] = Array(c[0]), d[0] = Array(c[0]), a = 1; a < i; ++a) { c[a] > 2 * c[a - 1] + u[a] && (c[a] = 2 * c[a - 1] + u[a]), f[a] = Array(c[a]), d[a] = Array(c[a]); } for (o = 0; o < t; ++o) { h[o] = i; } for (s = 0; s < c[i - 1]; ++s) { f[i - 1][s] = e[s], d[i - 1][s] = s; } for (o = 0; o < i; ++o) { g[o] = 0; } for (1 === u[i - 1] && (--h[0], ++g[i - 1]), a = i - 2; 0 <= a; --a) { for (x = o = 0, l = g[a + 1], s = 0; s < c[a]; s++) { (x = f[a + 1][l] + f[a + 1][l + 1]) > e[o] ? (f[a][s] = x, d[a][s] = t, l += 2) : (f[a][s] = e[o], d[a][s] = o, ++o); } g[a] = 0, 1 === u[a] && r(a); } return h; }(r, r[P("0x0")], t), a = 0, s = i[P("0x0")]; a < s; ++a) { c[i[a][P("0x286")]] = o[a]; } return c; } function G(e) { var t, i, r, o, a = new (n ? Uint16Array : Array)(e.length), s = [], x = [], l = 0; for (t = 0, i = e[P("0x0")]; t < i; t++) { s[e[t]] = 1 + (0 | s[e[t]]); } for (t = 1, i = 16; t <= i; t++) { x[t] = l, l += 0 | s[t], l <<= 1; } for (t = 0, i = e.length; t < i; t++) { for (l = x[e[t]], x[e[t]] += 1, r = a[t] = 0, o = e[t]; r < o; r++) { a[t] = a[t] << 1 | 1 & l, l >>>= 1; } } return a; } function E(t, i) { switch (this.l = [], this.m = 32768, this.e = this.g = this.c = this.q = 0, this[P("0xf53")] = n ? new Uint8Array(t) : t, this.s = !1, this.n = T, this.C = !1, (i || (i = {}, 0)) && (i[P("0x286")] && (this.c = i[P("0x286")]), i[P("0xf5a")] && (this.m = i.bufferSize), i.bufferType && (this.n = i[P("0xf5b")]), i[P("0xf5c")] && (this.C = i[P("0xf5c")])), this.n) { case S: this.b = 32768, this.a = new (n ? Uint8Array : Array)(32768 + this.m + 258); break; case T: this.b = 0, this.a = new (n ? Uint8Array : Array)(this.m), this.f = this.K, this.t = this.I, this.o = this.J; break; default: e(Error(P("0xf5d"))); } } var S = 0, T = 1, M = S, N = T; E[P("0x5")].p = function () { for (; !this.s;) { var i = Z(this, 3); switch (1 & i && (this.s = !0), i >>>= 1) { case 0: var r = this[P("0xf53")], o = this.c, a = this.a, s = this.b, x = r.length, l = t, c = a[P("0x0")], u = t; switch (this.e = this.g = 0, x <= o + 1 && e(Error("invalid uncompressed block header: LEN")), l = r[o++] | r[o++] << 8, x <= o + 1 && e(Error("invalid uncompressed block header: NLEN")), l === ~(r[o++] | r[o++] << 8) && e(Error(P("0xf5e"))), o + l > r[P("0x0")] && e(Error(P("0xf5f"))), this.n) { case S: for (; s + l > a[P("0x0")];) { if (l -= u = c - s, n) a.set(r[P("0xaaf")](o, o + u), s), s += u, o += u;else for (; u--;) { a[s++] = r[o++]; } this.b = s, a = this.f(), s = this.b; } break; case T: for (; s + l > a[P("0x0")];) { a = this.f({ v: 2 }); } break; default: e(Error("invalid inflate mode")); } if (n) a[P("0xf60")](r.subarray(o, o + l), s), s += l, o += l;else for (; l--;) { a[s++] = r[o++]; } this.c = o, this.b = s, this.a = a; break; case 1: this.o(Y, Q); break; case 2: $(this); break; default: e(Error(P("0xf61") + i)); } } return this.t(); }; var L, R, O = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], F = n ? new Uint16Array(O) : O, D = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 258, 258], U = n ? new Uint16Array(D) : D, k = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0], B = n ? new Uint8Array(k) : k, W = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577], j = n ? new Uint16Array(W) : W, V = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13], z = n ? new Uint8Array(V) : V, H = new (n ? Uint8Array : Array)(288); for (L = 0, R = H[P("0x0")]; L < R; ++L) { H[L] = L <= 143 ? 8 : L <= 255 ? 9 : L <= 279 ? 7 : 8; } var q, X, Y = f(H), K = new (n ? Uint8Array : Array)(30); for (q = 0, X = K[P("0x0")]; q < X; ++q) { K[q] = 5; } var Q = f(K); function Z(t, i) { for (var r, n = t.g, o = t.e, a = t[P("0xf53")], s = t.c, x = a[P("0x0")]; o < i;) { x <= s && e(Error(P("0xf5f"))), n |= a[s++] << o, o += 8; } return r = n & (1 << i) - 1, t.g = n >>> i, t.e = o - i, t.c = s, r; } function J(e, t) { for (var i, r, n = e.g, o = e.e, a = e[P("0xf53")], s = e.c, x = a[P("0x0")], l = t[0], c = t[1]; o < c && !(x <= s);) { n |= a[s++] << o, o += 8; } return r = (i = l[n & (1 << c) - 1]) >>> 16, e.g = n >> r, e.e = o - r, e.c = s, 65535 & i; } function $(e) { function t(e, t, i) { var r, n, o, a = this.z; for (o = 0; o < e;) { switch (r = J(this, t)) { case 16: for (n = 3 + Z(this, 2); n--;) { i[o++] = a; } break; case 17: for (n = 3 + Z(this, 3); n--;) { i[o++] = 0; } a = 0; break; case 18: for (n = 11 + Z(this, 7); n--;) { i[o++] = 0; } a = 0; break; default: a = i[o++] = r; } } return this.z = a, i; } var i, r, o, a, s = Z(e, 5) + 257, x = Z(e, 5) + 1, l = Z(e, 4) + 4, c = new (n ? Uint8Array : Array)(F[P("0x0")]); for (a = 0; a < l; ++a) { c[F[a]] = Z(e, 3); } if (!n) for (a = l, l = c.length; a < l; ++a) { c[F[a]] = 0; } i = f(c), r = new (n ? Uint8Array : Array)(s), o = new (n ? Uint8Array : Array)(x), e.z = 0, e.o(f(t[P("0xfa")](e, s, i, r)), f(t[P("0xfa")](e, x, i, o))); } function ee(e) { if (P("0x9fe") === w()(e)) { var t, i, r = e.split(""); for (t = 0, i = r[P("0x0")]; t < i; t++) { r[t] = (255 & r[t].charCodeAt(0)) >>> 0; } e = r; } for (var n, o = 1, a = 0, s = e.length, x = 0; 0 < s;) { for (s -= n = 1024 < s ? 1024 : s; a += o += e[x++], --n;) { ; } o %= 65521, a %= 65521; } return (a << 16 | o) >>> 0; } function te(t, i) { var r, n; switch (this.input = t, this.c = 0, (i || (i = {}, 0)) && (i[P("0x286")] && (this.c = i.index), i.verify && (this.N = i[P("0xf62")])), r = t[this.c++], n = t[this.c++], 15 & r) { case ie: this.method = ie; break; default: e(Error(P("0xf63"))); } 0 != ((r << 8) + n) % 31 && e(Error(P("0xf64") + ((r << 8) + n) % 31)), 32 & n && e(Error(P("0xf65"))), this.B = new E(t, { index: this.c, bufferSize: i[P("0xf5a")], bufferType: i[P("0xf5b")], resize: i[P("0xf5c")] }); } E[P("0x5")].o = function (e, t) { var i = this.a, r = this.b; this.u = e; for (var n, o, a, s, x = i[P("0x0")] - 258; 256 !== (n = J(this, e));) { if (n < 256) x <= r && (this.b = r, i = this.f(), r = this.b), i[r++] = n;else for (s = U[o = n - 257], 0 < B[o] && (s += Z(this, B[o])), n = J(this, t), a = j[n], 0 < z[n] && (a += Z(this, z[n])), x <= r && (this.b = r, i = this.f(), r = this.b); s--;) { i[r] = i[r++ - a]; } } for (; 8 <= this.e;) { this.e -= 8, this.c--; } this.b = r; }, E.prototype.J = function (e, t) { var i = this.a, r = this.b; this.u = e; for (var n, o, a, s, x = i.length; 256 !== (n = J(this, e));) { if (n < 256) x <= r && (x = (i = this.f()).length), i[r++] = n;else for (s = U[o = n - 257], 0 < B[o] && (s += Z(this, B[o])), n = J(this, t), a = j[n], 0 < z[n] && (a += Z(this, z[n])), x < r + s && (x = (i = this.f()).length); s--;) { i[r] = i[r++ - a]; } } for (; 8 <= this.e;) { this.e -= 8, this.c--; } this.b = r; }, E[P("0x5")].f = function () { var e, t, i = new (n ? Uint8Array : Array)(this.b - 32768), r = this.b - 32768, o = this.a; if (n) i.set(o[P("0xaaf")](32768, i.length));else for (e = 0, t = i.length; e < t; ++e) { i[e] = o[e + 32768]; } if (this.l[P("0x17c")](i), this.q += i[P("0x0")], n) o[P("0xf60")](o[P("0xaaf")](r, 32768 + r));else for (e = 0; e < 32768; ++e) { o[e] = o[r + e]; } return this.b = 32768, o; }, E[P("0x5")].K = function (e) { var t, i, r, o = this[P("0xf53")][P("0x0")] / this.c + 1 | 0, a = this[P("0xf53")], s = this.a; return e && ("number" == typeof e.v && (o = e.v), P("0x49f") === w()(e.G) && (o += e.G)), i = o < 2 ? (r = (a.length - this.c) / this.u[2] / 2 * 258 | 0) < s[P("0x0")] ? s.length + r : s[P("0x0")] << 1 : s.length * o, n ? (t = new Uint8Array(i)).set(s) : t = s, this.a = t; }, E[P("0x5")].t = function () { var e, t, i, r, o, a = 0, s = this.a, x = this.l, l = new (n ? Uint8Array : Array)(this.q + (this.b - 32768)); if (0 === x.length) return n ? this.a[P("0xaaf")](32768, this.b) : this.a.slice(32768, this.b); for (t = 0, i = x[P("0x0")]; t < i; ++t) { for (r = 0, o = (e = x[t]).length; r < o; ++r) { l[a++] = e[r]; } } for (t = 32768, i = this.b; t < i; ++t) { l[a++] = s[t]; } return this.l = [], this[P("0x4b3")] = l; }, E[P("0x5")].I = function () { var e, t = this.b; return n ? this.C ? (e = new Uint8Array(t))[P("0xf60")](this.a[P("0xaaf")](0, t)) : e = this.a[P("0xaaf")](0, t) : (this.a[P("0x0")] > t && (this.a[P("0x0")] = t), e = this.a), this[P("0x4b3")] = e; }, te[P("0x5")].p = function () { var t, i = this[P("0xf53")]; return t = this.B.p(), this.c = this.B.c, this.N && (i[this.c++] << 24 | i[this.c++] << 16 | i[this.c++] << 8 | i[this.c++]) >>> 0 !== ee(t) && e(Error(P("0xf66"))), t; }; var ie = 8; function re(e, t) { this[P("0xf53")] = e, this.a = new (n ? Uint8Array : Array)(32768), this.h = ne.k; var i, r = {}; for (i in (t || (t = {}, 0)) && P("0x49f") === w()(t.compressionType) && (this.h = t[P("0xf55")]), t) { r[i] = t[i]; } r[P("0xf56")] = this.a, this.A = new d(this.input, r); } var ne = m; function oe(e, t) { var i, n, o, a; if (Object[P("0xdcb")]) i = Object[P("0xdcb")](t);else for (n in i = [], o = 0, t) { i[o++] = n; } for (o = 0, a = i[P("0x0")]; o < a; ++o) { r(e + "." + (n = i[o]), t[n]); } } re[P("0x5")].j = function () { var t, i, r, o, a, s, x, l = 0; switch (x = this.a, t = ie) { case ie: i = Math[P("0xf67")] * Math[P("0x133")](32768) - 8; break; default: e(Error(P("0xf68"))); } switch (r = i << 4 | t, x[l++] = r, t) { case ie: switch (this.h) { case ne.NONE: a = 0; break; case ne.r: a = 1; break; case ne.k: a = 2; break; default: e(Error("unsupported compression type")); } break; default: e(Error(P("0xf68"))); } return o = a << 6 | 0, x[l++] = o | 31 - (256 * r + o) % 31, s = ee(this.input), this.A.b = l, l = (x = this.A.j()).length, n && ((x = new Uint8Array(x[P("0x4b3")])).length <= l + 4 && (this.a = new Uint8Array(x[P("0x0")] + 4), this.a[P("0xf60")](x), x = this.a), x = x[P("0xaaf")](0, l + 4)), x[l++] = s >> 24 & 255, x[l++] = s >> 16 & 255, x[l++] = s >> 8 & 255, x[l++] = 255 & s, x; }, r(P("0xf69"), te), r(P("0xf6a"), te.prototype.p), oe(P("0xf6b"), { ADAPTIVE: N, BLOCK: M }), r(P("0xf6c"), re), r(P("0xf6d"), function (e, t) { return new re(e, t).j(); }), r(P("0xf6e"), re[P("0x5")].j), oe("Zlib.Deflate.CompressionType", { NONE: ne[P("0xe5d")], FIXED: ne.r, DYNAMIC: ne.k }); })[P("0xfa")](window); r(237); }]); }); /***/ }), /* 10 */ /***/ (function(module, exports) { function _setPrototypeOf(o, p) { module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; module.exports["default"] = module.exports, module.exports.__esModule = true; return _setPrototypeOf(o, p); } module.exports = _setPrototypeOf; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 11 */ /***/ (function(module, exports) { function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } module.exports = _assertThisInitialized; module.exports["default"] = module.exports, module.exports.__esModule = true; /***/ }), /* 12 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "TdtDmLayer", function() { return /* reexport */ TdtDmLayer_TdtDmLayer; }); __webpack_require__.d(__webpack_exports__, "TdtTerrainProvider", function() { return /* reexport */ TdtTerrainProvider_TdtTerrainProvider; }); // EXTERNAL MODULE: external {"commonjs2":"mars3d-cesium","amd":"mars3d-cesium","commonjs":"mars3d-cesium","root":"Cesium"} var external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_ = __webpack_require__(0); // EXTERNAL MODULE: ./src/tdt/lib/cesiumTdt.js var cesiumTdt = __webpack_require__(9); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.15.3@@babel/runtime/helpers/defineProperty.js var defineProperty = __webpack_require__(7); var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.15.3@@babel/runtime/helpers/classCallCheck.js var classCallCheck = __webpack_require__(4); var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.15.3@@babel/runtime/helpers/createClass.js var createClass = __webpack_require__(8); var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.15.3@@babel/runtime/helpers/inherits.js var inherits = __webpack_require__(5); var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.15.3@@babel/runtime/helpers/possibleConstructorReturn.js var possibleConstructorReturn = __webpack_require__(6); var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.15.3@@babel/runtime/helpers/getPrototypeOf.js var getPrototypeOf = __webpack_require__(3); var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf); // EXTERNAL MODULE: external "mars3d" var external_mars3d_ = __webpack_require__(2); // CONCATENATED MODULE: ./src/tdt/layer/TdtDmLayer.js function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var BaseLayer = external_mars3d_["layer"].BaseLayer; /** * 天地图 三维地名服务图层 * 【需要引入 mars3d-tdt 插件库】 * @param {Object} options 参数对象,包括以下: * @param {BaseGraphicLayer.ConstructorOptions} [options.通用参数] 包含父类支持的所有参数 * * @param {String} [options.url='https://t{s}.tianditu.gov.cn/mapservice/GetTiles'] 天地图服务地址 * @param {String} [options.subdomains='01234567'] 服务负载子域 * @param {String} [options.key=mars3d.Token.tianditu] 天地图服务token令牌 * * @export * @class TdtDmLayer * @extends {BaseLayer} */ var TdtDmLayer_TdtDmLayer = /*#__PURE__*/function (_BaseLayer) { inherits_default()(TdtDmLayer, _BaseLayer); var _super = _createSuper(TdtDmLayer); function TdtDmLayer() { classCallCheck_default()(this, TdtDmLayer); return _super.apply(this, arguments); } createClass_default()(TdtDmLayer, [{ key: "layer", get: function get() { return this.wtfs; } //对象添加到地图上的创建钩子方法 }, { key: "_addedHook", value: function _addedHook() { // 服务域名 var tdtUrl = this.options.url || "https://t{s}.tianditu.gov.cn/mapservice/GetTiles"; var token = this.options.key || external_mars3d_["Token"].tianditu; // 服务负载子域 var subdomains; if (Array.isArray(this.options.subdomains)) { subdomains = this.options.subdomains.slice(); } else if (external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["defined"](this.options.subdomains) && this.options.subdomains.length > 0) { subdomains = this.options.subdomains.split(""); } else { subdomains = ["0", "1", "2", "3", "4", "5", "6", "7"]; } if (!external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["GeoWTFS"]) { console.error("请确认正确引入天地图官方提供的cesiumTdt.js文件,并确认无冲突!"); return; } // 叠加三维地名服务 var wtfs = new external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["GeoWTFS"](_objectSpread(_objectSpread({}, this.options), {}, { viewer: this._map.viewer, subdomains: subdomains, metadata: { boundBox: { minX: -180, minY: -90, maxX: 180, maxY: 90 }, minLevel: 1, maxLevel: 20 }, aotuCollide: true, //是否开启避让 collisionPadding: [5, 10, 8, 5], //开启避让时,标注碰撞增加内边距,上、右、下、左 serverFirstStyle: true, //服务端样式优先 labelGraphics: { font: "28px sans-serif", fontSize: 28, fillColor: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Color"].WHITE, scale: 0.5, outlineColor: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Color"].BLACK, outlineWidth: 5, style: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["LabelStyle"].FILL_AND_OUTLINE, showBackground: false, backgroundColor: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Color"].RED, backgroundPadding: new external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Cartesian2"](10, 10), horizontalOrigin: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["HorizontalOrigin"].MIDDLE, verticalOrigin: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["VerticalOrigin"].TOP, eyeOffset: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Cartesian3"].ZERO, pixelOffset: new external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Cartesian2"](0, 8) }, billboardGraphics: { horizontalOrigin: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["HorizontalOrigin"].CENTER, verticalOrigin: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["VerticalOrigin"].CENTER, eyeOffset: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Cartesian3"].ZERO, pixelOffset: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Cartesian2"].ZERO, alignedAxis: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Cartesian3"].ZERO, color: external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["Color"].WHITE, rotation: 0, scale: 1, width: 18, height: 18 } })); //三维地名服务,使用wtfs服务 wtfs.getTileUrl = function () { return tdtUrl + "?lxys={z},{x},{y}&tk=" + token; }; wtfs.initTDT([{ x: 6, y: 1, level: 2, boundBox: { minX: 90, minY: 0, maxX: 135, maxY: 45 } }, { x: 7, y: 1, level: 2, boundBox: { minX: 135, minY: 0, maxX: 180, maxY: 45 } }, { x: 6, y: 0, level: 2, boundBox: { minX: 90, minY: 45, maxX: 135, maxY: 90 } }, { x: 7, y: 0, level: 2, boundBox: { minX: 135, minY: 45, maxX: 180, maxY: 90 } }, { x: 5, y: 1, level: 2, boundBox: { minX: 45, minY: 0, maxX: 90, maxY: 45 } }, { x: 4, y: 1, level: 2, boundBox: { minX: 0, minY: 0, maxX: 45, maxY: 45 } }, { x: 5, y: 0, level: 2, boundBox: { minX: 45, minY: 45, maxX: 90, maxY: 90 } }, { x: 4, y: 0, level: 2, boundBox: { minX: 0, minY: 45, maxX: 45, maxY: 90 } }, { x: 6, y: 2, level: 2, boundBox: { minX: 90, minY: -45, maxX: 135, maxY: 0 } }, { x: 6, y: 3, level: 2, boundBox: { minX: 90, minY: -90, maxX: 135, maxY: -45 } }, { x: 7, y: 2, level: 2, boundBox: { minX: 135, minY: -45, maxX: 180, maxY: 0 } }, { x: 5, y: 2, level: 2, boundBox: { minX: 45, minY: -45, maxX: 90, maxY: 0 } }, { x: 4, y: 2, level: 2, boundBox: { minX: 0, minY: -45, maxX: 45, maxY: 0 } }, { x: 3, y: 1, level: 2, boundBox: { minX: -45, minY: 0, maxX: 0, maxY: 45 } }, { x: 3, y: 0, level: 2, boundBox: { minX: -45, minY: 45, maxX: 0, maxY: 90 } }, { x: 2, y: 0, level: 2, boundBox: { minX: -90, minY: 45, maxX: -45, maxY: 90 } }, { x: 0, y: 1, level: 2, boundBox: { minX: -180, minY: 0, maxX: -135, maxY: 45 } }, { x: 1, y: 0, level: 2, boundBox: { minX: -135, minY: 45, maxX: -90, maxY: 90 } }, { x: 0, y: 0, level: 2, boundBox: { minX: -180, minY: 45, maxX: -135, maxY: 90 } }]); this.wtfs = wtfs; } //对象从地图上移除的创建钩子方法 }, { key: "_removedHook", value: function _removedHook() { if (this.wtfs) { this.wtfs.destroy(); this.wtfs = null; } } }]); return TdtDmLayer; }(BaseLayer); external_mars3d_["layer"].TdtDmLayer = TdtDmLayer_TdtDmLayer; //注册下 external_mars3d_["layer"].register("tdt_dm", TdtDmLayer_TdtDmLayer); // CONCATENATED MODULE: ./src/tdt/provider/TdtTerrainProvider.js function TdtTerrainProvider_createSuper(Derived) { var hasNativeReflectConstruct = TdtTerrainProvider_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; } function TdtTerrainProvider_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** * 天地图 地形服务 * 【需要引入 mars3d-tdt 插件库】 * * @param {Object} options 参数对象,包括以下: * @param {BaseGraphicLayer.ConstructorOptions} [options.通用参数] 包含父类支持的所有参数 * * @param {String} [options.url='https://t{s}.tianditu.gov.cn/DataServer'] 天地图服务地址 * @param {String} [options.subdomains='01234567'] 服务负载子域 * @param {String} [options.key=mars3d.Token.tianditu] 天地图服务token令牌 * * @export * @class TdtTerrainProvider * @extends {Cesium.GeoTerrainProvider} */ var TdtTerrainProvider_TdtTerrainProvider = /*#__PURE__*/function (_Cesium$GeoTerrainPro) { inherits_default()(TdtTerrainProvider, _Cesium$GeoTerrainPro); var _super = TdtTerrainProvider_createSuper(TdtTerrainProvider); function TdtTerrainProvider() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; classCallCheck_default()(this, TdtTerrainProvider); if (!options.urls) { var baseurl = options.url || "https://t{s}.tianditu.gov.cn/DataServer"; var token = options.key || external_mars3d_["Token"].tianditu; var subdomains; if (Array.isArray(options.subdomains)) { subdomains = options.subdomains.slice(); } else if (external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["defined"](options.subdomains) && options.subdomains.length > 0) { subdomains = options.subdomains.split(""); } else { subdomains = ["0", "1", "2", "3", "4", "5", "6", "7"]; } var urls = []; subdomains.forEach(function (element) { var url = external_mars3d_["Util"].template(baseurl, { s: element }) + "?T=elv_c&tk=" + token; urls.push(url); }); options.urls = urls; } return _super.call(this, options); } return TdtTerrainProvider; }(external_commonjs2_mars3d_cesium_amd_mars3d_cesium_commonjs_mars3d_cesium_root_Cesium_["GeoTerrainProvider"]); external_mars3d_["LayerUtil"].registerTerrainProvider("tdt", TdtTerrainProvider_TdtTerrainProvider); external_mars3d_["provider"].TdtTerrainProvider = TdtTerrainProvider_TdtTerrainProvider; // CONCATENATED MODULE: ./src/index.js /***/ }) /******/ ]); }); //# sourceMappingURL=mars3d-tdt-src.js.map