// node_modules/@arcgis/core/chunks/geometryEngineBase.js function t(t2, i2) { for (var s2 = 0; s2 < i2.length; s2++) { const n2 = i2[s2]; if (typeof n2 != "string" && !Array.isArray(n2)) { for (const i3 in n2) if (i3 !== "default" && !(i3 in t2)) { const s3 = Object.getOwnPropertyDescriptor(n2, i3); s3 && Object.defineProperty(t2, i3, s3.get ? s3 : { enumerable: true, get: () => n2[i3] }); } } } return Object.freeze(Object.defineProperty(t2, Symbol.toStringTag, { value: "Module" })); } var i = { exports: {} }; !function(t2, i2) { function s2() { function t3(t4) { if (typeof t4 == "number") return V.Uc.ah(t4); if (t4 == null) return null; if (st[t4] != null) return V.Uc.ah(st[t4]); throw Error("Unrecognised Unit Type"); } function i3(t4) { if (typeof t4 == "number") return V.Uc.ah(t4); if (t4 == null) return null; if (nt[t4] != null) return V.Uc.ah(nt[t4]); throw Error("Unrecognised Unit Type"); } function s3(t4) { if (t4) switch (t4) { case "loxodrome": return 1; case "great-elliptic": return 2; case "normal-section": return 3; case "shape-preserving": return 4; } return 0; } function n3(t4, i4, s4, n4) { if (s4 == null || s4.B()) return null; switch (s4.K()) { case V.sn.Point: return t4.exportPoint(i4, s4, n4); case V.sn.Polygon: return t4.exportPolygon(i4, s4, n4); case V.sn.Polyline: return t4.exportPolyline(i4, s4, n4); case V.sn.MultiPoint: return t4.exportMultipoint(i4, s4, n4); case V.sn.Envelope: return t4.exportExtent(i4, s4, n4); } return null; } function h(t4, i4, s4, n4) { if (s4.K() !== V.sn.Point) throw Error("Geometry not Point"); return t4.exportPoint(i4, s4, n4); } function r(t4, i4, s4) { return t4.convertToGEGeometry(i4, s4); } function e(t4) { var i4 = t4.wkid; t4 = t4.wkt; var s4 = ht.get(i4 || t4); return s4 == null && (i4 !== -1 && i4 != null ? (s4 = V.Gg.create(i4), ht.set(i4, s4)) : t4 && (s4 = V.Gg.kP(t4), ht.set(t4, s4))), s4; } function o(t4) { var i4; if (t4 == null) return null; var s4 = e(t4); return t4 = s4.Id(), s4 = s4.Ln(), (i4 = {}).tolerance = s4, i4.unitType = t4 == null ? -1 : t4.od, i4.unitID = t4 == null ? -1 : t4.Fc(), i4.unitBaseFactor = t4 == null ? 0 : t4.ci, i4.unitSquareDerivative = t4 == null ? 0 : V.Uc.VF(t4).Fc(), i4; } function a(t4, i4, s4, h2) { return s4 == null ? null : (s4 = V.bc.clip(r(t4, rt, s4), r(t4, rt, h2), e(i4)), n3(t4, rt, s4, i4)); } function u(t4, i4, s4, h2) { s4 = V.bc.fl(r(t4, rt, s4), r(t4, rt, h2), e(i4)), h2 = []; for (var o2 = 0; o2 < s4.length; o2++) h2.push(n3(t4, rt, s4[o2], i4)); return h2; } function f(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.contains(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function c(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.vP(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function l(i4, s4, n4, h2, o2) { if (n4 == null || h2 == null) throw Error("Illegal Argument Exception"); return V.bc.ub(r(i4, rt, n4), r(i4, rt, h2), e(s4), t3(o2)); } function p(t4, i4, s4, n4) { return !(s4 == null && n4 != null || n4 == null && s4 != null) && V.bc.Nb(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function v(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.LS(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function y(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.touches(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function b(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.iY(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function d(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.NP(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function g(t4, i4, s4, n4) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.vU(r(t4, rt, s4), r(t4, rt, n4), e(i4)); } function w(t4, i4, s4, n4, h2) { if (s4 == null || n4 == null) throw Error("Illegal Argument Exception"); return V.bc.sB(r(t4, rt, s4), r(t4, rt, n4), e(i4), h2); } function x(t4, i4, s4) { if (s4 == null) throw Error("Illegal Argument Exception"); return V.bc.WS(r(t4, rt, s4), e(i4)); } function m(t4, i4, s4) { if (s4 == null) throw Error("Illegal Argument Exception"); return s4 = V.bc.ZB(r(t4, rt, s4), e(i4)), n3(t4, rt, s4, i4); } function j(t4, i4, s4, h2) { if (h2 === void 0 && (h2 = false), s4 == null) throw Error("Illegal Argument Exception"); if (Array.isArray(s4)) { var o2 = h2, a2 = []; for (h2 = 0; h2 < s4.length; h2++) a2.push(r(t4, rt, s4[h2])); for (s4 = V.bc.dP(a2, o2), o2 = Array(s4.length), h2 = 0; h2 < s4.length; h2++) o2[h2] = n3(t4, rt, s4[h2], i4); return o2; } return h2 = V.bc.cP(r(t4, rt, s4), e(i4)), n3(t4, rt, h2, i4); } function k(t4, i4, s4, h2) { if (s4 == null || h2 == null) throw Error("Illegal Argument Exception"); if (Array.isArray(s4)) { for (var o2 = [], a2 = 0; a2 < s4.length; a2++) o2.push(r(t4, rt, s4[a2])); for (s4 = V.bc.KP(o2, r(t4, rt, h2), e(i4)), h2 = Array(s4.length), a2 = 0; a2 < s4.length; a2++) h2[a2] = n3(t4, rt, s4[a2], i4); return h2; } return a2 = V.bc.km(r(t4, rt, s4), r(t4, rt, h2), e(i4)), n3(t4, rt, a2, i4); } function M(t4, i4, s4, h2) { if (s4 == null || h2 == null) throw Error("Illegal Argument Exception"); if (Array.isArray(s4)) { for (var o2 = [], a2 = 0; a2 < s4.length; a2++) o2.push(r(t4, rt, s4[a2])); for (s4 = V.bc.NX(o2, r(t4, rt, h2), e(i4)), h2 = Array(s4.length), a2 = 0; a2 < s4.length; a2++) h2[a2] = n3(t4, rt, s4[a2], i4); return h2; } return a2 = V.bc.fp(r(t4, rt, s4), r(t4, rt, h2), e(i4)), n3(t4, rt, a2, i4); } function z(t4, i4, s4, h2) { if (s4 == null || h2 == null) throw Error("Illegal Argument Exception"); if (Array.isArray(s4)) { for (var o2 = [], a2 = 0; a2 < s4.length; a2++) o2.push(r(t4, rt, s4[a2])); for (s4 = V.bc.JS(o2, r(t4, rt, h2), e(i4)), h2 = Array(s4.length), a2 = 0; a2 < s4.length; a2++) h2[a2] = n3(t4, rt, s4[a2], i4); return h2; } return a2 = V.bc.Fa(r(t4, rt, s4), r(t4, rt, h2), e(i4)), n3(t4, rt, a2, i4); } function A(t4, i4, s4, h2) { if (s4 == null) return null; var o2 = []; if (Array.isArray(s4)) { if (s4.length === 0) return null; for (h2 = 0; h2 < s4.length; h2++) o2.push(r(t4, rt, s4[h2])); } else o2.push(r(t4, rt, s4)), h2 != null && o2.push(r(t4, rt, h2)); return n3(t4, rt, V.bc.bY(o2, e(i4)), i4); } function N(i4, s4, h2, o2, a2, u2, f2, c2) { var l2 = 0; if (u2 != null) switch (u2) { case "round": l2 = 0; break; case "bevel": l2 = 1; break; case "miter": l2 = 2; break; case "square": l2 = 3; } if (Array.isArray(h2)) { if (h2 == null) i4 = null; else if (h2.length === 0) i4 = []; else { var p2 = []; for (u2 = 0; u2 < h2.length; u2++) p2.push(r(i4, rt, h2[u2])); for (h2 = V.bc.tU(p2, e(s4), o2, l2, f2, c2, t3(a2)), o2 = Array(h2.length), u2 = 0; u2 < h2.length; u2++) o2[u2] = n3(i4, rt, h2[u2], s4); i4 = o2; } return i4; } return h2 = V.bc.offset(r(i4, rt, h2), e(s4), o2, l2, f2, c2, t3(a2)), n3(i4, rt, h2, s4); } function I(i4, s4, h2, o2, a2, u2) { if (u2 === void 0 && (u2 = false), Array.isArray(h2)) { if (!Array.isArray(o2)) { for (var f2 = [], c2 = 0; c2 < h2.length; c2++) f2.push(o2); o2 = f2; } if (o2.length != h2.length) { if (o2.length == 0) throw Error("Illegal Argument Exception"); f2 = []; var l2 = 0; for (c2 = 0; c2 < h2.length; c2++) o2[c2] === void 0 ? f2.push(l2) : (f2.push(o2[c2]), l2 = o2[c2]); o2 = f2; } return C(i4, s4, h2, o2, a2, false, u2, "geodesic", NaN); } return h2 = V.bc.buffer(r(i4, rt, h2), e(s4), o2, t3(a2), false, 0, NaN), n3(i4, rt, h2, s4); } function P(i4, h2, o2, a2, u2, f2, c2, l2) { if (Array.isArray(o2)) { if (!Array.isArray(a2)) { for (var p2 = [], v2 = 0; v2 < o2.length; v2++) p2.push(a2); a2 = p2; } if (a2.length !== o2.length) { if (a2.length === 0) throw Error("Illegal Argument Exception"); p2 = []; var y2 = 0; for (v2 = 0; v2 < o2.length; v2++) a2[v2] === void 0 ? p2.push(y2) : (p2.push(a2[v2]), y2 = a2[v2]); a2 = p2; } return C(i4, h2, o2, a2, u2, true, f2, c2, l2); } return c2 === void 0 && (c2 = NaN), o2 = V.bc.buffer(r(i4, rt, o2), e(h2), a2, t3(u2), true, s3(f2), c2), n3(i4, rt, o2, h2); } function C(i4, h2, o2, a2, u2, f2, c2, l2, p2) { if (p2 === void 0 && (p2 = NaN), o2 == null) return null; if (o2.length === 0) return []; for (var v2 = [], y2 = 0; y2 < o2.length; y2++) v2.push(r(i4, rt, o2[y2])); for (o2 = V.bc.GN(v2, e(h2), a2, t3(u2), f2, c2, s3(l2), p2), a2 = Array(o2.length), y2 = 0; y2 < o2.length; y2++) a2[y2] = n3(i4, rt, o2[y2], h2); return a2; } function B(t4, i4, s4, n4, e2) { var o2; return e2 === void 0 && (e2 = true), s4 = V.bc.iz(r(t4, rt, s4), r(t4, rt, n4), e2), (o2 = {}).coordinate = h(t4, rt, s4.az(), i4), o2.distance = s4.cz(), o2.isRightSide = s4.Nz(), o2.vertexIndex = s4.Va(), o2.isEmpty = s4.B(), o2; } function D(t4, i4, s4, n4) { var e2; return s4 = V.bc.jz(r(t4, rt, s4), r(t4, rt, n4)), (e2 = {}).coordinate = h(t4, rt, s4.az(), i4), e2.distance = s4.cz(), e2.isRightSide = s4.Nz(), e2.vertexIndex = s4.Va(), e2.isEmpty = s4.B(), e2; } function q(t4, i4, s4, n4, e2, o2) { var a2; for (s4 = V.bc.kz(r(t4, rt, s4), r(t4, rt, n4), e2, o2), n4 = [], e2 = 0; e2 < s4.length; e2++) s4[e2].B() === false && n4.push(((a2 = {}).coordinate = h(t4, rt, s4[e2].az(), i4), a2.distance = s4[e2].cz(), a2.isRightSide = s4[e2].Nz(), a2.vertexIndex = s4[e2].Va(), a2.isEmpty = s4[e2].B(), a2)); return n4; } function G(i4, s4, h2, o2, a2, u2) { return h2 = V.bc.KQ(r(i4, rt, h2), e(s4), o2, a2, t3(u2)), n3(i4, rt, h2, s4); } function F(i4, s4, h2, o2, a2) { return h2 = V.bc.Sr(r(i4, rt, h2), e(s4), o2, t3(a2)), n3(i4, rt, h2, s4); } function E(i4, s4, h2, o2, a2, u2) { return u2 === void 0 && (u2 = 0), h2 = V.bc.Ry(r(i4, rt, h2), e(s4), o2, t3(a2), u2), n3(i4, rt, h2, s4); } function T(t4, s4, n4, h2) { if (n4 == null) throw Error("Illegal Argument Exception"); return V.bc.BU(r(t4, rt, n4), e(s4), i3(h2)); } function S(i4, s4, n4, h2) { if (n4 == null) throw Error("Illegal Argument Exception"); return V.bc.CU(r(i4, rt, n4), e(s4), t3(h2)); } function O(t4, n4, h2, o2, a2) { if (h2 == null) throw Error("Illegal Argument Exception"); return V.bc.QQ(r(t4, rt, h2), e(n4), i3(o2), s3(a2)); } function H(i4, n4, h2, o2, a2) { if (h2 == null) throw Error("Illegal Argument Exception"); return V.bc.TQ(r(i4, rt, h2), e(n4), t3(o2), s3(a2)); } function J(t4) { V.HL.bind(t4); } function R(t4, i4, s4, n4, h2) { var o2 = null, a2 = null; if (n4) { if (!h2) throw V.i.O("AOI missing Spatial Reference"); o2 = r(t4, rt, n4), a2 = e(h2).hh(); } return (t4 = V.iu.QR(e(i4).hh(), e(s4).hh(), o2, a2)) !== null ? t4 : null; } function L(t4, i4, s4, n4, h2) { var o2 = null, a2 = null; if (n4) { if (!h2) throw V.i.O("AOI missing Spatial Reference"); o2 = r(t4, rt, n4), a2 = e(h2).hh(); } return V.iu.RR(e(i4).hh(), e(s4).hh(), o2, a2); } function K(t4, i4, s4, n4, h2, r2) { if (h2 === void 0 && (h2 = null), r2 === void 0 && (r2 = null), r2) { var o2 = new V.sC(); o2.Xu = r2.densificationStep, o2.Lr = r2.centralMeridianOfOutputGCS, r2.clipWithInputHorizon && o2.HW(r2.clipWithInputHorizon), r2.clipWithOutputHorizon && o2.IW(r2.clipWithOutputHorizon); } if (this.CY === false) throw Error("Projection Engine must be enabled using enableProjection"); if (i4.length === 0) return []; if (h2) { if (!(r2 = h2.getCachedGeTransformation(s4, n4))) t: { if (r2 = h2, h2 = null, r2) { var a2 = r2.getGTListEntry(); if (a2 !== null) { h2 = new V.qC(null); for (var u2 = 0, f2 = a2.steps; u2 < f2.length; u2++) { a2 = f2[u2]; var c2 = new V.Cx(a2.geogtran); a2.isInverse && c2.Lz(), h2.add(c2); } o2 = V.xr.Pr(e(s4).hh(), e(n4).hh(), h2, o2), r2.assignCachedGe(s4, n4, o2), r2 = o2; break t; } } if (h2 === null && r2 && r2.steps && 0 < r2.steps.length) { for (h2 = new V.qC(null), u2 = 0, f2 = r2.steps; u2 < f2.length; u2++) (a2 = f2[u2]).wkid != -1 && a2.wkid != null ? h2.add(V.Cx.create(a2.wkid, a2.isInverse)) : h2.add(V.Cx.oP(a2.wkt, a2.isInverse)); o2 = V.xr.Pr(e(s4).hh(), e(n4).hh(), h2, o2), r2.assignCachedGe(s4, n4, o2), r2 = o2; } else r2 = V.xr.Pr(e(s4).hh(), e(n4).hh(), h2, o2); } for (s4 = [], h2 = 0; h2 < i4.length; h2++) o2 = i4[h2], s4.push(U(t4, o2, n4, r2)); } else for (r2 = V.xr.Pr(e(s4).hh(), e(n4).hh(), null), s4 = [], h2 = 0; h2 < i4.length; h2++) o2 = i4[h2], s4.push(U(t4, o2, n4, r2)); return s4; } function U(t4, i4, s4, h2) { return i4 = V.bc.Bh(r(t4, rt, i4), h2), n3(t4, rt, i4, s4); } var W, V, X, Y, Q = this && this.__extends || function() { function t4(i4, s4) { return (t4 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(t5, i5) { t5.__proto__ = i5; } || function(t5, i5) { for (var s5 in i5) i5.hasOwnProperty(s5) && (t5[s5] = i5[s5]); })(i4, s4); } return function(i4, s4) { function n4() { this.constructor = i4; } t4(i4, s4), i4.prototype = s4 === null ? Object.create(s4) : (n4.prototype = s4.prototype, new n4()); }; }(); !function(t4) { var i4; (i4 = t4.sn || (t4.sn = {}))[i4.Unknown = 0] = "Unknown", i4[i4.Point = 33] = "Point", i4[i4.Line = 322] = "Line", i4[i4.Envelope = 197] = "Envelope", i4[i4.MultiPoint = 550] = "MultiPoint", i4[i4.Polyline = 1607] = "Polyline", i4[i4.Polygon = 1736] = "Polygon", function(t5) { t5[t5.enumMild = 0] = "enumMild", t5[t5.enumMedium = 1] = "enumMedium", t5[t5.enumHot = 2] = "enumHot"; }(t4.SK || (t4.SK = {})); var s4 = function() { function i5() { this.description = null, this.PA = 0; } return i5.prototype.K = function() { return 0; }, i5.prototype.Eb = function() { return -1; }, i5.prototype.kg = function(t5) { this.wc(), t5 != this.description && this.un(t5); }, i5.prototype.un = function() { }, i5.prototype.Ll = function(i6) { this.wc(), i6 != this.description && ((i6 = t4.ee.wR(this.description, i6)) != this.description && this.un(i6)); }, i5.prototype.hasAttribute = function(t5) { return this.description.hasAttribute(t5); }, i5.prototype.se = function(i6) { this.wc(), this.description.hasAttribute(i6) || (i6 = t4.ee.vR(this.description, i6), this.un(i6)); }, i5.prototype.Vg = function() { return null; }, i5.prototype.dn = function() { }, i5.prototype.A = function() { }, i5.prototype.Ro = function() { }, i5.prototype.yc = function(t5) { this.A(t5); }, i5.prototype.B = function() { return true; }, i5.prototype.Pa = function() { }, i5.prototype.Pc = function() { }, i5.prototype.Ja = function() { return null; }, i5.prototype.copyTo = function() { }, i5.prototype.He = function() { return 0; }, i5.prototype.Rb = function() { return 0; }, i5.prototype.cG = function() { return this.hasAttribute(1); }, i5.uf = function(t5) { return 1 + ((192 & t5) >> 6) >> 1; }, i5.Sn = function(t5) { return (32 & t5) != 0; }, i5.MS = function(t5) { return (128 & t5) != 0; }, i5.zd = function(t5) { return (256 & t5) != 0; }, i5.zj = function(t5) { return (512 & t5) != 0; }, i5.Ic = function(t5) { return (1024 & t5) != 0; }, i5.prototype.Pf = function() { var t5 = this.Ja(); return this.copyTo(t5), t5; }, i5.prototype.mg = function() { return null; }, i5.ig = function(t5) { var i6 = t5.Ja(); return t5.copyTo(i6), i6; }, i5.prototype.wc = function() { 0 <= this.PA && (this.PA += 2147483649); }, i5.zx = function(s5) { var n4 = s5.K(); if (i5.zj(n4)) return s5.I(); if (s5.B()) return 0; if (n4 == 197) return 4; if (n4 == 33) return 1; if (i5.zd(n4)) return 2; throw t4.i.ga("missing type"); }, i5; }(); t4.ba = s4; }(V || (V = {})), X = V || (V = {}), Y = function() { function t4() { this.y = this.x = 0; } return t4.construct = function(i4, s4) { var n4 = new t4(); return n4.x = i4, n4.y = s4, n4; }, t4.cl = function(i4) { var s4 = new t4(); return s4.x = i4.x, s4.y = i4.y, s4; }, t4.prototype.na = function(t5, i4) { this.x = t5, this.y = i4; }, t4.prototype.N = function(t5) { this.x = t5.x, this.y = t5.y; }, t4.prototype.hq = function(t5, i4) { return this.x === t5 && this.y === i4; }, t4.prototype.Mz = function(t5) { return 2220446049250313e-31 >= Math.abs(this.x - t5.x) && 2220446049250313e-31 >= Math.abs(this.y - t5.y); }, t4.prototype.rb = function(t5) { return this.x === t5.x && this.y === t5.y; }, t4.prototype.Nb = function(i4) { return i4 == this || i4 instanceof t4 && this.x == i4.x && this.y == i4.y; }, t4.prototype.sub = function(t5) { this.x -= t5.x, this.y -= t5.y; }, t4.prototype.vc = function(t5, i4) { this.x = t5.x - i4.x, this.y = t5.y - i4.y; }, t4.prototype.add = function(t5, i4) { i4 !== void 0 ? (this.x = t5.x + i4.x, this.y = t5.y + i4.y) : (this.x += t5.x, this.y += t5.y); }, t4.prototype.Uq = function() { this.x = -this.x, this.y = -this.y; }, t4.prototype.nt = function(t5) { this.x = -t5.x, this.y = -t5.y; }, t4.prototype.GS = function(t5, i4, s4) { this.x = t5.x * (1 - s4) + i4.x * s4, this.y = t5.y * (1 - s4) + i4.y * s4; }, t4.prototype.Dt = function(t5, i4) { this.x = this.x * t5 + i4.x, this.y = this.y * t5 + i4.y; }, t4.prototype.yW = function(t5, i4, s4) { this.x = i4.x * t5 + s4.x, this.y = i4.y * t5 + s4.y; }, t4.prototype.scale = function(t5) { this.x *= t5, this.y *= t5; }, t4.prototype.compare = function(t5) { return this.y < t5.y ? -1 : this.y > t5.y ? 1 : this.x < t5.x ? -1 : this.x > t5.x ? 1 : 0; }, t4.prototype.normalize = function() { var t5 = this.length(); t5 == 0 && (this.x = 1, this.y = 0), this.x /= t5, this.y /= t5; }, t4.prototype.length = function() { return Math.sqrt(this.x * this.x + this.y * this.y); }, t4.prototype.Tk = function() { return this.x * this.x + this.y * this.y; }, t4.ub = function(t5, i4) { return Math.sqrt(this.zc(t5, i4)); }, t4.Jy = function(t5, i4, s4, n4) { return t5 -= s4, i4 -= n4, Math.sqrt(t5 * t5 + i4 * i4); }, t4.prototype.Sh = function(t5) { return this.x * t5.x + this.y * t5.y; }, t4.prototype.$C = function(t5) { return Math.abs(this.x * t5.x) + Math.abs(this.y * t5.y); }, t4.prototype.yi = function(t5) { return this.x * t5.y - this.y * t5.x; }, t4.prototype.Ct = function(t5, i4) { var s4 = -this.x * i4 + this.y * t5; this.x = this.x * t5 + this.y * i4, this.y = s4; }, t4.prototype.Jv = function() { var t5 = this.x; this.x = -this.y, this.y = t5; }, t4.prototype.GG = function(t5) { this.x = -t5.y, this.y = t5.x; }, t4.prototype.cr = function() { var t5 = this.x; this.x = this.y, this.y = -t5; }, t4.prototype.su = function() { return 0 < this.x ? 0 <= this.y ? 1 : 4 : 0 < this.y ? 2 : this.x == 0 ? 4 : 3; }, t4.pu = function(t5, i4) { var s4 = t5.su(), n4 = i4.su(); return n4 == s4 ? 0 > (t5 = t5.yi(i4)) ? 1 : 0 < t5 ? -1 : 0 : s4 < n4 ? -1 : 1; }, t4.zc = function(t5, i4) { var s4 = t5.x - i4.x; return s4 * s4 + (t5 = t5.y - i4.y) * t5; }, t4.prototype.toString = function() { return "(" + this.x + " , " + this.y + ")"; }, t4.prototype.Sc = function() { this.y = this.x = NaN; }, t4.prototype.isNaN = function() { return isNaN(this.x) || isNaN(this.y); }, t4.prototype.offset = function(i4, s4) { var n4 = t4.ub(i4, s4), h2 = t4.construct(this.x, this.y); if (n4 == 0) return t4.ub(h2, i4); var r2 = new t4(); return r2.N(s4), r2.sub(i4), h2.sub(i4), h2.yi(r2) / n4; }, t4.Wq = function(t5, i4, s4) { var n4 = new X.Xb(); n4.set(i4.x), n4.sub(t5.x); var h2 = new X.Xb(); h2.set(s4.y), h2.sub(t5.y); var r2 = new X.Xb(); r2.set(i4.y), r2.sub(t5.y); var e2 = new X.Xb(); return e2.set(s4.x), e2.sub(t5.x), n4.Ag(h2), r2.Ag(e2), n4.sub(r2), n4.rs() ? (n4 = new X.ip(i4.x), h2 = new X.ip(t5.x), r2 = new X.ip(t5.y), n4 = n4.kt(h2), t5 = (t5 = new X.ip(s4.y)).kt(r2), i4 = (i4 = new X.ip(i4.y)).kt(r2), s4 = (s4 = new X.ip(s4.x)).kt(h2), n4 = n4.nr(t5), i4 = i4.nr(s4), (n4 = n4.nr(i4)).fT() ? -1 : n4.ZR() ? 1 : 0) : 0 > (s4 = n4.value()) ? -1 : 0 < s4 ? 1 : 0; }, t4.prototype.dc = function() { return X.P.wj(X.P.wj()); }, t4; }(), X.h = Y, function(t4) { var i4 = function() { function t5(t6) { this.Ay = this.Ot = 0, this.GX = t6; } return t5.prototype.reset = function() { this.Ay = this.Ot = 0; }, t5.prototype.add = function(t6) { t6 -= this.Ay; var i5 = this.Ot + t6; this.Ay = i5 - this.Ot - t6, this.Ot = i5; }, t5.prototype.sub = function(t6) { this.add(-t6); }, t5.prototype.tm = function() { return this.GX + this.Ot; }, t5; }(); t4.Ex = i4, t4.mc = function() { function t5() { } return t5.Dn = function(t6, i5) { return 0 <= i5 ? Math.abs(t6) : -Math.abs(t6); }, t5.sign = function(t6) { return 0 > t6 ? -1 : 0 < t6 ? 1 : 0; }, t5.LK = function(t6) { return t6 - 360 * Math.floor(t6 / 360); }, t5.round = function(t6) { return Math.floor(t6 + 0.5); }, t5.ox = function(t6) { return t6 * t6; }, t5.jq = function(t6, i5, s4) { return 0.5 >= s4 ? t6 + (i5 - t6) * s4 : i5 - (i5 - t6) * (1 - s4); }, t5.IG = function(t6, i5, s4, n4) { 0.5 >= s4 ? (n4.x = t6.x + (i5.x - t6.x) * s4, n4.y = t6.y + (i5.y - t6.y) * s4) : (n4.x = i5.x - (i5.x - t6.x) * (1 - s4), n4.y = i5.y - (i5.y - t6.y) * (1 - s4)); }, t5.dT = function(t6, i5, s4, n4, h2, r2) { 0.5 >= h2 ? (r2.x = t6 + (s4 - t6) * h2, r2.y = i5 + (n4 - i5) * h2) : (r2.x = s4 - (s4 - t6) * (1 - h2), r2.y = n4 - (n4 - i5) * (1 - h2)); }, t5; }(); }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { var t5 = i5.call(this) || this; return t5.sa = 0, t5.oa = 0, t5.qa = 0, t5.ma = 0, t5.la = null, t5; } return Q(s4, i5), s4.prototype.ac = function() { return t4.h.construct(this.sa, this.oa); }, s4.prototype.$p = function(t5) { t5.x = this.sa, t5.y = this.oa; }, s4.prototype.Ec = function(t5) { this.gm(0, t5); }, s4.prototype.TB = function(i6, s5) { this.gm(0, t4.h.construct(i6, s5)); }, s4.prototype.Uo = function(t5) { this.bD(0, t5); }, s4.prototype.setStart = function(t5) { this.oD(0, t5); }, s4.prototype.yv = function(t5, i6) { return this.Pd(0, t5, i6); }, s4.prototype.SB = function(t5, i6, s5) { this.vn(0, t5, i6, s5); }, s4.prototype.xc = function() { return t4.h.construct(this.qa, this.ma); }, s4.prototype.Vr = function(t5) { t5.x = this.qa, t5.y = this.ma; }, s4.prototype.Rc = function(t5) { this.gm(1, t5); }, s4.prototype.Sl = function(i6, s5) { this.gm(1, t4.h.construct(i6, s5)); }, s4.prototype.Qo = function(t5) { this.bD(1, t5); }, s4.prototype.setEnd = function(t5) { this.oD(1, t5); }, s4.prototype.jv = function(t5, i6) { return this.Pd(1, t5, i6); }, s4.prototype.IB = function(t5, i6, s5) { this.vn(1, t5, i6, s5); }, s4.prototype.Eb = function() { return 1; }, s4.prototype.B = function() { return this.Bc(); }, s4.prototype.Pa = function() { }, s4.prototype.He = function() { return 0; }, s4.prototype.Fa = function(t5, i6, s5, n4, h2) { return this.EM(t5, i6, s5, n4, h2); }, s4.prototype.isIntersecting = function(t5, i6) { return this.Br(t5, i6, false) != 0; }, s4.prototype.ss = function(t5, i6) { return this.tu(t5, i6, false); }, s4.prototype.tu = function() { return null; }, s4.prototype.Bc = function() { return false; }, s4.prototype.$x = function(i6) { if (this.wc(), this.la == null && 0 < i6) this.la = t4.P.lg(2 * i6); else if (this.la != null && this.la.length < 2 * i6) { for (var s5 = this.la.slice(0), n4 = this.la.length; n4 < 2 * i6; n4++) s5[n4] = 0; this.la = s5; } }, s4.aM = function(t5, i6, s5) { if (0 < s5) var n4 = 0; for (var h2 = 0; h2 < s5; h2++) i6[0 + n4] = t5[0], n4++; }, s4.prototype.gm = function(t5, i6) { t5 != 0 ? (this.qa = i6.x, this.ma = i6.y) : (this.sa = i6.x, this.oa = i6.y); }, s4.prototype.un = function(i6) { if (this.la != null) { for (var n4 = t4.ee.Kw(i6, this.description), h2 = [], r2 = s4.Ig(this.description, 0), e2 = s4.Ig(this.description, 1), o2 = s4.Ig(i6, 0), a2 = s4.Ig(i6, 1), u2 = 0, f2 = 1, c2 = i6.Ba; f2 < c2; f2++) { var l2 = i6.qd(f2), p2 = t4.ua.Wa(l2); if (n4[f2] == -1) { var v2 = t4.ua.te(l2); for (l2 = 0; l2 < p2; l2++) h2[o2 + u2] = v2, h2[a2 + u2] = v2, u2++; } else for (v2 = this.description.ak(n4[f2]) - 2, l2 = 0; l2 < p2; l2++) h2[o2 + u2] = this.la[r2 + v2], h2[a2 + u2] = this.la[e2 + v2], u2++, v2++; } this.la = h2; } this.description = i6; }, s4.prototype.bD = function(i6, s5) { if (this.Bc()) throw t4.i.ga("empty geometry"); s5.kg(this.description), s5.Bc() && s5.up(); for (var n4 = 0; n4 < this.description.Ba; n4++) for (var h2 = this.description.Fd(n4), r2 = 0, e2 = t4.ua.Wa(h2); r2 < e2; r2++) { var o2 = this.Pd(i6, h2, r2); s5.setAttribute(h2, r2, o2); } }, s4.prototype.oD = function(i6, s5) { if (this.wc(), s5.Bc()) throw t4.i.ga("empty geometry"); for (var n4 = s5.description, h2 = 0, r2 = n4.Ba; h2 < r2; h2++) for (var e2 = n4.Fd(h2), o2 = t4.ua.Wa(e2), a2 = 0; a2 < o2; a2++) { var u2 = s5.Vc(e2, a2); this.vn(i6, e2, a2, u2); } }, s4.prototype.Pd = function(i6, n4, h2) { if (this.Bc()) throw t4.i.ga("This operation was performed on an Empty Geometry."); if (n4 == 0) return i6 != 0 ? h2 != 0 ? this.ma : this.qa : h2 != 0 ? this.oa : this.sa; if (h2 >= t4.ua.Wa(n4)) throw t4.i.re(); var r2 = this.description.Qf(n4); return 0 <= r2 ? (this.la != null && this.$x(this.description.Be.length - 2), this.la[s4.Ig(this.description, i6) + this.description.ak(r2) - 2 + h2]) : t4.ua.te(n4); }, s4.prototype.vn = function(i6, n4, h2, r2) { if (this.wc(), h2 >= t4.ua.Wa(n4)) throw t4.i.re(); var e2 = this.description.Qf(n4); 0 > e2 && (this.se(n4), e2 = this.description.Qf(n4)), n4 == 0 ? i6 != 0 ? h2 != 0 ? this.ma = r2 : this.qa = r2 : h2 != 0 ? this.oa = r2 : this.sa = r2 : (this.la == null && this.$x(this.description.Be.length - 2), this.la[s4.Ig(this.description, i6) + this.description.ak(e2) - 2 + h2] = r2); }, s4.prototype.copyTo = function(i6) { if (i6.K() != this.K()) throw t4.i.O(); i6.description = this.description, i6.$x(this.description.Be.length - 2), s4.aM(this.la, i6.la, 2 * (this.description.Be.length - 2)), i6.sa = this.sa, i6.oa = this.oa, i6.qa = this.qa, i6.ma = this.ma, i6.wc(), this.pp(i6); }, s4.prototype.Vg = function(i6, s5) { var n4 = new t4.Oc(); return this.Bc() ? (n4.Pa(), n4) : (n4.pa = this.Pd(0, i6, s5), n4.wa = n4.pa, n4.Mk(this.Pd(1, i6, s5)), n4); }, s4.prototype.TI = function(t5) { this.Bc() ? t5.Pa() : (t5.pa = this.Pd(0, 0, 0), t5.wa = t5.pa, t5.Mk(this.Pd(1, 0, 0))); }, s4.prototype.Vw = function(i6, s5) { s5.kg(this.description), s5.Db(this.ic(i6)); for (var n4 = 1, h2 = this.description.Ba; n4 < h2; n4++) for (var r2 = this.description.Fd(n4), e2 = t4.ua.Wa(r2), o2 = 0; o2 < e2; o2++) { var a2 = this.Vc(i6, r2, o2); s5.setAttribute(r2, o2, a2); } }, s4.prototype.zM = function(t5) { if (this.description != t5.description || this.sa != t5.sa || this.qa != t5.qa || this.oa != t5.oa || this.ma != t5.ma) return false; for (var i6 = 0; i6 < 2 * (this.description.Be.length - 2); i6++) if (this.la[i6] != t5.la[i6]) return false; return true; }, s4.prototype.vG = function() { return this.sa == this.qa && this.oa == this.ma; }, s4.prototype.reverse = function() { var i6 = this.sa; this.sa = this.qa, this.qa = i6, i6 = this.oa, this.oa = this.ma, this.ma = i6, i6 = 1; for (var s5 = this.description.Ba; i6 < s5; i6++) for (var n4 = this.description.qd(i6), h2 = 0, r2 = t4.ua.Wa(n4); h2 < r2; h2++) { var e2 = this.Pd(0, n4, h2), o2 = this.Pd(1, n4, h2); this.vn(0, n4, h2, o2), this.vn(1, n4, h2, e2); } }, s4.prototype.Br = function(i6, s5, n4) { var h2 = i6.K(); if (this.K() === 322) { if (h2 == 322) return t4.zb.IM(this, i6, s5, n4); throw t4.i.Ra(); } throw t4.i.Ra(); }, s4.prototype.EM = function(i6, s5, n4, h2, r2) { var e2 = i6.K(); if (this.K() === 322) { if (e2 == 322) return t4.zb.Yx(this, i6, s5, n4, h2, r2); throw t4.i.Ra(); } throw t4.i.Ra(); }, s4.prototype.Sx = function() { return null; }, s4.Ig = function(t5, i6) { return i6 * (t5.Be.length - 2); }, s4.prototype.ic = function(i6, s5) { if (s5 === void 0) return s5 = new t4.h(), this.ic(i6, s5), s5; t4.mc.dT(this.sa, this.oa, this.qa, this.ma, i6, s5); }, s4.prototype.fe = function() { return null; }, s4.prototype.ZF = function() { return null; }, s4.prototype.fq = function() { return null; }, s4.prototype.Di = function() { return null; }, s4.prototype.Qn = function() { return null; }, s4.prototype.jg = function() { return null; }, s4.prototype.Tx = function(t5, i6) { return i6 !== void 0 ? this.ux(i6) - this.ux(t5) : this.ux(t5); }, s4.prototype.pp = function() { }, s4.prototype.fl = function() { return null; }, s4.prototype.dh = function() { }, s4.prototype.Vc = function() { return null; }, s4.prototype.Me = function() { return null; }, s4.prototype.ux = function() { return null; }, s4.prototype.HG = function() { return null; }, s4.prototype.ub = function(t5, i6) { if (!i6 && this.Br(t5, 0, false) != 0) return 0; i6 = 17976931348623157e292; var s5 = this.ac(), n4 = t5.fe(s5, false); return s5.sub(t5.ic(n4)), (s5 = s5.length()) < i6 && (i6 = s5), s5 = this.xc(), n4 = t5.fe(s5, false), s5.sub(t5.ic(n4)), (s5 = s5.length()) < i6 && (i6 = s5), s5 = t5.ac(), n4 = this.fe(s5, false), s5.sub(this.ic(n4)), (s5 = s5.length()) < i6 && (i6 = s5), s5 = t5.xc(), n4 = this.fe(s5, false), s5.sub(this.ic(n4)), (s5 = s5.length()) < i6 && (i6 = s5), i6; }, s4.prototype.mg = function() { return t4.si.im(this, null); }, s4; }(t4.ba); t4.MC = i4; }(V || (V = {})), new V.h(), function(t4) { var i4; (i4 = t4.UK || (t4.UK = {}))[i4.Unknown = -1] = "Unknown", i4[i4.Not = 0] = "Not", i4[i4.Weak = 1] = "Weak", i4[i4.Strong = 2] = "Strong", function(t5) { t5[t5.DirtyIsKnownSimple = 1] = "DirtyIsKnownSimple", t5[t5.IsWeakSimple = 2] = "IsWeakSimple", t5[t5.IsStrongSimple = 4] = "IsStrongSimple", t5[t5.DirtyOGCFlags = 8] = "DirtyOGCFlags", t5[t5.DirtyVerifiedStreams = 32] = "DirtyVerifiedStreams", t5[t5.DirtyExactIntervals = 64] = "DirtyExactIntervals", t5[t5.DirtyLooseIntervals = 128] = "DirtyLooseIntervals", t5[t5.DirtyIntervals = 192] = "DirtyIntervals", t5[t5.DirtyIsEnvelope = 256] = "DirtyIsEnvelope", t5[t5.DirtyLength2D = 512] = "DirtyLength2D", t5[t5.DirtyRingAreas2D = 1024] = "DirtyRingAreas2D", t5[t5.DirtyCoordinates = 1993] = "DirtyCoordinates", t5[t5.DirtyAllInternal = 65535] = "DirtyAllInternal", t5[t5.DirtyAll = 16777215] = "DirtyAll"; }(t4.GK || (t4.GK = {})); var s4 = function(i5) { function s5() { var t5 = i5.call(this) || this; return t5.Jm = 65535, t5.xa = 0, t5.Rg = -1, t5.Cb = null, t5; } return Q(s5, i5), s5.prototype.pp = function() { }, s5.prototype.Zx = function() { }, s5.prototype.ey = function() { }, s5.prototype.I = function() { return this.xa; }, s5.prototype.B = function() { return this.Bc(); }, s5.prototype.Bc = function() { return this.xa == 0; }, s5.prototype.bk = function(t5) { return (this.Jm & t5) != 0; }, s5.prototype.Nf = function(t5, i6) { this.Jm = i6 ? this.Jm | t5 : this.Jm & ~t5; }, s5.prototype.rc = function() { this.bk(32) && this.WM(); }, s5.prototype.vx = function() { if (this.Bc()) throw t4.i.ga("This operation was performed on an Empty Geometry."); }, s5.prototype.we = function(i6, s6) { if (0 > i6 || i6 >= this.xa) throw t4.i.ga("index out of bounds"); this.rc(), s6.kg(this.description), s6.B() && s6.up(); for (var n4 = 0; n4 < this.description.Ba; n4++) for (var h2 = this.description.Fd(n4), r2 = 0, e2 = t4.ua.Wa(h2); r2 < e2; r2++) { var o2 = this.Aa[n4].Bg(e2 * i6 + r2); s6.setAttribute(h2, r2, o2); } }, s5.prototype.It = function(i6, s6) { this.rc(); for (var n4 = s6.description, h2 = 0; h2 < n4.Ba; h2++) for (var r2 = n4.Fd(h2), e2 = t4.ua.Wa(r2), o2 = 0; o2 < e2; o2++) { var a2 = s6.Vc(r2, o2); this.setAttribute(r2, i6, o2, a2); } }, s5.prototype.D = function(i6, s6) { if (0 > i6 || i6 >= this.I()) throw t4.i.re(); this.rc(), this.Aa[0].uc(2 * i6, s6); }, s5.prototype.Oa = function(i6) { var s6 = new t4.h(); return this.D(i6, s6), s6; }, s5.prototype.Hc = function(t5, i6) { this.Aa[0].uc(2 * t5, i6); }, s5.prototype.Db = function(i6, s6, n4) { if (0 > i6 || i6 >= this.xa) throw t4.i.re(); this.rc(); var h2 = this.Aa[0]; n4 !== void 0 ? (h2.write(2 * i6, s6), h2.write(2 * i6 + 1, n4)) : h2.Vt(2 * i6, s6), this.Qc(1993); }, s5.prototype.xz = function() { if (void 0 >= this.I()) throw t4.i.re(); this.rc(); var i6 = this.Aa[0], s6 = new t4.Od(); return s6.x = i6.read(NaN), s6.y = i6.read(NaN), s6.z = this.hasAttribute(1) ? this.Aa[1].Bg(void 0) : t4.ua.te(1), s6; }, s5.prototype.YB = function(i6) { if (0 > i6 || i6 >= this.I()) throw t4.i.re(); this.se(1), this.rc(), this.Qc(1993); var s6 = this.Aa[0]; s6.write(2 * i6, (void 0).x), s6.write(2 * i6 + 1, (void 0).y), this.Aa[1].rr(i6, (void 0).z); }, s5.prototype.Vc = function(i6, s6, n4) { if (0 > s6 || s6 >= this.xa) throw t4.i.re(); var h2 = t4.ua.Wa(i6); if (n4 >= h2) throw t4.i.re(); this.rc(); var r2 = this.description.Qf(i6); return 0 <= r2 ? this.Aa[r2].Bg(s6 * h2 + n4) : t4.ua.te(i6); }, s5.prototype.sF = function(t5, i6) { return this.Vc(t5, i6, void 0); }, s5.prototype.setAttribute = function(i6, s6, n4, h2) { if (0 > s6 || s6 >= this.xa) throw t4.i.re(); var r2 = t4.ua.Wa(i6); if (n4 >= r2) throw t4.i.re(); this.se(i6), this.rc(), i6 = this.description.Qf(i6), this.Qc(1993), this.Aa[i6].rr(s6 * r2 + n4, h2); }, s5.prototype.vb = function(t5) { return this.vx(), this.se(t5), this.rc(), this.Aa[this.description.Qf(t5)]; }, s5.prototype.kn = function(i6, s6) { if (s6 != null && t4.ua.Vp(i6) != s6.Vp()) throw t4.i.O(); this.se(i6), i6 = this.description.Qf(i6), this.Aa == null && (this.Aa = t4.Zc.kI(this.description.Ba)), this.Aa[i6] = s6, this.Qc(16777215); }, s5.prototype.un = function(i6) { var s6 = null; if (this.Aa != null) { var n4 = t4.ee.Kw(i6, this.description); s6 = []; for (var h2 = 0, r2 = i6.Ba; h2 < r2; h2++) n4[h2] != -1 && (s6[h2] = this.Aa[n4[h2]]); } this.description = i6, this.Aa = s6, this.Rg = -1, this.Qc(16777215); }, s5.prototype.uD = function(i6) { this.yu(true), i6 instanceof t4.l ? this.aa.A(i6) : this.aa.Ro(i6); }, s5.prototype.VM = function(i6) { this.yu(false), i6 instanceof t4.l ? this.aa.A(i6) : this.aa.Ro(i6); }, s5.prototype.dn = function(t5) { this.yu(true), this.aa.copyTo(t5); }, s5.prototype.A = function(t5) { this.uD(t5); }, s5.prototype.Ro = function(t5) { this.uD(t5); }, s5.prototype.yc = function(t5) { this.VM(t5); }, s5.prototype.Vg = function(i6, s6) { var n4 = new t4.Oc(); return this.Bc() ? (n4.Pa(), n4) : (this.yu(true), this.aa.Vg(i6, s6)); }, s5.prototype.dc = function() { var i6 = this.description.dc(); if (!this.Bc()) for (var s6 = this.I(), n4 = 0, h2 = this.description.Ba; n4 < h2; n4++) i6 = this.Aa[n4].Bn(i6, 0, s6 * t4.ua.Wa(this.description.Fd(n4))); return i6; }, s5.prototype.Nb = function(i6) { if (i6 == this) return true; if (!(i6 instanceof s5 && this.description.Nb(i6.description)) || this.Bc() != i6.Bc()) return false; if (this.Bc()) return true; var n4 = this.I(); if (n4 != i6.I()) return false; for (var h2 = 0; h2 < this.description.Ba; h2++) { var r2 = this.description.qd(h2), e2 = this.vb(r2), o2 = i6.vb(r2); if (!e2.Nb(o2, 0, n4 * t4.ua.Wa(r2))) return false; } return true; }, s5.prototype.copyTo = function(i6) { if (i6.K() != this.K()) throw t4.i.O(); this.YC(i6); }, s5.prototype.YC = function(i6) { this.rc(), i6.description = this.description, i6.Aa = null; var s6 = this.description.Ba, n4 = null; if (this.Aa != null) { n4 = []; for (var h2 = 0; h2 < s6; h2++) this.Aa[h2] != null && (n4[h2] = this.Aa[h2].AB(this.I() * t4.ua.Wa(this.description.Fd(h2)))); } this.aa != null ? (i6.aa = this.aa.Ja(), this.aa.copyTo(i6.aa)) : i6.aa = null, i6.xa = this.xa, i6.Jm = this.Jm, i6.Aa = n4; try { this.pp(i6); } catch (r2) { throw i6.Pa(), t4.i.hu(); } }, s5.prototype.qD = function() { this.xa = 0, this.Rg = -1, this.Aa = null, this.Qc(16777215); }, s5.prototype.Qc = function(t5) { t5 == 16777215 && (this.Rg = -1, this.Zx()), this.Jm |= t5, this.fM(), this.wc(); }, s5.prototype.yu = function(i6) { if (this.rc(), this.bk(192)) if (this.aa == null ? this.aa = new t4.Hh(this.description) : this.aa.kg(this.description), this.B()) this.aa.Pa(); else { this.dy(i6); for (var s6 = 1; s6 < this.description.Ba; s6++) for (var n4 = this.description.Fd(s6), h2 = t4.ua.Wa(n4), r2 = this.Aa[s6], e2 = 0; e2 < h2; e2++) { var o2 = new t4.Oc(); o2.Pa(); for (var a2 = 0; a2 < this.xa; a2++) { var u2 = r2.Bg(a2 * h2 + e2); o2.$b(u2); } this.aa.setInterval(n4, e2, o2); } i6 && this.Nf(192, false); } }, s5.prototype.dy = function() { this.aa.Pa(); for (var i6 = this.Aa[0], s6 = new t4.h(), n4 = 0; n4 < this.xa; n4++) i6.uc(2 * n4, s6), this.aa.$b(s6); }, s5.prototype.Ap = function(i6) { i6.Pa(); for (var s6 = this.Aa[0], n4 = new t4.h(), h2 = 0; h2 < this.xa; h2++) s6.uc(2 * h2, n4), i6.$b(n4); }, s5.prototype.WM = function() { if (this.Rg < this.xa) { this.Aa == null && (this.Aa = t4.Zc.kI(this.description.Ba)), this.Rg = 2147483647; for (var i6 = 0; i6 < this.description.Ba; i6++) { var s6 = this.description.Fd(i6); if (this.Aa[i6] != null) { var n4 = t4.ua.Wa(s6), h2 = t4.P.truncate(this.Aa[i6].size / n4); h2 < this.xa && (h2 = t4.P.truncate(this.Rg > this.xa + 5 ? (5 * this.xa + 3) / 4 : this.xa), this.Aa[i6].resize(h2 * n4, t4.ua.te(s6))), h2 < this.Rg && (this.Rg = h2); } else this.Aa[i6] = t4.Zc.SE(s6, this.xa), this.Rg = this.xa; } } this.ey(), this.Nf(32, false); }, s5.prototype.fm = function(i6) { if (0 > i6) throw t4.i.O(); i6 != this.xa && (this.xa = i6, this.Qc(65535)); }, s5.prototype.qm = function(t5) { if (!this.bk(1)) { if (!this.bk(2)) return 0; if (this.IT >= t5) return this.bk(8) ? 1 : 2; } return -1; }, s5.prototype.Eh = function(i6, s6) { if (this.IT = s6, i6 == -1) this.Nf(1, true), this.Nf(8, true); else if (this.Nf(1, false), this.Nf(8, true), i6 == 0) this.Nf(2, false), this.Nf(4, false); else if (i6 == 1) this.Nf(2, true), this.Nf(4, false); else { if (i6 != 2) throw t4.i.ga("internal error."); this.Nf(2, true), this.Nf(4, true); } }, s5.prototype.fM = function() { this.Cb != null && (this.Cb = null); }, s5.prototype.eD = function(i6, s6, n4, h2) { if (0 > i6 || i6 >= this.xa) throw t4.i.ga("index out of bounds"); if (0 > s6 || s6 >= this.xa) throw t4.i.ga("index out of bounds"); this.rc(), h2.kg(this.description), h2.B() && h2.up(); for (var r2 = 0; r2 < this.description.Ba; r2++) for (var e2 = this.description.Fd(r2), o2 = 0, a2 = t4.ua.Wa(e2); o2 < a2; o2++) { var u2 = this.Aa[r2].Bg(a2 * i6 + o2), f2 = this.Aa[r2].Bg(a2 * s6 + o2); h2.setAttribute(e2, o2, t4.mc.jq(u2, f2, n4)); } }, s5.prototype.Ar = function(t5, i6) { var s6 = this.Aa[0].o, n4 = s6[2 * t5] - s6[2 * i6]; return t5 = s6[2 * t5 + 1] - s6[2 * i6 + 1], Math.sqrt(n4 * n4 + t5 * t5); }, s5.prototype.Fh = function(i6, s6) { if (0 > i6 || i6 >= this.xa) throw t4.i.re(); if (s6.B()) throw t4.i.O(); this.rc(); for (var n4 = s6.description, h2 = 0; h2 < n4.Ba; h2++) for (var r2 = n4.qd(h2), e2 = t4.ua.Wa(r2), o2 = 0; o2 < e2; o2++) { var a2 = s6.Vc(r2, o2); this.setAttribute(r2, i6, o2, a2); } }, s5.prototype.nu = function() { return null; }, s5.prototype.hj = function() { return null; }, s5; }(t4.ba); t4.Fx = s4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { this.ob = this.$n = null, this.Vm = 124234251, this.Tv = true, this.Ne = -1, this.ob = new t4.ad(7), this.$n = null; } return i5.prototype.Wo = function(t5) { this.$n = t5; }, i5.prototype.LP = function() { this.Tv = false; }, i5.prototype.Ee = function(t5) { this.ob.Ee(t5); }, i5.prototype.Rr = function(t5) { var i6 = this.ob.De(); return this.jX(i6), this.mX(t5, i6), i6; }, i5.prototype.GP = function(t5) { this.ob.kd(t5); }, i5.prototype.addElement = function(t5, i6) { return i6 == -1 && (this.Ne == -1 && (this.Ne = this.Rr(-1)), i6 = this.Ne), this.zD(t5, 0, i6); }, i5.prototype.DD = function(t5) { return this.Ne == -1 && (this.Ne = this.Rr(-1)), this.zD(t5, 1, this.Ne); }, i5.prototype.yn = function(t5) { this.Ne == -1 && (this.Ne = this.Rr(-1)); var i6 = this.Ne, s4 = this.ob.o; if (i6 == -1 || s4[7 * i6] == -1) return t5 = this.ob.Nl([-1, -1, -1, t5, this.il(), -1, -1]), (s4 = this.ob.o)[7 * i6] = t5, this.xp(-1, t5, i6, s4), t5; var n4 = i6 == -1 ? -1 : s4[7 * i6 + 2]; return t5 = this.ob.Nl([-1, -1, n4, t5, this.il(), -1, -1]), (s4 = this.ob.o)[7 * n4 + 1] = t5, this.ky(t5, s4), s4[7 * t5 + 2] === -1 && (s4[7 * i6] = t5), this.xp(-1, t5, i6, s4), t5; }, i5.prototype.Bu = function(i6, s4, n4, h2) { var r2 = -1; r2 == -1 && (this.Ne == -1 && (this.Ne = this.Rr(-1)), r2 = this.Ne); var e2 = this.ob.o; if (r2 == -1 || e2[7 * r2] == -1) return n4 = this.ob.Nl([-1, -1, -1, n4, this.il(), -1, -1]), (e2 = this.ob.o)[7 * r2] = n4, this.xp(-1, n4, r2, e2), n4; if (h2) { h2 = s4 != -1 ? this.$n.compare(this, n4, s4) : -1; var o2 = i6 != -1 ? this.$n.compare(this, n4, i6) : 1; } else h2 = -1, o2 = 1; if (h2 == 0 || o2 == 0) return e2[7 * r2 + 3] = h2 == 0 ? s4 : i6, -1; for ((s4 != -1 && i6 != -1 ? this.Vm > t4.P.WA(this.Vm) >> 1 : s4 != -1) ? i6 = s4 : h2 = o2, s4 = true; ; ) { if (0 > h2) { if ((o2 = e2[7 * i6]) == -1) { h2 = i6, n4 = this.ob.Nl([-1, -1, i6, n4, this.il(), -1, -1]), (e2 = this.ob.o)[7 * i6] = n4; break; } i6 = o2; } else { if ((o2 = e2[7 * i6 + 1]) == -1) { h2 = e2[7 * i6 + 6], n4 = this.ob.Nl([-1, -1, i6, n4, this.il(), -1, -1]), (e2 = this.ob.o)[7 * i6 + 1] = n4; break; } i6 = o2; } s4 && (h2 *= -1, s4 = false); } return this.ky(n4, e2), e2[7 * n4 + 2] === -1 && (e2[7 * r2] = n4), this.xp(h2, n4, r2, e2), n4; }, i5.prototype.zF = function() { return this.cR(this.Ne); }, i5.prototype.wd = function(t5, i6) { i6 = i6 == -1 ? this.Ne : i6, this.Tv ? this.FP(t5, i6) : this.aY(t5, i6); }, i5.prototype.search = function(t5, i6) { for (i6 = this.uv(i6); i6 != -1; ) { var s4 = this.$n.compare(this, t5, i6); if (s4 == 0) return i6; i6 = 0 > s4 ? this.nl(i6) : this.Zp(i6); } return -1; }, i5.prototype.zW = function(t5) { for (var i6 = this.uv(-1), s4 = -1; i6 != -1; ) { var n4 = t5.compare(this, i6); if (n4 == 0) return i6; 0 > n4 ? i6 = this.nl(i6) : (s4 = i6, i6 = this.Zp(i6)); } return s4; }, i5.prototype.oJ = function(t5) { for (var i6 = this.uv(-1), s4 = -1; i6 != -1; ) { var n4 = t5.compare(this, i6); if (n4 == 0) return i6; 0 > n4 ? (s4 = i6, i6 = this.nl(i6)) : i6 = this.Zp(i6); } return s4; }, i5.prototype.ka = function(t5) { return this.ob.U(t5, 3); }, i5.prototype.nl = function(t5) { return this.ob.U(t5, 0); }, i5.prototype.Zp = function(t5) { return this.ob.U(t5, 1); }, i5.prototype.getParent = function(t5) { return this.ob.U(t5, 2); }, i5.prototype.lb = function(t5) { return this.ob.U(t5, 6); }, i5.prototype.xe = function(t5) { return this.ob.U(t5, 5); }, i5.prototype.sc = function(t5) { return t5 == -1 ? this.ml(this.Ne) : this.ml(t5); }, i5.prototype.Gc = function(t5) { return t5 == -1 ? this.bs(this.Ne) : this.bs(t5); }, i5.prototype.SR = function(t5) { return t5 == -1 ? this.WF(this.Ne) : this.WF(t5); }, i5.prototype.Uj = function(t5, i6) { this.HB(t5, i6); }, i5.prototype.uv = function(t5) { return t5 == -1 ? this.SF(this.Ne) : this.SF(t5); }, i5.prototype.clear = function() { this.ob.oj(false), this.Ne = -1; }, i5.prototype.size = function(t5) { return t5 == -1 ? this.UF(this.Ne) : this.UF(t5); }, i5.prototype.EN = function(t5, i6) { for (var s4 = i6[7 * t5], n4 = i6[7 * t5 + 1], h2 = i6[7 * t5 + 4]; s4 != -1 || n4 != -1; ) { var r2 = s4 != -1 ? i6[7 * s4 + 4] : 2147483647; if (n4 = n4 != -1 ? i6[7 * n4 + 4] : 2147483647, h2 <= Math.min(r2, n4)) break; r2 <= n4 ? this.mJ(s4, i6) : this.lJ(t5, i6), s4 = i6[7 * t5], n4 = i6[7 * t5 + 1]; } }, i5.prototype.ky = function(t5, i6) { if (this.Tv) for (var s4 = i6[7 * t5 + 4], n4 = i6[7 * t5 + 2]; n4 != -1 && i6[7 * n4 + 4] > s4; ) i6[7 * n4] == t5 ? this.mJ(t5, i6) : this.lJ(n4, i6), n4 = i6[7 * t5 + 2]; }, i5.prototype.lJ = function(t5, i6) { var s4 = i6[7 * t5 + 1]; i6[7 * s4 + 2] = i6[7 * t5 + 2], i6[7 * t5 + 2] = s4; var n4 = i6[7 * s4]; i6[7 * t5 + 1] = n4, n4 != -1 && (i6[7 * n4 + 2] = t5), i6[7 * s4] = t5, (n4 = i6[7 * s4 + 2]) != -1 && (i6[7 * n4] == t5 ? i6[7 * n4] = s4 : i6[7 * n4 + 1] = s4); }, i5.prototype.mJ = function(t5, i6) { var s4 = i6[7 * t5 + 2]; i6[7 * t5 + 2] = i6[7 * s4 + 2], i6[7 * s4 + 2] = t5; var n4 = i6[7 * t5 + 1]; i6[7 * s4] = n4, n4 != -1 && (i6[7 * n4 + 2] = s4), i6[7 * t5 + 1] = s4, (n4 = i6[7 * t5 + 2]) != -1 && (i6[7 * n4] === s4 ? i6[7 * n4] = t5 : i6[7 * n4 + 1] = t5); }, i5.prototype.Qk = function(t5, i6) { this.ob.T(t5, 2, i6); }, i5.prototype.NB = function(t5, i6) { this.ob.T(t5, 0, i6); }, i5.prototype.RB = function(t5, i6) { this.ob.T(t5, 1, i6); }, i5.prototype.QB = function(t5, i6) { this.ob.T(t5, 5, i6); }, i5.prototype.fx = function(t5, i6) { this.ob.T(t5, 6, i6); }, i5.prototype.RJ = function(t5, i6) { this.ob.T(i6, 0, t5); }, i5.prototype.jX = function(t5) { this.ob.T(t5, 4, 0); }, i5.prototype.mX = function(t5, i6) { this.ob.T(i6, 5, t5); }, i5.prototype.SF = function(t5) { return t5 == -1 ? -1 : this.ob.U(t5, 0); }, i5.prototype.ml = function(t5) { return t5 == -1 ? -1 : this.ob.U(t5, 1); }, i5.prototype.bs = function(t5) { return t5 == -1 ? -1 : this.ob.U(t5, 2); }, i5.prototype.cR = function(t5) { return t5 == -1 ? -1 : this.ob.U(t5, 3); }, i5.prototype.UF = function(t5) { return t5 == -1 ? 0 : this.ob.U(t5, 4); }, i5.prototype.WF = function(t5) { return this.ob.U(t5, 5); }, i5.prototype.Rw = function() { return this.ob.Nl([-1, -1, -1, void 0, this.il(), -1, -1]); }, i5.prototype.hl = function(t5) { t5 != -1 && this.ob.kd(t5); }, i5.prototype.il = function() { return this.Vm = t4.P.WA(this.Vm), 1073741823 & this.Vm; }, i5.prototype.zD = function(t5, i6, s4) { var n4 = this.ob.o; if (s4 == -1 || n4[7 * s4] == -1) return t5 = this.ob.Nl([-1, -1, -1, t5, this.il(), -1, -1]), (n4 = this.ob.o)[7 * s4] = t5, this.xp(-1, t5, s4, n4), t5; for (var h2 = s4 == -1 ? -1 : n4[7 * s4]; ; ) { var r2 = i6 == -1 ? 1 : this.$n.compare(this, t5, h2); if (0 > r2) { if ((r2 = this.nl(h2)) == -1) { i6 = h2, t5 = this.ob.Nl([-1, -1, h2, t5, this.il(), -1, -1]), (n4 = this.ob.o)[7 * h2] = t5; break; } h2 = r2; } else { if (i6 == 1 && r2 == 0) return n4[7 * s4 + 3] = h2, -1; if ((r2 = n4[7 * h2 + 1]) == -1) { i6 = n4[7 * h2 + 6], t5 = this.ob.Nl([-1, -1, h2, t5, this.il(), -1, -1]), (n4 = this.ob.o)[7 * h2 + 1] = t5; break; } h2 = r2; } } return this.ky(t5, n4), n4[7 * t5 + 2] === -1 && (n4[7 * s4] = t5), this.xp(i6, t5, s4, n4), t5; }, i5.prototype.xp = function(t5, i6, s4, n4) { if (t5 != -1) { var h2 = n4[7 * t5 + 5]; n4[7 * t5 + 5] = i6; } else h2 = s4 == -1 ? -1 : n4[7 * s4 + 2]; n4[7 * i6 + 5] = h2, h2 != -1 && (n4[7 * h2 + 6] = i6), n4[7 * i6 + 6] = t5, t5 == (s4 == -1 ? -1 : n4[7 * s4 + 1]) && (n4[7 * s4 + 1] = i6), t5 == -1 && (n4[7 * s4 + 2] = i6), n4[7 * s4 + 4] = (s4 == -1 ? 0 : n4[7 * s4 + 4]) + 1; }, i5.prototype.uB = function(t5, i6) { var s4 = this.ob.o, n4 = s4[7 * t5 + 5]; t5 = s4[7 * t5 + 6], n4 != -1 ? s4[7 * n4 + 6] = t5 : s4[7 * i6 + 1] = t5, t5 != -1 ? s4[7 * t5 + 5] = n4 : s4[7 * i6 + 2] = n4, s4[7 * i6 + 4] = i6 === -1 ? -1 : s4[7 * i6 + 4] - 1; }, i5.prototype.aY = function(i6, s4) { this.uB(i6, s4); var n4 = this.nl(i6), h2 = this.Zp(i6), r2 = this.getParent(i6), e2 = i6; if (n4 != -1 && h2 != -1) { this.Vm = t4.P.WA(this.Vm); var o2 = 1073741823 < this.Vm ? this.lb(i6) : this.xe(i6), a2 = this.getParent(o2) == i6; this.ob.aC(i6, o2, 0), this.ob.aC(i6, o2, 1), this.ob.aC(i6, o2, 2), r2 != -1 ? this.nl(r2) == i6 ? this.NB(r2, o2) : this.RB(r2, o2) : this.RJ(o2, s4), a2 ? (n4 == o2 ? (this.NB(o2, i6), this.Qk(h2, o2)) : h2 == o2 && (this.RB(o2, i6), this.Qk(n4, o2)), this.Qk(i6, o2), r2 = o2) : (this.Qk(n4, o2), this.Qk(h2, o2), r2 = this.getParent(i6), e2 = o2), n4 = this.nl(i6), h2 = this.Zp(i6), n4 != -1 && this.Qk(n4, i6), h2 != -1 && this.Qk(h2, i6); } n4 = n4 != -1 ? n4 : h2, r2 == -1 ? this.RJ(n4, s4) : this.nl(r2) == e2 ? this.NB(r2, n4) : this.RB(r2, n4), n4 != -1 && this.Qk(n4, r2), this.hl(i6); }, i5.prototype.FP = function(t5, i6) { var s4 = this.ob.o; s4[7 * t5 + 4] = 2147483647; var n4 = -1, h2 = -1, r2 = i6 === -1 ? -1 : s4[7 * i6], e2 = r2 == t5; if (e2 && (n4 = s4[7 * r2], h2 = s4[7 * r2 + 1], n4 == -1 && h2 == -1)) return this.uB(r2, i6), this.hl(r2), void (s4[7 * i6] = -1); this.EN(t5, s4), (r2 = s4[7 * t5 + 2]) != -1 && (s4[7 * r2] == t5 ? s4[7 * r2] = -1 : s4[7 * r2 + 1] = -1), this.uB(t5, i6), this.hl(t5), e2 && (s4[7 * i6] = n4 == -1 || s4[7 * n4 + 2] != -1 ? h2 : n4); }, i5.prototype.HB = function(t5, i6) { this.ob.T(t5, 3, i6); }, i5; }(); t4.Zj = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6) { t5 !== void 0 && this.L(t5, i6); } return i5.prototype.L = function(t5, i6) { this.pa = t5, this.wa = i6, this.normalize(); }, i5.prototype.isIntersecting = function(t5) { return this.pa <= t5.pa ? this.wa >= t5.pa : t5.wa >= this.pa; }, i5.prototype.move = function(t5) { this.B() || (this.pa += t5, this.wa += t5); }, i5.prototype.normalize = function() { if (!isNaN(this.pa)) { if (this.pa > this.wa) { var t5 = this.pa; this.pa = this.wa, this.wa = t5; } isNaN(this.wa) && this.Pa(); } }, i5.prototype.Pa = function() { this.wa = this.pa = NaN; }, i5.prototype.B = function() { return isNaN(this.pa); }, i5.prototype.$b = function(t5) { typeof t5 == "number" ? this.B() ? this.wa = this.pa = t5 : this.Mk(t5) : t5.B() || (this.B() ? (this.pa = t5.pa, this.wa = t5.wa) : (this.pa > t5.pa && (this.pa = t5.pa), this.wa < t5.wa && (this.wa = t5.wa), this.pa > this.wa && this.Pa())); }, i5.prototype.Mk = function(t5) { t5 < this.pa ? this.pa = t5 : t5 > this.wa && (this.wa = t5); }, i5.prototype.contains = function(t5) { return typeof t5 == "number" ? t5 >= this.pa && t5 <= this.wa : t5.pa >= this.pa && t5.wa <= this.wa; }, i5.prototype.Fa = function(t5) { this.B() || t5.B() ? this.Pa() : (this.pa < t5.pa && (this.pa = t5.pa), this.wa > t5.wa && (this.wa = t5.wa), this.pa > this.wa && this.Pa()); }, i5.prototype.X = function(t5) { this.B() || (this.pa -= t5, this.wa += t5, this.wa < this.pa && this.Pa()); }, i5.prototype.zr = function() { return this.B() ? 2220446049250313e-29 : 2220446049250313e-29 * (Math.abs(this.pa) + Math.abs(this.wa) + 1); }, i5.prototype.EB = function(t5, i6) { t5 > i6 ? (this.pa = i6, this.wa = t5) : (this.pa = t5, this.wa = i6); }, i5.prototype.Kt = function(i6) { return t4.P.Sk(i6, this.pa, this.wa); }, i5.prototype.S = function() { return this.wa - this.pa; }, i5.prototype.tf = function() { return 0.5 * (this.pa + this.wa); }, i5.prototype.Nb = function(t5) { return t5 == this || t5 instanceof i5 && (!(!this.B() || !t5.B()) || this.pa == t5.pa && this.wa == t5.wa); }, i5.prototype.dc = function() { return t4.P.wj(t4.P.wj()); }, i5; }(); t4.Oc = i4; }(V || (V = {})), function(t4) { var i4 = new t4.Oc(), s4 = new t4.Oc(), n4 = function() { this.ne = null, this.pb = -1, this.tb = new t4.zb(), this.kA = 55555555, this.Vv = this.Xv = false, this.Vf = new t4.Oc(), this.Vf.EB(0, 0); }; t4.AY = n4; var h2 = function() { function h3(i5, s5, h4) { this.g = i5, this.Ik = NaN, this.HH = this.Mq = 0, this.IH = NaN, this.ra = s5, this.Pq = 10 * s5, this.JH = this.KH = NaN, this.rg = false, this.Fm = this.ht = this.Mo = this.Zs = this.Ys = -1, this.bA = h4, this.NA = new n4(), this.SH = new n4(), t4.P.truncate(3 * i5.gd / 2); } return h3.prototype.gG = function(t5, i5, s5, n5) { t5.ne = n5 === null ? null : n5[s5[5 * i5]], t5.Vv = t5.ne != null, t5.Vv || ((n5 = s5[5 * i5 + 2]) !== -1 && this.g.eW(s5[5 * i5], s5[5 * n5], t5.tb), t5.ne = t5.tb, t5.Vf.EB(t5.tb.sa, t5.tb.qa), t5.Vf.wa += this.ra, t5.tb.lI(), t5.Xv = t5.tb.ma == t5.tb.oa, t5.Xv || (t5.kA = (t5.tb.qa - t5.tb.sa) / (t5.tb.ma - t5.tb.oa))); }, h3.prototype.IO = function(t5, i5) { var s5 = t5.Br(i5, this.ra, true); return s5 != 0 ? s5 == 2 ? this.Ly() : this.zi() : (t5.$p(Z), t5.Vr(_), i5.$p(tt), i5.Vr(it), $.na(this.Mq, this.Ik), Z.rb(tt) && this.Ik == Z.y ? 0 > _.compare(it) ? $.N(_) : $.N(it) : Z.rb(it) && this.Ik == Z.y ? 0 > _.compare(tt) ? $.N(_) : $.N(tt) : tt.rb(_) && this.Ik == tt.y ? 0 > Z.compare(it) ? $.N(Z) : $.N(it) : _.rb(it) && this.Ik == _.y && (0 > Z.compare(tt) ? $.N(Z) : $.N(tt)), t5.Me($.y, $.x) < i5.Me($.y, $.x) ? -1 : 1); }, h3.prototype.GO = function(t5, i5) { if (t5.tb.oa == i5.tb.oa && t5.tb.sa == i5.tb.sa) return t5.tb.ma == i5.tb.ma && t5.tb.qa == i5.tb.qa ? this.bA ? this.Ly() : 0 : this.JE(t5, i5); if (t5.tb.ma == i5.tb.ma && t5.tb.qa == i5.tb.qa) return this.IE(t5, i5); var s5 = this.IE(t5, i5); return t5 = this.JE(t5, i5), 0 > s5 && 0 > t5 ? -1 : 0 < s5 && 0 < t5 ? 1 : this.zi(); }, h3.prototype.CO = function(t5, i5) { if (t5.qa > i5.qa) { if (i5.qa > i5.sa && i5.ma - i5.oa < 2 * this.ra && t5.xi(i5.qa, i5.ma, this.ra)) return this.zi(); } else if ((i5.ma - i5.oa) / (i5.qa - i5.sa) * (t5.qa - t5.sa) < this.Pq && i5.xi(t5.qa, t5.ma, this.ra)) return this.zi(); return 1; }, h3.prototype.DO = function(t5, i5) { if (t5.sa < i5.sa) { if (i5.qa > i5.sa && i5.ma - i5.oa < 2 * this.ra && t5.xi(i5.qa, i5.ma, this.ra)) return this.zi(); } else if ((i5.ma - i5.oa) / (i5.qa - i5.sa) * (t5.sa - t5.qa) < this.Pq && i5.xi(t5.sa, t5.oa, this.ra)) return this.zi(); return -1; }, h3.prototype.EO = function(i5, s5) { var n5 = new t4.h(); n5.vc(s5.xc(), s5.ac()), n5.cr(), n5.normalize(); var h4 = new t4.h(); h4.vc(i5.ac(), s5.ac()); var r2 = new t4.h(); r2.vc(i5.xc(), s5.ac()), h4 = h4.Sh(n5), n5 = r2.Sh(n5), r2 = Math.abs(h4); var e2 = Math.abs(n5); if (r2 < e2) { if (r2 < this.Pq && s5.xi(i5.sa, i5.oa, this.ra)) return this.zi(); } else if (e2 < this.Pq && s5.xi(i5.qa, i5.ma, this.ra)) return this.zi(); return 0 > h4 && 0 > n5 ? -1 : 0 < h4 && 0 < n5 ? 1 : this.zi(); }, h3.prototype.HE = function(t5, i5) { return t5.oa == i5.oa && t5.sa == i5.sa ? this.CO(t5, i5) : t5.ma == i5.ma && t5.qa == i5.qa ? this.DO(t5, i5) : this.EO(t5, i5); }, h3.prototype.FO = function(t5, i5) { return t5.ma == i5.ma && t5.qa == i5.qa && t5.oa == i5.oa && t5.sa == i5.sa ? this.bA ? this.Ly() : 0 : this.zi(); }, h3.prototype.IE = function(t5, i5) { var s5 = 1; if (t5.tb.oa < i5.tb.oa) { s5 = -1; var n5 = t5; t5 = i5, i5 = n5; } t5 = t5.tb, n5 = i5.tb; var h4 = t5.sa - n5.sa; i5 = i5.kA * (t5.oa - n5.oa); var r2 = this.Pq; return h4 < i5 - r2 ? -s5 : h4 > i5 + r2 ? s5 : n5.xi(t5.sa, t5.oa, this.ra) ? this.zi() : h4 < i5 ? -s5 : s5; }, h3.prototype.JE = function(t5, i5) { var s5 = 1; if (i5.tb.ma < t5.tb.ma) { s5 = -1; var n5 = t5; t5 = i5, i5 = n5; } t5 = t5.tb, n5 = i5.tb; var h4 = t5.qa - n5.sa; i5 = i5.kA * (t5.ma - n5.oa); var r2 = this.Pq; return h4 < i5 - r2 ? -s5 : h4 > i5 + r2 ? s5 : n5.xi(t5.qa, t5.ma, this.ra) ? this.zi() : h4 < i5 ? -s5 : s5; }, h3.prototype.Ly = function() { return this.rg = true, this.Pi = new t4.Nd(5, this.Mo, this.ht), -1; }, h3.prototype.zi = function() { return this.rg = true, this.bA ? this.Pi = new t4.Nd(4, this.Mo, this.ht) : this.ht = this.Mo = this.Zs = this.Ys = -1, -1; }, h3.prototype.HO = function(t5, n5, h4, r2) { if (this.rg) return -1; var e2 = this.IH == this.Ik && this.HH == this.Mq; if (e2 && t5 == this.Ys) var o2 = this.JH; else o2 = NaN, this.Ys = -1; return e2 && n5 == this.Zs ? e2 = this.KH : (e2 = NaN, this.Zs = -1), h4.ne.TI(i4), r2.ne.TI(s4), i4.wa < s4.pa ? -1 : s4.wa < i4.pa ? 1 : (this.IH = this.Ik, this.HH = this.Mq, isNaN(o2) && (this.Ys = t5, this.JH = o2 = t5 = h4.ne.Me(this.Ik, this.Mq)), isNaN(e2) && (this.Zs = n5, this.KH = e2 = t5 = r2.ne.Me(this.Ik, this.Mq)), Math.abs(o2 - e2) <= this.ra ? this.IO(h4.ne, r2.ne) : o2 < e2 ? -1 : o2 > e2 ? 1 : 0); }, h3.prototype.Mr = function() { this.rg = false; }, h3.prototype.tm = function() { return this.Pi; }, h3.prototype.UJ = function(t5, i5) { this.Ik = t5, this.Mq = i5, this.ht = this.Mo = this.Zs = this.Ys = -1; }, h3.prototype.compare = function(t5, i5, s5) { return this.rg ? -1 : (t5 = t5.ka(s5), this.Fm = s5, this.LE(i5, i5, t5, t5)); }, h3.prototype.LE = function(t5, i5, s5, n5) { if (this.Mo == i5) var h4 = this.NA; else this.Mo = i5, h4 = this.NA, this.NA.pb = t5, this.gG(h4, i5, this.g.ud.o, this.g.Te); if (r2 == null) { this.ht = n5; var r2 = this.SH; this.SH.pb = s5, this.gG(r2, n5, this.g.ud.o, this.g.Te); } return h4.Vv || r2.Vv ? this.HO(i5, n5, h4, r2) : h4.Vf.wa < r2.Vf.pa ? -1 : r2.Vf.wa < h4.Vf.pa ? 1 : (t5 = h4.Xv ? 1 : 0, (t5 |= r2.Xv ? 2 : 0) == 0 ? this.GO(h4, r2) : t5 == 1 ? this.HE(h4.tb, r2.tb) : t5 == 2 ? -1 * this.HE(r2.tb, h4.tb) : this.FO(h4.tb, r2.tb)); }, h3; }(); t4.OC = h2; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4) { this.g = i6, this.ra = s4, this.rg = false, this.Mo = -1, this.Vf = new t4.Oc(), this.Iq = new t4.h(), this.Iq.Sc(), this.ie = new t4.zb(), this.Fm = -1, this.vA = 17976931348623157e292; } return i5.prototype.Mr = function() { this.rg = false, this.vA = 17976931348623157e292; }, i5.prototype.Fh = function(t5) { this.Iq.N(t5); }, i5.prototype.compare = function(t5, i6) { return this.ME(i6, t5.ka(i6)); }, i5.prototype.ME = function(i6, s4) { var n4 = this.g.cc(s4) != null; if (n4 || (this.g.fd(s4, this.ie), this.Vf.EB(this.ie.sa, this.ie.qa)), n4) throw t4.i.ga("not implemented"); if (this.Iq.x + this.ra < this.Vf.pa) return -1; if (this.Iq.x - this.ra > this.Vf.wa) return 1; if (this.ie.oa == this.ie.ma) return this.Fm = i6, this.rg = true, 0; this.ie.lI(), n4 = this.ie.ac(), (s4 = new t4.h()).vc(this.ie.xc(), n4), s4.cr(); var h2 = new t4.h(); return h2.vc(this.Iq, n4), n4 = s4.Sh(h2), (n4 /= s4.length()) < 10 * -this.ra ? -1 : n4 > 10 * this.ra ? 1 : this.ie.ss(this.Iq, this.ra) && ((s4 = Math.abs(n4)) < this.vA && (this.Fm = i6, this.vA = s4), this.rg = true, s4 < 0.25 * this.ra) ? 0 : 0 > n4 ? -1 : 1; }, i5; }(); t4.VL = i4; }(V || (V = {})), function(t4) { function i4(t5, i5, s5, n4) { s5 = new Float64Array(t5.subarray(s5, n4)), t5.set(s5, i5); } var s4 = function() { function s5(t5) { this.Pb = this.qk = false, this.o = null; var i5 = t5; 2 > i5 && (i5 = 2), this.o = new Float64Array(i5), this.size = t5; } return s5.prototype.rotate = function(i5, s6, n4) { if (this.Pb) throw t4.i.ga("invalid_call"); if (s6 < i5 || s6 > n4 || i5 > n4) throw t4.i.O(); i5 != s6 && n4 != s6 && (this.pi(i5, s6 - i5, 1), this.pi(s6, n4 - s6, 1), this.pi(i5, n4 - i5, 1)); }, s5.rf = function(t5, i5) { var n4 = new s5(t5), h2 = n4.o; if (2 > t5 && (t5 = 2), i5 !== 0) for (var r2 = 0; r2 < t5; r2++) h2[r2] = i5; return n4; }, s5.Cn = function(t5) { var i5 = new s5(0); return i5.o = new Float64Array(t5.o), i5.size = t5.size, i5; }, s5.Nr = function(t5, i5) { var n4 = new s5(0); return n4.size = t5.size, n4.size > i5 && (n4.size = i5), 2 > (i5 = n4.size) && (i5 = 2), n4.o = new Float64Array(i5), n4.o.set(t5.o.length <= i5 ? t5.o : t5.o.subarray(0, i5), 0), n4; }, s5.prototype.Jb = function(t5) { 0 >= t5 || (this.o == null ? this.o = new Float64Array(t5) : t5 <= this.o.length || (0 < this.o.length ? ((t5 = new Float64Array(t5)).set(this.o), this.o = t5) : this.o = new Float64Array(t5))); }, s5.prototype.read = function(t5) { return this.o[t5]; }, s5.prototype.uc = function(t5, i5) { i5.x = this.o[t5], i5.y = this.o[t5 + 1]; }, s5.prototype.get = function(t5) { return this.o[t5]; }, s5.prototype.write = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6; }, s5.prototype.set = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6; }, s5.prototype.Vt = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6.x, this.o[i5 + 1] = s6.y; }, s5.prototype.add = function(t5) { this.resize(this.size + 1), this.o[this.size - 1] = t5; }, s5.prototype.AB = function(t5) { return s5.Nr(this, t5); }, s5.prototype.Bg = function(t5) { return this.read(t5); }, s5.prototype.resize = function(i5, s6) { if (s6 === void 0 && (s6 = 0), this.qk) throw t4.i.ga("invalid call. Attribute Stream is locked and cannot be resized."); if (i5 <= this.size) { if (30 < this.o.length && 5 * i5 / 4 < this.o.length) { var n4 = new Float64Array(this.o, 0, i5); this.o = n4; } } else { i5 > this.o.length && (n4 = t4.P.truncate(64 > i5 ? Math.max(2 * i5, 4) : 5 * i5 / 4), (n4 = new Float64Array(n4)).set(this.o), this.o = n4), n4 = this.o; for (var h2 = this.size; h2 < i5; h2++) n4[h2] = s6; } this.size = i5; }, s5.prototype.Dh = function(i5) { if ((this.o == null || i5 > this.o.length) && this.resize(i5), this.qk) throw t4.i.ga("invalid call. Attribute Stream is locked and cannot be resized."); this.size = i5; }, s5.prototype.rr = function(t5, i5) { this.write(t5, i5); }, s5.prototype.Bn = function(i5, s6, n4) { for (var h2 = this.size; s6 < h2 && s6 < n4; s6++) i5 = t4.P.wj(this.read(s6)); return i5; }, s5.prototype.Nb = function(t5, i5, n4) { if (t5 == null || !(t5 instanceof s5)) return false; var h2 = this.size, r2 = t5.size; if (n4 > h2 || n4 > r2 && h2 != r2) return false; for (n4 > h2 && (n4 = h2); i5 < n4; i5++) if (this.read(i5) != t5.read(i5)) return false; return true; }, s5.prototype.addRange = function(i5, s6, n4, h2, r2) { if (this.Pb) throw t4.i.Hb(); if (!h2 && (1 > r2 || n4 % r2 != 0)) throw t4.i.O(); var e2 = this.size; if (this.resize(e2 + n4), h2) this.o.set(i5.o.subarray(s6, s6 + n4), e2); else { h2 = n4; for (var o2 = 0; o2 < n4; o2 += r2) { h2 -= r2; for (var a2 = 0; a2 < r2; a2++) this.o[e2 + o2 + a2] = i5.o[s6 + h2 + a2]; } } }, s5.prototype.Nn = function(s6, n4, h2, r2, e2, o2, a2) { if (this.Pb) throw t4.i.Hb(); if (!e2 && (1 > o2 || r2 % o2 != 0)) throw t4.i.O(); var u2 = this.size - a2; if (u2 < r2 && this.resize(this.size + r2 - u2), i4(this.o, s6 + r2, s6, s6 + (a2 - s6)), this.o == n4.o && s6 < h2 && (h2 += r2), e2) this.o.set(n4.o.subarray(h2, h2 + r2), s6); else for (e2 = r2, a2 = 0; a2 < r2; a2 += o2) for (e2 -= o2, u2 = 0; u2 < o2; u2++) this.o[s6 + a2 + u2] = n4.o[h2 + e2 + u2]; }, s5.prototype.Dz = function(s6, n4, h2, r2, e2, o2) { if (this.Pb) throw t4.i.Hb(); if (0 > o2 && (o2 = this.size), this.size + 2 * r2 > this.o.length ? this.resize(this.size + 2 * r2) : this.size += 2 * r2, i4(this.o, s6 + 2 * r2, s6, s6 + (o2 - s6)), e2) for (e2 = 0; e2 < r2; e2++) o2 = n4[h2++], this.o[s6++] = o2.x, this.o[s6++] = o2.y; else { e2 = 0; for (var a2 = r2 - 1; e2 < r2; ++e2) o2 = n4[h2 + a2], this.o[s6++] = o2.x, this.o[s6++] = o2.y, a2--; } }, s5.prototype.Mn = function(s6, n4, h2, r2) { if (this.Pb) throw t4.i.Hb(); for (r2 -= s6, i4(this.o, s6 + r2, s6, s6 + r2), r2 = 0; r2 < h2; r2++) this.o[s6 + r2] = n4; }, s5.prototype.xj = function(s6, n4, h2) { if (this.Pb) throw t4.i.Hb(); i4(this.o, s6 + 2, s6, s6 + (h2 - s6)), this.o[s6] = n4.x, this.o[s6 + 1] = n4.y; }, s5.prototype.Wt = function(i5, s6, n4, h2, r2, e2) { if (0 > i5 || 0 > s6 || 0 > h2) throw t4.i.O(); if (!r2 && (0 >= e2 || s6 % e2 != 0)) throw t4.i.O(); if (n4.size < h2 + s6) throw t4.i.O(); if (s6 != 0) if (this.size < s6 + i5 && this.resize(s6 + i5), n4 == this) this.Cr(i5, s6, h2, r2, e2); else if (r2) for (r2 = 0; r2 < s6; r2++) this.o[i5] = n4.o[h2], i5++, h2++; else if (h2 = h2 + s6 - e2, e2 == 1) for (r2 = 0; r2 < s6; r2++) this.o[i5] = n4.o[h2], i5++, h2--; else for (r2 = 0, s6 = t4.P.truncate(s6 / e2); r2 < s6; r2++) { for (var o2 = 0; o2 < e2; o2++) this.o[i5 + o2] = n4.o[h2 + o2]; i5 += e2, h2 -= e2; } }, s5.prototype.Fn = function(s6, n4, h2) { if (this.Pb) throw t4.i.Hb(); if (s6 + n4 > this.size) throw t4.i.Hb(); 0 < h2 - (s6 + n4) && i4(this.o, s6, s6 + n4, s6 + (h2 - (s6 + n4)) + n4), this.size -= n4; }, s5.prototype.pi = function(i5, s6, n4) { if (this.Pb) throw t4.i.Hb(); if (1 > n4 || s6 % n4 != 0) throw t4.i.Hb(); for (var h2 = s6 >> 1, r2 = 0; r2 < h2; r2 += n4) { s6 -= n4; for (var e2 = 0; e2 < n4; e2++) { var o2 = this.o[i5 + r2 + e2]; this.o[i5 + r2 + e2] = this.o[i5 + s6 + e2], this.o[i5 + s6 + e2] = o2; } } }, s5.prototype.Yj = function(i5, s6, n4) { if (0 > s6 || 0 > n4 || 0 > s6 || n4 + s6 > this.size) throw t4.i.O(); for (var h2 = s6; h2 < s6 + n4; h2++) this.o[h2] = i5; }, s5.prototype.Cr = function(i5, s6, n4, h2, r2) { if (!(h2 && i5 == n4 || (this.o.set(this.o.subarray(n4, n4 + s6), i5), h2))) for (n4 = i5, i5 = i5 + s6 - r2, h2 = 0, s6 = t4.P.truncate(s6 / 2); h2 < s6; h2++) { for (var e2 = 0; e2 < r2; e2++) { var o2 = this.o[n4 + e2]; this.o[n4 + e2] = this.o[i5 + e2], this.o[i5 + e2] = o2; } n4 += r2, i5 -= r2; } }, s5.prototype.pC = function(i5, s6, n4, h2, r2) { if (0 > i5 || 0 > s6 || 0 > h2) throw t4.i.O(); if (s6 != 0) for (this.size < (s6 << 1) + i5 && this.resize((s6 << 1) + i5), r2 || (i5 += s6 - 1 << 1), r2 = r2 ? 2 : -2, s6 += h2; h2 < s6; h2++) this.o[i5] = n4[h2].x, this.o[i5 + 1] = n4[h2].y, i5 += r2; }, s5.prototype.oC = function(i5, s6, n4) { if (0 > i5 || 0 > s6) throw t4.i.O(); if (s6 != 0) { this.size < (s6 << 1) + i5 && this.resize((s6 << 1) + i5), s6 += 0; for (var h2 = 0; h2 < s6; h2++) this.o[i5] = n4[h2][0], this.o[i5 + 1] = n4[h2][1], i5 += 2; } }, s5.prototype.Xw = function(i5, s6, n4, h2, r2) { if (0 > i5 || 0 > s6 || 0 > h2 || this.size < s6 + i5) throw t4.i.O(); if (r2) for (r2 = 0; r2 < s6; r2++) n4[h2 + r2] = this.o[i5 + r2]; else for (h2 = h2 + s6 - 1; i5 < s6; i5++) n4[h2] = this.o[i5], h2--; }, s5.prototype.oB = function(i5, s6, n4) { if (0 > i5 || 0 > s6 || this.size < (s6 >> 1) + i5) throw t4.i.O(); if (s6 != 0) { s6 = 0 + s6; for (var h2 = 0; h2 < s6; h2++) n4[h2][0] = this.o[i5], n4[h2][1] = this.o[i5 + 1], i5 += 2; } }, s5.prototype.clear = function(t5) { t5 ? this.resize(0) : this.Dh(0); }, s5.prototype.ix = function() { this.qk = this.Pb = true; }, s5.prototype.Wd = function(t5, i5, s6) { Array.prototype.sort.call(this.o.subarray(t5, i5), s6); }, s5.prototype.Vp = function() { return 1; }, s5; }(); t4.ce = s4; }(V || (V = {})), function(t4) { function i4(t5, i5, s5, n4) { s5 = new Int32Array(t5.subarray(s5, n4)), t5.set(s5, i5); } t4.jY = function() { this.random = 1973; }; var s4 = function() { function s5(t5) { this.Pb = this.qk = false, this.o = null; var i5 = t5; 2 > i5 && (i5 = 2), this.o = new Int32Array(i5), this.size = t5; } return s5.prototype.rotate = function(i5, s6, n4) { if (this.Pb) throw t4.i.ga("invalid_call"); if (s6 < i5 || s6 > n4 || i5 > n4) throw t4.i.O(); i5 != s6 && n4 != s6 && (this.pi(i5, s6 - i5, 1), this.pi(s6, n4 - s6, 1), this.pi(i5, n4 - i5, 1)); }, s5.rf = function(t5, i5) { var n4 = new s5(t5), h2 = n4.o; if (2 > t5 && (t5 = 2), i5 !== 0) for (var r2 = 0; r2 < t5; r2++) h2[r2] = i5; return n4; }, s5.Cn = function(t5) { var i5 = new s5(0); return i5.o = new Int32Array(t5.o), i5.size = t5.size, i5; }, s5.Nr = function(t5, i5) { var n4 = new s5(0); return n4.size = t5.size, n4.size > i5 && (n4.size = i5), 2 > (i5 = n4.size) && (i5 = 2), n4.o = new Int32Array(i5), n4.o.set(t5.o.length <= i5 ? t5.o : t5.o.subarray(0, i5), 0), n4; }, s5.prototype.Jb = function(t5) { 0 >= t5 || (this.o == null ? this.o = new Int32Array(t5) : t5 <= this.o.length || (0 < this.o.length ? ((t5 = new Int32Array(t5)).set(this.o), this.o = t5) : this.o = new Int32Array(t5))); }, s5.prototype.read = function(t5) { return this.o[t5]; }, s5.prototype.uc = function(t5, i5) { i5.x = this.o[t5], i5.y = this.o[t5 + 1]; }, s5.prototype.get = function(t5) { return this.o[t5]; }, s5.prototype.write = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6; }, s5.prototype.set = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6; }, s5.prototype.Vt = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6.x, this.o[i5 + 1] = s6.y; }, s5.prototype.add = function(t5) { this.resize(this.size + 1), this.o[this.size - 1] = t5; }, s5.prototype.AB = function(t5) { return s5.Nr(this, t5); }, s5.prototype.Bg = function(t5) { return this.read(t5); }, s5.prototype.resize = function(i5, s6) { if (s6 === void 0 && (s6 = 0), this.qk) throw t4.i.ga("invalid call. Attribute Stream is locked and cannot be resized."); if (i5 <= this.size) { if (30 < this.o.length && 5 * i5 / 4 < this.o.length) { var n4 = new Int32Array(this.o, 0, i5); this.o = n4; } } else { i5 > this.o.length && (n4 = t4.P.truncate(64 > i5 ? Math.max(2 * i5, 4) : 5 * i5 / 4), (n4 = new Int32Array(n4)).set(this.o), this.o = n4), n4 = this.o; for (var h2 = this.size; h2 < i5; h2++) n4[h2] = s6; } this.size = i5; }, s5.prototype.Dh = function(i5) { if ((this.o == null || i5 > this.o.length) && this.resize(i5), this.qk) throw t4.i.ga("invalid call. Attribute Stream is locked and cannot be resized."); this.size = i5; }, s5.prototype.rr = function(t5, i5) { this.write(t5, i5); }, s5.prototype.Bn = function(i5, s6, n4) { for (var h2 = this.size; s6 < h2 && s6 < n4; s6++) i5 = t4.P.Vh(this.read(s6), i5); return i5; }, s5.prototype.Nb = function(t5, i5, n4) { if (t5 == null || !(t5 instanceof s5)) return false; var h2 = this.size, r2 = t5.size; if (n4 > h2 || n4 > r2 && h2 != r2) return false; for (n4 > h2 && (n4 = h2); i5 < n4; i5++) if (this.read(i5) != t5.read(i5)) return false; return true; }, s5.prototype.addRange = function(i5, s6, n4, h2, r2) { if (this.Pb) throw t4.i.Hb(); if (!h2 && (1 > r2 || n4 % r2 != 0)) throw t4.i.O(); var e2 = this.size; if (this.resize(e2 + n4), h2) this.o.set(i5.o.subarray(s6, s6 + n4), e2); else { h2 = n4; for (var o2 = 0; o2 < n4; o2 += r2) { h2 -= r2; for (var a2 = 0; a2 < r2; a2++) this.o[e2 + o2 + a2] = i5.o[s6 + h2 + a2]; } } }, s5.prototype.Nn = function(s6, n4, h2, r2, e2, o2, a2) { if (this.Pb) throw t4.i.Hb(); if (!e2 && (1 > o2 || r2 % o2 != 0)) throw t4.i.O(); if (i4(this.o, s6 + r2, s6, s6 + (a2 - s6)), this.o == n4.o && s6 < h2 && (h2 += r2), e2) this.o.set(n4.o.subarray(h2, h2 + r2), s6); else for (e2 = r2, a2 = 0; a2 < r2; a2 += o2) { e2 -= o2; for (var u2 = 0; u2 < o2; u2++) this.o[s6 + a2 + u2] = n4.o[h2 + e2 + u2]; } }, s5.prototype.Dz = function(s6, n4, h2, r2, e2, o2) { if (this.Pb) throw t4.i.Hb(); if (0 > o2 && (o2 = this.size), this.size + 2 * r2 > this.o.length ? this.resize(this.size + 2 * r2) : this.size += 2 * r2, i4(this.o, s6 + 2 * r2, s6, s6 + (o2 - s6)), e2) for (e2 = 0; e2 < r2; e2++) o2 = n4[h2++], this.o[s6++] = o2.x, this.o[s6++] = o2.y; else { e2 = 0; for (var a2 = r2 - 1; e2 < r2; ++e2) o2 = n4[h2 + a2], this.o[s6++] = o2.x, this.o[s6++] = o2.y, a2--; } }, s5.prototype.Mn = function(s6, n4, h2, r2) { if (this.Pb) throw t4.i.Hb(); for (r2 -= s6, i4(this.o, s6 + r2, s6, s6 + r2), r2 = 0; r2 < h2; r2++) this.o[s6 + r2] = n4; }, s5.prototype.xj = function(s6, n4, h2) { if (this.Pb) throw t4.i.Hb(); i4(this.o, s6 + 2, s6, s6 + (h2 - s6)), this.o[s6] = n4.x, this.o[s6 + 1] = n4.y; }, s5.prototype.Wt = function(i5, s6, n4, h2, r2, e2) { if (0 > i5 || 0 > s6 || 0 > h2) throw t4.i.O(); if (!r2 && (0 >= e2 || s6 % e2 != 0)) throw t4.i.O(); if (n4.size < h2 + s6) throw t4.i.O(); if (s6 != 0) if (this.size < s6 + i5 && this.resize(s6 + i5), n4 == this) this.Cr(i5, s6, h2, r2, e2); else if (r2) for (r2 = 0; r2 < s6; r2++) this.o[i5] = n4.o[h2], i5++, h2++; else if (h2 = h2 + s6 - e2, e2 == 1) for (r2 = 0; r2 < s6; r2++) this.o[i5] = n4.o[h2], i5++, h2--; else for (r2 = 0, s6 = t4.P.truncate(s6 / e2); r2 < s6; r2++) { for (var o2 = 0; o2 < e2; o2++) this.o[i5 + o2] = n4.o[h2 + o2]; i5 += e2, h2 -= e2; } }, s5.prototype.Fn = function(s6, n4, h2) { if (this.Pb) throw t4.i.Hb(); if (s6 + n4 > this.size) throw t4.i.Hb(); 0 < h2 - (s6 + n4) && i4(this.o, s6, s6 + n4, s6 + (h2 - (s6 + n4)) + n4), this.size -= n4; }, s5.prototype.pi = function(i5, s6, n4) { if (this.Pb) throw t4.i.Hb(); if (1 > n4 || s6 % n4 != 0) throw t4.i.Hb(); for (var h2 = s6 >> 1, r2 = 0; r2 < h2; r2 += n4) { s6 -= n4; for (var e2 = 0; e2 < n4; e2++) { var o2 = this.o[i5 + r2 + e2]; this.o[i5 + r2 + e2] = this.o[i5 + s6 + e2], this.o[i5 + s6 + e2] = o2; } } }, s5.prototype.Yj = function(i5, s6, n4) { if (0 > s6 || 0 > n4 || 0 > s6 || n4 + s6 > this.size) throw t4.i.O(); for (var h2 = s6; h2 < s6 + n4; h2++) this.o[h2] = i5; }, s5.prototype.Cr = function(i5, s6, n4, h2, r2) { if (!(h2 && i5 == n4 || (this.o.set(this.o.subarray(n4, n4 + s6), i5), h2))) for (n4 = i5, i5 = i5 + s6 - r2, h2 = 0, s6 = t4.P.truncate(s6 / 2); h2 < s6; h2++) { for (var e2 = 0; e2 < r2; e2++) { var o2 = this.o[n4 + e2]; this.o[n4 + e2] = this.o[i5 + e2], this.o[i5 + e2] = o2; } n4 += r2, i5 -= r2; } }, s5.prototype.pC = function(i5, s6, n4, h2, r2) { if (0 > i5 || 0 > s6 || 0 > h2) throw t4.i.O(); if (s6 != 0) for (this.size < (s6 << 1) + i5 && this.resize((s6 << 1) + i5), r2 || (i5 += s6 - 1 << 1), r2 = r2 ? 2 : -2, s6 += h2; h2 < s6; h2++) this.o[i5] = n4[h2].x, this.o[i5 + 1] = n4[h2].y, i5 += r2; }, s5.prototype.Xw = function(i5, s6, n4, h2, r2) { if (0 > i5 || 0 > s6 || 0 > h2 || this.size < s6 + i5) throw t4.i.O(); if (r2) for (r2 = 0; r2 < s6; r2++) n4[h2 + r2] = this.o[i5 + r2]; else for (h2 = h2 + s6 - 1; i5 < s6; i5++) n4[h2] = this.o[i5], h2--; }, s5.prototype.clear = function(t5) { t5 ? this.resize(0) : this.Dh(0); }, s5.prototype.ix = function() { this.qk = this.Pb = true; }, s5.prototype.Wd = function(t5, i5, n4) { 10 > i5 - t5 ? s5.lG(this.o, t5, i5, n4) : s5.kB(this.o, t5, i5 - 1, n4); }, s5.prototype.Vp = function() { return 2; }, s5.prototype.Gc = function() { return this.o[this.size - 1]; }, s5.prototype.Jf = function() { this.resize(this.size - 1); }, s5.prototype.TW = function(t5) { this.o[this.size - 1] = t5; }, s5.prototype.KV = function(t5) { t5 < this.size - 1 && (this.o[t5] = this.o[this.size - 1]), this.resize(this.size - 1); }, s5.prototype.fF = function(t5) { for (var i5 = 0, s6 = this.size; i5 < s6; i5++) if (this.o[i5] == t5) return i5; return -1; }, s5.prototype.bG = function(t5) { return 0 <= this.fF(t5); }, s5.lG = function(t5, i5, s6, n4) { for (var h2 = i5; h2 < s6; h2++) { for (var r2 = t5[h2], e2 = h2 - 1; e2 >= i5 && 0 < n4(t5[e2], r2); ) t5[e2 + 1] = t5[e2], e2--; t5[e2 + 1] = r2; } }, s5.sx = function(t5, i5, s6) { var n4 = t5[s6]; t5[s6] = t5[i5], t5[i5] = n4; }, s5.kB = function(t5, i5, n4, h2) { if (!(i5 >= n4)) for (; ; ) { if (9 > n4 - i5) { s5.lG(t5, i5, n4 + 1, h2); break; } var r2 = t5[i5]; s5.sx(t5, i5, n4); for (var e2 = i5, o2 = i5; o2 < n4; o2++) 0 >= h2(t5[o2], r2) && (s5.sx(t5, e2, o2), e2 += 1); s5.sx(t5, e2, n4), e2 - i5 < n4 - e2 ? (s5.kB(t5, i5, e2 - 1, h2), i5 = e2 + 1) : (s5.kB(t5, e2 + 1, n4, h2), n4 = e2 - 1); } }, s5; }(); t4.ja = s4; }(V || (V = {})), function(t4) { function i4(t5, i5, s5, n4) { s5 = new Int8Array(t5.subarray(s5, n4)), t5.set(s5, i5); } var s4 = function() { function s5(t5) { this.o = null; var i5 = t5; 2 > i5 && (i5 = 2), this.o = new Int8Array(i5), this.size = t5; } return s5.prototype.rotate = function(i5, s6, n4) { if (this.Pb) throw t4.i.ga("invalid_call"); if (s6 < i5 || s6 > n4 || i5 > n4) throw t4.i.O(); i5 != s6 && n4 != s6 && (this.pi(i5, s6 - i5, 1), this.pi(s6, n4 - s6, 1), this.pi(i5, n4 - i5, 1)); }, s5.rf = function(t5, i5) { var n4 = new s5(t5), h2 = n4.o; if (2 > t5 && (t5 = 2), i5 !== 0) for (var r2 = 0; r2 < t5; r2++) h2[r2] = i5; return n4; }, s5.Cn = function(t5) { var i5 = new s5(0); return i5.o = new Int8Array(t5.o), i5.size = t5.size, i5; }, s5.Nr = function(t5, i5) { var n4 = new s5(0); return n4.size = t5.size, n4.size > i5 && (n4.size = i5), 2 > (i5 = n4.size) && (i5 = 2), n4.o = new Int8Array(i5), n4.o.set(t5.o.length <= i5 ? t5.o : t5.o.subarray(0, i5), 0), n4; }, s5.prototype.Jb = function(t5) { 0 >= t5 || (this.o == null ? this.o = new Int8Array(t5) : t5 <= this.o.length || (0 < this.o.length ? ((t5 = new Int8Array(t5)).set(this.o), this.o = t5) : this.o = new Int8Array(t5))); }, s5.prototype.read = function(t5) { return this.o[t5]; }, s5.prototype.uc = function(t5, i5) { i5.x = this.o[t5], i5.y = this.o[t5 + 1]; }, s5.prototype.get = function(t5) { return this.o[t5]; }, s5.prototype.write = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6; }, s5.prototype.set = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6; }, s5.prototype.Vt = function(i5, s6) { if (this.Pb) throw t4.i.Hb(); this.o[i5] = s6.x, this.o[i5 + 1] = s6.y; }, s5.prototype.add = function(t5) { this.resize(this.size + 1), this.o[this.size - 1] = t5; }, s5.prototype.AB = function(t5) { return s5.Nr(this, t5); }, s5.prototype.Bg = function(t5) { return this.read(t5); }, s5.prototype.resize = function(i5, s6) { if (s6 === void 0 && (s6 = 0), this.qk) throw t4.i.ga("invalid call. Attribute Stream is locked and cannot be resized."); if (i5 <= this.size) { if (30 < this.o.length && 5 * i5 / 4 < this.o.length) { var n4 = new Int8Array(this.o, 0, i5); this.o = n4; } } else { i5 > this.o.length && (n4 = t4.P.truncate(64 > i5 ? Math.max(2 * i5, 4) : 5 * i5 / 4), (n4 = new Int8Array(n4)).set(this.o), this.o = n4), n4 = this.o; for (var h2 = this.size; h2 < i5; h2++) n4[h2] = s6; } this.size = i5; }, s5.prototype.Dh = function(i5) { if ((this.o == null || i5 > this.o.length) && this.resize(i5), this.qk) throw t4.i.ga("invalid call. Attribute Stream is locked and cannot be resized."); this.size = i5; }, s5.prototype.rr = function(t5, i5) { this.write(t5, i5); }, s5.prototype.Bn = function(i5, s6, n4) { for (var h2 = this.size; s6 < h2 && s6 < n4; s6++) i5 = t4.P.Vh(this.read(s6), i5); return i5; }, s5.prototype.Nb = function(t5, i5, n4) { if (t5 == null || !(t5 instanceof s5)) return false; var h2 = this.size, r2 = t5.size; if (n4 > h2 || n4 > r2 && h2 != r2) return false; for (n4 > h2 && (n4 = h2); i5 < n4; i5++) if (this.read(i5) != t5.read(i5)) return false; return true; }, s5.prototype.addRange = function(i5, s6, n4, h2, r2) { if (this.Pb) throw t4.i.Hb(); if (!h2 && (1 > r2 || n4 % r2 != 0)) throw t4.i.O(); var e2 = this.size; if (this.resize(e2 + n4), h2) this.o.set(i5.o.subarray(s6, s6 + n4), e2); else { h2 = n4; for (var o2 = 0; o2 < n4; o2 += r2) { h2 -= r2; for (var a2 = 0; a2 < r2; a2++) this.o[e2 + o2 + a2] = i5.o[s6 + h2 + a2]; } } }, s5.prototype.Nn = function(s6, n4, h2, r2, e2, o2, a2) { if (this.Pb) throw t4.i.Hb(); if (!e2 && (1 > o2 || r2 % o2 != 0)) throw t4.i.O(); if (i4(this.o, s6 + r2, s6, s6 + (a2 - s6)), this.o == n4.o && s6 < h2 && (h2 += r2), e2) this.o.set(n4.o.subarray(h2, h2 + r2), s6); else for (e2 = r2, a2 = 0; a2 < r2; a2 += o2) { e2 -= o2; for (var u2 = 0; u2 < o2; u2++) this.o[s6 + a2 + u2] = n4.o[h2 + e2 + u2]; } }, s5.prototype.Mn = function(s6, n4, h2, r2) { if (this.Pb) throw t4.i.Hb(); for (r2 -= s6, i4(this.o, s6 + r2, s6, s6 + r2), r2 = 0; r2 < h2; r2++) this.o[s6 + r2] = n4; }, s5.prototype.Dz = function(s6, n4, h2, r2, e2, o2) { if (this.Pb) throw t4.i.Hb(); if (0 > o2 && (o2 = this.size), this.size + 2 * r2 > this.o.length ? this.resize(this.size + 2 * r2) : this.size += 2 * r2, i4(this.o, s6 + 2 * r2, s6, s6 + (o2 - s6)), e2) for (e2 = 0; e2 < r2; e2++) o2 = n4[h2++], this.o[s6++] = o2.x, this.o[s6++] = o2.y; else { e2 = 0; for (var a2 = r2 - 1; e2 < r2; ++e2) o2 = n4[h2 + a2], this.o[s6++] = o2.x, this.o[s6++] = o2.y, a2--; } }, s5.prototype.xj = function(s6, n4, h2) { if (this.Pb) throw t4.i.Hb(); i4(this.o, s6 + 2, s6, s6 + (h2 - s6)), this.o[s6] = n4.x, this.o[s6 + 1] = n4.y; }, s5.prototype.Wt = function(i5, s6, n4, h2, r2, e2) { if (0 > i5 || 0 > s6 || 0 > h2) throw t4.i.O(); if (!r2 && (0 >= e2 || s6 % e2 != 0)) throw t4.i.O(); if (n4.size < h2 + s6) throw t4.i.O(); if (s6 != 0) if (this.size < s6 + i5 && this.resize(s6 + i5), n4 == this) this.Cr(i5, s6, h2, r2, e2); else if (r2) for (r2 = 0; r2 < s6; r2++) this.o[i5] = n4.o[h2], i5++, h2++; else if (h2 = h2 + s6 - e2, e2 == 1) for (r2 = 0; r2 < s6; r2++) this.o[i5] = n4.o[h2], i5++, h2--; else for (r2 = 0, s6 = t4.P.truncate(s6 / e2); r2 < s6; r2++) { for (var o2 = 0; o2 < e2; o2++) this.o[i5 + o2] = n4.o[h2 + o2]; i5 += e2, h2 -= e2; } }, s5.prototype.Fn = function(s6, n4, h2) { if (this.Pb) throw t4.i.Hb(); if (s6 + n4 > this.size) throw t4.i.Hb(); 0 < h2 - (s6 + n4) && i4(this.o, s6, s6 + n4, s6 + (h2 - (s6 + n4)) + n4), this.size -= n4; }, s5.prototype.pi = function(i5, s6, n4) { if (this.Pb) throw t4.i.Hb(); if (1 > n4 || s6 % n4 != 0) throw t4.i.Hb(); for (var h2 = s6 >> 1, r2 = 0; r2 < h2; r2 += n4) { s6 -= n4; for (var e2 = 0; e2 < n4; e2++) { var o2 = this.o[i5 + r2 + e2]; this.o[i5 + r2 + e2] = this.o[i5 + s6 + e2], this.o[i5 + s6 + e2] = o2; } } }, s5.prototype.Yj = function(i5, s6, n4) { if (0 > s6 || 0 > n4 || 0 > s6 || n4 + s6 > this.size) throw t4.i.O(); for (var h2 = s6; h2 < s6 + n4; h2++) this.o[h2] = i5; }, s5.prototype.Cr = function(i5, s6, n4, h2, r2) { if (!(h2 && i5 == n4 || (this.o.set(this.o.subarray(n4, n4 + s6), i5), h2))) for (n4 = i5, i5 = i5 + s6 - r2, h2 = 0, s6 = t4.P.truncate(s6 / 2); h2 < s6; h2++) { for (var e2 = 0; e2 < r2; e2++) { var o2 = this.o[n4 + e2]; this.o[n4 + e2] = this.o[i5 + e2], this.o[i5 + e2] = o2; } n4 += r2, i5 -= r2; } }, s5.prototype.pC = function(i5, s6, n4, h2, r2) { if (0 > i5 || 0 > s6 || 0 > h2) throw t4.i.O(); if (s6 != 0) for (this.size < (s6 << 1) + i5 && this.resize((s6 << 1) + i5), r2 || (i5 += s6 - 1 << 1), r2 = r2 ? 2 : -2, s6 += h2; h2 < s6; h2++) this.o[i5] = n4[h2].x, this.o[i5 + 1] = n4[h2].y, i5 += r2; }, s5.prototype.Xw = function(i5, s6, n4, h2, r2) { if (0 > i5 || 0 > s6 || 0 > h2 || this.size < s6 + i5) throw t4.i.O(); if (r2) for (r2 = 0; r2 < s6; r2++) n4[h2 + r2] = this.o[i5 + r2]; else for (h2 = h2 + s6 - 1; i5 < s6; i5++) n4[h2] = this.o[i5], h2--; }, s5.prototype.clear = function(t5) { t5 ? this.resize(0) : this.Dh(0); }, s5.prototype.ix = function() { this.qk = this.Pb = true; }, s5.prototype.Wd = function(t5, i5, s6) { i5 = this.o.subarray(t5, i5), Array.prototype.sort.call(i5, s6), this.o.set(i5, t5); }, s5.prototype.tJ = function(i5, s6) { if (this.Pb) throw t4.i.ga("invalid call. Attribute Stream is read only."); this.o[i5] |= s6; }, s5.prototype.EE = function(i5, s6) { if (this.Pb) throw t4.i.ga("invalid call. Attribute Stream is read only."); this.o[i5] &= ~s6; }, s5.prototype.Vp = function() { return 1; }, s5; }(); t4.rn = s4; }(V || (V = {})), function(t4) { t4.Zc = function() { function i4() { } return i4.Or = function(i5, s4) { return t4.rn.rf(i5, s4); }, i4.En = function(i5, s4) { return t4.ce.rf(i5, s4); }, i4.jP = function(i5, s4, n4) { switch (i5) { case 1: i5 = t4.ce.rf(s4, n4); break; case 2: i5 = t4.ja.rf(s4, n4); break; case 4: i5 = t4.rn.rf(s4, n4); break; default: throw t4.i.Ra(); } return i5; }, i4.SE = function(s4, n4) { return i4.jP(t4.ua.Vp(s4), n4 * t4.ua.Wa(s4), t4.ua.te(s4)); }, i4.Qh = function(i5, s4) { return t4.ja.rf(i5, s4); }, i4.kI = function(t5) { var i5, s4 = []; for (i5 = 0; i5 < t5; i5++) s4.push(null); return s4; }, i4; }(); }(V || (V = {})), function(t4) { t4.ha = function(t5) { t5 === void 0 && (t5 = 0), this.u = t5; }; }(V || (V = {})), function(t4) { t4.HL = function() { function i4() { } return i4.bind = function(i5) { t4.Tc = i5.PeDefs, t4.qf = i5.PeFactory, t4.HC = i5.PeVertcs, t4.gj = i5.PeCSTransformations, t4.GC = i5.PeGTTransformations, t4.FL = i5.PeGeogtran, t4.EL = i5.PeFactoryCodechange, t4.FC = i5.PeGCSExtent, t4.Eg = i5.PePCSInfo, t4.GL = i5.PeHorizon, t4.DL = i5.PeCoordsys, t4.mp = i5.PeGTlistExtended, t4.mp.PE_GTLIST_OPTS_USE_DEFAULT = 128, t4.qf.initialize(null), t4.Lx = i5.PeGTlistExtendedEntry, t4.qf.fromString(t4.Tc.PE_TYPE_UNIT, 'UNIT["Meter",1.0]'); }, i4; }(), t4.qf = null, t4.HC = null, t4.DL = null, t4.GL = null, t4.Eg = null, t4.mp = null, t4.Lx = null, t4.FC = null, t4.EL = null, t4.FL = null, t4.Tc = null, t4.GC = null, t4.gj = null; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { } return t5.Mb = function(i5, s4) { return 0 <= s4 ? t5.R(i5) : -t5.R(i5); }, t5.R = function(t6) { return 0 > t6 ? -t6 : t6; }, t5.vi = function(t6) { return 3552713678800501e-30 > t6; }, t5.EC = function(i5, s4, n4) { return t5.R(i5 - s4) <= n4 * (1 + (t5.R(i5) + t5.R(s4)) / 2); }, t5.$ = function(i5, s4) { return t5.EC(i5, s4, 3552713678800501e-30); }, t5.zL = function(i5) { return 3552713678800501e-30 >= t5.R(i5); }, t5.Dd = function(i5) { return t5.zL(i5); }, t5; }(); t4.s = i4, t4.F = function() { function s4() { } return s4.hp = function(t5, s5) { var n4 = 0; return (t5 = i4.R(t5)) + (s5 = i4.R(s5)) != 0 && (t5 > s5 ? (n4 = s5 / t5, n4 = t5 * Math.sqrt(1 + n4 * n4)) : (n4 = t5 / s5, n4 = s5 * Math.sqrt(1 + n4 * n4))), n4; }, s4.Yq = function(t5, n4, h2, r2, e2) { for (var o2 = [0, 0, 0], a2 = [0, 0, 0], u2 = 0; 2 >= u2; u2++) n4[u2] -= t5[u2], h2[u2] -= n4[u2]; h2 = o2[1] * a2[2] - o2[2] * a2[1], n4 = o2[2] * a2[0] - o2[0] * a2[2], o2 = o2[0] * a2[1] - o2[1] * a2[0], t5 = -1 * (h2 * t5[0] + n4 * t5[1] + o2 * t5[2]), r2[0] = h2, r2[1] = n4, r2[2] = o2, r2[3] = t5, a2 = s4.qn(r2), r2[0] /= a2, r2[1] /= a2, r2[2] /= a2, r2[3] /= a2, e2 != 0 && (a2 = i4.Dd(o2) ? i4.Dd(t5) ? i4.Mb(1, n4) : -i4.Mb(1, t5) : i4.Mb(1, o2), a2 *= i4.Mb(1, e2), r2[0] *= a2, r2[1] *= a2, r2[2] *= a2, r2[3] *= a2); }, s4.yx = function(t5, i5, s5) { s5[0] = t5[1] * i5[2] - i5[1] * t5[2], s5[1] = t5[2] * i5[0] - i5[2] * t5[0], s5[2] = t5[0] * i5[1] - i5[0] * t5[1]; }, s4.Ut = function(t5, i5) { return t5[0] * i5[0] + t5[1] * i5[1] + t5[2] * i5[2]; }, s4.qn = function(t5) { return s4.hp(s4.hp(t5[0], t5[1]), t5[2]); }, s4.el = function(t5, i5, n4, h2, r2, e2, o2, a2) { t5 = s4.n(t5, i5, n4); var u2 = Math.cos(n4); e2.u = (t5 + r2) * u2 * Math.cos(h2), o2.u = (t5 + r2) * u2 * Math.sin(h2), a2.u = (t5 * (1 - i5) + r2) * Math.sin(n4); }, s4.dO = function(t5, n4, h2, r2, e2, o2, a2) { var u2 = s4.hp(n4, h2), f2 = 1 * Math.sqrt(1 - t5), c2 = f2 / 1; if (i4.$(u2, 0)) o2.u = 0, e2.u = i4.Mb(1.570796326794897, r2), a2.u = i4.R(r2) - f2; else { o2.u = Math.atan2(h2, n4), h2 = Math.atan2(1 * r2, f2 * u2), o2 = Math.cos(h2); var l2 = Math.sin(h2); n4 = f2 * t5 / (1 - t5), t5 *= 1, h2 = Math.atan2(r2 + n4 * l2 * l2 * l2, u2 - t5 * o2 * o2 * o2), 3.141592653589793 < i4.R(h2) && (h2 = i4.Mb(3.141592653589793, h2) - h2), h2 = Math.atan(c2 * Math.tan(h2)), l2 = Math.sin(h2), o2 = Math.cos(h2), e2.u = Math.atan2(r2 + n4 * l2 * l2 * l2, u2 - t5 * o2 * o2 * o2), 1.570796326794897 < i4.R(e2.u) && (e2.u = i4.Mb(3.141592653589793, e2.u) - e2.u), h2 = Math.atan(c2 * Math.tan(e2.u)), l2 = Math.sin(h2), o2 = Math.cos(h2), a2.u = (r2 - f2 * l2) * Math.sin(e2.u) + (u2 - 1 * o2) * Math.cos(e2.u); } }, s4.n = function(t5, i5, s5) { return s5 = Math.sin(s5), t5 / Math.sqrt(1 - i5 * s5 * s5); }, s4.pt = function(t5, i5) { return Math.atan2(Math.sin(i5) * (1 - t5), Math.cos(i5)); }, s4.Sj = function(t5, i5) { return Math.atan2(Math.sin(i5), Math.cos(i5) * (1 - t5)); }, s4.Tq = function(t5, n4) { if (i4.vi(t5) || n4 == 0 || i4.$(i4.R(n4), 1.570796326794897)) return n4; if (0.006884661117170036 > t5) { var h2 = Math.sqrt(1 - t5), r2 = (1 - h2) / (1 + h2), e2 = r2 * r2, o2 = r2 * e2, a2 = r2 * o2, u2 = r2 * a2, f2 = r2 * u2, c2 = r2 * f2, l2 = 1.572916666666667 * o2 - 3.2578125 * u2 + 4.295068359375 * c2; t5 = 2.142578125 * a2 - 6.071484375 * f2, h2 = 3.129296875 * u2 - 11.249837239583334 * c2; var p2 = 4.775276692708333 * f2, v2 = 7.958636765252976 * c2, y2 = Math.cos(2 * n4); return n4 + Math.sin(2 * n4) * (1.5 * r2 - 0.84375 * o2 + 0.525390625 * u2 - 0.2688395182291667 * c2 - l2 + h2 - v2 + y2 * (2 * (1.3125 * e2 - 1.71875 * a2 + 1.650146484375 * f2) - 4 * t5 + 6 * p2 + y2 * (4 * l2 - 12 * h2 + 24 * v2 + y2 * (8 * t5 - 32 * p2 + y2 * (16 * h2 - 80 * v2 + y2 * (32 * p2 + 64 * y2 * v2)))))); } for (h2 = 1 - t5, r2 = t5 / 2, o2 = (e2 = i4.R(n4)) * s4.av(t5) / (1.570796326794897 * h2), a2 = 9999, f2 = e2, e2 = 0; 1e-16 < a2 && 50 > e2; e2++) c2 = s4.w(t5, f2), u2 = f2 - (l2 = (u2 = (s4.eG(f2, t5) - r2 * Math.sin(2 * f2) / c2) / h2 - o2) / (c2 = 1 / (c2 * c2 * c2))), a2 = i4.R(l2), f2 = u2; return 0 <= n4 ? f2 : -f2; }, s4.iW = function(t5, n4) { return i4.vi(n4) ? t5 : t5 * s4.av(n4) / 1.570796326794897; }, s4.ca = function(t5) { return 0 > (t5 = s4.jF(t5, 6.283185307179586)) ? t5 + 6.283185307179586 : 3.141592653589793 > i4.R(t5) || i4.$(i4.R(t5), 3.141592653589793) ? t5 : t5 - 6.283185307179586; }, s4.jF = function(t5, i5) { return t5 - Math.floor(t5 / i5) * i5; }, s4.Ch = function(t5, i5) { if (0.006884661117170036 > i5) { var n4 = (i5 = (1 - (i5 = Math.sqrt(1 - i5))) / (1 + i5)) * i5, h2 = n4 * n4; return t5 / (1 + i5) * (1 + 0.25 * n4 + 0.015625 * h2 + 390625e-8 * n4 * h2) * 1.570796326794897; } return t5 * s4.av(i5); }, s4.Xq = function(t5, n4) { var h2 = i4.Mb(1, Math.sin(n4)); return n4 = 1.570796326794897 >= (n4 = i4.R(s4.jF(n4, 3.141592653589793))) ? n4 : 3.141592653589793 - n4, (i4.$(n4, 1.570796326794897) ? n4 : Math.atan(Math.sqrt(1 - t5) * Math.tan(n4))) * h2; }, s4.q = function(t5, i5, n4) { if (0.006884661117170036 > i5) { var h2 = (i5 = (1 - (i5 = Math.sqrt(1 - i5))) / (1 + i5)) * i5, r2 = i5 * h2, e2 = i5 * r2, o2 = i5 * e2, a2 = i5 * o2, u2 = i5 * a2, f2 = -0.7291666666666666 * r2 + 0.2278645833333333 * o2 + 0.03987630208333334 * u2, c2 = 0.615234375 * e2 - 0.21533203125 * a2, l2 = -0.54140625 * o2 + 0.20302734375 * u2, p2 = 0.48876953125 * a2, v2 = -0.4488699776785715 * u2, y2 = Math.cos(2 * n4); return t5 / (1 + i5) * ((1 + 0.25 * h2 + 0.015625 * e2 + 390625e-8 * a2) * n4 + Math.sin(2 * n4) * (-1.5 * i5 + 0.1875 * r2 + 0.0234375 * o2 + 0.00732421875 * u2 - f2 + l2 - v2 + y2 * (2 * (0.9375 * h2 - 0.234375 * e2 - 0.03662109375 * a2) - 4 * c2 + 6 * p2 + y2 * (4 * f2 - 12 * l2 + 24 * v2 + y2 * (8 * c2 - 32 * p2 + y2 * (16 * l2 - 80 * v2 + y2 * (32 * p2 + 64 * y2 * v2))))))); } return t5 * (s4.eG(n4, i5) - 0.5 * i5 * Math.sin(2 * n4) / s4.w(i5, n4)); }, s4.w = function(t5, i5) { return i5 = Math.sin(i5), Math.sqrt(1 - t5 * i5 * i5); }, s4.av = function(t5) { return i4.EC(t5, 1, 2220446049250313e-31) ? 1 : 1 > t5 ? s4.Zw(0, 1 - t5) - t5 / 3 * s4.Ww(0, 1 - t5) : NaN; }, s4.eG = function(n4, h2) { var r2 = i4.Mb(1, n4); n4 = i4.R(n4); var e2 = Math.floor(n4 / 1.570796326794897); if (1 < h2) h2 = n4 == 0 ? 0 : NaN; else if (i4.Dd(e2)) h2 = (n4 = s4.sin(n4)) * s4.Zw(1 - n4 * n4, 1 - h2 * n4 * n4) - h2 / 3 * n4 * n4 * n4 * s4.Ww(1 - n4 * n4, 1 - h2 * n4 * n4); else { var o2 = t4.P.truncate(e2 % 2), a2 = s4.av(h2); 0 < o2 ? h2 = a2 * (e2 + 1) - (h2 = (n4 = Math.sin(1.570796326794897 * (e2 + 1) - n4)) * s4.Zw(1 - n4 * n4, 1 - h2 * n4 * n4) - h2 / 3 * n4 * n4 * n4 * s4.Ww(1 - n4 * n4, 1 - h2 * n4 * n4)) : h2 = a2 * e2 + (h2 = (n4 = Math.sin(n4 - 1.570796326794897 * e2)) * s4.Zw(1 - n4 * n4, 1 - h2 * n4 * n4) - h2 / 3 * n4 * n4 * n4 * s4.Ww(1 - n4 * n4, 1 - h2 * n4 * n4)); } return h2 * r2; }, s4.sin = function(t5) { t5 = s4.ca(t5); var n4 = i4.Mb(1, t5); return t5 = i4.R(t5), i4.$(t5, 3.141592653589793) ? 0 : i4.$(t5, 1.570796326794897) ? 1 * n4 : Math.sin(t5) * n4; }, s4.Ww = function(t5, s5) { var n4, h2, r2, e2, o2 = t5, a2 = s5, u2 = 1; for (s5 = 0, t5 = 1; h2 = ((n4 = 0.2 * (o2 + a2 + 3 * u2)) - o2) / n4, r2 = (n4 - a2) / n4, e2 = (n4 - u2) / n4, !(1e-4 > i4.R(h2) && 1e-4 > i4.R(r2) && 1e-4 > i4.R(e2)); ) e2 = Math.sqrt(a2), s5 += t5 / ((n4 = Math.sqrt(u2)) * (u2 + (e2 = Math.sqrt(o2) * (e2 + n4) + e2 * n4))), t5 *= 0.25, o2 = 0.25 * (o2 + e2), a2 = 0.25 * (a2 + e2), u2 = 0.25 * (u2 + e2); return a2 = (o2 = h2 * r2) - (u2 = e2 * e2), 3 * s5 + t5 * (1 + (u2 = o2 - 6 * u2) * (0.10227272727272728 * u2 - 0.2142857142857143 - 0.1730769230769231 * e2 * (h2 = u2 + a2 + a2)) + e2 * (0.1666666666666667 * h2 + e2 * (-0.4090909090909091 * a2 + 0.1153846153846154 * e2 * o2))) / (n4 * Math.sqrt(n4)); }, s4.Zw = function(t5, s5) { for (var n4, h2, r2, e2, o2 = 1; h2 = 2 - ((n4 = (t5 + s5 + o2) / 3) + t5) / n4, r2 = 2 - (n4 + s5) / n4, e2 = 2 - (n4 + o2) / n4, !(1e-4 > i4.R(h2) && 1e-4 > i4.R(r2) && 1e-4 > i4.R(e2)); o2 = 0.25 * (o2 + n4)) n4 = Math.sqrt(s5), h2 = Math.sqrt(o2), t5 = 0.25 * (t5 + (n4 = Math.sqrt(t5) * (n4 + h2) + n4 * h2)), s5 = 0.25 * (s5 + n4); return (1 + (0.04166666666666666 * (t5 = h2 * r2 - e2 * e2) - 0.1 - 0.06818181818181818 * (s5 = h2 * r2 * e2)) * t5 + 0.07142857142857142 * s5) / Math.sqrt(n4); }, s4.Sw = function(t5, s5) { if (i4.vi(t5) || s5 == 0 || i4.$(i4.R(s5), 1.570796326794897)) return s5; if (0.006884661117170036 > t5) { var n4 = t5 * t5, h2 = t5 * n4, r2 = t5 * h2, e2 = t5 * r2, o2 = t5 * e2, a2 = t5 * o2, u2 = -(0.02708333333333333 * h2 + 0.03430059523809524 * r2 + 0.03149181547619048 * e2 + 0.02634359154541446 * o2 + 0.02156896735835538 * a2), f2 = 0.007669890873015873 * r2 + 0.01299603174603175 * e2 + 0.0148051353064374 * o2 + 0.01454454953803912 * a2, c2 = -(0.002275545634920635 * e2 + 0.004830845032667949 * o2 + 0.006558395368616723 * a2), l2 = 6957236677288761e-19 * o2 + 0.001775193002406544 * a2, p2 = -217324089394402e-18 * a2, v2 = Math.cos(2 * s5); return s5 + Math.sin(2 * s5) * (-(0.5 * t5 + 0.2083333333333333 * n4 + 0.09375 * h2 + 0.04878472222222222 * r2 + 0.02916666666666667 * e2 + 0.01938905423280423 * o2 + 0.01388255931712963 * a2) - u2 + c2 - p2 + v2 * (2 * (0.1041666666666667 * n4 + 0.0875 * h2 + 0.06050347222222222 * r2 + 0.04151785714285714 * e2 + 0.02958958540013228 * o2 + 0.02203667534722222 * a2) - 4 * f2 + 6 * l2 + v2 * (4 * u2 - 12 * c2 + 24 * p2 + v2 * (8 * f2 - 32 * l2 + v2 * (16 * c2 - 80 * p2 + v2 * (32 * l2 + 64 * v2 * p2)))))); } return s5 == 0 || i4.$(i4.R(s5), 1.570796326794897) ? n4 = s5 : (r2 = (h2 = Math.sqrt(t5)) * Math.sin(s5), n4 = Math.tan(0.7853981633974483 + s5 / 2) * Math.pow((1 - r2) / (1 + r2), h2 / 2), n4 = 2 * Math.atan(n4) - 1.570796326794897), n4; }, s4.sO = function(t5, s5) { if (i4.vi(t5) || s5 == 0 || i4.$(i4.R(s5), 1.570796326794897)) return s5; if (0.006884661117170036 > t5) { var n4 = t5 * (l2 = t5 * (c2 = t5 * (v2 = t5 * t5))), h2 = t5 * (p2 = t5 * n4), r2 = 0.05833333333333333 * c2 + 0.07232142857142858 * l2 + 0.05634300595238095 * n4 + 0.0355325796406526 * p2 + 0.020235546186067 * h2, e2 = 0.02653149801587302 * l2 + 0.04379960317460317 * n4 + 0.0429211791776896 * p2 + 0.03255384637546096 * h2, o2 = 0.01294022817460318 * n4 + 0.02668104344536636 * p2 + 0.03155651254609588 * h2, a2 = 0.00659454790965208 * p2 + 0.0163075268674227 * h2, u2 = 0.003463473736911237 * h2, f2 = Math.cos(2 * s5); return s5 + Math.sin(2 * s5) * (0.5 * t5 + 0.2083333333333333 * v2 + 0.08333333333333333 * c2 + 0.03611111111111111 * l2 + 0.01875 * n4 + 0.01195601851851852 * p2 + 0.008863673941798942 * h2 - r2 + o2 - u2 + f2 * (2 * (0.1458333333333333 * v2 + 0.1208333333333333 * c2 + 0.07039930555555556 * l2 + 0.03616071428571429 * n4 + 0.01839451058201058 * p2 + 0.01017113095238095 * h2) - 4 * e2 + 6 * a2 + f2 * (4 * r2 - 12 * o2 + 24 * u2 + f2 * (8 * e2 - 32 * a2 + f2 * (16 * o2 - 80 * u2 + f2 * (32 * a2 + 64 * f2 * u2)))))); } var c2 = Math.sqrt(t5), l2 = c2 / 2, p2 = Math.tan(0.7853981633974483 + s5 / 2); t5 = 0, r2 = 1; for (var v2 = s5; r2 != 0; v2 = h2) n4 = c2 * Math.sin(v2), h2 = p2 * Math.pow((1 + n4) / (1 - n4), l2), h2 = 2 * Math.atan(h2) - 1.570796326794897, t5++, (i4.$(h2, v2) || 3e4 < t5) && (r2 = 0); return v2; }, s4; }(); }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.wl = this.Ws = null, this.Kv = false, this.AA = this.BA = 0, this.BH = new t4.h(), this.RH = new t4.h(), this.EA = false, this.xq = new t4.l(), this.qH = this.uw = 0, this.vw = null, this.Bl = false, this.Fo = null, this.Xz = 0, this.Re = i6, this.Cs = t4.Ab.zv(this.Re, 0, true), this.BH.Sc(), this.RH.Sc(), this.LH = NaN; var s4 = i6.getCode(); 0 < s4 ? (this.Lk = s4, t4.qf.getCode(i6)) : this.Lk = t4.qf.getCode(i6), 0 > this.Lk && (this.Lk = 0); var n4 = this.Re.getType(); if (this.dH = n4 == t4.Tc.PE_TYPE_PROJCS ? 2 : 1, n4 == t4.Tc.PE_TYPE_PROJCS && !i6.loadConstants()) throw t4.i.O("PeProjcs.loadConstants failed"); s4 = n4 == t4.Tc.PE_TYPE_GEOGCS ? this.Re : this.Re.getGeogcs(), n4 != t4.Tc.PE_TYPE_GEOGCS && t4.qf.getCode(s4), this.Fo = i6.getUnit(), this.LH = s4.getPrimem().getLongitude(), this.qH = i6 = s4.getUnit().getUnitFactor(), i6 = Math.PI / (180 * i6), 1e-10 > Math.abs(i6 - 1) && (i6 = 1), this.AA = i6, (n4 & t4.Tc.PE_TYPE_PROJCS) != 0 ? (s4 = this.Re, this.BA = 1 / s4.getUnit().getUnitFactor(), this.uw = 1e-3 / this.Re.getUnit().getUnitFactor(), this.vw = t4.Eg.generate(s4, t4.Eg.PE_PCSINFO_OPTION_NONE), this.Bl = this.vw.isPannableRectangle(), this.Xz = t4.Ab.kN(this.vw.getCentralMeridian(), this.AA)) : (this.EA = this.Bl = true, this.BA = 0, n4 = 1 / s4.getUnit().getUnitFactor(), this.uw = 1e-3 / s4.getDatum().getSpheroid().getAxis() * n4, this.Xz = 0), this.Bl && (this.wx(), this.xK(), this.fY(), this.wK(), this.dY(), this.eY()); } return i5.prototype.cs = function() { return this.Lk; }, i5.prototype.lk = function() { return this.vw; }, i5.Ky = function(t5, i6) { return t5 == i6 || t5 != null && i6 != null && t5.Lk == 0 && i6.Lk == 0 && t5.Cs === i6.Cs; }, i5.prototype.Xc = function() { return this.Bl; }, i5.prototype.ih = function(t5) { t5.L(this.to); }, i5.prototype.rv = function() { return this.to.v; }, i5.prototype.qv = function() { return this.to.C; }, i5.prototype.AR = function(t5) { t5.L(this.ww); }, i5.prototype.dY = function() { var i6 = this.Re.getType(); if (i6 == t4.Tc.PE_TYPE_PROJCS) { i6 = this.Re; var s4 = this.lk().getCentralMeridian(), n4 = i6.getGeogcs(); if (n4 == null) throw t4.i.ga("internal error"); s4 = [[s4 + (n4 = 1 / n4.getUnit().getUnitFactor() * Math.PI), 0]], t4.gj.geogToProj(i6, 1, s4), s4 = s4[0][0], n4 = i6.getParameters()[t4.Tc.PE_PARM_X0].getValue(); var h2 = this.ol(); i6 = new t4.l(), h2.A(i6), s4 = (h2 = Math.abs(s4 - n4)) + n4, n4 = -1 * h2 + n4, h2 = i6.H, i6 = i6.G; var r2 = new t4.l(); r2.L(n4, i6, s4, h2), this.to == null && (this.to = r2); } else { if (i6 != t4.Tc.PE_TYPE_GEOGCS) throw t4.i.ga("internal error"); n4 = 1 / this.Re.getUnit().getUnitFactor() * Math.PI, (i6 = new t4.l()).L(-n4, -n4 / 2, n4, n4 / 2), this.to == null && (this.to = i6); } }, i5.prototype.eY = function() { var i6 = this.Re.getType(); if (i6 == t4.Tc.PE_TYPE_PROJCS) { var s4 = this.Re; if (i6 = this.lk().getCentralMeridian(), (s4 = s4.getGeogcs()) == null) throw t4.i.ga("internal error"); s4 = 1 / s4.getUnit().getUnitFactor() * Math.PI; var n4 = this.Xr(), h2 = new t4.l(); n4.A(h2), (n4 = new t4.l()).L(i6 - s4, h2.G, i6 + s4, h2.H), this.ww == null && (this.ww = n4); } else { if (i6 != t4.Tc.PE_TYPE_GEOGCS) throw t4.i.ga("internal error"); s4 = 1 / this.Re.getUnit().getUnitFactor() * Math.PI, (i6 = new t4.l()).L(-s4, -s4 / 2, s4, s4 / 2), this.ww == null && (this.ww = i6); } }, i5.prototype.bf = function() { return this.AA; }, i5.prototype.rm = function() { return this.BA; }, i5.prototype.Xr = function() { if (this.Bl) return this.wl; var t5 = this.wl; return t5 != null ? t5 : (this.wx(), this.wl); }, i5.prototype.Yr = function() { return this.Bl ? null : (this.wl != null || this.wx(), this.SG); }, i5.prototype.wx = function() { if (this.Re.getType() == t4.Tc.PE_TYPE_PROJCS) { var i6 = this.Re, s4 = i6.getGeogcs(), n4 = i6.horizonGcsGenerate(); if (n4 != null) { var h2 = n4[0].getNump(), r2 = n4[0].getKind(); i6 = 0 < n4[0].getInclusive(); var e2 = this.bf(), o2 = 90 * e2, a2 = 360 * e2, u2 = 370 * e2, f2 = 180 * e2 * t4.Tc.PE_HORIZON_DELTA / Math.PI, c2 = new t4.l(), l2 = null; if (1 < h2) { for (var p2 = 1; p2 < h2; p2++) if (n4[p2].getKind() == t4.Tc.PE_HORIZON_LINE) { l2 == null && (l2 = new t4.Ua()); var v2 = n4[p2].getCoord(); l2.rx(v2[0][0], v2[0][1]), l2.Aj(v2[1][0], v2[1][1]); } } if (r2 == t4.Tc.PE_HORIZON_RECT) n4 = n4[0].getCoord(), c2.L(n4[0][0], n4[0][1]), c2.$b(n4[1][0], n4[1][1]), Math.abs(c2.H - o2) < 1e-7 * f2 && (c2.H = o2), Math.abs(c2.G + o2) < 1e-7 * f2 && (c2.G = -o2), c2.S() > u2 && (n4 = -400 * e2, c2.L(n4, c2.G, n4 + 5 * a2, c2.H)), n4 = new t4.Hh(c2), this.wl == null && (this.wl = n4, this.Kv = i6); else { if (u2 = new t4.Ea(), a2 = this.lk().isGcsHorizonMultiOverlap(), c2 = t4.iu.WE(s4, t4.ju.Integer64), a2) { for (u2 = new t4.aL(), f2 = t4.Ih.local().W(u2, c2, null), p2 = 0; p2 < h2; p2++) if (n4[p2].getKind() == t4.Tc.PE_HORIZON_POLY) { for (s4 = n4[p2].getSize(), e2 = n4[p2].getCoord(), r2 = [], o2 = 0; o2 < s4; o2++) r2[o2] = t4.h.construct(e2[o2][0], e2[o2][1]); n4[p2].getInclusive(), a2 && ((e2 = new t4.Ea()).$k(r2, s4 - 1), u2.RX(e2), f2.qe()); } u2 = f2.next(); } else for (p2 = 0; p2 < h2; p2++) if (n4[p2].getKind() == t4.Tc.PE_HORIZON_POLY) { for (s4 = n4[p2].getSize(), e2 = n4[p2].getCoord(), a2 = [], o2 = 0; o2 < s4; o2++) a2[o2] = t4.h.construct(e2[o2][0], e2[o2][1]); n4[p2].getInclusive(), u2.$k(a2, s4 - 1); } i6 ? t4.Xk.local().xn(u2, c2, 1) : t4.lp.local().xn(u2, c2, 1), t4.fj.local().xn(u2, c2, 1), this.wl == null && (this.wl = u2, this.Kv = i6, this.SG = l2); } } } }, i5.prototype.kv = function() { return this.Bl || this.wl == null && this.wx(), this.Kv; }, i5.prototype.xK = function() { if (this.dH == 2) { var i6 = this.Re.horizonPcsGenerate(); if (i6 != null) { var s4 = i6[0].getKind(); i6[0].getInclusive(); var n4 = i6[0].getNump(), h2 = false; if (s4 == t4.Tc.PE_HORIZON_RECT) i6 = i6[0].getCoord(), (n4 = new t4.l()).L(i6[0][0], i6[0][1]), n4.$b(i6[1][0], i6[1][1]), i6 = new t4.Hh(n4); else { for (s4 = -1, h2 = 0; h2 < n4; h2++) i6[h2].getKind() == t4.Tc.PE_HORIZON_POLY && (s4 = h2); for (h2 = i6[s4].getSize() - 1, i6 = i6[s4].getCoord(), n4 = [], s4 = 0; s4 < h2; s4++) n4[s4] = t4.h.construct(i6[s4][0], i6[s4][1]); i6 = s4 = new t4.Ea(), s4.$k(n4, h2), h2 = true; } this.lk().isDensificationNeeded() && (n4 = 1e5 * this.rm(), i6 = t4.Zl.local().W(i6, n4, null)), h2 && (h2 = new t4.Hh(), i6.dn(h2), i6.He(), i6.Rb(), i6.jR(), t4.Xk.local().xn(i6, null, 1)), this.Ws == null && (this.Ws = i6); } } }, i5.prototype.ol = function() { if (this.Bl) return this.Ws; var t5 = this.Ws; return t5 != null ? t5 : (this.xK(), this.Ws); }, i5.prototype.fY = function() { if (this.Re.getType() == t4.Tc.PE_TYPE_PROJCS) { var i6 = 90 * this.bf(); i6 = [[0, i6], [0, -i6]], t4.gj.geogToProj(this.Re, 2, i6); var s4 = this.lk(), n4 = s4.getNorthPoleLocation() != t4.Eg.PE_POLE_OUTSIDE_BOUNDARY; s4 = s4.getSouthPoleLocation() != t4.Eg.PE_POLE_OUTSIDE_BOUNDARY, this.EA || (n4 && this.BH.na(i6[0][0], i6[0][1]), s4 && this.RH.na(i6[1][0], i6[1][1])); } this.EA = true; }, i5.prototype.wK = function() { if (this.dH == 1) { var i6 = 400 * this.bf(); this.xq.L(-i6, -i6, i6, i6); } else i6 = t4.Eg.generate(this.Re, t4.Eg.PE_PCSINFO_OPTION_DOMAIN), i6 = t4.l.construct(i6.getDomainMinx(), i6.getDomainMiny(), i6.getDomainMaxx(), i6.getDomainMaxy()), this.xq.B() && this.xq.L(i6); }, i5.prototype.bR = function(t5) { this.Bl && t5.L(this.xq), this.xq.B() && this.wK(), t5.L(this.xq); }, i5.prototype.Wp = function() { return this.LH; }, i5.prototype.Bi = function() { return this.Xz; }, i5.prototype.Id = function() { return this.Fo; }, i5.prototype.Zr = function() { return this.qH; }, i5; }(); t4.IC = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.CT = i6, this.Cs = t4.Ab.zv(i6, 0, true); var s4 = i6.getCode(); this.us = 0 < s4 ? s4 : t4.qf.getCode(i6), 0 > this.us && (this.us = 0), this.Fo = s4 = this.CT.getUnit(), this.CH = 1 / s4.getUnitFactor(), t4.qf.getCode(i6); } return i5.Ky = function(t5, i6) { return t5 == i6 || t5 != null && i6 != null && t5.us == 0 && i6.us == 0 && t5.Cs === i6.Cs; }, i5.prototype.cs = function() { return this.us; }, i5; }(); t4.JL = i4; }(V || (V = {})), function(t4) { t4.$g = function() { function i4() { } return i4.ub = function(i5, s4, n4, h2, r2, e2, o2, a2) { if (e2 != null || o2 != null || a2 != null) { h2 = t4.F.ca(h2), s4 = t4.F.ca(s4), n4 = t4.F.ca(n4), r2 = t4.F.ca(r2), 1.570796326794897 < t4.s.R(n4) && (n4 = t4.s.Mb(3.141592653589793, n4) - n4, s4 = t4.F.ca(s4 + 3.141592653589793)), 1.570796326794897 < t4.s.R(r2) && (r2 = t4.s.Mb(3.141592653589793, r2) - r2, h2 = t4.F.ca(h2 + 3.141592653589793)); var u2 = t4.F.ca(h2 - s4); if (t4.s.$(n4, r2) && (t4.s.$(s4, h2) || t4.s.$(t4.s.R(n4), 1.570796326794897))) e2 != null && (e2.u = 0), o2 != null && (o2.u = 0), a2 != null && (a2.u = 0); else { if (t4.s.$(n4, -r2)) { if (t4.s.$(t4.s.R(n4), 1.570796326794897)) return e2 != null && (e2.u = 3.141592653589793 * i5), o2 != null && (o2.u = 0 < n4 ? t4.F.ca(3.141592653589793 - t4.F.ca(h2)) : t4.F.ca(h2)), void (a2 != null && (a2.u = 0 < n4 ? t4.F.ca(h2) : t4.F.ca(3.141592653589793 - t4.F.ca(h2)))); if (t4.s.$(t4.s.R(u2), 3.141592653589793)) return e2 != null && (e2.u = 3.141592653589793 * i5), o2 != null && (o2.u = 0), void (a2 != null && (a2.u = 0)); } var f2 = t4.s.R(n4) == 1.570796326794897 ? 0 : Math.cos(n4), c2 = Math.sin(n4), l2 = t4.s.R(r2) == 1.570796326794897 ? 0 : Math.cos(r2), p2 = Math.sin(r2), v2 = t4.s.R(u2) == 1.570796326794897 ? 0 : Math.cos(u2), y2 = t4.s.R(u2) == 3.141592653589793 ? 0 : Math.sin(u2); if (e2 != null) { var b2 = Math.sin((r2 - n4) / 2); u2 = Math.sin(u2 / 2), e2.u = 2 * Math.asin(Math.sqrt(b2 * b2 + f2 * l2 * u2 * u2)) * i5; } o2 != null && (o2.u = t4.s.$(t4.s.R(n4), 1.570796326794897) ? 0 > n4 ? h2 : t4.F.ca(3.141592653589793 - h2) : Math.atan2(l2 * y2, f2 * p2 - c2 * l2 * v2)), a2 != null && (t4.s.$(t4.s.R(r2), 1.570796326794897) ? a2.u = 0 > r2 ? s4 : t4.F.ca(3.141592653589793 - s4) : (a2.u = Math.atan2(f2 * y2, p2 * f2 * v2 - l2 * c2), a2.u = t4.F.ca(a2.u + 3.141592653589793))); } } }, i4.sf = function(i5, s4, n4, h2, r2, e2, o2) { if (e2 != null || o2 != null) { s4 = t4.F.ca(s4), n4 = t4.F.ca(n4), 1.570796326794897 < t4.s.R(n4) && (n4 = t4.s.Mb(3.141592653589793, n4) - n4, s4 = t4.F.ca(s4 + 3.141592653589793)), t4.s.$(t4.s.R(n4), 1.570796326794897) && (s4 = 0), r2 = t4.F.ca(r2); var a2 = t4.s.$(t4.s.R(r2), 1.570796326794897) ? 0 : Math.cos(r2), u2 = t4.s.$(t4.s.R(r2), 3.141592653589793) ? 0 : Math.sin(r2), f2 = t4.s.$(t4.s.R(n4), 1.570796326794897) ? 0 : Math.cos(n4), c2 = Math.sin(n4); i5 = h2 / i5, h2 = t4.s.$(t4.s.R(i5), 1.570796326794897) ? 0 : Math.cos(i5); var l2 = t4.s.$(t4.s.R(i5), 3.141592653589793) ? 0 : Math.sin(i5), p2 = Math.asin(c2 * h2 + f2 * l2 * a2); o2 != null && (o2.u = p2), e2 != null && (e2.u = t4.s.$(t4.s.R(p2), 1.570796326794897) ? t4.s.$(n4, -p2) ? 0 > p2 ? r2 : t4.F.ca(3.141592653589793 - r2) : s4 : t4.s.$(t4.s.R(n4), 1.570796326794897) && t4.s.$(i5, 3.141592653589793) ? 0 > n4 ? r2 : t4.F.ca(3.141592653589793 - r2) : t4.F.ca(s4 + Math.atan2(l2 * u2, f2 * h2 - c2 * l2 * a2))); } }, i4; }(); }(V || (V = {})), function(t4) { t4.Yk = function() { function i4() { } return i4.ub = function(i5, s4, n4, h2, r2, e2, o2, a2, u2) { var f2 = new t4.ha(0), c2 = new t4.ha(0), l2 = [0, 0, 0], p2 = [0, 0, 0], v2 = [0, 0, 0], y2 = new t4.ha(0), b2 = new t4.ha(0), d2 = new t4.ha(0), g2 = new t4.ha(0), w2 = new t4.ha(0); if (o2 != null || a2 != null || u2 != null) if (t4.s.vi(s4)) t4.$g.ub(i5, n4, h2, r2, e2, o2, a2, u2); else { r2 = t4.F.ca(r2), n4 = t4.F.ca(n4); var x2 = t4.F.ca(r2 - n4); if (t4.s.$(h2, e2) && (t4.s.$(n4, r2) || t4.s.$(t4.s.R(h2), 1.570796326794897))) o2 != null && (o2.u = 0), a2 != null && (a2.u = 0), u2 != null && (u2.u = 0); else { if (t4.s.$(h2, -e2)) { if (t4.s.$(t4.s.R(h2), 1.570796326794897)) return o2 != null && (o2.u = 2 * t4.F.Ch(i5, s4)), a2 != null && (a2.u = 0 < h2 ? t4.F.ca(3.141592653589793 - t4.F.ca(r2)) : t4.F.ca(r2)), void (u2 != null && (u2.u = 0 < h2 ? t4.F.ca(r2) : t4.F.ca(3.141592653589793 - t4.F.ca(r2)))); t4.s.$(t4.s.R(x2), 3.141592653589793) && (o2 != null && (o2.u = 2 * t4.F.Ch(i5, s4)), a2 != null && (a2.u = 0), u2 != null && (u2.u = 0)); } else (t4.s.$(t4.s.R(h2), 1.570796326794897) || t4.s.$(t4.s.R(e2), 1.570796326794897)) && (t4.s.$(t4.s.R(h2), 1.570796326794897) ? n4 = r2 : r2 = n4); var m2 = 0; if (0 > x2) { m2 = 1; var j2 = n4; n4 = r2, r2 = j2, j2 = h2, h2 = e2, e2 = j2; } x2 = t4.F.pt(s4, h2); var k2 = t4.F.pt(s4, e2); a2 == null && u2 == null || (t4.$g.ub(i5, n4, x2, r2, k2, null, f2, c2), f2 = Math.atan2(Math.sin(f2.u) * Math.cos(h2 - x2), Math.cos(f2.u)), c2 = Math.atan2(Math.sin(c2.u) * Math.cos(e2 - k2), Math.cos(c2.u)), m2 != 0 && (j2 = f2, f2 = c2, c2 = j2), a2 != null && (a2.u = f2), u2 != null && (u2.u = c2)), o2 != null && (t4.F.el(1, s4, h2, n4, 0, d2, g2, w2), l2[0] = d2.u, l2[1] = g2.u, l2[2] = w2.u, t4.F.el(1, s4, e2, r2, 0, d2, g2, w2), p2[0] = d2.u, p2[1] = g2.u, p2[2] = w2.u, v2[0] = l2[1] * p2[2] - p2[1] * l2[2], v2[1] = -(l2[0] * p2[2] - p2[0] * l2[2]), v2[2] = l2[0] * p2[1] - p2[0] * l2[1], s4 = 1 - t4.F.w(s4, t4.F.Xq(s4, t4.F.Sj(s4, Math.acos(v2[2] / Math.sqrt(v2[0] * v2[0] + v2[1] * v2[1] + v2[2] * v2[2]))))), s4 *= 2 - s4, a2 = Math.atan2(-v2[1], -v2[0]), v2 = t4.F.ca(a2 - 1.570796326794897), a2 = t4.F.ca(a2 + 1.570796326794897), v2 = t4.s.R(t4.F.ca(n4 - v2)) <= t4.s.R(t4.F.ca(n4 - a2)) ? v2 : a2, t4.$g.ub(1, v2, 0, n4, x2, y2, null, null), t4.$g.ub(1, v2, 0, r2, k2, b2, null, null), 3.141592653589793 < y2.u + b2.u && (v2 = t4.F.ca(v2 + 3.141592653589793), t4.$g.ub(1, v2, 0, n4, x2, y2, null, null), t4.$g.ub(1, v2, 0, r2, k2, b2, null, null)), y2.u *= t4.s.Mb(1, h2), b2.u *= t4.s.Mb(1, e2), y2.u = t4.F.Sj(s4, y2.u), b2.u = t4.F.Sj(s4, b2.u), n4 = t4.F.q(i5, s4, y2.u), i5 = t4.F.q(i5, s4, b2.u), o2.u = t4.s.R(i5 - n4)); } } }, i4.sf = function(i5, s4, n4, h2, r2, e2, o2, a2) { var u2 = 0, f2 = new t4.ha(0), c2 = new t4.ha(0), l2 = [0, 0, 0], p2 = [0, 0, 0], v2 = new t4.ha(0), y2 = new t4.ha(0), b2 = new t4.ha(0); if (o2 != null || a2 != null) if (t4.s.vi(s4)) t4.$g.sf(i5, n4, h2, r2, e2, o2, a2); else if (t4.s.Dd(r2)) o2 != null && (o2.u = n4), a2 != null && (a2.u = h2); else if (e2 = t4.F.ca(e2), 0 > r2 && (r2 = t4.s.R(r2), e2 = t4.F.ca(e2 + 3.141592653589793)), n4 = t4.F.ca(n4), h2 = t4.F.ca(h2), 1.570796326794897 < t4.s.R(h2) && (n4 = t4.F.ca(n4 + 3.141592653589793), h2 = t4.s.Mb(3.141592653589793, h2) - h2), t4.s.$(t4.s.R(h2), 1.570796326794897) && (n4 = 0), t4.s.Dd(h2)) { var d2 = t4.s.R(1.570796326794897 - t4.s.R(e2)); d2 = t4.F.Sj(s4, d2), d2 = 1 - t4.F.w(s4, t4.F.Xq(s4, d2)), d2 *= 2 - d2, i5 = r2 / t4.F.Ch(i5, d2) * 1.570796326794897, i5 = t4.F.Tq(d2, i5), i5 = t4.F.pt(d2, i5), t4.$g.sf(1, n4, h2, i5, e2, o2, f2), a2 != null && (u2 = f2.u), a2 != null && (a2.u = t4.F.Sj(s4, u2)); } else if (t4.s.$(t4.s.R(h2), 1.570796326794897)) f2 = 2 * (u2 = t4.F.Ch(i5, s4)), e2 = 0 < (i5 = t4.s.Mb(1.570796326794897, h2)) ? t4.F.ca(3.141592653589793 - e2) : e2, h2 = u2 - r2, t4.s.R(h2) <= u2 ? o2 != null && (o2.u = e2) : (h2 = Math.floor(r2 / f2), t4.P.truncate(h2 % 2) == 0 ? (o2 != null && (o2.u = e2), r2 -= h2 * f2) : (o2 != null && (o2.u = t4.F.ca(e2 + 3.141592653589793)), r2 = (h2 + 1) * f2 - r2), h2 = u2 - r2), a2 != null && (a2.u = t4.F.Tq(s4, h2 / u2 * i5)); else { d2 = t4.F.pt(s4, h2), e2 = Math.atan2(Math.sin(e2), Math.cos(e2) * Math.cos(h2 - d2)); var g2 = t4.P.truncate(t4.s.Mb(1, d2)) * (1.570796326794897 >= t4.s.R(e2) ? 1 : -1); e2 = t4.F.ca(n4 + Math.atan(Math.tan(e2) * -Math.sin(d2))), t4.$g.ub(i5, e2, 0, n4, d2, null, c2, null), d2 = t4.s.R(1.570796326794897 - t4.s.R(c2.u)), d2 = t4.F.Sj(s4, d2), d2 = 1 - t4.F.w(s4, t4.F.Xq(s4, d2)), d2 *= 2 - d2, t4.F.el(1, s4, 0, e2, 0, v2, y2, b2), l2[0] = v2.u, l2[1] = y2.u, l2[2] = b2.u, t4.F.el(1, s4, h2, n4, 0, v2, y2, b2), p2[0] = v2.u, p2[1] = y2.u, p2[2] = b2.u, h2 = Math.acos((l2[0] * p2[0] + l2[1] * p2[1] + l2[2] * p2[2]) / Math.sqrt(p2[0] * p2[0] + p2[1] * p2[1] + p2[2] * p2[2])), h2 = t4.F.Sj(d2, h2), r2 = 0 < (h2 = t4.F.q(i5, d2, h2) + r2 * g2) ? c2.u : t4.F.ca(c2.u + 3.141592653589793), i5 = t4.s.R(h2) / t4.F.Ch(i5, d2) * 1.570796326794897, i5 = t4.F.Tq(d2, i5), i5 = t4.F.pt(d2, i5), t4.$g.sf(1, e2, 0, i5, r2, o2, f2), a2 != null && (u2 = f2.u), a2 != null && (a2.u = t4.F.Sj(s4, u2)); } }, i4; }(); }(V || (V = {})), function(t4) { t4.eu = function() { function i4() { } return i4.ub = function(i5, s4, n4, h2, r2, e2, o2, a2, u2) { var f2 = 0, c2 = 0, l2 = 0; if (o2 != null || a2 != null || u2 != null) if (t4.s.vi(s4)) t4.$g.ub(i5, n4, h2, r2, e2, o2, a2, u2); else { var p2 = t4.F.ca(r2 - n4); if (t4.s.$(h2, e2) && (t4.s.Dd(p2) || t4.s.$(t4.s.R(h2), 1.570796326794897))) o2 != null && (o2.u = 0), a2 != null && (a2.u = 0), u2 != null && (u2.u = 0); else { if (t4.s.$(h2, -e2)) { if (t4.s.$(t4.s.R(h2), 1.570796326794897)) return o2 != null && (o2.u = 2 * t4.F.Ch(i5, s4)), a2 != null && (a2.u = 0 < h2 ? t4.F.ca(3.141592653589793 - t4.F.ca(r2)) : t4.F.ca(r2)), void (u2 != null && (u2.u = 0 < h2 ? t4.F.ca(r2) : t4.F.ca(3.141592653589793 - t4.F.ca(r2)))); t4.s.$(t4.s.R(p2), 3.141592653589793) && (o2 != null && (o2.u = 2 * t4.F.Ch(i5, s4)), a2 != null && (a2.u = 0), u2 != null && (u2.u = 0)); } else { if (t4.s.$(t4.s.R(h2), 1.570796326794897) || t4.s.$(t4.s.R(e2), 1.570796326794897)) return void t4.Yk.ub(i5, s4, n4, h2, r2, e2, o2, a2, u2); if (t4.s.Dd(p2) || t4.s.$(t4.s.R(p2), 3.141592653589793)) return void t4.Yk.ub(i5, s4, n4, h2, r2, e2, o2, a2, u2); } var v2 = 1 - Math.sqrt(1 - s4), y2 = s4 / (1 - s4), b2 = i5 * (1 - v2); i5 = t4.F.Xq(s4, h2); var d2 = t4.F.Xq(s4, e2); s4 = t4.s.R(i5) == 1.570796326794897 ? 0 : Math.cos(i5); var g2 = Math.sin(i5), w2 = t4.s.R(d2) == 1.570796326794897 ? 0 : Math.cos(d2), x2 = Math.sin(d2), m2 = p2, j2 = Math.cos(m2), k2 = Math.sin(m2), M2 = 1, z2 = 0; do { var A2 = m2, N2 = Math.sqrt(Math.pow(w2 * k2, 2) + Math.pow(s4 * x2 - g2 * w2 * j2, 2)), I2 = g2 * x2 + s4 * w2 * j2, P2 = Math.atan2(N2, I2); if (N2 == 0) { M2 = 0; break; } var C2 = s4 * w2 * k2 / N2; if (f2 = Math.cos(Math.asin(C2)), c2 = I2 - 2 * g2 * x2 / (f2 *= f2), 1 < t4.s.R(c2) && (c2 = t4.s.Mb(1, c2)), m2 = p2 + (1 - (m2 = v2 / 16 * f2 * (4 + v2 * (4 - 3 * f2)))) * v2 * C2 * (P2 + m2 * N2 * (c2 + m2 * I2 * (2 * (l2 = c2 * c2) - 1))), j2 = Math.cos(m2), k2 = Math.sin(m2), z2++, 3.141592653589793 < t4.s.R(m2) && 30 < z2) { M2 = 0; break; } } while (5e3 >= z2 && !t4.s.$(A2, m2)); if (M2 != 0) v2 = (y2 *= f2) * (256 + y2 * (y2 * (74 - 47 * y2) - 128)) / 1024, o2 != null && (o2.u = b2 * (1 + y2 * (4096 + y2 * (y2 * (320 - 175 * y2) - 768)) / 16384) * (P2 - v2 * N2 * (c2 + v2 / 4 * (I2 * (2 * l2 - 1) - v2 / 6 * c2 * (4 * N2 * N2 - 3) * (4 * l2 - 3))))), a2 != null && (a2.u = t4.s.$(t4.s.R(h2), 1.570796326794897) ? 0 > h2 ? r2 : t4.F.ca(3.141592653589793 - r2) : Math.atan2(w2 * k2, s4 * x2 - g2 * w2 * j2)), u2 != null && (t4.s.$(t4.s.R(e2), 1.570796326794897) ? u2.u = 0 > e2 ? n4 : t4.F.ca(3.141592653589793 - n4) : (u2.u = Math.atan2(s4 * k2, s4 * x2 * j2 - g2 * w2), u2.u = t4.F.ca(u2.u + 3.141592653589793))); else { m2 = t4.s.Mb(3.141592653589793, p2), I2 = g2 * x2 - s4 * w2, P2 = Math.acos(I2), N2 = Math.sin(P2), f2 = 1, z2 = C2 = 0; do { l2 = C2, j2 = 1 - 0.25 * (C2 = v2 * (f2 *= f2) * (1 + v2 + v2 * v2)) + 0.1875 * (c2 = v2 * v2 * (j2 = f2 * f2) * (1 + 2.25 * v2)) - 0.1953125 * (M2 = v2 * v2 * v2 * j2 * f2), C2 = 0.25 * C2 - 0.25 * c2 + 0.29296875 * M2, k2 = 0.03125 * c2 - 0.05859375 * M2, M2 *= 0.00651041666666667, c2 = I2 - 2 * g2 * x2 / f2, 1 < t4.s.R(c2) && (c2 = t4.s.Mb(1, c2)), f2 = Math.acos(c2), I2 = Math.cos(2 * f2), A2 = Math.cos(3 * f2), k2 = (C2 = t4.s.$(h2, -e2) ? t4.F.ca(3.141592653589793 - p2) / (3.141592653589793 * v2 * j2) : t4.F.ca(m2 - p2) / (v2 * (j2 * P2 + C2 * N2 * c2 + k2 * Math.sin(2 * P2) * I2 + M2 * Math.sin(3 * P2) * A2))) * N2 / (s4 * w2), m2 = 1.570796326794897 < t4.s.R(p2) ? t4.s.Mb(3.141592653589793, k2) - Math.asin(k2) : Math.asin(k2), j2 = Math.cos(m2), N2 = Math.sqrt(Math.pow(w2 * k2, 2) + Math.pow(s4 * x2 - g2 * w2 * j2, 2)), P2 = 3.141592653589793 - Math.asin(t4.s.R(N2)), I2 = Math.cos(P2), f2 = Math.cos(Math.asin(C2)), z2++; } while (70 >= z2 && !t4.s.$(l2, C2)); o2 != null && (j2 = 1 + (y2 *= f2 *= f2) * (4096 + y2 * (y2 * (320 - 175 * y2) - 768)) / 16384, t4.s.$(h2, -e2) ? o2.u = 3.141592653589793 * b2 * j2 : (c2 = I2 - 2 * g2 * x2 / f2, f2 = Math.acos(c2), I2 = Math.cos(2 * f2), A2 = Math.cos(3 * f2), o2.u = b2 * (j2 * P2 + y2 * (y2 * (128 + y2 * (35 * y2 - 60)) - 512) / 2048 * N2 * c2 + y2 * (5 * y2 - 4) / 6144 * y2 * y2 * Math.sin(2 * P2) * I2 + M2 * Math.sin(3 * P2) * A2 + -762939453125e-16 * y2 * y2 * y2 * y2 * Math.sin(4 * P2) * Math.cos(4 * f2)))), a2 != null && (t4.s.Dd(h2) && t4.s.Dd(e2) ? (f2 = Math.sqrt(1 - C2 * C2), a2.u = Math.acos(f2), 0 > p2 && (a2.u *= -1)) : t4.s.$(t4.s.R(h2), 1.570796326794897) ? a2.u = 0 > h2 ? r2 : t4.F.ca(3.141592653589793 - r2) : (o2 = C2 / s4, b2 = Math.sqrt(1 - o2 * o2), 0 > s4 * x2 - g2 * w2 * Math.cos(m2) && (b2 *= -1), a2.u = Math.atan2(o2, b2), t4.s.$(h2, -e2) && t4.s.R(t4.F.ca(n4 - r2)) > 3.141592653589793 * (1 - v2 * Math.cos(h2)) && (0 < h2 && 1.570796326794897 > t4.s.R(a2.u) || 0 > h2 && 1.570796326794897 < t4.s.R(a2.u)) && (a2.u = t4.s.Mb(3.141592653589793, a2.u) - a2.u))), u2 != null && (t4.s.Dd(h2) && t4.s.Dd(e2) ? (f2 = Math.sqrt(1 - C2 * C2), u2.u = Math.acos(f2), 0 <= p2 && (u2.u *= -1)) : t4.s.$(t4.s.R(e2), 1.570796326794897) ? u2.u = 0 > e2 ? n4 : t4.F.ca(3.141592653589793 - n4) : (p2 = C2 / w2, o2 = Math.sqrt(1 - p2 * p2), b2 = Math.sin(m2 / 2), 0 > Math.sin(d2 - i5) - 2 * s4 * x2 * b2 * b2 && (o2 *= -1), u2.u = Math.atan2(p2, o2), u2.u = t4.F.ca(u2.u + 3.141592653589793), t4.s.$(h2, -e2) && !t4.s.Dd(h2) && !t4.s.$(t4.s.R(h2), 1.570796326794897) && t4.s.R(t4.F.ca(n4 - r2)) > 3.141592653589793 * (1 - v2 * Math.cos(h2)) && (a2 != null ? b2 = a2.u : (o2 = C2 / s4, b2 = Math.sqrt(1 - o2 * o2), 0 > s4 * x2 - g2 * w2 * Math.cos(m2) && (b2 *= -1), b2 = Math.atan2(o2, b2), t4.s.$(h2, -e2) && t4.s.R(t4.F.ca(n4 - r2)) > 3.141592653589793 * (1 - v2 * Math.cos(h2)) && (0 < h2 && 1.570796326794897 > t4.s.R(b2) || 0 > h2 && 1.570796326794897 < t4.s.R(b2)) && (b2 = t4.s.Mb(3.141592653589793, b2) - b2)), 1.570796326794897 >= t4.s.R(b2) && 1.570796326794897 < t4.s.R(u2.u) || 1.570796326794897 <= t4.s.R(b2) && 1.570796326794897 > t4.s.R(u2.u)) && (u2.u = -1 * t4.F.ca(u2.u + 3.141592653589793)))); } } } }, i4.sf = function(i5, s4, n4, h2, r2, e2, o2, a2) { if (o2 != null || a2 != null) if (t4.s.vi(s4)) t4.$g.sf(i5, n4, h2, r2, e2, o2, a2); else if (e2 = t4.F.ca(e2), t4.s.$(t4.s.R(h2), 1.570796326794897) || t4.s.Dd(e2) || t4.s.$(t4.s.R(e2), 3.141592653589793)) t4.Yk.sf(i5, s4, n4, h2, r2, e2, o2, a2); else { var u2 = t4.s.R(e2) == 1.570796326794897 ? 0 : Math.cos(e2), f2 = t4.s.R(e2) == 3.141592653589793 ? 0 : Math.sin(e2); t4.s.$(t4.s.R(h2), 1.570796326794897) && (n4 = 0), e2 = 1 - Math.sqrt(1 - s4); var c2 = t4.F.Xq(s4, h2); h2 = t4.s.R(c2) == 1.570796326794897 ? 0 : Math.cos(c2); var l2 = Math.sin(c2); c2 = Math.atan2(Math.tan(c2), u2); var p2 = h2 * f2, v2 = p2 * p2, y2 = 1 - v2, b2 = s4 / (1 - s4) * y2, d2 = (s4 = b2 * (256 + b2 * (b2 * (74 - 47 * b2) - 128)) / 1024) / 4, g2 = s4 / 6, w2 = r2 / (i5 * (1 - e2) * (1 + b2 * (4096 + b2 * (b2 * (320 - 175 * b2) - 768)) / 16384)), x2 = w2; do { var m2 = x2; r2 = t4.s.R(x2) == 1.570796326794897 ? 0 : Math.cos(x2); var j2 = (b2 = t4.s.R(x2) == 3.141592653589793 ? 0 : Math.sin(x2)) * b2; x2 = s4 * b2 * ((i5 = Math.cos(2 * c2 + x2)) + d2 * (r2 * (2 * (x2 = i5 * i5) - 1) - g2 * i5 * (4 * j2 - 3) * (4 * x2 - 3))) + w2; } while (!t4.s.$(m2, x2)); r2 = t4.s.R(x2) == 1.570796326794897 ? 0 : Math.cos(x2), b2 = t4.s.R(x2) == 3.141592653589793 ? 0 : Math.sin(x2), o2 != null && (f2 = Math.atan2(b2 * f2, h2 * r2 - l2 * b2 * u2), y2 = e2 / 16 * y2 * (4 + e2 * (4 - 3 * y2)), i5 = Math.cos(2 * c2 + x2), o2.u = t4.F.ca(n4 + (f2 - (1 - y2) * e2 * p2 * (x2 + y2 * b2 * (i5 + y2 * r2 * (2 * i5 * i5 - 1)))))), a2 != null && (y2 = l2 * b2 - h2 * r2 * u2, y2 = (1 - e2) * Math.sqrt(v2 + y2 * y2), a2.u = Math.atan2(l2 * r2 + h2 * b2 * u2, y2)); } }, i4; }(); }(V || (V = {})), function(t4) { t4.JC = function() { function i4() { } return i4.ub = function(i5, s4, n4, h2, r2, e2, o2, a2, u2) { var f2 = t4.F.ca(r2 - n4), c2 = t4.s.$(t4.s.R(h2), 1.570796326794897), l2 = t4.s.$(t4.s.R(e2), 1.570796326794897); if (t4.s.$(h2, e2) && (t4.s.Dd(f2) || c2)) o2 != null && (o2.u = 0), a2 != null && (a2.u = 0), u2 != null && (u2.u = 0); else { if (t4.s.vi(s4)) { var p2 = Math.sin(h2), v2 = Math.sin(e2); p2 = Math.sqrt((1 + p2) / (1 - p2)), v2 = Math.sqrt((1 + v2) / (1 - v2)), p2 = Math.log(v2) - Math.log(p2), p2 = Math.atan2(f2, p2), o2 != null && (o2.u = t4.s.$(h2, e2) ? t4.s.R(i5 * Math.cos(h2) * f2) : t4.s.R((i5 * e2 - i5 * h2) / Math.cos(p2))); } else v2 = t4.F.Sw(s4, e2), p2 = Math.sin(t4.F.Sw(s4, h2)), v2 = Math.sin(v2), p2 = Math.sqrt((1 + p2) / (1 - p2)), v2 = Math.sqrt((1 + v2) / (1 - v2)), p2 = Math.log(v2) - Math.log(p2), p2 = Math.atan2(f2, p2), o2 != null && (t4.s.$(h2, e2) ? o2.u = t4.s.R(i5 * f2 * Math.cos(h2) / t4.F.w(s4, h2)) : (f2 = t4.F.q(i5, s4, h2), i5 = t4.F.q(i5, s4, e2), o2.u = t4.s.R((i5 - f2) / Math.cos(p2)))); a2 == null && u2 == null || (o2 = t4.F.ca(p2 + 3.141592653589793), c2 && l2 || !c2 && !l2 || (c2 ? p2 = 0 > h2 ? r2 : t4.F.ca(3.141592653589793 - r2) : l2 && (o2 = 0 > e2 ? n4 : t4.F.ca(3.141592653589793 - n4))), a2 != null && (a2.u = p2), u2 != null && (u2.u = o2)); } }, i4.sf = function(i5, s4, n4, h2, r2, e2, o2, a2) { e2 = t4.F.ca(e2), 0 > r2 && (r2 = t4.s.R(r2), e2 = t4.F.ca(e2 + 3.141592653589793)), t4.s.vi(s4) ? t4.s.$(t4.s.R(h2), 1.570796326794897) ? (n4 = 0 > h2 ? e2 : t4.F.ca(3.141592653589793 - e2), 3.141592653589793 >= (e2 = r2 / i5 % 6.283185307179586) ? i5 = h2 - t4.s.Mb(e2, h2) : (n4 = t4.F.ca(n4 + 3.141592653589793), i5 = -h2 + t4.s.Mb(e2 - 3.141592653589793, h2))) : t4.s.$(t4.s.R(e2), 1.570796326794897) ? (n4 = t4.F.ca(n4 + t4.s.Mb(r2, e2) / (i5 * Math.cos(h2))), i5 = h2) : (i5 = h2 + r2 * Math.cos(e2) / i5, 1.570796326794897 < t4.s.R(i5) && (i5 = 1.570796326794897), t4.s.$(t4.s.R(i5), 1.570796326794897) && (t4.s.Dd(e2) || t4.s.$(t4.s.R(e2), 3.141592653589793)) || (1.570796316258184 < t4.s.R(i5) && (i5 = t4.s.Mb(1.570796316258184, i5)), s4 = Math.sin(h2), h2 = Math.sin(i5), s4 = Math.sqrt((1 + s4) / (1 - s4)), h2 = Math.sqrt((1 + h2) / (1 - h2)), s4 = Math.log(h2) - Math.log(s4), n4 = t4.F.ca(n4 + Math.tan(e2) * s4))) : t4.s.$(t4.s.R(h2), 1.570796326794897) ? (n4 = 0 > h2 ? e2 : t4.F.ca(3.141592653589793 - e2), e2 = r2 / t4.F.iW(i5, s4), 3.141592653589793 >= (e2 %= 6.283185307179586) ? i5 = h2 - t4.s.Mb(e2, h2) : (n4 = t4.F.ca(n4 + 3.141592653589793), i5 = -h2 + t4.s.Mb(e2 - 3.141592653589793, h2)), i5 = t4.F.Tq(s4, i5)) : t4.s.$(t4.s.R(e2), 1.570796326794897) ? (n4 = t4.F.ca(n4 + t4.s.Mb(r2, e2) * t4.F.w(s4, h2) / (i5 * Math.cos(h2))), i5 = h2) : (i5 = 1.570796326794897 * (r2 * Math.cos(e2) + t4.F.q(i5, s4, h2)) / t4.F.Ch(i5, s4), 1.570796326794897 < t4.s.R(i5) && (i5 = t4.s.Mb(1.570796326794897, i5)), i5 = t4.F.Tq(s4, i5), t4.s.$(t4.s.R(i5), 1.570796326794897) && (t4.s.Dd(e2) || t4.s.$(t4.s.R(e2), 3.141592653589793)) || (r2 = t4.F.Sw(s4, h2), h2 = t4.F.Sw(s4, i5), 1.570796316258184 < t4.s.R(h2) && (h2 = t4.s.Mb(1.570796316258184, i5), i5 = t4.F.sO(s4, h2)), s4 = Math.sin(r2), h2 = Math.sin(h2), s4 = Math.sqrt((1 + s4) / (1 - s4)), h2 = Math.sqrt((1 + h2) / (1 - h2)), s4 = Math.log(h2) - Math.log(s4), n4 = t4.F.ca(n4 + Math.tan(e2) * s4))), o2 != null && (o2.u = n4), a2 != null && (a2.u = i5); }, i4; }(); }(V || (V = {})), function(t4) { t4.kb = function() { function i4() { } return i4.Sy = function(i5, s4, n4, h2, r2, e2, o2) { t4.eu.ub(i5, s4, n4, h2, r2, e2, null, o2, null); }, i4.Ai = function(i5, s4, n4, h2, r2, e2, o2, a2) { t4.eu.sf(i5, s4, n4, h2, r2, e2, o2, a2); }, i4.xd = function(i5, s4, n4, h2, r2, e2, o2, a2, u2, f2) { switch (f2) { case 2: t4.Yk.ub(i5, s4, n4, h2, r2, e2, o2, a2, u2); break; case 3: t4.KC.ub(i5, s4, n4, h2, r2, e2, o2, a2, u2); break; case 1: t4.JC.ub(i5, s4, n4, h2, r2, e2, o2, a2, u2); break; default: t4.eu.ub(i5, s4, n4, h2, r2, e2, o2, a2, u2); } }, i4.qj = function(i5, s4, n4, h2, r2, e2, o2, a2, u2) { switch (u2) { case 2: t4.Yk.sf(i5, s4, n4, h2, r2, e2, o2, a2); break; case 3: t4.KC.sf(i5, s4, n4, h2, r2, e2, o2, a2); break; case 1: t4.JC.sf(i5, s4, n4, h2, r2, e2, o2, a2); break; default: t4.eu.sf(i5, s4, n4, h2, r2, e2, o2, a2); } }, i4; }(); }(V || (V = {})), function(t4) { var i4 = function() { function i5() { this.y = this.x = null; } return i5.construct = function(s5) { var n4 = new i5(); return n4.x = new t4.Xb(), n4.x.set(s5.x), n4.y = new t4.Xb(), n4.y.set(s5.y), n4; }, i5.PE = function(s5, n4) { var h2 = new i5(); return h2.x = new t4.Xb(), h2.x.set(s5), h2.y = new t4.Xb(), h2.y.set(n4), h2; }, i5.prototype.qg = function() { return this.x.qg() && this.y.qg(); }, i5.prototype.value = function() { return t4.h.construct(this.x.value(), this.y.value()); }, i5; }(); t4.nY = i4; var s4 = function() { function i5() { this.z = this.y = this.x = null; } return i5.construct = function(s5) { var n4 = new i5(); return n4.x = new t4.Xb(), n4.x.set(s5.x), n4.y = new t4.Xb(), n4.y.set(s5.y), n4.z = new t4.Xb(), n4.z.set(s5.z), n4; }, i5.PE = function(s5, n4, h2) { var r2 = new i5(); return r2.x = new t4.Xb(), r2.x.set(s5), r2.y = new t4.Xb(), r2.y.set(n4), r2.z = new t4.Xb(), r2.z.set(h2), r2; }, i5.prototype.qg = function() { return this.x.qg() && this.y.qg() && this.z.qg(); }, i5.prototype.value = function() { return new t4.Od(this.x.value(), this.y.value(), this.z.value()); }, i5.prototype.Sh = function(i6) { var s5 = new t4.Xb(), n4 = new t4.Xb(), h2 = new t4.Xb(); return s5.Ml(this.x, i6.x), n4.Ml(this.y, i6.y), h2.Ml(this.z, i6.z), (i6 = new t4.Xb()).YM(s5, n4), i6.add(h2), i6; }, i5.prototype.XE = function(s5) { var n4 = new i5(); n4.x.Ml(this.y, s5.z), n4.y.Ml(this.z, s5.x), n4.z.Ml(this.x, s5.y); var h2 = new t4.Xb(), r2 = new t4.Xb(), e2 = new t4.Xb(); return h2.Ml(this.z, s5.y), r2.Ml(this.x, s5.z), e2.Ml(this.y, s5.x), n4.x.sub(h2), n4.y.sub(r2), n4.z.sub(e2), n4; }, i5; }(); t4.oY = s4, t4.Nx = function() { function n4() { } return n4.yP = function(t5, i5, s5) { var h2 = i5.x; i5 = i5.y, n4.el(1, t5, Math.cos(h2), Math.sin(h2), Math.cos(i5), Math.sin(i5), s5); }, n4.xP = function(i5, s5) { var h2 = new t4.Od(); return n4.yP(i5, s5, h2), h2; }, n4.el = function(t5, i5, s5, n5, h2, r2, e2) { t5 /= Math.sqrt(1 - i5 * r2 * r2), e2.L(t5 * h2 * s5, t5 * h2 * n5, t5 * (1 - i5) * r2); }, n4.$u = function(i5, n5) { var h2 = new t4.Xb(), r2 = new t4.Xb(), e2 = new t4.Xb(), o2 = new t4.Xb(); h2.cos(n5.x), r2.sin(n5.x), e2.cos(n5.y), o2.sin(n5.y); var a2 = new t4.Xb(); return a2.set(o2), a2.Ag(o2), a2.Oo(i5), a2.Oo(-1), a2.eN(), a2.sqrt(), (n5 = new t4.Xb()).set(1), n5.lm(a2), (a2 = new t4.Xb()).set(n5), a2.Ag(e2), a2.Ag(h2), (h2 = new t4.Xb()).set(n5), h2.Ag(e2), h2.Ag(r2), (r2 = new t4.Xb()).set(n5), r2.Oo(1 - i5), r2.Ag(o2), s4.PE(a2, h2, r2); }, n4.KS = function(s5, h2, r2, e2) { if (Math.abs(h2.x - r2.x) > Math.PI || Math.abs(h2.y) > 0.5 * Math.PI || Math.abs(r2.y) > 0.5 * Math.PI || (Math.abs(h2.y) == 0.5 * Math.PI || Math.abs(r2.y) == 0.5 * Math.PI) && h2.x != r2.x) return NaN; if (e2 = n4.XA(e2, Math.min(h2.x, r2.x), Math.max(h2.x, r2.x)), !new t4.Oc(h2.x, r2.x).contains(e2)) return NaN; var o2 = i4.construct(h2); if (r2 = i4.construct(r2), o2 = n4.$u(s5, o2), r2 = n4.$u(s5, r2), (r2 = o2.XE(r2)).z.qg()) return h2.y; var a2 = new t4.Xb(); a2.set(r2.x), a2.lm(r2.z), a2.Oo(-1); var u2 = new t4.Xb(); u2.set(r2.y), u2.lm(r2.z), u2.Oo(-1); var f2 = new t4.Xb(); return f2.set(u2), f2.Ag(u2), (o2 = new t4.Xb()).set(a2), o2.Ag(a2), o2.add(f2), o2.sqrt(), o2.qg() || a2.qg() && u2.qg() ? h2.y : (h2 = Math.atan2(u2.value(), a2.value()), h2 = Math.atan2(o2.value() * Math.cos(h2 - e2), 1 - s5), e2 = n4.xP(s5, t4.h.construct(e2, h2)), s5 = new t4.Od(e2.x, e2.y, -e2.z), e2 = r2.value().Sh(e2), s5 = r2.value().Sh(s5), Math.abs(s5) < Math.abs(e2) && (h2 = -h2), h2); }, n4.Jz = function(s5, h2, r2, e2, o2) { if (o2[0] = NaN, o2[1] = NaN, Math.abs(h2.x - r2.x) > Math.PI || Math.abs(h2.y) > 0.5 * Math.PI || Math.abs(r2.y) > 0.5 * Math.PI || (Math.abs(h2.y) == 0.5 * Math.PI || Math.abs(r2.y) == 0.5 * Math.PI) && h2.x != r2.x || Math.abs(e2) >= 0.5 * Math.PI || 0 < h2.y && 0 < r2.y && h2.y > e2 && r2.y > e2 || 0 > h2.y && 0 > r2.y && h2.y < e2 && r2.y < e2) return 0; var a2 = i4.construct(h2), u2 = i4.construct(r2); a2 = n4.$u(s5, a2), u2 = n4.$u(s5, u2); var f2 = a2.XE(u2); if (f2.z.qg()) return new t4.Oc(h2.y, r2.y).contains(e2) ? (o2[0] = h2.x, 1) : 0; (u2 = new t4.Xb()).set(f2.x), u2.lm(f2.z), u2.Oo(-1), (a2 = new t4.Xb()).set(f2.y), a2.lm(f2.z), a2.Oo(-1), (f2 = new t4.Xb()).set(a2), f2.Ag(a2); var c2 = new t4.Xb(); return c2.set(u2), c2.Ag(u2), c2.add(f2), c2.sqrt(), c2.qg() || u2.qg() && a2.qg() ? e2 == 0 ? (o2[0] = h2.x, o2[1] = r2.x, 2) : 0 : (s5 = (1 - s5) * Math.tan(e2) / c2.value(), 1 < Math.abs(s5) ? 0 : (s5 = Math.acos(s5), f2 = Math.atan2(a2.value(), u2.value()), u2 = Math.min(h2.x, r2.x), a2 = Math.max(h2.x, r2.x), r2 = n4.XA(f2 - s5, u2, a2), s5 = e2 != 0 ? n4.XA(f2 + s5, u2, a2) : r2, e2 = 0, u2 <= r2 && r2 <= a2 && (o2[e2] = r2, e2++), s5 != r2 && u2 <= s5 && s5 <= a2 && (o2[e2] = s5, ++e2 == 2 && Math.abs(o2[0] - h2.x) > Math.abs(o2[1] - h2.x) && (h2 = o2[0], o2[0] = o2[1], o2[1] = h2)), e2)); }, n4.XA = function(t5, i5, s5) { return t5 > s5 ? t5 -= 2 * (i5 = Math.ceil((t5 - s5) / (2 * Math.PI))) * Math.PI : t5 < i5 && (t5 += 2 * (i5 = Math.ceil((i5 - t5) / (2 * Math.PI))) * Math.PI), t5; }, n4; }(); }(V || (V = {})), function(t4) { t4.RK = function() { function i4() { } return i4.SX = function(s4, n4) { var h2 = 8, r2 = [0, 0, 0, 0], e2 = new t4.h(); e2.N(n4), e2.scale(t4.cb.tc(s4).Id().Fc() == 9102 ? 1 : t4.cb.tc(s4).Id().ci / 3.141592653589793 * 180), -180 > e2.x ? (e2.x -= e2.x % 360, -180 > e2.x && (e2.x += 360)) : 180 < e2.x && (e2.x -= e2.x % 360, 180 < e2.x && (e2.x -= 360)), 90 < e2.y && (e2.y = 90), -90 > e2.y && (e2.y = -90); for (var o2 = -180, a2 = 180, u2 = (s4 = 5 * h2) - 1, f2 = (n4 = (s4 + 31) / 32) - 1; 0 <= f2; f2--) for (var c2 = u2 - 32 * f2, l2 = Math.min(32, s4 - 32 * f2), p2 = 1; p2 < l2; p2 += 2) { var v2 = 0.5 * (a2 + o2); e2.x >= v2 ? (r2[f2] |= 1 << c2, o2 = v2) : a2 = v2, c2 -= 2, u2 -= 2; } for (o2 = -90, a2 = 90, u2 = s4 - 2, f2 = n4 - 1; 0 <= f2; f2--) for (c2 = u2 - 32 * f2, l2 = Math.min(32, s4 - 32 * f2), p2 = 0; p2 < l2; p2 += 2) v2 = 0.5 * (a2 + o2), e2.y >= v2 ? (r2[f2] |= 1 << c2, o2 = v2) : a2 = v2, c2 -= 2, u2 -= 2; return i4.UP(r2, h2, h2); }, i4.UP = function(t5, i5, s4) { for (var n4 = [], h2 = 0; h2 < i5; h2++) n4[h2] = ""; for (var r2 = h2 = 0, e2 = 0; e2 < i5; e2++) { var o2 = t5[h2] >> r2 & 31; if (31 < (r2 += 5)) { var a2 = 37 - r2; o2 &= (1 << a2) - 1, r2 -= 32, o2 |= (t5[++h2] & (1 << r2) - 1) << a2; } n4[i5 - 1 - e2] = "0123456789bcdefghjkmnpqrstuvwxyz".split("")[o2]; } if (s4 > i5) for (e2 = 0; e2 < s4 - i5; e2++) n4.push("0"); else s4 < i5 && (n4.length = s4); return n4.join(""); }, i4; }(); }(V || (V = {})), function(t4) { var i4 = { gcstol: [0, 2e-9, 1, 2241706620489156e-24, 2, 2313672246530541e-24, 3, 898240164660333e-23, 4, 8982433838020134e-24, 5, 8982439417325895e-24, 6, 8982466029667677e-24, 7, 8982476760268133e-24, 8, 8982492642167149e-24, 9, 898251968292634e-23, 10, 898253685210448e-23, 11, 8982546725256576e-24, 12, 8982557456049832e-24, 13, 898257333682596e-23, 14, 8982575482995276e-24, 15, 8982578488197342e-24, 16, 8982579775336987e-24, 17, 89825840676828e-22, 18, 8982599090925448e-24, 19, 8982605529473397e-24, 20, 8982609220517402e-24, 21, 8982611968030573e-24, 22, 8982616260407152e-24, 23, 8982620552787834e-24, 24, 8982633429954492e-24, 25, 8982637722351582e-24, 26, 898264416095491e-23, 27, 8982646307158072e-24, 28, 8982654891980968e-24, 29, 8982667769246082e-24, 30, 8982674207892485e-24, 31, 8982680646548117e-24, 32, 8982682792768713e-24, 33, 8982685798042582e-24, 34, 8982689231436652e-24, 35, 898269137766135e-23, 36, 898269266624163e-23, 37, 8982705114087017e-24, 38, 8982706830791106e-24, 39, 8982711958374661e-24, 40, 8982712839964735e-24, 41, 8982717991496125e-24, 42, 8982721424914803e-24, 43, 8982723571154887e-24, 44, 8982727863638127e-24, 45, 8982730868942154e-24, 46, 8982734302370678e-24, 47, 8982745033612112e-24, 48, 8982751472369276e-24, 49, 8982755764879183e-24, 50, 8982762203651733e-24, 51, 8982764776628385e-24, 52, 8982766496171896e-24, 53, 898277722749025e-23, 54, 898278152002477e-23, 55, 898279933943848e-23, 56, 89829143024805e-22, 57, 8982922161948598e-24, 58, 898292327314211e-23, 59, 8982925667349601e-24, 60, 8982932222965576e-24, 61, 8982961298941316e-24, 62, 8982965524049989e-24, 63, 8982994818246099e-24, 64, 8982994895706967e-24, 65, 898299489597736e-23, 66, 8983000733443498e-24, 67, 8983055097289157e-24, 68, 8983064111047368e-24, 69, 8983111996941178e-24, 70, 8983120447446023e-24, 71, 898312748954554e-23, 72, 8983134531656096e-24, 73, 8983141573777694e-24, 74, 8983148615910332e-24, 75, 8983152841195215e-24, 76, 8983153545409748e-24, 77, 8983153827095593e-24, 78, 898315396793852e-23, 79, 8983154249624393e-24, 80, 8983155658054012e-24, 81, 8983960794340072e-24, 82, 8984061344391998e-24, 83, 8984072829255685e-24, 84, 8984194981201908e-24, 85, 8984275233099427e-24, 86, 8984326127007554e-24, 87, 8984330099816539e-24, 88, 898433275258421e-23, 89, 8984333047023206e-24, 90, 8984333885258723e-24, 91, 8984337959508212e-24, 92, 8984365176209457e-24, 93, 8984727360418079e-24, 94, 8984901041679577e-24, 95, 898542662091587e-23, 96, 898610024130669e-23, 97, 8992894229037531e-24, 98, 8993203677616635e-24, 99, 8993206178094346e-24, 100, 8993216059187305e-24, 101, 899322029394808e-23, 102, 8994627867045891e-24, 103, 9467559984315793e-24, 104, 946881168618118e-23, 105, 9980888154931644e-24, 106, 9981105353606775e-24, 107, 9983807356573187e-24, 108, 1687060485811522e-23, 109, 1688447560354875e-23, 110, 2176606011487185e-23, 111, 2225078816042032e-23, 112, 2348476432064694e-23, 113, 2348765250187846e-23, 114, 2378108974103778e-23, 115, 314559636297708e-22, 116, 3297788621680806e-23, 117, 3667892343788279e-23, 118, 4235973644320739e-23, 119, 4794625900676345e-23, 120, 7262742998235812e-23, 121, 7499447580246377e-23, 122, 7525056410964318e-23, 123, 7979913581209237e-23, 124, 9662020153976783e-23, 125, 9799175562353741e-23, 126, 9897353517547472e-23, 127, 102313891987647e-21, 128, 1081460541960784e-22, 129, 121905913857622e-21, 130, 2246893314238523e-22, 131, 2297344808062643e-22, 132, 242984645941825e-21, 133, 2754604784282804e-22, 134, 2884548130346993e-22, 135, 3370339971357784e-22, 136, 4307953346848296e-22, 137, 5208707228462029e-22, 138, 5509209568565608e-22, 139, 6452227422644406e-22, 140, 6740679942715567e-22, 141, 6861770001566745e-22, 142, 7252630318111686e-22, 143, 7441010326374328e-22, 144, 7742672907173287e-22, 145, 9629542775307953e-22, 146, 1061032953945969e-21, 147, 1143628333594458e-21, 148, 1162186197019925e-21, 149, 136418522650196e-20, 150, 1367441038498385e-21, 151, 1432394487827058e-21, 152, 1736235742820677e-21, 153, 1848250952034914e-21, 154, 1909859317102744e-21, 155, 1975716534933873e-21, 156, 2122065907891938e-21, 157, 272837045300392e-20, 158, 3183098861837907e-21, 159, 3580986219567645e-21, 160, 3819718634205488e-21, 161, 409255567950588e-20, 162, 4407367654852486e-21, 163, 4774648292756861e-21, 164, 5161781938115525e-21, 165, 520870722846203e-20, 166, 5729577951308232e-21, 167, 6031134685587613e-21, 168, 6987290184522236e-21, 169, 9241254760174569e-21, 170, 1145915590261646e-20], pcstol: [0, 6666666666666667e-24, 1, 2e-8, 2, 4970973863636364e-20, 3, 4970978156565657e-20, 4, 4970980410559237e-20, 5, 1e-3, 6, 0.001093615055555556, 7, 0.001093615194444445, 8, 0.001093619003239988, 9, 0.001093623110088878, 10, 0.003280833333333333, 11, 0.003280839895013123, 12, 0.003280843014596366, 13, 0.003280845583333334, 14, 0.003280869330266636, 15, 0.00497101413676763], newtoold: [2154, 102110, 2195, 102200, 2204, 32036, 2205, 26979, 2225, 102641, 2226, 102642, 2227, 102643, 2228, 102644, 2229, 102645, 2230, 102646, 2231, 102653, 2232, 102654, 2233, 102655, 2234, 102656, 2235, 102657, 2236, 102658, 2237, 102659, 2238, 102660, 2239, 102666, 2240, 102667, 2241, 102668, 2242, 102669, 2243, 102670, 2246, 102679, 2247, 102680, 2248, 102685, 2249, 102686, 2250, 102687, 2254, 102694, 2255, 102695, 2257, 102712, 2258, 102713, 2259, 102714, 2260, 102715, 2261, 102716, 2262, 102717, 2263, 102718, 2264, 102719, 2267, 102724, 2268, 102725, 2271, 102728, 2272, 102729, 2274, 102736, 2275, 102737, 2276, 102738, 2277, 102739, 2278, 102740, 2279, 102741, 2283, 102746, 2284, 102747, 2285, 102748, 2286, 102749, 2287, 102752, 2288, 102753, 2289, 102754, 2312, 23433, 2326, 102140, 2395, 2091, 2396, 2092, 2397, 2166, 2398, 2167, 2399, 2168, 2759, 102229, 2760, 102230, 2761, 102248, 2762, 102249, 2763, 102250, 2764, 102251, 2765, 102252, 2766, 102241, 2767, 102242, 2768, 102243, 2769, 102244, 2770, 102245, 2771, 102246, 2772, 102253, 2773, 102254, 2774, 102255, 2775, 102256, 2776, 102257, 2777, 102258, 2778, 102259, 2779, 102260, 2780, 102266, 2781, 102267, 2782, 102261, 2783, 102262, 2784, 102263, 2785, 102264, 2786, 102265, 2787, 102268, 2788, 102269, 2789, 102270, 2790, 102271, 2791, 102272, 2792, 102273, 2793, 102274, 2794, 102275, 2795, 102276, 2796, 102277, 2797, 102278, 2798, 102279, 2799, 102280, 2800, 102281, 2801, 102282, 2802, 102283, 2803, 102284, 2804, 102285, 2805, 102286, 2806, 102287, 2807, 102288, 2808, 102289, 2809, 102290, 2810, 102291, 2811, 102292, 2812, 102293, 2813, 102294, 2814, 102295, 2815, 102296, 2816, 102297, 2817, 102298, 2818, 102300, 2819, 102304, 2820, 102307, 2821, 102308, 2822, 102309, 2823, 102310, 2824, 102311, 2825, 102312, 2826, 102313, 2827, 102314, 2828, 102315, 2829, 102316, 2830, 102317, 2831, 102318, 2832, 102320, 2833, 102321, 2834, 102322, 2835, 102323, 2836, 102324, 2837, 102325, 2838, 102326, 2839, 102327, 2840, 102330, 2841, 102334, 2842, 102335, 2843, 102336, 2844, 102337, 2845, 102338, 2846, 102339, 2847, 102340, 2848, 102341, 2849, 102342, 2850, 102343, 2851, 102344, 2852, 102345, 2853, 102346, 2854, 102347, 2855, 102348, 2856, 102349, 2857, 102350, 2858, 102351, 2859, 102352, 2860, 102353, 2861, 102354, 2862, 102355, 2863, 102356, 2864, 102357, 2865, 102358, 2866, 102361, 2942, 102167, 2943, 102169, 2944, 2139, 2945, 2140, 2946, 2141, 2947, 2142, 2948, 2143, 2949, 2144, 2950, 2145, 2951, 2146, 2952, 2147, 2953, 2036, 2954, 2291, 2955, 2153, 2956, 2152, 2957, 2151, 2958, 2150, 2959, 2149, 2960, 2037, 2961, 2038, 2962, 2148, 2965, 2244, 2966, 2245, 3003, 102091, 3004, 102092, 3005, 102190, 3060, 2982, 3067, 102139, 3072, 102606, 3074, 102608, 3075, 102208, 3077, 102210, 3078, 102123, 3080, 102119, 3081, 102603, 3082, 102602, 3083, 102601, 3088, 65163, 3089, 102763, 3090, 102363, 3092, 102151, 3093, 102152, 3094, 102153, 3095, 102154, 3096, 102155, 3097, 102145, 3098, 102146, 3099, 102147, 3100, 102148, 3101, 102149, 3102, 2155, 3107, 102172, 3110, 102170, 3111, 102171, 3119, 2214, 3158, 102234, 3159, 102235, 3160, 102236, 3336, 2979, 3338, 102006, 3346, 2600, 3370, 102126, 3371, 102127, 3372, 102130, 3373, 102131, 3389, 2577, 3390, 2694, 3400, 102184, 3401, 102185, 3404, 3359, 3407, 3366, 3417, 102675, 3418, 102676, 3419, 102677, 3420, 102678, 3421, 102707, 3422, 102708, 3423, 102709, 3424, 102711, 3433, 102651, 3434, 102652, 3435, 102671, 3436, 102672, 3437, 102710, 3438, 102730, 3448, 102095, 3451, 102681, 3452, 102682, 3455, 102735, 3461, 2063, 3462, 2064, 3463, 3073, 3464, 3076, 3560, 102742, 3566, 102743, 3567, 102744, 3734, 102722, 3735, 102723, 3736, 102755, 3737, 102756, 3738, 102757, 3739, 102758, 3741, 102205, 3742, 102206, 3743, 102207, 3748, 102211, 3750, 102202, 3751, 102203, 3759, 102663, 3760, 102463, 3764, 102112, 3770, 102090, 3771, 102180, 3772, 102181, 3773, 102182, 3775, 102186, 3776, 102187, 3777, 102188, 3800, 102183, 3801, 102189, 3812, 102199, 3814, 102609, 3815, 102469, 3819, 104990, 3821, 104136, 3824, 104137, 3825, 102444, 3826, 102443, 3827, 102442, 3828, 102441, 3857, 102100, 3889, 104991, 3906, 104992, 4048, 103201, 4049, 103202, 4050, 103203, 4051, 103204, 4056, 103205, 4057, 103206, 4058, 103207, 4059, 103208, 4060, 103209, 4061, 103210, 4062, 103211, 4063, 103212, 4071, 103213, 4082, 103214, 4083, 103215, 4093, 103216, 4094, 103217, 4095, 103218, 4096, 103219, 4167, 104108, 4169, 37252, 4171, 104107, 4189, 104110, 4197, 4234, 4223, 37223, 4304, 104304, 4414, 102201, 4415, 102762, 4417, 102764, 4434, 102765, 4437, 102647, 4455, 32029, 4456, 32018, 4457, 3454, 4462, 102439, 4463, 4466, 4470, 4469, 4484, 103794, 4485, 103795, 4486, 103796, 4487, 103797, 4488, 103798, 4489, 103799, 4611, 104104, 4612, 104111, 4613, 37255, 4615, 37247, 4616, 37250, 4617, 4140, 4618, 4291, 4620, 37211, 4626, 37235, 4647, 102362, 4658, 37204, 4668, 37201, 4669, 4126, 4672, 37217, 4673, 104125, 4675, 37220, 4684, 37232, 4698, 4631, 4707, 37213, 4708, 37231, 4709, 37212, 4710, 37238, 4711, 37214, 4712, 37237, 4713, 37208, 4714, 37215, 4715, 37253, 4716, 37216, 4717, 37239, 4719, 37219, 4722, 37242, 4724, 37233, 4725, 37222, 4727, 37224, 4728, 37246, 4729, 37226, 4730, 37227, 4731, 37228, 4732, 37229, 4733, 37230, 4734, 37251, 4735, 37259, 4736, 37254, 4739, 37205, 4758, 104133, 4760, 37001, 4762, 104114, 4826, 102214, 5013, 104142, 5014, 102331, 5015, 102332, 5016, 102333, 5173, 102085, 5174, 102086, 5175, 102087, 5176, 102088, 5177, 102089, 5178, 102040, 5179, 102080, 5185, 102081, 5186, 102082, 5187, 102083, 5188, 102084, 5221, 102066, 5246, 104100, 5247, 102490, 5324, 104144, 5325, 102420, 5329, 2934, 5365, 104143, 5367, 102305, 5451, 104132, 5513, 102065, 5514, 102067, 5519, 102111, 5520, 31461, 5646, 102745, 5839, 5388, 5858, 5532, 5879, 4474, 6207, 104256, 6244, 102769, 6245, 102790, 6246, 102770, 6247, 102771, 6248, 102793, 6249, 102796, 6250, 102772, 6251, 102788, 6252, 102775, 6253, 102795, 6254, 102781, 6255, 102767, 6256, 102774, 6257, 102768, 6258, 102797, 6259, 102789, 6260, 102780, 6261, 102783, 6262, 102787, 6263, 102791, 6264, 102777, 6265, 102798, 6266, 102779, 6267, 102784, 6268, 102792, 6269, 102782, 6270, 102785, 6271, 102794, 6272, 102773, 6273, 102778, 6274, 102786, 6275, 102776, 6311, 104141, 6318, 104145, 6322, 104287, 6325, 104286, 6328, 102046, 6329, 102047, 6330, 102048, 6331, 102049, 6332, 102050, 6333, 102051, 6334, 102052, 6335, 102053, 6336, 102054, 6337, 102055, 6338, 102056, 6339, 102057, 6340, 102058, 6341, 102059, 6342, 102382, 6343, 102383, 6344, 102384, 6345, 102385, 6346, 102386, 6347, 102387, 6348, 102388, 6350, 102965, 6355, 102975, 6356, 102976, 6391, 6141, 6393, 102966, 6394, 102977, 6395, 102978, 6396, 102979, 6397, 102980, 6398, 102981, 6399, 102982, 6400, 102983, 6401, 102984, 6402, 102985, 6403, 102986, 6404, 102988, 6405, 102991, 6406, 102987, 6407, 102990, 6408, 102989, 6409, 102992, 6410, 102993, 6411, 102995, 6412, 102994, 6413, 102996, 6414, 102962, 6415, 102997, 6416, 103003, 6417, 102998, 6418, 103004, 6419, 102999, 6420, 103005, 6421, 103e3, 6422, 103006, 6423, 103001, 6424, 103007, 6425, 103002, 6426, 103008, 6427, 103010, 6428, 103013, 6429, 103009, 6430, 103012, 6431, 103011, 6432, 103014, 6433, 103015, 6434, 103016, 6435, 103017, 6436, 103018, 6437, 103019, 6438, 103022, 6439, 102967, 6440, 103021, 6441, 103024, 6442, 103020, 6443, 103023, 6444, 103025, 6445, 103027, 6446, 103026, 6447, 103028, 6448, 103030, 6449, 103033, 6450, 103029, 6451, 103032, 6452, 103031, 6453, 103034, 6454, 103035, 6455, 103037, 6456, 103036, 6457, 103038, 6458, 103039, 6459, 103041, 6460, 103040, 6461, 103042, 6462, 103043, 6463, 103045, 6464, 103044, 6465, 103046, 6466, 103047, 6467, 103049, 6468, 103048, 6469, 103050, 6470, 103051, 6471, 103052, 6472, 103053, 6473, 103054, 6474, 103055, 6475, 103056, 6476, 103057, 6477, 103059, 6478, 103058, 6479, 103060, 6480, 103066, 6481, 103065, 6482, 103067, 6483, 103061, 6484, 103063, 6485, 103062, 6486, 103064, 6487, 103068, 6488, 103069, 6489, 103071, 6490, 103073, 6491, 103070, 6492, 103072, 6493, 103075, 6494, 103078, 6495, 103074, 6496, 103077, 6497, 102968, 6498, 103076, 6499, 103079, 6500, 103081, 6501, 103084, 6502, 103080, 6503, 103083, 6504, 103082, 6505, 103085, 6506, 103086, 6507, 103088, 6508, 102963, 6509, 103087, 6510, 103089, 6511, 103091, 6512, 103090, 6513, 103092, 6514, 103093, 6515, 103094, 6516, 103095, 6518, 103098, 6519, 103101, 6520, 103097, 6521, 103100, 6522, 103099, 6523, 103102, 6524, 103103, 6525, 103104, 6526, 103105, 6527, 103106, 6528, 103108, 6529, 103111, 6530, 103107, 6531, 103110, 6532, 103109, 6533, 103112, 6534, 103114, 6535, 103118, 6536, 103113, 6537, 103117, 6538, 103116, 6539, 103120, 6540, 103115, 6541, 103119, 6542, 103121, 6543, 103122, 6544, 103123, 6545, 103125, 6546, 103124, 6547, 103126, 6548, 103127, 6549, 103129, 6550, 103128, 6551, 103130, 6552, 103131, 6553, 103133, 6554, 103132, 6555, 103134, 6556, 102969, 6557, 102970, 6558, 103135, 6559, 103137, 6560, 103136, 6561, 103138, 6562, 103139, 6563, 103140, 6564, 103141, 6565, 103142, 6566, 103200, 6567, 103143, 6568, 103144, 6569, 103145, 6570, 103146, 6571, 103147, 6572, 103149, 6573, 103148, 6574, 103150, 6575, 103151, 6576, 103152, 6577, 103155, 6578, 103160, 6579, 102971, 6580, 102972, 6581, 103153, 6582, 103158, 6583, 103154, 6584, 103159, 6585, 103157, 6586, 103162, 6587, 103156, 6588, 103161, 6589, 103172, 6590, 103173, 6592, 103174, 6593, 103176, 6594, 103175, 6595, 103177, 6596, 103178, 6597, 103180, 6598, 103179, 6599, 103181, 6600, 103182, 6601, 103184, 6602, 103183, 6603, 103185, 6605, 103190, 6606, 103186, 6607, 103189, 6608, 103188, 6609, 103191, 6610, 102973, 6611, 103192, 6612, 103196, 6613, 103193, 6614, 103197, 6615, 103195, 6616, 103199, 6617, 103194, 6618, 103198, 6619, 103164, 6620, 103163, 6621, 103165, 6625, 103170, 6626, 103169, 6627, 103171, 6628, 102520, 6629, 102521, 6630, 102522, 6631, 102523, 6632, 102524, 6633, 102527, 6634, 102493, 6635, 102494, 6636, 102496, 6637, 102495, 6668, 104020, 6669, 102610, 6670, 102611, 6671, 102612, 6672, 102613, 6673, 102614, 6674, 102615, 6675, 102616, 6676, 102617, 6677, 102618, 6678, 102619, 6679, 102620, 6680, 102621, 6681, 102622, 6682, 102623, 6683, 102624, 6684, 102625, 6685, 102626, 6686, 102627, 6687, 102628, 6688, 102593, 6689, 102594, 6690, 102595, 6691, 102596, 6692, 102597, 6783, 104223, 6784, 102530, 6785, 102500, 6788, 102532, 6789, 102502, 6792, 102533, 6793, 102503, 6796, 102531, 6797, 102501, 6800, 102534, 6801, 102504, 6804, 102535, 6805, 102505, 6808, 102536, 6809, 102506, 6812, 102537, 6813, 102507, 6816, 102538, 6817, 102508, 6820, 102539, 6821, 102509, 6824, 102540, 6825, 102510, 6828, 102541, 6829, 102511, 6832, 102542, 6833, 102512, 6836, 102543, 6837, 102513, 6840, 102544, 6841, 102514, 6844, 102546, 6845, 102516, 6848, 102545, 6849, 102515, 6852, 102547, 6853, 102517, 6856, 102548, 6857, 102518, 6860, 102549, 6861, 102519, 6867, 102380, 6868, 102381, 6879, 103187, 6880, 103096, 6884, 102376, 6885, 102378, 6886, 102377, 6887, 102379, 7136, 6980, 7139, 6987, 7142, 102706, 7692, 102557, 7693, 102558, 7694, 102559, 7695, 102560, 7696, 102561, 8090, 103318, 8091, 103418, 8092, 103317, 8093, 103417, 8095, 103371, 8096, 103471, 8097, 103369, 8098, 103469, 8099, 103368, 8100, 103468, 8101, 103367, 8102, 103467, 8103, 103366, 8104, 103466, 8105, 103365, 8106, 103465, 8107, 103364, 8108, 103464, 8109, 103363, 8110, 103463, 8111, 103362, 8112, 103462, 8113, 103361, 8114, 103461, 8115, 103360, 8116, 103460, 8117, 103359, 8118, 103459, 8119, 103357, 8120, 103457, 8121, 103356, 8122, 103456, 8123, 103355, 8124, 103455, 8125, 103354, 8126, 103454, 8127, 103353, 8128, 103453, 8129, 103352, 8130, 103452, 8131, 103350, 8132, 103450, 8133, 103349, 8134, 103449, 8135, 103348, 8136, 103448, 8139, 103343, 8140, 103443, 8141, 103342, 8142, 103442, 8143, 103341, 8144, 103441, 8145, 103339, 8146, 103439, 8147, 103337, 8148, 103437, 8149, 103336, 8150, 103436, 8151, 103334, 8152, 103434, 8153, 103333, 8154, 103433, 8155, 103331, 8156, 103431, 8161, 103326, 8162, 103426, 8163, 103325, 8164, 103425, 8165, 103324, 8166, 103424, 8171, 103321, 8172, 103421, 8173, 103320, 8177, 103420, 8179, 103316, 8180, 103416, 8181, 103315, 8182, 103415, 8184, 103314, 8185, 103414, 8191, 103312, 8193, 103412, 8196, 103311, 8197, 103411, 8198, 103310, 8200, 103410, 8201, 103309, 8202, 103409, 8203, 103308, 8204, 103408, 8207, 103306, 8208, 103406, 8209, 103305, 8210, 103405, 8212, 103304, 8213, 103404, 8214, 103303, 8216, 103403, 8218, 103302, 8220, 103402, 8222, 103301, 8224, 103401, 8431, 104248, 8441, 102590, 8693, 102449, 8826, 102605, 8857, 54035, 8858, 54036, 8859, 54037, 8860, 8449, 8988, 104115, 8989, 104116, 8990, 104117, 8991, 104118, 8992, 104119, 8993, 104120, 8994, 104121, 8995, 104122, 8996, 104123, 8997, 104124, 8998, 104896, 8999, 104257, 9e3, 104019, 9014, 104010, 9019, 104021, 9053, 104011, 9054, 104012, 9055, 104013, 9056, 104014, 9057, 104015, 9059, 104258, 9060, 104179, 9061, 104180, 9062, 104181, 9063, 104182, 9064, 104183, 9065, 104184, 9066, 104185, 9067, 104186, 21896, 21891, 21897, 21892, 21898, 21893, 21899, 21894, 26701, 102124, 26702, 102125, 26799, 26747, 26847, 102683, 26848, 102684, 26849, 102691, 26850, 102692, 26851, 102693, 26852, 102704, 26853, 102750, 26854, 102751, 26857, 102466, 26858, 102467, 26859, 102468, 26901, 102128, 26902, 102129, 27493, 27492, 29101, 29100, 29168, 29118, 29169, 29119, 29170, 29120, 29171, 29121, 29172, 29122, 29187, 29177, 29188, 29178, 29189, 29179, 29190, 29180, 29191, 29181, 29192, 29182, 29193, 29183, 29194, 29184, 29195, 29185, 29902, 29900, 31279, 31278, 31281, 31291, 31282, 31292, 31283, 31293, 31284, 31294, 31285, 31295, 31286, 31296, 31287, 31297, 31466, 31462, 31467, 31463, 31468, 31464, 31469, 31465, 31986, 31917, 31987, 31918, 31988, 31919, 31989, 31920, 31990, 31921, 31991, 31922, 32064, 32074, 32065, 32075, 32066, 32076, 32067, 32077, 102550, 2181, 102551, 2182, 102552, 2183, 102553, 2184, 102554, 2185, 102555, 2186, 102556, 2187], pcsid: [2066, 15, 2136, 12, 2155, 10, 2157, 5, 2158, 5, 2159, 12, 2160, 12, 2219, 5, 2220, 5, 2244, 10, 2245, 10, 2256, 11, 2265, 11, 2266, 11, 2269, 11, 2270, 11, 2273, 11, 2290, 5, 2291, 5, 2294, 5, 2295, 5, 2313, 5, 2314, 14, 2899, 10, 2900, 10, 2901, 11, 2909, 11, 2910, 11, 2911, 10, 2912, 10, 2913, 11, 2914, 11, 2964, 10, 2967, 10, 2968, 10, 2991, 5, 2992, 11, 2993, 5, 2994, 11, 3073, 5, 3076, 5, 3079, 5, 3091, 10, 3106, 5, 3108, 5, 3109, 5, 3141, 5, 3142, 5, 3167, 4, 3337, 5, 3347, 5, 3348, 5, 3359, 10, 3360, 5, 3361, 11, 3362, 5, 3363, 10, 3364, 5, 3365, 10, 3366, 14, 3402, 5, 3403, 5, 3405, 5, 3406, 5, 3439, 5, 3440, 5, 3447, 5, 3449, 5, 3450, 5, 3453, 10, 3454, 10, 3460, 5, 3479, 11, 3480, 5, 3481, 11, 3482, 5, 3483, 11, 3484, 5, 3485, 10, 3486, 5, 3487, 10, 3488, 5, 3489, 5, 3490, 10, 3491, 5, 3492, 10, 3493, 5, 3494, 10, 3495, 5, 3496, 10, 3497, 5, 3498, 10, 3499, 5, 3500, 10, 3501, 5, 3502, 10, 3503, 5, 3504, 10, 3505, 5, 3506, 10, 3507, 5, 3508, 10, 3509, 5, 3510, 10, 3511, 5, 3512, 10, 3513, 5, 3514, 5, 3515, 10, 3516, 5, 3517, 10, 3518, 5, 3519, 10, 3520, 5, 3521, 10, 3522, 5, 3523, 10, 3524, 5, 3525, 10, 3526, 5, 3527, 10, 3528, 5, 3529, 10, 3530, 5, 3531, 10, 3532, 5, 3533, 10, 3534, 5, 3535, 10, 3536, 5, 3537, 10, 3538, 5, 3539, 10, 3540, 5, 3541, 10, 3542, 5, 3543, 10, 3544, 5, 3545, 10, 3546, 5, 3547, 10, 3548, 5, 3549, 10, 3550, 5, 3551, 10, 3552, 5, 3553, 10, 3582, 10, 3583, 5, 3584, 10, 3585, 5, 3586, 10, 3587, 5, 3588, 11, 3589, 5, 3590, 11, 3591, 5, 3592, 5, 3593, 11, 3598, 10, 3599, 5, 3600, 10, 3605, 11, 3606, 5, 3607, 5, 3608, 10, 3609, 5, 3610, 10, 3611, 5, 3612, 10, 3613, 5, 3614, 10, 3615, 5, 3616, 10, 3617, 5, 3618, 10, 3619, 5, 3620, 10, 3621, 5, 3622, 10, 3623, 5, 3624, 10, 3625, 5, 3626, 10, 3627, 5, 3628, 10, 3629, 5, 3630, 10, 3631, 5, 3632, 10, 3633, 5, 3634, 11, 3635, 5, 3636, 11, 3640, 10, 3641, 5, 3642, 10, 3643, 5, 3644, 11, 3645, 5, 3646, 11, 3647, 5, 3648, 11, 3649, 5, 3650, 10, 3651, 5, 3652, 10, 3653, 5, 3654, 10, 3655, 5, 3656, 11, 3657, 5, 3658, 10, 3659, 5, 3660, 10, 3661, 5, 3662, 10, 3663, 5, 3664, 10, 3668, 10, 3669, 5, 3670, 10, 3671, 5, 3672, 10, 3673, 5, 3674, 10, 3675, 5, 3676, 11, 3677, 10, 3678, 5, 3679, 11, 3680, 10, 3681, 5, 3682, 11, 3683, 10, 3684, 5, 3685, 5, 3686, 10, 3687, 5, 3688, 10, 3689, 5, 3690, 10, 3691, 5, 3692, 10, 3696, 10, 3697, 5, 3698, 10, 3699, 5, 3700, 10, 3740, 5, 3749, 5, 3783, 5, 3784, 5, 3793, 5, 3794, 5, 3802, 5, 3816, 5, 3829, 5, 3854, 5, 3911, 5, 3912, 5, 3920, 5, 3978, 5, 3979, 5, 3991, 10, 3992, 10, 4026, 5, 4037, 5, 4038, 5, 4087, 5, 4088, 5, 4217, 10, 4438, 10, 4439, 10, 4467, 5, 4471, 5, 4474, 5, 4559, 5, 4822, 5, 4839, 5, 5018, 5, 5048, 5, 5167, 5, 5168, 5, 5223, 5, 5234, 5, 5235, 5, 5243, 5, 5266, 5, 5316, 5, 5320, 5, 5321, 5, 5330, 5, 5331, 5, 5337, 5, 5361, 5, 5362, 5, 5382, 5, 5383, 5, 5396, 5, 5456, 5, 5457, 5, 5469, 5, 5472, 9, 5490, 5, 5518, 5, 5523, 5, 5559, 5, 5588, 11, 5589, 14, 5596, 5, 5627, 5, 5629, 5, 5641, 5, 5643, 5, 5644, 5, 5654, 10, 5655, 10, 5659, 5, 5700, 5, 5825, 5, 5836, 5, 5837, 5, 5842, 5, 5844, 5, 5880, 5, 5887, 5, 5890, 5, 6128, 11, 6129, 11, 6141, 11, 6204, 5, 6210, 5, 6211, 5, 6307, 5, 6312, 5, 6316, 5, 6362, 5, 6591, 5, 6646, 5, 6703, 5, 6786, 5, 6787, 11, 6790, 5, 6791, 11, 6794, 5, 6795, 11, 6798, 5, 6799, 11, 6802, 5, 6803, 11, 6806, 5, 6807, 11, 6810, 5, 6811, 11, 6814, 5, 6815, 11, 6818, 5, 6819, 11, 6822, 5, 6823, 11, 6826, 5, 6827, 11, 6830, 5, 6831, 11, 6834, 5, 6835, 11, 6838, 5, 6839, 11, 6842, 5, 6843, 11, 6846, 5, 6847, 11, 6850, 5, 6851, 11, 6854, 5, 6855, 11, 6858, 5, 6859, 11, 6862, 5, 6863, 11, 6870, 5, 6875, 5, 6876, 5, 6915, 5, 6922, 5, 6923, 10, 6924, 5, 6925, 10, 6962, 5, 6984, 5, 6991, 5, 7128, 10, 7131, 5, 7132, 10, 7257, 5, 7258, 10, 7259, 5, 7260, 10, 7261, 5, 7262, 10, 7263, 5, 7264, 10, 7265, 5, 7266, 10, 7267, 5, 7268, 10, 7269, 5, 7270, 10, 7271, 5, 7272, 10, 7273, 5, 7274, 10, 7275, 5, 7276, 10, 7277, 5, 7278, 10, 7279, 5, 7280, 10, 7281, 5, 7282, 10, 7283, 5, 7284, 10, 7285, 5, 7286, 10, 7287, 5, 7288, 10, 7289, 5, 7290, 10, 7291, 5, 7292, 10, 7293, 5, 7294, 10, 7295, 5, 7296, 10, 7297, 5, 7298, 10, 7299, 5, 7300, 10, 7301, 5, 7302, 10, 7303, 5, 7304, 10, 7305, 5, 7306, 10, 7307, 5, 7308, 10, 7309, 5, 7310, 10, 7311, 5, 7312, 10, 7313, 5, 7314, 10, 7315, 5, 7316, 10, 7317, 5, 7318, 10, 7319, 5, 7320, 10, 7321, 5, 7322, 10, 7323, 5, 7324, 10, 7325, 5, 7326, 10, 7327, 5, 7328, 10, 7329, 5, 7330, 10, 7331, 5, 7332, 10, 7333, 5, 7334, 10, 7335, 5, 7336, 10, 7337, 5, 7338, 10, 7339, 5, 7340, 10, 7341, 5, 7342, 10, 7343, 5, 7344, 10, 7345, 5, 7346, 10, 7347, 5, 7348, 10, 7349, 5, 7350, 10, 7351, 5, 7352, 10, 7353, 5, 7354, 10, 7355, 5, 7356, 10, 7357, 5, 7358, 10, 7359, 5, 7360, 10, 7361, 5, 7362, 10, 7363, 5, 7364, 10, 7365, 5, 7366, 10, 7367, 5, 7368, 10, 7369, 5, 7370, 10, 7877, 5, 7878, 5, 7882, 5, 7883, 5, 7887, 5, 7899, 5, 7991, 5, 7992, 5, 8035, 10, 8036, 10, 8058, 5, 8059, 5, 8082, 5, 8083, 5, 8088, 5, 8137, 5, 8138, 10, 8157, 5, 8158, 10, 8159, 5, 8160, 10, 8167, 5, 8168, 10, 8169, 5, 8170, 10, 8187, 5, 8189, 10, 8205, 5, 8206, 10, 8225, 5, 8226, 10, 8311, 5, 8312, 11, 8313, 5, 8314, 11, 8315, 5, 8316, 11, 8317, 5, 8318, 11, 8319, 5, 8320, 11, 8321, 5, 8322, 11, 8323, 5, 8324, 11, 8325, 5, 8326, 11, 8327, 5, 8328, 11, 8329, 5, 8330, 11, 8331, 5, 8332, 11, 8333, 5, 8334, 11, 8335, 5, 8336, 11, 8337, 5, 8338, 11, 8339, 5, 8340, 11, 8341, 5, 8342, 11, 8343, 5, 8344, 11, 8345, 5, 8346, 11, 8347, 5, 8348, 11, 8352, 5, 8353, 5, 8379, 5, 8380, 10, 8381, 5, 8382, 10, 8383, 5, 8384, 10, 8385, 5, 8387, 10, 8391, 5, 8395, 5, 8433, 5, 8455, 5, 8456, 5, 8531, 10, 8682, 5, 8687, 5, 8692, 5, 8903, 5, 8950, 5, 8951, 5, 9039, 5, 9040, 5, 9141, 5, 9149, 5, 9150, 5, 9191, 5, 9221, 5, 9222, 5, 20499, 5, 20538, 5, 20539, 5, 20790, 5, 20791, 5, 21291, 5, 21292, 5, 21500, 5, 21817, 5, 21818, 5, 22032, 5, 22033, 5, 22091, 5, 22092, 5, 22332, 5, 22391, 5, 22392, 5, 22700, 5, 22770, 5, 22780, 5, 22832, 5, 23090, 5, 23095, 5, 23239, 5, 23240, 5, 23433, 5, 23700, 5, 24047, 5, 24048, 5, 24100, 14, 24200, 5, 24305, 5, 24306, 5, 24382, 6, 24383, 5, 24500, 5, 24547, 5, 24548, 5, 24571, 2, 24600, 5, 25e3, 5, 25231, 5, 25884, 5, 25932, 5, 26237, 5, 26331, 5, 26332, 5, 26591, 5, 26592, 5, 26632, 5, 26692, 5, 26855, 10, 26856, 10, 27120, 5, 27200, 5, 27291, 7, 27292, 7, 27429, 5, 27492, 5, 27500, 5, 27700, 5, 28232, 5, 28600, 5, 28991, 5, 28992, 5, 29100, 5, 29220, 5, 29221, 5, 29333, 5, 29635, 5, 29636, 5, 29701, 5, 29738, 5, 29739, 5, 29849, 5, 29850, 5, 29871, 3, 29872, 13, 29873, 5, 29900, 5, 29901, 5, 29903, 5, 30200, 15, 30339, 5, 30340, 5, 30791, 5, 30792, 5, 31028, 5, 31121, 5, 31154, 5, 31170, 5, 31171, 5, 31370, 5, 31528, 5, 31529, 5, 31600, 5, 31700, 5, 31838, 5, 31839, 5, 31901, 5, 32061, 5, 32062, 5, 32098, 5, 32099, 10, 32100, 5, 32104, 5, 32161, 5, 32766, 5, 53048, 5, 53049, 5, 54090, 5, 54091, 5, 65061, 10, 65062, 10, 65161, 5, 65163, 5, 102041, 10, 102064, 8, 102068, 1, 102069, 0, 102118, 10, 102119, 11, 102120, 10, 102121, 10, 102217, 10, 102218, 5, 102219, 10, 102220, 10, 102378, 11, 102379, 11, 102380, 5, 102381, 11, 102498, 5, 102499, 5, 102589, 10, 102590, 5, 102599, 10, 102600, 10, 102604, 10, 102605, 5, 102606, 5, 102647, 5, 102704, 10, 102705, 10, 102706, 5, 102733, 10, 102761, 10, 102762, 5, 102763, 10, 102764, 5, 102765, 5, 102766, 10, 102962, 5, 102963, 5, 102970, 11, 102974, 10, 102993, 5, 102994, 5, 102995, 10, 102996, 10, 103015, 5, 103016, 10, 103017, 5, 103018, 10, 103025, 5, 103026, 5, 103027, 10, 103028, 10, 103035, 5, 103036, 5, 103037, 10, 103038, 10, 103039, 5, 103040, 5, 103041, 10, 103042, 10, 103043, 5, 103044, 5, 103045, 10, 103046, 10, 103047, 5, 103048, 5, 103049, 10, 103050, 10, 103051, 5, 103052, 10, 103053, 5, 103054, 10, 103055, 5, 103056, 10, 103057, 5, 103058, 5, 103059, 10, 103060, 10, 103061, 5, 103062, 5, 103063, 10, 103064, 10, 103069, 10, 103070, 5, 103071, 5, 103072, 10, 103073, 10, 103086, 5, 103087, 5, 103088, 10, 103089, 10, 103094, 11, 103095, 5, 103096, 10, 103103, 5, 103104, 10, 103105, 5, 103106, 10, 103121, 5, 103122, 10, 103123, 5, 103124, 5, 103125, 11, 103126, 11, 103127, 5, 103128, 5, 103129, 10, 103130, 10, 103131, 5, 103132, 5, 103133, 10, 103134, 10, 103135, 5, 103136, 5, 103137, 11, 103138, 11, 103139, 5, 103140, 10, 103141, 5, 103142, 10, 103143, 5, 103144, 10, 103145, 5, 103146, 11, 103147, 5, 103148, 5, 103149, 10, 103150, 10, 103151, 5, 103152, 10, 103172, 5, 103173, 10, 103174, 5, 103175, 5, 103176, 10, 103177, 10, 103178, 5, 103179, 5, 103180, 10, 103181, 10, 103182, 5, 103183, 5, 103184, 10, 103185, 10, 103228, 5, 103229, 5, 103230, 10, 103231, 10, 103250, 5, 103251, 10, 103252, 5, 103253, 10, 103260, 5, 103261, 5, 103262, 10, 103263, 10, 103270, 5, 103271, 5, 103272, 10, 103273, 10, 103274, 5, 103275, 5, 103276, 10, 103277, 10, 103278, 5, 103279, 5, 103280, 10, 103281, 10, 103282, 5, 103283, 5, 103284, 10, 103285, 10, 103286, 5, 103287, 10, 103288, 5, 103289, 10, 103290, 5, 103291, 10, 103292, 5, 103293, 5, 103294, 10, 103295, 10, 103296, 5, 103297, 5, 103298, 10, 103299, 10, 103376, 10, 103377, 5, 103378, 5, 103379, 10, 103380, 10, 103393, 5, 103394, 5, 103395, 10, 103396, 10, 103472, 5, 103473, 11, 103474, 5, 103475, 10, 103482, 5, 103483, 10, 103484, 5, 103485, 10, 103500, 5, 103501, 10, 103502, 5, 103503, 5, 103504, 11, 103505, 11, 103506, 5, 103507, 5, 103508, 10, 103509, 10, 103510, 5, 103511, 5, 103512, 10, 103513, 10, 103514, 5, 103515, 10, 103516, 5, 103517, 10, 103518, 5, 103519, 10, 103520, 5, 103521, 11, 103522, 5, 103523, 5, 103524, 10, 103525, 10, 103526, 5, 103527, 10, 103561, 10, 103562, 10, 103563, 5, 103564, 5, 103565, 10, 103566, 10, 103567, 5, 103568, 5, 103569, 10, 103570, 10, 103585, 10, 103586, 5, 103587, 10, 103588, 11, 103589, 5, 103590, 10, 103591, 11, 103592, 5, 103593, 10, 103594, 11, 103695, 10, 103846, 5, 103946, 10], pcsidc: [[2e3, 2045, 5], [2056, 2065, 5], [2067, 2135, 5], [2137, 2153, 5], [2161, 2170, 5], [2172, 2193, 5], [2196, 2198, 5], [2200, 2203, 5], [2206, 2217, 5], [2222, 2224, 11], [2251, 2253, 11], [2280, 2282, 11], [2308, 2311, 5], [2315, 2325, 5], [2327, 2394, 5], [2400, 2491, 5], [2494, 2758, 5], [2867, 2869, 11], [2870, 2888, 10], [2891, 2895, 10], [2896, 2898, 11], [2902, 2908, 10], [2915, 2920, 10], [2921, 2923, 11], [2924, 2930, 10], [2931, 2941, 5], [2969, 2973, 5], [2975, 2982, 5], [2984, 2988, 5], [2995, 3002, 5], [3006, 3051, 5], [3054, 3059, 5], [3061, 3066, 5], [3068, 3071, 5], [3084, 3087, 5], [3112, 3118, 5], [3120, 3138, 5], [3146, 3151, 5], [3153, 3157, 5], [3161, 3166, 5], [3168, 3172, 5], [3174, 3203, 5], [3294, 3313, 5], [3315, 3335, 5], [3339, 3345, 5], [3350, 3358, 5], [3367, 3369, 5], [3374, 3388, 5], [3391, 3399, 5], [3408, 3416, 5], [3425, 3432, 10], [3441, 3446, 10], [3456, 3459, 10], [3465, 3478, 5], [3554, 3559, 5], [3561, 3565, 10], [3568, 3570, 10], [3571, 3581, 5], [3594, 3597, 5], [3601, 3604, 5], [3637, 3639, 5], [3665, 3667, 5], [3693, 3695, 5], [3701, 3727, 5], [3728, 3733, 10], [3744, 3747, 5], [3753, 3758, 10], [3761, 3763, 5], [3765, 3769, 5], [3779, 3781, 5], [3788, 3791, 5], [3797, 3799, 5], [3832, 3841, 5], [3844, 3852, 5], [3873, 3885, 5], [3890, 3893, 5], [3942, 3950, 5], [3968, 3970, 5], [3973, 3976, 5], [3986, 3989, 5], [3994, 3997, 5], [4390, 4398, 5], [4399, 4413, 10], [4418, 4433, 10], [4491, 4554, 5], [4568, 4589, 5], [4652, 4656, 5], [4766, 4800, 5], [5069, 5072, 5], [5105, 5130, 5], [5180, 5184, 5], [5253, 5259, 5], [5269, 5275, 5], [5292, 5311, 5], [5343, 5349, 5], [5355, 5357, 5], [5387, 5389, 5], [5459, 5463, 5], [5479, 5482, 5], [5530, 5539, 5], [5550, 5552, 5], [5562, 5583, 5], [5623, 5625, 10], [5631, 5639, 5], [5649, 5653, 5], [5663, 5680, 5], [5682, 5685, 5], [5875, 5877, 5], [5896, 5899, 5], [5921, 5940, 5], [6050, 6125, 5], [6351, 6354, 5], [6366, 6372, 5], [6381, 6387, 5], [6622, 6624, 5], [6707, 6709, 5], [6720, 6723, 5], [6732, 6738, 5], [6931, 6933, 5], [7005, 7007, 5], [7057, 7070, 10], [7074, 7082, 5], [7109, 7118, 5], [7119, 7127, 11], [7374, 7376, 5], [7528, 7586, 5], [7587, 7645, 10], [7755, 7787, 5], [7791, 7795, 5], [7799, 7801, 5], [7803, 7805, 5], [7825, 7831, 5], [7845, 7859, 5], [8013, 8032, 5], [8065, 8068, 11], [8518, 8529, 10], [8533, 8536, 10], [8538, 8540, 10], [8677, 8679, 5], [8836, 8840, 5], [8908, 8910, 5], [9154, 9159, 5], [9205, 9218, 5], [20002, 20032, 5], [20062, 20092, 5], [20135, 20138, 5], [20248, 20258, 5], [20348, 20358, 5], [20436, 20440, 5], [20822, 20824, 5], [20934, 20936, 5], [21035, 21037, 5], [21095, 21097, 5], [21148, 21150, 5], [21413, 21423, 5], [21473, 21483, 5], [21780, 21782, 5], [21891, 21894, 5], [22171, 22177, 5], [22181, 22187, 5], [22191, 22197, 5], [22234, 22236, 5], [22521, 22525, 5], [22991, 22994, 5], [23028, 23038, 5], [23830, 23853, 5], [23866, 23872, 5], [23877, 23884, 5], [23886, 23894, 5], [23946, 23948, 5], [24311, 24313, 5], [24342, 24347, 5], [24370, 24374, 6], [24375, 24381, 5], [24718, 24721, 5], [24817, 24821, 5], [24877, 24882, 5], [24891, 24893, 5], [25391, 25395, 5], [25828, 25838, 5], [26191, 26195, 5], [26391, 26393, 5], [26703, 26722, 5], [26729, 26760, 10], [26766, 26798, 10], [26860, 26870, 10], [26891, 26899, 5], [26903, 26923, 5], [26929, 26946, 5], [26948, 26998, 5], [27037, 27040, 5], [27205, 27232, 5], [27258, 27260, 5], [27391, 27398, 5], [27561, 27564, 5], [27571, 27574, 5], [27581, 27584, 5], [27591, 27594, 5], [28191, 28193, 5], [28348, 28358, 5], [28402, 28432, 5], [28462, 28492, 5], [29118, 29122, 5], [29177, 29185, 5], [30161, 30179, 5], [30491, 30494, 5], [30729, 30732, 5], [31251, 31259, 5], [31265, 31268, 5], [31275, 31278, 5], [31288, 31297, 5], [31461, 31465, 5], [31491, 31495, 5], [31917, 31922, 5], [31965, 31985, 5], [31992, 32e3, 5], [32001, 32003, 10], [32005, 32031, 10], [32033, 32060, 10], [32074, 32077, 10], [32081, 32086, 5], [32107, 32130, 5], [32133, 32158, 5], [32164, 32167, 10], [32180, 32199, 5], [32201, 32260, 5], [32301, 32360, 5], [32601, 32662, 5], [32664, 32667, 10], [32701, 32761, 5], [53001, 53004, 5], [53008, 53019, 5], [53021, 53032, 5], [53034, 53037, 5], [53042, 53046, 5], [53074, 53080, 5], [54001, 54004, 5], [54008, 54019, 5], [54021, 54032, 5], [54034, 54037, 5], [54042, 54046, 5], [54048, 54053, 5], [54074, 54080, 5], [54098, 54101, 5], [102001, 102040, 5], [102042, 102063, 5], [102065, 102067, 5], [102070, 102112, 5], [102114, 102117, 5], [102122, 102208, 5], [102210, 102216, 5], [102221, 102300, 5], [102304, 102377, 5], [102382, 102388, 5], [102389, 102398, 10], [102399, 102444, 5], [102445, 102447, 10], [102448, 102458, 5], [102459, 102468, 10], [102469, 102496, 5], [102500, 102519, 11], [102520, 102524, 5], [102525, 102529, 10], [102530, 102549, 5], [102557, 102588, 5], [102593, 102598, 5], [102601, 102603, 5], [102608, 102628, 5], [102629, 102646, 10], [102648, 102672, 10], [102675, 102700, 10], [102701, 102703, 5], [102707, 102730, 10], [102735, 102758, 10], [102767, 102900, 5], [102965, 102969, 5], [102971, 102973, 5], [102975, 102989, 5], [102990, 102992, 11], [102997, 103002, 5], [103003, 103008, 10], [103009, 103011, 5], [103012, 103014, 10], [103019, 103021, 5], [103022, 103024, 10], [103029, 103031, 5], [103032, 103034, 10], [103065, 103068, 5], [103074, 103076, 5], [103077, 103079, 11], [103080, 103082, 5], [103083, 103085, 10], [103090, 103093, 5], [103097, 103099, 5], [103100, 103102, 10], [103107, 103109, 5], [103110, 103112, 10], [103113, 103116, 5], [103117, 103120, 10], [103153, 103157, 5], [103158, 103162, 10], [103163, 103165, 5], [103166, 103168, 11], [103169, 103171, 10], [103186, 103188, 5], [103189, 103191, 10], [103192, 103195, 5], [103196, 103199, 10], [103200, 103224, 5], [103225, 103227, 11], [103232, 103237, 5], [103238, 103243, 10], [103244, 103246, 5], [103247, 103249, 10], [103254, 103256, 5], [103257, 103259, 10], [103264, 103266, 5], [103267, 103269, 10], [103300, 103375, 5], [103381, 103383, 5], [103384, 103386, 11], [103387, 103389, 5], [103390, 103392, 10], [103397, 103399, 5], [103400, 103471, 10], [103476, 103478, 5], [103479, 103481, 10], [103486, 103488, 5], [103489, 103491, 10], [103492, 103495, 5], [103496, 103499, 10], [103539, 103543, 5], [103544, 103548, 10], [103549, 103551, 5], [103552, 103554, 11], [103555, 103557, 10], [103558, 103560, 5], [103571, 103573, 5], [103574, 103576, 10], [103577, 103580, 5], [103581, 103583, 10], [103595, 103597, 5], [103600, 103694, 5], [103696, 103698, 5], [103700, 103793, 10], [103794, 103799, 5]], gcsid: [4001, 81, 4002, 85, 4003, 70, 4004, 84, 4005, 82, 4006, 83, 4007, 60, 4008, 67, 4009, 39, 4010, 57, 4011, 63, 4012, 64, 4013, 64, 4014, 63, 4015, 92, 4016, 90, 4018, 86, 4019, 75, 4020, 68, 4021, 70, 4022, 55, 4023, 75, 4024, 66, 4025, 73, 4027, 95, 4028, 59, 4029, 58, 4031, 75, 4032, 78, 4033, 77, 4034, 65, 4035, 100, 4036, 70, 4042, 88, 4044, 87, 4045, 89, 4046, 75, 4047, 99, 4052, 101, 4053, 97, 4054, 61, 4075, 75, 4081, 75, 4120, 84, 4121, 75, 4122, 80, 4123, 55, 4124, 84, 4126, 75, 4130, 75, 4131, 92, 4132, 64, 4133, 75, 4134, 64, 4140, 75, 4141, 75, 4142, 64, 4143, 64, 4144, 92, 4145, 87, 4146, 89, 4147, 66, 4148, 75, 4149, 84, 4150, 84, 4151, 75, 4152, 75, 4153, 55, 4154, 55, 4155, 63, 4156, 84, 4157, 60, 4162, 84, 4163, 75, 4164, 66, 4165, 55, 4166, 75, 4168, 58, 4170, 75, 4172, 75, 4173, 75, 4174, 58, 4175, 64, 4176, 75, 4178, 66, 4179, 66, 4180, 75, 4188, 81, 4190, 75, 4191, 66, 4192, 55, 4193, 63, 4198, 64, 4199, 55, 4200, 66, 4201, 64, 4202, 70, 4203, 70, 4204, 55, 4205, 66, 4206, 63, 4207, 55, 4208, 55, 4209, 64, 4210, 64, 4211, 84, 4212, 64, 4213, 63, 4214, 66, 4215, 55, 4216, 67, 4218, 55, 4219, 84, 4220, 64, 4221, 55, 4222, 64, 4224, 55, 4225, 55, 4229, 68, 4230, 55, 4231, 55, 4232, 64, 4234, 64, 4235, 55, 4236, 55, 4237, 70, 4238, 70, 4239, 92, 4240, 92, 4241, 65, 4242, 67, 4243, 88, 4244, 92, 4245, 86, 4246, 64, 4250, 64, 4251, 64, 4252, 63, 4253, 67, 4254, 55, 4255, 55, 4256, 64, 4257, 84, 4258, 75, 4259, 55, 4260, 64, 4261, 106, 4262, 84, 4263, 64, 4265, 55, 4266, 63, 4267, 67, 4269, 75, 4270, 64, 4271, 55, 4272, 55, 4273, 82, 4274, 55, 4275, 63, 4276, 73, 4280, 84, 4281, 57, 4282, 63, 4283, 75, 4284, 66, 4285, 55, 4286, 68, 4288, 55, 4289, 84, 4291, 70, 4292, 55, 4293, 83, 4294, 84, 4295, 84, 4296, 63, 4297, 55, 4298, 90, 4299, 85, 4300, 85, 4301, 84, 4302, 60, 4303, 68, 4306, 84, 4307, 64, 4308, 84, 4309, 55, 4310, 63, 4311, 55, 4312, 84, 4313, 55, 4314, 84, 4315, 63, 4316, 55, 4317, 66, 4318, 75, 4319, 75, 4322, 80, 4324, 80, 4326, 75, 4466, 75, 4469, 75, 4475, 55, 4483, 75, 4490, 75, 4555, 66, 4558, 75, 4608, 67, 4609, 67, 4610, 74, 4614, 55, 4619, 75, 4624, 75, 4625, 55, 4627, 75, 4636, 55, 4637, 55, 4638, 67, 4639, 55, 4657, 93, 4659, 75, 4660, 55, 4661, 75, 4666, 84, 4667, 75, 4670, 75, 4671, 63, 4674, 75, 4679, 64, 4680, 64, 4682, 92, 4683, 67, 4686, 75, 4687, 75, 4693, 75, 4694, 75, 4695, 67, 4696, 64, 4697, 64, 4702, 75, 4703, 64, 4704, 55, 4705, 55, 4706, 68, 4718, 55, 4720, 80, 4721, 55, 4723, 67, 4726, 67, 4737, 75, 4738, 60, 4740, 79, 4741, 55, 4742, 75, 4743, 64, 4744, 64, 4745, 84, 4746, 84, 4747, 75, 4748, 56, 4749, 75, 4750, 75, 4751, 91, 4752, 56, 4753, 55, 4754, 55, 4759, 75, 4761, 75, 4801, 84, 4802, 55, 4803, 55, 4804, 84, 4805, 84, 4806, 55, 4807, 106, 4808, 84, 4809, 55, 4810, 105, 4811, 106, 4816, 106, 4817, 82, 4818, 84, 4820, 84, 4821, 106, 4823, 55, 4824, 55, 4901, 107, 4902, 107, 4903, 59, 4904, 84, 5228, 84, 5229, 84, 5233, 92, 5252, 75, 5264, 75, 5340, 75, 5354, 75, 5360, 75, 5371, 75, 5373, 75, 5381, 75, 5393, 75, 5464, 60, 5467, 67, 5489, 75, 5524, 55, 5527, 70, 5546, 75, 5561, 66, 5593, 75, 5681, 84, 5886, 75, 6135, 75, 6365, 75, 6706, 75, 6881, 64, 6882, 64, 6883, 55, 6892, 64, 6894, 64, 6980, 75, 6983, 75, 6987, 75, 6990, 75, 7035, 75, 7037, 75, 7039, 75, 7041, 75, 7073, 75, 7084, 75, 7086, 75, 7133, 75, 7373, 75, 7683, 76, 7798, 75, 7844, 75, 7881, 75, 7886, 75, 8042, 96, 8043, 96, 8086, 75, 8232, 75, 8237, 75, 8240, 75, 8246, 75, 8249, 75, 8252, 75, 8255, 75, 8351, 84, 8427, 75, 8428, 55, 8449, 75, 8545, 75, 8685, 75, 8694, 64, 8699, 75, 8818, 75, 8888, 75, 8900, 75, 8902, 75, 8907, 75, 8949, 75, 9003, 75, 9006, 75, 9009, 75, 9012, 75, 9017, 75, 9068, 75, 9069, 75, 9140, 75, 9148, 75, 9153, 75, 37001, 73, 37002, 69, 37003, 72, 37004, 71, 37005, 62, 37006, 91, 37007, 94, 37008, 101, 37201, 55, 37202, 92, 37203, 87, 37204, 55, 37205, 55, 37206, 64, 37207, 71, 37208, 64, 37211, 64, 37220, 67, 37221, 55, 37222, 55, 37223, 63, 37224, 55, 37225, 106, 37226, 55, 37227, 55, 37228, 64, 37229, 62, 37230, 55, 37231, 70, 37232, 55, 37233, 55, 37235, 55, 37237, 55, 37238, 55, 37239, 67, 37240, 64, 37241, 55, 37242, 55, 37243, 67, 37252, 67, 37253, 55, 37254, 64, 37255, 84, 37257, 66, 37259, 55, 37260, 67, 104017, 79, 104018, 79, 104024, 75, 104027, 75, 104047, 98, 104050, 75, 104100, 75, 104101, 84, 104102, 84, 104103, 64, 104104, 55, 104105, 84, 104106, 55, 104107, 75, 104108, 75, 104109, 67, 104110, 75, 104111, 75, 104112, 67, 104113, 67, 104128, 102, 104129, 75, 104130, 55, 104131, 84, 104132, 67, 104133, 75, 104134, 75, 104135, 66, 104136, 70, 104137, 75, 104138, 55, 104139, 106, 104140, 106, 104223, 75, 104248, 55, 104256, 92, 104261, 63, 104286, 75, 104287, 75, 104304, 63, 104700, 49, 104701, 9, 104702, 24, 104703, 15, 104704, 28, 104705, 32, 104706, 53, 104707, 46, 104708, 37, 104709, 54, 104710, 11, 104711, 14, 104712, 30, 104713, 52, 104714, 4, 104715, 4, 104716, 23, 104717, 14, 104718, 48, 104719, 29, 104720, 22, 104721, 21, 104722, 35, 104723, 21, 104724, 46, 104725, 22, 104726, 49, 104727, 45, 104728, 52, 104729, 10, 104730, 10, 104731, 21, 104732, 31, 104733, 26, 104734, 40, 104735, 19, 104736, 30, 104737, 34, 104738, 27, 104739, 46, 104740, 5, 104741, 12, 104742, 50, 104743, 9, 104744, 43, 104745, 21, 104746, 26, 104747, 25, 104748, 21, 104749, 7, 104750, 53, 104751, 6, 104752, 33, 104753, 29, 104754, 19, 104755, 41, 104756, 31, 104757, 3, 104758, 41, 104759, 25, 104760, 49, 104761, 41, 104762, 44, 104763, 50, 104764, 46, 104765, 6, 104766, 40, 104767, 16, 104768, 8, 104769, 17, 104770, 48, 104771, 42, 104772, 50, 104773, 25, 104774, 29, 104775, 25, 104776, 32, 104777, 13, 104778, 36, 104779, 47, 104780, 14, 104781, 29, 104782, 23, 104783, 38, 104784, 42, 104785, 18, 104786, 20, 104808, 51, 104896, 75, 104900, 112, 104901, 104, 104902, 103, 104903, 116, 104904, 109, 104905, 108, 104906, 169, 104907, 164, 104908, 0, 104909, 168, 104910, 141, 104911, 166, 104912, 114, 104913, 160, 104914, 151, 104915, 117, 104916, 110, 104917, 140, 104918, 115, 104919, 170, 104920, 163, 104921, 154, 104922, 158, 104923, 161, 104924, 148, 104925, 0, 104926, 159, 104927, 167, 104928, 127, 104929, 131, 104930, 145, 104931, 159, 104932, 136, 104933, 123, 104934, 139, 104935, 134, 104936, 166, 104937, 150, 104938, 137, 104939, 147, 104940, 121, 104941, 165, 104942, 128, 104943, 111, 104944, 1, 104945, 126, 104946, 152, 104947, 157, 104948, 162, 104949, 153, 104950, 156, 104951, 149, 104952, 132, 104953, 122, 104954, 160, 104955, 146, 104956, 143, 104957, 156, 104958, 120, 104959, 125, 104960, 2, 104961, 144, 104962, 142, 104963, 138, 104964, 155, 104965, 135, 104966, 133, 104967, 151, 104968, 118, 104969, 119, 104970, 124, 104971, 108, 104972, 129, 104973, 130, 104974, 113, 104975, 0, 104990, 84, 104991, 75, 104992, 84], gcsidc: [[4127, 4129, 67], [4135, 4139, 67], [4158, 4161, 55], [4181, 4185, 55], [4194, 4196, 55], [4226, 4228, 63], [4247, 4249, 55], [4277, 4279, 81], [4600, 4607, 64], [4621, 4623, 55], [4628, 4633, 55], [4641, 4646, 55], [4662, 4665, 55], [4676, 4678, 66], [4688, 4692, 55], [4699, 4701, 64], [4755, 4757, 75], [4763, 4765, 75], [4813, 4815, 84], [8972, 8987, 75], [37212, 37219, 55], [37245, 37247, 55], [37249, 37251, 55], [104009, 104015, 75], [104019, 104022, 75], [104114, 104124, 75], [104125, 104127, 55], [104141, 104145, 75], [104179, 104186, 75], [104257, 104260, 75]] }, s4 = { c: [[2e3, 2035, 9001], [2039, 2045, 9001], [2056, 2062, 9001], [2067, 2090, 9001], [2093, 2135, 9001], [2161, 2165, 9001], [2172, 2180, 9001], [2188, 2193, 9001], [2195, 2198, 9001], [2200, 2203, 9001], [2205, 2213, 9001], [2215, 2217, 9001], [2222, 2224, 9002], [2225, 2243, 9003], [2246, 2250, 9003], [2251, 2253, 9002], [2257, 2264, 9003], [2274, 2279, 9003], [2280, 2282, 9002], [2283, 2289, 9003], [2308, 2313, 9001], [2315, 2491, 9001], [2494, 2576, 9001], [2578, 2599, 9001], [2601, 2693, 9001], [2695, 2866, 9001], [2867, 2869, 9002], [2870, 2888, 9003], [2891, 2895, 9003], [2896, 2898, 9002], [2902, 2908, 9003], [2915, 2920, 9003], [2921, 2923, 9002], [2924, 2930, 9003], [2931, 2933, 9001], [2935, 2962, 9001], [2964, 2968, 9003], [2969, 2973, 9001], [2975, 2978, 9001], [2984, 2988, 9001], [2995, 3051, 9001], [3054, 3072, 9001], [3077, 3079, 9001], [3081, 3088, 9001], [3092, 3101, 9001], [3106, 3138, 9001], [3146, 3151, 9001], [3153, 3166, 9001], [3168, 3172, 9001], [3174, 3203, 9001], [3294, 3313, 9001], [3315, 3348, 9001], [3350, 3358, 9001], [3367, 3403, 9001], [3408, 3416, 9001], [3417, 3438, 9003], [3441, 3446, 9003], [3447, 3450, 9001], [3451, 3453, 9003], [3455, 3459, 9003], [3460, 3478, 9001], [3554, 3559, 9001], [3560, 3570, 9003], [3571, 3581, 9001], [3594, 3597, 9001], [3601, 3604, 9001], [3637, 3639, 9001], [3665, 3667, 9001], [3693, 3695, 9001], [3701, 3727, 9001], [3728, 3739, 9003], [3740, 3751, 9001], [3753, 3760, 9003], [3761, 3773, 9001], [3775, 3777, 9001], [3779, 3781, 9001], [3788, 3791, 9001], [3797, 3802, 9001], [3814, 3816, 9001], [3825, 3829, 9001], [3832, 3841, 9001], [3844, 3852, 9001], [3873, 3885, 9001], [3890, 3893, 9001], [3942, 3950, 9001], [3968, 3970, 9001], [3973, 3976, 9001], [3986, 3989, 9001], [3994, 3997, 9001], [4001, 4016, 9102], [4018, 4025, 9102], [4027, 4029, 9102], [4031, 4036, 9102], [4044, 4047, 9102], [4048, 4051, 9001], [4052, 4054, 9102], [4056, 4063, 9001], [4093, 4096, 9001], [4120, 4124, 9102], [4127, 4139, 9102], [4141, 4176, 9102], [4178, 4185, 9102], [4188, 4216, 9102], [4218, 4232, 9102], [4235, 4260, 9102], [4265, 4267, 9102], [4269, 4286, 9102], [4292, 4304, 9102], [4306, 4319, 9102], [4390, 4398, 9001], [4399, 4413, 9003], [4418, 4433, 9003], [4455, 4457, 9003], [4484, 4489, 9001], [4491, 4554, 9001], [4568, 4589, 9001], [4600, 4630, 9102], [4636, 4639, 9102], [4641, 4646, 9102], [4652, 4656, 9001], [4657, 4680, 9102], [4682, 4684, 9102], [4686, 4765, 9102], [4766, 4800, 9001], [4801, 4806, 9102], [4813, 4815, 9102], [5014, 5016, 9001], [5069, 5072, 9001], [5105, 5130, 9001], [5173, 5188, 9001], [5253, 5259, 9001], [5269, 5275, 9001], [5292, 5311, 9001], [5329, 5331, 9001], [5343, 5349, 9001], [5355, 5357, 9001], [5459, 5463, 9001], [5479, 5482, 9001], [5518, 5520, 9001], [5533, 5539, 9001], [5550, 5552, 9001], [5562, 5583, 9001], [5623, 5625, 9003], [5631, 5639, 9001], [5649, 5653, 9001], [5663, 5680, 9001], [5682, 5685, 9001], [5875, 5877, 9001], [5896, 5899, 9001], [5921, 5940, 9001], [6050, 6125, 9001], [6244, 6275, 9001], [6328, 6348, 9001], [6350, 6356, 9001], [6366, 6372, 9001], [6381, 6387, 9001], [6393, 6404, 9001], [6480, 6483, 9001], [6511, 6514, 9001], [6579, 6581, 9001], [6619, 6624, 9001], [6625, 6627, 9003], [6628, 6632, 9001], [6634, 6637, 9001], [6669, 6692, 9001], [6707, 6709, 9001], [6720, 6723, 9001], [6732, 6738, 9001], [6881, 6883, 9102], [6931, 6933, 9001], [7005, 7007, 9001], [7057, 7070, 9003], [7074, 7082, 9001], [7109, 7118, 9001], [7119, 7127, 9002], [7374, 7376, 9001], [7528, 7586, 9001], [7587, 7645, 9003], [7692, 7696, 9001], [7755, 7787, 9001], [7791, 7795, 9001], [7799, 7801, 9001], [7803, 7805, 9001], [7825, 7831, 9001], [7845, 7859, 9001], [8013, 8032, 9001], [8065, 8068, 9002], [8518, 8529, 9003], [8533, 8536, 9003], [8538, 8540, 9003], [8677, 8679, 9001], [8836, 8840, 9001], [8857, 8859, 9001], [8908, 8910, 9001], [8972, 9e3, 9102], [9053, 9057, 9102], [9059, 9069, 9102], [9154, 9159, 9001], [9205, 9218, 9001], [20002, 20032, 9001], [20062, 20092, 9001], [20135, 20138, 9001], [20248, 20258, 9001], [20348, 20358, 9001], [20436, 20440, 9001], [20822, 20824, 9001], [20934, 20936, 9001], [21035, 21037, 9001], [21095, 21097, 9001], [21148, 21150, 9001], [21413, 21423, 9001], [21473, 21483, 9001], [21780, 21782, 9001], [21896, 21899, 9001], [22171, 22177, 9001], [22181, 22187, 9001], [22191, 22197, 9001], [22234, 22236, 9001], [22521, 22525, 9001], [22991, 22994, 9001], [23028, 23038, 9001], [23830, 23853, 9001], [23866, 23872, 9001], [23877, 23884, 9001], [23886, 23894, 9001], [23946, 23948, 9001], [24311, 24313, 9001], [24342, 24347, 9001], [24370, 24374, 9084], [24375, 24381, 9001], [24718, 24721, 9001], [24817, 24821, 9001], [24877, 24882, 9001], [24891, 24893, 9001], [25391, 25395, 9001], [25828, 25838, 9001], [26191, 26195, 9001], [26391, 26393, 9001], [26701, 26722, 9001], [26729, 26746, 9003], [26748, 26760, 9003], [26766, 26799, 9003], [26847, 26870, 9003], [26891, 26899, 9001], [26901, 26923, 9001], [26929, 26946, 9001], [26948, 26978, 9001], [26980, 26998, 9001], [27037, 27040, 9001], [27205, 27232, 9001], [27258, 27260, 9001], [27391, 27398, 9001], [27561, 27564, 9001], [27571, 27574, 9001], [27581, 27584, 9001], [27591, 27594, 9001], [28191, 28193, 9001], [28348, 28358, 9001], [28402, 28432, 9001], [28462, 28492, 9001], [29168, 29172, 9001], [29187, 29195, 9001], [29901, 29903, 9001], [30161, 30179, 9001], [30491, 30494, 9001], [30729, 30732, 9001], [31251, 31259, 9001], [31265, 31268, 9001], [31275, 31277, 9001], [31281, 31290, 9001], [31466, 31469, 9001], [31491, 31495, 9001], [31965, 32e3, 9001], [32001, 32003, 9003], [32005, 32017, 9003], [32019, 32028, 9003], [32033, 32035, 9003], [32037, 32060, 9003], [32064, 32067, 9003], [32081, 32086, 9001], [32107, 32130, 9001], [32133, 32158, 9001], [32164, 32167, 9003], [32180, 32199, 9001], [32201, 32260, 9001], [32301, 32360, 9001], [32601, 32662, 9001], [32664, 32667, 9003], [32701, 32761, 9001], [37002, 37008, 9102], [53001, 53004, 9001], [53008, 53019, 9001], [53021, 53032, 9001], [53034, 53037, 9001], [53042, 53046, 9001], [53074, 53080, 9001], [54001, 54004, 9001], [54008, 54019, 9001], [54021, 54032, 9001], [54042, 54046, 9001], [54048, 54053, 9001], [54074, 54080, 9001], [54098, 54101, 9001], [102001, 102005, 9001], [102007, 102039, 9001], [102042, 102045, 9001], [102060, 102063, 9001], [102070, 102079, 9001], [102096, 102099, 9001], [102101, 102109, 9001], [102114, 102117, 9001], [102132, 102138, 9001], [102141, 102144, 9001], [102156, 102166, 9001], [102173, 102179, 9001], [102191, 102198, 9001], [102221, 102228, 9001], [102231, 102233, 9001], [102237, 102240, 9001], [102364, 102375, 9001], [102389, 102398, 9003], [102399, 102419, 9001], [102421, 102438, 9001], [102445, 102447, 9003], [102450, 102458, 9001], [102459, 102462, 9003], [102470, 102489, 9001], [102550, 102556, 9001], [102562, 102588, 9001], [102629, 102640, 9003], [102648, 102650, 9003], [102688, 102690, 9003], [102696, 102700, 9003], [102701, 102703, 9001], [102799, 102900, 9001], [103166, 103168, 9002], [103220, 103224, 9001], [103225, 103227, 9002], [103232, 103237, 9001], [103238, 103243, 9003], [103244, 103246, 9001], [103247, 103249, 9003], [103254, 103256, 9001], [103257, 103259, 9003], [103264, 103266, 9001], [103267, 103269, 9003], [103327, 103330, 9001], [103344, 103347, 9001], [103372, 103375, 9001], [103381, 103383, 9001], [103384, 103386, 9002], [103387, 103389, 9001], [103390, 103392, 9003], [103397, 103399, 9001], [103427, 103430, 9003], [103444, 103447, 9003], [103476, 103478, 9001], [103479, 103481, 9003], [103486, 103488, 9001], [103489, 103491, 9003], [103492, 103495, 9001], [103496, 103499, 9003], [103539, 103543, 9001], [103544, 103548, 9003], [103549, 103551, 9001], [103552, 103554, 9002], [103555, 103557, 9003], [103558, 103560, 9001], [103571, 103573, 9001], [103574, 103576, 9003], [103577, 103580, 9001], [103581, 103583, 9003], [103595, 103597, 9001], [103600, 103694, 9001], [103696, 103698, 9001], [103700, 103793, 9003], [104101, 104103, 9102], [104126, 104131, 9102], [104259, 104261, 9102], [104700, 104786, 9102], [104900, 104975, 9102]], nc: [2065, 9001, 2066, 9039, 2136, 9094, 2137, 9001, 2138, 9001, 2154, 9001, 2157, 9001, 2158, 9001, 2159, 9094, 2160, 9094, 2169, 9001, 2170, 9001, 2204, 9003, 2219, 9001, 2220, 9001, 2254, 9003, 2255, 9003, 2256, 9002, 2265, 9002, 2266, 9002, 2267, 9003, 2268, 9003, 2269, 9002, 2270, 9002, 2271, 9003, 2272, 9003, 2273, 9002, 2290, 9001, 2294, 9001, 2295, 9001, 2314, 9005, 2899, 9003, 2900, 9003, 2901, 9002, 2909, 9002, 2910, 9002, 2911, 9003, 2912, 9003, 2913, 9002, 2914, 9002, 2980, 9001, 2981, 9001, 2991, 9001, 2992, 9002, 2993, 9001, 2994, 9002, 3074, 9001, 3075, 9001, 3080, 9002, 3089, 9003, 3090, 9001, 3091, 9003, 3102, 9003, 3141, 9001, 3142, 9001, 3167, 9301, 3360, 9001, 3361, 9002, 3362, 9001, 3363, 9003, 3364, 9001, 3365, 9003, 3404, 9003, 3405, 9001, 3406, 9001, 3407, 9005, 3439, 9001, 3440, 9001, 3479, 9002, 3480, 9001, 3481, 9002, 3482, 9001, 3483, 9002, 3484, 9001, 3485, 9003, 3486, 9001, 3487, 9003, 3488, 9001, 3489, 9001, 3490, 9003, 3491, 9001, 3492, 9003, 3493, 9001, 3494, 9003, 3495, 9001, 3496, 9003, 3497, 9001, 3498, 9003, 3499, 9001, 3500, 9003, 3501, 9001, 3502, 9003, 3503, 9001, 3504, 9003, 3505, 9001, 3506, 9003, 3507, 9001, 3508, 9003, 3509, 9001, 3510, 9003, 3511, 9001, 3512, 9003, 3513, 9001, 3514, 9001, 3515, 9003, 3516, 9001, 3517, 9003, 3518, 9001, 3519, 9003, 3520, 9001, 3521, 9003, 3522, 9001, 3523, 9003, 3524, 9001, 3525, 9003, 3526, 9001, 3527, 9003, 3528, 9001, 3529, 9003, 3530, 9001, 3531, 9003, 3532, 9001, 3533, 9003, 3534, 9001, 3535, 9003, 3536, 9001, 3537, 9003, 3538, 9001, 3539, 9003, 3540, 9001, 3541, 9003, 3542, 9001, 3543, 9003, 3544, 9001, 3545, 9003, 3546, 9001, 3547, 9003, 3548, 9001, 3549, 9003, 3550, 9001, 3551, 9003, 3552, 9001, 3553, 9003, 3582, 9003, 3583, 9001, 3584, 9003, 3585, 9001, 3586, 9003, 3587, 9001, 3588, 9002, 3589, 9001, 3590, 9002, 3591, 9001, 3592, 9001, 3593, 9002, 3598, 9003, 3599, 9001, 3600, 9003, 3605, 9002, 3606, 9001, 3607, 9001, 3608, 9003, 3609, 9001, 3610, 9003, 3611, 9001, 3612, 9003, 3613, 9001, 3614, 9003, 3615, 9001, 3616, 9003, 3617, 9001, 3618, 9003, 3619, 9001, 3620, 9003, 3621, 9001, 3622, 9003, 3623, 9001, 3624, 9003, 3625, 9001, 3626, 9003, 3627, 9001, 3628, 9003, 3629, 9001, 3630, 9003, 3631, 9001, 3632, 9003, 3633, 9001, 3634, 9002, 3635, 9001, 3636, 9002, 3640, 9003, 3641, 9001, 3642, 9003, 3643, 9001, 3644, 9002, 3645, 9001, 3646, 9002, 3647, 9001, 3648, 9002, 3649, 9001, 3650, 9003, 3651, 9001, 3652, 9003, 3653, 9001, 3654, 9003, 3655, 9001, 3656, 9002, 3657, 9001, 3658, 9003, 3659, 9001, 3660, 9003, 3661, 9001, 3662, 9003, 3663, 9001, 3664, 9003, 3668, 9003, 3669, 9001, 3670, 9003, 3671, 9001, 3672, 9003, 3673, 9001, 3674, 9003, 3675, 9001, 3676, 9002, 3677, 9003, 3678, 9001, 3679, 9002, 3680, 9003, 3681, 9001, 3682, 9002, 3683, 9003, 3684, 9001, 3685, 9001, 3686, 9003, 3687, 9001, 3688, 9003, 3689, 9001, 3690, 9003, 3691, 9001, 3692, 9003, 3696, 9003, 3697, 9001, 3698, 9003, 3699, 9001, 3700, 9003, 3783, 9001, 3784, 9001, 3793, 9001, 3794, 9001, 3812, 9001, 3819, 9102, 3821, 9102, 3824, 9102, 3854, 9001, 3857, 9001, 3889, 9102, 3906, 9102, 3911, 9001, 3912, 9001, 3920, 9001, 3978, 9001, 3979, 9001, 3991, 9003, 3992, 9003, 4026, 9001, 4037, 9001, 4038, 9001, 4042, 9102, 4071, 9001, 4075, 9102, 4081, 9102, 4082, 9001, 4083, 9001, 4087, 9001, 4088, 9001, 4217, 9003, 4261, 9105, 4262, 9102, 4263, 9102, 4288, 9102, 4289, 9102, 4322, 9102, 4324, 9102, 4326, 9102, 4414, 9001, 4415, 9001, 4417, 9001, 4434, 9001, 4437, 9001, 4438, 9003, 4439, 9003, 4462, 9001, 4463, 9102, 4467, 9001, 4470, 9102, 4471, 9001, 4475, 9102, 4483, 9102, 4490, 9102, 4555, 9102, 4558, 9102, 4559, 9001, 4632, 9102, 4633, 9102, 4647, 9001, 4807, 9105, 4808, 9102, 4809, 9102, 4810, 9105, 4811, 9105, 4816, 9105, 4817, 9102, 4818, 9102, 4820, 9102, 4821, 9105, 4822, 9001, 4823, 9102, 4824, 9102, 4826, 9001, 4839, 9001, 4901, 9105, 4902, 9105, 4903, 9102, 4904, 9102, 5013, 9102, 5018, 9001, 5048, 9001, 5167, 9001, 5168, 9001, 5221, 9001, 5223, 9001, 5228, 9102, 5229, 9102, 5233, 9102, 5234, 9001, 5235, 9001, 5243, 9001, 5246, 9102, 5247, 9001, 5252, 9102, 5264, 9102, 5266, 9001, 5316, 9001, 5320, 9001, 5321, 9001, 5324, 9102, 5325, 9001, 5337, 9001, 5340, 9102, 5354, 9102, 5360, 9102, 5361, 9001, 5362, 9001, 5365, 9102, 5367, 9001, 5371, 9102, 5373, 9102, 5381, 9102, 5382, 9001, 5383, 9001, 5387, 9001, 5389, 9001, 5393, 9102, 5396, 9001, 5451, 9102, 5456, 9001, 5457, 9001, 5464, 9102, 5467, 9102, 5469, 9001, 5472, 9037, 5489, 9102, 5490, 9001, 5513, 9001, 5514, 9001, 5523, 9001, 5524, 9102, 5527, 9102, 5530, 9001, 5531, 9001, 5546, 9102, 5559, 9001, 5561, 9102, 5588, 9002, 5589, 9005, 5593, 9102, 5596, 9001, 5627, 9001, 5629, 9001, 5641, 9001, 5643, 9001, 5644, 9001, 5646, 9003, 5654, 9003, 5655, 9003, 5659, 9001, 5681, 9102, 5700, 9001, 5825, 9001, 5836, 9001, 5837, 9001, 5839, 9001, 5842, 9001, 5844, 9001, 5858, 9001, 5879, 9001, 5880, 9001, 5886, 9102, 5887, 9001, 5890, 9001, 6128, 9002, 6129, 9002, 6135, 9102, 6204, 9001, 6207, 9102, 6210, 9001, 6211, 9001, 6307, 9001, 6311, 9102, 6312, 9001, 6316, 9001, 6318, 9102, 6322, 9102, 6325, 9102, 6362, 9001, 6365, 9102, 6391, 9002, 6405, 9002, 6406, 9001, 6407, 9002, 6408, 9001, 6409, 9002, 6410, 9001, 6411, 9003, 6412, 9001, 6413, 9003, 6414, 9001, 6415, 9001, 6416, 9003, 6417, 9001, 6418, 9003, 6419, 9001, 6420, 9003, 6421, 9001, 6422, 9003, 6423, 9001, 6424, 9003, 6425, 9001, 6426, 9003, 6427, 9001, 6428, 9003, 6429, 9001, 6430, 9003, 6431, 9001, 6432, 9003, 6433, 9001, 6434, 9003, 6435, 9001, 6436, 9003, 6437, 9001, 6438, 9003, 6439, 9001, 6440, 9001, 6441, 9003, 6442, 9001, 6443, 9003, 6444, 9001, 6445, 9003, 6446, 9001, 6447, 9003, 6448, 9001, 6449, 9003, 6450, 9001, 6451, 9003, 6452, 9001, 6453, 9003, 6454, 9001, 6455, 9003, 6456, 9001, 6457, 9003, 6458, 9001, 6459, 9003, 6460, 9001, 6461, 9003, 6462, 9001, 6463, 9003, 6464, 9001, 6465, 9003, 6466, 9001, 6467, 9003, 6468, 9001, 6469, 9003, 6470, 9001, 6471, 9003, 6472, 9001, 6473, 9003, 6474, 9001, 6475, 9003, 6476, 9001, 6477, 9003, 6478, 9001, 6479, 9003, 6484, 9003, 6485, 9001, 6486, 9003, 6487, 9001, 6488, 9003, 6489, 9001, 6490, 9003, 6491, 9001, 6492, 9003, 6493, 9001, 6494, 9002, 6495, 9001, 6496, 9002, 6497, 9001, 6498, 9001, 6499, 9002, 6500, 9001, 6501, 9003, 6502, 9001, 6503, 9003, 6504, 9001, 6505, 9003, 6506, 9001, 6507, 9003, 6508, 9001, 6509, 9001, 6510, 9003, 6515, 9002, 6516, 9001, 6518, 9001, 6519, 9003, 6520, 9001, 6521, 9003, 6522, 9001, 6523, 9003, 6524, 9001, 6525, 9003, 6526, 9001, 6527, 9003, 6528, 9001, 6529, 9003, 6530, 9001, 6531, 9003, 6532, 9001, 6533, 9003, 6534, 9001, 6535, 9003, 6536, 9001, 6537, 9003, 6538, 9001, 6539, 9003, 6540, 9001, 6541, 9003, 6542, 9001, 6543, 9003, 6544, 9001, 6545, 9002, 6546, 9001, 6547, 9002, 6548, 9001, 6549, 9003, 6550, 9001, 6551, 9003, 6552, 9001, 6553, 9003, 6554, 9001, 6555, 9003, 6556, 9001, 6557, 9002, 6558, 9001, 6559, 9002, 6560, 9001, 6561, 9002, 6562, 9001, 6563, 9003, 6564, 9001, 6565, 9003, 6566, 9001, 6567, 9001, 6568, 9003, 6569, 9001, 6570, 9002, 6571, 9001, 6572, 9003, 6573, 9001, 6574, 9003, 6575, 9001, 6576, 9003, 6577, 9001, 6578, 9003, 6582, 9003, 6583, 9001, 6584, 9003, 6585, 9001, 6586, 9003, 6587, 9001, 6588, 9003, 6589, 9001, 6590, 9003, 6591, 9001, 6592, 9001, 6593, 9003, 6594, 9001, 6595, 9003, 6596, 9001, 6597, 9003, 6598, 9001, 6599, 9003, 6600, 9001, 6601, 9003, 6602, 9001, 6603, 9003, 6605, 9003, 6606, 9001, 6607, 9003, 6608, 9001, 6609, 9003, 6610, 9001, 6611, 9001, 6612, 9003, 6613, 9001, 6614, 9003, 6615, 9001, 6616, 9003, 6617, 9001, 6618, 9003, 6633, 9003, 6646, 9001, 6668, 9102, 6703, 9001, 6706, 9102, 6783, 9102, 6784, 9001, 6785, 9002, 6786, 9001, 6787, 9002, 6788, 9001, 6789, 9002, 6790, 9001, 6791, 9002, 6792, 9001, 6793, 9002, 6794, 9001, 6795, 9002, 6796, 9001, 6797, 9002, 6798, 9001, 6799, 9002, 6800, 9001, 6801, 9002, 6802, 9001, 6803, 9002, 6804, 9001, 6805, 9002, 6806, 9001, 6807, 9002, 6808, 9001, 6809, 9002, 6810, 9001, 6811, 9002, 6812, 9001, 6813, 9002, 6814, 9001, 6815, 9002, 6816, 9001, 6817, 9002, 6818, 9001, 6819, 9002, 6820, 9001, 6821, 9002, 6822, 9001, 6823, 9002, 6824, 9001, 6825, 9002, 6826, 9001, 6827, 9002, 6828, 9001, 6829, 9002, 6830, 9001, 6831, 9002, 6832, 9001, 6833, 9002, 6834, 9001, 6835, 9002, 6836, 9001, 6837, 9002, 6838, 9001, 6839, 9002, 6840, 9001, 6841, 9002, 6842, 9001, 6843, 9002, 6844, 9001, 6845, 9002, 6846, 9001, 6847, 9002, 6848, 9001, 6849, 9002, 6850, 9001, 6851, 9002, 6852, 9001, 6853, 9002, 6854, 9001, 6855, 9002, 6856, 9001, 6857, 9002, 6858, 9001, 6859, 9002, 6860, 9001, 6861, 9002, 6862, 9001, 6863, 9002, 6867, 9001, 6868, 9002, 6870, 9001, 6875, 9001, 6876, 9001, 6879, 9001, 6880, 9003, 6884, 9001, 6885, 9002, 6886, 9001, 6887, 9002, 6892, 9102, 6894, 9102, 6915, 9001, 6922, 9001, 6923, 9003, 6924, 9001, 6925, 9003, 6962, 9001, 6983, 9102, 6984, 9001, 6990, 9102, 6991, 9001, 7035, 9102, 7037, 9102, 7039, 9102, 7041, 9102, 7073, 9102, 7084, 9102, 7086, 9102, 7128, 9003, 7131, 9001, 7132, 9003, 7133, 9102, 7136, 9102, 7139, 9102, 7142, 9001, 7257, 9001, 7258, 9003, 7259, 9001, 7260, 9003, 7261, 9001, 7262, 9003, 7263, 9001, 7264, 9003, 7265, 9001, 7266, 9003, 7267, 9001, 7268, 9003, 7269, 9001, 7270, 9003, 7271, 9001, 7272, 9003, 7273, 9001, 7274, 9003, 7275, 9001, 7276, 9003, 7277, 9001, 7278, 9003, 7279, 9001, 7280, 9003, 7281, 9001, 7282, 9003, 7283, 9001, 7284, 9003, 7285, 9001, 7286, 9003, 7287, 9001, 7288, 9003, 7289, 9001, 7290, 9003, 7291, 9001, 7292, 9003, 7293, 9001, 7294, 9003, 7295, 9001, 7296, 9003, 7297, 9001, 7298, 9003, 7299, 9001, 7300, 9003, 7301, 9001, 7302, 9003, 7303, 9001, 7304, 9003, 7305, 9001, 7306, 9003, 7307, 9001, 7308, 9003, 7309, 9001, 7310, 9003, 7311, 9001, 7312, 9003, 7313, 9001, 7314, 9003, 7315, 9001, 7316, 9003, 7317, 9001, 7318, 9003, 7319, 9001, 7320, 9003, 7321, 9001, 7322, 9003, 7323, 9001, 7324, 9003, 7325, 9001, 7326, 9003, 7327, 9001, 7328, 9003, 7329, 9001, 7330, 9003, 7331, 9001, 7332, 9003, 7333, 9001, 7334, 9003, 7335, 9001, 7336, 9003, 7337, 9001, 7338, 9003, 7339, 9001, 7340, 9003, 7341, 9001, 7342, 9003, 7343, 9001, 7344, 9003, 7345, 9001, 7346, 9003, 7347, 9001, 7348, 9003, 7349, 9001, 7350, 9003, 7351, 9001, 7352, 9003, 7353, 9001, 7354, 9003, 7355, 9001, 7356, 9003, 7357, 9001, 7358, 9003, 7359, 9001, 7360, 9003, 7361, 9001, 7362, 9003, 7363, 9001, 7364, 9003, 7365, 9001, 7366, 9003, 7367, 9001, 7368, 9003, 7369, 9001, 7370, 9003, 7373, 9102, 7683, 9102, 7798, 9102, 7844, 9102, 7877, 9001, 7878, 9001, 7881, 9102, 7882, 9001, 7883, 9001, 7886, 9102, 7887, 9001, 7899, 9001, 7991, 9001, 7992, 9001, 8035, 9003, 8036, 9003, 8042, 9102, 8043, 9102, 8058, 9001, 8059, 9001, 8082, 9001, 8083, 9001, 8086, 9102, 8088, 9001, 8090, 9001, 8091, 9003, 8092, 9001, 8093, 9003, 8095, 9001, 8096, 9003, 8097, 9001, 8098, 9003, 8099, 9001, 8100, 9003, 8101, 9001, 8102, 9003, 8103, 9001, 8104, 9003, 8105, 9001, 8106, 9003, 8107, 9001, 8108, 9003, 8109, 9001, 8110, 9003, 8111, 9001, 8112, 9003, 8113, 9001, 8114, 9003, 8115, 9001, 8116, 9003, 8117, 9001, 8118, 9003, 8119, 9001, 8120, 9003, 8121, 9001, 8122, 9003, 8123, 9001, 8124, 9003, 8125, 9001, 8126, 9003, 8127, 9001, 8128, 9003, 8129, 9001, 8130, 9003, 8131, 9001, 8132, 9003, 8133, 9001, 8134, 9003, 8135, 9001, 8136, 9003, 8137, 9001, 8138, 9003, 8139, 9001, 8140, 9003, 8141, 9001, 8142, 9003, 8143, 9001, 8144, 9003, 8145, 9001, 8146, 9003, 8147, 9001, 8148, 9003, 8149, 9001, 8150, 9003, 8151, 9001, 8152, 9003, 8153, 9001, 8154, 9003, 8155, 9001, 8156, 9003, 8157, 9001, 8158, 9003, 8159, 9001, 8160, 9003, 8161, 9001, 8162, 9003, 8163, 9001, 8164, 9003, 8165, 9001, 8166, 9003, 8167, 9001, 8168, 9003, 8169, 9001, 8170, 9003, 8171, 9001, 8172, 9003, 8173, 9001, 8177, 9003, 8179, 9001, 8180, 9003, 8181, 9001, 8182, 9003, 8184, 9001, 8185, 9003, 8187, 9001, 8189, 9003, 8191, 9001, 8193, 9003, 8196, 9001, 8197, 9003, 8198, 9001, 8200, 9003, 8201, 9001, 8202, 9003, 8203, 9001, 8204, 9003, 8205, 9001, 8206, 9003, 8207, 9001, 8208, 9003, 8209, 9001, 8210, 9003, 8212, 9001, 8213, 9003, 8214, 9001, 8216, 9003, 8218, 9001, 8220, 9003, 8222, 9001, 8224, 9003, 8225, 9001, 8226, 9003, 8232, 9102, 8237, 9102, 8240, 9102, 8246, 9102, 8249, 9102, 8252, 9102, 8255, 9102, 8311, 9001, 8312, 9002, 8313, 9001, 8314, 9002, 8315, 9001, 8316, 9002, 8317, 9001, 8318, 9002, 8319, 9001, 8320, 9002, 8321, 9001, 8322, 9002, 8323, 9001, 8324, 9002, 8325, 9001, 8326, 9002, 8327, 9001, 8328, 9002, 8329, 9001, 8330, 9002, 8331, 9001, 8332, 9002, 8333, 9001, 8334, 9002, 8335, 9001, 8336, 9002, 8337, 9001, 8338, 9002, 8339, 9001, 8340, 9002, 8341, 9001, 8342, 9002, 8343, 9001, 8344, 9002, 8345, 9001, 8346, 9002, 8347, 9001, 8348, 9002, 8351, 9102, 8352, 9001, 8353, 9001, 8379, 9001, 8380, 9003, 8381, 9001, 8382, 9003, 8383, 9001, 8384, 9003, 8385, 9001, 8387, 9003, 8391, 9001, 8395, 9001, 8427, 9102, 8428, 9102, 8431, 9102, 8433, 9001, 8441, 9001, 8455, 9001, 8456, 9001, 8531, 9003, 8545, 9102, 8682, 9001, 8685, 9102, 8687, 9001, 8692, 9001, 8693, 9001, 8694, 9102, 8699, 9102, 8818, 9102, 8826, 9001, 8860, 9102, 8888, 9102, 8900, 9102, 8902, 9102, 8903, 9001, 8907, 9102, 8949, 9102, 8950, 9001, 8951, 9001, 9003, 9102, 9006, 9102, 9009, 9102, 9012, 9102, 9014, 9102, 9017, 9102, 9019, 9102, 9039, 9001, 9040, 9001, 9140, 9102, 9141, 9001, 9148, 9102, 9149, 9001, 9150, 9001, 9153, 9102, 9191, 9001, 9221, 9001, 9222, 9001, 20499, 9001, 20538, 9001, 20539, 9001, 20790, 9001, 20791, 9001, 21291, 9001, 21292, 9001, 21500, 9001, 21817, 9001, 21818, 9001, 22032, 9001, 22033, 9001, 22091, 9001, 22092, 9001, 22332, 9001, 22391, 9001, 22392, 9001, 22700, 9001, 22770, 9001, 22780, 9001, 22832, 9001, 23090, 9001, 23095, 9001, 23239, 9001, 23240, 9001, 23700, 9001, 24047, 9001, 24048, 9001, 24100, 9005, 24200, 9001, 24305, 9001, 24306, 9001, 24382, 9084, 24383, 9001, 24500, 9001, 24547, 9001, 24548, 9001, 24571, 9062, 24600, 9001, 25e3, 9001, 25231, 9001, 25884, 9001, 25932, 9001, 26237, 9001, 26331, 9001, 26332, 9001, 26591, 9001, 26592, 9001, 26632, 9001, 26692, 9001, 27120, 9001, 27200, 9001, 27291, 9040, 27292, 9040, 27429, 9001, 27493, 9001, 27500, 9001, 27700, 9001, 28232, 9001, 28600, 9001, 28991, 9001, 28992, 9001, 29101, 9001, 29220, 9001, 29221, 9001, 29333, 9001, 29635, 9001, 29636, 9001, 29701, 9001, 29738, 9001, 29739, 9001, 29849, 9001, 29850, 9001, 29871, 9042, 29872, 9041, 29873, 9001, 30200, 9039, 30339, 9001, 30340, 9001, 30791, 9001, 30792, 9001, 31028, 9001, 31121, 9001, 31154, 9001, 31170, 9001, 31171, 9001, 31279, 9001, 31370, 9001, 31528, 9001, 31529, 9001, 31600, 9001, 31700, 9001, 31838, 9001, 31839, 9001, 31901, 9001, 32030, 9003, 32031, 9003, 32061, 9001, 32062, 9001, 32098, 9001, 32099, 9003, 32100, 9001, 32104, 9001, 32161, 9001, 32766, 9001, 37202, 9102, 37203, 9102, 37206, 9102, 37207, 9102, 37218, 9102, 37221, 9102, 37225, 9105, 37240, 9102, 37241, 9102, 37243, 9102, 37245, 9102, 37249, 9102, 37257, 9102, 37260, 9102, 53048, 9001, 53049, 9001, 54034, 9001, 54090, 9001, 54091, 9001, 65061, 9003, 65062, 9003, 65161, 9001, 102041, 9003, 102064, 9085, 102068, 109030, 102069, 109031, 102093, 9001, 102094, 9001, 102118, 9003, 102120, 9003, 102121, 9003, 102122, 9001, 102150, 9001, 102168, 9001, 102204, 9001, 102212, 9001, 102213, 9001, 102215, 9001, 102216, 9001, 102217, 9003, 102218, 9001, 102219, 9003, 102220, 9003, 102247, 9001, 102299, 9001, 102306, 9001, 102319, 9001, 102328, 9001, 102329, 9001, 102359, 9001, 102360, 9001, 102440, 9001, 102448, 9001, 102464, 9003, 102465, 9003, 102491, 9001, 102492, 9001, 102498, 9001, 102499, 9001, 102525, 9003, 102526, 9003, 102528, 9003, 102529, 9003, 102589, 9003, 102598, 9001, 102599, 9003, 102600, 9003, 102604, 9003, 102661, 9003, 102662, 9003, 102664, 9003, 102665, 9003, 102705, 9003, 102720, 9003, 102721, 9003, 102726, 9003, 102727, 9003, 102733, 9003, 102761, 9003, 102766, 9003, 102974, 9003, 103228, 9001, 103229, 9001, 103230, 9003, 103231, 9003, 103250, 9001, 103251, 9003, 103252, 9001, 103253, 9003, 103260, 9001, 103261, 9001, 103262, 9003, 103263, 9003, 103270, 9001, 103271, 9001, 103272, 9003, 103273, 9003, 103274, 9001, 103275, 9001, 103276, 9003, 103277, 9003, 103278, 9001, 103279, 9001, 103280, 9003, 103281, 9003, 103282, 9001, 103283, 9001, 103284, 9003, 103285, 9003, 103286, 9001, 103287, 9003, 103288, 9001, 103289, 9003, 103290, 9001, 103291, 9003, 103292, 9001, 103293, 9001, 103294, 9003, 103295, 9003, 103296, 9001, 103297, 9001, 103298, 9003, 103299, 9003, 103300, 9001, 103307, 9001, 103313, 9001, 103319, 9001, 103322, 9001, 103323, 9001, 103332, 9001, 103335, 9001, 103338, 9001, 103340, 9001, 103351, 9001, 103358, 9001, 103370, 9001, 103376, 9003, 103377, 9001, 103378, 9001, 103379, 9003, 103380, 9003, 103393, 9001, 103394, 9001, 103395, 9003, 103396, 9003, 103400, 9003, 103407, 9003, 103413, 9003, 103419, 9003, 103422, 9003, 103423, 9003, 103432, 9003, 103435, 9003, 103438, 9003, 103440, 9003, 103451, 9003, 103458, 9003, 103470, 9003, 103472, 9001, 103473, 9002, 103474, 9001, 103475, 9003, 103482, 9001, 103483, 9003, 103484, 9001, 103485, 9003, 103500, 9001, 103501, 9003, 103502, 9001, 103503, 9001, 103504, 9002, 103505, 9002, 103506, 9001, 103507, 9001, 103508, 9003, 103509, 9003, 103510, 9001, 103511, 9001, 103512, 9003, 103513, 9003, 103514, 9001, 103515, 9003, 103516, 9001, 103517, 9003, 103518, 9001, 103519, 9003, 103520, 9001, 103521, 9002, 103522, 9001, 103523, 9001, 103524, 9003, 103525, 9003, 103526, 9001, 103527, 9003, 103561, 9003, 103562, 9003, 103563, 9001, 103564, 9001, 103565, 9003, 103566, 9003, 103567, 9001, 103568, 9001, 103569, 9003, 103570, 9003, 103585, 9003, 103586, 9001, 103587, 9003, 103588, 9002, 103589, 9001, 103590, 9003, 103591, 9002, 103592, 9001, 103593, 9003, 103594, 9002, 103695, 9003, 103846, 9001, 103946, 9003, 104009, 9102, 104017, 9102, 104018, 9102, 104022, 9102, 104024, 9102, 104027, 9102, 104047, 9102, 104050, 9102, 104105, 9102, 104106, 9102, 104109, 9102, 104112, 9102, 104113, 9102, 104134, 9102, 104135, 9102, 104138, 9102, 104139, 9105, 104140, 9105, 104808, 9102] }; t4.yr = function() { function t5() { } return t5.Ny = function(i5) { t5.zp === false && t5.zt(); var s5 = t5.zQ(i5); if (s5 == -1) { var n4 = t5.Ax(i5); n4 != i5 && (s5 = t5.Ny(n4)); } return s5 == -1 && ((n4 = t5.zK(i5)) != i5 && (s5 = t5.Ny(n4))), s5; }, t5.zQ = function(i5) { return t5.Hw[i5] !== void 0 ? t5.Hw[i5] : -1; }, t5.wQ = function(i5) { t5.zp === false && t5.zt(); var s5 = t5.hF(i5); if (s5 == 1e38) { var n4 = t5.Ax(i5); if (n4 != i5 && (s5 = t5.hF(n4)), s5 == 1e38) return 1e-10; } return s5; }, t5.RS = function(i5) { if (t5.Ks[i5] !== void 0) return true; var s5 = t5.Ax(i5); return s5 != i5 && t5.Ks[s5] !== void 0; }, t5.TS = function(i5) { if (t5.yo[i5] !== void 0) return true; var s5 = t5.Ax(i5); return s5 != i5 && t5.yo[s5] !== void 0; }, t5.hF = function(i5) { return t5.zp === false && t5.zt(), t5.Ks[i5] !== void 0 ? t5.Ks[i5] : t5.yo[i5] !== void 0 ? t5.yo[i5] : 1e38; }, t5.zK = function(i5) { return t5.zp === false && t5.zt(), t5.QA[i5] !== void 0 ? t5.QA[i5] : i5; }, t5.Ax = function(i5) { return t5.zp === false && t5.zt(), t5.RA[i5] !== void 0 ? t5.RA[i5] : i5; }, t5.zt = function() { for (var n4, h2 = i4, r2 = 0; r2 < h2.pcsid.length; r2 += 2) t5.yo[h2.pcsid[r2]] = h2.pcstol[2 * h2.pcsid[r2 + 1] + 1]; for (r2 = 0; r2 < h2.pcsidc.length; r2 += 1) for (var e2 = (n4 = h2.pcsidc[r2])[0]; e2 <= n4[1]; e2++) t5.yo[e2] = h2.pcstol[2 * n4[2] + 1]; for (r2 = 0; r2 < h2.gcsid.length; r2 += 2) t5.Ks[h2.gcsid[r2]] = h2.gcstol[2 * h2.gcsid[r2 + 1] + 1]; for (r2 = 0; r2 < h2.gcsidc.length; r2 += 1) for (e2 = (n4 = h2.gcsidc[r2])[0]; e2 <= n4[1]; e2++) t5.yo[e2] = h2.gcstol[2 * n4[2] + 1]; for (r2 = 0; r2 < s4.c.length; r2 += 1) for (e2 = (n4 = s4.c[r2])[0]; e2 <= n4[1]; e2++) t5.Hw[e2] = n4[2]; for (r2 = 0; r2 < s4.nc.length; r2 += 2) t5.Hw[s4.nc[r2]] = s4.nc[r2 + 1]; for (s4 = null, r2 = 0; r2 < h2.newtoold.length; r2 += 2) t5.QA[h2.newtoold[r2 + 1]] = h2.newtoold[r2], t5.RA[h2.newtoold[r2]] = h2.newtoold[r2 + 1]; i4 = null, t5.zp = true; }, t5.zp = false, t5.Ks = [], t5.yo = [], t5.QA = [], t5.RA = [], t5.Hw = [], t5; }(); }(V || (V = {})), function(t4) { function i4(t5) { return t5.length === 0 ? '""' : t5[0] == '"' || t5[0] == "." || "0" <= t5[0] && "9" >= t5[0] ? t5 : '"' + t5.trim() + '"'; } var s4 = []; t4.RC = function() { function n4() { } return n4.yQ = function(h2) { try { for (var r2 = 0; r2 < s4.length; r2++) if (s4[r2].wkttext === h2) return s4[r2].unit; for (var e2, o2 = r2 = "", a2 = false, u2 = 0; u2 < h2.length; u2++) { var f2 = h2[u2]; a2 === true ? f2 == '"' ? h2[u2 + 1] == '"' ? r2 += f2 : a2 = a2 = false : r2 += f2 : /[\s]/.test(f2) || (f2 == "," ? (o2 = r2 !== "" ? o2 + (i4(r2) + ",") : o2 + ",", r2 = "") : f2 == ")" || f2 == "]" ? (o2 = r2 !== "" ? o2 + (i4(r2) + "]}") : o2 + "]}", r2 = "") : f2 == "(" || f2 == "[" ? (o2 += '{ "entity": "' + r2.toUpperCase().trim() + '", "values":[', r2 = "") : f2 == '"' ? (a2 = true, r2 = "") : r2 += f2); } e2 = JSON.parse(o2); var c2 = n4.gF(e2); if (c2 === null) return null; for (e2 = null, f2 = 0; f2 < c2.values.length; f2++) if (typeof c2.values[f2] == "object" && c2.values[f2].entity === "UNIT") { e2 = c2.values[f2]; break; } if (e2 === null) return null; var l2 = t4.Uc.TO(c2.entity === "GEOGCS" ? 1 : 0, e2.values[1], e2.values[2]); return s4.push({ wkttext: h2, unit: l2 }), 10 < s4.length && s4.shift(), l2; } catch (p2) { return null; } }, n4.gF = function(t5) { if (t5 === null) return null; if (t5.entity === "GEOGCS" || t5.entity === "PROJCS") return t5; for (var i5 = [], s5 = 0; s5 < t5.values.length; s5++) if (typeof t5.values[s5] == "object" && t5.values[s5].entity !== void 0) { if (t5.values[s5].entity === "GEOGCS" || t5.values[s5].entity == "PROJCS") return t5.values[s5]; i5.push(t5.values[s5]); } for (t5 = 0; t5 < i5.length; t5++) if ((s5 = n4.gF(i5[t5])) !== null) return s5; return null; }, n4.xQ = function(t5) { var i5 = -1; if (t5 != null && 0 < t5.length) { var s5 = t5.indexOf("PROJCS"); if (0 <= s5) { var n5 = 0; if (0 <= (s5 = t5.lastIndexOf("UNIT")) && 0 < (s5 = t5.indexOf(",", s5 + 4))) { s5++; var h2 = t5.indexOf("]", s5 + 1); if (0 < h2) try { n5 = parseFloat(t5.substring(s5, h2)); } catch (e2) { n5 = 0; } } 0 < n5 && (i5 = 1e-3 / n5); } else if (0 <= (s5 = t5.indexOf("GEOGCS"))) { var r2 = 0; if (n5 = 0, 0 < (s5 = t5.indexOf("SPHEROID", s5 + 6)) && 0 < (s5 = t5.indexOf(",", s5 + 8))) { if (s5++, 0 < (h2 = t5.indexOf(",", s5 + 1))) try { r2 = parseFloat(t5.substring(s5, h2)); } catch (e2) { r2 = 0; } if (0 < r2 && (0 <= (s5 = t5.indexOf("UNIT", h2 + 1)) && (0 < (s5 = t5.indexOf(",", s5 + 4)) && (s5++, 0 < (h2 = t5.indexOf("]", s5 + 1)))))) try { n5 = parseFloat(t5.substring(s5, h2)); } catch (e2) { n5 = 0; } } 0 < r2 && 0 < n5 && (i5 = 1e-3 / (r2 * n5)); } } return i5; }, n4; }(); }(V || (V = {})), function(t4) { var i4; (i4 = t4.ZK || (t4.ZK = {}))[i4.NONE = 0] = "NONE", i4[i4.LINEAR = 1] = "LINEAR", i4[i4.ANGULAR = 2] = "ANGULAR", function(t5) { t5[t5.enumFloat = 0] = "enumFloat", t5[t5.enumDouble = 1] = "enumDouble", t5[t5.enumInt32 = 2] = "enumInt32", t5[t5.enumInt64 = 3] = "enumInt64", t5[t5.enumInt8 = 4] = "enumInt8", t5[t5.enumInt16 = 5] = "enumInt16"; }(t4.KL || (t4.KL = {})), function(t5) { t5[t5.POSITION = 0] = "POSITION", t5[t5.Z = 1] = "Z", t5[t5.M = 2] = "M", t5[t5.ID = 3] = "ID", t5[t5.NORMAL = 4] = "NORMAL", t5[t5.TEXTURE1D = 5] = "TEXTURE1D", t5[t5.TEXTURE2D = 6] = "TEXTURE2D", t5[t5.TEXTURE3D = 7] = "TEXTURE3D", t5[t5.ID2 = 8] = "ID2", t5[t5.MAXSEMANTICS = 10] = "MAXSEMANTICS"; }(t4.Kh || (t4.Kh = {})); var s4 = function() { function i5(t5, s5) { if (this.Xs = this.Be = null, this.Qq = this.Ba = 0, this.wh = this.cg = null, this.yl = 0, s5 !== void 0) { for (this.Ba = s5.Ba, this.Qq = s5.Qq, this.cg = s5.cg.slice(0), this.wh = s5.wh.slice(0), this.yl = s5.yl, this.Xs = [], t5 = s5 = 0; t5 < this.Ba; t5++) this.Xs[t5] = s5, s5 += i5.Wa(this.cg[t5]); for (this.Qq = s5, this.Be = [], t5 = 0; t5 < this.Ba; t5++) { s5 = i5.Wa(this.qd(t5)); for (var n4 = i5.te(this.qd(t5)), h2 = 0; h2 < s5; h2++) this.Be[this.Xs[t5] + h2] = n4; } } else this.Qq = this.Ba = 0; } return i5.prototype.qd = function(i6) { if (0 > i6 || i6 > this.Ba) throw t4.i.O(); return this.cg[i6]; }, i5.prototype.Qf = function(t5) { return this.wh[t5]; }, i5.gz = function(t5) { return i5.DM[t5]; }, i5.Vp = function(t5) { return i5.MM[t5]; }, i5.Wa = function(t5) { return i5.lM[t5]; }, i5.prototype.hasAttribute = function(t5) { return 0 <= this.wh[t5]; }, i5.prototype.cG = function() { return this.hasAttribute(1); }, i5.te = function(t5) { return i5.ZC[t5]; }, i5.prototype.ER = function(t5) { return this.Xs[t5]; }, i5.xG = function(t5, s5) { return i5.ZC[t5] === s5; }, i5.prototype.Nb = function(t5) { return this === t5; }, i5.prototype.Bn = function() { for (var i6 = t4.P.Vh(this.cg[0]), s5 = 1; s5 < this.Ba; s5++) i6 = t4.P.Vh(this.cg[s5], i6); return i6; }, i5.prototype.ak = function(t5) { return this.Xs[t5]; }, i5.prototype.dc = function() { return this.yl; }, i5.prototype.Fd = function(t5) { return this.cg[t5]; }, i5.ZC = [0, 0, NaN, 0, 0, 0, 0, 0, 0], i5.DM = [1, 1, 1, 0, 2, 1, 1, 1, 0], i5.MM = [1, 1, 1, 2, 0, 0, 0, 0, 2], i5.lM = [2, 1, 1, 1, 3, 1, 2, 3, 2], i5; }(); t4.ua = s4; }(V || (V = {})), function(t4) { function i4(t5, i5, n5) { var r3 = i5 - (t5 = new o2(t5)).e, e3 = t5.c; for (e3.length > ++i5 && s4(t5, r3, o2.gu), e3[0] ? n5 ? r3 = i5 : (e3 = t5.c, r3 = t5.e + r3 + 1) : ++r3; e3.length < r3; e3.push(0)) ; return r3 = t5.e, n5 === 1 || n5 && (i5 <= r3 || r3 <= h2) ? (0 > t5.Cd && e3[0] ? "-" : "") + (1 < e3.length ? e3[0] + "." + e3.join("").slice(1) : e3[0]) + (0 > r3 ? "e" : "e+") + r3 : t5.toString(); } function s4(t5, i5, s5, h3) { var r3 = t5.c, e3 = t5.e + i5 + 1; if (s5 === 1 ? h3 = 5 <= r3[e3] : s5 === 2 ? h3 = 5 < r3[e3] || r3[e3] == 5 && (h3 || 0 > e3 || r3[e3 + 1] !== void 0 || 1 & r3[e3 - 1]) : s5 === 3 ? h3 = h3 || r3[e3] !== void 0 || 0 > e3 : (h3 = false, s5 !== 0 && n4("!Big.RM!")), 1 > e3 || !r3[0]) h3 ? (t5.e = -i5, t5.c = [1]) : t5.c = [t5.e = 0]; else { if (r3.length = e3--, h3) for (; 9 < ++r3[e3]; ) r3[e3] = 0, e3-- || (++t5.e, r3.unshift(1)); for (e3 = r3.length; !r3[--e3]; r3.pop()) ; } return t5; } function n4(t5) { throw (t5 = Error(t5)).name = "BigError", t5; } var h2 = -7, r2 = 21, e2 = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, o2 = function() { function t5(i5) { if (i5 instanceof t5) this.Cd = i5.Cd, this.e = i5.e, this.c = i5.c.slice(); else { var s5, h3, r3; for (i5 === 0 && 0 > 1 / i5 ? i5 = "-0" : e2.test(i5 += "") || n4(NaN), this.Cd = i5.charAt(0) == "-" ? (i5 = i5.slice(1), -1) : 1, -1 < (s5 = i5.indexOf(".")) && (i5 = i5.replace(".", "")), 0 < (h3 = i5.search(/e/i)) ? (0 > s5 && (s5 = h3), s5 += +i5.slice(h3 + 1), i5 = i5.substring(0, h3)) : 0 > s5 && (s5 = i5.length), h3 = 0; i5.charAt(h3) == "0"; h3++) ; if (h3 == (r3 = i5.length)) this.c = [this.e = 0]; else { for (; i5.charAt(--r3) == "0"; ) ; for (this.e = s5 - h3 - 1, this.c = [], s5 = 0; h3 <= r3; this.c[s5++] = +i5.charAt(h3++)) ; } } } return t5.prototype.abs = function() { var i5 = new t5(this); return i5.Cd = 1, i5; }, t5.prototype.cmp = function(i5) { var s5 = this.c, n5 = (i5 = new t5(i5)).c, h3 = this.Cd, r3 = i5.Cd, e3 = this.e, o3 = i5.e; if (!s5[0] || !n5[0]) return s5[0] ? h3 : n5[0] ? -r3 : 0; if (h3 != r3) return h3; if (i5 = 0 > h3, e3 != o3) return e3 > (o3 ^ i5) ? 1 : -1; for (h3 = -1, r3 = (e3 = s5.length) < (o3 = n5.length) ? e3 : o3; ++h3 < r3; ) if (s5[h3] != n5[h3]) return s5[h3] > (n5[h3] ^ i5) ? 1 : -1; return e3 == o3 ? 0 : e3 > (o3 ^ i5) ? 1 : -1; }, t5.prototype.lm = function(i5) { var h3 = this.c, r3 = (i5 = new t5(i5)).c, e3 = this.Cd == i5.Cd ? 1 : -1, o3 = t5.tr; if ((o3 !== ~~o3 || 0 > o3 || 1e6 < o3) && n4("!Big.DP!"), !h3[0] || !r3[0]) return h3[0] == r3[0] && n4(NaN), r3[0] || n4(e3 / 0), new t5(0 * e3); var a2, u2, f2 = r3.slice(), c2 = a2 = r3.length, l2 = h3.length, p2 = h3.slice(0, a2), v2 = p2.length, y2 = i5, b2 = y2.c = [], d2 = 0, g2 = o3 + (y2.e = this.e - i5.e) + 1; for (y2.Cd = e3, e3 = 0 > g2 ? 0 : g2, f2.unshift(0); v2++ < a2; p2.push(0)) ; do { for (u2 = 0; 10 > u2; u2++) { if (a2 != (v2 = p2.length)) var w2 = a2 > v2 ? 1 : -1; else { var x2 = -1; for (w2 = 0; ++x2 < a2; ) if (r3[x2] != p2[x2]) { w2 = r3[x2] > p2[x2] ? 1 : -1; break; } } if (!(0 > w2)) break; for (i5 = v2 == a2 ? r3 : f2; v2; ) { if (p2[--v2] < i5[v2]) { for (x2 = v2; x2 && !p2[--x2]; p2[x2] = 9) ; --p2[x2], p2[v2] += 10; } p2[v2] -= i5[v2]; } for (; !p2[0]; p2.shift()) ; } b2[d2++] = w2 ? u2 : ++u2, p2[0] && w2 ? p2[v2] = h3[c2] || 0 : p2 = [h3[c2]]; } while ((c2++ < l2 || p2[0] !== void 0) && e3--); return b2[0] || d2 == 1 || (b2.shift(), y2.e--), d2 > g2 && s4(y2, o3, t5.gu, p2[0] !== void 0), y2; }, t5.prototype.ZR = function() { return 0 < this.cmp(0); }, t5.prototype.fT = function() { return 0 > this.cmp(0); }, t5.prototype.kt = function(i5) { var s5, n5 = this.Cd, h3 = (i5 = new t5(i5)).Cd; if (n5 != h3) return i5.Cd = -h3, this.nI(i5); var r3 = this.c.slice(), e3 = this.e, o3 = i5.c, a2 = i5.e; if (!r3[0] || !o3[0]) return o3[0] ? (i5.Cd = -h3, i5) : new t5(r3[0] ? this : 0); if (n5 = e3 - a2) { for ((s5 = 0 > n5) ? (n5 = -n5, e3 = r3) : (a2 = e3, e3 = o3), e3.reverse(), h3 = n5; h3--; e3.push(0)) ; e3.reverse(); } else for (e3 = ((s5 = r3.length < o3.length) ? r3 : o3).length, n5 = h3 = 0; h3 < e3; h3++) if (r3[h3] != o3[h3]) { s5 = r3[h3] < o3[h3]; break; } if (s5 && (e3 = r3, r3 = o3, o3 = e3, i5.Cd = -i5.Cd), 0 < (h3 = (e3 = o3.length) - (s5 = r3.length))) for (; h3--; r3[s5++] = 0) ; for (h3 = s5; e3 > n5; ) { if (r3[--e3] < o3[e3]) { for (s5 = e3; s5 && !r3[--s5]; r3[s5] = 9) ; --r3[s5], r3[e3] += 10; } r3[e3] -= o3[e3]; } for (; r3[--h3] == 0; r3.pop()) ; for (; r3[0] == 0; ) r3.shift(), --a2; return r3[0] || (i5.Cd = 1, r3 = [a2 = 0]), i5.c = r3, i5.e = a2, i5; }, t5.prototype.nI = function(i5) { var s5 = this.Cd, n5 = (i5 = new t5(i5)).Cd; if (s5 != n5) return i5.Cd = -n5, this.kt(i5); n5 = this.e; var h3 = this.c, r3 = i5.e, e3 = i5.c; if (!h3[0] || !e3[0]) return e3[0] ? i5 : new t5(h3[0] ? this : 0 * s5); if (h3 = h3.slice(), s5 = n5 - r3) { for (0 < s5 ? (r3 = n5, n5 = e3) : (s5 = -s5, n5 = h3), n5.reverse(); s5--; n5.push(0)) ; n5.reverse(); } for (0 > h3.length - e3.length && (n5 = e3, e3 = h3, h3 = n5), s5 = e3.length, n5 = 0; s5; ) n5 = (h3[--s5] = h3[s5] + e3[s5] + n5) / 10 | 0, h3[s5] %= 10; for (n5 && (h3.unshift(n5), ++r3), s5 = h3.length; h3[--s5] == 0; h3.pop()) ; return i5.c = h3, i5.e = r3, i5; }, t5.prototype.pow = function(i5) { var s5 = this, h3 = new t5(1), r3 = h3, e3 = 0 > i5; for ((i5 !== ~~i5 || -1e6 > i5 || 1e6 < i5) && n4("!pow!"), i5 = e3 ? -i5 : i5; 1 & i5 && (r3 = r3.nr(s5)), i5 >>= 1; ) s5 = s5.nr(s5); return e3 ? h3.lm(r3) : r3; }, t5.prototype.round = function(i5, h3) { var r3 = this; return i5 == null ? i5 = 0 : (i5 !== ~~i5 || 0 > i5 || 1e6 < i5) && n4("!round!"), s4(r3 = new t5(r3), i5, h3 == null ? t5.gu : h3), r3; }, t5.prototype.sqrt = function() { var i5 = this.c, h3 = this.Cd, r3 = this.e, e3 = new t5("0.5"); if (!i5[0]) return new t5(this); 0 > h3 && n4(NaN), (h3 = Math.sqrt(this.toString())) == 0 || h3 == 1 / 0 ? ((h3 = i5.join("")).length + r3 & 1 || (h3 += "0"), (i5 = new t5(Math.sqrt(h3).toString())).e = ((r3 + 1) / 2 | 0) - (0 > r3 || 1 & r3)) : i5 = new t5(h3.toString()), h3 = i5.e + (t5.tr += 4); do { r3 = i5, i5 = e3.nr(r3.nI(this.lm(r3))); } while (r3.c.slice(0, h3).join("") !== i5.c.slice(0, h3).join("")); return s4(i5, t5.tr -= 4, t5.gu), i5; }, t5.prototype.nr = function(i5) { var s5 = this.c, n5 = (i5 = new t5(i5)).c, h3 = s5.length, r3 = n5.length, e3 = this.e, o3 = i5.e; if (i5.Cd = this.Cd == i5.Cd ? 1 : -1, !s5[0] || !n5[0]) return new t5(0 * i5.Cd); if (i5.e = e3 + o3, h3 < r3) { var a2 = s5; s5 = n5, n5 = a2, o3 = h3, h3 = r3, r3 = o3; } for (a2 = Array(o3 = h3 + r3); o3--; a2[o3] = 0) ; for (e3 = r3; e3--; ) { for (r3 = 0, o3 = h3 + e3; o3 > e3; ) r3 = a2[o3] + n5[e3] * s5[o3 - e3 - 1] + r3, a2[o3--] = r3 % 10, r3 = r3 / 10 | 0; a2[o3] = (a2[o3] + r3) % 10; } for (r3 && ++i5.e, a2[0] || a2.shift(), e3 = a2.length; !a2[--e3]; a2.pop()) ; return i5.c = a2, i5; }, t5.prototype.toString = function() { var t6 = this.e, i5 = this.c.join(""), s5 = i5.length; if (t6 <= h2 || t6 >= r2) i5 = i5.charAt(0) + (1 < s5 ? "." + i5.slice(1) : "") + (0 > t6 ? "e" : "e+") + t6; else if (0 > t6) { for (; ++t6; i5 = "0" + i5) ; i5 = "0." + i5; } else if (0 < t6) if (++t6 > s5) for (t6 -= s5; t6--; i5 += "0") ; else t6 < s5 && (i5 = i5.slice(0, t6) + "." + i5.slice(t6)); else 1 < s5 && (i5 = i5.charAt(0) + "." + i5.slice(1)); return 0 > this.Cd && this.c[0] ? "-" + i5 : i5; }, t5.prototype.toExponential = function(t6) { return t6 == null ? t6 = this.c.length - 1 : (t6 !== ~~t6 || 0 > t6 || 1e6 < t6) && n4("!toExp!"), i4(this, t6, 1); }, t5.prototype.toFixed = function(t6) { var s5 = h2, e3 = r2; if (h2 = -(r2 = 1 / 0), t6 == null) var o3 = this.toString(); else t6 === ~~t6 && 0 <= t6 && 1e6 >= t6 && (o3 = i4(this, this.e + t6), 0 > this.Cd && this.c[0] && 0 > o3.indexOf("-") && (o3 = "-" + o3)); return h2 = s5, r2 = e3, o3 || n4("!toFix!"), o3; }, t5.prototype.toPrecision = function(t6) { return t6 == null ? this.toString() : ((t6 !== ~~t6 || 1 > t6 || 1e6 < t6) && n4("!toPre!"), i4(this, t6 - 1, 2)); }, t5.tr = 20, t5.gu = 1, t5; }(); t4.ip = o2; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5) { this.lf = t5; } return i5.prototype.qr = function(i6, s4, n4) { var h2 = new t4.h(), r2 = new t4.h(), e2 = this.lf; n4.Wd(i6, s4, function(t5, i7) { return e2.uc(2 * t5, h2), e2.uc(2 * i7, r2), h2.compare(r2); }); }, i5.prototype.bq = function(t5) { return this.lf.read(2 * t5 + 1); }, i5; }(); t4.si = function() { function s4() { } return s4.cq = function(i5) { if (i5.B()) return false; var n4 = i5.K(); return n4 == 1736 ? i5.He() != 0 : n4 == 1607 ? (n4 = [false], s4.mE(i5, true, n4), n4[0]) : !(n4 != 197 && (!t4.ba.zd(n4) || i5.vG())); }, s4.im = function(i5) { var n4 = i5.K(); if (n4 == 1736) return n4 = new t4.Ua(i5.description), i5.B() || i5.YC(n4), n4; if (n4 == 1607) return s4.mE(i5, false, null); if (n4 == 197) return n4 = new t4.Ua(i5.description), i5.B() || n4.bd(i5, false), n4; if (t4.ba.zd(n4)) { if (n4 = new t4.de(i5.description), !i5.B() && !i5.vG()) { var h2 = new t4.Ta(); i5.Uo(h2), n4.add(h2), i5.Qo(h2), n4.add(h2); } return n4; } if (t4.ba.Sn(n4)) return null; throw t4.i.O(); }, s4.mE = function(s5, n4, h2) { h2 != null && (h2[0] = false); var r2 = null; if (n4 || (r2 = new t4.de(s5.description)), !s5.B()) { var e2 = new t4.ja(0); e2.Jb(2 * s5.ea()); for (var o2 = 0, a2 = s5.ea(); o2 < a2; o2++) if (0 < s5.Ka(o2) && !s5.On(o2)) { var u2 = s5.Ca(o2); e2.add(u2), u2 = s5.Wc(o2) - 1, e2.add(u2); } if (0 < e2.size) { a2 = new t4.Zt(), o2 = s5.vb(0), a2.sort(e2, 0, e2.size, new i4(o2)), a2 = new t4.h(), o2.uc(2 * e2.get(0), a2), u2 = 0; for (var f2 = 1, c2 = new t4.Ta(), l2 = new t4.h(), p2 = 1, v2 = e2.size; p2 < v2; p2++) if (o2.uc(2 * e2.get(p2), l2), l2.rb(a2)) e2.get(u2) > e2.get(p2) ? (e2.set(u2, 2147483647), u2 = p2) : e2.set(p2, 2147483647), f2++; else { if ((1 & f2) == 0) e2.set(u2, 2147483647); else if (n4) return h2 != null && (h2[0] = true), null; a2.N(l2), u2 = p2, f2 = 1; } if ((1 & f2) == 0) e2.set(u2, 2147483647); else if (n4) return h2 != null && (h2[0] = true), null; if (!n4) for (e2.Wd(0, e2.size, function(t5, i5) { return t5 - i5; }), p2 = 0, v2 = e2.size; p2 < v2 && e2.get(p2) != 2147483647; p2++) s5.we(e2.get(p2), c2), r2.add(c2); } } return n4 ? null : r2; }, s4; }(); }(V || (V = {})), function(t4) { var i4 = function() { function i5() { this.zf = new t4.ja(0), this.As = new t4.ja(0), this.yH = 1, this.Gs = NaN; } return i5.prototype.sort = function(t5, i6, s4, n4) { if (32 > s4 - i6) n4.qr(i6, s4, t5); else { var h2 = true; try { for (var r2 = 1 / 0, e2 = -1 / 0, o2 = i6; o2 < s4; o2++) { var a2 = n4.bq(t5.get(o2)); a2 < r2 && (r2 = a2), a2 > e2 && (e2 = a2); } if (this.reset(s4 - i6, r2, e2, s4 - i6)) { for (o2 = i6; o2 < s4; o2++) { var u2 = t5.get(o2); a2 = n4.bq(u2); var f2 = this.tF(a2); this.zf.set(f2, this.zf.get(f2) + 1), this.As.write(o2 - i6, u2); } var c2 = this.zf.get(0); this.zf.set(0, 0), o2 = 1; for (var l2 = this.zf.size; o2 < l2; o2++) { var p2 = this.zf.get(o2); this.zf.set(o2, c2), c2 += p2; } for (o2 = i6; o2 < s4; o2++) { u2 = this.As.read(o2 - i6), a2 = n4.bq(u2), f2 = this.tF(a2); var v2 = this.zf.get(f2); t5.set(v2 + i6, u2), this.zf.set(f2, v2 + 1); } h2 = false; } } catch (y2) { this.zf.resize(0), this.As.resize(0); } if (h2) n4.qr(i6, s4, t5); else { for (o2 = s4 = 0, l2 = this.zf.size; o2 < l2; o2++) h2 = s4, (s4 = this.zf.get(o2)) > h2 && n4.qr(i6 + h2, i6 + s4, t5); 100 < this.zf.size && (this.zf.resize(0), this.As.resize(0)); } } }, i5.prototype.reset = function(t5, s4, n4, h2) { return !(2 > t5 || n4 == s4) && (t5 = Math.min(i5.bL, t5), this.zf.Jb(t5), this.zf.resize(t5), this.zf.Yj(0, 0, this.zf.size), this.yH = s4, this.As.resize(h2), this.Gs = (n4 - s4) / (t5 - 1), true); }, i5.prototype.tF = function(i6) { return t4.P.truncate((i6 - this.yH) / this.Gs); }, i5.bL = 65536, i5; }(); t4.Zt = i4; }(V || (V = {})), function(t4) { var i4, s4; (s4 = i4 || (i4 = {}))[s4.enum_line = 1] = "enum_line", s4[s4.enum_arc = 2] = "enum_arc", s4[s4.enum_dummy = 4] = "enum_dummy", s4[s4.enum_concave_dip = 8] = "enum_concave_dip", s4[s4.enum_connection = 3] = "enum_connection"; var n4 = function() { function i5() { } return i5.Su = function(s5, n5, h3, r3, e3, o3) { var a2 = new i5(); return a2.Km = new t4.h(), a2.Xm = new t4.h(), a2.cw = new t4.h(), a2.Km.N(s5), a2.Xm.N(n5), a2.cw.N(h3), a2.Do = r3, a2.sh = e3, a2.uh = o3, a2; }, i5.construct = function(s5, n5, h3, r3) { var e3 = new i5(); return e3.Km = new t4.h(), e3.Xm = new t4.h(), e3.cw = new t4.h(), e3.Km.N(s5), e3.Xm.N(n5), e3.cw.Sc(), e3.Do = 4, e3.sh = h3, e3.uh = r3, e3; }, i5; }(), h2 = function() { function i5(t5, i6, s5, n5, h3, r3) { this.$v = null, this.za = 0, this.yA = t5, this.WH = this.UH = 0, this.La = i6, this.Oj = s5, this.wk = n5, this.Fq = h3, this.Vb = r3; } return i5.prototype.next = function() { for (var i6 = new t4.Ta(); ; ) { if (this.za == this.yA.I()) return null; if (this.yA.we(this.za, i6), this.za++, !i6.B()) break; } var s5 = false; if (this.$v == null && (this.UH = i6.Ng(), this.WH = i6.kh(), this.$v = o2.buffer(i6, this.La, this.Oj, this.wk, this.Fq, this.Vb), s5 = true), this.za < this.yA.I()) { var n5 = new t4.Ea(); this.$v.copyTo(n5); } else n5 = this.$v; if (!s5) { s5 = new t4.Ed(); var h3 = i6.Ng() - this.UH; i6 = i6.kh() - this.WH, s5.gg(h3, i6), n5.Pc(s5); } return n5; }, i5.prototype.Ma = function() { return 0; }, i5.prototype.qe = function() { }, i5; }(), r2 = function() { function i5(t5, i6) { this.Xa = t5, this.za = 0, this.qq = i6; } return i5.prototype.next = function() { var i6 = this.Xa.Y; if (this.za < i6.ea()) { var s5 = this.za; if (this.za++, !i6.On(s5)) for (var n5 = i6.Oa(i6.Wc(s5) - 1); this.za < i6.ea(); ) { var h3 = i6.Oa(i6.Ca(this.za)); if (i6.On(this.za)) break; if (h3 != n5) break; n5 = i6.Oa(i6.Wc(this.za) - 1), this.za++; } if (this.za - s5 == 1) return this.Xa.eE(this.Xa.Y, s5, this.qq); for ((n5 = new t4.Ua(this.Xa.Y.description)).addPath(this.Xa.Y, s5, true), s5 += 1; s5 < this.za; s5++) n5.Fr(this.Xa.Y, s5, 0, i6.tv(s5), false); return this.Xa.eE(n5, 0, this.qq); } return null; }, i5.prototype.Ma = function() { return 0; }, i5.prototype.qe = function() { }, i5; }(), e2 = function() { function t5(t6) { this.Xa = t6, this.za = 0; } return t5.prototype.next = function() { var t6 = this.Xa.Y; if (this.za < t6.ea()) { var i5 = this.za; for (t6.Kr(this.za), this.za++; this.za < t6.ea() && !(0 < t6.Kr(this.za)); ) this.za++; return i5 == 0 && this.za == t6.ea() ? this.Xa.ly(t6, 0, t6.ea()) : this.Xa.ly(t6, i5, this.za); } return null; }, t5.prototype.Ma = function() { return 0; }, t5.prototype.qe = function() { }, t5; }(), o2 = function() { function i5(t5) { this.Ms = this.nw = this.Ns = this.Jd = null, this.$d = [], this.Vb = t5, this.sb = this.Mv = this.BT = this.La = this.nA = this.dt = this.ra = 0, this.iA = this.wk = -1, this.qq = true; } return i5.buffer = function(s5, n5, h3, r3, e3, o3) { if (s5 == null) throw t4.i.O(); if (0 > r3) throw t4.i.O(); if (s5.B()) return new t4.Ea(s5.description); var a2 = new t4.l(); return s5.yc(a2), 0 < n5 && a2.X(n5, n5), (o3 = new i5(o3)).Oj = h3, o3.Y = s5, o3.ra = t4.ta.Xd(h3, a2, true), o3.dt = t4.ta.Xd(null, a2, true), o3.La = n5, o3.BT = s5.K(), 0 >= e3 && (e3 = 96), o3.sb = Math.abs(o3.La), o3.Mv = o3.sb != 0 ? 1 / o3.sb : 0, isNaN(r3) || r3 == 0 ? r3 = 1e-5 * o3.sb : r3 > 0.5 * o3.sb && (r3 = 0.5 * o3.sb), 12 > e3 && (e3 = 12), (s5 = Math.abs(n5) * (1 - Math.cos(Math.PI / e3))) > r3 ? r3 = s5 : (s5 = Math.PI / Math.acos(1 - r3 / Math.abs(n5))) < e3 - 1 && (12 > (e3 = t4.P.truncate(s5)) && (e3 = 12, r3 = Math.abs(n5) * (1 - Math.cos(Math.PI / e3)))), o3.wk = r3, o3.Fq = e3, o3.nA = Math.min(o3.dt, 0.25 * r3), o3.fE(); }, i5.prototype.ev = function() { if (this.Jd == null) this.Jd = []; else if (this.Jd.length !== 0) return; var i6 = this.kE(); i6 = t4.P.truncate((i6 + 3) / 4); var s5 = 0.5 * Math.PI / i6; this.iA = s5; for (var n5 = 0; n5 < 4 * i6; n5++) this.Jd.push(null); var h3 = Math.cos(s5); s5 = Math.sin(s5); var r3 = t4.h.construct(0, 1); for (n5 = 0; n5 < i6; n5++) this.Jd[n5 + 0 * i6] = t4.h.construct(r3.y, -r3.x), this.Jd[n5 + 1 * i6] = t4.h.construct(-r3.x, -r3.y), this.Jd[n5 + 2 * i6] = t4.h.construct(-r3.y, r3.x), this.Jd[n5 + 3 * i6] = r3, (r3 = t4.h.construct(r3.x, r3.y)).Ct(h3, s5); }, i5.prototype.fE = function() { var i6 = this.Y.K(); if (t4.ba.zd(i6)) return (i6 = new t4.Ua(this.Y.description)).oc(this.Y, true), this.Y = i6, this.fE(); if (this.La <= this.ra) { if (!t4.ba.MS(i6)) return new t4.Ea(this.Y.description); if (0 >= this.La && (i6 = new t4.l(), this.Y.A(i6), i6.S() <= 2 * -this.La || i6.da() <= 2 * this.La)) return new t4.Ea(this.Y.description); } switch (this.Y.K()) { case 33: return this.JN(); case 550: return this.IN(); case 1607: return this.LN(); case 1736: return this.KN(); case 197: return this.FN(); default: throw t4.i.Ra(); } }, i5.prototype.LN = function() { if (this.yG(this.Y)) { var i6 = new t4.Ta(); this.Y.we(0, i6); var s5 = new t4.l(); return this.Y.A(s5), i6.Db(s5.tf()), this.Iu(i6); } return this.Y = this.OV(this.Y), i6 = new r2(this, this.qq), t4.Ih.local().W(i6, this.Oj, this.Vb).next(); }, i5.prototype.KN = function() { if (this.La == 0) return this.Y; var i6 = t4.$l.local(); if (this.ev(), this.Y = i6.W(this.Y, null, false, this.Vb), 0 > this.La) { var s5 = this.Y; return s5 = this.ly(s5, 0, s5.ea()), i6.W(s5, this.Oj, false, this.Vb); } return this.yG(this.Y) ? (i6 = new t4.Ta(), this.Y.we(0, i6), s5 = new t4.l(), this.Y.A(s5), i6.Db(s5.tf()), this.Iu(i6)) : (i6 = new e2(this), t4.Ih.local().W(i6, this.Oj, this.Vb).next()); }, i5.prototype.ly = function(s5, n5, h3) { for (var r3 = new t4.Ea(s5.description); n5 < h3; n5++) if (!(1 > s5.Ka(n5))) { var e3 = s5.Kr(n5), o3 = new t4.l(); if (s5.Tj(n5, o3), 0 < this.La) { if (0 < e3) if (this.zG(s5, n5)) e3 = new t4.Ta(), s5.we(s5.Ca(n5), e3), e3.Db(o3.tf()), this.Au(r3, e3); else { var a2 = e3 = new t4.Ua(s5.description); a2 = t4.au.DG(this.Y, n5) || this.An(this.Y, n5, a2, true, 1) == 2 ? this.dE(s5, n5) : this.zn(e3), r3.add(a2, false); } else if (!(o3.S() + this.ra <= 2 * this.sb || o3.da() + this.ra <= 2 * this.sb || (a2 = e3 = new t4.Ua(s5.description), this.An(this.Y, n5, a2, true, 1), e3.B()))) { var u2 = new t4.l(); for (u2.L(o3), u2.X(this.sb, this.sb), a2.vp(u2), o3 = 1, e3 = (a2 = this.zn(e3)).ea(); o3 < e3; o3++) r3.addPath(a2, o3, true); } } else if (0 < e3) { if (!(o3.S() + this.ra <= 2 * this.sb || o3.da() + this.ra <= 2 * this.sb || (a2 = e3 = new t4.Ua(s5.description), this.An(this.Y, n5, a2, true, -1), e3.B()))) for (u2 = new t4.l(), a2.yc(u2), u2.X(this.sb, this.sb), a2.vp(u2), o3 = 1, e3 = (a2 = this.zn(e3)).ea(); o3 < e3; o3++) r3.addPath(a2, o3, true); } else for (a2 = e3 = new t4.Ua(s5.description), this.An(this.Y, n5, a2, true, -1), o3 = 0, e3 = (a2 = this.zn(e3)).ea(); o3 < e3; o3++) r3.addPath(a2, o3, true); } if (0 < this.La) return 1 < r3.ea() ? r3 = this.zn(r3) : i5.kx(r3); if (s5 = new t4.l(), r3.yc(s5), r3.B()) return i5.kx(r3); for (s5.X(this.sb, this.sb), r3.vp(s5), r3 = this.zn(r3), s5 = new t4.Ea(r3.description), o3 = 1, e3 = r3.ea(); o3 < e3; o3++) s5.addPath(r3, o3, false); return i5.kx(s5); }, i5.prototype.JN = function() { return this.Iu(this.Y); }, i5.prototype.Iu = function(i6) { var s5 = new t4.Ea(this.Y.description); return this.Au(s5, i6), this.kX(s5); }, i5.prototype.IN = function() { var i6 = new h2(this.Y, this.La, this.Oj, this.wk, this.Fq, this.Vb); return t4.Ih.local().W(i6, this.Oj, this.Vb).next(); }, i5.prototype.FN = function() { var i6 = new t4.Ea(this.Y.description); if (0 >= this.La) { if (this.La == 0) i6.bd(this.Y, false); else { var s5 = new t4.Hh(); this.Y.dn(s5), s5.X(this.La, this.La), i6.bd(s5, false); } return i6; } return i6.bd(this.Y, false), this.Y = i6, this.dE(i6, 0); }, i5.prototype.dE = function(s5, n5) { this.ev(); var h3 = new t4.Ea(s5.description), r3 = new t4.h(), e3 = new t4.h(), o3 = new t4.h(), a2 = new t4.h(), u2 = new t4.h(), f2 = new t4.h(), c2 = new t4.h(), l2 = new t4.h(), p2 = s5.Ka(n5), v2 = s5.Ca(n5), y2 = 0; for (n5 = s5.Ka(n5); y2 < n5; y2++) { if (s5.D(v2 + y2, e3), s5.D(v2 + (y2 + 1) % p2, a2), s5.D(v2 + (y2 + 2) % p2, f2), c2.vc(a2, e3), c2.length() == 0) throw t4.i.Ra(); if (c2.Jv(), c2.normalize(), c2.scale(this.sb), r3.add(c2, e3), o3.add(c2, a2), y2 == 0 ? h3.Nt(r3) : h3.Ei(r3), h3.Ei(o3), l2.vc(f2, a2), l2.length() == 0) throw t4.i.Ra(); l2.Jv(), l2.normalize(), l2.scale(this.sb), u2.add(l2, a2), this.AD(h3, a2, o3, u2, false); } return i5.kx(h3); }, i5.prototype.eE = function(i6, s5, n5) { if (this.ev(), 1 > i6.Ka(s5)) return null; if (this.zG(i6, s5) && 0 < this.La) { n5 = new t4.Ta(), i6.we(i6.Ca(s5), n5); var h3 = new t4.l(); return i6.Tj(s5, h3), n5.Db(h3.tf()), this.Iu(n5); } if (h3 = new t4.Ua(i6.description), i6.On(s5)) this.An(i6, s5, h3, n5, 1), this.An(i6, s5, h3, n5, -1); else { var r3 = new t4.Ua(i6.description); r3.addPath(i6, s5, false), r3.Fr(i6, s5, 0, i6.tv(s5), false), this.An(r3, 0, h3, n5, 1); } return this.zn(h3); }, i5.prototype.Zq = function() { if (this.$s++, this.$s % 1024 == 0 && this.Vb != null && !this.Vb.progress(-1, -1)) throw t4.i.hu("user_canceled"); }, i5.prototype.zn = function(i6) { return t4.Hg.Nk(i6, this.dt, true, true, this.Vb); }, i5.prototype.kE = function() { if (this.wk == 0) return this.Fq; var i6 = 1 - this.wk * Math.abs(this.Mv); return 4 > (i6 = -1 > i6 ? 4 : 2 * Math.PI / Math.acos(i6) + 0.5) ? i6 = 4 : i6 > this.Fq && (i6 = this.Fq), t4.P.truncate(i6); }, i5.prototype.AD = function(i6, s5, n5, h3, r3) { this.ev(); var e3 = new t4.h(); e3.vc(n5, s5), e3.scale(this.Mv); var o3 = new t4.h(); o3.vc(h3, s5), o3.scale(this.Mv), 0 > (e3 = Math.atan2(e3.y, e3.x) / this.iA) && (e3 = this.Jd.length + e3), e3 = this.Jd.length - e3, 0 > (o3 = Math.atan2(o3.y, o3.x) / this.iA) && (o3 = this.Jd.length + o3), (o3 = this.Jd.length - o3) < e3 && (o3 += this.Jd.length); var a2 = t4.P.truncate(o3); o3 = t4.P.truncate(Math.ceil(e3)), (e3 = new t4.h()).N(this.Jd[o3 % this.Jd.length]), e3.Dt(this.sb, s5); var u2 = 10 * this.ra; for (e3.sub(n5), e3.length() < u2 && (o3 += 1), e3.N(this.Jd[a2 % this.Jd.length]), e3.Dt(this.sb, s5), e3.sub(h3), e3.length() < u2 && --a2, n5 = a2 - o3, n5++, a2 = 0, o3 %= this.Jd.length; a2 < n5; a2++, o3 = (o3 + 1) % this.Jd.length) e3.N(this.Jd[o3]), e3.Dt(this.sb, s5), i6.Ei(e3), this.Zq(); r3 && i6.Ei(h3); }, i5.prototype.An = function(i6, s5, h3, r3, e3) { var o3 = new t4.hd(), a2 = o3.gN(i6, s5); if (o3.Ip(this.nA, false, false), 2 > o3.I(a2)) return 0 > e3 || (e3 = i6, o3 = new t4.Ta(), e3.we(e3.Ca(s5), o3), this.Au(h3, o3)), 1; var u2 = o3.Oa(o3.Ya(o3.Ob(a2))), f2 = new t4.Ed(); if (f2.gg(-u2.x, -u2.y), o3.Pc(f2), r3 && (this.nQ(o3, a2, e3), 2 > o3.I(a2))) return 0 > e3 || (e3 = i6, o3 = new t4.Ta(), e3.we(e3.Ca(s5), o3), this.Au(h3, o3)), 1; this.$d.length = 0; var c2 = o3.Ob(a2); s5 = o3.Ya(c2); var l2 = e3 == 1 ? o3.Na(s5) : o3.V(s5); i6 = e3 == 1 ? o3.V(s5) : o3.Na(s5); var p2 = true; r3 = new t4.h(), a2 = new t4.h(); var v2 = new t4.h(), y2 = new t4.h(), b2 = new t4.h(), d2 = new t4.h(), g2 = new t4.h(), w2 = new t4.h(), x2 = new t4.h(), m2 = new t4.h(), j2 = this.sb; c2 = o3.Ka(c2); for (var k2 = 0; k2 < c2; k2++) o3.D(i6, a2), p2 && (o3.D(s5, r3), o3.D(l2, v2), w2.vc(r3, v2), w2.normalize(), m2.GG(w2), m2.scale(j2), y2.add(m2, r3)), g2.vc(a2, r3), g2.normalize(), x2.GG(g2), x2.scale(j2), b2.add(r3, x2), l2 = w2.yi(g2), p2 = w2.Sh(g2), 0 > l2 || 0 > p2 && l2 == 0 ? this.$d.push(n4.Su(y2, b2, r3, 2, this.$d.length + 1, this.$d.length - 1)) : y2.rb(b2) || (this.$d.push(n4.construct(y2, r3, this.$d.length + 1, this.$d.length - 1, "dummy")), this.$d.push(n4.construct(r3, b2, this.$d.length + 1, this.$d.length - 1, "dummy"))), d2.add(a2, x2), this.$d.push(n4.Su(b2, d2, r3, 1, this.$d.length + 1, this.$d.length - 1)), y2.N(d2), m2.N(x2), v2.N(r3), r3.N(a2), w2.N(g2), l2 = s5, s5 = i6, p2 = false, i6 = e3 == 1 ? o3.V(s5) : o3.Na(s5); return this.$d[this.$d.length - 1].sh = 0, this.$d[0].uh = this.$d.length - 1, this.QV(h3), f2.gg(u2.x, u2.y), h3.SD(f2, h3.ea() - 1), 1; }, i5.prototype.QV = function(t5) { for (var i6 = this.tO(), s5 = true, n5 = i6 + 1, h3 = i6; n5 != i6; h3 = n5) { var r3 = this.$d[h3]; n5 = r3.sh != -1 ? r3.sh : (h3 + 1) % this.$d.length, r3.Do != 0 && (s5 && t5.Nt(r3.Km), r3.Do == 2 ? this.AD(t5, r3.cw, r3.Km, r3.Xm, true) : t5.Ei(r3.Xm), s5 = false); } }, i5.prototype.tO = function() { this.Ms == null && (this.Ms = [null, null, null, null, null, null, null, null, null]); for (var i6 = 0, s5 = 0, n5 = this.$d.length; s5 < n5; ) { var h3 = this.$d[s5]; if ((3 & h3.Do) != 0) { i6 = s5; break; } s5 = h3.sh; } for (n5 = i6 + 1, s5 = i6; n5 != i6; s5 = n5) { n5 = (h3 = this.$d[s5]).sh; for (var r3 = 1, e3 = null; n5 != s5 && (3 & (e3 = this.$d[n5]).Do) == 0; ) n5 = e3.sh, r3++; r3 != 1 && (h3.Do & e3.Do) == 1 && (this.Ns == null && (this.Ns = new t4.zb(), this.nw = new t4.zb()), this.Ns.Ec(h3.Km), this.Ns.Rc(h3.Xm), this.nw.Ec(e3.Km), this.nw.Rc(e3.Xm), this.Ns.Fa(this.nw, this.Ms, null, null, this.dt) == 1 && (h3.Xm.N(this.Ms[0]), e3.Km.N(this.Ms[0]), h3.sh = n5, e3.uh = s5)); } return i6; }, i5.prototype.Hv = function(i6, s5, n5) { var h3 = new t4.h(); if (h3.vc(n5, i6), n5 = h3.length(), 0 < (n5 = this.sb * this.sb - n5 * n5 * 0.25)) { n5 = Math.sqrt(n5), h3.normalize(), h3.cr(); var r3 = new t4.h(); if (r3.vc(s5, i6), r3.Sh(h3) + n5 >= this.sb) return true; } return false; }, i5.prototype.nQ = function(i6, s5, n5) { for (var h3 = 0; 1 > h3; h3++) { var r3 = false, e3 = i6.Ob(s5), o3 = i6.Ka(e3); if (o3 == 0) break; var a2 = o3; if (3 > o3) break; !i6.ec(e3) && (a2 = o3 - 1), e3 = i6.Ya(e3), o3 = 0 < n5 ? i6.Na(e3) : i6.V(e3); for (var u2 = 0 < n5 ? i6.V(e3) : i6.Na(e3), f2 = o3, c2 = true, l2 = new t4.h(), p2 = new t4.h(), v2 = new t4.h(), y2 = new t4.h(), b2 = new t4.h(), d2 = t4.h.construct(0, 0), g2 = new t4.h(), w2 = new t4.h(), x2 = new t4.h(), m2 = new t4.h(), j2 = this.sb, k2 = 0, M2 = 0; M2 < a2 && (i6.D(u2, p2), c2 && (i6.D(e3, l2), i6.D(o3, v2), f2 = o3), w2.vc(l2, v2), w2.normalize(), g2.vc(p2, l2), g2.normalize(), f2 != u2); ) { var z2 = w2.yi(g2), A2 = w2.Sh(g2), N2 = true; if (0 > z2 || 0 > A2 && z2 == 0 || !this.Hv(v2, l2, p2) || (d2.N(p2), N2 = false, ++k2, r3 = true), N2) { if (0 < k2) for (; (z2 = 0 < n5 ? i6.Na(f2) : i6.V(f2)) != e3; ) { if (i6.D(z2, y2), !this.Hv(y2, v2, d2)) { z2 != u2 && this.Hv(y2, v2, p2) && this.Hv(y2, l2, p2) && (v2.N(y2), f2 = z2, N2 = false, ++k2); break; } v2.N(y2), f2 = z2, N2 = false, ++k2; } if (!N2) continue; if (0 < k2) { for (f2 = 0 < n5 ? i6.Na(o3) : i6.V(o3), c2 = 1; c2 < k2; c2++) N2 = 0 < n5 ? i6.Na(f2) : i6.V(f2), i6.pd(f2, true), f2 = N2; x2.vc(l2, v2), k2 = j2 * j2 - (k2 = x2.length()) * k2 * 0.25, j2 - (k2 = Math.sqrt(k2)) > 0.5 * this.wk ? (b2.add(v2, l2), b2.scale(0.5), x2.normalize(), x2.cr(), m2.N(x2), m2.scale(j2 - k2), b2.add(m2), i6.mf(o3, b2)) : i6.pd(o3, true), k2 = 0; } v2.N(l2), f2 = e3; } l2.N(p2), o3 = e3, e3 = u2, u2 = 0 < n5 ? i6.V(e3) : i6.Na(e3), M2++, c2 = false; } if (0 < k2) { for (f2 = 0 < n5 ? i6.Na(o3) : i6.V(o3), c2 = 1; c2 < k2; c2++) N2 = 0 < n5 ? i6.Na(f2) : i6.V(f2), i6.pd(f2, true), f2 = N2; b2.add(v2, l2), b2.scale(0.5), x2.vc(l2, v2), k2 = j2 * j2 - (k2 = x2.length()) * k2 * 0.25, k2 = Math.sqrt(k2), x2.normalize(), x2.cr(), m2.N(x2), m2.scale(j2 - k2), b2.add(m2), i6.mf(o3, b2); } if (i6.Ip(this.nA, false, false), !r3) break; } }, i5.prototype.zG = function(i6, s5) { if (i6.Ka(s5) == 1) return true; var n5 = new t4.l(); return i6.Tj(s5, n5), Math.max(n5.S(), n5.da()) < 0.5 * this.wk; }, i5.prototype.yG = function(i6) { var s5 = new t4.l(); return i6.A(s5), Math.max(s5.S(), s5.da()) < 0.5 * this.wk; }, i5.prototype.OV = function(i6) { for (var s5 = 0, n5 = 0, h3 = (i6 = t4.yC.local().W(i6, 0.25 * this.wk, false, this.Vb)).ea(); n5 < h3; n5++) s5 = Math.max(i6.Ka(n5), s5); return 32 > s5 ? (this.qq = false, i6) : (this.qq = true, t4.Hg.Nk(i6, this.dt, false, true, this.Vb)); }, i5.prototype.Au = function(i6, s5) { if (s5 = s5.D(), this.Jd != null && this.Jd.length !== 0) { var n5 = new t4.h(); n5.N(this.Jd[0]), n5.Dt(this.sb, s5), i6.Nt(n5); for (var h3 = 1, r3 = this.Jd.length; h3 < r3; h3++) n5.N(this.Jd[h3]), n5.Dt(this.sb, s5), i6.Ei(n5); } else { h3 = this.kE(), n5 = t4.P.truncate((h3 + 3) / 4), h3 = 0.5 * Math.PI / n5, r3 = Math.cos(h3); for (var e3 = Math.sin(h3), o3 = new t4.h(), a2 = 3; 0 <= a2; a2--) { switch (o3.na(0, this.sb), a2) { case 0: for (h3 = 0; h3 < n5; h3++) i6.Aj(o3.x + s5.x, o3.y + s5.y), o3.Ct(r3, e3); break; case 1: for (h3 = 0; h3 < n5; h3++) i6.Aj(-o3.y + s5.x, o3.x + s5.y), o3.Ct(r3, e3); break; case 2: for (h3 = 0; h3 < n5; h3++) i6.Aj(-o3.x + s5.x, -o3.y + s5.y), o3.Ct(r3, e3); break; default: for (i6.rx(o3.y + s5.x, -o3.x + s5.y), h3 = 1; h3 < n5; h3++) o3.Ct(r3, e3), i6.Aj(o3.y + s5.x, -o3.x + s5.y); } this.Zq(); } } }, i5.kx = function(t5) { return t5.Eh(1, 0), t5; }, i5.prototype.kX = function(t5) { return t5.Eh(2, this.ra), t5.hm(), t5; }, i5; }(); t4.BK = o2; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.Da = i6, this.g = new t4.hd(), this.ed = new t4.ja(0); } return i5.prototype.Nh = function(t5, i6, s4) { switch (i6) { case 0: if (t5.v < s4 && t5.C <= s4) break; return t5.v >= s4 ? 1 : -1; case 1: if (t5.G < s4 && t5.H <= s4) break; return t5.G >= s4 ? 1 : -1; case 2: if (t5.v >= s4 && t5.C > s4) break; return t5.C <= s4 ? 1 : -1; case 3: if (!(t5.G >= s4 && t5.H > s4)) return t5.H <= s4 ? 1 : -1; } return 0; }, i5.prototype.vy = function(t5, i6) { return t5.K() == 1736 ? this.xy(t5, i6) : this.yy(t5); }, i5.prototype.xy = function(i6, s4) { if (this.Da.S() == 0 || this.Da.da() == 0) return i6.Ja(); var n4 = new t4.l(); i6.yc(n4), this.Y = this.g.Ib(i6); var h2 = new t4.l(), r2 = new t4.l(), e2 = new t4.h(), o2 = new t4.h(), a2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], u2 = [0, 0, 0, 0, 0, 0, 0, 0, 0]; new t4.hg(); var f2 = new t4.zb(), c2 = new t4.ja(0); c2.Jb(Math.min(100, i6.I())); for (var l2 = false, p2 = 0; !l2 && 4 > p2; p2++) { var v2 = false, y2 = (1 & p2) != 0, b2 = 0; switch (p2) { case 0: b2 = this.Da.v, v2 = n4.v <= b2 && n4.C >= b2; break; case 1: b2 = this.Da.G, v2 = n4.G <= b2 && n4.H >= b2; break; case 2: b2 = this.Da.C, v2 = n4.v <= b2 && n4.C >= b2; break; case 3: b2 = this.Da.H, v2 = n4.G <= b2 && n4.H >= b2; } if (v2) for (l2 = true, v2 = this.g.Ob(this.Y); v2 != -1; ) { var d2 = -1, g2 = -1, w2 = this.g.Ya(v2), x2 = w2; do { var m2 = this.g.cc(x2); m2 == null && (m2 = f2, this.g.D(x2, e2), m2.Ec(e2), this.g.D(this.g.V(x2), o2), m2.Rc(o2)), m2.A(h2); var j2 = this.Nh(h2, p2, b2), k2 = 0, M2 = -1; if (j2 == -1) { k2 = 0 < (m2 = m2.fq(y2, b2, a2, u2)) ? this.g.Wl(x2, u2, m2) : 0, k2 += 1; var z2 = x2, A2 = this.g.V(z2); for (m2 = 0; m2 < k2; m2++) { if (this.g.D(z2, e2), this.g.D(A2, o2), (M2 = this.g.cc(z2)) == null && ((M2 = f2).Ec(e2), M2.Rc(o2)), M2.A(r2), (M2 = this.Nh(r2, p2, b2)) == -1) { if (y2) (M2 = Math.abs(e2.y - b2)) < (N2 = Math.abs(o2.y - b2)) ? (e2.y = b2, this.g.mf(z2, e2)) : (o2.y = b2, this.g.mf(A2, o2)); else { M2 = Math.abs(e2.x - b2); var N2 = Math.abs(o2.x - b2); M2 < N2 ? (e2.x = b2, this.g.mf(z2, e2)) : (o2.x = b2, this.g.mf(A2, o2)); } (M2 = this.g.cc(z2)) == null && ((M2 = f2).Ec(e2), M2.Rc(o2)), M2.A(r2), M2 = this.Nh(r2, p2, b2); } N2 = d2, d2 = M2, g2 == -1 && (g2 = d2), N2 == 0 && d2 == 1 || N2 == 1 && d2 == 0 || N2 != 0 || d2 != 0 || c2.add(z2), d2 == 1 && (l2 = false), M2 = z2 = A2, A2 = this.g.V(A2); } } k2 == 0 && (N2 = d2, d2 = j2, g2 == -1 && (g2 = d2), N2 == 0 && d2 == 1 || N2 == 1 && d2 == 0 || N2 != 0 || d2 != 0 || c2.add(x2), d2 == 1 && (l2 = false), M2 = this.g.V(x2)), x2 = M2; } while (x2 != w2); for (g2 == 0 && d2 == 0 && c2.add(w2), m2 = 0, d2 = c2.size; m2 < d2; m2++) g2 = c2.get(m2), this.g.pd(g2, false); c2.clear(false), v2 = 3 > this.g.Ka(v2) ? this.g.ar(v2) : this.g.Sb(v2); } } return l2 ? i6.Ja() : (this.zB(), 0 < s4 && this.Hy(s4), this.g.Ke(this.Y)); }, i5.prototype.yy = function(i6) { var s4 = new t4.l(), n4 = new t4.l(), h2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], r2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], e2 = new t4.hg(), o2 = i6, a2 = new t4.l(); i6.yc(a2); for (var u2 = 0; 4 > u2; u2++) { var f2 = false, c2 = (1 & u2) != 0, l2 = 0; switch (u2) { case 0: l2 = this.Da.v, f2 = a2.v <= l2 && a2.C >= l2; break; case 1: l2 = this.Da.G, f2 = a2.G <= l2 && a2.H >= l2; break; case 2: l2 = this.Da.C, f2 = a2.v <= l2 && a2.C >= l2; break; case 3: l2 = this.Da.H, f2 = a2.G <= l2 && a2.H >= l2; } if (f2) { f2 = o2, o2 = i6.Ja(), (f2 = f2.Ha()).aj(); for (var p2, v2 = new t4.h(); f2.ab(); ) for (var y2, b2 = true; f2.Ia(); ) { var d2 = f2.ia(); d2.A(s4); var g2 = this.Nh(s4, u2, l2); if (g2 == -1) { if (0 < (g2 = d2.fq(c2, l2, h2, r2))) { var w2 = 0; p2 = d2.ac(); for (var x2 = 0; x2 <= g2; x2++) if (w2 != (y2 = x2 < g2 ? r2[x2] : 1)) { d2.dh(w2, y2, e2); var m2 = e2.get(); m2.Ec(p2), x2 < g2 && (c2 ? (v2.x = h2[x2], v2.y = l2) : (v2.x = l2, v2.y = h2[x2]), m2.Rc(v2)), m2.A(n4); var j2 = this.Nh(n4, u2, l2); if (j2 == -1) { if (p2 = m2.ac(), w2 = m2.xc(), c2) (j2 = Math.abs(p2.y - l2)) < (k2 = Math.abs(w2.y - l2)) ? (p2.y = l2, m2.Ec(p2)) : (w2.y = l2, m2.Rc(w2)); else { j2 = Math.abs(p2.x - l2); var k2 = Math.abs(w2.x - l2); j2 < k2 ? (p2.x = l2, m2.Ec(p2)) : (w2.x = l2, m2.Rc(w2)); } m2.A(n4), j2 = this.Nh(n4, u2, l2); } p2 = m2.xc(), w2 = y2, (y2 = j2) == 1 ? (o2.oc(m2, b2), b2 = false) : b2 = true; } } } else (y2 = g2) == 1 ? (o2.oc(d2, b2), b2 = false) : b2 = true; } } } return o2; }, i5.prototype.zB = function() { this.li = -1, this.Xl(false, this.Da.v), this.Xl(false, this.Da.C), this.Xl(true, this.Da.G), this.Xl(true, this.Da.H), this.ed.resize(0), this.ed.Jb(100), this.li = this.g.Hd(); for (var i6 = new t4.h(), s4 = this.g.Ob(this.Y); s4 != -1; s4 = this.g.Sb(s4)) for (var n4 = this.g.Ya(s4), h2 = 0, r2 = this.g.Ka(s4); h2 < r2; h2++, n4 = this.g.V(n4)) this.g.D(n4, i6), (this.Da.v == i6.x || this.Da.C == i6.x || this.Da.G == i6.y || this.Da.H == i6.y) && (this.g.Sa(n4, this.li, this.ed.size), this.ed.add(n4)); this.Pl(false, this.Da.v), this.Pl(false, this.Da.C), this.Pl(true, this.Da.G), this.Pl(true, this.Da.H), this.Oy(); }, i5.prototype.Hy = function(i6) { for (var s4 = new t4.h(), n4 = new t4.h(), h2 = t4.P.lg(2048, 0), r2 = this.g.Ob(this.Y); r2 != -1; r2 = this.g.Sb(r2)) { var e2 = this.g.Ya(r2), o2 = e2; do { var a2 = this.g.V(o2); this.g.D(o2, s4); var u2 = -1; if (s4.x == this.Da.v ? (this.g.D(a2, n4), n4.x == this.Da.v && (u2 = 1)) : s4.x == this.Da.C && (this.g.D(a2, n4), n4.x == this.Da.C && (u2 = 1)), s4.y == this.Da.G ? (this.g.D(a2, n4), n4.y == this.Da.G && (u2 = 0)) : s4.y == this.Da.H && (this.g.D(a2, n4), n4.y == this.Da.H && (u2 = 0)), u2 != -1 && (u2 = t4.h.ub(s4, n4), !(1 >= (u2 = t4.P.truncate(Math.min(Math.ceil(u2 / i6), 2048)))))) { for (var f2 = 1; f2 < u2; f2++) h2[f2 - 1] = 1 * f2 / u2; this.g.Wl(o2, h2, u2 - 1); } o2 = a2; } while (o2 != e2); } }, i5.prototype.Xl = function(i6, s4) { var n4 = this.g.Hd(), h2 = new t4.h(), r2 = new t4.ja(0); r2.Jb(100); for (var e2 = this.g.Ob(this.Y); e2 != -1; e2 = this.g.Sb(e2)) for (var o2 = this.g.Ya(e2), a2 = 0, u2 = this.g.Ka(e2); a2 < u2; a2++) { var f2 = this.g.V(o2); this.g.D(o2, h2), (i6 ? h2.y == s4 : h2.x == s4) && (this.g.D(f2, h2), (i6 ? h2.y == s4 : h2.x == s4) && (this.g.Qa(o2, n4) != 1 && (r2.add(o2), this.g.Sa(o2, n4, 1)), this.g.Qa(f2, n4) != 1 && (r2.add(f2), this.g.Sa(f2, n4, 1)))), o2 = f2; } if (this.g.Ud(n4), !(3 > r2.size)) { var c2 = this; r2.Wd(0, r2.size, function(t5, i7) { return c2.Oh(t5, i7); }), n4 = new t4.h(), e2 = new t4.h(), o2 = new t4.h(), e2.Sc(); var l2 = -1; a2 = new t4.ja(0), u2 = new t4.ja(0), f2 = this.g.Hd(); for (var p2 = this.g.Hd(), v2 = 0, y2 = r2.size; v2 < y2; v2++) { var b2 = r2.get(v2); if (this.g.D(b2, h2), !h2.rb(e2)) { if (l2 != -1) { for (var d2 = l2; d2 < v2; d2++) { l2 = r2.get(d2); var g2 = this.g.V(l2); b2 = this.g.Na(l2); var w2 = false; 0 > this.Oh(l2, g2) && (this.g.D(g2, n4), i6 ? n4.y == s4 : n4.x == s4) && (a2.add(l2), w2 = true, this.g.Sa(l2, p2, 1)), 0 > this.Oh(l2, b2) && (this.g.D(b2, n4), i6 ? n4.y == s4 : n4.x == s4) && (w2 || a2.add(l2), this.g.Sa(l2, f2, 1)); } for (d2 = 0, w2 = a2.size; d2 < w2; d2++) { if (l2 = a2.get(d2), b2 = this.g.Qa(l2, f2), g2 = this.g.Qa(l2, p2), b2 == 1) { b2 = this.g.Na(l2), this.g.D(b2, o2); var x2 = [0]; if (x2[0] = 0, !o2.rb(h2)) { var m2 = t4.h.ub(e2, o2); x2[0] = t4.h.ub(o2, h2) / m2, x2[0] == 0 ? x2[0] = 2220446049250313e-31 : x2[0] == 1 && (x2[0] = 0.9999999999999998), this.g.Wl(b2, x2, 1), b2 = this.g.Na(l2), this.g.mf(b2, h2), u2.add(b2), this.g.Sa(b2, f2, 1), this.g.Sa(b2, p2, -1); } } g2 == 1 && (g2 = this.g.V(l2), this.g.D(g2, o2), (x2 = [0])[0] = 0, o2.rb(h2) || (m2 = t4.h.ub(e2, o2), x2[0] = t4.h.ub(e2, h2) / m2, x2[0] == 0 ? x2[0] = 2220446049250313e-31 : x2[0] == 1 && (x2[0] = 0.9999999999999998), this.g.Wl(l2, x2, 1), b2 = this.g.V(l2), this.g.mf(b2, h2), u2.add(b2), this.g.Sa(b2, f2, -1), this.g.Sa(b2, p2, 1))); } l2 = a2, a2 = u2, (u2 = l2).clear(false); } l2 = v2, e2.N(h2); } } this.g.Ud(f2), this.g.Ud(p2); } }, i5.prototype.Pl = function(i6, s4) { var n4 = new t4.h(), h2 = new t4.ja(0); h2.Jb(100); for (var r2 = this.g.Hd(), e2 = 0, o2 = this.ed.size; e2 < o2; e2++) { var a2 = this.ed.get(e2); if (a2 != -1) { var u2 = this.g.V(a2); this.g.D(a2, n4), (i6 ? n4.y == s4 : n4.x == s4) && (this.g.D(u2, n4), (i6 ? n4.y == s4 : n4.x == s4) && (this.g.Qa(a2, r2) != -2 && (h2.add(a2), this.g.Sa(a2, r2, -2)), this.g.Qa(u2, r2) != -2 && (h2.add(u2), this.g.Sa(u2, r2, -2)))); } } if (h2.size != 0) { var f2 = this; for (h2.Wd(0, h2.size, function(t5, i7) { return f2.Oh(t5, i7); }), e2 = 0, o2 = h2.size; e2 < o2; e2++) { var c2 = h2.get(e2); this.g.Sa(c2, r2, e2); } a2 = new t4.h(), (u2 = new t4.h()).Sc(); var l2 = -1; for (e2 = 0, o2 = h2.size; e2 < o2; e2++) if ((c2 = h2.get(e2)) != -1 && (this.g.D(c2, n4), !n4.rb(u2))) { if (l2 != -1) for (; ; ) { c2 = false; for (var p2 = 1 < e2 - l2 ? e2 - 1 : e2, v2 = l2; v2 < p2; v2++) { var y2 = h2.get(v2); if (y2 != -1) { var b2 = -1, d2 = this.g.V(y2); 0 > this.Oh(y2, d2) && (this.g.D(d2, a2), i6 ? a2.y == s4 : a2.x == s4) && (b2 = d2), d2 = -1; var g2 = this.g.Na(y2); if (0 > this.Oh(y2, g2) && (this.g.D(g2, a2), i6 ? a2.y == s4 : a2.x == s4) && (d2 = g2), b2 != -1 && d2 != -1) this.Mh(y2, h2, r2), this.g.pd(y2, false), this.Mh(b2, h2, r2), this.g.pd(b2, false), c2 = true; else if (b2 != -1 || d2 != -1) { for (g2 = v2 + 1; g2 < e2; g2++) { var w2 = h2.get(g2); if (w2 != -1) { var x2 = this.g.V(w2), m2 = -1; 0 > this.Oh(w2, x2) && (this.g.D(x2, a2), i6 ? a2.y == s4 : a2.x == s4) && (m2 = x2), x2 = this.g.Na(w2); var j2 = -1; if (0 > this.Oh(w2, x2) && (this.g.D(x2, a2), i6 ? a2.y == s4 : a2.x == s4) && (j2 = x2), m2 != -1 && j2 != -1) { this.Mh(w2, h2, r2), this.g.pd(w2, false), this.Mh(m2, h2, r2), this.g.pd(m2, false), c2 = true; break; } if (b2 != -1 && j2 != -1) { this.At(h2, y2, b2, w2, j2, r2), c2 = true; break; } if (d2 != -1 && m2 != -1) { this.At(h2, w2, m2, y2, d2, r2), c2 = true; break; } } } if (c2) break; } } } if (!c2) break; } l2 = e2, u2.N(n4); } } this.g.Ud(r2); }, i5.prototype.Mh = function(t5, i6, s4) { s4 = this.g.Qa(t5, s4), i6.set(s4, -1), s4 = this.g.Qa(t5, this.li), this.ed.set(s4, -1), (i6 = this.g.cd(t5)) != -1 && this.g.Ya(i6) == t5 && (this.g.Kf(i6, -1), this.g.Yg(i6, -1)); }, i5.prototype.At = function(t5, i6, s4, n4, h2, r2) { this.g.Cc(i6, n4), this.g.Dc(n4, i6), this.g.Dc(s4, h2), this.g.Cc(h2, s4), this.Mh(n4, t5, r2), this.g.oi(n4, false), this.Mh(h2, t5, r2), this.g.oi(h2, true); }, i5.prototype.Oy = function() { for (var t5 = 0, i6 = this.ed.size; t5 < i6; t5++) { var s4 = this.ed.get(t5); s4 != -1 && this.g.cj(s4, -1); } for (var n4 = 0, h2 = 0, r2 = this.g.Ob(this.Y); r2 != -1; ) { var e2 = this.g.Ya(r2); if (e2 == -1 || r2 != this.g.cd(e2)) { var o2 = r2; r2 = this.g.Sb(r2), this.g.Kf(o2, -1), this.g.br(o2); } else { s4 = e2, o2 = 0; do { this.g.cj(s4, r2), o2++, s4 = this.g.V(s4); } while (s4 != e2); 2 >= o2 ? (s4 = this.g.Qa(e2, this.li), this.ed.set(s4, -1), e2 = this.g.pd(e2, false), o2 == 2 && (s4 = this.g.Qa(e2, this.li), this.ed.set(s4, -1), this.g.pd(e2, false)), o2 = r2, r2 = this.g.Sb(r2), this.g.Kf(o2, -1), this.g.br(o2)) : (this.g.ep(r2, false), this.g.Yg(r2, this.g.Na(e2)), this.g.Xj(r2, o2), h2 += o2, n4++, r2 = this.g.Sb(r2)); } } for (t5 = 0, i6 = this.ed.size; t5 < i6; t5++) if ((s4 = this.ed.get(t5)) != -1 && (r2 = this.g.cd(s4)) == -1) { r2 = this.g.wf(this.Y, -1), o2 = 0, e2 = s4; do { this.g.cj(s4, r2), o2++, s4 = this.g.V(s4); } while (s4 != e2); 2 >= o2 ? (s4 = this.g.Qa(e2, this.li), this.ed.set(s4, -1), e2 = this.g.pd(e2, false), o2 == 2 && (0 <= (s4 = this.g.Qa(e2, this.li)) && this.ed.set(s4, -1), this.g.pd(e2, false)), o2 = r2, this.g.Kf(o2, -1), this.g.br(o2)) : (this.g.mn(r2, true), this.g.Xj(r2, o2), this.g.Kf(r2, e2), this.g.Yg(r2, this.g.Na(e2)), this.g.ep(r2, false), h2 += o2, n4++); } for (this.g.Tl(this.Y, n4), this.g.Vj(this.Y, h2), t5 = 0, i6 = this.g.ld; i6 != -1; i6 = this.g.ve(i6)) t5 += this.g.I(i6); this.g.WB(t5); }, i5.wy = function(t5, s4, n4) { return new i5(s4).vy(t5, n4); }, i5.clip = function(s4, n4, h2, r2) { if (s4.B()) return s4; if (n4.B()) return s4.Ja(); if ((h2 = s4.K()) == 33) return r2 = s4.D(), n4.contains(r2) ? s4 : s4.Ja(); if (h2 == 197) return r2 = new t4.l(), s4.A(r2), r2.Fa(n4) ? (n4 = new t4.Hh(), s4.copyTo(n4), n4.Yo(r2), n4) : s4.Ja(); var e2 = new t4.l(); if (s4.yc(e2), n4.contains(e2)) return s4; if (!n4.isIntersecting(e2)) return s4.Ja(); if ((e2 = s4.Cb) != null && (e2 = e2.Gk) != null) { if ((e2 = e2.So(n4)) == 1) { if (h2 != 1736) throw t4.i.Ra(); return (s4 = new t4.Ea(s4.description)).vp(n4), s4; } if (e2 == 0) return s4.Ja(); } switch (h2) { case 550: h2 = null, e2 = s4.I(); for (var o2 = s4.vb(0), a2 = 0, u2 = 0; u2 < e2; u2++) r2 = new t4.h(), o2.uc(2 * u2, r2), n4.contains(r2) || (a2 == 0 && (h2 = s4.Ja()), a2 < u2 && h2.Gd(s4, a2, u2), a2 = u2 + 1); return 0 < a2 && h2.Gd(s4, a2, e2), a2 == 0 ? s4 : h2; case 1736: case 1607: return i5.wy(s4, n4, r2); default: throw t4.i.Ra(); } }, i5.prototype.Oh = function(i6, s4) { var n4 = new t4.h(); return this.g.D(i6, n4), i6 = new t4.h(), this.g.D(s4, i6), n4.compare(i6); }, i5; }(); t4.Vd = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4) { this.Da = i6, this.g = new t4.hd(), this.ed = new t4.ja(0), this.nd = s4; } return i5.prototype.Nh = function(t5, i6, s4) { switch (i6) { case 0: if (t5.v < s4 && t5.C <= s4) break; return t5.v >= s4 ? 1 : -1; case 1: if (t5.G < s4 && t5.H <= s4) break; return t5.G >= s4 ? 1 : -1; case 2: if (t5.v >= s4 && t5.C > s4) break; return t5.C <= s4 ? 1 : -1; case 3: if (!(t5.G >= s4 && t5.H > s4)) return t5.H <= s4 ? 1 : -1; } return 0; }, i5.prototype.vy = function(t5, i6) { return t5.K() == 1736 ? this.xy(t5, i6) : this.yy(t5); }, i5.prototype.xy = function(i6, s4) { if (this.Da.S() == 0 || this.Da.da() == 0) return i6.Ja(); var n4 = new t4.l(); i6.yc(n4), this.Y = this.g.Ib(i6); var h2 = new t4.l(), r2 = new t4.l(), e2 = new t4.h(), o2 = new t4.h(), a2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], u2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], f2 = new t4.zb(), c2 = new t4.ja(0); c2.Jb(256); for (var l2 = false, p2 = 0; !l2 && 4 > p2; p2++) { var v2 = false, y2 = (1 & p2) != 0, b2 = 0; switch (p2) { case 0: b2 = this.Da.v, v2 = n4.v <= b2 && n4.C >= b2; break; case 1: b2 = this.Da.G, v2 = n4.G <= b2 && n4.H >= b2; break; case 2: b2 = this.Da.C, v2 = n4.v <= b2 && n4.C >= b2; break; case 3: b2 = this.Da.H, v2 = n4.G <= b2 && n4.H >= b2; } if (v2) for (l2 = true, v2 = this.g.Ob(this.Y); v2 != -1; ) { var d2 = true, g2 = -1, w2 = -1, x2 = this.g.Ya(v2), m2 = x2; do { var j2 = this.g.cc(m2); j2 == null && (j2 = f2, this.g.D(m2, e2), j2.Ec(e2), this.g.D(this.g.V(m2), o2), j2.Rc(o2)), j2.A(h2); var k2 = this.Nh(h2, p2, b2), M2 = 0, z2 = -1; if (k2 == -1) { M2 = 0 < (j2 = j2.fq(y2, b2, a2, u2)) ? this.g.DX(m2, u2, j2) : 0, M2 += 1; var A2 = m2, N2 = this.g.V(A2); for (j2 = 0; j2 < M2; j2++) { if (this.g.D(A2, e2), this.g.D(N2, o2), (z2 = this.g.cc(A2)) == null && ((z2 = f2).Ec(e2), z2.Rc(o2)), z2.A(r2), (z2 = this.Nh(r2, p2, b2)) == -1) { if (y2) (z2 = Math.abs(e2.y - b2)) < (I2 = Math.abs(o2.y - b2)) ? (e2.y = b2, this.g.mf(A2, e2)) : (o2.y = b2, this.g.mf(N2, o2)); else { z2 = Math.abs(e2.x - b2); var I2 = Math.abs(o2.x - b2); z2 < I2 ? (e2.x = b2, this.g.mf(A2, e2)) : (o2.x = b2, this.g.mf(N2, o2)); } (z2 = this.g.cc(A2)) == null && ((z2 = f2).Ec(e2), z2.Rc(o2)), z2.A(r2), z2 = this.Nh(r2, p2, b2); } I2 = g2, g2 = z2, w2 == -1 && (w2 = g2), I2 == 0 && g2 == 1 || I2 == 1 && g2 == 0 || I2 != 0 || g2 != 0 || c2.add(A2), g2 == 1 && (d2 = l2 = false), z2 = A2 = N2, N2 = this.g.V(N2); } } if (M2 == 0 && (I2 = g2, g2 = k2, w2 == -1 && (w2 = g2), I2 == 0 && g2 == 1 || I2 == 1 && g2 == 0 || I2 != 0 || g2 != 0 || c2.add(m2), g2 == 1 && (d2 = l2 = false), z2 = this.g.V(m2)), m2 = z2, 256 <= c2.size) { for (j2 = 1, k2 = c2.size - 1; j2 < k2; j2++) M2 = c2.get(j2), this.g.pd(M2, false); c2.set(1, c2.Gc()), c2.Dh(2); } } while (m2 != x2); if (!d2) for (w2 == 0 && g2 == 0 && c2.add(x2), j2 = 0, k2 = c2.size; j2 < k2; j2++) M2 = c2.get(j2), this.g.pd(M2, false); c2.clear(false), v2 = d2 || this.g.Ka(v2) == 0 ? this.g.ar(v2) : this.g.Sb(v2); } } return l2 ? i6.Ja() : (this.zB(), 0 < s4 && this.Hy(s4), this.g.Ke(this.Y)); }, i5.prototype.yy = function(i6) { var s4 = new t4.l(), n4 = new t4.l(), h2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], r2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], e2 = new t4.hg(), o2 = i6, a2 = new t4.l(); i6.yc(a2); for (var u2 = new t4.h(), f2 = new t4.h(), c2 = null, l2 = null, p2 = 0; 4 > p2; p2++) { var v2 = false, y2 = (1 & p2) != 0, b2 = 0; switch (p2) { case 0: b2 = this.Da.v, v2 = a2.v <= b2 && a2.C >= b2; break; case 1: b2 = this.Da.G, v2 = a2.G <= b2 && a2.H >= b2; break; case 2: b2 = this.Da.C, v2 = a2.v <= b2 && a2.C >= b2; break; case 3: b2 = this.Da.H, v2 = a2.G <= b2 && a2.H >= b2; } if (v2) for (v2 = o2, o2 = i6.Ja(), (v2 = v2.Ha()).aj(); v2.ab(); ) for (var d2, g2 = true; v2.Ia(); ) { var w2 = v2.ia(); w2.A(s4); var x2 = this.Nh(s4, p2, b2); if (x2 == -1) { if (0 < (x2 = w2.fq(y2, b2, h2, r2))) { var m2 = 0; w2.$p(u2); for (var j2 = 0; j2 <= x2; j2++) if (m2 != (d2 = j2 < x2 ? r2[j2] : 1)) { w2.dh(m2, d2, e2); var k2 = e2.get(); k2.Ec(u2), j2 < x2 && (y2 ? (f2.x = h2[j2], f2.y = b2) : (f2.x = b2, f2.y = h2[j2]), k2.Rc(f2)), k2.A(n4); var M2 = this.Nh(n4, p2, b2); M2 == -1 && (c2 == null && (c2 = new t4.h()), l2 == null && (l2 = new t4.h()), k2.$p(c2), k2.Vr(l2), y2 ? (m2 = Math.abs(c2.y - b2)) < (M2 = Math.abs(l2.y - b2)) ? (c2.y = b2, k2.Ec(c2)) : (l2.y = b2, k2.Rc(l2)) : (m2 = Math.abs(c2.x - b2)) < (M2 = Math.abs(l2.x - b2)) ? (c2.x = b2, k2.Ec(c2)) : (l2.x = b2, k2.Rc(l2)), k2.A(n4), M2 = this.Nh(n4, p2, b2)), k2.Vr(u2), m2 = d2, (d2 = M2) == 1 ? (o2.oc(k2, g2), g2 = false) : g2 = true; } } } else (d2 = x2) == 1 ? (o2.oc(w2, g2), g2 = false) : g2 = true; } } return o2; }, i5.prototype.zB = function() { this.li = -1, this.Xl(false, this.Da.v), this.Xl(false, this.Da.C), this.Xl(true, this.Da.G), this.Xl(true, this.Da.H), this.ed.resize(0), this.ed.Jb(100), this.li = this.g.Hd(); for (var i6 = new t4.h(), s4 = this.g.Ob(this.Y); s4 != -1; s4 = this.g.Sb(s4)) for (var n4 = this.g.Ya(s4), h2 = 0, r2 = this.g.Ka(s4); h2 < r2; h2++, n4 = this.g.V(n4)) this.g.D(n4, i6), (this.Da.v == i6.x || this.Da.C == i6.x || this.Da.G == i6.y || this.Da.H == i6.y) && (this.g.Sa(n4, this.li, this.ed.size), this.ed.add(n4)); this.Pl(false, this.Da.v), this.Pl(false, this.Da.C), this.Pl(true, this.Da.G), this.Pl(true, this.Da.H), this.Oy(); }, i5.prototype.Hy = function(i6) { for (var s4 = new t4.h(), n4 = new t4.h(), h2 = null, r2 = null, e2 = t4.P.lg(2048, 0), o2 = this.g.Ob(this.Y); o2 != -1; o2 = this.g.Sb(o2)) { var a2 = this.g.Ya(o2), u2 = a2; do { var f2 = this.g.V(u2); this.g.D(u2, s4); var c2 = -1; if (s4.x == this.Da.v ? (this.g.D(f2, n4), n4.x == this.Da.v && (c2 = 1)) : s4.x == this.Da.C && (this.g.D(f2, n4), n4.x == this.Da.C && (c2 = 1)), s4.y == this.Da.G ? (this.g.D(f2, n4), n4.y == this.Da.G && (c2 = 0)) : s4.y == this.Da.H && (this.g.D(f2, n4), n4.y == this.Da.H && (c2 = 0)), c2 != -1) { if (h2 == null && (h2 = new t4.h()), r2 == null && (r2 = new t4.h()), h2.N(s4), r2.na(0, 0), c2 == 0) { var l2 = s4.x - this.Da.v; r2.x = t4.mc.sign(n4.x - s4.x), h2.x = i6 * t4.mc.Dn(Math.floor(Math.abs(l2 / i6)), l2) + this.Da.v, 0 > h2.x && (h2.x += i6); } else l2 = s4.y - this.Da.G, r2.y = t4.mc.sign(n4.y - s4.y), h2.y = i6 * t4.mc.Dn(Math.floor(Math.abs(l2 / i6)), l2) + this.Da.G, 0 > h2.y && (h2.y += i6); l2 = c2 != 0 ? n4.y - s4.y : n4.x - s4.x; var p2 = Math.abs(l2); if (65536 < p2 / i6) throw t4.i.ga("internal error"); if (0 < p2) { p2 = t4.P.truncate(p2 / i6) + 2, e2.length < p2 && (e2 = t4.P.lg(p2)); for (var v2 = p2 = 0; ; v2++) { var y2 = new t4.h(); if (y2.x = h2.x + r2.x * v2 * i6, y2.y = h2.y + r2.y * v2 * i6, 1 <= (y2 = (c2 != 0 ? y2.y - s4.y : y2.x - s4.x) / l2)) break; 0 >= y2 || (e2[p2] = y2, p2++); } p2 != 0 && this.g.Wl(u2, e2, p2); } } u2 = f2; } while (u2 != a2); } }, i5.prototype.Xl = function(i6, s4) { for (var n4 = -1, h2 = new t4.h(), r2 = null, e2 = this.g.Ob(this.Y); e2 != -1; e2 = this.g.Sb(e2)) for (var o2 = this.g.Ya(e2), a2 = 0, u2 = this.g.Ka(e2); a2 < u2; a2++) { var f2 = this.g.V(o2); this.g.D(o2, h2), (i6 ? h2.y == s4 : h2.x == s4) && (this.g.D(f2, h2), (i6 ? h2.y == s4 : h2.x == s4) && (n4 == -1 && (n4 = this.g.Hd()), r2 == null && (r2 = new t4.ja(0)).Jb(100), this.g.Qa(o2, n4) != 1 && (r2.add(o2), this.g.Sa(o2, n4, 1)), this.g.Qa(f2, n4) != 1 && (r2.add(f2), this.g.Sa(f2, n4, 1)))), o2 = f2; } if (n4 != -1 && this.g.Ud(n4), !(r2 == null || 3 > r2.size)) { var c2 = this; r2.Wd(0, r2.size, function(t5, i7) { return c2.Oh(t5, i7); }), n4 = new t4.h(), e2 = new t4.h(), o2 = new t4.h(), e2.Sc(); var l2 = -1; a2 = new t4.ja(0), u2 = new t4.ja(0), f2 = null; for (var p2 = this.g.Hd(), v2 = this.g.Hd(), y2 = 0, b2 = r2.size; y2 < b2; y2++) { var d2 = r2.get(y2); if (this.g.D(d2, h2), !h2.rb(e2)) { if (l2 != -1) { for (var g2 = l2; g2 < y2; g2++) { l2 = r2.get(g2); var w2 = this.g.V(l2); d2 = this.g.Na(l2); var x2 = false; this.g.D(w2, n4), 0 > e2.compare(n4) && (i6 ? n4.y == s4 : n4.x == s4) && (a2.add(l2), x2 = true, this.g.Sa(l2, v2, 1)), this.g.D(d2, n4), 0 > e2.compare(n4) && (i6 ? n4.y == s4 : n4.x == s4) && (x2 || a2.add(l2), this.g.Sa(l2, p2, 1)); } for (g2 = 0, x2 = a2.size; g2 < x2; g2++) { if (l2 = a2.get(g2), d2 = this.g.Qa(l2, p2), w2 = this.g.Qa(l2, v2), d2 == 1 && (d2 = this.g.Na(l2), this.g.D(d2, o2), !o2.rb(h2))) { f2 == null && (f2 = []); var m2 = t4.h.ub(e2, o2); f2[0] = t4.h.ub(o2, h2) / m2, f2[0] == 0 ? f2[0] = 2220446049250313e-31 : f2[0] == 1 && (f2[0] = 0.9999999999999998), this.g.Wl(d2, f2, 1), d2 = this.g.Na(l2), this.g.mf(d2, h2), u2.add(d2), this.g.Sa(d2, p2, 1), this.g.Sa(d2, v2, -1); } w2 == 1 && (w2 = this.g.V(l2), this.g.D(w2, o2), o2.rb(h2) || (f2 == null && (f2 = []), m2 = t4.h.ub(e2, o2), f2[0] = t4.h.ub(e2, h2) / m2, f2[0] == 0 ? f2[0] = 2220446049250313e-31 : f2[0] == 1 && (f2[0] = 0.9999999999999998), this.g.Wl(l2, f2, 1), d2 = this.g.V(l2), this.g.mf(d2, h2), u2.add(d2), this.g.Sa(d2, p2, -1), this.g.Sa(d2, v2, 1))); } l2 = a2, a2 = u2, (u2 = l2).clear(false); } l2 = y2, e2.N(h2); } } this.g.Ud(p2), this.g.Ud(v2); } }, i5.prototype.Pl = function(i6, s4) { for (var n4 = new t4.h(), h2 = null, r2 = -1, e2 = 0, o2 = this.ed.size; e2 < o2; e2++) { var a2 = this.ed.get(e2); if (a2 != -1) { var u2 = this.g.V(a2); this.g.D(a2, n4), (i6 ? n4.y == s4 : n4.x == s4) && (this.g.D(u2, n4), (i6 ? n4.y == s4 : n4.x == s4) && (r2 == -1 && (r2 = this.g.Hd()), h2 == null && (h2 = new t4.ja(0)).Jb(100), this.g.Qa(a2, r2) != -2 && (h2.add(a2), this.g.Sa(a2, r2, -2)), this.g.Qa(u2, r2) != -2 && (h2.add(u2), this.g.Sa(u2, r2, -2)))); } } if (h2 == null) r2 != -1 && this.g.Ud(r2); else { var f2 = this; for (h2.Wd(0, h2.size, function(t5, i7) { return f2.Oh(t5, i7); }), e2 = 0, o2 = h2.size; e2 < o2; e2++) { var c2 = h2.get(e2); this.g.Sa(c2, r2, e2); } a2 = new t4.h(), (u2 = new t4.h()).Sc(); var l2 = -1; for (e2 = 0, o2 = h2.size; e2 < o2; e2++) if ((c2 = h2.get(e2)) != -1 && (this.g.D(c2, n4), !n4.rb(u2))) { if (l2 != -1) for (; ; ) { c2 = false; for (var p2 = 1 < e2 - l2 ? e2 - 1 : e2, v2 = l2; v2 < p2; v2++) { var y2 = h2.get(v2); if (y2 != -1) { var b2 = -1, d2 = this.g.V(y2); this.g.D(d2, a2), 0 > u2.compare(a2) && (i6 ? a2.y == s4 : a2.x == s4) && (b2 = d2), d2 = -1; var g2 = this.g.Na(y2); if (this.g.D(g2, a2), 0 > u2.compare(a2) && (i6 ? a2.y == s4 : a2.x == s4) && (d2 = g2), b2 != -1 && d2 != -1) this.Mh(y2, h2, r2), this.g.pd(y2, false), this.Mh(b2, h2, r2), this.g.pd(b2, false), c2 = true; else if (b2 != -1 || d2 != -1) { for (g2 = v2 + 1; g2 < e2; g2++) { var w2 = h2.get(g2); if (w2 != -1) { var x2 = this.g.V(w2), m2 = -1; this.g.D(x2, a2), 0 > u2.compare(a2) && (i6 ? a2.y == s4 : a2.x == s4) && (m2 = x2), x2 = this.g.Na(w2); var j2 = -1; if (this.g.D(x2, a2), 0 > u2.compare(a2) && (i6 ? a2.y == s4 : a2.x == s4) && (j2 = x2), m2 != -1 && j2 != -1) { this.Mh(w2, h2, r2), this.g.pd(w2, false), this.Mh(m2, h2, r2), this.g.pd(m2, false), c2 = true; break; } if (b2 != -1 && j2 != -1) { this.At(h2, y2, b2, w2, j2, r2), c2 = true; break; } if (d2 != -1 && m2 != -1) { this.At(h2, w2, m2, y2, d2, r2), c2 = true; break; } } } if (c2) break; } } } if (!c2) break; } l2 = e2, u2.N(n4); } this.g.Ud(r2); } }, i5.prototype.Mh = function(t5, i6, s4) { s4 = this.g.Qa(t5, s4), i6.set(s4, -1), s4 = this.g.Qa(t5, this.li), this.ed.set(s4, -1), (i6 = this.g.cd(t5)) != -1 && this.g.Ya(i6) == t5 && (this.g.Kf(i6, -1), this.g.Yg(i6, -1)); }, i5.prototype.At = function(t5, i6, s4, n4, h2, r2) { this.g.Cc(i6, n4), this.g.Dc(n4, i6), this.g.Dc(s4, h2), this.g.Cc(h2, s4), this.Mh(n4, t5, r2), this.g.oi(n4, false), this.Mh(h2, t5, r2), this.g.oi(h2, true); }, i5.prototype.Oy = function() { for (var t5 = 0, i6 = this.ed.size; t5 < i6; t5++) { var s4 = this.ed.get(t5); s4 != -1 && this.g.cj(s4, -1); } for (var n4 = 0, h2 = 0, r2 = this.g.Ob(this.Y); r2 != -1; ) { var e2 = this.g.Ya(r2); if (e2 == -1 || r2 != this.g.cd(e2)) { var o2 = r2; r2 = this.g.Sb(r2), this.g.Kf(o2, -1), this.g.br(o2); } else { s4 = e2, o2 = 0; do { this.g.cj(s4, r2), o2++, s4 = this.g.V(s4); } while (s4 != e2); this.g.ep(r2, false), this.g.Yg(r2, this.g.Na(e2)), this.g.Xj(r2, o2), h2 += o2, n4++, r2 = this.g.Sb(r2); } } for (t5 = 0, i6 = this.ed.size; t5 < i6; t5++) if ((s4 = this.ed.get(t5)) != -1 && (r2 = this.g.cd(s4)) == -1) { r2 = this.g.wf(this.Y, -1), o2 = 0, e2 = s4; do { this.g.cj(s4, r2), o2++, s4 = this.g.V(s4); } while (s4 != e2); 2 >= o2 ? (s4 = this.g.Qa(e2, this.li), this.ed.set(s4, -1), e2 = this.g.pd(e2, false), o2 == 2 && (0 <= (s4 = this.g.Qa(e2, this.li)) && this.ed.set(s4, -1), this.g.pd(e2, false)), o2 = r2, this.g.Kf(o2, -1), this.g.br(o2)) : (this.g.mn(r2, true), this.g.Xj(r2, o2), this.g.Kf(r2, e2), this.g.Yg(r2, this.g.Na(e2)), this.g.ep(r2, false), h2 += o2, n4++); } for (this.g.Tl(this.Y, n4), this.g.Vj(this.Y, h2), t5 = 0, i6 = this.g.ld; i6 != -1; i6 = this.g.ve(i6)) t5 += this.g.I(i6); this.g.WB(t5); }, i5.wy = function(t5, s4, n4, h2) { return new i5(s4, h2).vy(t5, n4); }, i5.clip = function(t5, s4, n4, h2, r2) { return i5.Pu(t5, s4, null, n4, h2, r2); }, i5.Pu = function(s4, n4, h2, r2, e2, o2) { var a2 = s4.K(); if (a2 == 33) return e2 = s4.D(), n4.contains(e2) ? s4 : s4.Ja(); if (a2 == 197) return e2 = new t4.l(), s4.A(e2), e2.Fa(n4) ? (n4 = new t4.Hh(), s4.copyTo(n4), n4.Yo(e2), n4) : s4.Ja(); if (s4.B()) return s4; if (n4.B()) return s4.Ja(); var u2 = new t4.l(); if (s4.yc(u2), n4.contains(u2)) return s4; if (!n4.isIntersecting(u2)) return s4.Ja(); if ((h2 != null || isNaN(r2)) && t4.ta.oy(h2, n4, false), !t4.ba.zj(a2)) throw t4.i.O(); if ((h2 = s4.Cb) != null && (h2 = h2.Gk) != null) { if ((h2 = h2.So(n4)) == 1) { if (a2 != 1736) throw t4.i.ga("internal error"); return (s4 = new t4.Ea(s4.description)).vp(n4), s4; } if (h2 == 0) return s4.Ja(); } switch (a2) { case 550: for (o2 = null, a2 = s4.I(), h2 = s4.vb(0), r2 = 0, e2 = new t4.h(), u2 = 0; u2 < a2; u2++) h2.uc(2 * u2, e2), n4.contains(e2) || (r2 == 0 && (o2 = s4.Ja()), r2 < u2 && o2.Gd(s4, r2, u2), r2 = u2 + 1); return 0 < r2 && o2.Gd(s4, r2, a2), r2 == 0 ? s4 : o2; case 1736: case 1607: return i5.wy(s4, n4, e2, o2); default: throw t4.i.ga("internal error"); } }, i5.prototype.Oh = function(i6, s4) { var n4 = new t4.h(); return this.g.D(i6, n4), i6 = new t4.h(), this.g.D(s4, i6), n4.compare(i6); }, i5; }(); t4.ti = i4; }(V || (V = {})), function(t4) { var i4 = new t4.h(), s4 = function() { function i5(i6, s5, n5, h2, r2) { this.Rm = new t4.h(), this.Ek = new t4.h(), this.Ri = new t4.h(), this.g = i6, this.Cw = n5, this.oo = h2, this.Rm = s5, this.Al = r2, this.Ek.Sc(), this.Ri.Sc(); } return i5.prototype.rE = function(i6) { this.g.D(i6, this.Ek), i6 = t4.P.truncate((this.Ek.x - this.Rm.x) * this.oo + 0.5); var s5 = t4.P.truncate((this.Ek.y - this.Rm.y) * this.oo + 0.5); return n4.dG(i6, s5); }, i5.prototype.ez = function(t5) { return this.g.Qa(t5, this.Al); }, i5.prototype.Ky = function(t5, i6) { return this.g.D(t5, this.Ek), this.g.D(i6, this.Ri), n4.Ev(this.Ek.x, this.Ek.y, this.Ri.x, this.Ri.y, this.Cw); }, i5; }(); t4.kY = function() { }; var n4 = function() { function n5() { this.Rm = new t4.h(), this.rq = [0, 0, 0, 0], this.zs = [0, 0, 0, 0], this.ro = this.Al = -1; } return n5.cQ = function(t5, i5) { var s5 = new n5(); return s5.g = t5, s5.ra = i5, s5.Cw = i5 * i5, s5.bw = 2 * i5, s5.oo = 1 / s5.bw, s5.vO(); }, n5.Ev = function(t5, i5, s5, n6, h2) { return (t5 -= s5) * t5 + (i5 -= n6) * i5 <= h2; }, n5.dG = function(i5, s5) { return t4.P.Vh(s5, t4.P.Vh(i5)); }, n5.prototype.xO = function(s5, h2) { this.g.Hc(s5, i4); for (var r2 = (i4.y - this.Rm.y) * this.oo, e2 = t4.P.truncate((i4.x - this.Rm.x) * this.oo), o2 = t4.P.truncate(r2), a2 = r2 = 0; 1 >= a2; a2 += 1) for (var u2 = 0; 1 >= u2; u2 += 1) { var f2 = n5.dG(e2 + a2, o2 + u2), c2 = this.zl.kR(f2); c2 != -1 && (this.rq[r2] = c2, this.zs[r2] = f2, r2++); } for (e2 = r2 - 1; 1 <= e2; e2--) for (c2 = this.rq[e2], o2 = e2 - 1; 0 <= o2; o2--) if (c2 == this.rq[o2]) { this.zs[o2] = -1, e2 != --r2 && (this.zs[e2] = this.zs[r2], this.rq[e2] = this.rq[r2]); break; } for (o2 = 0; o2 < r2; o2++) this.yO(s5, this.zs[o2], i4, this.rq[o2], h2); }, n5.prototype.yO = function(i5, s5, h2, r2, e2) { for (var o2 = new t4.h(); r2 != -1; r2 = this.zl.yR(r2)) { var a2 = this.zl.ka(r2); i5 == a2 || s5 != -1 && this.g.Qa(a2, this.Al) != s5 || (this.g.Hc(a2, o2), n5.Ev(h2.x, h2.y, o2.x, o2.y, this.Cw) && e2.add(r2)); } }, n5.prototype.Zm = function(t5, i5, s5) { var n6 = this.g.Qa(t5, this.ro), h2 = this.g.Qa(i5, this.ro); return n6 == -1 && (n6 = this.Ad.Rh(), this.Ad.addElement(n6, t5), this.g.Sa(t5, this.ro, n6)), h2 == -1 ? this.Ad.addElement(n6, i5) : this.Ad.Cy(n6, h2), this.g.Sa(i5, this.ro, -2), i5 = this.QT(t5, i5), s5 && (s5 = this.mw.rE(t5), this.g.Sa(t5, this.Al, s5)), i5; }, n5.OT = function(i5, s5, h2) { i5.Nb(s5), h2 = i5; var r2 = new t4.h(); n5.PT(i5.D(), s5.D(), r2), h2.Db(r2); }, n5.PT = function(t5, i5, s5) { var n6 = t5.x; t5.x != i5.x && (n6 = (1 * t5.x + 1 * i5.x) / 2); var h2 = t5.y; t5.y != i5.y && (h2 = (1 * t5.y + 1 * i5.y) / 2), s5.na(n6, h2); }, n5.prototype.QT = function(i5, s5) { var n6 = new t4.h(); this.g.D(i5, n6); var h2 = new t4.h(); this.g.D(s5, h2); var r2 = this.g.XF(i5), e2 = r2 + (s5 = this.g.XF(s5)), o2 = 0, a2 = n6.x; n6.x != h2.x && (a2 = (n6.x * r2 + h2.x * s5) / e2, o2++); var u2 = n6.y; return n6.y != h2.y && (u2 = (n6.y * r2 + h2.y * s5) / e2, o2++), 0 < o2 && this.g.Db(i5, a2, u2), this.g.nX(i5, e2), o2 != 0; }, n5.prototype.vO = function() { var i5 = this.g.gd, n6 = this.g.CF(); for (this.Rm = n6.hz(), n6 = Math.max(n6.da(), n6.S()) / 2147483646, this.bw < n6 && (this.bw = n6, this.oo = 1 / this.bw), this.Ad = new t4.cu(), this.Ad.Bt(t4.P.truncate(this.g.gd / 3 + 1)), this.Ad.hn(t4.P.truncate(this.g.gd / 3 + 1)), this.Al = this.g.Hd(), this.ro = this.g.Hd(), this.mw = new s4(this.g, this.Rm, this.Cw, this.oo, this.Al), this.zl = new t4.YK(t4.P.truncate(4 * i5 / 3), this.mw), this.zl.sW(this.g.gd), i5 = false, n6 = this.g.ld; n6 != -1; n6 = this.g.ve(n6)) for (var h2 = this.g.Ob(n6); h2 != -1; h2 = this.g.Sb(h2)) for (var r2 = this.g.Ya(h2), e2 = 0, o2 = this.g.Ka(h2); e2 < o2; e2++) { var a2 = this.mw.rE(r2); this.g.Sa(r2, this.Al, a2), this.zl.addElement(r2, a2), r2 = this.g.V(r2); } var u2 = new t4.ja(0); for (u2.Jb(10), n6 = this.g.ld; n6 != -1; n6 = this.g.ve(n6)) for (h2 = this.g.Ob(n6); h2 != -1; h2 = this.g.Sb(h2)) for (r2 = this.g.Ya(h2), e2 = 0, o2 = this.g.Ka(h2); e2 < o2; e2++) { if (this.g.Qa(r2, this.ro) != -2) for (a2 = this.g.Qa(r2, this.Al), this.zl.kd(r2, a2); this.xO(r2, u2), u2.size != 0; ) { a2 = false; for (var f2 = 0, c2 = u2.size; f2 < c2; f2++) { var l2 = u2.get(f2), p2 = this.zl.ka(l2); this.zl.wd(l2), a2 = this.Zm(r2, p2, f2 + 1 == c2) || a2; } if (i5 = i5 || a2, u2.clear(false), !a2) break; } r2 = this.g.V(r2); } return i5 && this.pN(), this.mw = this.zl = null, this.g.Ud(this.Al), this.g.Ud(this.ro), i5; }, n5.prototype.pN = function() { for (var i5 = new t4.h(), s5 = this.Ad.je; s5 != -1; s5 = this.Ad.lz(s5)) { var n6 = this.Ad.sc(s5); for (this.g.D(this.Ad.ka(n6), i5), n6 = this.Ad.lb(n6); n6 != -1; n6 = this.Ad.lb(n6)) this.g.mf(this.Ad.ka(n6), i5); } }, n5; }(); t4.$t = n4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5) { t5 === void 0 && (t5 = null), this.yg = null, this.Pb = false, this.yg = t5 === null ? [] : t5; } return i5.prototype.copyTo = function(i6) { if (i6.Pb) throw t4.i.ga("CompositeGeographicTransformation is read-only"); for (var s4 = 0; s4 < this.yg.length; s4++) i6.yg.push(this.yg[s4].Pf()); }, i5.prototype.count = function() { return this.yg.length; }, i5.prototype.add = function(i6) { if (this.Pb) throw t4.i.ga("CompositeGeographicTransformation is read-only"); this.yg.push(i6.Pf()); }, i5.prototype.clear = function() { if (this.Pb) throw t4.i.ga("CompositeGeographicTransformation is read-only"); this.yg.length = 0; }, i5.prototype.remove = function(i6) { if (this.Pb) throw t4.i.ga("CompositeGeographicTransformation is read-only"); this.yg.splice(i6, 1); }, i5.prototype.ig = function() { var t5 = new i5(); return this.copyTo(t5), t5; }, i5.prototype.Pf = function() { return this.ig(); }, i5.prototype.transform = function(i6, s4, n4, h2) { if (i6.length < s4) throw t4.i.ga("invalid Argument"); var r2 = n4; for (n4 = 0; n4 < this.yg.length; n4++) { var e2 = this.yg[n4]; if (e2.sm() != null) { var o2 = e2.Vn, a2 = o2 ? 1 : 0, u2 = o2 ? e2.sm().getGeogcs2() : e2.sm().getGeogcs1(); if (u2 = r2 / (u2 = u2.getUnit().getUnitFactor()), 3552713678800501e-30 < Math.abs(u2 - 1)) for (r2 = 0; r2 < s4; r2++) i6[r2][0] *= u2, i6[r2][1] *= u2; t4.GC.geogToGeog(e2.sm(), s4, i6, null, a2), r2 = (o2 ? e2.sm().getGeogcs1() : e2.sm().getGeogcs2()).getUnit().getUnitFactor(); } } if (u2 = r2 / h2, 3552713678800501e-30 < Math.abs(u2 - 1)) for (r2 = 0; r2 < s4; r2++) i6[r2][0] *= u2, i6[r2][1] *= u2; return s4; }, i5.prototype.Nb = function(t5) { if (t5 == this) return true; if (!(t5 instanceof i5) || this.yg.length != t5.yg.length) return false; for (var s4 = 0; s4 < this.yg.length; s4++) if (!this.yg[s4].Nb(t5.yg[s4])) return false; return true; }, i5.prototype.ix = function() { this.Pb = true; }, i5.prototype.toString = function() { for (var t5 = "CGT (" + this.count() + ") ", i6 = 0, s4 = this.count(); i6 < s4; ++i6) t5 += this.yg[i6].toString() + ", "; return 200 < t5.length ? t5.substring(0, 197) + "... (" + t5.length.toString() + " characters)" : t5; }, i5.create = function() { return new i5(); }, i5; }(); t4.qC = i4; }(V || (V = {})), function(t4) { var i4, s4 = Math.PI, n4 = 2 * Math.PI, h2 = Math.PI / 2, r2 = function() { function t5() { } return t5.NO = function(i5, s5) { var n5 = new t5(); return n5.x = i5, n5.y = s5, n5.type = 0, n5.Wh = 0, n5; }, t5.cl = function(i5) { var s5 = new t5(); return s5.x = i5.x, s5.y = i5.y, s5.type = 0, s5.Wh = 0, s5; }, t5.MO = function(i5) { var s5 = new t5(); return s5.x = i5.x, s5.y = i5.y, s5.type = i5.type, s5.Wh = i5.Wh, s5; }, t5.Qd = function(i5, s5, n5) { var h3 = new t5(); return h3.x = i5.x + s5 * Math.cos(n5), h3.y = i5.y + s5 * Math.sin(n5), h3.type = i5.type, h3.Wh = i5.Wh, h3; }, t5.Ru = function(i5, s5) { var n5 = new t5(); return n5.x = 0.5 * (i5.x + s5.x), n5.y = 0.5 * (i5.y + s5.y), n5.type = i5.type, n5.Wh = i5.Wh, n5; }, t5.NE = function(i5, s5) { var n5 = new t5(); return n5.x = i5.x + 1e-3 * (s5.x - i5.x), n5.y = i5.y + 1e-3 * (s5.y - i5.y), n5.type = i5.type, n5.Wh = i5.Wh, n5; }, t5; }(), e2 = function() { }; (i4 = t4.$K || (t4.$K = {}))[i4.Round = 0] = "Round", i4[i4.Bevel = 1] = "Bevel", i4[i4.Miter = 2] = "Miter", i4[i4.Square = 3] = "Square"; var o2 = function() { function i5(t5) { this.HA = this.Zb = this.wg = null, this.nd = t5; } return i5.W = function(s5, n5, h3, r3, e3, o3) { if (s5 == null) throw t4.i.O(); if (1 > s5.Eb()) throw t4.i.O(); return n5 == 0 || s5.B() ? s5 : ((o3 = new i5(o3)).lo = s5, o3.La = n5, o3.ra = e3, o3.Mi = h3, o3.wA = r3, o3.Qx()); }, i5.prototype.ZL = function() { var i6 = this.lo, s5 = i6.ac(), n5 = i6.xc(), h3 = new t4.h(); return h3.vc(n5, s5), h3.normalize(), h3.Jv(), h3.scale(this.La), s5.add(h3), n5.add(h3), h3 = i6.Ja(), i6.Ec(s5), i6.Rc(n5), h3; }, i5.prototype.YL = function() { var i6 = this.lo; if (0 < this.La && this.Mi != 2) { var s5 = new t4.Ea(); return s5.bd(i6, false), this.lo = s5, this.Qx(); } return (i6 = new t4.Hh(i6.aa)).X(this.La, this.La), i6; }, i5.prototype.nJ = function(t5, i6, s5, n5) { return (i6.x - t5.x) * (n5.x - s5.x) + (i6.y - t5.y) * (n5.y - s5.y); }, i5.prototype.hc = function(t5, i6) { if (i6 === void 0) this.Zb.push(t5), this.gf++; else if (this.gf == 0) this.hc(t5); else { var s5 = this.Dw, n5 = this.wg[i6 == 0 ? s5 - 1 : i6 - 1], e3 = this.wg[i6], o3 = this.nJ(n5, e3, this.Zb[this.gf - 1], t5); 0 < o3 ? this.hc(t5) : 0 > o3 && (0 < this.nJ(n5, e3, e3, this.Zb[this.gf - 1]) ? (e3 = this.wg[i6 == 0 ? s5 - 2 : i6 == 1 ? s5 - 1 : i6 - 2], s5 = r2.Qd(n5, this.La, Math.atan2(n5.y - e3.y, n5.x - e3.x) - h2), this.Zb[this.gf - 1] = s5, this.Mi == 1 || this.Mi == 2 ? (s5 = r2.Ru(s5, n5), this.hc(s5), s5 = r2.Qd(n5, this.La, this.Lv + h2), (n5 = r2.Ru(s5, n5)).type |= 256, this.hc(n5)) : (s5 = r2.Qd(n5, this.La, this.Lv + h2)).type |= 256, this.hc(s5), this.hc(t5, i6)) : (s5 = r2.Qd(e3, this.La, this.Lv + h2), this.hc(s5), this.Mi == 1 || this.Mi == 2 ? (s5 = r2.Ru(s5, e3), this.hc(s5), s5 = r2.Qd(e3, this.La, this.Wz - h2), (n5 = r2.Ru(s5, e3)).type |= 256, this.hc(n5)) : (s5 = r2.Qd(e3, this.La, this.Wz - h2)).type |= 256, this.hc(s5))); } }, i5.prototype.gE = function() { var i6, e3 = this.Dw; this.gf = 0; var o3 = 0.5 * this.ra, a2 = 0, u2 = 0; for (i6 = 0; i6 < e3; i6++) { var f2 = this.wg[i6], c2 = i6 == 0 ? this.wg[e3 - 1] : this.wg[i6 - 1], l2 = i6 == e3 - 1 ? this.wg[0] : this.wg[i6 + 1], p2 = c2.x - f2.x, v2 = c2.y - f2.y, y2 = l2.x - f2.x, b2 = l2.y - f2.y, d2 = Math.atan2(v2, p2), g2 = Math.atan2(b2, y2); if (this.Lv = d2, this.Wz = g2, i6 == 0 && (a2 = d2, u2 = g2), p2 = p2 * b2 - y2 * v2, v2 = g2, g2 < d2 && (g2 += n4), 0 < p2 * this.La) this.Mi == 1 || this.Mi == 2 ? (d2 = r2.Qd(f2, this.La, d2 + h2), this.hc(d2), d2 = r2.NE(f2, d2), this.hc(d2), d2 = r2.Qd(f2, this.La, g2 - h2), (f2 = r2.NE(f2, d2)).type |= 256, this.hc(f2), this.hc(d2)) : (p2 = 0.5 * (g2 - d2), p2 = this.La / Math.abs(Math.sin(p2)), d2 = r2.Qd(f2, p2, 0.5 * (d2 + g2)), this.hc(d2, i6)); else if ((512 & f2.type) != 0) { for (p2 = 1 - o3 / Math.abs(this.La), c2 = 1, l2 = 0 > this.La ? -s4 : s4, -1 < p2 && 1 > p2 && (0.017453292519943295 > (v2 = 2 * Math.acos(p2)) && (v2 = 0.017453292519943295), 1 < (c2 = t4.P.truncate(s4 / v2 + 1.5)) && (l2 /= c2)), v2 = d2 + h2, d2 = r2.Qd(f2, this.La, v2), i6 == 0 && (d2.type |= 1024), this.hc(d2, i6), p2 = this.La / Math.cos(l2 / 2), v2 += l2 / 2, (d2 = r2.Qd(f2, p2, v2)).type |= 1024, this.hc(d2); 0 < --c2; ) v2 += l2, (d2 = r2.Qd(f2, p2, v2)).type |= 1024, this.hc(d2); (d2 = r2.Qd(f2, this.La, g2 - h2)).type |= 1024, this.hc(d2); } else if (this.Mi == 1) d2 = r2.Qd(f2, this.La, d2 + h2), this.hc(d2, i6), d2 = r2.Qd(f2, this.La, g2 - h2), this.hc(d2); else if (this.Mi == 0) for (p2 = 1 - o3 / Math.abs(this.La), c2 = 1, l2 = g2 - h2 - (d2 + h2), -1 < p2 && 1 > p2 && (0.017453292519943295 > (v2 = 2 * Math.acos(p2)) && (v2 = 0.017453292519943295), 1 < (c2 = t4.P.truncate(Math.abs(l2) / v2 + 1.5)) && (l2 /= c2)), p2 = this.La / Math.cos(0.5 * l2), v2 = d2 + h2 + 0.5 * l2, d2 = r2.Qd(f2, p2, v2), this.hc(d2, i6); 0 < --c2; ) v2 += l2, d2 = r2.Qd(f2, p2, v2), this.hc(d2); else this.Mi == 2 ? (p2 = c2.x - f2.x, v2 = c2.y - f2.y, 0.99999999 < (c2 = (p2 * (y2 = l2.x - f2.x) + v2 * (b2 = l2.y - f2.y)) / Math.sqrt(p2 * p2 + v2 * v2) / Math.sqrt(y2 * y2 + b2 * b2)) ? (d2 = r2.Qd(f2, 1.4142135623730951 * this.La, g2 - 0.25 * s4), this.hc(d2, i6), d2 = r2.Qd(f2, 1.4142135623730951 * this.La, g2 + 0.25 * s4), this.hc(d2)) : (c2 = Math.abs(this.La / Math.sin(0.5 * Math.acos(c2)))) > (l2 = Math.abs(this.wA * this.La)) ? (p2 = 0.5 * (g2 - d2), p2 = this.La / Math.abs(Math.sin(p2)), d2 = r2.Qd(f2, p2, 0.5 * (d2 + g2)), g2 = t4.h.construct(d2.x, d2.y), d2 = t4.h.construct(f2.x, f2.y), (f2 = new t4.h()).vc(g2, d2), (g2 = new t4.h()).yW(l2 / f2.length(), f2, d2), d2 = (c2 - l2) * Math.abs(this.La) / Math.sqrt(c2 * c2 - this.La * this.La), 0 < this.La ? f2.Jv() : f2.cr(), f2.scale(d2 / f2.length()), (d2 = new t4.h()).add(g2, f2), (c2 = new t4.h()).vc(g2, f2), d2 = r2.cl(d2), this.hc(d2, i6), d2 = r2.cl(c2), this.hc(d2)) : (p2 = 0.5 * (g2 - d2), p2 = this.La / Math.abs(Math.sin(p2)), d2 = r2.Qd(f2, p2, 0.5 * (d2 + g2)), this.hc(d2, i6))) : (g2 = v2, 0 < this.La ? (g2 > d2 && (g2 -= n4), c2 = d2 - g2 < h2) : (g2 < d2 && (g2 += n4), c2 = g2 - d2 < h2), c2 ? (v2 = 0 > (p2 = 1.4142135623730951 * this.La) ? d2 + 0.25 * s4 : d2 + 0.75 * s4, d2 = r2.Qd(f2, p2, v2), this.hc(d2, i6), v2 = 0 > p2 ? g2 - 0.25 * s4 : g2 - 0.75 * s4, d2 = r2.Qd(f2, p2, v2), this.hc(d2)) : (p2 = 0.5 * (g2 - d2), p2 = this.La / Math.abs(Math.sin(p2)), g2 < d2 && (g2 += n4), d2 = r2.Qd(f2, p2, (d2 + g2) / 2), this.hc(d2, i6))); } return this.Lv = a2, this.Wz = u2, this.hc(this.Zb[0], 0), f2 = r2.MO(this.Zb[this.gf - 1]), this.Zb[0] = f2, this.oW(); }, i5.prototype.Cu = function(i6, s5) { if (!(2 > s5)) for (var n5 = 0; n5 < s5; n5++) { var h3 = this.Zb[i6 + n5]; n5 != 0 ? this.HA.Ei(t4.h.construct(h3.x, h3.y)) : this.HA.Nt(t4.h.construct(h3.x, h3.y)); } }, i5.prototype.$L = function(t5, i6, s5) { var n5 = t5.Ca(i6), h3 = t5.Wc(i6); if (this.Zb = [], this.HA = s5, t5.ec(i6)) { for (i6 = t5.Oa(n5); t5.Oa(h3 - 1).rb(i6); ) h3--; if (2 <= h3 - n5) { for (this.Dw = h3 - n5, this.wg = [], i6 = n5; i6 < h3; i6++) this.wg.push(r2.cl(t5.Oa(i6))); this.gE() && this.Cu(0, this.gf - 1); } } else { for (i6 = t5.Oa(n5); n5 < h3 && t5.Oa(n5 + 1).rb(i6); ) n5++; for (i6 = t5.Oa(h3 - 1); n5 < h3 && t5.Oa(h3 - 2).rb(i6); ) h3--; if (2 <= h3 - n5) { for (this.Dw = 2 * (h3 - n5) - 2, this.wg = [], (s5 = r2.cl(t5.Oa(n5))).type |= 1536, this.wg.push(s5), i6 = n5 + 1; i6 < h3 - 1; i6++) s5 = r2.cl(t5.Oa(i6)), this.wg.push(s5); for ((s5 = r2.cl(t5.Oa(h3 - 1))).type |= 512, this.wg.push(s5), i6 = h3 - 2; i6 >= n5 + 1; i6--) (s5 = r2.cl(t5.Oa(i6))).type |= 1024, this.wg.push(s5); if (this.gE()) if (2 <= this.Zb.length) { for (t5 = -1, (h3 = (1024 & this.Zb[this.gf - 1].type) != 0) || (t5 = 0), i6 = 1; i6 < this.gf; i6++) (n5 = (1024 & this.Zb[i6].type) != 0) ? h3 || 1 < (h3 = i6 - 1) - t5 + 1 && this.Cu(t5, h3 - t5 + 1) : h3 && (t5 = i6 - 1), h3 = n5; h3 || 1 < (h3 = this.gf - 1) - t5 + 1 && this.Cu(t5, h3 - t5 + 1); } else t5 = 0, h3 = this.gf - 1, 0 <= t5 && 1 <= h3 - t5 && this.Cu(t5, h3 - t5 + 1); } } this.wg = null, this.Dw = 0, this.Zb = null, this.gf = 0; }, i5.prototype.oW = function() { for (var t5 = false, i6 = 0; i6 < this.gf; i6++) { var s5 = this.Zb[i6]; s5.sh = i6 + 1, s5.uh = i6 - 1, this.Zb[i6] = s5; } for ((s5 = this.Zb[0]).uh = this.gf - 2, this.Zb[0] = s5, (s5 = this.Zb[this.gf - 2]).sh = 0, this.Zb[this.gf - 2] = s5, i6 = s5 = 0; i6 < this.gf; i6++) if ((256 & this.Zb[s5].type) != 0) { var n5 = this.AP(s5); if (n5 == -1) { t5 = true; break; } s5 = n5; } else s5 = this.Zb[s5].sh; return !t5 && (this.KO(s5), true); }, i5.prototype.AP = function(t5) { for (var i6, s5, n5 = this.gf - 1, h3 = t5, r3 = 1; r3 <= n5 - 2; r3++) { i6 = h3 = this.Zb[h3].sh, s5 = t5; for (var e3 = 1; e3 <= r3; e3++) { if (s5 = this.Zb[s5].uh, (256 & this.Zb[s5].type) == 0 && (256 & this.Zb[i6].type) == 0) { var o3 = this.$R(s5, i6); if (o3 != -1) return o3; } i6 = this.Zb[i6].uh; } } return -1; }, i5.prototype.$R = function(i6, s5) { var n5 = this.Zb[this.Zb[i6].uh], h3 = this.Zb[i6], r3 = this.Zb[this.Zb[s5].uh], o3 = this.Zb[s5]; if (!this.AW(n5, h3, r3, o3)) return -1; var a2 = new e2(); return this.rQ(n5, h3, r3, o3, a2) && !a2.WD && t4.P.WJ((h3.x - n5.x) * (o3.y - r3.y) - (h3.y - n5.y) * (o3.x - r3.x)) != t4.P.WJ(this.La) ? (n5 = this.Zb[i6].uh, a2.cn.type = h3.type, a2.cn.sh = s5, a2.cn.uh = n5, this.Zb[i6] = a2.cn, a2.cn = this.Zb[s5], a2.cn.uh = i6, this.Zb[s5] = a2.cn, s5) : -1; }, i5.prototype.AW = function(t5, i6, s5, n5) { return Math.max(t5.x, i6.x) >= Math.min(s5.x, n5.x) && Math.max(s5.x, n5.x) >= Math.min(t5.x, i6.x) && Math.max(t5.y, i6.y) >= Math.min(s5.y, n5.y) && Math.max(s5.y, n5.y) >= Math.min(t5.y, i6.y); }, i5.prototype.rQ = function(t5, i6, s5, n5, h3) { h3.WD = false; var e3 = (i6.y - t5.y) * (n5.x - s5.x) - (i6.x - t5.x) * (n5.y - s5.y), o3 = (s5.y - t5.y) * (i6.x - t5.x) - (s5.x - t5.x) * (i6.y - t5.y); if (0 <= (e3 = e3 == 0 ? 2 : o3 / e3) && 1 >= e3) { var a2 = e3; if (e3 = (n5.y - s5.y) * (i6.x - t5.x) - (n5.x - s5.x) * (i6.y - t5.y), o3 = (t5.y - s5.y) * (n5.x - s5.x) - (t5.x - s5.x) * (n5.y - s5.y), 0 <= (e3 = e3 == 0 ? 2 : o3 / e3) && 1 >= e3) return h3.cn = r2.NO(t5.x + e3 * (i6.x - t5.x), t5.y + e3 * (i6.y - t5.y)), h3.cn.Wh = s5.Wh + a2 * (n5.Wh - s5.Wh), a2 != 0 && a2 != 1 || e3 != 0 && e3 != 1 || (h3.WD = true), h3.NY = e3, h3.OY = a2, !((a2 == 0 || a2 == 1) && 0 < e3 && 1 > e3 || (e3 == 0 || e3 == 1) && 0 < a2 && 1 > a2); } return false; }, i5.prototype.KO = function(t5) { for (; this.Zb[t5].uh < t5; ) t5 = this.Zb[t5].uh; var i6 = 0, s5 = t5; do { s5 = this.Zb[s5], this.Zb[i6] = s5, s5 = s5.sh, i6++; } while (s5 != t5); this.Zb[i6] = this.Zb[0], this.gf = i6 + 1; }, i5.prototype.UC = function(t5) { var i6 = this.lo, s5 = i6.Ha(); if (s5 != null) { s5.aj(); for (var n5 = -1; s5.ab(); ) n5++, this.$L(i6, n5, t5); } }, i5.prototype.Qx = function() { var i6 = this.lo.K(); return i6 == 322 ? this.ZL() : i6 == 197 ? this.YL() : t4.ba.zd(i6) ? ((i6 = new t4.Ua()).oc(this.lo, true), this.lo = i6, this.Qx()) : i6 == 1607 ? (i6 = new t4.Ua(), this.UC(i6), i6) : i6 == 1736 ? (i6 = new t4.Ea(), this.UC(i6), i6) : null; }, i5; }(); t4.CK = o2; }(V || (V = {})), function(t4) { var i4 = function() { function t5(t6) { this.rk = t6; } return t5.prototype.D = function(t6, i5) { this.rk.g.D(t6, i5); }, t5.prototype.wd = function(t6) { var i5 = this.rk.Ga.ka(t6); this.rk.Ga.wd(t6, -1), this.rk.g.pd(i5, false); }, t5; }(), s4 = function() { function t5(t6) { this.rk = t6; } return t5.prototype.D = function(t6, i5) { this.rk.AT.D(t6, i5); }, t5.prototype.wd = function(t6) { this.rk.Ga.wd(t6, -1); }, t5; }(), n4 = function() { function t5(t6) { this.rk = t6; } return t5.prototype.D = function(t6, i5) { i5.N(this.rk.DT[t6]); }, t5.prototype.wd = function(t6) { this.rk.Ga.wd(t6, -1); }, t5; }(), h2 = function() { function h3(h4) { h4 === void 0 ? (this.Ga = new t4.Zj(), this.Ga.Ee(20), this.g = new t4.hd(), this.oT = this.g.Kg(550), this.Us = this.g.wf(this.oT, -1), this.Zh = new i4(this)) : h4 instanceof Array ? (this.Ga = new t4.Zj(), this.Ga.Ee(20), this.DT = h4, this.Zh = new n4(this)) : (this.Ga = new t4.Zj(), this.Ga.Ee(20), this.AT = h4, this.Zh = new s4(this)); } return h3.prototype.Ib = function(i5) { var s5 = i5.K(); if (t4.Fx.zj(s5)) this.dN(i5); else if (t4.Wk.zd(s5)) this.iN(i5); else if (s5 == 197) this.aN(i5); else { if (s5 != 33) throw t4.i.O("invalid shape type"); this.hN(i5); } }, h3.prototype.XQ = function() { var i5 = new t4.Ta(), s5 = this.Ga.sc(-1), n5 = new t4.Ea(this.g.it); for (this.g.Xi(this.Ga.ka(s5), i5), n5.nf(i5), s5 = this.Ga.lb(s5); s5 != -1; s5 = this.Ga.lb(s5)) this.g.Xi(this.Ga.ka(s5), i5), n5.lineTo(i5); return n5; }, h3.LO = function(i5) { var s5 = new h3(i5), n5 = i5.I(), r2 = 1, e2 = new t4.h(), o2 = new t4.h(), a2 = new t4.h(); for (i5.D(0, e2); i5.D(r2, o2), o2.Mz(e2) && r2 < n5 - 1; ) r2++; for (s5.Ga.addElement(0, -1), s5.Ga.yn(r2), n5 = r2 + 1; n5 < i5.I(); n5++) i5.D(n5, a2), (r2 = s5.jC(a2)) != -1 && s5.Ga.Uj(r2, n5); for (a2 = new t4.Ta(), r2 = s5.Ga.sc(-1), n5 = new t4.Ea(i5.description), i5.we(s5.Ga.ka(r2), a2), n5.nf(a2), r2 = s5.Ga.lb(r2); r2 != -1; r2 = s5.Ga.lb(r2)) i5.we(s5.Ga.ka(r2), a2), n5.lineTo(a2); return n5; }, h3.construct = function(t5, i5, s5) { for (var n5 = new h3(t5), r2 = 1, e2 = t5[0]; t5[r2].Mz(e2) && r2 < i5 - 1; ) r2++; for (n5.Ga.addElement(0, -1), n5.Ga.yn(r2), r2 += 1; r2 < i5; r2++) (e2 = n5.jC(t5[r2])) != -1 && n5.Ga.Uj(e2, r2); for (t5 = 0, i5 = n5.Ga.sc(-1); i5 != -1; i5 = n5.Ga.lb(i5)) s5[t5++] = n5.Ga.ka(i5); return t5; }, h3.DG = function(i5, s5) { var n5 = i5.Ca(s5), r2 = i5.Wc(s5); if (s5 = !i5.ec(s5) && i5.On(s5), i5 = i5.vb(0), r2 *= 2, s5 && (r2 -= 2), 6 > r2 - (n5 *= 2)) return true; s5 = new t4.h(); var e2 = new t4.h(), o2 = new t4.h(); i5.uc(n5, s5), i5.uc(n5 + 2, e2), i5.uc(n5 + 4, o2); var a2 = h3.Yu(e2, o2, s5); if (a2.rs() || !h3.wm(a2.value())) return false; var u2 = t4.h.construct(e2.x, e2.y), f2 = new t4.h(); for (n5 += 6; n5 < r2; n5 += 2) { if (f2.N(e2), e2.N(o2), i5.uc(n5, o2), (a2 = h3.Yu(e2, o2, s5)).rs() || !h3.wm(a2.value())) return false; if ((a2 = h3.Yu(u2, o2, s5)).rs() || !h3.wm(a2.value())) return false; if ((a2 = h3.Yu(e2, o2, f2)).rs() || !h3.wm(a2.value())) return false; } return true; }, h3.prototype.dN = function(i5) { for (var s5 = new t4.Ta(), n5 = new t4.h(), h4 = 0; h4 < i5.I(); h4++) { i5.D(h4, n5); var r2 = this.Er(n5); if (r2 != -1) { i5.we(h4, s5); var e2 = this.g.hc(this.Us, s5); this.Ga.Uj(r2, e2); } } }, h3.prototype.aN = function(i5) { for (var s5 = new t4.Ta(), n5 = new t4.h(), h4 = 0; 4 > h4; h4++) { i5.gB(h4, n5); var r2 = this.Er(n5); if (r2 != -1) { i5.If(h4, s5); var e2 = this.g.hc(this.Us, s5); this.Ga.Uj(r2, e2); } } }, h3.prototype.iN = function(i5) { var s5 = new t4.Ta(), n5 = i5.ac(); if ((n5 = this.Er(n5)) != -1) { i5.Uo(s5); var h4 = this.g.hc(this.Us, s5); this.Ga.Uj(n5, h4); } n5 = i5.xc(), (n5 = this.Er(n5)) != -1 && (i5.Qo(s5), i5 = this.g.hc(this.Us, s5), this.Ga.Uj(n5, i5)); }, h3.prototype.hN = function(t5) { var i5 = t5.D(); (i5 = this.Er(i5)) != -1 && (t5 = this.g.hc(this.Us, t5), this.Ga.Uj(i5, t5)); }, h3.prototype.Er = function(t5) { var i5 = -1; if (this.Ga.size(-1) == 0) return this.Ga.addElement(-4, -1); if (this.Ga.size(-1) == 1) { var s5 = this.g.Oa(this.Ga.ka(this.Ga.sc(-1))); return t5.Mz(s5) || (i5 = this.Ga.yn(-5)), i5; } return this.jC(t5); }, h3.prototype.jC = function(i5) { var s5 = -1; do { var n5 = this.Ga.sc(-1), r2 = this.Ga.Gc(-1), e2 = this.Ga.ka(n5), o2 = this.Ga.ka(r2), a2 = new t4.h(), u2 = new t4.h(); if (this.Zh.D(e2, a2), this.Zh.D(o2, u2), e2 = t4.h.Wq(u2, i5, a2), h3.wm(e2)) s5 = this.Ga.yn(-1), (a2 = this.hC(i5, r2, n5)) != n5 && this.iC(i5, n5, this.Ga.xe(a2)); else if (h3.wG(e2)) { u2 = this.Ga.uv(-1); var f2 = this.Ga.sc(-1), c2 = this.Ga.Gc(-1); for (e2 = new t4.h(), o2 = new t4.h(); f2 != this.Ga.xe(c2); ) { var l2 = this.Ga.ka(u2); this.Zh.D(l2, e2), l2 = t4.h.Wq(e2, i5, a2), h3.wG(l2) ? (c2 = u2, u2 = this.Ga.nl(u2)) : (f2 = u2, u2 = this.Ga.Zp(u2)); } if (u2 = c2, a2 = f2, l2 = this.Ga.ka(u2), f2 = this.Ga.ka(a2), this.Zh.D(l2, e2), this.Zh.D(f2, o2), a2 != n5 && (e2 = t4.h.Wq(o2, i5, e2), !h3.wm(e2))) continue; s5 = this.Ga.Bu(a2, u2, -2, false), this.iC(i5, u2, r2), this.hC(i5, a2, n5); } else this.tb == null && (this.tb = new t4.zb()), this.tb.Ec(u2), this.tb.Rc(a2), 0 > (a2 = this.tb.fe(i5, true)) ? (a2 = this.Ga.xe(r2), this.Ga.wd(r2, -1), s5 = this.Ga.yn(-3), this.hC(i5, a2, n5)) : 1 < a2 && (a2 = this.Ga.lb(n5), this.Ga.wd(n5, -1), s5 = this.Ga.Bu(-1, a2, -3, false), this.iC(i5, a2, r2)); } while (0); return s5; }, h3.prototype.iC = function(i5, s5, n5) { if (s5 != n5) { var r2 = this.Ga.ka(s5), e2 = this.Ga.lb(s5), o2 = new t4.h(), a2 = new t4.h(); for (this.Zh.D(r2, o2); s5 != n5 && 2 < this.Ga.size(-1) && (this.Zh.D(this.Ga.ka(e2), a2), r2 = t4.h.Wq(a2, i5, o2), !h3.wm(r2)); ) r2 = s5, s5 = e2, o2.N(a2), e2 = this.Ga.lb(s5), this.Zh.wd(r2); } }, h3.prototype.hC = function(i5, s5, n5) { if (s5 == n5) return n5; var r2 = this.Ga.ka(s5), e2 = this.Ga.xe(s5), o2 = new t4.h(), a2 = new t4.h(); for (this.Zh.D(r2, o2); s5 != n5 && 2 < this.Ga.size(-1) && (this.Zh.D(this.Ga.ka(e2), a2), r2 = t4.h.Wq(o2, i5, a2), !h3.wm(r2)); ) r2 = s5, s5 = e2, o2.N(a2), e2 = this.Ga.xe(s5), this.Zh.wd(r2); return s5; }, h3.Yu = function(i5, s5, n5) { var h4 = new t4.Xb(); h4.set(s5.x), h4.sub(i5.x); var r2 = new t4.Xb(); r2.set(n5.y), r2.sub(i5.y); var e2 = new t4.Xb(); return e2.set(s5.y), e2.sub(i5.y), (s5 = new t4.Xb()).set(n5.x), s5.sub(i5.x), h4.Ag(r2), e2.Ag(s5), h4.sub(e2), h4; }, h3.wm = function(t5) { return 0 > t5; }, h3.wG = function(t5) { return 0 < t5; }, h3; }(); t4.au = h2; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5) { this.g = null, this.nH = true, this.nd = t5; } return i5.rU = function(i6, s4, n4) { return i6 = t4.ta.Gr(i6), t4.$t.Ev(s4.Ng(), s4.kh(), n4.Ng(), n4.kh(), t4.mc.ox(i6)); }, i5.wO = function(i6, s4) { var n4 = new t4.Ta(); return t4.$t.OT(i6, s4, n4), n4; }, i5.W = function(t5, s4, n4, h2) { return (n4 = new i5(n4)).g = t5, n4.ra = s4, n4.nH = h2, n4.yM(); }, i5.prototype.hM = function(i6) { return t4.$t.cQ(this.g, i6); }, i5.prototype.mM = function(i6) { return t4.bu.W(this.g, i6, this.nd); }, i5.prototype.yM = function() { var i6 = this.ra, s4 = t4.ta.Gr(i6), n4 = 1.00001 * (i6 = t4.ta.lN(i6)); i6 *= 1.000001; for (var h2 = false, r2 = 30 < this.g.gd + 10 ? 1e3 : (this.g.gd + 10) * (this.g.gd + 10), e2 = 0, o2 = this.g.cS(); ; e2++) { if (e2 > r2) throw t4.i.ga("Internal Error: max number of iterations exceeded"); var a2 = this.hM(s4); if (h2 = h2 || a2, this.nH && (a2 = this.g.Ip(s4, true, false) != 0, h2 = h2 || a2), a2 = false, (e2 == 0 || o2 || t4.bu.eI(true, this.g, i6, null, this.nd)) && (a2 = this.mM(n4), h2 = h2 || a2), !a2) break; t4.np.Bp(this.nd); } return h2; }, i5; }(); t4.Uk = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5) { this.ae = this.Nc = null, this.$s = 0, this.Vb = t5, this.Yz = true; } return i5.prototype.wv = function(t5, i6) { var s5 = this.g.cc(t5); if (s5 == null) { if (!this.g.fd(t5, i6)) return null; s5 = i6; } return s5; }, i5.prototype.Zq = function() { var i6; i6 === void 0 && (i6 = false), this.$s++, (i6 || (4095 & this.$s) == 0) && (this.$s = 0, t4.np.Bp(this.Vb)); }, i5.prototype.hP = function() { var i6 = this.g.$q(false), s5 = false, n4 = new t4.zb(), h2 = new t4.zb(), r2 = new t4.l(); r2.Pa(); var e2 = new t4.l(); e2.Pa(); for (var o2 = new t4.Ta(), a2 = new t4.NC(), u2 = i6.next(); u2 != -1; u2 = i6.next()) { t4.np.Bp(this.Vb); var f2 = null, c2 = false; if (!t4.ba.Sn(this.g.jc(i6.dk))) { if ((f2 = this.wv(u2, n4)) == null) continue; if (f2.A(r2), r2.X(this.ra, this.ra), f2.Di(this.ra)) { if (!f2.Di(0)) continue; c2 = true, f2 = null; } } var l2 = this.g.$q(i6), p2 = l2.next(); for (p2 != -1 && (p2 = l2.next()); p2 != -1; p2 = l2.next()) { var v2 = null, y2 = false; if (!t4.ba.Sn(this.g.jc(l2.dk))) { if ((v2 = this.wv(p2, h2)) == null) continue; if (v2.A(e2), v2.Di(this.ra)) { if (!v2.Di(0)) continue; y2 = true, v2 = null; } } var b2 = 0, d2 = 0; if (f2 != null && v2 != null) r2.BG(e2) && (a2.Po(f2), a2.Po(v2), a2.Fa(this.ra, false), 0 < (b2 = a2.ql(0)) + (d2 = a2.ql(1)) && (this.g.lr(u2, a2, 0, true), this.g.lr(p2, a2, 1, true)), a2.clear()); else if (f2 != null) { var g2 = new t4.h(); if (this.g.D(p2, g2), r2.contains(g2)) { if (a2.Po(f2), this.g.Xi(p2, o2), a2.Fz(this.ra, o2, false), 0 < (b2 = a2.ql(0))) if (this.g.lr(u2, a2, 0, true), y2) { for (y2 = -1, g2 = this.g.V(p2); g2 != -1 && g2 != p2 && (y2 = g2, (v2 = this.wv(g2, h2)) != null && v2.Di(0)); g2 = this.g.V(g2)) ; for (g2 = p2; g2 != -1 && (this.g.Fh(g2, a2.Cf), g2 != y2); g2 = this.g.V(g2)) ; } else this.g.Fh(p2, a2.Cf); a2.clear(); } } else { if (v2 == null) continue; if (g2 = new t4.h(), this.g.D(u2, g2), e2.X(this.ra, this.ra), e2.contains(g2)) { if (a2.Po(v2), this.g.Xi(u2, o2), a2.Fz(this.ra, o2, false), 0 < (d2 = a2.ql(0))) if (this.g.lr(p2, a2, 0, true), c2) { for (y2 = -1, g2 = this.g.V(u2); g2 != -1 && g2 != u2 && (y2 = g2, (v2 = this.wv(g2, h2)) != null && v2.Di(0)); g2 = this.g.V(g2)) ; for (g2 = u2; g2 != -1 && (this.g.Fh(g2, a2.Cf), g2 != y2); g2 = this.g.V(g2)) ; } else this.g.Fh(u2, a2.Cf); a2.clear(); } } if (b2 + d2 != 0) { if (b2 != 0) { if ((f2 = this.g.cc(u2)) == null) { if (!this.g.fd(u2, n4)) continue; f2 = n4, n4.A(r2); } else f2.A(r2); if (f2.Di(this.ra)) break; } s5 = true; } } } return s5; }, i5.prototype.iP = function() { return this.IU(); }, i5.prototype.IU = function() { return new t4.LC().HX(this.g, this.ra); }, i5.prototype.fI = function() { var i6 = false; this.Nc == null && (this.Nc = new t4.Zj()); var s5 = new t4.ja(0); s5.Jb(this.g.gd + 1); for (var n4 = this.g.$q(), h2 = n4.next(); h2 != -1; h2 = n4.next()) s5.add(h2); this.g.nx(s5, s5.size), s5.add(-1), n4 = this.g.Hd(), h2 = this.g.Hd(), this.ae = new t4.OC(this.g, this.ra, !this.Yz), this.Nc.Wo(this.ae); var r2 = new t4.ja(0), e2 = new t4.ja(0), o2 = 0; new t4.h(); var a2 = this.g.ud; this.g.wb.rc(); for (var u2, f2, c2 = this.g.wb.Aa[0].o, l2 = s5.get(o2++); l2 != -1; ) { var p2 = u2 = c2[2 * (f2 = a2.U(l2, 0))], v2 = f2 = c2[2 * f2 + 1]; do { var y2 = a2.U(l2, 2), b2 = a2.U(l2, 1); if (y2 != -1) { var d2 = a2.U(y2, 0), g2 = c2[2 * d2]; 0 > (v2 < (d2 = c2[2 * d2 + 1]) ? -1 : v2 > d2 ? 1 : p2 < g2 ? -1 : p2 > g2 ? 1 : 0) && (e2.add(l2), e2.add(y2)); } b2 != -1 && (g2 = c2[2 * (d2 = a2.U(b2, 0))], 0 > (v2 < (d2 = c2[2 * d2 + 1]) ? -1 : v2 > d2 ? 1 : p2 < g2 ? -1 : p2 > g2 ? 1 : 0) && (e2.add(b2), e2.add(b2))), (g2 = this.g.Qa(l2, n4)) != -1 && (r2.add(g2), this.g.Sa(l2, n4, -1)), (g2 = this.g.Qa(l2, h2)) != -1 && (r2.add(g2), this.g.Sa(l2, h2, -1)), (l2 = s5.get(o2++)) !== -1 && (p2 = c2[2 * (v2 = a2.U(l2, 0))], v2 = c2[2 * v2 + 1]); } while (l2 != -1 && p2 === u2 && v2 === f2); for (p2 = r2.size == 1 && e2.size == 2, g2 = v2 = -1, y2 = 0, b2 = r2.size; y2 < b2; y2++) { d2 = r2.get(y2); var w2 = this.Nc.xe(d2); if (w2 == -1 || r2.bG(w2) || (v2 = w2), (d2 = this.Nc.lb(d2)) == -1 || r2.bG(d2) || (g2 = d2), v2 != -1 && g2 != -1) break; } for (this.ae.UJ(f2, u2), y2 = 0, b2 = r2.size; y2 < b2; y2++) d2 = r2.get(y2), this.Nc.wd(d2, -1); if (r2.clear(false), !p2 && v2 != -1 && g2 != -1 && this.kO(v2, g2)) { i6 = true, this.Pi = this.ae.tm(); break; } for (y2 = 0, b2 = e2.size; y2 < b2; y2 += 2) { if (f2 = e2.get(y2), u2 = e2.get(y2 + 1), p2 ? (f2 = this.Nc.Bu(v2, g2, f2, true), p2 = false) : f2 = this.Nc.addElement(f2, -1), this.ae.rg) { this.Pi = this.ae.tm(), i6 = true; break; } this.g.Qa(u2, n4) == -1 ? this.g.Sa(u2, n4, f2) : this.g.Sa(u2, h2, f2); } if (i6) break; e2.Dh(0); } return this.g.Ud(n4), this.g.Ud(h2), i6; }, i5.prototype.kO = function(t5, i6) { return this.ae.compare(this.Nc, this.Nc.ka(t5), i6), t5 = this.ae.rg, this.ae.Mr(), t5; }, i5.sE = function(i6) { for (var s5 = i6.ld; s5 != -1; s5 = i6.ve(s5)) if (t4.ba.Ic(i6.jc(s5))) return true; return false; }, i5.$P = function(t5, s5, n4, h2) { return !!i5.sE(t5) && ((s5 = new i5(h2)).g = t5, s5.ra = n4, 15 > t5.gd ? t5 = s5.hP() : s5.iP()); }, i5.W = function(t5, s5, n4) { return i5.$P(t5, t5.CF(), s5, n4); }, i5.eI = function(s5, n4, h2, r2, e2) { if (!i5.sE(n4)) return false; var o2 = new i5(e2); if (o2.g = n4, o2.ra = h2, o2.Yz = s5, o2.fI()) return r2 != null && r2.Yt(o2.Pi), true; var a2 = new t4.Ed(); return a2.UB(), n4.Pc(a2), (o2 = new i5(e2)).g = n4, o2.ra = h2, o2.Yz = s5, s5 = o2.fI(), a2.UB(), n4.Pc(a2), !!s5 && (r2 != null && r2.Yt(o2.Pi), true); }, i5.Ol = function(t5, i6) { return !(16 > (t5 = t5.I())) && 2 * t5 + Math.log(t5) * Math.LOG10E / Math.log(2) * i6 < 1 * t5 * i6; }, i5.fP = function(s5, n4, h2, r2) { if (t4.ba.Ic(n4.K())) return new i5(r2).gP(s5, n4, h2); throw t4.i.ga("crack_A_with_B"); }, i5.prototype.gP = function(n4, h2, r2) { var e2 = new t4.l(); n4.yc(e2); var o2 = new t4.l(); if (h2.yc(o2), o2.X(r2, r2), !o2.isIntersecting(e2)) return n4; var a2 = n4.Cb, u2 = null; a2 != null && (u2 = a2.Gb), i5.Ol(n4, n4.I()) && (u2 = t4.ta.lj(n4, o2)); var f2 = u2 != null ? u2.getIterator() : null, c2 = h2.Ha(); h2 = n4.Ha(); var l2 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; for (o2 = []; c2.ab(); ) for (; c2.Ia(); ) { var p2 = c2.ia(); if (u2 != null) { for (f2.Vo(p2, r2), a2 = f2.next(); a2 != -1; a2 = f2.next()) if (this.Zq(), h2.Wb(u2.ka(a2), -1), h2.Ia()) { var v2 = (a2 = h2.ia()).Fa(p2, null, l2, null, r2); for (a2 = 0; a2 < v2; ++a2) { var y2 = l2[a2]; if (y2 != 0 && y2 != 1) { var b2 = h2.xb(), d2 = new s4(); d2.t = y2, d2.index = b2, o2.push(d2); } } } } else { var g2 = new t4.l(); if (p2.yc(g2), g2.X(r2, r2), e2.isIntersecting(g2)) { for (h2.aj(); h2.ab(); ) for (; h2.Ia(); ) if (this.Zq(), a2 = h2.ia(), y2 = new t4.l(), a2.yc(y2), y2.isIntersecting(g2)) for (v2 = a2.Fa(p2, null, l2, null, r2), a2 = 0; a2 < v2; ++a2) (y2 = l2[a2]) != 0 && y2 != 1 && (b2 = h2.xb(), (d2 = new s4()).t = y2, d2.index = b2, o2.push(d2)); } } } if (o2.length == 0) return n4; for (o2 = o2.sort(s4.zy), n4 = n4.Ja(), h2.aj(); h2.ab() && !h2.Ia(); ) ; for (r2 = h2.ia(), e2 = new t4.hg(), u2 = -1, a2 = 0, f2 = o2.length; a2 < f2; ) { for (l2 = o2[a2].index, c2 = a2 + 1; c2 < f2 && o2[c2].index == l2; ) ++c2; for (; h2.xb() < l2; ) { if (this.Zq(), p2 = h2.Ia(), y2 = h2.gb, (g2 = p2 || !h2.Pn() || h2.Qn()) && n4.oc(r2, u2 != y2), u2 = y2, !p2) for (; h2.ab() && !h2.Ia(); ) ; r2 = h2.ia(); } for (l2 = 0; a2 < c2; a2++) (y2 = o2[a2].t) != l2 && (r2.dh(l2, y2, e2), l2 = y2, y2 = h2.gb, n4.oc(e2.get(), u2 != y2), u2 = y2); if ((g2 = (p2 = h2.Ia()) || !h2.Pn() || h2.Qn()) && (r2.dh(l2, 1, e2), n4.oc(e2.get(), false)), p2) r2 = h2.ia(); else { for (; h2.ab() && !h2.Ia(); ) ; r2 = h2.Ia() ? h2.ia() : null; } a2 = c2; } for (r2 != null && (y2 = h2.gb, (g2 = (p2 = h2.Ia()) || !h2.Pn() || h2.Qn()) && n4.oc(r2, u2 != y2), u2 = y2), p2 = h2.Ia(); ; ) { if (!p2) { for (; h2.ab() && !(p2 = h2.Ia()); ) ; if (!p2) break; } r2 = h2.ia(), y2 = h2.gb, (g2 = (p2 = h2.Ia()) || !h2.Pn() || h2.Qn()) && n4.oc(r2, u2 != y2), u2 = y2; } return n4; }, i5; }(); t4.bu = i4; var s4 = function() { function t5() { } return t5.zy = function(t6, i5) { return t6.index == i5.index ? t6.t > i5.t ? 1 : t6.t < i5.t ? -1 : 0 : t6.index > i5.index ? 1 : -1; }, t5; }(); }(V || (V = {})), function(t4) { var i4; (i4 = t4.EK || (t4.EK = {}))[i4.Left = 0] = "Left", i4[i4.Right = 1] = "Right", i4[i4.Coincident = 2] = "Coincident", i4[i4.Undefined = 3] = "Undefined", i4[i4.Uncut = 4] = "Uncut"; var s4 = function(t5, i5, s5, n5, h3, r2, e2, o2, a2, u2, f2) { this.Y = t5, this.ct = i5, this.Ps = s5, this.tg = n5, this.Nm = u2, this.Cl = f2; }; t4.mY = s4; var n4 = function() { function i5(t5, i6) { this.DH = t5, this.Ji = i6; } return i5.prototype.kM = function(i6, s5) { var n5 = new t4.h(); this.Ji.D(i6, n5); var h3 = new t4.h(); return this.Ji.D(s5, h3), (n5 = n5.compare(h3)) != 0 ? n5 : (i6 = this.Ji.Qa(i6, this.DH)) < (s5 = this.Ji.Qa(s5, this.DH)) ? -1 : i6 == s5 ? 0 : 1; }, i5; }(), h2 = function(t5, i5, s5, n5, h3, r2, e2, o2, a2) { this.tg = t5, this.Ps = i5, this.IA = s5, this.OH = n5, this.Gi = h3, this.Cl = r2, this.Nm = e2, this.PH = o2, this.GT = a2; }; t4.lY = h2, t4.FK = function() { function i5() { } return i5.DK = function(n5, h3, r2, e2, o2, a2) { if (h3.B()) n5 = new s4(h3, 4, -1, -1, NaN, 4, -1, -1, NaN, -1, -1, NaN, -1, -1, NaN), o2.push(n5); else if (r2.B()) n5 = new s4(h3, 4, -1, -1, NaN, 4, -1, -1, NaN, -1, -1, NaN, -1, -1, NaN), o2.push(n5); else { var u2 = new t4.hd(); if (u2.Ib(h3), u2.Ib(r2), t4.Uk.W(u2, e2, a2, true), u2.gd == 0) n5 = new s4(h3.Ja(), 4, -1, -1, NaN, 4, -1, -1, NaN, -1, -1, NaN, -1, -1, NaN), o2.push(n5); else { for (h3 = 0, r2 = u2.Hd(), e2 = u2.ld; e2 != -1; e2 = u2.ve(e2)) for (a2 = u2.Ob(e2); a2 != -1; a2 = u2.Sb(a2)) for (var f2 = u2.Ya(a2), c2 = 0, l2 = u2.Ka(a2); c2 < l2; f2 = u2.V(f2), c2++) u2.Sa(f2, r2, h3++); h3 = i5.BM(r2, u2), i5.XL(n5, h3, u2, o2); } } }, i5.BM = function(s5, h3) { for (var r2 = h3.gd, e2 = new t4.ja(0), o2 = h3.ld; o2 != -1; o2 = h3.ve(o2)) for (var a2 = h3.Ob(o2); a2 != -1; a2 = h3.Sb(a2)) for (var u2 = h3.Ya(a2), f2 = 0, c2 = h3.Ka(a2); f2 < c2; u2 = h3.V(u2), f2++) e2.add(u2); var l2 = new n4(s5, h3); e2.Wd(0, r2, function(t5, i6) { return l2.kM(t5, i6); }), s5 = []; var p2 = [], v2 = h3.Hd(), y2 = h3.Hd(); o2 = h3.ld, a2 = h3.ve(o2), c2 = new t4.h(); var b2 = new t4.h(), d2 = e2.get(0), g2 = h3.cd(d2), w2 = h3.Rf(g2); h3.D(d2, c2); var x2 = 1; for (u2 = 0; x2 < r2 - 1; ) { var m2 = false; for (f2 = x2; f2 < r2; f2++) if (f2 != u2) { var j2 = e2.get(f2), k2 = h3.cd(j2), M2 = h3.Rf(k2); if (h3.D(j2, b2), !c2.rb(b2)) break; w2 == o2 && M2 == a2 && (m2 = i5.oM(v2, y2, h3, s5, p2, g2, d2, k2, j2)); } if (m2 || u2 == x2 - 1) { if (m2 && u2 == x2 - 1 && x2--, ++u2 == r2) break; d2 = e2.get(u2), g2 = h3.cd(d2), w2 = h3.Rf(g2), h3.D(d2, c2); } m2 || (x2 = u2 + 1); } for (r2 = [], o2 = h3.ld; o2 != -1; o2 = h3.ve(o2)) for (a2 = h3.Ob(o2); a2 != -1; a2 = h3.Sb(a2)) for (e2 = h3.Ya(a2), f2 = 0, c2 = h3.Ka(a2); f2 < c2; e2 = h3.V(e2), f2++) { if (0 <= (u2 = h3.Qa(e2, y2))) for (; u2 < p2.length && p2[u2].tg == e2; ) r2.push(p2[u2++]); if (0 <= (u2 = h3.Qa(e2, v2))) for (; u2 < s5.length && s5[u2].tg == e2; ) r2.push(s5[u2++]); } return h3.Ud(v2), h3.Ud(y2), r2; }, i5.oM = function(t5, s5, n5, h3, r2, e2, o2, a2, u2) { var f2 = n5.tj(e2), c2 = n5.tj(a2), l2 = n5.Ya(e2), p2 = n5.Ya(a2), v2 = n5.Na(o2), y2 = n5.Na(u2), b2 = false, d2 = false, g2 = false, w2 = false; return o2 != l2 && (u2 != p2 && (b2 = i5.pM(t5, n5, h3, e2, v2, a2, y2)), u2 != c2 && (d2 = i5.qM(t5, n5, h3, e2, v2, a2, u2))), o2 != f2 && (u2 != p2 && (g2 = i5.rM(s5, n5, r2, e2, o2, a2, y2, l2)), u2 != c2 && (w2 = i5.sM(s5, n5, r2, e2, o2, a2, u2, l2))), b2 && d2 && g2 ? (t5 = h3.length - 1, r2[w2 ? r2.length - 2 : r2.length - 1].Gi == 2 && (h3[t5 - 1] = h3[t5], --h3.length)) : b2 && d2 && w2 && r2[r2.length - 1].Gi == 2 && (r2 = h3[h3.length - 1], --h3.length, n5.Qa(r2.tg, t5) == h3.length && n5.Sa(r2.tg, t5, -1)), b2 || d2 || g2 || w2; }, i5.pM = function(i6, s5, n5, r2, e2, o2, a2) { var u2 = new t4.zb(), f2 = new t4.zb(), c2 = [0, 0], l2 = [0, 0], p2 = s5.cc(e2); return p2 == null && (s5.fd(e2, u2), p2 = u2), (u2 = s5.cc(a2)) == null && (s5.fd(a2, f2), u2 = f2), 2 > (p2 = p2.Fa(u2, null, c2, l2, 0)) && (r2 = new h2(e2, r2, c2[0], NaN, p2, a2, o2, l2[0], NaN), n5.push(r2), 0 > (r2 = s5.Qa(e2, i6)) && s5.Sa(e2, i6, n5.length - 1)), true; }, i5.qM = function(i6, s5, n5, r2, e2, o2, a2) { var u2 = new t4.zb(), f2 = new t4.zb(), c2 = [0, 0], l2 = [0, 0], p2 = s5.cc(e2); return p2 == null && (s5.fd(e2, u2), p2 = u2), (u2 = s5.cc(a2)) == null && (s5.fd(a2, f2), u2 = f2), 2 > (p2 = p2.Fa(u2, null, c2, l2, 0)) && (r2 = new h2(e2, r2, c2[0], NaN, p2, a2, o2, l2[0], NaN), n5.push(r2), 0 > (r2 = s5.Qa(e2, i6)) && s5.Sa(e2, i6, n5.length - 1), true); }, i5.rM = function(i6, s5, n5, r2, e2, o2, a2, u2) { var f2 = new t4.zb(), c2 = new t4.zb(), l2 = [0, 0], p2 = [0, 0], v2 = s5.cc(e2); return v2 == null && (s5.fd(e2, f2), v2 = f2), (f2 = s5.cc(a2)) == null && (s5.fd(a2, c2), f2 = c2), (v2 = v2.Fa(f2, null, l2, p2, 0)) == 2 ? (r2 = new h2(e2, r2, l2[0], l2[1], v2, a2, o2, p2[0], p2[1]), n5.push(r2), 0 > (r2 = s5.Qa(e2, i6)) && s5.Sa(e2, i6, n5.length - 1), true) : (c2 = false, e2 == u2 && (r2 = new h2(e2, r2, l2[0], NaN, v2, a2, o2, p2[0], NaN), n5.push(r2), 0 > (r2 = s5.Qa(e2, i6)) && s5.Sa(e2, i6, n5.length - 1), c2 = true), c2); }, i5.sM = function(i6, s5, n5, r2, e2, o2, a2, u2) { var f2 = new t4.zb(), c2 = new t4.zb(), l2 = [0, 0], p2 = [0, 0], v2 = s5.cc(e2); return v2 == null && (s5.fd(e2, f2), v2 = f2), (f2 = s5.cc(a2)) == null && (s5.fd(a2, c2), f2 = c2), (v2 = v2.Fa(f2, null, l2, p2, 0)) == 2 ? (r2 = new h2(e2, r2, l2[0], l2[1], v2, a2, o2, p2[0], p2[1]), n5.push(r2), 0 > (r2 = s5.Qa(e2, i6)) && s5.Sa(e2, i6, n5.length - 1), true) : (c2 = false, e2 == u2 && (r2 = new h2(e2, r2, l2[0], NaN, v2, a2, o2, p2[0], NaN), n5.push(r2), 0 > (r2 = s5.Qa(e2, i6)) && s5.Sa(e2, i6, n5.length - 1), c2 = true), c2); }, i5.XL = function(n5, h3, r2, e2) { var o2 = []; o2[0] = new t4.h(), o2[1] = new t4.h(), o2[2] = new t4.h(), o2[3] = new t4.h(); var a2 = new t4.h(), u2 = new t4.h(), f2 = new t4.h(), c2 = new t4.h(), l2 = null; e2 != null && (l2 = new t4.hg()).Qr(); var p2 = 0, v2 = null, y2 = new t4.zb(); new t4.zb(); for (var b2 = r2.Ob(r2.ld); b2 != -1; b2 = r2.Sb(b2)) { for (var d2 = 4, g2 = -1, w2 = -1, x2 = -1, m2 = -1, j2 = NaN, k2 = true, M2 = false, z2 = true, A2 = true, N2 = true, I2 = 0, P2 = b2, C2 = 0, B2 = r2.Ya(b2), D2 = r2.Ka(b2), q2 = 0; q2 < D2; B2 = r2.V(B2), q2++) { var G2 = r2.cc(B2); if (G2 == null) { if (!r2.fd(B2, y2)) continue; G2 = y2; } w2 == -1 && (w2 = B2); for (var F2 = 0; p2 < h3.length && B2 == h3[p2].tg; ) { g2 = h3[p2].Ps; var E2 = h3[p2].tg, T2 = h3[p2].IA, S2 = h3[p2].Nm, O2 = h3[p2].Cl, H2 = h3[p2].PH; if (h3[p2].Gi == 2) { if (M2 || (P2 = g2, w2 = E2, C2 = T2, x2 = S2, m2 = O2, j2 = H2, d2 = 2, e2 != null ? v2 = new t4.Ua() : I2 = 0, N2 = false, A2 = true), T2 = h3[p2].OH, H2 = h3[p2].GT, e2 != null ? (G2.dh(F2, h3[p2].OH, l2), v2.oc(l2.get(), A2)) : I2++, F2 = T2, M2 = true, A2 = k2 = false, p2 + 1 == h3.length || h3[p2 + 1].Gi != 2 || h3[p2 + 1].tg == E2 && h3[p2 + 1].IA != F2) { if (e2 != null) { var J2 = new s4(v2, 2, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2); e2.push(J2); } else null.add(I2); P2 = g2, w2 = E2, C2 = T2, x2 = S2, m2 = O2, j2 = H2, d2 = 2, M2 = k2 = false, A2 = N2 = true; } } else { var R2 = r2.V(E2); if (p2 < h3.length - 1 && h3[p2 + 1].tg == R2 && h3[p2 + 1].Cl == O2 && h3[p2 + 1].Gi == 2) T2 != F2 && (N2 && (e2 != null ? v2 = new t4.Ua() : I2 = 0), k2 = 0 < p2 && h3[p2 - 1].Ps == g2 ? d2 == 1 ? 0 : d2 == 0 ? 1 : 3 : 3, e2 != null ? (G2.dh(F2, T2, l2), v2.oc(l2.get(), A2), J2 = new s4(v2, k2, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : (I2++, null.add(I2)), F2 = T2, P2 = g2, w2 = E2, C2 = T2, x2 = S2, m2 = O2, j2 = H2, d2 = k2, k2 = z2 = false, A2 = N2 = true); else if (!i5.wM(n5, r2, h3, p2, a2, u2)) { i5.tM(r2, h3, p2, b2, B2, f2, c2); var L2 = false; if (R2 = false, J2 = true, !(a2.rb(f2) || u2.rb(f2) || a2.rb(c2) || u2.rb(c2))) { o2[0].N(a2), o2[1].N(u2), o2[2].N(f2), o2[3].N(c2), o2.sort(t4.h.pu); var K2 = o2[0], U2 = o2[1], W2 = o2[2], V2 = o2[3]; K2.rb(a2) ? U2.rb(u2) ? n5 ? (R2 = L2 = true, J2 = false) : L2 = false : V2.rb(u2) ? n5 ? J2 = R2 = L2 = true : L2 = false : (L2 = true, J2 = U2.rb(f2)) : U2.rb(a2) ? W2.rb(u2) ? n5 ? (R2 = L2 = true, J2 = false) : L2 = false : K2.rb(u2) ? n5 ? J2 = R2 = L2 = true : L2 = false : (L2 = true, J2 = W2.rb(f2)) : W2.rb(a2) ? V2.rb(u2) ? n5 ? (R2 = L2 = true, J2 = false) : L2 = false : U2.rb(u2) ? n5 ? J2 = R2 = L2 = true : L2 = false : (L2 = true, J2 = V2.rb(f2)) : K2.rb(u2) ? n5 ? (R2 = L2 = true, J2 = false) : L2 = false : W2.rb(u2) ? n5 ? J2 = R2 = L2 = true : L2 = false : (L2 = true, J2 = K2.rb(f2)); } L2 && (L2 = B2 == E2, (T2 != F2 || L2 && F2 == 0) && (N2 && (e2 != null ? v2 = new t4.Ua() : I2 = 0), e2 != null ? (G2.dh(F2, T2, l2), v2.oc(l2.get(), A2)) : I2++), J2 ? d2 != 1 ? ((T2 != F2 || L2 && F2 == 0) && (e2 != null ? (J2 = new s4(v2, 1, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : null.add(I2)), R2 ? (p2 >= h3.length - 2 || h3[p2 + 2].Ps != g2) && (d2 = 0) : d2 = 1) : ((T2 != F2 || L2 && F2 == 0) && (e2 != null ? (J2 = new s4(v2, 3, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : null.add(I2)), d2 = 1) : d2 != 0 ? ((T2 != F2 || L2 && F2 == 0) && (e2 != null ? (J2 = new s4(v2, 0, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : null.add(I2)), R2 ? (p2 >= h3.length - 2 || h3[p2 + 2].Ps != g2) && (d2 = 1) : d2 = 0) : ((T2 != F2 || L2 && F2 == 0) && (e2 != null ? (J2 = new s4(v2, 3, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : null.add(I2)), d2 = 0), (T2 != F2 || L2 && F2 == 0) && (F2 = T2, P2 = g2, w2 = E2, C2 = T2, x2 = S2, m2 = O2, j2 = H2, k2 = z2 = false, A2 = N2 = true)); } } p2++; } F2 != 1 && (N2 && (e2 != null ? v2 = new t4.Ua() : I2 = 0), e2 != null ? (G2.dh(F2, 1, l2), v2.oc(l2.get(), A2)) : I2++, A2 = N2 = false, z2 = true); } z2 && (T2 = 1, E2 = r2.tj(b2), E2 = r2.Na(E2), O2 = S2 = -1, H2 = NaN, k2 ? e2 != null ? (J2 = new s4(v2, 4, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : null.add(I2) : (k2 = d2 == 1 ? 0 : d2 == 0 ? 1 : 3, e2 != null ? (J2 = new s4(v2, k2, g2, E2, T2, d2, P2, w2, C2, S2, O2, H2, x2, m2, j2), e2.push(J2)) : null.add(I2))); } }, i5.wM = function(s5, n5, h3, r2, e2, o2) { var a2 = h3[r2].PH; if (a2 == 1) return i5.uM(s5, n5, h3, r2, e2, o2); if (a2 == 0) return i5.vM(s5, n5, h3, r2, e2, o2); throw t4.i.Ra(); }, i5.uM = function(i6, s5, n5, h3, r2, e2) { var o2 = new t4.zb(), a2 = n5[h3].tg, u2 = n5[h3].Nm, f2 = n5[h3].Cl, c2 = -1, l2 = -1, p2 = -1, v2 = -1; if (!i6 && 0 < h3) { var y2 = n5[h3 - 1]; c2 = y2.tg, l2 = y2.Nm, p2 = y2.Cl, v2 = y2.Gi; } var b2 = -1, d2 = -1, g2 = -1, w2 = -1; h3 < n5.length - 1 && (b2 = (y2 = n5[h3 + 1]).tg, d2 = y2.Nm, g2 = y2.Cl, w2 = y2.Gi); var x2 = s5.V(a2); return y2 = s5.V(f2), i6 ? h3 == n5.length - 1 || b2 != a2 || d2 != u2 || g2 != y2 || w2 == 2 ? ((i6 = s5.cc(f2)) == null && (s5.fd(f2, o2), i6 = o2), e2.N(i6.jg()), r2.nt(e2), e2.normalize(), r2.normalize(), false) : ((i6 = s5.cc(f2)) == null && (s5.fd(f2, o2), i6 = o2), r2.N(i6.jg()), (i6 = s5.cc(y2)) == null && (s5.fd(y2, o2), i6 = o2), e2.N(i6.jg()), r2.Uq(), e2.normalize(), r2.normalize(), false) : 0 < h3 && c2 == a2 && l2 == u2 && p2 == y2 && v2 == 2 || h3 < n5.length - 1 && b2 == x2 && d2 == u2 && g2 == y2 && w2 == 2 ? ((i6 = s5.cc(f2)) == null && (s5.fd(f2, o2), i6 = o2), e2.N(i6.jg()), r2.nt(e2), e2.normalize(), r2.normalize(), false) : !(h3 < n5.length - 1 && b2 == a2 && d2 == u2 && g2 == y2) || ((i6 = s5.cc(f2)) == null && (s5.fd(f2, o2), i6 = o2), r2.N(i6.jg()), (i6 = s5.cc(y2)) == null && (s5.fd(y2, o2), i6 = o2), e2.N(i6.jg()), r2.Uq(), e2.normalize(), r2.normalize(), false); }, i5.vM = function(i6, s5, n5, h3, r2, e2) { var o2 = new t4.zb(), a2 = n5[h3].tg, u2 = n5[h3].Nm, f2 = n5[h3].Cl, c2 = -1, l2 = -1, p2 = -1, v2 = -1; if (!i6 && h3 < n5.length - 1) { var y2 = n5[h3 + 1]; c2 = y2.tg, l2 = y2.Nm, p2 = y2.Cl, v2 = y2.Gi; } var b2 = -1, d2 = -1, g2 = -1; y2 = -1, 0 < h3 && (b2 = (y2 = n5[h3 - 1]).tg, d2 = y2.Nm, g2 = y2.Cl, y2 = y2.Gi); var w2 = s5.V(a2), x2 = s5.Na(f2); return i6 ? h3 != 0 && b2 == a2 && d2 == u2 && g2 == x2 && y2 != 2 || ((i6 = s5.cc(f2)) == null && (s5.fd(f2, o2), i6 = o2), e2.N(i6.jg()), r2.nt(e2), e2.normalize(), r2.normalize(), false) : !(0 < h3 && b2 == a2 && d2 == u2 && g2 == x2 && y2 == 2 || h3 < n5.length - 1 && c2 == w2 && l2 == u2 && p2 == x2 && v2 == 2) || ((i6 = s5.cc(f2)) == null && (s5.fd(f2, o2), i6 = o2), e2.N(i6.jg()), r2.nt(e2), e2.normalize(), r2.normalize(), false); }, i5.tM = function(i6, s5, n5, h3, r2, e2, o2) { var a2 = new t4.zb(), u2 = i6.cc(r2); if (u2 == null && (i6.fd(r2, a2), u2 = a2), s5 = (n5 = s5[n5]).tg, n5 = n5.IA, r2 = i6.V(s5), n5 == 1) e2.N(u2.jg()), r2 != -1 && r2 != i6.tj(h3) ? ((u2 = i6.cc(r2)) == null && (i6.fd(r2, a2), u2 = a2), o2.N(u2.jg()), (u2 = i6.cc(s5)) == null && i6.fd(s5, a2)) : o2.N(e2), e2.Uq(), o2.normalize(), e2.normalize(); else { if (n5 != 0) throw t4.i.Ra(); o2.N(u2.jg()), e2.nt(o2), o2.normalize(), e2.normalize(); } }, i5; }(); }(V || (V = {})), function(t4) { var i4; (i4 = t4.WL || (t4.WL = {}))[i4.Linear = 0] = "Linear", i4[i4.Angular = 1] = "Angular", i4[i4.Area = 2] = "Area"; var s4 = function() { function i5(t5, i6, s5) { this.od = i6, this.ci = s5, this.pA = t5; } return i5.prototype.Nb = function(t5) { return t5 instanceof i5 && this.ci === t5.ci; }, i5.VF = function(t5) { return t5.od !== 0 ? null : t5.pA === -1 ? new i5(-1, 2, t5.ci * t5.ci) : i5.ah(o2[t5.pA]); }, i5.ah = function(t5) { return (t5 = e2[t5]) === void 0 ? null : t5; }, i5.TO = function(t5, s5, n5) { var h3 = null; if (n5 != null) try { n5.values[0] === "EPSG" && (h3 = i5.ah(parseInt(n5.values[1]))); } catch (r3) { } return h3 === null && (h3 = new i5(-1, t5, s5)), h3; }, i5.prototype.Fc = function() { return this.pA; }, i5.prototype.wF = function(i6) { if (i6.od != this.od) throw t4.i.Hb(); return this.ci / i6.ci; }, i5.Ph = function(t5, i6, s5) { return i6.wF(s5) * t5; }, i5.RE = function(t5, i6, s5, n5, h3) { for (s5 = s5.wF(n5), n5 = 0; n5 < i6; n5++) h3[n5] = t5[n5] * s5; }, i5; }(); t4.Uc = s4; for (var n4 = [109401, 1e4, 109402, 4046.8564224, 109403, 4046.87260987425, 109404, 1, 109405, 0.09290304, 109406, 0.09290341161327487, 109407, 0.09290137299531805, 109408, 3.34450944, 109409, 3429904, 109410, 1.000027193184865, 109411, 404.6872609874253, 109412, 0.04046872609874253, 109413, 2.5899984703195216e6, 109414, 1e6, 109415, 0.8361123569578626, 109416, 404.67838076760535, 109417, 0.04046783807676053, 109418, 0.8361244606523066, 109419, 0.09290271785025629, 109420, 404.68423895571647, 109421, 0.04046842389557164, 109422, 0.83612589696064, 109423, 0.0929028774400711, 109424, 404.6849341289498, 109425, 0.04046849341289498, 109426, 0.836125904805842, 109427, 0.09290287831176021, 109428, 404.68493792602754, 109429, 0.04046849379260275, 109430, 0.09290354800069446, 109431, 0.09290274144751023, 109432, 0.09290207073852812, 109433, 0.09290279616016, 109434, 0.09290273520025, 109435, 0.836124673027592, 109436, 0.836118636646753, 109437, 0.8361251654414399, 109438, 0.83612461680225, 109439, 2589988110336e-6, 109440, 0.09290286332673177, 109441, 0.09290349665192114, 109442, 0.83612736, 109443, 0.8361307045194736, 109444, 404.68564224000005, 109445, 0.04046856422400001, 109446, 0.8361237024040001, 109447, 0.0929026336004445, 109448, 404.683871963536, 109449, 0.0404683871963536, 109450, 0.01, 109451, 1e-4, 109452, 1e-6, 109453, 64516e-8, 109454, 6451625806477421e-19, 109455, 25.292852640000003, 109456, 25.29295381171408, 109457, 3.4345281495040003e6, 109458, 3434290937856e-6, 109459, 2.89612324, 109460, 25e8, 109461, 225e8, 109462, 0.7168473118308245, 109463, 100, 109464, 1244521604938272e-22, 109465, 1e-12, 109466, 1e-18], h2 = [1031, 484813681109536e-23, 9101, 1, 9102, 0.0174532925199433, 9103, 2908882086657216e-19, 9104, 484813681109536e-20, 9105, 0.01570796326794897, 9106, 0.01570796326794897, 9109, 1e-6, 9112, 1570796326794897e-19, 9113, 1570796326794897e-21, 9114, 9817477042468104e-19], r2 = [1025, 1e-3, 109452, 1033, 0.01, 109451, 9001, 1, 109404, 9002, 0.3048, 109405, 9003, 0.3048006096012192, 109406, 9005, 0.3047972654, 109407, 9014, 1.8288, 109408, 9030, 1852, 109409, 9031, 1.0000135965, 109410, 9033, 20.11684023368047, 109411, 9034, 0.2011684023368047, 109412, 9035, 1609.3472186944375, 109413, 9036, 1e3, 109414, 9037, 0.9143917962000001, 109415, 9038, 20.1166195164, 109416, 9039, 0.201166195164, 109417, 9040, 0.9143984146160287, 109418, 9041, 0.304799471538676, 109419, 9042, 20.116765121552632, 109420, 9043, 0.2011676512155263, 109421, 9050, 0.9143992, 109422, 9051, 0.3047997333333333, 109423, 9052, 20.1167824, 109424, 9053, 0.201167824, 109425, 9060, 0.9143992042898124, 109426, 9061, 0.3047997347632708, 109427, 9062, 20.116782494375872, 109428, 9063, 0.2011678249437587, 109429, 9070, 0.3048008333333334, 109430, 9080, 0.3047995102481469, 109431, 9081, 0.30479841, 109432, 9082, 0.3047996, 109433, 9083, 0.3047995, 109434, 9084, 0.9143985307444408, 109435, 9085, 0.91439523, 109436, 9086, 0.9143988, 109437, 9087, 0.9143985, 109438, 9093, 1609.344, 109439, 9094, 0.3047997101815088, 109440, 9095, 0.3048007491, 109441, 9096, 0.9144, 109442, 9097, 20.1168, 109444, 9098, 0.201168, 109445, 9099, 0.914398, 109446, 9300, 0.3047993333333334, 109447, 9301, 20.116756, 109448, 9302, 0.20116756, 109449, 109001, 0.9144, 109442, 109002, 0.9144018288036576, 109443, 109003, 20.1168, 109444, 109004, 0.201168, 109445, 109005, 0.1, 109450, 109006, 0.01, 109451, 109007, 1e-3, 109452, 109008, 0.0254, 109453, 109009, 0.0254000508001016, 109454, 109010, 5.0292, 109455, 109011, 5.029210058420118, 109456, 109012, 1853.248, 109457, 109013, 1853.184, 109458, 109014, 1.7018, 109459, 109015, 0.8466683600033867, 109462, 109016, 3527777777777778e-19, 109464, 109017, 1e-6, 109465, 109018, 1e-9, 109466, 109030, 5e4, 109460, 109031, 15e4, 109461], e2 = [], o2 = [], a2 = 0; a2 < n4.length; a2 += 2) e2[n4[a2]] = new s4(n4[a2], 2, n4[a2 + 1]); for (n4 = null, a2 = 0; a2 < h2.length; a2 += 2) e2[h2[a2]] = new s4(h2[a2], 1, h2[a2 + 1]); for (h2 = null, a2 = 0; a2 < r2.length; a2 += 3) e2[r2[a2]] = new s4(r2[a2], 0, r2[a2 + 1]), o2[r2[a2]] = r2[a2 + 2]; r2 = null; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { this.yb = this.pb = 0; } return t5.prototype.set = function(t6, i5) { i5 !== void 0 ? (this.pb = t6, this.yb = i5) : typeof t6 == "number" ? (this.pb = t6, this.yb = 0) : (this.pb = t6.pb, this.yb = t6.yb); }, t5.prototype.value = function() { return this.pb; }, t5.prototype.add = function(t6) { var i5 = this.pb + t6.pb; t6 = this.yb + t6.yb + 2220446049250313e-31 * Math.abs(i5), this.pb = i5, this.yb = t6; }, t5.prototype.eN = function() { var t6 = this.pb + 1, i5 = this.yb + 2220446049250313e-31 * Math.abs(t6); this.pb = t6, this.yb = i5; }, t5.prototype.YM = function(t6, i5) { this.pb = t6.pb + i5.pb, this.yb = t6.yb + i5.yb + 2220446049250313e-31 * Math.abs(this.pb); }, t5.prototype.sub = function(t6) { if (typeof t6 == "number") { var i5 = this.pb - t6; t6 = this.yb + 2220446049250313e-31 * Math.abs(i5); } else i5 = this.pb - t6.pb, t6 = this.yb + t6.yb + 2220446049250313e-31 * Math.abs(i5); this.pb = i5, this.yb = t6; }, t5.prototype.Ag = function(t6) { var i5 = this.pb * t6.pb; this.yb = this.yb * Math.abs(t6.pb) + t6.yb * Math.abs(this.pb) + this.yb * t6.yb + 2220446049250313e-31 * Math.abs(i5), this.pb = i5; }, t5.prototype.Oo = function(t6) { var i5 = this.pb * t6; this.yb = this.yb * Math.abs(t6) + 2220446049250313e-31 * Math.abs(i5), this.pb = i5; }, t5.prototype.Ml = function(t6, i5) { var s4 = Math.abs(t6.pb) * Math.abs(i5.pb); this.yb = t6.yb * Math.abs(i5.pb) + i5.yb * Math.abs(t6.pb) + t6.yb * i5.yb + 2220446049250313e-31 * Math.abs(s4), this.pb = s4; }, t5.prototype.lm = function(t6) { var i5 = Math.abs(t6.pb), s4 = this.pb / t6.pb, n4 = (this.yb + Math.abs(s4) * t6.yb) / i5; t6.yb > 0.01 * i5 && (n4 *= 1 + (1 + (t6 = t6.yb / i5)) * t6), this.pb = s4, this.yb = n4 + 2220446049250313e-31 * Math.abs(s4); }, t5.prototype.sqrt = function() { if (0 <= this.pb) { var t6 = Math.sqrt(this.pb), i5 = this.pb > 10 * this.yb ? 0.5 * this.yb / t6 : this.pb > this.yb ? t6 - Math.sqrt(this.pb - this.yb) : Math.max(t6, Math.sqrt(this.pb + this.yb) - t6); i5 += 2220446049250313e-31 * Math.abs(t6); } else this.pb < -1 * this.yb ? i5 = t6 = NaN : (t6 = 0, i5 = Math.sqrt(this.yb)); this.pb = t6, this.yb = i5; }, t5.prototype.sin = function(t6) { var i5 = Math.sin(t6.pb), s4 = Math.cos(t6.pb); this.pb = i5, i5 = Math.abs(i5), this.yb = (Math.abs(s4) + 0.5 * i5 * t6.yb) * t6.yb + 2220446049250313e-31 * i5; }, t5.prototype.cos = function(t6) { var i5 = Math.sin(t6.pb), s4 = Math.cos(t6.pb); this.pb = s4, s4 = Math.abs(s4), this.yb = (Math.abs(i5) + 0.5 * s4 * t6.yb) * t6.yb + 2220446049250313e-31 * s4; }, t5.prototype.qg = function() { return Math.abs(this.pb) <= this.yb; }, t5.prototype.rs = function() { return this.qg() && this.yb != 0; }, t5; }(); t4.Xb = i4; }(V || (V = {})); var $ = new V.h(), Z = new V.h(), _ = new V.h(), tt = new V.h(), it = new V.h(); !function(t4) { var i4, s4; (s4 = i4 || (i4 = {}))[s4.closedPath = 1] = "closedPath", s4[s4.exteriorPath = 2] = "exteriorPath", s4[s4.ringAreaValid = 4] = "ringAreaValid"; var n4 = function() { function i5(t5, i6, s5, n5, h2, r2, e2) { i6 !== void 0 ? (this.ib = t5, this.dk = i6, this.dl = s5, this.ki = n5, this.za = r2, this.cA = e2, this.gw = h2) : (this.ib = t5.ib, this.dk = t5.dk, this.dl = t5.dl, this.ki = t5.ki, this.za = t5.za, this.cA = t5.cA, this.gw = t5.gw), this.WG = true; } return i5.prototype.next = function() { return this.WG ? (this.WG = false, this.ki) : this.ki != -1 ? (this.ki = this.ib.V(this.ki), this.za++, this.ki != -1 && this.ki != this.gw ? this.ki : this.ST()) : -1; }, i5.prototype.ST = function() { for (this.dl = this.ib.Sb(this.dl), this.za = 0; this.dk != -1; ) { for (; this.dl != -1; this.dl = this.ib.Sb(this.dl)) if (this.gw = this.ki = this.ib.Ya(this.dl), this.ki != -1) return this.ki; if (this.dk = this.ib.ve(this.dk), this.dk == -1) break; this.cA && !t4.ba.Ic(this.ib.jc(this.dk)) || (this.dl = this.ib.Ob(this.dk)); } return -1; }, i5.uP = function(t5, s5, n5, h2, r2, e2, o2) { return new i5(t5, s5, n5, h2, r2, e2, o2); }, i5; }(); t4.rY = n4, i4 = function() { function i5() { this.ko = this.Cm = this.xk = this.dd = this.Dk = this.wo = this.Qi = this.md = this.di = this.Ug = this.Te = this.Kl = null, this.sw = this.ld = -1, this.gd = 0, this.aA = false, this.it = this.jt = this.wb = null; } return i5.prototype.Uh = function(t5) { return this.Te != null ? this.Te[t5] : null; }, i5.prototype.Zg = function(t5, i6) { if (this.Te == null) { if (i6 == null) return; this.Te = []; for (var s5 = 0, n5 = this.wb.I(); s5 < n5; s5++) this.Te.push(null); } this.Te[t5] = i6; }, i5.prototype.cp = function(t5, i6) { this.md.T(t5, 1, i6); }, i5.prototype.bp = function(t5, i6) { this.md.T(t5, 2, i6); }, i5.prototype.PB = function(t5, i6) { this.md.T(t5, 6, i6); }, i5.prototype.Up = function(t5) { return this.md.U(t5, 6); }, i5.prototype.gx = function(t5, i6) { this.md.T(t5, 7, i6); }, i5.prototype.sv = function(t5) { return this.md.U(t5, 0); }, i5.prototype.IJ = function(t5, i6) { this.dd.T(t5, 1, i6); }, i5.prototype.MJ = function(t5, i6) { this.dd.T(t5, 0, i6); }, i5.prototype.DF = function(t5) { return this.dd.U(t5, 7); }, i5.prototype.$o = function(t5, i6) { this.dd.T(t5, 3, i6); }, i5.prototype.ap = function(t5, i6) { this.dd.T(t5, 4, i6); }, i5.prototype.mU = function(i6) { this.dd == null && (this.dd = new t4.ad(8)); var s5 = this.dd.De(); return this.dd.T(s5, 2, i6), this.dd.T(s5, 5, 0), this.dd.T(s5, 6, 0), this.dd.T(s5, 7, s5), s5; }, i5.prototype.IQ = function(t5) { this.dd.kd(t5); }, i5.prototype.oU = function(i6) { this.md == null && (this.md = new t4.ad(8), this.ud = new t4.ad(5), this.Qi = new t4.ce(0), this.wo = new t4.ce(0)); var s5 = this.md.De(); return this.md.T(s5, 0, s5), this.md.T(s5, 3, 0), this.md.T(s5, 6, 0), this.gx(s5, i6), s5 >= this.Qi.size && (i6 = 16 > s5 ? 16 : t4.P.truncate(3 * s5 / 2), this.Qi.resize(i6), this.wo.resize(i6)), this.Qi.set(s5, 0), this.wo.set(s5, 0), s5; }, i5.prototype.mF = function(t5) { this.md.kd(t5); }, i5.prototype.Qy = function(t5) { this.ud.kd(t5), this.gd--; }, i5.prototype.iI = function(i6) { this.md == null && (this.md = new t4.ad(8), this.ud = new t4.ad(5), this.Qi = new t4.ce(0), this.wo = new t4.ce(0)); var s5 = this.ud.De(), n5 = 0 <= i6 ? i6 : s5; if (this.ud.T(s5, 0, n5), 0 > i6) { if (n5 >= this.wb.I()) { if (i6 = 16 > n5 ? 16 : t4.P.truncate(3 * n5 / 2), this.wb.resize(i6), this.Te != null) for (var h2 = 0; h2 < i6; h2++) this.Te.push(null); this.Ug != null && this.Ug.resize(i6), this.jt = this.wb.vb(0); } this.wb.Db(n5, -1e38, -1e38), this.Te != null && (this.Te[n5] = null), this.Ug != null && this.Ug.write(n5, 1); } return this.ud.T(s5, 4, 2 * n5), this.gd++, s5; }, i5.prototype.yj = function(t5, i6, s5) { var n5 = i6 != -1 ? this.Na(i6) : this.tj(t5), h2 = n5 != -1 ? this.V(n5) : -1, r2 = this.iI(s5 == null ? this.gd : -1), e2 = this.Va(r2); return s5 != null && this.wb.It(e2, s5), this.cj(r2, t5), this.Cc(r2, h2), this.Dc(r2, n5), h2 != -1 && this.Dc(h2, r2), n5 != -1 && this.Cc(n5, r2), s5 = this.ec(t5), n5 = this.Ya(t5), i6 == -1 && this.Yg(t5, r2), i6 == n5 && this.Kf(t5, r2), s5 && h2 == -1 && (this.Cc(r2, r2), this.Dc(r2, r2)), this.Xj(t5, this.Ka(t5) + 1), t5 = this.Rf(t5), this.Vj(t5, this.I(t5) + 1), r2; }, i5.prototype.pm = function() { return this.ko == null && (this.ko = new t4.Ta(this.wb.description)), this.ko; }, i5.prototype.Zo = function(t5, i6) { this.dd.T(t5, 2, -134217729 & this.dd.U(t5, 2) || (i6 == 1 ? 134217728 : 0)); }, i5.prototype.Jn = function(t5) { return (134217728 & this.dd.U(t5, 2)) != 0 ? 1 : 0; }, i5.prototype.bN = function(t5) { var i6 = this.Kg(t5.K(), t5.description); return t5.K() == 1736 && this.Zo(i6, t5.Jn()), this.OD(i6, t5), i6; }, i5.prototype.cN = function(t5) { var i6 = this.Kg(t5.K(), t5.description); return this.PD(i6, t5), i6; }, i5.prototype.PV = function(i6, s5) { this.md == null && (this.md = new t4.ad(8), this.ud = new t4.ad(5), this.Qi = new t4.ce(0), this.wo = new t4.ce(0)), this.md.Ee(this.md.Jg + i6), this.ud.Ee(this.ud.Jg + s5), this.Qi.Jb(this.Qi.size + i6), this.wo.Jb(this.wo.size + i6); }, i5.prototype.OD = function(i6, s5) { this.PV(s5.ea(), s5.I()), this.Kl.Gd(s5, 0, s5.I()), this.jt = this.wb.vb(0); for (var n5 = this.Te != null && s5.Se != null, h2 = 0, r2 = s5.ea(); h2 < r2; h2++) if (!(2 > s5.Ka(h2))) { var e2 = this.wf(i6, -1); this.mn(e2, s5.ec(h2)); for (var o2 = s5.Ca(h2), a2 = s5.Wc(h2); o2 < a2; o2++) { var u2 = this.yj(e2, -1, null); if (n5) if (u2 = this.Va(u2), (1 & s5.TF(o2)) != 0) this.Zg(u2, null); else { var f2 = new t4.hg(); s5.cc(o2, f2, true), this.Zg(u2, f2.get()); } } } }, i5.prototype.PD = function(t5, i6) { this.Kl.Gd(i6, 0, i6.I()), this.jt = this.wb.vb(0), t5 = this.wf(t5, -1); var s5 = 0; for (i6 = i6.I(); s5 < i6; s5++) this.yj(t5, -1, null); }, i5.prototype.FX = function(i6, s5, n5) { var h2 = this.V(i6); if (h2 == -1) throw t4.i.Ra(); for (var r2 = this.pm(), e2 = this.cd(i6), o2 = 0, a2 = s5.ql(n5); o2 < a2; o2++) { var u2 = this.Va(i6), f2 = this.V(i6), c2 = s5.Xp(n5, o2); o2 == 0 && (c2.Uo(r2), this.Fh(i6, r2)), c2.K() == 322 ? this.Zg(u2, null) : this.Zg(u2, t4.ba.ig(c2)), c2.Qo(r2), o2 < a2 - 1 ? i6 = this.yj(e2, f2, r2) : this.Fh(h2, r2); } }, i5.prototype.EX = function(i6, s5, n5) { var h2 = this.V(i6); if (h2 == -1) throw t4.i.Ra(); for (var r2 = this.pm(), e2 = this.cd(i6), o2 = 0, a2 = s5.ql(n5); o2 < a2; o2++) { var u2 = this.Va(i6), f2 = this.V(i6), c2 = s5.Xp(n5, a2 - o2 - 1); o2 == 0 && (c2.Qo(r2), this.Fh(i6, r2)), c2.K() == 322 ? this.Zg(u2, null) : this.Zg(u2, t4.ba.ig(c2)), c2.Uo(r2), o2 < a2 - 1 ? i6 = this.yj(e2, f2, r2) : this.Fh(h2, r2); } }, i5.prototype.CF = function() { var i6 = new t4.l(); i6.Pa(); for (var s5 = this.$q(), n5 = new t4.h(), h2 = true, r2 = s5.next(); r2 != -1; r2 = s5.next()) this.D(r2, n5), h2 ? i6.$b(n5.x, n5.y) : i6.Mk(n5.x, n5.y), h2 = false; return i6; }, i5.prototype.Ib = function(i6) { var s5 = i6.K(); if (t4.ba.Ic(s5)) return this.bN(i6); if (s5 == 550) return this.cN(i6); throw t4.i.Ra(); }, i5.prototype.oN = function(i6, s5) { var n5 = s5.K(); if (t4.ba.Ic(n5)) this.OD(i6, s5); else { if (n5 != 550) throw t4.i.Ra(); this.PD(i6, s5); } }, i5.prototype.gN = function(i6, s5) { var n5 = this.Kg(1736, i6.description); if (2 > i6.Ka(s5)) return n5; this.Kl.Gd(i6, i6.Ca(s5), i6.Wc(s5)), this.jt = this.wb.vb(0); var h2 = this.wf(n5, -1); this.mn(h2, i6.ec(s5) || true); var r2 = this.Te != null && i6.Se != null, e2 = i6.Ca(s5); for (s5 = i6.Wc(s5); e2 < s5; e2++) { var o2 = this.yj(h2, -1, null); if (r2) if (o2 = this.Va(o2), (1 & i6.TF(e2)) != 0) this.Zg(o2, null); else { var a2 = new t4.hg(); i6.cc(e2, a2, true), this.Zg(o2, a2.get()); } } return n5; }, i5.prototype.Ke = function(i6) { var s5 = this.jc(i6), n5 = t4.TK.Kg(s5, this.Kl.description), h2 = this.I(i6); if (h2 == 0) return n5; if (t4.ba.Ic(s5)) { s5 = this.ea(i6); for (var r2 = t4.Zc.Qh(s5 + 1), e2 = t4.Zc.Or(s5 + 1, 0), o2 = n5.description, a2 = 0, u2 = o2.Ba; a2 < u2; a2++) { for (var f2 = o2.qd(a2), c2 = t4.ua.Wa(f2), l2 = t4.Zc.SE(f2, h2), p2 = this.wb.vb(f2), v2 = 0, y2 = 0, b2 = 0, d2 = this.Ob(i6); d2 != -1; d2 = this.Sb(d2)) { var g2 = 0; this.ec(d2) && (g2 |= 1), this.QS(d2) && (g2 |= 4), g2 != 0 && e2.tJ(y2, g2); var w2 = this.Ka(d2); if (r2.write(y2++, b2), b2 += w2, f2 == 0) { w2 = p2; var x2 = l2, m2 = new t4.h(); for (g2 = this.Ya(d2); v2 < b2; g2 = this.V(g2), v2++) { var j2 = this.Va(g2); w2.uc(2 * j2, m2), x2.Vt(2 * v2, m2); } } else for (g2 = this.Ya(d2); v2 < b2; g2 = this.V(g2), v2++) for (j2 = this.Va(g2), x2 = 0; x2 < c2; x2++) m2 = p2.Bg(j2 * c2 + x2), l2.rr(v2 * c2 + x2, m2); } n5.kn(f2, l2), r2.write(s5, h2); } n5.JJ(e2), n5.KJ(r2), n5.Qc(16777215); } else if (s5 == 550) { for (o2 = n5.description, n5.resize(h2), a2 = 0, u2 = o2.Ba; a2 < u2; a2++) { for (f2 = o2.qd(a2), c2 = t4.ua.Wa(f2), l2 = n5.vb(f2), p2 = this.wb.vb(f2), v2 = 0, d2 = this.Ob(i6), w2 = this.Ka(d2), g2 = this.Ya(d2); v2 < w2; g2 = this.V(g2), v2++) for (j2 = this.Va(g2), x2 = 0; x2 < c2; x2++) m2 = p2.Bg(j2 * c2 + x2), l2.rr(v2 * c2 + x2, m2); n5.kn(f2, l2); } n5.Qc(16777215); } return n5; }, i5.prototype.vB = function(t5) { for (var i6 = this.Ob(t5); i6 != -1; i6 = this.ar(i6)) ; i6 = this.IR(t5); var s5 = this.ve(t5); i6 != -1 ? this.IJ(i6, s5) : this.ld = s5, s5 != -1 ? this.MJ(s5, i6) : this.sw = i6, this.IQ(t5); }, i5.prototype.Kg = function(i6, s5) { return s5 === void 0 ? this.UE(i6, t4.ee.og()) : this.UE(i6, s5); }, i5.prototype.UE = function(i6, s5) { return i6 = this.mU(i6), this.wb == null ? this.wb = this.Kl = new t4.de(s5) : this.Kl.Ll(s5), this.it = this.Kl.description, this.aA = 1 < this.it.Ba, this.ld == -1 ? this.ld = i6 : (this.MJ(i6, this.sw), this.IJ(this.sw, i6)), this.sw = i6; }, i5.prototype.ve = function(t5) { return this.dd.U(t5, 1); }, i5.prototype.IR = function(t5) { return this.dd.U(t5, 0); }, i5.prototype.jc = function(t5) { return 2147483647 & this.dd.U(t5, 2); }, i5.prototype.BJ = function(i6, s5, n5) { s5 = this.xk[s5], (i6 = this.DF(i6)) >= s5.size && s5.resize(Math.max(t4.P.truncate(1.25 * i6), 16), -1), s5.write(i6, n5); }, i5.prototype.EF = function(t5, i6) { return (t5 = this.DF(t5)) < (i6 = this.xk[i6]).size ? i6.read(t5) : -1; }, i5.prototype.VE = function() { this.xk == null && (this.xk = []); for (var i6 = 0; i6 < this.xk.length; i6++) if (this.xk[i6] == null) return this.xk[i6] = t4.Zc.Qh(0), i6; return this.xk.push(t4.Zc.Qh(0)), this.xk.length - 1; }, i5.prototype.pW = function(t5) { this.xk[t5] = null; }, i5.prototype.Ob = function(t5) { return this.dd.U(t5, 3); }, i5.prototype.mv = function(t5) { return this.dd.U(t5, 4); }, i5.prototype.I = function(t5) { return this.dd.U(t5, 5); }, i5.prototype.ea = function(t5) { return this.dd.U(t5, 6); }, i5.prototype.Ip = function(i6, s5, n5) { for (var h2 = 0, r2 = this.ld; r2 != -1; r2 = this.ve(r2)) { var e2 = this.jc(r2); if (t4.ba.Ic(e2) && (!n5 || e2 == 1736)) { e2 = this.jc(r2) == 1736; for (var o2 = this.Ob(r2); o2 != -1; ) { for (var a2 = 0, u2 = this.Ya(o2); a2 < t4.P.truncate(this.Ka(o2) / 2); ) { var f2 = this.V(u2); if (f2 == -1) break; var c2 = this.Va(u2), l2 = this.Uh(c2); l2 != null ? c2 = l2.Rb() : (l2 = this.Va(f2), c2 = this.wb.Ar(c2, l2)), c2 <= i6 ? (c2 == 0 ? h2 == 0 && (h2 = -1) : h2 = 1, f2 != this.tj(o2) && (this.fC(f2, u2), this.pd(f2, true))) : u2 = this.V(u2), a2++; } for (a2 = this.Ya(o2), u2 = this.ec(o2) ? a2 : this.tj(o2); 0 < this.Ka(o2); ) { if ((f2 = this.Na(u2)) == -1) { this.pd(u2, true), h2 == 0 && (h2 = -1); break; } var p2 = this.Va(f2); if ((l2 = this.Uh(p2)) != null ? c2 = l2.Rb() : (c2 = this.Va(u2), c2 = this.wb.Ar(c2, p2)), c2 <= i6) c2 == 0 ? h2 == 0 && (h2 = -1) : h2 = 1, this.fC(f2, u2), this.pd(f2, false), a2 == f2 && (a2 = this.Ya(o2)); else if ((u2 = this.Na(u2)) == a2) break; } u2 = this.Ka(o2), s5 && (e2 ? 3 > u2 : 2 > u2) ? (o2 = this.ar(o2), h2 = 0 < u2 ? 1 : h2 == 0 ? -1 : h2) : o2 = this.Sb(o2); } } } return h2; }, i5.prototype.fC = function(t5, i6) { var s5 = this.Va(t5), n5 = this.Va(i6); if (this.Ug != null && (s5 = this.Ug.read(s5), this.Ug.write(n5, s5)), this.di != null) { for (n5 = 0, s5 = this.di.length; n5 < s5; n5++) if (this.di[n5] != null) { var h2 = this.Qa(t5, n5); h2 != -1 && this.Sa(i6, n5, h2); } } }, i5.prototype.Wl = function(i6, s5, n5) { var h2 = 0, r2 = this.V(i6); if (r2 == -1) throw t4.i.Ra(); for (var e2 = this.Va(i6), o2 = this.Va(r2), a2 = this.Uh(e2), u2 = a2 == null ? this.wb.Ar(e2, o2) : a2.Rb(), f2 = 0; f2 < n5; f2++) { var c2 = s5[f2]; if (0 < c2 && 1 > c2) { var l2 = c2; a2 != null && (l2 = 0 < u2 ? a2.Tx(c2) / u2 : 0), this.wb.eD(e2, o2, l2, this.pm()); var p2 = this.yj(this.cd(i6), r2, this.pm()); if (h2++, a2 != null) { var v2 = a2.fl(0, c2); l2 = this.Va(this.Na(p2)), this.Zg(l2, v2), this.mf(p2, v2.xc()), f2 != n5 - 1 && s5[f2 + 1] != 1 || (c2 = a2.fl(c2, 1), this.Zg(l2, c2)); } } } return h2; }, i5.prototype.DX = function(i6, s5, n5) { var h2 = 0, r2 = this.V(i6); if (r2 == -1) throw t4.i.ga("internal error"); var e2 = this.Va(i6), o2 = this.Va(r2), a2 = this.Uh(e2), u2 = a2 == null ? this.wb.Ar(e2, o2) : a2.Rb(), f2 = 0; i6 = this.cd(i6); for (var c2 = 0; c2 < n5; c2++) { var l2 = s5[c2]; if (f2 < l2 && 1 > l2) { var p2 = l2; if (a2 != null && (p2 = 0 < u2 ? a2.Tx(l2) / u2 : 0), this.wb.eD(e2, o2, p2, this.pm()), p2 = this.rS(i6, r2, this.pm()), h2++, a2 != null) { f2 = a2.fl(f2, l2); var v2 = this.Va(this.Na(p2)); this.Zg(v2, f2), this.Db(p2, f2.qa, f2.ma), c2 != n5 - 1 && s5[c2 + 1] != 1 || (f2 = a2.fl(l2, 1), p2 = this.Va(p2), this.Zg(p2, f2)); } } f2 = l2; } return h2; }, i5.prototype.rS = function(t5, i6, s5) { var n5 = i6 != -1 ? this.Na(i6) : this.tj(t5), h2 = n5 != -1 ? this.V(n5) : -1, r2 = this.iI(s5 == null ? this.gd : -1), e2 = this.Va(r2); return s5 != null && this.wb.It(e2, s5), this.cj(r2, t5), this.Cc(r2, h2), this.Dc(r2, n5), h2 != -1 && this.Dc(h2, r2), n5 != -1 && this.Cc(n5, r2), s5 = this.ec(t5), n5 = this.Ya(t5), i6 == -1 && this.Yg(t5, r2), i6 == n5 && (s5 && n5 != -1 || this.Kf(t5, r2)), s5 && h2 == -1 && (this.Cc(r2, r2), this.Dc(r2, r2)), this.Xj(t5, this.Ka(t5) + 1), t5 = this.Rf(t5), this.Vj(t5, this.I(t5) + 1), r2; }, i5.prototype.oE = function(i6, s5, n5) { var h2 = this.Va(s5), r2 = this.Va(n5); if (0 > h2 || r2 > this.gd - 1) throw t4.i.O("invalid call"); if (h2 > r2 && !this.ec(i6)) throw t4.i.O("cannot iterate across an open path"); for (i6 = 0; s5 != n5; s5 = this.V(s5)) h2 = this.Va(s5), (r2 = this.Uh(h2)) != null ? i6 += r2.Rb() : (r2 = this.Va(this.V(s5)), i6 += this.wb.Ar(h2, r2)); return i6; }, i5.prototype.Fh = function(t5, i6) { var s5 = this.Va(t5); this.wb.It(s5, i6), (s5 = this.Uh(s5)) != null && s5.setStart(i6), (t5 = this.Na(t5)) != -1 && (t5 = this.Va(t5), this.Uh(t5) != null && s5.setEnd(i6)); }, i5.prototype.Xi = function(t5, i6) { t5 = this.Va(t5), this.wb.we(t5, i6); }, i5.prototype.mf = function(t5, i6) { this.Db(t5, i6.x, i6.y); }, i5.prototype.Db = function(t5, i6, s5) { var n5 = this.Va(t5); this.wb.Db(n5, i6, s5), (n5 = this.Uh(n5)) != null && n5.TB(i6, s5), (t5 = this.Na(t5)) != -1 && (t5 = this.Va(t5), this.Uh(t5) != null && n5.Sl(i6, s5)); }, i5.prototype.D = function(t5, i6) { this.wb.D(this.ud.U(t5, 0), i6); }, i5.prototype.Hc = function(t5, i6) { this.wb.Aa[0].uc(2 * this.ud.U(t5, 0), i6); }, i5.prototype.Oa = function(i6) { var s5 = new t4.h(); return this.wb.D(this.ud.U(i6, 0), s5), s5; }, i5.prototype.YF = function(t5, i6) { this.jt.uc(2 * t5, i6); }, i5.prototype.Vc = function(t5, i6, s5) { return this.wb.Vc(t5, this.Va(i6), s5); }, i5.prototype.setAttribute = function(t5, i6, s5, n5) { this.wb.setAttribute(t5, this.Va(i6), s5, n5); }, i5.prototype.Va = function(t5) { return this.ud.U(t5, 0); }, i5.prototype.kh = function() { var i6 = new t4.h(); return this.D(void 0, i6), i6.y; }, i5.prototype.hq = function(t5, i6) { t5 = this.Va(t5), i6 = this.Va(i6); var s5 = this.wb.Aa[0].o; return s5[2 * t5] === s5[2 * i6] && s5[2 * t5 + 1] === s5[2 * i6 + 1]; }, i5.prototype.Fv = function(t5, i6) { t5 = this.Va(t5); var s5 = this.wb.Aa[0].o; return s5[2 * t5] === i6.x && s5[2 * t5 + 1] === i6.y; }, i5.prototype.nX = function(i6, s5) { if (1 > s5 && (s5 = 1), this.Ug == null) { if (s5 == 1) return; this.Ug = t4.Zc.En(this.wb.I(), 1); } (i6 = this.Va(i6)) >= this.Ug.size && this.Ug.resize(i6 + 1, 1), this.Ug.write(i6, s5); }, i5.prototype.XF = function(t5) { return t5 = this.Va(t5), this.Ug == null || t5 >= this.Ug.size ? 1 : this.Ug.read(t5); }, i5.prototype.Sa = function(t5, i6, s5) { i6 = this.di[i6], t5 = this.Va(t5), i6.size < this.wb.I() && i6.resize(this.wb.I(), -1), i6.write(t5, s5); }, i5.prototype.Qa = function(t5, i6) { return (t5 = this.Va(t5)) < (i6 = this.di[i6]).size ? i6.read(t5) : -1; }, i5.prototype.Hd = function() { this.di == null && (this.di = []); for (var i6 = 0; i6 < this.di.length; i6++) if (this.di[i6] == null) return this.di[i6] = t4.Zc.Qh(0, -1), i6; return this.di.push(t4.Zc.Qh(0, -1)), this.di.length - 1; }, i5.prototype.Ud = function(t5) { this.di[t5] = null; }, i5.prototype.cc = function(t5) { return this.Te != null ? (t5 = this.Va(t5), this.Te[t5]) : null; }, i5.prototype.fd = function(i6, s5) { var n5 = this.ud.U(i6, 2); if (n5 == -1) return false; if (this.aA) { var h2 = new t4.Ta(); this.Xi(i6, h2), s5.setStart(h2), this.Xi(n5, h2), s5.setEnd(h2); } else this.wb.Hc(this.ud.U(i6, 0), $), s5.gm(0, $), this.wb.Hc(this.ud.U(n5, 0), $), s5.gm(1, $); return true; }, i5.prototype.eW = function(i6, s5, n5) { if (this.aA) { var h2 = new t4.Ta(); this.Xi(i6, h2), n5.setStart(h2), this.Xi(s5, h2), n5.setEnd(h2); } else this.wb.Hc(i6, $), n5.gm(0, $), this.wb.Hc(s5, $), n5.gm(1, $); }, i5.prototype.wf = function(i6, s5) { if (s5 != -1) { if (i6 != this.Rf(s5)) throw t4.i.Ra(); var n5 = this.es(s5); } else n5 = this.mv(i6); var h2 = this.oU(i6); return s5 != -1 && this.cp(s5, h2), this.bp(h2, s5), this.cp(h2, n5), n5 != -1 ? this.bp(n5, h2) : this.$o(i6, h2), s5 == -1 && this.ap(i6, h2), this.Tl(i6, this.ea(i6) + 1), h2; }, i5.prototype.hG = function(t5, i6, s5, n5) { t5 = this.wf(t5, -1); for (var h2 = 0, r2 = i6, e2 = false; r2 == s5 && (e2 = true), this.cj(r2, t5), h2++, (r2 = this.V(r2)) != i6; ) ; return this.mn(t5, true), this.Xj(t5, h2), e2 && (i6 = s5), this.Kf(t5, i6), this.Yg(t5, this.Na(i6)), this.ep(t5, false), n5 != null && (n5[0] = e2), t5; }, i5.prototype.ar = function(t5) { var i6 = this.es(t5), s5 = this.Sb(t5), n5 = this.Rf(t5); return i6 != -1 ? this.bp(i6, s5) : this.$o(n5, s5), s5 != -1 ? this.cp(s5, i6) : this.ap(n5, i6), this.uO(t5), this.Tl(n5, this.ea(n5) - 1), this.mF(t5), s5; }, i5.prototype.uO = function(t5) { var i6 = this.Ya(t5); if (i6 != -1) { for (var s5 = 0, n5 = this.Ka(t5); s5 < n5; s5++) { var h2 = i6; i6 = this.V(i6), this.Qy(h2); } i6 = this.Rf(t5), this.Vj(i6, this.I(i6) - this.Ka(t5)); } this.Xj(t5, 0); }, i5.prototype.Sb = function(t5) { return this.md.U(t5, 2); }, i5.prototype.es = function(t5) { return this.md.U(t5, 1); }, i5.prototype.Ka = function(t5) { return this.md.U(t5, 3); }, i5.prototype.ec = function(t5) { return (1 & this.Up(t5)) != 0; }, i5.prototype.mn = function(t5, i6) { if (this.ec(t5) != i6) { if (0 < this.Ka(t5)) { var s5 = this.Ya(t5), n5 = this.tj(t5); i6 ? (this.Cc(n5, s5), this.Dc(s5, n5), s5 = this.Va(n5)) : (this.Cc(n5, -1), this.Dc(s5, -1), s5 = this.Va(n5)), this.Zg(s5, null); } this.PB(t5, (1 | this.Up(t5)) - 1 | (i6 ? 1 : 0)); } }, i5.prototype.Rf = function(t5) { return this.md.U(t5, 7); }, i5.prototype.QS = function(t5) { return (2 & this.Up(t5)) != 0; }, i5.prototype.JB = function(t5, i6) { this.PB(t5, (2 | this.Up(t5)) - 2 | (i6 ? 2 : 0)); }, i5.prototype.qz = function(i6) { if (this.VS(i6)) return this.Qi.get(this.sv(i6)); var s5 = new t4.zb(), n5 = this.Ya(i6); if (n5 == -1) return 0; var h2 = new t4.h(); this.D(n5, h2); for (var r2 = 0, e2 = 0, o2 = this.Ka(i6); e2 < o2; e2++, n5 = this.V(n5)) { var a2 = this.cc(n5); if (a2 == null) { if (!this.fd(n5, s5)) continue; a2 = s5; } r2 += a2.Sx(h2.x, h2.y); } return this.ep(i6, true), this.Qi.set(this.sv(i6), r2), r2; }, i5.prototype.ir = function(t5, i6, s5) { i6 = this.Dk[i6], t5 = this.sv(t5), i6.size < this.Qi.size && i6.resize(this.Qi.size, -1), i6.write(t5, s5); }, i5.prototype.uj = function(t5, i6) { return (t5 = this.sv(t5)) < (i6 = this.Dk[i6]).size ? i6.read(t5) : -1; }, i5.prototype.Fy = function() { this.Dk == null && (this.Dk = []); for (var i6 = 0; i6 < this.Dk.length; i6++) if (this.Dk[i6] == null) return this.Dk[i6] = t4.Zc.Qh(0), i6; return this.Dk.push(t4.Zc.Qh(0)), this.Dk.length - 1; }, i5.prototype.wB = function(t5) { this.Dk[t5] = null; }, i5.prototype.RT = function(i6, s5, n5) { if (n5 == -1) throw t4.i.O(); if (s5 != n5) { var h2 = this.Sb(n5), r2 = this.es(n5), e2 = this.Rf(n5); r2 == -1 ? this.$o(e2, h2) : this.bp(r2, h2), h2 == -1 ? this.ap(e2, r2) : this.cp(h2, r2), this.Vj(e2, this.I(e2) - this.Ka(n5)), this.Tl(e2, this.ea(e2) - 1), r2 = s5 == -1 ? this.mv(i6) : this.es(s5), this.cp(n5, r2), this.bp(n5, s5), s5 == -1 ? this.ap(i6, n5) : this.cp(s5, n5), r2 == -1 ? this.$o(i6, n5) : this.bp(r2, n5), this.Vj(i6, this.I(i6) + this.Ka(n5)), this.Tl(i6, this.ea(i6) + 1), this.gx(n5, i6); } }, i5.prototype.kj = function(t5, i6) { this.wb.we(this.Va(i6), this.pm()), this.yj(t5, -1, this.pm()); }, i5.prototype.pd = function(i6, s5) { var n5 = this.cd(i6), h2 = this.Na(i6), r2 = this.V(i6); h2 != -1 && this.Cc(h2, r2); var e2 = this.Ka(n5); if (i6 == this.Ya(n5) && this.Kf(n5, 1 < e2 ? r2 : -1), r2 != -1 && this.Dc(r2, h2), i6 == this.tj(n5) && this.Yg(n5, 1 < e2 ? h2 : -1), h2 != -1 && r2 != -1) { h2 = this.Va(h2); var o2 = this.Va(r2); s5 ? (s5 = this.Uh(h2)) != null && (h2 = new t4.h(), this.wb.D(o2, h2), s5.Rc(h2)) : (o2 = this.Va(i6), s5 = this.Uh(o2), this.Zg(h2, s5), s5 != null && (h2 = this.wb.Oa(h2), s5.Ec(h2))); } return this.Xj(n5, e2 - 1), n5 = this.Rf(n5), this.Vj(n5, this.I(n5) - 1), this.Qy(i6), r2; }, i5.prototype.Ya = function(t5) { return this.md.U(t5, 4); }, i5.prototype.tj = function(t5) { return this.md.U(t5, 5); }, i5.prototype.V = function(t5) { return this.ud.U(t5, 2); }, i5.prototype.Na = function(t5) { return this.ud.U(t5, 1); }, i5.prototype.cd = function(t5) { return this.ud.U(t5, 3); }, i5.prototype.hc = function(t5, i6) { return this.yj(t5, -1, i6); }, i5.prototype.$q = function(i6) { if (i6 === void 0) return this.$q(false); if (i6 instanceof n4) return new n4(i6); var s5, h2 = -1, r2 = -1, e2 = -1, o2 = 0, a2 = false; for (s5 = this.ld; s5 != -1; s5 = this.ve(s5)) if (!i6 || t4.ba.Ic(this.jc(s5))) { for (h2 = this.Ob(s5); h2 != -1; h2 = this.Sb(h2)) if (e2 = r2 = this.Ya(h2), o2 = 0, r2 != -1) { a2 = true; break; } if (a2) break; } return n4.uP(this, s5, h2, r2, e2, o2, i6); }, i5.prototype.Pc = function(t5) { if (this.Kl.Pc(t5), this.Te != null) for (var i6 = 0, s5 = this.Te.length; i6 < s5; i6++) this.Te[i6] != null && this.Te[i6].Pc(t5); }, i5.prototype.lr = function(t5, i6, s5, n5) { n5 ? this.FX(t5, i6, s5) : this.EX(t5, i6, s5); }, i5.prototype.Dc = function(t5, i6) { this.ud.T(t5, 1, i6); }, i5.prototype.Cc = function(t5, i6) { this.ud.T(t5, 2, i6); }, i5.prototype.cj = function(t5, i6) { this.ud.T(t5, 3, i6); }, i5.prototype.Xj = function(t5, i6) { this.md.T(t5, 3, i6); }, i5.prototype.Kf = function(t5, i6) { this.md.T(t5, 4, i6); }, i5.prototype.Yg = function(t5, i6) { this.md.T(t5, 5, i6); }, i5.prototype.Tl = function(t5, i6) { this.dd.T(t5, 6, i6); }, i5.prototype.Vj = function(t5, i6) { this.dd.T(t5, 5, i6); }, i5.prototype.jJ = function(t5) { var i6 = t5; do { var s5 = this.V(i6); this.Cc(i6, this.Na(i6)), this.Dc(i6, s5), i6 = s5; } while (i6 != t5); }, i5.prototype.WB = function(t5) { this.gd = t5; }, i5.prototype.br = function(t5) { var i6 = this.es(t5), s5 = this.Sb(t5), n5 = this.Rf(t5); i6 != -1 ? this.bp(i6, s5) : this.$o(n5, s5), s5 != -1 ? this.cp(s5, i6) : this.ap(n5, i6), this.Kf(t5, -1), this.Yg(t5, -1), this.mF(t5); }, i5.prototype.oi = function(i6, s5) { var n5 = this.Na(i6), h2 = this.V(i6); if (n5 != -1 && this.Cc(n5, h2), h2 != -1 && this.Dc(h2, n5), n5 != -1 && h2 != -1) if (n5 = this.Va(n5), h2 = this.Va(h2), s5) { if ((s5 = this.Uh(n5)) != null) { var r2 = new t4.h(); this.wb.D(h2, r2), s5.Rc(r2); } } else s5 = this.Va(i6), s5 = this.Uh(s5), this.Zg(n5, s5), s5 != null && (r2 = new t4.h(), this.wb.D(n5, r2), s5.Ec(r2)); this.Qy(i6); }, i5.prototype.VS = function(t5) { return (4 & this.Up(t5)) != 0; }, i5.prototype.ep = function(t5, i6) { this.PB(t5, (4 | this.Up(t5)) - 4 | (i6 ? 4 : 0)); }, i5.prototype.nx = function(t5, i6) { var s5 = this.ud.o; this.wb.rc(); var n5 = this.wb.Aa[0].o; t5.Wd(0, i6, function(t6, i7) { var h2 = s5[5 * t6]; t6 = s5[5 * i7], i7 = n5[2 * h2], h2 = n5[2 * h2 + 1]; var r2 = n5[2 * t6]; return h2 < (t6 = n5[2 * t6 + 1]) ? -1 : h2 > t6 ? 1 : i7 < r2 ? -1 : i7 > r2 ? 1 : 0; }); }, i5.prototype.cS = function() { for (var i6 = this.ld; i6 != -1; i6 = this.ve(i6)) if (!t4.ba.Ic(this.jc(i6))) return true; return false; }, i5.prototype.bC = function(t5, i6) { for (var s5 = this.Ob(t5), n5 = this.Ob(i6), h2 = this.mv(t5), r2 = this.mv(i6), e2 = this.Ob(t5); e2 != -1; e2 = this.Sb(e2)) this.gx(e2, i6); for (e2 = this.Ob(i6); e2 != -1; e2 = this.Sb(e2)) this.gx(e2, t5); this.$o(t5, n5), this.$o(i6, s5), this.ap(t5, r2), this.ap(i6, h2), s5 = this.I(t5), n5 = this.ea(t5), h2 = this.ea(i6), this.Vj(t5, this.I(i6)), this.Vj(i6, s5), this.Tl(t5, h2), this.Tl(i6, n5), s5 = this.dd.U(t5, 2), this.dd.T(t5, 2, this.dd.U(i6, 2)), this.dd.T(i6, 2, s5); }, i5; }(), t4.hd = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4(s5, n4, h2, r2) { var e2 = i5.call(this) || this; return e2.aa = new t4.l(), s5 === void 0 ? e2.OE() : typeof s5 == "number" ? e2.PO(s5, n4, h2, r2) : s5 instanceof t4.Ta ? n4 !== void 0 ? e2.Su(s5, n4, h2) : e2.QO(s5) : s5 instanceof t4.ua ? n4 !== void 0 ? e2.SO(s5, n4) : e2.RO(s5) : s5 instanceof t4.l ? e2.OO(s5) : e2.OE(), e2; } return Q(s4, i5), s4.prototype.Su = function(i6, s5, n4) { this.description = t4.ee.og(), this.aa.Pa(), i6.B() || this.vu(i6, s5, n4); }, s4.prototype.OO = function(i6) { this.description = t4.ee.og(), this.aa.L(i6), this.aa.normalize(); }, s4.prototype.RO = function(i6) { if (i6 == null) throw t4.i.O(); this.description = i6, this.aa.Pa(); }, s4.prototype.SO = function(i6, s5) { if (i6 == null) throw t4.i.O(); this.description = i6, this.aa.L(s5), this.aa.normalize(); }, s4.prototype.OE = function() { this.description = t4.ee.og(), this.aa.Pa(); }, s4.prototype.QO = function(i6) { this.description = t4.ee.og(), this.aa.Pa(), i6.B() || this.vu(i6); }, s4.prototype.PO = function(i6, s5, n4, h2) { this.description = t4.ee.og(), this.L(i6, s5, n4, h2); }, s4.prototype.L = function(t5, i6, s5, n4) { if (this.wc(), typeof t5 == "number") this.aa.L(t5, i6, s5, n4); else for (this.Pa(), i6 = 0, s5 = t5.length; i6 < s5; i6++) this.$b(t5[i6]); }, s4.prototype.Yo = function(i6) { if (this.wc(), !i6.YS()) throw t4.i.O(); this.aa.L(i6); }, s4.prototype.Pa = function() { this.wc(), this.aa.Pa(); }, s4.prototype.B = function() { return this.aa.B(); }, s4.prototype.S = function() { return this.aa.S(); }, s4.prototype.da = function() { return this.aa.da(); }, s4.prototype.hk = function() { return this.aa.hk(); }, s4.prototype.Lp = function() { return this.aa.Lp(); }, s4.prototype.Kp = function() { return this.aa.tf(); }, s4.prototype.$b = function(i6) { if (i6 instanceof t4.h) this.wc(), this.aa.$b(i6); else if (i6 instanceof t4.l) this.wc(), this.aa.$b(i6); else if (i6 instanceof t4.Ta) { if (this.wc(), !i6.Bc()) { var n4 = i6.description; if (this.description != n4 && this.Ll(n4), this.B()) this.vu(i6); else { this.aa.$b(i6.D()); for (var h2 = 1, r2 = n4.Ba; h2 < r2; h2++) for (var e2 = n4.Fd(h2), o2 = t4.ua.Wa(e2), a2 = 0; a2 < o2; a2++) { var u2 = i6.Vc(e2, a2), f2 = this.Vg(e2, a2); f2.$b(u2), this.setInterval(e2, a2, f2); } } } } else if (i6 instanceof s4 && !i6.B()) for ((n4 = i6.description) != this.description && this.Ll(n4), this.aa.$b(i6.aa), h2 = 1, r2 = n4.Ba; h2 < r2; h2++) for (e2 = n4.qd(h2), o2 = t4.ua.Wa(e2), a2 = 0; a2 < o2; a2++) u2 = i6.Vg(e2, a2), (f2 = this.Vg(e2, a2)).$b(u2), this.setInterval(e2, a2, f2); }, s4.prototype.vu = function(i6, s5, n4) { if (s5 !== void 0) { this.aa.L(i6.D(), s5, n4), n4 = 1; for (var h2 = (s5 = i6.description).Ba; n4 < h2; n4++) for (var r2 = s5.Fd(n4), e2 = t4.ua.Wa(r2), o2 = 0; o2 < e2; o2++) { var a2 = i6.Vc(r2, o2); this.setInterval(r2, o2, a2, a2); } } else for (this.aa.L(i6.la[0], i6.la[1]), n4 = 1, h2 = (s5 = i6.description).Ba; n4 < h2; n4++) for (r2 = s5.Fd(n4), e2 = t4.ua.Wa(r2), o2 = 0; o2 < e2; o2++) a2 = i6.Vc(r2, o2), this.setInterval(r2, o2, a2, a2); }, s4.prototype.setInterval = function(i6, s5, n4, h2) { if (n4 = typeof n4 == "number" ? new t4.Oc(n4, h2) : n4, this.wc(), i6 == 0) if (s5 == 0) this.aa.v = n4.pa, this.aa.C = n4.wa; else { if (s5 != 1) throw t4.i.re(); this.aa.G = n4.pa, this.aa.H = n4.wa; } else this.pD(0, i6, s5, n4.pa), this.pD(1, i6, s5, n4.wa); }, s4.prototype.X = function(t5, i6) { this.wc(), this.aa.X(t5, i6); }, s4.prototype.Pc = function(i6) { if (i6 instanceof t4.Ed) this.wc(), i6.gC(this.aa); else if (this.wc(), !this.aa.B()) { var s5 = new t4.IK(); this.Ro(s5), s5.PS() ? s5.Pa() : i6.gC(s5); } }, s4.prototype.copyTo = function(i6) { if (i6.K() != this.K()) throw t4.i.O(); if (i6.wc(), i6.description = this.description, i6.aa.L(this.aa), i6.la = null, this.la != null) { i6.qu(); for (var s5 = 0; s5 < 2 * (this.description.Be.length - 2); s5++) i6.la[s5] = this.la[s5]; } }, s4.prototype.Ja = function() { return new s4(this.description); }, s4.prototype.He = function() { return this.aa.qF(); }, s4.prototype.Rb = function() { return this.aa.sR(); }, s4.prototype.K = function() { return 197; }, s4.prototype.Eb = function() { return 2; }, s4.prototype.dn = function(t5) { this.copyTo(t5); }, s4.prototype.A = function(t5) { t5.v = this.aa.v, t5.G = this.aa.G, t5.C = this.aa.C, t5.H = this.aa.H; }, s4.prototype.Ro = function(t5) { t5.v = this.aa.v, t5.G = this.aa.G, t5.C = this.aa.C, t5.H = this.aa.H, t5.L(this.aa.v, this.aa.G, this.Pd(0, 1, 0), this.aa.C, this.aa.H, this.Pd(1, 1, 0)); }, s4.prototype.Vg = function(i6, s5) { var n4 = new t4.Oc(); return n4.L(this.Pd(0, i6, s5), this.Pd(1, i6, s5)), n4; }, s4.prototype.If = function(i6, s5) { s5.kg(this.description); var n4 = this.description.Ba - 1; switch (i6) { case 0: for (i6 = 0; i6 < n4; i6++) for (var h2 = this.description.qd(i6), r2 = t4.ua.Wa(h2), e2 = 0; e2 < r2; e2++) s5.setAttribute(h2, e2, this.Pd(0, h2, e2)); s5.Db(this.aa.v, this.aa.G); break; case 1: for (i6 = 0; i6 < n4; i6++) for (h2 = this.description.qd(i6), r2 = t4.ua.Wa(h2), e2 = 0; e2 < r2; e2++) s5.setAttribute(h2, e2, this.Pd(1, h2, e2)); s5.Db(this.aa.v, this.aa.H); break; case 2: for (i6 = 0; i6 < n4; i6++) for (h2 = this.description.qd(i6), r2 = t4.ua.Wa(h2), e2 = 0; e2 < r2; e2++) s5.setAttribute(h2, e2, this.Pd(0, h2, e2)); s5.Db(this.aa.C, this.aa.H); break; case 3: for (i6 = 0; i6 < n4; i6++) for (h2 = this.description.qd(i6), r2 = t4.ua.Wa(h2), e2 = 0; e2 < r2; e2++) s5.setAttribute(h2, e2, this.Pd(1, h2, e2)); s5.Db(this.aa.C, this.aa.G); break; default: throw t4.i.re(); } }, s4.prototype.gB = function(t5, i6) { t5 = this.aa.gB(t5), i6.na(t5.x, t5.y); }, s4.prototype.eR = function(t5, i6) { return i6 * (t5.Qq - 2); }, s4.prototype.rF = function(i6, s5, n4) { if (this.aa.B()) throw t4.i.ga("empty geometry"); if (s5 == 0) return i6 != 0 ? n4 != 0 ? this.aa.H : this.aa.C : n4 != 0 ? this.aa.G : this.aa.v; if (n4 >= t4.ua.Wa(s5)) throw t4.i.O(); var h2 = this.description.Qf(s5); return this.qu(), 0 <= h2 ? this.la[this.eR(this.description, i6) + this.description.ER(h2) - 2 + n4] : t4.ua.te(s5); }, s4.prototype.qu = function() { if (this.wc(), this.la == null && 2 < this.description.Be.length) { this.la = []; for (var i6 = s4.Ig(this.description, 0), n4 = s4.Ig(this.description, 1), h2 = 0, r2 = 1, e2 = this.description.Ba; r2 < e2; r2++) { var o2 = this.description.qd(r2), a2 = t4.ua.Wa(o2); o2 = t4.ua.te(o2); for (var u2 = 0; u2 < a2; u2++) this.la[i6 + h2] = o2, this.la[n4 + h2] = o2, h2++; } } }, s4.prototype.un = function(i6) { if (this.la != null) if (2 < i6.Be.length) { for (var n4 = t4.ee.Kw(i6, this.description), h2 = [], r2 = s4.Ig(this.description, 0), e2 = s4.Ig(this.description, 1), o2 = s4.Ig(i6, 0), a2 = s4.Ig(i6, 1), u2 = 0, f2 = 1, c2 = i6.Ba; f2 < c2; f2++) { var l2 = i6.qd(f2), p2 = t4.ua.Wa(l2); if (n4[f2] == -1) { var v2 = t4.ua.te(l2); for (l2 = 0; l2 < p2; l2++) h2[o2 + u2] = v2, h2[a2 + u2] = v2, u2++; } else for (v2 = this.description.ak(n4[f2]) - 2, l2 = 0; l2 < p2; l2++) h2[o2 + u2] = this.la[r2 + v2], h2[a2 + u2] = this.la[e2 + v2], u2++, v2++; } this.la = h2; } else this.la = null; this.description = i6; }, s4.prototype.Pd = function(i6, n4, h2) { if (this.aa.B()) throw t4.i.ga("This operation was performed on an Empty Geometry."); if (n4 == 0) return i6 != 0 ? h2 != 0 ? this.aa.H : this.aa.C : h2 != 0 ? this.aa.G : this.aa.v; if (h2 >= t4.ua.Wa(n4)) throw t4.i.re(); var r2 = this.description.Qf(n4); return 0 <= r2 ? (this.qu(), this.la[s4.Ig(this.description, i6) + this.description.ak(r2) - 2 + h2]) : t4.ua.te(n4); }, s4.prototype.pD = function(i6, n4, h2, r2) { if (this.wc(), n4 == 0) i6 != 0 ? h2 != 0 ? this.aa.H = r2 : this.aa.C = r2 : h2 != 0 ? this.aa.G = r2 : this.aa.v = r2; else { if (h2 >= t4.ua.Wa(n4)) throw t4.i.re(); if (!this.hasAttribute(n4)) { if (t4.ua.xG(n4, r2)) return; this.se(n4); } n4 = this.description.Qf(n4), this.qu(), this.la[s4.Ig(this.description, i6) + this.description.ak(n4) - 2 + h2] = r2; } }, s4.Ig = function(t5, i6) { return i6 * (t5.Be.length - 2); }, s4.prototype.Fa = function(i6) { this.wc(); var s5 = new t4.l(); return i6.A(s5), this.aa.Fa(s5); }, s4.prototype.isIntersecting = function(i6) { return i6 instanceof t4.l ? this.aa.isIntersecting(i6) : this.aa.isIntersecting(i6.aa); }, s4.prototype.Lu = function(t5, i6) { this.wc(), t5.B() ? this.Pa() : i6 !== void 0 ? this.vu(t5, i6, void 0) : this.aa.Lu(t5.Ng(), t5.kh()); }, s4.prototype.offset = function(t5, i6) { this.wc(), this.aa.offset(t5, i6); }, s4.prototype.normalize = function() { this.wc(), this.aa.normalize(); }, s4.prototype.tf = function(i6) { if (i6 === void 0) { if (i6 = new t4.Ta(this.description), this.B()) return i6; for (s5 = this.description.Ba, n4 = 1; n4 < s5; n4++) for (h2 = this.description.Fd(n4), r2 = t4.ua.Wa(h2), e2 = 0; e2 < r2; e2++) o2 = 0.5 * (this.Pd(0, h2, e2) + this.Pd(1, h2, e2)), i6.setAttribute(h2, e2, o2); return i6.Db(this.aa.hk(), this.aa.Lp()), i6; } if (i6.kg(this.description), this.B()) i6.Pa(); else { for (var s5 = this.description.Ba, n4 = 1; n4 < s5; n4++) for (var h2 = this.description.qd(n4), r2 = t4.ua.Wa(h2), e2 = 0; e2 < r2; e2++) { var o2 = 0.5 * (this.rF(0, h2, e2) + this.rF(1, h2, e2)); i6.setAttribute(h2, e2, o2); } i6.Db(this.aa.tf()); } }, s4.prototype.hz = function() { return new t4.Ta(this.aa.hz()); }, s4.prototype.contains = function(i6) { return i6 instanceof t4.Ta ? !i6.B() && this.aa.contains(i6.Ng(), i6.kh()) : this.aa.contains(i6.aa); }, s4.prototype.YO = function(t5) { return this.aa.contains(t5); }, s4.prototype.Nb = function(t5) { if (t5 == this) return true; if (!(t5 instanceof s4) || this.description != t5.description) return false; if (this.B()) return !!t5.B(); if (!this.aa.Nb(t5.aa)) return false; for (var i6 = 0, n4 = 2 * (this.description.Be.length - 2); i6 < n4; i6++) if (this.la[i6] != t5.la[i6]) return false; return true; }, s4.prototype.dc = function() { var i6 = this.description.dc(); if (i6 = t4.P.Vh(i6, this.aa.dc()), !this.B() && this.la != null) for (var s5 = 0, n4 = 2 * (this.description.Be.length - 2); s5 < n4; s5++) i6 = t4.P.Vh(i6, this.la[s5]); return i6; }, s4.prototype.gs = function() { return this.aa.v; }, s4.prototype.js = function() { return this.aa.G; }, s4.prototype.fs = function() { return this.aa.C; }, s4.prototype.hs = function() { return this.aa.H; }, s4.prototype.mg = function() { return t4.si.im(this, null); }, s4.prototype.toString = function() { return this.B() ? "Envelope: []" : "Envelope: [" + this.aa.v + ", " + this.aa.G + ", " + this.aa.C + ", " + this.aa.H + "]"; }, s4; }(t4.ba); t4.Hh = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4, n4) { t5 === void 0 ? this.Pa() : (this.v = t5, this.G = i6, this.C = s4, this.H = n4); } return i5.construct = function(t5, s4, n4, h2) { var r2 = new i5(); return r2.v = t5, r2.G = s4, r2.C = n4, r2.H = h2, r2; }, i5.prototype.L = function(s4, n4, h2, r2) { typeof s4 == "number" ? h2 !== void 0 ? (this.v = s4, this.G = n4, this.C = h2, this.H = r2, this.normalize()) : (this.v = s4, this.G = n4, this.C = s4, this.H = n4) : s4 instanceof t4.h ? n4 !== void 0 ? (this.v = s4.x - 0.5 * n4, this.C = this.v + n4, this.G = s4.y - 0.5 * h2, this.H = this.G + h2, this.normalize()) : (this.v = s4.x, this.G = s4.y, this.C = s4.x, this.H = s4.y) : s4 instanceof i5 ? this.L(s4.v, s4.G, s4.C, s4.H) : s4 instanceof t4.Oc && (s4.B() || n4.B() ? this.Pa() : (this.v = s4.pa, this.C = s4.wa, this.G = n4.pa, this.H = n4.wa)); }, i5.prototype.bx = function(t5, i6) { if (i6 !== void 0) if (i6 == 0) this.Pa(); else { this.v = t5[0].x, this.G = t5[0].y, this.C = this.v, this.H = this.G; for (var s4 = 1; s4 < i6; s4++) { var n4 = t5[s4]; n4.x < this.v ? this.v = n4.x : n4.x > this.C && (this.C = n4.x), n4.y < this.G ? this.G = n4.y : n4.y > this.H && (this.H = n4.y); } } else if (t5 == null || t5.length == 0) this.Pa(); else for (n4 = t5[0], this.L(n4.x, n4.y), s4 = 1; s4 < t5.length; s4++) i6 = t5[s4], this.Mk(i6.x, i6.y); }, i5.prototype.Pa = function() { this.H = this.C = this.G = this.v = NaN; }, i5.prototype.B = function() { return isNaN(this.v); }, i5.prototype.$b = function(s4, n4) { typeof s4 == "number" ? this.B() ? (this.v = s4, this.G = n4, this.C = s4, this.H = n4) : (this.v > s4 ? this.v = s4 : this.C < s4 && (this.C = s4), this.G > n4 ? this.G = n4 : this.H < n4 && (this.H = n4)) : s4 instanceof t4.h || s4 instanceof t4.Od ? this.$b(s4.x, s4.y) : s4 instanceof i5 && !s4.B() && (this.$b(s4.v, s4.G), this.$b(s4.C, s4.H)); }, i5.prototype.Mk = function(t5, i6) { this.v > t5 ? this.v = t5 : this.C < t5 && (this.C = t5), this.G > i6 ? this.G = i6 : this.H < i6 && (this.H = i6); }, i5.prototype.X = function(t5, i6) { this.B() || (this.v -= t5, this.C += t5, this.G -= i6, this.H += i6, (this.v > this.C || this.G > this.H) && this.Pa()); }, i5.prototype.scale = function(t5) { 0 > t5 && this.Pa(), this.B() || (this.v *= t5, this.C *= t5, this.G *= t5, this.H *= t5); }, i5.prototype.zoom = function(t5, i6) { this.B() || this.L(this.tf(), t5 * this.S(), i6 * this.da()); }, i5.prototype.isIntersecting = function(t5) { return !this.B() && !t5.B() && (this.v <= t5.v ? this.C >= t5.v : t5.C >= this.v) && (this.G <= t5.G ? this.H >= t5.G : t5.H >= this.G); }, i5.prototype.BG = function(t5) { return (this.v <= t5.v ? this.C >= t5.v : t5.C >= this.v) && (this.G <= t5.G ? this.H >= t5.G : t5.H >= this.G); }, i5.prototype.Fa = function(t5) { return !this.B() && !t5.B() && (t5.v > this.v && (this.v = t5.v), t5.C < this.C && (this.C = t5.C), t5.G > this.G && (this.G = t5.G), t5.H < this.H && (this.H = t5.H), (t5 = this.v <= this.C && this.G <= this.H) || this.Pa(), t5); }, i5.prototype.gB = function(i6) { switch (i6) { case 0: return t4.h.construct(this.v, this.G); case 1: return t4.h.construct(this.v, this.H); case 2: return t4.h.construct(this.C, this.H); case 3: return t4.h.construct(this.C, this.G); default: throw t4.i.re(); } }, i5.prototype.hB = function(i6) { if (i6 == null || 4 > i6.length) throw t4.i.O(); i6[0] != null ? i6[0].na(this.v, this.G) : i6[0] = t4.h.construct(this.v, this.G), i6[1] != null ? i6[1].na(this.v, this.H) : i6[1] = t4.h.construct(this.v, this.H), i6[2] != null ? i6[2].na(this.C, this.H) : i6[2] = t4.h.construct(this.C, this.H), i6[3] != null ? i6[3].na(this.C, this.G) : i6[3] = t4.h.construct(this.C, this.G); }, i5.prototype.qF = function() { return this.B() ? 0 : this.S() * this.da(); }, i5.prototype.sR = function() { return this.B() ? 0 : 2 * (this.S() + this.da()); }, i5.prototype.hk = function() { return (this.C + this.v) / 2; }, i5.prototype.Lp = function() { return (this.H + this.G) / 2; }, i5.prototype.S = function() { return this.C - this.v; }, i5.prototype.da = function() { return this.H - this.G; }, i5.prototype.move = function(t5, i6) { this.B() || (this.v += t5, this.G += i6, this.C += t5, this.H += i6); }, i5.prototype.Lu = function(i6, s4) { if (s4 !== void 0) this.move(i6 - this.hk(), s4 - this.Lp()); else if (i6 instanceof t4.h) this.Lu(i6.x, i6.y); else { if (!(i6 instanceof t4.Ta)) throw t4.i.O(); s4 = (this.C - this.v) / 2; var n4 = (this.H - this.G) / 2; this.v = i6.Ng() - s4, this.C = i6.Ng() + s4, this.G = i6.kh() - n4, this.H = i6.kh() + n4; } }, i5.prototype.offset = function(t5, i6) { this.v += t5, this.C += t5, this.G += i6, this.H += i6; }, i5.prototype.normalize = function() { if (!this.B()) { var t5 = Math.min(this.v, this.C), i6 = Math.max(this.v, this.C); this.v = t5, this.C = i6, t5 = Math.min(this.G, this.H), i6 = Math.max(this.G, this.H), this.G = t5, this.H = i6; } }, i5.prototype.fn = function(t5) { t5.na(this.v, this.G); }, i5.prototype.UI = function(t5) { t5.na(this.C, this.G); }, i5.prototype.XI = function(t5) { t5.na(this.v, this.H); }, i5.prototype.gn = function(t5) { t5.na(this.C, this.H); }, i5.prototype.YS = function() { return this.B() || this.v <= this.C && this.G <= this.H; }, i5.prototype.tf = function() { return t4.h.construct((this.C + this.v) / 2, (this.H + this.G) / 2); }, i5.prototype.hz = function() { return t4.h.construct(this.v, this.G); }, i5.prototype.contains = function(s4, n4) { if (n4 !== void 0) return s4 >= this.v && s4 <= this.C && n4 >= this.G && n4 <= this.H; if (s4 instanceof t4.Ta) return this.contains(s4.Ng(), s4.kh()); if (s4 instanceof t4.h) return this.contains(s4.x, s4.y); if (s4 instanceof i5) return s4.v >= this.v && s4.C <= this.C && s4.G >= this.G && s4.H <= this.H; throw t4.i.O(); }, i5.prototype.jm = function(s4, n4) { if (n4 !== void 0) return s4 > this.v && s4 < this.C && n4 > this.G && n4 < this.H; if (s4 instanceof t4.h) return this.jm(s4.x, s4.y); if (s4 instanceof i5) return s4.v > this.v && s4.C < this.C && s4.G > this.G && s4.H < this.H; throw t4.i.O(); }, i5.prototype.Nb = function(t5) { return t5 == this || t5 instanceof i5 && (!(!this.B() || !t5.B()) || this.v == t5.v && this.G == t5.G && this.C == t5.C && this.H == t5.H); }, i5.prototype.dc = function() { var i6 = this.v; i6 = t4.P.truncate(i6 ^ i6 >>> 32); var s4 = t4.P.Vh(i6); return i6 = this.C, i6 = t4.P.truncate(i6 ^ i6 >>> 32), s4 = t4.P.Vh(i6, s4), i6 = this.G, i6 = t4.P.truncate(i6 ^ i6 >>> 32), s4 = t4.P.Vh(i6, s4), i6 = this.H, i6 = t4.P.truncate(i6 ^ i6 >>> 32), t4.P.Vh(i6, s4); }, i5.prototype.zr = function() { return this.B() ? 2220446049250313e-29 : 2220446049250313e-29 * (Math.abs(this.v) + Math.abs(this.C) + Math.abs(this.G) + Math.abs(this.H) + 1); }, i5.prototype.uy = function(t5, s4) { var n4 = this.$j(t5), h2 = this.$j(s4); if ((n4 & h2) != 0) return 0; if ((n4 | h2) == 0) return 4; var r2 = (n4 != 0 ? 1 : 0) | (h2 != 0 ? 2 : 0); do { var e2 = s4.x - t5.x, o2 = s4.y - t5.y; if (e2 > o2 ? (n4 & i5.SC) != 0 ? ((n4 & i5.lu) != 0 ? (t5.y += o2 * (this.v - t5.x) / e2, t5.x = this.v) : (t5.y += o2 * (this.C - t5.x) / e2, t5.x = this.C), n4 = this.$j(t5)) : (h2 & i5.SC) != 0 ? ((h2 & i5.lu) != 0 ? (s4.y += o2 * (this.v - s4.x) / e2, s4.x = this.v) : (s4.y += o2 * (this.C - s4.x) / e2, s4.x = this.C), h2 = this.$j(s4)) : n4 != 0 ? ((n4 & i5.mu) != 0 ? (t5.x += e2 * (this.G - t5.y) / o2, t5.y = this.G) : (t5.x += e2 * (this.H - t5.y) / o2, t5.y = this.H), n4 = this.$j(t5)) : ((h2 & i5.mu) != 0 ? (s4.x += e2 * (this.G - s4.y) / o2, s4.y = this.G) : (s4.x += e2 * (this.H - s4.y) / o2, s4.y = this.H), h2 = this.$j(s4)) : (n4 & i5.TC) != 0 ? ((n4 & i5.mu) != 0 ? (t5.x += e2 * (this.G - t5.y) / o2, t5.y = this.G) : (t5.x += e2 * (this.H - t5.y) / o2, t5.y = this.H), n4 = this.$j(t5)) : (h2 & i5.TC) != 0 ? ((h2 & i5.mu) != 0 ? (s4.x += e2 * (this.G - s4.y) / o2, s4.y = this.G) : (s4.x += e2 * (this.H - s4.y) / o2, s4.y = this.H), h2 = this.$j(s4)) : n4 != 0 ? ((n4 & i5.lu) != 0 ? (t5.y += o2 * (this.v - t5.x) / e2, t5.x = this.v) : (t5.y += o2 * (this.C - t5.x) / e2, t5.x = this.C), n4 = this.$j(t5)) : ((h2 & i5.lu) != 0 ? (s4.y += o2 * (this.v - s4.x) / e2, s4.x = this.v) : (s4.y += o2 * (this.C - s4.x) / e2, s4.x = this.C), h2 = this.$j(s4)), (n4 & h2) != 0) return 0; } while ((n4 | h2) != 0); return r2; }, i5.prototype.$j = function(t5) { return (t5.x < this.v ? 1 : 0) | (t5.x > this.C ? 1 : 0) << 1 | (t5.y < this.G ? 1 : 0) << 2 | (t5.y > this.H ? 1 : 0) << 3; }, i5.prototype.Di = function(t5) { return !this.B() && (this.S() <= t5 || this.da() <= t5); }, i5.prototype.ub = function(i6) { return i6 instanceof t4.h ? Math.sqrt(this.cK(i6)) : Math.sqrt(this.px(i6)); }, i5.prototype.px = function(t5) { var i6 = 0, s4 = 0, n4 = this.v - t5.C; return n4 > i6 && (i6 = n4), (n4 = this.G - t5.H) > s4 && (s4 = n4), (n4 = t5.v - this.C) > i6 && (i6 = n4), (n4 = t5.G - this.H) > s4 && (s4 = n4), i6 * i6 + s4 * s4; }, i5.prototype.cK = function(t5) { var i6 = 0, s4 = 0, n4 = this.v - t5.x; return n4 > i6 && (i6 = n4), (n4 = this.G - t5.y) > s4 && (s4 = n4), (n4 = t5.x - this.C) > i6 && (i6 = n4), (n4 = t5.y - this.H) > s4 && (s4 = n4), i6 * i6 + s4 * s4; }, i5.prototype.en = function(t5) { this.B() ? t5.Pa() : t5.L(this.v, this.C); }, i5.lu = 1, i5.mu = 4, i5.SC = 3, i5.TC = 12, i5; }(); t4.l = i4; }(V || (V = {})), function(t4) { var i4, s4; (s4 = i4 || (i4 = {}))[s4.initialize = 0] = "initialize", s4[s4.initializeRed = 1] = "initializeRed", s4[s4.initializeBlue = 2] = "initializeBlue", s4[s4.initializeRedBlue = 3] = "initializeRedBlue", s4[s4.sweep = 4] = "sweep", s4[s4.sweepBruteForce = 5] = "sweepBruteForce", s4[s4.sweepRedBlueBruteForce = 6] = "sweepRedBlueBruteForce", s4[s4.sweepRedBlue = 7] = "sweepRedBlue", s4[s4.sweepRed = 8] = "sweepRed", s4[s4.sweepBlue = 9] = "sweepBlue", s4[s4.iterate = 10] = "iterate", s4[s4.iterateRed = 11] = "iterateRed", s4[s4.iterateBlue = 12] = "iterateBlue", s4[s4.iterateBruteForce = 13] = "iterateBruteForce", s4[s4.iterateRedBlueBruteForce = 14] = "iterateRedBlueBruteForce", s4[s4.resetRed = 15] = "resetRed", s4[s4.resetBlue = 16] = "resetBlue"; var n4 = function() { function t5(t6, i5) { this.ei = t6, this.YG = i5; } return t5.prototype.qr = function(t6, i5, s5) { this.ei.BX(s5, t6, i5, this.YG); }, t5.prototype.bq = function(t6) { return this.ei.Tr(t6, this.YG); }, t5; }(); i4 = function() { function i5() { this.qw = this.po = this.ff = this.sd = null, this.yq = new t4.l(), this.Cm = this.Jj = this.Kj = this.Bd = this.Ff = this.Md = this.ew = this.ho = this.rd = this.Fb = null, this.Yb = -1, this.ra = 0, this.Ok(); } return i5.prototype.mr = function() { this.Ok(), this.Rv = true, this.Fb == null ? (this.ho = new t4.ja(0), this.Fb = []) : (this.ho.Dh(0), this.Fb.length = 0); }, i5.prototype.bd = function(i6, s5) { if (!this.Rv) throw t4.i.Hb(); var n5 = new t4.l(); n5.L(s5), this.ho.add(i6), this.Fb.push(n5); }, i5.prototype.Hp = function() { if (!this.Rv) throw t4.i.Hb(); this.Rv = false, this.Fb != null && 0 < this.Fb.length && (this.Yb = 0, this.Jc = false); }, i5.prototype.jK = function() { this.Ok(), this.Qv = true, this.Fb == null ? (this.ho = new t4.ja(0), this.Fb = []) : (this.ho.Dh(0), this.Fb.length = 0); }, i5.prototype.CD = function(i6, s5) { if (!this.Qv) throw t4.i.Hb(); var n5 = new t4.l(); n5.L(s5), this.ho.add(i6), this.Fb.push(n5); }, i5.prototype.cF = function() { if (!this.Qv) throw t4.i.Hb(); this.Qv = false, this.Fb != null && 0 < this.Fb.length && this.rd != null && 0 < this.rd.length && (this.Yb == -1 || this.Yb == 2 ? this.Yb = 3 : this.Yb != 3 && (this.Yb = 1), this.Jc = false); }, i5.prototype.iK = function() { this.Ok(), this.Pv = true, this.rd == null ? (this.ew = new t4.ja(0), this.rd = []) : (this.ew.Dh(0), this.rd.length = 0); }, i5.prototype.yD = function(i6, s5) { if (!this.Pv) throw t4.i.Hb(); var n5 = new t4.l(); n5.L(s5), this.ew.add(i6), this.rd.push(n5); }, i5.prototype.bF = function() { if (!this.Pv) throw t4.i.Hb(); this.Pv = false, this.Fb != null && 0 < this.Fb.length && this.rd != null && 0 < this.rd.length && (this.Yb == -1 || this.Yb == 1 ? this.Yb = 3 : this.Yb != 3 && (this.Yb = 2), this.Jc = false); }, i5.prototype.next = function() { if (this.Jc) return false; for (var i6 = true; i6; ) switch (this.Yb) { case 0: i6 = this.Bz(); break; case 1: i6 = this.kS(); break; case 2: i6 = this.hS(); break; case 3: i6 = this.jS(); break; case 4: i6 = this.MX(); break; case 5: i6 = this.IX(); break; case 6: i6 = this.JX(); break; case 7: i6 = this.KX(); break; case 8: i6 = this.tx(); break; case 9: i6 = this.cC(); break; case 10: i6 = this.Pz(); break; case 11: i6 = this.bT(); break; case 12: i6 = this.ZS(); break; case 13: i6 = this.$S(); break; case 14: i6 = this.aT(); break; case 15: i6 = this.eJ(); break; case 16: i6 = this.dJ(); break; default: throw t4.i.Ra(); } return !this.Jc; }, i5.prototype.VB = function(t5) { this.ra = t5; }, i5.prototype.oz = function(t5) { return this.Fb[t5]; }, i5.prototype.Wy = function(t5) { return this.rd[t5]; }, i5.prototype.pl = function(t5) { return this.ho.read(t5); }, i5.prototype.jl = function(t5) { return this.ew.read(t5); }, i5.Oz = function(t5) { return (1 & t5) == 1; }, i5.gq = function(t5) { return (1 & t5) == 0; }, i5.prototype.Ok = function() { this.Rv = this.Pv = this.Qv = false, this.Df = this.Ef = this.Tg = this.pe = -1, this.Jc = true; }, i5.prototype.Bz = function() { if (this.Bf = this.Wf = -1, 10 > this.Fb.length) return this.pe = this.Fb.length, this.Yb = 5, true; this.sd == null && (this.sd = new t4.ur(true), this.po = this.sd.getIterator(), this.Md = new t4.ja(0)), this.sd.mr(); for (var i6 = 0; i6 < this.Fb.length; i6++) { var s5 = this.Fb[i6]; this.sd.Dr(s5.v, s5.C); } for (this.sd.Hp(), this.Md.Jb(2 * this.Fb.length), this.Md.resize(0), i6 = 0; i6 < 2 * this.Fb.length; i6++) this.Md.add(i6); return this.Mt(this.Md, 2 * this.Fb.length, true), this.pe = 2 * this.Fb.length, this.Yb = 4, true; }, i5.prototype.kS = function() { if (this.Bf = this.Wf = -1, 10 > this.Fb.length || 10 > this.rd.length) return this.pe = this.Fb.length, this.Yb = 6, true; this.sd == null && (this.sd = new t4.ur(true), this.po = this.sd.getIterator(), this.Md = new t4.ja(0)), this.sd.mr(); for (var i6 = 0; i6 < this.Fb.length; i6++) { var s5 = this.Fb[i6]; this.sd.Dr(s5.v, s5.C); } for (this.sd.Hp(), this.Md.Jb(2 * this.Fb.length), this.Md.resize(0), i6 = 0; i6 < 2 * this.Fb.length; i6++) this.Md.add(i6); return this.Mt(this.Md, this.Md.size, true), this.pe = this.Md.size, this.Ef != -1 && (this.Bd.eh(this.Ef), this.Kj.resize(0), this.Ef = -1), this.Yb = 7, this.dJ(); }, i5.prototype.hS = function() { if (this.Bf = this.Wf = -1, 10 > this.Fb.length || 10 > this.rd.length) return this.pe = this.Fb.length, this.Yb = 6, true; this.ff == null && (this.ff = new t4.ur(true), this.qw = this.ff.getIterator(), this.Ff = new t4.ja(0)), this.ff.mr(); for (var i6 = 0; i6 < this.rd.length; i6++) { var s5 = this.rd[i6]; this.ff.Dr(s5.v, s5.C); } for (this.ff.Hp(), this.Ff.Jb(2 * this.rd.length), this.Ff.resize(0), i6 = 0; i6 < 2 * this.rd.length; i6++) this.Ff.add(i6); return this.Mt(this.Ff, this.Ff.size, false), this.Tg = this.Ff.size, this.Df != -1 && (this.Bd.eh(this.Df), this.Jj.resize(0), this.Df = -1), this.Yb = 7, this.eJ(); }, i5.prototype.jS = function() { if (this.Bf = this.Wf = -1, 10 > this.Fb.length || 10 > this.rd.length) return this.pe = this.Fb.length, this.Yb = 6, true; this.sd == null && (this.sd = new t4.ur(true), this.po = this.sd.getIterator(), this.Md = new t4.ja(0)), this.ff == null && (this.ff = new t4.ur(true), this.qw = this.ff.getIterator(), this.Ff = new t4.ja(0)), this.sd.mr(); for (var i6 = 0; i6 < this.Fb.length; i6++) { var s5 = this.Fb[i6]; this.sd.Dr(s5.v, s5.C); } for (this.sd.Hp(), this.ff.mr(), i6 = 0; i6 < this.rd.length; i6++) s5 = this.rd[i6], this.ff.Dr(s5.v, s5.C); for (this.ff.Hp(), this.Md.Jb(2 * this.Fb.length), this.Ff.Jb(2 * this.rd.length), this.Md.resize(0), this.Ff.resize(0), i6 = 0; i6 < 2 * this.Fb.length; i6++) this.Md.add(i6); for (i6 = 0; i6 < 2 * this.rd.length; i6++) this.Ff.add(i6); return this.Mt(this.Md, this.Md.size, true), this.Mt(this.Ff, this.Ff.size, false), this.pe = this.Md.size, this.Tg = this.Ff.size, this.Ef != -1 && (this.Bd.eh(this.Ef), this.Kj.resize(0), this.Ef = -1), this.Df != -1 && (this.Bd.eh(this.Df), this.Jj.resize(0), this.Df = -1), this.Yb = 7, true; }, i5.prototype.MX = function() { var t5 = this.Md.get(--this.pe), s5 = t5 >> 1; return i5.gq(t5) ? (this.sd.remove(s5), this.pe != 0 || (this.Bf = this.Wf = -1, this.Jc = true, false)) : (this.po.yB(this.Fb[s5].v, this.Fb[s5].C, this.ra), this.Wf = s5, this.Yb = 10, true); }, i5.prototype.IX = function() { return --this.pe == -1 ? (this.Bf = this.Wf = -1, this.Jc = true, false) : (this.Tg = this.Wf = this.pe, this.Yb = 13, true); }, i5.prototype.JX = function() { return --this.pe == -1 ? (this.Bf = this.Wf = -1, this.Jc = true, false) : (this.Wf = this.pe, this.Tg = this.rd.length, this.Yb = 14, true); }, i5.prototype.KX = function() { var t5 = this.Md.get(this.pe - 1), s5 = this.Ff.get(this.Tg - 1), n5 = this.Tr(t5, true), h2 = this.Tr(s5, false); return n5 > h2 ? this.tx() : n5 < h2 ? this.cC() : i5.Oz(t5) ? this.tx() : i5.Oz(s5) ? this.cC() : this.tx(); }, i5.prototype.tx = function() { var s5 = this.Md.get(--this.pe), n5 = s5 >> 1; if (i5.gq(s5)) return this.Ef != -1 && this.Kj.get(n5) != -1 ? (this.Bd.kd(this.Ef, this.Kj.get(n5)), this.Kj.set(n5, -1)) : this.sd.remove(n5), this.pe != 0 || (this.Bf = this.Wf = -1, this.Jc = true, false); if (this.Df != -1 && 0 < this.Bd.ds(this.Df)) for (s5 = this.Bd.sc(this.Df); s5 != -1; ) { var h2 = this.Bd.getData(s5); this.ff.xj(h2), this.Jj.set(h2, -1), h2 = this.Bd.lb(s5), this.Bd.kd(this.Df, s5), s5 = h2; } return 0 < this.ff.size() ? (this.qw.yB(this.Fb[n5].v, this.Fb[n5].C, this.ra), this.Wf = n5, this.Yb = 12) : (this.Ef == -1 && (this.Bd == null && (this.Bd = new t4.kp()), this.Kj = new t4.ja(0), this.Kj.resize(this.Fb.length, -1), this.Kj.Yj(-1, 0, this.Fb.length), this.Ef = this.Bd.Rh(1)), this.Kj.set(n5, this.Bd.addElement(this.Ef, n5)), this.Yb = 7), true; }, i5.prototype.cC = function() { var s5 = this.Ff.get(--this.Tg), n5 = s5 >> 1; if (i5.gq(s5)) return this.Df != -1 && this.Jj.get(n5) != -1 ? (this.Bd.kd(this.Df, this.Jj.get(n5)), this.Jj.set(n5, -1)) : this.ff.remove(n5), this.Tg != 0 || (this.Bf = this.Wf = -1, this.Jc = true, false); if (this.Ef != -1 && 0 < this.Bd.ds(this.Ef)) for (s5 = this.Bd.sc(this.Ef); s5 != -1; ) { var h2 = this.Bd.getData(s5); this.sd.xj(h2), this.Kj.set(h2, -1), h2 = this.Bd.lb(s5), this.Bd.kd(this.Ef, s5), s5 = h2; } return 0 < this.sd.size() ? (this.po.yB(this.rd[n5].v, this.rd[n5].C, this.ra), this.Bf = n5, this.Yb = 11) : (this.Df == -1 && (this.Bd == null && (this.Bd = new t4.kp()), this.Jj = new t4.ja(0), this.Jj.resize(this.rd.length, -1), this.Jj.Yj(-1, 0, this.rd.length), this.Df = this.Bd.Rh(0)), this.Jj.set(n5, this.Bd.addElement(this.Df, n5)), this.Yb = 7), true; }, i5.prototype.Pz = function() { if (this.Bf = this.po.next(), this.Bf != -1) return false; var t5 = this.Md.get(this.pe) >> 1; return this.sd.xj(t5), this.Yb = 4, true; }, i5.prototype.bT = function() { if (this.Wf = this.po.next(), this.Wf != -1) return false; this.Bf = this.Wf = -1; var t5 = this.Ff.get(this.Tg) >> 1; return this.ff.xj(t5), this.Yb = 7, true; }, i5.prototype.ZS = function() { if (this.Bf = this.qw.next(), this.Bf != -1) return false; var t5 = this.Md.get(this.pe) >> 1; return this.sd.xj(t5), this.Yb = 7, true; }, i5.prototype.$S = function() { if (--this.Tg == -1) return this.Yb = 5, true; this.yq.L(this.Fb[this.pe]); var t5 = this.Fb[this.Tg]; return this.yq.X(this.ra, this.ra), !this.yq.isIntersecting(t5) || (this.Bf = this.Tg, false); }, i5.prototype.aT = function() { if (--this.Tg == -1) return this.Yb = 6, true; this.yq.L(this.Fb[this.pe]); var t5 = this.rd[this.Tg]; return this.yq.X(this.ra, this.ra), !this.yq.isIntersecting(t5) || (this.Bf = this.Tg, false); }, i5.prototype.eJ = function() { return this.sd == null ? (this.Jc = true, false) : (this.pe = this.Md.size, 0 < this.sd.size() && this.sd.reset(), this.Ef != -1 && (this.Bd.eh(this.Ef), this.Kj.resize(0), this.Ef = -1), this.Jc = false, true); }, i5.prototype.dJ = function() { return this.ff == null ? (this.Jc = true, false) : (this.Tg = this.Ff.size, 0 < this.ff.size() && this.ff.reset(), this.Df != -1 && (this.Bd.eh(this.Df), this.Jj.resize(0), this.Df = -1), this.Jc = false, true); }, i5.prototype.Mt = function(i6, s5, h2) { this.Cm == null && (this.Cm = new t4.Zt()), h2 = new n4(this, h2), this.Cm.sort(i6, 0, s5, h2); }, i5.prototype.BX = function(t5, s5, n5, h2) { var r2 = this; t5.Wd(s5, n5, function(t6, s6) { var n6 = r2.Tr(t6, h2), e2 = r2.Tr(s6, h2); return n6 < e2 || n6 == e2 && i5.gq(t6) && i5.Oz(s6) ? -1 : 1; }); }, i5.prototype.Tr = function(t5, s5) { var n5 = 0.5 * this.ra; return s5 ? (s5 = this.Fb[t5 >> 1], i5.gq(t5) ? s5.G - n5 : s5.H + n5) : (s5 = this.rd[t5 >> 1], i5.gq(t5) ? s5.G - n5 : s5.H + n5); }, i5; }(), t4.rC = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.construct = function(t5, s4, n4, h2, r2, e2) { var o2 = new i5(); return o2.v = t5, o2.G = s4, o2.Xe = n4, o2.C = h2, o2.H = r2, o2.Dg = e2, o2; }, i5.prototype.Pa = function() { this.Xe = this.v = NaN; }, i5.prototype.B = function() { return isNaN(this.v); }, i5.prototype.PS = function() { return isNaN(this.Xe); }, i5.prototype.L = function(t5, i6, s4, n4, h2, r2) { n4 !== void 0 ? typeof t5 == "number" ? (this.v = t5, this.G = i6, this.Xe = s4, this.C = n4, this.H = h2, this.Dg = r2) : (this.v = t5.x - 0.5 * i6, this.C = this.v + i6, this.G = t5.y - 0.5 * s4, this.H = this.G + s4, this.Xe = t5.z - 0.5 * n4, this.Dg = this.Xe + n4) : (this.v = t5, this.G = i6, this.Xe = s4, this.C = t5, this.H = i6, this.Dg = s4); }, i5.prototype.move = function(t5) { this.v += t5.x, this.G += t5.y, this.Xe += t5.z, this.C += t5.x, this.H += t5.y, this.Dg += t5.z; }, i5.prototype.copyTo = function(t5) { t5.v = this.v, t5.G = this.G, t5.C = this.C, t5.H = this.H; }, i5.prototype.Mk = function(t5, i6, s4) { this.v > t5 ? this.v = t5 : this.C < t5 && (this.C = t5), this.G > i6 ? this.G = i6 : this.H < i6 && (this.H = i6), isNaN(this.Xe) == 0 ? this.Xe > s4 ? this.Xe = s4 : this.Dg < s4 && (this.Dg = s4) : this.Dg = this.Xe = s4; }, i5.prototype.$b = function(s4, n4, h2) { if (typeof s4 == "number") this.B() ? (this.v = s4, this.G = n4, this.Xe = h2, this.C = s4, this.H = n4, this.Dg = h2) : this.Mk(s4, n4, h2); else if (s4 instanceof t4.Od) this.$b(s4.x, s4.y, s4.z); else { if (!(s4 instanceof i5)) throw t4.i.O(); s4.B() || (this.$b(s4.v, s4.G, s4.Xe), this.$b(s4.C, s4.H, s4.Dg)); } }, i5.prototype.construct = function(t5, i6, s4) { t5.B() || i6.B() ? this.Pa() : (this.v = t5.pa, this.C = t5.wa, this.G = i6.pa, this.H = i6.wa, this.Xe = s4.pa, this.Dg = s4.wa); }, i5.prototype.hB = function(i6) { if (i6 == null || 8 > i6.length) throw t4.i.O(); i6[0] = new t4.Od(this.v, this.G, this.Xe), i6[1] = new t4.Od(this.v, this.H, this.Xe), i6[2] = new t4.Od(this.C, this.H, this.Xe), i6[3] = new t4.Od(this.C, this.G, this.Xe), i6[4] = new t4.Od(this.v, this.G, this.Dg), i6[5] = new t4.Od(this.v, this.H, this.Dg), i6[6] = new t4.Od(this.C, this.H, this.Dg), i6[7] = new t4.Od(this.C, this.G, this.Dg); }, i5.prototype.bx = function(t5) { if (t5 == null || t5.length == 0) this.Pa(); else { var i6 = t5[0]; for (this.L(i6.x, i6.y, i6.z), i6 = 1; i6 < t5.length; i6++) { var s4 = t5[i6]; this.Mk(s4.x, s4.y, s4.z); } } }, i5; }(); t4.IK = i4; }(V || (V = {})), function(t4) { !function(t5) { t5.Ra = function() { var t6 = Error(); return t6.message = "Internal Error", t6; }, t5.Fe = function() { var t6 = Error(); return t6.message = "Not Implemented", t6; }, t5.Zk = function() { var t6 = Error(); return t6.message = "The input unit and the spatial reference unit are not of the same unit type.ie Linear vs.Angular", t6; }, t5.Hb = function() { var t6 = Error(); return t6.message = "Invalid Call", t6; }, t5.O = function(t6) { var i4 = Error(); return i4.message = "Illegal Argument Exception", t6 !== void 0 && (i4.message += ": " + t6), i4; }, t5.hu = function(t6) { var i4 = Error(); return i4.message = t6 !== void 0 ? "Runtime Exception: " + t6 : "Runtime Exception.", i4; }, t5.ga = function(t6) { var i4 = Error(); return i4.message = "Geometry Exception: " + t6, i4; }, t5.AK = function() { var t6 = Error(); return t6.message = "Assert Failed Exception", t6; }, t5.re = function() { var t6 = Error(); return t6.message = "IndexOutOfBoundsException", t6; }, t5.QC = function() { var t6 = Error(); return t6.message = "UserCancelException", t6; }; }(t4.i || (t4.i = {})); }(V || (V = {})), function(t4) { (t4 = t4.dm || (t4.dm = {}))[t4.forward = 0] = "forward", t4[t4.reverse = 1] = "reverse"; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6) { this.Xa = t5, this.zH = i6, this.FH = -1, this.ul = false; } return i5.prototype.qe = function() { }, i5.prototype.next = function() { if (++this.FH == this.zH.I()) return null; var i6 = this.zH.Oa(this.FH); i6.scale(this.Xa.fc); var s5 = new t4.Ea(); return this.Xa.ny(i6, this.ul, s5), s5; }, i5.prototype.Ma = function() { return 0; }, i5; }(), s4 = function() { function i5(i6, s5, n5) { this.Xa = i6, this.tw = s5, this.Yn = false, this.eo = n5, this.dw = [0], this.tk = [0], this.Pj = [0], this.Is = [0], this.ul = false, this.sq = new t4.Ea(), this.vk = []; } return i5.prototype.qe = function() { }, i5.prototype.next = function() { if (this.Yn) { this.Yn = false, this.td.ia(); var i6 = t4.ba.ig(this.sq); return t4.Hg.Nk(i6, this.Xa.Cq, true, true, this.Xa.Vb); } if (this.td == null && (this.td = this.tw.Ha(), this.td.ab(), this.eo != null && this.eo.$k(null, 0)), !this.td.Ia()) { if (!this.td.ab()) return null; this.eo != null && this.eo.$k(null, 0); } i6 = null, this.tk[0] = 0, this.zA = this.dw[0] = 0, this.fi = NaN, this.Yn = false; for (var s5 = this.vk.length = 0, h2 = new t4.h(), r2 = new t4.h(), e2 = [0]; this.td.Ia() && 8 > this.zA; ) { var o2 = this.td.ia(); if (h2.N(o2.ac()), r2.N(o2.xc()), h2.scale(this.Xa.fc), r2.scale(this.Xa.fc), t4.ej.Ou(h2, r2) ? h2.x = r2.x : t4.ej.Mu(h2, r2) && (r2.x = h2.x), this.vk.length = 0, t4.ej.nF(this.Xa.Ub, this.Xa.lc, this.Xa.Ae, h2, r2, this.Xa.KA, this.Xa.at, e2, this.Pj, this.Is, this.vk, this.dw), this.eo != null && (o2 = this.vk.slice(0), this.eo.kG(this.eo.ea() - 1, o2, o2.length - 1)), t4.ej.Nu(h2, r2) ? (this.sq.Pa(), this.Xa.ny(h2, this.ul, this.sq), this.Yn = true) : (this.sq.Pa(), this.Yn = this.sy(e2[0], this.sq)), this.Yn) { if (this.td.ni(), this.td.zz()) { this.td.ni(), this.td.ia(); break; } this.td.uW(); break; } i6 == null && (i6 = new t4.Ea()).$k(null, 0), this.HD(i6), s5++; } if (this.dw[0] = 0, 0 < s5) { for (e2 = this.td.xb(); 0 < s5; ) this.td.ni(), h2.N(this.tw.Oa(this.td.xb())), r2.N(this.tw.Oa(this.td.jk())), h2.scale(this.Xa.fc), r2.scale(this.Xa.fc), this.ul && (t4.ej.Ou(h2, r2) ? h2.x = r2.x : t4.ej.Mu(h2, r2) && (r2.x = h2.x)), this.vk.length = 0, t4.ej.nF(this.Xa.Ub, this.Xa.lc, this.Xa.Ae, r2, h2, this.Xa.KA, this.Xa.at, null, this.Pj, this.Is, this.vk, this.dw), this.HD(i6), s5--; return h2.N(this.tw.Oa(this.td.xb())), h2.scale(this.Xa.fc), n4.Jr(this.Xa.Ub, this.Xa.lc, this.Xa.fc, this.Xa.sb, h2, this.fi + 1.570796326794897, this.fi + 4.71238898038469, this.Xa.bo, this.ul, this.tk, i6, NaN, NaN), this.td.Wb(e2), this.td.ia(), s5 = t4.ta.mj(null, i6, true), t4.Hg.Nk(i6, s5, true, true, this.Xa.Vb); } return this.Yn = false, this.td.ia(), i6 = t4.ba.ig(this.sq), t4.Hg.Nk(i6, this.Xa.Cq, true, true, this.Xa.Vb); }, i5.prototype.HD = function(i6) { var s5 = this.vk[0], h2 = this.Pj[0] - 1.570796326794897, r2 = this.Is[0] + 1.570796326794897; if (!isNaN(this.fi)) { if (this.fi >= this.Pj[0]) { var e2 = this.fi + 1.570796326794897; h2 = e2 + 3.141592653589793 - (this.fi - this.Pj[0]); } else h2 = (e2 = this.fi + 1.570796326794897) + 3.141592653589793 - (6.283185307179586 - (this.Pj[0] - this.fi)); var o2 = !(this.fi >= this.Pj[0] && 3.141592653589793 >= this.fi - this.Pj[0]) && !(this.fi < this.Pj[0] && 3.141592653589793 <= this.Pj[0] - this.fi), a2 = false; if (Math.abs(h2 - e2) <= 0.5 * this.Xa.bo) if (o2) { var u2 = i6.Oa(i6.I() - 2); u2.scale(this.Xa.fc); var f2 = new t4.ha(0); for (t4.kb.Sy(this.Xa.Ub, this.Xa.lc, s5.x, s5.y, u2.x, u2.y, f2), u2 = f2.u; u2 <= e2; ) u2 += 6.283185307179586; for (; u2 > e2; ) u2 -= 6.283185307179586; u2 < h2 && (a2 = true); } else a2 = true; a2 ? (i6.xB(0, i6.I() - 1), this.ul || ((s5 = new t4.h()).N(i6.Oa(i6.I() - 1)), s5.scale(this.Xa.fc), -3.141592653589793 > s5.x - this.tk[0] ? this.tk[0] -= 6.283185307179586 : 3.141592653589793 < s5.x - this.tk[0] && (this.tk[0] += 6.283185307179586)), o2 || (h2 = 0.5 * (h2 + e2))) : (o2 ? ((e2 = new t4.h()).N(s5), e2.scale(1 / this.Xa.fc), i6.xf(0, -1, e2)) : n4.Jr(this.Xa.Ub, this.Xa.lc, this.Xa.fc, this.Xa.sb, this.vk[0], e2, h2, this.Xa.bo, this.ul, this.tk, i6, NaN, NaN), this.zA += 1); } n4.my(this.Xa.Ub, this.Xa.lc, this.Xa.fc, this.Xa.sb, this.Xa.Ae, this.vk, h2, r2, this.ul, this.tk, i6), this.fi = this.Is[0]; }, i5.prototype.sy = function(t5, i6) { return this.Xa.sy(this.vk, t5, this.Pj[0], this.Is[0], this.ul, i6); }, i5.prototype.Ma = function() { return 0; }, i5; }(), n4 = function() { function n5() { } return n5.buffer = function(i5, s5, h2, r2, e2, o2) { if (i5 == null) throw t4.i.O("Geometry::Geodesic_bufferer::buffer"); if (i5.B()) return new t4.Ea(i5.description); var a2 = new n5(); a2.Sg = s5, a2.Kc = t4.cb.tc(s5); var u2 = t4.cb.xv(a2.Kc); if (a2.Vb = o2, a2.Ub = t4.cb.gv(a2.Kc), a2.lc = u2 * (2 - u2), a2.fc = a2.Kc.Id().ci, a2.ra = a2.Sg.Ln(), a2.Cq = a2.Kc.Ln(), a2.at = a2.Cq * a2.fc, a2.Bq = 1.570796326794897 / a2.fc, a2.GY = 3.141592653589793 / a2.fc, a2.Ls = 6.283185307179586 / a2.fc, a2.HY = a2.Ls / 6, a2.FA = 0, a2.FY = 1.5707963267948966 * a2.Ub / a2.FA, h2 == 4 ? (a2.Ae = 2, a2.Yv = true) : (a2.Ae = h2, a2.Yv = false), a2.La = r2, a2.sb = Math.abs(r2), isNaN(e2) || 1e-3 > e2 ? a2.pX() : a2.ao = e2, h2 = i5.K(), t4.ba.zd(h2) ? ((h2 = new t4.Ua(i5.description)).oc(i5, true), i5 = h2, h2 = 1607) : h2 == 197 && (h2 = new t4.l(), i5.A(h2), h2.S() <= a2.ra || h2.da() <= a2.ra ? ((h2 = new t4.Ua(i5.description)).bd(i5, false), i5 = h2, h2 = 1607) : ((h2 = new t4.Ea(i5.description)).bd(i5, false), i5 = h2, h2 = 1736)), a2.qX(), t4.ba.Sn(h2) || a2.rX(), a2.sb <= 0.5 * a2.ao) return h2 != 1736 ? new t4.Ea(i5.description) : a2.Yv ? i5 : t4.ej.Sr(i5, a2.Sg, a2.Ae, a2.KA, -1, o2); if (0 > a2.La && h2 != 1736) return new t4.Ea(i5.description); if (a2.Yv && t4.ba.Ic(h2) ? (s5 = t4.ej.Sr(i5, s5, 4, NaN, a2.ao, o2), i5 = t4.cb.Bh(s5, a2.Sg, a2.Kc)) : i5 = t4.cb.Bh(i5, a2.Sg, a2.Kc), (i5 = t4.Jh.nj(i5, a2.Kc)).B()) return new t4.Ea(i5.description); switch (!a2.Yv && t4.ba.Ic(h2) && (i5 = t4.ej.jI(a2.fc, i5)), i5 = n5.CX(i5, a2.Kc), h2) { case 1736: s5 = a2.ON(i5); break; case 1607: s5 = a2.PN(i5); break; case 550: s5 = a2.MN(i5); break; case 33: s5 = a2.NN(i5); break; default: throw t4.i.ga("corrupted_geometry"); } return (a2 = t4.cb.Bh(s5, a2.Kc, a2.Sg)).Ll(i5.description), a2; }, n5.prototype.ON = function(i5) { var n6 = new t4.Ea(); i5 = new s4(this, i5, n6), i5 = t4.Ih.local().W(i5, this.Kc, this.Vb).next(), i5 = t4.jp.pj(i5, this.Kc, 2); var h2 = new t4.Ed(); return h2.scale(1 / this.fc, 1 / this.fc), n6.Pc(h2), n6 = t4.jp.pj(n6, this.Kc, 2), 0 <= this.La ? t4.Ih.local().W(n6, i5, this.Kc, this.Vb) : t4.lp.local().W(n6, i5, this.Kc, this.Vb); }, n5.prototype.PN = function(i5) { return i5 = new s4(this, i5, null), i5 = t4.Ih.local().W(i5, this.Kc, this.Vb).next(), t4.jp.pj(i5, this.Kc, 2); }, n5.prototype.MN = function(s5) { return s5 = new i4(this, s5), s5 = t4.Ih.local().W(s5, this.Kc, this.Vb).next(), t4.jp.pj(s5, this.Kc, 2); }, n5.prototype.NN = function(i5) { (i5 = i5.D()).scale(this.fc); var s5 = new t4.Ea(); return this.ny(i5, false, s5), t4.jp.pj(s5, this.Kc, 2); }, n5.prototype.sy = function(i5, s5, h2, r2, e2, o2) { var a2 = i5[0], u2 = i5[i5.length - 1], f2 = a2.y > u2.y ? a2.y : u2.y, c2 = t4.F.q(this.Ub, this.lc, a2.y < u2.y ? a2.y : u2.y); if (f2 = t4.F.q(this.Ub, this.lc, f2), 1e-3 < this.FA - (c2 + s5 + this.sb) && 1e-3 < this.FA + (f2 - s5 - this.sb)) return false; c2 = (s5 = h2 - 1.570796326794897) - 3.141592653589793, f2 = s5 + 3.141592653589793; var l2 = (h2 = r2 + 1.570796326794897) + 3.141592653589793, p2 = [NaN], v2 = [NaN], y2 = [NaN], b2 = [NaN]; if (r2 = false, n5.YI(this.Ub, this.lc, this.sb, a2, s5, c2, u2, h2, p2, v2), n5.YI(this.Ub, this.lc, this.sb, u2, l2, h2, a2, c2, y2, b2), (h2 < p2[0] && p2[0] < l2 || h2 < v2[0] && v2[0] < l2) && (r2 = true), r2 || (c2 < y2[0] && y2[0] < s5 || c2 < b2[0] && b2[0] < s5) && (r2 = true), !r2 && e2) return false; for (var d2 = [], g2 = i5.length - 1; 0 <= g2; g2--) d2.push(i5[g2]); return o2.Pa(), o2.$k(null, 0), g2 = [0], n5.my(this.Ub, this.lc, this.fc, this.sb, this.Ae, i5, s5, h2, e2, g2, o2), n5.Jr(this.Ub, this.lc, this.fc, this.sb, u2, h2, l2, this.bo, e2, g2, o2, p2[0], v2[0]), n5.my(this.Ub, this.lc, this.fc, this.sb, this.Ae, d2, l2, f2, e2, g2, o2), n5.Jr(this.Ub, this.lc, this.fc, this.sb, a2, c2, s5, this.bo, e2, g2, o2, y2[0], b2[0]), i5 = false, e2 || (i5 = this.CE(this.fc, o2)), r2 || i5; }, n5.prototype.ny = function(t5, i5, s5) { s5.Pa(), s5.$k(null, 0), n5.Jr(this.Ub, this.lc, this.fc, this.sb, t5, -this.bo, 6.283185307179586, this.bo, i5, [0], s5, NaN, NaN), i5 || this.CE(this.fc, s5); }, n5.prototype.CE = function(t5, i5) { var s5 = this.pO(t5, i5); return t5 = this.qO(t5, i5), s5 || t5; }, n5.prototype.pO = function(i5, s5) { var n6 = s5.I(), h2 = false, r2 = new t4.l(); if (s5.A(r2), !t4.s.$(r2.H * i5, 1.570796326794897) && !t4.s.$(r2.G * i5, -1.570796326794897)) return false; var e2 = new t4.h(); for (--n6; 0 <= n6; n6--) s5.D(n6, e2), (e2.y == r2.H && t4.s.$(e2.y * i5, 1.570796326794897) || e2.y == r2.G && t4.s.$(e2.y * i5, -1.570796326794897)) && (h2 = true, this.II(e2, n6, s5)); return h2; }, n5.prototype.qO = function(t5, i5) { var s5 = i5.Oa(0), n6 = i5.Oa(i5.I() - 1); return 3.141592653589793 < Math.abs(s5.x - n6.x) * t5 ? (this.NV(i5), true) : this.oO(i5); }, n5.prototype.oO = function(t5) { return 0 > t5.He() && (this.MV(t5), true); }, n5.prototype.II = function(i5, s5, n6) { var h2 = n6.I(), r2 = 0 < s5 ? s5 - 1 : h2 - 1; if (h2 = n6.Oa(s5 < h2 - 1 ? s5 + 1 : 0), r2 = n6.Oa(r2), !t4.s.$(h2.y, i5.y) && !t4.s.$(h2.x, i5.x)) { var e2 = new t4.h(); e2.na(h2.x, i5.y), n6.Db(s5, e2); } t4.s.$(r2.y, i5.y) || t4.s.$(r2.x, i5.x) || ((h2 = new t4.h()).na(r2.x, i5.y), n6.xf(0, s5, h2)); }, n5.prototype.NV = function(i5) { var s5 = new t4.Ea(), n6 = new t4.Ea(), h2 = new t4.Ed(), r2 = i5.Oa(0), e2 = i5.Oa(i5.I() - 1), o2 = new t4.h(); r2.x > e2.x ? (e2 = this.Bq, h2.gg(-this.Ls, 0)) : (e2 = -this.Bq, h2.gg(this.Ls, 0)), s5.add(i5, false), i5.Pa(), n6.add(s5, false), n6.Pc(h2), r2 = new t4.l(), n6.A(r2), r2.X((this.Ls - r2.S()) / 2, 0), r2.G = -this.Bq, r2.H = this.Bq; for (var a2 = 0; a2 < n6.I(); a2++) n6.D(a2, o2), s5.xf(0, -1, o2); for (n6.Pc(h2), a2 = 0; a2 < n6.I(); a2++) n6.D(a2, o2), s5.xf(0, -1, o2); n6 = s5.Oa(0), h2 = s5.Oa(s5.I() - 1), o2.na(h2.x, e2), s5.xf(0, -1, o2), o2.na(0.5 * (h2.x + n6.x), e2), s5.xf(0, -1, o2), o2.na(n6.x, e2), s5.xf(0, -1, o2), s5 = t4.Jh.ms(s5, this.Kc, 2, true, r2.v), s5 = t4.Jh.ms(s5, this.Kc, 2, true, r2.C), s5 = t4.Vd.clip(s5, r2, this.Cq, NaN), i5.add(s5, false); }, n5.prototype.MV = function(i5) { var s5 = new t4.l(); i5.A(s5), s5.X((this.Ls - s5.S()) / 2, 0), s5.G = -this.Bq, s5.H = this.Bq, i5.$k(null, 0); var n6 = new t4.h(); n6.na(s5.v, s5.G), i5.xf(1, -1, n6), n6.na(s5.v, s5.H), i5.xf(1, -1, n6), n6.na(0.5 * (s5.v + s5.C), s5.H), i5.xf(1, -1, n6), n6.na(s5.C, s5.H), i5.xf(1, -1, n6), n6.na(s5.C, s5.G), i5.xf(1, -1, n6), n6.na(0.5 * (s5.v + s5.C), s5.G), i5.xf(1, -1, n6); }, n5.my = function(i5, s5, h2, r2, e2, o2, a2, u2, f2, c2, l2) { var p2 = null; f2 || ((p2 = new t4.h()).Sc(), 0 < l2.I() && (p2.N(l2.Oa(l2.I() - 1)), p2.scale(h2))); var v2 = new t4.ha(0), y2 = new t4.ha(0), b2 = new t4.ha(0), d2 = new t4.h(), g2 = new t4.h(), w2 = o2[o2.length - 1]; h2 = 1 / h2; for (var x2 = 0; x2 < o2.length; x2++) { var m2 = o2[x2]; if (x2 == 0) var j2 = a2; else x2 == o2.length - 1 ? j2 = u2 : (t4.kb.xd(i5, s5, w2.x, w2.y, m2.x, m2.y, null, null, v2, e2), j2 = v2.u - 1.570796326794897); t4.kb.Ai(i5, s5, m2.x, m2.y, r2, j2, y2, b2), f2 ? g2.na(y2.u, b2.u) : (d2.na(y2.u, b2.u), n5.aJ(m2.x, d2.x, p2.x, c2), g2.na(c2[0] + d2.x, d2.y), p2.N(g2)), g2.scale(h2), l2.xf(0, -1, g2); } }, n5.Jr = function(i5, s5, h2, r2, e2, o2, a2, u2, f2, c2, l2, p2, v2) { if (!(a2 - o2 < u2)) { var y2 = new t4.ha(0), b2 = new t4.ha(0), d2 = new t4.h(), g2 = new t4.h(), w2 = null; f2 || ((w2 = new t4.h()).Sc(), 0 < l2.I() && (w2.N(l2.Oa(l2.I() - 1)), w2.scale(h2))); var x2 = t4.P.truncate(Math.ceil(o2 / u2)), m2 = x2++ * u2; for (m2 == o2 && (m2 = x2++ * u2), h2 = 1 / h2; m2 < a2 + u2 && (o2 < p2 && p2 < m2 ? (m2 = p2, x2--) : o2 < v2 && v2 < m2 && (m2 = v2, x2--), !(m2 >= a2)); ) t4.kb.Ai(i5, s5, e2.x, e2.y, r2, m2, y2, b2), f2 ? g2.na(y2.u, b2.u) : (d2.na(y2.u, b2.u), n5.aJ(e2.x, d2.x, w2.x, c2), g2.na(c2[0] + d2.x, d2.y), w2.N(g2)), g2.scale(h2), l2.xf(0, -1, g2), o2 = m2, m2 = x2++ * u2; } }, n5.YI = function(i5, s5, n6, h2, r2, e2, o2, a2, u2, f2) { var c2 = new t4.h(), l2 = new t4.h(), p2 = new t4.ha(0), v2 = new t4.ha(0); for (t4.kb.Ai(i5, s5, h2.x, h2.y, n6, r2, p2, v2), c2.na(p2.u, v2.u), t4.kb.Ai(i5, s5, h2.x, h2.y, n6, e2, p2, v2), l2.na(p2.u, v2.u), n6 = new t4.ha(0), t4.kb.Sy(i5, s5, o2.x, o2.y, c2.x, c2.y, n6), u2[0] = n6.u, t4.kb.Sy(i5, s5, o2.x, o2.y, l2.x, l2.y, n6), f2[0] = n6.u; u2[0] <= f2[0]; ) u2[0] += 6.283185307179586; for (; u2[0] > f2[0]; ) u2[0] -= 6.283185307179586; for (; u2[0] >= a2; ) u2[0] -= 6.283185307179586, f2[0] -= 6.283185307179586; for (; u2[0] < a2; ) u2[0] += 6.283185307179586, f2[0] += 6.283185307179586; }, n5.aJ = function(t5, i5, s5, n6) { if (isNaN(s5)) { for (; 3.141592653589793 < n6[0] + i5 - t5; ) n6[0] -= 6.283185307179586; for (; 3.141592653589793 < t5 - (n6[0] + i5); ) n6[0] += 6.283185307179586; } else 3.141592653589793 < n6[0] + i5 - s5 ? n6[0] -= 6.283185307179586 : 3.141592653589793 < s5 - (n6[0] + i5) && (n6[0] += 6.283185307179586); }, n5.CX = function(i5, s5) { var n6 = i5.K(), h2 = t4.ba.Ic(n6) ? i5.ea() : n6 == 550 ? i5.I() : 1; if (h2 == 1) return i5; var r2 = new t4.ja(0); r2.resize(h2); for (var e2 = [], o2 = new t4.l(), a2 = 0; a2 < h2; a2++) { if (r2.write(a2, a2), t4.ba.Ic(n6)) { i5.Tj(a2, o2); var u2 = o2.tf(); } else u2 = i5.Oa(a2); u2 = t4.RK.SX(s5, u2), e2[a2] = u2; } for (r2.Wd(0, r2.size, function(t5, i6) { return e2[t5] < e2[i6] ? -1 : e2[t5] > e2[i6] ? 1 : 0; }), s5 = i5.Ja(), a2 = 0; a2 < h2; a2++) o2 = r2.read(a2), t4.ba.Ic(n6) ? s5.addPath(i5, o2, true) : s5.Gd(i5, o2, o2 + 1); return s5; }, n5.prototype.qX = function() { var i5 = Math.min(3.141592653589793 * this.Ub - this.sb, this.sb); i5 = Math.min(i5, 0.39269908169872414 * this.Ub); var s5 = new t4.h(); s5.na(0, 10 * this.fc); var n6 = 45 * this.fc, h2 = new t4.ha(0), r2 = new t4.ha(0), e2 = new t4.ha(0), o2 = new t4.ha(0), a2 = new t4.ha(0), u2 = new t4.ha(0), f2 = new t4.ha(0), c2 = new t4.ha(0), l2 = new t4.h(), p2 = new t4.h(), v2 = new t4.h(), y2 = new t4.h(); t4.kb.Ai(this.Ub, this.lc, s5.x, s5.y, i5, 0, h2, r2), l2.na(h2.u, r2.u), t4.kb.Ai(this.Ub, this.lc, s5.x, s5.y, i5, n6, e2, o2), p2.na(e2.u, o2.u), h2 = new t4.ha(0), r2 = new t4.ha(0); for (var b2 = new t4.ha(0); t4.kb.Ai(this.Ub, this.lc, s5.x, s5.y, i5, 0.5 * (0 + n6), a2, u2), v2.na(a2.u, u2.u), t4.kb.xd(this.Ub, this.lc, l2.x, l2.y, p2.x, p2.y, h2, r2, null, 2), t4.kb.qj(this.Ub, this.lc, l2.x, l2.y, 0.5 * h2.u, r2.u, f2, c2, 2), y2.na(f2.u, c2.u), t4.kb.xd(this.Ub, this.lc, v2.x, v2.y, y2.x, y2.y, b2, null, null, 2), !(b2.u <= this.ao); ) n6 *= 0.9, t4.kb.Ai(this.Ub, this.lc, s5.x, s5.y, i5, n6, e2, o2), p2.na(e2.u, o2.u); this.bo = 6.283185307179586 / Math.ceil(6.283185307179586 / (n6 - 0)); }, n5.prototype.rX = function() { var i5 = Math.min(3.141592653589793 * this.Ub - this.sb, this.sb); i5 = Math.min(i5, 0.39269908169872414 * this.Ub); var s5 = new t4.h(), n6 = new t4.h(); s5.na(0, 10 * this.fc), n6.na(10 * this.fc, 10 * this.fc); var h2 = new t4.ha(0), r2 = new t4.ha(0), e2 = new t4.ha(0); t4.kb.xd(this.Ub, this.lc, s5.x, s5.y, n6.x, n6.y, e2, h2, r2, this.Ae); var o2 = new t4.ha(0), a2 = new t4.ha(0), u2 = new t4.ha(0), f2 = new t4.ha(0), c2 = new t4.h(), l2 = new t4.ha(0), p2 = new t4.ha(0), v2 = new t4.ha(0), y2 = new t4.ha(0), b2 = new t4.ha(0), d2 = new t4.ha(0), g2 = new t4.ha(0), w2 = new t4.ha(0), x2 = new t4.ha(0), m2 = new t4.h(), j2 = new t4.h(), k2 = new t4.h(), M2 = new t4.h(), z2 = 1; h2 = h2.u, r2 = r2.u + 1.570796326794897, e2 = e2.u, t4.kb.Ai(this.Ub, this.lc, s5.x, s5.y, i5, h2 - 1.570796326794897, p2, v2), m2.na(p2.u, v2.u), t4.kb.Ai(this.Ub, this.lc, n6.x, n6.y, i5, r2, y2, b2), j2.na(y2.u, b2.u), p2 = new t4.ha(0), v2 = new t4.ha(0), r2 = new t4.ha(0); for (var A2 = new t4.ha(0); t4.kb.qj(this.Ub, this.lc, s5.x, s5.y, 0.5 * (0 + z2) * e2, h2, o2, a2, this.Ae), c2.na(o2.u, a2.u), t4.kb.xd(this.Ub, this.lc, s5.x, s5.y, c2.x, c2.y, null, null, l2, this.Ae), t4.kb.Ai(this.Ub, this.lc, c2.x, c2.y, i5, l2.u + 1.570796326794897, d2, g2), k2.na(d2.u, g2.u), t4.kb.xd(this.Ub, this.lc, m2.x, m2.y, j2.x, j2.y, p2, v2, null, 2), t4.kb.qj(this.Ub, this.lc, m2.x, m2.y, 0.5 * p2.u, v2.u, w2, x2, 2), M2.na(w2.u, x2.u), t4.kb.xd(this.Ub, this.lc, k2.x, k2.y, M2.x, M2.y, r2, null, null, 2), !(r2.u <= this.ao); ) z2 *= 0.9, t4.kb.qj(this.Ub, this.lc, s5.x, s5.y, z2 * e2, h2, u2, f2, this.Ae), n6.na(u2.u, f2.u), t4.kb.xd(this.Ub, this.lc, s5.x, s5.y, n6.x, n6.y, null, null, A2, this.Ae), t4.kb.Ai(this.Ub, this.lc, n6.x, n6.y, i5, A2.u + 1.570796326794897, y2, b2), j2.na(y2.u, b2.u); 1e5 < (i5 = z2 * e2) && (i5 = 1e5), this.KA = i5; }, n5.prototype.pX = function() { var t5 = 5e4 < this.sb ? 100 : 1e4 < this.sb ? 10 : 1; 500 > this.sb / t5 && (t5 = this.sb / 500), 0.01 > t5 && (t5 = 0.01), this.ao = t5; }, n5; }(); t4.PK = n4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.Of = function(i6, s4) { var n4 = new t4.h(); n4.N(s4), i6.push(n4); }, i5.wp = function(t5, i6) { t5.add(i6.x), t5.add(i6.y); }, i5.bB = function(t5) { t5.Dh(t5.size - 2); }, i5.iB = function(t5, i6) { i6.na(t5.get(t5.size - 2), t5.get(t5.size - 1)); }, i5.Sr = function(s4, n4, h2, r2, e2, o2) { if (s4 == null) throw t4.i.O(); var a2 = s4.K(); if (s4.B() || t4.ba.Sn(a2)) return s4; var u2 = new i5(); u2.Sg = n4, u2.Kc = t4.cb.tc(n4); var f2 = t4.cb.xv(u2.Kc); if (u2.Vb = o2, u2.Ub = t4.cb.gv(u2.Kc), u2.lc = f2 * (2 - f2), u2.fc = u2.Kc.Id().ci, u2.Cq = u2.Kc.Ln(), u2.at = u2.Cq * u2.fc, u2.uA = r2, u2.tA = e2, u2.Ae = h2, a2 == 197 ? (h2 = new t4.Ea(s4.description)).bd(s4, false) : t4.ba.zd(a2) ? (h2 = new t4.Ua(s4.description)).oc(s4, true) : h2 = s4, u2.Ae != 4) { if ((n4 = u2.Sg.Nb(u2.Kc) == 0 ? t4.cb.Bh(h2, u2.Sg, u2.Kc) : t4.Jh.nj(h2, u2.Kc)).B()) return n4; n4 = i5.jI(u2.fc, n4), n4 = u2.Uy(n4), n4 = t4.jp.pj(n4, u2.Kc, u2.Ae), u2 = t4.cb.Bh(n4, u2.Kc, u2.Sg); } else { if (t4.Gg.Tb(n4) == 2 ? (s4 = t4.cb.ol(), (n4 = t4.Xk.local().W(h2, s4, n4, o2)) == s4 && (n4 = new t4.Ea(), s4.copyTo(n4))) : n4 = t4.Jh.nj(h2, u2.Kc), n4.B()) return n4; u2 = u2.uX(n4); } return u2; }, i5.jI = function(s4, n4) { var h2 = new t4.l(); if (n4.yc(h2), 3.141592653589793 > h2.S() * s4) return n4; var r2 = false; h2 = n4.Ha(); for (var e2 = new t4.h(), o2 = new t4.h(); h2.ab(); ) for (; h2.Ia(); ) { var a2 = h2.ia(); if (e2.N(a2.ac()), o2.N(a2.xc()), e2.scale(s4), o2.scale(s4), 3.141592653589793 < Math.abs(e2.x - o2.x)) { var u2 = i5.Nu(e2, o2); if (!u2) { r2 = true; break; } if (6.283185307179586 < Math.abs(e2.x - o2.x)) { r2 = true; break; } } } if (!r2) return n4; r2 = n4.Ja(); var f2 = 1 < n4.description.Ba, c2 = new t4.h(), l2 = new t4.h(), p2 = new t4.h(), v2 = new t4.h(), y2 = new t4.Ta(); for (h2.aj(); h2.ab(); ) for (var b2 = NaN, d2 = [0]; h2.Ia(); ) { if (a2 = h2.ia(), e2.N(a2.ac()), o2.N(a2.xc()), e2.scale(s4), o2.scale(s4), isNaN(b2) ? (i5.Yi(e2.x, NaN, d2), l2.N(e2)) : l2.N(p2), b2 = l2.x, u2 = i5.Nu(e2, o2)) { if (6.283185307179586 < o2.x - e2.x) for (; 6.283185307179586 < o2.x - e2.x; ) o2.x -= 6.283185307179586; if (-6.283185307179586 > o2.x - e2.x) for (; -6.283185307179586 > o2.x - e2.x; ) o2.x += 6.283185307179586; i5.Yi(o2.x, NaN, d2), p2.N(o2); } else c2.N(o2), i5.sU(c2), i5.Yi(c2.x, b2, d2), p2.na(d2[0] + c2.x, c2.y); 0.5 > Math.abs(p2.x - o2.x) && p2.N(o2), f2 ? (a2.Vw(0, y2), v2.N(l2), v2.scale(1 / s4), y2.Db(v2), (u2 = h2.xm()) ? r2.nf(y2) : r2.lineTo(y2), h2.Rn() && !n4.ec(h2.gb) && (a2.Vw(1, y2), v2.N(p2), v2.scale(1 / s4), y2.Db(v2), r2.lineTo(y2))) : ((u2 = h2.xm()) && r2.Cz(null, 0), a2 = r2.ea() - 1, v2.N(l2), v2.scale(1 / s4), r2.xf(a2, -1, v2), h2.Rn() && !n4.ec(h2.gb) && (v2.N(p2), v2.scale(1 / s4), r2.xf(a2, -1, v2))); } return r2; }, i5.nF = function(s4, n4, h2, r2, e2, o2, a2, u2, f2, c2, l2, p2) { var v2 = new t4.h(), y2 = new t4.h(), b2 = 0 < r2.compare(e2); i5.$I(b2, r2, e2, v2, y2), i5.oF(s4, n4, h2, v2, y2, o2, NaN, a2, u2, f2, c2, null, l2, p2), b2 && i5.$B(f2, c2, null, l2); }, i5.prototype.Uy = function(s4) { var n4 = s4.Ja(), h2 = s4.Ha(), r2 = [], e2 = null, o2 = null, a2 = 1 < s4.description.Ba; a2 && (e2 = new t4.ce(0), o2 = new t4.hg()); for (var u2 = [0], f2 = new t4.h(), c2 = new t4.h(), l2 = new t4.h(), p2 = new t4.h(); h2.ab(); ) for (u2[0] = 0; h2.Ia(); ) { var v2 = h2.ia(); f2.N(v2.ac()), c2.N(v2.xc()), f2.scale(this.fc), c2.scale(this.fc); var y2 = 0 < f2.compare(c2); i5.$I(y2, f2, c2, l2, p2), r2.length = 0, e2 != null && e2.Dh(0), 0 < this.uA ? i5.oF(this.Ub, this.lc, this.Ae, l2, p2, this.uA, this.tA, this.at, null, null, null, a2 ? e2 : null, r2, u2) : i5.VQ(this.Ub, this.lc, this.Ae, l2, p2, this.tA, this.at, a2 ? e2 : null, r2, u2), y2 && i5.$B(null, null, a2 ? e2 : null, r2), r2[0].N(v2.ac()), r2[r2.length - 1].N(v2.xc()); for (var b2 = 1; b2 < r2.length - 1; b2++) r2[b2].scale(1 / this.fc); a2 ? (y2 = i5.ZI(y2, v2, o2), i5.ND(h2.xm(), h2.Rn() && !s4.ec(h2.gb), v2, y2, e2, r2, n4)) : i5.MD(h2.xm(), h2.Rn() && !s4.ec(h2.gb), r2, n4); } return n4; }, i5.prototype.uX = function(s4) { var n4 = s4.Ja(), h2 = s4.Ha(), r2 = [], e2 = null, o2 = new t4.hg(), a2 = 1 < s4.description.Ba; for (a2 && (e2 = new t4.ce(0)); h2.ab(); ) for (; h2.Ia(); ) { var u2 = h2.ia(), f2 = u2.ac(), c2 = u2.xc(); f2 = 0 < f2.compare(c2), c2 = i5.ZI(f2, u2, o2), r2.length = 0, e2 != null && e2.Dh(0), i5.tX(this.Ub, this.lc, this.fc, c2, this.Sg, this.uA, this.tA, a2 ? e2 : null, r2), f2 && i5.$B(null, null, a2 ? e2 : null, r2), a2 ? i5.ND(h2.xm(), h2.Rn() && !s4.ec(h2.gb), u2, c2, e2, r2, n4) : i5.MD(h2.xm(), h2.Rn() && !s4.ec(h2.gb), r2, n4); } return n4; }, i5.MD = function(t5, i6, s4, n4) { t5 && n4.Cz(null, 0), t5 = n4.ea() - 1; var h2 = s4.slice(0); n4.kG(t5, h2, h2.length - 1), i6 && n4.xf(t5, -1, s4[s4.length - 1]); }, i5.ND = function(i6, s4, n4, h2, r2, e2, o2) { var a2 = new t4.Ta(); if (n4.Uo(a2), i6 ? o2.nf(a2) : o2.lineTo(a2), 2 < e2.length) { i6 = h2.Rb(); for (var u2 = 1; u2 < e2.length - 1; u2++) { var f2 = h2.HG(r2.get(u2) * i6); h2.Vw(f2, a2), a2.Db(e2[u2]), o2.lineTo(a2); } } s4 && (n4.Qo(a2), o2.lineTo(a2)); }, i5.oF = function(s4, n4, h2, r2, e2, o2, a2, u2, f2, c2, l2, p2, v2, y2) { var b2 = new t4.ha(0), d2 = new t4.ha(0), g2 = new t4.ha(0); t4.kb.xd(s4, n4, r2.x, r2.y, e2.x, e2.y, g2, b2, d2, h2), g2 = g2.u; var w2 = b2 = b2.u; 0 > w2 && (w2 += 6.283185307179586), 0 > (d2 = d2.u) && (d2 += 6.283185307179586), f2 != null && (f2[0] = g2), c2 != null && (c2[0] = w2), l2 != null && (l2[0] = d2), c2 = f2 = NaN, p2 != null && (f2 = ((c2 = t4.F.Ch(s4, n4)) - (l2 = t4.F.q(s4, n4, r2.y))) / g2, c2 = (c2 + l2) / g2), l2 = i5.Ou(r2, e2), d2 = i5.Mu(r2, e2), w2 = l2 || d2; var x2 = i5.zE(r2, e2, u2), m2 = new t4.ha(0), j2 = new t4.ha(0), k2 = new t4.h(), M2 = new t4.h(), z2 = new t4.h(); i5.Yi(r2.x, NaN, y2); var A2 = [y2[0]]; if (g2 <= o2) i5.Of(v2, r2), i5.Yi(e2.x, NaN, y2), p2 != null && p2.add(0), w2 ? (l2 && i5.eB(r2, e2, p2, v2), d2 && i5.cB(r2, e2, p2, v2)) : x2 ? i5.dB(r2, e2, b2, f2, c2, p2, v2) : 0 < a2 && (M2.na(r2.x - A2[0], r2.y), k2.na(e2.x - y2[0], e2.y), i5.Ty(s4, n4, h2, r2, g2, b2, M2, k2, 0, 1, a2, p2, v2, A2)), i5.Of(v2, e2); else { var N2 = g2 / ((o2 = 1 + t4.P.truncate(Math.ceil(g2 / o2))) - 1), I2 = new t4.h(), P2 = 0; i5.Of(v2, r2), I2.N(r2), M2.na(r2.x - y2[0], r2.y), p2 != null && p2.add(0); for (var C2 = 1; C2 < o2; C2++) { if (C2 < o2 - 1) { t4.kb.qj(s4, n4, r2.x, r2.y, C2 * N2, b2, m2, j2, h2), k2.na(m2.u, j2.u), i5.Yi(k2.x, I2.x, y2), z2.na(y2[0] + k2.x, k2.y); var B2 = C2 / (o2 - 1); } else i5.Yi(e2.x, NaN, y2), k2.na(e2.x - y2[0], e2.y), z2.N(e2), B2 = 1; w2 ? (C2 == 1 && l2 && i5.eB(r2, z2, p2, v2), C2 == o2 - 1 && d2 && i5.cB(I2, e2, p2, v2)) : x2 ? i5.yE(I2, z2, u2) && (r2.x < e2.x ? I2.x > z2.x && (y2[0] += 6.283185307179586, z2.na(y2[0] + k2.x, k2.y)) : I2.x < z2.x && (y2[0] -= 6.283185307179586, z2.na(y2[0] + k2.x, k2.y)), i5.dB(I2, z2, b2, f2, c2, p2, v2)) : 0 < a2 && i5.Ty(s4, n4, h2, r2, g2, b2, M2, k2, P2, B2, a2, p2, v2, A2), i5.Of(v2, z2), p2 != null && p2.add(B2), I2.N(z2), M2.N(k2), A2[0] = y2[0], P2 = B2; } } }, i5.VQ = function(s4, n4, h2, r2, e2, o2, a2, u2, f2, c2) { var l2 = new t4.ha(0), p2 = new t4.ha(0), v2 = new t4.ha(0); t4.kb.xd(s4, n4, r2.x, r2.y, e2.x, e2.y, v2, l2, p2, h2), p2 = v2.u, l2 = l2.u; var y2 = v2 = NaN; if (u2 != null) { y2 = t4.F.Ch(s4, n4); var b2 = t4.F.q(s4, n4, r2.y); v2 = (y2 - b2) / p2, y2 = (y2 + b2) / p2; } b2 = i5.Ou(r2, e2); var d2 = i5.Mu(r2, e2), g2 = b2 || d2; a2 = i5.zE(r2, e2, a2); var w2 = i5.Nu(r2, e2); w2 = g2 || a2 || w2, i5.Yi(r2.x, NaN, c2); var x2 = new t4.h(); i5.Of(f2, r2), x2.N(r2), u2 != null && u2.add(0), w2 ? (g2 ? (b2 && i5.eB(r2, e2, u2, f2), d2 && i5.cB(r2, e2, u2, f2)) : a2 && i5.dB(r2, e2, l2, v2, y2, u2, f2), i5.Yi(e2.x, NaN, c2), i5.Of(f2, e2)) : p2 <= o2 ? (i5.Yi(e2.x, NaN, c2), i5.Of(f2, e2)) : (v2 = new t4.h(), a2 = new t4.h(), v2.N(r2), a2.N(e2), v2.x -= c2[0], a2.x -= c2[0], -3.141592653589793 > a2.x ? a2.x += 6.283185307179586 : 3.141592653589793 < a2.x && (a2.x -= 6.283185307179586), i5.Ty(s4, n4, h2, r2, p2, l2, v2, a2, 0, 1, o2, u2, f2, c2), i5.Of(f2, e2), i5.Yi(e2.x, NaN, c2)), u2 != null && u2.add(1); }, i5.Ty = function(s4, n4, h2, r2, e2, o2, a2, u2, f2, c2, l2, p2, v2, y2) { var b2 = new t4.h(), d2 = new t4.h(); b2.na(a2.x + y2[0], a2.y), new t4.ha(0), new t4.ha(0), new t4.ha(0), new t4.ha(0); var g2 = new t4.ha(0), w2 = new t4.ha(0), x2 = new t4.ha(0), m2 = new t4.h(), j2 = new t4.h(), k2 = new t4.h(), M2 = new t4.h(); m2.N(a2), j2.N(u2), a2 = new t4.ce(0), u2 = new t4.ce(0), i5.wp(a2, j2), u2.add(c2); var z2 = new t4.h(), A2 = new t4.zb(), N2 = []; for (i5.SJ(4, N2); 0 < a2.size; ) { for (var I2, P2 = false, C2 = NaN, B2 = 0; 3 > B2; B2++) if (I2 = N2[B2] * c2 + (1 - N2[B2]) * f2, t4.kb.qj(s4, n4, r2.x, r2.y, I2 * e2, o2, g2, w2, h2), k2.na(g2.u, w2.u), B2 == 0 && (C2 = I2, M2.N(k2)), i5.NW(m2, k2, j2, A2), A2.ic(A2.fe(k2, true), z2), t4.kb.xd(s4, n4, k2.x, k2.y, z2.x, z2.y, x2, null, null, 2), x2.u > l2) { P2 = true; break; } P2 ? (j2.N(M2), c2 = C2, i5.wp(a2, j2), u2.add(c2)) : (i5.bB(a2), u2.Fn(u2.size - 1, 1, u2.size - 1), 0 < a2.size && (i5.Yi(j2.x, b2.x, y2), d2.na(y2[0] + j2.x, j2.y), i5.Of(v2, d2), b2.N(d2), p2 != null && p2.add(c2), m2.N(j2), f2 = c2, i5.iB(a2, j2), c2 = u2.get(u2.size - 1))); } }, i5.tX = function(s4, n4, h2, r2, e2, o2, a2, u2, f2) { var c2 = new t4.h(), l2 = new t4.h(), p2 = new t4.h(), v2 = new t4.h(), y2 = new t4.h(), b2 = new t4.h(), d2 = new t4.h(), g2 = new t4.h(), w2 = new t4.h(), x2 = new t4.h(), m2 = new t4.ha(0), j2 = new t4.ha(0), k2 = new t4.h(), M2 = [[], []], z2 = t4.Gg.Tb(e2) == 1; e2 = e2.Yd(0); var A2 = r2.ac(), N2 = r2.xc(); z2 ? (b2.na(A2.x * h2, A2.y * h2), d2.na(N2.x * h2, N2.y * h2)) : (M2[0][0] = A2.x, M2[0][1] = A2.y, M2[1][0] = N2.x, M2[1][1] = N2.y, t4.cb.wt(), b2.x = M2[0][0] * h2, b2.y = M2[0][1] * h2, d2.x = M2[1][0] * h2, d2.y = M2[1][1] * h2); var I2 = 0, P2 = 0, C2 = 1, B2 = r2.Qn(); c2.N(A2), l2.N(N2), N2 = new t4.ce(0); var D2 = new t4.ce(0), q2 = new t4.ce(0); i5.wp(N2, l2), i5.wp(D2, d2), q2.add(C2), i5.Of(f2, c2), u2 != null && u2.add(P2); var G2 = [], F2 = 0 < a2 ? B2 ? 5 : 3 : B2 ? 5 : 1; i5.SJ(F2, G2); for (var E2 = new t4.ha(0), T2 = new t4.ha(0), S2 = new t4.ha(0), O2 = new t4.ha(0), H2 = new t4.ha(0), J2 = new t4.ha(0), R2 = new t4.ha(0); 0 < D2.size; ) { var L2 = false, K2 = NaN; for (t4.kb.xd(s4, n4, b2.x, b2.y, d2.x, d2.y, E2, T2, null, 2), A2 = 0; A2 < F2; A2++) { if (A2 == 0) { if (!B2 && 0 >= a2 && E2.u <= o2 && 3.141592653589793 > Math.abs(b2.x - d2.x)) break; if (r2.Tx(P2, C2) <= e2) break; } var U2 = G2[A2] * C2 + (1 - G2[A2]) * P2; if (r2.ic(U2, p2), z2 ? g2.na(p2.x * h2, p2.y * h2) : (M2[0][0] = p2.x, M2[0][1] = p2.y, t4.cb.wt(), g2.x = M2[0][0] * h2, g2.y = M2[0][1] * h2), A2 == 0 && (K2 = U2, y2.N(p2), x2.N(g2), 0 < o2 && (E2.u > o2 || 3.141592653589793 <= Math.abs(b2.x - d2.x)))) { L2 = true; break; } if (B2 && 0 < o2) { if (t4.kb.xd(s4, n4, b2.x, b2.y, g2.x, g2.y, S2, null, null, 2), S2.u > o2 || 3.141592653589793 <= Math.abs(b2.x - g2.x)) { L2 = true; break; } } else if (0 < a2) { if (B2 ? (v2.GS(c2, l2, G2[A2]), z2 ? w2.na(v2.x * h2, v2.y * h2) : (M2[0][0] = v2.x, M2[0][1] = v2.y, t4.cb.wt(), w2.x = M2[0][0] * h2, w2.y = M2[0][1] * h2)) : (v2.N(p2), w2.N(g2)), t4.kb.xd(s4, n4, b2.x, b2.y, w2.x, w2.y, O2, null, null, 2), !(O2.u <= E2.u)) { L2 = true; break; } if (t4.kb.qj(s4, n4, b2.x, b2.y, O2.u, T2.u, m2, j2, 2), k2.na(m2.u, j2.u), t4.kb.xd(s4, n4, k2.x, k2.y, g2.x, g2.y, H2, null, null, 2), H2.u > a2) { L2 = true; break; } if (B2) { if (t4.kb.xd(s4, n4, k2.x, k2.y, w2.x, w2.y, J2, null, null, 2), J2.u > a2) { L2 = true; break; } if (t4.kb.xd(s4, n4, w2.x, w2.y, g2.x, g2.y, R2, null, null, 2), R2.u > a2) { L2 = true; break; } } } } L2 ? (l2.N(y2), d2.N(x2), C2 = K2, i5.wp(N2, l2), i5.wp(D2, d2), q2.add(C2)) : (i5.bB(N2), i5.bB(D2), q2.Fn(q2.size - 1, 1, q2.size - 1), i5.Of(f2, l2), I2 += E2.u, u2 != null && u2.add(I2), 0 < D2.size && (c2.N(l2), b2.N(d2), P2 = C2, i5.iB(N2, l2), i5.iB(D2, d2), C2 = q2.get(q2.size - 1))); } if (u2 != null) for (s4 = 1 / I2, A2 = 0; A2 < u2.size; A2++) u2.write(A2, u2.read(A2) * s4); }, i5.$B = function(t5, i6, s4, n4) { n4.reverse(), s4 != null && s4.pi(0, s4.size, 1), s4 = t5 != null ? t5[0] : NaN, n4 = i6 != null ? i6[0] : NaN, t5 != null && (t5[0] = n4), i6 != null && (i6[0] = s4); }, i5.$I = function(t5, i6, s4, n4, h2) { t5 ? (n4.N(s4), h2.N(i6)) : (n4.N(i6), h2.N(s4)); }, i5.ZI = function(t5, i6, s4) { return t5 ? (s4.create(i6.K()), i6.copyTo(s4.get()), s4.get().reverse(), s4.get()) : i6; }, i5.Yi = function(t5, i6, s4) { if (isNaN(i6)) { for (; 3.141592653589793 < s4[0] - t5; ) s4[0] -= 6.283185307179586; for (; 3.141592653589793 < t5 - s4[0]; ) s4[0] += 6.283185307179586; } else 3.141592653589793 < s4[0] + t5 - i6 ? s4[0] -= 6.283185307179586 : 3.141592653589793 < i6 - (s4[0] + t5) && (s4[0] += 6.283185307179586); }, i5.NW = function(t5, i6, s4, n4) { 3.141592653589793 > Math.abs(i6.x - t5.x) ? (n4.Ec(t5), 3.141592653589793 <= s4.x - t5.x ? n4.Sl(s4.x - 6.283185307179586, s4.y) : 3.141592653589793 <= t5.x - s4.x ? n4.Sl(s4.x + 6.283185307179586, s4.y) : n4.Sl(s4.x, s4.y)) : (n4.Ec(s4), 3.141592653589793 <= t5.x - s4.x ? n4.Sl(t5.x - 6.283185307179586, t5.y) : 3.141592653589793 <= s4.x - t5.x ? n4.Sl(t5.x + 6.283185307179586, t5.y) : n4.Sl(t5.x, t5.y)); }, i5.SJ = function(t5, i6) { for (var s4 = 0; s4 < t5; s4++) { var n4 = Math.ceil(s4 / 2) / (t5 + 1); s4 % 2 != 0 && (n4 = -n4), i6[s4] = 0.5 + n4; } }, i5.Ou = function(i6, s4) { return !!(t4.s.$(i6.y, 1.570796326794897) && !t4.s.$(s4.y, 1.570796326794897) || t4.s.$(i6.y, -1.570796326794897) && !t4.s.$(s4.y, -1.570796326794897)); }, i5.Mu = function(i6, s4) { return !!(t4.s.$(s4.y, 1.570796326794897) && !t4.s.$(i6.y, 1.570796326794897) || t4.s.$(s4.y, -1.570796326794897) && !t4.s.$(i6.y, -1.570796326794897)); }, i5.zE = function(s4, n4, h2) { return !(!i5.yE(s4, n4, h2) || t4.s.$(s4.y, 1.570796326794897) || t4.s.$(s4.y, -1.570796326794897) || t4.s.$(n4.y, 1.570796326794897) || t4.s.$(n4.y, -1.570796326794897)); }, i5.yE = function(t5, i6, s4) { return Math.abs(Math.abs(t5.x - i6.x) - 3.141592653589793) <= s4; }, i5.Nu = function(i6, s4) { return !!(t4.s.$(i6.y, 1.570796326794897) && t4.s.$(s4.y, 1.570796326794897) || t4.s.$(i6.y, -1.570796326794897) && t4.s.$(s4.y, -1.570796326794897)); }, i5.eB = function(s4, n4, h2, r2) { if (0 < s4.y) { var e2 = new t4.h(); e2.na(n4.x, 1.570796326794897); } else (e2 = new t4.h()).na(n4.x, -1.570796326794897); t4.s.$(s4.x, e2.x) || t4.s.$(n4.y, e2.y) || (i5.Of(r2, e2), h2 != null && h2.add(0)); }, i5.cB = function(s4, n4, h2, r2) { if (0 < n4.y) { var e2 = new t4.h(); e2.na(s4.x, 1.570796326794897); } else (e2 = new t4.h()).na(s4.x, -1.570796326794897); t4.s.$(n4.x, e2.x) || t4.s.$(s4.y, e2.y) || (i5.Of(r2, e2), h2 != null && h2.add(1)); }, i5.dB = function(s4, n4, h2, r2, e2, o2, a2) { t4.s.Dd(h2) ? (0 < 1.570796326794897 - s4.y && ((h2 = new t4.h()).na(s4.x, 1.570796326794897), i5.Of(a2, h2), o2 != null && o2.add(r2)), 0 < 1.570796326794897 - n4.y && ((h2 = new t4.h()).na(n4.x, 1.570796326794897), i5.Of(a2, h2), o2 != null && o2.add(r2))) : (0 < 1.570796326794897 + s4.y && ((h2 = new t4.h()).na(s4.x, -1.570796326794897), i5.Of(a2, h2), o2 != null && o2.add(e2)), 0 < 1.570796326794897 + n4.y && ((h2 = new t4.h()).na(n4.x, -1.570796326794897), i5.Of(a2, h2), o2 != null && o2.add(e2))); }, i5.sU = function(t5) { if (-3.141592653589793 > t5.x) for (; -3.141592653589793 > t5.x; ) t5.x += 6.283185307179586; if (3.141592653589793 < t5.x) for (; 3.141592653589793 < t5.x; ) t5.x -= 6.283185307179586; }, i5; }(); t4.ej = i4; }(V || (V = {})), function(t4) { t4.jp = function() { function i4() { } return i4.pj = function(s4, n4, h2) { if (s4 == null || n4 == null || !t4.cb.Xc(n4)) throw t4.i.O(); if (s4.B()) return s4; var r2 = s4, e2 = r2.K(); if (t4.ba.Ic(e2)) { r2 = t4.Jh.nj(s4, n4), s4 = new t4.l(), r2.A(s4), e2 = t4.ta.Xd(n4, s4, false); for (var o2 = t4.cb.ih(n4), a2 = Math.floor((s4.v - o2.v) / o2.S()) * o2.S() + o2.v; a2 < s4.C; ) a2 > s4.v + e2 && a2 < s4.C - e2 && (r2 = t4.Jh.ms(r2, n4, h2, true, a2)), a2 += o2.S(); } else { if (e2 == 197) return (s4 = new t4.Ea(r2.description)).bd(r2, false), i4.pj(s4, n4, h2); if (t4.ba.zd(e2)) return (s4 = new t4.Ua(r2.description)).oc(r2, true), i4.pj(s4, n4, h2); } return i4.Py(r2, n4); }, i4.Py = function(s4, n4) { if (s4 == null || n4 == null || !t4.cb.Xc(n4)) throw t4.i.O(); if (s4.B()) return s4; var h2 = s4.K(); return h2 == 197 ? (h2 = new t4.Ea(s4.description)).bd(s4, false) : t4.ba.zd(h2) ? (h2 = new t4.Ua(s4.description)).oc(s4, true) : h2 = s4, (h2 = t4.Jh.nj(h2, n4)).B() ? h2 : t4.Gg.Tb(n4) == 1 ? t4.Jh.Gn(h2, n4, 0, h2 != s4, 0) : i4.HQ(h2, n4, h2 != s4); }, i4.HQ = function(i5, s4, n4) { if (!t4.cb.Xc(s4)) throw t4.i.O(); if (i5.B()) return i5; var h2 = t4.cb.bf(s4), r2 = -180 * h2; return h2 *= 360, t4.Gg.Tb(s4) == 2 && (h2 = (r2 = t4.cb.ih(s4)).C, h2 -= r2 = r2.v), t4.Jh.Jp(i5, r2, h2, s4, n4, 0, true); }, i4; }(); }(V || (V = {})), function(t4) { t4.tY = function() { function t5() { } return t5.R = function(t6) { return 0 > t6 ? -t6 : t6; }, t5.Mb = function(i4, s4) { return 0 <= s4 ? t5.R(i4) : -t5.R(i4); }, t5.$ = function(i4, s4) { return i4 == s4 || t5.R(i4 - s4) <= t5.DC * (1 + (t5.R(i4) + t5.R(s4)) / 2); }, t5.Dd = function(i4) { return i4 == 0 || t5.R(i4) <= t5.DC; }, t5.Ch = function(i4, s4) { var n4 = (s4 = (1 - (s4 = Math.sqrt(1 - s4))) / (1 + s4)) * s4; return i4 / (1 + s4) * (1 + n4 * (0.25 + n4 * (0.015625 + 1 / 256 * n4))) * t5.yL; }, t5.yL = 1.5707963267948966, t5.DC = 3552713678800501e-30, t5; }(); }(V || (V = {})), function(t4) { var i4 = function(t5) { this.Xf = t5, this.Lk = this.Xf.getCode(), 0 > this.Lk && (this.Lk = 0); }; t4.vY = i4; var s4 = function() { function s5(t5) { t5 === void 0 && (t5 = null), this.Ej = null, this.Vn = false, t5 !== null && (this.Ej = new i4(t5)); } return s5.prototype.Fc = function() { return this.Ej != null ? this.Ej.Lk : 0; }, s5.prototype.Pf = function() { var t5 = new s5(); return this.copyTo(t5), t5; }, s5.prototype.copyTo = function(t5) { t5.Ej = this.Ej, t5.Vn = this.Vn; }, s5.prototype.Lz = function() { this.Vn = !this.Vn; }, s5.prototype.sm = function() { return this.Ej != null ? this.Ej.Xf : null; }, s5.prototype.FJ = function(s6) { if (0 >= s6) throw t4.i.O(); if (s6 != this.Fc()) { if ((s6 = t4.qf.geogtran(s6)) == null) throw t4.i.O("Geogtran not found."); this.Ej = new i4(s6); } }, s5.prototype.wz = function() { return this.Ej == null ? null : this.Ej.Xf.toString(); }, s5.prototype.lX = function(s6) { if (s6 == null) throw t4.i.O(); var n4 = null; try { n4 = t4.qf.fromString(t4.Tc.PE_TYPE_GEOGTRAN, s6); } catch (h2) { throw t4.i.O(); } this.Ej = new i4(n4); }, s5.prototype.Nb = function(t5) { return t5 == this || !(!(t5 instanceof s5) || (0 >= this.Fc() || this.Fc() != t5.Fc()) && !this.sm().isEqual(t5.sm())) && this.Vn == t5.Vn; }, s5.prototype.toString = function() { var t5 = "GeographicTransformation: " + this.wz(); return 200 < t5.length ? t5.substring(0, 197) + "... (" + t5.length.toString() + " characters)" : t5; }, s5.create = function(t5, i5) { var n4 = new s5(); return n4.FJ(t5), i5 && n4.Lz(), n4; }, s5.oP = function(t5, i5) { var n4 = new s5(); return n4.lX(t5), i5 && n4.Lz(), n4; }, s5; }(); t4.Cx = s4; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { } return t5.construct = function(i5, s5, n4, h2) { var r2 = new t5(); return r2.jw = i5, r2.kw = s5, r2.IY = n4, r2.JY = h2, r2; }, t5.zy = function(t6, i5) { return t6.jw == i5.jw ? t6.kw == i5.kw ? 0 : t6.kw < i5.kw ? -1 : 1 : t6.jw < i5.jw ? -1 : 1; }, t5; }(), s4 = function() { function t5() { this.qT = [], this.rT = [], this.rp(); } return t5.fz = function() { return t5.dK == null && (t5.dK = new t5()), t5.dK; }, t5.prototype.rp = function() { this.cD(this.qT), this.cD(this.rT); }, t5.prototype.cD = function(t6) { try { var s5 = []; s5 = s5.sort(i4.zy); for (var n4 = 0; n4 < s5.length; n4++) t6.push(s5[n4]); } catch (h2) { } }, t5; }(); t4.uY = s4; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { } return t5.prototype.sD = function(t6) { this.Gk = t6; }, t5.prototype.QM = function(t6) { this.Gb = t6; }, t5.prototype.rD = function(t6) { this.Ao = t6; }, t5.wE = function(t6) { return !(t6.B() || t6.K() != 1607 && t6.K() != 1736); }, t5.uE = function(t6) { return !(t6.B() || t6.K() != 1607 && t6.K() != 1736 || 20 > t6.I()); }, t5.vE = function(t6) { return !(t6.B() || t6.K() != 1607 && t6.K() != 1736 || 20 > t6.I()); }, t5; }(); t4.Vk = i4; }(V || (V = {})), function(t4) { t4.bc = function() { function i4() { } return i4.LT = function(i5) { var s4 = new t4.Ea(); return s4.rx(i5.gs(), i5.js()), s4.Aj(i5.gs(), i5.hs()), s4.Aj(i5.fs(), i5.hs()), s4.Aj(i5.fs(), i5.js()), s4; }, i4.Bh = function(i5, s4) { return i5 === null ? null : t4.Gx.local().W(i5, s4, null); }, i4.bY = function(i5, s4) { var n4 = t4.Ih.local(); return i5 = new t4.$c(i5), n4.W(i5, s4, null).next(); }, i4.km = function(i5, s4, n4) { return t4.lp.local().W(i5, s4, n4, null); }, i4.fp = function(i5, s4, n4) { return t4.Jx.local().W(i5, s4, n4, null); }, i4.NX = function(i5, s4, n4) { var h2 = t4.Jx.local(); for (i5 = new t4.$c(i5), s4 = new t4.$c(s4), n4 = h2.W(i5, s4, n4, null), h2 = []; (s4 = n4.next()) != null; ) h2.push(s4); return h2; }, i4.Nb = function(i5, s4, n4) { return t4.fj.local().W(3, i5, s4, n4, null); }, i4.NP = function(i5, s4, n4) { return t4.fj.local().W(4, i5, s4, n4, null); }, i4.JS = function(i5, s4, n4) { var h2 = t4.Xk.local(); for (i5 = new t4.$c(i5), s4 = new t4.$c(s4), n4 = h2.W(i5, s4, n4, null), h2 = []; (s4 = n4.next()) != null; ) h2.push(s4); return h2; }, i4.KP = function(i5, s4, n4) { var h2 = t4.lp.local(); for (i5 = new t4.$c(i5), s4 = new t4.$c(s4), n4 = h2.W(i5, s4, n4, null), h2 = []; (s4 = n4.next()) != null; ) h2.push(s4); return h2; }, i4.Fa = function(i5, s4, n4) { return t4.Xk.local().W(i5, s4, n4, null); }, i4.iY = function(i5, s4, n4) { return t4.fj.local().W(2, i5, s4, n4, null); }, i4.contains = function(i5, s4, n4) { return t4.fj.local().W(1, i5, s4, n4, null); }, i4.vP = function(i5, s4, n4) { return t4.fj.local().W(16, i5, s4, n4, null); }, i4.touches = function(i5, s4, n4) { return t4.fj.local().W(8, i5, s4, n4, null); }, i4.vU = function(i5, s4, n4) { return t4.fj.local().W(32, i5, s4, n4, null); }, i4.LS = function(i5, s4, n4) { return t4.fj.local().W(1073741824, i5, s4, n4, null); }, i4.sB = function(i5, s4, n4, h2) { return t4.tL.local().W(i5, s4, n4, h2, null); }, i4.ub = function(i5, s4, n4, h2) { var r2 = null; if (n4 != null) { if (r2 = n4.Id(), h2 != null && r2.Fc() != h2.Fc() && r2.od != h2.od) throw t4.i.Zk(); } else if (h2 != null) throw t4.i.O(); return i5 = t4.kL.local().W(i5, s4, null), r2 !== null && h2 !== null && (i5 = t4.Uc.Ph(i5, r2, h2)), i5; }, i4.clip = function(i5, s4, n4) { return t4.eL.local().W(i5, t4.l.construct(s4.gs(), s4.js(), s4.fs(), s4.hs()), n4, null); }, i4.fl = function(i5, s4, n4) { if (i5 == null || s4 == null) return null; for (i5 = t4.gL.local().W(true, i5, s4, n4, null), s4 = []; (n4 = i5.next()) != null; ) n4.B() || s4.push(n4); return s4.slice(0); }, i4.GN = function(s4, n4, h2, r2, e2, o2, a2, u2) { if (e2 === true) return i4.HN(s4, n4, h2, r2, o2, a2, u2); if (e2 = h2, n4 != null) { if (a2 = n4.Id(), r2 != null && a2.Fc() != r2.Fc()) { if (a2.od != r2.od) throw t4.i.Zk(); e2 = [], t4.Uc.RE(h2, h2.length, r2, a2, e2); } } else if (r2 != null) throw t4.i.O(); if (h2 = t4.uC.local(), o2) { for (s4 = new t4.$c(s4), n4 = h2.W(s4, n4, e2, o2, null), s4 = []; (o2 = n4.next()) != null; ) s4.push(o2); o2 = s4.slice(0); } else for (o2 = [], r2 = 0; r2 < s4.length; r2++) o2[r2] = h2.W(s4[r2], n4, e2[r2], null); return o2; }, i4.HN = function(i5, s4, n4, h2, r2, e2, o2) { if (s4 === null) throw t4.i.O(); if (h2 == null && (h2 = s4.Fc() !== 4326 ? s4.Id() : t4.Uc.ah(9001)), h2.od !== 0) throw t4.i.O(); if (t4.Uc.RE(n4, n4.length, h2, t4.Uc.ah(9001), n4), h2 = t4.zC.local(), r2) { for (i5 = new t4.$c(i5), s4 = h2.W(i5, s4, e2, n4, o2, false, r2, null), n4 = []; (e2 = s4.next()) != null; ) n4.push(e2); r2 = n4.slice(0); } else { r2 = []; for (var a2 = 0; a2 < i5.length; a2++) r2[a2] = h2.W(i5[a2], s4, e2, n4[a2], o2, false, null); } return r2; }, i4.buffer = function(i5, s4, n4, h2, r2, e2, o2) { var a2 = n4; if (r2 === false) { if (s4 != null) { if (r2 = s4.Id(), h2 != null && r2.Fc() != h2.Fc()) { if (r2.od != h2.od) throw t4.i.Zk(); a2 = t4.Uc.Ph(n4, h2, r2); } } else if (h2 != null) throw t4.i.O(); i5 = t4.uC.local().W(i5, s4, a2, null); } else { if (s4 === null) throw t4.i.O(); if (h2 == null && (h2 = s4.Fc() !== 4326 ? s4.Id() : t4.Uc.ah(9001)), h2.od !== 0) throw t4.i.O(); a2 = t4.Uc.Ph(n4, h2, t4.Uc.ah(9001)), i5 = t4.zC.local().W(i5, s4, e2, a2, o2, false, null); } return i5; }, i4.tU = function(i5, s4, n4, h2, r2, e2, o2) { if (s4 != null) { var a2 = s4.Id(); if (o2 != null && a2.Fc() != o2.Fc()) { if (a2.od != o2.od) throw t4.i.Zk(); n4 = t4.Uc.Ph(n4, o2, a2); } } else if (o2 != null) throw t4.i.O(); for (i5 = new t4.$c(i5), s4 = t4.CC.local().W(i5, s4, n4, h2, r2, e2, null), n4 = []; (h2 = s4.next()) != null; ) n4.push(h2); return n4.slice(0); }, i4.offset = function(i5, s4, n4, h2, r2, e2, o2) { if (s4 != null) { var a2 = s4.Id(); if (o2 != null && a2.Fc() != o2.Fc()) { if (a2.od != o2.od) throw t4.i.Zk(); n4 = t4.Uc.Ph(n4, o2, a2); } } else if (o2 != null) throw t4.i.O(); return t4.CC.local().W(i5, s4, n4, h2, r2, e2, null); }, i4.cP = function(i5) { return t4.wC.local().W(i5, null); }, i4.dP = function(i5, s4) { var n4 = t4.wC.local(); for (i5 = new t4.$c(i5), s4 = n4.W(i5, s4, null), n4 = []; (i5 = s4.next()) != null; ) n4.push(i5); return n4; }, i4.iz = function(i5, s4, n4) { return t4.Hx.local().iz(i5, s4, n4); }, i4.jz = function(i5, s4) { return t4.Hx.local().jz(i5, s4); }, i4.kz = function(i5, s4, n4, h2) { return t4.Hx.local().kz(i5, s4, n4, h2); }, i4.ZB = function(i5, s4) { return t4.$l.local().W(i5, s4, false, null); }, i4.WS = function(i5, s4) { return t4.$l.local().ts(i5, s4, null); }, i4.KQ = function(i5, s4, n4, h2, r2) { var e2 = t4.yC.local(); if (s4 != null) { if (s4 = s4.Id(), r2 != null && s4.Fc() != r2.Fc()) { if (s4.od != r2.od) throw t4.i.Zk(); n4 = t4.Uc.Ph(n4, r2, s4); } } else if (r2 != null) throw t4.i.O(); return e2.W(i5, n4, h2, null); }, i4.Sr = function(i5, s4, n4, h2) { var r2 = t4.Zl.local(); if (s4 != null) { if (s4 = s4.Id(), h2 != null && s4.Fc() != h2.Fc()) { if (s4.od != h2.od) throw t4.i.Zk(); n4 = t4.Uc.Ph(n4, h2, s4); } } else if (h2 != null) throw t4.i.O(); return r2.W(i5, n4, null); }, i4.Ry = function(i5, s4, n4, h2, r2) { r2 === void 0 && (r2 = 0); var e2 = t4.mL.local(); if (r2 == 4) throw t4.i.Fe(); if (r2 !== 0) throw t4.i.Fe(); if (h2 !== null) { if (h2.od !== 0) throw t4.i.O("Unit must be a linear unit type"); n4 = t4.Uc.Ph(n4, h2, t4.Uc.ah(9001)); } return e2.W(i5, n4, s4, r2, null); }, i4.QQ = function(s4, n4, h2, r2) { if (s4 === null) return 0; if (r2 == 4) throw t4.i.Fe(); if (r2 !== 0) throw t4.i.Fe(); if (s4.K() == 197) s4 = i4.LT(s4); else if (s4.K() != 1736) return 0; if (r2 = t4.cb.tc(n4), s4 = t4.cb.Bh(s4, n4, r2), s4 = t4.OK.RQ([s4])[0], h2 !== null) { if (h2.od !== 2) throw t4.i.O("Unit must be a area unit type"); s4 = t4.Uc.Ph(s4, t4.Uc.ah(109404), h2); } return s4; }, i4.TQ = function(i5, s4, n4, h2) { if (i5 = t4.oL.local().W(i5, s4, h2, null), n4 !== null) { if (n4.od !== 0) throw t4.i.O("Unit must be a linear unit type"); i5 = t4.Uc.Ph(i5, t4.Uc.ah(9001), n4); } return i5; }, i4.BU = function(i5, s4, n4) { if (i5 === null) return 0; var h2 = null; if (s4 != null) { if ((h2 = s4.Id()).od == 0 && ((h2 = t4.Uc.VF(h2)) == null && n4 !== null)) throw t4.i.O(); if (n4 != null && h2.Fc() != n4.Fc() && h2.od != n4.od) throw t4.i.Zk(); } else if (n4 != null) throw t4.i.O(); return i5.K() == 1736 || i5.K() == 197 ? (i5 = i5.He(), n4 !== null ? t4.Uc.Ph(i5, h2, n4) : i5) : 0; }, i4.CU = function(i5, s4, n4) { if (i5 === null || i5.B() || 1 > i5.Eb()) return 0; var h2 = null; if (s4 != null) { if (h2 = s4.Id(), n4 != null && h2.Fc() != n4.Fc() && h2.od != n4.od) throw t4.i.Zk(); } else if (n4 != null) throw t4.i.O(); i5.K() == 1736 || i5.K() == 197 ? s4 = i5.mg() : t4.ba.zd(i5.K()) ? (s4 = new t4.Ua(i5.description)).oc(i5, true) : s4 = i5, i5 = 0, s4 = s4.Ha(); for (var r2 = new t4.h(), e2 = new t4.h(); s4.ab(); ) for (; s4.Ia(); ) { var o2 = s4.ia(); o2.$p(r2), o2.Vr(e2), i5 += t4.h.ub(r2, e2); } return h2 !== null && n4 !== null && (i5 = t4.Uc.Ph(i5, h2, n4)), i5; }, i4.$O = function(t5) { return t5.points !== void 0 ? i4.fS(t5, t5.hasZ !== void 0 && t5.hasZ, t5.hasM !== void 0 && t5.hasM) : t5.rings !== void 0 ? i4.fG(t5.rings, t5.hasZ !== void 0 && t5.hasZ, t5.hasM !== void 0 && t5.hasM, "P") : t5.paths !== void 0 ? i4.fG(t5.paths, t5.hasZ !== void 0 && t5.hasZ, t5.hasM !== void 0 && t5.hasM, "L") : t5.x !== void 0 ? i4.gS(t5) : t5.xmin !== void 0 ? i4.eS(t5) : null; }, i4.gS = function(i5) { if (i5.x == null || i5.x == "NaN") return new t4.Ta(); var s4 = new t4.Ta(i5.x, i5.y); return i5.z !== void 0 && i5.z !== null && s4.oX(i5.z), i5.m !== void 0 && i5.m !== null && s4.ZW(i5.m), s4; }, i4.eS = function(i5) { if (i5.xmin == null || i5.xmin == "NaN") return new t4.Hh(); var s4 = new t4.Hh(i5.xmin, i5.ymin, i5.xmax, i5.ymax); return i5.zmin !== void 0 && i5.zmin !== null && s4.setInterval(1, 0, i5.zmin, i5.zmax), i5.mmin !== void 0 && i5.mmin !== null && s4.setInterval(2, 0, i5.mmin, i5.mmax), s4; }, i4.fS = function(i5, s4, n4) { var h2 = 0, r2 = new t4.de(), e2 = 3 * i5.points.length; e2 % 2 != 0 && e2++, 2 > e2 && (e2 = 2); var o2 = t4.P.truncate(3 * i5.points.length / 2); 4 > o2 ? o2 = 4 : 16 > o2 && (o2 = 16), e2 = t4.Zc.En(e2, 0); var a2 = t4.Zc.En(o2); o2 = t4.Zc.En(o2); for (var u2 = 0; u2 < i5.points.length; u2++) e2.write(2 * u2, i5.points[u2][0]), e2.write(2 * u2 + 1, i5.points[u2][1]), a2.write(u2, s4 || n4 ? i5.points[u2][2] : NaN), o2.write(u2, n4 && s4 ? i5.points[u2][3] : NaN), h2++; return h2 != 0 && (r2.resize(h2), r2.kn(0, e2)), s4 && (r2.se(1), r2.kn(1, a2)), n4 && (r2.se(2), r2.kn(2, s4 == 0 ? a2 : o2)), r2.Qc(16777215), r2; }, i4.fG = function(i5, s4, n4, h2) { var r2 = 0, e2 = 2; if (h2 == "P") { var o2 = new t4.Ea(); r2 = 1, e2 = 3; } else o2 = new t4.Ua(); for (var a2 = t4.Zc.Qh(0), u2 = t4.Zc.Or(0), f2 = 0, c2 = 0, l2 = [], p2 = [], v2 = 0; v2 < i5.length; v2++) { var y2 = i5[v2].length; if (l2[v2] = false, h2 === "P" && i5[v2][0][0] === i5[v2][i5[v2].length - 1][0] && i5[v2][0][1] === i5[v2][i5[v2].length - 1][1]) { var b2 = n4 == 0 || (i5[v2][0][3] === i5[v2][i5[v2].length - 1][3] || i5[v2][0][3] === void 0 && i5[v2][i5[v2].length - 1][3] === void 0); (s4 == 0 || i5[v2][0][2] === i5[v2][i5[v2].length - 1][2] || i5[v2][0][2] === void 0 && i5[v2][i5[v2].length - 1][2] === void 0) && b2 && (l2[v2] = true, --y2); } y2 >= e2 ? (p2[v2] = false, c2 += 1, a2.add(f2), u2.add(r2), f2 += y2) : p2[v2] = true; } for ((h2 = 3 * f2) % 2 != 0 && h2++, 2 > h2 && (h2 = 2), 4 > (v2 = t4.P.truncate(3 * f2 / 2)) ? v2 = 4 : 16 > v2 && (v2 = 16), h2 = t4.Zc.En(h2, 0), r2 = t4.Zc.En(v2), e2 = t4.Zc.En(v2), v2 = y2 = 0; v2 < i5.length; v2++) if (p2[v2] === false) for (b2 = 0; b2 < i5[v2].length; b2++) { var d2 = false; b2 === i5[v2].length - 1 && l2[v2] === true && (d2 = true), d2 || (h2.write(2 * y2, i5[v2][b2][0]), h2.write(2 * y2 + 1, i5[v2][b2][1]), r2.write(y2, s4 || n4 ? i5[v2][b2][2] : NaN), e2.write(y2, n4 && s4 ? i5[v2][b2][3] : NaN), y2++); } return f2 != 0 && (i5 = o2, a2.resize(c2), u2.resize(c2), 0 < f2 && (a2.add(f2), u2.add(0)), i5.kn(0, h2), i5.JJ(u2), i5.KJ(a2)), s4 && (o2.se(1), o2.kn(1, r2)), n4 && (o2.se(2), o2.kn(2, s4 == 0 ? r2 : e2)), o2.Qc(16777215), o2; }, i4; }(); }(V || (V = {})), function(t4) { t4.Dx = function() { function t5() { } return t5.dr = function(t6) { var i4, s4 = 0, n4 = t6.length, h2 = t6[0]; for (i4 = 0; i4 < n4 - 1; i4++) { var r2 = t6[i4 + 1]; s4 += (r2[0] - h2[0]) * (r2[1] + h2[1]), h2 = r2; } return 0 <= s4; }, t5.rotate = function(i4, s4, n4) { s4 = s4 * Math.PI / 180; var h2 = Math.cos(s4), r2 = Math.sin(s4); if (i4.paths !== void 0) { s4 = { paths: [] }; for (var e2 = 0; e2 < i4.paths.length; e2++) { for (var o2 = i4.paths[e2], a2 = [], u2 = 0; u2 < o2.length; u2++) { var f2 = o2[u2].slice(0); a2.push(f2); var c2 = h2 * (o2[u2][0] - n4.x) - r2 * (o2[u2][1] - n4.y) + n4.x, l2 = r2 * (o2[u2][0] - n4.x) + h2 * (o2[u2][1] - n4.y) + n4.y; f2[0] = c2, f2[1] = l2; } s4.paths.push(a2); } return s4; } if (i4.rings !== void 0) { for (s4 = { rings: [] }, e2 = 0; e2 < i4.rings.length; e2++) { o2 = i4.rings[e2], a2 = []; var p2 = t5.dr(o2); for (u2 = 0; u2 < o2.length; u2++) f2 = o2[u2].slice(0), a2.push(f2), c2 = h2 * (o2[u2][0] - n4.x) - r2 * (o2[u2][1] - n4.y) + n4.x, l2 = r2 * (o2[u2][0] - n4.x) + h2 * (o2[u2][1] - n4.y) + n4.y, f2[0] = c2, f2[1] = l2; t5.dr(a2) !== p2 && a2.reverse(), s4.rings.push(a2); } return s4; } if (i4.x !== void 0) return s4 = { x: h2 * (i4.x - n4.x) - r2 * (i4.y - n4.y) + n4.x, y: r2 * (i4.x - n4.x) + h2 * (i4.y - n4.y) + n4.y }, i4.z !== void 0 && (s4.z = i4.z), i4.m !== void 0 && (s4.m = i4.m), s4; if (i4.points !== void 0) { for (s4 = { points: [] }, i4 = i4.points, u2 = 0; u2 < i4.length; u2++) (e2 = i4[u2].slice(0))[0] = h2 * (i4[u2][0] - n4.x) - r2 * (i4[u2][1] - n4.y) + n4.x, e2[1] = r2 * (i4[u2][0] - n4.x) + h2 * (i4[u2][1] - n4.y) + n4.y, s4.points.push(e2); return s4; } return null; }, t5.DQ = function(i4, s4) { if (i4.paths !== void 0) { for (var n4 = { paths: [] }, h2 = 0; h2 < i4.paths.length; h2++) { for (var r2 = i4.paths[h2], e2 = [], o2 = 0; o2 < r2.length; o2++) { var a2 = r2[o2].slice(0); e2.push(a2); var u2 = s4.x - r2[o2][0]; a2[0] = r2[o2][0] + 2 * u2; } n4.paths.push(e2); } return n4; } if (i4.rings !== void 0) { for (n4 = { rings: [] }, h2 = 0; h2 < i4.rings.length; h2++) { r2 = i4.rings[h2]; var f2 = t5.dr(r2); for (e2 = [], o2 = 0; o2 < r2.length; o2++) a2 = r2[o2].slice(0), e2.push(a2), u2 = s4.x - r2[o2][0], a2[0] = r2[o2][0] + 2 * u2; t5.dr(e2) !== f2 && e2.reverse(), n4.rings.push(e2); } return n4; } if (i4.x !== void 0) return u2 = s4.x - i4.x, n4 = { x: i4.x + 2 * u2, y: i4.y }, i4.z !== void 0 && (n4.z = i4.z), i4.m !== void 0 && (n4.m = i4.m), n4; if (i4.points !== void 0) { for (n4 = { points: [] }, i4 = i4.points, o2 = 0; o2 < i4.length; o2++) h2 = i4[o2].slice(0), u2 = s4.x - h2[0], h2[0] += 2 * u2, n4.points.push(h2); return n4; } return i4.xmin !== void 0 ? (n4 = { v: i4.xmin, G: i4.ymin, C: i4.xmax, H: i4.ymax }, i4.zmin !== void 0 && (n4.zmin = i4.zmin, n4.zmax = i4.zmax), i4.mmin !== void 0 && (n4.mmin = i4.mmin, n4.mmax = i4.mmax), u2 = s4.x - i4.xmin, n4.xmax = i4.xmin + 2 * u2, u2 = s4.x - i4.xmax, n4.xmin = i4.xmax + 2 * u2, n4) : null; }, t5.EQ = function(i4, s4) { if (i4.paths !== void 0) { for (var n4 = { paths: [] }, h2 = 0; h2 < i4.paths.length; h2++) { for (var r2 = i4.paths[h2], e2 = [], o2 = 0; o2 < r2.length; o2++) { var a2 = r2[o2].slice(0); e2.push(a2); var u2 = s4.y - r2[o2][1]; a2[1] = r2[o2][1] + 2 * u2; } n4.paths.push(e2); } return n4; } if (i4.rings !== void 0) { for (n4 = { rings: [] }, h2 = 0; h2 < i4.rings.length; h2++) { r2 = i4.rings[h2]; var f2 = t5.dr(r2); for (e2 = [], o2 = 0; o2 < r2.length; o2++) a2 = r2[o2].slice(0), e2.push(a2), u2 = s4.y - r2[o2][1], a2[1] = r2[o2][1] + 2 * u2; t5.dr(e2) !== f2 && e2.reverse(), n4.rings.push(e2); } return n4; } if (i4.x !== void 0) return u2 = s4.y - i4.y, n4 = { y: i4.y + 2 * u2, x: i4.x }, i4.z !== void 0 && (n4.z = i4.z), i4.m !== void 0 && (n4.m = i4.m), n4; if (i4.points !== void 0) { for (n4 = { points: [] }, i4 = i4.points, o2 = 0; o2 < i4.length; o2++) h2 = i4[o2].slice(0), u2 = s4.y - h2[1], h2[1] += 2 * u2, n4.points.push(h2); return n4; } return i4.xmin !== void 0 ? (n4 = { v: i4.xmin, G: i4.ymin, C: i4.xmax, H: i4.ymax }, i4.zmin !== void 0 && (n4.zmin = i4.zmin, n4.zmax = i4.zmax), i4.mmin !== void 0 && (n4.mmin = i4.mmin, n4.mmax = i4.mmax), u2 = s4.y - i4.ymin, n4.ymax = i4.ymin + 2 * u2, u2 = s4.y - i4.ymax, n4.ymin = i4.ymax + 2 * u2, n4) : null; }, t5; }(); }(V || (V = {})), function(t4) { t4.TK = function() { function i4() { } return i4.Kg = function(i5, s4) { switch (s4 == null && (s4 = t4.ee.og()), i5) { case 33: return new t4.Ta(s4); case 322: return new t4.zb(s4); case 197: return new t4.Hh(s4); case 550: return new t4.de(s4); case 1607: return new t4.Ua(s4); case 1736: return new t4.Ea(s4); default: throw t4.i.ga("invalid argument."); } }, i4; }(); }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4) { this.Qe = t4.ja.rf(i6, -1), this.va = new t4.cu(), this.yl = s4; } return i5.prototype.sW = function(t5) { this.va.Bt(Math.min(this.Qe.size, t5)), this.va.hn(t5); }, i5.prototype.addElement = function(i6, s4) { if (s4 === void 0) return this.ZM(i6); s4 = t4.P.truncate(s4 % this.Qe.size); var n4 = this.Qe.get(s4); return n4 == -1 && (n4 = this.va.Rh(), this.Qe.set(s4, n4)), this.va.addElement(n4, i6); }, i5.prototype.ZM = function(i6) { var s4 = this.yl.ez(i6); s4 = t4.P.truncate(s4 % this.Qe.size); var n4 = this.Qe.get(s4); return n4 == -1 && (n4 = this.va.Rh(), this.Qe.set(s4, n4)), this.va.addElement(n4, i6); }, i5.prototype.kd = function(i6, s4) { if (s4 === void 0) this.EP(i6); else { s4 = t4.P.truncate(s4 % this.Qe.size); var n4 = this.Qe.get(s4); if (n4 == -1) throw t4.i.O(); for (var h2 = this.va.sc(n4), r2 = -1; h2 != -1; ) { var e2 = this.va.lb(h2); this.va.ka(h2) == i6 ? (this.va.kd(n4, r2, h2), this.va.sc(n4) == -1 && (this.va.eh(n4), this.Qe.set(s4, -1))) : r2 = h2, h2 = e2; } } }, i5.prototype.EP = function(i6) { var s4 = this.yl.ez(i6); s4 = t4.P.truncate(s4 % this.Qe.size); var n4 = this.Qe.get(s4); if (n4 == -1) throw t4.i.O(); for (var h2 = this.va.sc(n4), r2 = -1; h2 != -1; ) { var e2 = this.va.lb(h2); this.va.ka(h2) == i6 ? (this.va.kd(n4, r2, h2), this.va.sc(n4) == -1 && (this.va.eh(n4), this.Qe.set(s4, -1))) : r2 = h2, h2 = e2; } }, i5.prototype.kR = function(i6) { return i6 = t4.P.truncate(i6 % this.Qe.size), (i6 = this.Qe.get(i6)) == -1 ? -1 : this.va.sc(i6); }, i5.prototype.yR = function(t5) { return this.va.lb(t5); }, i5.prototype.wd = function(i6) { var s4 = this.yl.ez(this.ka(i6)); s4 = t4.P.truncate(s4 % this.Qe.size); var n4 = this.Qe.get(s4); if (n4 == -1) throw t4.i.O(); for (var h2 = this.va.sc(n4), r2 = -1; h2 != -1; ) { if (h2 == i6) return this.va.kd(n4, r2, h2), void (this.va.sc(n4) == -1 && (this.va.eh(n4), this.Qe.set(s4, -1))); r2 = h2, h2 = this.va.lb(h2); } throw t4.i.O(); }, i5.prototype.ka = function(t5) { return this.va.ka(t5); }, i5.prototype.clear = function() { this.Qe = t4.ja.rf(this.Qe.size, -1), this.va.clear(); }, i5.prototype.size = function() { return this.va.NF(); }, i5; }(); t4.YK = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { this.Ni = new t4.ad(3), this.va = new t4.ad(6), this.jT = false, this.je = -1; } return i5.prototype.hl = function(t5) { this.Ni.kd(t5); }, i5.prototype.Rw = function() { return this.Ni.De(); }, i5.prototype.dv = function(t5) { this.va.kd(t5); }, i5.prototype.UA = function() { return this.va.De(); }, i5.prototype.QB = function(t5, i6) { this.Ni.T(t5, 1, i6); }, i5.prototype.fx = function(t5, i6) { this.Ni.T(t5, 2, i6); }, i5.prototype.YW = function(t5, i6) { this.Ni.T(t5, 3, i6); }, i5.prototype.OB = function(t5, i6) { this.va.T(t5, 4, i6); }, i5.prototype.aX = function(t5, i6) { this.va.T(t5, 3, i6); }, i5.prototype.NJ = function(t5, i6) { this.va.T(t5, 2, i6); }, i5.prototype.Rh = function(t5) { var i6 = this.UA(); return this.va.T(i6, 3, this.je), this.va.T(i6, 4, 0), this.va.T(i6, 5, t5), this.je != -1 && this.NJ(this.je, i6), this.je = i6; }, i5.prototype.eh = function(t5) { this.FE(t5); var i6 = this.va.U(t5, 2), s4 = this.va.U(t5, 3); return i6 != -1 ? this.aX(i6, s4) : this.je = s4, s4 != -1 && this.NJ(s4, i6), this.dv(t5), s4; }, i5.prototype.Bt = function(t5) { this.va.Ee(t5); }, i5.prototype.JF = function(t5) { return this.va.U(t5, 5); }, i5.prototype.XW = function(t5, i6) { this.va.T(t5, 5, i6); }, i5.prototype.addElement = function(t5, i6) { return this.mS(t5, i6); }, i5.prototype.mS = function(t5, i6) { var s4 = this.Rw(); this.fx(s4, -1), this.va.U(t5, 0) == -1 && this.va.T(t5, 0, s4); var n4 = this.va.U(t5, 1); return this.QB(s4, n4), n4 != -1 && this.fx(n4, s4), this.va.T(t5, 1, s4), this.setData(s4, i6), this.OB(t5, this.ds(t5) + 1), this.jT && this.YW(s4, t5), s4; }, i5.prototype.kd = function(t5, i6) { var s4 = this.xe(i6), n4 = this.lb(i6); return s4 != -1 ? this.fx(s4, n4) : this.va.T(t5, 0, n4), n4 != -1 ? this.QB(n4, s4) : this.va.T(t5, 1, s4), this.hl(i6), this.OB(t5, this.ds(t5) - 1), n4; }, i5.prototype.hn = function(t5) { this.Ni.Ee(t5); }, i5.prototype.getData = function(t5) { return this.Ni.U(t5, 0); }, i5.prototype.setData = function(t5, i6) { this.Ni.T(t5, 0, i6); }, i5.prototype.lb = function(t5) { return this.Ni.U(t5, 2); }, i5.prototype.xe = function(t5) { return this.Ni.U(t5, 1); }, i5.prototype.sc = function(t5) { return this.va.U(t5, 0); }, i5.prototype.Gc = function(t5) { return this.va.U(t5, 1); }, i5.prototype.clear = function() { for (var t5 = this.je; t5 != -1; ) t5 = this.eh(t5); }, i5.prototype.FE = function(t5) { for (var i6 = this.Gc(t5); i6 != -1; ) { var s4 = i6; i6 = this.xe(s4), this.hl(s4); } this.va.T(t5, 0, -1), this.va.T(t5, 1, -1), this.OB(t5, 0); }, i5.prototype.B = function() { return this.Ni.size == 0; }, i5.prototype.NF = function() { return this.Ni.size; }, i5.prototype.ds = function(t5) { return this.va.U(t5, 4); }, i5.prototype.lz = function(t5) { return this.va.U(t5, 3); }, i5; }(); t4.kp = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { i6 === void 0 ? (this.ug = new t4.ad(2), this.va = new t4.ad(4), this.je = -1, this.Sv = true) : (this.ug = new t4.ad(2), this.va = new t4.ad(i6 ? 4 : 2), this.je = -1, this.Sv = i6); } return i5.prototype.hl = function(t5) { this.ug.kd(t5); }, i5.prototype.Rw = function() { return this.ug.De(); }, i5.prototype.dv = function(t5) { this.va.kd(t5); }, i5.prototype.UA = function() { return this.va.De(); }, i5.prototype.Rh = function() { var t5 = this.UA(); return this.Sv && (this.va.T(t5, 3, this.je), this.je != -1 && this.va.T(this.je, 2, t5), this.je = t5), t5; }, i5.prototype.eh = function(t5) { for (var i6 = this.sc(t5); i6 != -1; ) { var s4 = i6; i6 = this.lb(i6), this.hl(s4); } this.Sv && (i6 = this.va.U(t5, 2), s4 = this.va.U(t5, 3), i6 != -1 ? this.va.T(i6, 3, s4) : this.je = s4, s4 != -1 && this.va.T(s4, 2, i6)), this.dv(t5); }, i5.prototype.Bt = function(t5) { this.va.Ee(t5); }, i5.prototype.addElement = function(t5, i6) { var s4 = this.va.U(t5, 1), n4 = this.Rw(); return s4 != -1 ? this.ug.T(s4, 1, n4) : this.va.T(t5, 0, n4), this.va.T(t5, 1, n4), this.ug.T(n4, 0, i6), n4; }, i5.prototype.hn = function(t5) { this.ug.Ee(t5); }, i5.prototype.kd = function(t5, i6, s4) { i6 != -1 ? (this.ug.T(i6, 1, this.ug.U(s4, 1)), this.va.U(t5, 1) == s4 && this.va.T(t5, 1, i6)) : (this.va.T(t5, 0, this.ug.U(s4, 1)), this.va.U(t5, 1) == s4 && this.va.T(t5, 1, -1)), this.hl(s4); }, i5.prototype.Cy = function(t5, i6) { var s4 = this.va.U(t5, 1), n4 = this.va.U(i6, 0); n4 != -1 && (s4 != -1 ? this.ug.T(s4, 1, n4) : this.va.T(t5, 0, n4), this.va.T(t5, 1, this.va.U(i6, 1))), this.Sv && (t5 = this.va.U(i6, 2), s4 = this.va.U(i6, 3), t5 != -1 ? this.va.T(t5, 3, s4) : this.je = s4, s4 != -1 && this.va.T(s4, 2, t5)), this.dv(i6); }, i5.prototype.ka = function(t5) { return this.ug.U(t5, 0); }, i5.prototype.Uj = function(t5, i6) { this.ug.T(t5, 0, i6); }, i5.prototype.lb = function(t5) { return this.ug.U(t5, 1); }, i5.prototype.sc = function(t5) { return this.va.U(t5, 0); }, i5.prototype.Kn = function(t5) { return this.ka(this.sc(t5)); }, i5.prototype.clear = function() { this.ug.oj(true), this.va.oj(true), this.je = -1; }, i5.prototype.B = function() { return this.ug.size == 0; }, i5.prototype.NF = function() { return this.ug.size; }, i5.prototype.lz = function(t5) { return this.va.U(t5, 3); }, i5; }(); t4.cu = i4; }(V || (V = {})), function(t4) { t4.ta = function() { function i4() { } return i4.Xd = function(t5, i5, s4) { return i5 = i5.zr(), t5 = t5 != null && t5.Yd !== void 0 ? t5.Yd(0) : 0, s4 && (i5 *= 4, t5 *= 1.1), Math.max(t5, i5); }, i4.Gr = function(t5) { return 2 * Math.sqrt(2) * t5; }, i4.lN = function(t5) { return Math.sqrt(2) * t5; }, i4.mj = function(s4, n4, h2) { var r2 = new t4.l(); return n4.A(r2), i4.Xd(s4, r2, h2); }, i4.qE = function(t5, i5, s4) { return i5 = i5.Vg(1, 0).zr(), t5 = t5 != null ? t5.Yd(1) : 0, s4 && (i5 *= 4, t5 *= 1.1), Math.max(t5, i5); }, i4.ov = function(i5, s4) { var n4 = new t4.l(); return i5.yc(n4), i5 = new t4.l(), s4.yc(i5), n4.$b(i5), n4; }, i4.SN = function(i5) { var s4 = new t4.l(); if (i5.yc(s4), s4.B()) return null; var n4 = new t4.fu(s4, 8), h2 = -1, r2 = new t4.l(), e2 = false; do { for (var o2 = 0, a2 = i5.ea(); o2 < a2; o2++) { if (i5.Tj(o2, r2), (h2 = n4.Ez(o2, r2, h2)) == -1) { if (e2) throw t4.i.ga("internal error"); i5.Ap(s4, false), e2 = true, n4.reset(s4, 8); break; } e2 = false; } } while (e2); return n4; }, i4.hE = function(i5) { var s4 = new t4.l(); i5.yc(s4); for (var n4 = new t4.fu(s4, 8), h2 = -1, r2 = i5.Ha(), e2 = new t4.l(), o2 = false; r2.ab(); ) for (; r2.Ia(); ) { var a2 = r2.ia(), u2 = r2.xb(); if (a2.A(e2), (h2 = n4.Ez(u2, e2, h2)) == -1) { if (o2) throw t4.i.Ra(); i5.Ap(s4, false), o2 = true, n4.reset(s4, 8), r2.aj(); break; } } return n4; }, i4.lj = function(i5, s4) { var n4 = new t4.l(); i5.yc(n4); for (var h2 = new t4.fu(n4, 8), r2 = -1, e2 = new t4.l(), o2 = i5.Ha(), a2 = false; o2.ab(); ) for (; o2.Ia(); ) { var u2 = o2.ia(), f2 = o2.xb(); if (u2.A(e2), e2.isIntersecting(s4) && (r2 = h2.Ez(f2, e2, r2)) == -1) { if (a2) throw t4.i.ga("internal error."); i5.Ap(n4, false), a2 = true, h2.reset(n4, 8), o2.aj(); break; } } return h2; }, i4.iE = function(i5, s4) { for (var n4 = new t4.fu(s4, 8), h2 = new t4.h(), r2 = false, e2 = new t4.l(), o2 = 0; o2 < i5.I(); o2++) if (i5.D(o2, h2), s4.contains(h2) && (e2.L(h2), n4.xj(o2, e2) == -1)) { if (r2) throw t4.i.Ra(); r2 = true, o2 = new t4.l(), i5.Ap(o2, false), n4.reset(o2, 8), o2 = -1; } return n4; }, i4.fR = function(i5, s4, n4) { var h2 = new t4.l(), r2 = new t4.l(); i5.yc(h2), s4.yc(r2), h2.X(n4, n4), r2.X(n4, n4); var e2 = new t4.l(); e2.L(h2), e2.Fa(r2), i5 = i5.Ha(), s4 = s4.Ha(); var o2 = new t4.rC(); o2.VB(n4); var a2 = false; for (o2.jK(); i5.ab(); ) for (; i5.Ia(); ) i5.ia().A(h2), h2.isIntersecting(e2) && (a2 = true, (n4 = new t4.l()).L(h2), o2.CD(i5.xb(), n4)); if (o2.cF(), !a2) return null; for (h2 = false, o2.iK(); s4.ab(); ) for (; s4.Ia(); ) s4.ia().A(r2), r2.isIntersecting(e2) && (h2 = true, (n4 = new t4.l()).L(r2), o2.yD(s4.xb(), n4)); return o2.bF(), h2 ? o2 : null; }, i4.gR = function(i5, s4, n4, h2, r2) { var e2 = i5.K(), o2 = s4.K(), a2 = new t4.l(), u2 = new t4.l(); i5.yc(a2), s4.yc(u2), a2.X(n4, n4), u2.X(n4, n4); var f2 = new t4.l(); f2.L(a2), f2.Fa(u2); var c2 = new t4.rC(); c2.VB(n4); var l2 = false; c2.jK(); var p2 = 0; for (n4 = i5.ea(); p2 < n4; p2++) h2 && e2 == 1736 && !i5.Gv(p2) || (i5.Tj(p2, a2), a2.isIntersecting(f2) && (l2 = true, c2.CD(p2, a2))); if (c2.cF(), !l2) return null; for (i5 = false, c2.iK(), h2 = 0, n4 = s4.ea(); h2 < n4; h2++) r2 && o2 == 1736 && !s4.Gv(h2) || (s4.Tj(h2, u2), u2.isIntersecting(f2) && (i5 = true, c2.yD(h2, u2))); return c2.bF(), i5 ? c2 : null; }, i4.Tu = function(i5, s4, n4) { if (i5 != s4) for (var h2 = 0; h2 < n4; h2++) i5[h2] == null ? i5[h2] = t4.h.cl(s4[h2]) : i5[h2].N(s4[h2]); }, i4.Ey = function(t5, i5, s4, n4) { var h2 = 0; for (n4 += 0; h2 < n4; s4++, h2++) t5[h2] == null && (t5[h2] = [0, 0]), t5[h2][0] = i5[s4].x, t5[h2][1] = i5[s4].y; }, i4.Dy = function(i5, s4, n4, h2) { var r2 = s4, e2 = 0; for (s4 = h2 + s4; r2 < s4; e2++, r2++) i5[r2] == null ? i5[r2] = t4.h.construct(n4[e2][0], n4[e2][1]) : i5[r2].na(n4[e2][0], n4[e2][1]); }, i4.eP = function(i5, s4, n4) { if (i5 != s4) for (var h2 = 0; h2 < n4; h2++) i5[h2] == null ? i5[h2] = new t4.Ta(s4[h2]) : s4[h2].copyTo(i5[h2]); }, i4.pE = function(t5, i5, s4, n4) { var h2 = 0; return t5 != null && (h2 = t5.Yd(0), n4 && !s4 || t5 == null || (h2 += 1.01 * t5.pz(0))), s4 && (i5 *= 4, h2 *= 1.01), Math.max(h2, i5); }, i4.oy = function(t5, s4, n4) { return i4.pE(t5, s4.zr(), n4, false); }, i4.aO = function(s4, n4) { var h2 = new t4.l(); return n4.A(h2), i4.oy(s4, h2, true); }, i4.py = function(t5, s4) { return i4.pE(t5, s4.zr(), false, true); }, i4.Ju = function(s4, n4) { var h2 = new t4.l(); return n4.A(h2), i4.py(s4, h2); }, i4.uG = function(i5, s4, n4, h2) { h2 *= h2; var r2 = new t4.h(); if (r2.vc(i5, s4), (i5 = new t4.h()).vc(n4, s4), s4 = r2.Tk(), n4 = i5.Tk(), s4 <= h2 && n4 <= h2) return true; var e2 = t4.mc.ox(r2.yi(i5)); return (e2 <= h2 * s4 || e2 <= h2 * n4) && 0 <= r2.Sh(i5); }, i4.YJ = function(i5, s4, n4, h2) { for (var r2 = 0; r2 < s4; r2++) { var e2 = i5[r2].y, o2 = t4.P.Sk(e2, n4, h2); o2 != e2 && (i5[r2].y = o2); } }, i4; }(); }(V || (V = {})), function(t4) { var i4, s4, n4 = function() { function t5(t6) { this.Za = t6; } return t5.prototype.compare = function(t6, i5, s5) { t6 = t6.ka(s5), s5 = this.Za.pk(i5); var n5 = this.Za.pk(t6); return s5 < n5 ? -1 : s5 == n5 ? e2.iq(i5) && e2.Iv(t6) ? -1 : e2.iq(t6) && e2.Iv(i5) ? 1 : 0 : 1; }, t5; }(), h2 = function() { function t5(t6) { this.Za = t6; } return t5.prototype.qr = function(t6, i5, s5) { this.Za.yX(s5, t6, i5); }, t5.prototype.bq = function(t6) { return this.Za.pk(t6); }, t5; }(); (s4 = i4 || (i4 = {}))[s4.initialize = 0] = "initialize", s4[s4.pIn = 1] = "pIn", s4[s4.pL = 2] = "pL", s4[s4.pR = 3] = "pR", s4[s4.pT = 4] = "pT", s4[s4.right = 5] = "right", s4[s4.left = 6] = "left", s4[s4.all = 7] = "all"; var r2 = function() { function i5() { this.Za = null, this.Si = new t4.Oc(), this.ji = new t4.ja(0), this.sg = [0, 0]; } return i5.prototype.Zi = function(t5, i6) { this.Si.pa = t5.pa - i6, this.Si.wa = t5.wa + i6, this.ji.resize(0), this.he = 0, this.sg[0] = 0; }, i5.prototype.yB = function(i6, s5, n5) { if (i6 > s5) throw t4.i.O(); this.Si.pa = i6 - n5, this.Si.wa = s5 + n5, this.ji.resize(0), this.he = 0, this.sg[0] = 0; }, i5.prototype.Vo = function(t5, i6) { this.Si.pa = t5 - i6, this.Si.wa = t5 + i6, this.ji.resize(0), this.he = 0, this.sg[0] = 0; }, i5.prototype.next = function() { if (!this.Za.nq) throw t4.i.Hb(); if (0 > this.he) return -1; for (var i6 = true; i6; ) switch (this.sg[this.he]) { case 1: i6 = this.xU(); break; case 2: i6 = this.yU(); break; case 3: i6 = this.zU(); break; case 4: i6 = this.AU(); break; case 5: i6 = this.xW(); break; case 6: i6 = this.cT(); break; case 7: i6 = this.nN(); break; case 0: i6 = this.Bz(); break; default: throw t4.i.Ra(); } return this.Qg != -1 ? this.Op() >> 1 : -1; }, i5.construct = function(t5) { var s5 = new i5(); return s5.Za = t5, s5.ji.Jb(20), s5.he = -1, s5; }, i5.prototype.Bz = function() { return this.Qg = this.pH = this.Oi = this.Mc = -1, this.Za.me != null && 0 < this.Za.me.size ? (this.sg[0] = 1, this.Oi = this.Za.kf, true) : (this.he = -1, false); }, i5.prototype.xU = function() { if (this.Mc = this.Oi, this.Mc == -1) return this.Qg = this.he = -1, false; var t5 = this.Za.Pp(this.Mc); return this.Si.wa < t5 ? (t5 = this.Za.nk(this.Mc), this.Oi = this.Za.sj(this.Mc), t5 != -1 && (this.gi = this.Za.ml(t5), this.sg[++this.he] = 6), true) : t5 < this.Si.pa ? (t5 = this.Za.nk(this.Mc), this.Oi = this.Za.mk(this.Mc), t5 != -1 && (this.gi = this.Za.bs(t5), this.sg[++this.he] = 5), true) : (this.sg[this.he] = 2, this.pH = this.Mc, t5 = this.Za.nk(this.Mc), this.Oi = this.Za.sj(this.Mc), t5 != -1 && (this.gi = this.Za.ml(t5), this.sg[++this.he] = 7), true); }, i5.prototype.yU = function() { if (this.Mc = this.Oi, this.Mc == -1) return this.sg[this.he] = 3, this.Oi = this.Za.mk(this.pH), true; if (this.Za.Pp(this.Mc) < this.Si.pa) { var t5 = this.Za.nk(this.Mc); return this.Oi = this.Za.mk(this.Mc), t5 != -1 && (this.gi = this.Za.bs(t5), this.sg[++this.he] = 5), true; } return t5 = this.Za.nk(this.Mc), this.Oi = this.Za.sj(this.Mc), t5 != -1 && (this.gi = this.Za.ml(t5), this.sg[++this.he] = 7), (t5 = this.Za.mk(this.Mc)) != -1 && this.ji.add(t5), true; }, i5.prototype.zU = function() { if (this.Mc = this.Oi, this.Mc == -1) return this.sg[this.he] = 4, true; if (this.Si.wa < this.Za.Pp(this.Mc)) { var t5 = this.Za.nk(this.Mc); return this.Oi = this.Za.sj(this.Mc), t5 != -1 && (this.gi = this.Za.ml(t5), this.sg[++this.he] = 6), true; } return t5 = this.Za.nk(this.Mc), this.Oi = this.Za.mk(this.Mc), t5 != -1 && (this.gi = this.Za.ml(t5), this.sg[++this.he] = 7), (t5 = this.Za.sj(this.Mc)) != -1 && this.ji.add(t5), true; }, i5.prototype.AU = function() { if (this.ji.size == 0) return this.Qg = this.he = -1, false; this.Mc = this.ji.get(this.ji.size - 1), this.ji.resize(this.ji.size - 1); var t5 = this.Za.nk(this.Mc); return t5 != -1 && (this.gi = this.Za.ml(t5), this.sg[++this.he] = 7), this.Za.sj(this.Mc) != -1 && this.ji.add(this.Za.sj(this.Mc)), this.Za.mk(this.Mc) != -1 && this.ji.add(this.Za.mk(this.Mc)), true; }, i5.prototype.cT = function() { return this.Qg = this.gi, this.Qg != -1 && e2.iq(this.Op()) && this.Za.pk(this.Op()) <= this.Si.wa ? (this.gi = this.MF(), false) : (this.he--, true); }, i5.prototype.xW = function() { return this.Qg = this.gi, this.Qg != -1 && e2.Iv(this.Op()) && this.Za.pk(this.Op()) >= this.Si.pa ? (this.gi = this.JR(), false) : (this.he--, true); }, i5.prototype.nN = function() { return this.Qg = this.gi, this.Qg != -1 && e2.iq(this.Op()) ? (this.gi = this.MF(), false) : (this.he--, true); }, i5.prototype.MF = function() { return this.Za.Tf ? this.Za.ag.lb(this.Qg) : this.Za.Vi.lb(this.Qg); }, i5.prototype.JR = function() { return this.Za.Tf ? this.Za.ag.xe(this.Qg) : this.Za.Vi.xe(this.Qg); }, i5.prototype.Op = function() { return this.Za.Tf ? this.Za.ag.ka(this.Qg) : this.Za.Vi.getData(this.Qg); }, i5; }(); t4.wY = r2; var e2 = function() { function i5(t5) { this.Cm = this.bi = this.ag = this.Vi = this.Mm = this.Gj = this.me = this.Hj = null, this.Tf = t5, this.nq = this.Uv = false; } return i5.prototype.mr = function() { this.Ok(true); }, i5.prototype.Dr = function(i6, s5) { if (!this.Uv) throw t4.i.Hb(); this.Hj.push(new t4.Oc(i6, s5)); }, i5.prototype.Hp = function() { if (!this.Uv) throw t4.i.ga("invalid call"); this.Uv = false, this.nq = true, this.Tf || (this.oS(), this.aw = this.Hj.length); }, i5.prototype.xj = function(i6) { if (!this.Tf || !this.nq) throw t4.i.O("invalid call"); if (this.kf == -1) { var s5 = this.Hj.length; if (this.dA) { var n5 = new t4.ja(0); n5.Jb(2 * s5), this.WI(n5), this.bi.Jb(2 * s5), this.bi.resize(0), this.VI(n5), this.Mm.resize(s5, -1), this.Mm.Yj(-1, 0, s5), this.dA = false; } else this.Mm.Yj(-1, 0, s5); this.kf = this.Vu(); } s5 = this.jG(i6 << 1, this.kf), n5 = this.ag.addElement(1 + (i6 << 1), this.rz(s5)), this.PJ(s5, n5), this.Mm.set(i6, s5), this.aw++; }, i5.prototype.remove = function(i6) { if (!this.Tf || !this.nq) throw t4.i.ga("invalid call"); var s5 = this.Mm.get(i6); if (s5 == -1) throw t4.i.O("the interval does not exist in the interval tree"); this.Mm.set(i6, -1), this.aw--; var n5 = this.rz(s5), h3 = this.ag.SR(n5); this.ag.wd(this.qR(s5), n5), this.ag.wd(this.MR(s5), n5), (i6 = this.ag.size(n5)) == 0 && (this.ag.GP(n5), this.TJ(h3, -1)), this.Gj.kd(s5), n5 = this.OF(h3); var r3 = this.sj(h3), e3 = this.mk(h3); for (s5 = 0; !(0 < i6 || h3 == this.kf || r3 != -1 && e3 != -1); ) h3 == this.sj(n5) ? r3 != -1 ? (this.Pk(n5, r3), this.Wj(r3, n5), this.Pk(h3, -1)) : e3 != -1 ? (this.Pk(n5, e3), this.Wj(e3, n5), this.Rk(h3, -1)) : this.Pk(n5, -1) : r3 != -1 ? (this.Rk(n5, r3), this.Wj(r3, n5), this.Pk(h3, -1)) : e3 != -1 ? (this.Rk(n5, e3), this.Wj(e3, n5), this.Rk(h3, -1)) : this.Rk(n5, -1), this.Wj(h3, -1), s5++, h3 = n5, i6 = (n5 = this.nk(h3)) != -1 ? this.ag.size(n5) : 0, r3 = this.sj(h3), e3 = this.mk(h3), n5 = this.OF(h3); }, i5.prototype.reset = function() { if (!this.Tf || !this.nq) throw t4.i.O("invalid call"); this.Ok(false); }, i5.prototype.size = function() { return this.aw; }, i5.prototype.getIterator = function() { return r2.construct(this); }, i5.prototype.WI = function(t5) { for (var i6 = this.Hj.length, s5 = 0; s5 < 2 * i6; s5++) t5.add(s5); this.zX(t5, 2 * i6); }, i5.prototype.VI = function(t5) { for (var i6 = NaN, s5 = 0; s5 < t5.size; s5++) { var n5 = t5.get(s5), h3 = this.pk(n5); h3 != i6 && (this.bi.add(n5), i6 = h3); } }, i5.prototype.oS = function() { var i6 = this.Hj.length, s5 = new t4.ja(0); s5.Jb(2 * i6), this.WI(s5), this.bi.Jb(2 * i6), this.bi.resize(0), this.VI(s5), this.Gj.Ee(i6), this.Vi.hn(2 * i6); var n5 = t4.Zc.Qh(i6); for (n5.Yj(-1, 0, i6), this.kf = this.Vu(), i6 = 0; i6 < s5.size; i6++) { var h3 = s5.get(i6), r3 = n5.get(h3 >> 1); r3 != -1 ? this.PJ(r3, this.Vi.addElement(this.rz(r3), h3)) : (r3 = this.jG(h3, this.kf), n5.set(h3 >> 1, r3)); } }, i5.prototype.jG = function(i6, s5) { var n5 = s5, h3 = s5, r3 = -1, e3 = 0, o2 = this.bi.size - 1, a2 = 0, u2 = i6 >> 1, f2 = NaN, c2 = NaN, l2 = true, p2 = this.xR(u2); for (u2 = this.uR(u2); l2; ) { e3 < o2 ? (a2 = e3 + t4.P.truncate((o2 - e3) / 2), this.bz(n5) == -1 && this.zJ(n5, this.bi.get(a2), this.bi.get(a2 + 1))) : this.bz(n5) == -1 && this.zJ(n5, this.bi.get(e3), this.bi.get(e3)); var v2 = this.Pp(n5); if (u2 < v2) s5 != -1 && (s5 == n5 ? (h3 = n5, f2 = v2, c2 = (s5 = this.sj(n5)) != -1 ? this.Pp(s5) : NaN) : c2 > v2 && (v2 < f2 ? this.Pk(h3, n5) : this.Rk(h3, n5), this.Rk(n5, s5), this.Tf && (this.Wj(n5, h3), this.Wj(s5, n5)), h3 = n5, f2 = v2, s5 = -1, c2 = NaN)), (o2 = this.rR(n5)) == -1 && (o2 = this.Vu(), this.VW(n5, o2)), n5 = o2, o2 = a2; else if (p2 > v2) s5 != -1 && (s5 == n5 ? (h3 = n5, f2 = v2, c2 = (s5 = this.mk(n5)) != -1 ? this.Pp(s5) : NaN) : c2 < v2 && (v2 < f2 ? this.Pk(h3, n5) : this.Rk(h3, n5), this.Pk(n5, s5), this.Tf && (this.Wj(n5, h3), this.Wj(s5, n5)), h3 = n5, f2 = v2, s5 = -1, c2 = NaN)), (e3 = this.NR(n5)) == -1 && (e3 = this.Vu(), this.fX(n5, e3)), n5 = e3, e3 = a2 + 1; else { (l2 = this.nk(n5)) == -1 && (l2 = this.tP(n5), this.TJ(n5, l2)); var y2 = this.$M(l2, i6); r3 = this.rP(), this.iX(r3, l2), this.UW(r3, y2), n5 != s5 && (v2 < f2 ? this.Pk(h3, n5) : this.Rk(h3, n5), this.Tf && this.Wj(n5, h3), s5 != -1 && (c2 < v2 ? this.Pk(n5, s5) : this.Rk(n5, s5), this.Tf && this.Wj(s5, n5))), l2 = false; } } return r3; }, i5.prototype.Vu = function() { return this.me.De(); }, i5.prototype.tP = function(t5) { return this.Tf ? this.ag.Rr(t5) : this.Vi.Rh(t5); }, i5.prototype.rP = function() { return this.Gj.De(); }, i5.prototype.Ok = function(i6) { i6 ? (this.Uv = this.dA = true, this.nq = false, this.bi == null ? this.bi = t4.Zc.Qh(0) : this.bi.resize(0), this.Hj == null ? this.Hj = [] : this.Hj.length = 0) : this.dA = false, this.Tf ? this.Mm == null ? (this.Mm = t4.Zc.Qh(0), this.ag = new t4.Zj(), this.ag.Wo(new n4(this))) : this.ag.clear() : this.Vi == null ? this.Vi = new t4.kp() : this.Vi.clear(), this.me == null ? (this.Gj = new t4.ad(3), this.me = new t4.ad(this.Tf ? 8 : 7)) : (this.Gj.oj(false), this.me.oj(false)), this.kf = -1, this.aw = 0; }, i5.prototype.zJ = function(t5, i6, s5) { this.OW(t5, i6), this.PW(t5, s5); }, i5.prototype.Pp = function(t5) { var i6 = this.bz(t5); return i6 == -1 ? NaN : (i6 = this.pk(i6)) == (t5 = this.pk(this.aR(t5))) ? i6 : 0.5 * (i6 + t5); }, i5.prototype.OW = function(t5, i6) { this.me.T(t5, 0, i6); }, i5.prototype.PW = function(t5, i6) { this.me.T(t5, 1, i6); }, i5.prototype.VW = function(t5, i6) { this.me.T(t5, 3, i6); }, i5.prototype.fX = function(t5, i6) { this.me.T(t5, 4, i6); }, i5.prototype.TJ = function(t5, i6) { this.me.T(t5, 2, i6); }, i5.prototype.Pk = function(t5, i6) { this.me.T(t5, 5, i6); }, i5.prototype.Rk = function(t5, i6) { this.me.T(t5, 6, i6); }, i5.prototype.Wj = function(t5, i6) { this.me.T(t5, 7, i6); }, i5.prototype.iX = function(t5, i6) { this.Gj.T(t5, 0, i6); }, i5.prototype.$M = function(t5, i6) { return this.Tf ? this.ag.addElement(i6, t5) : this.Vi.addElement(t5, i6); }, i5.prototype.UW = function(t5, i6) { this.Gj.T(t5, 1, i6); }, i5.prototype.PJ = function(t5, i6) { this.Gj.T(t5, 2, i6); }, i5.prototype.ml = function(t5) { return this.Tf ? this.ag.sc(t5) : this.Vi.sc(t5); }, i5.prototype.bs = function(t5) { return this.Tf ? this.ag.Gc(t5) : this.Vi.Gc(t5); }, i5.iq = function(t5) { return (1 & t5) == 0; }, i5.Iv = function(t5) { return (1 & t5) == 1; }, i5.prototype.bz = function(t5) { return this.me.U(t5, 0); }, i5.prototype.aR = function(t5) { return this.me.U(t5, 1); }, i5.prototype.nk = function(t5) { return this.me.U(t5, 2); }, i5.prototype.rR = function(t5) { return this.me.U(t5, 3); }, i5.prototype.NR = function(t5) { return this.me.U(t5, 4); }, i5.prototype.sj = function(t5) { return this.me.U(t5, 5); }, i5.prototype.mk = function(t5) { return this.me.U(t5, 6); }, i5.prototype.OF = function(t5) { return this.me.U(t5, 7); }, i5.prototype.rz = function(t5) { return this.Gj.U(t5, 0); }, i5.prototype.qR = function(t5) { return this.Gj.U(t5, 1); }, i5.prototype.MR = function(t5) { return this.Gj.U(t5, 2); }, i5.prototype.xR = function(t5) { return this.Hj[t5].pa; }, i5.prototype.uR = function(t5) { return this.Hj[t5].wa; }, i5.prototype.zX = function(i6, s5) { this.Cm == null && (this.Cm = new t4.Zt()); var n5 = new h2(this); this.Cm.sort(i6, 0, s5, n5); }, i5.prototype.yX = function(t5, s5, n5) { var h3 = this; t5.Wd(s5, n5, function(t6, s6) { var n6 = h3.pk(t6), r3 = h3.pk(s6); return n6 < r3 || n6 == r3 && i5.iq(t6) && i5.Iv(s6) ? -1 : 1; }); }, i5.prototype.pk = function(t5) { var s5 = this.Hj[t5 >> 1]; return i5.iq(t5) ? s5.pa : s5.wa; }, i5; }(); t4.ur = e2; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { if (i6 == null) throw t4.i.ga("Invalid arguement"); this.hf = i6; var s4 = i6.hR(); s4.aS() ? i6.ef.CG() ? this.mo = t4.ui.PannableFold : this.mo = t4.ui.Clip : this.mo = t4.ui.DontClip, s4.bS() ? i6.Zf.CG() ? this.Sm = t4.ui.PannableFold : this.Sm = t4.ui.Clip : this.Sm = t4.ui.DontClip, this.Dm = s4.Lr, this.gH = s4.Xu, i6 = this.hf.mH, this.VG = i6.ks(2147483648), this.Wv = i6.ks(1073741824); } return i5.Bh = function(t5, i6, s4) { return i6.yw.Bh(t5, s4); }, i5.Tt = function(t5, i6, s4, n4) { return t5.yw.Tt(i6, s4, n4); }, i5.St = function(t5, i6, s4, n4) { if (s4 = 0 > s4 ? i6.length : s4, (t5 = t5.yw.Tt(i6, s4, n4)) == s4) return t5; for (var h2 = i6 = 0; h2 < s4; h2++) { var r2 = n4[h2]; r2.isNaN() || (i6 < h2 && n4[i6].N(r2), i6++); } for (; i6 < s4; i6++) n4[i6].Sc(); return t5; }, i5.transform = function(s4, n4, h2, r2, e2) { if (s4.isIdentity()) return t4.ta.eP(r2, n4, h2), h2; for (var o2 = [], a2 = 0, u2 = 0; u2 < h2; ) { for (var f2 = Math.min(o2.length, h2 - u2), c2 = u2, l2 = 0; c2 < f2; c2++, l2++) o2[l2] == null ? o2[l2] = n4[c2].D() : n4[c2].D(o2[l2]); var p2 = e2 ? i5.St(s4, o2, f2, o2) : i5.Tt(s4, o2, f2, o2); for (l2 = c2 = 0; c2 < p2; c2++, l2++) r2[u2] == null && (r2[u2] = new t4.Ta(n4[u2])), r2[u2].Db(o2[l2]); u2 += f2, a2 += p2; } return a2; }, i5.prototype.Tt = function(i6, s4, n4) { if (this.hf.isIdentity()) return i6 != n4 && t4.ta.Tu(n4, i6, s4), s4; var h2 = this.hf.ef, r2 = this.hf.Zf, e2 = h2.Tb(), o2 = r2.Tb(); if (e2 == 0 && e2 === o2) { var a2 = h2.Sp(); return r2 = a2 / (r2 = r2.Sp()), (a2 = new t4.Ed()).Jt(r2, r2), a2.XX(i6, s4, n4), s4; } if (a2 = t4.P.Hu(Math.min(s4, 64)), e2 == 3) { var u2 = h2.Li; e2 = (h2 = u2.gk()).Tb(), n4 != i6 && t4.ta.Tu(n4, i6, s4), t4.Ab.bl(u2, n4, s4, true), u2.St(t4.dm.forward, n4, s4), t4.Ab.al(u2, n4, s4, true); } if (e2 == 3 || o2 === 3) throw t4.i.ga("image: transform_in_place_"); if (e2 == 2) this.mo == t4.ui.Clip ? (n4 != i6 && t4.ta.Tu(n4, i6, s4), i6 = h2.ol(), t4.Ab.HS(i6, h2, n4, s4)) : (n4 != i6 && t4.ta.Tu(n4, i6, s4), h2.Xc() && (e2 = h2.Yd(0), u2 = h2.Le(), t4.Ab.wX(n4, s4, u2, e2), t4.Ab.kF(n4, s4, h2, 0))), t4.Ab.CL(h2, n4, s4, a2); else for (e2 = h2.Yd(0), u2 = h2.Le(), h2 = 0; h2 < s4; h2++) t4.Ab.xX(i6[h2], u2, e2, n4[h2]); for (t4.Ab.AL(this.hf, n4, s4, a2), i6 = 0, (o2 = o2 == 2) ? i6 = r2.Bi() : isNaN(this.Dm) || (i6 = this.Dm), o2 && this.Sm != t4.ui.Clip || t4.Ab.kF(n4, s4, r2.tc(), i6), o2 && (t4.Ab.sG(n4, s4, r2, this.Sm), t4.Ab.BL(r2, n4, s4, a2)), i6 = s4, h2 = 0; h2 < s4; ++h2) n4[h2].isNaN() && i6--; return i6; }, i5.prototype.Bh = function(i6, s4) { if (this.hf.isIdentity() || i6.B()) return i6; if (i6.K() == 33) return this.RI(i6); var n4 = this.hf.ef, h2 = this.hf.Zf, r2 = n4.Tb(), e2 = h2.Tb(); if (r2 == 0 && r2 == e2) return s4 = n4.Sp(), s4 /= h2 = h2.Sp(), (h2 = new t4.Ed()).Jt(s4, s4), (i6 = t4.ba.ig(i6)).Pc(h2), i6; switch (i6.K()) { case 1607: case 1736: i6 = this.OI(i6, s4); break; case 550: i6 = this.YV(i6, s4); break; case 197: i6 = this.XV(i6, s4); break; default: throw t4.i.ga(""); } return i6; }, i5.prototype.RI = function(i6) { var s4 = i6.D(), n4 = []; return n4[0] = s4, this.Tt(n4, 1, n4), (i6 = new t4.Ta(i6)).Db(n4[0]), i6; }, i5.prototype.OI = function(i6, s4) { if (i6.vm()) throw t4.i.ga("curves not supported"); var n4 = i6.K(); if (n4 == 1736) return this.ZV(i6, s4); if (n4 == 1607) return this.$V(i6, s4); throw t4.i.ga("projectMultiPath"); }, i5.prototype.ZV = function(s4, n4) { var h2 = this.hf.ef, r2 = this.hf.Zf, e2 = h2.Tb(), o2 = r2.Tb(), a2 = t4.P.Hu(Math.min(s4.I(), 64)), u2 = t4.Ea.ig(s4); e2 == 3 && (e2 = (h2 = (s4 = h2.Li).gk()).Tb(), u2 = s4.bl(u2, true), this.yp(s4, t4.dm.forward, u2), u2 = s4.al(u2, true)), s4 = null, o2 == 3 && (o2 = (r2 = (s4 = r2.Li).gk()).Tb()); var f2 = e2 == 2, c2 = o2 == 2, l2 = c2 ? r2.tc() : r2, p2 = !c2 && !this.Wv; o2 = false; var v2 = u2; if (f2) { if ((v2 = t4.Ab.NI(v2, h2, this.mo, n4)).B()) return v2; } else { if (u2 = new t4.l(), v2.yc(u2), e2 = h2.Le(), u2.G < e2.G || u2.H > e2.H) { var y2 = t4.l.construct(u2.v - 1, e2.G, u2.C + 1, e2.H); if ((v2 = t4.ti.Pu(v2, y2, h2, NaN, 0, n4)).B()) return v2; } u2.S() > 2 * e2.S() && (v2 = t4.Ab.Jp(v2, -2 * e2.S(), 2 * e2.S(), h2, true, 0, true, n4)); } u2 = this.gH, (e2 = !isNaN(u2)) && (v2 = t4.Zl.local().W(v2, u2, n4)), y2 = c2 ? r2.lk() : null; var b2 = NaN; f2 && (b2 = h2.Bi()); var d2 = r2.Yr() != null; if (this.VG) f2 && (t4.Ab.wr(h2, b2, v2, a2), e2 && (f2 = h2.jh(), u2 *= (b2 = h2.tc().jh()) / f2)), t4.Ab.vr(this.hf, v2, p2, a2), e2 && (f2 = h2.tc().jh(), u2 *= (b2 = r2.tc().jh()) / f2), h2 = v2; else { var g2 = new t4.Ua(v2.description); g2.xD(v2), f2 && (t4.Ab.wr(h2, b2, g2, a2), e2 && (f2 = h2.jh(), u2 *= (b2 = h2.tc().jh()) / f2)), t4.Ab.vr(this.hf, g2, p2, a2), e2 && (f2 = h2.tc().rm(), u2 *= (b2 = r2.tc().rm()) / f2), p2 = NaN, c2 ? (y2 = r2.lk(), p2 = r2.Bi()) : isNaN(this.Dm) || (p2 = this.Dm), f2 = i5.vv(h2) | i5.vv(r2), b2 = 10 * l2.Yd(0), this.Wv && (f2 = 3, b2 = 0), h2 = t4.Ab.OQ(v2, h2, g2, l2, p2, n4, f2, b2); } return d2 && (h2 = t4.Ab.RD(h2, r2, n4)), c2 && (o2 || (c2 = l2.Le().S(), h2.Vg(0, 0).S() >= c2 - l2.Yd(0) && (l2 = y2.getNorthPoleLocation(), c2 = y2.getSouthPoleLocation(), v2 = y2.getNorthPoleGeometry(), y2 = y2.getSouthPoleGeometry(), p2 = 0, v2 == t4.Eg.PE_POLE_POINT && l2 != t4.Eg.PE_POLE_OUTSIDE_BOUNDARY && (p2 = 1), y2 == t4.Eg.PE_POLE_POINT && c2 != t4.Eg.PE_POLE_OUTSIDE_BOUNDARY && (p2 |= 2), p2 !== 0 && (o2 = true))), h2 = t4.Ab.Hz(h2, r2, this.Sm, n4), e2 && (h2 = t4.Zl.local().W(h2, u2, n4)), t4.Ab.Kx(r2, h2, a2)), h2.B() || (o2 && (h2 = t4.$l.local().W(h2, r2, false, n4)), s4 != null && (h2 = s4.al(h2, false), this.yp(s4, t4.dm.reverse, h2), h2 = s4.bl(h2, false))), h2; }, i5.vv = function(i6) { if (i6.Tb() != 2) return 0; var s4 = 0, n4 = i6.lk(); i6 = n4.getNorthPoleLocation(); var h2 = n4.getSouthPoleLocation(), r2 = n4.getNorthPoleGeometry(); return n4 = n4.getSouthPoleGeometry(), r2 == t4.Eg.PE_POLE_POINT && i6 != t4.Eg.PE_POLE_OUTSIDE_BOUNDARY && (s4 = 1), n4 == t4.Eg.PE_POLE_POINT && h2 != t4.Eg.PE_POLE_OUTSIDE_BOUNDARY && (s4 |= 2), s4; }, i5.prototype.$V = function(s4, n4) { var h2 = this.hf.ef, r2 = this.hf.Zf, e2 = h2.Tb(), o2 = r2.Tb(), a2 = t4.P.Hu(Math.min(s4.I(), 64)), u2 = t4.Ua.ig(s4); e2 == 3 && (e2 = (h2 = (s4 = h2.Li).gk()).Tb(), u2 = s4.bl(u2, true), this.yp(s4, t4.dm.forward, u2), u2 = s4.al(u2, true)), s4 = null, o2 == 3 && (o2 = (r2 = (s4 = r2.Li).gk()).Tb()); var f2 = e2 == 2; e2 = (o2 = o2 == 2) ? r2.tc() : r2; var c2 = !o2 && !this.Wv; if (f2) { if ((u2 = t4.Ab.NI(u2, h2, this.mo, n4)).B()) return u2; } else { var l2 = new t4.l(); u2.yc(l2); var p2 = h2.Le(); if ((l2.G < p2.G || l2.H > p2.H) && (l2 = t4.l.construct(l2.v - 1, p2.G, l2.C + 1, p2.H), (u2 = t4.ti.Pu(u2, l2, h2, NaN, 0, n4)).B())) return u2; } var v2 = NaN; f2 && (v2 = h2.Bi()), l2 = r2.Yr() != null, p2 = this.gH; var y2 = !isNaN(p2); if (y2 && (u2 = t4.Zl.local().W(u2, p2, n4)), this.VG) f2 && t4.Ab.wr(h2, v2, u2, a2), y2 && (f2 = h2.jh(), p2 *= (v2 = h2.tc().jh()) / f2), t4.Ab.vr(this.hf, u2, c2, a2), y2 && (f2 = h2.tc().jh(), p2 *= (v2 = r2.tc().jh()) / f2), h2 = u2; else { var b2 = new t4.Ua(u2.description); b2.xD(u2), f2 && (t4.Ab.wr(h2, v2, b2, a2), y2 && (f2 = h2.jh(), p2 *= (v2 = h2.tc().jh()) / f2)), t4.Ab.vr(this.hf, b2, c2, a2), y2 && (f2 = h2.tc().jh(), p2 *= (v2 = r2.tc().jh()) / f2), c2 = NaN, o2 ? c2 = r2.Bi() : isNaN(this.Dm) || (c2 = this.Dm), f2 = i5.vv(h2) | i5.vv(r2), v2 = 10 * e2.Yd(0), this.Wv && (f2 = 3, v2 = 0), h2 = t4.Ab.PQ(u2, h2, b2, e2, c2, n4, f2, v2); } return l2 && (h2 = t4.Ab.RD(h2, r2, n4)), o2 && (h2 = t4.Ab.Hz(h2, r2, this.Sm, n4), y2 && (h2 = t4.Zl.local().W(h2, p2, n4)), t4.Ab.Kx(r2, h2, a2)), h2.B() || s4 != null && (h2 = s4.al(h2, false), this.yp(s4, t4.dm.reverse, h2), h2 = s4.bl(h2, false)), h2; }, i5.prototype.XV = function(i6, s4) { var n4 = (i6.da() + i6.S()) / 400; return n4 != 0 ? (n4 = t4.Zl.local().W(i6, n4, s4), n4 = this.OI(n4, s4), s4 = i6.Ja(), n4.dn(s4)) : (s4 = new t4.Ta(i6.Kp()), n4 = this.RI(s4), s4 = i6.Ja(), n4.B() ? s4.Pa() : (i6.copyTo(s4), i6 = n4.D(), s4.L(i6.x, i6.y, i6.x, i6.y))), s4; }, i5.prototype.YV = function(i6, s4) { i6 = t4.ba.ig(i6); var n4 = this.hf.ef, h2 = this.hf.Zf, r2 = n4.Tb(), e2 = h2.Tb(), o2 = t4.P.Hu(Math.min(i6.I(), 64)); if (r2 == 3) { var a2 = n4.Li; r2 = (n4 = a2.gk()).Tb(), i6 = a2.al(i6, true), this.yp(a2, t4.dm.forward, i6), i6 = a2.bl(i6, true); } if (r2 == 2) { if (this.mo == t4.ui.Clip ? i6 = t4.Xk.local().W(i6, n4.ol(), n4, s4) : n4.Xc() && (r2 = new t4.l(), i6.yc(r2), n4.Le().contains(r2) || (this.mo == t4.ui.PannableFold && (i6 = t4.Ab.nj(i6, n4)), t4.Ab.Lt(i6, n4.Le(), n4.Yd(0), true), i6 = t4.Ab.Gn(i6, n4, 0, true, 0, s4))), i6.B()) return i6; t4.Ab.wr(n4, 0, i6, o2); } else t4.Ab.Lt(i6, n4.Le(), n4.Yd(0), true); return t4.Ab.vr(this.hf, i6, false, o2), n4 = 0, r2 = false, a2 = null, e2 == 3 && (r2 = true, e2 = (h2 = (a2 = h2.Li).gk()).Tb()), (e2 = e2 == 2) ? n4 = h2.Bi() : isNaN(this.Dm) || (n4 = this.Dm), e2 && this.Sm != t4.ui.Clip || (i6 = t4.Ab.Gn(i6, h2.tc(), n4, false, 0, s4)), e2 && (i6 = t4.Ab.Hz(i6, h2, this.Sm, s4), t4.Ab.Kx(h2, i6, o2), i6.B()) || r2 && (i6 = a2.al(i6, true), this.yp(a2, t4.dm.reverse, i6), i6 = a2.bl(i6, true)), i6; }, i5.prototype.yp = function(i6, s4, n4) { var h2 = n4.I(); if (h2 != 0) { for (var r2 = n4.vb(0), e2 = t4.P.lg(200, 0), o2 = [], a2 = 0; a2 < h2; ) { var u2 = Math.min(100, h2 - a2); r2.Xw(2 * a2, 2 * u2, e2, 2, true); for (var f2 = 0; f2 < u2; ++f2) o2[f2] = t4.h.construct(e2[2 * a2], e2[2 * a2 + 1]); i6.St(s4, o2, u2), a2 += u2; } n4.Qc(1993); } }, i5.Py = function(i6, s4, n4) { if (i6 == null || s4 == null || !s4.Xc()) throw t4.i.ga("Invalid Arguement"); if (i6.B()) return i6; var h2 = i6.K(); return h2 == 197 ? (h2 = new t4.Ea(i6.description)).bd(i6, false) : t4.ba.zd(h2) ? (h2 = new t4.Ua(i6.description)).oc(i6, true) : h2 = i6, (h2 = t4.Ab.nj(h2, s4)).B() ? h2 : t4.Ab.Gn(h2, s4, 0, h2 != i6, 0, n4); }, i5.pj = function(s4, n4, h2, r2) { if (s4 == null || n4 == null || !n4.Xc()) throw t4.i.ga("Invalid Arguement"); if (s4.B()) return s4; var e2 = s4.K(); if (t4.ba.Ic(e2)) { s4 = t4.Ab.nj(s4, n4), e2 = new t4.l(), s4.A(e2); for (var o2 = t4.ta.oy(n4, e2, false), a2 = n4.ih(), u2 = Math.floor((e2.v - a2.v) / a2.S()) * a2.S() + a2.v; u2 < e2.C; ) u2 > e2.v + o2 && u2 < e2.C - o2 && (s4 = t4.Ab.nS(s4, n4, h2, u2)), u2 += a2.S(); } else { if (e2 == 197) return (e2 = new t4.Ea(s4.description)).bd(s4, false), i5.pj(e2, n4, h2, r2); if (t4.ba.zd(e2)) return (e2 = new t4.Ua(s4.description)).oc(s4, true), i5.pj(e2, n4, h2, r2); } return i5.Py(s4, n4, r2); }, i5; }(); t4.du = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4(s5, n4, h2, r2) { var e2 = i5.call(this) || this; return s5 === void 0 ? e2.description = t4.ee.og() : h2 === void 0 ? e2.description = s5 : (e2.description = t4.ee.og(), e2.TB(s5, n4), e2.Sl(h2, r2)), e2; } return Q(s4, i5), s4.prototype.K = function() { return 322; }, s4.prototype.Rb = function() { var t5 = this.sa - this.qa, i6 = this.oa - this.ma; return Math.sqrt(t5 * t5 + i6 * i6); }, s4.prototype.Di = function(t5) { var i6 = this.sa - this.qa, s5 = this.oa - this.ma; return Math.sqrt(i6 * i6 + s5 * s5) <= t5; }, s4.prototype.Qn = function() { return false; }, s4.prototype.jg = function() { var i6 = new t4.h(); return i6.vc(this.xc(), this.ac()), i6; }, s4.XO = function(t5, i6) { return new s4(t5.x, t5.y, i6.x, i6.y); }, s4.prototype.dn = function(i6) { i6.Pa(), i6.kg(this.description); var s5 = new t4.l(); this.A(s5), i6.Yo(s5), s5 = 1; for (var n4 = this.description.Ba; s5 < n4; s5++) for (var h2 = this.description.qd(s5), r2 = t4.ua.Wa(h2); s5 < r2; s5++) { var e2 = this.Vg(h2, 0); i6.setInterval(h2, 0, e2); } }, s4.prototype.A = function(t5) { t5.L(this.sa, this.oa, this.qa, this.ma), t5.normalize(); }, s4.prototype.Ro = function(t5) { t5.Pa(), t5.$b(this.sa, this.oa, this.Pd(0, 1, 0)), t5.$b(this.qa, this.ma, this.Pd(1, 1, 0)); }, s4.prototype.Pc = function(i6) { if (i6 instanceof t4.Ed) { this.wc(); var s5 = new t4.h(); s5.x = this.sa, s5.y = this.oa, i6.Gh(s5, s5), this.sa = s5.x, this.oa = s5.y, s5.x = this.qa, s5.y = this.ma, i6.Gh(s5, s5), this.qa = s5.x, this.ma = s5.y; } else this.wc(), (s5 = new t4.Od()).x = this.sa, s5.y = this.oa, s5.z = this.Pd(0, 1, 0), s5 = i6.gp(s5), this.sa = s5.x, this.oa = s5.y, this.vn(0, 1, 0, s5.z), s5.x = this.qa, s5.y = this.ma, s5.z = this.Pd(1, 1, 0), s5 = i6.gp(s5), this.qa = s5.x, this.ma = s5.y, this.vn(1, 1, 0, s5.z); }, s4.prototype.Ja = function() { return new s4(this.description); }, s4.prototype.Sx = function(t5, i6) { return (this.qa - t5 - (this.sa - t5)) * (this.ma - i6 + (this.oa - i6)) * 0.5; }, s4.prototype.ux = function(t5) { return t5 * this.Rb(); }, s4.prototype.HG = function(t5) { return t5 / this.Rb(); }, s4.prototype.xF = function(i6) { return t4.mc.jq(this.sa, this.qa, i6); }, s4.prototype.$Q = function(i6) { return t4.mc.jq(this.oa, this.ma, i6); }, s4.prototype.fl = function(i6, s5) { var n4 = new t4.hg(); return this.dh(i6, s5, n4), n4.get(); }, s4.prototype.dh = function(i6, s5, n4) { if (n4 == null) throw t4.i.O(); n4.Qr(), (n4 = n4.get()).kg(this.description); var h2 = new t4.h(); this.ic(i6, h2), n4.TB(h2.x, h2.y), this.ic(s5, h2), n4.Sl(h2.x, h2.y), h2 = 1; for (var r2 = this.description.Ba; h2 < r2; h2++) for (var e2 = this.description.Fd(h2), o2 = t4.ua.Wa(e2), a2 = 0; a2 < o2; a2++) { var u2 = this.Vc(i6, e2, a2); n4.SB(e2, a2, u2), u2 = this.Vc(s5, e2, a2), n4.IB(e2, a2, u2); } }, s4.prototype.Vc = function(i6, s5, n4) { if (s5 == 0) return n4 == 0 ? this.ic(i6).x : this.ic(i6).y; switch (t4.ua.gz(s5)) { case 0: return 0.5 > i6 ? this.yv(s5, n4) : this.jv(s5, n4); case 1: var h2 = this.yv(s5, n4); return s5 = this.jv(s5, n4), t4.mc.jq(h2, s5, i6); case 2: throw t4.i.ga("not implemented"); } throw t4.i.Ra(); }, s4.prototype.fe = function(t5, i6) { var s5 = this.qa - this.sa, n4 = this.ma - this.oa, h2 = s5 * s5 + n4 * n4; return h2 == 0 ? 0.5 : (t5 = ((t5.x - this.sa) * s5 + (t5.y - this.oa) * n4) / h2, i6 || (0 > t5 ? t5 = 0 : 1 < t5 && (t5 = 1)), t5); }, s4.prototype.fq = function(t5, i6, s5, n4) { if (t5) { if ((t5 = this.ma - this.oa) == 0) return i6 == this.ma ? -1 : 0; if (0 > (i6 = (i6 - this.oa) / t5) || 1 < i6) return 0; s5 != null && (s5[0] = this.xF(i6)); } else { if ((t5 = this.qa - this.sa) == 0) return i6 == this.qa ? -1 : 0; if (0 > (i6 = (i6 - this.sa) / t5) || 1 < i6) return 0; s5 != null && (s5[0] = this.$Q(i6)); } return n4 != null && (n4[0] = i6), 1; }, s4.prototype.Me = function(t5, i6) { var s5 = this.ma - this.oa; return s5 == 0 ? t5 == this.ma ? i6 : NaN : (t5 = (t5 - this.oa) / s5, i6 = this.xF(t5), t5 == 1 && (i6 = this.qa), i6); }, s4.prototype.tu = function(t5, i6, s5) { return 0 <= this.sp(t5.x, t5.y, i6, s5); }, s4.prototype.xi = function(t5, i6, s5) { return 0 <= this.sp(t5, i6, s5, true); }, s4.prototype.ss = function(t5, i6) { return this.tu(t5, i6, false); }, s4.prototype.lI = function() { if (this.ma < this.oa || this.ma == this.oa && this.qa < this.sa) { var t5 = this.sa; this.sa = this.qa, this.qa = t5, t5 = this.oa, this.oa = this.ma, this.ma = t5, t5 = 0; for (var i6 = this.description.Qq - 2; t5 < i6; t5++) { var s5 = this.la[t5]; this.la[t5] = this.la[t5 + i6], this.la[t5 + i6] = s5; } } }, s4.prototype.wu = function(i6, s5) { (s5 = t4.h.construct(i6, s5)).sub(this.ac()); var n4 = new t4.h(); return n4.vc(this.xc(), this.ac()), (i6 = n4.yi(s5)) > (s5 = 8881784197001252e-31 * (Math.abs(n4.x * s5.y) + Math.abs(n4.y * s5.x))) ? -1 : i6 < -s5 ? 1 : 0; }, s4.prototype.sp = function(i6, s5, n4, h2) { var r2 = this.sa, e2 = this.oa, o2 = i6 - r2, a2 = s5 - e2; if ((o2 = Math.sqrt(o2 * o2 + a2 * a2)) <= Math.max(n4, 6661338147750939e-31 * o2)) return h2 && o2 == 0 ? NaN : 0; if (o2 = i6 - this.qa, a2 = s5 - this.ma, (o2 = Math.sqrt(o2 * o2 + a2 * a2)) <= Math.max(n4, 6661338147750939e-31 * o2)) return h2 && o2 == 0 ? NaN : 1; if (o2 = this.qa - this.sa, a2 = this.ma - this.oa, 0 < (h2 = Math.sqrt(o2 * o2 + a2 * a2))) { var u2 = 1 / h2, f2 = i6 - r2, c2 = s5 - e2, l2 = f2 * (o2 *= u2) + c2 * (a2 *= u2), p2 = 17763568394002505e-31 * (Math.abs(f2 * o2) + Math.abs(c2 * a2)), v2 = o2; if (o2 = -a2, a2 = v2, l2 < -(p2 = Math.max(n4, p2)) || l2 > h2 + p2) return NaN; if (Math.abs(f2 * o2 + c2 * a2) <= Math.max(n4, 17763568394002505e-31 * (Math.abs(f2 * o2) + Math.abs(c2 * a2))) && (0.5 >= (o2 = t4.P.Sk(l2 * u2, 0, 1)) ? (a2 = this.sa + (this.qa - this.sa) * o2, h2 = this.oa + (this.ma - this.oa) * o2) : (a2 = this.qa - (this.qa - this.sa) * (1 - o2), h2 = this.ma - (this.ma - this.oa) * (1 - o2)), t4.h.Jy(a2, h2, i6, s5) <= n4)) { if (0.5 > o2) { if (t4.h.Jy(a2, h2, r2, e2) <= n4) return 0; } else if (t4.h.Jy(a2, h2, this.qa, this.ma) <= n4) return 1; return o2; } } return NaN; }, s4.prototype.Nb = function(t5) { return t5 != null && (t5 == this || t5.constructor === this.constructor && this.zM(t5)); }, s4.prototype.lD = function(i6, s5, n4) { var h2 = n4 ? this.sa : this.qa; n4 = n4 ? this.oa : this.ma; var r2 = new t4.h(); return r2.x = i6.qa - h2, r2.y = i6.ma - n4, !(s5.Sh(r2) > 6661338147750939e-31 * s5.$C(r2)) || (r2.x = i6.sa - h2, r2.y = i6.oa - n4, s5.Sh(r2) <= 6661338147750939e-31 * s5.$C(r2)); }, s4.prototype.kD = function(i6) { var s5 = new t4.h(); return s5.x = this.qa - this.sa, s5.y = this.ma - this.oa, !!this.lD(i6, s5, false) && (s5.Uq(), !!this.lD(i6, s5, true)); }, s4.HM = function(t5, i6) { var s5 = t5.wu(i6.sa, i6.oa), n4 = t5.wu(i6.qa, i6.ma); return !(0 > s5 && 0 > n4 || 0 < s5 && 0 < n4) && (s5 = i6.wu(t5.sa, t5.oa), n4 = i6.wu(t5.qa, t5.ma), !(0 > s5 && 0 > n4 || 0 < s5 && 0 < n4) && ((s5 = t5.Rb()) > (n4 = i6.Rb()) ? t5.kD(i6) : i6.kD(t5))); }, s4.FM = function(i6, s5, n4) { var h2 = t4.h.construct(NaN, NaN), r2 = i6.qa - i6.sa, e2 = i6.ma - i6.oa, o2 = s5.qa - s5.sa, a2 = s5.ma - s5.oa, u2 = o2 * e2 - r2 * a2; if (u2 == 0) return h2; var f2 = 8881784197001252e-31 * (Math.abs(o2 * e2) + Math.abs(r2 * a2)), c2 = s5.sa - i6.sa, l2 = s5.oa - i6.oa, p2 = o2 * l2 - c2 * a2, v2 = p2 / u2, y2 = Math.abs(u2); return v2 < -(o2 = (8881784197001252e-31 * (Math.abs(o2 * l2) + Math.abs(c2 * a2)) * y2 + f2 * Math.abs(p2)) / (u2 * u2) + 2220446049250313e-31 * Math.abs(v2)) || v2 > 1 + o2 || (o2 = (a2 = r2 * l2 - c2 * e2) / u2) < -(r2 = (8881784197001252e-31 * (Math.abs(r2 * l2) + Math.abs(c2 * e2)) * y2 + f2 * Math.abs(a2)) / (u2 * u2) + 2220446049250313e-31 * Math.abs(o2)) || o2 > 1 + r2 ? h2 : (v2 = t4.P.Sk(v2, 0, 1), r2 = t4.P.Sk(o2, 0, 1), e2 = i6.ic(v2), u2 = s5.ic(r2), (f2 = new t4.h()).vc(e2, u2), f2.length() > n4 && (f2.add(e2, u2), f2.scale(0.5), v2 = i6.fe(f2, false), r2 = s5.fe(f2, false), i6 = i6.ic(v2), s5 = s5.ic(r2), i6.sub(s5), i6.length() > n4) || h2.na(v2, r2), h2); }, s4.IM = function(t5, i6, n4, h2) { var r2 = 0; if ((t5.sa == i6.sa && t5.oa == i6.oa || t5.sa == i6.qa && t5.oa == i6.ma) && (r2++, !h2)) return 1; if (t5.qa == i6.sa && t5.ma == i6.oa || t5.qa == i6.qa && t5.ma == i6.ma) { if (++r2 == 2) return 2; if (!h2) return 1; } return i6.xi(t5.sa, t5.oa, n4) || i6.xi(t5.qa, t5.ma, n4) || t5.xi(i6.sa, i6.oa, n4) || t5.xi(i6.qa, i6.ma, n4) ? 1 : h2 && r2 != 0 || s4.HM(t5, i6) == 0 ? 0 : 1; }, s4.Yx = function(i6, n4, h2, r2, e2, o2) { var a2 = 0, u2 = i6.sp(n4.sa, n4.oa, o2, false), f2 = i6.sp(n4.qa, n4.ma, o2, false), c2 = n4.sp(i6.sa, i6.oa, o2, false), l2 = n4.sp(i6.qa, i6.ma, o2, false); return isNaN(u2) || (r2 != null && (r2[a2] = u2), e2 != null && (e2[a2] = 0), h2 != null && (h2[a2] = t4.h.construct(n4.sa, n4.oa)), a2++), isNaN(f2) || (r2 != null && (r2[a2] = f2), e2 != null && (e2[a2] = 1), h2 != null && (h2[a2] = t4.h.construct(n4.qa, n4.ma)), a2++), a2 == 2 || isNaN(c2) || u2 == 0 && c2 == 0 || f2 == 0 && c2 == 1 || (r2 != null && (r2[a2] = 0), e2 != null && (e2[a2] = c2), h2 != null && (h2[a2] = t4.h.construct(i6.sa, i6.oa)), a2++), a2 == 2 || isNaN(l2) || u2 == 1 && l2 == 0 || f2 == 1 && l2 == 1 || (r2 != null && (r2[a2] = 1), e2 != null && (e2[a2] = l2), h2 != null && (h2[a2] = t4.h.construct(n4.qa, n4.ma)), a2++), 0 < a2 ? (a2 == 2 && r2 != null && r2[0] > r2[1] && (i6 = r2[0], r2[0] = r2[1], r2[1] = i6, e2 != null && (r2 = e2[0], e2[0] = e2[1], e2[1] = r2), h2 != null && (e2 = t4.h.construct(h2[0].x, h2[0].y), h2[0] = h2[1], h2[1] = e2)), a2) : (a2 = s4.FM(i6, n4, o2), isNaN(a2.x) ? 0 : (h2 != null && (h2[0] = i6.ic(a2.x)), r2 != null && (r2[0] = a2.x), e2 != null && (e2[0] = a2.y), 1)); }, s4.prototype.ZF = function() { return 0; }, s4.prototype.pp = function() { }, s4.prototype.toString = function() { return "Line: [" + this.sa.toString() + ", " + this.oa.toString() + ", " + this.qa.toString() + ", " + this.ma.toString() + "]"; }, s4; }(t4.MC); t4.zb = i4; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { this.Lm = [], this.za = -1; } return t5.prototype.Ma = function() { return this.za; }, t5.prototype.next = function() { if (this.Lm != null && this.Lm.length != 0) { this.za++; var t6 = this.Lm[0]; return this.Lm = 1 >= this.Lm.length ? [] : this.Lm.slice(1), t6; } return this.Lm = null; }, t5.prototype.RX = function(t6) { this.Lm.push(t6); }, t5.prototype.qe = function() { }, t5; }(); t4.aL = i4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.ML || (t4.ML = {}))[i4.enumFillRuleOddEven = 0] = "enumFillRuleOddEven", i4[i4.enumFillRuleWinding = 1] = "enumFillRuleWinding"; var s4 = function(i5) { function s5(s6, n4) { var h2 = i5.call(this) || this; if (h2.yf = false, h2.Gq = null, h2.uq = 0, h2.tq = 0, h2.Cj = null, h2.Og = false, h2.nb = null, h2.mb = null, h2.Se = null, h2.Nj = null, h2.Td = null, h2.vq = 0, h2.gb = 0, h2.zq = 0, n4 === void 0) h2.yf = s6, h2.Og = false, h2.vq = 0, h2.uq = 0, h2.tq = 0, h2.xa = 0, h2.description = t4.ee.og(); else { if (n4 == null) throw t4.i.O(); h2.yf = s6, h2.Og = false, h2.vq = 0, h2.uq = 0, h2.tq = 0, h2.xa = 0, h2.description = n4; } return h2.Cj = null, h2.gb = 0, h2; } return Q(s5, i5), s5.prototype.vm = function() { return 0 < this.vq; }, s5.prototype.Xx = function() { this.wc(), this.Gq == null ? this.Gq = new t4.Ta(this.description) : this.Gq.kg(this.description); }, s5.prototype.rx = function(i6, s6) { var n4 = new t4.h(); n4.x = i6, n4.y = s6, this.Nt(n4); }, s5.prototype.Nt = function(t5) { this.Xx(), this.Gq.Db(t5), this.Og = true; }, s5.prototype.nf = function(i6) { if (i6.B()) throw t4.i.O(); this.Ll(i6.description), this.Xx(), i6.copyTo(this.Gq), this.Og = true; }, s5.prototype.Rx = function() { var i6 = 1; this.Og && (this.Xx(), this.nb == null ? (this.nb = t4.Zc.Qh(2), this.nb.write(0, 0), this.mb = t4.Zc.Or(2, 0)) : (this.nb.resize(this.nb.size + 1, 0), this.mb.resize(this.mb.size + 1, 0)), this.yf && this.mb.write(this.mb.size - 2, 1), i6++); var s6 = this.xa; this.nb.write(this.nb.size - 1, this.xa + i6), this.fm(s6 + i6), this.mb.write(this.nb.size - 1, 0), this.Og && (this.It(s6, this.Gq), this.Og = false); }, s5.prototype.Aj = function(t5, i6) { this.Rx(), this.Db(this.xa - 1, t5, i6); }, s5.prototype.Ei = function(t5) { this.Rx(), this.Db(this.xa - 1, t5); }, s5.prototype.lineTo = function(t5) { this.Rx(), this.It(this.xa - 1, t5); }, s5.prototype.uU = function(i6) { if (this.wc(), this.yf) throw t4.i.Ra(); var s6 = this.ea(); if (i6 > s6) throw t4.i.Ra(); if (this.ec(i6)) { if (this.mb == null) throw t4.i.Ra(); var n4 = this.xa, h2 = this.Ca(i6), r2 = this.Wc(i6); this.fm(this.xa + 1), this.rc(); for (var e2 = 0, o2 = this.description.Ba; e2 < o2; e2++) if (this.Aa[e2] != null) { var a2 = t4.ua.Wa(this.description.Fd(e2)); this.Aa[e2].Nn(a2 * r2, this.Aa[e2], a2 * h2, a2, true, 1, a2 * n4); } for (; s6 > i6; s6--) n4 = this.nb.read(s6), this.nb.write(s6, n4 + 1); this.mb.EE(i6, 1); } }, s5.prototype.Cp = function() { if (this.vx(), t5 === void 0) { this.Og = false; var t5 = this.ea() - 1; } var i6 = this.mb.read(t5); this.mb.write(t5, 1 | i6), this.Se != null && (t5 = this.Wc(t5) - 1, this.Se.write(t5, 1), this.Nj.write(t5, -1)); }, s5.prototype.ec = function(t5) { return (1 & this.mb.read(t5)) != 0; }, s5.prototype.On = function(t5) { if (this.ec(t5)) return true; var i6 = this.Ca(t5); return !(i6 > (t5 = this.Wc(t5) - 1)) && (i6 = this.Oa(i6), t5 = this.Oa(t5), i6.rb(t5)); }, s5.prototype.Av = function(t5) { return (2 & this.mb.read(t5)) != 0; }, s5.prototype.oc = function(i6, s6) { if (this.Ll(i6.description), i6.K() != 322) throw t4.i.Ra(); var n4 = new t4.Ta(); (s6 || this.B()) && (i6.Uo(n4), this.nf(n4)), i6.Qo(n4), this.lineTo(n4); }, s5.prototype.vp = function(t5) { var i6 = this.xa == 0; this.rx(t5.v, t5.G), this.Aj(t5.v, t5.H), this.Aj(t5.C, t5.H), this.Aj(t5.C, t5.G), this.Cp(), this.Og = false, i6 && this.Nf(256, false); }, s5.prototype.bd = function(i6, s6) { if (!i6.B()) { for (var n4 = this.xa == 0, h2 = new t4.Ta(this.description), r2 = 0; 4 > r2; r2++) i6.If(s6 ? 4 - r2 - 1 : r2, h2), r2 == 0 ? this.nf(h2) : this.lineTo(h2); this.Cp(), this.Og = false, n4 && !s6 && this.Nf(256, false); } }, s5.prototype.add = function(t5, i6) { for (var s6 = 0; s6 < t5.ea(); s6++) this.addPath(t5, s6, !i6); }, s5.prototype.addPath = function(t5, i6, s6) { this.wf(-1, t5, i6, s6); }, s5.prototype.$k = function(t5, i6) { this.Cz(t5, i6); }, s5.prototype.Fr = function(i6, s6, n4, h2, r2) { if (r2 || this.ea() != 0 || (r2 = true), 0 > s6 && (s6 = i6.ea() - 1), s6 >= i6.ea() || 0 > n4 || 0 > h2 || h2 > i6.tv(s6)) throw t4.i.ga("index out of bounds"); if (h2 != 0) { var e2 = i6.ec(s6) && n4 + h2 == i6.tv(s6); if (!e2 || h2 != 1) { if (this.Og = false, this.Ll(i6.description), n4 = i6.Ca(s6) + n4 + 1, r2 && (h2++, n4--), e2 && h2--, e2 = this.xa, this.fm(this.xa + h2), this.rc(), r2) { if (h2 == 0) return; this.nb.add(this.xa), r2 = i6.mb.read(s6), r2 &= -5, this.yf && (r2 |= 1), this.mb.write(this.mb.size - 1, r2), this.mb.add(0); } else this.nb.write(this.mb.size - 1, this.xa); r2 = 0; for (var o2 = this.description.Ba; r2 < o2; r2++) { var a2 = this.description.qd(r2), u2 = t4.ua.Wa(a2), f2 = i6.description.Qf(a2); 0 > f2 || i6.Aa[f2] == null ? this.Aa[r2].Mn(u2 * e2, t4.ua.te(a2), h2 * u2, u2 * e2) : this.Aa[r2].Nn(u2 * e2, i6.Aa[f2], u2 * n4, h2 * u2, true, u2, u2 * e2); } if (this.vm()) throw t4.i.Ra(); if (i6.Av(s6)) throw t4.i.Ra(); this.Qc(1993); } } }, s5.prototype.iJ = function() { for (var t5 = 0, i6 = this.ea(); t5 < i6; t5++) this.wW(t5); }, s5.prototype.wW = function(i6) { if (this.rc(), i6 >= this.ea()) throw t4.i.O(); var s6 = this.Ca(i6), n4 = this.Ka(i6); i6 = this.ec(i6) ? 1 : 0; for (var h2 = 0, r2 = this.description.Ba; h2 < r2; h2++) if (this.Aa[h2] != null) { var e2 = t4.ua.Wa(this.description.Fd(h2)); this.Aa[h2].pi(e2 * (s6 + i6), e2 * (n4 - i6), e2); } this.Qc(1993); }, s5.prototype.ar = function(i6) { this.rc(); var s6 = this.ea(); if (0 > i6 && (i6 = s6 - 1), i6 >= s6) throw t4.i.O(); for (var n4 = this.Ca(i6), h2 = this.Ka(i6), r2 = 0, e2 = this.description.Ba; r2 < e2; r2++) if (this.Aa[r2] != null) { var o2 = t4.ua.Wa(this.description.Fd(r2)); this.Aa[r2].Fn(o2 * n4, o2 * h2, o2 * this.xa); } for (n4 = i6 + 1; n4 <= s6; n4++) r2 = this.nb.read(n4), this.nb.write(n4 - 1, r2 - h2); if (this.mb == null) for (n4 = i6 + 1; n4 <= s6; n4++) i6 = this.mb.read(n4), this.mb.write(n4 - 1, i6); this.nb.resize(s6), this.mb.resize(s6), this.xa -= h2, this.Rg -= h2, this.Qc(1993); }, s5.prototype.wf = function(i6, s6, n4, h2) { if (s6 == this) throw t4.i.O(); if (n4 >= s6.ea()) throw t4.i.O(); var r2 = this.ea(); if (i6 > r2) throw t4.i.O(); 0 > i6 && (i6 = r2), 0 > n4 && (n4 = s6.ea() - 1), this.Og = false, this.Ll(s6.description), s6.rc(); var e2 = s6.Ca(n4), o2 = s6.Ka(n4), a2 = this.xa, u2 = s6.ec(n4) && !h2 ? 1 : 0; this.fm(this.xa + o2), this.rc(); for (var f2 = i6 < r2 ? this.Ca(i6) : a2, c2 = 0, l2 = this.description.Ba; c2 < l2; c2++) { var p2 = this.description.Fd(c2), v2 = s6.description.Qf(p2), y2 = t4.ua.Wa(p2); 0 <= v2 && s6.Aa[v2] != null ? (u2 != 0 && this.Aa[c2].Nn(f2 * y2, s6.Aa[v2], y2 * e2, y2, true, y2, y2 * a2), this.Aa[c2].Nn((f2 + u2) * y2, s6.Aa[v2], y2 * (e2 + u2), y2 * (o2 - u2), h2, y2, y2 * (a2 + u2))) : this.Aa[c2].Mn(f2 * y2, t4.ua.te(p2), y2 * o2, y2 * a2); } for (this.nb.add(a2 + o2), h2 = r2; h2 >= i6 + 1; h2--) e2 = this.nb.read(h2 - 1), this.nb.write(h2, e2 + o2); for (s6.Av(n4), this.mb.add(0), h2 = r2 - 1; h2 >= i6 + 1; h2--) r2 = this.mb.read(h2), r2 &= -5, this.mb.write(h2 + 1, r2); r2 = s6.DR().read(n4), r2 &= -5, this.yf && (r2 |= 1), this.mb.write(i6, r2); }, s5.prototype.Cz = function(i6, s6) { var n4 = -1, h2 = this.ea(); if (n4 > h2) throw t4.i.O(); 0 > n4 && (n4 = h2), this.Og = false; var r2 = this.xa; this.fm(this.xa + s6), this.rc(); var e2 = n4 < h2 ? this.Ca(n4) : r2; if (i6 != null) this.Aa[0].Dz(2 * e2, i6, 0, s6, true, 2 * r2); else { var o2 = t4.ua.te(0); this.Aa[0].Mn(2 * e2, o2, 2 * s6, 2 * r2); } i6 = 1; for (var a2 = this.description.Ba; i6 < a2; i6++) { o2 = this.description.qd(i6); var u2 = t4.ua.Wa(o2); o2 = t4.ua.te(o2), this.Aa[i6].Mn(e2 * u2, o2, u2 * s6, u2 * r2); } for (this.nb.add(this.xa), r2 = h2; r2 >= n4 + 1; r2--) e2 = this.nb.read(r2 - 1), this.nb.write(r2, e2 + s6); for (this.mb.add(0), r2 = h2 - 1; r2 >= n4 + 1; r2--) s6 = this.mb.read(r2), s6 &= -5, this.mb.write(r2 + 1, s6); this.yf && this.mb.write(n4, 1); }, s5.prototype.kG = function(i6, s6, n4) { var h2 = -1; if (0 > i6 && (i6 = this.ea()), i6 > this.ea() || h2 > this.Ka(i6) || n4 > s6.length) throw t4.i.ga("index out of bounds"); if (n4 != 0) { i6 == this.ea() && (this.nb.add(this.xa), this.yf ? this.mb.add(1) : this.mb.add(0)), 0 > h2 && (h2 = this.Ka(i6)), this.rc(); var r2 = this.xa; this.fm(this.xa + n4), this.rc(); for (var e2 = 0, o2 = this.description.Ba; e2 < o2; e2++) { var a2 = this.description.Fd(e2), u2 = t4.ua.Wa(a2); this.Aa[e2].Wt(u2 * (this.Ca(i6) + h2 + n4), (r2 - this.Ca(i6) - h2) * u2, this.Aa[e2], u2 * (this.Ca(i6) + h2), true, u2), e2 == 0 ? this.Aa[e2].pC(u2 * (this.Ca(i6) + h2), n4, s6, 0, true) : this.Aa[e2].Yj(t4.ua.te(a2), (this.Ca(i6) + h2) * u2, n4 * u2); } for (this.vm() && (this.Se.Wt(this.Ca(i6) + h2 + n4, r2 - this.Ca(i6) - h2, this.Se, this.Ca(i6) + h2, true, 1), this.Nj.Wt(this.Ca(i6) + h2 + n4, r2 - this.Ca(i6) - h2, this.Nj, this.Ca(i6) + h2, true, 1), this.Se.Yj(1, this.Ca(i6) + h2, n4), this.Nj.Yj(-1, this.Ca(i6) + h2, n4)), i6 += 1, s6 = this.ea(); i6 <= s6; i6++) this.nb.write(i6, this.nb.read(i6) + n4); } }, s5.prototype.xf = function(i6, s6, n4) { var h2 = this.ea(); if (0 > i6 && (i6 = this.ea()), i6 >= h2 || s6 > this.Ka(i6)) throw t4.i.ga("index out of bounds"); i6 == this.ea() && (this.nb.add(this.xa), this.yf ? this.mb.add(1) : this.mb.add(0)), 0 > s6 && (s6 = this.Ka(i6)); var r2 = this.xa; this.fm(this.xa + 1), this.rc(); var e2 = this.Ca(i6); this.Aa[0].xj(2 * (e2 + s6), n4, 2 * r2), n4 = 1; for (var o2 = this.description.Ba; n4 < o2; n4++) { var a2 = this.description.Fd(n4), u2 = t4.ua.Wa(a2); this.Aa[n4].Mn(u2 * (e2 + s6), t4.ua.te(a2), u2, u2 * r2); } for (i6 += 1; i6 <= h2; i6++) this.nb.write(i6, this.nb.read(i6) + 1); }, s5.prototype.xB = function(i6, s6) { var n4 = this.ea(); if (0 > i6 && (i6 = n4 - 1), i6 >= n4 || s6 >= this.Ka(i6)) throw t4.i.ga("index out of bounds"); this.rc(); var h2 = this.Ca(i6); 0 > s6 && (s6 = this.Ka(i6) - 1), s6 = h2 + s6, h2 = 0; for (var r2 = this.description.Ba; h2 < r2; h2++) if (this.Aa[h2] != null) { var e2 = t4.ua.Wa(this.description.Fd(h2)); this.Aa[h2].Fn(e2 * s6, e2, e2 * this.xa); } for (; n4 >= i6 + 1; n4--) s6 = this.nb.read(n4), this.nb.write(n4, s6 - 1); this.xa--, this.Rg--, this.Qc(1993); }, s5.prototype.oE = function(i6, s6, n4, h2) { if (i6 = this.Ca(i6) + s6, (n4 = this.Ca(n4) + h2) < i6 || 0 > i6 || n4 > this.I() - 1) throw t4.i.O(); s6 = 0, (h2 = this.Ha()).Wb(i6); do { for (; h2.Ia() && (i6 = h2.ia(), h2.xb() != n4); ) s6 += i6 = i6.Rb(); if (h2.xb() == n4) break; } while (h2.ab()); return s6; }, s5.prototype.$N = function(i6, s6, n4) { if (s6 = this.Ca(i6) + s6, n4 = this.Ca(i6) + n4, 0 > s6 || n4 > this.I() - 1) throw t4.i.O(); var h2 = this.Ha(); if (s6 > n4) { if (!this.ec(i6)) throw t4.i.O("cannot iterate across an open path"); h2.DB(); } var r2 = i6 = 0; h2.Wb(s6); do { r2 += i6, i6 = h2.ia().Rb(); } while (h2.xb() != n4); return r2; }, s5.prototype.mg = function() { return t4.si.im(this, null); }, s5.prototype.DS = function(i6, s6, n4) { for (var h2 = i6; h2 < n4 - 1; h2++) if (this.ec(h2)) throw t4.i.O("cannot interpolate across closed paths"); if ((h2 = this.description.Ba) != 1) { var r2 = this.oE(i6, s6, n4, void 0); if (r2 != 0) for (var e2 = 1; e2 < h2; e2++) { var o2 = this.description.qd(e2); if (t4.ua.gz(o2) != 2) for (var a2 = t4.ua.Wa(o2), u2 = 0; u2 < a2; u2++) this.FS(o2, i6, s6, n4, r2, u2); } } }, s5.prototype.CS = function(i6, s6, n4) { var h2 = this.description.Ba; if (h2 != 1) { var r2 = this.$N(i6, s6, n4); if (r2 != 0) for (var e2 = 1; e2 < h2; e2++) { var o2 = this.description.qd(e2); if (t4.ua.gz(o2) != 2) for (var a2 = t4.ua.Wa(o2), u2 = 0; u2 < a2; u2++) this.ES(o2, i6, s6, n4, r2, u2); } } }, s5.prototype.FS = function(i6, s6, n4, h2, r2, e2) { var o2 = this.Ha(), a2 = this.Ca(s6) + n4; h2 = this.Ca(h2) + void 0, s6 = this.Vc(i6, a2, e2), n4 = this.Vc(i6, h2, e2); var u2 = s6, f2 = 0; o2.Wb(a2); do { if (o2.Ia()) { if (o2.ia(), o2.xb() == h2) break; this.setAttribute(i6, o2.xb(), e2, u2), o2.ni(); do { if (a2 = o2.ia(), o2.jk() == h2) return; f2 += a2 = a2.Rb(), u2 = t4.mc.jq(s6, n4, f2 / r2), o2.Pn() || this.setAttribute(i6, o2.jk(), e2, u2); } while (o2.Ia()); } } while (o2.ab()); }, s5.prototype.ES = function(i6, s6, n4, h2, r2, e2) { var o2 = this.Ha(), a2 = this.Ca(s6) + n4; if ((s6 = this.Ca(s6) + h2) != a2) { h2 = this.Vc(i6, a2, e2), n4 = this.Vc(i6, s6, e2); var u2 = 0; o2.Wb(a2), o2.DB(), a2 = h2; do { var f2 = o2.ia(); this.setAttribute(i6, o2.xb(), e2, a2), u2 += a2 = f2.Rb(), a2 = t4.mc.jq(h2, n4, u2 / r2); } while (o2.jk() != s6); } }, s5.prototype.Pa = function() { this.vq = 0, this.Og = false, this.Td = this.Se = this.Nj = this.mb = this.nb = null, this.qD(); }, s5.prototype.Pc = function(i6) { i6 instanceof t4.Ed ? this.SD(i6, -1) : this.qN(i6); }, s5.prototype.SD = function(i6, s6) { if (!this.B() && !i6.isIdentity()) { this.rc(); var n4 = this.Aa[0], h2 = new t4.h(), r2 = new t4.h(); if (0 > s6) { var e2 = this.vm(), o2 = 0; s6 = this.xa; } else e2 = this.Av(s6), o2 = this.Ca(s6), s6 = this.Wc(s6); for (; o2 < s6; o2++) { if (h2.x = n4.read(2 * o2), h2.y = n4.read(2 * o2 + 1), e2) { var a2 = this.Nj.read(o2); if (0 <= a2) switch (7 & this.Se.read(o2)) { case 2: r2.x = this.Td.read(a2), r2.y = this.Td.read(a2 + 1), i6.Gh(r2, r2), this.Td.write(a2, r2.x), this.Td.write(a2 + 1, r2.y), r2.x = this.Td.read(a2 + 3), r2.y = this.Td.read(a2 + 4), i6.Gh(r2, r2), this.Td.write(a2 + 3, r2.x), this.Td.write(a2 + 4, r2.y); break; case 4: throw t4.i.Ra(); } } i6.Gh(h2, h2), n4.write(2 * o2, h2.x), n4.write(2 * o2 + 1, h2.y); } this.Qc(1993); } }, s5.prototype.qN = function(i6) { if (!this.B()) { this.se(1), this.rc(); for (var s6 = this.Aa[0], n4 = this.Aa[1], h2 = new t4.Od(), r2 = new t4.Od(), e2 = this.vm(), o2 = 0; o2 < this.xa; o2++) { if (h2.x = s6.read(2 * o2), h2.y = s6.read(2 * o2 + 1), h2.z = n4.read(o2), e2) { var a2 = this.Nj.read(o2); if (0 <= a2) switch (7 & this.Se.read(o2)) { case 2: r2.x = this.Td.read(a2), r2.y = this.Td.read(a2 + 1), r2.z = this.Td.read(a2 + 2), r2 = i6.gp(r2), this.Td.write(a2, r2.x), this.Td.write(a2 + 1, r2.y), this.Td.write(a2 + 1, r2.z), r2.x = this.Td.read(a2 + 3), r2.y = this.Td.read(a2 + 4), r2.z = this.Td.read(a2 + 5), r2 = i6.gp(r2), this.Td.write(a2 + 3, r2.x), this.Td.write(a2 + 4, r2.y), this.Td.write(a2 + 5, r2.z); break; case 4: throw t4.i.Ra(); } } h2 = i6.gp(h2), s6.write(2 * o2, h2.x), s6.write(2 * o2 + 1, h2.y), n4.write(o2, h2.z); } this.Qc(1993); } }, s5.prototype.ey = function() { this.nb == null && (this.nb = t4.Zc.Qh(1, 0), this.mb = t4.Zc.Or(1, 0)), this.Se != null && (this.Se.resize(this.Rg, 1), this.Nj.resize(this.Rg, -1)); }, s5.prototype.pp = function(i6) { i6.Og = false, i6.vq = this.vq, i6.zq = this.zq, i6.nb = this.nb != null ? t4.ja.Cn(this.nb) : null, i6.mb = this.mb != null ? t4.rn.Cn(this.mb) : null, i6.Nj = this.Nj != null ? t4.ja.Cn(this.Nj) : null, i6.Se = this.Se != null ? t4.rn.Cn(this.Se) : null, i6.Td = this.Td != null ? t4.ce.Cn(this.Td) : null, i6.uq = this.uq, i6.tq = this.tq, i6.Cj = this.bk(1024) ? null : this.Cj; }, s5.prototype.Rb = function() { if (!this.bk(512)) return this.uq; for (var i6 = this.Ha(), s6 = new t4.Ex(0); i6.ab(); ) for (; i6.Ia(); ) s6.add(i6.ia().Rb()); return this.uq = s6.tm(), this.Nf(512, false), s6.tm(); }, s5.prototype.Nb = function(t5) { if (t5 == this) return true; if (!(t5 instanceof s5 && i5.prototype.Nb.call(this, t5))) return false; var n4 = this.ea(); return !(n4 != t5.ea() || this.nb != null && !this.nb.Nb(t5.nb, 0, n4 + 1) || this.zq != t5.zq || this.mb != null && !this.mb.Nb(t5.mb, 0, n4)) && i5.prototype.Nb.call(this, t5); }, s5.prototype.Ha = function() { return new t4.SL(this); }, s5.prototype.dy = function(t5) { if (i5.prototype.dy.call(this, t5), this.vm()) for (t5 = this.Ha(); t5.ab(); ) { t5.Ia(); } }, s5.prototype.Ap = function(t5, s6) { if (i5.prototype.Ap.call(this, t5, s6), this.vm()) for (t5 = this.Ha(); t5.ab(); ) { t5.Ia(); } }, s5.prototype.Zx = function() { this.xa = this.nb == null || this.nb.size == 0 ? 0 : this.nb.read(this.nb.size - 1); }, s5.prototype.He = function() { return this.yf ? (this.zu(), this.tq) : 0; }, s5.prototype.Gv = function(t5) { return !!this.yf && (this.bk(8) ? (this.zu(), 0 < this.Cj.read(t5)) : (4 & this.mb.read(t5)) != 0); }, s5.prototype.Kr = function(t5) { return this.yf ? (this.zu(), this.Cj.read(t5)) : 0; }, s5.prototype.zu = function() { if (this.bk(1024)) { var i6 = this.ea(); this.Cj == null ? this.Cj = new t4.ce(i6) : this.Cj.size != i6 && this.Cj.resize(i6), i6 = new t4.Ex(0); for (var s6 = new t4.Ex(0), n4 = new t4.h(), h2 = 0, r2 = this.Ha(); r2.ab(); ) { for (s6.reset(), this.D(this.Ca(r2.gb), n4); r2.Ia(); ) s6.add(r2.ia().Sx(n4.x, n4.y)); i6.add(s6.tm()); var e2 = h2++; this.Cj.write(e2, s6.tm()); } this.tq = i6.tm(), this.Nf(1024, false); } }, s5.prototype.zR = function() { if (this.yf) { this.hm(); for (var t5 = this.ea(), i6 = 0; i6 < t5; i6++) (4 & this.mb.read(i6)) != 0 && 0; } }, s5.prototype.hm = function() { if (this.bk(8)) { this.zu(); var i6 = this.ea(); (this.mb == null || this.mb.size < i6) && (this.mb = t4.Zc.Or(i6 + 1)); for (var s6 = 1, n4 = 0; n4 < i6; n4++) { var h2 = this.Cj.read(n4); n4 == 0 && (s6 = 0 < h2 ? 1 : -1), 0 < h2 * s6 ? this.mb.tJ(n4, 4) : this.mb.EE(n4, 4); } this.Nf(8, false); } }, s5.prototype.nz = function(i6) { var s6 = this.gb, n4 = this.ea(); if (0 <= s6 && s6 < n4) { if (i6 < this.Wc(s6)) { if (i6 >= this.Ca(s6)) return s6; s6--; } else s6++; if (0 <= s6 && s6 < n4 && i6 >= this.Ca(s6) && i6 < this.Wc(s6)) return this.gb = s6; } if (5 > n4) { for (s6 = 0; s6 < n4; s6++) if (i6 < this.Wc(s6)) return this.gb = s6; throw t4.i.ga("corrupted geometry"); } for (s6 = 0, --n4; n4 > s6; ) { var h2 = s6 + (n4 - s6 >> 1); if (i6 < this.Ca(h2)) n4 = h2 - 1; else { if (!(i6 >= (s6 = this.Wc(h2)))) return this.gb = h2; s6 = h2 + 1; } } return this.gb = s6; }, s5.prototype.sz = function() { var t5 = this.I(); if (!this.yf) { t5 -= this.ea(); for (var i6 = 0, s6 = this.ea(); i6 < s6; i6++) this.ec(i6) && t5++; } return t5; }, s5.prototype.tv = function(t5) { var i6 = this.Ka(t5); return this.ec(t5) || i6--, i6; }, s5.prototype.Ja = function() { return new s5(this.yf, this.description); }, s5.prototype.Eb = function() { return this.yf ? 2 : 1; }, s5.prototype.K = function() { return this.yf ? 1736 : 1607; }, s5.prototype.KJ = function(t5) { this.nb = t5, this.Qc(16777215); }, s5.prototype.OR = function() { return this.vx(), this.Se; }, s5.prototype.DR = function() { return this.vx(), this.mb; }, s5.prototype.JJ = function(t5) { this.mb = t5, this.Qc(16777215); }, s5.prototype.ea = function() { return this.nb != null ? this.nb.size - 1 : 0; }, s5.prototype.Wc = function(t5) { return this.nb.read(t5 + 1); }, s5.prototype.Ka = function(t5) { return this.nb.read(t5 + 1) - this.nb.read(t5); }, s5.prototype.Ca = function(t5) { return this.nb.read(t5); }, s5.prototype.nu = function(i6, s6) { this.Cb == null && (this.Cb = new t4.Vk()), s6 = t4.Mx.hW(s6); var n4 = this.Cb.Gk; if (n4 != null) { if (!(n4.Jk < i6 || s6 > n4.KR())) return true; this.Cb.sD(null); } return n4 = t4.Mx.create(this, i6, s6), this.Cb.sD(n4), true; }, s5.prototype.dc = function() { var t5 = i5.prototype.dc.call(this); if (!this.Bc()) { var s6 = this.ea(); this.nb != null && this.nb.Bn(t5, 0, s6 + 1), this.mb != null && this.mb.Bn(t5, 0, s6); } return t5; }, s5.prototype.TF = function(t5) { return this.Se != null ? this.Se.read(t5) : 1; }, s5.prototype.cc = function(i6, s6, n4) { var h2 = this.nz(i6); if (i6 == this.Wc(h2) - 1 && !this.ec(h2)) throw t4.i.ga("index out of bounds"); this.rc(); var r2 = this.Se, e2 = 1; if (r2 != null && (e2 = 7 & r2.read(i6)), e2 !== 1) throw t4.i.Ra(); if (s6.Qr(), s6 = s6.get(), n4 ? s6.kg(t4.ee.og()) : s6.kg(this.description), h2 = i6 == this.Wc(h2) - 1 && this.ec(h2) ? this.Ca(h2) : i6 + 1, r2 = new t4.h(), this.D(i6, r2), s6.Ec(r2), this.D(h2, r2), s6.Rc(r2), !n4) for (n4 = 1, r2 = this.description.Ba; n4 < r2; n4++) { e2 = this.description.Fd(n4); for (var o2 = t4.ua.Wa(e2), a2 = 0; a2 < o2; a2++) { var u2 = this.Vc(e2, i6, a2); s6.SB(e2, a2, u2), u2 = this.Vc(e2, h2, a2), s6.IB(e2, a2, u2); } } }, s5.prototype.Tj = function(i6, s6) { if (i6 >= this.ea()) throw t4.i.O(); if (this.B()) s6.Pa(); else { if (this.Av(i6)) throw t4.i.ga("not implemented"); var n4 = this.vb(0), h2 = new t4.h(), r2 = new t4.l(); r2.Pa(); var e2 = this.Ca(i6); for (i6 = this.Wc(i6); e2 < i6; e2++) n4.uc(2 * e2, h2), r2.$b(h2); s6.L(r2); } }, s5.prototype.hj = function(i6) { return this.Cb == null && (this.Cb = new t4.Vk()), !(i6 == 0 || 16 > this.I()) && (i6 = t4.ta.hE(this), this.Cb.QM(i6), true); }, s5.prototype.bM = function() { if (this.Cb == null && (this.Cb = new t4.Vk()), this.Cb.Ao == null) { this.Cb.rD(null); var i6 = t4.ta.SN(this); this.Cb.rD(i6); } }, s5.prototype.Zo = function(t5) { this.zq = t5; }, s5.prototype.Jn = function() { return this.zq; }, s5.prototype.xD = function(i6) { if (this == i6) throw t4.i.ga("MultiPathImpl.add"); for (var s6 = this.ea(), n4 = 0; n4 < i6.ea(); n4++) this.addPath(i6, n4, true), this.uU(s6), s6++; }, s5.prototype.eO = function(i6) { var s6 = this.nz(i6), n4 = this.Ca(s6); if (n4 != i6) { if (i6 >= (s6 = this.Wc(s6)) || i6 < n4) throw t4.i.ga("change_ring_start_point"); for (var h2 = 0, r2 = this.description.Ba; h2 < r2; h2++) { var e2 = this.description.qd(h2); e2 = t4.ua.Wa(e2), this.Aa[h2].rotate(n4 * e2, i6 * e2, s6 * e2); } } }, s5; }(t4.Fx); t4.Wk = s4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4(s5) { var n4 = i5.call(this) || this; if (s5 !== void 0) { if (s5 == null) throw t4.i.O(); n4.description = s5; } else n4.description = t4.ee.og(); return n4.xa = 0, n4; } return Q(s4, i5), s4.prototype.Ja = function() { return new s4(this.description); }, s4.prototype.add = function(t5) { this.resize(this.xa + 1), this.Fh(this.xa - 1, t5); }, s4.prototype.Du = function(i6, s5) { this.resize(this.xa + 1); var n4 = new t4.h(); n4.na(i6, s5), this.Db(this.xa - 1, n4); }, s4.prototype.Gd = function(i6, s5, n4) { if (n4 = 0 > n4 ? i6.I() : n4, 0 > s5 || s5 > i6.I() || n4 < s5) throw t4.i.O(); if (s5 != n4) { this.Ll(i6.description), n4 -= s5; var h2 = this.xa; this.resize(this.xa + n4), this.rc(); for (var r2 = 0, e2 = i6.description.Ba; r2 < e2; r2++) { var o2 = i6.description.Fd(r2), a2 = t4.ua.Wa(o2), u2 = this.vb(o2); o2 = i6.vb(o2), u2.Nn(h2 * a2, o2, s5 * a2, n4 * a2, true, 1, h2 * a2); } } }, s4.prototype.BD = function(i6, s5) { var n4 = i6.length; if (s5 = 0 > s5 ? n4 : s5, 0 > n4 || 0 > s5) throw t4.i.O(); if (s5 != 0) { n4 = s5 - 0, s5 = this.xa, this.resize(this.xa + n4); for (var h2 = 0; h2 < n4; h2++) this.Db(s5 + h2, i6[0 + h2]); } }, s4.prototype.xB = function(i6) { if (0 > i6 || i6 >= this.I()) throw t4.i.ga("index out of bounds"); this.rc(); for (var s5 = 0, n4 = this.description.Ba; s5 < n4; s5++) if (this.Aa[s5] != null) { var h2 = t4.ua.Wa(this.description.Fd(s5)); this.Aa[s5].Fn(h2 * i6, h2, h2 * this.xa); } this.xa--, this.Rg--, this.Qc(1993); }, s4.prototype.resize = function(t5) { this.fm(t5); }, s4.prototype.pp = function() { }, s4.prototype.Pa = function() { i5.prototype.qD.call(this); }, s4.prototype.Pc = function(i6) { if (i6 instanceof t4.Ed) { if (this.B()) return; this.rc(); for (var s5 = this.Aa[0], n4 = new t4.h(), h2 = 0; h2 < this.xa; h2++) n4.x = s5.read(2 * h2), n4.y = s5.read(2 * h2 + 1), i6.Gh(n4, n4), s5.write(2 * h2, n4.x), s5.write(2 * h2 + 1, n4.y); } else { if (this.B()) return; this.rc(), this.se(1), this.rc(), s5 = this.Aa[0], n4 = this.Aa[1]; var r2 = new t4.Od(); for (h2 = 0; h2 < this.xa; h2++) { r2.x = s5.read(2 * h2), r2.y = s5.read(2 * h2 + 1), r2.z = n4.read(h2); var e2 = i6.gp(r2); s5.write(2 * h2, e2.x), s5.write(2 * h2 + 1, e2.y), n4.write(h2, e2.z); } } this.Qc(1993); }, s4.prototype.Eb = function() { return 0; }, s4.prototype.K = function() { return 550; }, s4.prototype.He = function() { return 0; }, s4.prototype.Rb = function() { return 0; }, s4.prototype.Nb = function(t5) { return t5 == this || t5 instanceof s4 && i5.prototype.Nb.call(this, t5); }, s4.prototype.dW = function(i6, s5) { var n4 = this.xa; if (n4 = Math.min(n4, s5 + 1e3), 0 > s5 || s5 >= this.xa || n4 < s5 || i6.length != 1e3) throw t4.i.O(); var h2 = n4 - s5, r2 = []; for (this.vb(0).Xw(2 * s5, 2 * h2, r2, 0, true), s5 = 0; s5 < h2; s5++) i6[s5] = t4.h.construct(r2[2 * s5], r2[2 * s5 + 1]); return n4; }, s4.prototype.Zx = function() { }, s4.prototype.ey = function() { }, s4.prototype.nu = function() { return false; }, s4.prototype.hj = function() { return false; }, s4.prototype.mg = function() { return null; }, s4; }(t4.Fx); t4.de = i4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.cL || (t4.cL = {}))[i4.NotDetermined = 0] = "NotDetermined", i4[i4.Structure = 1] = "Structure", i4[i4.DegenerateSegments = 2] = "DegenerateSegments", i4[i4.Clustering = 3] = "Clustering", i4[i4.Cracking = 4] = "Cracking", i4[i4.CrossOver = 5] = "CrossOver", i4[i4.RingOrientation = 6] = "RingOrientation", i4[i4.RingOrder = 7] = "RingOrder", i4[i4.OGCPolylineSelfTangency = 8] = "OGCPolylineSelfTangency", i4[i4.OGCPolygonSelfTangency = 9] = "OGCPolygonSelfTangency", i4[i4.OGCDisconnectedInterior = 10] = "OGCDisconnectedInterior"; var s4 = function() { function t5(t6, i5, s5) { t6 === void 0 ? (this.Lj = 0, this.Lo = this.Ko = -1) : (this.Lj = t6, this.Ko = i5, this.Lo = s5); } return t5.prototype.Yt = function(t6) { this.Lj = t6.Lj, this.Ko = t6.Ko, this.Lo = t6.Lo; }, t5; }(); t4.Nd = s4; }(V || (V = {})), function(t4) { t4.P = function() { function i4() { } return i4.assert = function(i5) { if (i5 === false) throw t4.i.AK(); }, i4.WJ = function(t5) { return isNaN(t5) ? NaN : t5 === 0 ? t5 : 0 < t5 ? 1 : -1; }, i4.Hu = function(t5) { var s4; s4 === void 0 && (s4 = 0); for (var n4 = [], h2 = 0; h2 < t5; h2++) n4[h2] = i4.lg(2, s4); return n4; }, i4.lg = function(t5, i5) { i5 === void 0 && (i5 = 0); for (var s4 = [], n4 = 0; n4 < t5; n4++) s4[n4] = i5; return s4; }, i4.bv = function(t5, i5) { var s4, n4; for (s4 === void 0 && (s4 = 0), n4 === void 0 && (n4 = t5.length - 1); s4 <= n4; s4++) t5[s4] = i5; }, i4.Sk = function(t5, i5, s4) { return t5 < i5 ? i5 : t5 > s4 ? s4 : t5; }, i4.Vh = function(t5, i5) { var s4 = 5381; return ((s4 = ((s4 = ((s4 = i5 !== void 0 ? (i5 << 5) + i5 + (255 & t5) : (s4 << 5) + s4 + (255 & t5)) << 5) + s4 + (t5 >> 8 & 255)) << 5) + s4 + (t5 >> 16 & 255)) << 5) + s4 + (t5 >> 24 & 255) & 2147483647; }, i4.wj = function() { throw Error("Not Implemented"); }, i4.WA = function(t5) { return i4.TT(t5) + 12345 & 2147483647; }, i4.QG = function(t5) { var s4 = 32, n4 = t5 % i4.Px | 0, h2 = t5 / i4.Px | 0; return (s4 &= 63) == 0 ? t5 : (32 > s4 ? (t5 = n4 >>> s4 | h2 << 32 - s4, s4 = h2 >> s4) : (t5 = h2 >> s4 - 32, s4 = 0 <= h2 ? 0 : -1), s4 * i4.Px + (t5 >>> 0)); }, i4.TT = function(t5) { var i5 = 1103515245, s4 = 65535 & i5; return ((i5 - s4) * (t5 |= 0) | 0) + (s4 * t5 | 0) | 0; }, i4.truncate = function(t5) { return 0 > t5 ? -1 * Math.floor(Math.abs(t5)) : Math.floor(t5); }, i4.MAX_SAFE_INTEGER = Math.pow(2, 53) - 1, i4.MIN_SAFE_INTEGER = -i4.MAX_SAFE_INTEGER, i4.PC = 65536, i4.Px = i4.PC * i4.PC, i4; }(); }(V || (V = {})), function(t4) { var i4; (i4 = t4.wL || (t4.wL = {}))[i4.Project = 0] = "Project", i4[i4.Union = 1] = "Union", i4[i4.Difference = 2] = "Difference", i4[i4.Proximity2D = 3] = "Proximity2D", i4[i4.Relate = 4] = "Relate", i4[i4.Equals = 5] = "Equals", i4[i4.Disjoint = 6] = "Disjoint", i4[i4.Intersects = 7] = "Intersects", i4[i4.Within = 8] = "Within", i4[i4.Contains = 9] = "Contains", i4[i4.Crosses = 10] = "Crosses", i4[i4.Touches = 11] = "Touches", i4[i4.Overlaps = 12] = "Overlaps", i4[i4.Buffer = 13] = "Buffer", i4[i4.Distance = 14] = "Distance", i4[i4.Intersection = 15] = "Intersection", i4[i4.Clip = 16] = "Clip", i4[i4.Cut = 17] = "Cut", i4[i4.DensifyByLength = 18] = "DensifyByLength", i4[i4.DensifyByAngle = 19] = "DensifyByAngle", i4[i4.LabelPoint = 20] = "LabelPoint", i4[i4.GeodesicBuffer = 21] = "GeodesicBuffer", i4[i4.GeodeticDensifyByLength = 22] = "GeodeticDensifyByLength", i4[i4.ShapePreservingDensify = 23] = "ShapePreservingDensify", i4[i4.GeodeticLength = 24] = "GeodeticLength", i4[i4.GeodeticArea = 25] = "GeodeticArea", i4[i4.Simplify = 26] = "Simplify", i4[i4.SimplifyOGC = 27] = "SimplifyOGC", i4[i4.Offset = 28] = "Offset", i4[i4.Generalize = 29] = "Generalize", i4[i4.SymmetricDifference = 30] = "SymmetricDifference", i4[i4.ConvexHull = 31] = "ConvexHull", i4[i4.Boundary = 32] = "Boundary", i4[i4.SimpleRelation = 33] = "SimpleRelation"; var s4 = function() { function t5() { } return t5.prototype.K = function() { return null; }, t5.prototype.xn = function() { }, t5.prototype.Ku = function() { return false; }, t5; }(); t4.Ge = s4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 13; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2, r2) { return i6 instanceof t4.ba ? (r2 = new t4.$c(i6), this.W(r2, s5, [n4], false, h2).next()) : h2 === true ? (n4 = new t4.vC(i6, s5, n4, false, r2), t4.Ih.local().W(n4, s5, r2)) : new t4.vC(i6, s5, n4, false, r2); }, s4.instance = null, s4; }(t4.Ge); t4.uC = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4, h2, r2) { this.za = -1, this.Sd = i6, this.Vz = s4, this.Es = n4, this.kT = new t4.l(), this.kT.Pa(), this.fo = -1, this.Vb = r2; } return i5.prototype.next = function() { for (var t5; (t5 = this.Sd.next()) != null; ) return this.za = this.Sd.Ma(), this.fo + 1 < this.Es.length && this.fo++, this.buffer(t5, this.Es[this.fo]); return null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.buffer = function(i6, s4) { return t4.BK.buffer(i6, s4, this.Vz, NaN, 96, this.Vb); }, i5.prototype.qe = function() { }, i5; }(); t4.vC = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 16; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), this.W(i6, s5, n4, h2).next()) : new t4.fL(i6, s5, n4, h2); }, s4.instance = null, s4; }(t4.Ge); t4.eL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4) { if (this.za = -1, i6 == null) throw t4.i.O(); this.aa = s4, this.zk = i6, this.ra = t4.ta.Xd(n4, s4, false); } return i5.prototype.next = function() { var i6; return (i6 = this.zk.next()) != null ? (this.za = this.zk.Ma(), t4.Vd.clip(i6, this.aa, this.ra, 0)) : null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.qe = function() { }, i5; }(); t4.fL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 31; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4) { return i6 instanceof t4.ba ? t4.xC.lE(i6) : new t4.xC(s5, i6, n4); }, s4.instance = null, s4; }(t4.Ge); t4.wC = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4) { if (this.oA = new t4.au(), this.za = -1, s4 == null) throw t4.i.O(); this.XG = i6, this.Jc = false, this.zk = s4, this.Vb = n4; } return i5.prototype.next = function() { if (this.XG) { if (!this.Jc) { var t5 = this.YN(this.zk); return this.Jc = true, t5; } return null; } if (!this.Jc) { if ((t5 = this.zk.next()) != null) return this.za = this.zk.Ma(), i5.lE(t5); this.Jc = true; } return null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.YN = function(t5) { for (var i6; (i6 = t5.next()) != null; ) this.oA.Ib(i6); return this.oA.XQ(); }, i5.prototype.qe = function() { if (!this.Jc) { if (!this.XG) throw t4.i.ga("Invalid call for non merging convex hull."); var i6 = this.zk.next(); if (i6 == null) throw t4.i.ga("Expects a non-null geometry."); this.oA.Ib(i6); } }, i5.lE = function(s4) { if (i5.NS(s4)) return s4; var n4 = s4.K(); if (t4.Wk.zd(n4)) return (n4 = new t4.Ua(s4.description)).oc(s4, true), n4; if (n4 == 550 && s4.I() == 2) { var h2 = new t4.Ta(); return n4 = new t4.Ua(s4.description), s4.we(0, h2), n4.nf(h2), s4.we(1, h2), n4.lineTo(h2), n4; } return t4.au.LO(s4); }, i5.NS = function(i6) { if (i6.B()) return true; var s4 = i6.K(); return s4 == 33 || s4 == 197 || !t4.Wk.zd(s4) && (s4 == 550 ? i6.I() == 1 : s4 == 1607 ? i6.ea() == 1 && 2 >= i6.I() : i6.ea() == 1 && (2 >= i6.I() || t4.au.DG(i6, 0))); }, i5; }(); t4.xC = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 17; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2, r2) { return new t4.hL(i6, s5, n4, h2, r2); }, s4.instance = null, s4; }(t4.Ge); t4.gL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4, h2, r2) { if (this.Uf = null, s4 == null || n4 == null) throw t4.i.ga("invalid argument"); this.hT = i6, this.hA = s4, this.fH = n4, i6 = t4.ta.ov(s4, n4), this.ra = t4.ta.Xd(h2, i6, true), this.eH = -1, this.nd = r2; } return i5.prototype.Ma = function() { return 0; }, i5.prototype.next = function() { return this.LQ(), ++this.eH < this.Uf.length ? this.Uf[this.eH] : null; }, i5.prototype.LQ = function() { if (this.Uf == null) switch (this.Uf = [], this.hA.K()) { case 1607: this.NQ(); break; case 1736: this.MQ(); } }, i5.prototype.NQ = function() { var i6 = new t4.Ua(), s4 = new t4.Ua(), n4 = new t4.Ua(); this.Uf.push(i6), this.Uf.push(s4); var h2 = []; t4.FK.DK(this.hT, this.hA, this.fH, this.ra, h2, this.nd); for (var r2 = 0; r2 < h2.length; r2++) { var e2 = h2[r2]; if (e2.ct == 0) i6.add(e2.Y, false); else if (e2.ct == 1 || e2.ct == 2) s4.add(e2.Y, false); else if (e2.ct == 3) this.Uf.push(e2.Y); else { if (e2.ct != 4) throw t4.i.ga("internal"); n4.add(e2.Y, false); } } n4.B() || i6.B() && s4.B() && !(3 <= this.Uf.length) || this.Uf.push(n4), i6.B() && s4.B() && 3 > this.Uf.length && (this.Uf.length = 0); }, i5.prototype.MQ = function() { var i6 = new t4.ja(0), s4 = new t4.hd(), n4 = s4.VE(), h2 = s4.Ib(this.hA), r2 = s4.Ib(this.fH), e2 = new t4.Hg(); try { e2.Gt(s4, this.ra, this.nd), e2.fl(n4, h2, r2, i6); var o2 = s4.Ke(h2), a2 = new t4.Ea(), u2 = new t4.Ea(); for (this.Uf.length = 0, this.Uf.push(a2), this.Uf.push(u2), h2 = 0; h2 < i6.size; h2++) { var f2 = new t4.hd(), c2 = f2.Ib(o2), l2 = f2.Ib(s4.Ke(i6.get(h2))); e2.fr(f2, this.nd); var p2 = e2.Cv(c2, l2), v2 = f2.Ke(p2); if (!v2.B()) { var y2 = s4.EF(i6.get(h2), n4); y2 == 2 ? a2.add(v2, false) : y2 == 1 ? u2.add(v2, false) : this.Uf.push(v2); var b2 = new t4.hd(); c2 = b2.Ib(o2), l2 = b2.Ib(s4.Ke(i6.get(h2))), e2.fr(b2, this.nd), o2 = b2.Ke(e2.km(c2, l2)); } } !o2.B() && 0 < i6.size && this.Uf.push(o2), a2.B() && u2.B() && (this.Uf.length = 0); } finally { e2.Wg(); } }, i5.prototype.qe = function() { }, i5; }(); t4.hL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 18; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4) { if (i6 instanceof t4.ba) return i6 = new t4.$c(i6), this.W(i6, s5, n4).next(); if (0 >= s5) throw t4.i.O(); return new t4.iL(i6, s5, n4); }, s4.instance = null, s4; }(t4.Ge); t4.Zl = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6) { this.za = -1, this.Sd = t5, this.Rs = i6; } return i5.prototype.Ma = function() { return this.za; }, i5.prototype.next = function() { var t5; return (t5 = this.Sd.next()) != null ? (this.za = this.Sd.Ma(), this.HP(t5)) : null; }, i5.prototype.HP = function(i6) { if (i6.B() || 1 > i6.Eb()) return i6; var s4 = i6.K(); if (s4 == 1736 || s4 == 1607) return this.Iy(i6); if (t4.ba.zd(s4)) return this.JP(i6); if (s4 == 197) return this.IP(i6); throw t4.i.Ra(); }, i5.prototype.JP = function(i6) { if (i6.Rb() <= this.Rs) return i6; var s4 = new t4.Ua(i6.description); return s4.oc(i6, true), this.Iy(s4); }, i5.prototype.IP = function(i6) { var s4 = new t4.Ea(i6.description); s4.bd(i6, false); var n4 = new t4.l(); return i6.A(n4), i6 = n4.da(), n4.S() <= this.Rs && i6 <= this.Rs ? s4 : this.Iy(s4); }, i5.prototype.Iy = function(i6) { for (var s4 = i6.Ja(), n4 = i6.Ha(); n4.ab(); ) for (var h2 = true; n4.Ia(); ) { var r2 = n4.ia(); if (r2.K() != 322) throw t4.i.ga("not implemented"); var e2 = n4.Pn(), o2 = r2.Rb(); if (o2 > this.Rs) { var a2 = Math.ceil(o2 / this.Rs); o2 = new t4.Ta(i6.description), h2 && (r2.Uo(o2), s4.nf(o2)); var u2 = h2 = 1 / a2, f2 = 0; for (--a2; f2 < a2; f2++) r2.Vw(u2, o2), s4.lineTo(o2), u2 += h2; e2 ? s4.Cp() : (r2.Qo(o2), s4.lineTo(o2)); } else e2 ? s4.Cp() : s4.oc(r2, h2); h2 = false; } return s4; }, i5.prototype.qe = function() { }, i5; }(); t4.iL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.K = function() { return 2; }, s4.prototype.W = function(i6, s5, n4, h2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), s5 = new t4.$c(s5), this.W(i6, s5, n4, h2).next()) : new t4.jL(i6, s5, n4, h2); }, s4.km = function(i6, n4, h2, r2) { if (i6.B() || n4.B()) return i6; var e2 = i6.Eb(), o2 = n4.Eb(); if (e2 > o2) return i6; var a2 = i6.K(), u2 = n4.K(), f2 = new t4.l(), c2 = new t4.l(), l2 = new t4.l(); i6.A(f2), n4.A(c2), l2.L(f2), l2.$b(c2); var p2 = (l2 = t4.ta.Xd(h2, l2, true)) * Math.sqrt(2) * 1.00001, v2 = new t4.l(); if (v2.L(f2), v2.X(p2, p2), !v2.isIntersecting(c2)) return i6; if (e2 == 1 && o2 == 2) return s4.CV(i6, n4, u2, h2, r2); if (a2 == 33) switch (t4.Wk.zd(u2) ? (h2 = new t4.Ua(n4.description), h2.oc(n4, true)) : h2 = n4, u2) { case 1736: return s4.PU(i6, h2, l2); case 1607: return s4.QU(i6, h2, l2); case 550: return s4.NU(i6, h2, l2); case 197: return s4.MU(i6, h2, l2); case 33: return s4.OU(i6, h2, l2); default: throw t4.i.O(); } else if (a2 == 550) switch (u2) { case 1736: return s4.fU(i6, n4, l2); case 197: return s4.dU(i6, n4, l2); case 33: return s4.eU(i6, n4, l2); } return t4.Hg.km(i6, n4, h2, r2); }, s4.PU = function(i6, s5, n4) { return t4.jd.EG(s5, i6, n4) == 0 ? i6 : i6.Ja(); }, s4.QU = function(i6, s5, n4) { var h2 = i6.D(); s5 = s5.Ha(); for (var r2 = n4 * Math.sqrt(2) * 1.00001, e2 = r2 * r2, o2 = new t4.l(); s5.ab(); ) for (; s5.Ia(); ) { var a2 = s5.ia(); if (a2.A(o2), o2.X(r2, r2), o2.contains(h2)) { if (a2.ss(h2, n4)) return i6.Ja(); var u2 = a2.ac(); if (t4.h.zc(h2, u2) <= e2) return i6.Ja(); if (u2 = a2.xc(), t4.h.zc(h2, u2) <= e2) return i6.Ja(); } } return i6; }, s4.NU = function(i6, s5, n4) { var h2 = s5.vb(0); s5 = s5.I(); var r2 = i6.D(), e2 = new t4.h(); n4 = n4 * Math.sqrt(2) * 1.00001, n4 *= n4; for (var o2 = 0; o2 < s5; o2++) if (h2.uc(2 * o2, e2), t4.h.zc(e2, r2) <= n4) return i6.Ja(); return i6; }, s4.MU = function(i6, s5, n4) { var h2 = new t4.l(); return s5.A(h2), h2.X(n4, n4), s5 = i6.D(), h2.contains(s5) ? i6.Ja() : i6; }, s4.OU = function(i6, s5, n4) { n4 = n4 * Math.sqrt(2) * 1.00001, n4 *= n4; var h2 = i6.D(); return s5 = s5.D(), t4.h.zc(h2, s5) <= n4 ? i6.Ja() : i6; }, s4.fU = function(i6, s5, n4) { var h2 = new t4.l(); s5.A(h2), h2.X(n4, n4); for (var r2 = i6.I(), e2 = false, o2 = [], a2 = 0; a2 < r2; a2++) o2[a2] = false; var u2 = new t4.h(); for (a2 = 0; a2 < r2; a2++) i6.D(a2, u2), h2.contains(u2) && t4.jd.Zd(s5, u2, n4) != 0 && (e2 = true, o2[a2] = true); if (!e2) return i6; for (s5 = i6.Ja(), a2 = 0; a2 < r2; a2++) o2[a2] || s5.Gd(i6, a2, a2 + 1); return s5; }, s4.dU = function(i6, s5, n4) { var h2 = new t4.l(); s5.A(h2), h2.X(n4, n4), s5 = i6.I(); var r2 = false; n4 = []; for (var e2 = 0; e2 < s5; e2++) n4[e2] = false; var o2 = new t4.h(); for (e2 = 0; e2 < s5; e2++) i6.D(e2, o2), h2.contains(o2) && (r2 = true, n4[e2] = true); if (!r2) return i6; for (h2 = i6.Ja(), e2 = 0; e2 < s5; e2++) n4[e2] || h2.Gd(i6, e2, e2 + 1); return h2; }, s4.eU = function(i6, s5, n4) { var h2 = i6.vb(0), r2 = i6.I(), e2 = s5.D(), o2 = new t4.h(), a2 = false; s5 = []; for (var u2 = 0; u2 < r2; u2++) s5[u2] = false; for (n4 = (u2 = n4 * Math.sqrt(2) * 1.00001) * u2, u2 = 0; u2 < r2; u2++) h2.uc(2 * u2, o2), t4.h.zc(o2, e2) <= n4 && (a2 = true, s5[u2] = true); if (!a2) return i6; for (h2 = i6.Ja(), u2 = 0; u2 < r2; u2++) s5[u2] || h2.Gd(i6, u2, u2 + 1); return h2; }, s4.CV = function(i6, s5, n4, h2, r2) { var e2 = new t4.Hh(); i6.dn(e2); var o2 = new t4.l(); return s5.A(o2), e2.$b(o2), e2.X(0.1 * e2.S(), 0.1 * e2.da()), (o2 = new t4.Ea()).bd(e2, false), n4 == 1736 ? o2.add(s5, true) : o2.bd(s5, true), t4.Xk.local().W(i6, o2, h2, r2); }, s4.instance = null, s4; }(t4.Ge); t4.lp = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4, n4) { this.vs = i6 == null, this.za = -1, this.Sd = t5, this.Vz = s4, this.nT = i6.next(), this.Vb = n4; } return i5.prototype.next = function() { return this.vs ? null : (i6 = this.Sd.next()) != null ? (this.za = this.Sd.Ma(), t4.lp.km(i6, this.nT, this.Vz, this.Vb)) : null; var i6; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.qe = function() { }, i5; }(); t4.jL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.nd = i6, this.Dj = new t4.l(), this.Dj.Pa(), this.qh = new t4.l(), this.qh.Pa(); } return i5.prototype.Pt = function() { var t5 = this.Dj.v; this.Dj.v = this.qh.v, this.qh.v = t5, t5 = this.Dj.C, this.Dj.C = this.qh.C, this.qh.C = t5, t5 = this.Dj.G, this.Dj.G = this.qh.G, this.qh.G = t5, t5 = this.Dj.H, this.Dj.H = this.qh.H, this.qh.H = t5; }, i5.prototype.ZP = function(i6, s5) { if (this.nd != null && !this.nd.progress(-1, -1)) throw t4.i.hu("user_canceled"); var n4 = !this.Dj.isIntersecting(this.qh); return t4.ba.Ic(i6.K()) && t4.ba.Ic(s5.K()) ? i6.I() > s5.I() ? this.aE(i6, s5, n4) : (this.Pt(), i6 = this.aE(s5, i6, n4), this.Pt(), i6) : i6.K() == 550 && t4.ba.Ic(s5.K()) ? (i6 = this.bE(s5, i6, n4), this.Pt(), i6) : s5.K() == 550 && t4.ba.Ic(i6.K()) ? this.bE(i6, s5, n4) : i6.K() == 550 && s5.K() == 550 ? i6.I() > s5.I() ? this.cE(i6, s5) : (this.Pt(), i6 = this.cE(s5, i6), this.Pt(), i6) : 0; }, i5.prototype.aE = function(i6, s5, n4) { var h2 = i6.Ha(), r2 = s5.Ha(), e2 = new t4.l(), o2 = new t4.l(), a2 = 17976931348623157e292; if (!n4 && this.hY(i6, s5, h2, r2)) return 0; for (; h2.ab(); ) for (; h2.Ia(); ) if ((i6 = h2.ia()).A(e2), !(e2.px(this.qh) > a2)) { for (; r2.ab(); ) for (; r2.Ia(); ) if ((s5 = r2.ia()).A(o2), e2.px(o2) < a2 && (s5 = i6.ub(s5, n4), (s5 *= s5) < a2)) { if (s5 == 0) return 0; a2 = s5; } r2.aj(); } return Math.sqrt(a2); }, i5.prototype.bE = function(i6, s5, n4) { var h2 = i6.Ha(), r2 = new t4.l(), e2 = 17976931348623157e292, o2 = new t4.h(), a2 = s5.I(); for (n4 = !n4 && i6.K() == 1736; h2.ab(); ) for (; h2.Ia(); ) { var u2 = h2.ia(); if (u2.A(r2), !(1 < a2 && r2.px(this.qh) > e2)) { for (var f2 = 0; f2 < a2; f2++) { if (s5.D(f2, o2), n4 && t4.jd.Zd(i6, o2, 0) != 0) return 0; var c2 = u2.fe(o2, false); if (o2.sub(u2.ic(c2)), (c2 = o2.Tk()) < e2) { if (c2 == 0) return 0; e2 = c2; } } n4 = false; } } return Math.sqrt(e2); }, i5.prototype.cE = function(i6, s5) { for (var n4, h2 = 17976931348623157e292, r2 = new t4.h(), e2 = new t4.h(), o2 = i6.I(), a2 = s5.I(), u2 = 0; u2 < o2; u2++) if (i6.D(u2, r2), !(1 < a2 && this.qh.cK(r2) > h2)) { for (var f2 = 0; f2 < a2; f2++) if (s5.D(f2, e2), (n4 = t4.h.zc(r2, e2)) < h2) { if (n4 == 0) return 0; h2 = n4; } } return Math.sqrt(h2); }, i5.prototype.hY = function(i6, s5, n4, h2) { if (i6.K() == 1736) { for (; h2.ab(); ) if (h2.Ia()) { var r2 = h2.ia(); if (t4.jd.Zd(i6, r2.xc(), 0) != 0) return true; } h2.aj(); } if (s5.K() == 1736) { for (; n4.ab(); ) if (n4.Ia() && (i6 = n4.ia(), t4.jd.Zd(s5, i6.xc(), 0) != 0)) return true; n4.aj(); } return false; }, i5.prototype.im = function(t5, i6) { return t5.B() || i6.B() ? NaN : (t5.A(this.Dj), i6.A(this.qh), this.ZP(t5, i6)); }, i5; }(), s4 = function(s5) { function n4() { return s5 !== null && s5.apply(this, arguments) || this; } return Q(n4, s5), n4.prototype.W = function(s6, n5, h2) { if (s6 == null || n5 == null) throw t4.i.O(); if (s6.B() || n5.B()) return NaN; var r2 = s6.K(), e2 = n5.K(); if (r2 == 33) { if (e2 == 33) return t4.h.ub(s6.D(), n5.D()); if (e2 == 197) return h2 = new t4.l(), n5.A(h2), h2.ub(s6.D()); (r2 = new t4.de()).add(s6), s6 = r2; } else if (r2 == 197) { if (e2 == 197) return e2 = new t4.l(), s6.A(e2), h2 = new t4.l(), n5.A(h2), h2.ub(e2); (r2 = new t4.Ea()).bd(s6, false), s6 = r2; } return e2 == 33 ? ((e2 = new t4.de()).add(n5), n5 = e2) : e2 == 197 && ((e2 = new t4.Ea()).bd(n5, false), n5 = e2), new i4(h2).im(s6, n5); }, n4.local = function() { return n4.instance === null && (n4.instance = new n4()), n4.instance; }, n4.prototype.K = function() { return 14; }, n4.instance = null, n4; }(t4.Ge); t4.kL = s4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4, n4) { this.tH = t5, this.xH = i6, this.nd = n4, this.UG = s4; } return i5.prototype.next = function() { var t5 = this.tH.next(); return t5 == null ? null : this.tC(t5); }, i5.prototype.Ma = function() { return this.tH.Ma(); }, i5.prototype.tC = function(i6) { var s4 = i6.K(); if (t4.ba.Sn(s4)) return i6; if (s4 == 197) return (s4 = new t4.Ea(i6.description)).bd(i6, false), this.tC(s4); if (i6.B()) return i6; if (i6 == null) throw t4.i.Ra(); s4 = i6.Ja(); for (var n4 = new t4.zb(), h2 = 0, r2 = i6.ea(); h2 < r2; h2++) this.NK(i6, h2, s4, n4); return s4; }, i5.prototype.NK = function(i6, s4, n4, h2) { if (!(2 > i6.Ka(s4))) { var r2 = i6.Ca(s4), e2 = i6.Wc(s4) - 1, o2 = i6.vb(0), a2 = i6.ec(s4), u2 = new t4.ja(0); u2.Jb(i6.Ka(s4) + 1); var f2 = new t4.ja(0); for (f2.Jb(i6.Ka(s4) + 1), u2.add(a2 ? r2 : e2), u2.add(r2), r2 = new t4.h(); 1 < u2.size; ) { var c2 = u2.Gc(); u2.Jf(); var l2 = u2.Gc(); i6.D(c2, r2), h2.Ec(r2), i6.D(l2, r2), h2.Rc(r2), 0 <= (l2 = this.MK(h2, r2, o2, c2, l2, e2)) ? (u2.add(l2), u2.add(c2)) : f2.add(c2); } if (a2 || f2.add(u2.get(0)), f2.size == u2.size) n4.addPath(i6, s4, true); else if (2 <= f2.size && (!this.UG || f2.size != 2 || !(a2 || t4.h.ub(i6.Oa(f2.get(0)), i6.Oa(f2.get(1))) <= this.xH))) { for (s4 = new t4.Ta(), h2 = 0, e2 = f2.size; h2 < e2; h2++) i6.we(f2.get(h2), s4), h2 == 0 ? n4.nf(s4) : n4.lineTo(s4); a2 && (this.UG || f2.size != 2 || n4.lineTo(s4), n4.Cp()); } } }, i5.prototype.MK = function(t5, i6, s4, n4, h2, r2) { var e2 = h2 - 1; for (h2 <= n4 && (e2 = r2), r2 = h2 = -1, n4 += 1; n4 <= e2; n4++) { s4.uc(2 * n4, i6); var o2 = i6.x, a2 = i6.y; t5.ic(t5.fe(i6, false), i6), i6.x -= o2, i6.y -= a2, (o2 = i6.length()) > this.xH && o2 > r2 && (h2 = n4, r2 = o2); } return h2; }, i5.prototype.qe = function() { }, i5; }(); t4.lL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 29; }, s4.prototype.W = function(i6, s5, n4, h2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), this.W(i6, s5, n4, h2).next()) : new t4.lL(i6, s5, n4, h2); }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.instance = null, s4; }(t4.Ge); t4.yC = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 21; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2, r2, e2, o2, a2) { return i6 instanceof t4.ba ? (a2 = new t4.$c(i6), this.W(a2, s5, n4, [h2], r2, e2, false, o2).next()) : o2 === true ? (n4 = new t4.AC(i6, s5, n4, h2, r2, false, false, a2), t4.Ih.local().W(n4, s5, a2)) : new t4.AC(i6, s5, n4, h2, r2, false, false, a2); }, s4.instance = null, s4; }(t4.Ge); t4.zC = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4, h2, r2, e2, o2, a2) { if (e2) throw t4.i.Fe(); if (s4 == null) throw t4.i.O(); this.za = -1, this.Os = i6, this.vg = s4, this.Ae = n4, this.Es = h2, this.ao = r2, this.fo = -1, this.Vb = a2, this.lT = new t4.l(), this.lT.Pa(); } return i5.prototype.next = function() { for (var t5; (t5 = this.Os.next()) != null; ) return this.za = this.Os.Ma(), this.fo + 1 < this.Es.length && this.fo++, this.UQ(t5, this.Es[this.fo]); return null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.UQ = function(i6, s4) { return t4.PK.buffer(i6, this.vg, this.Ae, s4, this.ao, this.Vb); }, i5.prototype.qe = function() { }, i5; }(); t4.AC = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 24; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4) { if (s5 == null) throw t4.i.O(); if (i6.B() || 1 > i6.Eb()) return 0; if (n4 == 4) throw t4.i.Fe(); var h2 = t4.cb.tc(s5), r2 = t4.cb.xv(h2), e2 = t4.cb.gv(h2); r2 *= 2 - r2; var o2 = h2.Id().ci, a2 = i6.K(); if (a2 == 1736 || a2 == 197) var u2 = i6.mg(); else t4.ba.zd(a2) ? (u2 = new t4.Ua(i6.description)).oc(i6, true) : u2 = i6; if (h2.Nb(s5) == 0) { if (t4.cb.Xc(s5)) { u2 = t4.Jh.nj(u2, s5), a2 == 1607 && u2 == i6 && (u2 = t4.ba.ig(i6)), i6 = new t4.Oc(), t4.cb.ih(s5).en(i6), a2 = 0; for (var f2 = u2.I(); a2 < f2; a2++) { var c2 = u2.Oa(a2); c2.x = t4.Jh.an(c2.x, i6), u2.Db(a2, c2); } } i6 = u2.Ja(), u2 = t4.Jh.QI(s5, h2, u2, i6) ? i6 : t4.cb.Bh(u2, s5, h2); } return this.bQ(u2, n4, e2, r2, o2); }, s4.prototype.bQ = function(i6, s5, n4, h2, r2) { var e2 = new t4.ha(0), o2 = 0; for (i6 = i6.Ha(); i6.ab(); ) for (; i6.Ia(); ) { var a2 = i6.ia(), u2 = a2.ac(); a2 = a2.xc(), u2.scale(r2), a2.scale(r2), t4.kb.xd(n4, h2, u2.x, u2.y, a2.x, a2.y, e2, null, null, s5), o2 += e2.u; } return o2; }, s4.instance = null, s4; }(t4.Ge); t4.oL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 18; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2, r2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), this.W(i6, s5, n4, h2, r2).next()) : new t4.nL(i6, n4, h2, s5, -1, -1, r2); }, s4.instance = null, s4; }(t4.Ge); t4.mL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4, h2, r2, e2) { if (0 < e2) throw t4.i.Fe(); if (n4 != 4 && 0 < r2) throw t4.i.Fe(); if (s4 == null) throw t4.i.O(); this.za = -1, this.Os = i6, this.vg = s4, this.Ae = n4, this.vT = h2, this.uT = r2; } return i5.prototype.next = function() { for (var t5; (t5 = this.Os.next()) != null; ) return this.za = this.Os.Ma(), this.Uy(t5); return null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.Uy = function(i6) { return t4.ej.Sr(i6, this.vg, this.Ae, this.vT, this.uT, this.Vb); }, i5.prototype.qe = function() { }, i5; }(); t4.nL = i4; }(V || (V = {})), function(t4) { !function(t5) { t5[t5.Unknown = 0] = "Unknown", t5[t5.Contains = 1] = "Contains", t5[t5.Within = 2] = "Within", t5[t5.Equals = 3] = "Equals", t5[t5.Disjoint = 4] = "Disjoint", t5[t5.Touches = 8] = "Touches", t5[t5.Crosses = 16] = "Crosses", t5[t5.Overlaps = 32] = "Overlaps", t5[t5.NoThisRelation = 64] = "NoThisRelation", t5[t5.Intersects = 1073741824] = "Intersects", t5[t5.IntersectsOrDisjoint = 1073741828] = "IntersectsOrDisjoint"; }(t4.XK || (t4.XK = {})), t4.qL = function() { function i4() { } return i4.fW = function(i5, s4) { var n4 = i5.K(), h2 = s4.K(); if (t4.ba.zj(n4)) { var r2 = i5.Cb; if (r2 != null && (r2 = r2.Gk) != null) { if (h2 == 33) { var e2 = s4.D(); r2 = r2.To(e2.x, e2.y); } else e2 = new t4.l(), s4.A(e2), r2 = r2.So(e2); if (r2 == 1) return 1; if (r2 == 0) return 4; } } if (t4.ba.zj(h2) && ((r2 = s4.Cb) != null && (r2 = r2.Gk) != null)) { if (n4 == 33 ? (i5 = i5.D(), r2 = r2.To(i5.x, i5.y)) : (s4 = new t4.l(), i5.A(s4), r2 = r2.So(s4)), r2 == 1) return 2; if (r2 == 0) return 4; } return 0; }, i4; }(); }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.K = function() { return 15; }, s4.prototype.W = function(i6, s5, n4, h2, r2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), s5 = new t4.$c(s5), this.W(i6, s5, n4, h2, r2).next()) : r2 === void 0 ? new t4.BC(i6, s5, n4, h2, -1) : new t4.BC(i6, s5, n4, h2, r2); }, s4.prototype.xn = function(i6, s5, n4) { this.Ku(i6) && (s5 = t4.ta.mj(s5, i6, false), i6.hj(n4) || i6.nu(s5, n4)); }, s4.prototype.Ku = function(i6) { return t4.Mx.tE(i6); }, s4.instance = null, s4; }(t4.Ge); t4.Xk = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4, h2, r2) { if (this.vs = s4 == null, this.za = -1, this.Sd = i6, this.vg = n4, this.Pe = s4.next(), this.Fj = this.Pe.K(), this.Vb = h2, this.Hi = r2, this.Hi != -1 && (0 >= this.Hi || 7 < this.Hi)) throw t4.i.O("bad dimension mask"); } return i5.prototype.next = function() { if (this.vs) return null; if (this.Bw != null) { var t5 = this.Bw.next(); if (t5 != null) return t5; this.Bw = null; } for (; (t5 = this.Sd.next()) != null; ) return this.za = this.Sd.Ma(), this.Hi == -1 ? t5 = this.Fa(t5) : (this.Bw = this.IS(t5), t5 = this.Bw.next()), t5; return null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.Fa = function(i6) { var s4 = this.tK(i6); if (s4 != null) return s4; s4 = t4.ta.ov(this.Pe, i6); var n4 = t4.ta.Xd(this.vg, s4, true); s4 = new t4.l(), this.Pe.A(s4); var h2 = new t4.l(); return i6.A(h2), s4.X(2 * n4, 2 * n4), s4.Fa(h2), s4.X(100 * n4, 100 * n4), n4 = t4.Vd.clip(this.Pe, s4, 0, 0), i6 = t4.Vd.clip(i6, s4, 0, 0), t4.Hg.Cv(i6, n4, this.vg, this.Vb); }, i5.prototype.JI = function(i6, s4, n4) { var h2 = 0; if ((1 & s4) != 0) n4[0] == null && (n4[0] = new t4.de(i6)), h2++; else for (var r2 = 0; r2 < n4.length - 1; r2++) n4[r2] = n4[r2 + 1]; if ((2 & s4) != 0) n4[h2] == null && (n4[h2] = new t4.Ua(i6)), h2++; else for (r2 = h2; r2 < n4.length - 1; r2++) n4[r2] = n4[r2 + 1]; if ((4 & s4) != 0) n4[h2] == null && (n4[h2] = new t4.Ea(i6)), h2++; else for (r2 = h2; r2 < n4.length - 1; r2++) n4[r2] = n4[r2 + 1]; if (h2 != 3) { for (i6 = [], r2 = 0; r2 < h2; r2++) i6[r2] = n4[r2]; return new t4.$c(i6); } return new t4.$c(n4); }, i5.prototype.IS = function(i6) { var s4 = this.tK(i6); if (s4 != null) { var n4 = [null, null, null]; return n4[s4.Eb()] = s4, this.JI(i6.description, this.Hi, n4); } s4 = t4.ta.ov(this.Pe, i6), n4 = t4.ta.Xd(this.vg, s4, true), s4 = new t4.l(), this.Pe.A(s4), s4.X(2 * n4, 2 * n4); var h2 = new t4.l(); return i6.A(h2), s4.Fa(h2), s4.X(100 * n4, 100 * n4), n4 = t4.Vd.clip(this.Pe, s4, 0, 0), s4 = t4.Vd.clip(i6, s4, 0, 0), n4 = t4.Hg.Kz(s4, n4, this.vg, this.Vb), this.JI(i6.description, this.Hi, n4); }, i5.prototype.tK = function(s4) { var n4 = t4.ta.ov(s4, this.Pe), h2 = t4.ta.Xd(this.vg, n4, true); n4 = s4.K(); var r2 = s4.B(), e2 = this.Pe.B(); if (!(e2 = r2 || e2)) { e2 = new t4.l(), s4.A(e2); var o2 = new t4.l(); this.Pe.A(o2), o2.X(2 * h2, 2 * h2), e2 = !e2.isIntersecting(o2); } if (!e2) if ((o2 = t4.qL.fW(this.Pe, s4)) == 4) e2 = true; else { if ((2 & o2) != 0) return this.Pe; if ((1 & o2) != 0) return s4; } if (e2) return (h2 = t4.ba.uf(n4)) < (e2 = t4.ba.uf(this.Fj)) ? i5.BB(s4, r2) : h2 > e2 || h2 == 0 && n4 == 550 && this.Fj == 33 ? this.hJ() : i5.BB(s4, r2); if ((this.Hi == -1 || this.Hi == 4) && n4 == 197 && this.Fj == 197) return h2 = this.Pe, n4 = new t4.l(), s4.A(n4), r2 = new t4.l(), h2.A(r2), n4.Fa(r2), h2 = new t4.Hh(), s4.copyTo(h2), h2.Yo(n4), h2; if (n4 == 197 && t4.ba.uf(this.Fj) == 0 || this.Fj == 197 && t4.ba.uf(n4) == 0) return r2 = n4 == 197 ? s4 : this.Pe, s4 = n4 == 197 ? this.Pe : s4, n4 = new t4.l(), r2.A(n4), t4.Vd.clip(s4, n4, h2, 0); if (t4.ba.uf(n4) == 0 && 0 < t4.ba.uf(this.Fj) || 0 < t4.ba.uf(n4) && t4.ba.uf(this.Fj) == 0) { if (h2 = t4.ta.mj(this.vg, s4, false), n4 == 550 || n4 == 33) return t4.Hg.tG(s4, this.Pe, h2); if (this.Fj == 550 || this.Fj == 33) return t4.Hg.tG(this.Pe, s4, h2); throw t4.i.Ra(); } return this.Hi != -1 && this.Hi != 2 || n4 != 1607 || this.Fj != 1736 ? this.Hi != -1 && this.Hi != 2 || n4 != 1736 || this.Fj != 1607 ? null : this.qK(this.Pe, s4) : this.qK(s4, this.Pe); }, i5.prototype.qK = function(i6, s4) { var n4 = i6, h2 = s4, r2 = t4.ta.mj(this.vg, s4, false), e2 = new t4.l(); h2.A(e2); var o2 = new t4.l(); n4.A(o2), o2.X(2 * r2, 2 * r2), e2.Fa(o2), e2.X(10 * r2, 10 * r2), n4 = i6 = t4.Vd.clip(i6, e2, 0, 0), o2 = new t4.ja(0); var a2 = -1, u2 = h2.Cb; if (u2 != null) { var f2 = u2.Gk; if (f2 != null) { a2 = 0, o2.Jb(n4.I() + n4.ea()); for (var c2 = new t4.l(), l2 = n4.Ha(); l2.ab(); ) for (; l2.Ia(); ) { l2.ia().A(c2); var p2 = f2.So(c2); p2 == 1 ? o2.add(1) : p2 == 0 ? o2.add(0) : (o2.add(-1), a2++); } } } if (5 < s4.I() && (u2 = (h2 = s4 = t4.Vd.clip(s4, e2, 0, 0)).Cb), 0 > a2 && (a2 = n4.sz()), e2 = n4.I() + h2.I(), a2 * h2.I() > Math.log(e2) * e2 * 4) return null; e2 = null, a2 = h2.Ha(), u2 != null && u2.Gb != null && (e2 = u2.Gb), e2 == null && 20 < h2.I() && (e2 = t4.ta.hE(h2)), i6 = i6.Ja(), h2 = null, u2 = n4.Ha(), f2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], c2 = new t4.ce(0), l2 = new t4.hg(), p2 = -1; for (var v2 = 0, y2 = 0, b2 = 0 < o2.size, d2 = -1; u2.ab(); ) { d2 = u2.gb; var g2 = 0; for (p2 = -1, v2 = 0; u2.Ia(); ) { var w2 = b2 ? t4.P.truncate(o2.get(y2)) : -1; y2++; var x2 = u2.ia(); if (0 > w2) { if (e2 != null) for (h2 == null ? h2 = e2.oR(x2, r2) : h2.Vo(x2, r2), w2 = h2.next(); w2 != -1; w2 = h2.next()) { a2.Wb(e2.ka(w2)), w2 = a2.ia(); var m2 = x2.Fa(w2, null, f2, null, r2); for (w2 = 0; w2 < m2; w2++) c2.add(f2[w2]); } else for (a2.aj(); a2.ab(); ) for (; a2.Ia(); ) for (w2 = a2.ia(), m2 = x2.Fa(w2, null, f2, null, r2), w2 = 0; w2 < m2; w2++) c2.add(f2[w2]); if (0 < c2.size) { c2.Wd(0, c2.size, function(t5, i7) { return t5 - i7; }); var j2 = 0; c2.add(1), m2 = -1, w2 = 0; for (var k2 = c2.size; w2 < k2; w2++) { var M2 = c2.get(w2); if (M2 != j2) { var z2 = false; if (j2 != 0 || M2 != 1 ? (x2.dh(j2, M2, l2), j2 = l2.get()) : (j2 = x2, z2 = true), 2 <= g2) { if (i6.Fr(n4, d2, p2, v2, g2 == 3), this.KD(s4, j2.ac(), r2) != 1 && this.LD(s4, j2, r2) != 1) return null; i6.oc(j2, false), g2 = 1, v2 = 0; } else switch (m2 = this.LD(s4, j2, r2), m2) { case 1: z2 ? 2 > g2 ? (p2 = u2.xb() - n4.Ca(d2), v2 = 1, g2 = g2 == 0 ? 3 : 2) : v2++ : (i6.oc(j2, g2 == 0), g2 = 1); break; case 0: g2 = 0, p2 = -1, v2 = 0; break; default: return null; } j2 = M2; } } } else { if (0 > (w2 = this.KD(s4, x2.ac(), r2))) return null; w2 == 1 ? (2 > g2 && (p2 = u2.xb() - n4.Ca(d2), g2 = g2 == 0 ? 3 : 2), v2++) : (p2 = -1, v2 = 0); } c2.clear(false); } else w2 != 0 && w2 == 1 && (g2 == 0 ? (g2 = 3, p2 = u2.xb() - n4.Ca(d2)) : g2 == 1 ? (g2 = 2, p2 = u2.xb() - n4.Ca(d2)) : v2++); } 2 <= g2 && (i6.Fr(n4, d2, p2, v2, g2 == 3), p2 = -1); } return i6; }, i5.prototype.KD = function(i6, s4, n4) { return t4.Fg.ym(i6, s4, n4); }, i5.prototype.LD = function(i6, s4, n4) { var h2 = s4.ac(); s4 = s4.xc(); var r2 = t4.Fg.ym(i6, h2, n4), e2 = t4.Fg.ym(i6, s4, n4); return r2 == 1 && e2 == 0 || r2 == 0 && e2 == 1 ? -1 : r2 == 0 || e2 == 0 ? 0 : r2 == 1 || e2 == 1 ? 1 : ((r2 = new t4.h()).add(h2, s4), r2.scale(0.5), (i6 = t4.Fg.ym(i6, r2, n4)) == 0 ? 0 : i6 == 1 ? 1 : -1); }, i5.BB = function(t5, i6) { return i6 ? t5 : t5.Ja(); }, i5.prototype.hJ = function() { return this.sH == null && (this.sH = this.Pe.Ja()), this.sH; }, i5.prototype.qe = function() { }, i5; }(); t4.BC = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 28; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2, r2, e2, o2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), this.W(i6, s5, n4, h2, r2, e2, o2).next()) : new t4.rL(i6, s5, n4, h2, r2, e2, o2); }, s4.instance = null, s4; }(t4.Ge); t4.CC = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4, n4, h2, r2, e2) { this.za = -1, this.Sd = t5, this.Oj = i6, this.La = s4, this.Mi = n4, this.wA = h2, this.oH = r2, this.nd = e2; } return i5.prototype.next = function() { var t5 = this.Sd.next(); return t5 != null ? (this.za = this.Sd.Ma(), this.dL(t5)) : null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.dL = function(i6) { var s4 = 0 >= this.oH ? t4.ta.mj(this.Oj, i6, false) : this.oH; return t4.CK.W(i6, this.La, this.Mi, this.wA, s4, this.nd); }, i5.prototype.qe = function() { }, i5; }(); t4.rL = i4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.HK || (t4.HK = {}))[i4.clipToDomainOnly = 1] = "clipToDomainOnly", i4[i4.clipWithHorizon = 2] = "clipWithHorizon", i4[i4.foldAndClipWithHorizon = 3] = "foldAndClipWithHorizon"; var s4 = function(i5) { function s5() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s5, i5), s5.prototype.K = function() { return 0; }, s5.local = function() { return s5.instance === null && (s5.instance = new s5()), s5.instance; }, s5.prototype.W = function(i6, s6, n4) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), this.W(i6, s6, n4).next()) : new t4.sL(i6, s6, n4); }, s5.prototype.transform = function(i6, s6, n4, h2) { return t4.du.transform(i6, s6, n4, h2, true); }, s5.prototype.St = function(i6, s6, n4, h2) { return t4.du.St(i6, s6, n4, h2); }, s5.instance = null, s5; }(t4.Ge); t4.Gx = s4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4) { this.za = -1, this.Sd = t5, this.ET = i6, this.nd = s4; } return i5.prototype.next = function() { var i6 = this.Sd.next(); return i6 != null ? (this.za = this.Sd.Ma(), t4.du.Bh(i6, this.ET, this.nd)) : null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.qe = function() { }, i5; }(); t4.sL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.prototype.reset = function() { this.rh = this.yk = -1, this.ws = this.mq = false; }, i5.prototype.uQ = function(t5, i6, s5) { for (t5.Wb(i6, s5); t5.Ia(); ) { var n4 = t5.ia(); if ((n4 = n4.Rb()) != 0) return t5.xb(); } for (t5.Wb(i6, s5); t5.zz(); ) if ((n4 = (n4 = t5.ni()).Rb()) != 0) return t5.xb(); return -1; }, i5.prototype.vQ = function(t5, i6) { for (t5.Wb(i6, -1); t5.zz(); ) if (t5.ni().Rb() != 0) return t5.xb(); return -1; }, i5.prototype.tQ = function(t5, i6) { for (t5.Wb(i6, -1), t5.ia(); t5.Ia(); ) if (t5.ia().Rb() != 0) return t5.xb(); return -1; }, i5.prototype.sQ = function(i6, s5, n4, h2) { if (this.yk = this.uQ(s5, n4, h2), this.yk != -1) { s5.Wb(this.yk, -1); var r2 = s5.ia(), e2 = r2.ic(r2.fe(i6, false)); if (n4 = t4.h.zc(e2, i6), (h2 = new t4.h()).N(e2), h2.sub(r2.ac()), (e2 = new t4.h()).N(i6), e2.sub(r2.ac()), this.mq = 0 > h2.yi(e2), this.rh = this.tQ(s5, this.yk), this.rh != -1) { s5.Wb(this.rh, -1); var o2 = (r2 = s5.ia()).fe(i6, false); o2 = r2.ic(o2); var a2 = t4.h.zc(o2, i6); a2 > n4 ? this.rh = -1 : (h2.N(o2), h2.sub(r2.ac()), e2.N(i6), e2.sub(r2.ac()), this.ws = 0 > h2.yi(e2)); } this.rh == -1 && (this.rh = this.vQ(s5, this.yk), this.rh != -1 && (s5.Wb(this.rh, -1), o2 = (r2 = s5.ia()).fe(i6, false), o2 = r2.ic(o2), (a2 = t4.h.zc(o2, i6)) > n4 ? this.rh = -1 : (h2.N(o2), h2.sub(r2.ac()), e2.N(i6), e2.sub(r2.ac()), this.ws = 0 > h2.yi(e2), i6 = this.yk, this.yk = this.rh, this.rh = i6, i6 = this.mq, this.mq = this.ws, this.ws = i6))); } }, i5.prototype.XN = function(t5, i6, s5, n4, h2) { return s5 = s5.Ha(), this.sQ(t5, s5, n4, h2), this.yk != -1 && this.rh == -1 ? this.mq : this.yk != -1 && this.rh != -1 ? this.mq == this.ws ? this.mq : (s5.Wb(this.yk, -1), t5 = s5.ia().jg(), s5.Wb(this.rh, -1), i6 = s5.ia().jg(), 0 <= t5.yi(i6)) : i6; }, i5; }(), s4 = function(s5) { function n4() { return s5 !== null && s5.apply(this, arguments) || this; } return Q(n4, s5), n4.local = function() { return n4.instance === null && (n4.instance = new n4()), n4.instance; }, n4.prototype.K = function() { return 3; }, n4.prototype.iz = function(i5, s6, n5) { var h2; if (h2 === void 0 && (h2 = false), i5.B()) return new t4.bm(); s6 = s6.D(); var r2 = i5, e2 = i5.K(); switch (e2 == 197 && ((r2 = new t4.Ea()).bd(i5, false), e2 = 1736), e2) { case 33: return this.rI(r2, s6); case 550: return this.dI(r2, s6); case 1607: case 1736: return this.UT(r2, s6, n5, h2); default: throw t4.i.ga("not implemented"); } }, n4.prototype.jz = function(i5, s6) { if (i5.B()) return new t4.bm(); s6 = s6.D(); var n5 = i5, h2 = i5.K(); switch (h2 == 197 && ((n5 = new t4.Ea()).bd(i5, false), h2 = 1736), h2) { case 33: return this.rI(n5, s6); case 550: case 1607: case 1736: return this.dI(n5, s6); default: throw t4.i.ga("not implemented"); } }, n4.prototype.kz = function(i5, s6, n5, h2) { if (0 > h2) throw t4.i.O(); if (i5.B()) return []; s6 = s6.D(); var r2 = i5, e2 = i5.K(); switch (e2 == 197 && ((r2 = new t4.Ea()).bd(i5, false), e2 = 1736), e2) { case 33: return this.LU(r2, s6, n5, h2); case 550: case 1607: case 1736: return this.lU(r2, s6, n5, h2); default: throw t4.i.ga("not implemented"); } }, n4.prototype.UT = function(s6, n5, h2, r2) { if (s6.K() == 1736 && h2 && (h2 = new t4.l(), s6.A(h2), h2 = t4.ta.Xd(null, h2, false), (r2 ? t4.jd.Zd(s6, n5, 0) : t4.jd.Zd(s6, n5, h2)) != 0)) { var e2 = new t4.bm(n5, 0, 0); return r2 && e2.QJ(true), e2; } var o2 = s6.Ha(); e2 = new t4.h(); for (var a2 = h2 = -1, u2 = 17976931348623157e292, f2 = 0; o2.ab(); ) for (; o2.Ia(); ) { var c2 = o2.ia(); c2 = c2.ic(c2.fe(n5, false)); var l2 = t4.h.zc(c2, n5); l2 < u2 ? (f2 = 1, e2 = c2, h2 = o2.xb(), a2 = o2.gb, u2 = l2) : l2 == u2 && f2++; } return e2 = new t4.bm(e2, h2, Math.sqrt(u2)), r2 && (o2.Wb(h2, a2), c2 = o2.ia(), r2 = 0 > t4.h.Wq(n5, c2.ac(), c2.xc()), 1 < f2 && ((f2 = new i4()).reset(), r2 = f2.XN(n5, r2, s6, h2, a2)), e2.QJ(r2)), e2; }, n4.prototype.rI = function(i5, s6) { return i5 = i5.D(), s6 = t4.h.ub(i5, s6), new t4.bm(i5, 0, s6); }, n4.prototype.dI = function(i5, s6) { for (var n5 = i5.vb(0), h2 = i5.I(), r2 = i5 = 0, e2 = 0, o2 = 17976931348623157e292, a2 = 0; a2 < h2; a2++) { var u2 = new t4.h(); n5.uc(2 * a2, u2); var f2 = t4.h.zc(u2, s6); f2 < o2 && (r2 = u2.x, e2 = u2.y, i5 = a2, o2 = f2); } return (s6 = new t4.bm()).by(r2, e2, i5, Math.sqrt(o2)), s6; }, n4.prototype.LU = function(i5, s6, n5, h2) { return h2 == 0 ? [] : (n5 *= n5, i5 = i5.D(), (s6 = t4.h.zc(i5, s6)) <= n5 ? (n5 = [], (h2 = new t4.bm()).by(i5.x, i5.y, 0, Math.sqrt(s6)), n5[0] = h2) : n5 = [], n5); }, n4.prototype.lU = function(i5, s6, n5, h2) { if (h2 == 0) return []; var r2 = i5.vb(0), e2 = i5.I(); i5 = [], n5 *= n5; for (var o2 = 0; o2 < e2; o2++) { var a2 = r2.read(2 * o2), u2 = r2.read(2 * o2 + 1), f2 = s6.x - a2, c2 = s6.y - u2; (f2 = f2 * f2 + c2 * c2) <= n5 && ((c2 = new t4.bm()).by(a2, u2, o2, Math.sqrt(f2)), i5.push(c2)); } return s6 = i5.length, i5.sort(function(t5, i6) { return t5.La < i6.La ? -1 : t5.La == i6.La ? 0 : 1; }), h2 >= s6 || (i5.length = h2), i5.slice(0); }, n4.instance = null, n4; }(t4.Ge); t4.Hx = s4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 4; }, s4.prototype.W = function(i6, s5, n4, h2, r2) { return t4.cm.sB(i6, s5, n4, h2, r2); }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.Ku = function(i6) { return t4.Xt.ry(i6); }, s4.prototype.xn = function(i6, s5, n4) { t4.Xt.wD(i6, s5, n4); }, s4.instance = null, s4; }(t4.Ge); t4.tL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 33; }, s4.prototype.W = function(i6, s5, n4, h2, r2) { return i6 === 1073741824 ? !t4.vd.tB(s5, n4, h2, 4, r2) : t4.vd.tB(s5, n4, h2, i6, r2); }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.Ku = function(i6) { return t4.Xt.ry(i6); }, s4.prototype.xn = function(i6, s5, n4) { t4.Xt.wD(i6, s5, n4); }, s4.instance = null, s4; }(t4.Ge); t4.fj = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6, s4, n4, h2) { if (this.nd = h2, this.iT = n4, this.za = -1, i6 == null) throw t4.i.O(); this.zk = i6, this.Oj = s4; } return i5.prototype.next = function() { var i6; if ((i6 = this.zk.next()) != null) { if (this.za = this.zk.Ma(), this.nd != null && !this.nd.progress(-1, -1)) throw t4.i.hu("user_canceled"); return this.ZB(i6); } return null; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.ZB = function(i6) { if (i6 == null) throw t4.i.O(); return t4.Ix.XJ(i6, this.Oj, this.iT, this.nd); }, i5.prototype.qe = function() { }, i5; }(); t4.uL = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 26; }, s4.prototype.W = function(i6, s5, n4, h2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), this.W(i6, s5, n4, h2).next()) : new t4.uL(i6, s5, n4, h2); }, s4.prototype.ts = function(i6, s5, n4, h2, r2) { return 0 < (h2 !== void 0 ? t4.Ix.ts(i6, s5, n4, h2, r2) : t4.Ix.ts(i6, s5, false, null, n4)); }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.instance = null, s4; }(t4.Ge); t4.$l = i4; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { this.Aq = 0; } return t5.prototype.eX = function(t6) { this.Aq &= -2, this.Aq |= t6 ? 1 : 0; }, t5.prototype.Yp = function() { return (1 & this.Aq) != 0; }, t5.prototype.RF = function() { return this.Yp() ? 0 : 1; }, t5; }(); t4.pY = i4; var s4 = function() { }, n4 = function(t5, i5, s5, n5) { this.x = t5, this.y = i5, this.Ci = s5, this.zm = n5; }, h2 = function() { function t5(t6) { this.Ce = t6; } return t5.prototype.compare = function(t6, i5, s5) { return t6 = t6.ka(s5), i5 = this.Ce.lf.read(2 * i5), 0 > (i5 -= t6 = this.Ce.lf.read(2 * t6)) ? -1 : 0 < i5 ? 1 : 0; }, t5; }(), r2 = function() { function t5(t6) { this.Ce = t6; } return t5.prototype.compare = function(t6, i5, s5) { i5 = this.Ce.hb[i5], t6 = this.Ce.hb[t6.ka(s5)]; var n5 = i5.Yp(), h3 = t6.Yp(); s5 = i5.ne.Me(this.Ce.No, 0); var r3 = t6.ne.Me(this.Ce.No, 0); return s5 == r3 && ((n5 = 0.5 * ((s5 = Math.min(n5 ? i5.ne.oa : i5.ne.ma, h3 ? t6.ne.oa : t6.ne.ma)) - this.Ce.No) + this.Ce.No) == this.Ce.No && (n5 = s5), s5 = i5.ne.Me(n5, 0), r3 = t6.ne.Me(n5, 0)), s5 < r3 ? -1 : s5 > r3 ? 1 : 0; }, t5; }(), e2 = function() { function i5(i6, s5) { this.SI = new t4.h(), this.parent = i6, this.XR = s5; } return i5.prototype.qr = function(t5, i6, s5) { var n5 = this.parent, h3 = this.XR; s5.Wd(t5, i6, function(t6, i7) { return n5.Oh(t6, i7, h3); }); }, i5.prototype.bq = function(t5) { return t5 = this.parent.ii.get(t5), this.parent.lf.uc(2 * (t5 >> 1), this.SI), this.SI.y + ((1 & t5) != 0 ? this.parent.Qj : -this.parent.Qj); }, i5; }(), o2 = function() { function o3(i5, s5, n5, h3, r3) { this.hH = i5.description, this.Y = i5, this.Sg = s5, this.Qj = t4.ta.mj(this.Sg, i5, false), this.Co = t4.ta.mj(this.Sg, i5, true), this.rA = n5, this.gT = this.hH.Ba, this.hb = [], this.qo = [], this.oh = new t4.kp(), this.fb = new t4.Zj(), this.ke = new t4.Nd(), this.TG = this.sl = r3; } return o3.prototype.XS = function() { return this.TG = true, (!t4.ba.Ic(this.Y.K()) || this.AE() && this.xE(false)) && this.gO() ? t4.ba.Ic(this.Y.K()) ? this.jO() ? this.Y.K() == 1607 ? this.lO() ? 2 : 0 : this.mO() ? this.nO() : 0 : 0 : 2 : 0; }, o3.prototype.eC = function(i5, s5) { var n5 = this.lf.read(2 * i5); i5 = this.lf.read(2 * i5 + 1); var h3 = this.lf.read(2 * s5); s5 = this.lf.read(2 * s5 + 1); var r3 = !t4.$t.Ev(n5, i5, h3, s5, this.Qj * this.Qj); return r3 || this.Y.Eb() != 0 && (n5 == h3 && i5 == s5); }, o3.prototype.AE = function() { for (var i5 = this.Y, s5 = i5.yf ? 3 : 2, n5 = 0, h3 = i5.ea(); n5 < h3; n5++) if (i5.Ka(n5) < s5) return this.ke = new t4.Nd(1, n5, 0), false; return true; }, o3.prototype.xE = function(i5) { var s5 = this.Y, n5 = s5.Ha(), h3 = s5.hasAttribute(1); for (s5 = h3 ? t4.ta.qE(this.Sg, s5, false) : 0; n5.ab(); ) for (; n5.Ia(); ) { var r3 = n5.ia(); if (!(r3.Rb() > this.Qj)) { if (i5 && h3) { var e3 = r3.yv(1, 0); if (r3 = r3.yv(1, 0), Math.abs(r3 - e3) > s5) continue; } return this.ke = new t4.Nd(2, n5.xb(), -1), false; } } return true; }, o3.prototype.gO = function() { var i5 = this.Y, s5 = null; t4.ba.Ic(this.Y.K()) && (s5 = this.Y); var n5 = (this.TG || this.sl) && s5 != null, r3 = i5.I(); this.lf = i5.vb(0), this.ii = new t4.ja(0), this.ii.Jb(2 * r3), this.hi = new t4.ja(0), this.hi.Jb(2 * r3), n5 && (this.Hl == null && (this.Hl = new t4.ja(0)), this.Hl.Jb(r3)); for (var o4 = i5 = 0; o4 < r3; o4++) if (this.ii.add(2 * o4), this.ii.add(2 * o4 + 1), this.hi.add(2 * o4), this.hi.add(2 * o4 + 1), n5) { for (; o4 >= s5.Wc(i5); ) i5++; this.Hl.add(i5); } for (new t4.Zt().sort(this.hi, 0, 2 * r3, new e2(this, n5)), this.fb.clear(), this.fb.Wo(new h2(this)), this.fb.Ee(r3), s5 = 0, r3 *= 2; s5 < r3; s5++) if (n5 = this.hi.get(s5), n5 = (i5 = this.ii.get(n5)) >> 1, (1 & i5) == 0) { if (i5 = this.fb.addElement(n5, -1), (o4 = this.fb.xe(i5)) != -1 && !this.eC(this.fb.ka(o4), n5)) return this.ke = new t4.Nd(3, n5, this.fb.ka(o4)), false; var a2 = this.fb.lb(i5); if (a2 != -1 && !this.eC(this.fb.ka(a2), n5)) return this.ke = new t4.Nd(3, n5, this.fb.ka(a2)), false; } else if (i5 = this.fb.search(n5, -1), o4 = this.fb.xe(i5), a2 = this.fb.lb(i5), this.fb.wd(i5, -1), o4 != -1 && a2 != -1 && !this.eC(this.fb.ka(o4), this.fb.ka(a2))) return this.ke = new t4.Nd(3, this.fb.ka(o4), this.fb.ka(a2)), false; return true; }, o3.prototype.jO = function() { return 10 > this.Y.I() ? this.hO() : this.iO(); }, o3.prototype.iO = function() { var i5 = new t4.hd(); i5.Ib(this.Y); var s5 = new t4.Nd(); return !t4.bu.eI(false, i5, this.Qj, s5, this.nd) || (s5.Ko = i5.Va(s5.Ko), s5.Lo = i5.Va(s5.Lo), this.ke.Yt(s5), false); }, o3.prototype.hO = function() { var i5 = this.Y, s5 = i5.Ha(); for (i5 = i5.Ha(); s5.ab(); ) for (; s5.Ia(); ) { var n5 = s5.ia(); if (!s5.Rn() || !s5.SS()) { i5.tW(s5); do { for (; i5.Ia(); ) { var h3 = i5.ia(); if ((h3 = n5.Br(h3, this.Qj, true)) != 0) return this.ke = new t4.Nd(h3 == 2 ? 5 : 4, s5.xb(), i5.xb()), false; } } while (i5.ab()); } } return true; }, o3.prototype.mO = function() { var i5 = this.Y; this.hb.length = 0, this.qo.length = 0, this.$f = i5.Ha(), this.$f.DB(); var s5 = new t4.ja(0); s5.Jb(10); var n5 = NaN, h3 = 0, r3 = 0; for (i5 = 2 * i5.I(); r3 < i5; r3++) { var e3 = this.hi.get(r3); if ((1 & (e3 = this.ii.get(e3))) == 0) { e3 >>= 1; var o4 = this.lf.read(2 * e3), a2 = this.lf.read(2 * e3 + 1); if (s5.size != 0 && (o4 != n5 || a2 != h3)) { if (!this.KI(s5)) return false; s5 != null && s5.clear(false); } s5.add(e3), n5 = o4, h3 = a2; } } return !!this.KI(s5); }, o3.prototype.lO = function() { for (var i5 = this.Y, n5 = Array(i5.ea()), h3 = 0, r3 = i5.ea(); h3 < r3; h3++) n5[h3] = i5.On(h3); r3 = new s4(); var e3 = new t4.h(); h3 = this.hi.get(0); var o4 = (h3 = this.ii.get(h3)) >> 1; this.lf.uc(2 * o4, e3); var a2 = n5[h3 = this.Hl.get(o4)], u2 = i5.Ca(h3), f2 = i5.Wc(h3) - 1; r3.gl = o4 == u2 || o4 == f2, r3.jy = this.sl ? !a2 && r3.gl : r3.gl, r3.Ci = h3, r3.x = e3.x, r3.y = e3.y, r3.zm = o4; for (var c2 = new s4(), l2 = 1, p2 = this.hi.size; l2 < p2; l2++) if (h3 = this.hi.get(l2), (1 & (h3 = this.ii.get(h3))) == 0) { o4 = h3 >> 1, this.lf.uc(2 * o4, e3), (h3 = this.Hl.get(o4)) != r3.Ci && (a2 = n5[h3], u2 = i5.Ca(h3), f2 = i5.Wc(h3) - 1); var v2 = o4 == u2 || o4 == f2, y2 = this.sl ? !a2 && r3.gl : r3.gl; if (c2.x = e3.x, c2.y = e3.y, c2.Ci = h3, c2.zm = o4, c2.jy = y2, c2.gl = v2, c2.x == r3.x && c2.y == r3.y) { if (this.sl) { if (!(c2.jy && r3.jy || c2.Ci == r3.Ci && (c2.gl || r3.gl))) return this.ke = new t4.Nd(8, c2.zm, r3.zm), false; } else if (!c2.gl || !r3.gl) return this.ke = new t4.Nd(5, c2.zm, r3.zm), false; } h3 = r3, r3 = c2, c2 = h3; } return true; }, o3.prototype.DE = function() { for (var i5 = this.Y, s5 = [], h3 = -1, r3 = false, e3 = 0, o4 = i5.ea(); e3 < o4; e3++) i5.Gv(e3) && (r3 = false, h3++, e3 < o4 - 1 && (i5.Gv(e3 + 1) || (r3 = true))), s5[e3] = r3 ? h3 : -1; r3 = new t4.h(), e3 = this.hi.get(0); var a2 = (e3 = this.ii.get(e3)) >> 1; this.lf.uc(2 * a2, r3), e3 = this.Hl.get(a2), h3 = new n4(r3.x, r3.y, e3, a2, s5[e3]), i5 = []; var u2 = 1; for (o4 = this.hi.size; u2 < o4; u2++) if (e3 = this.hi.get(u2), (1 & (e3 = this.ii.get(e3))) == 0) { if (a2 = e3 >> 1, this.lf.uc(2 * a2, r3), e3 = this.Hl.get(a2), (e3 = new n4(r3.x, r3.y, e3, a2, s5[e3])).x == h3.x && e3.y == h3.y) { if (e3.Ci == h3.Ci) return this.ke = new t4.Nd(9, e3.zm, h3.zm), false; 0 <= s5[e3.Ci] && s5[e3.Ci] == s5[h3.Ci] && (i5.length != 0 && i5[i5.length - 1] == h3 || i5.push(h3), i5.push(e3)); } h3 = e3; } if (i5.length == 0) return true; for (e3 = new t4.kp(true), t4.P.bv(s5, -1), r3 = -1, (u2 = new t4.h()).Sc(), h3 = 0, o4 = i5.length; h3 < o4; h3++) { (a2 = i5[h3]).x == u2.x && a2.y == u2.y || (r3 = e3.Rh(0), u2.x = a2.x, u2.y = a2.y); var f2 = s5[a2.Ci]; f2 == -1 && (f2 = e3.Rh(2), s5[a2.Ci] = f2), e3.addElement(f2, r3), e3.addElement(r3, f2); } for ((o4 = new t4.ja(0)).Jb(10), h3 = e3.je; h3 != -1; h3 = e3.lz(h3)) if ((1 & (i5 = e3.JF(h3))) == 0 && (2 & i5) != 0) { for (i5 = -1, o4.add(h3), o4.add(-1); 0 < o4.size; ) { if (r3 = o4.Gc(), o4.Jf(), u2 = o4.Gc(), o4.Jf(), (1 & (a2 = e3.JF(u2))) != 0) { i5 = (2 & a2) == 0 ? r3 : u2; break; } for (e3.XW(u2, 1 | a2), a2 = e3.sc(u2); a2 != -1; a2 = e3.lb(a2)) (f2 = e3.getData(a2)) != r3 && (o4.add(f2), o4.add(u2)); } if (i5 != -1) { for (e3 = -1, h3 = 0, o4 = s5.length; h3 < o4; h3++) if (s5[h3] == i5) { e3 = h3; break; } return this.ke = new t4.Nd(10, e3, -1), false; } } return true; }, o3.prototype.nO = function() { var i5 = this.Y; if (0 >= i5.He()) return this.ke = new t4.Nd(6, i5.ea() == 1 ? 1 : -1, -1), 0; if (i5.ea() == 1) return this.sl && !this.DE() ? 0 : 2; this.uo = t4.ja.rf(i5.ea(), 0), this.DA = t4.ja.rf(i5.ea(), -1); for (var s5 = -1, n5 = 0, h3 = 0, e3 = i5.ea(); h3 < e3; h3++) { var o4 = i5.Kr(h3); if (this.uo.write(h3, 0 > o4 ? 0 : 256), 0 < o4) s5 = h3, n5 = o4; else { if (o4 == 0) return this.ke = new t4.Nd(6, h3, -1), 0; if ((0 > s5 || n5 < Math.abs(o4)) && (this.ke = new t4.Nd(7, h3, -1), this.sl)) return 0; this.DA.write(h3, s5); } } for (this.et = i5.ea(), this.Qm = new t4.ja(0), this.Qm.Jb(10), e3 = i5.I(), this.No = NaN, (i5 = new t4.ja(0)).Jb(10), this.Sq = t4.ja.rf(e3, -1), this.Jw = t4.ja.rf(e3, -1), this.Bj != null ? this.Bj.clear(false) : this.Bj = new t4.ja(0), this.Bj.Jb(10), this.fb.clear(), this.fb.Wo(new r2(this)), s5 = 0, e3 *= 2; 0 < this.et && s5 < e3; s5++) if (n5 = this.hi.get(s5), (1 & (n5 = this.ii.get(n5))) == 0) { if (n5 >>= 1, (h3 = this.lf.read(2 * n5 + 1)) != this.No && i5.size != 0) { if (!this.vt(i5)) return 0; i5 != null && i5.clear(false); } i5.add(n5), this.No = h3; } return 0 < this.et && !this.vt(i5) ? 0 : this.sl ? this.ke.Lj == 0 && this.DE() ? 2 : 0 : this.ke.Lj == 0 ? 2 : 1; }, o3.prototype.KI = function(i5) { if (i5.size == 1) return true; for (var s5 = 0, n5 = i5.size; s5 < n5; s5++) { var h3 = i5.get(s5); this.$f.Wb(h3); var r3 = this.$f.ni(); this.hb.push(this.Uu(r3, h3, this.$f.gb, true)), this.$f.ia(), r3 = this.$f.ia(), this.hb.push(this.Uu(r3, h3, this.$f.gb, false)); } var e3 = this; for (this.hb.sort(function(t5, i6) { return e3.RP(t5, i6); }), (h3 = this.oh.je) == -1 && (h3 = this.oh.Rh(0)), this.oh.hn(this.hb.length), s5 = 0, n5 = this.hb.length; s5 < n5; s5++) this.oh.addElement(h3, s5); s5 = true; for (var o4 = n5 = -1; s5 && (s5 = false, (r3 = this.oh.sc(h3)) != -1); ) for (var a2 = this.oh.lb(r3); a2 != -1; ) if (n5 = this.oh.getData(r3), o4 = this.oh.getData(a2), (n5 = this.hb[n5].Jo) != (o4 = this.hb[o4].Jo)) r3 = a2, a2 = this.oh.lb(r3); else if (s5 = true, this.oh.kd(h3, r3), r3 = this.oh.xe(a2), (a2 = this.oh.kd(h3, a2)) == -1 || r3 == -1) break; if (s5 = this.oh.ds(h3), this.oh.FE(h3), 0 < s5) return this.ke = new t4.Nd(5, n5, o4), false; for (s5 = 0, n5 = i5.size; s5 < n5; s5++) this.pB(this.hb[s5]); return this.hb.length = 0, true; }, o3.prototype.vt = function(i5) { for (var s5 = 0, n5 = i5.size; s5 < n5; s5++) { var h3 = i5.get(s5), r3 = this.Sq.read(h3); if (r3 != -1) { var e3 = this.fb.ka(r3); this.Bj.add(e3), this.fb.wd(r3, -1), this.pB(this.hb[e3]), this.hb[e3] = null, this.Sq.write(h3, -1); } (r3 = this.Jw.read(h3)) != -1 && (e3 = this.fb.ka(r3), this.Bj.add(e3), this.fb.wd(r3, -1), this.pB(this.hb[e3]), this.hb[e3] = null, this.Jw.write(h3, -1)); } for (s5 = 0, n5 = i5.size; s5 < n5; s5++) { if (h3 = i5.get(s5), this.$f.Wb(h3), (r3 = this.$f.ni()).oa > r3.ma) { var o4 = this.$f.xb(), a2 = this.Uu(r3, h3, this.$f.gb, true); 0 < this.Bj.size ? (e3 = this.Bj.Gc(), this.Bj.Jf(), this.hb[e3] = a2) : (e3 = this.hb.length, this.hb.push(a2)), r3 = this.fb.addElement(e3, -1), this.Sq.read(o4) == -1 ? this.Sq.write(o4, r3) : this.Jw.write(o4, r3), (3 & this.uo.read(this.$f.gb)) == 0 && this.Qm.add(r3); } this.$f.ia(), (r3 = this.$f.ia()).oa < r3.ma && (o4 = this.$f.jk(), a2 = this.Uu(r3, h3, this.$f.gb, false), 0 < this.Bj.size ? (e3 = this.Bj.Gc(), this.Bj.Jf(), this.hb[e3] = a2) : (e3 = this.hb.length, this.hb.push(a2)), r3 = this.fb.addElement(e3, -1), this.Sq.read(o4) == -1 ? this.Sq.write(o4, r3) : this.Jw.write(o4, r3), (3 & this.uo.read(this.$f.gb)) == 0 && this.Qm.add(r3)); } for (s5 = 0, n5 = this.Qm.size; s5 < n5 && 0 < this.et; s5++) if (r3 = this.Qm.get(s5), (3 & this.uo.read(this.hb[this.fb.ka(r3)].CA)) == 0) { i5 = -1, h3 = this.fb.xe(r3); var u2 = r3; a2 = null, e3 = -1; for (var f2 = 0; h3 != -1 && (e3 = this.fb.ka(h3), e3 = (a2 = this.hb[e3]).CA, (3 & (f2 = this.uo.read(e3))) == 0); ) u2 = h3, h3 = this.fb.xe(h3); h3 == -1 ? (o4 = 1, h3 = u2) : (i5 = (3 & f2) == 1 ? e3 : this.DA.read(e3), o4 = a2.RF() != 0 ? 0 : 1, h3 = this.fb.lb(h3)); do { if (e3 = this.fb.ka(h3), e3 = (a2 = this.hb[e3]).CA, (3 & (u2 = this.uo.read(e3))) == 0) { if (o4 != a2.RF()) return this.ke = new t4.Nd(6, e3, -1), false; if (u2 = 252 & u2 | (f2 = o4 == 0 || a2.Yp() ? 2 : 1), this.uo.write(e3, f2), f2 == 2 && this.ke.Lj == 0 && this.DA.read(e3) != i5 && (this.ke = new t4.Nd(7, e3, -1), this.sl)) return false; if (this.et--, this.et == 0) return true; } (3 & u2) == 1 && (i5 = e3), u2 = h3, h3 = this.fb.lb(h3), o4 = o4 != 0 ? 0 : 1; } while (u2 != r3); } return this.Qm != null ? this.Qm.clear(false) : this.Qm = new t4.ja(0), true; }, o3.prototype.Uu = function(i5, s5, n5, h3) { if (i5.K() != 322) throw t4.i.Ra(); return (i5 = this.mP(i5)).Jo = s5, i5.CA = n5, i5.Aq = 0, i5.eX(h3), i5; }, o3.prototype.mP = function(s5) { if (0 < this.qo.length) { var n5 = this.qo[this.qo.length - 1]; --this.qo.length, s5.copyTo(n5.ne); } else (n5 = new i4()).ne = t4.MC.ig(s5); return n5; }, o3.prototype.pB = function(t5) { t5.ne.K() == 322 && this.qo.push(t5); }, o3.prototype.cU = function() { for (var i5 = this.Y.I(), s5 = new t4.ja(0), n5 = 0; n5 < i5; n5++) s5.add(n5); var h3 = this; for (s5.Wd(0, i5, function(t5, i6) { return h3.Qu(t5, i6); }), n5 = 1; n5 < i5; n5++) if (this.Qu(s5.get(n5 - 1), s5.get(n5)) == 0) return this.ke = new t4.Nd(3, s5.get(n5 - 1), s5.get(n5)), 0; return 2; }, o3.prototype.BV = function() { return this.AE() && this.xE(true) ? 2 : 0; }, o3.prototype.gV = function() { return this.XS(); }, o3.prototype.hU = function() { for (var i5 = this.Y.I(), s5 = new t4.ja(0), n5 = 0; n5 < i5; n5++) s5.add(n5); var h3 = this; s5.Wd(0, i5, function(t5, i6) { return h3.JO(t5, i6); }); var r3 = Array(i5); for (t4.P.bv(r3, false), r3[s5.get(0)] = true, n5 = 1; n5 < i5; n5++) { var e3 = s5.get(n5 - 1), o4 = s5.get(n5); this.Qu(e3, o4) == 0 ? r3[o4] = false : r3[o4] = true; } s5 = this.Y.Ja(), e3 = this.Y, o4 = 0; var a2 = 1; for (n5 = 0; n5 < i5; n5++) r3[n5] ? a2 = n5 + 1 : (o4 < a2 && s5.Gd(e3, o4, a2), o4 = n5 + 1); return o4 < a2 && s5.Gd(e3, o4, a2), s5.Eh(2, this.Co), s5; }, o3.prototype.FV = function() { var i5 = this.Y, s5 = i5.Ha(), n5 = i5.Ha(), h3 = this.Y.Ja(), r3 = this.Y, e3 = i5.hasAttribute(1), o4 = e3 ? t4.ta.qE(this.Sg, i5, true) : 0, a2 = new t4.ja(0), u2 = new t4.ja(0); for (a2.Jb(t4.P.truncate(i5.I() / 2 + 1)), u2.Jb(t4.P.truncate(i5.I() / 2 + 1)); s5.ab(); ) if (n5.ab(), !(2 > i5.Ka(s5.gb))) { n5.vW(); for (var f2, c2, l2 = true; s5.Ia(); ) { var p2 = s5.ia(), v2 = n5.ni(); if (s5.xb() > n5.xb()) break; l2 && (a2.add(s5.xb()), u2.add(n5.jk()), l2 = false), c2 = a2.Gc(); var y2 = s5.jk(); if (1 < y2 - c2) { var b2 = new t4.h(); b2.vc(i5.Oa(c2), i5.Oa(y2)), f2 = b2.length(); } else f2 = p2.Rb(); c2 = u2.Gc(), 1 < (y2 = n5.xb()) - c2 ? ((b2 = new t4.h()).vc(i5.Oa(c2), i5.Oa(y2)), c2 = b2.length()) : c2 = v2.Rb(), f2 > this.Co ? a2.add(s5.jk()) : e3 && (f2 = i5.Vc(1, a2.Gc(), 0), p2 = p2.jv(1, 0), Math.abs(p2 - f2) > o4 && a2.add(s5.jk())), c2 > this.Co ? u2.add(n5.xb()) : e3 && (f2 = i5.Vc(1, u2.Gc(), 0), p2 = v2.jv(1, 0), Math.abs(p2 - f2) > o4 && u2.add(n5.xb())); } if (a2.Gc() < u2.Gc() ? a2.size > u2.size ? a2.Jf() : u2.Jf() : (a2.Gc() != u2.Gc() && u2.Jf(), u2.Jf()), 2 <= u2.size + a2.size) { for (l2 = new t4.Ta(), v2 = 0, p2 = a2.size; v2 < p2; v2++) r3.we(a2.get(v2), l2), v2 == 0 ? h3.nf(l2) : h3.lineTo(l2); for (v2 = u2.size - 1; 0 < v2; v2--) r3.we(u2.get(v2), l2), h3.lineTo(l2); r3.ec(s5.gb) ? h3.Cp() : 0 < u2.size && (r3.we(u2.get(0), l2), h3.lineTo(l2)); } a2 != null && a2.clear(false), u2 != null && u2.clear(false); } return h3.Eh(2, this.Co), h3; }, o3.prototype.jV = function() { return this.vX(); }, o3.prototype.vX = function() { return this.Y.K() == 1736 && this.Y.Jn() == 1 ? t4.Hg.Nk(this.Y, this.Co, true, false, this.nd) : (this.Ji = new t4.hd(), this.Ji.Ib(this.Y), this.Ji.gd != 0 && (this.rA != 1 && t4.Uk.W(this.Ji, this.Co, this.nd, true), this.Y.K() == 1736 && t4.tn.W(this.Ji, this.Ji.ld, this.rA, false, this.nd)), this.Y = this.Ji.Ke(this.Ji.ld), this.Y.K() == 1736 && (this.Y.hm(), this.Y.Zo(0)), this.Y.Eh(2, this.Co), this.Y); }, o3.ts = function(i5, s5, n5, h3, r3) { if (h3 != null && (h3.Lj = 0, h3.Ko = -1, h3.Lo = -1), i5.B()) return 1; var e3 = i5.K(); if (e3 == 33) return 1; var a2 = t4.ta.mj(s5, i5, false); if (e3 == 197) return s5 = new t4.l(), i5.A(s5), s5.Di(a2) ? (h3 != null && (h3.Lj = 2, h3.Ko = -1, h3.Lo = -1), 0) : 1; if (t4.ba.zd(e3)) return (a2 = new t4.Ua(i5.description)).oc(i5, true), o3.ts(a2, s5, n5, h3, r3); var u2 = i5.qm(a2); if ((n5 = n5 ? -1 : u2) != -1) return n5; if (s5 = new o3(i5, s5, n5, r3, false), e3 == 550) n5 = s5.cU(); else if (e3 == 1607) n5 = s5.BV(); else { if (e3 != 1736) throw t4.i.Ra(); n5 = s5.gV(); } return i5.Eh(n5, a2), h3 != null && n5 == 0 && h3.Yt(s5.ke), n5; }, o3.XJ = function(i5, s5, n5, h3) { if (i5.B()) return i5; var r3 = i5.K(); if (r3 == 33) return i5; var e3 = t4.ta.mj(s5, i5, false); if (r3 == 197) return s5 = new t4.l(), i5.A(s5), s5.Di(e3) ? i5.Ja() : i5; if (t4.ba.zd(r3)) return (r3 = new t4.Ua(i5.description)).oc(i5, true), o3.XJ(r3, s5, n5, h3); if (e3 = i5.qm(e3), (n5 = n5 ? -1 : e3) == 2) return i5; if (i5 = new o3(i5, s5, n5, h3, false), r3 == 550) i5 = i5.hU(); else if (r3 == 1607) i5 = i5.FV(); else { if (r3 != 1736) throw t4.i.Ra(); i5 = i5.jV(); } return i5; }, o3.prototype.Oh = function(i5, s5, n5) { if (i5 == s5) return 0; i5 = this.ii.get(i5); var h3 = this.ii.get(s5); s5 = i5 >> 1; var r3 = h3 >> 1, e3 = new t4.h(), o4 = new t4.h(); return this.lf.uc(2 * s5, e3), e3.y += (1 & i5) != 0 ? this.Qj : -this.Qj, this.lf.uc(2 * r3, o4), o4.y += (1 & h3) != 0 ? this.Qj : -this.Qj, (i5 = e3.compare(o4)) == 0 && n5 ? 0 > (n5 = this.Hl.get(s5) - this.Hl.get(r3)) ? -1 : 0 < n5 ? 1 : 0 : i5; }, o3.prototype.Qu = function(i5, s5) { if (i5 == s5) return 0; var n5 = this.Y, h3 = n5.Oa(i5), r3 = n5.Oa(s5); if (h3.x < r3.x) return -1; if (h3.x > r3.x) return 1; if (h3.y < r3.y) return -1; if (h3.y > r3.y) return 1; for (h3 = 1; h3 < this.gT; h3++) { r3 = this.hH.qd(h3); for (var e3 = t4.ua.Wa(r3), o4 = 0; o4 < e3; o4++) { var a2 = n5.Vc(r3, i5, o4), u2 = n5.Vc(r3, s5, o4); if (a2 < u2) return -1; if (a2 > u2) return 1; } } return 0; }, o3.prototype.JO = function(t5, i5) { var s5 = this.Qu(t5, i5); return s5 == 0 ? t5 < i5 ? -1 : 1 : s5; }, o3.prototype.RP = function(t5, i5) { if (t5 === i5) return 0; var s5 = t5.ne.jg(); t5.Yp() && s5.Uq(), t5 = i5.ne.jg(), i5.Yp() && t5.Uq(), i5 = s5.su(); var n5 = t5.su(); return n5 == i5 ? (i5 = s5.yi(t5), Math.abs(i5) <= 8881784197001252e-31 * (Math.abs(t5.x * s5.y) + Math.abs(t5.y * s5.x)) && (i5--, i5++), 0 > i5 ? 1 : 0 < i5 ? -1 : 0) : i5 < n5 ? -1 : 1; }, o3; }(); t4.Ix = o2; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 30; }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.prototype.W = function(i6, s5, n4, h2) { return i6 instanceof t4.ba ? (i6 = new t4.$c(i6), s5 = new t4.$c(s5), this.W(i6, s5, n4, h2).next()) : new t4.vL(i6, s5, n4, h2); }, s4.fp = function(i6, n4, h2, r2) { var e2 = i6.Eb(), o2 = n4.Eb(); if (i6.B() && n4.B()) return e2 > o2 ? i6 : n4; if (i6.B()) return n4; if (n4.B()) return i6; var a2 = new t4.l(), u2 = new t4.l(), f2 = new t4.l(); return i6.A(a2), n4.A(u2), f2.L(a2), f2.$b(u2), a2 = t4.ta.Xd(h2, f2, true), u2 = i6.K(), f2 = n4.K(), u2 == 33 && f2 == 33 ? s4.TU(i6, n4, a2) : u2 != f2 ? 0 < e2 || 0 < o2 ? e2 > o2 ? i6 : n4 : u2 == 550 ? s4.cI(i6, n4, a2) : s4.cI(n4, i6, a2) : t4.Hg.fp(i6, n4, h2, r2); }, s4.TU = function(i6, s5, n4) { n4 = n4 * Math.sqrt(2) * 1.00001, n4 *= n4; var h2 = i6.D(), r2 = s5.D(), e2 = new t4.de(i6.description); return t4.h.zc(h2, r2) > n4 && (e2.add(i6), e2.add(s5)), e2; }, s4.cI = function(i6, s5, n4) { var h2 = i6.vb(0), r2 = i6.I(), e2 = s5.D(), o2 = i6.Ja(); n4 = n4 * Math.sqrt(2) * 1.00001; var a2 = new t4.l(); if (i6.A(a2), a2.X(n4, n4), a2.contains(e2)) { n4 *= n4, a2 = false; for (var u2 = [], f2 = 0; f2 < r2; f2++) u2[f2] = false; for (f2 = 0; f2 < r2; f2++) { var c2 = h2.read(2 * f2), l2 = h2.read(2 * f2 + 1); (c2 -= e2.x) * c2 + (l2 -= e2.y) * l2 <= n4 && (a2 = true, u2[f2] = true); } if (a2) for (f2 = 0; f2 < r2; f2++) u2[f2] || o2.Gd(i6, f2, f2 + 1); else o2.Gd(i6, 0, r2), o2.add(s5); } else o2.Gd(i6, 0, r2), o2.add(s5); return o2; }, s4.instance = null, s4; }(t4.Ge); t4.Jx = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4, n4) { this.vs = i6 == null, this.za = -1, this.Sd = t5, this.vg = s4, this.FT = i6.next(), this.Vb = n4; } return i5.prototype.next = function() { return this.vs ? null : (i6 = this.Sd.next()) != null ? (this.za = this.Sd.Ma(), t4.Jx.fp(i6, this.FT, this.vg, this.Vb)) : null; var i6; }, i5.prototype.Ma = function() { return this.za; }, i5.prototype.qe = function() { }, i5; }(); t4.vL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function t5() { } return t5.prototype.Az = function() { this.Vy = null, this.zx = -1, this.uK = false; }, t5; }(), s4 = function() { function t5() { this.Ir = 0, this.rj = []; } return t5.prototype.jN = function(t6) { this.Ir += t6.zx, this.rj.push(t6); }, t5.prototype.LV = function() { this.Ir -= this.rj[this.rj.length - 1].zx, --this.rj.length; }, t5.prototype.iy = function() { return this.rj[this.rj.length - 1]; }, t5.prototype.Nb = function(t6) { return t6 === this; }, t5; }(), n4 = function() { function n5(t5, i5, s5) { this.za = -1, this.Jc = false, this.uH = [false, false, false, false], this.wq = [0, 0, 0, 0], this.eA = false, this.Ak = -1, this.kq = 0, this.co = -1, this.Eo = [], this.Sd = t5, this.vg = i5, this.Vb = s5; } return n5.YD = function(t5) { var i5 = [], s5 = 0; for (t5 = Object.keys(t5); s5 < t5.length; s5++) i5.push(Number(t5[s5])); return i5.sort(function(t6, i6) { return t6 - i6; }), i5; }, n5.prototype.$F = function(i5) { var s5 = this.Eo[i5], h2 = n5.YD(s5)[0], r2 = s5[h2], e2 = r2.iy().Vy; return r2 = r2.iy().uK, delete s5[h2], r2 && (e2 = t4.$l.local().W(e2, this.vg, false, this.Vb), i5 == 0 && e2.K() == 33 && (i5 = new t4.de(e2.description), e2.B() || i5.add(e2), e2 = i5)), e2; }, n5.prototype.next = function() { if (this.Jc && this.co == this.Ak) return null; for (; !this.kK(); ) ; if (this.Ak == -1) return null; if (this.eA) { for (this.co++; ; ) { if (this.co > this.Ak || 0 > this.co) throw t4.i.Ra(); if (this.uH[this.co]) break; } return this.za++, this.$F(this.co); } return this.za = 0, this.co = this.Ak, this.$F(this.Ak); }, n5.prototype.Ma = function() { return this.za; }, n5.prototype.kK = function() { if (this.Jc) return true; var i5 = null; if (this.Sd != null && ((i5 = this.Sd.next()) == null && (this.Jc = true, this.Sd = null)), t4.np.Bp(this.Vb), i5 != null) { var s5 = i5.Eb(); this.uH[s5] = true, s5 >= this.Ak && !this.eA && (this.GD(s5, false, i5), s5 > this.Ak && !this.eA && this.rW(s5)); } if (0 < this.kq) for (s5 = 0; s5 <= this.Ak; s5++) for (; 1 < this.wq[s5] && (i5 = this.zO(s5)).length != 0; ) i5 = t4.Hg.PP(i5, this.vg, this.Vb), this.GD(s5, true, i5); return this.Jc; }, n5.prototype.zO = function(t5) { for (var i5 = [], s5 = [], h2 = this.Eo[t5], r2 = n5.YD(h2), e2 = 0; e2 < r2.length; e2++) { var o2 = r2[e2], a2 = h2[o2]; if (this.Jc || 1e4 < a2.Ir && 1 < a2.rj.length) { for (this.wq[t5] -= a2.rj.length, this.kq -= a2.rj.length; 0 < a2.rj.length; ) i5.push(a2.iy().Vy), a2.LV(); s5.push(o2); } } for (e2 = 0; e2 < s5.length; e2++) delete h2[s5[e2]]; return i5; }, n5.prototype.rW = function(t5) { for (var i5 = 0; i5 < t5; i5++) this.Eo[i5] = [], this.kq -= this.wq[i5], this.wq[i5] = 0; }, n5.prototype.GD = function(t5, h2, r2) { var e2 = new i4(); if (e2.Az(), e2.Vy = r2, r2 = n5.YR(r2), e2.zx = r2, r2 = n5.WR(r2), t5 + 1 > this.Eo.length) for (var o2 = 0, a2 = Math.max(2, t5 + 1); o2 < a2; o2++) this.Eo.push([]); (o2 = this.Eo[t5][r2]) === void 0 && (o2 = new s4(), this.Eo[t5][r2] = o2), e2.uK = h2, o2.jN(e2), this.wq[t5]++, this.kq++, this.Ak = Math.max(this.Ak, t5); }, n5.WR = function(i5) { return 0 < i5 ? t4.P.truncate(Math.log(i5) / Math.log(4) + 0.5) : 0; }, n5.YR = function(i5) { var s5 = i5.K(); if (t4.ba.zj(s5)) return i5.I(); if (s5 == 33) return 1; if (s5 == 197) return 4; if (t4.ba.zd(s5)) return 2; throw t4.i.Ra(); }, n5.prototype.qe = function() { this.kK(); }, n5; }(); t4.xL = n4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { return i5 !== null && i5.apply(this, arguments) || this; } return Q(s4, i5), s4.prototype.K = function() { return 1; }, s4.prototype.W = function(i6, s5, n4, h2) { return h2 === void 0 ? new t4.xL(i6, s5, n4) : this.aQ(i6, s5, n4, h2); }, s4.prototype.aQ = function(i6, s5, n4, h2) { return i6 = new t4.$c([i6, s5]), this.W(i6, n4, h2).next(); }, s4.local = function() { return s4.instance === null && (s4.instance = new s4()), s4.instance; }, s4.instance = null, s4; }(t4.Ge); t4.Ih = i4; }(V || (V = {})), function(t4) { var i4, s4; (s4 = i4 || (i4 = {}))[s4.nextPath = 0] = "nextPath", s4[s4.nextSegment = 1] = "nextSegment", s4[s4.iterate = 2] = "iterate", i4 = function() { function i5(i6, s5, n4, h2) { this.Vs = new t4.l(), this.yT = i6, this.zT = s5, this.oq = h2, this.vo = -1, this.tl = false; var r2 = i6.Cb; r2 != null && ((r2 = h2 ? r2.Ao : r2.Gb) != null && (this.Jc = false, this.ra = n4, this.Gb = r2, this.zw = this.Gb.getIterator(), this.pq = this.tl = true, this.Yb = 0, h2 ? this.vo = s5.ea() : this.td = s5.Ha())), this.tl || (r2 = s5.Cb) != null && ((r2 = h2 ? r2.Ao : r2.Gb) != null && (this.Jc = false, this.ra = n4, this.Gb = r2, this.zw = this.Gb.getIterator(), this.tl = true, this.pq = false, this.Yb = 0, h2 ? this.vo = i6.ea() : this.td = i6.Ha())), this.tl || (this.ei = h2 ? t4.ta.gR(i6, s5, n4, 1 <= i6.qm(0), 1 <= s5.qm(0)) : t4.ta.fR(i6, s5, n4)); } return i5.prototype.next = function() { if (this.tl) { if (this.Jc) return false; for (var i6 = true; i6; ) switch (this.Yb) { case 0: i6 = this.pU(); break; case 1: i6 = this.qU(); break; case 2: i6 = this.Pz(); break; default: throw t4.i.ga("internal error"); } return !this.Jc; } return this.ei != null && this.ei.next(); }, i5.prototype.pl = function() { return this.tl ? this.pq ? this.Gb.ka(this.Hs) : this.oq ? this.vo : this.td.xb() : this.ei.pl(this.ei.Wf); }, i5.prototype.jl = function() { return this.tl ? this.pq ? this.oq ? this.vo : this.td.xb() : this.Gb.ka(this.Hs) : this.ei.jl(this.ei.Bf); }, i5.prototype.oz = function() { if (!this.oq) throw t4.i.ga("internal error"); return this.tl ? this.pq ? this.Gb.AF(this.Hs) : this.Vs : this.ei.oz(this.ei.Wf); }, i5.prototype.Wy = function() { if (!this.oq) throw t4.i.ga("internal error"); return this.tl ? this.pq ? this.Vs : this.Gb.AF(this.Hs) : this.ei.Wy(this.ei.Bf); }, i5.prototype.pU = function() { return this.oq ? --this.vo == -1 ? (this.Jc = true, false) : (this.pq ? this.zT.Tj(this.vo, this.Vs) : this.yT.Tj(this.vo, this.Vs), this.zw.Zi(this.Vs, this.ra), this.Yb = 2, true) : this.td.ab() ? (this.Yb = 1, true) : (this.Jc = true, false); }, i5.prototype.qU = function() { if (!this.td.Ia()) return this.Yb = 0, true; var t5 = this.td.ia(); return this.zw.Vo(t5, this.ra), this.Yb = 2, true; }, i5.prototype.Pz = function() { return this.Hs = this.zw.next(), this.Hs == -1 && (this.Yb = this.oq ? 0 : 1, true); }, i5; }(), t4.am = i4; }(V || (V = {})), function(t4) { (t4 = t4.IL || (t4.IL = {}))[t4.enumClosed = 1] = "enumClosed", t4[t4.enumHasNonlinearSegments = 2] = "enumHasNonlinearSegments", t4[t4.enumOGCStartPolygon = 4] = "enumOGCStartPolygon", t4[t4.enumCalcMask = 4] = "enumCalcMask"; }(V || (V = {})), function(t4) { t4.KC = function() { function i4() { } return i4.ub = function(s4, n4, h2, r2, e2, o2, a2, u2, f2) { var c2 = [0, 0, 0], l2 = [0, 0, 0], p2 = [0, 0, 0], v2 = [0, 0, 0, 0], y2 = new t4.ha(0), b2 = new t4.ha(0), d2 = new t4.ha(0); if (a2 != null || u2 != null || f2 != null) if (t4.s.vi(n4)) t4.$g.ub(s4, h2, r2, e2, o2, a2, u2, f2); else { e2 = t4.F.ca(e2), h2 = t4.F.ca(h2); var g2 = t4.F.ca(e2 - h2); if (t4.s.$(r2, o2) && (t4.s.$(h2, e2) || t4.s.$(t4.s.R(r2), 1.570796326794897))) a2 != null && (a2.u = 0), u2 != null && (u2.u = 0), f2 != null && (f2.u = 0); else { if (t4.s.$(r2, -o2)) { if (t4.s.$(t4.s.R(r2), 1.570796326794897)) return a2 != null && (a2.u = 2 * t4.F.Ch(s4, n4)), u2 != null && (u2.u = 0 < r2 ? t4.F.ca(3.141592653589793 - t4.F.ca(e2)) : t4.F.ca(e2)), void (f2 != null && (f2.u = 0 < r2 ? t4.F.ca(e2) : t4.F.ca(3.141592653589793 - t4.F.ca(e2)))); t4.s.$(t4.s.R(g2), 3.141592653589793) && (a2 != null && (a2.u = 2 * t4.F.Ch(s4, n4)), u2 != null && (u2.u = 0), f2 != null && (f2.u = 0)); } else { if (t4.s.$(t4.s.R(r2), 1.570796326794897) || t4.s.$(t4.s.R(o2), 1.570796326794897)) return void t4.Yk.ub(s4, n4, h2, r2, e2, o2, a2, u2, f2); if (t4.s.$(h2, e2) || t4.s.$(t4.s.R(g2), 3.141592653589793)) return void t4.Yk.ub(s4, n4, h2, r2, e2, o2, a2, u2, f2); if (t4.s.Dd(r2)) return void t4.Yk.ub(s4, n4, h2, r2, e2, o2, a2, u2, f2); } var w2 = Math.sqrt(1 - n4); e2 = t4.F.ca(e2 - h2), h2 = 0, t4.F.el(1, n4, r2, h2, 0, y2, b2, d2), c2[0] = y2.u, c2[1] = b2.u, c2[2] = d2.u, t4.F.el(1, n4, o2, e2, 0, y2, b2, d2), l2[0] = y2.u, l2[1] = b2.u, l2[2] = d2.u, p2[0] = 0, p2[1] = 0, p2[2] = -1 * n4 * t4.F.n(1, n4, r2) * Math.sin(r2), 0 > e2 ? t4.F.Yq(p2, l2, c2, v2, 0) : t4.F.Yq(p2, c2, l2, v2, 0), b2 = [0, 0, 0], d2 = [0, 0, 0]; var x2 = [0, 0, 0]; c2 = [0, 0, 0], y2 = [0, 0, 0]; var m2 = Math.acos(v2[2] / 1), j2 = 1 - n4, k2 = Math.tan(m2), M2 = 1 + k2 * k2 / j2, z2 = 2 * p2[2] * k2 / j2; for (j2 = (-z2 + (k2 = Math.sqrt(z2 * z2 - 4 * M2 * (p2[2] * p2[2] / j2 - 1)))) / (M2 *= 2), z2 = (-z2 - k2) / M2, k2 = Math.tan(m2), m2 = (j2 + z2) / 2, p2 = ((M2 = k2 * j2 + p2[2]) + (k2 * z2 + p2[2])) / 2, k2 = t4.F.hp(j2 - m2, M2 - p2), j2 = p2 / w2 * 1.570796326794897, z2 = 0; 100 > z2 && (M2 = (M2 = t4.F.w(n4, j2)) * M2 / Math.cos(j2) * (Math.sin(j2) - p2 * M2 / (1 - n4)), !t4.s.Dd(M2)); z2++) j2 -= M2; p2 = t4.F.n(1, n4, j2) * Math.cos(j2), k2 = 1 - k2 / (p2 = Math.sqrt((p2 - m2) * (p2 + m2))), k2 *= 2 - k2, M2 = t4.F.qn(b2), m2 = t4.F.qn(d2), j2 = t4.F.qn(x2); var A2 = t4.F.Ut(x2, b2); z2 = t4.F.Ut(x2, d2), t4.F.yx(x2, b2, c2), t4.F.yx(x2, d2, y2), b2 = Math.acos(A2 / (j2 * M2)), d2 = Math.acos(z2 / (j2 * m2)), d2 *= t4.s.Mb(1, t4.F.Ut(c2, y2)), (1.570796326794897 <= t4.s.R(b2) && 1.570796326794897 <= t4.s.R(d2) || 3.141592653589793 < t4.s.R(b2 - d2)) && (b2 = (3.141592653589793 - t4.s.R(b2)) * t4.s.Mb(1, b2), d2 = (3.141592653589793 - t4.s.R(d2)) * t4.s.Mb(1, d2)), c2 = t4.F.Sj(k2, d2), y2 = t4.F.q(p2, k2, t4.F.Sj(k2, b2)), c2 = t4.F.q(p2, k2, c2), c2 = t4.s.R(c2 - y2) * s4, b2 = new t4.ha(0), d2 = new t4.ha(0), x2 = v2[1] / 1, x2 *= -t4.s.Mb(1, g2), y2 = Math.acos(x2) * t4.s.Mb(1, g2), i4.sf(s4, n4, h2, r2, c2, y2, b2, d2), t4.s.$(e2, b2.u) && t4.s.$(o2, d2.u) || (k2 = t4.F.hp(t4.F.ca(e2 - b2.u), o2 - d2.u), i4.sf(s4, n4, h2, r2, c2, t4.F.ca(y2 + 3.141592653589793), b2, d2), (M2 = t4.F.hp(t4.F.ca(e2 - b2.u), o2 - d2.u)) < k2 && (y2 = t4.F.ca(y2 + 3.141592653589793))), b2 = [0, 0, 0, 0], d2 = [0, 0, 0, 0], k2 = [0, 0, 0], s4 = [0, 0, 0], h2 = [0, 0, 0], r2 = [0, 0, 0], x2 = [0, 0, 0], (p2 = [0, 0, 0])[0] = 0, p2[1] = 0, p2[2] = w2, k2[0] = 0, k2[1] = 0, k2[2] = 0, t4.F.Yq(k2, p2, l2, b2, 0), t4.s.Dd(o2) ? (s4[0] = l2[0], s4[1] = l2[1], s4[2] = 1, h2[0] = 1 * Math.cos(e2) - 1 * Math.sin(e2), h2[1] = 1 * Math.sin(e2) + 1 * Math.cos(e2)) : (n4 = t4.F.n(1, n4, o2) * Math.cos(o2), s4[0] = 0, s4[1] = 0, l2[2] += Math.tan(1.570796326794897 - t4.s.R(o2)) * n4 * t4.s.Mb(1, o2), h2[0] = n4 * Math.cos(e2) - n4 * Math.sin(e2), h2[1] = n4 * Math.sin(e2) + n4 * Math.cos(e2)), h2[2] = l2[2], t4.F.Yq(l2, h2, s4, d2, 1), t4.F.yx(d2, b2, r2), t4.F.yx(d2, v2, x2), x2 = t4.F.Ut(r2, x2) / (t4.F.qn(r2) * t4.F.qn(x2)), x2 *= t4.s.Mb(1, g2), e2 = Math.acos(x2) * -t4.s.Mb(1, g2), (0 < y2 && 0 < e2 || 0 > y2 && 0 > e2) && (e2 = t4.F.ca(e2 + 3.141592653589793)), a2 != null && (a2.u = c2), u2 != null && (u2.u = y2), f2 != null && (f2.u = e2); } } }, i4.sf = function(i5, s4, n4, h2, r2, e2, o2, a2) { var u2 = [0, 0, 0], f2 = [0, 0, 0], c2 = [0, 0, 0], l2 = [0, 0, 0], p2 = [0, 0, 0], v2 = [0, 0, 0], y2 = [0, 0, 0], b2 = [0, 0, 0, 0], d2 = new t4.ha(0), g2 = new t4.ha(0), w2 = new t4.ha(0), x2 = new t4.ha(0), m2 = new t4.ha(0), j2 = new t4.ha(0); if (o2 != null && a2 != null) if (t4.s.vi(s4)) t4.$g.sf(i5, n4, h2, r2, e2, o2, a2); else if (t4.s.Dd(r2)) o2 != null && (o2.u = n4), a2 != null && (a2.u = h2); else if (e2 = t4.F.ca(e2), 0 > r2 && (r2 = t4.s.R(r2), e2 = t4.F.ca(e2 + 3.141592653589793)), n4 = t4.F.ca(n4), h2 = t4.F.ca(h2), 1.570796326794897 < t4.s.R(h2) && (n4 = t4.F.ca(n4 + 3.141592653589793), h2 = t4.s.Mb(3.141592653589793, h2) - h2), t4.s.$(t4.s.R(h2), 1.570796326794897) || t4.s.Dd(h2) || t4.s.Dd(e2) || t4.s.$(t4.s.R(e2), 3.141592653589793)) t4.Yk.sf(i5, s4, n4, h2, r2, e2, o2, a2); else { var k2 = Math.sqrt(1 - s4); for (i5 = r2 / i5, t4.F.el(1, s4, h2, 0, 0, x2, m2, j2), u2[0] = x2.u, u2[1] = m2.u, u2[2] = m2.u, y2[0] = 0, y2[1] = 0, y2[2] = -1 * s4 * t4.F.n(1, s4, h2) * Math.sin(h2), x2 = t4.F.n(1, s4, h2), m2 = t4.F.ca(1.570796326794897 - e2), j2 = Math.sin(m2), r2 = Math.cos(h2), h2 = Math.sin(h2), p2[0] = x2 * r2 - h2 * j2, p2[1] = Math.cos(m2), p2[2] = (1 - s4) * x2 * h2 + r2 * j2, 0 > e2 ? t4.F.Yq(y2, p2, u2, b2, 0) : t4.F.Yq(y2, u2, p2, b2, 0), u2 = Math.acos(b2[2] / 1), b2 = Math.atan2(-b2[1], -b2[0]), h2 = 1 - s4, m2 = 1 + (p2 = Math.tan(u2)) * p2 / h2, h2 = (-(x2 = 2 * y2[2] * p2 / h2) + (p2 = Math.sqrt(x2 * x2 - 4 * m2 * (y2[2] * y2[2] / h2 - 1)))) / (m2 *= 2), x2 = (-x2 - p2) / m2, p2 = Math.tan(u2), u2 = (h2 + x2) / 2, y2 = ((m2 = p2 * h2 + y2[2]) + (p2 * x2 + y2[2])) / 2, p2 = t4.F.hp(h2 - u2, m2 - y2), k2 = y2 / k2 * 1.570796326794897, h2 = 0; 100 > h2 && (x2 = (x2 = t4.F.w(s4, k2)) * x2 / Math.cos(k2) * (Math.sin(k2) - y2 * x2 / (1 - s4)), !t4.s.Dd(x2)); h2++) k2 -= x2; k2 = t4.F.n(1, s4, k2) * Math.cos(k2), y2 = 1 - p2 / (k2 = Math.sqrt((k2 - u2) * (k2 + u2))), y2 *= 2 - y2, v2 = Math.acos(t4.F.Ut(v2, f2) / (t4.F.qn(v2) * t4.F.qn(f2))), v2 *= t4.s.Mb(1, f2[0]), e2 = (t4.F.q(k2, y2, t4.F.Sj(y2, v2)) + i5 * t4.s.Mb(1, e2)) / t4.F.Ch(k2, y2), e2 = t4.F.ca(1.570796326794897 * e2), e2 = t4.F.Tq(y2, e2), t4.F.n(k2, y2, e2), p2 = t4.F.ca(b2 + n4), n4 = Math.cos(p2), e2 = Math.sin(p2), c2[0] = l2[0] * n4 + l2[1] * -e2, c2[1] = l2[0] * e2 + l2[1] * n4, c2[2] = l2[2], t4.F.dO(s4, c2[0], c2[1], c2[2], w2, g2, d2), o2 != null && (o2.u = g2.u), a2 != null && (a2.u = w2.u); } }, i4; }(); }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.Za = null, this.xt = new t4.h(), this.yt = new t4.h(), this.g = i6; } return i5.prototype.compare = function(t5, i6, s5) { return this.g.Hc(i6, this.xt), this.g.Hc(t5.ka(s5), this.yt), this.xt.compare(this.yt); }, i5; }(), s4 = function() { function i5(i6) { this.Cf = new t4.h(), this.Ek = new t4.h(), this.g = i6; } return i5.prototype.Fh = function(t5) { this.Cf.N(t5); }, i5.prototype.compare = function(t5, i6) { return this.g.Hc(t5.ka(i6), this.Ek), this.Cf.compare(this.Ek); }, i5; }(), n4 = function(t5) { function i5(i6) { var s5 = t5.call(this, i6.g, i6.ra, false) || this; return s5.ib = i6, s5; } return Q(i5, t5), i5.prototype.compare = function(t6, i6, s5) { if (this.rg) return -1; var n5 = this.ib.Rd.Kn(this.ib.Th(i6)); t6 = t6.ka(s5); var h3 = this.ib.Rd.Kn(this.ib.Th(t6)); return this.Fm = s5, this.LE(i6, n5, t6, h3); }, i5; }(t4.OC), h2 = function(t5) { function i5(i6) { var s5 = t5.call(this, i6.g, i6.ra) || this; return s5.ib = i6, s5; } return Q(i5, t5), i5.prototype.compare = function(t6, i6) { return this.rg ? -1 : (t6 = this.ib.Rd.Kn(this.ib.Th(t6.ka(i6))), this.Fm = i6, this.ME(i6, t6)); }, i5; }(t4.VL), r2 = function() { function r3() { this.Nc = this.df = this.ko = this.Rd = this.nh = this.Ad = this.hb = this.g = null, this.Pg = false, this.xh = this.Pm = this.ie = this.Hk = this.ph = this.Bk = this.Gf = this.ae = null, this.zh = this.Lq = this.OA = this.ra = 0, this.Zv = this.Xn = false, this.zo = new t4.h(), this.Ri = new t4.h(), this.hb = new t4.ad(8), this.Ad = new t4.ad(5), this.nh = new t4.cu(), this.Rd = new t4.cu(), this.Pg = false, this.xh = new t4.h(), this.xh.na(0, 0), this.ra = 0, this.zh = -1, this.Xn = false, this.g = null, this.df = new t4.Zj(), this.Nc = new t4.Zj(), this.ph = new t4.ja(0), this.Hk = new t4.NC(), this.Gf = new t4.ja(0), this.Bk = new t4.ja(0), this.ko = new t4.Ta(); } return r3.prototype.HX = function(i5, s5) { var n5 = new t4.Ed(); return n5.UB(), i5.Pc(n5), this.gr(i5), this.Xn = false, this.ra = s5, this.OA = s5 * s5, s5 = this.dC(), i5.Pc(n5), s5 || (this.kQ(), s5 || this.dC()), this.zh != -1 && (this.g.Ud(this.zh), this.zh = -1), this.g = null, this.Xn; }, r3.prototype.LX = function(t5, i5) { this.gr(t5), this.Xn = false, this.ra = i5, this.OA = i5 * i5, this.Pg = false, this.dC(), this.Pg || (this.Pg = t5.Ip(i5, true, false) == 1), this.zh != -1 && (this.g.Ud(this.zh), this.zh = -1), this.g = null; }, r3.prototype.pg = function(t5, i5) { return this.hb.U(t5, 0 + i5); }, r3.prototype.FB = function(t5, i5, s5) { this.hb.T(t5, 0 + i5, s5); }, r3.prototype.Th = function(t5) { return this.hb.U(t5, 2); }, r3.prototype.QW = function(t5, i5) { this.hb.T(t5, 2, i5); }, r3.prototype.LF = function(t5, i5) { return this.hb.U(t5, 3 + i5); }, r3.prototype.Rp = function(t5) { return this.hb.U(t5, 7); }, r3.prototype.Rl = function(t5, i5) { this.hb.T(t5, 7, i5); }, r3.prototype.Tp = function(t5, i5) { return this.hb.U(t5, 3 + this.Qp(t5, i5)); }, r3.prototype.hr = function(t5, i5, s5) { this.hb.T(t5, 3 + this.Qp(t5, i5), s5); }, r3.prototype.GR = function(t5, i5) { return this.hb.U(t5, 5 + this.Qp(t5, i5)); }, r3.prototype.jr = function(t5, i5, s5) { this.hb.T(t5, 5 + this.Qp(t5, i5), s5); }, r3.prototype.Ur = function(t5) { return this.Ad.U(t5, 0); }, r3.prototype.MW = function(t5, i5) { this.Ad.T(t5, 0, i5); }, r3.prototype.$y = function(t5) { return this.Ad.U(t5, 4); }, r3.prototype.er = function(t5, i5) { this.Ad.T(t5, 4, i5); }, r3.prototype.kl = function(t5) { return this.Ad.U(t5, 1); }, r3.prototype.nn = function(t5, i5) { this.Ad.T(t5, 1, i5); }, r3.prototype.Zy = function(t5) { return this.Ad.U(t5, 3); }, r3.prototype.Ft = function(t5, i5) { this.Ad.T(t5, 3, i5); }, r3.prototype.$m = function(t5) { var i5 = this.Ad.De(), s5 = this.nh.Rh(); return this.MW(i5, s5), t5 != -1 ? (this.nh.addElement(s5, t5), this.g.Sa(t5, this.zh, i5), this.er(i5, this.g.Va(t5))) : this.er(i5, -1), i5; }, r3.prototype.BP = function(t5) { this.Ad.kd(t5); }, r3.prototype.ED = function(t5, i5) { this.nh.addElement(this.Ur(t5), i5), this.g.Sa(i5, this.zh, t5); }, r3.prototype.ot = function(t5) { var i5 = this.hb.De(), s5 = this.Rd.Rh(); return this.QW(i5, s5), t5 != -1 && this.Rd.addElement(s5, t5), i5; }, r3.prototype.FD = function(t5, i5) { this.Rd.addElement(this.Th(t5), i5); }, r3.prototype.Wu = function(t5) { this.hb.kd(t5), 0 <= (t5 = this.ph.fF(t5)) && this.ph.KV(t5); }, r3.prototype.jj = function(i5, s5) { if (this.pg(i5, 0) == -1) this.FB(i5, 0, s5); else { if (this.pg(i5, 1) != -1) throw t4.i.Ra(); this.FB(i5, 1, s5); } this.gy(i5, s5); }, r3.prototype.gy = function(t5, i5) { var s5 = this.kl(i5); if (s5 != -1) { var n5 = this.Tp(s5, i5); this.jr(n5, i5, t5), this.hr(t5, i5, n5), this.hr(s5, i5, t5), this.jr(t5, i5, s5); } else this.jr(t5, i5, t5), this.hr(t5, i5, t5), this.nn(i5, t5); }, r3.prototype.Qp = function(t5, i5) { return this.pg(t5, 0) == i5 ? 0 : 1; }, r3.prototype.Zm = function(t5, i5) { var s5, n5 = this.Zy(i5); if (n5 != -1 && (this.df.wd(n5, -1), this.Ft(i5, -1)), (n5 = this.kl(i5)) != -1) { var h3 = s5 = n5; do { var r4 = false, e2 = this.Qp(s5, i5), o2 = this.LF(s5, e2); if (this.pg(s5, e2 + 1 & 1) == t5) { if (this.Zu(s5), this.Rd.eh(this.Th(s5)), this.Wu(s5), s5 == o2) { n5 = -1; break; } n5 == s5 && (n5 = this.kl(i5), h3 = o2, r4 = true); } s5 = o2; } while (s5 != h3 || r4); if (n5 != -1) { do { e2 = this.Qp(s5, i5), o2 = this.LF(s5, e2), this.FB(s5, e2, t5), s5 = o2; } while (s5 != h3); (s5 = this.kl(t5)) != -1 ? (h3 = this.Tp(s5, t5), r4 = this.Tp(n5, t5), h3 == s5 ? (this.nn(t5, n5), this.gy(s5, t5), this.nn(t5, s5)) : r4 == n5 && this.gy(n5, t5), this.hr(n5, t5, h3), this.jr(h3, t5, n5), this.hr(s5, t5, r4), this.jr(r4, t5, s5)) : this.nn(t5, n5); } } for (n5 = this.Ur(t5), s5 = this.Ur(i5), h3 = this.nh.sc(s5); h3 != -1; h3 = this.nh.lb(h3)) this.g.Sa(this.nh.ka(h3), this.zh, t5); this.nh.Cy(n5, s5), this.BP(i5); }, r3.prototype.MT = function(t5, i5) { var s5 = this.pg(t5, 0), n5 = this.pg(t5, 1), h3 = this.pg(i5, 0), r4 = this.pg(i5, 1); this.Rd.Cy(this.Th(t5), this.Th(i5)), i5 == this.kl(s5) && this.nn(s5, t5), i5 == this.kl(n5) && this.nn(n5, t5), this.Zu(i5), this.Wu(i5), s5 == h3 && n5 == r4 || n5 == h3 && s5 == r4 || (this.In(s5, this.zo), this.In(h3, this.Ri), this.zo.rb(this.Ri) ? (s5 != h3 && this.Zm(s5, h3), n5 != r4 && this.Zm(n5, r4)) : (n5 != h3 && this.Zm(n5, h3), s5 != r4 && this.Zm(s5, r4))); }, r3.prototype.Zu = function(t5) { var i5 = this.pg(t5, 1); this.YE(t5, this.pg(t5, 0)), this.YE(t5, i5); }, r3.prototype.YE = function(t5, i5) { var s5 = this.Tp(t5, i5), n5 = this.GR(t5, i5), h3 = this.kl(i5); s5 != t5 ? (this.hr(n5, i5, s5), this.jr(s5, i5, n5), h3 == t5 && this.nn(i5, s5)) : this.nn(i5, -1); }, r3.prototype.QD = function(t5, i5, s5) { var n5 = this.Rd.sc(t5), h3 = this.Rd.ka(n5); t5 = this.Ie(h3); var r4 = this.Ie(this.g.V(h3)); for (this.g.lr(h3, i5, s5, true), n5 = this.Rd.lb(n5); n5 != -1; n5 = this.Rd.lb(n5)) { h3 = this.Rd.ka(n5); var e2 = this.Ie(h3) == t5; this.g.lr(h3, i5, s5, e2); } n5 = i5.Xp(s5, 0).ac(), i5 = i5.Xp(s5, i5.ql(s5) - 1).xc(), this.vK(t5, n5), this.vK(r4, i5); }, r3.prototype.TE = function(t5, i5, s5) { var n5 = this.Th(t5), h3 = this.pg(t5, 0), r4 = this.pg(t5, 1), e2 = this.ot(-1); for (this.ph.add(e2), this.Rl(e2, -3), this.Gf.add(e2), this.jj(e2, h3), t5 = 1, i5 = i5.ql(s5); t5 < i5; t5++) s5 = this.$m(-1), this.Bk.add(s5), this.Gf.add(s5), this.jj(e2, s5), e2 = this.ot(-1), this.ph.add(e2), this.Rl(e2, -3), this.Gf.add(e2), this.jj(e2, s5); for (this.jj(e2, r4), n5 = this.Rd.sc(n5); n5 != -1; n5 = this.Rd.lb(n5)) if (r4 = this.Rd.ka(n5), this.Ie(r4) == h3) { t5 = 0; do { 0 < t5 && (e2 = this.Gf.get(t5 - 1), this.ED(e2, r4), this.$y(e2) == -1 && this.er(e2, this.g.Va(r4))), e2 = this.Gf.get(t5), t5 += 2, this.FD(e2, r4), r4 = this.g.V(r4); } while (t5 < this.Gf.size); } else { t5 = this.Gf.size - 1; do { t5 < this.Gf.size - 2 && (e2 = this.Gf.get(t5 + 1), this.ED(e2, r4), 0 > this.$y(e2) && this.er(e2, this.g.Va(r4))), e2 = this.Gf.get(t5), t5 -= 2, this.FD(e2, r4), r4 = this.g.V(r4); } while (0 <= t5); } this.Gf.clear(false); }, r3.prototype.Ie = function(t5) { return this.g.Qa(t5, this.zh); }, r3.prototype.MI = function(i5, s5, n5) { var h3 = this.pg(s5, 0), r4 = new t4.h(); this.In(h3, r4); var e2 = new t4.h(), o2 = this.pg(s5, 1); this.In(o2, e2); var a2 = n5.ql(i5), u2 = n5.Xp(i5, 0), f2 = new t4.h(); if (u2.$p(f2), !r4.rb(f2)) { if (!this.Pg) { var c2 = r4.compare(this.xh); 0 > c2 * (f2 = f2.compare(this.xh)) && (this.Pg = true); } this.pF(h3, this.Gf), this.Bk.add(h3); } for (!this.Pg && 1 < a2 && (c2 = r4.compare(e2), u2 = u2.xc(), (r4.compare(u2) != c2 || u2.compare(e2) != c2 || 0 > u2.compare(this.xh)) && (this.Pg = true)), i5 = (u2 = n5.Xp(i5, a2 - 1)).xc(), e2.rb(i5) || (this.Pg || 0 > (c2 = e2.compare(this.xh)) * (f2 = i5.compare(this.xh)) && (this.Pg = true), this.pF(o2, this.Gf), this.Bk.add(o2)), this.Gf.add(s5), e2 = 0, o2 = this.Gf.size; e2 < o2; e2++) i5 = this.Gf.get(e2), n5 = this.Rp(i5), t4.ad.FG(n5) && (this.Nc.wd(n5, -1), this.Rl(i5, -1)), i5 != s5 && this.Rp(i5) != -3 && (this.ph.add(i5), this.Rl(i5, -3)); this.Gf.clear(false); }, r3.prototype.fO = function(t5, i5) { this.ae.compare(this.Nc, this.Nc.ka(t5), i5), this.ae.rg && (this.ae.Mr(), this.iF(t5, i5)); }, r3.prototype.iF = function(i5, s5) { this.Xn = true, i5 = this.Nc.ka(i5), s5 = this.Nc.ka(s5); var n5 = this.Rd.Kn(this.Th(i5)), h3 = this.Rd.Kn(this.Th(s5)), r4 = this.g.cc(n5); r4 == null && (this.ie == null && (this.ie = new t4.zb()), this.g.fd(n5, this.ie), r4 = this.ie), (n5 = this.g.cc(h3)) == null && (this.Pm == null && (this.Pm = new t4.zb()), this.g.fd(h3, this.Pm), n5 = this.Pm), this.Hk.Po(r4), this.Hk.Po(n5), this.Hk.Fa(this.ra, true) && (this.Pg = true), this.bK(i5, s5, -1, this.Hk), this.Hk.clear(); }, r3.prototype.AQ = function(i5, s5) { this.Xn = true, s5 = this.Nc.ka(s5); var n5 = this.Rd.Kn(this.Th(s5)), h3 = this.g.cc(n5); h3 == null && (this.ie == null && (this.ie = new t4.zb()), this.g.fd(n5, this.ie), h3 = this.ie), n5 = this.vF(i5), this.Hk.Po(h3), this.g.Xi(n5, this.ko), this.Hk.Fz(this.ra, this.ko, true), this.bK(s5, -1, i5, this.Hk), this.Hk.clear(); }, r3.prototype.qS = function() { if (this.ph.size != 0) for (; this.ph.size != 0; ) { if (this.ph.size > Math.max(100, this.g.gd)) { this.ph.clear(false), this.Pg = true; break; } var t5 = this.ph.Gc(); this.ph.Jf(), this.Rl(t5, -1), this.OS(t5) != -1 && this.pS(t5), this.Wn = false; } }, r3.prototype.pS = function(t5) { if (this.Wn) { var i5 = this.Nc.Bu(this.GH, this.AH, t5, true); this.Wn = false; } else i5 = this.Nc.DD(t5); i5 == -1 ? this.MT(this.Nc.ka(this.Nc.zF()), t5) : (this.Rl(t5, i5), this.ae.rg && (this.ae.Mr(), this.iF(this.ae.Fm, i5))); }, r3.prototype.OS = function(i5) { var s5 = this.pg(i5, 0); if (i5 = this.pg(i5, 1), this.In(s5, this.zo), this.In(i5, this.Ri), t4.h.zc(this.zo, this.Ri) <= this.OA) return this.Pg = true, -1; var n5 = this.zo.compare(this.xh), h3 = this.Ri.compare(this.xh); return 0 >= n5 && 0 < h3 ? i5 : 0 >= h3 && 0 < n5 ? s5 : -1; }, r3.prototype.iQ = function() { var i5 = new t4.ja(0); i5.Jb(this.g.gd); for (var s5 = this.g.$q(), n5 = s5.next(); n5 != -1; n5 = s5.next()) this.g.Qa(n5, this.zh) != -1 && i5.add(n5); this.g.nx(i5, i5.size), this.jQ(i5); }, r3.prototype.jQ = function(s5) { this.df.clear(), this.df.Ee(s5.size), this.df.Wo(new i4(this.g)); var n5 = new t4.h(); n5.Sc(); for (var h3 = -1, r4 = new t4.h(), e2 = 0, o2 = s5.size; e2 < o2; e2++) { var a2 = s5.get(e2); this.g.Hc(a2, r4), r4.rb(n5) ? (a2 = this.g.Qa(a2, this.zh), this.Zm(h3, a2)) : (h3 = this.Ie(a2), this.g.Hc(a2, n5), a2 = this.df.yn(a2), this.Ft(h3, a2)); } }, r3.prototype.kQ = function() { var i5 = new t4.ja(0); i5.Jb(this.g.gd); for (var s5 = this.df.sc(-1); s5 != -1; s5 = this.df.lb(s5)) i5.add(this.df.ka(s5)); this.df.clear(), this.g.nx(i5, i5.size), s5 = 0; for (var n5 = i5.size; s5 < n5; s5++) { var h3 = i5.get(s5), r4 = this.Ie(h3); h3 = this.df.yn(h3), this.Ft(r4, h3); } }, r3.prototype.pF = function(i5, s5) { var n5 = this.kl(i5); if (n5 != -1) { var h3 = n5; do { t4.ad.FG(this.Rp(h3)) && s5.add(h3), h3 = this.Tp(h3, i5); } while (h3 != n5); } }, r3.prototype.vK = function(t5, i5) { for (t5 = this.nh.sc(this.Ur(t5)); t5 != -1; t5 = this.nh.lb(t5)) this.g.mf(this.nh.ka(t5), i5); }, r3.prototype.bK = function(t5, i5, s5, n5) { this.Zu(t5), i5 != -1 && this.Zu(i5), this.MI(0, t5, n5), i5 != -1 && this.MI(1, i5, n5), s5 != -1 && (n5.Cf.D(this.zo), this.In(s5, this.Ri), this.Ri.rb(this.zo) || this.Bk.add(s5)), s5 = 0; for (var h3 = this.Bk.size; s5 < h3; s5++) { var r4 = this.Bk.get(s5), e2 = this.Zy(r4); e2 != -1 && (this.df.wd(e2, -1), this.Ft(r4, -1)); } for (s5 = this.Th(t5), h3 = i5 != -1 ? this.Th(i5) : -1, this.QD(s5, n5, 0), i5 != -1 && this.QD(h3, n5, 1), this.TE(t5, n5, 0), i5 != -1 && this.TE(i5, n5, 1), this.Rd.eh(s5), this.Wu(t5), i5 != -1 && (this.Rd.eh(h3), this.Wu(i5)), s5 = 0, h3 = this.Bk.size; s5 < h3; s5++) (r4 = this.Bk.get(s5)) == this.Lq && (this.Zv = true), (e2 = this.Zy(r4)) == -1 && ((e2 = this.df.DD(this.vF(r4))) == -1 ? (t5 = this.Ie(this.df.ka(this.df.zF())), this.Zm(t5, r4)) : this.Ft(r4, e2)); this.Bk.clear(false); }, r3.prototype.In = function(t5, i5) { this.g.YF(this.$y(t5), i5); }, r3.prototype.vF = function(t5) { return this.nh.Kn(this.Ur(t5)); }, r3.prototype.dC = function() { this.Zv = false, this.Lq = -1, this.ae == null && (this.Nc.Tv = false, this.ae = new n4(this), this.Nc.$n = this.ae); var i5 = new t4.ja(0), r4 = null, e2 = null; this.AH = this.GH = -1, this.Wn = false; for (var o2 = this.df.sc(-1); o2 != -1; ) { this.Wn = false; var a2 = this.df.ka(o2); this.Lq = this.Ie(a2), this.g.Hc(a2, this.xh), this.ae.UJ(this.xh.y, this.xh.x); var u2 = this.kl(this.Lq), f2 = u2 == -1; if (!f2) { a2 = u2; do { var c2 = this.Rp(a2); c2 == -1 ? (this.ph.add(a2), this.Rl(a2, -3)) : c2 != -3 && i5.add(c2), a2 = this.Tp(a2, this.Lq); } while (a2 != u2); } if (0 < i5.size) { for (this.Wn = i5.size == 1 && this.ph.size == 1, f2 = 0, u2 = i5.size; f2 < u2; f2++) a2 = this.Nc.ka(i5.get(f2)), this.Rl(a2, -2); var l2 = -2, p2 = -2; for (f2 = 0, u2 = i5.size; f2 < u2; f2++) { if (c2 = i5.get(f2), l2 == -2) { var v2 = this.Nc.xe(c2); v2 != -1 ? (a2 = this.Nc.ka(v2), (a2 = this.Rp(a2)) != -2 && (l2 = v2)) : l2 = -1; } if (p2 == -2 && ((c2 = this.Nc.lb(c2)) != -1 ? (a2 = this.Nc.ka(c2), (a2 = this.Rp(a2)) != -2 && (p2 = c2)) : p2 = -1), l2 != -2 && p2 != -2) break; } for (f2 = 0, u2 = i5.size; f2 < u2; f2++) c2 = i5.get(f2), a2 = this.Nc.ka(c2), this.Nc.wd(c2, -1), this.Rl(a2, -1); i5.clear(false), this.GH = l2 != -1 ? l2 : -1, this.AH = p2 != -1 ? p2 : -1, l2 != -1 && p2 != -1 ? this.Wn || this.fO(l2, p2) : l2 == -1 && p2 == -1 && (this.Wn = false); } else f2 && (r4 == null && (r4 = new h2(this)), r4.Fh(this.xh), this.Nc.oJ(r4), r4.rg && (r4.Mr(), this.AQ(this.Lq, r4.Fm))); this.qS(), this.Zv ? (this.Zv = false, e2 == null && (e2 = new s4(this.g)), e2.Fh(this.xh), o2 = this.df.oJ(e2)) : o2 = this.df.lb(o2); } return this.Xn; }, r3.prototype.gr = function(i5) { for (this.g = i5, this.zh = this.g.Hd(), this.hb.Ee(i5.gd + 32), this.Ad.Ee(i5.gd), this.nh.Bt(i5.gd), this.nh.hn(i5.gd), this.Rd.Bt(i5.gd + 32), this.Rd.hn(i5.gd + 32), i5 = this.g.ld; i5 != -1; i5 = this.g.ve(i5)) if (t4.ba.Ic(this.g.jc(i5))) for (a2 = this.g.Ob(i5); a2 != -1; a2 = this.g.Sb(a2)) { var s5 = this.g.Ka(a2), n5 = this.g.Ya(a2), h3 = this.$m(n5), r4 = this.ot(n5); for (this.jj(r4, h3), u2 = this.g.V(n5), n5 = 0, s5 -= 2; n5 < s5; n5++) { var e2 = this.g.V(u2), o2 = this.$m(u2); this.jj(r4, o2), r4 = this.ot(u2), this.jj(r4, o2), u2 = e2; } this.g.ec(a2) ? (o2 = this.$m(u2), this.jj(r4, o2), r4 = this.ot(u2), this.jj(r4, o2), this.jj(r4, h3)) : (o2 = this.$m(u2), this.jj(r4, o2)); } else for (var a2 = this.g.Ob(i5); a2 != -1; a2 = this.g.Sb(a2)) { var u2 = this.g.Ya(a2); for (h3 = 0, s5 = this.g.Ka(a2); h3 < s5; h3++) this.$m(u2), u2 = this.g.V(u2); } this.iQ(); }, r3; }(); t4.LC = r2; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4(n4, h2, r2) { var e2 = i5.call(this) || this; if (n4 !== void 0) if (r2 !== void 0) { e2.description = t4.ee.og(); var o2 = new t4.Od(); o2.L(n4, h2, r2), e2.YB(o2); } else if (h2 !== void 0) e2.description = t4.ee.og(), e2.Db(n4, h2); else if (n4 instanceof t4.ua) e2.description = n4; else if (n4 instanceof t4.h) e2.description = t4.ee.og(), e2.Db(n4); else { if (!(n4 instanceof s4)) throw t4.i.O(); e2.description = n4.description, e2.Db(n4.Ng(), n4.kh()), n4.la !== null && (e2.la = n4.la.slice(0)); } else e2.description = t4.ee.og(); return e2; } return Q(s4, i5), s4.prototype.D = function(i6) { if (i6 === void 0) { if (this.Bc()) throw t4.i.ga("This operation should not be performed on an empty geometry."); return (i6 = new t4.h()).na(this.la[0], this.la[1]), i6; } if (this.Bc()) throw t4.i.ga("This operation should not be performed on an empty geometry."); i6.na(this.la[0], this.la[1]); }, s4.prototype.Db = function(t5, i6) { typeof t5 == "number" ? (this.wc(), this.la == null && this.up(), this.la[0] = t5, this.la[1] = i6) : (this.wc(), this.Db(t5.x, t5.y)); }, s4.prototype.xz = function() { if (this.Bc()) throw t4.i.ga("This operation should not be performed on an empty geometry."); var i6 = new t4.Od(); return i6.x = this.la[0], i6.y = this.la[1], i6.z = this.description.cG() ? this.la[2] : t4.ua.te(1), i6; }, s4.prototype.YB = function(i6) { this.wc(); var s5 = this.hasAttribute(1); s5 || t4.ua.xG(1, i6.z) || (this.se(1), s5 = true), this.la == null && this.up(), this.la[0] = i6.x, this.la[1] = i6.y, s5 && (this.la[2] = i6.z); }, s4.prototype.Ng = function() { if (this.Bc()) throw t4.i.ga("This operation should not be performed on an empty geometry."); return this.la[0]; }, s4.prototype.XB = function(t5) { this.setAttribute(0, 0, t5); }, s4.prototype.kh = function() { if (this.Bc()) throw t4.i.ga("This operation should not be performed on an empty geometry."); return this.la[1]; }, s4.prototype.VJ = function(t5) { this.setAttribute(0, 1, t5); }, s4.prototype.VR = function() { return this.Vc(1, 0); }, s4.prototype.oX = function(t5) { this.setAttribute(1, 0, t5); }, s4.prototype.tR = function() { return this.Vc(2, 0); }, s4.prototype.ZW = function(t5) { this.setAttribute(2, 0, t5); }, s4.prototype.Fc = function() { return this.sF(3, 0); }, s4.prototype.FJ = function(t5) { this.setAttribute(3, 0, t5); }, s4.prototype.Vc = function(i6, s5) { var n4 = this.description.Qf(i6); return 0 <= n4 ? this.la[this.description.ak(n4) + s5] : t4.ua.te(i6); }, s4.prototype.sF = function(i6, s5) { var n4 = this.description.Qf(i6); return 0 <= n4 ? this.la[this.description.ak(n4) + s5] : t4.ua.te(i6); }, s4.prototype.setAttribute = function(t5, i6, s5) { this.wc(); var n4 = this.description.Qf(t5); 0 > n4 && (this.se(t5), n4 = this.description.Qf(t5)), this.la == null && this.up(), this.la[this.description.ak(n4) + i6] = s5; }, s4.prototype.K = function() { return 33; }, s4.prototype.Eb = function() { return 0; }, s4.prototype.Pa = function() { this.wc(), this.la != null && (this.la[0] = NaN, this.la[1] = NaN); }, s4.prototype.un = function(i6) { if (this.la != null) { for (var s5 = t4.ee.Kw(i6, this.description), n4 = [], h2 = 0, r2 = 0, e2 = i6.Ba; r2 < e2; r2++) { var o2 = i6.qd(r2), a2 = t4.ua.Wa(o2); if (s5[r2] == -1) { var u2 = t4.ua.te(o2); for (o2 = 0; o2 < a2; o2++) n4[h2] = u2, h2++; } else for (u2 = this.description.ak(s5[r2]), o2 = 0; o2 < a2; o2++) n4[h2] = this.la[u2], h2++, u2++; } this.la = n4; } this.description = i6; }, s4.prototype.up = function() { this.fJ(this.description.Be.length), s4.XD(this.description.Be, this.la, this.description.Be.length), this.la[0] = NaN, this.la[1] = NaN; }, s4.prototype.Pc = function(i6) { if (i6 instanceof t4.Ed) { if (!this.Bc()) { var s5 = this.D(); i6.Gh(s5, s5), this.Db(s5); } } else this.Bc() || (this.se(1), s5 = this.xz(), this.YB(i6.gp(s5))); }, s4.prototype.copyTo = function(i6) { if (i6.K() != 33) throw t4.i.O(); i6.wc(), this.la == null ? (i6.Pa(), i6.la = null, i6.kg(this.description)) : (i6.kg(this.description), i6.fJ(this.description.Be.length), s4.XD(this.la, i6.la, this.description.Be.length)); }, s4.prototype.Ja = function() { return new s4(this.description); }, s4.prototype.B = function() { return this.Bc(); }, s4.prototype.Bc = function() { return this.la == null || isNaN(this.la[0]) || isNaN(this.la[1]); }, s4.prototype.dn = function(t5) { t5.Pa(), this.description != t5.description && t5.kg(this.description), t5.$b(this); }, s4.prototype.A = function(t5) { this.Bc() ? t5.Pa() : (t5.v = this.la[0], t5.G = this.la[1], t5.C = this.la[0], t5.H = this.la[1]); }, s4.prototype.Ro = function(t5) { if (this.Bc()) t5.Pa(); else { var i6 = this.xz(); t5.v = i6.x, t5.G = i6.y, t5.Xe = i6.z, t5.C = i6.x, t5.H = i6.y, t5.Dg = i6.z; } }, s4.prototype.Vg = function(i6, s5) { var n4 = new t4.Oc(); return this.Bc() ? (n4.Pa(), n4) : (i6 = this.Vc(i6, s5), n4.pa = i6, n4.wa = i6, n4); }, s4.prototype.fJ = function(i6) { if (this.la == null) this.la = t4.P.lg(i6); else if (this.la.length < i6) { for (var s5 = this.la.slice(0), n4 = this.la.length; n4 < i6; n4++) s5[n4] = 0; this.la = s5; } }, s4.XD = function(t5, i6, s5) { if (0 < s5) for (s5 = 0; s5 < t5.length; s5++) i6[s5] = t5[s5]; }, s4.prototype.Nb = function(t5) { if (t5 == this) return true; if (!(t5 instanceof s4) || this.description != t5.description) return false; if (this.Bc()) return !!t5.Bc(); for (var i6 = 0, n4 = this.description.Be.length; i6 < n4; i6++) if (this.la[i6] != t5.la[i6]) return false; return true; }, s4.prototype.dc = function() { var i6 = this.description.dc(); if (!this.Bc()) for (var s5 = 0, n4 = this.description.Be.length; s5 < n4; s5++) { var h2 = this.la[s5]; h2 = t4.P.truncate(h2 ^ h2 >>> 32), i6 = t4.P.Vh(h2, i6); } return i6; }, s4.prototype.mg = function() { return null; }, s4; }(t4.ba); t4.Ta = i4; }(V || (V = {})), function(t4) { var i4 = function() { function t5(t6, i5, s4) { t6 !== void 0 && (this.x = t6, this.y = i5, this.z = s4); } return t5.construct = function(i5, s4, n4) { var h2 = new t5(); return h2.x = i5, h2.y = s4, h2.z = n4, h2; }, t5.prototype.L = function(t6, i5, s4) { this.x = t6, this.y = i5, this.z = s4; }, t5.prototype.lx = function() { this.z = this.y = this.x = 0; }, t5.prototype.normalize = function() { var t6 = this.length(); t6 == 0 && (this.x /= t6, this.y /= t6, this.z /= t6); }, t5.prototype.length = function() { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); }, t5.prototype.sub = function(i5) { return new t5(this.x - i5.x, this.y - i5.y, this.z - i5.z); }, t5.prototype.Ag = function(i5) { new t5(this.x * i5, this.y * i5, this.z * i5); }, t5.prototype.Sh = function(t6) { return this.x * t6.x + this.y * t6.y + this.z * t6.z; }, t5; }(); t4.Od = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5, i6, s4) { this.Iw = this.xA = null, this.Yf = i6, this.xT = i6.y - s4, this.wT = i6.y + s4, this.Gw = 0, this.Zz = t5, this.ra = s4, this.JT = s4 * s4, this.$z = s4 != 0, this.Nv = false; } return i5.prototype.result = function() { return this.Gw != 0 ? 1 : 0; }, i5.prototype.TM = function(i6) { return i6 = i6.ic(i6.fe(this.Yf, false)), t4.h.zc(i6, this.Yf) <= this.JT; }, i5.prototype.$E = function(t5) { if (!this.$z && (this.Zz && this.Yf.rb(t5.ac()) || this.Yf.rb(t5.xc()))) this.Nv = true; else if (t5.oa == this.Yf.y && t5.oa == t5.ma) { if (this.Zz && !this.$z) { var i6 = Math.max(t5.sa, t5.qa); this.Yf.x > Math.min(t5.sa, t5.qa) && this.Yf.x < i6 && (this.Nv = true); } } else { var s4 = false; if (i6 = Math.max(t5.sa, t5.qa), this.Yf.x > i6 ? s4 = true : this.Yf.x >= Math.min(t5.sa, t5.qa) && (s4 = 0 < t5.fq(true, this.Yf.y, this.Iw, null) && this.Iw[0] <= this.Yf.x), s4) { if (this.Yf.y == t5.ac().y) { if (this.Yf.y < t5.xc().y) return; } else if (this.Yf.y == t5.xc().y && this.Yf.y < t5.ac().y) return; this.Gw = this.Zz ? 1 ^ this.Gw : this.Gw + (t5.ac().y > t5.xc().y ? 1 : -1); } } }, i5.prototype.LI = function(t5) { var i6 = t5.Vg(0, 1); if (i6.pa > this.wT || i6.wa < this.xT) return false; if (this.$z && this.TM(t5)) return true; if (i6.pa > this.Yf.y || i6.wa < this.Yf.y) return false; if (this.xA == null && (this.xA = [null, null, null, null, null]), this.Iw == null && (this.Iw = [0, 0, 0]), 0 < (i6 = t5.ZF())) for (t5 = 0; t5 < i6; t5++) { var s4 = this.xA[t5].get(); if (this.$E(s4), this.Nv) return true; } else if (this.$E(t5), this.Nv) return true; return false; }, i5.JM = function(t5, s4, n4) { for (s4 = new i5(t5.Jn() == 0, s4, n4), t5 = t5.Ha(); t5.ab(); ) for (; t5.Ia(); ) if (n4 = t5.ia(), s4.LI(n4)) return -1; return s4.result(); }, i5.KM = function(s4, n4, h2, r2) { var e2 = new t4.l(); s4.yc(e2), e2.X(r2, r2); var o2 = new i5(s4.Jn() == 0, h2, r2); s4 = s4.Ha(); var a2 = new t4.l(); for (a2.L(e2), a2.C = h2.x + r2, a2.G = h2.y - r2, a2.H = h2.y + r2, r2 = (h2 = n4.GF(a2, r2)).next(); r2 != -1; r2 = h2.next()) if (s4.Wb(n4.ka(r2)), s4.Ia() && (r2 = s4.ia(), o2.LI(r2))) return -1; return o2.result(); }, i5.ym = function(s4, n4, h2) { if (s4.B()) return 0; var r2 = new t4.l(); if (s4.yc(r2), r2.X(h2, h2), !r2.contains(n4)) return 0; if ((r2 = s4.Cb) != null) { var e2 = r2.Gk; if (e2 != null) { if ((e2 = e2.To(n4.x, n4.y)) == 1) return 1; if (e2 == 0) return 0; } if ((r2 = r2.Gb) != null) return i5.KM(s4, r2, n4, h2); } return i5.JM(s4, n4, h2); }, i5.US = function(t5, s4, n4) { return s4.B() ? 0 : i5.ym(t5, s4.D(), n4); }, i5.Ol = function(t5, i6) { return !(16 > (t5 = t5.I())) && 2 * t5 + Math.log(t5) / Math.log(2) * i6 < 1 * t5 * i6; }, i5; }(); t4.Fg = i4; }(V || (V = {})), function(t4) { var i4 = function(t5) { function i5(i6) { return t5.call(this, true, i6) || this; } return Q(i5, t5), i5.prototype.Ja = function() { return new i5(this.description); }, i5.prototype.Eb = function() { return 2; }, i5.prototype.K = function() { return 1736; }, i5.prototype.rG = function(t6, i6, s4) { this.CS(t6, i6, s4); }, i5.prototype.jR = function() { this.zR(); }, i5; }(t4.Wk); t4.Ea = i4; }(V || (V = {})), function(t4) { !function(t5) { t5[t5.PiPOutside = 0] = "PiPOutside", t5[t5.PiPInside = 1] = "PiPInside", t5[t5.PiPBoundary = 2] = "PiPBoundary"; }(t4.LL || (t4.LL = {})), t4.jd = function() { function i4() { } return i4.EG = function(i5, s4, n4) { return (i5 = t4.Fg.US(i5, s4, n4)) == 0 ? 0 : i5 == 1 ? 1 : 2; }, i4.Zd = function(i5, s4, n4) { return (i5 = t4.Fg.ym(i5, s4, n4)) == 0 ? 0 : i5 == 1 ? 1 : 2; }, i4.OX = function(s4, n4, h2, r2, e2) { if (n4.length < h2 || e2.length < h2) throw t4.i.O(); for (var o2 = 0; o2 < h2; o2++) e2[o2] = i4.Zd(s4, n4[o2], r2); }, i4.mK = function(s4, n4, h2, r2, e2) { if (s4.K() == 1736) i4.OX(s4, n4, h2, r2, e2); else { if (s4.K() != 197) throw t4.i.ga("invalid_call"); var o2 = new t4.l(); s4.A(o2), i4.UM(o2, n4, h2, r2, e2); } }, i4.UM = function(i5, s4, n4, h2, r2) { if (s4.length < n4 || r2.length < n4) throw t4.i.O(); if (i5.B()) for (h2 = 0; h2 < n4; h2++) r2[h2] = 0; else for (i5.X(0.5 * -h2, 0.5 * -h2), i5.X(0.5 * h2, 0.5 * h2), h2 = 0; h2 < n4; h2++) i5.contains(s4[h2]) ? r2[h2] = 1 : i5.contains(s4[h2]) ? r2[h2] = 2 : r2[h2] = 0; }, i4.QX = function(t5, i5, s4, n4, h2) { for (var r2 = 0; r2 < s4; r2++) h2[r2] = t5.ss(i5[r2], n4) ? 2 : 0; }, i4.PX = function(t5, i5, s4, n4, h2) { var r2 = t5.Cb, e2 = null; r2 != null && (e2 = r2.Gk), r2 = s4; for (var o2 = 0; o2 < s4; o2++) if (h2[o2] = 1, e2 != null) { var a2 = i5[o2]; e2.To(a2.x, a2.y) == 0 && (h2[o2] = 0, r2--); } if (r2 != 0) for (t5 = t5.Ha(); t5.ab() && r2 != 0; ) for (; t5.Ia() && r2 != 0; ) for (e2 = t5.ia(), o2 = 0; o2 < s4 && r2 != 0; o2++) h2[o2] == 1 && e2.ss(i5[o2], n4) && (h2[o2] = 2, r2--); for (o2 = 0; o2 < s4; o2++) h2[o2] == 1 && (h2[o2] = 0); }, i4.nK = function(s4, n4, h2, r2, e2) { var o2 = s4.K(); if (o2 == 1607) i4.PX(s4, n4, h2, r2, e2); else { if (!t4.ba.zd(o2)) throw t4.i.ga("Invalid call."); i4.QX(s4, n4, h2, r2, e2); } }, i4; }(); }(V || (V = {})), function(t4) { var i4 = function(t5) { function i5(i6, s4) { if (arguments.length == 2) { var n4 = t5.call(this, false, i6.description) || this; n4.nf(i6), n4.lineTo(s4); } else n4 = t5.call(this, false, i6) || this; return n4; } return Q(i5, t5), i5.prototype.Ja = function() { return new i5(this.description); }, i5.prototype.Eb = function() { return 1; }, i5.prototype.K = function() { return 1607; }, i5.prototype.rG = function(t6, i6, s4) { this.DS(t6, i6, s4); }, i5; }(t4.Wk); t4.Ua = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.prototype.progress = function() { return true; }, i5.Bp = function(i6) { if (i6 != null && !i6.progress(-1, -1)) throw t4.i.QC(); }, i5; }(); t4.np = i4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.JK || (t4.JK = {}))[i4.clipWithInputHorizon = 1] = "clipWithInputHorizon", i4[i4.clipWithOutputHorizon = 2] = "clipWithOutputHorizon"; var s4 = function() { function t5() { this.Mg = 3, this.Xu = this.Lr = NaN; } return t5.prototype.HW = function(t6) { this.KB(1, t6); }, t5.prototype.IW = function(t6) { this.KB(2, t6); }, t5.prototype.aS = function() { return this.ks(1); }, t5.prototype.bS = function() { return this.ks(2); }, t5.prototype.KB = function(t6, i5) { this.Mg = i5 ? this.Mg | t6 : this.Mg & ~t6; }, t5.prototype.ks = function(t6) { return (this.Mg & t6) != 0; }, t5.prototype.Pf = function() { var i5 = new t5(); return i5.Lr = this.Lr, i5.Xu = this.Xu, i5.Mg = this.Mg, i5; }, t5; }(); t4.sC = s4, function(t5) { t5[t5.Dont_Geonomalize_Polygon = 2147483648] = "Dont_Geonomalize_Polygon", t5[t5.Dont_Adjust_At_Poles = 1073741824] = "Dont_Adjust_At_Poles"; }(t4.KK || (t4.KK = {})); var n4 = function() { function t5() { this.Mg = 0; } return t5.prototype.KB = function(t6, i5) { this.Mg = i5 ? this.Mg | t6 : this.Mg & ~t6; }, t5.prototype.ks = function(t6) { return (this.Mg & t6) != 0; }, t5.ig = function(i5) { var s5 = new t5(); return s5.Mg = i5.Mg, s5; }, t5.prototype.gM = function(t6) { this.Mg = t6.Mg; }, t5; }(); t4.sY = n4; var h2 = function() { function i5(i6, s5, n5) { this.ef = i6, this.Zf = s5, this.Vf = new t4.l(), this.Vf.L(n5), this.sT = i6.dc() + s5.dc() + this.Vf.dc().toString(); } return i5.prototype.dc = function() { return this.sT; }, i5.prototype.Nb = function(t5) { return this == t5 || this.ef.Nb(t5.ef) && this.Zf.Nb(t5.Zf) && this.Vf.Nb(t5.Vf); }, i5; }(); t4.xY = h2, h2 = function() { function i5() { this.Zf = this.ef = null, this.lH = new s4(), this.mH = new n4(), this.yw = this.Xf = null, this.ow = this.Un = true; } return i5.Pr = function(t5, s5, n5, h3) { var r2; h3 === void 0 && (h3 = null), r2 === void 0 && (r2 = null); var e2 = new i5(); return e2.rp(t5, s5, n5, h3, r2), e2; }, i5.prototype.rp = function(i6, s5, n5, h3, r2) { if (i6 == null || s5 == null) throw t4.i.ga("invalidArgument"); if (this.ef = i6, this.Zf = s5, this.ow = this.Un = false, h3 != null && (this.lH = h3.Pf()), r2 != null && this.mH.gM(r2), r2 = false, s5.Tb() == 1 && h3 != null && (h3 = h3.Lr, isNaN(h3) || h3 == 0 || (r2 = true)), i6 == s5) this.Un = !r2, this.ow = true; else { h3 = i6.Tb(); var e2 = s5.Tb(); if (h3 == 0 || e2 == 0) { if (n5 != null) throw t4.i.O(); i6.Id() != null && s5.Id() != null && (this.Un = i6.Id().Nb(s5.Id())); } else h3 == 3 || e2 == 3 ? this.Un = i6.Nb(s5) : this.ef.dS(this.Zf) ? this.Un = !r2 : this.Un = false, this.Xf = n5, this.Xf != null && this.Xf.ix(), this.ow = (this.Xf == null || this.Xf.count() == 0) && this.ef.tc().Nb(this.Zf.tc()); } this.gY(); }, i5.prototype.isIdentity = function() { return this.Un; }, i5.prototype.hR = function() { return this.lH.Pf(); }, i5.prototype.Nb = function(t5) { return t5 == this || !!(t5 instanceof i5 && this.ef.Nb(t5.ef) && this.Zf.Nb(t5.Zf)) && (this.Xf == t5.Xf || !(this.Xf == null || t5.Xf == null || !this.Xf.Nb(t5.Xf))); }, i5.prototype.gY = function() { this.yw = new t4.du(this); }, i5; }(), t4.xr = h2; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.Ep = function(t5) { return t5 * i5.gW; }, i5.mx = function(t5, s4) { return i5.aP(s4 - t5); }, i5.bP = function(i6) { return -360 <= i6 && 720 > i6 ? (0 > i6 ? i6 += 360 : 360 <= i6 && (i6 -= 360), i6) : (0 > (i6 = t4.mc.LK(i6)) && (i6 += 360), i6); }, i5.aP = function(t5) { return 180 < (t5 = i5.bP(t5)) && (t5 -= 360), t5; }, i5.gW = 57.29577951308232, i5; }(); t4.sr = i4, t4.Jh = function() { function s4() { } return s4.nj = function(i5, s5) { var n4 = new t4.l(); i5.A(n4); var h2 = t4.cb.ih(s5), r2 = new t4.l(); return r2.L(h2), r2.v = n4.v, r2.C = n4.C, r2.X(0.01 * r2.da(), 0), s5 = t4.ta.Xd(s5, n4, false), r2.contains(n4) ? i5 : t4.Vd.clip(i5, r2, s5, 0); }, s4.ms = function(i5, n4, h2, r2, e2) { if (!t4.cb.Xc(n4)) throw t4.i.O(); var o2 = t4.ta.mj(n4, i5, false), a2 = t4.cb.ih(n4), u2 = t4.cb.tc(n4), f2 = u2.Id().ci, c2 = t4.cb.xv(u2); u2 = t4.cb.gv(u2), c2 *= 2 - c2; var l2 = new t4.Oc(); a2.en(l2); var p2 = [[0, 0], [0, 0]]; if (t4.Gg.Tb(n4) == 2 ? r2 ? (p2[0][0] = s4.an(e2, l2), p2[0][1] = a2.Lp(), t4.cb.wt(), a2 = p2[0][0] * f2) : (p2[0][0] = a2.hk(), p2[0][1] = e2, t4.cb.wt(), a2 = p2[0][1] * f2) : a2 = e2 * f2, !r2 && a2 != 0) throw t4.i.O(); var v2 = new t4.ha(), y2 = new t4.hd(); i5 = y2.Ib(i5); for (var b2 = [0], d2 = new t4.h(), g2 = new t4.h(), w2 = new t4.h(), x2 = new t4.h(), m2 = new t4.h(), j2 = new t4.h(), k2 = y2.Ob(i5); k2 != -1; k2 = y2.Sb(k2)) { var M2 = y2.Ya(k2); y2.D(M2, w2); for (var z2 = false, A2 = M2 = y2.V(M2); A2 != -1; A2 = y2.V(A2)) { if (A2 == M2) { if (z2) break; z2 = true; } if (y2.D(A2, x2), r2 && o2 < e2 - w2.x && x2.x - e2 > o2 || o2 < e2 - x2.x && w2.x - e2 > o2 || !r2 && o2 < -w2.y && x2.y > o2 || o2 < -x2.y && w2.y > o2) do { if (!(Math.abs(w2.x - x2.x) >= 0.5 * l2.S())) { if (t4.Gg.Tb(n4) == 2 ? (p2[0][0] = s4.an(w2.x, l2), p2[0][1] = w2.y, p2[1][0] = s4.an(x2.x, l2), p2[1][1] = x2.y, t4.cb.WV(), m2.x = p2[0][0] * f2, m2.y = p2[0][1] * f2, j2.x = p2[1][0] * f2, j2.y = p2[1][1] * f2) : (m2.x = w2.x * f2, m2.y = w2.y * f2, j2.x = x2.x * f2, j2.y = x2.y * f2), j2.x = 6.283185307179586 * (x2.x - w2.x) / l2.S() + m2.x, r2) { if (g2.x = a2, g2.y = s4.Iz(u2, c2, m2, j2, a2, h2), isNaN(g2.y)) break; } else { if (g2.x = s4.Gz(u2, c2, m2, j2, h2), isNaN(g2.x)) break; g2.y = 0; } t4.kb.xd(u2, c2, m2.x, m2.y, j2.x, j2.y, v2, null, null, h2); var N2 = v2.u; t4.kb.xd(u2, c2, m2.x, m2.y, g2.x, g2.y, v2, null, null, h2); var I2 = v2.u; t4.Gg.Tb(n4) == 2 ? (p2[0][0] = g2.x / f2, p2[0][1] = g2.y / f2, t4.cb.WQ(), r2 ? (d2.y = p2[0][1], d2.x = e2) : (d2.x = s4.qs(p2[0][0], w2.x, x2.x, l2), d2.y = e2)) : r2 ? (d2.x = e2, d2.y = g2.y / f2) : (d2.x = s4.qs(g2.x / f2, w2.x, x2.x, l2), d2.y = e2), b2[0] = 0 < N2 ? t4.P.Sk(I2 / N2, 0, 1) : 0.5, b2[0] != 0 && b2[0] != 1 && (N2 = y2.Na(A2), y2.Wl(N2, b2, 1), y2.Db(y2.V(N2), d2.x, d2.y)); } } while (0); w2.N(x2); } } return y2.Ke(i5); }, s4.Gn = function(i5, n4, h2, r2, e2) { if (i5.B()) return i5; var o2 = t4.cb.bf(n4); return s4.Jp(i5, h2 - 180 * o2, 360 * o2, n4, r2, e2, true); }, s4.Iz = function(i5, n4, h2, r2, e2, o2) { if (3.141592653589793 <= Math.abs(h2.x - r2.x) || !s4.Tn(h2.x, r2.x, e2)) return NaN; if (h2.x > r2.x) var a2 = r2; else a2 = h2, h2 = r2; r2 = new t4.ha(0); var u2 = new t4.ha(0), f2 = new t4.ha(0); t4.kb.xd(i5, n4, a2.x, a2.y, h2.x, h2.y, u2, r2, null, o2); var c2 = u2.u, l2 = 0, p2 = 1, v2 = new t4.h(); for (v2.N(a2); c2 * (p2 - l2) > 1e-12 * i5; ) { var y2 = 0.5 * (l2 + p2); if (t4.kb.qj(i5, n4, a2.x, a2.y, c2 * y2, r2.u, u2, f2, o2), v2.x = u2.u, v2.y = f2.u, v2.x == e2) break; if (s4.Tn(a2.x, v2.x, e2)) p2 = y2; else { if (!s4.Tn(h2.x, v2.x, e2)) return NaN; l2 = y2; } } return v2.y; }, s4.Tn = function(t5, s5, n4) { return t5 = i4.Ep(t5), s5 = i4.mx(t5, i4.Ep(s5)), (n4 = i4.mx(t5, i4.Ep(n4))) == 0 || 0 < s5 && 0 < n4 && n4 <= s5 || 0 > s5 && 0 > n4 && n4 >= s5; }, s4.an = function(t5, i5) { var s5 = i5.wa - i5.pa; return i5.Kt(t5 - Math.floor((t5 - i5.pa) / s5) * s5); }, s4.qs = function(i5, s5, n4, h2) { var r2 = new t4.Oc(); for (r2.L(s5, n4), n4 = h2.S(), i5 = Math.floor((i5 - s5) / n4) * n4 + i5, r2 = r2.tf(); Math.abs(i5 - r2) > Math.abs(i5 + n4 - r2); ) i5 += n4; return i5; }, s4.Gz = function(i5, s5, n4, h2, r2) { if (n4.y > h2.y) var e2 = h2; else e2 = n4, n4 = h2; if ((h2 = new t4.Oc()).L(e2.y, n4.y), !h2.contains(0) || 3.141592653589793 <= Math.abs(e2.x - n4.x)) return NaN; if (e2.x == n4.x) return e2.x; var o2 = new t4.ha(0), a2 = new t4.ha(0), u2 = new t4.ha(0); t4.kb.xd(i5, s5, e2.x, e2.y, n4.x, n4.y, a2, o2, null, r2); var f2 = a2.u, c2 = 0, l2 = 1, p2 = new t4.h(); for (p2.N(e2); f2 * (l2 - c2) > 1e-12 * i5; ) { var v2 = 0.5 * (c2 + l2); if (t4.kb.qj(i5, s5, e2.x, e2.y, f2 * v2, o2.u, a2, u2, r2), p2.x = a2.u, p2.y = u2.u, h2.L(e2.y, p2.y), p2.y == 0) break; if (h2.contains(0)) l2 = v2; else { if (h2.L(n4.y, p2.y), !h2.contains(0)) return NaN; c2 = v2; } } return p2.x; }, s4.Jp = function(i5, s5, n4, h2, r2, e2, o2) { var a2 = new t4.l(); if (i5.A(a2), a2.B()) return i5; var u2 = new t4.Oc(); a2.en(u2); var f2 = new t4.Oc(); if (f2.L(s5, s5 + n4), f2.contains(u2) && f2.wa != u2.wa) return i5; var c2 = new t4.l(); c2.L(a2); var l2 = i5.K(); if (l2 == 33) return ((a2 = (c2 = r2 ? i5 : i5.Pf()).Ng()) < f2.pa || a2 >= f2.wa || o2 && a2 == f2.wa) && (a2 += Math.ceil((f2.pa - a2) / n4) * n4, a2 = f2.Kt(a2), c2.XB(a2)), c2; if (l2 == 550) { for (h2 = (c2 = r2 ? i5 : i5.Pf()).vb(0), l2 = 2 * c2.I(), i5 = false, r2 = 0; r2 < l2; r2 += 2) ((a2 = h2.read(r2)) < f2.pa || a2 >= f2.wa || o2 && a2 == f2.wa) && (i5 = true, a2 += Math.ceil((f2.pa - a2) / n4) * n4, a2 = f2.Kt(a2), h2.write(r2, a2)); return i5 && c2.Qc(1993), c2; } if (f2.contains(u2)) return i5; if (l2 == 197) return n4 = r2 ? i5 : i5.Pf(), a2.Fa(c2), n4.Yo(a2), n4; var p2 = 0.1 * Math.max(a2.da(), a2.S()); c2.X(0, p2), o2 = i5, f2 = h2.Yd(0), i5 = t4.Ih.local(), r2 = new t4.Ed(); for (; ; ) { var v2 = Math.floor((u2.pa - s5) / n4), y2 = Math.ceil((u2.wa - s5) / n4); if (!(3 < y2 - v2)) break; v2 = Math.floor(0.5 * (y2 + v2)), c2.v = a2.v - p2, c2.C = s5 + n4 * v2; var b2 = t4.Vd.clip(o2, c2, f2, e2); c2.v = c2.C, c2.C = a2.C + p2; var d2 = t4.Vd.clip(o2, c2, f2, e2); r2.gg((v2 - y2) * n4, 0), d2.Pc(r2), l2 == 1736 ? o2 = i5.W(b2, d2, h2, null) : (o2 = b2).add(d2, false), o2.A(a2), a2.en(u2); } for (c2.v = s5, c2.C = s5 + n4, (s5 = new t4.l()).L(c2), s5.X(f2, 0), (s5 = Math.floor((a2.v - c2.v) / n4) * n4) != 0 ? (c2.move(s5, 0), r2.gg(-s5, 0)) : r2.LB(), s5 = l2 == 1607 ? new t4.Ua(o2.description) : new t4.Ea(o2.description), e2 = new t4.l(), u2 = new t4.l(); a2.C > c2.v; ) (p2 = t4.Vd.clip(o2, c2, f2, 0)).A(u2), (l2 == 1607 ? !p2.B() && (u2.S() > f2 || u2.da() > f2) : !p2.B() && (l2 != 1736 || u2.S() > f2)) && (p2.Pc(r2), p2.A(u2), s5.A(e2), e2.X(f2, f2), e2.isIntersecting(u2) && l2 == 1736 ? s5 = i5.W(s5, p2, h2, null) : s5.add(p2, false)), c2.move(n4, 0), r2.shift(-n4, 0); return s5; }, s4.QI = function(i5, s5, n4, h2) { var r2 = new t4.de(n4.description); r2.Gd(n4, 0, -1), r2 = t4.cb.Bh(r2, i5, s5); var e2 = n4.I(); if (h2.Pa(), !t4.cb.Xc(i5) || e2 != r2.I()) return false; var o2 = new t4.l(); n4.A(o2); var a2 = new t4.l(); if (r2.A(a2), o2 = o2.S(), a2 = a2.S(), o2 != 0 && a2 != 0) { if (a2 /= o2, i5 = t4.cb.ih(s5).S() / t4.cb.ih(i5).S(), 1e-10 < Math.abs(a2 / i5 - 1)) return false; } else if (o2 != 0 || a2 != 0) return false; for (h2.add(n4, false), n4 = 0; n4 < e2; n4++) i5 = r2.Oa(n4), h2.Db(n4, i5); return true; }, s4.Jz = function() { throw t4.i.Fe(); }, s4; }(); }(V || (V = {})), function(t4) { var i4, s4, n4; (s4 = i4 = t4.ui || (t4.ui = {}))[s4.Clip = 0] = "Clip", s4[s4.DontClip = 1] = "DontClip", s4[s4.PannableFold = 2] = "PannableFold", function(t5) { t5[t5.Geodesic = 0] = "Geodesic", t5[t5.Loxodrome = 1] = "Loxodrome", t5[t5.GreatElliptic = 2] = "GreatElliptic", t5[t5.NormalSection = 3] = "NormalSection", t5[t5.ShapePreserving = 4] = "ShapePreserving"; }(n4 = t4.QK || (t4.QK = {})), t4.Ab = function() { function s5() { } return s5.zv = function(i5, s6, n5) { if (n5 || 0 < s6) { for (i5 = i5.toString(t4.Tc.PE_STR_NAME_CANON | t4.Tc.PE_STR_AUTH_NONE), s6 = [], n5 = 0; n5 < i5.length; n5++) s6[n5] = "a" <= i5[n5] && "z" >= i5[n5] ? s6[n5] = i5[n5].toUpperCase() : i5[n5]; return s6.join(); } return i5.toString(t4.Tc.PE_STR_AUTH_TOP); }, s5.wr = function(i5, s6, n5, h2) { var r2 = h2.length, e2 = n5.I(); if (e2 != 0) { var o2 = n5.vb(0), a2 = Math.min(e2, r2), u2 = 0, f2 = i5.gh(); isNaN(s6) && (s6 = 0); for (var c2 = i5.Xc(), l2 = 179 * (i5 = c2 ? i5.tc().Le().S() : 0) / 360; 0 < e2; ) { if (o2.oB(u2 << 1, a2, h2), t4.gj.projToGeogCenter(f2, a2, h2, s6), c2) for (var p2 = 0; p2 < a2; p2++) { var v2 = h2[p2][0] - s6, y2 = t4.mc.sign(v2), b2 = o2.read(2 * (u2 + p2)); 0 > y2 * t4.mc.sign(b2) && Math.abs(v2) > l2 && (h2[p2][0] += -y2 * i5); } o2.oC(u2 << 1, a2, h2), u2 += a2, e2 -= a2, a2 = Math.min(e2, r2); } n5.Qc(1993); } }, s5.CL = function(i5, s6, n5, h2) { var r2 = 0, e2 = i5.gh(); isNaN(r2) && (r2 = 0); var o2 = i5.Xc(), a2 = i5.bf(); i5 = 360 * a2, a2 *= 179; for (var u2 = h2.length, f2 = 0; f2 < n5; ) { for (var c2 = f2; c2 < n5 && s6[c2].isNaN(); ++c2) f2++; var l2 = Math.min(u2, n5 - f2); if (0 < l2) { c2 = 1; for (var p2 = f2 + 1; c2 < l2; ++c2, ++p2) if (s6[p2].isNaN()) { l2 = c2; break; } if (t4.ta.Ey(h2, s6, f2, l2), t4.gj.projToGeogCenter(e2, l2, h2, r2), o2) for (c2 = 0, p2 = f2; c2 < l2; ++c2, ++p2) { var v2 = s6[p2].x, y2 = h2[c2][0] - r2, b2 = t4.mc.sign(y2); 0 > b2 * t4.mc.sign(v2) && Math.abs(y2) > a2 && (h2[c2][0] -= b2 * i5); } t4.ta.Dy(s6, f2, h2, l2), f2 += l2; } } }, s5.Kx = function(i5, s6, n5) { var h2 = n5.length, r2 = s6.I(); if (!(1 > r2)) { var e2 = s6.vb(0), o2 = Math.min(r2, h2), a2 = 0, u2 = i5.gh(), f2 = i5.Xc(), c2 = f2 ? i5.Le().S() : 0, l2 = 179 * c2 / 360, p2 = 0; for (f2 && (p2 = i5.Bi()); 0 < r2; ) { if (e2.oB(a2 << 1, o2, n5), t4.gj.geogToProj(u2, o2, n5), f2) for (i5 = 0; i5 < o2; i5++) { var v2 = n5[i5][0], y2 = t4.mc.sign(v2), b2 = e2.read(2 * (a2 + i5)) - p2; 0 > y2 * t4.mc.sign(b2) && Math.abs(v2) > l2 && (n5[i5][0] += -y2 * c2); } e2.oC(a2 << 1, o2, n5), a2 += o2, r2 -= o2, o2 = Math.min(r2, h2); } s6.Qc(1993); } }, s5.BL = function(i5, s6, n5, h2) { if (n5 != 0) { var r2 = i5.gh(), e2 = i5.Xc(), o2 = e2 ? i5.Le().S() : 0, a2 = 179 * o2 / 360, u2 = 0; for (e2 && (u2 = i5.Bi()), i5 = 0; i5 < n5; ) { for (var f2 = i5; f2 < n5 && s6[f2].isNaN(); ++f2) i5++; var c2 = Math.min(h2.length, n5 - i5); if (0 < c2) { f2 = 1; for (var l2 = i5 + 1; f2 < c2; ++f2, ++l2) if (s6[l2].isNaN()) { c2 = f2; break; } if (t4.ta.Ey(h2, s6, i5, c2), t4.gj.geogToProj(r2, c2, h2), e2) for (f2 = 0, l2 = i5; f2 < c2; f2++) { var p2 = h2[f2][0], v2 = t4.mc.sign(p2); 0 > v2 * t4.mc.sign(s6[l2].x - u2) && Math.abs(p2) > a2 && (h2[f2][0] -= v2 * o2); } t4.ta.Dy(s6, i5, h2, c2), i5 += c2; } } } }, s5.vr = function(i5, s6, n5, h2) { var r2 = s6.I(); if (r2 != 0) { var e2 = s6.vb(0), o2 = i5.ef, a2 = i5.Zf, u2 = o2.tc().Sp(), f2 = a2.tc().Sp(), c2 = o2.bf(), l2 = a2.bf(); if ((i5 = i5.Xf) == null || i5.count() == 0) { for (n5 = u2 / f2, h2 = (o2.Wp() - a2.Wp()) * l2, f2 = -90 * c2, i5 = 90 * c2, u2 = false, l2 = 1, o2 = 2 * r2; l2 < o2; ) c2 = e2.get(l2), (a2 = t4.P.Sk(c2, f2, i5)) != c2 && (e2.set(l2, a2), u2 = true), l2 += 2; if (h2 != 0 || n5 != 1) for (u2 = true, f2 = new t4.h(), l2 = 0; l2 < r2; l2++) e2.uc(2 * l2, f2), f2.x *= n5, f2.x += h2, f2.y *= n5, e2.Vt(2 * l2, f2); u2 && s6.Qc(1993); } else { o2 = h2.length, a2 = Math.min(r2, o2); var p2 = t4.P.lg(a2), v2 = null, y2 = 0, b2 = NaN, d2 = NaN, g2 = 360 * l2, w2 = l2 / c2; n5 && (d2 = 90 * l2, b2 = 89.9 * c2, v2 = t4.P.lg(a2)); for (var x2 = true, m2 = 0; r2 != 0; ) { for (c2 = false, e2.oB(y2 << 1, a2, h2), l2 = 0; l2 < a2; l2++) p2[l2] = h2[l2][0]; if (n5) for (l2 = 0; l2 < a2; l2++) { var j2 = Math.abs(h2[l2][1]) - b2; 0 < j2 && (c2 = h2[l2][1], h2[l2][1] = t4.mc.Dn(b2, c2), v2[l2] = t4.mc.Dn(j2, c2), c2 = true); } for (l2 = h2[0][0], i5.transform(h2, a2, u2, f2), x2 && (m2 = h2[0][0] - w2 * l2, x2 = false), l2 = 0; l2 < a2; l2++) j2 = h2[l2][0] - p2[l2] * w2 - m2, 200 < Math.abs(j2) && (h2[l2][0] = 0 < j2 ? h2[l2][0] - g2 : h2[l2][0] + g2); if (c2) { for (l2 = 0; l2 < a2; l2++) v2[l2] != 0 && (h2[l2][1] += w2 * v2[l2], h2[l2][1] > d2 ? h2[l2][1] = d2 : h2[l2][1] < -d2 && (h2[l2][1] = -d2)); for (c2 = 0; c2 < a2; c2++) v2[c2] = 0; } e2.oC(y2 << 1, a2, h2), y2 += a2, r2 -= a2, a2 = Math.min(r2, o2); } s6.Qc(1993); } } }, s5.AL = function(i5, s6, n5, h2) { if (i5.ow) h2 = 90 * i5.ef.bf(), t4.ta.YJ(s6, n5, -h2, h2); else { var r2 = i5.Xf, e2 = i5.ef, o2 = i5.Zf; i5 = e2.Zr(); var a2 = o2.Zr(), u2 = e2.bf(), f2 = 90 * u2, c2 = o2.bf(); if (r2 == null || r2.count() == 0) { if (h2 = i5 / a2, r2 = (e2.Wp() - o2.Wp()) * c2, t4.ta.YJ(s6, n5, -f2, f2), r2 != 0 || h2 != 1) for (c2 = 0; c2 < n5; c2++) s6[c2].x *= h2, s6[c2].x += r2, s6[c2].y *= h2; } else { e2 = Math.min(n5, h2.length), f2 = t4.P.lg(e2), o2 = 360 * c2, u2 = c2 / u2; for (var l2 = true, p2 = 0, v2 = 0; n5 != 0; ) { for (c2 = 0; c2 < e2; c2++) f2[c2] = s6[c2 + v2].x; for (c2 = s6[0].x, t4.ta.Ey(h2, s6, v2, e2), r2.transform(h2, e2, i5, a2), t4.ta.Dy(s6, v2, h2, e2), l2 && (p2 = s6[0].x - u2 * c2, l2 = false), c2 = 0; c2 < e2; c2++) { var y2 = s6[v2 + c2].x - f2[c2] * u2 - p2; 200 < Math.abs(y2) && (s6[v2 + c2].x = 0 < y2 ? s6[v2 + c2].x - o2 : s6[v2 + c2].x + o2); } v2 += e2, n5 -= e2, e2 = Math.min(n5, h2.length); } } } }, s5.fv = function(t5, i5) { return t5 = t5.ih(), isNaN(i5) || t5.Lu(i5, 0), t5; }, s5.OQ = function(i5, n5, h2, r2, e2, o2, a2, u2) { for (var f2 = s5.fv(r2, e2), c2 = f2.S(), l2 = c2 / 360, p2 = s5.jE * l2, v2 = i5.vb(0), y2 = n5.Xc(), b2 = y2 ? c2 / n5.Le().S() : 0, d2 = false, g2 = new t4.Ea(h2.description), w2 = 0, x2 = h2.ea(); w2 < x2; ++w2) { var m2 = y2, j2 = new t4.Ua(h2.description); if (j2.addPath(h2, w2, true), a2 != 0) { var k2 = s5.JD(true, j2, f2.H - u2, f2.H, a2); (d2 = d2 || k2) && (m2 = false); } var M2 = -1; m2 && (M2 = i5.Ca(w2)); var z2 = j2.vb(0), A2 = j2.I(), N2 = 0, I2 = z2.read(0), P2 = 0; k2 = 3 * r2.Yd(0); var C2 = false, B2 = new t4.h(); B2.Sc(); var D2 = new t4.h(); D2.Sc(); for (var q2 = false, G2 = 1; G2 < A2; ++G2) { var F2 = t4.h.construct(z2.Bg(2 * G2), z2.Bg(2 * G2 + 1)), E2 = F2.x, T2 = E2 + N2, S2 = T2 - I2; if (F2.x = T2, Math.abs(S2) > p2) { if (m2) { var O2 = M2 + (G2 + 1 < A2 ? G2 : 0), H2 = v2.read(2 * (M2 + G2 - 1)); O2 = (v2.read(2 * O2) - H2) * b2, Math.abs(S2 - O2) > 1 * l2 && (m2 = false); } m2 || (T2 = E2 + (N2 -= t4.mc.Dn(c2, T2 - I2)), ++P2, q2 = N2 != 0, F2.x = T2); } else C2 || t4.ta.uG(D2, B2, F2, k2) && (C2 = true); q2 && z2.write(2 * G2, T2), I2 = T2, D2.N(B2), B2.N(F2); } 0 < P2 && j2.Qc(1993), m2 = j2.Oa(0), A2 = j2.Oa(A2 - 1), j2 = t4.h.ub(m2, A2) < k2 ? s5.oQ(j2, r2, e2, o2, C2) : s5.pQ(i5, w2, j2, r2, e2), g2.add(j2, false); } return e2 = r2.Yd(0), h2 = f2.S() / 180, s5.Lt(g2, f2, 0.1 * e2, false), g2 = g2 != (e2 = t4.ti.clip(g2, f2, e2, h2, o2)), i5 = i5.He(), a2 = 0, 0 < (u2 = e2.He()) && 0 > i5 ? a2 = 1 : 0 >= u2 && 0 < i5 && (u2 == 0 ? (u2 = NaN, n5.Tb() == 2 ? u2 = n5.ol().He() : n5.Tb() == 1 && (u2 = n5.Le().qF()), i5 > 0.99 * u2 && (a2 = -1)) : a2 = -1), a2 != 0 && ((n5 = new t4.Ea(e2.description)).vp(f2), (n5 = t4.Zl.local().W(n5, h2, o2)).add(e2, false), g2 = true, e2 = n5), g2 && (e2 = t4.$l.local().W(e2, r2, false, o2)), e2; }, s5.pQ = function(i5, n5, h2, r2, e2) { var o2 = h2.I(), a2 = h2.Oa(0), u2 = h2.Oa(o2 - 1); e2 = (r2 = s5.fv(r2, e2)).S(), a2 = t4.mc.sign(u2.x - a2.x); var f2 = new t4.l(); h2.yc(f2); var c2 = r2.hk(); if (u2 = c2 - e2, c2 += e2, 0 <= a2) { var l2 = Math.ceil((u2 - f2.v) / e2); for (l2 *= e2; u2 > f2.v + l2; ) l2 += e2; for (; u2 < f2.C + l2; ) l2 -= e2; var p2 = l2; 720 < f2.S() && (c2 = u2 + 360 * Math.ceil(f2.S() / 360)); } else { for (l2 = Math.ceil((c2 - f2.C) / e2), l2 *= e2; c2 < f2.C + l2; ) l2 -= e2; for (; c2 > f2.v + l2; ) l2 += e2; p2 = l2, 720 < f2.S() && (u2 = c2 - 360 * Math.ceil(f2.S() / 360)); } l2 = a2 * e2; var v2 = t4.l.construct(f2.v, f2.G, f2.C, f2.H); v2.move(p2, 0); var y2 = new t4.Ed(); y2.gg(p2, 0), h2.Pc(y2), (f2 = new t4.Ua(h2.description)).add(h2, false), p2 = h2.Oa(o2 - 1), e2 = 0; for (var b2 = f2.Oa(0).x, d2 = 0; 0 < a2 ? v2.C < c2 : v2.v > u2; ) 1024 <= d2 && (d2 = 0), v2.move(l2, 0), y2.Lb = l2, h2.Pc(y2), b2 += l2, r2.v <= b2 && r2.C >= b2 && (e2 = f2.I() - 1), h2.Db(0, p2), p2 = h2.Oa(o2 - 1), f2.Fr(h2, 0, 0, o2 - 1, false); return h2 = new t4.Ea(f2.description), o2 = 0 < i5.Kr(n5), h2.add(f2, false), i5 = f2.Oa(0), u2 = f2.Oa(f2.I() - 1), n5 = h2.ea() - 1, (0 > a2 ? o2 : !o2) ? (a2 = t4.h.construct(u2.x, r2.H), h2.Ei(a2), a2 = t4.h.construct(r2.hk(), r2.H), h2.Ei(a2), r2 = t4.h.construct(i5.x, r2.H)) : (a2 = t4.h.construct(u2.x, r2.G), h2.Ei(a2), a2 = t4.h.construct(r2.hk(), r2.G), h2.Ei(a2), r2 = t4.h.construct(i5.x, r2.G)), h2.Ei(r2), h2.rG(0, n5, 0), h2.eO(e2), h2; }, s5.oQ = function(i5, n5, h2, r2, e2) { var o2 = new t4.Ea(i5.description); o2.add(i5, false), o2.xB(0, o2.I() - 1); var a2 = new t4.l(); o2.yc(a2); var u2 = (h2 = s5.fv(n5, h2)).S(), f2 = Math.ceil((h2.v - a2.v) / u2); for (f2 *= u2; h2.v > a2.v + f2; ) f2 += u2; for (; h2.v < a2.C + f2; ) f2 -= u2; if ((f2 += u2) != 0) { a2.move(f2, 0); var c2 = new t4.Ed(); c2.gg(f2, 0), o2.Pc(c2); } if (h2.v <= a2.v && h2.C > a2.C) return e2 && (e2 = o2.He(), n5 = (o2 = t4.$l.local().W(o2, n5, true, r2)).He(), (n5 = t4.mc.sign(e2) != t4.mc.sign(n5)) && o2.iJ()), o2; for ((i5 = new t4.Ea(i5.description)).add(o2, false), e2 = e2 || a2.S() > u2 - n5.Yd(0); a2.v < h2.C; ) a2.move(u2, 0), (c2 = new t4.Ed()).gg(u2, 0), o2.Pc(c2), i5.add(o2, false); return e2 && (e2 = i5.He(), i5.Zo(1), n5 = (i5 = t4.$l.local().W(i5, n5, true, r2)).He(), (n5 = t4.mc.sign(e2) != t4.mc.sign(n5)) && i5.iJ()), i5; }, s5.JD = function(i5, s6, n5, h2, r2) { for (var e2 = s6.vb(0), o2 = s6.I(), a2 = false, u2 = 0; u2 < o2; u2++) { var f2 = t4.h.construct(e2.Bg(2 * u2), e2.Bg(2 * u2 + 1)); if ((1 & r2) != 0 && f2.y >= n5) { a2 = true; break; } if ((2 & r2) != 0 && f2.y <= -n5) { a2 = true; break; } } if (!a2) return false; e2 = false, i5 && (e2 = s6.On(0)), o2 = (i5 = new t4.hd()).Ib(s6), a2 = i5.Ob(o2); var c2 = -1, l2 = true, p2 = new t4.h(); p2.Sc(), u2 = new t4.Ta(); for (var v2 = -1, y2 = i5.Ya(a2); y2 != -1; y2 = i5.V(y2)) { f2 = i5.Oa(y2); var b2 = (1 & r2) != 0 && 90 <= f2.y ? 1 : 0; if (b2 |= (2 & r2) != 0 && f2.y <= -n5 ? 2 : 0, 0 < c2 && c2 != b2) { if (p2.x != f2.x) { p2.x = f2.x, i5.Xi(i5.Na(y2), u2); var d2 = i5.yj(a2, y2, u2); i5.mf(d2, p2); } if (e2) for (v2 = v2 != -1 ? i5.V(v2) : i5.Ya(a2), d2 = i5.Na(y2); v2 != d2; ) v2 = i5.pd(v2, false); v2 = -1; } 0 < b2 && (f2.y = t4.mc.Dn(h2, f2.y), i5.mf(y2, f2), l2 || c2 == b2 || (f2.x != p2.x ? (i5.Xi(y2, u2), d2 = i5.yj(a2, y2, u2), i5.Db(d2, p2.x, f2.y), v2 = d2) : v2 = y2)), c2 = b2, p2 = f2, l2 = false; } if (e2) { if (v2 != -1) for (v2 = i5.V(v2); v2 != -1; ) v2 = i5.pd(v2, false); n5 = i5.Ya(a2), i5.hq(n5, i5.tj(a2)) || (i5.Xi(n5, u2), i5.yj(a2, -1, u2)); } return i5.Ke(o2).copyTo(s6), true; }, s5.Hz = function(n5, h2, r2, e2) { var o2 = n5; if (o2.B() || r2 == i4.DontClip) return o2; var a2 = o2.K(); if (a2 == 33) return o2 = [(e2 = o2).D()], s5.sG(o2, 1, h2, r2), o2[0].isNaN() ? e2.Pa() : e2.Db(o2[0]), n5; var u2 = (n5 = h2.tc()).bf(), f2 = 90 * u2, c2 = 180 * u2, l2 = 360 * u2, p2 = h2.Bi(), v2 = 0.5 * u2, y2 = new t4.l(); o2.A(y2); var b2 = h2.Xr(), d2 = h2.JQ(), g2 = b2.K() == 197; if (h2 = new t4.l(), b2.A(h2), r2 == i4.PannableFold && (r2 = n5.Le().S(), h2.v = p2 - 0.5 * r2, h2.C = h2.v + r2), y2.G < -f2 || y2.H > f2) { if (new t4.l().L(y2.v - u2, -f2, y2.C + u2, f2), (o2 = t4.ti.Pu(o2, h2, n5, NaN, 0, e2)).B()) return o2; o2.A(y2); } if (d2 && (h2.H < y2.G || h2.G > y2.H)) return o2.Ja(); if (y2.S() > l2 && (o2 = s5.Jp(o2, p2 - c2, l2, n5, true, 0, true, e2)).A(y2), (f2 = s5.ZN(y2.v, y2.C, h2.v, h2.C, l2)) != 0 && y2.move(f2, 0), y2.C > h2.C || y2.v < h2.v) { if (y2.C > h2.C) for (; y2.v >= h2.C; ) y2.move(-l2, 0), f2 -= l2; for (; y2.v < h2.C - l2; ) y2.move(l2, 0), f2 += l2; } if (r2 = t4.ta.Ju(n5, b2), f2 != 0 && ((u2 = new t4.Ed()).gg(f2, 0), o2.Pc(u2)), d2) { if (g2 && h2.contains(y2)) return o2; for (d2 = [null, null], f2 = 0; 2 > f2; f2++) { if (g2 ? u2 = t4.ba.Ic(a2) ? t4.ti.clip(o2, h2, r2, v2, e2) : t4.ti.clip(o2, h2, r2, 0, e2) : (u2 = t4.Xk.local().W(o2, b2, n5, e2)) == b2 && (u2 = t4.ba.ig(u2)), h2.v <= y2.v && h2.C >= y2.C || h2.v >= y2.v && h2.C <= y2.C) return u2; d2[f2] = u2, f2 == 0 && (y2.move(-l2, 0), (u2 = new t4.Ed()).gg(-l2, 0), o2.Pc(u2)); } if (a2 == 550) d2[0].Gd(d2[1], 0, -1); else if (t4.ba.Ic(a2)) d2[0].add(d2[1], false); else { if (a2 != 33) throw t4.i.ga("intersect_with_GCS_horizon: unexpected geometry type"); d2[0].B() && (d2[0] = d2[1]); } return d2[0]; } if (h2.H < y2.G || h2.G > y2.H) return o2; for (a2 = 0; !o2.B() && y2.C > h2.v; ) a2 != 0 && ((u2 = new t4.Ed()).gg(a2, 0), o2.Pc(u2)), t4.fj.local().W(4, o2, b2, n5, e2) || b2 == (o2 = t4.lp.local().W(o2, b2, n5, e2)) && (o2 = t4.ba.ig(o2)), a2 != 0 && ((v2 = new t4.Ed()).gg(-a2, 0), o2.Pc(v2)), a2 -= l2, y2.move(-l2, 0); return o2; }, s5.sG = function(n5, h2, r2, e2) { if (h2 != 0 && e2 != i4.DontClip) if (e2 == i4.PannableFold) { e2 = r2.BR(); for (var o2 = h2, a2 = 0; a2 < h2; a2++) (n5[a2].y > e2.H || n5[a2].y < e2.G) && (n5[a2].Sc(), o2--); o2 != 0 && s5.cv(n5, h2, e2.v, e2.S()); } else { var u2 = 90 * (e2 = r2.bf()), f2 = 180 * e2; for (e2 *= 360, o2 = h2, a2 = 0; a2 < h2; a2++) (n5[a2].y > u2 || n5[a2].y < -u2) && (n5[a2].Sc(), o2--); if (o2 != 0) { (o2 = new t4.l()).bx(n5, h2), u2 = r2.Xr(); var c2 = r2.kv(); a2 = u2.K() == 197; var l2 = new t4.l(); if (u2.A(l2), !c2 || !(l2.H < o2.G || l2.G > o2.H)) if (c2) if (s5.cv(n5, h2, l2.hk() - f2, e2), o2 = h2, a2) for (a2 = 0; a2 < h2; a2++) l2.contains(n5[a2]) || (n5[a2].Sc(), o2--); else for (r2 = t4.ta.Ju(r2.tc(), u2), a2 = 0; a2 < h2; a2++) (f2 = t4.jd.Zd(u2, n5[a2], r2) != 0) || (n5[a2].Sc(), o2--); else for (s5.cv(n5, h2, -f2, e2), o2 = h2, r2 = t4.ta.Ju(r2.tc(), u2), a2 = 0; a2 < h2; a2++) (f2 = n5[a2]).isNaN() && o2--, c2 = s5.nE(f2.x, l2.v, l2.C, e2), f2.x += c2, (f2 = t4.jd.Zd(u2, f2, r2) != 0) && (n5[a2].Sc(), o2--); } } }, s5.Jp = function(i5, s6, n5, h2, r2, e2, o2, a2) { var u2 = i5.K(), f2 = s6 + n5; if (u2 === 33) { var c2 = (h2 = r2 ? i5 : i5.Pf()).Ng(); return (c2 < s6 || c2 >= f2 || o2 && c2 == f2) && (c2 += Math.ceil((s6 - c2) / n5) * n5, c2 = t4.P.Sk(c2, s6, f2), h2.XB(c2)), h2; } if (i5.B()) return i5; if (c2 = new t4.l(), i5.A(c2), c2.B()) return i5; var l2 = new t4.Oc(); c2.en(l2); var p2 = new t4.Oc(); if (p2.L(s6, f2), p2.contains(l2)) return i5; if ((f2 = new t4.l()).L(c2), u2 === 550) { for (a2 = (h2 = r2 ? i5 : i5.Pf()).vb(0), u2 = 2 * h2.I(), f2 = false, s6 = 0; s6 < u2; s6 += 2) ((c2 = a2.read(s6)) < p2.pa || c2 >= p2.wa || o2 && c2 == p2.wa) && (f2 = true, c2 += Math.ceil((p2.pa - c2) / n5) * n5, c2 = p2.Kt(c2), a2.write(s6, c2)); return f2 && h2.Qc(1993), h2; } if (u2 == 197) return n5 = r2 ? i5 : i5.Pf(), c2.Fa(f2), n5.Yo(c2), n5; var v2 = 0.1 * Math.max(c2.da(), c2.S()); for (f2.X(0, v2), o2 = i5, p2 = h2.Yd(0), i5 = t4.Ih.local(), r2 = new t4.Ed(); ; ) { var y2 = Math.floor((l2.pa - s6) / n5), b2 = Math.ceil((l2.wa - s6) / n5); if (!(3 < b2 - y2)) break; y2 = Math.floor(0.5 * (b2 + y2)), f2.v = c2.v - v2, f2.C = s6 + n5 * y2; var d2 = t4.ti.clip(o2, f2, p2, e2, a2); f2.v = f2.C, f2.C = c2.C + v2; var g2 = t4.ti.clip(o2, f2, p2, e2, a2); r2.gg((y2 - b2) * n5, 0), g2.Pc(r2), u2 == 1736 ? o2 = i5.W(d2, g2, h2, null) : (o2 = d2).add(g2, false), o2.A(c2), c2.en(l2); } for (f2.v = s6, f2.C = s6 + n5, (s6 = new t4.l()).L(f2), s6.X(p2, 0), (s6 = Math.floor((c2.v - f2.v) / n5) * n5) != 0 ? (f2.move(s6, 0), r2.gg(-s6, 0)) : r2.LB(), s6 = u2 == 1607 ? new t4.Ua(o2.description) : new t4.Ea(o2.description), e2 = new t4.l(), l2 = new t4.l(); c2.C > f2.v; ) (v2 = t4.ti.clip(o2, f2, p2, 0, a2)).A(l2), (u2 == 1607 ? !v2.B() && (l2.S() > p2 || l2.da() > p2) : !v2.B() && (u2 != 1736 || l2.S() > p2)) && (v2.Pc(r2), v2.A(l2), s6.A(e2), e2.X(p2, p2), e2.isIntersecting(l2) && u2 == 1736 ? s6 = i5.W(s6, v2, h2, null) : s6.add(v2, false)), f2.move(n5, 0), r2.shift(-n5, 0); return s6; }, s5.cv = function(i5, s6, n5, h2) { for (var r2 = n5 + h2, e2 = 0; e2 < s6; e2++) { var o2 = i5[e2].x; n5 <= o2 && o2 < r2 || !(o2 < n5 || o2 > r2 || o2 == r2) || (o2 += Math.ceil((n5 - o2) / h2) * h2, o2 = t4.P.Sk(o2, n5, r2), i5[e2].x = o2); } }, s5.Gn = function(i5, n5, h2, r2, e2, o2) { if (!n5.Xc()) throw t4.i.ga("fold_into_360_degree_range"); if (i5.B()) return i5; if (n5.Tb() == 2) { h2 = n5.rv(); var a2 = n5.qv() - h2; } else { var u2 = n5.bf(); a2 = 360 * u2, h2 -= 180 * u2; } return s5.Jp(i5, h2, a2, n5, r2, e2, true, o2); }, s5.kF = function(t5, i5, n5, h2) { if (n5.Tb() == 2) h2 = n5.rv(), n5 = n5.qv() - h2; else { var r2 = n5.bf(); n5 = 360 * r2, h2 -= 180 * r2; } s5.cv(t5, i5, h2, n5); }, s5.nj = function(i5, s6) { var n5 = s6.Le(); if (i5.K() == 33) { var h2 = i5.kh(); return n5.G <= h2 && h2 <= n5.H ? i5 : i5.Ja(); } h2 = new t4.l(), i5.A(h2); var r2 = new t4.l(); return r2.L(n5), r2.v = h2.v, r2.C = h2.C, r2.X(0.01 * r2.da(), 0), n5 = t4.ta.py(s6, h2), r2.contains(h2) ? i5 : t4.ti.clip(i5, r2, n5, 0, null); }, s5.kr = function(t5, i5, s6) { return t5 > i5.C && t5 - i5.C < s6 ? i5.C : t5 < i5.v && i5.v - t5 < s6 ? i5.v : t5; }, s5.xX = function(t5, i5, n5, h2) { h2.x = s5.kr(t5.x, i5, n5), h2.y = t5.y; }, s5.wX = function(t5, i5, n5, h2) { for (var r2 = 0; r2 < i5; r2++) t5[r2].y < n5.G || t5[r2].y > n5.H ? t5[r2].Sc() : t5[r2].x = s5.kr(t5[r2].x, n5, h2); }, s5.Lt = function(i5, n5, h2, r2) { if (!i5.B()) { var e2 = i5.K(); if (!r2 || e2 != 1736) if (t4.ba.zj(e2)) { r2 = i5.vb(0), e2 = 0; for (var o2 = i5.I(); e2 < o2; e2++) { var a2 = r2.read(2 * e2), u2 = s5.kr(a2, n5, h2); u2 != a2 && r2.write(2 * e2, u2); } i5.Qc(1993); } else if (e2 == 197) r2 = new t4.l(), i5.A(r2), r2.v = s5.kr(r2.v, n5, h2), r2.C = s5.kr(r2.C, n5, h2), i5.Yo(r2); else { if (e2 != 33) throw t4.i.ga("internal error"); i5.XB(s5.kr(i5.Ng(), n5, h2)); } } }, s5.nS = function(i5, n5, h2, r2) { var e2 = new t4.hd(), o2 = e2.Ib(i5); return i5 = t4.ta.Ju(n5, i5), s5.ms(e2, o2, n5, i5, h2, true, r2), e2.Ke(o2); }, s5.ms = function(i5, h2, r2, e2, o2, a2, u2) { if (!r2.Xc()) throw t4.i.O("invalid call"); var f2 = r2.Le(), c2 = r2.tc(), l2 = c2.gh().getDatum().getSpheroid(); c2 = c2.Id().ci; var p2 = l2.getFlattening(); l2 = l2.getAxis(), p2 *= 2 - p2; var v2 = new t4.Oc(); f2.en(v2); var y2 = null, b2 = [[0, 0], [0, 0]]; if (r2.Tb() == 2 ? (y2 = r2.gh(), a2 ? (b2[0][0] = s5.an(u2, v2), b2[0][1] = f2.Lp(), t4.gj.projToGeog(y2, 1, b2), f2 = b2[0][0] * c2) : (b2[0][0] = f2.hk(), b2[0][1] = u2, t4.gj.projToGeog(y2, 1, b2), f2 = b2[0][1] * c2)) : f2 = u2 * c2, !a2 && f2 != 0 && o2 != n4.GreatElliptic) throw t4.i.ga("invalid argument"); var d2 = new t4.ha(), g2 = [0], w2 = new t4.h(), x2 = new t4.h(), m2 = new t4.h(), j2 = [null, null], k2 = new t4.h(), M2 = new t4.h(), z2 = new t4.h(), A2 = new t4.h(); for (h2 = i5.Ob(h2); h2 != -1; h2 = i5.Sb(h2)) { var N2 = i5.Ya(h2); i5.D(N2, k2); for (var I2 = false, P2 = N2 = i5.V(N2); P2 != -1; P2 = i5.V(P2)) { if (P2 == N2) { if (I2) break; I2 = true; } if (i5.D(P2, M2), a2 && (e2 < u2 - k2.x && M2.x - u2 > e2 || e2 < u2 - M2.x && k2.x - u2 > e2) || !a2 && (u2 != 0 || e2 < -k2.y && M2.y > e2 || e2 < -M2.y && k2.y > e2)) do { if (!(Math.abs(k2.x - M2.x) >= 0.5 * v2.S())) { if (r2.Tb() == 2 ? (b2[0][0] = s5.an(k2.x, v2), b2[0][1] = k2.y, b2[1][0] = s5.an(M2.x, v2), b2[1][1] = M2.y, t4.gj.projToGeogCenter(y2, 2, b2, 0), z2.x = b2[0][0] * c2, z2.y = b2[0][1] * c2, A2.y = b2[1][1] * c2) : (z2.x = k2.x * c2, z2.y = k2.y * c2, A2.y = M2.y * c2), A2.x = 2 * (M2.x - k2.x) * Math.PI / v2.S() + z2.x, a2) { if (x2.x = f2, x2.y = s5.Iz(l2, p2, z2, A2, f2, o2), isNaN(x2.y)) break; j2[0] = x2; var C2 = 1; } else if (o2 == n4.GreatElliptic) { var B2 = [0, 0]; if ((C2 = t4.Nx.Jz(p2, z2, A2, f2, B2)) == 0) break; x2.x = B2[0], x2.y = f2, j2[0] = x2, C2 == 2 && (m2.x = B2[1], m2.y = f2, j2[1] = m2); } else { if (x2.x = s5.Gz(l2, p2, z2, A2, o2), isNaN(x2.x)) break; x2.y = 0, j2[0] = x2, C2 = 1; } var D2 = -1; for (B2 = 0; B2 < C2; B2++) { t4.kb.xd(l2, p2, z2.x, z2.y, A2.x, A2.y, d2, null, null, o2); var q2 = d2.u; t4.kb.xd(l2, p2, z2.x, z2.y, j2[B2].x, j2[B2].y, d2, null, null, o2); var G2 = d2.u; if (r2.Tb() == 2 ? (b2[0][0] = j2[B2].x / c2, b2[0][1] = j2[B2].y / c2, t4.gj.geogToProj(y2, 1, b2), a2 ? (w2.y = b2[0][1], w2.x = u2) : (w2.x = s5.qs(b2[0][0], k2.x, M2.x, v2), w2.y = u2)) : a2 ? (w2.x = u2, w2.y = j2[B2].y / c2) : (w2.x = s5.qs(j2[B2].x / c2, k2.x, M2.x, v2), w2.y = u2), g2[0] = 0 < q2 ? t4.P.Sk(G2 / q2, 0, 1) : 0.5, g2[0] == 0 || g2[0] == 1) break; D2 > g2[0] || (D2 = i5.Na(P2), i5.Wl(D2, g2, 1), i5.Db(i5.V(D2), w2.x, w2.y), D2 = g2[0]); } } } while (0); k2.N(M2); } } }, s5.an = function(t5, i5) { var s6 = i5.wa - i5.pa; return i5.Kt(t5 - Math.floor((t5 - i5.pa) / s6) * s6); }, s5.qs = function(i5, s6, n5, h2) { var r2 = new t4.Oc(); for (r2.L(s6, n5), n5 = h2.S(), i5 = Math.floor((i5 - s6) / n5) * n5 + i5, r2 = r2.tf(); Math.abs(i5 - r2) > Math.abs(i5 + n5 - r2); ) i5 += n5; return i5; }, s5.Tn = function(i5, s6, n5) { return i5 = t4.sr.Ep(i5), s6 = t4.sr.mx(i5, t4.sr.Ep(s6)), (n5 = t4.sr.mx(i5, t4.sr.Ep(n5))) == 0 || 0 < s6 && 0 < n5 && n5 <= s6 || 0 > s6 && 0 > n5 && n5 >= s6; }, s5.Iz = function(i5, h2, r2, e2, o2, a2) { if (a2 == n4.GreatElliptic) return t4.Nx.KS(h2, r2, e2, o2); if (Math.abs(r2.x - e2.x) >= Math.PI || !s5.Tn(r2.x, e2.x, o2)) return NaN; if (r2.x > e2.x) var u2 = e2; else u2 = r2, r2 = e2; e2 = new t4.ha(); var f2 = new t4.ha(), c2 = new t4.ha(); t4.kb.xd(i5, h2, u2.x, u2.y, r2.x, r2.y, f2, e2, null, a2); var l2 = f2.u, p2 = 0, v2 = 1, y2 = new t4.h(); for (y2.N(u2); l2 * (v2 - p2) > 1e-12 * i5; ) { var b2 = 0.5 * (p2 + v2); if (t4.kb.qj(i5, h2, u2.x, u2.y, l2 * b2, e2.u, f2, c2, a2), y2.x = f2.u, y2.y = c2.u, y2.x == o2) break; if (s5.Tn(u2.x, y2.x, o2)) v2 = b2; else { if (!s5.Tn(r2.x, y2.x, o2)) return NaN; p2 = b2; } } return y2.y; }, s5.Gz = function(i5, s6, h2, r2, e2) { if (e2 == n4.GreatElliptic) return i5 = [0, 0], t4.Nx.Jz(s6, h2, r2, 0, i5), i5[0]; if (h2.y > r2.y) var o2 = r2; else o2 = h2, h2 = r2; if ((r2 = new t4.Oc()).L(o2.y, h2.y), !r2.contains(0) || Math.abs(o2.x - h2.x) >= Math.PI) return NaN; if (o2.x == h2.x) return o2.x; var a2 = new t4.ha(), u2 = new t4.ha(), f2 = new t4.ha(); t4.kb.xd(i5, s6, o2.x, o2.y, h2.x, h2.y, u2, a2, null, e2); var c2 = u2.u, l2 = 0, p2 = 1, v2 = new t4.h(); for (v2.N(o2); c2 * (p2 - l2) > 1e-12 * i5; ) { var y2 = 0.5 * (l2 + p2); if (t4.kb.qj(i5, s6, o2.x, o2.y, c2 * y2, a2.u, u2, f2, e2), v2.x = u2.u, v2.y = f2.u, r2.L(o2.y, v2.y), v2.y == 0) break; if (r2.contains(0)) p2 = y2; else { if (r2.L(h2.y, v2.y), !r2.contains(0)) return NaN; l2 = y2; } } return v2.x; }, s5.QI = function(i5, s6, n5, h2) { if (!i5.ef.Xc()) return false; var r2 = new t4.de(s6.description); if (r2.Gd(s6, 0, -1), h2 = t4.Gx.local().W(r2, i5, h2), r2 = s6.I(), n5.Pa(), r2 != h2.I()) return false; var e2 = new t4.l(); s6.A(e2); var o2 = new t4.l(); if (h2.A(o2), e2 = e2.S(), o2 = o2.S(), e2 != 0 && o2 != 0) { if (o2 /= e2, i5 = i5.Zf.ih().S() / i5.ef.ih().S(), 1e-10 < Math.abs(o2 / i5 - 1)) return false; } else if (e2 != 0 || o2 != 0) return false; for (n5.add(s6, false), s6 = new t4.h(), i5 = 0; i5 < r2; i5++) h2.D(i5, s6), n5.Db(i5, s6); return true; }, s5.kN = function(t5, i5) { return (t5 %= 360 * i5) >= 180 * i5 && (t5 -= 360 * i5), t5; }, s5.NI = function(n5, h2, r2, e2) { if (r2 == i4.Clip) { var o2 = h2.ol(); o2.K() == 197 ? (r2 = new t4.l(), o2.A(r2), o2 = t4.ta.py(h2, r2), n5 = t4.ti.clip(n5, r2, o2, 5e4 * h2.rm(), e2)) : t4.fj.local().W(1, o2, n5, h2, e2) || (n5 = t4.Xk.local().W(n5, o2, h2, e2)) == o2 && (n5 = t4.Wk.ig(n5)); } else h2.Xc() && (e2 = new t4.l(), n5.yc(e2), h2.Le().contains(e2) || (s5.Lt(n5, h2.Le(), h2.Yd(0), true), r2 == i4.PannableFold && (n5 = s5.nj(n5, h2)), n5 = s5.Gn(n5, h2, 0, true, 1e5 * h2.rm(), null))); return n5; }, s5.RD = function(i5, s6, n5) { var h2 = s6.Yr(); if (h2 == null) return i5; var r2 = (s6 = s6.tc()).Le().S(), e2 = new t4.l(); i5.yc(e2); var o2 = new t4.Oc(); e2.en(o2), e2 = h2.Ha(), h2 = null; for (var a2 = new t4.Ed(); e2.ab(); ) for (; e2.Ia(); ) { var u2 = e2.ia(), f2 = u2.Vg(0, 0), c2 = new t4.Oc(); for (c2.L(f2.pa, f2.wa), f2 = 0; c2.wa > o2.pa; ) c2.move(-r2), --f2; for (; c2.pa <= o2.wa; ) { if (c2.isIntersecting(o2)) { h2 == null && (h2 = new t4.Ua()); var l2 = t4.zb.XO(u2.ac(), u2.xc()); f2 != 0 && (a2.gg(f2 * r2, 0), l2.Pc(a2)), h2.oc(l2, true); } c2.move(r2), ++f2; } } return h2 != null ? (s6 = t4.ta.aO(s6, h2), s6 = t4.ta.Gr(s6), t4.bu.fP(i5, h2, s6, n5)) : i5; }, s5.ZN = function(t5, i5, n5, h2, r2) { return t5 >= n5 && i5 <= h2 ? 0 : s5.nE(0.5 * (i5 + t5), n5, h2, r2); }, s5.nE = function(i5, s6, n5, h2) { return t4.mc.round((0.5 * (n5 + s6) - i5) / h2) * h2; }, s5.PQ = function(i5, n5, h2, r2, e2, o2, a2, u2) { var f2 = s5.fv(r2, e2), c2 = f2.S(), l2 = c2 / 360, p2 = s5.jE * l2, v2 = i5.vb(0), y2 = n5.Xc(), b2 = y2 ? c2 / n5.Le().S() : 0; n5 = i5.Ja(); for (var d2 = 0, g2 = h2.ea(); d2 < g2; ++d2) { var w2 = y2, x2 = new t4.Ua(h2.description); x2.addPath(h2, d2, true); var m2 = h2.ec(d2); a2 != 0 && (m2 = s5.JD(m2, x2, f2.H - u2, f2.H, a2)) && (w2 = false); var j2 = -1; m2 = x2.I(); var k2 = false; w2 && (j2 = i5.Ca(d2), k2 = i5.ec(d2)); var M2 = x2.vb(0), z2 = 0, A2 = M2.read(0), N2 = 0, I2 = 3 * r2.Yd(0), P2 = false, C2 = new t4.h(); C2.Sc(); var B2 = new t4.h(); B2.Sc(); for (var D2 = false, q2 = 1; q2 < m2; ++q2) { var G2 = t4.h.construct(M2.Bg(2 * q2), M2.Bg(2 * q2 + 1)), F2 = G2.x, E2 = F2 + z2, T2 = E2 - A2; if (G2.x = E2, Math.abs(T2) > p2) { if (w2) { var S2 = j2 + q2 - 1, O2 = j2; (!k2 || q2 + 1 < m2) && (O2 += q2), S2 = v2.read(2 * S2), O2 = (v2.read(2 * O2) - S2) * b2, Math.abs(T2 - O2) > 1 * l2 && (y2 = false); } w2 || (E2 = F2 + (z2 -= t4.mc.Dn(c2, E2 - A2)), ++N2, D2 = z2 != 0, G2.x = E2); } else P2 || t4.ta.uG(C2, B2, G2, I2) && (P2 = true); D2 && M2.write(2 * q2, E2), A2 = E2, C2.N(B2), B2.N(G2); } N2 != 0 && x2.Qc(1993), w2 = x2.Oa(0), m2 = x2.Oa(m2 - 1), t4.h.ub(w2, m2), x2 = s5.qQ(x2, r2, isNaN(e2) ? 0 : e2, o2), n5.add(x2, false); } return i5 = r2.Yd(0), h2 = f2.S() / 180, s5.Lt(n5, f2, 0.1 * i5, false), t4.ti.clip(n5, f2, i5, h2, o2); }, s5.qQ = function(t5, i5, n5, h2) { return s5.Gn(t5, i5, n5, true, 0, h2); }, s5.HS = function(i5, s6, n5, h2) { var r2 = i5.K(); if (r2 == 1736) for (s6 = s6 != null ? s6.Yd(0) : 0, r2 = 0; r2 < h2; r2++) t4.jd.Zd(i5, n5[r2], s6) != 1 && n5[r2].Sc(); else { if (r2 != 197) throw t4.i.O(); for (r2 = 0; r2 < h2; r2++) i5.YO(n5[r2]) || n5[r2].Sc(); } }, s5.bl = function(i5, s6, n5, h2) { if (32 > n5) for (var r2 = new t4.Ta(), e2 = 0; e2 < n5; e2++) r2.Db(s6[e2]), i5.bl(r2, h2).D(s6[e2]); else { var o2 = new t4.de(); for (o2.se(3), o2.BD(s6, n5), r2 = o2.vb(3), e2 = 0; e2 < n5; e2++) r2.write(e2, e2); for (e2 = i5.bl(o2, h2), i5 = e2.vb(0), r2 = e2.vb(3), h2 = t4.h.construct(NaN, NaN), o2 = 0; o2 < n5; o2++) s6[o2] = h2; for (n5 = e2.I(), e2 = 0; e2 < n5; e2++) h2 = r2.read(e2), i5.uc(2 * e2, s6[h2]); } }, s5.al = function(i5, s6, n5, h2) { if (32 > n5) for (var r2 = new t4.Ta(), e2 = 0; e2 < n5; e2++) r2.Db(s6[e2]), i5.al(r2, h2).D(s6[e2]); else { var o2 = new t4.de(); for (o2.se(3), o2.BD(s6, n5), r2 = o2.vb(3), e2 = 0; e2 < n5; e2++) r2.write(e2, e2); for (e2 = i5.al(o2, h2), i5 = e2.vb(0), r2 = e2.vb(3), h2 = t4.h.construct(NaN, NaN), o2 = 0; o2 < n5; o2++) s6[o2] = h2; for (n5 = e2.I(), e2 = 0; e2 < n5; e2++) h2 = r2.read(e2), i5.uc(2 * e2, s6[h2]); } }, s5.jE = 210, s5; }(); }(V || (V = {})), function(t4) { var i4; (i4 = t4.OL || (t4.OL = {}))[i4.rightSide = 1] = "rightSide"; var s4 = function() { function i5(i6, s5, n4) { this.Ds = new t4.h(), i6 === void 0 ? this.Jo = -1 : (this.Ds.N(i6), this.Jo = s5, this.La = n4, this.pw = 0); } return i5.prototype.QJ = function(t5) { this.pw = t5 ? 1 | this.pw : -2 & this.pw; }, i5.prototype.B = function() { return 0 > this.Jo; }, i5.prototype.az = function() { if (this.B()) throw t4.i.ga("invalid call"); return new t4.Ta(this.Ds.x, this.Ds.y); }, i5.prototype.Va = function() { if (this.B()) throw t4.i.ga("invalid call"); return this.Jo; }, i5.prototype.cz = function() { if (this.B()) throw t4.i.ga("invalid call"); return this.La; }, i5.prototype.Nz = function() { return (1 & this.pw) != 0; }, i5.prototype.by = function(t5, i6, s5, n4) { this.Ds.x = t5, this.Ds.y = i6, this.Jo = s5, this.La = n4; }, i5; }(); t4.bm = s4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.prototype.Vo = function(i6, s5) { this.vh.resize(0), this.Ki.length = 0, this.uk = -1, i6.yc(this.Fk), this.Fk.X(s5, s5), this.Fk.isIntersecting(this.Gb.Da) ? ((this.xs = t4.ba.zd(i6.K())) ? (this.NH = i6.ac(), this.MH = i6.xc(), this.ra = s5) : this.ra = NaN, this.vh.add(this.Gb.kf), this.Ki.push(this.Gb.Da), this.Ss = this.Gb.Wr(this.Gb.kf)) : this.Ss = -1; }, i5.prototype.Zi = function(t5, i6) { this.vh.resize(0), this.Ki.length = 0, this.uk = -1, this.Fk.L(t5), this.Fk.X(i6, i6), this.ra = NaN, this.Fk.isIntersecting(this.Gb.Da) ? (this.vh.add(this.Gb.kf), this.Ki.push(this.Gb.Da), this.Ss = this.Gb.Wr(this.Gb.kf), this.xs = false) : this.Ss = -1; }, i5.prototype.next = function() { if (this.vh.size == 0) return -1; this.uk = this.Ss; var i6 = null, n4 = null, h2 = null, r2 = null; this.xs && (i6 = new t4.h(), n4 = new t4.h(), h2 = new t4.l()); for (var e2 = false; !e2; ) { for (; this.uk != -1; ) { var o2 = this.Gb.Xy(this.Gb.hv(this.uk)); if (o2.isIntersecting(this.Fk)) { if (!this.xs) { e2 = true; break; } if (i6.N(this.NH), n4.N(this.MH), h2.L(o2), h2.X(this.ra, this.ra), 0 < h2.uy(i6, n4)) { e2 = true; break; } } this.uk = this.Gb.pv(this.uk); } if (this.uk == -1) { o2 = this.vh.Gc(); var a2 = this.Ki[this.Ki.length - 1]; for (r2 == null && ((r2 = [])[0] = new t4.l(), r2[1] = new t4.l(), r2[2] = new t4.l(), r2[3] = new t4.l()), s4.yJ(a2, r2), this.vh.Jf(), --this.Ki.length, a2 = 0; 4 > a2; a2++) { var u2 = this.Gb.Np(o2, a2); if (u2 != -1 && 0 < this.Gb.PR(u2) && r2[a2].isIntersecting(this.Fk)) if (this.xs) { if (i6.N(this.NH), n4.N(this.MH), h2.L(r2[a2]), h2.X(this.ra, this.ra), 0 < h2.uy(i6, n4)) { var f2 = new t4.l(); f2.L(r2[a2]), this.vh.add(u2), this.Ki.push(f2); } } else (f2 = new t4.l()).L(r2[a2]), this.vh.add(u2), this.Ki.push(f2); } if (this.vh.size == 0) return -1; this.uk = this.Gb.Wr(this.vh.get(this.vh.size - 1)); } } return this.Ss = this.Gb.pv(this.uk), this.uk; }, i5.WO = function(s5, n4, h2) { var r2 = new i5(); return r2.Gb = s5, r2.Fk = new t4.l(), r2.vh = new t4.ja(0), r2.Ki = [], r2.Vo(n4, h2), r2; }, i5.VO = function(s5, n4, h2) { var r2 = new i5(); return r2.Gb = s5, r2.Fk = new t4.l(), r2.vh = new t4.ja(0), r2.Ki = [], r2.Zi(n4, h2), r2; }, i5.UO = function(s5) { var n4 = new i5(); return n4.Gb = s5, n4.Fk = new t4.l(), n4.vh = new t4.ja(0), n4.Ki = [], n4; }, i5; }(); t4.yY = i4; var s4 = function() { function s5(i5, s6) { this.jf = new t4.ad(11), this.ai = new t4.ad(5), this.ys = [], this.iw = new t4.ja(0), this.Da = new t4.l(), this.Ok(i5, s6); } return s5.prototype.reset = function(t5, i5) { this.jf.oj(false), this.ai.oj(false), this.ys.length = 0, this.iw.clear(false), this.Ok(t5, i5); }, s5.prototype.xj = function(t5, i5) { return this.Bv(t5, i5, 0, this.Da, this.kf, false, -1); }, s5.prototype.Ez = function(t5, i5, s6) { s6 = s6 == -1 ? this.kf : this.QF(s6); var n4 = this.da(s6), h2 = this.iR(s6); return this.Bv(t5, i5, n4, h2, s6, false, -1); }, s5.prototype.ka = function(t5) { return this.dR(t5); }, s5.prototype.AF = function(t5) { return this.Xy(this.hv(t5)); }, s5.prototype.da = function(t5) { return this.lv(t5); }, s5.prototype.iR = function(i5) { var s6 = new t4.l(); s6.L(this.Da); var n4 = this.lv(i5); i5 = this.KF(i5); for (var h2 = 0; h2 < 2 * n4; h2 += 2) { var r2 = t4.P.truncate(3 & i5 >> h2); r2 == 0 ? (s6.v = 0.5 * (s6.v + s6.C), s6.G = 0.5 * (s6.G + s6.H)) : r2 == 1 ? (s6.C = 0.5 * (s6.v + s6.C), s6.G = 0.5 * (s6.G + s6.H)) : (r2 == 2 ? s6.C = 0.5 * (s6.v + s6.C) : s6.v = 0.5 * (s6.v + s6.C), s6.H = 0.5 * (s6.G + s6.H)); } return s6; }, s5.prototype.PR = function(t5) { return this.vz(t5); }, s5.prototype.oR = function(t5, s6) { return i4.WO(this, t5, s6); }, s5.prototype.GF = function(t5, s6) { return i4.VO(this, t5, s6); }, s5.prototype.getIterator = function() { return i4.UO(this); }, s5.prototype.Ok = function(i5, s6) { if (0 > s6 || 32 < 2 * s6) throw t4.i.O("invalid height"); this.tT = s6, this.Da.L(i5), this.kf = this.jf.De(), this.jx(this.kf, 0), this.dx(this.kf, 0), this.HJ(this.kf, 0), this.EJ(this.kf, 0); }, s5.prototype.Bv = function(i5, n4, h2, r2, e2, o2, a2) { if (!r2.contains(n4)) return h2 == 0 ? -1 : this.Bv(i5, n4, 0, this.Da, this.kf, o2, a2); if (!o2) for (var u2 = e2; u2 != -1; u2 = this.CR(u2)) this.jx(u2, this.vz(u2) + 1); (u2 = new t4.l()).L(r2), r2 = e2; var f2 = []; for (f2[0] = new t4.l(), f2[1] = new t4.l(), f2[2] = new t4.l(), f2[3] = new t4.l(); h2 < this.tT && this.cO(r2); h2++) { s5.yJ(u2, f2); for (var c2 = false, l2 = 0; 4 > l2; l2++) if (f2[l2].contains(n4)) { c2 = true; var p2 = this.Np(r2, l2); p2 == -1 && (p2 = this.lP(r2, l2)), this.jx(p2, this.vz(p2) + 1), r2 = p2, u2.L(f2[l2]); break; } if (!c2) break; } return this.lS(i5, n4, h2, u2, r2, o2, e2, a2); }, s5.prototype.lS = function(t5, i5, s6, n4, h2, r2, e2, o2) { var a2 = this.HF(h2); if (r2) { if (h2 == e2) return o2; this.MP(o2), r2 = o2; } else r2 = this.nP(), this.HB(r2, t5), this.BW(this.hv(r2), i5); return this.dX(r2, h2), a2 != -1 ? (this.hx(r2, a2), this.ex(a2, r2)) : this.AJ(h2, r2), this.MB(h2, r2), this.dx(h2, this.nv(h2) + 1), this.bO(h2) && this.GQ(s6, n4, h2), r2; }, s5.prototype.MP = function(t5) { var i5 = this.QF(t5), s6 = this.HF(i5), n4 = this.HR(t5), h2 = this.pv(t5); this.Wr(i5) == t5 ? (h2 != -1 ? this.hx(h2, -1) : this.MB(i5, -1), this.AJ(i5, h2)) : s6 == t5 ? (this.ex(n4, -1), this.MB(i5, n4)) : (this.hx(h2, n4), this.ex(n4, h2)), this.hx(t5, -1), this.ex(t5, -1), this.dx(i5, this.nv(i5) - 1); }, s5.yJ = function(t5, i5) { var s6 = 0.5 * (t5.v + t5.C), n4 = 0.5 * (t5.G + t5.H); i5[0].L(s6, n4, t5.C, t5.H), i5[1].L(t5.v, n4, s6, t5.H), i5[2].L(t5.v, t5.G, s6, n4), i5[3].L(s6, t5.G, t5.C, n4); }, s5.prototype.bO = function(t5) { return this.nv(t5) == 8 && !this.aG(t5); }, s5.prototype.GQ = function(t5, i5, s6) { var n4 = this.Wr(s6); do { var h2 = this.hv(n4), r2 = this.ai.U(n4, 0); h2 = this.Xy(h2), this.Bv(r2, h2, t5, i5, s6, true, n4), n4 = r2 = this.pv(n4); } while (n4 != -1); }, s5.prototype.cO = function(t5) { return 8 <= this.nv(t5) || this.aG(t5); }, s5.prototype.aG = function(t5) { return this.Np(t5, 0) != -1 || this.Np(t5, 1) != -1 || this.Np(t5, 2) != -1 || this.Np(t5, 3) != -1; }, s5.prototype.lP = function(t5, i5) { var s6 = this.jf.De(); return this.GW(t5, i5, s6), this.jx(s6, 0), this.dx(s6, 0), this.Qk(s6, t5), this.EJ(s6, this.lv(t5) + 1), this.HJ(s6, i5 << 2 * this.lv(t5) | this.KF(t5)), s6; }, s5.prototype.nP = function() { var i5 = this.ai.De(); if (0 < this.iw.size) { var s6 = this.iw.Gc(); this.iw.Jf(); } else s6 = this.ys.length, this.ys.push(new t4.l()); return this.DW(i5, s6), i5; }, s5.prototype.Np = function(t5, i5) { return this.jf.U(t5, i5); }, s5.prototype.GW = function(t5, i5, s6) { this.jf.T(t5, i5, s6); }, s5.prototype.Wr = function(t5) { return this.jf.U(t5, 4); }, s5.prototype.AJ = function(t5, i5) { this.jf.T(t5, 4, i5); }, s5.prototype.HF = function(t5) { return this.jf.U(t5, 5); }, s5.prototype.MB = function(t5, i5) { this.jf.T(t5, 5, i5); }, s5.prototype.KF = function(t5) { return this.jf.U(t5, 6); }, s5.prototype.HJ = function(t5, i5) { this.jf.T(t5, 6, i5); }, s5.prototype.nv = function(t5) { return this.jf.U(t5, 7); }, s5.prototype.vz = function(t5) { return this.jf.U(t5, 8); }, s5.prototype.dx = function(t5, i5) { this.jf.T(t5, 7, i5); }, s5.prototype.jx = function(t5, i5) { this.jf.T(t5, 8, i5); }, s5.prototype.CR = function(t5) { return this.jf.U(t5, 9); }, s5.prototype.Qk = function(t5, i5) { this.jf.T(t5, 9, i5); }, s5.prototype.lv = function(t5) { return this.jf.U(t5, 10); }, s5.prototype.EJ = function(t5, i5) { this.jf.T(t5, 10, i5); }, s5.prototype.dR = function(t5) { return this.ai.U(t5, 0); }, s5.prototype.HB = function(t5, i5) { this.ai.T(t5, 0, i5); }, s5.prototype.HR = function(t5) { return this.ai.U(t5, 1); }, s5.prototype.pv = function(t5) { return this.ai.U(t5, 2); }, s5.prototype.hx = function(t5, i5) { this.ai.T(t5, 1, i5); }, s5.prototype.ex = function(t5, i5) { this.ai.T(t5, 2, i5); }, s5.prototype.QF = function(t5) { return this.ai.U(t5, 3); }, s5.prototype.dX = function(t5, i5) { this.ai.T(t5, 3, i5); }, s5.prototype.hv = function(t5) { return this.ai.U(t5, 4); }, s5.prototype.DW = function(t5, i5) { this.ai.T(t5, 4, i5); }, s5.prototype.Xy = function(t5) { return this.ys[t5]; }, s5.prototype.BW = function(t5, i5) { this.ys[t5].L(i5); }, s5; }(); t4.fu = s4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.VK || (t4.VK = {}))[i4.Outside = 0] = "Outside", i4[i4.Inside = 1] = "Inside", i4[i4.Border = 2] = "Border"; var s4 = function() { function t5(t6, i5) { this.HT = i5, this.Xh = t6; } return t5.prototype.ax = function(t6, i5) { this.cH != i5 && t6.flush(), this.cH = i5; }, t5.prototype.aF = function(t6, i5) { for (var s5 = 0; s5 < i5; ) for (var n5 = t6[s5++], h2 = t6[s5++], r2 = t6[s5++] * this.HT; n5 < h2; n5++) this.Xh[r2 + (n5 >> 4)] |= this.cH << 2 * (15 & n5); }, t5; }(); t4.zY = s4; var n4 = function() { function i5(t5, i6, s5) { this.Xh = null, this.MA = this.Jk = this.XH = this.VH = this.Gs = this.kH = this.Hf = this.Wm = 0, this.Ti = this.Kk = this.xl = null, this.Az(t5, i6, s5); } return i5.create = function(s5, n5, h2) { if (!i5.tE(s5)) throw t4.i.O(); return i5.qP(s5, n5, h2); }, i5.hW = function(i6) { switch (i6) { case 0: i6 = 1024; break; case 1: i6 = 16384; break; case 2: i6 = 262144; break; default: throw t4.i.ga("Internal Error"); } return i6; }, i5.tE = function(t5) { return !(t5.B() || t5.K() != 1607 && t5.K() != 1736); }, i5.prototype.lQ = function(i6, s5) { s5 = s5.Ha(); for (var n5 = new t4.h(), h2 = new t4.h(); s5.ab(); ) for (; s5.Ia(); ) { var r2 = s5.ia(); if (r2.K() != 322) throw t4.i.ga("Internal Error"); i6.Gh(r2.ac(), n5), i6.Gh(r2.xc(), h2), this.Ti.fy(n5.x, n5.y, h2.x, h2.y); } this.Ti.cJ(t4.Ox.Bx); }, i5.prototype.mQ = function() { throw t4.i.ga("Internal Error"); }, i5.prototype.My = function(i6, s5) { for (var n5 = 1; 4 > n5; n5++) i6.fy(s5[n5 - 1].x, s5[n5 - 1].y, s5[n5].x, s5[n5].y); i6.fy(s5[3].x, s5[3].y, s5[0].x, s5[0].y), this.Ti.cJ(t4.Ox.Bx); }, i5.prototype.lK = function(i6, s5, n5) { for (var h2 = [null, null, null, null], r2 = 0; r2 < h2.length; r2++) h2[r2] = new t4.h(); s5 = s5.Ha(), n5 = this.Kk.WX(n5) + 1.5, r2 = new t4.h(); for (var e2 = new t4.h(), o2 = new t4.h(), a2 = new t4.h(), u2 = new t4.h(), f2 = new t4.l(), c2 = new t4.h(); s5.ab(); ) { var l2 = false, p2 = true; for (c2.na(0, 0); s5.Ia(); ) { var v2 = s5.ia(); if (a2.x = v2.sa, a2.y = v2.oa, u2.x = v2.qa, u2.y = v2.ma, f2.Pa(), f2.$b(a2.x, a2.y), f2.Mk(u2.x, u2.y), this.xl.BG(f2)) { this.Kk.Gh(u2, u2), p2 ? (this.Kk.Gh(a2, a2), c2.N(a2), p2 = false) : a2.N(c2), r2.vc(u2, a2); var y2 = 0.5 > (v2 = r2.length()); v2 == 0 ? r2.na(1, 0) : (y2 || c2.N(u2), r2.scale(n5 / v2), e2.na(-r2.y, r2.x), o2.na(r2.y, -r2.x), a2.sub(r2), u2.add(r2), h2[0].add(a2, e2), h2[1].add(a2, o2), h2[2].add(u2, o2), h2[3].add(u2, e2), y2 ? l2 = true : this.My(i6, h2)); } else l2 && (this.My(i6, h2), l2 = false), p2 = true; } l2 && this.My(i6, h2); } }, i5.prototype.mC = function(i6) { return t4.P.truncate(i6 * this.kH + this.VH); }, i5.prototype.nC = function(i6) { return t4.P.truncate(i6 * this.Gs + this.XH); }, i5.qP = function(t5, s5, n5) { return new i5(t5, s5, n5); }, i5.prototype.Az = function(i6, n5, h2) { this.Hf = Math.max(t4.P.truncate(2 * Math.sqrt(h2) + 0.5), 64), this.Wm = t4.P.truncate((2 * this.Hf + 31) / 32), this.xl = new t4.l(), this.Jk = n5, h2 = 0; for (var r2 = this.Hf, e2 = this.Wm; 8 <= r2; ) h2 += r2 * e2, r2 = t4.P.truncate(r2 / 2), e2 = t4.P.truncate((2 * r2 + 31) / 32); this.Xh = t4.P.lg(h2, 0), this.Ti = new t4.Ox(), h2 = new s4(this.Xh, this.Wm, this), this.Ti.sX(this.Hf, this.Hf, h2), i6.A(this.xl), this.xl.X(n5, n5), r2 = new t4.l(); var o2 = n5 * (e2 = t4.l.construct(1, 1, this.Hf - 2, this.Hf - 2)).S(); switch (n5 *= e2.da(), r2.L(this.xl.tf(), Math.max(o2, this.xl.S()), Math.max(n5, this.xl.da())), this.MA = this.Jk, this.Kk = new t4.Ed(), this.Kk.iS(r2, e2), new t4.Ed(), i6.K()) { case 550: h2.ax(this.Ti, 2), this.mQ(); break; case 1607: h2.ax(this.Ti, 2), this.lK(this.Ti, i6, this.MA); break; case 1736: h2.ax(this.Ti, 1), this.lQ(this.Kk, i6), h2.ax(this.Ti, 2), this.lK(this.Ti, i6, this.MA); } this.kH = this.Kk.eb, this.Gs = this.Kk.bb, this.VH = this.Kk.Lb, this.XH = this.Kk.Qb, this.RN(); }, i5.prototype.RN = function() { this.Ti.flush(); for (var i6 = 0, s5 = this.Hf * this.Wm, n5 = this.Hf, h2 = t4.P.truncate(this.Hf / 2), r2 = this.Wm, e2 = t4.P.truncate((2 * h2 + 31) / 32); 8 < n5; ) { for (n5 = 0; n5 < h2; n5++) for (var o2 = 2 * n5, a2 = 2 * n5 + 1, u2 = 0; u2 < h2; u2++) { var f2 = 2 * u2, c2 = 2 * u2 + 1, l2 = f2 >> 4; f2 = 2 * (15 & f2); var p2 = c2 >> 4; c2 = 2 * (15 & c2); var v2 = this.Xh[i6 + r2 * o2 + l2] >> f2 & 3; v2 |= this.Xh[i6 + r2 * o2 + p2] >> c2 & 3, v2 |= this.Xh[i6 + r2 * a2 + l2] >> f2 & 3, v2 |= this.Xh[i6 + r2 * a2 + p2] >> c2 & 3, this.Xh[s5 + e2 * n5 + (u2 >> 4)] |= v2 << 2 * (15 & u2); } n5 = h2, r2 = e2, i6 = s5, h2 = t4.P.truncate(n5 / 2), e2 = t4.P.truncate((2 * h2 + 31) / 32), s5 = i6 + r2 * n5; } }, i5.prototype.To = function(t5, i6) { return this.xl.contains(t5, i6) ? (t5 = this.mC(t5), i6 = this.nC(i6), 0 > t5 || t5 >= this.Hf || 0 > i6 || i6 >= this.Hf || (i6 = this.Xh[this.Wm * i6 + (t5 >> 4)] >> 2 * (15 & t5) & 3) == 0 ? 0 : i6 == 1 ? 1 : 2) : 0; }, i5.prototype.So = function(i6) { if (!i6.Fa(this.xl)) return 0; var s5 = this.mC(i6.v), n5 = this.mC(i6.C), h2 = this.nC(i6.G); if (i6 = this.nC(i6.H), 0 > s5 && (s5 = 0), 0 > h2 && (h2 = 0), n5 >= this.Hf && (n5 = this.Hf - 1), i6 >= this.Hf && (i6 = this.Hf - 1), s5 > n5 || h2 > i6) return 0; for (var r2 = Math.max(n5 - s5, 1) * Math.max(i6 - h2, 1), e2 = 0, o2 = this.Wm, a2 = this.Hf, u2 = 0; ; ) { if (32 > r2 || 16 > a2) { for (r2 = h2; r2 <= i6; r2++) for (var f2 = s5; f2 <= n5; f2++) if (1 < (u2 = this.Xh[e2 + o2 * r2 + (f2 >> 4)] >> 2 * (15 & f2) & 3)) return 2; if (u2 == 0) return 0; if (u2 == 1) return 1; } e2 += o2 * a2, a2 = t4.P.truncate(a2 / 2), o2 = t4.P.truncate((2 * a2 + 31) / 32), s5 = t4.P.truncate(s5 / 2), h2 = t4.P.truncate(h2 / 2), n5 = t4.P.truncate(n5 / 2), i6 = t4.P.truncate(i6 / 2), r2 = Math.max(n5 - s5, 1) * Math.max(i6 - h2, 1); } }, i5.prototype.KR = function() { return this.Hf * this.Wm; }, i5; }(); t4.Mx = n4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.PL || (t4.PL = {}))[i4.contains = 1] = "contains", i4[i4.within = 2] = "within", i4[i4.equals = 3] = "equals", i4[i4.disjoint = 4] = "disjoint", i4[i4.touches = 8] = "touches", i4[i4.crosses = 16] = "crosses", i4[i4.overlaps = 32] = "overlaps", i4[i4.unknown = 0] = "unknown", i4[i4.intersects = 1073741824] = "intersects"; var s4 = function() { function t5() { } return t5.construct = function(i5, s5, n5, h2, r2, e2, o2, a2) { var u2 = new t5(); return u2.rw = i5, u2.Om = s5, u2.Mj = n5, u2.Ui = h2, u2.vH = r2, u2.KY = e2, u2.LY = o2, u2.MY = a2, u2; }, t5; }(); t4.Xt = function() { function i5() { } return i5.wD = function(s5, n5, h2) { if (i5.ry(s5)) { var r2 = t4.ta.mj(n5, s5, false); n5 = false, t4.Vk.wE(s5) && (n5 = n5 || s5.nu(r2, h2)), (r2 = s5.K()) != 1736 && r2 != 1607 || !t4.Vk.uE(s5) || h2 == 0 || (n5 = n5 || s5.hj(h2)), r2 != 1736 && r2 != 1607 || !t4.Vk.vE(s5) || h2 == 0 || n5 || s5.bM(); } }, i5.ry = function(i6) { return t4.Vk.wE(i6) || t4.Vk.uE(i6) || t4.Vk.vE(i6); }, i5; }(); var n4 = function() { function i5() { this.th = []; } return i5.tB = function(s5, n5, h2, r2, e2) { var o2 = s5.K(), a2 = n5.K(); if (o2 == 197) { if (a2 == 197) return i5.lW(s5, n5, h2, r2); if (a2 == 33) return r2 == 2 ? r2 = 1 : r2 == 1 && (r2 = 2), i5.bJ(n5, s5, h2, r2); } else if (o2 == 33) { if (a2 == 197) return i5.bJ(s5, n5, h2, r2); if (a2 == 33) return i5.nW(s5, n5, h2, r2); } if (s5.B() || n5.B()) return r2 == 4; var u2 = new t4.l(); s5.A(u2); var f2 = new t4.l(); n5.A(f2); var c2 = new t4.l(); if (c2.L(u2), c2.$b(f2), h2 = t4.ta.Xd(h2, c2, false), i5.ek(u2, f2, h2)) return r2 == 4; switch (u2 = false, t4.Wk.zd(o2) && ((o2 = new t4.Ua(s5.description)).oc(s5, true), s5 = o2, o2 = 1607), t4.Wk.zd(a2) && ((a2 = new t4.Ua(n5.description)).oc(n5, true), n5 = a2, a2 = 1607), o2 != 197 && a2 != 197 ? (s5.Eb() < n5.Eb() || o2 == 33 && a2 == 550) && (r2 == 2 ? r2 = 1 : r2 == 1 && (r2 = 2)) : o2 != 1736 && a2 != 197 && (r2 == 2 ? r2 = 1 : r2 == 1 && (r2 = 2)), o2) { case 1736: switch (a2) { case 1736: u2 = i5.st(s5, n5, h2, r2, e2); break; case 1607: u2 = i5.bn(s5, n5, h2, r2, e2); break; case 33: u2 = i5.rt(s5, n5, h2, r2); break; case 550: u2 = i5.qt(s5, n5, h2, r2, e2); break; case 197: u2 = i5.AI(s5, n5, h2, r2, e2); } break; case 1607: switch (a2) { case 1736: u2 = i5.bn(n5, s5, h2, r2, e2); break; case 1607: u2 = i5.aB(s5, n5, h2, r2, e2); break; case 33: u2 = i5.ut(s5, n5, h2, r2, e2); break; case 550: u2 = i5.tt(s5, n5, h2, r2, e2); break; case 197: u2 = i5.GI(s5, n5, h2, r2); } break; case 33: switch (a2) { case 1736: u2 = i5.rt(n5, s5, h2, r2); break; case 1607: u2 = i5.ut(n5, s5, h2, r2, e2); break; case 550: u2 = i5.mt(n5, s5, h2, r2); } break; case 550: switch (a2) { case 1736: u2 = i5.qt(n5, s5, h2, r2, e2); break; case 1607: u2 = i5.tt(n5, s5, h2, r2, e2); break; case 550: u2 = i5.TA(s5, n5, h2, r2, e2); break; case 33: u2 = i5.mt(s5, n5, h2, r2); break; case 197: u2 = i5.bI(s5, n5, h2, r2); } break; case 197: switch (a2) { case 1736: u2 = i5.AI(n5, s5, h2, r2, e2); break; case 1607: u2 = i5.GI(n5, s5, h2, r2); break; case 550: u2 = i5.bI(n5, s5, h2, r2); } } return u2; }, i5.lW = function(s5, n5, h2, r2) { if (s5.B() || n5.B()) return r2 == 4; var e2 = new t4.l(), o2 = new t4.l(), a2 = new t4.l(); switch (s5.A(e2), n5.A(o2), a2.L(e2), a2.$b(o2), s5 = t4.ta.Xd(h2, a2, false), r2) { case 4: return i5.ek(e2, o2, s5); case 2: return i5.dF(o2, e2, s5); case 1: return i5.dF(e2, o2, s5); case 3: return i5.fk(e2, o2, s5); case 8: return i5.XP(e2, o2, s5); case 32: return i5.WP(e2, o2, s5); case 16: return i5.VP(e2, o2, s5); } return false; }, i5.bJ = function(s5, n5, h2, r2) { if (s5.B() || n5.B()) return r2 == 4; s5 = s5.D(); var e2 = new t4.l(), o2 = new t4.l(); switch (n5.A(e2), o2.L(s5), o2.$b(e2), n5 = t4.ta.Xd(h2, o2, false), r2) { case 4: return i5.Tw(s5, e2, n5); case 2: return i5.ZA(s5, e2, n5); case 1: return i5.JU(s5, e2, n5); case 3: return i5.pI(s5, e2, n5); case 8: return i5.YA(s5, e2, n5); } return false; }, i5.nW = function(s5, n5, h2, r2) { if (s5.B() || n5.B()) return r2 == 4; s5 = s5.D(), n5 = n5.D(); var e2 = new t4.l(); switch (e2.L(s5), e2.$b(n5), h2 = t4.ta.Xd(h2, e2, false), r2) { case 4: return i5.KU(s5, n5, h2); case 2: return i5.oI(n5, s5, h2); case 1: return i5.oI(s5, n5, h2); case 3: return i5.qI(s5, n5, h2); } return false; }, i5.st = function(t5, s5, n5, h2, r2) { switch (h2) { case 4: return i5.cV(t5, s5, n5); case 2: return i5.Uw(s5, t5, n5, r2); case 1: return i5.Uw(t5, s5, n5, r2); case 3: return i5.fV(t5, s5, n5); case 8: return i5.nV(t5, s5, n5); case 32: return i5.iV(t5, s5, n5, r2); } return false; }, i5.bn = function(t5, s5, n5, h2, r2) { switch (h2) { case 4: return i5.dV(t5, s5, n5); case 1: return i5.$A(t5, s5, n5, r2); case 8: return i5.oV(t5, s5, n5, r2); case 16: return i5.ZU(t5, s5, n5); } return false; }, i5.rt = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.bV(t5, s5, n5); case 1: return i5.WU(t5, s5, n5); case 8: return i5.mV(t5, s5, n5); } return false; }, i5.qt = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.aV(t5, s5, n5); case 1: return i5.VU(t5, s5, n5); case 8: return i5.lV(t5, s5, n5); case 16: return i5.YU(t5, s5, n5); } return false; }, i5.AI = function(t5, s5, n5, h2, r2) { if (i5.$U(t5, s5, n5)) return h2 == 4; if (h2 == 4) return false; switch (h2) { case 2: return i5.pV(t5, s5, n5); case 1: return i5.UU(t5, s5, n5); case 3: return i5.eV(t5, s5, n5); case 8: return i5.kV(t5, s5, n5, r2); case 32: return i5.hV(t5, s5, n5, r2); case 16: return i5.XU(t5, s5, n5, r2); } return false; }, i5.aB = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.yV(t5, s5, n5); case 2: return i5.EI(s5, t5, n5); case 1: return i5.EI(t5, s5, n5); case 3: return i5.AV(t5, s5, n5); case 8: return i5.HI(t5, s5, n5); case 32: return i5.EV(t5, s5, n5); case 16: return i5.FI(t5, s5, n5); } return false; }, i5.ut = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.xV(t5, s5, n5); case 1: return i5.sV(t5, s5, n5); case 8: return i5.IV(t5, s5, n5); } return false; }, i5.tt = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.wV(t5, s5, n5); case 1: return i5.rV(t5, s5, n5); case 8: return i5.HV(t5, s5, n5); case 16: return i5.uV(t5, s5, n5); } return false; }, i5.GI = function(t5, s5, n5, h2) { if (i5.vV(t5, s5, n5)) return h2 == 4; if (h2 == 4) return false; switch (h2) { case 2: return i5.JV(t5, s5, n5); case 1: return i5.qV(t5, s5, n5); case 3: return i5.zV(t5, s5, n5); case 8: return i5.GV(t5, s5, n5); case 32: return i5.DV(t5, s5, n5); case 16: return i5.tV(t5, s5, n5); } return false; }, i5.TA = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.ZT(t5, s5, n5); case 2: return i5.ZH(s5, t5, n5); case 1: return i5.ZH(t5, s5, n5); case 3: return i5.aU(t5, s5, n5); case 32: return i5.gU(t5, s5, n5); } return false; }, i5.mt = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.$H(t5, s5, n5); case 2: return i5.kU(t5, s5, n5); case 1: return i5.WT(t5, s5, n5); case 3: return i5.Pw(t5, s5, n5); } return false; }, i5.bI = function(t5, s5, n5, h2) { switch (h2) { case 4: return i5.YT(t5, s5, n5); case 2: return i5.jU(t5, s5, n5); case 1: return i5.VT(t5, s5, n5); case 3: return i5.$T(t5, s5, n5); case 8: return i5.iU(t5, s5, n5); case 16: return i5.XT(t5, s5, n5); } return false; }, i5.fV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !!i5.fk(r2, e2, h2) && ((r2 = i5.qc(s5, n5, false)) != 4 && r2 != 1 && r2 != 2 && (!!i5.YH(s5, n5, h2) || (r2 = s5.Rb(), e2 = n5.Rb(), !(Math.abs(r2 - e2) > 4 * Math.max(s5.I(), n5.I()) * h2) && i5.Rz(s5, n5, h2, true)))); }, i5.cV = function(t5, s5, n5) { var h2 = i5.qc(t5, s5, true); return h2 == 4 || h2 != 1 && h2 != 2 && h2 != 1073741824 && i5.yI(t5, s5, n5); }, i5.nV = function(t5, s5, n5) { var h2 = i5.qc(t5, s5, false); return h2 != 4 && h2 != 1 && h2 != 2 && i5.CI(t5, s5, n5, null); }, i5.iV = function(t5, s5, n5, h2) { var r2 = i5.qc(t5, s5, false); return r2 != 4 && r2 != 1 && r2 != 2 && i5.zI(t5, s5, n5, h2); }, i5.Uw = function(s5, n5, h2, r2) { var e2 = new t4.l(), o2 = new t4.l(); return s5.A(e2), n5.A(o2), !!i5.Ac(e2, o2, h2) && ((e2 = i5.qc(s5, n5, false)) != 4 && e2 != 2 && (e2 == 1 || i5.vI(s5, n5, h2, r2))); }, i5.dV = function(t5, s5, n5) { var h2 = i5.qc(t5, s5, true); return h2 == 4 || h2 != 1 && h2 != 1073741824 && i5.yI(t5, s5, n5); }, i5.oV = function(t5, s5, n5, h2) { var r2 = i5.qc(t5, s5, false); return r2 != 4 && r2 != 1 && i5.DI(t5, s5, n5, h2); }, i5.ZU = function(t5, s5, n5) { var h2 = i5.qc(t5, s5, false); return h2 != 4 && h2 != 1 && i5.xI(t5, s5, n5, null); }, i5.$A = function(s5, n5, h2, r2) { var e2 = new t4.l(), o2 = new t4.l(); return s5.A(e2), n5.A(o2), !!i5.Ac(e2, o2, h2) && ((e2 = i5.qc(s5, n5, false)) != 4 && (e2 == 1 || i5.wI(s5, n5, h2, r2))); }, i5.bV = function(i6, s5, n5) { return t4.jd.EG(i6, s5, n5) == 0; }, i5.mV = function(t5, s5, n5) { return s5 = s5.D(), i5.BI(t5, s5, n5); }, i5.WU = function(t5, s5, n5) { return s5 = s5.D(), i5.uI(t5, s5, n5); }, i5.aV = function(s5, n5, h2) { var r2 = i5.qc(s5, n5, false); if (r2 == 4) return true; if (r2 == 1) return false; r2 = new t4.l(), s5.A(r2), r2.X(h2, h2); for (var e2 = new t4.h(), o2 = 0; o2 < n5.I(); o2++) if (n5.D(o2, e2), r2.contains(e2)) { var a2 = t4.jd.Zd(s5, e2, h2); if (a2 == 1 || a2 == 2) return false; } return true; }, i5.lV = function(i6, s5, n5) { var h2 = this.qc(i6, s5, false); if (h2 == 4 || h2 == 1) return false; h2 = new t4.l(), i6.A(h2), h2.X(n5, n5); for (var r2 = false, e2 = i6, o2 = false, a2 = 0; a2 < s5.I(); a2++) { var u2 = s5.Oa(a2); if (h2.contains(u2)) { if ((u2 = t4.jd.Zd(e2, u2, n5)) == 2) r2 = true; else if (u2 == 1) return false; } o2 || (!t4.Fg.Ol(i6, s5.I() - 1) || i6.Cb != null && i6.Cb.Gb != null ? e2 = i6 : (e2 = new t4.Ea(), i6.copyTo(e2), e2.hj(1)), o2 = true); } return !!r2; }, i5.YU = function(i6, s5, n5) { var h2 = this.qc(i6, s5, false); if (h2 == 4 || h2 == 1) return false; var r2 = new t4.l(); h2 = new t4.l(); var e2 = new t4.l(); i6.A(r2), s5.A(e2), h2.L(r2), h2.X(n5, n5), e2 = r2 = false; for (var o2 = i6, a2 = false, u2 = 0; u2 < s5.I(); u2++) { var f2 = s5.Oa(u2); if (h2.contains(f2) ? (f2 = t4.jd.Zd(o2, f2, n5)) == 0 ? e2 = true : f2 == 1 && (r2 = true) : e2 = true, r2 && e2) return true; a2 || (!t4.Fg.Ol(i6, s5.I() - 1) || i6.Cb != null && i6.Cb.Gb != null ? o2 = i6 : (o2 = new t4.Ea(), i6.copyTo(o2), o2.hj(1)), a2 = true); } return false; }, i5.VU = function(i6, s5, n5) { var h2 = new t4.l(), r2 = new t4.l(); if (i6.A(h2), s5.A(r2), !this.Ac(h2, r2, n5)) return false; if ((r2 = this.qc(i6, s5, false)) == 4) return false; if (r2 == 1) return true; r2 = false; for (var e2 = i6, o2 = false, a2 = 0; a2 < s5.I(); a2++) { var u2 = s5.Oa(a2); if (!h2.contains(u2)) return false; if ((u2 = t4.jd.Zd(e2, u2, n5)) == 1) r2 = true; else if (u2 == 0) return false; o2 || (!t4.Fg.Ol(i6, s5.I() - 1) || i6.Cb != null && i6.Cb.Gb != null ? e2 = i6 : (e2 = new t4.Ea(), i6.copyTo(e2), e2.hj(1)), o2 = true); } return r2; }, i5.eV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !!i5.fk(r2, e2, h2) && ((r2 = new t4.Ea()).bd(n5, false), i5.Rz(s5, r2, h2, true)); }, i5.$U = function(s5, n5, h2) { var r2 = i5.qc(s5, n5, false); if (r2 == 4) return true; if (r2 == 1 || r2 == 2) return false; var e2 = new t4.l(); if (r2 = new t4.l(), s5.A(e2), n5.A(r2), i5.Ac(r2, e2, h2)) return false; if (e2 = new t4.h(), r2.fn(e2), (n5 = t4.jd.Zd(s5, e2, h2)) != 0) return false; if (r2.UI(e2), (n5 = t4.jd.Zd(s5, e2, h2)) != 0) return false; if (r2.gn(e2), (n5 = t4.jd.Zd(s5, e2, h2)) != 0) return false; if (r2.XI(e2), (n5 = t4.jd.Zd(s5, e2, h2)) != 0) return false; n5 = s5.vb(0), (e2 = new t4.l()).L(r2), e2.X(h2, h2); for (var o2 = 0, a2 = s5.I(); o2 < a2; o2++) { var u2 = n5.read(2 * o2), f2 = n5.read(2 * o2 + 1); if (e2.contains(u2, f2)) return false; } return !i5.MG(s5, r2, h2); }, i5.kV = function(s5, n5, h2, r2) { var e2 = i5.qc(s5, n5, false); if (e2 == 4 || e2 == 1 || e2 == 2) return false; e2 = new t4.l(); var o2 = new t4.l(); return s5.A(e2), n5.A(o2), !i5.Ac(o2, e2, h2) && (o2.S() <= h2 && o2.da() <= h2 ? (n5 = n5.Kp(), i5.BI(s5, n5, h2)) : o2.S() <= h2 || o2.da() <= h2 ? (e2 = new t4.Ua(), o2 = new t4.Ta(), n5.If(0, o2), e2.nf(o2), n5.If(2, o2), e2.lineTo(o2), i5.DI(s5, e2, h2, r2)) : ((e2 = new t4.Ea()).bd(n5, false), i5.CI(s5, e2, h2, r2))); }, i5.hV = function(s5, n5, h2, r2) { var e2 = i5.qc(s5, n5, false); if (e2 == 4 || e2 == 1 || e2 == 2) return false; e2 = new t4.l(); var o2 = new t4.l(); return s5.A(e2), n5.A(o2), !(i5.Ac(o2, e2, h2) || o2.S() <= h2 || o2.da() <= h2) && ((e2 = new t4.Ea()).bd(n5, false), i5.zI(s5, e2, h2, r2)); }, i5.pV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), i5.Ac(e2, r2, h2); }, i5.UU = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !!i5.Ac(r2, e2, h2) && ((r2 = i5.qc(s5, n5, false)) != 4 && r2 != 2 && (r2 == 1 || (e2.S() <= h2 && e2.da() <= h2 ? (n5 = n5.Kp(), i5.uI(s5, n5, h2)) : e2.S() <= h2 || e2.da() <= h2 ? (e2 = new t4.Ua(), r2 = new t4.Ta(), n5.If(0, r2), e2.nf(r2), n5.If(2, r2), e2.lineTo(r2), i5.wI(s5, e2, h2, null)) : ((e2 = new t4.Ea()).bd(n5, false), i5.vI(s5, e2, h2, null))))); }, i5.XU = function(s5, n5, h2, r2) { var e2 = new t4.l(), o2 = new t4.l(); return s5.A(e2), n5.A(o2), !(i5.Ac(o2, e2, h2) || o2.da() > h2 && o2.S() > h2 || o2.da() <= h2 && o2.S() <= h2) && (e2 = new t4.Ua(), o2 = new t4.Ta(), n5.If(0, o2), e2.nf(o2), n5.If(2, o2), e2.lineTo(o2), i5.xI(s5, e2, h2, r2)); }, i5.AV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(!i5.fk(r2, e2, h2) || i5.qc(s5, n5, false) == 4) && (!!i5.YH(s5, n5, h2) || i5.Rz(s5, n5, h2, false)); }, i5.yV = function(i6, s5, n5) { return this.qc(i6, s5, false) == 4 || !!new t4.am(i6, s5, n5, true).next() && !this.NG(i6, s5, n5); }, i5.HI = function(s5, n5, h2) { if (i5.qc(s5, n5, false) == 4) return false; var r2 = new t4.ce(0); if (i5.Sz(s5, n5, h2, r2) != 0) return false; for (var e2 = new t4.de(), o2 = 0; o2 < r2.size; o2 += 2) { var a2 = r2.read(o2), u2 = r2.read(o2 + 1); e2.Du(a2, u2); } return s5 = s5.mg(), n5 = n5.mg(), s5.Gd(n5, 0, n5.I()), i5.Ow(s5, e2, h2); }, i5.FI = function(s5, n5, h2) { if (i5.qc(s5, n5, false) == 4) return false; var r2 = new t4.ce(0); if (i5.Sz(s5, n5, h2, r2) != 0) return false; for (var e2 = new t4.de(), o2 = 0; o2 < r2.size; o2 += 2) { var a2 = r2.read(o2), u2 = r2.read(o2 + 1); e2.Du(a2, u2); } return s5 = s5.mg(), n5 = n5.mg(), s5.Gd(n5, 0, n5.I()), !i5.Ow(s5, e2, h2); }, i5.EV = function(t5, s5, n5) { return i5.qc(t5, s5, false) != 4 && i5.PG(t5, s5, n5); }, i5.EI = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(!i5.Ac(r2, e2, h2) || i5.qc(s5, n5, false) == 4) && i5.Am(n5, s5, h2, false); }, i5.xV = function(t5, s5, n5) { return i5.qc(t5, s5, false) == 4 || (s5 = s5.D(), !i5.Tz(t5, s5, n5)); }, i5.IV = function(t5, s5, n5) { return i5.qc(t5, s5, false) != 4 && (s5 = s5.D(), i5.Uz(t5, s5, n5)); }, i5.sV = function(t5, s5, n5) { return i5.qc(t5, s5, false) != 4 && (s5 = s5.D(), i5.LG(t5, s5, n5)); }, i5.wV = function(t5, s5, n5) { return i5.qc(t5, s5, false) == 4 || !i5.OG(t5, s5, n5, false); }, i5.HV = function(i6, s5, n5) { if (this.qc(i6, s5, false) == 4) return false; var h2 = i6.Ha(), r2 = new t4.l(), e2 = new t4.l(), o2 = new t4.l(); i6.A(r2), s5.A(e2), r2.X(n5, n5), e2.X(n5, n5), o2.L(r2), o2.Fa(e2), r2 = null; var a2 = i6.Cb; if (a2 != null) { var u2 = a2.Gb; r2 = a2.Ao, u2 == null && (u2 = a2 = t4.ta.lj(i6, o2)); } else u2 = a2 = t4.ta.lj(i6, o2); var f2 = u2.getIterator(), c2 = null; r2 != null && (c2 = r2.getIterator()); var l2 = new t4.h(), p2 = new t4.h(), v2 = false, y2 = n5 * n5; for (r2 = new t4.rn(s5.I()), a2 = 0; a2 < s5.I(); a2++) r2.write(a2, 0); for (a2 = 0; a2 < s5.I(); a2++) if (s5.D(a2, l2), o2.contains(l2)) { if (e2.L(l2.x, l2.y, l2.x, l2.y), c2 != null && (c2.Zi(e2, n5), c2.next() == -1)) continue; f2.Zi(e2, n5); for (var b2 = f2.next(); b2 != -1; b2 = f2.next()) if (h2.Wb(u2.ka(b2)), (b2 = h2.ia()).ic(b2.fe(l2, false), p2), t4.h.zc(l2, p2) <= y2) { r2.write(a2, 1), v2 = true; break; } } if (!v2) return false; for (i6 = i6.mg(), h2 = new t4.de(), e2 = new t4.h(), a2 = 0; a2 < s5.I(); a2++) r2.read(a2) != 0 && (s5.D(a2, e2), h2.Du(e2.x, e2.y)); return this.Ow(i6, h2, n5); }, i5.uV = function(i6, s5, n5) { if (this.qc(i6, s5, false) == 4) return false; var h2 = i6.Ha(), r2 = new t4.l(), e2 = new t4.l(), o2 = new t4.l(); i6.A(r2), s5.A(e2), r2.X(n5, n5), e2.X(n5, n5), o2.L(r2), o2.Fa(e2), r2 = null; var a2 = i6.Cb; if (a2 != null) { var u2 = a2.Gb; r2 = a2.Ao, u2 == null && (u2 = a2 = t4.ta.lj(i6, o2)); } else u2 = a2 = t4.ta.lj(i6, o2); var f2 = u2.getIterator(), c2 = null; r2 != null && (c2 = r2.getIterator()); var l2 = new t4.h(), p2 = new t4.h(), v2 = false, y2 = false, b2 = n5 * n5; for (r2 = new t4.rn(s5.I()), a2 = 0; a2 < s5.I(); a2++) r2.write(a2, 0); for (a2 = 0; a2 < s5.I(); a2++) if (s5.D(a2, l2), o2.contains(l2)) { if (e2.L(l2.x, l2.y, l2.x, l2.y), c2 != null && (c2.Zi(e2, n5), c2.next() == -1)) { y2 = true; continue; } f2.Zi(e2, n5); for (var d2 = false, g2 = f2.next(); g2 != -1; g2 = f2.next()) if (h2.Wb(u2.ka(g2)), (g2 = h2.ia()).ic(g2.fe(l2, false), p2), t4.h.zc(l2, p2) <= b2) { r2.write(a2, 1), d2 = v2 = true; break; } d2 || (y2 = true); } else y2 = true; if (!v2 || !y2) return false; for (i6 = i6.mg(), h2 = new t4.de(), e2 = new t4.h(), a2 = 0; a2 < s5.I(); a2++) r2.read(a2) != 0 && (s5.D(a2, e2), h2.Du(e2.x, e2.y)); return !this.Ow(i6, h2, n5); }, i5.rV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(!i5.Ac(r2, e2, h2) || i5.qc(s5, n5, false) == 4 || !i5.OG(s5, n5, h2, true)) && (s5 = s5.mg(), !i5.aI(s5, n5, h2)); }, i5.zV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(e2.da() > h2 && e2.S() > h2) && i5.fk(r2, e2, h2); }, i5.vV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !i5.Ac(e2, r2, h2) && !i5.MG(s5, e2, h2); }, i5.GV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); if (s5.A(r2), n5.A(e2), e2.da() <= h2 && e2.S() <= h2) return e2 = n5.Kp(), i5.Uz(s5, e2, h2); if (e2.da() <= h2 || e2.S() <= h2) return e2 = new t4.Ua(), r2 = new t4.Ta(), n5.If(0, r2), e2.nf(r2), n5.If(2, r2), e2.lineTo(r2), i5.HI(s5, e2, h2); s5 = s5.Ha(), n5 = new t4.l(), r2 = new t4.l(), n5.L(e2), r2.L(e2), n5.X(-h2, -h2), r2.X(h2, h2), e2 = false; for (var o2 = new t4.l(), a2 = new t4.l(); s5.ab(); ) for (; s5.Ia(); ) { if (s5.ia().A(o2), a2.L(n5), a2.Fa(o2), !a2.B() && (a2.da() > h2 || a2.S() > h2)) return false; a2.L(r2), a2.Fa(o2), a2.B() || (e2 = true); } return e2; }, i5.DV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(i5.Ac(r2, e2, h2) || i5.Ac(e2, r2, h2) || i5.Ac(e2, r2, h2) || e2.da() > h2 && e2.S() > h2 || e2.da() <= h2 && e2.S() <= h2) && (r2 = new t4.Ua(), e2 = new t4.Ta(), n5.If(0, e2), r2.nf(e2), n5.If(2, e2), r2.lineTo(e2), i5.PG(s5, r2, h2)); }, i5.JV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); if (s5.A(r2), n5.A(e2), !i5.Ac(e2, r2, h2) || e2.da() <= h2 && e2.S() <= h2) return false; if (e2.da() <= h2 || e2.S() <= h2) return i5.Ac(e2, r2, h2); s5 = s5.Ha(), (n5 = new t4.l()).L(e2), n5.X(-h2, -h2), e2 = false, r2 = new t4.l(); for (var o2 = new t4.l(); s5.ab(); ) for (; s5.Ia(); ) s5.ia().A(r2), n5.jm(r2) ? e2 = true : (o2.L(n5), o2.Fa(r2), !o2.B() && (o2.da() > h2 || o2.S() > h2) && (e2 = true)); return e2; }, i5.qV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return n5.A(e2), s5.A(r2), !(!i5.Ac(r2, e2, h2) || e2.da() > h2 && e2.S() > h2) && (e2.da() <= h2 && e2.S() <= h2 ? (n5 = n5.Kp(), i5.LG(s5, n5, h2)) : (r2 = new t4.Ua(), e2 = new t4.Ta(), n5.If(0, e2), r2.nf(e2), n5.If(2, e2), r2.lineTo(e2), i5.Am(r2, s5, h2, false))); }, i5.tV = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); if (s5.A(r2), n5.A(e2), i5.Ac(e2, r2, h2) || e2.da() <= h2 && e2.S() <= h2) return false; if (e2.da() <= h2 || e2.S() <= h2) return r2 = new t4.Ua(), e2 = new t4.Ta(), n5.If(0, e2), r2.nf(e2), n5.If(2, e2), r2.lineTo(e2), i5.FI(s5, r2, h2); s5 = s5.Ha(), n5 = new t4.l(), (r2 = new t4.l()).L(e2), n5.L(e2), r2.X(-h2, -h2), n5.X(h2, h2); for (var o2 = e2 = false, a2 = new t4.l(), u2 = new t4.l(); s5.ab(); ) for (; s5.Ia(); ) if (s5.ia().A(a2), o2 || n5.contains(a2) || (o2 = true), e2 || (u2.L(r2), u2.Fa(a2), !u2.B() && (u2.da() > h2 || u2.S() > h2) && (e2 = true)), e2 && o2) return true; return false; }, i5.aU = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !!i5.fk(r2, e2, h2) && (!!i5.bU(s5, n5, h2) || i5.SA(s5, n5, h2, false, true, false)); }, i5.ZT = function(t5, s5, n5) { return !i5.aI(t5, s5, n5); }, i5.gU = function(t5, s5, n5) { return i5.SA(t5, s5, n5, false, false, true); }, i5.ZH = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !!i5.Ac(r2, e2, h2) && i5.SA(n5, s5, h2, true, false, false); }, i5.Ow = function(i6, s5, n5) { n5 *= n5; for (var h2 = new t4.h(), r2 = new t4.h(), e2 = 0; e2 < s5.I(); e2++) { s5.D(e2, r2); for (var o2 = false, a2 = 0; a2 < i6.I(); a2++) if (i6.D(a2, h2), t4.h.zc(h2, r2) <= n5) { o2 = true; break; } if (!o2) return false; } return true; }, i5.Pw = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), i5.fk(r2, e2, h2); }, i5.$H = function(t5, s5, n5) { return s5 = s5.D(), i5.lt(t5, s5, n5); }, i5.kU = function(t5, s5, n5) { return i5.Pw(t5, s5, n5); }, i5.WT = function(t5, s5, n5) { return !i5.$H(t5, s5, n5); }, i5.$T = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(e2.da() > h2 || e2.S() > h2) && i5.fk(r2, e2, h2); }, i5.YT = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); if (s5.A(r2), n5.A(e2), i5.Ac(e2, r2, h2)) return false; for ((n5 = new t4.l()).L(e2), n5.X(h2, h2), h2 = new t4.h(), e2 = 0; e2 < s5.I(); e2++) if (s5.D(e2, h2), n5.contains(h2)) return false; return true; }, i5.iU = function(i6, s5, n5) { var h2 = new t4.l(), r2 = new t4.l(), e2 = new t4.l(); if (s5.A(h2), h2.da() <= n5 && h2.S() <= n5) return false; if (h2.da() <= n5 || h2.S() <= n5) { s5 = new t4.h(); var o2 = false; r2.L(h2), e2.L(h2), r2.X(n5, n5), h2.da() > n5 ? e2.X(0, -n5) : e2.X(-n5, 0); for (var a2 = 0; a2 < i6.I(); a2++) if (i6.D(a2, s5), r2.contains(s5)) { if (h2.da() > n5) { if (s5.y > e2.G && s5.y < e2.H) return false; } else if (s5.x > e2.v && s5.x < e2.C) return false; o2 = true; } return o2; } for (r2.L(h2), e2.L(h2), r2.X(n5, n5), e2.X(-n5, -n5), s5 = new t4.h(), o2 = false, a2 = 0; a2 < i6.I(); a2++) if (i6.D(a2, s5), r2.contains(s5)) { if (e2.jm(s5)) return false; o2 = true; } return o2; }, i5.jU = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); if (s5.A(r2), n5.A(e2), !i5.Ac(e2, r2, h2)) return false; if (e2.da() <= h2 && e2.S() <= h2) return i5.fk(r2, e2, h2); if (e2.da() <= h2 || e2.S() <= h2) { n5 = false, r2 = new t4.l(); var o2 = new t4.l(); r2.L(e2), o2.L(e2), e2.da() > h2 ? r2.X(0, -h2) : r2.X(-h2, 0), o2.X(h2, h2); for (var a2 = new t4.h(), u2 = 0; u2 < s5.I(); u2++) { if (s5.D(u2, a2), !o2.contains(a2)) return false; e2.da() > h2 ? a2.y > r2.G && a2.y < r2.H && (n5 = true) : a2.x > r2.v && a2.x < r2.C && (n5 = true); } return n5; } for (n5 = false, r2 = new t4.l(), o2 = new t4.l(), r2.L(e2), o2.L(e2), r2.X(-h2, -h2), o2.X(h2, h2), a2 = new t4.h(), u2 = 0; u2 < s5.I(); u2++) { if (s5.D(u2, a2), !o2.contains(a2)) return false; r2.jm(a2) && (n5 = true); } return n5; }, i5.VT = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); return s5.A(r2), n5.A(e2), !(!i5.Ac(r2, e2, h2) || e2.da() > h2 || e2.S() > h2) && (n5 = n5.Kp(), !i5.lt(s5, n5, h2)); }, i5.XT = function(s5, n5, h2) { var r2 = new t4.l(), e2 = new t4.l(); if (s5.A(r2), n5.A(e2), i5.Ac(e2, r2, h2) || e2.da() <= h2 && e2.S() <= h2) return false; if (e2.da() <= h2 || e2.S() <= h2) { n5 = new t4.l(), r2 = new t4.l(), n5.L(e2), e2.da() > h2 ? n5.X(0, -h2) : n5.X(-h2, 0), r2.L(e2), r2.X(h2, h2); for (var o2 = new t4.h(), a2 = false, u2 = false, f2 = 0; f2 < s5.I(); f2++) if (s5.D(f2, o2), a2 || (e2.da() > h2 ? o2.y > n5.G && o2.y < n5.H && (a2 = true) : o2.x > n5.v && o2.x < n5.C && (a2 = true)), u2 || r2.contains(o2) || (u2 = true), a2 && u2) return true; return false; } for (n5 = new t4.l(), r2 = new t4.l(), n5.L(e2), n5.X(-h2, -h2), r2.L(e2), r2.X(h2, h2), o2 = new t4.h(), u2 = a2 = false, f2 = 0; f2 < s5.I(); f2++) if (s5.D(f2, o2), !a2 && n5.jm(o2) && (a2 = true), u2 || r2.contains(o2) || (u2 = true), a2 && u2) return true; return false; }, i5.qI = function(i6, s5, n5) { return t4.h.zc(i6, s5) <= n5 * n5; }, i5.KU = function(i6, s5, n5) { return t4.h.zc(i6, s5) > n5 * n5; }, i5.oI = function(t5, s5, n5) { return i5.qI(t5, s5, n5); }, i5.pI = function(s5, n5, h2) { var r2 = new t4.l(); return r2.L(s5), i5.fk(r2, n5, h2); }, i5.Tw = function(i6, s5, n5) { var h2 = new t4.l(); return h2.L(s5), h2.X(n5, n5), !h2.contains(i6); }, i5.YA = function(i6, s5, n5) { if (s5.da() <= n5 && s5.S() <= n5) return false; var h2 = new t4.l(), r2 = new t4.l(); if (h2.L(s5), h2.X(n5, n5), !h2.contains(i6)) return false; if (s5.da() <= n5 || s5.S() <= n5) { if (r2.L(s5), s5.da() > n5 ? r2.X(0, -n5) : r2.X(-n5, 0), s5.da() > n5) { if (i6.y > r2.G && i6.y < r2.H) return false; } else if (i6.x > r2.v && i6.x < r2.C) return false; return true; } return r2.L(s5), r2.X(-n5, -n5), !r2.jm(i6); }, i5.ZA = function(i6, s5, n5) { if (s5.da() <= n5 && s5.S() <= n5) return true; if (s5.da() <= n5 || s5.S() <= n5) { var h2 = new t4.l(); h2.L(s5), s5.da() > n5 ? h2.X(0, -n5) : h2.X(-n5, 0); var r2 = false; return s5.da() > n5 ? i6.y > h2.G && i6.y < h2.H && (r2 = true) : i6.x > h2.v && i6.x < h2.C && (r2 = true), r2; } return (h2 = new t4.l()).L(s5), h2.X(-n5, -n5), h2.jm(i6); }, i5.JU = function(t5, s5, n5) { return i5.pI(t5, s5, n5); }, i5.fk = function(t5, s5, n5) { return i5.Ac(t5, s5, n5) && i5.Ac(s5, t5, n5); }, i5.ek = function(i6, s5, n5) { var h2 = new t4.l(); return h2.L(s5), h2.X(n5, n5), !i6.isIntersecting(h2); }, i5.XP = function(s5, n5, h2) { if (s5.da() <= h2 && s5.S() <= h2) { var r2 = s5.tf(); return i5.YA(r2, n5, h2); } if (n5.da() <= h2 && n5.S() <= h2) return r2 = n5.tf(), i5.YA(r2, s5, h2); if (s5.da() > h2 && s5.S() > h2 && (n5.da() <= h2 || n5.S() <= h2) ? r2 = n5 : (r2 = s5, s5 = n5), r2.da() <= h2 || r2.S() <= h2) { if (s5.da() <= h2 || s5.S() <= h2) { n5 = new t4.zb(); var e2 = new t4.zb(), o2 = [0, 0], a2 = [0, 0], u2 = new t4.h(); return r2.fn(u2), n5.Ec(u2), r2.gn(u2), n5.Rc(u2), s5.fn(u2), e2.Ec(u2), s5.gn(u2), e2.Rc(u2), n5.Fa(e2, null, o2, a2, h2), n5.Fa(e2, null, null, null, h2) == 1 && (o2[0] == 0 || o2[1] == 1 || a2[0] == 0 || a2[1] == 1); } return n5 = new t4.l(), e2 = new t4.l(), n5.L(s5), n5.X(-h2, -h2), e2.L(n5), e2.Fa(r2), !(!e2.B() && (e2.da() > h2 || e2.S() > h2)); } return s5.X(h2, h2), (e2 = new t4.l()).L(r2), e2.Fa(s5), !(e2.B() || !e2.B() && e2.da() > h2 && e2.S() > h2); }, i5.WP = function(s5, n5, h2) { if (i5.Ac(s5, n5, h2) || i5.Ac(n5, s5, h2) || s5.da() <= h2 && s5.S() <= h2 || n5.da() <= h2 && n5.S() <= h2) return false; if (s5.da() <= h2 || s5.S() <= h2) { if (n5.da() > h2 && n5.S() > h2) return false; var r2 = new t4.zb(), e2 = new t4.zb(), o2 = [0, 0], a2 = [0, 0], u2 = new t4.h(); return s5.fn(u2), r2.Ec(u2), s5.gn(u2), r2.Rc(u2), n5.fn(u2), e2.Ec(u2), n5.gn(u2), e2.Rc(u2), r2.Fa(e2, null, o2, a2, h2), r2.Fa(e2, null, null, null, h2) == 2 && ((0 < o2[0] || 1 > o2[1]) && (0 < a2[0] || 1 > a2[1])); } return !(n5.da() <= h2 || n5.S() <= h2) && ((r2 = new t4.l()).L(s5), r2.Fa(n5), !(r2.B() || r2.da() <= h2 || r2.S() <= h2)); }, i5.dF = function(s5, n5, h2) { if (!i5.Ac(s5, n5, h2)) return false; if (s5.da() <= h2 && s5.S() <= h2) return s5 = s5.tf(), i5.ZA(s5, n5, h2); if (n5.da() <= h2 && n5.S() <= h2) return n5 = n5.tf(), i5.ZA(n5, s5, h2); if (s5.da() <= h2 || s5.S() <= h2) return i5.Ac(s5, n5, h2); if (n5.da() <= h2 || n5.S() <= h2) { var r2 = new t4.l(); return r2.L(s5), r2.X(-h2, -h2), r2.jm(n5) ? true : ((s5 = new t4.l()).L(r2), s5.Fa(n5), !(s5.B() || s5.da() <= h2 && s5.S() <= h2)); } return i5.Ac(s5, n5, h2); }, i5.VP = function(s5, n5, h2) { if (i5.Ac(s5, n5, h2) || i5.Ac(n5, s5, h2) || s5.da() <= h2 && s5.S() <= h2 || n5.da() <= h2 && n5.S() <= h2 || n5.da() > h2 && n5.S() > h2 && s5.da() > h2 && s5.S() > h2) return false; if (s5.da() > h2 && s5.S() > h2) var r2 = n5; else r2 = s5, s5 = n5; if (s5.da() > h2 && s5.S() > h2) { n5 = new t4.l(); var e2 = new t4.l(); return e2.L(s5), e2.X(-h2, -h2), n5.L(e2), n5.Fa(r2), !(n5.B() || n5.da() <= h2 && n5.S() <= h2); } n5 = new t4.zb(), e2 = new t4.zb(); var o2 = [0, 0], a2 = [0, 0], u2 = new t4.h(); return r2.fn(u2), n5.Ec(u2), r2.gn(u2), n5.Rc(u2), s5.fn(u2), e2.Ec(u2), s5.gn(u2), e2.Rc(u2), n5.Fa(e2, null, o2, a2, h2), n5.Fa(e2, null, null, null, h2) == 1 && (0 < o2[0] && 1 > o2[1] && 0 < a2[0] && 1 > a2[1]); }, i5.yI = function(i6, s5, n5) { var h2 = new t4.l(), r2 = new t4.l(), e2 = new t4.am(i6, s5, n5, true); if (!e2.next()) return true; if (this.NG(i6, s5, n5)) return false; var o2 = i6, a2 = null; s5.K() == 1736 && (a2 = s5); var u2 = false, f2 = false; do { var c2 = e2.pl(), l2 = e2.jl(); if (l2 = s5.Oa(s5.Ca(l2)), h2.L(e2.oz()), h2.X(n5, n5), h2.contains(l2) && (l2 = t4.jd.Zd(o2, l2, 0)) != 0 || s5.K() == 1736 && (c2 = i6.Oa(i6.Ca(c2)), r2.L(e2.Wy()), r2.X(n5, n5), r2.contains(c2) && (l2 = t4.jd.Zd(a2, c2, 0)) != 0)) return false; u2 || (!t4.Fg.Ol(i6, s5.ea() - 1) || i6.Cb != null && i6.Cb.Gb != null ? o2 = i6 : (o2 = new t4.Ea(), i6.copyTo(o2), o2.hj(1)), u2 = true), s5.K() != 1736 || f2 || (f2 = s5, !t4.Fg.Ol(f2, i6.ea() - 1) || s5.Cb != null && s5.Cb.Gb != null ? a2 = s5 : (a2 = new t4.Ea(), f2.copyTo(a2), a2.hj(1)), f2 = true); } while (e2.next()); return true; }, i5.Ac = function(i6, s5, n5) { var h2 = new t4.l(); return h2.L(i6), h2.X(n5, n5), h2.contains(s5); }, i5.ns = function(i6, s5, n5) { var h2 = new t4.l(); return h2.L(s5), h2.X(n5, n5), s5 = new t4.h(), i6.fn(s5), !h2.contains(s5) || (i6.UI(s5), !h2.contains(s5) || (i6.XI(s5), !h2.contains(s5) || (i6.gn(s5), !h2.contains(s5)))); }, i5.YH = function(i6, s5, n5) { if (i6.ea() != s5.ea() || i6.I() != s5.I()) return false; var h2 = new t4.h(), r2 = new t4.h(), e2 = true; n5 *= n5; for (var o2 = 0; o2 < i6.ea(); o2++) { if (i6.Wc(o2) != s5.Wc(o2)) { e2 = false; break; } for (var a2 = i6.Ca(o2); a2 < s5.Wc(o2); a2++) if (i6.D(a2, h2), s5.D(a2, r2), t4.h.zc(h2, r2) > n5) { e2 = false; break; } if (!e2) break; } return !!e2; }, i5.bU = function(i6, s5, n5) { if (i6.I() != s5.I()) return false; var h2 = new t4.h(), r2 = new t4.h(), e2 = true; n5 *= n5; for (var o2 = 0; o2 < i6.I(); o2++) if (i6.D(o2, h2), s5.D(o2, r2), t4.h.zc(h2, r2) > n5) { e2 = false; break; } return !!e2; }, i5.SA = function(i6, s5, n5, h2, r2, e2) { var o2 = false; if (i6.I() > s5.I()) { h2 && (h2 = false, o2 = true); var a2 = s5; } else a2 = i6, i6 = s5; if (s5 = null, r2 || e2 || o2) { s5 = new t4.rn(i6.I()); for (var u2 = 0; u2 < i6.I(); u2++) s5.write(u2, 0); } u2 = new t4.l(); var f2 = new t4.l(), c2 = new t4.l(); a2.A(u2), i6.A(f2), u2.X(n5, n5), f2.X(n5, n5), c2.L(u2), c2.Fa(f2), f2 = new t4.h(); for (var l2 = new t4.h(), p2 = true, v2 = t4.ta.iE(i6, c2), y2 = v2.getIterator(), b2 = n5 * n5, d2 = 0; d2 < a2.I(); d2++) if (a2.D(d2, f2), c2.contains(f2)) { var g2 = false; u2.L(f2.x, f2.y, f2.x, f2.y), y2.Zi(u2, n5); for (var w2 = y2.next(); w2 != -1 && (w2 = v2.ka(w2), i6.D(w2, l2), !(t4.h.zc(f2, l2) <= b2 && ((r2 || e2 || o2) && s5.write(w2, 1), g2 = true, h2))); w2 = y2.next()) ; if (!g2 && (p2 = false, r2 || h2)) return false; } else { if (r2 || h2) return false; p2 = false; } if (e2 && p2) return false; if (h2) return true; for (u2 = 0; u2 < i6.I(); u2++) if (s5.read(u2) == 1) { if (e2) return true; } else if (r2 || o2) return false; return !e2; }, i5.aI = function(i6, s5, n5) { if (i6.I() > s5.I()) var h2 = s5; else h2 = i6, i6 = s5; s5 = new t4.l(); var r2 = new t4.l(), e2 = new t4.l(); h2.A(s5), i6.A(r2), s5.X(n5, n5), r2.X(n5, n5), e2.L(s5), e2.Fa(r2), r2 = new t4.h(); for (var o2 = new t4.h(), a2 = n5 * n5, u2 = t4.ta.iE(i6, e2), f2 = u2.getIterator(), c2 = 0; c2 < h2.I(); c2++) if (h2.D(c2, r2), e2.contains(r2)) { s5.L(r2.x, r2.y, r2.x, r2.y), f2.Zi(s5, n5); for (var l2 = f2.next(); l2 != -1; l2 = f2.next()) if (i6.D(u2.ka(l2), o2), t4.h.zc(r2, o2) <= a2) return true; } return false; }, i5.Rz = function(t5, s5, n5, h2) { return i5.Am(t5, s5, n5, h2) && i5.Am(s5, t5, n5, h2); }, i5.Am = function(n5, h2, r2, e2) { function o2(t5, i6) { return v2.KE(t5, i6); } var a2, u2 = true, f2 = [0, 0], c2 = [0, 0], l2 = 0, p2 = new t4.ja(0), v2 = new i5(), y2 = new t4.l(), b2 = new t4.l(), d2 = new t4.l(); n5.A(y2), h2.A(b2), y2.X(r2, r2), b2.X(r2, r2), d2.L(y2), d2.Fa(b2), n5 = n5.Ha(), b2 = h2.Ha(); var g2 = null, w2 = g2 = null, x2 = h2.Cb; for (x2 != null ? (g2 = x2.Gb, w2 = x2.Ao, g2 == null && (g2 = t4.ta.lj(h2, d2))) : g2 = t4.ta.lj(h2, d2), h2 = g2.getIterator(), x2 = null, w2 != null && (x2 = w2.getIterator()); n5.ab(); ) for (; n5.Ia(); ) { var m2 = false, j2 = n5.ia(); if (j2.A(y2), !y2.isIntersecting(d2)) return false; if (x2 != null && (x2.Zi(y2, r2), x2.next() == -1)) return false; for (w2 = j2.Rb(), h2.Vo(j2, r2), a2 = h2.next(); a2 != -1; a2 = h2.next()) { b2.Wb(g2.ka(a2)), a2 = b2.ia(); var k2 = j2.Fa(a2, null, f2, c2, r2); if (k2 == 2 && (!e2 || c2[0] <= c2[1])) { k2 = f2[0]; var M2 = f2[1], z2 = c2[0], A2 = c2[1]; if (k2 * w2 <= r2 && (1 - M2) * w2 <= r2) { m2 = true, l2 = 0, p2.resize(0), v2.th.length = 0; var N2 = n5.xb(); for (z2 = true; z2; ) { if (n5.Ia()) { if (w2 = (j2 = n5.ia()).Rb(), (k2 = j2.Fa(a2, null, f2, c2, r2)) == 2 && (!e2 || c2[0] <= c2[1]) && (k2 = f2[0], M2 = f2[1], k2 * w2 <= r2 && (1 - M2) * w2 <= r2)) { N2 = n5.xb(); continue; } if (b2.Ia() && (a2 = b2.ia(), (k2 = j2.Fa(a2, null, f2, c2, r2)) == 2 && (!e2 || c2[0] <= c2[1]) && (k2 = f2[0], M2 = f2[1], k2 * w2 <= r2 && (1 - M2) * w2 <= r2))) { N2 = n5.xb(); continue; } } z2 = false; } N2 != n5.xb() && (n5.Wb(N2), n5.ia()); break; } N2 = n5.xb(), a2 = s4.construct(N2, n5.gb, k2, M2, b2.xb(), b2.gb, z2, A2), v2.th.push(a2), p2.add(p2.size); } } if (!m2) { if (l2 == v2.th.length) return false; for (1 < p2.size - l2 && p2.Wd(l2, p2.size, o2), m2 = 0; l2 < v2.th.length; l2++) if (!((a2 = v2.th[p2.get(l2)]).Mj < m2 && a2.Ui < m2)) { if (w2 * (a2.Mj - m2) > r2) return false; if (w2 * (1 - (m2 = a2.Ui)) <= r2 || m2 == 1) break; } if (w2 * (1 - m2) > r2) return false; l2 = 0, p2.resize(0), v2.th.length = 0; } } return u2; }, i5.PG = function(s5, n5, h2) { if (1 > i5.Sz(s5, n5, h2, null)) return false; var r2 = new t4.l(), e2 = new t4.l(); s5.A(r2), n5.A(e2); var o2 = i5.ns(r2, e2, h2); return r2 = i5.ns(e2, r2, h2), !(!o2 || !r2) || (o2 && !r2 ? !i5.Am(n5, s5, h2, false) : r2 && !o2 ? !i5.Am(s5, n5, h2, false) : !i5.Am(s5, n5, h2, false) && !i5.Am(n5, s5, h2, false)); }, i5.Sz = function(n5, h2, r2, e2) { function o2(t5, i6) { return y2.KE(t5, i6); } if (n5.sz() > h2.sz()) var a2 = h2, u2 = n5; else a2 = n5, u2 = h2; n5 = a2.Ha(), h2 = u2.Ha(); var f2 = [0, 0], c2 = [0, 0], l2 = -1, p2 = 0, v2 = new t4.ja(0), y2 = new i5(), b2 = new t4.l(), d2 = new t4.l(), g2 = new t4.l(); a2.A(b2), u2.A(d2), b2.X(r2, r2), d2.X(r2, r2), g2.L(b2), g2.Fa(d2), a2 = null, e2 != null && (a2 = new t4.h()); var w2 = d2 = d2 = null, x2 = u2.Cb; for (x2 != null ? (d2 = x2.Gb, w2 = x2.Ao, d2 == null && (d2 = t4.ta.lj(u2, g2))) : d2 = t4.ta.lj(u2, g2), u2 = d2.getIterator(), x2 = null, w2 != null && (x2 = w2.getIterator()); n5.ab(); ) for (w2 = 0; n5.Ia(); ) { var m2 = n5.ia(); if (m2.A(b2), b2.isIntersecting(g2)) { if (x2 != null && (x2.Zi(b2, r2), x2.next() == -1)) continue; var j2 = m2.Rb(); u2.Vo(m2, r2); for (var k2 = u2.next(); k2 != -1; k2 = u2.next()) { var M2 = d2.ka(k2); h2.Wb(M2); var z2 = h2.ia(), A2 = z2.Rb(), N2 = m2.Fa(z2, null, f2, c2, r2); if (0 < N2) { k2 = f2[0], l2 = c2[0]; var I2 = N2 == 2 ? f2[1] : NaN, P2 = N2 == 2 ? c2[1] : NaN; if (N2 == 2) { if (j2 * (I2 - k2) > r2) return 1; var C2 = j2 * (I2 - k2); if (h2.Ia()) { if (z2 = h2.ia(), (N2 = m2.Fa(z2, null, f2, null, r2)) == 2) { N2 = f2[0]; var B2 = f2[1]; if (C2 + (N2 = j2 * (B2 - N2)) > r2) return 1; } h2.Wb(M2), h2.ia(); } if (!h2.xm()) { if (h2.ni(), z2 = h2.ni(), (N2 = m2.Fa(z2, null, f2, null, r2)) == 2 && (N2 = f2[0], C2 + (N2 = j2 * ((B2 = f2[1]) - N2)) > r2)) return 1; h2.Wb(M2), h2.ia(); } if (n5.Ia()) { if (M2 = n5.xb(), (N2 = (m2 = n5.ia()).Fa(z2, null, f2, null, r2)) == 2 && (N2 = f2[0], C2 + (N2 = j2 * ((B2 = f2[1]) - N2)) > r2)) return 1; n5.Wb(M2), n5.ia(); } if (!n5.xm()) { if (M2 = n5.xb(), n5.ni(), (N2 = (m2 = n5.ni()).Fa(z2, null, f2, null, r2)) == 2 && (N2 = f2[0], C2 + (N2 = A2 * ((B2 = f2[1]) - N2)) > r2)) return 1; n5.Wb(M2), n5.ia(); } z2 = s4.construct(n5.xb(), n5.gb, k2, I2, h2.xb(), h2.gb, l2, P2), y2.th.push(z2), v2.add(v2.size); } l2 = 0, e2 != null && (m2.ic(k2, a2), e2.add(a2.x), e2.add(a2.y)); } } if (p2 < y2.th.length) { for (v2.Wd(p2, v2.size, o2), m2 = 0, k2 = y2.th[v2.get(p2)].Om; p2 < y2.th.length; p2++) if (!((z2 = y2.th[v2.get(p2)]).Mj < m2 && z2.Ui < m2)) if (j2 * (z2.Mj - m2) > r2) w2 = j2 * (z2.Ui - z2.Mj), m2 = z2.Ui, k2 = z2.Om; else { if (z2.Om != k2 ? (w2 = j2 * (z2.Ui - z2.Mj), k2 = z2.Om) : w2 += j2 * (z2.Ui - z2.Mj), w2 > r2) return 1; if ((m2 = z2.Ui) == 1) break; } j2 * (1 - m2) > r2 && (w2 = 0), p2 = 0, v2.resize(0), y2.th.length = 0; } } } return l2; }, i5.NG = function(i6, s5, n5) { var h2 = i6.Ha(), r2 = s5.Ha(); for (i6 = new t4.am(i6, s5, n5, false); i6.next(); ) { s5 = i6.pl(); var e2 = i6.jl(); if (h2.Wb(s5), r2.Wb(e2), s5 = h2.ia(), 0 < r2.ia().Fa(s5, null, null, null, n5)) return true; } return false; }, i5.OG = function(i6, s5, n5, h2) { var r2 = i6.Ha(), e2 = new t4.l(), o2 = new t4.l(), a2 = new t4.l(); i6.A(e2), s5.A(o2), e2.X(n5, n5), e2.contains(o2), o2.X(n5, n5), a2.L(e2), a2.Fa(o2), (e2 = i6.Cb) != null ? (e2 = e2.Gb) == null && (e2 = t4.ta.lj(i6, a2)) : e2 = t4.ta.lj(i6, a2), i6 = e2.getIterator(); for (var u2 = new t4.h(), f2 = new t4.h(), c2 = n5 * n5, l2 = 0; l2 < s5.I(); l2++) if (s5.D(l2, u2), a2.contains(u2)) { o2.L(u2.x, u2.y, u2.x, u2.y), i6.Zi(o2, n5); for (var p2 = false, v2 = i6.next(); v2 != -1; v2 = i6.next()) if (r2.Wb(e2.ka(v2)), (v2 = r2.ia()).ic(v2.fe(u2, false), f2), t4.h.zc(f2, u2) <= c2) { p2 = true; break; } if (h2) { if (!p2) return false; } else if (p2) return true; } return !!h2; }, i5.Tz = function(i6, s5, n5) { var h2 = new t4.h(), r2 = n5 * n5, e2 = i6.Ha(); if ((i6 = i6.Cb) != null && (i6 = i6.Gb) != null) { var o2 = new t4.l(); for (o2.L(s5), o2 = (n5 = i6.GF(o2, n5)).next(); o2 != -1; o2 = n5.next()) if (e2.Wb(i6.ka(o2)), e2.Ia()) { var a2 = (o2 = e2.ia()).fe(s5, false); if (o2.ic(a2, h2), t4.h.zc(s5, h2) <= r2) return true; } return false; } for (i6 = new t4.l(); e2.ab(); ) for (; e2.Ia(); ) if ((o2 = e2.ia()).A(i6), i6.X(n5, n5), i6.contains(s5) && (a2 = o2.fe(s5, false), o2.ic(a2, h2), t4.h.zc(s5, h2) <= r2)) return true; return false; }, i5.LG = function(t5, s5, n5) { return i5.Tz(t5, s5, n5) && !i5.Uz(t5, s5, n5); }, i5.Uz = function(t5, s5, n5) { return t5 = t5.mg(), !i5.lt(t5, s5, n5); }, i5.MG = function(i6, s5, n5) { if (i6.vm()) { var h2 = new t4.zb(s5.v, s5.G, s5.v, s5.H), r2 = new t4.zb(s5.v, s5.H, s5.C, s5.H), e2 = new t4.zb(s5.C, s5.H, s5.C, s5.G); for (s5 = new t4.zb(s5.C, s5.G, s5.v, s5.G), i6 = i6.Ha(); i6.ab(); ) for (; i6.Ia(); ) { var o2 = i6.ia(); if (o2.isIntersecting(h2, n5) || o2.isIntersecting(r2, n5) || o2.isIntersecting(e2, n5) || o2.isIntersecting(s5, n5)) return true; } } else { (h2 = new t4.l()).L(s5), h2.X(n5, n5), n5 = i6.vb(0), r2 = new t4.h(), e2 = new t4.h(), s5 = new t4.h(), o2 = new t4.h(); for (var a2 = 0, u2 = i6.ea(); a2 < u2; a2++) for (var f2 = true, c2 = i6.Ca(a2), l2 = i6.Wc(a2); c2 < l2; c2++) if (f2) n5.uc(2 * c2, e2), f2 = false; else { if (n5.uc(2 * c2, r2), s5.N(e2), o2.N(r2), h2.uy(s5, o2) != 0) return true; e2.N(r2); } } return false; }, i5.qc = function(s5, n5, h2) { var r2 = s5.K(), e2 = n5.K(); if (t4.ba.zj(r2)) { var o2 = s5.Cb; if (o2 != null && (o2 = o2.Gk) != null) if (e2 == 33) { var a2 = n5.D(); if ((a2 = o2.To(a2.x, a2.y)) == 1) return 1; if (a2 == 0) return 4; } else { if (a2 = new t4.l(), n5.A(a2), (a2 = o2.So(a2)) == 1) return 1; if (a2 == 0) return 4; if (h2 && t4.ba.zj(e2) && i5.BE(n5, o2)) return 1073741824; } } if (t4.ba.zj(e2) && ((o2 = n5.Cb) != null && (o2 = o2.Gk) != null)) if (r2 == 33) { if (s5 = s5.D(), (a2 = o2.To(s5.x, s5.y)) == 1) return 2; if (a2 == 0) return 4; } else { if (n5 = new t4.l(), s5.A(n5), (a2 = o2.So(n5)) == 1) return 2; if (a2 == 0) return 4; if (h2 && t4.ba.zj(r2) && i5.BE(s5, o2)) return 1073741824; } return 0; }, i5.BE = function(i6, s5) { for (var n5 = i6.I(), h2 = new t4.h(), r2 = 0; r2 < n5; r2++) if (i6.D(r2, h2), s5.To(h2.x, h2.y) == 1) return true; return false; }, i5.CI = function(i6, s5, n5, h2) { for (var r2 = 1 <= i6.qm(0) && 1 <= s5.qm(0), e2 = i6.Ha(), o2 = s5.Ha(), a2 = [0, 0], u2 = [0, 0], f2 = new t4.am(i6, s5, n5, false), c2 = false; f2.next(); ) { var l2 = f2.pl(), p2 = f2.jl(); if (e2.Wb(l2), o2.Wb(p2), l2 = e2.ia(), (p2 = o2.ia().Fa(l2, null, u2, a2, n5)) == 2) { if (c2 = a2[0], p2 = a2[1], l2 = l2.Rb(), r2 && (p2 - c2) * l2 > n5) return false; c2 = true; } else if (p2 != 0) { if (c2 = a2[0], l2 = u2[0], 0 < c2 && 1 > c2 && 0 < l2 && 1 > l2) return false; c2 = true; } } return !!c2 && (e2 = new t4.l(), o2 = new t4.l(), r2 = new t4.l(), i6.A(e2), s5.A(o2), e2.X(1e3 * n5, 1e3 * n5), o2.X(1e3 * n5, 1e3 * n5), r2.L(e2), r2.Fa(o2), !(10 < i6.I() && (i6 = t4.Vd.clip(i6, r2, n5, 0), i6.B()) || 10 < s5.I() && (s5 = t4.Vd.clip(s5, r2, n5, 0), s5.B())) && t4.cm.st(i6, s5, n5, "F********", h2)); }, i5.zI = function(s5, n5, h2, r2) { var e2 = 1 <= s5.qm(0) && 1 <= n5.qm(0), o2 = new t4.l(), a2 = new t4.l(), u2 = new t4.l(); s5.A(o2), n5.A(a2); for (var f2 = false, c2 = i5.ns(o2, a2, h2), l2 = i5.ns(a2, o2, h2), p2 = s5.Ha(), v2 = n5.Ha(), y2 = [0, 0], b2 = [0, 0], d2 = new t4.am(s5, n5, h2, false); d2.next(); ) { var g2 = d2.pl(), w2 = d2.jl(); if (p2.Wb(g2), v2.Wb(w2), w2 = p2.ia(), (g2 = v2.ia().Fa(w2, null, b2, y2, h2)) == 2) { g2 = y2[0]; var x2 = y2[1]; if (w2 = w2.Rb(), e2 && (x2 - g2) * w2 > h2 && (f2 = true, c2 && l2)) return true; } else if (g2 != 0 && (g2 = y2[0], w2 = b2[0], 0 < g2 && 1 > g2 && 0 < w2 && 1 > w2)) return true; } if (e2 = new t4.l(), p2 = new t4.l(), e2.L(o2), e2.X(1e3 * h2, 1e3 * h2), p2.L(a2), p2.X(1e3 * h2, 1e3 * h2), u2.L(e2), u2.Fa(p2), o2 = "", o2 = f2 ? o2 + "**" : o2 + "T*", c2) { if (10 < n5.I() && (n5 = t4.Vd.clip(n5, u2, h2, 0)).B()) return false; o2 += "****"; } else o2 += "T***"; if (l2) { if (10 < s5.I() && (s5 = t4.Vd.clip(s5, u2, h2, 0)).B()) return false; o2 += "***"; } else o2 += "T**"; return t4.cm.st(s5, n5, h2, o2.toString(), r2); }, i5.vI = function(s5, n5, h2, r2) { var e2 = [false], o2 = i5.tI(s5, n5, h2, e2); return e2[0] ? o2 : (e2 = new t4.l(), n5.A(e2), e2.X(1e3 * h2, 1e3 * h2), !(10 < s5.I() && (s5 = t4.Vd.clip(s5, e2, h2, 0), s5.B())) && t4.cm.Uw(s5, n5, h2, r2)); }, i5.tI = function(i6, s5, n5, h2) { h2[0] = false; for (var r2 = i6.Ha(), e2 = s5.Ha(), o2 = [0, 0], a2 = [0, 0], u2 = new t4.am(i6, s5, n5, false), f2 = false; u2.next(); ) { var c2 = u2.pl(), l2 = u2.jl(); if (r2.Wb(c2, -1), e2.Wb(l2, -1), c2 = r2.ia(), (c2 = e2.ia().Fa(c2, null, a2, o2, n5)) != 0 && (f2 = true, c2 == 1 && (c2 = o2[0], l2 = a2[0], 0 < c2 && 1 > c2 && 0 < l2 && 1 > l2))) return h2[0] = true, false; } if (!f2) { for (h2[0] = true, o2 = new t4.l(), i6.A(o2), o2.X(n5, n5), u2 = i6, f2 = false, a2 = new t4.l(), h2 = 0, r2 = s5.ea(); h2 < r2; h2++) if (0 < s5.Ka(h2)) { if (s5.Tj(h2, a2), !o2.isIntersecting(a2)) return false; if (e2 = s5.Oa(s5.Ca(h2)), (e2 = t4.Fg.ym(u2, e2, 0)) == 0) return false; f2 || (!t4.Fg.Ol(i6, s5.ea() - 1) || i6.Cb != null && i6.Cb.Gb != null ? u2 = i6 : (e2 = new t4.Ea(), i6.copyTo(e2), e2.hj(1), u2 = e2), f2 = true); } if (i6.ea() == 1 || s5.K() == 1607) return true; for (o2 = new t4.l(), s5.A(o2), o2.X(n5, n5), a2 = s5, u2 = false, n5 = new t4.l(), h2 = 0, r2 = i6.ea(); h2 < r2; h2++) if (0 < i6.Ka(h2)) { if (i6.Tj(h2, n5), o2.isIntersecting(n5) && (e2 = i6.Oa(i6.Ca(h2)), (e2 = t4.Fg.ym(a2, e2, 0)) == 1)) return false; u2 || (!t4.Fg.Ol(s5, i6.ea() - 1) || s5.Cb != null && s5.Cb.Gb != null ? a2 = s5 : (e2 = new t4.Ea(), s5.copyTo(e2), e2.hj(1), a2 = e2), u2 = true); } return true; } return false; }, i5.DI = function(i6, s5, n5, h2) { for (var r2 = i6.Ha(), e2 = s5.Ha(), o2 = [0, 0], a2 = [0, 0], u2 = new t4.am(i6, s5, n5, false), f2 = false; u2.next(); ) { var c2 = u2.pl(), l2 = u2.jl(); if (r2.Wb(c2), e2.Wb(l2), c2 = r2.ia(), (c2 = e2.ia().Fa(c2, null, a2, o2, n5)) == 2) f2 = true; else if (c2 != 0) { if (f2 = o2[0], c2 = a2[0], 0 < f2 && 1 > f2 && 0 < c2 && 1 > c2) return false; f2 = true; } } return !!f2 && (e2 = new t4.l(), o2 = new t4.l(), r2 = new t4.l(), i6.A(e2), s5.A(o2), e2.X(1e3 * n5, 1e3 * n5), o2.X(1e3 * n5, 1e3 * n5), r2.L(e2), r2.Fa(o2), !(10 < i6.I() && (i6 = t4.Vd.clip(i6, r2, n5, 0), i6.B()) || 10 < s5.I() && (s5 = t4.Vd.clip(s5, r2, n5, 0), s5.B())) && t4.cm.bn(i6, s5, n5, "F********", h2)); }, i5.xI = function(s5, n5, h2, r2) { for (var e2 = s5.Ha(), o2 = n5.Ha(), a2 = [0, 0], u2 = [0, 0], f2 = new t4.am(s5, n5, h2, false), c2 = false; f2.next(); ) { var l2 = f2.pl(), p2 = f2.jl(); if (e2.Wb(l2), o2.Wb(p2), l2 = e2.ia(), (l2 = o2.ia().Fa(l2, null, u2, a2, h2)) == 2) c2 = true; else if (l2 != 0) { if (c2 = a2[0], l2 = u2[0], 0 < c2 && 1 > c2 && 0 < l2 && 1 > l2) return true; c2 = true; } } return !!c2 && (o2 = new t4.l(), a2 = new t4.l(), u2 = new t4.l(), f2 = new t4.l(), e2 = new t4.l(), s5.A(o2), n5.A(a2), i5.ns(a2, o2, h2) ? (u2.L(o2), u2.X(1e3 * h2, 1e3 * h2), f2.L(a2), f2.X(1e3 * h2, 1e3 * h2), e2.L(u2), e2.Fa(f2), !(10 < s5.I() && (s5 = t4.Vd.clip(s5, e2, h2, 0), s5.B()) || 10 < n5.I() && (n5 = t4.Vd.clip(n5, e2, h2, 0), n5.B())) && (h2 = t4.cm.bn(s5, n5, h2, "T********", r2))) : h2 = t4.cm.bn(s5, n5, h2, "T*****T**", r2)); }, i5.wI = function(s5, n5, h2, r2) { var e2 = [false], o2 = i5.tI(s5, n5, h2, e2); return e2[0] ? o2 : (e2 = new t4.l(), n5.A(e2), e2.X(1e3 * h2, 1e3 * h2), !(10 < s5.I() && (s5 = t4.Vd.clip(s5, e2, h2, 0), s5.B())) && t4.cm.$A(s5, n5, h2, r2)); }, i5.uI = function(i6, s5, n5) { return t4.jd.Zd(i6, s5, n5) == 1; }, i5.BI = function(i6, s5, n5) { return t4.jd.Zd(i6, s5, n5) == 2; }, i5.lt = function(i6, s5, n5) { var h2 = new t4.h(); n5 *= n5; for (var r2 = 0; r2 < i6.I(); r2++) if (i6.D(r2, h2), t4.h.zc(h2, s5) <= n5) return false; return true; }, i5.prototype.KE = function(t5, i6) { return t5 = this.th[t5], i6 = this.th[i6], t5.Om < i6.Om || t5.Om == i6.Om && (t5.rw < i6.rw || t5.rw == i6.rw && (t5.Mj < i6.Mj || t5.Mj == i6.Mj && (t5.Ui < i6.Ui || t5.Ui == i6.Ui && t5.vH < i6.vH))) ? -1 : 1; }, i5; }(); t4.vd = n4; }(V || (V = {})), function(t4) { var i4, s4, n4; (s4 = i4 || (i4 = {}))[s4.InteriorInterior = 0] = "InteriorInterior", s4[s4.InteriorBoundary = 1] = "InteriorBoundary", s4[s4.InteriorExterior = 2] = "InteriorExterior", s4[s4.BoundaryInterior = 3] = "BoundaryInterior", s4[s4.BoundaryBoundary = 4] = "BoundaryBoundary", s4[s4.BoundaryExterior = 5] = "BoundaryExterior", s4[s4.ExteriorInterior = 6] = "ExteriorInterior", s4[s4.ExteriorBoundary = 7] = "ExteriorBoundary", s4[s4.ExteriorExterior = 8] = "ExteriorExterior", function(t5) { t5[t5.AreaAreaPredicates = 0] = "AreaAreaPredicates", t5[t5.AreaLinePredicates = 1] = "AreaLinePredicates", t5[t5.LineLinePredicates = 2] = "LineLinePredicates", t5[t5.AreaPointPredicates = 3] = "AreaPointPredicates", t5[t5.LinePointPredicates = 4] = "LinePointPredicates", t5[t5.PointPointPredicates = 5] = "PointPointPredicates"; }(n4 || (n4 = {})), i4 = function() { function i5() { this.le = 0, this.j = new t4.ku(), this.J = [0, 0, 0, 0, 0, 0, 0, 0, 0], this.$a = [0, 0, 0, 0, 0, 0, 0, 0, 0], this.fa = [false, false, false, false, false, false, false, false, false], this.Um = this.xw = -1; } return i5.sB = function(i6, s5, n5, h2, r2) { if (h2.length != 9) throw t4.i.ga("relation string length has to be 9 characters"); for (var e2 = 0; 9 > e2; e2++) { var o2 = h2.charAt(e2); if (o2 != "*" && o2 != "T" && o2 != "F" && o2 != "0" && o2 != "1" && o2 != "2") throw t4.i.ga("relation string"); } if ((e2 = this.FR(h2, i6.Eb(), s5.Eb())) != 0) return t4.vd.tB(i6, s5, n5, e2, r2); e2 = new t4.l(), i6.A(e2), o2 = new t4.l(), s5.A(o2); var a2 = new t4.l(); if (a2.L(e2), a2.$b(o2), n5 = t4.ta.Xd(n5, a2, false), i6 = this.QE(i6, n5), s5 = this.QE(s5, n5), i6.B() || s5.B()) return this.mW(i6, s5, h2); switch (e2 = s5.K(), o2 = false, i6.K()) { case 1736: switch (e2) { case 1736: o2 = this.st(i6, s5, n5, h2, r2); break; case 1607: o2 = this.bn(i6, s5, n5, h2, r2); break; case 33: o2 = this.rt(i6, s5, n5, h2); break; case 550: o2 = this.qt(i6, s5, n5, h2, r2); } break; case 1607: switch (e2) { case 1736: o2 = this.bn(s5, i6, n5, this.aq(h2), r2); break; case 1607: o2 = this.aB(i6, s5, n5, h2, r2); break; case 33: o2 = this.ut(i6, s5, n5, h2, r2); break; case 550: o2 = this.tt(i6, s5, n5, h2, r2); } break; case 33: switch (e2) { case 1736: o2 = this.rt(s5, i6, n5, this.aq(h2)); break; case 1607: o2 = this.ut(s5, i6, n5, this.aq(h2), r2); break; case 33: o2 = this.SU(i6, s5, n5, h2); break; case 550: o2 = this.mt(s5, i6, n5, this.aq(h2)); } break; case 550: switch (e2) { case 1736: o2 = this.qt(s5, i6, n5, this.aq(h2), r2); break; case 1607: o2 = this.tt(s5, i6, n5, this.aq(h2), r2); break; case 550: o2 = this.TA(i6, s5, n5, h2, r2); break; case 33: o2 = this.mt(i6, s5, n5, h2); } break; default: o2 = false; } return o2; }, i5.st = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.rJ(); var a2 = new t4.l(), u2 = new t4.l(); return s5.A(a2), n5.A(u2), r2 = false, t4.vd.ek(a2, u2, h2) && (o2.Eu(s5, n5), r2 = true), r2 || ((a2 = t4.vd.qc(s5, n5, false)) == 4 ? (o2.Eu(s5, n5), r2 = true) : a2 == 1 ? (o2.hy(n5), r2 = true) : a2 == 2 && (o2.TD(s5), r2 = true)), r2 || (s5 = (r2 = new t4.hd()).Ib(s5), n5 = r2.Ib(n5), o2.Xo(r2, h2, e2), o2.Dp(s5, n5), o2.j.Wg()), i5.fg(o2.J, o2.Yc); }, i5.Uw = function(s5, n5, h2, r2) { var e2 = new i5(); e2.$i(), e2.dj("T*****F**"), e2.rJ(); var o2 = new t4.l(), a2 = new t4.l(); s5.A(o2), n5.A(a2); var u2 = false; return t4.vd.ek(o2, a2, h2) && (e2.Eu(s5, n5), u2 = true), u2 || ((o2 = t4.vd.qc(s5, n5, false)) == 4 ? (e2.Eu(s5, n5), u2 = true) : o2 == 1 ? (e2.hy(n5), u2 = true) : o2 == 2 && (e2.TD(s5), u2 = true)), u2 ? this.fg(e2.J, e2.Yc) : (s5 = (u2 = new t4.hd()).Ib(s5), o2 = u2.Ib(n5), t4.Uk.W(u2, h2, r2, false), h2 = u2.Ke(o2).mg(), u2.Ip(0, true, true), t4.tn.W(u2, s5, -1, false, r2), u2.I(s5) != 0 && (t4.tn.W(u2, o2, -1, false, r2), e2.gr(u2, r2), (n5 = u2.I(o2) == 0) || (e2.Dp(s5, o2), e2.j.Wg(), o2 = this.fg(e2.J, e2.Yc)) ? (s5 = u2.Ke(s5), s5 = (u2 = new t4.hd()).Ib(s5), o2 = u2.Ib(h2), e2.gr(u2, r2), e2.le = 0, e2.$i(), e2.dj(n5 ? "T*****F**" : "******F**"), e2.CB(), e2.Dp(s5, o2), e2.j.Wg(), this.fg(e2.J, e2.Yc)) : o2)); }, i5.bn = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.CB(); var a2 = new t4.l(), u2 = new t4.l(); return s5.A(a2), n5.A(u2), r2 = false, t4.vd.ek(a2, u2, h2) && (o2.Fu(s5, n5), r2 = true), r2 || ((a2 = t4.vd.qc(s5, n5, false)) == 4 ? (o2.Fu(s5, n5), r2 = true) : a2 == 1 && (o2.UD(n5), r2 = true)), r2 || (s5 = (r2 = new t4.hd()).Ib(s5), n5 = r2.Ib(n5), o2.Xo(r2, h2, e2), o2.mh = o2.j.Fp(), i5.Lw(n5, o2.j, o2.mh), o2.Dp(s5, n5), o2.j.Gp(o2.mh), o2.j.Wg()), i5.fg(o2.J, o2.Yc); }, i5.$A = function(s5, n5, h2, r2) { var e2 = new i5(); e2.$i(), e2.dj("T*****F**"), e2.CB(); var o2 = new t4.l(), a2 = new t4.l(); s5.A(o2), n5.A(a2); var u2 = false; return t4.vd.ek(o2, a2, h2) && (e2.Fu(s5, n5), u2 = true), u2 || ((o2 = t4.vd.qc(s5, n5, false)) == 4 ? (e2.Fu(s5, n5), u2 = true) : o2 == 1 && (e2.UD(n5), u2 = true)), u2 ? this.fg(e2.J, e2.Yc) : (s5 = (u2 = new t4.hd()).Ib(s5), n5 = u2.Ib(n5), e2.Xo(u2, h2, r2), u2.I(s5) != 0 && (e2.Dp(s5, n5), e2.j.Wg(), this.fg(e2.J, e2.Yc))); }, i5.qt = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.sJ(); var a2 = new t4.l(), u2 = new t4.l(); return s5.A(a2), n5.A(u2), r2 = false, t4.vd.ek(a2, u2, h2) && (o2.Gu(s5), r2 = true), r2 || ((a2 = t4.vd.qc(s5, n5, false)) == 4 ? (o2.Gu(s5), r2 = true) : a2 == 1 && (o2.tN(), r2 = true)), r2 || (s5 = (r2 = new t4.hd()).Ib(s5), n5 = r2.Ib(n5), o2.Xo(r2, h2, e2), o2.By(s5, n5), o2.j.Wg()), i5.fg(o2.J, o2.Yc); }, i5.aB = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.WW(), r2 = new t4.l(); var a2 = new t4.l(); s5.A(r2), n5.A(a2); var u2 = false; return t4.vd.ek(r2, a2, h2) && (o2.JG(s5, n5), u2 = true), u2 || t4.vd.qc(s5, n5, false) != 4 || (o2.JG(s5, n5), u2 = true), u2 || (s5 = (r2 = new t4.hd()).Ib(s5), n5 = r2.Ib(n5), o2.Xo(r2, h2, e2), o2.$h = o2.j.Fp(), o2.mh = o2.j.Fp(), i5.Lw(s5, o2.j, o2.$h), i5.Lw(n5, o2.j, o2.mh), o2.Dp(s5, n5), o2.j.Gp(o2.$h), o2.j.Gp(o2.mh), o2.j.Wg()), i5.fg(o2.J, o2.Yc); }, i5.tt = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.GJ(), r2 = new t4.l(); var a2 = new t4.l(); s5.A(r2), n5.A(a2); var u2 = false; return t4.vd.ek(r2, a2, h2) && (o2.Qz(s5), u2 = true), u2 || t4.vd.qc(s5, n5, false) != 4 || (o2.Qz(s5), u2 = true), u2 || (s5 = (r2 = new t4.hd()).Ib(s5), n5 = r2.Ib(n5), o2.Xo(r2, h2, e2), o2.$h = o2.j.Fp(), i5.Lw(s5, o2.j, o2.$h), o2.By(s5, n5), o2.j.Gp(o2.$h), o2.j.Wg()), i5.fg(o2.J, o2.Yc); }, i5.TA = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.LJ(), r2 = new t4.l(); var a2 = new t4.l(); s5.A(r2), n5.A(a2); var u2 = false; return t4.vd.ek(r2, a2, h2) && (o2.sI(), u2 = true), u2 || (s5 = (r2 = new t4.hd()).Ib(s5), n5 = r2.Ib(n5), o2.Xo(r2, h2, e2), o2.By(s5, n5), o2.j.Wg()), i5.fg(o2.J, o2.Yc); }, i5.rt = function(s5, n5, h2, r2) { var e2 = new i5(); e2.$i(), e2.dj(r2), e2.sJ(); var o2 = new t4.l(); s5.A(o2), n5 = n5.D(); var a2 = false; return t4.vd.Tw(n5, o2, h2) && (e2.Gu(s5), a2 = true), a2 || ((h2 = t4.jd.Zd(s5, n5, h2)) == 1 ? (e2.J[0] = 0, e2.J[2] = 2, e2.J[3] = -1, e2.J[5] = 1, e2.J[6] = -1) : h2 == 2 ? (e2.J[6] = -1, s5.He() != 0 ? (e2.J[0] = -1, e2.J[3] = 0, e2.J[2] = 2, e2.J[5] = 1) : (e2.J[0] = 0, e2.J[3] = -1, e2.J[5] = -1, h2 = new t4.l(), s5.A(h2), e2.J[2] = h2.da() == 0 && h2.S() == 0 ? -1 : 1)) : e2.Gu(s5)), this.fg(e2.J, r2); }, i5.ut = function(s5, n5, h2, r2, e2) { var o2 = new i5(); o2.$i(), o2.dj(r2), o2.GJ(); var a2 = new t4.l(); s5.A(a2), r2 = n5.D(); var u2 = false; if (t4.vd.Tw(r2, a2, h2) && (o2.Qz(s5), u2 = true), !u2) { a2 = null; var f2 = u2 = false; (o2.fa[0] || o2.fa[6]) && (t4.vd.Tz(s5, r2, h2) ? (o2.fa[0] && (a2 = t4.si.im(s5, e2), f2 = !t4.vd.lt(a2, r2, h2), u2 = true, o2.J[0] = f2 ? -1 : 0), o2.J[6] = -1) : (o2.J[0] = -1, o2.J[6] = 0)), o2.fa[3] && (a2 != null && a2.B() ? o2.J[3] = -1 : (u2 || (a2 == null && (a2 = t4.si.im(s5, e2)), f2 = !t4.vd.lt(a2, r2, h2), u2 = true), o2.J[3] = f2 ? 0 : -1)), o2.fa[5] && (a2 != null && a2.B() ? o2.J[5] = -1 : u2 && !f2 ? o2.J[5] = 0 : (a2 == null && (a2 = t4.si.im(s5, e2)), e2 = t4.vd.Pw(a2, n5, h2), o2.J[5] = e2 ? -1 : 0)), o2.fa[2] && (s5.Rb() != 0 ? o2.J[2] = 1 : ((e2 = new t4.de(s5.description)).Gd(s5, 0, s5.I()), s5 = t4.vd.Pw(e2, n5, h2), o2.J[2] = s5 ? -1 : 0)); } return this.fg(o2.J, o2.Yc); }, i5.mt = function(s5, n5, h2, r2) { var e2 = new i5(); e2.$i(), e2.dj(r2), e2.LJ(); var o2 = new t4.l(); s5.A(o2), n5 = n5.D(); var a2 = false; if (t4.vd.Tw(n5, o2, h2) && (e2.sI(), a2 = true), !a2) { o2 = false, a2 = true, h2 *= h2; for (var u2 = 0; u2 < s5.I(); u2++) { var f2 = s5.Oa(u2); if (t4.h.zc(f2, n5) <= h2 ? o2 = true : a2 = false, o2 && !a2) break; } o2 ? (e2.J[0] = 0, e2.J[2] = a2 ? -1 : 0, e2.J[6] = -1) : (e2.J[0] = -1, e2.J[2] = 0, e2.J[6] = 0); } return i5.fg(e2.J, r2); }, i5.SU = function(s5, n5, h2, r2) { s5 = s5.D(), n5 = n5.D(); for (var e2 = [], o2 = 0; 9 > o2; o2++) e2[o2] = -1; return t4.h.zc(s5, n5) <= h2 * h2 ? e2[0] = 0 : (e2[2] = 0, e2[6] = 0), e2[8] = 2, i5.fg(e2, r2); }, i5.fg = function(t5, i6) { for (var s5 = 0; 9 > s5; s5++) switch (i6.charAt(s5)) { case "T": if (t5[s5] == -1) return false; break; case "F": if (t5[s5] != -1) return false; break; case "0": if (t5[s5] != 0) return false; break; case "1": if (t5[s5] != 1) return false; break; case "2": if (t5[s5] != 2) return false; } return true; }, i5.mW = function(i6, s5, n5) { var h2 = [-1, -1, -1, -1, -1, -1, -1, -1, -1]; if (i6.B() && s5.B()) { for (var r2 = 0; 9 > r2; r2++) h2[r2] = -1; return this.fg(h2, n5); } return r2 = false, i6.B() && (i6 = s5, r2 = true), h2[0] = -1, h2[1] = -1, h2[3] = -1, h2[4] = -1, h2[6] = -1, h2[7] = -1, h2[8] = 2, s5 = i6.K(), t4.ba.Ic(s5) ? s5 == 1736 ? i6.He() != 0 ? (h2[2] = 2, h2[5] = 1) : (h2[5] = -1, s5 = new t4.l(), i6.A(s5), h2[2] = s5.da() == 0 && s5.S() == 0 ? 0 : 1) : (s5 = i6.Rb() != 0, h2[2] = s5 ? 1 : 0, h2[5] = t4.si.cq(i6) ? 0 : -1) : (h2[2] = 0, h2[5] = -1), r2 && this.pK(h2), this.fg(h2, n5); }, i5.FR = function(t5, s5, n5) { return i5.YP(t5) ? 3 : i5.OP(t5) ? 4 : i5.VX(t5, s5, n5) ? 8 : i5.wP(t5, s5, n5) ? 16 : i5.ZO(t5) ? 1 : i5.wU(t5, s5, n5) ? 32 : 0; }, i5.YP = function(t5) { return t5.charAt(0) == "T" && t5.charAt(1) == "*" && t5.charAt(2) == "F" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "F" && t5.charAt(6) == "F" && t5.charAt(7) == "F" && t5.charAt(8) == "*"; }, i5.OP = function(t5) { return t5.charAt(0) == "F" && t5.charAt(1) == "F" && t5.charAt(2) == "*" && t5.charAt(3) == "F" && t5.charAt(4) == "F" && t5.charAt(5) == "*" && t5.charAt(6) == "*" && t5.charAt(7) == "*" && t5.charAt(8) == "*"; }, i5.VX = function(t5, i6, s5) { return (i6 != 0 || s5 != 0) && ((i6 != 2 || s5 != 2) && (t5.charAt(0) == "F" && t5.charAt(1) == "*" && t5.charAt(2) == "*" && t5.charAt(3) == "T" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "*" && t5.charAt(7) == "*" && t5.charAt(8) == "*" || i6 == 1 && s5 == 1 && t5.charAt(0) == "F" && t5.charAt(1) == "T" && t5.charAt(2) == "*" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "*" && t5.charAt(7) == "*" && t5.charAt(8) == "*") || s5 != 0 && t5.charAt(0) == "F" && t5.charAt(1) == "*" && t5.charAt(2) == "*" && t5.charAt(3) == "*" && t5.charAt(4) == "T" && t5.charAt(5) == "*" && t5.charAt(6) == "*" && t5.charAt(7) == "*" && t5.charAt(8) == "*"); }, i5.wP = function(t5, i6, s5) { return i6 > s5 ? t5.charAt(0) == "T" && t5.charAt(1) == "*" && t5.charAt(2) == "*" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "T" && t5.charAt(7) == "*" && t5.charAt(8) == "*" : i6 == 1 && s5 == 1 && t5.charAt(0) == "0" && t5.charAt(1) == "*" && t5.charAt(2) == "*" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "*" && t5.charAt(7) == "*" && t5.charAt(8) == "*"; }, i5.ZO = function(t5) { return t5.charAt(0) == "T" && t5.charAt(1) == "*" && t5.charAt(2) == "*" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "F" && t5.charAt(7) == "F" && t5.charAt(8) == "*"; }, i5.wU = function(t5, i6, s5) { if (i6 == s5) { if (i6 != 1) return t5.charAt(0) == "T" && t5.charAt(1) == "*" && t5.charAt(2) == "T" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "T" && t5.charAt(7) == "*" && t5.charAt(8) == "*"; if (t5.charAt(0) == "1" && t5.charAt(1) == "*" && t5.charAt(2) == "T" && t5.charAt(3) == "*" && t5.charAt(4) == "*" && t5.charAt(5) == "*" && t5.charAt(6) == "T" && t5.charAt(7) == "*" && t5.charAt(8) == "*") return true; } return false; }, i5.Lw = function(t5, i6, s5) { t5 = i6.Ma(t5); for (var n5 = i6.Oe; n5 != -1; n5 = i6.Sf(n5)) if ((i6.yd(n5) & t5) != 0) { var h2 = i6.Je(n5); if (h2 == -1) i6.pn(n5, s5, 0); else { var r2 = h2, e2 = 0; do { (i6.fh(r2) & t5) != 0 && e2++, r2 = i6.kc(i6.ya(r2)); } while (r2 != h2); i6.pn(n5, s5, e2); } } }, i5.aq = function(t5) { var i6 = "" + t5.charAt(0); return i6 += t5.charAt(3), i6 += t5.charAt(6), i6 += t5.charAt(1), i6 += t5.charAt(4), i6 += t5.charAt(7), i6 += t5.charAt(2), (i6 += t5.charAt(5)) + t5.charAt(8); }, i5.prototype.$i = function() { for (var t5 = 0; 9 > t5; t5++) this.J[t5] = -2, this.$a[t5] = -2; }, i5.pK = function(t5) { var i6 = t5[1], s5 = t5[2], n5 = t5[5]; t5[1] = t5[3], t5[2] = t5[6], t5[5] = t5[7], t5[3] = i6, t5[6] = s5, t5[7] = n5; }, i5.prototype.dj = function(t5) { for (this.Yc = t5, t5 = 0; 9 > t5; t5++) this.Yc.charAt(t5) != "*" ? (this.fa[t5] = true, this.le++) : this.fa[t5] = false; }, i5.prototype.OJ = function() { for (var t5 = 0; 9 > t5; t5++) this.fa[t5] && this.J[t5] == -2 && (this.J[t5] = -1, this.fa[t5] = false); }, i5.prototype.pc = function(t5) { return this.J[t5] != -2 && (this.J[t5] == -1 ? (this.fa[t5] = false, this.le--, true) : this.Yc.charAt(t5) != "T" && this.Yc.charAt(t5) != "F" ? !(this.J[t5] < this.$a[t5]) && (this.fa[t5] = false, this.le--, true) : (this.fa[t5] = false, this.le--, true)); }, i5.prototype.rJ = function() { this.xw = 0, this.$a[0] = 2, this.$a[1] = 1, this.$a[2] = 2, this.$a[3] = 1, this.$a[4] = 1, this.$a[5] = 1, this.$a[6] = 2, this.$a[7] = 1, this.$a[8] = 2, this.fa[8] && (this.J[8] = 2, this.fa[8] = false, this.le--); }, i5.prototype.CB = function() { this.xw = 1, this.Um = 3, this.$a[0] = 1, this.$a[1] = 0, this.$a[2] = 2, this.$a[3] = 1, this.$a[4] = 0, this.$a[5] = 1, this.$a[6] = 1, this.$a[7] = 0, this.$a[8] = 2, this.fa[8] && (this.J[8] = 2, this.fa[8] = false, this.le--); }, i5.prototype.WW = function() { this.xw = 2, this.Um = 4, this.$a[0] = 1, this.$a[1] = 0, this.$a[2] = 1, this.$a[3] = 0, this.$a[4] = 0, this.$a[5] = 0, this.$a[6] = 1, this.$a[7] = 0, this.$a[8] = 2, this.fa[8] && (this.J[8] = 2, this.fa[8] = false, this.le--); }, i5.prototype.sJ = function() { this.Um = 3, this.$a[0] = 0, this.$a[1] = -1, this.$a[2] = 2, this.$a[3] = 0, this.$a[4] = -1, this.$a[5] = 1, this.$a[6] = 0, this.$a[7] = -1, this.$a[8] = 2, this.fa[1] && (this.J[1] = -1, this.fa[1] = false, this.le--), this.fa[4] && (this.J[4] = -1, this.fa[4] = false, this.le--), this.fa[7] && (this.J[7] = -1, this.fa[7] = false, this.le--), this.fa[8] && (this.J[8] = 2, this.fa[8] = false, this.le--); }, i5.prototype.GJ = function() { this.Um = 4, this.$a[0] = 0, this.$a[1] = -1, this.$a[2] = 1, this.$a[3] = 0, this.$a[4] = -1, this.$a[5] = 0, this.$a[6] = 0, this.$a[7] = -1, this.$a[8] = 2, this.fa[1] && (this.J[1] = -1, this.fa[1] = false, this.le--), this.fa[4] && (this.J[4] = -1, this.fa[4] = false, this.le--), this.fa[7] && (this.J[7] = -1, this.fa[7] = false, this.le--), this.fa[8] && (this.J[8] = 2, this.fa[8] = false, this.le--); }, i5.prototype.LJ = function() { this.Um = 5, this.$a[0] = 0, this.$a[1] = -1, this.$a[2] = 0, this.$a[3] = -1, this.$a[4] = -1, this.$a[5] = -1, this.$a[6] = 0, this.$a[7] = -1, this.$a[8] = 2, this.fa[1] && (this.J[1] = -1, this.fa[1] = false, this.le--), this.fa[3] && (this.J[3] = -1, this.fa[3] = false, this.le--), this.fa[4] && (this.J[4] = -1, this.fa[4] = false, this.le--), this.fa[5] && (this.J[5] = -1, this.fa[5] = false, this.le--), this.fa[7] && (this.J[7] = -1, this.fa[7] = false, this.le--), this.fa[8] && (this.J[8] = 2, this.fa[8] = false, this.le--); }, i5.prototype.rN = function(t5, i6, s5) { var n5 = true; return this.fa[0] && (this.vS(t5, i6, s5), n5 = n5 && this.pc(0)), this.fa[1] && (this.mG(t5, i6, 1), n5 = n5 && this.pc(1)), this.fa[2] && (this.nG(t5, i6, s5, 2), n5 = n5 && this.pc(2)), this.fa[3] && (this.mG(t5, s5, 3), n5 = n5 && this.pc(3)), this.fa[4] && (this.vN(t5, i6, s5), n5 = n5 && this.pc(4)), this.fa[5] && (this.ZD(t5, s5, 5), n5 = n5 && this.pc(5)), this.fa[6] && (this.nG(t5, s5, i6, 6), n5 = n5 && this.pc(6)), this.fa[7] && (this.ZD(t5, i6, 7), n5 = n5 && this.pc(7)), n5; }, i5.prototype.Eu = function(t5, i6) { this.J[0] = -1, this.J[1] = -1, this.J[3] = -1, this.J[4] = -1, this.Hr(t5, this.fa[2] ? 2 : -1, this.Yc.charAt(2), this.fa[5] ? 5 : -1, this.Yc.charAt(5)), this.Hr(i6, this.fa[6] ? 6 : -1, this.Yc.charAt(6), this.fa[7] ? 7 : -1, this.Yc.charAt(7)); }, i5.prototype.Hr = function(i6, s5, n5, h2, r2) { s5 == -1 && h2 == -1 || ((n5 != "T" && n5 != "F" && s5 != -1 || r2 != "T" && r2 != "F" && h2 != -1) && i6.He() == 0 ? (h2 != -1 && (this.J[h2] = -1), s5 != -1 && (n5 = new t4.l(), i6.A(n5), this.J[s5] = n5.da() == 0 && n5.S() == 0 ? 0 : 1)) : (s5 != -1 && (this.J[s5] = 2), h2 != -1 && (this.J[h2] = 1))); }, i5.prototype.hy = function(t5) { this.J[2] = 2, this.J[3] = -1, this.J[4] = -1, this.J[5] = 1, this.J[6] = -1, this.J[7] = -1, this.Hr(t5, this.fa[0] ? 0 : -1, this.Yc.charAt(0), this.fa[1] ? 1 : -1, this.Yc.charAt(1)); }, i5.prototype.TD = function(t5) { this.hy(t5), i5.pK(this.J); }, i5.prototype.Fu = function(i6, s5) { if (this.J[0] = -1, this.J[1] = -1, this.J[3] = -1, this.J[4] = -1, this.fa[6]) { var n5 = this.Yc.charAt(6); n5 = n5 == "T" || n5 == "F" || s5.Rb() != 0, this.J[6] = n5 ? 1 : 0; } this.fa[7] && (s5 = t4.si.cq(s5), this.J[7] = s5 ? 0 : -1), this.Hr(i6, this.fa[2] ? 2 : -1, this.Yc.charAt(2), this.fa[5] ? 5 : -1, this.Yc.charAt(5)); }, i5.prototype.UD = function(i6) { if (this.fa[0]) { var s5 = this.Yc.charAt(0); s5 = s5 == "T" || s5 == "F" || i6.Rb() != 0, this.J[0] = s5 ? 1 : 0; } this.fa[1] && (i6 = t4.si.cq(i6), this.J[1] = i6 ? 0 : -1), this.J[2] = 2, this.J[3] = -1, this.J[4] = -1, this.J[5] = 1, this.J[6] = -1, this.J[7] = -1; }, i5.prototype.Gu = function(t5) { this.J[0] = -1, this.J[3] = -1, this.J[6] = 0, this.Hr(t5, this.fa[2] ? 2 : -1, this.Yc.charAt(2), this.fa[5] ? 5 : -1, this.Yc.charAt(5)); }, i5.prototype.tN = function() { this.J[0] = 0, this.J[2] = 2, this.J[3] = -1, this.J[5] = 1, this.J[6] = -1; }, i5.prototype.JG = function(i6, s5) { if (this.J[0] = -1, this.J[1] = -1, this.J[3] = -1, this.J[4] = -1, this.fa[2]) { var n5 = this.Yc.charAt(2); n5 = n5 == "T" || n5 == "F" || i6.Rb() != 0, this.J[2] = n5 ? 1 : 0; } this.fa[5] && (i6 = t4.si.cq(i6), this.J[5] = i6 ? 0 : -1), this.fa[6] && (n5 = (n5 = this.Yc.charAt(6)) == "T" || n5 == "F" || s5.Rb() != 0, this.J[6] = n5 ? 1 : 0), this.fa[7] && (s5 = t4.si.cq(s5), this.J[7] = s5 ? 0 : -1); }, i5.prototype.Qz = function(i6) { if (this.J[0] = -1, this.J[3] = -1, this.fa[2]) { var s5 = this.Yc.charAt(2); s5 = s5 == "T" || s5 == "F" || i6.Rb() != 0, this.J[2] = s5 ? 1 : 0; } this.fa[5] && (i6 = t4.si.cq(i6), this.J[5] = i6 ? 0 : -1), this.J[6] = 0; }, i5.prototype.sI = function() { this.J[0] = -1, this.J[2] = 0, this.J[6] = 0; }, i5.prototype.sN = function(t5, i6, s5) { var n5 = true; return this.fa[0] && (this.wS(t5, i6), n5 = n5 && this.pc(0)), this.fa[1] && (this.sS(t5, i6, s5, this.mh), n5 = n5 && this.pc(1)), this.fa[2] && (this.tS(t5, i6), n5 = n5 && this.pc(2)), this.fa[3] && (this.zN(t5, i6, s5, this.mh), n5 = n5 && this.pc(3)), this.fa[4] && (this.wN(t5, i6, s5, this.mh), n5 = n5 && this.pc(4)), this.fa[5] && (this.xN(t5, i6, s5), n5 = n5 && this.pc(5)), this.fa[6] && (this.fQ(t5, i6), n5 = n5 && this.pc(6)), this.fa[7] && (this.eQ(t5, i6, s5, this.mh), n5 = n5 && this.pc(7)), n5; }, i5.prototype.eT = function(t5, i6, s5) { var n5 = true; return this.fa[0] && (this.zS(t5, i6, s5, this.$h, this.mh), n5 = n5 && this.pc(0)), this.fa[1] && (this.oG(t5, i6, s5, this.$h, this.mh, 1), n5 = n5 && this.pc(1)), this.fa[2] && (this.pG(t5, i6, s5, 2), n5 = n5 && this.pc(2)), this.fa[3] && (this.oG(t5, s5, i6, this.mh, this.$h, 3), n5 = n5 && this.pc(3)), this.fa[4] && (this.BN(t5, i6, s5, this.$h, this.mh), n5 = n5 && this.pc(4)), this.fa[5] && (this.$D(t5, s5, this.$h, 5), n5 = n5 && this.pc(5)), this.fa[6] && (this.pG(t5, s5, i6, 6), n5 = n5 && this.pc(6)), this.fa[7] && (this.$D(t5, i6, this.mh, 7), n5 = n5 && this.pc(7)), n5; }, i5.prototype.VD = function(t5, i6, s5) { var n5 = true; return this.fa[0] && (this.xS(t5, i6), n5 = n5 && this.pc(0)), this.fa[2] && (this.uS(t5, i6), n5 = n5 && this.pc(2)), this.fa[3] && (this.AN(t5, i6, s5), n5 = n5 && this.pc(3)), this.fa[5] && (this.yN(t5, i6), n5 = n5 && this.pc(5)), this.fa[6] && (this.gQ(t5, i6), n5 = n5 && this.pc(6)), n5; }, i5.prototype.KG = function(t5, i6, s5) { var n5 = true; return this.fa[0] && (this.AS(t5, i6, s5, this.$h), n5 = n5 && this.pc(0)), this.fa[2] && (this.yS(t5, s5), n5 = n5 && this.pc(2)), this.fa[3] && (this.DN(t5, i6, s5, this.$h), n5 = n5 && this.pc(3)), this.fa[5] && (this.CN(t5, i6, s5, this.$h), n5 = n5 && this.pc(5)), this.fa[6] && (this.hQ(t5, i6, s5), n5 = n5 && this.pc(6)), n5; }, i5.prototype.RU = function(t5, i6, s5) { var n5 = true; return this.fa[0] && (this.BS(t5, i6, s5), n5 = n5 && this.pc(0)), this.fa[2] && (this.qG(t5, i6, s5, 2), n5 = n5 && this.pc(2)), this.fa[6] && (this.qG(t5, s5, i6, 6), n5 = n5 && this.pc(6)), n5; }, i5.prototype.vS = function(t5, i6, s5) { this.J[0] != 2 && (((t5 = this.j.af(t5)) & i6) != 0 && (t5 & s5) != 0 && (this.J[0] = 2)); }, i5.prototype.mG = function(t5, i6, s5) { if (this.J[s5] != 1) { var n5 = this.j.af(this.j.ya(t5)); (this.j.af(t5) & i6) != 0 && (n5 & i6) != 0 && (this.J[s5] = 1); } }, i5.prototype.nG = function(t5, i6, s5, n5) { this.J[n5] != 2 && (((t5 = this.j.af(t5)) & i6) != 0 && (t5 & s5) == 0 && (this.J[n5] = 2)); }, i5.prototype.vN = function(t5, i6, s5) { if (this.J[4] != 1) { var n5 = this.j.fh(t5); (n5 & i6) != 0 && (n5 & s5) != 0 ? this.J[4] = 1 : this.J[4] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1 && (((t5 = this.j.yd(this.j.vf(t5))) & i6) != 0 && (t5 & s5) != 0 && (this.J[4] = 0)); } }, i5.prototype.ZD = function(t5, i6, s5) { if (this.J[s5] != 1) { var n5 = this.j.af(this.j.ya(t5)); (this.j.af(t5) & i6) == 0 && (n5 & i6) == 0 && (this.J[s5] = 1); } }, i5.prototype.wS = function(t5, i6) { if (this.J[0] != 1) { var s5 = this.j.af(this.j.ya(t5)); (this.j.af(t5) & i6) != 0 && (s5 & i6) != 0 && (this.J[0] = 1); } }, i5.prototype.sS = function(t5, i6, s5, n5) { if (this.J[1] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1) { var h2 = this.j.vf(t5), r2 = this.j.yd(h2); (r2 & i6) == 0 && (this.j.af(t5) & i6) != 0 && (t5 = this.j.ng(h2, n5), (r2 & s5) != 0 && t5 % 2 != 0 && (this.J[1] = 0)); } }, i5.prototype.tS = function(t5, i6) { this.J[2] != 2 && (this.j.fh(t5) & i6) != 0 && (this.J[2] = 2); }, i5.prototype.zN = function(t5, i6, s5, n5) { if (this.J[3] != 1) { var h2 = this.j.fh(t5); (h2 & i6) != 0 && (h2 & s5) != 0 ? this.J[3] = 1 : this.J[3] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1 && (h2 = this.j.vf(t5), ((t5 = this.j.yd(h2)) & i6) != 0 && (i6 = this.j.ng(h2, n5), (t5 & s5) != 0 && i6 % 2 == 0 && (this.J[3] = 0))); } }, i5.prototype.wN = function(t5, i6, s5, n5) { if (this.J[4] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1) { var h2 = this.j.vf(t5); ((t5 = this.j.yd(h2)) & i6) != 0 && (i6 = this.j.ng(h2, n5), (t5 & s5) != 0 && i6 % 2 != 0 && (this.J[4] = 0)); } }, i5.prototype.xN = function(t5, i6, s5) { this.J[5] != 1 && (((t5 = this.j.fh(t5)) & i6) != 0 && (t5 & s5) == 0 && (this.J[5] = 1)); }, i5.prototype.fQ = function(t5, i6) { if (this.J[6] != 1) { var s5 = this.j.af(this.j.ya(t5)); (this.j.af(t5) & i6) == 0 && (s5 & i6) == 0 && (this.J[6] = 1); } }, i5.prototype.eQ = function(t5, i6, s5, n5) { if (this.J[7] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1) { var h2 = this.j.vf(t5), r2 = this.j.yd(h2); (r2 & i6) == 0 && (this.j.af(t5) & i6) == 0 && (t5 = this.j.ng(h2, n5), (r2 & s5) != 0 && t5 % 2 != 0 && (this.J[7] = 0)); } }, i5.prototype.zS = function(t5, i6, s5, n5, h2) { if (this.J[0] != 1) { var r2 = this.j.fh(t5); (r2 & i6) != 0 && (r2 & s5) != 0 ? this.J[0] = 1 : this.J[0] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1 && (t5 = this.j.vf(t5), ((r2 = this.j.yd(t5)) & i6) != 0 && (r2 & s5) != 0 && (i6 = this.j.ng(t5, n5), h2 = this.j.ng(t5, h2), i6 % 2 == 0 && h2 % 2 == 0 && (this.J[0] = 0))); } }, i5.prototype.oG = function(t5, i6, s5, n5, h2, r2) { if (this.J[r2] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1) { t5 = this.j.vf(t5); var e2 = this.j.yd(t5); (e2 & i6) != 0 && (e2 & s5) != 0 && (i6 = this.j.ng(t5, n5), h2 = this.j.ng(t5, h2), i6 % 2 == 0 && h2 % 2 != 0 && (this.J[r2] = 0)); } }, i5.prototype.pG = function(t5, i6, s5, n5) { this.J[n5] != 1 && (((t5 = this.j.fh(t5)) & i6) != 0 && (t5 & s5) == 0 && (this.J[n5] = 1)); }, i5.prototype.BN = function(t5, i6, s5, n5, h2) { if (this.J[4] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1) { t5 = this.j.vf(t5); var r2 = this.j.yd(t5); (r2 & i6) != 0 && (r2 & s5) != 0 && (i6 = this.j.ng(t5, n5), h2 = this.j.ng(t5, h2), i6 % 2 != 0 && h2 % 2 != 0 && (this.J[4] = 0)); } }, i5.prototype.$D = function(t5, i6, s5, n5) { this.J[n5] != 0 && this.j.Bb(this.j.ue(this.j.ya(t5)), this.Wi) != 1 && (t5 = this.j.vf(t5), (this.j.yd(t5) & i6) == 0 && this.j.ng(t5, s5) % 2 != 0 && (this.J[n5] = 0)); }, i5.prototype.xS = function(t5, i6) { this.J[0] != 0 && (this.j.yd(t5) & i6) == 0 && (this.j.ik(this.j.Yy(t5)) & i6) != 0 && (this.J[0] = 0); }, i5.prototype.uS = function(t5, i6) { this.J[2] != 2 && (this.j.yd(t5) & i6) != 0 && (this.J[2] = 2); }, i5.prototype.AN = function(t5, i6, s5) { this.J[3] != 0 && (((t5 = this.j.yd(t5)) & i6) != 0 && (t5 & s5) != 0 && (this.J[3] = 0)); }, i5.prototype.yN = function(t5, i6) { this.J[5] != 1 && (this.j.yd(t5) & i6) != 0 && (this.J[5] = 1); }, i5.prototype.gQ = function(t5, i6) { this.J[6] != 0 && (this.j.yd(t5) & i6) == 0 && (this.j.ik(this.j.Yy(t5)) & i6) == 0 && (this.J[6] = 0); }, i5.prototype.AS = function(t5, i6, s5, n5) { if (this.J[0] != 0) { var h2 = this.j.yd(t5); (h2 & i6) != 0 && (h2 & s5) != 0 && this.j.ng(t5, n5) % 2 == 0 && (this.J[0] = 0); } }, i5.prototype.yS = function(t5, i6) { this.J[2] != 1 && (this.j.Je(t5) != -1 ? this.J[2] = 1 : this.J[2] != 0 && (this.j.yd(t5) & i6) == 0 && (this.J[2] = 0)); }, i5.prototype.DN = function(t5, i6, s5, n5) { if (this.J[3] != 0) { var h2 = this.j.yd(t5); (h2 & i6) != 0 && (h2 & s5) != 0 && this.j.ng(t5, n5) % 2 != 0 && (this.J[3] = 0); } }, i5.prototype.CN = function(t5, i6, s5, n5) { if (this.J[5] != 0) { var h2 = this.j.yd(t5); (h2 & i6) != 0 && (h2 & s5) == 0 && this.j.ng(t5, n5) % 2 != 0 && (this.J[5] = 0); } }, i5.prototype.hQ = function(t5, i6, s5) { this.J[6] != 0 && (((t5 = this.j.yd(t5)) & i6) == 0 && (t5 & s5) != 0 && (this.J[6] = 0)); }, i5.prototype.BS = function(t5, i6, s5) { this.J[0] != 0 && (((t5 = this.j.yd(t5)) & i6) != 0 && (t5 & s5) != 0 && (this.J[0] = 0)); }, i5.prototype.qG = function(t5, i6, s5, n5) { this.J[n5] != 0 && (((t5 = this.j.yd(t5)) & i6) != 0 && (t5 & s5) == 0 && (this.J[n5] = 0)); }, i5.prototype.Dp = function(i6, s5) { var n5 = false; i6 = this.j.Ma(i6), s5 = this.j.Ma(s5), this.Wi = this.j.bh(); for (var h2 = this.j.Oe; h2 != -1; h2 = this.j.Sf(h2)) { var r2 = this.j.Je(h2); if (r2 == -1) { if (this.Um != -1) switch (this.Um) { case 3: n5 = this.VD(h2, i6, s5); break; case 4: n5 = this.KG(h2, i6, s5); break; default: throw t4.i.ga("internal error"); } } else { var e2 = r2; do { var o2 = e2; if (this.j.Bb(o2, this.Wi) != 1) do { switch (this.xw) { case 0: n5 = this.rN(o2, i6, s5); break; case 1: n5 = this.sN(o2, i6, s5); break; case 2: n5 = this.eT(o2, i6, s5); break; default: throw t4.i.ga("internal error"); } if (n5) break; this.j.Kb(o2, this.Wi, 1), o2 = this.j.kc(o2); } while (o2 != e2 && !n5); if (n5) break; e2 = this.j.kc(this.j.ya(o2)); } while (e2 != r2); if (n5) break; } } n5 || this.OJ(), this.j.Lg(this.Wi); }, i5.prototype.By = function(i6, s5) { var n5 = false; i6 = this.j.Ma(i6), s5 = this.j.Ma(s5); for (var h2 = this.j.Oe; h2 != -1; h2 = this.j.Sf(h2)) { switch (this.Um) { case 3: n5 = this.VD(h2, i6, s5); break; case 4: n5 = this.KG(h2, i6, s5); break; case 5: n5 = this.RU(h2, i6, s5); break; default: throw t4.i.Ra(); } if (n5) break; } n5 || this.OJ(); }, i5.prototype.gr = function(t5, i6) { this.j.fr(t5, i6); }, i5.prototype.Xo = function(t5, i6, s5) { this.SP(t5, i6, s5), this.gr(t5, s5); }, i5.prototype.SP = function(i6, s5, n5) { for (t4.Uk.W(i6, s5, n5, false), i6.Ip(0, true, true), s5 = i6.ld; s5 != -1; s5 = i6.ve(s5)) i6.jc(s5) == 1736 && t4.tn.W(i6, s5, -1, false, n5); }, i5.QE = function(i6, s5) { var n5 = i6.K(); return t4.ba.zd(n5) ? ((s5 = new t4.Ua(i6.description)).oc(i6, true), s5) : n5 == 197 ? (n5 = new t4.l(), i6.A(n5), n5.da() <= s5 && n5.S() <= s5 ? (s5 = new t4.Ta(i6.description), i6.tf(s5), s5) : n5.da() <= s5 || n5.S() <= s5 ? (s5 = new t4.Ua(i6.description), n5 = new t4.Ta(), i6.If(0, n5), s5.nf(n5), i6.If(2, n5), s5.lineTo(n5), s5) : ((s5 = new t4.Ea(i6.description)).bd(i6, false), s5)) : i6; }, i5; }(), t4.cm = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.Gm = new t4.ja(0), this.fw = new t4.ja(0), this.xt = new t4.h(), this.yt = new t4.h(), this.g = i6, this.Js = -1; } return i5.prototype.cc = function(t5) { return this.g.cc(this.uz(t5)); }, i5.prototype.Dv = function(t5) { var i6 = this.dz(t5); if (t5 = this.BF(t5), this.g.Na(i6) == t5) { var s5 = i6; i6 = t5, t5 = s5; } return this.g.Hc(i6, this.xt), this.g.Hc(t5, this.yt), this.xt.y < this.yt.y; }, i5.prototype.uz = function(t5) { var i6 = this.dz(t5); return t5 = this.BF(t5), this.g.V(i6) == t5 ? i6 : t5; }, i5.prototype.dz = function(t5) { return this.Gm.get(t5); }, i5.prototype.BF = function(t5) { return this.fw.get(t5); }, i5.prototype.lF = function(t5) { this.Gm.set(t5, this.Js), this.Js = t5; }, i5.prototype.hI = function(i6) { if (this.Js != -1) { var s5 = this.Js; return this.Js = this.Gm.get(s5), this.Gm.set(s5, i6), this.fw.set(s5, this.g.V(i6)), s5; } return this.Gm == null && (this.Gm = new t4.ja(0), this.fw = new t4.ja(0)), s5 = this.Gm.size, this.Gm.add(i6), this.fw.add(this.g.V(i6)), s5; }, i5.prototype.mz = function(t5) { return this.g.cd(this.dz(t5)); }, i5; }(); t4.qY = i4; var s4 = function() { function i5(i6) { this.Ce = i6, this.ie = new t4.zb(), this.Pm = new t4.zb(), this.wH = 0, this.Bo = null, this.sA = -1; } return i5.prototype.compare = function(t5, i6, s5) { s5 = t5.ka(s5); var n5 = this.Ce.hb; if (this.sA == i6) var h2 = this.wH; else this.Bo = n5.cc(i6), this.Bo == null ? ((t5 = n5.g).fd(n5.uz(i6), this.ie), this.Bo = this.ie, h2 = this.ie.Me(this.Ce.Ah, 0)) : h2 = this.Bo.Me(this.Ce.Ah, 0), this.wH = h2, this.sA = i6; if ((t5 = n5.cc(s5)) == null) { (t5 = n5.g).fd(n5.uz(s5), this.Pm), t5 = this.Pm; var r2 = this.Pm.Me(this.Ce.Ah, 0); } else r2 = t5.Me(this.Ce.Ah, 0); return h2 == r2 && (i6 = n5.Dv(i6), s5 = n5.Dv(s5), (i6 = 0.5 * ((s5 = Math.min(i6 ? this.Bo.ma : this.Bo.oa, s5 ? t5.ma : t5.oa)) + this.Ce.Ah)) == this.Ce.Ah && (i6 = s5), h2 = this.Bo.Me(i6, 0), r2 = t5.Me(i6, 0)), h2 < r2 ? -1 : h2 > r2 ? 1 : 0; }, i5.prototype.reset = function() { this.sA = -1; }, i5; }(), n4 = function() { function n5() { this.Ym = this.Il = null, this.fb = new t4.Zj(), this.fb.LP(), this.ae = new s4(this), this.fb.Wo(this.ae); } return n5.prototype.BQ = function() { var i5 = false; if (this.hw && (i5 = this.CQ()), this.g.ea(this.Y) == 1) { var s5 = this.g.Ob(this.Y); return i5 = this.g.qz(s5), this.g.JB(s5, true), 0 > i5 && (i5 = this.g.Ya(s5), this.g.jJ(i5), this.g.Yg(s5, this.g.Na(i5)), true); } for (this.Gl = this.g.Fy(), this.xo = this.g.Fy(), s5 = this.g.Ob(this.Y); s5 != -1; s5 = this.g.Sb(s5)) this.g.ir(s5, this.Gl, 0), this.g.ir(s5, this.xo, -1); s5 = new t4.ja(0), this.Ah = NaN; var n6 = new t4.h(); this.ft = this.g.ea(this.Y), this.so = this.g.Hd(), this.Ts = this.g.Hd(); for (var h2 = this.Il.sc(this.Il.je); h2 != -1; h2 = this.Il.lb(h2)) { var r2 = this.Il.getData(h2); if (this.g.Hc(r2, n6), n6.y != this.Ah && s5.size != 0 && (i5 = this.vt(s5) || i5, this.ae.reset(), s5.clear(false)), s5.add(r2), this.Ah = n6.y, this.ft == 0) break; } for (0 < this.ft && (i5 = this.vt(s5) || i5, s5.clear(false)), this.g.Ud(this.so), this.g.Ud(this.Ts), s5 = this.g.Ob(this.Y); s5 != -1; ) if (this.g.uj(s5, this.Gl) == 3) { for (this.g.JB(s5, true), n6 = s5, s5 = this.g.uj(s5, this.xo); s5 != -1; ) h2 = this.g.uj(s5, this.xo), this.g.RT(this.Y, this.g.Sb(n6), s5), n6 = s5, s5 = h2; s5 = this.g.Sb(n6); } else this.g.JB(s5, false), s5 = this.g.Sb(s5); return this.g.wB(this.Gl), this.g.wB(this.xo), i5; }, n5.prototype.vt = function(t5) { return this.SV(t5); }, n5.prototype.SV = function(s5) { var n6 = false; this.hb == null && (this.hb = new i4(this.g)), this.Ym == null ? (this.Ym = new t4.ja(0), this.Ym.Jb(16)) : this.Ym.clear(false), this.RV(s5); for (var h2 = 0, r2 = s5.size; h2 < r2; h2++) { var e2 = s5.get(h2); e2 != -1 && this.iG(e2, -1); } for (h2 = 0; h2 < this.Ym.size && 0 < this.ft; h2++) if (s5 = this.Ym.get(h2), e2 = this.hb.mz(this.fb.ka(s5)), r2 = -1, this.g.uj(e2, this.Gl) == 0) { e2 = this.fb.xe(s5); for (var o2, a2 = s5; e2 != -1; ) { var u2 = this.fb.ka(e2), f2 = this.hb.mz(u2), c2 = this.g.uj(f2, this.Gl); if (c2 != 0) { r2 = f2; break; } a2 = e2, e2 = this.fb.xe(e2); } e2 == -1 ? (o2 = true, e2 = a2) : (u2 = this.fb.ka(e2), o2 = this.hb.Dv(u2), e2 = this.fb.lb(e2), o2 = !o2); do { if (u2 = this.fb.ka(e2), f2 = this.hb.mz(u2), (c2 = this.g.uj(f2, this.Gl)) == 0 && (o2 != this.hb.Dv(u2) && (n6 = this.g.Ya(f2), this.g.jJ(n6), this.g.Yg(f2, this.g.Na(n6)), n6 = true), this.g.ir(f2, this.Gl, o2 ? 3 : 2), o2 || (a2 = this.g.uj(r2, this.xo), this.g.ir(r2, this.xo, f2), this.g.ir(f2, this.xo, a2)), this.ft--, this.ft == 0)) return n6; r2 = f2, a2 = e2, e2 = this.fb.lb(e2), o2 = !o2; } while (a2 != s5); } return n6; }, n5.prototype.RV = function(t5) { for (var i5 = 0, s5 = t5.size; i5 < s5; i5++) { var n6 = t5.get(i5), h2 = this.g.Qa(n6, this.so), r2 = this.g.Qa(n6, this.Ts); if (h2 != -1) { var e2 = this.fb.ka(h2); this.hb.lF(e2), this.g.Sa(n6, this.so, -1); } r2 != -1 && (e2 = this.fb.ka(r2), this.hb.lF(e2), this.g.Sa(n6, this.Ts, -1)), e2 = -1, h2 != -1 && r2 != -1 ? (this.fb.wd(h2, -1), this.fb.wd(r2, -1), t5.set(i5, -1)) : e2 = h2 != -1 ? h2 : r2, e2 != -1 && (this.iG(n6, e2) || this.fb.wd(e2, -1), t5.set(i5, -1)); } }, n5.prototype.iG = function(i5, s5) { var n6 = new t4.h(), h2 = new t4.h(); this.g.Hc(i5, n6); var r2 = this.g.V(i5); this.g.Hc(r2, h2); var e2 = false; if (n6.y < h2.y) { e2 = true; var o2 = this.hb.hI(i5); if (s5 == -1) var a2 = this.fb.addElement(o2, -1); else a2 = s5, this.fb.Uj(a2, o2); (o2 = this.g.Qa(r2, this.so)) == -1 ? this.g.Sa(r2, this.so, a2) : this.g.Sa(r2, this.Ts, a2), r2 = this.g.cd(i5), this.g.uj(r2, this.Gl) == 0 && this.Ym.add(a2); } return r2 = this.g.Na(i5), this.g.Hc(r2, h2), n6.y < h2.y && (e2 = true, o2 = this.hb.hI(r2), s5 == -1 ? a2 = this.fb.addElement(o2, -1) : (a2 = s5, this.fb.Uj(a2, o2)), (o2 = this.g.Qa(r2, this.so)) == -1 ? this.g.Sa(r2, this.so, a2) : this.g.Sa(r2, this.Ts, a2), r2 = this.g.cd(i5), this.g.uj(r2, this.Gl) == 0 && this.Ym.add(a2)), e2; }, n5.W = function(t5, i5, s5, h2) { var r2 = new n5(); return r2.g = t5, r2.Y = i5, r2.Il = s5, r2.hw = h2, r2.BQ(); }, n5.prototype.CQ = function() { var i5 = new t4.ja(0), s5 = new t4.ja(0), n6 = -1, h2 = -1, r2 = new t4.h(); r2.Sc(); for (var e2 = -1, o2 = -1, a2 = -1, u2 = new t4.h(), f2 = this.Il.sc(this.Il.je); f2 != -1; f2 = this.Il.lb(f2)) { var c2 = this.Il.getData(f2); this.g.Hc(c2, u2); var l2 = this.g.cd(c2); r2.rb(u2) && o2 == l2 ? (h2 == -1 && (n6 = this.g.Fy(), h2 = this.g.Hd()), a2 == -1 && (a2 = s5.size, this.g.Sa(e2, h2, a2), s5.add(1), this.g.uj(l2, n6) == -1 && (this.g.ir(l2, n6, e2), i5.add(l2))), this.g.Sa(c2, h2, a2), s5.TW(s5.Gc() + 1)) : (a2 = -1, r2.N(u2)), e2 = c2, o2 = l2; } if (i5.size == 0) return false; for (r2 = new t4.ja(0), e2 = new t4.ja(0), o2 = 0, a2 = i5.size; o2 < a2; o2++) { l2 = i5.get(o2); var p2 = this.g.uj(l2, n6); for (c2 = this.g.Qa(p2, h2), r2.clear(false), e2.clear(false), r2.add(p2), e2.add(c2), c2 = this.g.V(p2); c2 != p2; c2 = this.g.V(c2)) { var v2 = c2; if ((u2 = this.g.Qa(v2, h2)) != -1) if (e2.size == 0) e2.add(u2), r2.add(v2); else if (e2.Gc() == u2) { f2 = r2.Gc(); var y2 = this.g.V(f2); p2 = this.g.V(v2), this.g.Cc(f2, p2), this.g.Dc(p2, f2), this.g.Cc(v2, y2), this.g.Dc(y2, v2), v2 = [false], y2 = this.g.hG(this.Y, y2, this.g.Ya(l2), v2), this.g.Sa(c2, h2, -1), v2[0] && this.g.Kf(l2, p2), c2 = this.g.Ka(l2), c2 -= p2 = this.g.Ka(y2), this.g.Xj(l2, c2), s5.set(u2, s5.get(u2) - 1), s5.get(u2) == 1 && (s5.set(u2, 0), e2.Jf(), r2.Jf()), c2 = p2 = f2; } else r2.add(c2), e2.add(u2); } } return this.g.wB(n6), this.g.Ud(h2), true; }, n5; }(); t4.QL = n4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.prototype.hg = function() { this.JA = this.tb = null; }, i5.prototype.get = function() { return this.JA; }, i5.prototype.set = function(i6) { if (this.JA = i6, i6 != null) throw i6.K() == 322 && (this.tb = i6), t4.i.Ra(); }, i5.prototype.create = function(i6) { if (i6 != 322) throw t4.i.ga("Not Implemented"); this.Qr(); }, i5.prototype.Qr = function() { this.tb == null && (this.tb = new t4.zb()), this.JA = this.tb; }, i5; }(); t4.hg = i4; }(V || (V = {})), function(t4) { (t4 = t4.RL || (t4.RL = {}))[t4.enumLineSeg = 1] = "enumLineSeg", t4[t4.enumBezierSeg = 2] = "enumBezierSeg", t4[t4.enumArcSeg = 4] = "enumArcSeg", t4[t4.enumNonlinearSegmentMask = 6] = "enumNonlinearSegmentMask", t4[t4.enumSegmentMask = 7] = "enumSegmentMask", t4[t4.enumDensified = 8] = "enumDensified"; }(V || (V = {})), function(t4) { var i4 = function(t5) { this.bj = t5, this.kC = this.lC = 1, this.mB = this.lB = this.nB = 0; }, s4 = function() { function s5() { this.Hq = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], this.Ck = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], this.Cf = new t4.Ta(), this.ra = this.Ew = 0, this.no = [], this.bt = [], this.Aw = [], this.Kq = [], this.GA = []; } return s5.prototype.qB = function(t5) { if (t5 != null) { for (var i5 = 0, s6 = t5.length; i5 < s6; i5++) this.jW(t5[i5]); t5.length = 0; } }, s5.prototype.jW = function(t5) { t5.bj = null, this.Kq.push(t5); }, s5.prototype.Qw = function(t5) { if (this.Kq.length === 0) var s6 = new i4(t5); else (s6 = this.Kq[this.Kq.length - 1]).bj = t5, --this.Kq.length; return s6; }, s5.prototype.LR = function(t5, i5) { return t5 == 0 ? this.bt[i5] : this.Aw[i5]; }, s5.prototype.VA = function() { this.Ew >= this.GA.length && this.GA.push(new t4.hg()); var i5 = this.GA[this.Ew]; return this.Ew++, i5; }, s5.prototype.clear = function() { this.qB(this.no), this.qB(this.bt), this.qB(this.Aw), this.Ew = 0; }, s5.prototype.Po = function(t5) { this.no.push(this.Qw(t5)); }, s5.prototype.ql = function(t5) { return t5 == 0 ? this.bt.length : this.Aw.length; }, s5.prototype.Xp = function(t5, i5) { return this.LR(t5, i5).bj; }, s5.prototype.Fa = function(i5, s6) { if (this.no.length != 2) throw t4.i.Ra(); this.ra = i5; var n4 = t4.mc.ox(0.01 * i5), h2 = false, r2 = this.no[0], e2 = this.no[1]; if (s6 || (5 & r2.bj.Br(e2.bj, i5, true)) != 0) { if (r2.bj.K() == 322) { var o2 = r2.bj; if (e2.bj.K() == 322) { s6 = e2.bj; var a2 = t4.zb.Yx(o2, s6, null, this.Hq, this.Ck, i5); if (a2 == 0) throw t4.zb.Yx(o2, s6, null, this.Hq, this.Ck, i5), t4.i.Ra(); i5 = Array(9), t4.P.bv(i5, null); for (var u2 = 0; u2 < a2; u2++) { var f2 = this.Hq[u2], c2 = this.Ck[u2], l2 = r2.mB, p2 = 1; f2 == 0 ? (l2 = r2.nB, p2 = r2.lC) : f2 == 1 && (l2 = r2.lB, p2 = r2.kC); var v2 = e2.mB, y2 = 1; c2 == 0 ? (v2 = e2.nB, y2 = e2.lC) : c2 == 1 && (v2 = e2.lB, y2 = e2.kC); var b2 = new t4.h(); l2 == v2 ? (l2 = new t4.h(), o2.ic(f2, l2), f2 = new t4.h(), s6.ic(c2, f2), y2 /= c2 = p2 + y2, t4.mc.IG(l2, f2, y2, b2), t4.h.zc(b2, l2) + t4.h.zc(b2, f2) > n4 && (h2 = true)) : l2 > v2 ? (o2.ic(f2, b2), f2 = new t4.h(), s6.ic(c2, f2), t4.h.zc(b2, f2) > n4 && (h2 = true)) : (s6.ic(c2, b2), l2 = new t4.h(), o2.ic(f2, l2), t4.h.zc(b2, l2) > n4 && (h2 = true)), i5[u2] = b2; } for (r2 = 0, e2 = -1, u2 = 0; u2 <= a2; u2++) (y2 = u2 < a2 ? this.Hq[u2] : 1) != r2 && (n4 = this.VA(), o2.dh(r2, y2, n4), e2 != -1 && n4.get().Ec(i5[e2]), u2 != a2 && n4.get().Rc(i5[u2]), r2 = y2, this.bt.push(this.Qw(n4.get()))), e2 = u2; for (o2 = [0, 0, 0, 0, 0, 0, 0, 0, 0], u2 = 0; u2 < a2; u2++) o2[u2] = u2; for (1 < a2 && this.Ck[0] > this.Ck[1] && (y2 = this.Ck[0], this.Ck[0] = this.Ck[1], this.Ck[1] = y2, u2 = o2[0], o2[0] = o2[1], o2[1] = u2), r2 = 0, e2 = -1, u2 = 0; u2 <= a2; u2++) (y2 = u2 < a2 ? this.Ck[u2] : 1) != r2 && (n4 = this.VA(), s6.dh(r2, y2, n4), e2 != -1 && (r2 = o2[e2], n4.get().Ec(i5[r2])), u2 != a2 && (r2 = o2[u2], n4.get().Rc(i5[r2])), r2 = y2, this.Aw.push(this.Qw(n4.get()))), e2 = u2; return h2; } } throw t4.i.Ra(); } return false; }, s5.prototype.Fz = function(i5, s6, n4) { if (s6.copyTo(this.Cf), this.no.length != 1) throw t4.i.Ra(); this.ra = i5; var h2 = this.no[0]; if (n4 || h2.bj.tu(s6.D(), i5, true)) { if (h2.bj.K() != 322) throw t4.i.Ra(); var r2 = (i5 = h2.bj).fe(s6.D(), false); this.Hq[0] = r2; var e2 = h2.mB; for (n4 = 1, r2 == 0 ? (e2 = h2.nB, n4 = h2.lC) : r2 == 1 && (e2 = h2.lB, n4 = h2.kC), h2 = new t4.h(), e2 == 0 ? (e2 = new t4.h(), i5.ic(r2, e2), s6 = s6.D(), t4.mc.IG(e2, s6, 1 / (n4 + 1), h2)) : 0 < e2 ? (h2 = new t4.h(), i5.ic(r2, h2)) : h2 = s6.D(), n4 = 0, r2 = -1, e2 = 0; 1 >= e2; e2++) { if ((s6 = 1 > e2 ? this.Hq[e2] : 1) != n4) { var o2 = this.VA(); i5.dh(n4, s6, o2), r2 != -1 && o2.get().Ec(h2), e2 != 1 && o2.get().Rc(h2), n4 = s6, this.bt.push(this.Qw(o2.get())); } r2 = e2; } this.Cf.Db(h2); } }, s5; }(); t4.NC = s4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { this.Fs = this.sk = this.tb = null, this.bg = 0, this.Bm = false, this.Af = -1, this.El = this.Kd = 0, this.gb = -1, this.ib = i6, this.bg = this.Vx(this.El), this.Bm = false, this.sk = null, this.Fs = new t4.h(); } return i5.prototype.tW = function(i6) { if (this.ib != i6.ib) throw t4.i.Hb(); this.Af = i6.Af, this.Kd = i6.Kd, this.gb = i6.gb, this.El = i6.El, this.bg = i6.bg, this.Bm = i6.Bm, this.sk = null; }, i5.prototype.ia = function() { if (this.Af != this.Kd && this.vD(), this.Bm) this.Kd = (this.Kd + 1) % this.bg; else { if (this.Kd == this.bg) throw t4.i.re(); this.Kd++; } return this.sk; }, i5.prototype.ni = function() { if (this.Bm) this.Kd = (this.bg + this.Kd - 1) % this.bg; else { if (this.Kd == 0) throw t4.i.re(); this.Kd--; } return this.Kd != this.Af && this.vD(), this.sk; }, i5.prototype.uW = function() { this.Af = -1, this.Kd = 0; }, i5.prototype.vW = function() { this.Kd = this.bg, this.Af = -1; }, i5.prototype.Wb = function(t5, i6) { if (i6 === void 0 && (i6 = -1), 0 <= this.gb && this.gb < this.ib.ea()) { var s4 = this.CM(); if (t5 >= s4 && t5 < this.ib.Wc(this.gb)) return this.Af = -1, void (this.Kd = t5 - s4); } i6 = 0 <= i6 && i6 < this.ib.ea() && t5 >= this.ib.Ca(i6) && t5 < this.ib.Wc(i6) ? i6 : this.ib.nz(t5), this.El = i6 + 1, this.gb = i6, this.Af = -1, this.Kd = t5 - this.ib.Ca(i6), this.bg = this.Vx(i6), this.ib.Ca(this.gb), this.ib.ec(this.gb); }, i5.prototype.ab = function() { return this.gb = this.El, !(this.gb >= this.ib.ea()) && (this.Af = -1, this.Kd = 0, this.bg = this.Vx(this.gb), this.ib.Ca(this.gb), this.ib.ec(this.gb), this.El++, true); }, i5.prototype.aj = function() { this.bg = this.Kd = this.Af = -1, this.El = 0, this.gb = -1; }, i5.prototype.Vx = function(t5) { if (this.ib.Bc()) return 0; var i6 = 1; return this.ib.ec(t5) && (i6 = 0), this.ib.Ka(t5) - i6; }, i5.prototype.Pn = function() { return this.Af == this.bg - 1 && this.ib.ec(this.gb); }, i5.prototype.DB = function() { this.Bm = true; }, i5.prototype.xb = function() { return this.ib.nb.o[this.gb] + this.Af; }, i5.prototype.CM = function() { return this.ib.Ca(this.gb); }, i5.prototype.jk = function() { return this.Pn() ? this.ib.Ca(this.gb) : this.xb() + 1; }, i5.prototype.xm = function() { return this.Af == 0; }, i5.prototype.Rn = function() { return this.Af == this.bg - 1; }, i5.prototype.Ia = function() { return this.Kd < this.bg; }, i5.prototype.zz = function() { return 0 < this.Kd; }, i5.prototype.Pf = function() { var t5 = new i5(this.ib); return t5.Af = this.Af, t5.Kd = this.Kd, t5.bg = this.bg, t5.gb = this.gb, t5.El = this.El, t5.ib = this.ib, t5.Bm = this.Bm, t5; }, i5.prototype.vD = function() { if (0 > this.Kd || this.Kd >= this.bg) throw t4.i.re(); this.Af = this.Kd; var i6 = this.xb(); this.ib.rc(); var s4 = this.ib.Se, n4 = 1; switch (s4 != null && (n4 = 7 & s4.read(i6)), s4 = this.ib.description, n4) { case 1: this.tb == null && (this.tb = new t4.zb()), this.sk = this.tb; break; case 2: throw t4.i.ga("internal error"); default: throw t4.i.Ra(); } this.sk.kg(s4), n4 = this.jk(), this.ib.Hc(i6, this.Fs), this.sk.Ec(this.Fs), this.ib.Hc(n4, this.Fs), this.sk.Rc(this.Fs); for (var h2 = 1, r2 = s4.Ba; h2 < r2; h2++) for (var e2 = s4.qd(h2), o2 = t4.ua.Wa(e2), a2 = 0; a2 < o2; a2++) { var u2 = this.ib.Vc(e2, i6, a2); this.sk.SB(e2, a2, u2), u2 = this.ib.Vc(e2, n4, a2), this.sk.IB(e2, a2, u2); } }, i5.prototype.SS = function() { return this.gb == this.ib.ea() - 1; }, i5.prototype.Qn = function() { var t5 = this.ib.OR(); return t5 != null && (7 & t5.read(this.Af)) != 1; }, i5; }(); t4.SL = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(i6) { i6 instanceof t4.ba ? (this.rH = i6, this.za = -1, this.Gi = 1) : (this.mT = i6.slice(0), this.za = -1, this.Gi = i6.length); } return i5.prototype.Ma = function() { return this.za; }, i5.prototype.next = function() { return this.za < this.Gi - 1 ? (this.za++, this.rH != null ? this.rH : this.mT[this.za]) : null; }, i5.prototype.qe = function() { }, i5; }(); t4.$c = i4; }(V || (V = {})), function(t4) { var i4 = function() { this.next = null; }, s4 = function() { function s5() { this.Vq = this.Mw = this.Nw = 0, this.eF = false, this.aK = 0, this.jn = this.Lf = this.Yl = this.Lh = null, this.Ql = 0, this.qy = null, this.rl = this.ri = -1; } return s5.prototype.sX = function(i5, s6, n4) { this.ri = i5, this.rl = s6, this.Lh = this.Yl = null, this.Vq = 0, this.qy = n4, this.jn == null && (this.jn = t4.P.lg(384, 0)), this.hK(); }, s5.prototype.S = function() { return this.ri; }, s5.prototype.da = function() { return this.rl; }, s5.prototype.flush = function() { 0 < this.Ql && (this.qy.aF(this.jn, this.Ql), this.Ql = 0); }, s5.prototype.hK = function() { if (0 < this.Vq) { for (var t5 = 0; t5 < this.rl; t5++) { for (var i5 = this.Yl[t5]; i5 != null; ) { var s6 = i5; i5 = i5.next, s6.next = null; } this.Yl[t5] = null; } this.Lh = null; } this.Nw = this.rl, this.Mw = -1, this.Vq = 0; }, s5.prototype.cJ = function(t5) { for (this.eF = t5 == s5.Bx, t5 = this.Nw; t5 <= this.Mw; t5++) this.mN(), this.fN(t5), this.TP(); this.hK(); }, s5.prototype.fy = function(s6, n4, h2, r2) { if (n4 != r2) { var e2 = 1; if (n4 > r2 && (e2 = s6, s6 = h2, h2 = e2, e2 = n4, n4 = r2, r2 = e2, e2 = -1), !(0 > r2 || n4 >= this.rl)) { 0 > s6 && 0 > h2 ? h2 = s6 = -1 : s6 >= this.ri && h2 >= this.ri && (h2 = s6 = this.ri); var o2 = (h2 - s6) / (r2 - n4); r2 > this.rl && (h2 = o2 * ((r2 = this.rl) - n4) + s6), 0 > n4 && (s6 = o2 * (0 - n4) + s6, n4 = 0); var a2 = Math.max(this.ri + 1, 8388607); -8388607 > s6 ? (n4 = (0 - s6) / o2 + n4, s6 = 0) : s6 > a2 && (n4 = (this.ri - s6) / o2 + n4, s6 = this.ri), -8388607 > h2 ? r2 = (0 - s6) / o2 + n4 : h2 > a2 && (r2 = (this.ri - s6) / o2 + n4), (n4 = t4.P.truncate(n4)) != (r2 = t4.P.truncate(r2)) && ((h2 = new i4()).x = t4.P.truncate(4294967296 * s6), h2.y = n4, h2.H = r2, h2.QP = t4.P.truncate(4294967296 * o2), h2.dir = e2, this.Yl == null && (this.Yl = t4.P.lg(this.rl, null)), h2.next = this.Yl[h2.y], this.Yl[h2.y] = h2, h2.y < this.Nw && (this.Nw = h2.y), h2.H > this.Mw && (this.Mw = h2.H), this.Vq++); } } }, s5.prototype.mN = function() { if (this.Lh != null) { for (var t5 = false, i5 = null, s6 = this.Lh; s6 != null; ) if (s6.y++, s6.y == s6.H) { var n4 = s6; s6 = s6.next, i5 != null ? i5.next = s6 : this.Lh = s6, n4.next = null; } else s6.x += s6.QP, i5 != null && i5.x > s6.x && (t5 = true), i5 = s6, s6 = s6.next; t5 && (this.Lh = this.$J(this.Lh)); } }, s5.prototype.fN = function(t5) { if (!(t5 >= this.rl)) { var i5 = this.Yl[t5]; if (i5 != null) { this.Yl[t5] = null, i5 = this.$J(i5), this.Vq -= this.aK, t5 = this.Lh; for (var s6 = true, n4 = i5, h2 = null; t5 != null && n4 != null; ) t5.x > n4.x ? (s6 && (this.Lh = n4), s6 = n4.next, n4.next = t5, h2 != null && (h2.next = n4), h2 = n4, n4 = s6) : (s6 = t5.next, t5.next = n4, h2 != null && (h2.next = t5), h2 = t5, t5 = s6), s6 = false; this.Lh == null && (this.Lh = i5); } } }, s5.ZJ = function(t5, i5) { return 0 > t5 ? 0 : t5 > i5 ? i5 : t5; }, s5.prototype.TP = function() { if (this.Lh != null) { for (var i5 = 0, n4 = this.Lh, h2 = t4.P.truncate(t4.P.QG(n4.x)), r2 = n4.next; r2 != null; r2 = r2.next) if (i5 = this.eF ? 1 ^ i5 : i5 + r2.dir, r2.x > n4.x) { var e2 = t4.P.truncate(t4.P.QG(r2.x)); i5 != 0 && (n4 = s5.ZJ(h2, this.ri), (h2 = s5.ZJ(e2, this.ri)) > n4 && n4 < this.ri && (this.jn[this.Ql++] = n4, this.jn[this.Ql++] = h2, this.jn[this.Ql++] = r2.y, this.Ql == this.jn.length && (this.qy.aF(this.jn, this.Ql), this.Ql = 0))), n4 = r2, h2 = e2; } } }, s5.prototype.$J = function(i5) { for (var n4 = 0, h2 = i5; h2 != null; h2 = h2.next) n4++; if (this.aK = n4, n4 == 1) return i5; this.Lf == null ? this.Lf = t4.P.lg(Math.max(n4, 16), null) : this.Lf.length < n4 && (this.Lf = t4.P.lg(Math.max(n4, 2 * this.Lf.length), null)); var r2 = 0; for (h2 = i5; h2 != null; h2 = h2.next) this.Lf[r2++] = h2; for (n4 == 2 ? this.Lf[0].x > this.Lf[1].x && (i5 = this.Lf[0], this.Lf[0] = this.Lf[1], this.Lf[1] = i5) : s5.uN(this.Lf, n4, function(t5, i6) { return t5 == i6 ? 0 : t5.x < i6.x ? -1 : t5.x > i6.x ? 1 : 0; }), i5 = this.Lf[0], this.Lf[0] = null, h2 = i5, r2 = 1; r2 < n4; r2++) h2.next = this.Lf[r2], h2 = this.Lf[r2], this.Lf[r2] = null; return h2.next = null, i5; }, s5.uN = function(t5, i5, s6) { if (i5 == t5.length) t5.sort(s6); else { var n4 = t5.slice(0, 0), h2 = t5.slice(i5); i5 = t5.slice(0, i5).sort(s6), t5.length = 0, t5.push.apply(t5, n4.concat(i5).concat(h2)); } }, s5.Bx = 0, s5; }(); t4.Ox = s4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.prototype.wi = function(t5, i6) { var s4 = this.g.Qa(t5, this.Rq); if (this.Fl == s4 && (this.Fl = this.oe.lb(this.Fl)), this.io == s4 && (this.io = this.oe.lb(this.io)), this.oe.kd(this.LA, s4), this.ck(t5), i6 && ((i6 = this.g.cd(t5)) != -1 && this.g.Ya(i6) == t5)) { var n4 = this.g.V(t5); if (n4 != t5) { if ((s4 = this.g.cd(n4)) == i6) return void this.g.Kf(i6, n4); if ((n4 = this.g.Na(t5)) != t5 && (s4 = this.g.cd(n4)) == i6) return void this.g.Kf(i6, n4); } this.g.Kf(i6, -1), this.g.Yg(i6, -1); } }, i5.prototype.jD = function() { for (var i6 = false, s4 = new t4.h(); ; ) { this.Yh == null ? (this.Yh = new t4.ja(0), this.Bs = new t4.ja(0), this.ye = new t4.ja(0)) : (this.Yh.clear(false), this.Bs.clear(false), this.ye.clear(false)); for (var n4 = this.io, h2 = 0, r2 = true; n4 != this.Fl; ) { var e2 = this.oe.getData(n4), o2 = new t4.h(); this.g.Hc(e2, o2), r2 && (this.g.Hc(e2, s4), r2 = false), o2 = this.g.Na(e2); var a2 = this.g.V(e2); this.g.Qa(o2, this.zg) != -559038737 && (this.Yh.add(o2), this.g.Sa(o2, this.zg, -559038737), this.Bs.add(e2), this.ye.add(h2++)), this.g.Qa(a2, this.zg) != -559038737 && (this.Yh.add(a2), this.g.Sa(a2, this.zg, -559038737), this.Bs.add(e2), this.ye.add(h2++)), n4 = this.oe.lb(n4); } if (2 > this.Yh.size) break; var u2 = this; for (this.ye.Wd(0, this.ye.size, function(t5, i7) { return u2.jM(t5, i7); }), n4 = 0, h2 = this.ye.size; n4 < h2; n4++) r2 = this.ye.get(n4), r2 = this.Yh.get(r2), this.g.Sa(r2, this.zg, n4), o2 = new t4.h(), this.g.Hc(r2, o2); for (o2 = this.NM(s4), n4 = 0, h2 = this.ye.size; n4 < h2; n4++) (r2 = this.ye.get(n4)) != -1 && (r2 = this.Yh.get(r2), this.g.Sa(r2, this.zg, -1)); if (!o2) break; i6 = true; } return i6; }, i5.prototype.NM = function(t5) { for (var i6 = false, s4 = true; s4; ) { s4 = false; var n4 = 0; this.ye.get(n4) == -1 && (n4 = this.em(n4)); for (var h2 = this.em(n4), r2 = 0, e2 = this.ye.size; r2 < e2 && n4 != -1 && h2 != -1 && n4 != h2; r2++) { var o2 = this.ye.get(n4); h2 = this.ye.get(h2), o2 = this.Yh.get(o2), h2 = this.Yh.get(h2); var a2 = this.g.V(o2); this.g.Fv(a2, t5) || (a2 = this.g.Na(o2)); var u2 = this.g.V(h2); this.g.Fv(u2, t5) || (u2 = this.g.Na(h2)); var f2 = this.ru(a2, o2), c2 = this.ru(u2, h2), l2 = f2 ? this.g.Na(a2) : this.g.V(a2), p2 = c2 ? this.g.Na(u2) : this.g.V(u2), v2 = false; (this.tp(a2) || this.tp(u2) || this.tp(o2) || this.tp(h2) || this.tp(l2) || this.tp(p2)) && (v2 = true), !v2 && this.g.hq(o2, h2) && (v2 = true, this.nD(f2, c2, a2, o2, u2, h2)), !v2 && this.g.hq(l2, p2) && (v2 = true, this.nD(!f2, !c2, a2, l2, u2, p2)), v2 && (i6 = true), s4 = s4 || v2, n4 = this.em(n4), h2 = this.em(n4); } } if (!i6) for (n4 = 0, this.ye.get(n4) == -1 && (n4 = this.em(n4)), h2 = this.em(n4), r2 = 0, e2 = this.ye.size; r2 < e2 && n4 != -1 && h2 != -1 && n4 != h2; r2++) o2 = this.ye.get(n4), h2 = this.ye.get(h2), o2 = this.Yh.get(o2), h2 = this.Yh.get(h2), a2 = this.g.V(o2), this.g.Fv(a2, t5) || (a2 = this.g.Na(o2)), u2 = this.g.V(h2), this.g.Fv(u2, t5) || (u2 = this.g.Na(h2)), f2 = this.ru(a2, o2), c2 = this.ru(u2, h2), l2 = f2 ? this.g.Na(a2) : this.g.V(a2), p2 = c2 ? this.g.Na(u2) : this.g.V(u2), this.xM(f2, c2, o2, a2, l2, h2, u2, p2) && (i6 = true), n4 = this.em(n4), h2 = this.em(n4); return i6; }, i5.prototype.RM = function() { this.g.jc(this.Y) == 1736 && this.g.Jn(this.Y) == 1 && new t4.Hg().EU(this.hw, this.g, this.Y, this.nd); var i6 = false, s4 = true; this.zg = this.Rq = -1; var n4 = this.g.I(this.Y), h2 = new t4.ja(0); h2.Jb(n4); for (var r2 = this.g.Ob(this.Y); r2 != -1; r2 = this.g.Sb(r2)) for (var e2 = this.g.Ya(r2), o2 = 0, a2 = this.g.Ka(r2); o2 < a2; o2++) h2.add(e2), e2 = this.g.V(e2); var u2 = this.g.ud.o, f2 = this.g.ud.Mf; this.g.wb.rc(); var c2 = this.g.wb.Aa[0].o; for (h2.Wd(0, n4, function(t5, i7) { var s5 = u2[f2 * t5], n5 = u2[f2 * i7], h3 = c2[2 * s5]; s5 = c2[2 * s5 + 1]; var r3 = c2[2 * n5]; return (h3 = s5 < (n5 = c2[2 * n5 + 1]) ? -1 : s5 > n5 ? 1 : h3 < r3 ? -1 : h3 > r3 ? 1 : 0) == 0 && (h3 = (t5 = u2[f2 * t5 + 3]) < (i7 = u2[f2 * i7 + 3]) ? -1 : t5 == i7 ? 0 : 1), h3; }), this.Rq = this.g.Hd(), this.oe = new t4.kp(), this.LA = this.oe.Rh(0), this.oe.hn(n4), r2 = 0; r2 < n4; r2++) e2 = h2.get(r2), o2 = this.oe.addElement(this.LA, e2), this.g.Sa(e2, this.Rq, o2); for (this.zg = this.g.Hd(), this.Fl = -1, this.XC() && (i6 = true); s4; ) { s4 = false, n4 = 0, h2 = false; do { h2 = false, this.io = -1, a2 = 0, r2 = new t4.h(), o2 = new t4.h(); for (var l2 = this.oe.sc(this.LA); l2 != -1; ) e2 = this.oe.getData(l2), this.io != -1 ? (this.g.Hc(e2, o2), r2.rb(o2) ? a2++ : (r2.N(o2), this.Fl = l2, 0 < a2 && (e2 = this.jD()) && (h2 = true, this.Fl != -1 && (e2 = this.oe.getData(this.Fl), this.g.Hc(e2, r2))), this.io = l2 = this.Fl, a2 = 0)) : (this.io = l2, this.g.Hc(this.oe.getData(l2), r2), a2 = 0), l2 != -1 && (l2 = this.oe.lb(l2)); if (this.Fl = -1, 0 < a2 && (e2 = this.jD()) && (h2 = true), 10 < n4++) throw t4.i.Ra(); h2 && this.AM(), this.XC() && (h2 = true), s4 = s4 || h2 && false, i6 = i6 || h2; } while (h2); } return this.g.Ud(this.Rq), this.g.Ud(this.zg), t4.QL.W(this.g, this.Y, this.oe, this.hw) || i6; }, i5.prototype.ru = function(t5, i6) { return this.g.V(i6) != t5; }, i5.prototype.xM = function(t5, i6, s4, n4, h2, r2, e2, o2) { if (n4 == e2) return this.ck(s4), this.ck(r2), false; var a2 = this.g.Qa(s4, this.zg), u2 = this.g.Qa(h2, this.zg), f2 = this.g.Qa(r2, this.zg), c2 = this.g.Qa(o2, this.zg), l2 = [0, 0, 0, 0]; for ((s4 = [0, 0, 0, 0, 0, 0, 0, 0])[0] = 0, l2[0] = a2, s4[1] = 0, l2[1] = u2, s4[2] = 1, l2[2] = f2, s4[3] = 1, l2[3] = c2, a2 = 1; 4 > a2; a2++) { for (u2 = l2[a2], f2 = s4[a2], c2 = a2 - 1; 0 <= c2 && l2[c2] > u2; ) l2[c2 + 1] = l2[c2], s4[c2 + 1] = s4[c2], c2--; l2[c2 + 1] = u2, s4[c2 + 1] = f2; } return l2 = 0, s4[0] != 0 && (l2 |= 1), s4[1] != 0 && (l2 |= 2), s4[2] != 0 && (l2 |= 4), s4[3] != 0 && (l2 |= 8), (l2 == 5 || l2 == 10) && (t5 == i6 ? t5 ? (this.g.Cc(o2, n4), this.g.Dc(n4, o2), this.g.Cc(h2, e2), this.g.Dc(e2, h2)) : (this.g.Dc(o2, n4), this.g.Cc(n4, o2), this.g.Dc(h2, e2), this.g.Cc(e2, h2)) : t5 ? (this.g.Dc(n4, r2), this.g.Cc(r2, n4), this.g.Dc(e2, h2), this.g.Cc(h2, e2)) : (this.g.Cc(n4, r2), this.g.Dc(r2, n4), this.g.Cc(e2, h2), this.g.Dc(h2, e2)), true); }, i5.prototype.nD = function(t5, i6, s4, n4, h2, r2) { this.EY ? this.PM() : this.OM(t5, i6, s4, n4, h2, r2); }, i5.prototype.PM = function() { throw t4.i.ga("not implemented."); }, i5.prototype.OM = function(t5, i6, s4, n4, h2, r2) { if (t5 != i6) t5 ? (this.g.Cc(s4, h2), this.g.Dc(h2, s4), this.g.Cc(r2, n4), this.g.Dc(n4, r2), this.wn(h2, s4), this.wi(h2, true), this.g.oi(h2, true), this.ck(s4), this.wn(r2, n4), this.wi(r2, true), this.g.oi(r2, false)) : (this.g.Cc(h2, s4), this.g.Dc(s4, h2), this.g.Cc(n4, r2), this.g.Dc(r2, n4), this.wn(h2, s4), this.wi(h2, true), this.g.oi(h2, false), this.ck(s4), this.wn(r2, n4), this.wi(r2, true), this.g.oi(r2, true)), this.ck(n4); else { var e2 = t5 ? s4 : n4, o2 = i6 ? h2 : r2; for (t5 = t5 ? n4 : s4, i6 = i6 ? r2 : h2, h2 = false, this.g.Cc(e2, o2), this.g.Cc(o2, e2), this.g.Dc(t5, i6), this.g.Dc(i6, t5), r2 = i6; r2 != o2; ) s4 = this.g.Na(r2), n4 = this.g.V(r2), this.g.Dc(r2, n4), this.g.Cc(r2, s4), h2 = h2 || r2 == e2, r2 = n4; h2 || (s4 = this.g.Na(o2), n4 = this.g.V(o2), this.g.Dc(o2, n4), this.g.Cc(o2, s4)), this.wn(o2, e2), this.wi(o2, true), this.g.oi(o2, false), this.ck(e2), this.wn(i6, t5), this.wi(i6, true), this.g.oi(i6, false), this.ck(t5); } }, i5.prototype.XC = function() { for (var t5 = false, i6 = this.g.Ob(this.Y); i6 != -1; ) { for (var s4 = this.g.Ya(i6), n4 = 0, h2 = this.g.Ka(i6); n4 < h2 && 1 < h2; ) { var r2 = this.g.Na(s4), e2 = this.g.V(s4); this.g.hq(r2, e2) ? (t5 = true, this.wi(s4, false), this.g.pd(s4, true), this.wi(e2, false), this.g.pd(e2, true), s4 = r2, n4 = 0, h2 = this.g.Ka(i6)) : (s4 = e2, n4++); } if (2 > this.g.Ka(i6)) { for (t5 = this.g.Ya(i6), n4 = 0, h2 = this.g.Ka(i6); n4 < h2; n4++) this.wi(t5, false), t5 = this.g.V(t5); i6 = this.g.ar(i6), t5 = true; } else i6 = this.g.Sb(i6); } return t5; }, i5.prototype.tp = function(t5) { for (var i6 = false; ; ) { var s4 = this.g.V(t5), n4 = this.g.Na(t5); if (s4 == t5) return this.wi(t5, true), this.g.oi(t5, false), true; if (!this.g.hq(s4, n4)) break; if (i6 = true, this.ck(n4), this.ck(s4), this.wi(t5, true), this.g.oi(t5, false), this.wn(s4, n4), this.wi(s4, true), this.g.oi(s4, true), s4 == n4) break; t5 = n4; } return i6; }, i5.prototype.AM = function() { for (var t5 = 0, i6 = this.oe.sc(this.oe.je); i6 != -1; i6 = this.oe.lb(i6)) { var s4 = this.oe.getData(i6); this.g.cj(s4, -1); } for (var n4 = 0, h2 = this.g.Ob(this.Y); h2 != -1; ) if ((i6 = this.g.Ya(h2)) == -1 || this.g.cd(i6) != -1) s4 = h2, h2 = this.g.Sb(h2), this.g.br(s4); else { this.g.cj(i6, h2); var r2 = 1; for (s4 = this.g.V(i6); s4 != i6; s4 = this.g.V(s4)) this.g.cj(s4, h2), r2++; this.g.ep(h2, false), this.g.Xj(h2, r2), this.g.Yg(h2, this.g.Na(i6)), n4 += r2, t5++, h2 = this.g.Sb(h2); } for (i6 = this.oe.sc(this.oe.je); i6 != -1; i6 = this.oe.lb(i6)) s4 = this.oe.getData(i6), this.g.cd(s4) == -1 && (h2 = this.g.hG(this.Y, s4, s4, null), n4 += this.g.Ka(h2), t5++); for (this.g.Tl(this.Y, t5), this.g.Vj(this.Y, n4), t5 = 0, n4 = this.g.ld; n4 != -1; n4 = this.g.ve(n4)) t5 += this.g.I(n4); this.g.WB(t5); }, i5.prototype.em = function(t5) { for (var i6 = 0, s4 = this.ye.size - 1; i6 < s4; i6++) if (t5 = (t5 + 1) % this.ye.size, this.ye.get(t5) != -1) return t5; return -1; }, i5.prototype.wn = function(t5, i6) { var s4 = this.g.Qa(i6, this.Rq), n4 = this.g.Qa(i6, this.zg); this.g.fC(t5, i6), this.g.Sa(i6, this.Rq, s4), this.g.Sa(i6, this.zg, n4); }, i5.prototype.ck = function(t5) { var i6 = this.g.Qa(t5, this.zg); i6 != -1 && (this.ye.set(i6, -1), this.g.Sa(t5, this.zg, -1)); }, i5.W = function(t5, s4, n4, h2, r2) { var e2 = new i5(); return e2.g = t5, e2.Y = s4, e2.rA = n4, e2.hw = h2, e2.nd = r2, e2.RM(); }, i5.prototype.jM = function(i6, s4) { var n4 = this.Yh.get(i6), h2 = new t4.h(); this.g.Hc(n4, h2), n4 = new t4.h(); var r2 = this.Yh.get(s4); return this.g.Hc(r2, n4), h2.rb(n4) ? 0 : (r2 = this.Bs.get(i6), i6 = new t4.h(), this.g.Hc(r2, i6), r2 = this.Bs.get(s4), s4 = new t4.h(), this.g.Hc(r2, s4), (r2 = new t4.h()).vc(h2, i6), (h2 = new t4.h()).vc(n4, s4), t4.h.pu(r2, h2)); }, i5; }(); t4.tn = i4; }(V || (V = {})), function(t4) { var i4; (i4 = t4.UL || (t4.UL = {}))[i4.Local = 0] = "Local", i4[i4.Geographic = 1] = "Geographic", i4[i4.Projected = 2] = "Projected", i4[i4.Image = 3] = "Image", i4[i4.Unknown = 4] = "Unknown", function(t5) { t5[t5.Integer32 = 0] = "Integer32", t5[t5.Integer64 = 1] = "Integer64", t5[t5.FloatingPoint = 2] = "FloatingPoint"; }(t4.NL || (t4.NL = {})); var s4 = function() { function i5() { this.qp = "", this.uu = null, this.eg = 0, this.TH = this.Io = -1, this.yh = null; } return i5.prototype.Fc = function() { return this.eg; }, i5.prototype.PF = function() { return 1; }, i5.prototype.Yd = function() { var i6 = 1e-3; return this.eg != 0 ? i6 = t4.yr.wQ(this.eg) : this.yh != null && (i6 = t4.RC.xQ(this.yh)), i6; }, i5.prototype.wz = function() { return this.yh; }, i5.prototype.Id = function() { return this.eg != 0 ? t4.Uc.ah(t4.yr.Ny(this.eg)) : this.yh != null ? t4.RC.yQ(this.yh) : void 0; }, i5.Tb = function(i6) { if (i6.eg != 0) { if (t4.yr.RS(i6.eg) === true) return 1; if (t4.yr.TS(i6.eg) === true) return 2; } return 4; }, i5.prototype.cs = function() { var i6 = this.Fc(); return this.Io != -1 ? this.Io : (this.Io = t4.yr.zK(i6), this.Io != -1 ? this.Io : i6); }, i5.create = function(s5) { if (0 >= s5) throw t4.i.O("Invalid or unsupported wkid: " + s5); var n4 = new i5(); return n4.eg = s5, n4; }, i5.kP = function(s5) { if (s5 == null || s5.length == 0) throw t4.i.O("Cannot create SpatialReference from null or empty text."); var n4 = new i5(); return n4.yh = s5, n4; }, i5.prototype.Nb = function(t5) { return this == t5 || t5 != null && this.constructor == t5.constructor && this.eg == t5.eg && (this.eg != 0 || this.yh === t5.yh); }, i5.prototype.toString = function() { return "[ tol: " + this.Ln() + "; wkid: " + this.Fc() + "; wkt: " + this.wz() + "]"; }, i5.prototype.dc = function() { if (this.qp !== "") return this.qp; var t5 = this.toString(); if (Array.prototype.reduce) return this.qp = "S" + t5.split("").reduce(function(t6, i7) { return (t6 = (t6 << 5) - t6 + i7.charCodeAt(0)) & t6; }, 0); var i6 = 0; if (t5.length === 0) return ""; for (var s5 = 0; s5 < t5.length; s5++) i6 = (i6 << 5) - i6 + t5.charCodeAt(s5), i6 &= i6; return this.qp = "S" + i6; }, i5.prototype.Ln = function() { return this.Yd(0); }, i5.prototype.hh = function() { return this.uu !== null ? this.uu : this.uu = t4.iu.sP(this); }, i5.TN = 2147483645, i5.UN = 9007199254740990, i5; }(); t4.Gg = s4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function s4() { var s5 = i5 !== null && i5.apply(this, arguments) || this; return s5.Li = null, s5.KT = null, s5.Jq = new t4.TL(), s5.Fo = null, s5.lw = null, s5; } return Q(s4, i5), s4.sP = function(i6) { var n4 = new s4(); if (n4.eg = i6.eg, n4.Io = i6.Io, n4.TH = i6.TH, n4.yh = i6.yh, n4.yh !== "" && n4.yh !== null) { i6 = s4.eM(n4.yh); var h2 = s4.cM(n4.yh); n4.Jq.Wx(i6, h2, t4.ju.Integer64), n4.ay(i6), n4.cy(h2), n4.eg = i6.cs(); } else i6 = s4.dM(n4.eg), n4.ay(i6), n4.cy(null), n4.Jq.Wx(i6, null, t4.ju.Integer64); return n4; }, s4.prototype.Yd = function(t5) { return this.Jq.Ln(t5); }, s4.cM = function(i6) { if (0 >= i6.length) throw t4.i.O(); var n4 = null; try { n4 = t4.HC.fromString(i6); } catch (h2) { n4 = null; } return n4 == null ? null : s4.WC(n4, true); }, s4.prototype.ay = function(t5) { this.Ld = t5, this.Fo = this.Ld.Id(); }, s4.prototype.cy = function(t5) { this.EH = t5, this.KT = this.EH != null ? this.EH.Fo : null; }, s4.prototype.Xc = function() { return this.Tb() != 0 && this.Tb() != 3 && this.Ld.Xc(); }, s4.prototype.CG = function() { return this.Tb() != 0 && (this.Tb() == 3 ? this.Li.gk().Xc() : this.Ld.Xc()); }, s4.prototype.gh = function() { return this.Ld != null ? this.Ld.Re : null; }, s4.prototype.rm = function() { return this.Ld.rm(); }, s4.prototype.bf = function() { return this.Ld.bf(); }, s4.prototype.jh = function() { return this.Ld != null ? this.Ld.uw : NaN; }, s4.prototype.Wp = function() { return this.Ld.Wp(); }, s4.prototype.Yr = function() { return this.Ld.Yr(); }, s4.prototype.lk = function() { return this.Ld.lk(); }, s4.prototype.dS = function(i6) { return t4.IC.Ky(this.Ld, i6.Ld); }, s4.prototype.ol = function() { return this.Ld.ol(); }, s4.prototype.Xr = function() { return this.Ld.Xr(); }, s4.prototype.Bi = function() { return this.Tb() == 3 ? this.Li.gk().Bi() : this.Ld.Bi(); }, s4.prototype.ih = function() { if (!this.Xc()) throw t4.i.O("!isPannable()"); var i6 = new t4.l(); return this.Ld.ih(i6), i6; }, s4.prototype.Le = function() { if (!this.Xc()) throw t4.i.O("!isPannable()"); return this.Ld.to; }, s4.prototype.BR = function() { if (!this.Xc()) throw t4.i.O("!isPannable()"); var i6 = new t4.l(); return this.Ld.AR(i6), i6; }, s4.prototype.rv = function() { if (!this.Xc()) throw t4.i.O("!isPannable()"); return this.Ld.rv(); }, s4.prototype.qv = function() { if (!this.Xc()) throw t4.i.O("!isPannable()"); return this.Ld.qv(); }, s4.prototype.Zr = function() { return this.Li != null ? this.Li.gk().Zr() : this.Ld.Zr(); }, s4.prototype.JQ = function() { return this.Ld.kv(); }, s4.prototype.Sp = function() { return this.Fo.getUnitFactor(); }, s4.prototype.pz = function(t5) { return this.Jq.pz(t5); }, s4.prototype.tc = function() { var i6 = this.Tb(); if (i6 == 1) return this; if (i6 == 3) return this.Li.gk().tc(); if (i6 == 0) throw t4.i.ga("invalid call"); if (i6 === 4) throw t4.i.ga("invalid call"); if (this.lw !== null) return this.lw; if ((i6 = this.gh().getGeogcs()) == null) throw t4.i.Ra(); return this.lw = s4.WE(i6, this.Jq.PF()); }, s4.WE = function(i6, n4) { if (i6 == null) throw t4.i.O("null pointer."); var h2 = new s4(); return i6 = s4.ou(i6, true), h2.Jq.Wx(i6, null, n4), h2.ay(i6), h2.cy(null), h2.eg = i6.cs(), h2; }, s4.prototype.Tb = function() { var i6 = this.gh(); if (i6 != null) switch (i6.getType()) { case t4.Tc.PE_TYPE_GEOGCS: return 1; case t4.Tc.PE_TYPE_PROJCS: return 2; } return 4; }, s4.prototype.kv = function() { return this.Ld.kv(); }, s4.ou = function(i6, n4) { var h2 = i6.getCode(); if (0 >= h2 && 0 < (h2 = t4.qf.getCode(i6))) { if ((i6 = t4.qf.coordsys(h2)) == null) throw t4.i.O("Text to wkid mapping had failed: " + h2); return s4.ou(i6, n4); } if (n4 && 0 < h2 && (n4 = s4.qx[h2])) return n4; n4 = t4.Ab.zv(i6, h2, false); var r2 = s4.fK[n4]; return r2 || (i6 = 0 >= h2 ? i6 : t4.qf.coordsys(h2), i6 = new t4.IC(i6), s4.fK[n4] = i6, 0 < h2 && (s4.qx[h2] = i6), i6); }, s4.dM = function(i6) { if (0 >= i6) throw t4.i.O("Invalid or unsupported wkid: " + i6); var n4 = s4.qx[i6]; if (n4 != null) return n4; if ((n4 = t4.qf.coordsys(i6)) == null) throw t4.i.O("Invalid or unsupported wkid: " + i6); return (n4 = s4.ou(n4, false)).cs() != i6 && (s4.qx[i6] = n4), n4; }, s4.eM = function(i6) { if (i6 == null || i6 === void 0 || i6.length == 0) throw t4.i.O("Cannot create SpatialReference from null or empty text."); var n4 = null; try { n4 = t4.qf.fromString(t4.Tc.PE_TYPE_COORDSYS, i6); } catch (h2) { throw t4.i.O("Cannot create SpatialReference from text. " + h2.message); } if (n4 === null) throw t4.i.O("Cannot create SpatialReference from text. "); return s4.ou(n4, true); }, s4.WC = function(i6, n4) { var h2, r2 = i6.getCode(); if (0 >= r2 && 0 < (r2 = t4.qf.getCode(i6))) { if ((r2 = t4.qf.vertcs(r2)) === null) throw t4.i.O(); return s4.WC(r2, n4); } if (n4 && 0 < r2 && (n4 = s4.eK[r2])) return n4; if (i6 = t4.Ab.zv(i6, r2, false), n4 = s4.gK[i6]) return n4; if (0 >= r2 || (h2 = t4.qf.vertcs(r2)), h2 === null) throw t4.i.O(); return h2 = new t4.JL(h2), s4.gK[i6] = h2, 0 < r2 && (s4.eK[r2] = h2), h2; }, s4.mI = function(i6, s5) { if (s5 === null || s5.B()) return null; var n4 = new t4.l(); if (s5 !== null && i6.Tb() != 1) { var h2 = i6.tc(), r2 = h2.gh(); i6 = t4.xr.Pr(i6, h2, null, null), (s5 = t4.Gx.local().W(s5, i6, null)).A(n4); } else r2 = i6.gh(), s5.A(n4); return s5 = r2.getPrimem().getLongitude(), r2 = r2.getUnit().getUnitFactor(), new t4.FC(n4.v, n4.G, n4.C, n4.H, s5, r2); }, s4.fD = function(t5) { var i6 = { name: "", steps: [], _pt: null, _entry: null }, s5 = 0; for (t5 = t5.getEntries(); s5 < t5.length; s5++) { var n4 = t5[s5], h2 = { DY: false, RY: "", QY: -1, geogtran: null }; n4.getDirection() === 0 ? h2.isInverse = false : h2.isInverse = true; var r2 = n4.getGeogtran().getCode(); -1 < r2 ? h2.wkid = r2 : h2.wkt = n4.getGeogtran().toString(), i6.steps.push(h2); } return i6; }, s4.QR = function(i6, n4, h2, r2) { return h2 === void 0 && (h2 = null), h2 = s4.mI(r2, h2), i6 = t4.mp.getGTlist(i6.gh(), n4.gh(), 2, t4.mp.PE_GTLIST_OPTS_COMMON, h2, 1), n4 = null, i6 && 0 < i6.length && (n4 = this.fD(i6[0]), t4.Lx.destroy(i6)), h2 !== null && h2.destroy(), n4; }, s4.RR = function(i6, n4, h2, r2) { var e2; if (h2 === void 0 && (h2 = null), r2 === void 0 && (r2 = null), e2 === void 0 && (e2 = 30), h2 = s4.mI(r2, h2), i6 = t4.mp.getGTlist(i6.gh(), n4.gh(), 2, t4.mp.PE_GTLIST_OPTS_COMMON, h2, e2), n4 = [], i6 && 0 < i6.length) { for (e2 = 0; e2 < i6.length; e2++) n4.push(this.fD(i6[e2])); t4.Lx.destroy(i6); } return h2 !== null && h2.destroy(), n4; }, s4.qx = {}, s4.fK = {}, s4.eK = {}, s4.gK = {}, s4; }(t4.Gg); t4.iu = i4; }(V || (V = {})), function(t4) { var i4, s4; (s4 = i4 = t4.ju || (t4.ju = {}))[s4.Integer32 = 0] = "Integer32", s4[s4.Integer64 = 1] = "Integer64", s4[s4.FloatingPoint = 2] = "FloatingPoint"; var n4 = function() { function s5() { this.rp(); } return s5.prototype.assign = function(t5) { this.Hm = t5.Hm, this.Im = t5.Im, this.Rj = t5.Rj, this.mA = t5.mA, this.Go = t5.Go, this.lA = t5.lA, this.Jk = t5.Jk, this.Oq = t5.Oq, this.Nq = t5.Nq, this.Tm = t5.Tm; }, s5.prototype.PF = function() { return this.Tm; }, s5.prototype.rp = function() { this.Im = this.Hm = 0, this.Rj = 1, this.mA = 0, this.Go = 1, this.lA = 0, this.Nq = this.Oq = this.Jk = 2220446049250313e-29, this.Tm = i4.FloatingPoint; }, s5.prototype.Wx = function(s6, n5, h2) { if (this.rp(), this.Tm = h2, h2 != i4.FloatingPoint) { var r2 = new t4.l(); s6.bR(r2), this.Hm = r2.v, this.Im = r2.G; } else this.Im = this.Hm = -17976931348623157e292; (r2 = s6.Re.getType()) == t4.Tc.PE_TYPE_GEOGCS ? (r2 = (h2 == i4.Integer64 ? 1e-9 : 1 / 18e5) * s6.bf(), this.Rj = 1 / r2) : r2 == t4.Tc.PE_TYPE_PROJCS && (r2 = (h2 == i4.Integer64 ? 1e-4 : 1e-3) * s6.rm(), this.Rj = 1 / r2), n5 != null ? (r2 = (h2 == i4.Integer32 ? 1e-3 : 1e-4) * n5.CH, this.Go = 1 / r2) : this.Go = 1e4, this.SM(), this.Jk = s6.uw, this.Oq = n5 != null ? 1e-3 * n5.CH : 1e-3, this.Nq = 2220446049250313e-29; }, s5.prototype.SM = function() { if (this.Tm != i4.FloatingPoint) { var s6 = this.Tm == i4.Integer64 ? t4.Gg.UN : t4.Gg.TN, n5 = s6 / this.Rj, h2 = this.Hm + n5, r2 = t4.P.truncate((h2 - this.Hm) * this.Rj); r2 > s6 && (this.Rj = s6 / (h2 - this.Hm)), n5 = this.Im + n5, (r2 = t4.P.truncate((n5 - this.Im) * this.Rj)) > s6 && (this.Rj = s6 / (n5 - this.Im)); } }, s5.prototype.VB = function(t5) { switch (t5) { case 0: this.Jk = void 0; case 1: this.Oq = void 0; case 2: this.Nq = void 0; } }, s5.prototype.Ln = function(t5) { switch (t5) { case 0: return this.Jk; case 1: return this.Oq; case 2: return this.Nq; } return 0; }, s5.prototype.pz = function(t5) { if (this.Tm == i4.FloatingPoint) return 0; switch (t5) { case 0: return 1 / this.Rj; case 1: case 2: return 1 / this.Go; default: return 0; } }, s5.prototype.toString = function() { var t5 = "SRPD [m_toleranceXY: " + this.Jk.toString(); return (t5 = (t5 = (t5 = (t5 = (t5 = (t5 = (t5 = (t5 = (t5 = t5 + ";m_falseX: " + this.Hm.toString()) + ";m_falseY: " + this.Im.toString()) + ";m_unitsXY: " + this.Rj.toString()) + ";m_falseZ: " + this.mA.toString()) + ";m_unitsZ: " + this.Go.toString()) + ";m_falseM: " + this.lA.toString()) + ";m_toleranceZ: " + this.Oq.toString()) + ";m_toleranceM: " + this.Nq.toString()) + ";m_precision: " + this.Tm.toString()) + "] "; }, s5; }(); t4.TL = n4; }(V || (V = {})), function(t4) { function i4(t5, i5) { return 89.99999 < i5 ? i5 = 89.99999 : -89.99999 > i5 && (i5 = -89.99999), i5 *= 0.017453292519943, [111319.49079327169 * t5, 31890685e-1 * Math.log((1 + Math.sin(i5)) / (1 - Math.sin(i5)))]; } function s4(t5, i5, s5) { return t5 = t5 / 6378137 * 57.29577951308232, s5 ? [t5, 57.29577951308232 * (1.5707963267948966 - 2 * Math.atan(Math.exp(-1 * i5 / 6378137)))] : [t5 - 360 * Math.floor((t5 + 180) / 360), 57.29577951308232 * (1.5707963267948966 - 2 * Math.atan(Math.exp(-1 * i5 / 6378137)))]; } function n4(i5, s5, n5) { var h3 = i5.Pf(); if (i5.K() === 33) s5 = s5(h3.Ng(), h3.kh()), h3.Db(s5[0], s5[1]); else if (i5.K() === 197) { var r3 = s5(i5.gs(), i5.js(), n5); s5 = s5(i5.fs(), i5.hs(), n5), h3.L(r3[0], r3[1], s5[0], s5[1]); } else for (r3 = new t4.h(), i5 = 0; i5 < h3.I(); i5++) { h3.D(i5, r3); var e3 = s5(r3.x, r3.y, n5); r3.na(e3[0], e3[1]), h3.Db(i5, r3); } return h3; } function h2(t5) { return n4(t5, s4, true); } function r2(t5) { return n4(t5, i4, true); } var e2 = Math.PI / 180; t4.OK = function() { function i5() { } return i5.xu = function(i6) { var s5 = Math.sqrt(0.006694379990197414), n5 = Math.sin(i6.y * e2); return t4.h.construct(6378137 * i6.x * e2, 3.1677196636462314e6 * (n5 / (1 - 0.006694379990197414 * n5 * n5) - 1 / (2 * s5) * Math.log((1 - s5 * n5) / (1 + s5 * n5)))); }, i5.Ux = function(i6, s5, n5, h3) { var r3 = 1 / 298.257223563, o2 = Math.sin(n5); n5 = Math.cos(n5); var a2 = (1 - r3) * Math.tan(i6), u2 = a2 * (i6 = 1 / Math.sqrt(1 + a2 * a2)), f2 = Math.atan2(a2, n5), c2 = (a2 = i6 * o2) * a2, l2 = 1 - c2, p2 = 27233160610754688e-5 * l2 / 4040829998466145e-2, v2 = 1 + p2 / 16384 * (4096 + p2 * (p2 * (320 - 175 * p2) - 768)), y2 = p2 / 1024 * (256 + p2 * (p2 * (74 - 47 * p2) - 128)); p2 = h3 / (635675231424518e-8 * v2); for (var b2, d2, g2, w2 = 2 * Math.PI; 1e-12 < Math.abs(p2 - w2); ) g2 = Math.cos(2 * f2 + p2), w2 = p2, p2 = h3 / (635675231424518e-8 * v2) + y2 * (b2 = Math.sin(p2)) * (g2 + y2 / 4 * ((d2 = Math.cos(p2)) * (2 * g2 * g2 - 1) - y2 / 6 * g2 * (4 * b2 * b2 - 3) * (4 * g2 * g2 - 3))); return h3 = u2 * b2 - i6 * d2 * n5, l2 = r3 / 16 * l2 * (4 + r3 * (4 - 3 * l2)), t4.h.construct((s5 + (Math.atan2(b2 * o2, i6 * d2 - u2 * b2 * n5) - (1 - l2) * r3 * a2 * (p2 + l2 * b2 * (g2 + l2 * d2 * (2 * g2 * g2 - 1))))) / e2, Math.atan2(u2 * d2 + i6 * b2 * n5, (1 - r3) * Math.sqrt(c2 + h3 * h3)) / e2); }, i5.GM = function(t5, i6, s5, n5) { var h3 = 1 / 298.257223563, r3 = n5 - i6, e3 = Math.atan((1 - h3) * Math.tan(t5)), o2 = Math.atan((1 - h3) * Math.tan(s5)), a2 = Math.sin(e3); e3 = Math.cos(e3); var u2 = Math.sin(o2); o2 = Math.cos(o2); var f2 = r3, c2 = 1e3; do { var l2 = Math.sin(f2), p2 = Math.cos(f2), v2 = Math.sqrt(o2 * l2 * o2 * l2 + (e3 * u2 - a2 * o2 * p2) * (e3 * u2 - a2 * o2 * p2)); if (v2 === 0) return 0; p2 = a2 * u2 + e3 * o2 * p2; var y2 = Math.atan2(v2, p2), b2 = e3 * o2 * l2 / v2, d2 = 1 - b2 * b2; l2 = p2 - 2 * a2 * u2 / d2, isNaN(l2) && (l2 = 0); var g2 = h3 / 16 * d2 * (4 + h3 * (4 - 3 * d2)), w2 = f2; f2 = r3 + (1 - g2) * h3 * b2 * (y2 + g2 * v2 * (l2 + g2 * p2 * (2 * l2 * l2 - 1))); } while (1e-12 < Math.abs(f2 - w2) && 0 < --c2); return c2 === 0 ? (a2 = n5 - i6, { azimuth: Math.atan2(Math.sin(a2) * Math.cos(s5), Math.cos(t5) * Math.sin(s5) - Math.sin(t5) * Math.cos(s5) * Math.cos(a2)), geodesicDistance: 6371008771415059e-9 * Math.acos(Math.sin(t5) * Math.sin(s5) + Math.cos(t5) * Math.cos(s5) * Math.cos(n5 - i6)) }) : (i6 = (t5 = 27233160610754688e-5 * d2 / 4040829998466145e-2) / 1024 * (256 + t5 * (t5 * (74 - 47 * t5) - 128)), { azimuth: Math.atan2(o2 * Math.sin(f2), e3 * u2 - a2 * o2 * Math.cos(f2)), SQ: 635675231424518e-8 * (1 + t5 / 16384 * (4096 + t5 * (t5 * (320 - 175 * t5) - 768))) * (y2 - i6 * v2 * (l2 + i6 / 4 * (p2 * (2 * l2 * l2 - 1) - i6 / 6 * l2 * (4 * v2 * v2 - 3) * (4 * l2 * l2 - 3)))), PY: Math.atan2(e3 * Math.sin(f2), e3 * u2 * Math.cos(f2) - a2 * o2) }); }, i5.dQ = function(i6) { var s5 = i6.hasAttribute(1), n5 = i6.hasAttribute(2), h3 = [], r3 = i6.ea(), e3 = null, o2 = null; s5 && (e3 = i6.vb(1)), n5 && (o2 = i6.vb(2)); for (var a2 = new t4.h(), u2 = 0; u2 < r3; u2++) { for (var f2 = i6.Ca(u2), c2 = i6.Ka(u2), l2 = 0, p2 = 0, v2 = NaN, y2 = NaN, b2 = NaN, d2 = NaN, g2 = i6.ec(u2), w2 = [], x2 = f2; x2 < f2 + c2; x2++) { i6.D(x2, a2), d2 = b2 = NaN; var m2 = [a2.x, a2.y]; s5 && (b2 = e3.get(x2), m2.push(b2)), n5 && (r3 = o2.get(x2), m2.push(d2)), x2 == f2 && g2 && (l2 = a2.x, p2 = a2.y, v2 = b2, y2 = d2), w2.push(m2); } !g2 || l2 == a2.x && p2 == a2.y && (!s5 || isNaN(v2) && isNaN(b2) || v2 == b2) && (!n5 || isNaN(y2) && isNaN(d2) || y2 == d2) || w2.push(w2[0].slice(0)), h3.push(w2); } return h3; }, i5.Ry = function(t5, s5) { t5 = i5.dQ(t5), 637.100877141506 > s5 && (s5 = 637.100877141506); for (var n5, h3 = [], r3 = 0; r3 < t5.length; r3++) { var o2, a2, u2 = t5[r3]; h3.push(n5 = []), n5.push([u2[0][0], u2[0][1]]); var f2 = u2[0][0] * e2, c2 = u2[0][1] * e2; for (o2 = 0; o2 < u2.length - 1; o2++) { var l2 = u2[o2 + 1][0] * e2, p2 = u2[o2 + 1][1] * e2; if (f2 !== l2 || c2 !== p2) { l2 = (p2 = i5.GM(c2, f2, p2, l2)).azimuth; var v2 = (p2 = p2.SQ) / s5; if (1 < v2) { for (a2 = 1; a2 <= v2 - 1; a2++) { var y2 = i5.Ux(c2, f2, l2, a2 * s5); n5.push([y2.x, y2.y]); } a2 = i5.Ux(c2, f2, l2, (p2 + Math.floor(v2 - 1) * s5) / 2), n5.push([a2.x, a2.y]); } c2 = i5.Ux(c2, f2, l2, p2), n5.push([c2.x, c2.y]), f2 = c2.x * e2, c2 = c2.y * e2; } } } return { kJ: h3 }; }, i5.RQ = function(s5) { for (var n5 = [], h3 = 0; h3 < s5.length; h3++) { var r3 = s5[h3]; r3 = i5.Ry(r3, 1e4), n5.push(r3); } s5 = []; for (var e3 = 0; e3 < n5.length; e3++) { r3 = n5[e3]; var o2 = 0; for (h3 = 0; h3 < r3.kJ.length; h3++) { var a2, u2 = r3.kJ[h3], f2 = i5.xu(t4.h.construct(u2[0][0], u2[0][1])), c2 = i5.xu(t4.h.construct(u2[u2.length - 1][0], u2[u2.length - 1][1])), l2 = c2.x * f2.y - f2.x * c2.y; for (a2 = 0; a2 < u2.length - 1; a2++) f2 = i5.xu(t4.h.construct(u2[a2 + 1][0], u2[a2 + 1][1])), l2 += (c2 = i5.xu(t4.h.construct(u2[a2][0], u2[a2][1]))).x * f2.y - f2.x * c2.y; o2 += l2; } o2 /= 1, s5.push(o2 / -2); } return s5; }, i5; }(), t4.cb = function() { function i5() { } return i5.rB = function(t5, s5, n5, h3, r3, e3, o2) { i5.aD[t5.dc()] = s5, isNaN(n5) == 0 && (i5.gD[t5.dc()] = n5), isNaN(h3) == 0 && (i5.tD[t5.dc()] = h3), isNaN(r3) == 0 && (i5.VC[t5.dc()] = r3), i5.hD[t5.dc()] = e3, o2 !== null && (i5.iD[t5.dc()] = o2); }, i5.Yw = function(t5, s5, n5) { i5.mD[t5.dc() + "-" + s5.dc()] = n5; }, i5.tc = function(s5) { if ((s5 = i5.aD[s5.dc()]) == null) throw t4.i.Fe(); return s5; }, i5.bf = function(s5) { if ((s5 = i5.gD[s5.dc()]) == null) throw t4.i.Fe(); return s5; }, i5.xv = function(s5) { if ((s5 = i5.tD[s5.dc()]) == null) throw t4.i.Fe(); return s5; }, i5.gv = function(s5) { if ((s5 = i5.VC[s5.dc()]) == null) throw t4.i.Fe(); return s5; }, i5.ih = function(s5) { if ((s5 = i5.iD[s5.dc()]) == null) throw t4.i.Fe(); return t4.l.construct(s5[0], s5[1], s5[2], s5[3]); }, i5.Xc = function(s5) { if ((s5 = i5.hD[s5.dc()]) == null) throw t4.i.Fe(); return s5; }, i5.Bh = function(s5, n5, h3) { if (n5.Nb(h3)) return s5; var r3 = i5.mD[n5.dc() + "-" + h3.dc()]; if (r3 !== void 0) return r3(s5, n5, h3); throw t4.i.Fe(); }, i5.wt = function() { throw t4.i.Fe(); }, i5.WQ = function() { throw t4.i.Fe(); }, i5.WV = function() { throw t4.i.Fe(); }, i5.ol = function() { throw t4.i.Fe(); }, i5.kW = function() { var i6 = t4.Gg.create(102100), s5 = t4.Gg.create(3857), n5 = t4.Gg.create(4326); t4.cb.rB(i6, n5, NaN, NaN, NaN, false, null), t4.cb.rB(n5, n5, 1, 0.0033528106647474805, 6378137, true, [-180, -90, 180, 90]), t4.cb.rB(s5, n5, NaN, NaN, NaN, false, null), t4.cb.Yw(i6, n5, h2), t4.cb.Yw(n5, i6, r2), t4.cb.Yw(s5, n5, h2), t4.cb.Yw(n5, s5, r2); }, i5.aD = [], i5.gD = [], i5.tD = [], i5.VC = [], i5.hD = [], i5.iD = [], i5.mD = [], i5; }(); }(V || (V = {})), V.cb.kW(), function(t4) { var i4 = function() { function i5(t5) { this.o = new Int32Array(0), this.jo = -1, this.Jg = this.size = this.Dl = 0, this.Mf = t5; } return i5.prototype.kd = function(t5) { t5 < this.Dl ? (this.o[t5 * this.Mf] = this.jo, this.jo = t5) : this.Dl--, this.size--; }, i5.prototype.U = function(t5, i6) { return this.o[t5 * this.Mf + i6]; }, i5.prototype.T = function(t5, i6, s4) { this.o[t5 * this.Mf + i6] = s4; }, i5.prototype.De = function() { var i6 = this.jo; if (i6 == -1) { if (this.Dl == this.Jg) { if (2147483647 < (i6 = this.Jg != 0 ? t4.P.truncate(3 * (this.Jg + 1) / 2) : 1) && (i6 = 2147483647), i6 == this.Jg) throw t4.i.re(); this.yz(i6); } i6 = this.Dl, this.Dl++; } else this.jo = this.o[i6 * this.Mf]; this.size++; for (var s4 = i6 * this.Mf; s4 < i6 * this.Mf + this.Mf; s4++) this.o[s4] = -1; return i6; }, i5.prototype.Nl = function(i6) { var s4 = this.jo; if (s4 == -1) { if (this.Dl == this.Jg) { if (2147483647 < (s4 = this.Jg != 0 ? t4.P.truncate(3 * (this.Jg + 1) / 2) : 1) && (s4 = 2147483647), s4 == this.Jg) throw t4.i.re(); this.yz(s4); } s4 = this.Dl, this.Dl++; } else this.jo = this.o[s4 * this.Mf]; this.size++; for (var n4 = s4 * this.Mf, h2 = 0; h2 < i6.length; h2++) this.o[n4 + h2] = i6[h2]; return s4; }, i5.prototype.oj = function(t5) { this.jo = -1, this.size = this.Dl = 0, t5 && (this.o = null, this.Jg = 0); }, i5.prototype.Ee = function(t5) { t5 > this.Jg && this.yz(t5); }, i5.prototype.sx = function(t5, i6) { t5 *= this.Mf, i6 *= this.Mf; for (var s4 = 0; s4 < this.Mf; s4++) { var n4 = this.o[i6 + s4]; this.o[i6 + s4] = this.o[t5 + s4], this.o[t5 + s4] = n4; } }, i5.prototype.aC = function(t5, i6, s4) { var n4 = this.o[this.Mf * i6 + s4]; this.o[this.Mf * i6 + s4] = this.o[this.Mf * t5 + s4], this.o[this.Mf * t5 + s4] = n4; }, i5.FG = function(t5) { return 0 <= t5; }, i5.prototype.yz = function(t5) { this.o == null && (this.o = new Int32Array(0)); var i6 = new Int32Array(this.Mf * t5); i6.set(this.o, 0), this.o = i6, this.Jg = t5; }, i5; }(); t4.ad = i4; }(V || (V = {})), function(t4) { var i4, s4; (s4 = i4 || (i4 = {}))[s4.enumInputModeBuildGraph = 0] = "enumInputModeBuildGraph", s4[s4.enumInputModeSimplifyAlternate = 4] = "enumInputModeSimplifyAlternate", s4[s4.enumInputModeSimplifyWinding = 5] = "enumInputModeSimplifyWinding", s4[s4.enumInputModeIsSimplePolygon = 7] = "enumInputModeIsSimplePolygon"; var n4 = function() { function i5(i6) { this.Ce = i6, this.Ah = NaN, this.ZG = new t4.hg(), this.$G = new t4.hg(), this.os = new t4.Oc(), this.ps = new t4.Oc(); } return i5.prototype.compare = function(t5, i6, s5) { if (t5 = t5.ka(s5), this.Ce.jB(i6, this.ZG), this.Ce.jB(t5, this.$G), i6 = this.ZG.get(), t5 = this.$G.get(), this.os.L(i6.sa, i6.qa), this.ps.L(t5.sa, t5.qa), this.os.wa < this.ps.pa) return -1; if (this.os.pa > this.ps.wa) return 1; s5 = i6.oa == i6.ma; var n5 = t5.oa == t5.ma; if (s5 || n5) { if (s5 && n5) return 0; if (i6.oa == t5.oa && i6.sa == t5.sa) return s5 ? 1 : -1; if (i6.ma == t5.ma && i6.qa == t5.qa) return s5 ? -1 : 1; } return (s5 = i6.Me(this.Ah, this.os.pa)) == (n5 = t5.Me(this.Ah, this.ps.pa)) && ((n5 = 0.5 * ((s5 = Math.min(i6.ma, t5.ma)) + this.Ah)) == this.Ah && (n5 = s5), s5 = i6.Me(n5, this.os.pa), n5 = t5.Me(n5, this.ps.pa)), s5 < n5 ? -1 : s5 > n5 ? 1 : 0; }, i5.prototype.VJ = function(t5) { this.Ah = t5; }, i5; }(), h2 = function() { function i5(i6) { this.ib = i6, this.QH = new t4.hg(), this.Cf = new t4.h(), this.qA = new t4.Oc(); } return i5.prototype.bX = function(t5) { this.Cf.N(t5); }, i5.prototype.compare = function(t5, i6) { return this.ib.jB(t5.ka(i6), this.QH), t5 = this.QH.get(), this.qA.L(t5.sa, t5.qa), this.Cf.x < this.qA.pa ? -1 : this.Cf.x > this.qA.wa ? 1 : (t5 = t5.Me(this.Cf.y, this.Cf.x), this.Cf.x < t5 ? -1 : this.Cf.x > t5 ? 1 : 0); }, i5; }(); i4 = function() { function i5() { this.bH = this.Fi = this.Ii = this.fA = this.Zn = this.ze = this.Lc = this.lh = this.ge = null, this.Ho = this.xg = -1, this.aH = true, this.jA = false, this.gA = NaN, this.Pi = new t4.Nd(), this.WN = 2147483647, this.VN = t4.P.truncate(-2147483648), this.dg = this.be = this.Jl = this.Eq = this.Em = this.Dq = this.Qs = this.Oe = -1, this.xa = 0; } return i5.prototype.ty = function(t5) { this.gA = t5; }, i5.prototype.$m = function() { this.ge == null && (this.ge = new t4.ad(8)); var i6 = this.ge.De(); return this.ge.T(i6, 1, 0), i6; }, i5.prototype.nU = function() { this.Lc == null && (this.Lc = new t4.ad(8)); var i6 = this.Lc.De(); this.Lc.T(i6, 2, 0), this.Lc.T(i6, 3, 0); var s5 = this.Lc.De(); return this.Lc.T(s5, 2, 0), this.Lc.T(s5, 3, 0), this.DJ(i6, s5), this.DJ(s5, i6), i6; }, i5.prototype.gI = function() { this.ze == null && (this.ze = new t4.ad(8)); var i6 = this.ze.De(); return this.ze.T(i6, 2, 0), i6; }, i5.prototype.LW = function(t5, i6) { this.ge.T(t5, 7, i6); }, i5.prototype.on = function(t5, i6) { this.ge.T(t5, 2, i6); }, i5.prototype.KW = function(t5, i6) { this.ge.T(t5, 1, i6); }, i5.prototype.cX = function(t5, i6) { this.ge.T(t5, 3, i6); }, i5.prototype.$W = function(t5, i6) { this.ge.T(t5, 4, i6); }, i5.prototype.er = function(t5, i6) { this.ge.T(t5, 5, i6); }, i5.prototype.ZQ = function(t5) { return this.ge.U(t5, 5); }, i5.prototype.JW = function(t5, i6) { this.ge.T(t5, 6, i6); }, i5.prototype.XM = function(t5, i6) { this.JW(i6, t5); }, i5.prototype.CJ = function(t5, i6) { this.Lc.T(t5, 1, i6); }, i5.prototype.DJ = function(t5, i6) { this.Lc.T(t5, 4, i6); }, i5.prototype.Vl = function(t5, i6) { this.Lc.T(t5, 5, i6); }, i5.prototype.Ul = function(t5, i6) { this.Lc.T(t5, 6, i6); }, i5.prototype.RW = function(t5, i6) { this.Lc.T(t5, 2, i6); }, i5.prototype.cx = function(t5, i6) { this.Lc.T(t5, 3, i6); }, i5.prototype.FF = function(t5) { return this.Lc.U(t5, 3); }, i5.prototype.Ht = function(t5, i6) { this.Lc.T(t5, 7, i6); }, i5.prototype.yK = function(t5, i6) { if (this.om(t5) != -1) for (i6 = i6 ? -1 : t5, t5 = this.om(t5); t5 != -1; t5 = this.ls(t5)) this.g.Sa(this.vj(t5), this.Eq, i6); }, i5.prototype.xx = function(t5, i6) { t5 != -1 && (this.yK(t5, i6), this.yK(this.ya(t5), i6)); }, i5.prototype.Et = function(t5, i6) { this.ze.T(t5, 1, i6); }, i5.prototype.Xg = function(t5, i6) { this.ze.T(t5, 2, i6); }, i5.prototype.ln = function(t5, i6) { this.ze.T(t5, 3, i6), this.FW(t5, this.YQ(i6)), this.EW(i6, t5); }, i5.prototype.EW = function(t5, i6) { this.ze.T(t5, 4, i6); }, i5.prototype.FW = function(t5, i6) { this.ze.T(t5, 5, i6); }, i5.prototype.xJ = function(t5, i6) { this.ze.T(t5, 6, i6); }, i5.prototype.vJ = function(t5, i6) { this.ze.T(t5, 7, i6); }, i5.prototype.uJ = function(t5, i6) { this.Zn.write(t5, i6); }, i5.prototype.wJ = function(t5, i6) { this.fA.write(t5, i6); }, i5.prototype.cY = function(i6) { var s5 = 0, n5 = 0, h3 = this.uF(i6), r2 = new t4.h(), e2 = new t4.h(), o2 = new t4.h(); this.$r(h3, r2), e2.N(r2); var a2 = h3; do { this.nm(a2, o2), n5 += t4.h.ub(e2, o2), this.$e(this.ya(a2)) != i6 && (s5 += (o2.x - r2.x - (e2.x - r2.x)) * (o2.y - r2.y + (e2.y - r2.y)) * 0.5), e2.N(o2), a2 = this.kc(a2); } while (a2 != h3); this.Zn.write(i6, s5), this.fA.write(i6, n5); }, i5.prototype.HU = function(i6, s5) { var r2 = new n4(this), e2 = new t4.Zj(); e2.Ee(t4.P.truncate(this.xa / 2)), e2.Wo(r2); for (var o2 = new t4.ja(0), a2 = this.bh(), u2 = null, f2 = 0, c2 = new t4.h(), l2 = this.Oe; l2 != -1; l2 = this.Sf(l2)) { if ((255 & ++f2) == 0 && s5 != null && !s5.progress(-1, -1)) throw t4.i.QC(); var p2 = this.Je(l2); if (p2 != -1) { if (o2.Dh(0), !this.ZX(e2, a2, o2, p2)) { this.D(l2, c2), r2.VJ(c2.y); var v2 = p2; do { var y2 = this.Bb(v2, a2); y2 != -1 && (e2.wd(y2, -1), this.Kb(v2, a2, -2)), v2 = this.kc(this.ya(v2)); } while (p2 != v2); v2 = p2; do { (y2 = this.Bb(v2, a2)) == -1 && (y2 = e2.addElement(v2, -1), o2.add(y2)), v2 = this.kc(this.ya(v2)); } while (p2 != v2); } for (p2 = o2.size - 1; 0 <= p2; p2--) y2 = o2.get(p2), v2 = e2.ka(y2), this.Kb(this.ya(v2), a2, y2), this.GU(e2, y2, i6); } else this.Yy(l2) == -1 && (u2 == null && (u2 = new h2(this)), this.D(l2, c2), u2.bX(c2), v2 = e2.zW(u2), p2 = this.Jl, v2 != -1 && (y2 = e2.ka(v2), this.$e(y2) == this.$e(this.ya(y2)) && (y2 = this.IF(e2, v2)), y2 != -1 && (p2 = this.$e(y2))), this.XM(p2, l2)); } this.Lg(a2); }, i5.prototype.GU = function(t5, i6, s5) { var n5 = t5.ka(i6), h3 = this.$e(n5); if (this.Hn(h3) == -1) { var r2 = this.IF(t5, i6), e2 = this.ya(n5), o2 = this.$e(e2); this.Mp(h3), this.Mp(o2); var a2 = this.Hn(h3), u2 = this.Hn(o2); if (r2 == -1 && a2 == -1 && (o2 == h3 ? (this.ln(o2, this.Jl), a2 = u2 = this.Jl) : (u2 == -1 && (this.ln(o2, this.Jl), u2 = this.Jl), this.ln(h3, o2), a2 = o2)), r2 != -1) { var f2 = this.$e(r2); u2 == -1 && (0 >= this.Mp(f2) ? (u2 = this.Hn(f2), this.ln(o2, u2)) : (this.ln(o2, f2), u2 = f2), o2 == h3 && (a2 = u2)); } a2 == -1 && this.$X(h3, o2), s5 == 0 ? this.bW(t5, i6, n5, r2, h3, o2) : s5 == 5 ? this.cW(t5, i6, n5, e2, h3, o2) : s5 == 4 && this.aW(n5, r2, h3, o2); } }, i5.prototype.bW = function(t5, i6, s5, n5, h3, r2) { var e2 = this.ik(h3); if (n5 != -1) { var o2 = this.ik(r2), a2 = this.ik(this.$e(n5)); n5 = e2 & o2 & a2, a2 ^= a2 & this.fh(s5), (a2 |= n5) != 0 && (this.Xg(r2, o2 | a2), this.Xg(h3, a2 | e2), e2 = e2 || a2); } for (i6 = t5.lb(i6); i6 != -1 && (n5 = t5.ka(i6), s5 = this.$e(this.ya(n5)), h3 = this.ik(s5), r2 = this.fh(n5), o2 = this.$e(n5), n5 = h3 & (a2 = this.ik(o2)) & e2, e2 ^= e2 & r2, (e2 |= n5) != 0); i6 = t5.lb(i6)) this.Xg(s5, h3 | e2), this.Xg(o2, a2 | e2); }, i5.prototype.cW = function(i6, s5, n5, h3, r2, e2) { if (r2 != e2) { n5 = this.Bb(n5, this.dg), n5 += this.Bb(h3, this.dg), h3 = 0; var o2 = new t4.ja(0), a2 = new t4.ja(0); a2.add(0); for (var u2 = i6.sc(-1); u2 != s5; u2 = i6.lb(u2)) { var f2 = i6.ka(u2), c2 = this.ya(f2), l2 = this.$e(f2), p2 = this.$e(c2); if (l2 != p2) { if (f2 = this.Bb(f2, this.dg), h3 += f2 += this.Bb(c2, this.dg), c2 = false, o2.size != 0 && o2.Gc() == p2 && (a2.Jf(), o2.Jf(), c2 = true), this.Hn(p2) == -1) throw t4.i.Ra(); c2 && this.Hn(p2) == l2 || (a2.add(h3), o2.add(l2)); } } h3 += n5, o2.size != 0 && o2.Gc() == e2 && (a2.Jf(), o2.Jf()), h3 != 0 ? a2.Gc() == 0 && (i6 = this.g.ld, i6 = this.Ma(i6), this.Xg(r2, i6)) : a2.Gc() != 0 && (i6 = this.g.ld, i6 = this.Ma(i6), this.Xg(r2, i6)); } }, i5.prototype.aW = function(t5, i6, s5, n5) { var h3 = this.Ma(this.g.ld); if (i6 == -1) this.Xg(n5, this.Ho), (1 & (t5 = this.Bb(t5, this.xg))) != 0 ? this.Xg(s5, h3) : this.Xg(s5, this.Ho); else { var r2 = this.ik(n5); r2 == 0 ? (r2 = this.ik(this.$e(i6)), this.Xg(n5, r2), (1 & (t5 = this.Bb(t5, this.xg))) != 0 ? this.Xg(s5, r2 == h3 ? this.Ho : h3) : this.Xg(s5, r2)) : (1 & (t5 = this.Bb(t5, this.xg))) != 0 ? this.Xg(s5, r2 == h3 ? this.Ho : h3) : this.Xg(s5, r2); } }, i5.prototype.ZX = function(t5, i6, s5, n5) { var h3 = n5, r2 = -1, e2 = -1, o2 = 0; do { if (o2 == 2) return false; var a2 = this.Bb(h3, i6); if (a2 != -1) { if (r2 != -1) return false; r2 = a2; } else { if (e2 != -1) return false; e2 = h3; } o2++, h3 = this.kc(this.ya(h3)); } while (n5 != h3); return e2 != -1 && r2 != -1 && (this.Kb(t5.ka(r2), i6, -2), t5.Uj(r2, e2), s5.add(r2), true); }, i5.prototype.$X = function(t5, i6) { var s5 = this.Mp(t5); if (s5 != 0) { var n5 = this.Mp(i6); 0 < s5 && 0 > n5 || 0 > s5 && 0 < n5 ? this.ln(t5, i6) : (i6 = this.Hn(i6)) != -1 && this.ln(t5, i6); } }, i5.prototype.pP = function(i6, s5) { this.Eq = this.g.Hd(); for (var n5 = 0, h3 = s5.size; n5 < h3; n5++) { var r2 = s5.get(n5), e2 = this.g.Qa(r2, this.Em), o2 = this.g.Rf(this.g.cd(r2)), a2 = this.g.jc(o2); if (t4.ba.Ic(a2)) { var u2 = this.g.V(r2); if (u2 != -1) { var f2 = this.g.Qa(u2, this.Em); if (e2 != f2) { var c2 = this.nU(), l2 = this.ya(c2), p2 = this.lh.De(); this.lh.T(p2, 0, r2), this.lh.T(p2, 1, -1), this.Ht(c2, p2), this.CJ(c2, e2), (p2 = this.Je(e2)) == -1 ? (this.on(e2, c2), this.Vl(c2, l2), this.Ul(l2, c2)) : (e2 = this.ue(p2), this.Vl(p2, l2), this.Ul(l2, p2), this.Ul(e2, c2), this.Vl(c2, e2)), this.CJ(l2, f2), (e2 = this.Je(f2)) == -1 ? (this.on(f2, l2), this.Ul(c2, l2), this.Vl(l2, c2)) : (f2 = this.ue(e2), this.Vl(e2, c2), this.Ul(c2, e2), this.Ul(f2, l2), this.Vl(l2, f2)), o2 = this.Ma(o2), i6 == 0 ? (this.Kb(l2, this.be, 0), this.Kb(c2, this.be, a2 == 1736 ? o2 : 0)) : i6 == 5 ? (f2 = new t4.h(), this.g.D(r2, f2), r2 = new t4.h(), this.g.D(u2, r2), e2 = u2 = 0, 0 > f2.compare(r2) ? u2 = 1 : e2 = -1, this.Kb(l2, this.be, 0), this.Kb(c2, this.be, 0), this.Kb(c2, this.dg, u2), this.Kb(l2, this.dg, e2)) : i6 == 7 ? (this.Kb(l2, this.be, this.Ho), this.Kb(c2, this.be, a2 == 1736 ? o2 : 0)) : i6 == 4 && (this.Kb(l2, this.be, 0), this.Kb(c2, this.be, 0), this.Kb(c2, this.xg, 1), this.Kb(l2, this.xg, 1)), a2 = a2 == 1736 ? this.VN : 0, this.cx(c2, o2 | a2), this.cx(l2, o2 | a2); } } } } }, i5.prototype.NT = function(t5, i6) { var s5 = this.om(i6); if (s5 != -1) { var n5 = this.om(t5); this.lh.T(s5, 1, n5), this.Ht(t5, s5), this.Ht(i6, -1); } t5 = this.ya(t5), i6 = this.ya(i6), (s5 = this.om(i6)) != -1 && (n5 = this.om(t5), this.lh.T(s5, 1, n5), this.Ht(t5, s5), this.Ht(i6, -1)); }, i5.prototype.AX = function(i6) { function s5(t5, i7) { return h3.BO(t5, i7); } var n5 = new t4.ja(0); n5.Jb(10); for (var h3 = this, r2 = this.Oe; r2 != -1; r2 = this.Sf(r2)) { n5.clear(false); var e2 = this.Je(r2); if (e2 != -1) { var o2 = e2; do { n5.add(o2), o2 = this.kc(this.ya(o2)); } while (o2 != e2); if (1 < n5.size) { if (o2 = true, 2 < n5.size) n5.Wd(0, n5.size, s5), n5.add(n5.get(0)); else if (0 < this.AO(n5.get(0), n5.get(1))) { var a2 = n5.get(0); n5.set(0, n5.get(1)), n5.set(1, a2); } else o2 = false; for (var u2 = a2 = n5.get(0), f2 = this.vf(u2), c2 = this.ya(u2), l2 = -1, p2 = 1, v2 = n5.size; p2 < v2; p2++) { var y2 = n5.get(p2), b2 = this.ya(y2), d2 = this.kk(b2); if (d2 == f2 && y2 != u2) { if (i6 == 0) l2 = this.FF(u2) | this.FF(y2), this.cx(u2, l2), this.cx(c2, l2), this.Kb(u2, this.be, this.Bb(u2, this.be) | this.Bb(y2, this.be)), this.Kb(c2, this.be, this.Bb(c2, this.be) | this.Bb(b2, this.be)); else if (this.dg != -1) l2 = this.Bb(u2, this.dg) + this.Bb(y2, this.dg), b2 = this.Bb(c2, this.dg) + this.Bb(b2, this.dg), this.Kb(u2, this.dg, l2), this.Kb(c2, this.dg, b2); else { if (i6 == 7) return void (this.Pi = new t4.Nd(5, r2, -1)); this.xg != -1 && (l2 = this.Bb(u2, this.xg) + this.Bb(y2, this.xg), b2 = this.Bb(c2, this.xg) + this.Bb(b2, this.xg), this.Kb(u2, this.xg, l2), this.Kb(c2, this.xg, b2)); } this.NT(u2, y2), this.Gy(y2), l2 = u2, n5.set(p2, -1), y2 == a2 && (n5.set(0, -1), a2 = -1); } else this.xx(l2, false), l2 = -1, u2 = y2, f2 = d2, c2 = b2; } if (this.xx(l2, false), l2 = -1, o2) { for (a2 = -1, p2 = 0, v2 = n5.size; p2 < v2; p2++) if ((y2 = n5.get(p2)) != -1) { if (a2 == -1) u2 = a2 = y2, f2 = this.vf(u2), c2 = this.ya(u2); else if (y2 != u2 && (b2 = this.ya(y2), d2 = this.kk(b2), this.Ul(c2, y2), this.Vl(y2, c2), u2 = y2, f2 = d2, c2 = b2, i6 == 7 && (this.Bb(y2, this.be) | this.Bb(this.ue(y2), this.be)) == (1 | this.Ho))) return void (this.Pi = new t4.Nd(5, r2, -1)); } this.on(r2, a2); } else { for (a2 = -1, p2 = 0, v2 = n5.size; p2 < v2; p2++) if ((y2 = n5.get(p2)) != -1) { a2 = y2; break; } e2 != a2 && this.on(r2, a2); } } } } }, i5.prototype.QN = function() { for (var i6 = -1, s5 = this.bh(), n5 = this.Oe; n5 != -1; n5 = this.Sf(n5)) { var h3 = this.Je(n5); if (h3 != -1) { var r2 = h3; do { if (this.Bb(r2, s5) != 1) { var e2 = this.gI(); this.Et(e2, r2), this.vJ(e2, i6), i6 != -1 && this.xJ(i6, e2), i6 = e2; var o2 = 0, a2 = r2; do { o2 |= this.Bb(a2, this.be), this.RW(a2, e2), this.Kb(a2, s5, 1), a2 = this.kc(a2); } while (a2 != r2); this.Xg(e2, o2); } r2 = this.kc(this.ya(r2)); } while (r2 != h3); } } e2 = this.gI(), this.Et(e2, -1), this.vJ(e2, i6), i6 != -1 && this.xJ(i6, e2), this.Jl = e2, this.Zn = t4.ce.rf(this.ze.size, NaN), this.fA = t4.ce.rf(this.ze.size, NaN), this.uJ(this.Jl, 1 / 0), this.wJ(this.Jl, 1 / 0), this.Lg(s5); }, i5.prototype.lR = function(t5, i6, s5) { if ((i6 = i6 != -1 ? i6 : this.Je(t5)) == -1) return -1; for (t5 = i6; ; ) { if (this.Bb(i6, s5) != 1) return i6; if ((i6 = this.kc(this.ya(i6))) == t5) return -1; } }, i5.prototype.qW = function() { for (var t5 = this.bh(), i6 = this.Oe; i6 != -1; i6 = this.Sf(i6)) for (var s5 = -1; ; ) { var n5 = this.lR(i6, s5, t5); if (n5 == -1) break; s5 = this.kc(this.ya(n5)); for (var h3 = n5; ; ) { var r2 = this.kc(h3), e2 = this.ue(h3), o2 = this.ya(h3); if (e2 == o2) { if (this.CP(h3), s5 != h3 && s5 != o2 || (s5 = -1), h3 == n5 || e2 == n5) { if (h3 == (n5 = r2) || e2 == n5) break; h3 = r2; continue; } } else this.Kb(h3, t5, 1); if ((h3 = r2) == n5) break; } } this.Lg(t5); }, i5.prototype.GB = function(i6, s5, n5, h3, r2) { this.Wg(), this.aH = r2, this.g = i6, this.Dq = this.g.VE(), (i6 = new t4.ja(0)).Jb(n5 != null ? this.g.I(n5.get(0)) : this.g.gd); var e2 = 0, o2 = 1, a2 = n5 != null ? n5.get(0) : this.g.ld; for (r2 = 1; a2 != -1; ) { this.g.BJ(a2, this.Dq, o2), o2 <<= 1; for (var u2 = this.g.Ob(a2); u2 != -1; u2 = this.g.Sb(u2)) for (var f2 = this.g.Ya(u2), c2 = 0, l2 = this.g.Ka(u2); c2 < l2; c2++) i6.add(f2), f2 = this.g.V(f2); t4.ba.Sn(this.g.jc(a2)) || (e2 += this.g.ea(a2)), n5 != null ? (a2 = r2 < n5.size ? n5.get(r2) : -1, r2++) : a2 = this.g.ve(a2); } for (this.Ho = o2, this.xa = i6.size, this.g.nx(i6, this.xa), this.lh == null && (this.lh = new t4.ad(2), this.ge = new t4.ad(8), this.Lc = new t4.ad(8), this.ze = new t4.ad(8)), this.lh.Ee(this.xa), t4.np.Bp(h3), this.ge.Ee(this.xa + 10), this.Lc.Ee(2 * this.xa + 32), this.ze.Ee(Math.max(32, e2)), this.Em = this.g.Hd(), n5 = new t4.h(), r2 = 0, e2 = new t4.h(), n5.Sc(), o2 = 0; o2 <= this.xa; o2++) if (o2 < this.xa ? (f2 = i6.get(o2), this.g.D(f2, e2)) : e2.Sc(), !n5.rb(e2)) { if (r2 < o2) { for (f2 = this.$m(), l2 = c2 = -1; r2 < o2; r2++) l2 = i6.get(r2), this.g.Sa(l2, this.Em, f2), a2 = this.lh.De(), this.lh.T(a2, 0, l2), this.lh.T(a2, 1, c2), c2 = a2, u2 = this.g.cd(l2), a2 = this.g.Rf(u2), a2 = this.Ma(a2), this.KW(f2, this.yd(f2) | a2); this.LW(f2, c2), this.er(f2, this.g.Va(l2)), this.Qs != -1 && this.$W(this.Qs, f2), this.cX(f2, this.Qs), this.Qs = f2, this.Oe == -1 && (this.Oe = f2); } r2 = o2, n5.N(e2); } t4.np.Bp(h3), this.be = this.bh(), s5 == 5 && (this.dg = this.bh()), s5 == 4 && (this.xg = this.bh()), this.pP(s5, i6), this.Pi.Lj == 0 && (this.AX(s5), this.Pi.Lj == 0 && (isNaN(this.gA) || this.rO() ? (this.QN(), this.Pi.Lj == 0 && (this.Lg(this.be), this.be = -1, this.aH && this.HU(s5, h3))) : this.jA = true)); }, i5.prototype.Gy = function(t5) { var i6 = this.kc(t5), s5 = this.ue(t5), n5 = this.ya(t5), h3 = this.kc(n5), r2 = this.ue(n5); i6 != n5 && (this.Ul(r2, i6), this.Vl(i6, r2)), s5 != n5 && (this.Ul(s5, h3), this.Vl(h3, s5)), s5 = this.kk(t5), this.Je(s5) == t5 && (h3 != t5 ? this.on(s5, h3) : this.on(s5, -1)), h3 = this.kk(n5), this.Je(h3) == n5 && (i6 != n5 ? this.on(h3, i6) : this.on(h3, -1)), this.Lc.kd(t5), this.Lc.kd(n5); }, i5.prototype.IF = function(t5, i6) { for (; ; ) { if ((i6 = t5.xe(i6)) == -1) return -1; var s5 = t5.ka(i6); if (this.$e(s5) != this.$e(this.ya(s5))) return s5; } }, i5.prototype.fr = function(t5, i6) { var s5; s5 === void 0 && (s5 = true), this.GB(t5, 0, null, i6, s5); }, i5.prototype.pJ = function(i6, s5, n5) { var h3 = new t4.ja(0); h3.add(s5), this.GB(i6, 4, h3, n5, i6.jc(s5) == 1736); }, i5.prototype.qJ = function(i6, s5, n5) { var h3 = new t4.ja(0); h3.add(s5), this.GB(i6, 5, h3, n5, true); }, i5.prototype.Wg = function() { this.g != null && (this.Dq != -1 && (this.g.pW(this.Dq), this.Dq = -1), this.Em != -1 && (this.g.Ud(this.Em), this.Em = -1), this.Eq != -1 && (this.g.Ud(this.Eq), this.Eq = -1), this.be != -1 && (this.Lg(this.be), this.be = -1), this.dg != -1 && (this.Lg(this.dg), this.dg = -1), this.xg != -1 && (this.Lg(this.xg), this.xg = -1), this.g = null, this.ge.oj(true), this.lh.oj(true), this.Qs = this.Oe = -1, this.Lc != null && this.Lc.oj(true), this.Ii != null && (this.Ii.length = 0), this.Fi != null && (this.Fi.length = 0), this.bH != null && (this.bH.length = 0), this.ze != null && this.ze.oj(true), this.Jl = -1, this.Zn = null); }, i5.prototype.Je = function(t5) { return this.ge.U(t5, 2); }, i5.prototype.D = function(t5, i6) { this.g.YF(this.ZQ(t5), i6); }, i5.prototype.yd = function(t5) { return this.ge.U(t5, 1); }, i5.prototype.Sf = function(t5) { return this.ge.U(t5, 4); }, i5.prototype.Yy = function(t5) { return this.ge.U(t5, 6); }, i5.prototype.mm = function(t5) { return this.ge.U(t5, 7); }, i5.prototype.ls = function(t5) { return this.lh.U(t5, 1); }, i5.prototype.vj = function(t5) { return this.lh.U(t5, 0); }, i5.prototype.ng = function(t5, i6) { return (i6 = this.Fi[i6]).size <= t5 ? -1 : i6.read(t5); }, i5.prototype.pn = function(t5, i6, s5) { (i6 = this.Fi[i6]).size <= t5 && i6.resize(this.ge.size, -1), i6.write(t5, s5); }, i5.prototype.Fp = function() { this.Fi == null && (this.Fi = []); for (var i6 = t4.ja.rf(this.ge.Jg, -1), s5 = 0, n5 = this.Fi.length; s5 < n5; s5++) if (this.Fi[s5] == null) return this.Fi[s5] = i6, s5; return this.Fi.push(i6), this.Fi.length - 1; }, i5.prototype.Gp = function(t5) { this.Fi[t5] = null; }, i5.prototype.kk = function(t5) { return this.Lc.U(t5, 1); }, i5.prototype.vf = function(t5) { return this.kk(this.ya(t5)); }, i5.prototype.ya = function(t5) { return this.Lc.U(t5, 4); }, i5.prototype.ue = function(t5) { return this.Lc.U(t5, 5); }, i5.prototype.kc = function(t5) { return this.Lc.U(t5, 6); }, i5.prototype.$e = function(t5) { return this.Lc.U(t5, 2); }, i5.prototype.af = function(t5) { return this.ik(this.Lc.U(t5, 2)); }, i5.prototype.om = function(t5) { return this.Lc.U(t5, 7); }, i5.prototype.$r = function(t5, i6) { this.D(this.kk(t5), i6); }, i5.prototype.nm = function(t5, i6) { this.D(this.vf(t5), i6); }, i5.prototype.fh = function(t5) { return this.Lc.U(t5, 3) & this.WN; }, i5.prototype.Bb = function(t5, i6) { return (i6 = this.Ii[i6]).size <= t5 ? -1 : i6.read(t5); }, i5.prototype.Kb = function(t5, i6, s5) { (i6 = this.Ii[i6]).size <= t5 && i6.resize(this.Lc.size, -1), i6.write(t5, s5); }, i5.prototype.bh = function() { this.Ii == null && (this.Ii = []); for (var i6 = t4.ja.rf(this.Lc.Jg, -1), s5 = 0, n5 = this.Ii.length; s5 < n5; s5++) if (this.Ii[s5] == null) return this.Ii[s5] = i6, s5; return this.Ii.push(i6), this.Ii.length - 1; }, i5.prototype.Lg = function(t5) { this.Ii[t5] = null; }, i5.prototype.CP = function(t5) { var i6 = this.$e(t5), s5 = this.ya(t5), n5 = this.kc(t5); n5 == s5 && ((n5 = this.kc(n5)) == t5 && (n5 = -1)); var h3 = this.uF(i6); h3 !== t5 && h3 != s5 || this.Et(i6, n5), s5 = this.Zn.read(i6), isNaN(s5) || (this.uJ(i6, NaN), this.wJ(i6, NaN)), this.xx(t5, true), this.Gy(t5); }, i5.prototype.DP = function(t5) { for (var i6 = 0, s5 = t5.size; i6 < s5; i6++) { var n5 = t5.get(i6), h3 = this.$e(this.ya(n5)); this.Et(this.$e(n5), -1), this.Et(h3, -1), this.xx(n5, true), this.Gy(n5); } }, i5.prototype.uF = function(t5) { return this.ze.U(t5, 1); }, i5.prototype.ik = function(t5) { return this.ze.U(t5, 2); }, i5.prototype.Hn = function(t5) { return this.ze.U(t5, 3); }, i5.prototype.YQ = function(t5) { return this.ze.U(t5, 4); }, i5.prototype.Mp = function(t5) { var i6 = this.Zn.read(t5); return isNaN(i6) && (this.cY(t5), i6 = this.Zn.read(t5)), i6; }, i5.prototype.Ma = function(t5) { return this.g.EF(t5, this.Dq); }, i5.prototype.Ie = function(t5) { return this.g.Qa(t5, this.Em); }, i5.prototype.nR = function(t5) { return this.g.Qa(t5, this.Eq); }, i5.prototype.mR = function(t5, i6) { var s5 = this.Je(t5); if (s5 == -1) return -1; var n5 = s5, h3 = -1, r2 = -1; do { if (this.vf(n5) == i6) return n5; if (h3 == -1) { if ((h3 = this.Je(i6)) == -1) break; r2 = h3; } if (this.vf(r2) == t5) return this.ya(r2); n5 = this.kc(this.ya(n5)), r2 = this.kc(this.ya(r2)); } while (n5 != s5 && r2 != h3); return -1; }, i5.prototype.jB = function(i6, s5) { s5.Qr(), s5 = s5.get(); var n5 = new t4.h(); this.$r(i6, n5), s5.Ec(n5), this.nm(i6, n5), s5.Rc(n5); }, i5.prototype.BO = function(i6, s5) { if (i6 == s5) return 0; var n5 = new t4.h(); this.nm(i6, n5); var h3 = new t4.h(); return this.nm(s5, h3), n5.rb(h3) ? 0 : (s5 = new t4.h(), this.$r(i6, s5), (i6 = new t4.h()).vc(n5, s5), (n5 = new t4.h()).vc(h3, s5), t4.h.pu(i6, n5)); }, i5.prototype.AO = function(i6, s5) { if (i6 == s5) return 0; var n5 = new t4.h(); this.nm(i6, n5); var h3 = new t4.h(); return this.nm(s5, h3), n5.rb(h3) ? 0 : (s5 = new t4.h(), this.$r(i6, s5), (i6 = new t4.h()).vc(n5, s5), (n5 = new t4.h()).vc(h3, s5), 0 <= n5.y && 0 < i6.y ? t4.h.pu(i6, n5) : 0); }, i5.prototype.rO = function() { for (var i6 = t4.mc.ox(this.gA), s5 = new t4.h(), n5 = new t4.h(), h3 = new t4.h(), r2 = new t4.h(), e2 = new t4.h(), o2 = this.Oe; o2 != -1; o2 = this.Sf(o2)) { var a2 = this.Je(o2); if (a2 != -1) { var u2 = a2; this.$r(u2, s5), this.nm(u2, n5), e2.vc(n5, s5); var f2 = e2.Tk(); do { var c2 = u2; if ((u2 = this.kc(this.ya(u2))) != c2) { this.nm(u2, h3), r2.vc(h3, s5), c2 = r2.Tk(); var l2 = r2.yi(e2); if (l2 * l2 / (c2 * f2) * Math.min(c2, f2) <= i6) return false; e2.N(r2), f2 = c2, n5.N(h3); } } while (u2 != a2); } } return true; }, i5; }(), t4.ku = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { this.j = null, this.iH = new t4.h(), this.jH = new t4.h(), this.Ij = null, this.Ov = false, this.vl = -1; } return i5.prototype.cf = function(t5) { return t5 < this.Ij.length && this.Ij[t5]; }, i5.prototype.fl = function(i6, s4, n4, h2) { var r2 = t4.ba.uf(this.j.g.jc(n4)); if (t4.ba.uf(this.j.g.jc(s4)) != 2 || r2 != 1) throw t4.i.Ra(); this.zP(i6, s4, n4, h2); }, i5.prototype.fr = function(i6, s4) { this.j == null && (this.j = new t4.ku()), this.j.fr(i6, s4); }, i5.prototype.Gt = function(i6, s4, n4) { for (t4.Uk.W(i6, s4, n4, true), s4 = i6.ld; s4 != -1; s4 = i6.ve(s4)) i6.jc(s4) == 1736 && t4.tn.W(i6, s4, -1, this.Ov, n4); this.fr(i6, n4); }, i5.prototype.GE = function(t5, i6, s4, n4, h2) { var r2 = this.j.g; if (r2.jc(t5) == 1736) for (t5 = r2.Ob(t5); t5 != -1; t5 = r2.Sb(t5)) { var e2 = r2.Ya(t5); this.j.Ie(e2), this.j.Ie(r2.V(e2)); var o2 = this.j.nR(e2); if (o2 != -1) { var a2 = this.j.Bb(o2, s4); if (a2 != 1 && a2 != 2) if (this.cf(this.j.af(o2))) { this.j.Kb(o2, s4, 1), a2 = r2.wf(i6, -1); var u2 = o2, f2 = this.j.Ie(e2), c2 = 1; do { var l2 = this.um(e2, h2); r2.kj(a2, l2), n4 != -1 && this.j.pn(f2, n4, 1), this.j.Kb(u2, s4, 1), u2 = this.j.kc(u2); do { var p2 = (l2 = c2 == 1 ? r2.V(e2) : r2.Na(e2)) != -1 ? this.j.Ie(l2) : -1; } while (p2 == f2); var v2 = this.j.kk(u2); if (v2 != p2) { do { p2 = (l2 = c2 == 1 ? r2.Na(e2) : r2.V(e2)) != -1 ? this.j.Ie(l2) : -1; } while (p2 == f2); v2 != p2 ? (p2 = v2, l2 = this.j.vj(this.j.mm(p2))) : c2 = -c2; } f2 = p2, e2 = l2; } while (u2 != o2); r2.mn(a2, true); } else this.j.Kb(o2, s4, 2); } } }, i5.prototype.ZE = function() { for (var i6 = this.j.bh(), s4 = new t4.ja(0), n4 = this.j.Oe; n4 != -1; n4 = this.j.Sf(n4)) { var h2 = this.j.Je(n4), r2 = h2; if (h2 != -1) do { if (this.j.Bb(r2, i6) != 1) { var e2 = this.j.ya(r2); this.j.Kb(e2, i6, 1), this.j.Kb(r2, i6, 1), this.cf(this.j.af(r2)) && this.cf(this.j.af(e2)) && s4.add(r2); } r2 = this.j.kc(this.j.ya(r2)); } while (r2 != h2); } this.j.Lg(i6), this.j.DP(s4); }, i5.prototype.um = function(t5, i6) { return i6 == -1 ? t5 : this.UR(t5, i6); }, i5.prototype.UR = function(t5, i6) { var s4 = this.j.g, n4 = this.j.mm(this.j.Ie(t5)); do { var h2 = this.j.vj(n4); if (s4.Rf(s4.cd(h2)) == i6) return h2; n4 = this.j.ls(n4); } while (n4 != -1); return t5; }, i5.prototype.Qt = function(i6, s4, n4) { this.ZE(); var h2 = this.j.g, r2 = h2.Kg(1736), e2 = this.j.bh(); return this.oK(i6, s4, r2, n4, e2, -1), this.j.Lg(e2), t4.tn.W(h2, r2, 1, this.Ov, null), r2; }, i5.prototype.oK = function(t5, i6, s4, n4, h2, r2) { for (this.GE(t5, s4, h2, r2, n4), i6 != -1 && this.GE(i6, s4, h2, r2, n4), t5 = this.j.g, i6 = this.j.Oe; i6 != -1; i6 = this.j.Sf(i6)) { var e2 = this.j.Je(i6); if (e2 != -1) { var o2 = e2; do { var a2 = this.j.Bb(o2, h2); if (a2 != 1 && a2 != 2) if (this.cf(this.j.af(o2))) { a2 = t5.wf(s4, -1); var u2 = o2; do { var f2 = this.j.om(u2); f2 != -1 ? f2 = this.j.vj(f2) : (f2 = this.j.vj(this.j.om(this.j.ya(u2))), f2 = this.j.g.V(f2)), f2 = this.um(f2, n4), t5.kj(a2, f2), this.j.Kb(u2, h2, 1), r2 != -1 && (f2 = this.j.Ie(f2), this.j.pn(f2, r2, 1)), u2 = this.j.kc(u2); } while (u2 != o2); t5.mn(a2, true); } else this.j.Kb(o2, h2, 2); o2 = this.j.kc(this.j.ya(o2)); } while (o2 != e2); } } }, i5.prototype.TX = function(i6, s4, n4) { var h2 = this.j.g, r2 = h2.Kg(1736), e2 = h2.Kg(1607), o2 = h2.Kg(550); this.ZE(); var a2 = -1, u2 = this.j.bh(), f2 = this.j.Fp(); for (this.oK(i6, s4, r2, n4, u2, f2), i6 = this.j.Oe; i6 != -1; i6 = this.j.Sf(i6)) if ((s4 = this.j.Je(i6)) != -1) { var c2 = s4; do { var l2 = this.j.Bb(c2, u2), p2 = this.j.Bb(this.j.ya(c2), u2); if ((l2 |= p2) == 2) if (l2 = this.j.fh(c2), this.cf(l2)) { var v2 = h2.wf(e2, -1), y2 = c2; l2 = this.$w(i6, h2), l2 = this.um(l2, n4), h2.kj(v2, l2), this.j.pn(i6, f2, 1); do { if (l2 = this.j.vf(y2), p2 = this.$w(l2, h2), p2 = this.um(p2, n4), h2.kj(v2, p2), this.j.Kb(y2, u2, 1), this.j.Kb(this.j.ya(y2), u2, 1), this.j.pn(l2, f2, 1), y2 = this.j.kc(y2), l2 = this.j.Bb(y2, u2), (l2 |= p2 = this.j.Bb(this.j.ya(y2), u2)) != 2) break; if (l2 = this.j.fh(y2), !this.cf(l2)) { this.j.Kb(y2, u2, 1), this.j.Kb(this.j.ya(y2), u2, 1); break; } } while (y2 != c2); } else this.j.Kb(c2, u2, 1), this.j.Kb(this.j.ya(c2), u2, 1); c2 = this.j.kc(this.j.ya(c2)); } while (c2 != s4); } for (i6 = this.j.Oe; i6 != -1; i6 = this.j.Sf(i6)) (l2 = this.j.ng(i6, f2)) != 1 && (l2 = this.j.yd(i6), this.cf(l2) && (a2 == -1 && (a2 = h2.wf(o2, -1)), (s4 = this.j.mm(i6)) != -1 && (s4 = this.j.vj(s4), l2 = this.um(s4, n4), h2.kj(a2, l2)))); return this.j.Gp(f2), this.j.Lg(u2), t4.tn.W(h2, r2, 1, this.Ov, null), (n4 = [])[0] = o2, n4[1] = e2, n4[2] = r2, n4; }, i5.prototype.$w = function(t5, i6) { var s4 = -1; for (t5 = this.j.mm(t5); t5 != -1; t5 = this.j.ls(t5)) { var n4 = this.j.vj(t5); s4 == -1 && (s4 = n4); var h2 = this.j.Ma(i6.Rf(i6.cd(n4))); if (this.cf(h2)) { s4 = n4; break; } } return s4; }, i5.prototype.fB = function(i6, s4) { for (var n4 = this.ll(s4), h2 = this.j.kk(s4), r2 = this.j.vf(s4), e2 = 0, o2 = 0, a2 = this.j.mm(h2); a2 != -1; a2 = this.j.ls(a2)) { var u2 = this.j.vj(a2), f2 = i6.cd(u2), c2 = this.j.Ma(i6.Rf(f2)); f2 = i6.Ya(f2), (c2 = (c2 & n4) != 0) && f2 == u2 && (this.vl = s4); var l2 = i6.V(u2); l2 != -1 && this.j.Ie(l2) == r2 ? (e2++, c2 && (this.vl === -1 && f2 == l2 && (u2 = this.j.kc(s4), this.cf(this.ll(u2)) && (this.vl = u2)), o2++)) : (u2 = i6.Na(u2)) != -1 && this.j.Ie(u2) == r2 && (e2--, c2 && (this.vl === -1 && f2 === u2 && (u2 = this.j.kc(s4), this.cf(this.ll(u2)) && (this.vl = u2)), o2--)); } return this.j.D(h2, this.iH), this.j.D(r2, this.jH), (o2 != 0 ? o2 : e2) * (i6 = t4.h.ub(this.iH, this.jH)); }, i5.prototype.ll = function(t5) { return this.j.fh(t5) | this.j.af(t5) | this.j.af(this.j.ya(t5)); }, i5.prototype.rK = function(t5) { for (var i6 = this.j.ya(this.j.ue(t5)), s4 = -1; i6 != t5; ) { if (this.cf(this.ll(i6))) { if (s4 != -1) return -1; s4 = i6; } i6 = this.j.ya(this.j.ue(i6)); } return s4 != -1 ? this.j.ya(s4) : -1; }, i5.prototype.sK = function(t5) { for (var i6 = this.j.ya(this.j.kc(t5)), s4 = -1; i6 != t5; ) { if (this.cf(this.ll(i6))) { if (s4 != -1) return -1; s4 = i6; } i6 = this.j.ya(this.j.kc(i6)); } return s4 != -1 ? this.j.ya(s4) : -1; }, i5.prototype.gJ = function(i6, s4, n4, h2, r2) { var e2 = this.j.g, o2 = i6, a2 = this.j.ya(o2); this.j.Kb(o2, n4, 1), this.j.Kb(a2, n4, 1), this.vl = -1; for (var u2 = this.fB(e2, o2), f2 = o2, c2 = -1, l2 = false, p2 = 1; ; ) { var v2 = this.j.ue(o2); if (v2 == a2) break; if (a2 = this.j.kc(a2), this.j.ya(v2) != a2) { if ((o2 = this.rK(o2)) == -1) { l2 = true; break; } a2 = this.j.ya(o2); } else o2 = v2; if (o2 == i6) { c2 = i6; break; } if (v2 = this.ll(o2), !this.cf(v2)) break; this.j.Kb(o2, n4, 1), this.j.Kb(a2, n4, 1), f2 = o2, u2 += this.fB(e2, o2), p2++; } if (c2 == -1) for (o2 = i6, a2 = this.j.ya(o2), c2 = o2; (i6 = this.j.kc(o2)) != a2; ) { if (a2 = this.j.ue(a2), this.j.ya(i6) != a2) { if ((o2 = this.sK(o2)) == -1) { l2 = true; break; } a2 = this.j.ya(o2); } else o2 = i6; if (v2 = this.ll(o2), !this.cf(v2)) break; this.j.Kb(o2, n4, 1), this.j.Kb(a2, n4, 1), c2 = o2, u2 += this.fB(e2, o2), p2++; } else if (this.vl != -1 && (f2 = this.vl, c2 = this.j.ue(this.vl), this.j.ya(c2) != this.j.kc(this.j.ya(f2)) && (c2 = this.rK(f2)) == -1)) throw t4.i.Ra(); for (0 <= u2 || (o2 = c2, c2 = this.j.ya(f2), f2 = this.j.ya(o2)), n4 = e2.wf(s4, -1), o2 = f2, f2 = this.j.kk(f2), l2 = this.j.vf(c2) == f2 && l2, u2 = this.$w(f2, e2), u2 = this.um(u2, r2), e2.kj(n4, u2), h2 != -1 && this.j.pn(f2, h2, 1), f2 = 0, p2 = l2 ? t4.P.truncate((p2 + 1) / 2) : -1; i6 = this.j.vf(o2), u2 = this.$w(i6, e2), u2 = this.um(u2, r2), e2.kj(n4, u2), f2++, h2 != -1 && this.j.pn(i6, h2, 1), l2 && f2 == p2 && (n4 = e2.wf(s4, -1), e2.kj(n4, u2)), o2 != c2; ) if (i6 = this.j.kc(o2), this.j.ue(this.j.ya(o2)) != this.j.ya(i6)) { if ((o2 = this.sK(o2)) == -1) throw t4.i.Ra(); } else o2 = i6; }, i5.prototype.Rt = function(t5) { for (var i6 = this.j.g.Kg(1607), s4 = this.j.bh(), n4 = this.j.Oe; n4 != -1; n4 = this.j.Sf(n4)) { var h2 = this.j.Je(n4), r2 = h2; do { this.j.Bb(r2, s4) != 1 && this.cf(this.ll(r2)) && this.gJ(r2, i6, s4, -1, t5), r2 = this.j.kc(this.j.ya(r2)); } while (r2 != h2); } return this.j.Lg(s4), i6; }, i5.prototype.UX = function(t5) { for (var i6 = this.j.g, s4 = i6.Kg(1607), n4 = i6.Kg(550), h2 = this.j.bh(), r2 = this.j.Fp(), e2 = -1, o2 = this.j.Oe; o2 != -1; o2 = this.j.Sf(o2)) { var a2 = this.j.Je(o2), u2 = a2; do { var f2 = this.j.Bb(u2, h2); f2 != 1 && (f2 = this.ll(u2), this.cf(f2) && this.gJ(u2, s4, h2, r2, t5)), u2 = this.j.kc(this.j.ya(u2)); } while (u2 != a2); } for (o2 = this.j.Oe; o2 != -1; o2 = this.j.Sf(o2)) (f2 = this.j.ng(o2, r2)) != 1 && (f2 = this.j.yd(o2), this.cf(f2) && (e2 == -1 && (e2 = i6.wf(n4, -1)), (a2 = this.j.mm(o2)) != -1 && (a2 = this.j.vj(a2), a2 = this.um(a2, t5), i6.kj(e2, a2)))); return this.j.Lg(h2), this.j.Gp(r2), (t5 = [])[0] = n4, t5[1] = s4, t5; }, i5.prototype.pr = function() { for (var t5 = this.j.g, i6 = t5.Kg(550), s4 = t5.wf(i6, -1), n4 = this.j.Oe; n4 != -1; n4 = this.j.Sf(n4)) if (this.cf(this.j.yd(n4))) { for (var h2 = -1, r2 = this.j.mm(n4); r2 != -1; r2 = this.j.ls(r2)) { var e2 = this.j.vj(r2); h2 == -1 && (h2 = e2); var o2 = this.j.Ma(t5.Rf(t5.cd(e2))); if (this.cf(o2)) { h2 = e2; break; } } t5.kj(s4, h2); } return i6; }, i5.prototype.eq = function(t5) { this.Ij = []; for (var i6 = 0; i6 < t5; i6++) this.Ij[i6] = false; }, i5.TV = function(i6, s4, n4) { var h2 = i6.Ja(), r2 = Array(1e3); t4.P.bv(r2, null); var e2 = t4.P.lg(1e3, 0), o2 = i6.I(), a2 = true, u2 = s4.Eb() == 2; if (s4.Eb() != 1 && s4.Eb() != 2) throw t4.i.Ra(); for (var f2 = 0; f2 < o2; ) { var c2 = t4.P.truncate(i6.dW(r2, f2) - f2); u2 ? t4.jd.mK(s4, r2, c2, n4, e2) : t4.jd.nK(s4, r2, c2, n4, e2); for (var l2 = 0, p2 = 0; p2 < c2; p2++) e2[p2] == 0 && (a2 && (a2 = false, h2.Gd(i6, 0, f2)), l2 != p2 && h2.Gd(i6, f2 + l2, f2 + p2), l2 = p2 + 1); a2 || l2 == c2 || h2.Gd(i6, f2 + l2, f2 + c2), f2 += c2; } return a2 ? i6 : h2; }, i5.tG = function(s4, n4, h2) { return s4 instanceof t4.de ? i5.TV(s4, n4, h2) : n4 instanceof t4.Ta ? s4.B() || n4.B() ? s4.Ja() : t4.Uk.rU(h2, s4, n4) ? t4.Uk.wO(s4, n4) : s4.Ja() : i5.UV(s4, n4, h2); }, i5.Cv = function(s4, n4, h2, r2) { var e2 = new t4.l(); s4.A(e2); var o2 = new t4.l(); n4.A(o2); var a2 = new t4.l(); if (a2.L(e2), a2.$b(o2), h2 = t4.ta.Xd(h2, a2, true), (a2 = new t4.l()).L(o2), o2 = t4.ta.Gr(h2), a2.X(o2, o2), !e2.isIntersecting(a2)) { if (s4.Eb() <= n4.Eb()) return i5.mi(i5.Ue(s4.Ja()), s4, "&"); if (s4.Eb() > n4.Eb()) return i5.mi(i5.Ue(n4.Ja()), s4, "&"); } return o2 = new i5(), a2 = (e2 = new t4.hd()).Ib(i5.Ue(s4)), n4 = e2.Ib(i5.Ue(n4)), o2.Gt(e2, h2, r2), r2 = o2.Cv(a2, n4), s4 = i5.mi(e2.Ke(r2), s4, "&"), t4.ba.Ic(s4.K()) && (s4.Eh(2, h2), s4.K() == 1736 && s4.hm()), s4; }, i5.UV = function(i6, s4, n4) { if (i6.B() || s4.B()) return i6.Ja(); var h2 = [null], r2 = [0], e2 = s4.Eb() == 2; if (s4.Eb() != 1 && s4.Eb() != 2) throw t4.i.Ra(); return h2[0] = i6.D(), e2 ? t4.jd.mK(s4, h2, 1, n4, r2) : t4.jd.nK(s4, h2, 1, n4, r2), r2[0] == 0 ? i6.Ja() : i6; }, i5.prototype.DU = function(i6, s4, n4, h2, r2) { if (i6.B()) return i6; var e2 = new t4.hd(); return i6 = e2.Ib(i6), this.Nk(e2, i6, s4, n4, h2, r2); }, i5.prototype.FU = function(i6, s4, n4, h2, r2, e2) { if (r2 && i6.jc(s4) != 550) { var o2 = new t4.LC(); o2.LX(i6, n4), o2.Pg ? (t4.Uk.W(i6, n4, e2, true), r2 = false) : this.j.ty(n4); } else t4.Uk.W(i6, n4, e2, true), r2 = false; if (h2 && i6.jc(s4) != 550 ? this.j.qJ(i6, s4, e2) : this.j.pJ(i6, s4, e2), this.j.jA) return this.j.Wg(), this.j = null, this.Nk(i6, s4, n4, h2, false, e2); if (this.j.ty(NaN), e2 = this.j.Ma(s4), this.eq(e2 + 1), this.Ij[e2] = true, i6.jc(s4) == 1736 || h2 && i6.jc(s4) != 550) return i6.Zo(s4, 0), s4 = this.Qt(s4, -1, -1), (i6 = i6.Ke(s4)).Zo(0), r2 ? i6.Eh(1, 0) : (i6.Eh(2, n4), i6.hm()), i6; if (i6.jc(s4) == 1607) return s4 = this.Rt(-1), i6 = i6.Ke(s4), r2 || i6.Eh(2, n4), i6; if (i6.jc(s4) == 550) return s4 = this.pr(), i6 = i6.Ke(s4), r2 || i6.Eh(2, n4), i6; throw t4.i.Ra(); }, i5.prototype.Nk = function(i6, s4, n4, h2, r2, e2) { this.j = new t4.ku(); try { return this.FU(i6, s4, n4, h2, r2, e2); } finally { this.j.Wg(); } }, i5.Nk = function(t5, s4, n4, h2, r2) { return new i5().DU(t5, s4, n4, h2, r2); }, i5.prototype.EU = function(i6, s4, n4, h2) { this.Ov = i6, this.j = new t4.ku(), i6 = s4.Jn(n4); var r2 = s4.jc(n4); if (i6 != 1 || r2 == 550 ? this.j.pJ(s4, n4, h2) : this.j.qJ(s4, n4, h2), !this.j.jA) if (this.j.ty(NaN), h2 = this.j.Ma(n4), this.eq(h2 + 1), this.Ij[h2] = true, s4.jc(n4) == 1736 || i6 == 1 && s4.jc(n4) != 550) s4.Zo(n4, 0), h2 = this.Qt(n4, -1, -1), s4.bC(h2, n4), s4.vB(h2); else if (s4.jc(n4) == 1607) h2 = this.Rt(-1), s4.bC(h2, n4), s4.vB(h2); else { if (s4.jc(n4) != 550) throw t4.i.ga("internal error"); h2 = this.pr(), s4.bC(h2, n4), s4.vB(h2); } }, i5.prototype.km = function(i6, s4) { var n4 = t4.ba.uf(this.j.g.jc(i6)), h2 = t4.ba.uf(this.j.g.jc(s4)); if (n4 > h2) return i6; var r2 = this.j.Ma(i6), e2 = this.j.Ma(s4); if (this.eq(1 + (r2 | e2)), this.Ij[this.j.Ma(i6)] = true, n4 == 2 && h2 == 2) return this.Qt(i6, s4, -1); if (n4 == 1 && h2 == 2 || n4 == 1 && h2 == 1) return this.Rt(-1); if (n4 == 0) return this.pr(); throw t4.i.Ra(); }, i5.prototype.Cv = function(i6, s4) { var n4 = t4.ba.uf(this.j.g.jc(i6)), h2 = t4.ba.uf(this.j.g.jc(s4)), r2 = this.j.Ma(i6), e2 = this.j.Ma(s4); if (this.eq(1 + (r2 | e2)), this.Ij[this.j.Ma(i6) | this.j.Ma(s4)] = true, r2 = -1, 1 < this.j.g.it.Ba && (r2 = i6), n4 == 2 && h2 == 2) return this.Qt(i6, s4, r2); if (n4 == 1 && 0 < h2 || h2 == 1 && 0 < n4) return this.Rt(r2); if (n4 == 0 || h2 == 0) return this.pr(); throw t4.i.Ra(); }, i5.prototype.Kz = function(i6, s4) { var n4 = t4.ba.uf(this.j.g.jc(i6)), h2 = t4.ba.uf(this.j.g.jc(s4)), r2 = this.j.Ma(i6), e2 = this.j.Ma(s4); if (this.eq(1 + (r2 | e2)), this.Ij[this.j.Ma(i6) | this.j.Ma(s4)] = true, r2 = -1, 1 < this.j.g.it.Ba && (r2 = i6), n4 == 2 && h2 == 2) return this.TX(i6, s4, r2); if (n4 == 1 && 0 < h2 || h2 == 1 && 0 < n4) return this.UX(r2); if (n4 == 0 || h2 == 0) return (i6 = [])[0] = this.pr(), i6; throw t4.i.Ra(); }, i5.prototype.fp = function(i6, s4) { var n4 = t4.ba.uf(this.j.g.jc(i6)), h2 = t4.ba.uf(this.j.g.jc(s4)), r2 = this.j.Ma(i6), e2 = this.j.Ma(s4); if (this.eq(1 + (r2 | e2)), this.Ij[this.j.Ma(i6)] = true, this.Ij[this.j.Ma(s4)] = true, n4 == 2 && h2 == 2) return this.Qt(i6, s4, -1); if (n4 == 1 && h2 == 1) return this.Rt(-1); if (n4 == 0 && h2 == 0) return this.pr(); throw t4.i.Ra(); }, i5.Ue = function(i6) { var s4 = i6.K(); return s4 == 197 ? (s4 = new t4.Ea(i6.description), i6.B() || s4.bd(i6, false), s4) : s4 == 33 ? (s4 = new t4.de(i6.description), i6.B() || s4.add(i6), s4) : s4 == 322 ? (s4 = new t4.Ua(i6.description), i6.B() || s4.oc(i6, true), s4) : i6; }, i5.mi = function(i6, s4, n4) { var h2 = i6.K(); return h2 == 197 ? (s4 = new t4.Ea(i6.description), i6.B() || s4.bd(i6, false), s4) : h2 != 33 || n4 != "|" && n4 != "^" ? h2 == 322 ? (s4 = new t4.Ua(i6.description), i6.B() || s4.oc(i6, true), s4) : h2 == 33 && n4 == "-" && s4.K() == 33 || h2 == 550 && n4 == "&" && s4.K() == 33 ? (s4 = new t4.Ta(i6.description), i6.B() || i6.we(0, s4), s4) : i6 : (s4 = new t4.de(i6.description), i6.B() || s4.add(i6), s4); }, i5.km = function(s4, n4, h2, r2) { if (s4.B() || n4.B() || s4.Eb() > n4.Eb()) return i5.mi(i5.Ue(s4), s4, "-"); var e2 = new t4.l(); s4.A(e2); var o2 = new t4.l(); if (n4.A(o2), !e2.isIntersecting(o2)) return i5.mi(i5.Ue(s4), s4, "-"); var a2 = new t4.l(); return a2.L(e2), a2.$b(o2), h2 = t4.ta.Xd(h2, a2, true), o2 = new i5(), a2 = (e2 = new t4.hd()).Ib(i5.Ue(s4)), n4 = e2.Ib(i5.Ue(n4)), o2.Gt(e2, h2, r2), r2 = o2.km(a2, n4), r2 = e2.Ke(r2), s4 = i5.mi(r2, s4, "-"), t4.ba.Ic(s4.K()) && (s4.Eh(2, h2), s4.K() == 1736 && s4.hm()), s4; }, i5.PP = function(s4, n4, h2) { if (2 > s4.length) throw t4.i.O("not enough geometries to dissolve"); for (var r2 = 0, e2 = 0, o2 = s4.length; e2 < o2; e2++) r2 = Math.max(s4[e2].Eb(), r2); var a2 = new t4.l(); a2.Pa(); var u2 = new t4.hd(), f2 = -1, c2 = 0, l2 = -1; for (e2 = 0, o2 = s4.length; e2 < o2; e2++) if (s4[e2].Eb() == r2) if (s4[e2].B()) l2 == -1 && (l2 = e2); else { l2 = e2, f2 == -1 ? f2 = u2.Ib(i5.Ue(s4[e2])) : u2.oN(f2, i5.Ue(s4[e2])); var p2 = new t4.l(); s4[e2].yc(p2), a2.$b(p2), c2++; } return 2 > c2 ? i5.Ue(s4[l2]) : (s4 = r2 == 2, n4 = t4.ta.Xd(r2 == 0 ? n4 : null, a2, true), new i5().Nk(u2, f2, n4, s4, true, h2)); }, i5.Kz = function(s4, n4, h2, r2) { var e2 = [null, null, null], o2 = new t4.l(); s4.A(o2); var a2 = new t4.l(); n4.A(a2); var u2 = new t4.l(); if (u2.L(o2), u2.$b(a2), h2 = t4.ta.Xd(h2, u2, true), (u2 = new t4.l()).L(a2), a2 = t4.ta.Gr(h2), u2.X(a2, a2), !o2.isIntersecting(u2)) { if (s4.Eb() <= n4.Eb()) return e2[(s4 = i5.mi(i5.Ue(s4.Ja()), s4, "&")).Eb()] = s4, e2; if (s4.Eb() > n4.Eb()) return e2[(s4 = i5.mi(i5.Ue(n4.Ja()), s4, "&")).Eb()] = s4, e2; } for (a2 = new i5(), u2 = (o2 = new t4.hd()).Ib(i5.Ue(s4)), n4 = o2.Ib(i5.Ue(n4)), a2.Gt(o2, h2, r2), r2 = a2.Kz(u2, n4), n4 = 0; n4 < r2.length; n4++) a2 = i5.mi(o2.Ke(r2[n4]), s4, "&"), t4.ba.Ic(a2.K()) && (a2.Eh(2, h2), a2.K() == 1736 && a2.hm()), e2[a2.Eb()] = a2; return e2; }, i5.fp = function(s4, n4, h2, r2) { if (s4.Eb() > n4.Eb()) return i5.mi(i5.Ue(s4), s4, "^"); if (s4.Eb() < n4.Eb() || s4.B()) return i5.mi(i5.Ue(n4), s4, "^"); if (n4.B()) return i5.mi(i5.Ue(s4), s4, "^"); var e2 = new t4.l(); s4.A(e2); var o2 = new t4.l(); n4.A(o2); var a2 = new t4.l(); return a2.L(e2), a2.$b(o2), h2 = t4.ta.Xd(h2, a2, true), o2 = new i5(), a2 = (e2 = new t4.hd()).Ib(i5.Ue(s4)), n4 = e2.Ib(i5.Ue(n4)), o2.Gt(e2, h2, r2), r2 = o2.fp(a2, n4), s4 = i5.mi(e2.Ke(r2), s4, "^"), t4.ba.Ic(s4.K()) && (s4.Eh(2, h2), s4.K() == 1736 && s4.hm()), s4; }, i5.prototype.FQ = function(t5, i6) { var s4 = this.j.g; t5 = s4.wf(t5, -1); for (var n4 = i6.size, h2 = 0; h2 < n4; h2++) { var r2 = i6.get(h2); s4.kj(t5, r2); } s4.mn(t5, true); }, i5.prototype.SW = function(t5, i6) { for (var s4 = this.j.g, n4 = s4.ld; n4 != -1; n4 = s4.ve(n4)) if (n4 == i6) for (var h2 = s4.Ob(n4); h2 != -1; h2 = s4.Sb(h2)) { var r2 = s4.Ya(h2); if (r2 != -1) for (var e2 = s4.V(r2); e2 != -1; ) { r2 = this.j.Ie(r2); var o2 = this.j.Ie(e2); (r2 = this.j.mR(r2, o2)) != -1 && (o2 = this.j.ya(r2), this.j.Kb(r2, t5, 1), this.j.Kb(o2, t5, 2)), r2 = e2, e2 = s4.V(r2); } } }, i5.prototype.VV = function(i6, s4, n4, h2) { n4 = this.j.Ma(n4), h2 = this.j.Ma(h2); var r2 = new t4.ja(0); r2.Jb(256); for (var e2 = this.j.g, o2 = this.j.bh(), a2 = this.j.Oe; a2 != -1; a2 = this.j.Sf(a2)) { var u2 = this.j.Je(a2); if (u2 != -1) { var f2 = u2; do { if (this.j.Bb(f2, o2) != 1) { var c2 = f2, l2 = f2, p2 = false, v2 = 0; do { if (this.j.Kb(c2, o2, 1), !p2) { var y2 = this.j.fh(c2); (y2 & h2) != 0 && (this.j.af(c2) & n4) != 0 && (l2 = c2, p2 = true); } p2 && (r2.add(this.j.vj(this.j.mm(this.j.kk(c2)))), i6 != -1 && (((y2 = this.j.fh(c2)) & h2) != 0 && (v2 |= y2 = this.j.Bb(c2, i6)))), c2 = this.j.kc(c2); } while (c2 != l2); p2 && 0 < this.j.Mp(this.j.$e(l2)) && (c2 = e2.Kg(1736), this.FQ(c2, r2), s4 != -1 && e2.BJ(c2, s4, v2)), r2.clear(false); } f2 = this.j.kc(this.j.ya(f2)); } while (f2 != u2); } } this.j.Lg(o2); }, i5.prototype.zP = function(t5, i6, s4, n4) { this.j.qW(); var h2 = -1; t5 != -1 && (h2 = this.j.bh(), this.SW(h2, s4)), this.VV(h2, t5, i6, s4), h2 != -1 && (this.j.Lg(h2), h2 = -1); var r2 = this.j.g; for (t5 = 0, h2 = r2.ld; h2 != -1; h2 = r2.ve(h2)) h2 != i6 && h2 != s4 && (n4.add(h2), t5++); n4.Wd(0, t5, function(t6, i7) { return (t6 = r2.qz(r2.Ob(t6))) < (i7 = r2.qz(r2.Ob(i7))) ? -1 : t6 == i7 ? 0 : 1; }); }, i5.prototype.Wg = function() { this.j != null && (this.j.Wg(), this.j = null); }, i5; }(); t4.Hg = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5(t5) { t5 !== void 0 ? this.Jt(t5) : this.LB(); } return i5.prototype.lx = function() { this.Qb = this.Lb = this.qb = this.jb = this.bb = this.eb = 0; }, i5.prototype.Nb = function(t5) { return this == t5 || t5 instanceof i5 && (this.eb == t5.eb && this.jb == t5.jb && this.Lb == t5.Lb && this.qb == t5.qb && this.bb == t5.bb && this.Qb == t5.Qb); }, i5.prototype.dc = function() { return t4.P.wj(), t4.P.wj(), t4.P.wj(), t4.P.wj(), t4.P.wj(), t4.P.wj(); }, i5.prototype.Gh = function(t5, i6) { var s4 = this.qb * t5.x + this.bb * t5.y + this.Qb; i6.x = this.eb * t5.x + this.jb * t5.y + this.Lb, i6.y = s4; }, i5.prototype.XX = function(i6, s4, n4) { for (var h2 = 0; h2 < s4; h2++) { var r2 = i6[h2].x, e2 = i6[h2].y, o2 = this.eb * r2 + this.jb * e2 + this.Lb; r2 = this.qb * r2 + this.bb * e2 + this.Qb, n4[h2] != null ? n4[h2].na(o2, r2) : n4[h2] = t4.h.construct(o2, r2); } }, i5.prototype.multiply = function(t5) { i5.multiply(this, t5, this); }, i5.multiply = function(t5, i6, s4) { var n4 = t5.eb * i6.eb + t5.qb * i6.jb, h2 = t5.jb * i6.eb + t5.bb * i6.jb, r2 = t5.Lb * i6.eb + t5.Qb * i6.jb + i6.Lb, e2 = t5.eb * i6.qb + t5.qb * i6.bb, o2 = t5.jb * i6.qb + t5.bb * i6.bb; t5 = t5.Lb * i6.qb + t5.Qb * i6.bb + i6.Qb, s4.eb = n4, s4.jb = h2, s4.Lb = r2, s4.qb = e2, s4.bb = o2, s4.Qb = t5; }, i5.prototype.Pf = function() { var t5 = new i5(); return t5.eb = this.eb, t5.jb = this.jb, t5.Lb = this.Lb, t5.qb = this.qb, t5.bb = this.bb, t5.Qb = this.Qb, t5; }, i5.prototype.gC = function(i6) { if (!i6.B()) { for (var s4 = [], n4 = 0; 4 > n4; n4++) s4[n4] = new t4.h(); i6.hB(s4), this.YX(s4, s4), i6.bx(s4, 4); } }, i5.prototype.YX = function(i6, s4) { for (var n4 = 0; n4 < i6.length; n4++) { var h2 = new t4.h(), r2 = i6[n4]; h2.x = this.eb * r2.x + this.jb * r2.y + this.Lb, h2.y = this.qb * r2.x + this.bb * r2.y + this.Qb, s4[n4] = h2; } }, i5.prototype.iS = function(t5, i6) { t5.B() || i6.B() || t5.S() == 0 || t5.da() == 0 ? this.lx() : (this.jb = this.qb = 0, this.eb = i6.S() / t5.S(), this.bb = i6.da() / t5.da(), this.Lb = i6.v - t5.v * this.eb, this.Qb = i6.G - t5.G * this.bb); }, i5.prototype.WX = function(i6) { var s4 = new t4.h(), n4 = new t4.h(); s4.na(this.eb, this.qb), n4.na(this.jb, this.bb), s4.sub(s4); var h2 = 0.5 * s4.Tk(); return s4.na(this.eb, this.qb), n4.na(this.jb, this.bb), s4.add(n4), i6 * (h2 > (s4 = 0.5 * s4.Tk()) ? Math.sqrt(h2) : Math.sqrt(s4)); }, i5.prototype.LB = function() { this.eb = 1, this.qb = this.Lb = this.jb = 0, this.bb = 1, this.Qb = 0; }, i5.prototype.isIdentity = function(i6) { if (i6 !== void 0) { var s4 = t4.h.construct(0, 1); return this.Gh(s4, s4), s4.sub(t4.h.construct(0, 1)), s4.Tk() > i6 * i6 ? false : (s4.na(0, 0), this.Gh(s4, s4), !(s4.Tk() > i6 * i6) && (s4.na(1, 0), this.Gh(s4, s4), s4.sub(t4.h.construct(1, 0)), s4.Tk() <= i6 * i6)); } return this.eb == 1 && this.bb == 1 && this.jb == 0 && this.Lb == 0 && this.qb == 0 && this.Qb == 0; }, i5.prototype.Di = function(t5) { return Math.abs(this.eb * this.bb - this.qb * this.jb) <= 2 * t5 * (Math.abs(this.eb * this.bb) + Math.abs(this.qb * this.jb)); }, i5.prototype.gg = function(t5, i6) { this.eb = 1, this.jb = 0, this.Lb = t5, this.qb = 0, this.bb = 1, this.Qb = i6; }, i5.prototype.Jt = function(t5, i6) { i6 !== void 0 ? (this.eb = t5, this.qb = this.Lb = this.jb = 0, this.bb = i6, this.Qb = 0) : this.Jt(t5, t5); }, i5.prototype.UB = function() { this.eb = 0, this.jb = 1, this.Lb = 0, this.qb = 1, this.Qb = this.bb = 0; }, i5.prototype.gX = function(t5) { this.hX(Math.cos(t5), Math.sin(t5)); }, i5.prototype.hX = function(t5, i6) { this.eb = t5, this.jb = -i6, this.Lb = 0, this.qb = i6, this.bb = t5, this.Qb = 0; }, i5.prototype.shift = function(t5, i6) { this.Lb += t5, this.Qb += i6; }, i5.prototype.scale = function(t5, i6) { this.eb *= t5, this.jb *= t5, this.Lb *= t5, this.qb *= i6, this.bb *= i6, this.Qb *= i6; }, i5.prototype.flipX = function(t5, i6) { this.eb = -this.eb, this.jb = -this.jb, this.Lb = t5 + i6 - this.Lb; }, i5.prototype.flipY = function(t5, i6) { this.qb = -this.qb, this.bb = -this.bb, this.Qb = t5 + i6 - this.Qb; }, i5.prototype.rotate = function(t5) { var s4 = new i5(); s4.gX(t5), this.multiply(s4); }, i5.prototype.inverse = function(t5) { if (t5 !== void 0) { var i6 = this.eb * this.bb - this.jb * this.qb; i6 == 0 ? t5.lx() : (i6 = 1 / i6, t5.Lb = (this.jb * this.Qb - this.Lb * this.bb) * i6, t5.Qb = (this.Lb * this.qb - this.eb * this.Qb) * i6, t5.eb = this.bb * i6, t5.jb = -this.jb * i6, t5.qb = -this.qb * i6, t5.bb = this.eb * i6); } else this.inverse(this); }, i5; }(); t4.Ed = i4; }(V || (V = {})), function(t4) { var i4 = function() { function i5() { } return i5.prototype.lx = function() { this.Cg = this.Qb = this.Lb = this.Ze = this.We = this.Ve = this.Ye = this.bb = this.jb = this.pf = this.qb = this.eb = 0; }, i5.prototype.Jt = function(t5, i6) { this.eb = t5, this.jb = this.pf = this.qb = 0, this.bb = i6, this.We = this.Ve = this.Ye = 0, this.Ze = void 0, this.Cg = this.Qb = this.Lb = 0; }, i5.prototype.translate = function(t5, i6, s4) { this.Lb += t5, this.Qb += i6, this.Cg += s4; }, i5.prototype.gC = function(i6) { if (!i6.B()) { for (var s4 = new t4.Od[8](), n4 = 0; 8 > n4; n4++) s4[n4] = new t4.Od(); i6.hB(s4), this.transform(s4, 8, s4), i6.bx(s4); } }, i5.prototype.transform = function(i6, s4, n4) { for (var h2 = 0; h2 < s4; h2++) { var r2 = new t4.Od(), e2 = i6[h2]; r2.x = this.eb * e2.x + this.jb * e2.y + this.Ve * e2.z + this.Lb, r2.y = this.qb * e2.x + this.bb * e2.y + this.We * e2.z + this.Qb, r2.z = this.pf * e2.x + this.Ye * e2.y + this.Ze * e2.z + this.Cg, n4[h2] = r2; } }, i5.prototype.gp = function(i6) { var s4 = new t4.Od(); return s4.x = this.eb * i6.x + this.jb * i6.y + this.Ve * i6.z + this.Lb, s4.y = this.qb * i6.x + this.bb * i6.y + this.We * i6.z + this.Qb, s4.z = this.pf * i6.x + this.Ye * i6.y + this.Ze * i6.z + this.Cg, s4; }, i5.prototype.Ag = function(t5) { i5.multiply(this, t5, this); }, i5.multiply = function(t5, i6, s4) { var n4 = t5.eb * i6.eb + t5.qb * i6.jb + t5.pf * i6.Ve, h2 = t5.eb * i6.qb + t5.qb * i6.bb + t5.pf * i6.We, r2 = t5.eb * i6.pf + t5.qb * i6.Ye + t5.pf * i6.Ze, e2 = t5.jb * i6.eb + t5.bb * i6.jb + t5.Ye * i6.Ve, o2 = t5.jb * i6.qb + t5.bb * i6.bb + t5.Ye * i6.We, a2 = t5.jb * i6.pf + t5.bb * i6.Ye + t5.Ye * i6.Ze, u2 = t5.Ve * i6.eb + t5.We * i6.jb + t5.Ze * i6.Ve, f2 = t5.Ve * i6.qb + t5.We * i6.bb + t5.Ze * i6.We, c2 = t5.Ve * i6.pf + t5.We * i6.Ye + t5.Ze * i6.Ze, l2 = t5.Lb * i6.eb + t5.Qb * i6.jb + t5.Cg * i6.Ve + i6.Lb, p2 = t5.Lb * i6.qb + t5.Qb * i6.bb + t5.Cg * i6.We + i6.Qb; t5 = t5.Lb * i6.pf + t5.Qb * i6.Ye + t5.Cg * i6.Ze + i6.Cg, s4.eb = n4, s4.qb = h2, s4.pf = r2, s4.jb = e2, s4.bb = o2, s4.Ye = a2, s4.Ve = u2, s4.We = f2, s4.Ze = c2, s4.Lb = l2, s4.Qb = p2, s4.Cg = t5; }, i5.inverse = function(i6, s4) { var n4 = i6.eb * (i6.bb * i6.Ze - i6.Ye * i6.We) - i6.qb * (i6.jb * i6.Ze - i6.Ye * i6.Ve) + i6.pf * (i6.jb * i6.We - i6.bb * i6.Ve); if (n4 == 0) throw t4.i.ga("math singularity"); var h2 = 1 / n4; n4 = (i6.bb * i6.Ze - i6.Ye * i6.We) * h2; var r2 = -(i6.jb * i6.Ze - i6.Ye * i6.Ve) * h2, e2 = (i6.jb * i6.We - i6.bb * i6.Ve) * h2, o2 = -(i6.qb * i6.Ze - i6.We * i6.pf) * h2, a2 = (i6.eb * i6.Ze - i6.pf * i6.Ve) * h2, u2 = -(i6.eb * i6.We - i6.qb * i6.Ve) * h2, f2 = (i6.qb * i6.Ye - i6.pf * i6.bb) * h2, c2 = -(i6.eb * i6.Ye - i6.pf * i6.jb) * h2; h2 *= i6.eb * i6.bb - i6.qb * i6.jb; var l2 = -(i6.Lb * n4 + i6.Qb * r2 + i6.Cg * e2), p2 = -(i6.Lb * o2 + i6.Qb * a2 + i6.Cg * u2); i6 = -(i6.Lb * f2 + i6.Qb * c2 + i6.Cg * h2), s4.eb = n4, s4.qb = o2, s4.pf = f2, s4.jb = r2, s4.bb = a2, s4.Ye = c2, s4.Ve = e2, s4.We = u2, s4.Ze = h2, s4.Lb = l2, s4.Qb = p2, s4.Cg = i6; }, i5.prototype.Pf = function() { var t5 = new i5(); return t5.eb = this.eb, t5.qb = this.qb, t5.pf = this.pf, t5.jb = this.jb, t5.bb = this.bb, t5.Ye = this.Ye, t5.Ve = this.Ve, t5.We = this.We, t5.Ze = this.Ze, t5.Lb = this.Lb, t5.Qb = this.Qb, t5.Cg = this.Cg, t5; }, i5; }(); t4.BY = i4; }(V || (V = {})), function(t4) { var i4 = function(i5) { function n4(t5) { if (t5 !== void 0) t5 = i5.call(this, t5.dc(), t5) || this; else { (t5 = i5.call(this) || this).cg = [], t5.cg[0] = 0, t5.Ba = 1, t5.wh = []; for (var s5 = 0; 10 > s5; s5++) t5.wh[s5] = -1; t5.wh[t5.cg[0]] = 0; } return t5.lq = true, t5; } return Q(n4, i5), n4.prototype.se = function(t5) { this.hasAttribute(t5) || (this.wh[t5] = 0, this.dD()); }, n4.prototype.removeAttribute = function(i6) { if (i6 == 0) throw t4.i.O("Position attribue cannot be removed"); this.hasAttribute(i6) && (this.wh[i6] = -1, this.dD()); }, n4.prototype.reset = function() { this.cg[0] = 0, this.Ba = 1; for (var t5 = 0; t5 < this.wh.length; t5++) this.wh[t5] = -1; this.wh[this.cg[0]] = 0, this.lq = true; }, n4.prototype.yF = function() { return s4.fz().add(this); }, n4.og = function() { return s4.fz().TR(); }, n4.prototype.nM = function() { var i6 = this.dc(); return new t4.ua(i6, this); }, n4.prototype.dD = function() { for (var t5 = this.Ba = 0, i6 = 0; 10 > t5; t5++) 0 <= this.wh[t5] && (this.cg[i6] = t5, this.wh[t5] = i6, i6++, this.Ba++); this.lq = true; }, n4.prototype.dc = function() { return this.lq && (this.yl = this.Bn(), this.lq = false), this.yl; }, n4.prototype.Nb = function(t5) { if (t5 == null) return false; if (t5 == this) return true; if (!(t5 instanceof n4) || t5.Ba != this.Ba) return false; for (var i6 = 0; i6 < this.Ba; i6++) if (this.cg[i6] != t5.cg[i6]) return false; return this.lq == t5.lq; }, n4.prototype.AG = function(t5) { if (t5.Ba != this.Ba) return false; for (var i6 = 0; i6 < this.Ba; i6++) if (this.cg[i6] != t5.cg[i6]) return false; return true; }, n4.Kw = function(t5, i6) { for (var s5 = [], n5 = 0; n5 < t5.Ba; n5++) s5[n5] = -1; n5 = 0; for (var h2 = t5.Ba; n5 < h2; n5++) s5[n5] = i6.Qf(t5.qd(n5)); return s5; }, n4.vR = function(t5, i6) { return (t5 = new n4(t5)).se(i6), t5.yF(); }, n4.wR = function(t5, i6) { for (var s5 = null, h2 = 0; 10 > h2; h2++) !t5.hasAttribute(h2) && i6.hasAttribute(h2) && (s5 == null && (s5 = new n4(t5)), s5.se(h2)); return s5 != null ? s5.yF() : t5; }, n4; }(t4.ua); t4.ee = i4; var s4 = function() { function t5() { this.map = []; var t6 = new i4(); this.add(t6), (t6 = new i4()).se(1), this.add(t6); } return t5.fz = function() { return t5.WK; }, t5.prototype.TR = function() { return t5.gt; }, t5.prototype.add = function(i5) { var s5 = i5.dc(); if (t5.gt != null && t5.gt.dc() == s5 && i5.AG(t5.gt)) return t5.gt; if (t5.Fw != null && t5.Fw.dc() == s5 && i5.AG(t5.Fw)) return t5.Fw; var n4 = null; return this.map[s5] !== void 0 && (n4 = this.map[s5]), n4 == null && ((n4 = i5.nM()).Ba == 1 ? t5.gt = n4 : n4.Ba == 2 && n4.qd(1) == 1 ? t5.Fw = n4 : this.map[s5] = n4), n4; }, t5.WK = new t5(), t5; }(); }(V || (V = {})); var st = { feet: 9002, kilometers: 9036, meters: 9001, miles: 9035, "nautical-miles": 9030, yards: 9096 }, nt = { acres: 109402, ares: 109463, hectares: 109401, "square-feet": 109405, "square-kilometers": 109414, "square-meters": 109404, "square-miles": 109413, "square-yards": 109442 }, ht = new (function() { function t4() { this.LM = 50, this.op = new Map(), this.ij = []; } return t4.prototype.clear = function() { this.ij.length = 0, this.op.clear(); }, t4.prototype.delete = function(t5) { return !!this.op.delete(t5) && (this.ij.splice(this.ij.indexOf(t5), 1), true); }, t4.prototype.get = function(t5) { var i4 = this.op.get(t5); if (i4 !== void 0) return this.ij[0] !== t5 && (this.ij.splice(this.ij.indexOf(t5), 1), this.ij.unshift(t5)), i4; }, t4.prototype.has = function(t5) { return this.op.has(t5); }, t4.prototype.set = function(t5, i4) { return this.get(t5) !== void 0 && this.delete(t5), this.ij.unshift(t5), this.op.set(t5, i4), this.iM(), this; }, t4.prototype.iM = function() { for (; this.ij.length && this.ij.length > this.LM; ) { var t5 = this.ij.pop(); this.op.delete(t5); } }, t4; }())(), rt = ((W = {}).convertJSONToGeometry = function(t4) { return V.bc.$O(t4); }, W.hasM = function(t4) { return t4.hasAttribute(V.Kh.M); }, W.hasZ = function(t4) { return t4.hasAttribute(V.Kh.Z); }, W.getPointX = function(t4) { return t4.Ng(); }, W.getPointY = function(t4) { return t4.kh(); }, W.getPointZ = function(t4) { return t4.VR(); }, W.getPointM = function(t4) { return t4.tR(); }, W.getXMin = function(t4) { return t4.gs(); }, W.getYMin = function(t4) { return t4.js(); }, W.getXMax = function(t4) { return t4.fs(); }, W.getYMax = function(t4) { return t4.hs(); }, W.getZExtent = function(t4) { return t4.Vg(V.Kh.Z, 0); }, W.getMExtent = function(t4) { return t4.Vg(V.Kh.M, 0); }, W.exportPaths = function(t4) { var i4 = [], s4 = t4.ea(), n4 = null, h2 = null, r2 = t4.hasAttribute(V.Kh.Z), e2 = t4.hasAttribute(V.Kh.M); r2 && (n4 = t4.vb(V.Kh.Z)), e2 && (h2 = t4.vb(V.Kh.M)); for (var o2 = new V.h(), a2 = 0; a2 < s4; a2++) { for (var u2 = t4.Ca(a2), f2 = t4.Ka(a2), c2 = 0, l2 = 0, p2 = NaN, v2 = NaN, y2 = NaN, b2 = NaN, d2 = t4.ec(a2), g2 = [], w2 = u2; w2 < u2 + f2; w2++) { t4.D(w2, o2), b2 = y2 = NaN; var x2 = [o2.x, o2.y]; r2 && (y2 = n4.get(w2), x2.push(y2)), e2 && (b2 = h2.get(w2), x2.push(b2)), w2 == u2 && d2 && (c2 = o2.x, l2 = o2.y, p2 = y2, v2 = b2), g2.push(x2); } !d2 || c2 == o2.x && l2 == o2.y && (!r2 || isNaN(p2) && isNaN(y2) || p2 == y2) && (!e2 || isNaN(v2) && isNaN(b2) || v2 == b2) || g2.push(g2[0].slice(0)), i4.push(g2); } return i4; }, W.exportPathsFlat = function() { }, W.exportPoints = function(t4) { var i4 = t4.hasAttribute(V.Kh.Z), s4 = t4.hasAttribute(V.Kh.M), n4 = null, h2 = null; i4 && (n4 = t4.vb(V.Kh.Z)), s4 && (h2 = t4.vb(V.Kh.M)); for (var r2 = new V.h(), e2 = t4.I(), o2 = [], a2 = 0; a2 < e2; a2++) { t4.D(a2, r2); var u2 = [r2.x, r2.y]; i4 && u2.push(n4.get(a2)), s4 && u2.push(h2.get(a2)), o2.push(u2); } return o2; }, W.exportPointsFlat = function() { }, W); return function() { function t4() { } return t4.buffer = I, t4.clip = a, t4.contains = f, t4.convexHull = j, t4.crosses = c, t4.cut = u, t4.densify = F, t4.difference = k, t4.disjoint = d, t4.distance = l, t4.equals = p, t4.extendedSpatialReferenceInfo = o, t4.generalize = G, t4.geodesicArea = O, t4.geodesicBuffer = P, t4.geodesicDensify = E, t4.geodesicLength = H, t4.intersect = z, t4.intersects = v, t4.isSimple = x, t4.nearestCoordinate = B, t4.nearestVertex = D, t4.nearestVertices = q, t4.offset = N, t4.overlaps = g, t4.planarArea = T, t4.planarLength = S, t4.relate = w, t4.simplify = m, t4.symmetricDifference = M, t4.touches = y, t4.union = A, t4.within = b, t4.rotate = V.Dx.rotate, t4.flipHorizontal = V.Dx.DQ, t4.flipVertical = V.Dx.EQ, t4.ExtendedParams = V.sC, t4._enableProjection = J, t4._project = K, t4._getTransformation = R, t4._getTransformationBySuitability = L, t4; }(); } var n2 = s2(); n2 !== void 0 && (t2.exports = n2); }(i); var s = i.exports; var n = t({ __proto__: null, default: s }, [i.exports]); export { s, n }; //# sourceMappingURL=chunk-TSN7NGNU.js.map