{ "pandav:/dist/transform-control.es.js": { "cubeCode": "Cube(\"pandav:/npm/@maptalks/transform-control/0.105.6/dist/transform-control.es\", [\"pandav:/npm/@maptalks/gl/0.108.1\", \"pandav:/npm/maptalks/1.2.1\", \"pandav:/npm/@maptalks/gl/0.108.1tf-layer\"], function (module, exports, require, load, process, global) {\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true });\n\n exports.TransformControl = void 0;\n var _gl = require('pandav:/npm/@maptalks/gl/0.108.1');\n var _maptalks = _interopRequireWildcard(require('pandav:/npm/maptalks/1.2.1'));\n var n = _maptalks;\n var _gltfLayer = require('pandav:/npm/@maptalks/gl/0.108.1tf-layer');\n function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {return e ? t : r;})(e);}\n function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}\n function _callSuper(t, o, e) {return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));}\n function _possibleConstructorReturn(t, e) {if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");return _assertThisInitialized(t);}\n function _assertThisInitialized(e) {if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e;}\n function _isNativeReflectConstruct() {try {var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));} catch (t) {}return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {return !!t;})();}\n function _getPrototypeOf(t) {return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {return t.__proto__ || Object.getPrototypeOf(t);}, _getPrototypeOf(t);}\n function _inherits(t, e) {if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e);}\n function _setPrototypeOf(t, e) {return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {return t.__proto__ = e, t;}, _setPrototypeOf(t, e);}\n function _toConsumableArray(r) {return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();}\n function _nonIterableSpread() {throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");}\n function _unsupportedIterableToArray(r, a) {if (r) {if (\"string\" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}\n function _iterableToArray(r) {if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);}\n function _arrayWithoutHoles(r) {if (Array.isArray(r)) return _arrayLikeToArray(r);}\n function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}\n function _typeof(o) {\"@babel/helpers - typeof\";return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;}, _typeof(o);}\n function _readOnlyError(r) {throw new TypeError('\"' + r + '\" is read-only');}\n function _classCallCheck(a, n) {if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");}\n function _defineProperties(e, r) {for (var t = 0; t < r.length; t++) {var o = r[t];o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);}}\n function _createClass(e, r, t) {return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e;}\n function _toPropertyKey(t) {var i = _toPrimitive(t, \"string\");return \"symbol\" == _typeof(i) ? i : i + \"\";}\n function _toPrimitive(t, r) {if (\"object\" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || \"default\");if (\"object\" != _typeof(i)) return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\");}return (\"string\" === r ? String : Number)(t);}\n var c = {\n yuanhuan: {\n accessors: [{\n name: \"����С��_1_0_positions\",\n componentType: 5126,\n count: 104,\n min: [-5.407599925994873, -5.404099941253662, 0],\n max: [5.405200004577637, 5.406300067901611, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"����С��_1_0_normals\",\n componentType: 5126,\n count: 104,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"����С��_1_0_indices\",\n componentType: 5123,\n count: 288,\n min: [0],\n max: [103],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"缩放圈-新\",\n byteLength: 3072,\n uri: \"data:application/octet-stream;base64,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AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAACAAMABAAFAAYABAAGAAcAAwACAAgAAwAIAAkACgALAAwACgAMAA0ADQAMAA4ADQAOAA8ADwAOABAADwAQABEAEgATABQAEgAUABUAFgAXABgAFgAYABkAGgAbABwAGgAcAB0AHgALAAoAHwALAB4AHwAgAAsAIQAgAB8AIgAjACAAIgAgACEAJAAlACYAJAAmACcAJwAmACgAJwAoACkAKgArACwAKgAsAC0ALgAvADAALgAwADEAGQAYADIAGQAyADMANAA1ABsANAAbABoAFQAUADYAFQA2ADcAOAA5ADoAOAA6ADsAPAA9AD4APAA/AD0AQAA/ADwAQABBAD8AQgBBAEAAQgBAAEMARABFAEYARABGAEcARABHAEgARgBJAEcARgBKAEkASwBKAEYASwBMAEoASwBNAEwACQAIAC8ACQAvAC4ALQAsADkALQA5ADgAOwA6AE4AOwBOAE8ATwBOAE0ATwBNAEsAKQAoACsAKQArACoANwA2AFAANwBQAFEAUQBQAFIAUQBSAFMAUwBSAFQAUwBUAFUAVgBXAFgAVgBYAFkAVgBZAFoAWwBZAFgAXABZAFsAXABdAFkAXgBdAFwAXwBdAF4APAA+AGAAPABgAGEAMQAwABcAMQAXABYAYgBjADUAYgA1ADQAYQBgAGMAYQBjAGIAMwAyAF0AMwBdAF8AHQAcAGQAHQBkAGUAZQBkAAUAZQAFAAQAZgBnAAcAZgAHAAYAEQAQABMAEQATABIA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 1248,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 1248,\n byteOffset: 1248,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 576,\n byteOffset: 2496,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat_001\",\n pbrMetallicRoughness: {\n baseColorFactor: [.5, .5, .5, 1],\n metallicFactor: 0,\n roughnessFactor: 1 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"����С��_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"����С��\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n yuanhuan41: {\n accessors: [{\n name: \"Բ��_1_0_positions\",\n componentType: 5126,\n count: 39,\n min: [0, 0, 0],\n max: [5.489999771118164, 0, 5.488900184631348],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Բ��_1_0_normals\",\n componentType: 5126,\n count: 39,\n min: [0, -.999939501285553, -1],\n max: [.13969914615154266, 1, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Բ��_1_0_indices\",\n componentType: 5123,\n count: 105,\n min: [0],\n max: [38],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"yh41\",\n byteLength: 1148,\n uri: \"data:application/octet-stream;base64,8tKXQAAAAACoNU09FK6vQAAAAAB1Ako/FK6vQAAAAAAAAACATfOAQAAAAAACmkg+K4dWQAAAAAAIrNw+WvUtQAAAAABbsT8/X5gIQAAAAACMSpI/OUWbQAAAAAD0/VQ/LbKHQAAAAAD0/XQ/W0JqQAAAAAC6SZQ/dLXNPwAAAACfq80/H4VHQAAAAAB0JLc/ZognQAAAAAA1XuI/YVSSPwAAAAAukAhABaMKQAAAAAB4nApABcU/PwAAAACF6y1Aw2TiPwAAAACRfidASS63PwAAAABKe0dAJLncPgAAAACze1ZAj1OUPwAAAADjNmpAAppIPgAAAADu64BAnRF1PwAAAAD8qYdAqDVNPQAAAADBypdAgQRVPwAAAAAIPZtAAAAAAAAAAAASpa9AAwlKPwAAAAASpa9AJJd/PAAAAAASpa9AAwlKPwAAAAASpa9AAAAAAAAAAAASpa9Asp1vPQAAAAASpa9AJLn8PQAAAAASpa9AqoJRPgAAAAASpa9ARwOYPgAAAAASpa9AHhbKPgAAAAASpa9A2hv8PgAAAAASpa9A5q4VPwAAAAASpa9A+n4qPwAAAAASpa9AQxw7PwAAAAASpa9AwhdGPwAAAAASpa9AAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAJ5X/OwL+fz8AAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/Kzs0PAn8f78AAACApLK/PA7uf78AAACAeJkZPefRfz8AAACA+ZldPQSgf78AAACA6XSTPelVfz8AAACALLO3PdT3fr8AAACAfkjZPR2Ofr8AAACANf32Paohfj8AAACAeUYHPqDBfT8AAACASw0PPlt9fb8AAACAAAABAAIAAwABAAAABAABAAMABQABAAQABgAHAAUABwABAAUABgAIAAcABgAJAAgACgAJAAYACgALAAkACgAMAAsADQAMAAoADQAOAAwADwAOAA0ADwAQAA4ADwARABAAEgARAA8AEgATABEAFAATABIAFAAVABMAFgAVABQAFgAXABUAGAAXABYAGAAZABcAGgAbABwAHQAbABoAHgAbAB0AHwAbAB4AIAAbAB8AIQAbACAAIgAbACEAIwAbACIAJAAbACMAJQAbACQAJgAbACUAAAA=\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 468,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 468,\n byteOffset: 468,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 212,\n byteOffset: 936,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat_002\",\n pbrMetallicRoughness: {\n baseColorFactor: [.588, .588, .588, 1],\n metallicFactor: 0,\n roughnessFactor: .99 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Բ��_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Բ��\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n yuanhuan411: {\n accessors: [{\n name: \"����СȦ_1_0_positions\",\n componentType: 5126,\n count: 28,\n min: [.026000000536441803, -4.6834001541137695, 0],\n max: [4.696700096130371, -.014800000004470348, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"����СȦ_1_0_normals\",\n componentType: 5126,\n count: 28,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"����СȦ_1_0_indices\",\n componentType: 5123,\n count: 78,\n min: [0],\n max: [27],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"yuanhuan411\",\n byteLength: 828,\n uri: \"data:application/octet-stream;base64,ufwXQLN7Mr8AAAAAObRAQLFQK78AAAAA1ediQMWP8b4AAAAAGQQ6QCv2174AAAAAqFdeQHUCWr4AAAAA7FGCQL6fmr0AAAAAHHyDQDLmrr4AAAAAXkuWQJf/kL4AAAAAXkuWQLN7crwAAAAAMCrxP2RdhL8AAAAA/BgDQJeQn78AAAAADeARQAg9i78AAAAAukkIQISeXb8AAAAAZaogQH/Zbb8AAAAA7Q3ePr4wOcAAAAAA5IMuP9/gP8AAAAAAJQZxPwrXH8AAAAAAPZs1P6UsF8AAAAAAdy2hP0VHAsAAAAAAb/CFP5eQ778AAAAA0ES4P32utr8AAAAAAprQPyL9zr8AAAAAi/1lPqqCXcAAAAAA9dv3PtcSYsAAAAAADi2yPZvmgcAAAAAAYTK1PssQg8AAAAAA9P3UPGrelcAAAAAA4liXPmrelcAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAACAAMAAwACAAQABQAGAAcABQAHAAgABAACAAYABAAGAAUACQAKAAsACQALAAwAAAANAAEADgAPABAADgAQABEAEQAQABIAEQASABMAFAAVAAoAFAAKAAkADAALAA0ADAANAAAAFgAXAA8AFgAPAA4AGAAZABcAGAAXABYAGgAZABgAGgAbABkAEwASABUAEwAVABQA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 336,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 156,\n byteOffset: 672,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat\",\n pbrMetallicRoughness: {\n baseColorFactor: [.588, .588, .588, 1],\n metallicFactor: 0,\n roughnessFactor: .99 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"����СȦ_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"����СȦ\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n yuanpan: {\n accessors: [{\n name: \"Circle001_1_0_positions\",\n componentType: 5126,\n count: 28,\n min: [-1.9510999917984009, 0, -1.9510999917984009],\n max: [1.9510999917984009, 0, 1.9510999917984009],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Circle001_1_0_normals\",\n componentType: 5126,\n count: 28,\n min: [0, 1, 0],\n max: [0, 1, 0],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Circle001_1_0_indices\",\n componentType: 5123,\n count: 78,\n min: [0],\n max: [27],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"yuanpan\",\n byteLength: 828,\n uri: \"data:application/octet-stream;base64,S+rkvgAAAADRIvM/AAAAAAAAAAClvfk/S+rkPgAAAADRIvM/0SLzvwAAAABL6uQ+MlXgvwAAAACsi1s/c9fCvwAAAACvJZw/pb35vwAAAAAAAAAA0SLzvwAAAABL6uS+MlXgvwAAAACsi1u/c9fCvwAAAACvJZy/ryWcvwAAAABz18K/rItbvwAAAAAyVeC/S+rkvgAAAADRIvO/AAAAgAAAAAClvfm/S+rkPgAAAADRIvO/rItbPwAAAAAyVeC/ryWcPwAAAABz18K/c9fCPwAAAACvJZy/MlXgPwAAAACsi1u/0SLzPwAAAABL6uS+pb35PwAAAAAAAACA0SLzPwAAAABL6uQ+MlXgPwAAAACsi1s/c9fCPwAAAACvJZw/ryWcvwAAAABz18I/ryWcPwAAAABz18I/rItbvwAAAAAyVeA/rItbPwAAAAAyVeA/AAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAABAAIAAwAEAAUABgADAAUABwAGAAUACAAHAAUACQAIAAUACgAJAAUACwAKAAUADAALAAUADQAMAAUADgANAAUADwAOAAUAEAAPAAUAEQAQAAUAEgARAAUAEwASAAUAFAATAAUAFQAUAAUAFgAVAAUAFwAWAAUAFwAFABgAGQAXABgAGQAYABoAGwAZABoAAgAbABoAAAACABoA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 336,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 156,\n byteOffset: 672,\n target: 34963 }],\n\n materials: [{\n name: \"wire_008110135\",\n pbrMetallicRoughness: {\n baseColorFactor: [.0314, .4314, .5294, 1],\n metallicFactor: 0,\n roughnessFactor: .968 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Circle001_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Circle001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n zzhou: {\n accessors: [{\n name: \"Cube.001-Mesh_0_positions\",\n componentType: 5126,\n count: 45,\n min: [-.2711470127105713, -5.473427772521973, -.2711470127105713],\n max: [.2711470127105713, .46298399567604065, .2711470127105713],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Cube.001-Mesh_0_normals\",\n componentType: 5126,\n count: 45,\n min: [-1, -1, -1],\n max: [1, 1, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Cube.001-Mesh_0_texcoords\",\n componentType: 5126,\n count: 45,\n min: [.125, 0],\n max: [.875, 1],\n type: \"VEC2\",\n bufferView: 2,\n byteOffset: 0 },\n {\n name: \"Cube.001-Mesh_0_indices\",\n componentType: 5123,\n count: 72,\n min: [0],\n max: [44],\n type: \"SCALAR\",\n bufferView: 3,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"Z\",\n byteLength: 1584,\n uri: \"data:application/octet-stream;base64,/waNvZMdK77/Bo09/waNPZMdK77/Bo09/waNPR4Kr8D/Bo09l+KKPVImr8D/Bo09/waNvVImr8D/Bo09yNOKPsjTir7I04o+AAAAAD0M7T4AAAAAyNOKvsjTir7I04o+yNOKvsjTir7I04o+AAAAAD0M7T4AAAAAyNOKvsjTir7I04q+yNOKvsjTir7I04q+yNOKPsjTir7I04q+yNOKPsjTir7I04o+yNOKvsjTir7I04o+yNOKPsjTir7I04q+AAAAAD0M7T4AAAAAyNOKPsjTir7I04o+yNOKvsjTir7I04q+AAAAAD0M7T4AAAAAyNOKPsjTir7I04q+/waNPZMdK77/Bo09/waNPZMdK77/Bo29/waNPVImr8D/Bo29/waNPVImr8D/Bo09/waNPR4Kr8D/Bo09/waNvZMdK77/Bo09/waNvVImr8D/Bo09/waNvVImr8D/Bo29/waNvZMdK77/Bo29/waNvZMdK77/Bo29/waNvVImr8D/Bo29/waNPVImr8D/Bo29/waNPZMdK77/Bo29/waNPZMdK77/Bo09/waNvZMdK77/Bo09/waNvZMdK77/Bo29/waNPZMdK77/Bo29/waNvVImr8D/Bo09cooOO1Imr8BAMTI7/waNvVImr8D/Bo29/waNPVImr8D/Bo29/waNPVImr8D/Bo09l+KKPVImr8D/Bo09/waNPVImr8D/Bo09AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAFFmsT5wJHA/AAAAAFFmsT5wJHA/AAAAAFFmsT5wJHA/cCRwv1FmsT4AAAAAcCRwv1FmsT4AAAAAcCRwv1FmsT4AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAcCRwP1FmsT4AAAAAcCRwP1FmsT4AAAAAcCRwP1FmsT4AAAAAAAAAAFFmsT5wJHC/AAAAAFFmsT5wJHC/AAAAAFFmsT5wJHC/AACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAADAPgAAQD8AAMA+AACAP2L1Hz8AAIA/AAAgP3uDfz8AACA/AABAPwAAwD4AAIA+AAAgPwAAAAAAAMA+AAAAAAAAwD4AAIA/AAAgPwAAQD8AAMA+AABAPwAAAD4AAAA/AADAPgAAAD8AAMA+AACAPgAAAD4AAIA+AADAPgAAAD8AACA/AACAPgAAwD4AAIA+AADAPgAAQD8AACA/AAAAPwAAwD4AAAA/AADAPgAAAD8AAMA+AABAPwAAID8AAEA/AAAgPwAAAD9i9R8/AAAAPwAAwD4AAAA/AAAgPwAAAD8AACA/AACAPgAAwD4AAIA+AADAPgAAgD4AACA/AACAPgAAID8AAAAAAADAPgAAAAAAAAA+AAAAPwAAwD4AAAA/AADAPgAAgD4AAAA+AACAPgAAID8AAAA/vAJBP/mGwj4AACA/AACAPgAAYD8AAIA+AAAgPwAAgD97g18/AAAAPwAAYD8AAAA/AAABAAIAAgADAAQAAgAEAAAABQAGAAcACAAJAAoACwAMAA0ACwANAA4ADwAQABEAEgATABQAFQAWABcAFwAYABkAFwAZABUAGgAbABwAGgAcAB0AHgAfACAAHgAgACEAIgAjACQAIgAkACUAJgAnACgAKAAnACkAAwACACoAKQAnACsAKQArACwAJwAmACsA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 540,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 540,\n byteOffset: 540,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 360,\n byteOffset: 1080,\n byteStride: 8,\n target: 34962 },\n {\n name: \"bufferView_3\",\n buffer: 0,\n byteLength: 144,\n byteOffset: 1440,\n target: 34963 }],\n\n materials: [{\n name: \"Material.001\",\n pbrMetallicRoughness: {\n baseColorFactor: [.8, .8, .8, 1],\n metallicFactor: 0,\n roughnessFactor: .676000006 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Cube.001-Mesh\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1,\n TEXCOORD_0: 2 },\n\n indices: 3,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Cube.001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n jiantou: {\n accessors: [{\n name: \"��ͷ_1_0_positions\",\n componentType: 5126,\n count: 7,\n min: [-.47690001130104065, -.8044000267982483, 0],\n max: [.47780001163482666, 0, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"��ͷ_1_0_normals\",\n componentType: 5126,\n count: 7,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"��ͷ_1_0_indices\",\n componentType: 5123,\n count: 15,\n min: [0],\n max: [6],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"jiantou\",\n byteLength: 200,\n uri: \"data:application/octet-stream;base64,bxIDOintTb8AAAAAH/RsvsKGp74AAAAAPSz0vsKGp74AAAAANs17PsKGp74AAAAANKL0PsKGp74AAAAANs17PgAAAAAAAAAAH/RsvgAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAADAAEAAAAEAAMAAQAFAAYAAQADAAUAAAA=\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 84,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 84,\n byteOffset: 84,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 32,\n byteOffset: 168,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat_003\",\n pbrMetallicRoughness: {\n baseColorFactor: [.588, .588, .588, 1],\n metallicFactor: 0,\n roughnessFactor: .99 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"��ͷ_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"��ͷ\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n xuanzhuan: {\n accessors: [{\n name: \"��ת001_1_0_positions\",\n componentType: 5126,\n count: 369,\n min: [-6.572299957275391, -7.298999786376953, 0],\n max: [6.5742998123168945, 7.298299789428711, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"��ת001_1_0_normals\",\n componentType: 5126,\n count: 369,\n min: [0, -1, 0],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"��ת001_1_0_indices\",\n componentType: 5123,\n count: 1089,\n min: [0],\n max: [368],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"旋转-新\",\n byteLength: 11036,\n uri: \"data:application/octet-stream;base64,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AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAwABAAAAAwAEAAEAAwAFAAQAAwAGAAUAAwAHAAYAAwAIAAcAAwAJAAgAAwAKAAkAAwALAAoAAwAMAAsADQAMAAMADQAOAAwADQAPAA4ADQAQAA8ADQARABAADQASABEADQATABIADQAUABMADQAVABQADQAWABUADQAXABYADQAYABcADQAZABgADQAaABkADQAbABoAHAAbAA0AHAAdABsAHAAeAB0AHAAfAB4AHAAgAB8AHAAhACAAHAAiACEAHAAjACIAHAAkACMAHAAlACQAHAAmACUAHAAnACYAHAAoACcAHAApACgAHAAqACkAHAArACoAHAAsACsAHAAtACwAHAAuAC0AHAAvAC4AHAAwAC8AHAAxADAAHAAyADEAHAAzADIAHAA0ADMAHAA1ADQAHAA2ADUAHAA3ADYAHAA4ADcAHAA5ADgAHAA6ADkAHAA7ADoAHAA8ADsAHAA9ADwAHAA+AD0AHAA/AD4AHABAAD8AQABBAD8AQQBCAD8AQgBDAD8AHABAAEQAHABEAEUAHABGAEUARgBHAEUARgBIAEcARgBJAEgARgBKAEkARgBLAEoARgBMAEsAHABNAEYAHABOAE0AHABPAE4AHABQAE8AHABRAFAAHABSAFEAUgBTAFEAUgBUAFMAUgBVAFQAUgBWAFUAUgBXAFYAUgBYAFcAHABZAFIAHABaAFkAHABbAFoAHABcAFsAHABdAFwAHABeAF0AHABfAF4AHABgAF8AHABhAGAAHABiAGEAHABjAGIAHABjAGQAZABlAGMAZQBmAGMAHABnAGQAaABpAGoAawBpAGgAbABpAGsAbQBpAGwAbgBpAG0AbwBpAG4AcABpAG8AcQBpAHAAcgBpAHEAcwBpAHIAdABnABwAdAB1AGcAdAB2AHUAdwB4AHkAdwB5AHoAegB5AHsAegB7AHwAfAB7AH0AfAB9AH4AfgB9AH8AfgB/AIAAgQCCAIMAgQCDAIQAhACDAIUAhACFAIYAhgCFAIcAhgCHAIgAiACHAIkAiACJAIoAiwCMAI0AiwCNAI4AjwCKAJAAigCJAJAAkQCSAJMAkQCTAJQAlACTAJUAlACVAJYAlgCVAJcAlgCXAJgAgAB/AIIAgACCAIEAmACXAJkAmACZAJoAmgCZAJsAmgCbAJwAnACbAJ0AnACdAJ4AngCdAHYAngB2AHQAnwB4AHcAoAB4AJ8AoAChAHgAogChAKAAowCkAKUAowCmAKQAowCnAKYAowCoAKcAowCpAKgAowCqAKkAowCrAKoAowCsAKsAowCtAKwAowCuAK0AowCvAK4AowCiAK8AowChAKIAsAChAKMAsQChALAAsgChALEAswChALIAtAChALMAtQChALQAtgChALUAtwChALYAuAChALcAuQChALgAugChALkAuwChALoAvAChALsAvQChALwAvgChAL0AvwChAL4AwAChAL8AwQChAMAAwgChAMEAwwChAMIAxAChAMMAxQChAMQAxgChAMUAxwChAMYAyAChAMcAyQChAMgAygChAMkAywChAMoAzAChAMsAzQChAMwAzgChAM0AzwChAM4A0AChAM8A0QChANAA0gChANEA0wChANIA1AChANMA1QChANQA1gChANUA1wChANYA2AChANcA2QChANgA2gChANkA2wChANoA3AChANsA3QChANwA3gChAN0A3wChAN4A4AChAN8A4QChAOAA4gChAOEA4wChAOIA5AChAOMA5QChAOQA5gChAOUA5wChAOYA6AChAOcA6QChAOgA6gChAOkA6wChAOoA7AChAOsA7QChAOwA7gChAO0A7wChAO4A8AChAO8A8QChAO8A8gChAPEA8wChAPIA9AChAPMA9QChAPQA9gChAPUA9gD3AKEA+AD3APYA+QD3APgA+gD3APkA+wD3APoA/AD3APsA/QD3APwA/gD3AP0A/wD3AP4AAAH3AP8AAQH3AAABAgH3AAEBAwH3AAIBBAH3AAMBBQH3AAQBBgH3AAUBBgEHAfcACAEHAQYBCQEHAQgBCgEHAQkBCwEHAQoBDAEHAQsBDQEHAQwBDgEHAQ0BDwEHAQ4BEAEHAQ8BEQESARMBFAESAREBFAEVARIBFgEVARQBFgEXARUBGAEXARYBGAEZARcBGgEbARgBGwEcARgBHAEZARgBHAEdARkBHQEeARkBHwEeAR0BGgEgARsBIQEeAR8BGgEiASABIwEiARoBIQEkAR4BJQEkASEBIwEmASIBJwEkASUBIwEoASYBKQEoASMBJwEqASQBKwEqAScBKQEsASgBLQEsASkBKwEuASoBLwEuASsBLQEwASwBMQEuAS8BLQEyATABjgCNADMBjgAzATQBNQE2ATcBNQE3ATgBOAE3ATkBOAE5AToBOwE8AT0BOwE9AT4BPwFAAUEBPwFBAUIBPgE9AUMBPgFDAUQBRQFGAUABRQFAAT8BRwFIAZIARwGSAJEASQFKAUYBSQFGAUUBRAFDAUsBRAFLAUwBOgE5AUoBOgFKAUkBTAFLAU0BTAFNAU4BTgFNAU8BTgFPAVABQgFBAVEBQgFRAVIBUgFRAS4BUgEuATEBNAEzATwBNAE8ATsBUwFUATYBUwE2ATUBUAFPATIBUAEyAS0BiwBVAYwAVgFUAVMBiwBXAVUBWAFUAVYBWAFZAVQBWgFXAYsAWgFbAVcBXAFZAVgBXAFdAVkBXgFbAVoBXgFfAVsBYAFdAVwBXgFhAV8BYgFdAWABYgFjAV0BZAFhAV4BZAFlAWEBZgFjAWIBZAFnAWUBZwFjAWYBZAFjAWcBZAFoAWMBaQFoAWQBaQFqAWgBawFqAWkBawFsAWoBbQFsAWsBbQFuAWwBbwFwAUgBbwFIAUcBAAA=\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 4428,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 4428,\n byteOffset: 4428,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 2180,\n byteOffset: 8856,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat\",\n pbrMetallicRoughness: {\n baseColorFactor: [.5, .5, .5, 1],\n metallicFactor: 0,\n roughnessFactor: 1 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"��ת001_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"��ת001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n plane: {\n accessors: [{\n name: \"Rectangle001_1_0_positions\",\n componentType: 5126,\n count: 4,\n min: [-5, -5, 0],\n max: [5, 5, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Rectangle001_1_0_normals\",\n componentType: 5126,\n count: 4,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Rectangle001_1_0_indices\",\n componentType: 5123,\n count: 6,\n min: [0],\n max: [3],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"plane\",\n byteLength: 108,\n uri: \"data:application/octet-stream;base64,AACgQAAAoEAAAAAAAACgwAAAoEAAAAAAAACgwAAAoMAAAAAAAACgQAAAoMAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAgADAAAA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 48,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 48,\n byteOffset: 48,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 12,\n byteOffset: 96,\n target: 34963 }],\n\n materials: [{\n name: \"wire_225198087\",\n pbrMetallicRoughness: {\n baseColorFactor: [.8824, .7765, .3412, 1],\n metallicFactor: 0,\n roughnessFactor: .968 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Rectangle001_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Rectangle001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n xyzScale: {\n asset: {\n generator: \"Khronos glTF Blender I/O v1.6.16\",\n version: \"2.0\" },\n\n scene: 0,\n scenes: [{\n name: \"Scene\",\n nodes: [0, 1, 2, 3, 4, 5, 6] }],\n\n nodes: [{\n mesh: 0,\n name: \"Cube\",\n scale: [.7008190751075745, .014999999664723873, .014999999664723873] },\n {\n mesh: 1,\n name: \"Cube.001\",\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] },\n {\n mesh: 2,\n name: \"Cube.004\",\n rotation: [0, -.7071068286895752, 0, .7071068286895752],\n scale: [.7008190751075745, .014999999664723873, .014999999664723873] },\n {\n mesh: 3,\n name: \"Cube.003\",\n rotation: [0, -.7071068286895752, 0, .7071068286895752],\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] },\n {\n mesh: 4,\n name: \"Cube.006\",\n rotation: [0, 0, .7071068286895752, .7071068286895752],\n scale: [.7008190751075745, .014999999664723873, .014999999664723873] },\n {\n mesh: 5,\n name: \"Cube.005\",\n rotation: [0, 0, .7071068286895752, .7071068286895752],\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] },\n {\n mesh: 6,\n name: \"Cube.002\",\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] }],\n\n materials: [{\n doubleSided: !0,\n name: \"Material\",\n pbrMetallicRoughness: {\n baseColorFactor: [.6938720345497131, .020288480445742607, .011612260714173317, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.001\",\n pbrMetallicRoughness: {\n baseColorFactor: [.6938720345497131, .020288480445742607, .011612260714173317, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.002\",\n pbrMetallicRoughness: {\n baseColorFactor: [.626582869887352, .626582869887352, .626582869887352, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.006\",\n pbrMetallicRoughness: {\n baseColorFactor: [.11193240433931351, .5583405494689941, .033104799687862396, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.005\",\n pbrMetallicRoughness: {\n baseColorFactor: [.11193240433931351, .5583405494689941, .033104799687862396, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.010\",\n pbrMetallicRoughness: {\n baseColorFactor: [.004391402006149292, .21223078668117523, .5209956169128418, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.009\",\n pbrMetallicRoughness: {\n baseColorFactor: [.004391402006149292, .21223078668117523, .5209956169128418, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } }],\n\n\n meshes: [{\n name: \"Cube\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1,\n TEXCOORD_0: 2 },\n\n indices: 3,\n material: 0 }] },\n\n {\n name: \"Cube.001\",\n primitives: [{\n attributes: {\n POSITION: 4,\n NORMAL: 5,\n TEXCOORD_0: 6 },\n\n indices: 3,\n material: 1 }] },\n\n {\n name: \"Cube.006\",\n primitives: [{\n attributes: {\n POSITION: 10,\n NORMAL: 11,\n TEXCOORD_0: 12 },\n\n indices: 3,\n material: 3 }] },\n\n {\n name: \"Cube.005\",\n primitives: [{\n attributes: {\n POSITION: 13,\n NORMAL: 14,\n TEXCOORD_0: 15 },\n\n indices: 3,\n material: 4 }] },\n\n {\n name: \"Cube.010\",\n primitives: [{\n attributes: {\n POSITION: 16,\n NORMAL: 17,\n TEXCOORD_0: 18 },\n\n indices: 3,\n material: 5 }] },\n\n {\n name: \"Cube.009\",\n primitives: [{\n attributes: {\n POSITION: 19,\n NORMAL: 20,\n TEXCOORD_0: 21 },\n\n indices: 3,\n material: 6 }] },\n\n {\n name: \"Cube.002\",\n primitives: [{\n attributes: {\n POSITION: 7,\n NORMAL: 8,\n TEXCOORD_0: 9 },\n\n indices: 3,\n material: 2 }] }],\n\n\n accessors: [{\n bufferView: 0,\n componentType: 5126,\n count: 24,\n max: [2.0003609657287598, 1, 1],\n min: [.0003610849380493164, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 1,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 2,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 3,\n componentType: 5123,\n count: 36,\n type: \"SCALAR\" },\n {\n bufferView: 4,\n componentType: 5126,\n count: 24,\n max: [14.549108505249023, 1, 1],\n min: [12.549108505249023, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 5,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 6,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 7,\n componentType: 5126,\n count: 24,\n max: [1, 1, 1],\n min: [-1, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 8,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 9,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 10,\n componentType: 5126,\n count: 24,\n max: [2.0003609657287598, 1, 1],\n min: [.0003610849380493164, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 11,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 12,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 13,\n componentType: 5126,\n count: 24,\n max: [14.549108505249023, 1, 1],\n min: [12.549108505249023, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 14,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 15,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 16,\n componentType: 5126,\n count: 24,\n max: [2.0003609657287598, 1, 1],\n min: [.0003610849380493164, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 17,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 18,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 19,\n componentType: 5126,\n count: 24,\n max: [14.549108505249023, 1, 1],\n min: [12.549108505249023, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 20,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 21,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" }],\n\n bufferViews: [{\n buffer: 0,\n byteLength: 288,\n byteOffset: 0 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 288 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 576 },\n {\n buffer: 0,\n byteLength: 72,\n byteOffset: 768 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 840 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 1128 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 1416 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 1608 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 1896 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 2184 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 2376 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 2664 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 2952 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 3144 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 3432 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 3720 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 3912 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 4200 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 4488 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 4680 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 4968 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 5256 }],\n\n buffers: [{\n byteLength: 5448,\n uri: \"data:application/octet-stream;base64,6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAQAOABQAAQAUAAcACgAGABMACgATABcAFQASAAwAFQAMAA8AEAADAAkAEAAJABYABQACAAgABQAIAAsAEQANAAAAEQAAAAQAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA\" }] } },\n\n\n\n Q = function Q() {\n if (\"undefined\" != typeof globalThis) return globalThis;\n if (\"undefined\" != typeof self) return self;\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof global) return global;\n throw new Error(\"unable to locate global object\");\n },\n f = Q(),\n l = f.gl_trans__coders = f.gl_trans__coders || {};\n l.inject = function (A) {\n var e = A.toString(),\n t = e.indexOf(\"{\") + 1,\n s = e.substring(0, t),\n i = f.gl_trans__coders = f.gl_trans__coders || {};\n var n = \"\".concat(s, \"\\n const _____getGlobal = \").concat(Q.toString(), \";\\n const g___lobals = _____getGlobal()\\n const tran_____scoders = g___lobals['gl_trans__coders'] = g___lobals['gl_trans__coders'] || {};\");\n for (var _A in i) \"inject\" !== _A && \"getTranscoder\" !== _A && \"registerTranscoder\" !== _A && (n += 'tran_____scoders[\"' + _A + '\"] =' + i[_A].toString() + \"\\n;\");\n return n += \"\\n(\" + Q().maptalks_gltf_loader_bundle.toString() + \")({});\\n\", n += \"\\n\" + e.substring(s.length), n;\n }, l.registerTranscoder = function (A, e) {\n l[A] = e;\n }, l.getTranscoder = function (A) {\n return l[A];\n };\n var P = Q().maptalks_gltf_loader;\n function D(s, i, n, I, o, g) {\n var r = [],\n a = _gl.quat.fromEuler([], n[0], n[1], n[2]),\n C = _gl.mat4.fromRotationTranslationScale([], a, i, I),\n h = function (A) {\n return new P.GLTFLoader(\"\", JSON.parse(JSON.stringify(c[A]))).load().then(function (A) {\n return A;\n });\n }(s);\n return h.then(function (A) {\n _gl.reshader.GLTFHelper.exportGLTFPack(A).getMeshesInfo().forEach(function (A, s) {\n var a = new _gl.reshader.Material({\n color: o || A.materialInfo.baseColorFactor }),\n\n h = new _gl.reshader.Mesh(A.geometry, a);\n h.setUniform(\"uPickingId\", g + s);\n var w = h.getDefines();\n w.HAS_PICKING_ID = 2, h.setDefines(w), h.translate = i, h.rotation = n, h.scaling = I, _gl.mat4.multiply(h.localTransform, C, A.nodeMatrix), h.originTransform = _gl.mat4.copy([], h.localTransform), h.originColor = o || A.materialInfo.baseColorFactor, r.push(h);\n }), g > 100 && (r[0].properties.relatedMeshes = r.slice(1, 2), r[1].properties.relatedMeshes = r.slice(0, 1), r[2].properties.relatedMeshes = r.slice(3, 4), r[3].properties.relatedMeshes = r.slice(2, 3), r[4].properties.relatedMeshes = r.slice(5, 6), r[5].properties.relatedMeshes = r.slice(4, 5), r[6].properties.relatedMeshes = r.slice(0, 6));\n }), r;\n }\n function u(A, e) {\n return Math.abs(A) * Math.sign(e);\n }\n function m(A, e) {\n var t = A.getCoordinates(),\n i = e.coordinateToPointAtRes(t, e.getGLRes()),\n I = [i.x, i.y, 0],\n o = b(e, A.getTranslation());\n _gl.vec3.add(I, I, o);\n var g = function (A, e, t, s) {\n return A._pointAtResToContainerPoint(e, t, s);\n }(e, new n.Point(I[0], I[1]), e.getGLRes());\n g.x += 85;\n var r = function (A, e, t, s) {\n {\n var _s = A.containerPointToCoordinate(e);\n return A.coordinateToPointAtRes(_s, t);\n }\n }(e, g, e.getGLRes());\n return Math.sqrt(Math.pow(r.x - I[0], 2) + Math.pow(r.y - I[1], 2)) / 5.272881136101205;\n }\n function b(A, e) {\n if (!A) return e;\n var t = A.distanceToPointAtRes(e[0], e[1], A.getGLRes()),\n i = A.altitudeToPoint(e[2], A.getGLRes());\n return _gl.vec3.set([], u(t.x, e[0]), u(t.y, e[1]), u(i, e[2]));\n }\n var B = function () {\n function B(A) {\n _classCallCheck(this, B);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(B, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = 340 / 177,\n t = D(\"jiantou\", [1.2 * e, 0, 0], [0, 0, 90], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 7),\n s = D(\"jiantou\", [0, 1.2 * e, 0], [0, 0, 180], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 8),\n i = D(\"jiantou\", [-1.2 * e, 0, 0], [0, 0, 270], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 9),\n n = D(\"jiantou\", [0, -1.2 * e, 0], [0, 0, 0], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 10);\n return A.push(t, s, i, n), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var y = function () {\n function y(A) {\n _classCallCheck(this, y);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(y, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = 340 / 177,\n t = D(\"xuanzhuan\", [0, 0, 0], [180, 0, 0], [.5 * e, .5 * e, .5 * e], [50 / 255, 130 / 255, 184 / 255, .8], 11);\n return A.push(t), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var p = function () {\n function p(A) {\n _classCallCheck(this, p);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(p, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = 340 / 177,\n t = D(\"yuanhuan\", [0, 0, 0], [0, 0, 0], [.5 * e, .5 * e, .5 * e], [149 / 255, 179 / 255, 199 / 255, .5], 12);\n return A.push(t), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var v = function () {\n function v(A) {\n _classCallCheck(this, v);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(v, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = D(\"plane\", [0, 0, 0], [0, 0, 0], [10, 10, 10], [1, 0, 0, .5], 16);\n return A.push(e), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var d = function () {\n function d(A) {\n _classCallCheck(this, d);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(d, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = D(\"xyzScale\", [0, 0, 0], [0, 0, 0], [2, 2, 2], null, 113);\n return A.push(e), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var L = [],\n M = [],\n E = [],\n O = [],\n F = [],\n x = [177 / 170, 177 / 170, 177 / 170],\n U = [],\n V = [1, 2, 3, 4, 12];\n var S = function () {\n function S() {\n _classCallCheck(this, S);\n this.translate = new B(), this.rotation = new y(), this.scaling = new p(), this.planeHelper = new v(), this.xyzScaleHelper = new d(), this._meshes = this.t(), this.i = !0;\n }\n return _createClass(S, [{\n key: \"t\",\n value: function t() {\n var A = {};\n A.translate = this.translate.getMeshes(), A.rotation = this.rotation.getMeshes(), A.scaling = this.scaling.getMeshes(), A.planeHelper = this.planeHelper.getMeshes(), A.xyzScale = this.xyzScaleHelper.getMeshes();\n var e = 340 / 177,\n t = D(\"yuanhuan41\", [-2.745 * e, 2.745 * e, 0], [90, 0, 0], [.5 * e, .5 * e, .5 * e], [149 / 255, 179 / 255, 199 / 255, .6], 1),\n s = D(\"yuanhuan41\", [2.745 * e, 2.745 * e, 0], [-90, 0, 180], [.5 * e, .5 * e, .5 * e], [50 / 255, 130 / 255, 184 / 255, .5], 2),\n i = D(\"yuanhuan41\", [2.745 * e, -2.745 * e, 0], [90, 0, 180], [.5 * e, .5 * e, .5 * e], [149 / 255, 179 / 255, 199 / 255, .6], 3),\n n = D(\"yuanhuan41\", [-2.745 * e, -2.745 * e, 0], [-90, 0, 0], [.5 * e, .5 * e, .5 * e], [50 / 255, 130 / 255, 184 / 255, .5], 4),\n I = D(\"yuanpan\", [0, 0, 0], [90, 0, 0], [.5 * e, .5 * e, .5 * e], [89 / 255, 206 / 255, 147 / 255, .5], 5),\n o = D(\"zzhou\", [0, 0, 6.5], [90, 0, 0], [1, 1, 1], [14 / 255, 127 / 255, 191 / 255, 1], 6);\n return A.translate.push(t, s, i, n, I, o), A;\n } },\n {\n key: \"updateMatrix\",\n value: function updateMatrix(t, i, n, I, o) {\n var g = i.getCoordinates(),\n r = t.coordinateToPointAtRes(g, t.getGLRes()),\n a = i.I();\n _gl.vec3.set(M, r.x, r.y, a);\n var C = _gl.vec3.copy(L, o),\n h = b(t, i.getTranslation());\n _gl.vec3.add(M, M, h), _gl.vec3.add(M, M, C);\n for (var _o in this._meshes) for (var _g = 0; _g < this._meshes[_o].length; _g++) {\n var _r = this._meshes[_o][_g];\n for (var _g2 = 0; _g2 < _r.length; _g2++) {\n var _a = _r[_g2],\n _C = _a.getUniform(\"uPickingId\"),\n _h = _gl.vec3.copy(L, _a.translate);\n var _w = _gl.vec3.copy(U, _a.rotation);\n var _c = _a.scaling;\n if (11 === _C && (this.i ? (_w[2] += n, _a.rotation[2] += n) : this.i || (_w[2] += n, _a.rotation[2] += n, _w[0] = 360, _w[2] -= 90)), _C > 100 && 1 === i.getTargets().length && (_w = i.getTargets()[0].getRotation()), V.indexOf(_C) > -1) if (12 !== _C) _c[0] += I, _c[1] += I, _c[2] += I;else {\n var _A2 = this._meshes.translate[4][0];\n _c[0] = 1.2 * _A2.scaling[0], _c[1] = 1.2 * _A2.scaling[0], _c[2] = 1.2 * _A2.scaling[0];\n }\n var _Q = m(i, t);\n if (_Q = _gl.vec3.set(E, _Q, _Q, _Q), _gl.vec3.multiply(_h, _h, _Q), _gl.vec3.multiply(_Q, _Q, _c), 1 === _C || 2 === _C || 3 === _C || 4 === _C) {\n var _A3 = _gl.vec3.multiply(F, _c, x);\n _gl.vec3.multiply(_h, _h, _A3);\n }\n var _f = _gl.quat.fromEuler(O, _w[0], _w[1], _w[2]);\n if (_gl.vec3.add(_h, _h, M), \"xyzScale\" === _o) {\n var _A4 = _gl.mat4.fromRotationTranslationScale([], _f, _h, _Q);\n _gl.mat4.multiply(_a.localTransform, _A4, _a.originTransform);\n } else _gl.mat4.fromRotationTranslationScale(_a.localTransform, _f, _h, _Q);\n }\n }\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes(A) {\n var e = {};\n return A ? (\"xyzScale\" === A ? e[A] = this._meshes[A] : (e.translate = this._meshes.translate, \"translate\" !== A && (e[A] = this._meshes[A])), e) : e;\n } },\n {\n key: \"o\",\n value: function o(A) {\n this.i = A;\n } },\n {\n key: \"dispose\",\n value: function dispose() {\n for (var _A5 in this._meshes) for (var _e = 0; _e < this._meshes[_A5].length; _e++) {\n var _t = this._meshes[_A5][_e];\n for (var _A6 = 0; _A6 < _t.length; _A6++) {\n var _e2 = _t[_A6];\n _e2.geometry.dispose(), _e2.dispose();\n }\n }\n } }]);\n\n }();\n var k = [],\n T = [],\n _ = [],\n H = new _maptalks.Point(0, 0),\n J = [],\n N = [],\n R = [],\n K = [0, 0, 0];\n var z = function () {\n function z() {\n _classCallCheck(this, z);\n this.C = [], this.h = [0, 0, 0], this.l = [1, 1, 1], this.P = [0, 0, 0];\n }\n return _createClass(z, [{\n key: \"D\",\n value: function D(A) {\n var _this = this;\n Array.isArray(A) ? A.forEach(function (A) {\n _this.D(A);\n }) : (A.on(\"remove\", this.u, this), A.m = {\n coordinate: A.getCoordinates(),\n translation: A.getTranslation(),\n rotation: A.getRotation(),\n scale: A.getScale() },\n this.C.push(A));\n } },\n {\n key: \"B\",\n value: function B() {\n var _this2 = this;\n this.C.forEach(function (A) {\n A.off(\"remove\", _this2.u, _this2);\n }), this.C = [];\n } },\n {\n key: \"p\",\n value: function p(A, e, t, i, n, I, o) {\n for (var _o2 = 0; _o2 < this.C.length; _o2++) {\n var _g3 = this.C[_o2],\n _r2 = _g3.getRotation(),\n _a2 = _g3.getScale(),\n _C2 = this.v(I, _g3, i, t, e);\n var _h2 = null;\n _h2 = i >= 0 ? i : i * (this.options && this.options.scaleStrength || 1);\n var _w2 = _gl.vec3.add(R, _gl.vec3.set(k, _h2 * _a2[0], _h2 * _a2[1], _h2 * _a2[2]), _a2),\n _c2 = Math.min.apply(Math, _toConsumableArray(_w2));\n if (Math.abs(_c2) < n) {\n var _A7 = Math.abs(_c2);\n _w2[0] = _w2[0] * (n / _A7), _w2[1] = _w2[1] * (n / _A7), _w2[2] = _w2[2] * (n / _A7);\n }\n var _Q2 = _gl.vec3.add(_r2, t, _r2);\n _g3.setCoordinates(_C2), this.L(A, _w2, _a2);\n var _f2 = _g3.getTranslation();\n _g3.setTRS(_f2, _Q2, _w2);\n }\n _gl.vec3.set(R, i, i, i), _gl.vec3.add(this.P, t, this.P), _gl.vec3.add(this.l, R, this.l), _gl.vec3.add(this.h, e, this.h), A.indexOf(\"translate\") > -1 ? o.fire(\"positionchange\", {\n action: A,\n type: \"positionchange\",\n transformtarget: this.C,\n center: this.getCoordinates(),\n scale: this.l,\n rotation: this.P,\n translation: this.h,\n deltaTranslate: e,\n deltaRotation: t,\n deltaScale: i }) :\n o.fire(\"transforming\", {\n action: A,\n type: \"transforming\",\n transformtarget: this.C,\n center: this.C[0].getTransformOrigin(),\n scale: this.l,\n rotation: this.P,\n translation: this.h,\n deltaTranslate: e,\n deltaRotation: t,\n deltaScale: i });\n\n } },\n {\n key: \"v\",\n value: function v(t, i, n, I, o) {\n var g = i.getCenter(),\n r = i.getTransformOrigin(),\n a = t.getGLRes(),\n C = t.coordinateToPointAtRes(g, a, H);\n C.z = t.altitudeToPoint(g.z, a), _gl.vec3.set(J, C.x, C.y, C.z || 0);\n var h = t.coordinateToPointAtRes(r, a, H);\n h.z = t.altitudeToPoint(r.z, a), _gl.vec3.set(N, h.x, h.y, h.z || 0);\n var w = _gl.vec3.sub(k, J, N),\n c = _gl.quat.fromEuler(T, 0, 0, I[2]);\n _gl.vec3.set(R, n + 1, n + 1, n + 1);\n var Q = _gl.mat4.fromRotationTranslationScale(_, c, o, R);\n _gl.vec3.transformMat4(w, w, Q), _gl.vec3.add(w, w, N), H.set(w[0], w[1]);\n var f = t.pointAtResToCoordinate(H, a);\n return f.z = w[2] / t.altitudeToPoint(1, a), f;\n } },\n {\n key: \"L\",\n value: function L(A, e, t) {\n return \"x-scale\" === A && (e[1] = t[1], e[2] = t[2]), \"y-scale\" === A && (e[0] = t[0], e[2] = t[2]), \"z-scale\" === A && (e[0] = t[0], e[1] = t[1]), e;\n } },\n {\n key: \"M\",\n value: function M() {\n this.C.forEach(function (A) {\n if (A.m) {\n var _A$m = A.m,\n _e3 = _A$m.coordinate,\n _t2 = _A$m.translation,\n _s2 = _A$m.rotation,\n _i = _A$m.scale;\n A.setCoordinates(_e3), A.setTRS(_t2, _s2, _i);\n }\n });\n } },\n {\n key: \"getScale\",\n value: function getScale() {\n return this.l;\n } },\n {\n key: \"getTranslation\",\n value: function getTranslation() {\n return 1 === this.C.length && this.C[0].getTranslation() || K;\n } },\n {\n key: \"getRotation\",\n value: function getRotation() {\n return this.P;\n } },\n {\n key: \"O\",\n value: function O() {\n return this.C[0] ? this.C[0].getLayer() : null;\n } },\n {\n key: \"getCoordinates\",\n value: function getCoordinates() {\n var A = 0,\n e = 0,\n t = 0;\n var s = this.C.length;\n if (!s) return null;\n for (var _i2 = 0; _i2 < s; _i2++) {\n var _s3 = this.C[_i2].getCenter();\n A += _s3.x, e += _s3.y, t += _s3.z || 0;\n }\n A /= s, e /= s, t /= s;\n var i = new _maptalks.Coordinate(A, e, t);\n for (var _A8 = 0; _A8 < s; _A8++) this.C[_A8].setTransformOrigin(i);\n return i;\n } },\n {\n key: \"u\",\n value: function u(A) {\n var e = A.target,\n t = this.C.indexOf(e);\n t > -1 && (delete e.m, this.C.splice(t, 1));\n } },\n {\n key: \"getTargets\",\n value: function getTargets() {\n return this.C;\n } },\n {\n key: \"I\",\n value: function I() {\n var A = 0;\n var e = this.C.length;\n for (var _t3 = 0; _t3 < e; _t3++) {\n A += this.C[_t3].getPointZ();\n }\n return A /= e, A;\n } },\n {\n key: \"F\",\n value: function F() {\n for (var _A9 = 0; _A9 < this.C.length; _A9++) if (this.C[_A9].isVisible()) return !0;\n return !1;\n } }]);\n\n }();\n var G = [5, 6, 7, 8, 9, 10],\n j = [5, 7, 8, 9, 10],\n Z = [2, 4, 11],\n Y = [1, 3, 12],\n W = [12, 16],\n q = [1, 2, 3, 4],\n X = [1, 2, 3, 4, 12],\n _$ = [],\n AA = [],\n eA = [],\n tA = [],\n sA = [],\n iA = [],\n nA = [];\n var IA = exports.TransformControl = function (_g4) {\n function IA() {\n var _this3;\n var A = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, IA);\n _this3 = _callSuper(this, IA, [A]), _this3.options = A, _this3.mouseAction = \"moving\", _this3.U = _this3.options.mode || \"translate\", _this3.V = !0, _this3.TransformHelper = new S(), _this3.S = new z(), _this3.helperScene = new _gl.reshader.Scene([]), _this3.addToMapCount = 0, _this3.k();\n return _this3;\n }\n _inherits(IA, _g4);\n return _createClass(IA, [{\n key: \"setCoordinates\",\n value: function setCoordinates(A) {\n this.T.setCoordinates(A), this.transform(this.T);\n } },\n {\n key: \"enable\",\n value: function enable() {\n return this.V = !0, this.layerRenderer && this.layerRenderer.setToRedraw(), this;\n } },\n {\n key: \"disable\",\n value: function disable() {\n return this.V = !1, this.layerRenderer && this.layerRenderer.setToRedraw(), this.map && this.map.resetCursor(), this;\n } },\n {\n key: \"setMode\",\n value: function setMode(A) {\n this.U = A, this._(), this.layerRenderer && this.layerRenderer.setToRedraw(), this.fire(\"modechange\", {\n mode: A,\n type: \"modechange\" });\n\n } },\n {\n key: \"getMode\",\n value: function getMode() {\n return this.U;\n } },\n {\n key: \"isEnable\",\n value: function isEnable() {\n return this.V;\n } },\n {\n key: \"H\",\n value: function H(A) {\n G.indexOf(A) > -1 ? this.U = \"translate\" : Z.indexOf(A) > -1 ? this.U = \"rotation\" : Y.indexOf(A) > -1 ? this.U = \"scaling\" : \"xyzScale\" !== this.U && (this.U = \"translate\");\n } },\n {\n key: \"J\",\n value: function J() {\n return this.U;\n } },\n {\n key: \"addTo\",\n value: function addTo(A) {\n if (this.map) return this.N(), void console.warn(\"transform control has been added to a map, it suggest remove from the map before\");\n this.addToMapCount++, this.map = A, this.R.addTo(this.map), this.container = A.getContainer(), A.on(\"dom:mousemove\", this.K, this), A.on(\"dom:mousedown\", this.G, this), A.on(\"dom:mouseup\", this.j, this), A.on(\"zooming moving dragrotating\", this.Z, this), this.Y();\n } },\n {\n key: \"k\",\n value: function k() {\n this.R = new _gltfLayer.GLTFLayer(\"\".concat(_maptalks.INTERNAL_LAYER_PREFIX, \"_transformcontrol\")), this.T = new _gltfLayer.GLTFMarker([0, 0], {\n symbol: {\n url: \"cube\",\n modelHeight: 1,\n uniforms: {\n polygonOpacity: .01 } } }).\n\n\n addTo(this.R);\n } },\n {\n key: \"remove\",\n value: function remove() {\n this.map && (this.N(), this.TransformHelper.dispose(), this.R.remove(), this.layerRenderer && this.layerRenderer.setToRedraw(), delete this.T, delete this.R, delete this.map, delete this.layer, delete this.layerRenderer, delete this.container, delete this.S);\n } },\n {\n key: \"N\",\n value: function N() {\n this.container && this.map && (this.map.off(\"dom:mousemove\", this.K, this), this.map.off(\"dom:mousedown\", this.G, this), this.map.off(\"dom:mouseup\", this.j, this), this.map.off(\"zooming moving dragrotating\", this.Z, this), this.layer && this.layer.off(\"renderend\", this.render, this));\n } },\n {\n key: \"K\",\n value: function K(A) {\n if (this.W()) {\n if (this.currentMousePosition = {\n x: A.containerPoint.x,\n y: A.containerPoint.y },\n \"moving\" === this.mouseAction) {\n var _A10 = this.q();\n this.currentPickingObject = this.X(this.currentMousePosition, _A10, \"meshes\"), this.currentPickingObject && null != this.currentPickingObject.pickingId ? (this.H(this.currentPickingObject.pickingId), 6 === this.currentPickingObject.pickingId ? this.$(!0) : this.$(!1)) : (this.$(!1), this.H()), this.AA();\n }\n this.eA(this.currentMousePosition);\n }\n } },\n {\n key: \"G\",\n value: function G(A) {\n if (!this.W() || 0 !== A.domEvent.button) return;\n var e = this.q();\n this.currentMousePosition = {\n x: A.containerPoint.x,\n y: A.containerPoint.y },\n this.tA = !0, this.currentPickingObject = this.X(this.currentMousePosition, e, \"meshes\"), this.firstDownPoint = this.X(this.currentMousePosition, e, \"meshes\"), this.currentPickingObject && null != this.currentPickingObject.meshId ? (this.mouseAction = \"transform\", this.sA(this.currentPickingObject.pickingId), this.map.config(\"zoomable\", !1), this.map.config(\"draggable\", !1), this.layerRenderer && this.layerRenderer.setToRedraw()) : (this.mouseAction = \"pan\", this.map.config(\"zoomable\", !0), this.map.config(\"draggable\", !0), this._()), this.lastMousePosition = this.currentMousePosition, this.lastPickingObject = this.currentPickingObject, this.lastPickingMesh = e[this.currentPickingObject.meshId];\n } },\n {\n key: \"j\",\n value: function j() {\n \"transform\" === this.mouseAction && (this.firstDownPoint = null, this._(), this.tA = !0, this.fire(\"transformend\", {\n action: this.iA,\n type: \"transformend\",\n transformtarget: this.S.getTargets() })),\n this.mouseAction = \"moving\", \"xyzScale\" !== this.U && (this.U = \"translate\"), this.map.config(\"zoomable\", !0), this.map.config(\"draggable\", !0), this.layerRenderer && this.layerRenderer.setToRedraw();\n } },\n {\n key: \"Z\",\n value: function Z() {\n var A = this.TransformHelper.planeHelper.getMeshes()[0][0],\n e = this.map.getBearing();\n A.rotation[2] = -e, this.nA();\n } },\n {\n key: \"nA\",\n value: function nA() {\n this.W() && (this.TransformHelper.updateMatrix(this.map, this.S, 0, 0, [0, 0, 0]), this.tA = !0);\n } },\n {\n key: \"picked\",\n value: function picked(A) {\n if (!this.layerRenderer) return !1;\n var e = this.q(),\n t = this.map;\n var s = A;\n A instanceof _maptalks.Point || (s = t.coordinateToContainerPoint(new _maptalks.Coordinate(A)));\n var i = this.X(s, e, \"picked\");\n return !(!i || null === i.meshId);\n } },\n {\n key: \"_\",\n value: function _() {\n var A = this.TransformHelper.getMeshes(\"scaling\").scaling[0][0],\n e = 340 / 177;\n A.scaling = [.6 * e, .6 * e, .6 * e], this.layerRenderer && (this.IA(A), this.oA());\n } },\n {\n key: \"oA\",\n value: function oA() {\n this.TransformHelper._meshes.translate.forEach(function (A) {\n for (var _e4 = 0; _e4 < A.length; _e4++) {\n var _t4 = A[_e4];\n q.indexOf(_t4.getUniform(\"uPickingId\")) > -1 && _t4.material.set(\"color\", _t4.originColor);\n }\n });\n } },\n {\n key: \"IA\",\n value: function IA(t) {\n var _this4 = this;\n var i = this.S.getCoordinates(),\n n = this.map.coordinateToPointAtRes(i, this.map.getGLRes()),\n I = [n.x, n.y, 0],\n o = b(this.map, this.S.getTranslation());\n _gl.vec3.add(I, I, o);\n var g = _gl.vec3.copy([], t.translate),\n r = t.scaling;\n var a = m(this.S, this.map);\n a = _gl.vec3.set([], a, a, a), _gl.vec3.multiply(g, g, a), _gl.vec3.multiply(a, a, r), _gl.vec3.add(g, g, I), _gl.mat4.fromRotationTranslationScale(t.localTransform, [0, 0, 0, 1], g, a);\n this.q().forEach(function (t) {\n var i = t.getUniform(\"uPickingId\");\n if (1 === i || 3 === i || 2 === i || 4 === i) {\n var _i3 = _gl.vec3.copy([], t.translate),\n _n = 170 / 177;\n t.scaling = [_n, _n, _n];\n var _o3 = t.scaling,\n _g5 = t.rotation;\n var _r3 = m(_this4.S, _this4.map);\n _r3 = _gl.vec3.set([], _r3, _r3, _r3), _gl.vec3.multiply(_i3, _i3, _r3), _gl.vec3.multiply(_r3, _r3, _o3), _gl.vec3.add(_i3, _i3, I);\n var _a3 = _gl.quat.fromEuler([], _g5[0], _g5[1], _g5[2]);\n _gl.mat4.fromRotationTranslationScale(t.localTransform, _a3, _i3, _r3);\n }\n });\n } },\n {\n key: \"gA\",\n value: function gA(A) {\n var e = this.map.containerPointToCoordinate(A),\n t = this.map.coordinateToPointAtRes(e, this.map.getGLRes());\n return {\n point: [t.x, t.y] };\n\n } },\n {\n key: \"eA\",\n value: function eA(A) {\n if (\"transform\" === this.mouseAction) {\n var _A11 = this.J(),\n _e5 = b(this.map, this.S.getTranslation()),\n _t5 = this.S.I();\n var _s4 = null,\n _n2 = null;\n if (_e5[2] + _t5 < .01 && \"z-translate\" !== this.iA) _s4 = this.gA(this.currentMousePosition), _n2 = this.gA(this.lastMousePosition);else {\n var _A12 = this.TransformHelper.planeHelper.getMeshes()[0];\n if (_s4 = this.X(this.currentMousePosition, _A12, \"plane\"), _n2 = this.X(this.lastMousePosition, _A12, \"plane\"), !_s4 || null === _s4.meshId || !_n2 || null === _n2.meshId) return;\n }\n var _o4 = [0, 0, 0],\n _g6 = [0, 0, 0];\n var _r4 = 0,\n _a4 = 0,\n _C3 = 0;\n if (\"translate\" === _A11) {\n if (\"xy-translate\" === this.iA) {\n var _A13 = _s4.point[0] - _n2.point[0],\n _e6 = _s4.point[1] - _n2.point[1];\n _o4[0] = _A13, _o4[1] = _e6;\n } else if (\"x-translate\" === this.iA) {\n var _A14 = _s4.point[0] - _n2.point[0];\n _o4[0] = _A14;\n } else if (\"y-translate\" === this.iA) {\n var _A15 = _s4.point[1] - _n2.point[1];\n _o4[1] = _A15;\n } else if (\"z-translate\" === this.iA) {\n var _A16 = 0;\n if (this.rA()) {\n var _e7 = this.map.getGLRes(),\n _t6 = this.map._pointAtResToContainerPoint(new _maptalks.Point(_n2.point[0], _n2.point[1]), _e7),\n _o5 = this.map._pointAtResToContainerPoint(new _maptalks.Point(_s4.point[0], _s4.point[1]), _e7),\n _g7 = _gl.vec2.length(_gl.vec2.set(tA, _s4.point[0] - _n2.point[0], _s4.point[1] - _n2.point[1]));\n _A16 = _o5.y < _t6.y ? _g7 : -_g7;\n } else _A16 = _s4.point[2] - _n2.point[2];\n _o4[2] = _A16;\n }\n } else if (\"rotation\" === _A11) _a4 = this.aA(_s4.point, _n2.point), _a4 >= 0 ? this.TransformHelper.o(!0) : this.TransformHelper.o(!1), _g6[2] += _a4;else if (\"scaling\" === _A11 || \"xyzScale\" === _A11) {\n var _A17 = this.CA(),\n _e8 = _gl.vec2.length(_gl.vec2.set(tA, this.firstDownPoint.point[0] - _A17[0], this.firstDownPoint.point[1] - _A17[1])),\n _t7 = _gl.vec2.length(_gl.vec2.set(tA, _n2.point[0] - _A17[0], _n2.point[1] - _A17[1]));\n _r4 = this.hA(_s4.point, _n2.point, _A17, _t7), _C3 = this.hA(_s4.point, _n2.point, _A17, _e8);\n }\n this.TransformHelper.updateMatrix(this.map, this.S, _a4, _C3, _o4), this.S.p(this.iA, _o4, _g6, _r4, .01, this.map, this);\n }\n this.lastMousePosition = A, this.lastPickingObject = this.currentPickingObject;\n var e = this.q();\n this.lastPickingMesh = e[this.currentPickingObject.meshId];\n } },\n {\n key: \"hA\",\n value: function hA(A, e, t, s, n) {\n var I = (_gl.vec2.length(_gl.vec2.set(tA, A[0] - t[0], A[1] - t[1])) - _gl.vec2.length(_gl.vec2.set(tA, e[0] - t[0], e[1] - t[1]))) / s;\n return n ? (n[0] - .01) * I : I;\n } },\n {\n key: \"CA\",\n value: function CA() {\n var A = this.map,\n e = this.S.getCoordinates(),\n t = A.coordinateToPointAtRes(e, A.getGLRes()),\n i = _gl.vec3.set(sA, t.x, t.y, 0),\n n = b(A, this.S.getTranslation());\n return _gl.vec3.add(i, i, n), i;\n } },\n {\n key: \"$\",\n value: function $(t) {\n var i = this.TransformHelper.planeHelper.getMeshes()[0][0],\n n = _gl.mat4.getTranslation(eA, i.localTransform),\n I = _gl.mat4.getScaling(AA, i.localTransform);\n var o = _gl.quat.fromEuler(_$, 0, 0, 0);\n var g = this.map.getBearing();\n t && !this.rA() ? (o = _gl.quat.fromEuler(_$, 90, 0, -g), 0 === i.rotation[0] && (this.tA = !0), _gl.vec3.set(i.rotation, 90, 0, -g)) : (90 === i.rotation[0] && (this.tA = !0), _gl.vec3.set(i.rotation, 0, 0, -g)), _gl.mat4.fromRotationTranslationScale(i.localTransform, o, n, I);\n } },\n {\n key: \"rA\",\n value: function rA() {\n if (this.map.getPitch()) return !1;\n var A = this.map.cameraPosition,\n e = this.map.coordinateToPointAtRes(this.map.getCenter(), this.map.getGLRes());\n _gl.vec3.set(e, e.x, e.y, 0);\n var t = this.S.getCoordinates(),\n i = this.map.coordinateToPointAtRes(t, this.map.getGLRes()),\n n = b(this.map, this.S.getTranslation()),\n I = _gl.vec3.set(eA, i.x, i.y, 0),\n o = _gl.vec3.add(I, I, n),\n g = _gl.vec3.subtract([], A, o),\n r = _gl.vec3.subtract([], A, e);\n return _gl.vec3.angle(g, r) < 1 / 180 * Math.PI;\n } },\n {\n key: \"AA\",\n value: function AA() {\n var A = this.q();\n if (this.currentPickingObject && null != this.currentPickingObject.meshId) {\n this.wA(), this.lastPickingObject && null != this.lastPickingObject.meshId && this.lastPickingObject.meshId !== this.currentPickingObject.meshId && this.cA();\n var _e9 = A[this.currentPickingObject.meshId];\n if (_e9 && W.indexOf(this.currentPickingObject.pickingId) < 0) if (this.currentPickingObject.pickingId > 100) this.QA(_e9);else {\n var _A18 = [_e9.originColor[0], _e9.originColor[1], _e9.originColor[2], .8];\n _e9.material.set(\"color\", _A18), this.fA(_e9, .5);\n }\n this.layerRenderer.setToRedraw();\n } else this.lastPickingObject && null != this.lastPickingObject.meshId && (this.map.resetCursor(), this.cA(), this.layerRenderer.setToRedraw());\n } },\n {\n key: \"QA\",\n value: function QA(A) {\n var e = [1, 179 / 255, 2 / 255, 1];\n A.material.set(\"color\", e), A.properties.relatedMeshes && A.properties.relatedMeshes.forEach(function (A) {\n A.material.set(\"color\", e);\n });\n } },\n {\n key: \"wA\",\n value: function wA() {\n 6 === this.currentPickingObject.pickingId ? this.map.setCursor(\"ns-resize\") : j.indexOf(this.currentPickingObject.pickingId) > -1 ? this.map.setCursor(\"move\") : this.map.setCursor(\"pointer\");\n } },\n {\n key: \"cA\",\n value: function cA() {\n var A = this.lastPickingMesh;\n if (!A) return;\n var e = A.getUniform(\"uPickingId\"),\n t = this.q();\n j.indexOf(e) > -1 ? t.forEach(function (A) {\n j.indexOf(A.getUniform(\"uPickingId\")) > -1 && A.material.set(\"color\", A.originColor);\n }) : X.indexOf(e) > -1 ? t.forEach(function (A) {\n var e = A.getUniform(\"uPickingId\");\n q.indexOf(e) > -1 && A.material.set(\"color\", A.originColor);\n }) : 11 === e && t.forEach(function (A) {\n q.indexOf(A.getUniform(\"uPickingId\")) > -1 && A.material.set(\"color\", A.originColor);\n }), A.material.set(\"color\", A.originColor), A.properties.relatedMeshes && A.properties.relatedMeshes.forEach(function (A) {\n A.material.set(\"color\", A.originColor);\n });\n } },\n {\n key: \"fA\",\n value: function fA(A, e) {\n var t = A.getUniform(\"uPickingId\"),\n s = this.q();\n j.indexOf(t) > -1 ? s.forEach(function (t) {\n if (j.indexOf(t.getUniform(\"uPickingId\")) > -1 && t.getUniform(\"uPickingId\") !== A.getUniform(\"uPickingId\")) {\n var _A19 = [t.originColor[0], t.originColor[1], t.originColor[2], e];\n t.material.set(\"color\", _A19);\n }\n }) : \"scaling\" === this.U ? s.forEach(function (A) {\n var e = A.getUniform(\"uPickingId\");\n if (1 === e || 3 === e || 2 === e || 4 === e) {\n var _e10 = [149 / 255, 179 / 255, 199 / 255, .8];\n A.material.set(\"color\", _e10);\n }\n }) : \"rotation\" === this.U && s.forEach(function (A) {\n var e = A.getUniform(\"uPickingId\");\n if (1 === e || 3 === e || 2 === e || 4 === e) {\n var _e11 = A.originColor;\n A.material.set(\"color\", [_e11[0], _e11[1], _e11[2], 0]);\n }\n });\n } },\n {\n key: \"reset\",\n value: function reset() {\n this.map && this.S && (this.S.M(), this.TransformHelper.updateMatrix(this.map, this.S, 0, 0, [0, 0, 0]));\n } },\n {\n key: \"aA\",\n value: function aA(A, e) {\n var t = this.CA(),\n s = _gl.vec2.set(iA, e[0] - t[0], e[1] - t[1]),\n n = _gl.vec2.set(nA, A[0] - t[0], A[1] - t[1]),\n I = Math.atan2(s[1], s[0]);\n return (Math.atan2(n[1], n[0]) - I) / Math.PI * 180;\n } },\n {\n key: \"sA\",\n value: function sA(A) {\n return this.iA = 113 === A || 114 === A ? \"x-scale\" : 115 === A || 116 === A ? \"z-scale\" : 117 === A || 118 === A ? \"y-scale\" : 119 === A ? \"xyz-scale\" : 5 === A ? \"xy-translate\" : 6 === A ? \"z-translate\" : 7 === A || 9 === A ? \"x-translate\" : 8 === A || 10 === A ? \"y-translate\" : 11 === A ? \"z-rotate\" : \"scale\", this.iA;\n } },\n {\n key: \"transform\",\n value: function transform(A) {\n if (!A) return;\n if (this.layerRenderer && this.layerRenderer.layer && (this.layerRenderer.layer.off(\"renderend\", this.render), this.layerRenderer.layer.off(\"resizeCanvas\", this.lA)), !this.map) return void console.error(\"should add to a target first\");\n if (this.S && (this.S.B(), this.S.D(A)), !this.S.getTargets().length) return;\n var e = this.map;\n this.TransformHelper.updateMatrix(e, this.S, 0, 0, [0, 0, 0]), this.PA(), this.tA = !0;\n } },\n {\n key: \"getTransformTarget\",\n value: function getTransformTarget() {\n return this.S;\n } },\n {\n key: \"u\",\n value: function u() {\n delete this.S;\n } },\n {\n key: \"PA\",\n value: function PA() {\n var A = this.S.O();\n A && (A.off(\"renderend\", this.render), A.off(\"resizeCanvas\", this.lA));\n var e = this.map,\n t = A.getRenderer();\n this.layerRenderer = t, this.regl = t.regl, this.renderer = t.renderer, this.DA = this.layerRenderer.getFBORayPicking(), this.uA = {\n projViewMatrix: e.projViewMatrix,\n projMatrix: e.projMatrix,\n viewMatrix: e.viewMatrix,\n pointSize: 1 },\n A.on(\"renderend\", this.render, this), A.on(\"resizeCanvas\", this.lA, this), t.setToRedraw();\n } },\n {\n key: \"lA\",\n value: function lA() {\n this.DA.clear(), this.tA = !0;\n } },\n {\n key: \"X\",\n value: function X(A, e, t) {\n var s = this.map;\n if (!(s && this.DA && this.layerRenderer && this.layerRenderer.canvas)) return null;\n var i = s.getDevicePixelRatio(),\n n = A.x * i,\n I = A.y * i,\n o = this.uA,\n g = this.layerRenderer.canvas.gl && this.layerRenderer.canvas.gl.wrap;\n (this.tA || g || !this.mA || this.mA !== t) && (this.DA.render(e, o, !0), this.mA = t, this.tA = !1);\n return this.DA.pick(n, I, 10, o, {\n viewMatrix: this.map.viewMatrix,\n projMatrix: this.map.projMatrix,\n returnPoint: !0 });\n\n } },\n {\n key: \"Y\",\n value: function Y() {\n var _this5 = this;\n var A = this.map.getDevicePixelRatio(),\n s = {\n x: 0,\n y: 0,\n width: function width() {\n return _this5.map ? _this5.map.width * A : 1;\n },\n height: function height() {\n return _this5.map ? _this5.map.height * A : 1;\n } };\n\n this.bA = new _gl.reshader.MeshShader({\n vert: \"attribute vec3 aPosition;\\n\\nuniform mat4 projViewModelMatrix;\\n\\n\\n\\nvoid main()\\n\\n{\\n\\n gl_Position = projViewModelMatrix * vec4(aPosition, 1.0);\\n\\n\\n\\n}\\n\\n\",\n frag: \"precision mediump float;\\n\\nuniform vec4 color;\\n\\n\\n\\nvoid main() {\\n\\n gl_FragColor = color;\\n\\n}\\n\\n\",\n uniforms: [\"color\", {\n name: \"projViewModelMatrix\",\n type: \"function\",\n fn: function fn(A, t) {\n return _gl.mat4.multiply([], t.projViewMatrix, t.modelMatrix);\n } }],\n\n extraCommandProps: {\n viewport: s,\n depth: {\n enable: !0,\n func: \"always\",\n mask: !0,\n range: [0, 0] },\n\n blend: {\n enable: !0,\n func: {\n src: \"src alpha\",\n dst: \"one minus src alpha\" },\n\n equation: \"add\" } },\n\n\n defines: {} });\n\n } },\n {\n key: \"render\",\n value: function render() {\n if (!this.W()) return;\n var A = this.q();\n this.helperScene.setMeshes(A);\n var e = this.layerRenderer.getFrameContext();\n if (e && e.renderTarget && this.layerRenderer.getFrameTimestamp() !== e.timestamp) return;\n this.nA(), this.bA.filter = e && e.sceneFilter;\n var t = e && e.renderTarget && e.renderTarget.fbo;\n this.renderer.render(this.bA, this.uA, this.helperScene, t);\n } },\n {\n key: \"q\",\n value: function q() {\n var A = [];\n var e = this.TransformHelper.getMeshes(this.U);\n for (var _t8 in e) {\n if (\"translate\" === _t8) continue;\n var _s5 = e[_t8];\n for (var _e12 = 0; _e12 < _s5.length; _e12++) A = A.concat(_s5[_e12]);\n }\n var t = e.translate;\n if (t) for (var _e13 = 0; _e13 < t.length; _e13++) A = A.concat(t[_e13]);\n return A;\n } },\n {\n key: \"W\",\n value: function W() {\n var A = this.layerRenderer,\n e = A && A.layer;\n return A && this.S && e && e.isVisible() && this.S.F() && this.regl && this.V;\n } }]);\n\n }((0, _maptalks.Eventable)((0, _maptalks.Handlerable)(_maptalks.Class)));\n IA.mergeOptions({\n scaleStrength: 2 });\n\n \"undefined\" != typeof console && console.log(\"@maptalks/transform-control v0.105.6\");return module.exports;});", "requires": [], "buildLevel": 0, "fileName": "/dist/transform-control.es.js" }, "pandav:/dist/transform-control.js": { "cubeCode": "Cube(\"pandav:/npm/@maptalks/transform-control/0.105.6/dist/transform-control\", [\"pandav:/npm/@maptalks/gl/0.108.1\", \"pandav:/npm/maptalks/1.2.1\", \"pandav:/npm/@maptalks/gl/0.108.1tf-layer\"], function (module, exports, require, load, process, global) {\n\n function _callSuper(t, o, e) {return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));}\n function _possibleConstructorReturn(t, e) {if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");return _assertThisInitialized(t);}\n function _assertThisInitialized(e) {if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e;}\n function _isNativeReflectConstruct() {try {var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));} catch (t) {}return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {return !!t;})();}\n function _getPrototypeOf(t) {return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {return t.__proto__ || Object.getPrototypeOf(t);}, _getPrototypeOf(t);}\n function _inherits(t, e) {if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e);}\n function _setPrototypeOf(t, e) {return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {return t.__proto__ = e, t;}, _setPrototypeOf(t, e);}\n function _toConsumableArray(r) {return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();}\n function _nonIterableSpread() {throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");}\n function _unsupportedIterableToArray(r, a) {if (r) {if (\"string\" == typeof r) return _arrayLikeToArray(r, a);var t = {}.toString.call(r).slice(8, -1);return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;}}\n function _iterableToArray(r) {if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);}\n function _arrayWithoutHoles(r) {if (Array.isArray(r)) return _arrayLikeToArray(r);}\n function _arrayLikeToArray(r, a) {(null == a || a > r.length) && (a = r.length);for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];return n;}\n function _readOnlyError(r) {throw new TypeError('\"' + r + '\" is read-only');}\n function _classCallCheck(a, n) {if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");}\n function _defineProperties(e, r) {for (var t = 0; t < r.length; t++) {var o = r[t];o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);}}\n function _createClass(e, r, t) {return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e;}\n function _toPropertyKey(t) {var i = _toPrimitive(t, \"string\");return \"symbol\" == _typeof(i) ? i : i + \"\";}\n function _toPrimitive(t, r) {if (\"object\" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || \"default\");if (\"object\" != _typeof(i)) return i;throw new TypeError(\"@@toPrimitive must return a primitive value.\");}return (\"string\" === r ? String : Number)(t);}\n function _typeof(o) {\"@babel/helpers - typeof\";return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;}, _typeof(o);}\n !function (A, e) {\n \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && \"undefined\" != typeof module ? e(exports, require('pandav:/npm/@maptalks/gl/0.108.1'), require('pandav:/npm/maptalks/1.2.1'), require('pandav:/npm/@maptalks/gl/0.108.1tf-layer')) : \"function\" == typeof define && define.amd ? define([\"exports\", \"@maptalks/gl\", \"maptalks\", \"@maptalks/gltf-layer\"], e) : e((A = \"undefined\" != typeof globalThis ? globalThis : A || self).maptalks = A.maptalks || {}, A.maptalks, A.maptalks, A.maptalks);\n }(void 0, function (A, e, t, s) {\n \"use strict\";\n\n function i(A) {\n var e = Object.create(null);\n return A && Object.keys(A).forEach(function (t) {\n if (\"default\" !== t) {\n var s = Object.getOwnPropertyDescriptor(A, t);\n Object.defineProperty(e, t, s.get ? s : {\n enumerable: !0,\n get: function get() {\n return A[t];\n } });\n\n }\n }), e.default = A, Object.freeze(e);\n }\n var n = i(t);\n var o = {\n yuanhuan: {\n accessors: [{\n name: \"����С��_1_0_positions\",\n componentType: 5126,\n count: 104,\n min: [-5.407599925994873, -5.404099941253662, 0],\n max: [5.405200004577637, 5.406300067901611, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"����С��_1_0_normals\",\n componentType: 5126,\n count: 104,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"����С��_1_0_indices\",\n componentType: 5123,\n count: 288,\n min: [0],\n max: [103],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"缩放圈-新\",\n byteLength: 3072,\n uri: \"data:application/octet-stream;base64,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AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAACAAMABAAFAAYABAAGAAcAAwACAAgAAwAIAAkACgALAAwACgAMAA0ADQAMAA4ADQAOAA8ADwAOABAADwAQABEAEgATABQAEgAUABUAFgAXABgAFgAYABkAGgAbABwAGgAcAB0AHgALAAoAHwALAB4AHwAgAAsAIQAgAB8AIgAjACAAIgAgACEAJAAlACYAJAAmACcAJwAmACgAJwAoACkAKgArACwAKgAsAC0ALgAvADAALgAwADEAGQAYADIAGQAyADMANAA1ABsANAAbABoAFQAUADYAFQA2ADcAOAA5ADoAOAA6ADsAPAA9AD4APAA/AD0AQAA/ADwAQABBAD8AQgBBAEAAQgBAAEMARABFAEYARABGAEcARABHAEgARgBJAEcARgBKAEkASwBKAEYASwBMAEoASwBNAEwACQAIAC8ACQAvAC4ALQAsADkALQA5ADgAOwA6AE4AOwBOAE8ATwBOAE0ATwBNAEsAKQAoACsAKQArACoANwA2AFAANwBQAFEAUQBQAFIAUQBSAFMAUwBSAFQAUwBUAFUAVgBXAFgAVgBYAFkAVgBZAFoAWwBZAFgAXABZAFsAXABdAFkAXgBdAFwAXwBdAF4APAA+AGAAPABgAGEAMQAwABcAMQAXABYAYgBjADUAYgA1ADQAYQBgAGMAYQBjAGIAMwAyAF0AMwBdAF8AHQAcAGQAHQBkAGUAZQBkAAUAZQAFAAQAZgBnAAcAZgAHAAYAEQAQABMAEQATABIA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 1248,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 1248,\n byteOffset: 1248,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 576,\n byteOffset: 2496,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat_001\",\n pbrMetallicRoughness: {\n baseColorFactor: [.5, .5, .5, 1],\n metallicFactor: 0,\n roughnessFactor: 1 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"����С��_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"����С��\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n yuanhuan41: {\n accessors: [{\n name: \"Բ��_1_0_positions\",\n componentType: 5126,\n count: 39,\n min: [0, 0, 0],\n max: [5.489999771118164, 0, 5.488900184631348],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Բ��_1_0_normals\",\n componentType: 5126,\n count: 39,\n min: [0, -.999939501285553, -1],\n max: [.13969914615154266, 1, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Բ��_1_0_indices\",\n componentType: 5123,\n count: 105,\n min: [0],\n max: [38],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"yh41\",\n byteLength: 1148,\n uri: \"data:application/octet-stream;base64,8tKXQAAAAACoNU09FK6vQAAAAAB1Ako/FK6vQAAAAAAAAACATfOAQAAAAAACmkg+K4dWQAAAAAAIrNw+WvUtQAAAAABbsT8/X5gIQAAAAACMSpI/OUWbQAAAAAD0/VQ/LbKHQAAAAAD0/XQ/W0JqQAAAAAC6SZQ/dLXNPwAAAACfq80/H4VHQAAAAAB0JLc/ZognQAAAAAA1XuI/YVSSPwAAAAAukAhABaMKQAAAAAB4nApABcU/PwAAAACF6y1Aw2TiPwAAAACRfidASS63PwAAAABKe0dAJLncPgAAAACze1ZAj1OUPwAAAADjNmpAAppIPgAAAADu64BAnRF1PwAAAAD8qYdAqDVNPQAAAADBypdAgQRVPwAAAAAIPZtAAAAAAAAAAAASpa9AAwlKPwAAAAASpa9AJJd/PAAAAAASpa9AAwlKPwAAAAASpa9AAAAAAAAAAAASpa9Asp1vPQAAAAASpa9AJLn8PQAAAAASpa9AqoJRPgAAAAASpa9ARwOYPgAAAAASpa9AHhbKPgAAAAASpa9A2hv8PgAAAAASpa9A5q4VPwAAAAASpa9A+n4qPwAAAAASpa9AQxw7PwAAAAASpa9AwhdGPwAAAAASpa9AAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAJ5X/OwL+fz8AAACAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/Kzs0PAn8f78AAACApLK/PA7uf78AAACAeJkZPefRfz8AAACA+ZldPQSgf78AAACA6XSTPelVfz8AAACALLO3PdT3fr8AAACAfkjZPR2Ofr8AAACANf32Paohfj8AAACAeUYHPqDBfT8AAACASw0PPlt9fb8AAACAAAABAAIAAwABAAAABAABAAMABQABAAQABgAHAAUABwABAAUABgAIAAcABgAJAAgACgAJAAYACgALAAkACgAMAAsADQAMAAoADQAOAAwADwAOAA0ADwAQAA4ADwARABAAEgARAA8AEgATABEAFAATABIAFAAVABMAFgAVABQAFgAXABUAGAAXABYAGAAZABcAGgAbABwAHQAbABoAHgAbAB0AHwAbAB4AIAAbAB8AIQAbACAAIgAbACEAIwAbACIAJAAbACMAJQAbACQAJgAbACUAAAA=\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 468,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 468,\n byteOffset: 468,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 212,\n byteOffset: 936,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat_002\",\n pbrMetallicRoughness: {\n baseColorFactor: [.588, .588, .588, 1],\n metallicFactor: 0,\n roughnessFactor: .99 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Բ��_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Բ��\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n yuanhuan411: {\n accessors: [{\n name: \"����СȦ_1_0_positions\",\n componentType: 5126,\n count: 28,\n min: [.026000000536441803, -4.6834001541137695, 0],\n max: [4.696700096130371, -.014800000004470348, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"����СȦ_1_0_normals\",\n componentType: 5126,\n count: 28,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"����СȦ_1_0_indices\",\n componentType: 5123,\n count: 78,\n min: [0],\n max: [27],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"yuanhuan411\",\n byteLength: 828,\n uri: \"data:application/octet-stream;base64,ufwXQLN7Mr8AAAAAObRAQLFQK78AAAAA1ediQMWP8b4AAAAAGQQ6QCv2174AAAAAqFdeQHUCWr4AAAAA7FGCQL6fmr0AAAAAHHyDQDLmrr4AAAAAXkuWQJf/kL4AAAAAXkuWQLN7crwAAAAAMCrxP2RdhL8AAAAA/BgDQJeQn78AAAAADeARQAg9i78AAAAAukkIQISeXb8AAAAAZaogQH/Zbb8AAAAA7Q3ePr4wOcAAAAAA5IMuP9/gP8AAAAAAJQZxPwrXH8AAAAAAPZs1P6UsF8AAAAAAdy2hP0VHAsAAAAAAb/CFP5eQ778AAAAA0ES4P32utr8AAAAAAprQPyL9zr8AAAAAi/1lPqqCXcAAAAAA9dv3PtcSYsAAAAAADi2yPZvmgcAAAAAAYTK1PssQg8AAAAAA9P3UPGrelcAAAAAA4liXPmrelcAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAACAAMAAwACAAQABQAGAAcABQAHAAgABAACAAYABAAGAAUACQAKAAsACQALAAwAAAANAAEADgAPABAADgAQABEAEQAQABIAEQASABMAFAAVAAoAFAAKAAkADAALAA0ADAANAAAAFgAXAA8AFgAPAA4AGAAZABcAGAAXABYAGgAZABgAGgAbABkAEwASABUAEwAVABQA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 336,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 156,\n byteOffset: 672,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat\",\n pbrMetallicRoughness: {\n baseColorFactor: [.588, .588, .588, 1],\n metallicFactor: 0,\n roughnessFactor: .99 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"����СȦ_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"����СȦ\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n yuanpan: {\n accessors: [{\n name: \"Circle001_1_0_positions\",\n componentType: 5126,\n count: 28,\n min: [-1.9510999917984009, 0, -1.9510999917984009],\n max: [1.9510999917984009, 0, 1.9510999917984009],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Circle001_1_0_normals\",\n componentType: 5126,\n count: 28,\n min: [0, 1, 0],\n max: [0, 1, 0],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Circle001_1_0_indices\",\n componentType: 5123,\n count: 78,\n min: [0],\n max: [27],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"yuanpan\",\n byteLength: 828,\n uri: \"data:application/octet-stream;base64,S+rkvgAAAADRIvM/AAAAAAAAAAClvfk/S+rkPgAAAADRIvM/0SLzvwAAAABL6uQ+MlXgvwAAAACsi1s/c9fCvwAAAACvJZw/pb35vwAAAAAAAAAA0SLzvwAAAABL6uS+MlXgvwAAAACsi1u/c9fCvwAAAACvJZy/ryWcvwAAAABz18K/rItbvwAAAAAyVeC/S+rkvgAAAADRIvO/AAAAgAAAAAClvfm/S+rkPgAAAADRIvO/rItbPwAAAAAyVeC/ryWcPwAAAABz18K/c9fCPwAAAACvJZy/MlXgPwAAAACsi1u/0SLzPwAAAABL6uS+pb35PwAAAAAAAACA0SLzPwAAAABL6uQ+MlXgPwAAAACsi1s/c9fCPwAAAACvJZw/ryWcvwAAAABz18I/ryWcPwAAAABz18I/rItbvwAAAAAyVeA/rItbPwAAAAAyVeA/AAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAAAAAAAgD8AAACAAAABAAIAAwAEAAUABgADAAUABwAGAAUACAAHAAUACQAIAAUACgAJAAUACwAKAAUADAALAAUADQAMAAUADgANAAUADwAOAAUAEAAPAAUAEQAQAAUAEgARAAUAEwASAAUAFAATAAUAFQAUAAUAFgAVAAUAFwAWAAUAFwAFABgAGQAXABgAGQAYABoAGwAZABoAAgAbABoAAAACABoA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 336,\n byteOffset: 336,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 156,\n byteOffset: 672,\n target: 34963 }],\n\n materials: [{\n name: \"wire_008110135\",\n pbrMetallicRoughness: {\n baseColorFactor: [.0314, .4314, .5294, 1],\n metallicFactor: 0,\n roughnessFactor: .968 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Circle001_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Circle001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n zzhou: {\n accessors: [{\n name: \"Cube.001-Mesh_0_positions\",\n componentType: 5126,\n count: 45,\n min: [-.2711470127105713, -5.473427772521973, -.2711470127105713],\n max: [.2711470127105713, .46298399567604065, .2711470127105713],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Cube.001-Mesh_0_normals\",\n componentType: 5126,\n count: 45,\n min: [-1, -1, -1],\n max: [1, 1, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Cube.001-Mesh_0_texcoords\",\n componentType: 5126,\n count: 45,\n min: [.125, 0],\n max: [.875, 1],\n type: \"VEC2\",\n bufferView: 2,\n byteOffset: 0 },\n {\n name: \"Cube.001-Mesh_0_indices\",\n componentType: 5123,\n count: 72,\n min: [0],\n max: [44],\n type: \"SCALAR\",\n bufferView: 3,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"Z\",\n byteLength: 1584,\n uri: \"data:application/octet-stream;base64,/waNvZMdK77/Bo09/waNPZMdK77/Bo09/waNPR4Kr8D/Bo09l+KKPVImr8D/Bo09/waNvVImr8D/Bo09yNOKPsjTir7I04o+AAAAAD0M7T4AAAAAyNOKvsjTir7I04o+yNOKvsjTir7I04o+AAAAAD0M7T4AAAAAyNOKvsjTir7I04q+yNOKvsjTir7I04q+yNOKPsjTir7I04q+yNOKPsjTir7I04o+yNOKvsjTir7I04o+yNOKPsjTir7I04q+AAAAAD0M7T4AAAAAyNOKPsjTir7I04o+yNOKvsjTir7I04q+AAAAAD0M7T4AAAAAyNOKPsjTir7I04q+/waNPZMdK77/Bo09/waNPZMdK77/Bo29/waNPVImr8D/Bo29/waNPVImr8D/Bo09/waNPR4Kr8D/Bo09/waNvZMdK77/Bo09/waNvVImr8D/Bo09/waNvVImr8D/Bo29/waNvZMdK77/Bo29/waNvZMdK77/Bo29/waNvVImr8D/Bo29/waNPVImr8D/Bo29/waNPZMdK77/Bo29/waNPZMdK77/Bo09/waNvZMdK77/Bo09/waNvZMdK77/Bo29/waNPZMdK77/Bo29/waNvVImr8D/Bo09cooOO1Imr8BAMTI7/waNvVImr8D/Bo29/waNPVImr8D/Bo29/waNPVImr8D/Bo09l+KKPVImr8D/Bo09/waNPVImr8D/Bo09AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAFFmsT5wJHA/AAAAAFFmsT5wJHA/AAAAAFFmsT5wJHA/cCRwv1FmsT4AAAAAcCRwv1FmsT4AAAAAcCRwv1FmsT4AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAcCRwP1FmsT4AAAAAcCRwP1FmsT4AAAAAcCRwP1FmsT4AAAAAAAAAAFFmsT5wJHC/AAAAAFFmsT5wJHC/AAAAAFFmsT5wJHC/AACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAADAPgAAQD8AAMA+AACAP2L1Hz8AAIA/AAAgP3uDfz8AACA/AABAPwAAwD4AAIA+AAAgPwAAAAAAAMA+AAAAAAAAwD4AAIA/AAAgPwAAQD8AAMA+AABAPwAAAD4AAAA/AADAPgAAAD8AAMA+AACAPgAAAD4AAIA+AADAPgAAAD8AACA/AACAPgAAwD4AAIA+AADAPgAAQD8AACA/AAAAPwAAwD4AAAA/AADAPgAAAD8AAMA+AABAPwAAID8AAEA/AAAgPwAAAD9i9R8/AAAAPwAAwD4AAAA/AAAgPwAAAD8AACA/AACAPgAAwD4AAIA+AADAPgAAgD4AACA/AACAPgAAID8AAAAAAADAPgAAAAAAAAA+AAAAPwAAwD4AAAA/AADAPgAAgD4AAAA+AACAPgAAID8AAAA/vAJBP/mGwj4AACA/AACAPgAAYD8AAIA+AAAgPwAAgD97g18/AAAAPwAAYD8AAAA/AAABAAIAAgADAAQAAgAEAAAABQAGAAcACAAJAAoACwAMAA0ACwANAA4ADwAQABEAEgATABQAFQAWABcAFwAYABkAFwAZABUAGgAbABwAGgAcAB0AHgAfACAAHgAgACEAIgAjACQAIgAkACUAJgAnACgAKAAnACkAAwACACoAKQAnACsAKQArACwAJwAmACsA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 540,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 540,\n byteOffset: 540,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 360,\n byteOffset: 1080,\n byteStride: 8,\n target: 34962 },\n {\n name: \"bufferView_3\",\n buffer: 0,\n byteLength: 144,\n byteOffset: 1440,\n target: 34963 }],\n\n materials: [{\n name: \"Material.001\",\n pbrMetallicRoughness: {\n baseColorFactor: [.8, .8, .8, 1],\n metallicFactor: 0,\n roughnessFactor: .676000006 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Cube.001-Mesh\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1,\n TEXCOORD_0: 2 },\n\n indices: 3,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Cube.001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n jiantou: {\n accessors: [{\n name: \"��ͷ_1_0_positions\",\n componentType: 5126,\n count: 7,\n min: [-.47690001130104065, -.8044000267982483, 0],\n max: [.47780001163482666, 0, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"��ͷ_1_0_normals\",\n componentType: 5126,\n count: 7,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"��ͷ_1_0_indices\",\n componentType: 5123,\n count: 15,\n min: [0],\n max: [6],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"jiantou\",\n byteLength: 200,\n uri: \"data:application/octet-stream;base64,bxIDOintTb8AAAAAH/RsvsKGp74AAAAAPSz0vsKGp74AAAAANs17PsKGp74AAAAANKL0PsKGp74AAAAANs17PgAAAAAAAAAAH/RsvgAAAAAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAAADAAEAAAAEAAMAAQAFAAYAAQADAAUAAAA=\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 84,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 84,\n byteOffset: 84,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 32,\n byteOffset: 168,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat_003\",\n pbrMetallicRoughness: {\n baseColorFactor: [.588, .588, .588, 1],\n metallicFactor: 0,\n roughnessFactor: .99 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"��ͷ_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"��ͷ\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n xuanzhuan: {\n accessors: [{\n name: \"��ת001_1_0_positions\",\n componentType: 5126,\n count: 369,\n min: [-6.572299957275391, -7.298999786376953, 0],\n max: [6.5742998123168945, 7.298299789428711, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"��ת001_1_0_normals\",\n componentType: 5126,\n count: 369,\n min: [0, -1, 0],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"��ת001_1_0_indices\",\n componentType: 5123,\n count: 1089,\n min: [0],\n max: [368],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"旋转-新\",\n byteLength: 11036,\n uri: \"data:application/octet-stream;base64,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AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAwABAAAAAwAEAAEAAwAFAAQAAwAGAAUAAwAHAAYAAwAIAAcAAwAJAAgAAwAKAAkAAwALAAoAAwAMAAsADQAMAAMADQAOAAwADQAPAA4ADQAQAA8ADQARABAADQASABEADQATABIADQAUABMADQAVABQADQAWABUADQAXABYADQAYABcADQAZABgADQAaABkADQAbABoAHAAbAA0AHAAdABsAHAAeAB0AHAAfAB4AHAAgAB8AHAAhACAAHAAiACEAHAAjACIAHAAkACMAHAAlACQAHAAmACUAHAAnACYAHAAoACcAHAApACgAHAAqACkAHAArACoAHAAsACsAHAAtACwAHAAuAC0AHAAvAC4AHAAwAC8AHAAxADAAHAAyADEAHAAzADIAHAA0ADMAHAA1ADQAHAA2ADUAHAA3ADYAHAA4ADcAHAA5ADgAHAA6ADkAHAA7ADoAHAA8ADsAHAA9ADwAHAA+AD0AHAA/AD4AHABAAD8AQABBAD8AQQBCAD8AQgBDAD8AHABAAEQAHABEAEUAHABGAEUARgBHAEUARgBIAEcARgBJAEgARgBKAEkARgBLAEoARgBMAEsAHABNAEYAHABOAE0AHABPAE4AHABQAE8AHABRAFAAHABSAFEAUgBTAFEAUgBUAFMAUgBVAFQAUgBWAFUAUgBXAFYAUgBYAFcAHABZAFIAHABaAFkAHABbAFoAHABcAFsAHABdAFwAHABeAF0AHABfAF4AHABgAF8AHABhAGAAHABiAGEAHABjAGIAHABjAGQAZABlAGMAZQBmAGMAHABnAGQAaABpAGoAawBpAGgAbABpAGsAbQBpAGwAbgBpAG0AbwBpAG4AcABpAG8AcQBpAHAAcgBpAHEAcwBpAHIAdABnABwAdAB1AGcAdAB2AHUAdwB4AHkAdwB5AHoAegB5AHsAegB7AHwAfAB7AH0AfAB9AH4AfgB9AH8AfgB/AIAAgQCCAIMAgQCDAIQAhACDAIUAhACFAIYAhgCFAIcAhgCHAIgAiACHAIkAiACJAIoAiwCMAI0AiwCNAI4AjwCKAJAAigCJAJAAkQCSAJMAkQCTAJQAlACTAJUAlACVAJYAlgCVAJcAlgCXAJgAgAB/AIIAgACCAIEAmACXAJkAmACZAJoAmgCZAJsAmgCbAJwAnACbAJ0AnACdAJ4AngCdAHYAngB2AHQAnwB4AHcAoAB4AJ8AoAChAHgAogChAKAAowCkAKUAowCmAKQAowCnAKYAowCoAKcAowCpAKgAowCqAKkAowCrAKoAowCsAKsAowCtAKwAowCuAK0AowCvAK4AowCiAK8AowChAKIAsAChAKMAsQChALAAsgChALEAswChALIAtAChALMAtQChALQAtgChALUAtwChALYAuAChALcAuQChALgAugChALkAuwChALoAvAChALsAvQChALwAvgChAL0AvwChAL4AwAChAL8AwQChAMAAwgChAMEAwwChAMIAxAChAMMAxQChAMQAxgChAMUAxwChAMYAyAChAMcAyQChAMgAygChAMkAywChAMoAzAChAMsAzQChAMwAzgChAM0AzwChAM4A0AChAM8A0QChANAA0gChANEA0wChANIA1AChANMA1QChANQA1gChANUA1wChANYA2AChANcA2QChANgA2gChANkA2wChANoA3AChANsA3QChANwA3gChAN0A3wChAN4A4AChAN8A4QChAOAA4gChAOEA4wChAOIA5AChAOMA5QChAOQA5gChAOUA5wChAOYA6AChAOcA6QChAOgA6gChAOkA6wChAOoA7AChAOsA7QChAOwA7gChAO0A7wChAO4A8AChAO8A8QChAO8A8gChAPEA8wChAPIA9AChAPMA9QChAPQA9gChAPUA9gD3AKEA+AD3APYA+QD3APgA+gD3APkA+wD3APoA/AD3APsA/QD3APwA/gD3AP0A/wD3AP4AAAH3AP8AAQH3AAABAgH3AAEBAwH3AAIBBAH3AAMBBQH3AAQBBgH3AAUBBgEHAfcACAEHAQYBCQEHAQgBCgEHAQkBCwEHAQoBDAEHAQsBDQEHAQwBDgEHAQ0BDwEHAQ4BEAEHAQ8BEQESARMBFAESAREBFAEVARIBFgEVARQBFgEXARUBGAEXARYBGAEZARcBGgEbARgBGwEcARgBHAEZARgBHAEdARkBHQEeARkBHwEeAR0BGgEgARsBIQEeAR8BGgEiASABIwEiARoBIQEkAR4BJQEkASEBIwEmASIBJwEkASUBIwEoASYBKQEoASMBJwEqASQBKwEqAScBKQEsASgBLQEsASkBKwEuASoBLwEuASsBLQEwASwBMQEuAS8BLQEyATABjgCNADMBjgAzATQBNQE2ATcBNQE3ATgBOAE3ATkBOAE5AToBOwE8AT0BOwE9AT4BPwFAAUEBPwFBAUIBPgE9AUMBPgFDAUQBRQFGAUABRQFAAT8BRwFIAZIARwGSAJEASQFKAUYBSQFGAUUBRAFDAUsBRAFLAUwBOgE5AUoBOgFKAUkBTAFLAU0BTAFNAU4BTgFNAU8BTgFPAVABQgFBAVEBQgFRAVIBUgFRAS4BUgEuATEBNAEzATwBNAE8ATsBUwFUATYBUwE2ATUBUAFPATIBUAEyAS0BiwBVAYwAVgFUAVMBiwBXAVUBWAFUAVYBWAFZAVQBWgFXAYsAWgFbAVcBXAFZAVgBXAFdAVkBXgFbAVoBXgFfAVsBYAFdAVwBXgFhAV8BYgFdAWABYgFjAV0BZAFhAV4BZAFlAWEBZgFjAWIBZAFnAWUBZwFjAWYBZAFjAWcBZAFoAWMBaQFoAWQBaQFqAWgBawFqAWkBawFsAWoBbQFsAWsBbQFuAWwBbwFwAUgBbwFIAUcBAAA=\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 4428,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 4428,\n byteOffset: 4428,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 2180,\n byteOffset: 8856,\n target: 34963 }],\n\n materials: [{\n name: \"SVGMat\",\n pbrMetallicRoughness: {\n baseColorFactor: [.5, .5, .5, 1],\n metallicFactor: 0,\n roughnessFactor: 1 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"��ת001_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"��ת001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n plane: {\n accessors: [{\n name: \"Rectangle001_1_0_positions\",\n componentType: 5126,\n count: 4,\n min: [-5, -5, 0],\n max: [5, 5, 0],\n type: \"VEC3\",\n bufferView: 0,\n byteOffset: 0 },\n {\n name: \"Rectangle001_1_0_normals\",\n componentType: 5126,\n count: 4,\n min: [0, 0, 1],\n max: [0, 0, 1],\n type: \"VEC3\",\n bufferView: 1,\n byteOffset: 0 },\n {\n name: \"Rectangle001_1_0_indices\",\n componentType: 5123,\n count: 6,\n min: [0],\n max: [3],\n type: \"SCALAR\",\n bufferView: 2,\n byteOffset: 0 }],\n\n asset: {\n generator: \"obj2gltf\",\n version: \"2.0\" },\n\n buffers: [{\n name: \"plane\",\n byteLength: 108,\n uri: \"data:application/octet-stream;base64,AACgQAAAoEAAAAAAAACgwAAAoEAAAAAAAACgwAAAoMAAAAAAAACgQAAAoMAAAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAABAAIAAgADAAAA\" }],\n\n bufferViews: [{\n name: \"bufferView_0\",\n buffer: 0,\n byteLength: 48,\n byteOffset: 0,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_1\",\n buffer: 0,\n byteLength: 48,\n byteOffset: 48,\n byteStride: 12,\n target: 34962 },\n {\n name: \"bufferView_2\",\n buffer: 0,\n byteLength: 12,\n byteOffset: 96,\n target: 34963 }],\n\n materials: [{\n name: \"wire_225198087\",\n pbrMetallicRoughness: {\n baseColorFactor: [.8824, .7765, .3412, 1],\n metallicFactor: 0,\n roughnessFactor: .968 },\n\n emissiveFactor: [0, 0, 0],\n alphaMode: \"OPAQUE\",\n doubleSided: !1 }],\n\n meshes: [{\n name: \"Rectangle001_1\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1 },\n\n indices: 2,\n material: 0,\n mode: 4 }] }],\n\n\n nodes: [{\n name: \"Rectangle001\",\n mesh: 0 }],\n\n scene: 0,\n scenes: [{\n nodes: [0] }] },\n\n\n xyzScale: {\n asset: {\n generator: \"Khronos glTF Blender I/O v1.6.16\",\n version: \"2.0\" },\n\n scene: 0,\n scenes: [{\n name: \"Scene\",\n nodes: [0, 1, 2, 3, 4, 5, 6] }],\n\n nodes: [{\n mesh: 0,\n name: \"Cube\",\n scale: [.7008190751075745, .014999999664723873, .014999999664723873] },\n {\n mesh: 1,\n name: \"Cube.001\",\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] },\n {\n mesh: 2,\n name: \"Cube.004\",\n rotation: [0, -.7071068286895752, 0, .7071068286895752],\n scale: [.7008190751075745, .014999999664723873, .014999999664723873] },\n {\n mesh: 3,\n name: \"Cube.003\",\n rotation: [0, -.7071068286895752, 0, .7071068286895752],\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] },\n {\n mesh: 4,\n name: \"Cube.006\",\n rotation: [0, 0, .7071068286895752, .7071068286895752],\n scale: [.7008190751075745, .014999999664723873, .014999999664723873] },\n {\n mesh: 5,\n name: \"Cube.005\",\n rotation: [0, 0, .7071068286895752, .7071068286895752],\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] },\n {\n mesh: 6,\n name: \"Cube.002\",\n scale: [.10000000149011612, .10000000149011612, .10000000149011612] }],\n\n materials: [{\n doubleSided: !0,\n name: \"Material\",\n pbrMetallicRoughness: {\n baseColorFactor: [.6938720345497131, .020288480445742607, .011612260714173317, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.001\",\n pbrMetallicRoughness: {\n baseColorFactor: [.6938720345497131, .020288480445742607, .011612260714173317, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.002\",\n pbrMetallicRoughness: {\n baseColorFactor: [.626582869887352, .626582869887352, .626582869887352, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.006\",\n pbrMetallicRoughness: {\n baseColorFactor: [.11193240433931351, .5583405494689941, .033104799687862396, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.005\",\n pbrMetallicRoughness: {\n baseColorFactor: [.11193240433931351, .5583405494689941, .033104799687862396, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.010\",\n pbrMetallicRoughness: {\n baseColorFactor: [.004391402006149292, .21223078668117523, .5209956169128418, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } },\n\n {\n doubleSided: !0,\n name: \"Material.009\",\n pbrMetallicRoughness: {\n baseColorFactor: [.004391402006149292, .21223078668117523, .5209956169128418, 1],\n metallicFactor: 0,\n roughnessFactor: .4000000059604645 } }],\n\n\n meshes: [{\n name: \"Cube\",\n primitives: [{\n attributes: {\n POSITION: 0,\n NORMAL: 1,\n TEXCOORD_0: 2 },\n\n indices: 3,\n material: 0 }] },\n\n {\n name: \"Cube.001\",\n primitives: [{\n attributes: {\n POSITION: 4,\n NORMAL: 5,\n TEXCOORD_0: 6 },\n\n indices: 3,\n material: 1 }] },\n\n {\n name: \"Cube.006\",\n primitives: [{\n attributes: {\n POSITION: 10,\n NORMAL: 11,\n TEXCOORD_0: 12 },\n\n indices: 3,\n material: 3 }] },\n\n {\n name: \"Cube.005\",\n primitives: [{\n attributes: {\n POSITION: 13,\n NORMAL: 14,\n TEXCOORD_0: 15 },\n\n indices: 3,\n material: 4 }] },\n\n {\n name: \"Cube.010\",\n primitives: [{\n attributes: {\n POSITION: 16,\n NORMAL: 17,\n TEXCOORD_0: 18 },\n\n indices: 3,\n material: 5 }] },\n\n {\n name: \"Cube.009\",\n primitives: [{\n attributes: {\n POSITION: 19,\n NORMAL: 20,\n TEXCOORD_0: 21 },\n\n indices: 3,\n material: 6 }] },\n\n {\n name: \"Cube.002\",\n primitives: [{\n attributes: {\n POSITION: 7,\n NORMAL: 8,\n TEXCOORD_0: 9 },\n\n indices: 3,\n material: 2 }] }],\n\n\n accessors: [{\n bufferView: 0,\n componentType: 5126,\n count: 24,\n max: [2.0003609657287598, 1, 1],\n min: [.0003610849380493164, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 1,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 2,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 3,\n componentType: 5123,\n count: 36,\n type: \"SCALAR\" },\n {\n bufferView: 4,\n componentType: 5126,\n count: 24,\n max: [14.549108505249023, 1, 1],\n min: [12.549108505249023, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 5,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 6,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 7,\n componentType: 5126,\n count: 24,\n max: [1, 1, 1],\n min: [-1, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 8,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 9,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 10,\n componentType: 5126,\n count: 24,\n max: [2.0003609657287598, 1, 1],\n min: [.0003610849380493164, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 11,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 12,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 13,\n componentType: 5126,\n count: 24,\n max: [14.549108505249023, 1, 1],\n min: [12.549108505249023, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 14,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 15,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 16,\n componentType: 5126,\n count: 24,\n max: [2.0003609657287598, 1, 1],\n min: [.0003610849380493164, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 17,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 18,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" },\n {\n bufferView: 19,\n componentType: 5126,\n count: 24,\n max: [14.549108505249023, 1, 1],\n min: [12.549108505249023, -1, -1],\n type: \"VEC3\" },\n {\n bufferView: 20,\n componentType: 5126,\n count: 24,\n type: \"VEC3\" },\n {\n bufferView: 21,\n componentType: 5126,\n count: 24,\n type: \"VEC2\" }],\n\n bufferViews: [{\n buffer: 0,\n byteLength: 288,\n byteOffset: 0 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 288 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 576 },\n {\n buffer: 0,\n byteLength: 72,\n byteOffset: 768 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 840 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 1128 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 1416 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 1608 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 1896 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 2184 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 2376 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 2664 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 2952 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 3144 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 3432 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 3720 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 3912 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 4200 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 4488 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 4680 },\n {\n buffer: 0,\n byteLength: 288,\n byteOffset: 4968 },\n {\n buffer: 0,\n byteLength: 192,\n byteOffset: 5256 }],\n\n buffers: [{\n byteLength: 5448,\n uri: \"data:application/octet-stream;base64,6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAQAOABQAAQAUAAcACgAGABMACgATABcAFQASAAwAFQAMAA8AEAADAAkAEAAJABYABQACAAgABQAIAAsAEQANAAAAEQAAAAQAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAAACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgD8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgL8AAIC/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgD8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAPwAAgL8AAIA/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgD8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgL8AAIC/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgD8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AACAvwAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgD8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgL8AAIC/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgD8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/6gUAQAAAgL8AAIA/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgD8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgL8AAIC/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgD8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AFC9OQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAAJsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgD8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgL8AAIC/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgD8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JsloQQAAgL8AAIA/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgD8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgL8AAIC/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgD8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/JslIQQAAgL8AAIA/AAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAPwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAPwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AACAPwAAAAAAAACAAACAvwAAAAAAAACAAAAAAAAAAAAAAIC/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIC/AACAvwAAAAAAAACAAAAAAAAAAAAAAIA/AAAAAAAAgD8AAACAAACAvwAAAAAAAACAAAAAAAAAgL8AAACAAAAAAAAAAAAAAIA/AAAgPwAAAD8AACA/AAAAPwAAID8AAAA/AADAPgAAAD8AAMA+AAAAPwAAwD4AAAA/AAAgPwAAgD4AACA/AACAPgAAID8AAIA+AADAPgAAgD4AAMA+AACAPgAAwD4AAIA+AAAgPwAAQD8AACA/AABAPwAAYD8AAAA/AADAPgAAQD8AAAA+AAAAPwAAwD4AAEA/AAAgPwAAgD8AACA/AAAAAAAAYD8AAIA+AADAPgAAgD8AAAA+AACAPgAAwD4AAAAA\" }] } },\n\n\n\n I = function I() {\n if (\"undefined\" != typeof globalThis) return globalThis;\n if (\"undefined\" != typeof self) return self;\n if (\"undefined\" != typeof window) return window;\n if (\"undefined\" != typeof global) return global;\n throw new Error(\"unable to locate global object\");\n },\n g = I(),\n r = g.gl_trans__coders = g.gl_trans__coders || {};\n r.inject = function (A) {\n var e = A.toString(),\n t = e.indexOf(\"{\") + 1,\n s = e.substring(0, t),\n i = g.gl_trans__coders = g.gl_trans__coders || {};\n var n = \"\".concat(s, \"\\n const _____getGlobal = \").concat(I.toString(), \";\\n const g___lobals = _____getGlobal()\\n const tran_____scoders = g___lobals['gl_trans__coders'] = g___lobals['gl_trans__coders'] || {};\");\n for (var _A in i) \"inject\" !== _A && \"getTranscoder\" !== _A && \"registerTranscoder\" !== _A && (n += 'tran_____scoders[\"' + _A + '\"] =' + i[_A].toString() + \"\\n;\");\n return n += \"\\n(\" + I().maptalks_gltf_loader_bundle.toString() + \")({});\\n\", n += \"\\n\" + e.substring(s.length), n;\n }, r.registerTranscoder = function (A, e) {\n r[A] = e;\n }, r.getTranscoder = function (A) {\n return r[A];\n };\n var a = I().maptalks_gltf_loader;\n function C(A, t, s, i, n, I) {\n var g = [],\n r = e.quat.fromEuler([], s[0], s[1], s[2]),\n C = e.mat4.fromRotationTranslationScale([], r, t, i),\n h = function (A) {\n return new a.GLTFLoader(\"\", JSON.parse(JSON.stringify(o[A]))).load().then(function (A) {\n return A;\n });\n }(A);\n return h.then(function (A) {\n e.reshader.GLTFHelper.exportGLTFPack(A).getMeshesInfo().forEach(function (A, o) {\n var r = new e.reshader.Material({\n color: n || A.materialInfo.baseColorFactor }),\n\n a = new e.reshader.Mesh(A.geometry, r);\n a.setUniform(\"uPickingId\", I + o);\n var h = a.getDefines();\n h.HAS_PICKING_ID = 2, a.setDefines(h), a.translate = t, a.rotation = s, a.scaling = i, e.mat4.multiply(a.localTransform, C, A.nodeMatrix), a.originTransform = e.mat4.copy([], a.localTransform), a.originColor = n || A.materialInfo.baseColorFactor, g.push(a);\n }), I > 100 && (g[0].properties.relatedMeshes = g.slice(1, 2), g[1].properties.relatedMeshes = g.slice(0, 1), g[2].properties.relatedMeshes = g.slice(3, 4), g[3].properties.relatedMeshes = g.slice(2, 3), g[4].properties.relatedMeshes = g.slice(5, 6), g[5].properties.relatedMeshes = g.slice(4, 5), g[6].properties.relatedMeshes = g.slice(0, 6));\n }), g;\n }\n function h(A, e) {\n return Math.abs(A) * Math.sign(e);\n }\n function w(A, t) {\n var s = A.getCoordinates(),\n i = t.coordinateToPointAtRes(s, t.getGLRes()),\n o = [i.x, i.y, 0],\n I = c(t, A.getTranslation());\n e.vec3.add(o, o, I);\n var g = function (A, e, t, s) {\n return A._pointAtResToContainerPoint(e, t, s);\n }(t, new n.Point(o[0], o[1]), t.getGLRes());\n g.x += 85;\n var r = function (A, e, t, s) {\n {\n var _s = A.containerPointToCoordinate(e);\n return A.coordinateToPointAtRes(_s, t);\n }\n }(t, g, t.getGLRes());\n return Math.sqrt(Math.pow(r.x - o[0], 2) + Math.pow(r.y - o[1], 2)) / 5.272881136101205;\n }\n function c(A, t) {\n if (!A) return t;\n var s = A.distanceToPointAtRes(t[0], t[1], A.getGLRes()),\n i = A.altitudeToPoint(t[2], A.getGLRes());\n return e.vec3.set([], h(s.x, t[0]), h(s.y, t[1]), h(i, t[2]));\n }\n var f = function () {\n function f(A) {\n _classCallCheck(this, f);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(f, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = 340 / 177,\n t = C(\"jiantou\", [1.2 * e, 0, 0], [0, 0, 90], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 7),\n s = C(\"jiantou\", [0, 1.2 * e, 0], [0, 0, 180], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 8),\n i = C(\"jiantou\", [-1.2 * e, 0, 0], [0, 0, 270], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 9),\n n = C(\"jiantou\", [0, -1.2 * e, 0], [0, 0, 0], [e, e, e], [89 / 255, 206 / 255, 147 / 255, 0], 10);\n return A.push(t, s, i, n), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var Q = function () {\n function Q(A) {\n _classCallCheck(this, Q);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(Q, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = 340 / 177,\n t = C(\"xuanzhuan\", [0, 0, 0], [180, 0, 0], [.5 * e, .5 * e, .5 * e], [50 / 255, 130 / 255, 184 / 255, .8], 11);\n return A.push(t), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var l = function () {\n function l(A) {\n _classCallCheck(this, l);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(l, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = 340 / 177,\n t = C(\"yuanhuan\", [0, 0, 0], [0, 0, 0], [.5 * e, .5 * e, .5 * e], [149 / 255, 179 / 255, 199 / 255, .5], 12);\n return A.push(t), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var u = function () {\n function u(A) {\n _classCallCheck(this, u);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(u, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = C(\"plane\", [0, 0, 0], [0, 0, 0], [10, 10, 10], [1, 0, 0, .5], 16);\n return A.push(e), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var P = function () {\n function P(A) {\n _classCallCheck(this, P);\n this.A = A, this._meshes = this.t();\n }\n return _createClass(P, [{\n key: \"setCoordinate\",\n value: function setCoordinate(A) {\n this.A = A;\n } },\n {\n key: \"t\",\n value: function t() {\n var A = [],\n e = C(\"xyzScale\", [0, 0, 0], [0, 0, 0], [2, 2, 2], null, 113);\n return A.push(e), A;\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes() {\n return this._meshes;\n } }]);\n\n }();\n var D = [],\n b = [],\n m = [],\n B = [],\n y = [],\n p = [177 / 170, 177 / 170, 177 / 170],\n v = [],\n d = [1, 2, 3, 4, 12];\n var L = function () {\n function L() {\n _classCallCheck(this, L);\n this.translate = new f(), this.rotation = new Q(), this.scaling = new l(), this.planeHelper = new u(), this.xyzScaleHelper = new P(), this._meshes = this.t(), this.i = !0;\n }\n return _createClass(L, [{\n key: \"t\",\n value: function t() {\n var A = {};\n A.translate = this.translate.getMeshes(), A.rotation = this.rotation.getMeshes(), A.scaling = this.scaling.getMeshes(), A.planeHelper = this.planeHelper.getMeshes(), A.xyzScale = this.xyzScaleHelper.getMeshes();\n var e = 340 / 177,\n t = C(\"yuanhuan41\", [-2.745 * e, 2.745 * e, 0], [90, 0, 0], [.5 * e, .5 * e, .5 * e], [149 / 255, 179 / 255, 199 / 255, .6], 1),\n s = C(\"yuanhuan41\", [2.745 * e, 2.745 * e, 0], [-90, 0, 180], [.5 * e, .5 * e, .5 * e], [50 / 255, 130 / 255, 184 / 255, .5], 2),\n i = C(\"yuanhuan41\", [2.745 * e, -2.745 * e, 0], [90, 0, 180], [.5 * e, .5 * e, .5 * e], [149 / 255, 179 / 255, 199 / 255, .6], 3),\n n = C(\"yuanhuan41\", [-2.745 * e, -2.745 * e, 0], [-90, 0, 0], [.5 * e, .5 * e, .5 * e], [50 / 255, 130 / 255, 184 / 255, .5], 4),\n o = C(\"yuanpan\", [0, 0, 0], [90, 0, 0], [.5 * e, .5 * e, .5 * e], [89 / 255, 206 / 255, 147 / 255, .5], 5),\n I = C(\"zzhou\", [0, 0, 6.5], [90, 0, 0], [1, 1, 1], [14 / 255, 127 / 255, 191 / 255, 1], 6);\n return A.translate.push(t, s, i, n, o, I), A;\n } },\n {\n key: \"updateMatrix\",\n value: function updateMatrix(A, t, s, i, n) {\n var o = t.getCoordinates(),\n I = A.coordinateToPointAtRes(o, A.getGLRes()),\n g = t.o();\n e.vec3.set(b, I.x, I.y, g);\n var r = e.vec3.copy(D, n),\n a = c(A, t.getTranslation());\n e.vec3.add(b, b, a), e.vec3.add(b, b, r);\n for (var _n in this._meshes) for (var _o = 0; _o < this._meshes[_n].length; _o++) {\n var _I = this._meshes[_n][_o];\n for (var _o2 = 0; _o2 < _I.length; _o2++) {\n var _g = _I[_o2],\n _r = _g.getUniform(\"uPickingId\"),\n _a = e.vec3.copy(D, _g.translate);\n var _C = e.vec3.copy(v, _g.rotation);\n var _h = _g.scaling;\n if (11 === _r && (this.i ? (_C[2] += s, _g.rotation[2] += s) : this.i || (_C[2] += s, _g.rotation[2] += s, _C[0] = 360, _C[2] -= 90)), _r > 100 && 1 === t.getTargets().length && (_C = t.getTargets()[0].getRotation()), d.indexOf(_r) > -1) if (12 !== _r) _h[0] += i, _h[1] += i, _h[2] += i;else {\n var _A2 = this._meshes.translate[4][0];\n _h[0] = 1.2 * _A2.scaling[0], _h[1] = 1.2 * _A2.scaling[0], _h[2] = 1.2 * _A2.scaling[0];\n }\n var _c = w(t, A);\n if (_c = e.vec3.set(m, _c, _c, _c), e.vec3.multiply(_a, _a, _c), e.vec3.multiply(_c, _c, _h), 1 === _r || 2 === _r || 3 === _r || 4 === _r) {\n var _A3 = e.vec3.multiply(y, _h, p);\n e.vec3.multiply(_a, _a, _A3);\n }\n var _f = e.quat.fromEuler(B, _C[0], _C[1], _C[2]);\n if (e.vec3.add(_a, _a, b), \"xyzScale\" === _n) {\n var _A4 = e.mat4.fromRotationTranslationScale([], _f, _a, _c);\n e.mat4.multiply(_g.localTransform, _A4, _g.originTransform);\n } else e.mat4.fromRotationTranslationScale(_g.localTransform, _f, _a, _c);\n }\n }\n } },\n {\n key: \"getMeshes\",\n value: function getMeshes(A) {\n var e = {};\n return A ? (\"xyzScale\" === A ? e[A] = this._meshes[A] : (e.translate = this._meshes.translate, \"translate\" !== A && (e[A] = this._meshes[A])), e) : e;\n } },\n {\n key: \"I\",\n value: function I(A) {\n this.i = A;\n } },\n {\n key: \"dispose\",\n value: function dispose() {\n for (var _A5 in this._meshes) for (var _e = 0; _e < this._meshes[_A5].length; _e++) {\n var _t = this._meshes[_A5][_e];\n for (var _A6 = 0; _A6 < _t.length; _A6++) {\n var _e2 = _t[_A6];\n _e2.geometry.dispose(), _e2.dispose();\n }\n }\n } }]);\n\n }();\n var M = [],\n E = [],\n O = [],\n F = new t.Point(0, 0),\n x = [],\n U = [],\n V = [],\n S = [0, 0, 0];\n var k = function () {\n function k() {\n _classCallCheck(this, k);\n this.C = [], this.h = [0, 0, 0], this.l = [1, 1, 1], this.u = [0, 0, 0];\n }\n return _createClass(k, [{\n key: \"P\",\n value: function P(A) {\n var _this = this;\n Array.isArray(A) ? A.forEach(function (A) {\n _this.P(A);\n }) : (A.on(\"remove\", this.D, this), A.m = {\n coordinate: A.getCoordinates(),\n translation: A.getTranslation(),\n rotation: A.getRotation(),\n scale: A.getScale() },\n this.C.push(A));\n } },\n {\n key: \"B\",\n value: function B() {\n var _this2 = this;\n this.C.forEach(function (A) {\n A.off(\"remove\", _this2.D, _this2);\n }), this.C = [];\n } },\n {\n key: \"p\",\n value: function p(A, t, s, i, n, o, I) {\n for (var _I2 = 0; _I2 < this.C.length; _I2++) {\n var _g2 = this.C[_I2],\n _r2 = _g2.getRotation(),\n _a2 = _g2.getScale(),\n _C2 = this.v(o, _g2, i, s, t);\n var _h2 = null;\n _h2 = i >= 0 ? i : i * (this.options && this.options.scaleStrength || 1);\n var _w = e.vec3.add(V, e.vec3.set(M, _h2 * _a2[0], _h2 * _a2[1], _h2 * _a2[2]), _a2),\n _c2 = Math.min.apply(Math, _toConsumableArray(_w));\n if (Math.abs(_c2) < n) {\n var _A7 = Math.abs(_c2);\n _w[0] = _w[0] * (n / _A7), _w[1] = _w[1] * (n / _A7), _w[2] = _w[2] * (n / _A7);\n }\n var _f2 = e.vec3.add(_r2, s, _r2);\n _g2.setCoordinates(_C2), this.L(A, _w, _a2);\n var _Q = _g2.getTranslation();\n _g2.setTRS(_Q, _f2, _w);\n }\n e.vec3.set(V, i, i, i), e.vec3.add(this.u, s, this.u), e.vec3.add(this.l, V, this.l), e.vec3.add(this.h, t, this.h), A.indexOf(\"translate\") > -1 ? I.fire(\"positionchange\", {\n action: A,\n type: \"positionchange\",\n transformtarget: this.C,\n center: this.getCoordinates(),\n scale: this.l,\n rotation: this.u,\n translation: this.h,\n deltaTranslate: t,\n deltaRotation: s,\n deltaScale: i }) :\n I.fire(\"transforming\", {\n action: A,\n type: \"transforming\",\n transformtarget: this.C,\n center: this.C[0].getTransformOrigin(),\n scale: this.l,\n rotation: this.u,\n translation: this.h,\n deltaTranslate: t,\n deltaRotation: s,\n deltaScale: i });\n\n } },\n {\n key: \"v\",\n value: function v(A, t, s, i, n) {\n var o = t.getCenter(),\n I = t.getTransformOrigin(),\n g = A.getGLRes(),\n r = A.coordinateToPointAtRes(o, g, F);\n r.z = A.altitudeToPoint(o.z, g), e.vec3.set(x, r.x, r.y, r.z || 0);\n var a = A.coordinateToPointAtRes(I, g, F);\n a.z = A.altitudeToPoint(I.z, g), e.vec3.set(U, a.x, a.y, a.z || 0);\n var C = e.vec3.sub(M, x, U),\n h = e.quat.fromEuler(E, 0, 0, i[2]);\n e.vec3.set(V, s + 1, s + 1, s + 1);\n var w = e.mat4.fromRotationTranslationScale(O, h, n, V);\n e.vec3.transformMat4(C, C, w), e.vec3.add(C, C, U), F.set(C[0], C[1]);\n var c = A.pointAtResToCoordinate(F, g);\n return c.z = C[2] / A.altitudeToPoint(1, g), c;\n } },\n {\n key: \"L\",\n value: function L(A, e, t) {\n return \"x-scale\" === A && (e[1] = t[1], e[2] = t[2]), \"y-scale\" === A && (e[0] = t[0], e[2] = t[2]), \"z-scale\" === A && (e[0] = t[0], e[1] = t[1]), e;\n } },\n {\n key: \"M\",\n value: function M() {\n this.C.forEach(function (A) {\n if (A.m) {\n var _A$m = A.m,\n _e3 = _A$m.coordinate,\n _t2 = _A$m.translation,\n _s2 = _A$m.rotation,\n _i = _A$m.scale;\n A.setCoordinates(_e3), A.setTRS(_t2, _s2, _i);\n }\n });\n } },\n {\n key: \"getScale\",\n value: function getScale() {\n return this.l;\n } },\n {\n key: \"getTranslation\",\n value: function getTranslation() {\n return 1 === this.C.length && this.C[0].getTranslation() || S;\n } },\n {\n key: \"getRotation\",\n value: function getRotation() {\n return this.u;\n } },\n {\n key: \"O\",\n value: function O() {\n return this.C[0] ? this.C[0].getLayer() : null;\n } },\n {\n key: \"getCoordinates\",\n value: function getCoordinates() {\n var A = 0,\n e = 0,\n s = 0;\n var i = this.C.length;\n if (!i) return null;\n for (var _t3 = 0; _t3 < i; _t3++) {\n var _i2 = this.C[_t3].getCenter();\n A += _i2.x, e += _i2.y, s += _i2.z || 0;\n }\n A /= i, e /= i, s /= i;\n var n = new t.Coordinate(A, e, s);\n for (var _A8 = 0; _A8 < i; _A8++) this.C[_A8].setTransformOrigin(n);\n return n;\n } },\n {\n key: \"D\",\n value: function D(A) {\n var e = A.target,\n t = this.C.indexOf(e);\n t > -1 && (delete e.m, this.C.splice(t, 1));\n } },\n {\n key: \"getTargets\",\n value: function getTargets() {\n return this.C;\n } },\n {\n key: \"o\",\n value: function o() {\n var A = 0;\n var e = this.C.length;\n for (var _t4 = 0; _t4 < e; _t4++) {\n A += this.C[_t4].getPointZ();\n }\n return A /= e, A;\n } },\n {\n key: \"F\",\n value: function F() {\n for (var _A9 = 0; _A9 < this.C.length; _A9++) if (this.C[_A9].isVisible()) return !0;\n return !1;\n } }]);\n\n }();\n var T = [5, 6, 7, 8, 9, 10],\n _ = [5, 7, 8, 9, 10],\n _H = [2, 4, 11],\n J = [1, 3, 12],\n N = [12, 16],\n R = [1, 2, 3, 4],\n K = [1, 2, 3, 4, 12],\n j = [],\n z = [],\n G = [],\n Z = [],\n Y = [],\n q = [],\n W = [];\n var X = function (_t$Eventable) {\n function X() {\n var _this3;\n var A = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, X);\n _this3 = _callSuper(this, X, [A]), _this3.options = A, _this3.mouseAction = \"moving\", _this3.U = _this3.options.mode || \"translate\", _this3.V = !0, _this3.TransformHelper = new L(), _this3.S = new k(), _this3.helperScene = new e.reshader.Scene([]), _this3.addToMapCount = 0, _this3.k();\n return _this3;\n }\n _inherits(X, _t$Eventable);\n return _createClass(X, [{\n key: \"setCoordinates\",\n value: function setCoordinates(A) {\n this.T.setCoordinates(A), this.transform(this.T);\n } },\n {\n key: \"enable\",\n value: function enable() {\n return this.V = !0, this.layerRenderer && this.layerRenderer.setToRedraw(), this;\n } },\n {\n key: \"disable\",\n value: function disable() {\n return this.V = !1, this.layerRenderer && this.layerRenderer.setToRedraw(), this.map && this.map.resetCursor(), this;\n } },\n {\n key: \"setMode\",\n value: function setMode(A) {\n this.U = A, this._(), this.layerRenderer && this.layerRenderer.setToRedraw(), this.fire(\"modechange\", {\n mode: A,\n type: \"modechange\" });\n\n } },\n {\n key: \"getMode\",\n value: function getMode() {\n return this.U;\n } },\n {\n key: \"isEnable\",\n value: function isEnable() {\n return this.V;\n } },\n {\n key: \"H\",\n value: function H(A) {\n T.indexOf(A) > -1 ? this.U = \"translate\" : _H.indexOf(A) > -1 ? this.U = \"rotation\" : J.indexOf(A) > -1 ? this.U = \"scaling\" : \"xyzScale\" !== this.U && (this.U = \"translate\");\n } },\n {\n key: \"J\",\n value: function J() {\n return this.U;\n } },\n {\n key: \"addTo\",\n value: function addTo(A) {\n if (this.map) return this.N(), void console.warn(\"transform control has been added to a map, it suggest remove from the map before\");\n this.addToMapCount++, this.map = A, this.R.addTo(this.map), this.container = A.getContainer(), A.on(\"dom:mousemove\", this.K, this), A.on(\"dom:mousedown\", this.j, this), A.on(\"dom:mouseup\", this.G, this), A.on(\"zooming moving dragrotating\", this.Z, this), this.Y();\n } },\n {\n key: \"k\",\n value: function k() {\n this.R = new s.GLTFLayer(\"\".concat(t.INTERNAL_LAYER_PREFIX, \"_transformcontrol\")), this.T = new s.GLTFMarker([0, 0], {\n symbol: {\n url: \"cube\",\n modelHeight: 1,\n uniforms: {\n polygonOpacity: .01 } } }).\n\n\n addTo(this.R);\n } },\n {\n key: \"remove\",\n value: function remove() {\n this.map && (this.N(), this.TransformHelper.dispose(), this.R.remove(), this.layerRenderer && this.layerRenderer.setToRedraw(), delete this.T, delete this.R, delete this.map, delete this.layer, delete this.layerRenderer, delete this.container, delete this.S);\n } },\n {\n key: \"N\",\n value: function N() {\n this.container && this.map && (this.map.off(\"dom:mousemove\", this.K, this), this.map.off(\"dom:mousedown\", this.j, this), this.map.off(\"dom:mouseup\", this.G, this), this.map.off(\"zooming moving dragrotating\", this.Z, this), this.layer && this.layer.off(\"renderend\", this.render, this));\n } },\n {\n key: \"K\",\n value: function K(A) {\n if (this.q()) {\n if (this.currentMousePosition = {\n x: A.containerPoint.x,\n y: A.containerPoint.y },\n \"moving\" === this.mouseAction) {\n var _A10 = this.W();\n this.currentPickingObject = this.X(this.currentMousePosition, _A10, \"meshes\"), this.currentPickingObject && null != this.currentPickingObject.pickingId ? (this.H(this.currentPickingObject.pickingId), 6 === this.currentPickingObject.pickingId ? this.$(!0) : this.$(!1)) : (this.$(!1), this.H()), this.AA();\n }\n this.eA(this.currentMousePosition);\n }\n } },\n {\n key: \"j\",\n value: function j(A) {\n if (!this.q() || 0 !== A.domEvent.button) return;\n var e = this.W();\n this.currentMousePosition = {\n x: A.containerPoint.x,\n y: A.containerPoint.y },\n this.tA = !0, this.currentPickingObject = this.X(this.currentMousePosition, e, \"meshes\"), this.firstDownPoint = this.X(this.currentMousePosition, e, \"meshes\"), this.currentPickingObject && null != this.currentPickingObject.meshId ? (this.mouseAction = \"transform\", this.sA(this.currentPickingObject.pickingId), this.map.config(\"zoomable\", !1), this.map.config(\"draggable\", !1), this.layerRenderer && this.layerRenderer.setToRedraw()) : (this.mouseAction = \"pan\", this.map.config(\"zoomable\", !0), this.map.config(\"draggable\", !0), this._()), this.lastMousePosition = this.currentMousePosition, this.lastPickingObject = this.currentPickingObject, this.lastPickingMesh = e[this.currentPickingObject.meshId];\n } },\n {\n key: \"G\",\n value: function G() {\n \"transform\" === this.mouseAction && (this.firstDownPoint = null, this._(), this.tA = !0, this.fire(\"transformend\", {\n action: this.iA,\n type: \"transformend\",\n transformtarget: this.S.getTargets() })),\n this.mouseAction = \"moving\", \"xyzScale\" !== this.U && (this.U = \"translate\"), this.map.config(\"zoomable\", !0), this.map.config(\"draggable\", !0), this.layerRenderer && this.layerRenderer.setToRedraw();\n } },\n {\n key: \"Z\",\n value: function Z() {\n var A = this.TransformHelper.planeHelper.getMeshes()[0][0],\n e = this.map.getBearing();\n A.rotation[2] = -e, this.nA();\n } },\n {\n key: \"nA\",\n value: function nA() {\n this.q() && (this.TransformHelper.updateMatrix(this.map, this.S, 0, 0, [0, 0, 0]), this.tA = !0);\n } },\n {\n key: \"picked\",\n value: function picked(A) {\n if (!this.layerRenderer) return !1;\n var e = this.W(),\n s = this.map;\n var i = A;\n A instanceof t.Point || (i = s.coordinateToContainerPoint(new t.Coordinate(A)));\n var n = this.X(i, e, \"picked\");\n return !(!n || null === n.meshId);\n } },\n {\n key: \"_\",\n value: function _() {\n var A = this.TransformHelper.getMeshes(\"scaling\").scaling[0][0],\n e = 340 / 177;\n A.scaling = [.6 * e, .6 * e, .6 * e], this.layerRenderer && (this.oA(A), this.IA());\n } },\n {\n key: \"IA\",\n value: function IA() {\n this.TransformHelper._meshes.translate.forEach(function (A) {\n for (var _e4 = 0; _e4 < A.length; _e4++) {\n var _t5 = A[_e4];\n R.indexOf(_t5.getUniform(\"uPickingId\")) > -1 && _t5.material.set(\"color\", _t5.originColor);\n }\n });\n } },\n {\n key: \"oA\",\n value: function oA(A) {\n var _this4 = this;\n var t = this.S.getCoordinates(),\n s = this.map.coordinateToPointAtRes(t, this.map.getGLRes()),\n i = [s.x, s.y, 0],\n n = c(this.map, this.S.getTranslation());\n e.vec3.add(i, i, n);\n var o = e.vec3.copy([], A.translate),\n I = A.scaling;\n var g = w(this.S, this.map);\n g = e.vec3.set([], g, g, g), e.vec3.multiply(o, o, g), e.vec3.multiply(g, g, I), e.vec3.add(o, o, i), e.mat4.fromRotationTranslationScale(A.localTransform, [0, 0, 0, 1], o, g);\n this.W().forEach(function (A) {\n var t = A.getUniform(\"uPickingId\");\n if (1 === t || 3 === t || 2 === t || 4 === t) {\n var _t6 = e.vec3.copy([], A.translate),\n _s3 = 170 / 177;\n A.scaling = [_s3, _s3, _s3];\n var _n2 = A.scaling,\n _o3 = A.rotation;\n var _I3 = w(_this4.S, _this4.map);\n _I3 = e.vec3.set([], _I3, _I3, _I3), e.vec3.multiply(_t6, _t6, _I3), e.vec3.multiply(_I3, _I3, _n2), e.vec3.add(_t6, _t6, i);\n var _g3 = e.quat.fromEuler([], _o3[0], _o3[1], _o3[2]);\n e.mat4.fromRotationTranslationScale(A.localTransform, _g3, _t6, _I3);\n }\n });\n } },\n {\n key: \"gA\",\n value: function gA(A) {\n var e = this.map.containerPointToCoordinate(A),\n t = this.map.coordinateToPointAtRes(e, this.map.getGLRes());\n return {\n point: [t.x, t.y] };\n\n } },\n {\n key: \"eA\",\n value: function eA(A) {\n if (\"transform\" === this.mouseAction) {\n var _A11 = this.J(),\n _s4 = c(this.map, this.S.getTranslation()),\n _i3 = this.S.o();\n var _n3 = null,\n _o4 = null;\n if (_s4[2] + _i3 < .01 && \"z-translate\" !== this.iA) _n3 = this.gA(this.currentMousePosition), _o4 = this.gA(this.lastMousePosition);else {\n var _A12 = this.TransformHelper.planeHelper.getMeshes()[0];\n if (_n3 = this.X(this.currentMousePosition, _A12, \"plane\"), _o4 = this.X(this.lastMousePosition, _A12, \"plane\"), !_n3 || null === _n3.meshId || !_o4 || null === _o4.meshId) return;\n }\n var _I4 = [0, 0, 0],\n _g4 = [0, 0, 0];\n var _r3 = 0,\n _a3 = 0,\n _C3 = 0;\n if (\"translate\" === _A11) {\n if (\"xy-translate\" === this.iA) {\n var _A13 = _n3.point[0] - _o4.point[0],\n _e5 = _n3.point[1] - _o4.point[1];\n _I4[0] = _A13, _I4[1] = _e5;\n } else if (\"x-translate\" === this.iA) {\n var _A14 = _n3.point[0] - _o4.point[0];\n _I4[0] = _A14;\n } else if (\"y-translate\" === this.iA) {\n var _A15 = _n3.point[1] - _o4.point[1];\n _I4[1] = _A15;\n } else if (\"z-translate\" === this.iA) {\n var _A16 = 0;\n if (this.rA()) {\n var _s5 = this.map.getGLRes(),\n _i4 = this.map._pointAtResToContainerPoint(new t.Point(_o4.point[0], _o4.point[1]), _s5),\n _I5 = this.map._pointAtResToContainerPoint(new t.Point(_n3.point[0], _n3.point[1]), _s5),\n _g5 = e.vec2.length(e.vec2.set(Z, _n3.point[0] - _o4.point[0], _n3.point[1] - _o4.point[1]));\n _A16 = _I5.y < _i4.y ? _g5 : -_g5;\n } else _A16 = _n3.point[2] - _o4.point[2];\n _I4[2] = _A16;\n }\n } else if (\"rotation\" === _A11) _a3 = this.aA(_n3.point, _o4.point), _a3 >= 0 ? this.TransformHelper.I(!0) : this.TransformHelper.I(!1), _g4[2] += _a3;else if (\"scaling\" === _A11 || \"xyzScale\" === _A11) {\n var _A17 = this.CA(),\n _t7 = e.vec2.length(e.vec2.set(Z, this.firstDownPoint.point[0] - _A17[0], this.firstDownPoint.point[1] - _A17[1])),\n _s6 = e.vec2.length(e.vec2.set(Z, _o4.point[0] - _A17[0], _o4.point[1] - _A17[1]));\n _r3 = this.hA(_n3.point, _o4.point, _A17, _s6), _C3 = this.hA(_n3.point, _o4.point, _A17, _t7);\n }\n this.TransformHelper.updateMatrix(this.map, this.S, _a3, _C3, _I4), this.S.p(this.iA, _I4, _g4, _r3, .01, this.map, this);\n }\n this.lastMousePosition = A, this.lastPickingObject = this.currentPickingObject;\n var s = this.W();\n this.lastPickingMesh = s[this.currentPickingObject.meshId];\n } },\n {\n key: \"hA\",\n value: function hA(A, t, s, i, n) {\n var o = (e.vec2.length(e.vec2.set(Z, A[0] - s[0], A[1] - s[1])) - e.vec2.length(e.vec2.set(Z, t[0] - s[0], t[1] - s[1]))) / i;\n return n ? (n[0] - .01) * o : o;\n } },\n {\n key: \"CA\",\n value: function CA() {\n var A = this.map,\n t = this.S.getCoordinates(),\n s = A.coordinateToPointAtRes(t, A.getGLRes()),\n i = e.vec3.set(Y, s.x, s.y, 0),\n n = c(A, this.S.getTranslation());\n return e.vec3.add(i, i, n), i;\n } },\n {\n key: \"$\",\n value: function $(A) {\n var t = this.TransformHelper.planeHelper.getMeshes()[0][0],\n s = e.mat4.getTranslation(G, t.localTransform),\n i = e.mat4.getScaling(z, t.localTransform);\n var n = e.quat.fromEuler(j, 0, 0, 0);\n var o = this.map.getBearing();\n A && !this.rA() ? (n = e.quat.fromEuler(j, 90, 0, -o), 0 === t.rotation[0] && (this.tA = !0), e.vec3.set(t.rotation, 90, 0, -o)) : (90 === t.rotation[0] && (this.tA = !0), e.vec3.set(t.rotation, 0, 0, -o)), e.mat4.fromRotationTranslationScale(t.localTransform, n, s, i);\n } },\n {\n key: \"rA\",\n value: function rA() {\n if (this.map.getPitch()) return !1;\n var A = this.map.cameraPosition,\n t = this.map.coordinateToPointAtRes(this.map.getCenter(), this.map.getGLRes());\n e.vec3.set(t, t.x, t.y, 0);\n var s = this.S.getCoordinates(),\n i = this.map.coordinateToPointAtRes(s, this.map.getGLRes()),\n n = c(this.map, this.S.getTranslation()),\n o = e.vec3.set(G, i.x, i.y, 0),\n I = e.vec3.add(o, o, n),\n g = e.vec3.subtract([], A, I),\n r = e.vec3.subtract([], A, t);\n return e.vec3.angle(g, r) < 1 / 180 * Math.PI;\n } },\n {\n key: \"AA\",\n value: function AA() {\n var A = this.W();\n if (this.currentPickingObject && null != this.currentPickingObject.meshId) {\n this.wA(), this.lastPickingObject && null != this.lastPickingObject.meshId && this.lastPickingObject.meshId !== this.currentPickingObject.meshId && this.cA();\n var _e6 = A[this.currentPickingObject.meshId];\n if (_e6 && N.indexOf(this.currentPickingObject.pickingId) < 0) if (this.currentPickingObject.pickingId > 100) this.fA(_e6);else {\n var _A18 = [_e6.originColor[0], _e6.originColor[1], _e6.originColor[2], .8];\n _e6.material.set(\"color\", _A18), this.QA(_e6, .5);\n }\n this.layerRenderer.setToRedraw();\n } else this.lastPickingObject && null != this.lastPickingObject.meshId && (this.map.resetCursor(), this.cA(), this.layerRenderer.setToRedraw());\n } },\n {\n key: \"fA\",\n value: function fA(A) {\n var e = [1, 179 / 255, 2 / 255, 1];\n A.material.set(\"color\", e), A.properties.relatedMeshes && A.properties.relatedMeshes.forEach(function (A) {\n A.material.set(\"color\", e);\n });\n } },\n {\n key: \"wA\",\n value: function wA() {\n 6 === this.currentPickingObject.pickingId ? this.map.setCursor(\"ns-resize\") : _.indexOf(this.currentPickingObject.pickingId) > -1 ? this.map.setCursor(\"move\") : this.map.setCursor(\"pointer\");\n } },\n {\n key: \"cA\",\n value: function cA() {\n var A = this.lastPickingMesh;\n if (!A) return;\n var e = A.getUniform(\"uPickingId\"),\n t = this.W();\n _.indexOf(e) > -1 ? t.forEach(function (A) {\n _.indexOf(A.getUniform(\"uPickingId\")) > -1 && A.material.set(\"color\", A.originColor);\n }) : K.indexOf(e) > -1 ? t.forEach(function (A) {\n var e = A.getUniform(\"uPickingId\");\n R.indexOf(e) > -1 && A.material.set(\"color\", A.originColor);\n }) : 11 === e && t.forEach(function (A) {\n R.indexOf(A.getUniform(\"uPickingId\")) > -1 && A.material.set(\"color\", A.originColor);\n }), A.material.set(\"color\", A.originColor), A.properties.relatedMeshes && A.properties.relatedMeshes.forEach(function (A) {\n A.material.set(\"color\", A.originColor);\n });\n } },\n {\n key: \"QA\",\n value: function QA(A, e) {\n var t = A.getUniform(\"uPickingId\"),\n s = this.W();\n _.indexOf(t) > -1 ? s.forEach(function (t) {\n if (_.indexOf(t.getUniform(\"uPickingId\")) > -1 && t.getUniform(\"uPickingId\") !== A.getUniform(\"uPickingId\")) {\n var _A19 = [t.originColor[0], t.originColor[1], t.originColor[2], e];\n t.material.set(\"color\", _A19);\n }\n }) : \"scaling\" === this.U ? s.forEach(function (A) {\n var e = A.getUniform(\"uPickingId\");\n if (1 === e || 3 === e || 2 === e || 4 === e) {\n var _e7 = [149 / 255, 179 / 255, 199 / 255, .8];\n A.material.set(\"color\", _e7);\n }\n }) : \"rotation\" === this.U && s.forEach(function (A) {\n var e = A.getUniform(\"uPickingId\");\n if (1 === e || 3 === e || 2 === e || 4 === e) {\n var _e8 = A.originColor;\n A.material.set(\"color\", [_e8[0], _e8[1], _e8[2], 0]);\n }\n });\n } },\n {\n key: \"reset\",\n value: function reset() {\n this.map && this.S && (this.S.M(), this.TransformHelper.updateMatrix(this.map, this.S, 0, 0, [0, 0, 0]));\n } },\n {\n key: \"aA\",\n value: function aA(A, t) {\n var s = this.CA(),\n i = e.vec2.set(q, t[0] - s[0], t[1] - s[1]),\n n = e.vec2.set(W, A[0] - s[0], A[1] - s[1]),\n o = Math.atan2(i[1], i[0]);\n return (Math.atan2(n[1], n[0]) - o) / Math.PI * 180;\n } },\n {\n key: \"sA\",\n value: function sA(A) {\n return this.iA = 113 === A || 114 === A ? \"x-scale\" : 115 === A || 116 === A ? \"z-scale\" : 117 === A || 118 === A ? \"y-scale\" : 119 === A ? \"xyz-scale\" : 5 === A ? \"xy-translate\" : 6 === A ? \"z-translate\" : 7 === A || 9 === A ? \"x-translate\" : 8 === A || 10 === A ? \"y-translate\" : 11 === A ? \"z-rotate\" : \"scale\", this.iA;\n } },\n {\n key: \"transform\",\n value: function transform(A) {\n if (!A) return;\n if (this.layerRenderer && this.layerRenderer.layer && (this.layerRenderer.layer.off(\"renderend\", this.render), this.layerRenderer.layer.off(\"resizeCanvas\", this.lA)), !this.map) return void console.error(\"should add to a target first\");\n if (this.S && (this.S.B(), this.S.P(A)), !this.S.getTargets().length) return;\n var e = this.map;\n this.TransformHelper.updateMatrix(e, this.S, 0, 0, [0, 0, 0]), this.uA(), this.tA = !0;\n } },\n {\n key: \"getTransformTarget\",\n value: function getTransformTarget() {\n return this.S;\n } },\n {\n key: \"D\",\n value: function D() {\n delete this.S;\n } },\n {\n key: \"uA\",\n value: function uA() {\n var A = this.S.O();\n A && (A.off(\"renderend\", this.render), A.off(\"resizeCanvas\", this.lA));\n var e = this.map,\n t = A.getRenderer();\n this.layerRenderer = t, this.regl = t.regl, this.renderer = t.renderer, this.PA = this.layerRenderer.getFBORayPicking(), this.DA = {\n projViewMatrix: e.projViewMatrix,\n projMatrix: e.projMatrix,\n viewMatrix: e.viewMatrix,\n pointSize: 1 },\n A.on(\"renderend\", this.render, this), A.on(\"resizeCanvas\", this.lA, this), t.setToRedraw();\n } },\n {\n key: \"lA\",\n value: function lA() {\n this.PA.clear(), this.tA = !0;\n } },\n {\n key: \"X\",\n value: function X(A, e, t) {\n var s = this.map;\n if (!(s && this.PA && this.layerRenderer && this.layerRenderer.canvas)) return null;\n var i = s.getDevicePixelRatio(),\n n = A.x * i,\n o = A.y * i,\n I = this.DA,\n g = this.layerRenderer.canvas.gl && this.layerRenderer.canvas.gl.wrap;\n (this.tA || g || !this.bA || this.bA !== t) && (this.PA.render(e, I, !0), this.bA = t, this.tA = !1);\n return this.PA.pick(n, o, 10, I, {\n viewMatrix: this.map.viewMatrix,\n projMatrix: this.map.projMatrix,\n returnPoint: !0 });\n\n } },\n {\n key: \"Y\",\n value: function Y() {\n var _this5 = this;\n var A = this.map.getDevicePixelRatio(),\n t = {\n x: 0,\n y: 0,\n width: function width() {\n return _this5.map ? _this5.map.width * A : 1;\n },\n height: function height() {\n return _this5.map ? _this5.map.height * A : 1;\n } };\n\n this.mA = new e.reshader.MeshShader({\n vert: \"attribute vec3 aPosition;\\n\\nuniform mat4 projViewModelMatrix;\\n\\n\\n\\nvoid main()\\n\\n{\\n\\n gl_Position = projViewModelMatrix * vec4(aPosition, 1.0);\\n\\n\\n\\n}\\n\\n\",\n frag: \"precision mediump float;\\n\\nuniform vec4 color;\\n\\n\\n\\nvoid main() {\\n\\n gl_FragColor = color;\\n\\n}\\n\\n\",\n uniforms: [\"color\", {\n name: \"projViewModelMatrix\",\n type: \"function\",\n fn: function fn(A, t) {\n return e.mat4.multiply([], t.projViewMatrix, t.modelMatrix);\n } }],\n\n extraCommandProps: {\n viewport: t,\n depth: {\n enable: !0,\n func: \"always\",\n mask: !0,\n range: [0, 0] },\n\n blend: {\n enable: !0,\n func: {\n src: \"src alpha\",\n dst: \"one minus src alpha\" },\n\n equation: \"add\" } },\n\n\n defines: {} });\n\n } },\n {\n key: \"render\",\n value: function render() {\n if (!this.q()) return;\n var A = this.W();\n this.helperScene.setMeshes(A);\n var e = this.layerRenderer.getFrameContext();\n if (e && e.renderTarget && this.layerRenderer.getFrameTimestamp() !== e.timestamp) return;\n this.nA(), this.mA.filter = e && e.sceneFilter;\n var t = e && e.renderTarget && e.renderTarget.fbo;\n this.renderer.render(this.mA, this.DA, this.helperScene, t);\n } },\n {\n key: \"W\",\n value: function W() {\n var A = [];\n var e = this.TransformHelper.getMeshes(this.U);\n for (var _t8 in e) {\n if (\"translate\" === _t8) continue;\n var _s7 = e[_t8];\n for (var _e9 = 0; _e9 < _s7.length; _e9++) A = A.concat(_s7[_e9]);\n }\n var t = e.translate;\n if (t) for (var _e10 = 0; _e10 < t.length; _e10++) A = A.concat(t[_e10]);\n return A;\n } },\n {\n key: \"q\",\n value: function q() {\n var A = this.layerRenderer,\n e = A && A.layer;\n return A && this.S && e && e.isVisible() && this.S.F() && this.regl && this.V;\n } }]);\n\n }(t.Eventable(t.Handlerable(t.Class)));\n X.mergeOptions({\n scaleStrength: 2 }),\n A.TransformControl = X, \"undefined\" != typeof console && console.log(\"@maptalks/transform-control v0.105.6\");\n });return module.exports;});", "requires": [], "buildLevel": 0, "fileName": "/dist/transform-control.js" } }