zhitong.yu
2024-03-21 6beef2ce75f15a8b3d4394b83da62071c686eb3d
1
2
/**Released Version v3.0.9,BUILD 171,Time 1650882279469. Fengmap Javascript SDK , see: https://www.fengmap.com for details**/
!function(t,i){"object"==typeof exports&&"object"==typeof module?module.exports=i():"function"==typeof define&&define.amd?define([],i):"object"==typeof exports?exports.fengmap=i():t.fengmap=i()}(this,function(){return n=[function(S,x,P){"use strict";P.r(x);var l={LEFT_TOP:1,LEFT_BOTTOM:2,RIGHT_TOP:3,RIGHT_BOTTOM:4};function Z(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}P=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");t=t||{},this.e=null,this.A=t,this.C=null,this.I=null,void 0===this.A.backgroundImageSize&&(this.A.backgroundImageSize=50),void 0===this.A.pointerImageSize&&(this.A.pointerImageSize=50),this.u=Math.floor((this.A.backgroundImageSize-this.A.pointerImageSize)/2),this.f=Math.floor((this.A.backgroundImageSize-this.A.pointerImageSize)/2),this.A.backgroundImageURL||(this.A.backgroundImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4KGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxOC0wMy0wNVQxMTo0ODoyMCswODowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4LTAzLTA1VDExOjU3OjA1KzA4OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxOC0wMy0wNVQxMTo1NzowNSswODowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDphZDgzZDBiZi1jODAyLTQwOTMtYjQ4Mi02YTVkYTMxYmE2Njk8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6YWQ4M2QwYmYtYzgwMi00MDkzLWI0ODItNmE1ZGEzMWJhNjY5PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6YWQ4M2QwYmYtYzgwMi00MDkzLWI0ODItNmE1ZGEzMWJhNjY5PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmFkODNkMGJmLWM4MDItNDA5My1iNDgyLTZhNWRhMzFiYTY2OTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wMy0wNVQxMTo0ODoyMCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjY0PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjY0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5neOjPAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAYbSURBVHja5JvdbxxXGYefMx9nZrK7tmexlZ60KqCqatRWVIXAVcVtBf8ARUVUNFiWDWmill4UrlEuUFHahFptSKVCJfIXUK5Rr0hAKlKroBaBKuqTyK537d3Nzp6Z2cNFZqmxHGdtx8565yft1Z6Z3d8z7/mc9xVLS0vsRkqpodpprSeBbwNfAx4BjgMKiIFK0awDNIEl4BrwD+DvwJ+VUmvso8R+ANBaPwT8APiOEOKbUsqu53k9z/OM53nGdd3McZy+EKIPYK11+v2+k+e5l2WZLD6BMSay1l4B3gPeVUr9c2QBaK1d4Blg3nXdb4VhuB6GYUdKmezlDxpjwiRJKkmSTOR5/hdgEbislMpHAkBh/DTwahiGrSNHjjSDIOjuR7j2er3o5s2bU0mS1ICXgNf2CmJPALTWPwYuRlG0Vq1WVz3PSzkAZVnmt9vterfbnQRmlVK/PWgAjwILvu+fnJiYuCGl7HEPZIwJ1tfXj6Zpegl4Qyn10UEAWBBCXKhWq8vVarXJCKjdbk+12+0Za+1PlVJv7CeAs67rvhjHsfZ9v8cIKU3ToNFoqDzPX1VK/XzY65wd/MY5KeUL09PTn46aeQDf93vT09OfSilPa63P3W0A54MgeL5er3/mOE6fEZXjOP16vf5ZEATPa63P3y0A54IgeK5er2shhGXEJYSw9XpdB0Hw3DCRcCcAZ6WUs3EcX+eQKY7j61LKWa312d0CWCgGvKXD8OS3ioQ4jpdc131Ra72wUwCPCyEuxHGsR7nPDzMmxHGshRAXtNaP7QTAfK1WWx7F0X43s0OtVlsG5ocFsOD7/o8qlUqTMVGlUmn6vn9Saz17p4WQB5hRnev3ulBaWVn5MuBt3EBtjoDTURStj5v5QVeIomit2LluGQEeYGZmZv59ULu6g1aWZf7y8vJXAKmUyjZHwLNhGLbG1TyA53lpGIZt4NmtusD8OA182wyIjY0zwgDAo57nPbnX46vDICll4nnek4N1wQDAM2EYtiiJCq/f2wjg6SAIOmUBUHh9egBgSghxogzhv7EbCCFOaK2nHOApKWWXkqnw/JQDPOF5Xq9sAArPTzjAcc/zTAkBGOC4AzxcYgAPO8ADrutmZQNQeH7AASYO86HHXg5LgEkHqA3e0pZJheeqQ0llrRWAcYCWtdYpIQAHaDnAer/fLx2AwnPLAf6T57lXQgAucMMBPs6yTJYNQOH5Ywe4VmIA1xzggyzLghICCIAPHOB9Y0xUNgCF5/cdoGmtvWqMCUtkPrTWXlVKNQfT33u9Xq9SFgCF1z/BF0di73a73YmyACi8/n4jgE/yPL9ShrHAGBPleX5FKfXJRgAAi51OZ3LcARQeF/+3K9zw3eUkSWpZlvljPPX5RZbp5a0AZMDL7Xa7Pq4ACm8/G7wX3AwA4Fy3251M03TsFkZpmgZFau1r/3cwsqldDsytra0dHTcAhae5zcnVW22D30rT9FKn05kao9CfStP0klLqrc3f3e4cYLHVas2kaSrHIfTb7fYMsGUO8e0AfGitfaHRaBw7zIcl/X7faTQax6y1c7fLJN/O3IU8z39d3EAcNvPWWtFoNI4VydMXb9fuTk/3FWPMxWazed9hA9BsNu8zxlxUSr2yXbthwvtMkiTvNBoNdRgioXjyKkmSd5RSZ+7Uftj+fSpJkrdXV1fvH+Uxod/vO6urq/cnSfK2UurUMNfsxMwZY8zrKysrD47i7JCmqVxZWXnQGPP6ME9+oN2UzPxECHG+Vqstj0pSVafTmWq1WjPW2lNKqd/s5NrdFk09Bsz7vn9ycnLyxr1KrEzTNFhbWxsUTS0qpT7c6T32WjY3C7wZRdF6rVb7/KDeMud57rVarS8VBxtz201z+woAQGvtAS8DvwzDsFWpVJr7lW9kjAk7nc6gcPIXwK827uzuCYCBtNYS+D4w57ruiSiK1oMguCuls71er9LtdifyPL8KvAn8QSl1V5I69rN4+ofAd4UQX5dS3vR9v1cUTqfbFU/nee5nWSbTNA2MMUestX8D/gj8bqSLp7eBMcWt8vlvcKvi9KvAUbYun78O/Av4CPgrt8rn93Wm+e8A7iLzS6p6CJoAAAAASUVORK5CYII="),this.A.pointerImageURL||(this.A.pointerImageURL="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAA7bGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMwNjcgNzkuMTU3NzQ3LCAyMDE1LzAzLzMwLTIzOjQwOjQyICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgICAgICAgICB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE4LTAzLTA1VDExOjQ4OjExKzA4OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMjAtMTEtMTNUMTQ6NDA6NDUrMDg6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDIwLTExLTEzVDE0OjQwOjQ1KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmUwOTZhNjVlLTU4ZTQtODU0Yy1iNTk0LWM5NzUzNmYwM2E1YjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjI4NDRhNDYzLTI1N2ItMTFlYi05YjE4LWFjZDEzNGM4YThlODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDozRkM2NUZGNUEzQ0MxMUU2QjhGOTlFMTYyOEIzMUI4MDwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDozRkM2NUZGNkEzQ0MxMUU2QjhGOTlFMTYyOEIzMUI4MDwvc3RSZWY6ZG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjg3NzZBMTkxQTNEMDExRTZCOEY5OUUxNjI4QjMxQjgwPC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoyMDk3MmQ4Ni1lZDBmLTQyZDAtOTZiMS0xOWE0ZDUzN2YxZWQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDMtMDVUMTE6NTE6MjgrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplMDk2YTY1ZS01OGU0LTg1NGMtYjU5NC1jOTc1MzZmMDNhNWI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMTEtMTNUMTQ6NDA6NDUrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pq677moAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAYFJREFUeNrsmztOw0AQhj+jFJScg4pDIHEKDgFHgBwkEQU4CTXiHIGAqdK6IiWNvTSWkKIQO469L/9TWbszI+ubf/ZhyYkxhiHbCQM3ARAAARAAARAAARAAARiqjfpKfPXwU+eyfQlJ9jm/Xp9KATEBMA3HtAbECMC0nJMCYgBgOvKRAkIEYHrylQJCAGAsxUgBPgIwjmKlAB8AGE9ySAEuABhPc0kBAiAAf9bbN8HJ5fcGOKvzy/O8SboNXASngLWnuawBePE0lzUAE6DoIE8BTEME8AU8dpDnCchC3QXGR6qgAO5D3gYzID0iPu2z+rbOAXdA2SKu7Lv6tgBkVR+36f3PWE6C4wNVUFYx0RyFPw5cC9IqJqq7QFMVWOl9FwBWwKyB38xW9V3cButUYK33XQF4B+Z75ueVT9TfA/5TgdXedwngDVjsGF/Yrr4rALtUYL33XQNYAs9b1V+6eJER7uwGOK+eb129RKJ/hgZuAiAAAiAAAiAAAiAAAjBU+x0Ac4ZVr2BJd94AAAAASUVORK5CYII=")}var t,n,e;return t=i,(n=[{key:"addTo",value:function(t){this.e=t,this.v()}},{key:"remove",value:function(){this.A.contain.removeChild(this.I)}},{key:"on",value:function(t,i){this.I.onclick=function(){i&&i()},this.I.addEventListener("touchend",function(){i&&i()},!1)}},{key:"checkPosition",value:function(t,i,n){switch(n.style.left="",n.style.right="",n.style.top="",n.style.bottom="",t){case l.LEFT_TOP:n.style.left=(i=i||{x:10,y:10}).x+"px",n.style.top=i.y+"px";break;case l.RIGHT_TOP:n.style.right=-(i=i||{x:-10,y:10}).x+"px",n.style.top=i.y+"px";break;case l.LEFT_BOTTOM:n.style.left=(i=i||{x:10,y:-10}).x+"px",n.style.bottom=-i.y+"px";break;case l.RIGHT_BOTTOM:n.style.right=-(i=i||{x:-10,y:-10}).x+"px",n.style.bottom=-i.y+"px";break;default:n.style.left=(i=i||{x:10,y:10}).x+"px",n.style.top=i.y+"px"}}}])&&Z(t.prototype,n),e&&Z(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),Object.assign(P.prototype,{v:function(){var t=this,i=document.createElement("div"),n=(i.style.cssText="position:absolute;left:10px;top:10px;",i.style.width=this.A.backgroundImageSize+"px",i.style.height=this.A.backgroundImageSize+"px",i.style.backgroundColor="#FFFFFF",i.style.backgroundSize="100% 100%",i.style.zIndex=20,i.style.backgroundImage="url('"+this.A.backgroundImageURL+"')",i.style.borderRadius="80px",void 0===this.A.position&&(this.A.position=l.LEFT_TOP),this.checkPosition(this.A.position,this.A.offset,i),this.A.contain?this.A.contain.appendChild(i):(this.A.contain=this.e.getContainer(),this.e.getContainer().appendChild(i)),-this.e.getRotation());this.C=document.createElement("div"),this.C.style.cssText="position:absolute;left:"+this.u+"px;top:"+this.f+"px;",this.C.style.transform="rotate("+n+"deg)",this.C.style.msTransform="rotate("+n+"deg)",this.C.style.mozTransform="rotate("+n+"deg)",this.C.style.webkitTransform="rotate("+n+"deg)",this.C.style.oTransform="rotate("+n+"deg)",this.C.style.width=this.A.pointerImageSize+"px",this.C.style.height=this.A.pointerImageSize+"px",this.C.style.backgroundSize="100% 100%",this.C.style.backgroundImage="url('"+this.A.pointerImageURL+"')",i.appendChild(this.C),this.I=i,this.e.on("update",function(){t.M()})},M:function(){var t=-this.e.getRotation();this.C.style.transform="rotate("+t+"deg)",this.C.style.msTransform="rotate("+t+"deg)",this.C.style.mozTransform="rotate("+t+"deg)",this.C.style.webkitTransform="rotate("+t+"deg)",this.C.style.oTransform="rotate("+t+"deg)",this.C.style.top=this.u+"px",this.C.style.left=this.f+"px"}});function D(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var N=function(){function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function")}var i,n,e;return i=t,e=[{key:"toColor",value:function(t){if("number"==typeof t)return t;var i=t.split(",");return 3<=i.length?parseInt(i[0])<<16|parseInt(i[1])<<8|parseInt(i[2]):(console.error("color format error",t),0)}},{key:"bindEvent",value:function(t,g,i,A){t.addEventListener(i,function(t){var i,n=t||window.event,e=n.target||n.srcElement,r=n.currentTarget;for(Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(t){for(var i=(this.document||this.ownerDocument).querySelectorAll(t),n=i.length;0<=--n&&i.item(n)!==this;);return-1<n});e!==r;)e.matches(g)&&(i=e,A.call(i,n)),e=e.parentNode})}},{key:"scrollTopAnFun",value:function(){var u,a=!1;return function i(n){var e=n.el,t=n.to,r=n.form,g=(n.time,t<r?"up":"bottom"),A=10,C=(r<t?t-r:t==r?0:r-t)/A,o=0,I=function(t){var i=t.val,n=t.nbak,e=t.n,t=t.elTop;return"up"==g?t+(n-e)*i:t-(n-e)*i};function s(){--u<=0?h():window.setTimeout(function(){!1!==u&&((o=I({val:A,nbak:C,n:u,elTop:t,VDIRECTIONE:g}))&&(e.scrollTop=o),s())},A)}var h=function(){u=a=!1,e.scrollTop=0==r?0:r};a?(u=0,window.setTimeout(function(){var t=Object(n,{to:e.scrollTop});a=!1,i(t)},A+1)):(a=!0,u=C,s())}}},{key:"sleep",value:function(t){for(var i=(new Date).getTime(),n=0;n<1e7&&!((new Date).getTime()-i>t);n++);}},{key:"getClikEventName",value:function(){return window.PointerEvent?"pointerdown":"click"}}],(n=null)&&D(i.prototype,n),e&&D(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}(),G={FMMap_CONTROL_SMALL:"small",FMMap_CONTROL_NORMAL:"normal"};function B(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function z(t,i,n){return i&&B(t.prototype,i),n&&B(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Y=z(function t(i){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");this.size=G.FMMap_CONTROL_NORMAL,this.position=l.LEFT_TOP,this.offset={x:10,y:10},this.imgURL="resource/style/wedgets/img/",this.floorButtonCount=5,this.needAllLayerBtn=!0,Object.assign(this,i)});function U(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var V=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");t=t||{},this.e=null,this.k=new Y(t),this.k.position||(this.k.position=l.LEFT_TOP),this.j=t.contain,this.k.offset||(this.k.offset={x:10,y:10}),this.O=null,this.R=t.imgURL||"resource/style/wedgets/img/"}var t,n,e;return t=i,(n=[{key:"addTo",value:function(t){this.e=t,this.j||(this.j=this.e.getContainer()),this.init()}},{key:"remove",value:function(){this.j.removeChild(this.O)}},{key:"init",value:function(){var t=this.createPanel(),i=(this.O=t,this);this.checkPosition(this.k.position,this.k.offset,t),N.bindEvent(t,"img","mouseover",function(t){this.src=this.dataset.on}),N.bindEvent(t,"img","mouseout",function(t){this.src=this.dataset.leave}),N.bindEvent(t,"div","click",function(t){"in"===this.dataset.type?i.e.zoomIn():i.e.zoomOut()}),N.bindEvent(t,"div","touchend",function(t){"in"===this.dataset.type?i.e.zoomIn():i.e.zoomOut()})}},{key:"showZoom",value:function(t){this.O.style.display=t?"block":"none"}},{key:"createPanel",value:function(){var t=document.createElement("div");t.setAttribute("class","fm-control-zoom"),t.style.zIndex=20,t.style.position="absolute",t.style.backgroundColor="white",t.style.boxShadow="2px 2px 3px rgba(0,0,0, 0.3)",t.style.borderRadius="2px",t.style.left=0,t.style.top=710,this.j.appendChild(t);return t.innerHTML=this.createInnerHtml("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOAgMAAABiJsVCAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEUAAABmZmYAAABV8S+1AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAATSURBVAjXY2DAC0JDQwMgBF4AAFvvAp8tw46tAAAAAElFTkSuQmCC","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAIElEQVQokWNgGAXUB4zGsrL/ydHIwsDAcI/KjhkFZAMA5XkCUOIdNxMAAAAASUVORK5CYII=","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOAgMAAABiJsVCAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACVBMVEUAAABmZmYAAABV8S+1AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAXSURBVAjXY2BgZQACXERoaGgAhMCrDgBkQQLbnsbDyQAAAABJRU5ErkJggg==","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAOElEQVQokWM0lpVlwAE+QGkBbJJMuHQRAiNBIwsDA8M7HHJ8UBqrPEU2CuGQg8UjVvkhFKr01wgAH8cEixbYBa8AAAAASUVORK5CYII="),t}},{key:"createInnerHtml",value:function(t,i,n,e){return'\n\n            <div data-type="in" style="padding: 14px; cursor: pointer;">\n            <img src='.concat(n," data-leave=").concat(n," data-on=").concat(e,' style="width: 14px; height: 14px;"/>\n             </div>\n            <hr style="height: 1px; border-top: 1px solid rgba(153, 153, 153, 0.45); border-right: none; border-bottom: none; border-left: none; border-image: initial; width: 60%; margin: 0px 20%;">\n            <div data-type="out" style="padding: 14px; cursor: pointer;">\n            <img src=').concat(t," data-leave=").concat(t," data-on=").concat(i,' style="width: 14px; height: 14px;"/>\n            </div>\n        ')}},{key:"checkPosition",value:function(t,i,n){switch(n.style.left="",n.style.right="",n.style.top="",n.style.bottom="",t){case l.LEFT_TOP:n.style.left=i.x+"px",n.style.top=i.y+"px";break;case l.RIGHT_TOP:n.style.right=-i.x+"px",n.style.top=i.y+"px";break;case l.LEFT_BOTTOM:n.style.left=i.x+"px",n.style.bottom=-i.y+"px";break;case l.RIGHT_BOTTOM:n.style.right=-i.x+"px",n.style.bottom=-i.y+"px"}}}])&&U(t.prototype,n),e&&U(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),W={MODE_3D:2,MODE_2D:4},X=(Object.freeze(W),W);function _(t,i){var n=document.createElement("div"),t='<div class="fm-scroll" id="scroll_'.concat(t+i,'"></div>');return n.innerHTML=t.trim(),n.firstChild}function H(t,i){t&&i?t.appendChild(i):console.error(t,i)}for(var r=[],K=0;K<256;K++)r[K]=(K<16?"0":"")+K.toString(16);var Q,v={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,e=4294967295*Math.random()|0;return(r[255&t]+r[t>>8&255]+r[t>>16&255]+r[t>>24&255]+"-"+r[255&i]+r[i>>8&255]+"-"+r[i>>16&15|64]+r[i>>24&255]+"-"+r[63&n|128]+r[n>>8&255]+"-"+r[n>>16&255]+r[n>>24&255]+r[255&e]+r[e>>8&255]+r[e>>16&255]+r[e>>24&255]).toUpperCase()},clamp:function(t,i,n){return Math.max(i,Math.min(n,t))},euclideanModulo:function(t,i){return(t%i+i)%i},mapLinear:function(t,i,n,e,r){return e+(t-i)*(r-e)/(n-i)},lerp:function(t,i,n){return(1-n)*t+n*i},smoothstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*(3-2*t)},smootherstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*t*(t*(6*t-15)+10)},randInt:function(t,i){return t+Math.floor(Math.random()*(i-t+1))},randFloat:function(t,i){return t+Math.random()*(i-t)},randFloatSpread:function(t){return t*(.5-Math.random())},degToRad:function(t){return t*v.DEG2RAD},radToDeg:function(t){return t*v.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,i,n,e,r){var g=Math.cos,A=Math.sin,C=g(n/2),n=A(n/2),o=g((i+e)/2),I=A((i+e)/2),s=g((i-e)/2),h=A((i-e)/2),g=g((e-i)/2),A=A((e-i)/2);"XYX"===r?t.set(C*I,n*s,n*h,C*o):"YZY"===r?t.set(n*h,C*I,n*s,C*o):"ZXZ"===r?t.set(n*s,n*h,C*I,C*o):"XZX"===r?t.set(C*I,n*A,n*g,C*o):"YXY"===r?t.set(n*g,C*I,n*A,C*o):"ZYZ"===r?t.set(n*A,n*g,C*I,C*o):console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order.")}};function J(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var W=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.j=(t=t||{}).contain,this.T=new Y(t),this.S=this.T.floorButtonCount,this.e=null,this.P=!1,this.L=!0,this.F=10,this.Z=null,this.D=null,this.N=[],this.G=null,this.B=null,this.Y=null,this.uuid=null,this.U=null,this.scrollTopAn_=new N.scrollTopAnFun,this.viewModeControl=void 0===t.viewModeControl||t.viewModeControl,this.floorModeControl=void 0===t.floorModeControl||t.floorModeControl}var t,n,e;return t=i,(n=[{key:"addTo",value:function(t){this.e=t,this.U=this.e.getLevel(),this.j||(this.j=this.e.getContainer()),this.init(),1<this.e.getVisibleLevels().length?this.setLayerStatus(!0):this.setLayerStatus(!1)}},{key:"remove",value:function(){this.e.off("levelChanged",this.gidchange),this.e.off("visibleLevelsLoaded",this.handleLayerChangeStyle),this.D&&this.j.removeChild(this.D),this.D=null}},{key:"init",value:function(){var n=this,t=(this.uuid=v.generateUUID(),(t=document.createElement("div")).innerHTML='\n    <div class="fm-control-groups" </div>'.trim(),t.firstChild),i=(this.D=t,this.T.position),e=this.T.offset,r=t;switch(r.style.left="",r.style.right="",r.style.top="",r.style.bottom="",i){case l.LEFT_TOP:r.style.left=e.x+"px",r.style.top=e.y+"px";break;case l.RIGHT_TOP:r.style.right=-e.x+"px",r.style.top=e.y+"px";break;case l.LEFT_BOTTOM:r.style.left=e.x+"px",r.style.bottom=-e.y+"px";break;case l.RIGHT_BOTTOM:r.style.right=-e.x+"px",r.style.bottom=-e.y+"px";break;default:r.style.left=e.x+"px",r.style.top=e.y+"px"}H(this.j,t);var g,i=this.e.getLevels(),A=i.length,C=this.S,o=!0,I=(this.viewModeControl&&(this.e.getViewMode()===X.MODE_3D?this.L=!1:this.L=!0,this.B=((g=document.createElement("div")).innerHTML='\n    <div class="fm-view fm-view-3d"></div>'.trim(),g.firstChild),this.initViewModePanelEvent(this.B),H(t,this.B),this.setViewModeToStyle(this.B,this.L?"2d":"3d")),(g=document.createElement("div")).innerHTML='\n      <div class="fm-layer">\n        <div class="fm-layer-image-many"> </div>\n      </div>'.trim(),g.firstChild);if(this.T.needAllLayerBtn&&H(t,I),this.V=I,this.eventSwitchBtn(I),this.handleLayerChangeStyle=this.handleLayerChangeStyle.bind(this),this.e.on("visibleLevelsLoaded",this.handleLayerChangeStyle),this.floorModeControl){A<=this.S&&(C=A,o=!1);this.W;this.P&&this.X,(I=document.createElement("div")).innerHTML='<div class = "fm-floor-list-group" > </div'.trim();var A=I.firstChild,s=(H(t,A),o&&A.appendChild(_("up",this.uuid)),(I=document.createElement("div")).innerHTML='<div class = "fm-floor-list" > </div'.trim(),I.firstChild);H(A,s),this.Z=s,this.N=this.e.getFloorInfos();for(var h,u,a,c=this.N.length-1;-1<c;c--)s.appendChild((h=this.N[c],u=this.uuid,a=void 0,a=document.createElement("div"),u='\n    <label\n      class="fm-floor-name fm-floor-name-normal"\n      data-gid='.concat(h.level,'\n      id="gid_').concat(h.level+u,'"\n      <span>').concat(h.alias&&h.alias.toUpperCase()||h.name.toUpperCase(),"</span>\n    </label>"),a.innerHTML=u.trim(),a.firstChild)),0<c&&s.appendChild((h=void 0,(h=document.createElement("div")).innerHTML='\n  <hr class="fm-floor-line" />'.trim(),h.firstChild));var I=document.querySelector(".fm-floor-line"),f=0,I=(I&&(f=I.getBoundingClientRect().height),this._=document.querySelector(".fm-floor-name").clientHeight+f,document.querySelector(".fm-floor-list").style.height=this._*C+"px",o&&A.appendChild(_("down",this.uuid)),s.scrollTop=this.getCenterScrolltopById(this.U,i.length),document.getElementById("gid_"+this.U+this.uuid)),f=(I.classList.remove("fm-floor-name-normal"),I.classList.add("fm-floor-name-active"),this.eventBtnPanelInit(s),this.eventPanelInit(t,s,i),function(t){var i=n.e.getLevels();t.level<i[0]||t.level>i[i.length-1]||(s.scrollTop=n.getCenterScrolltopById(t.level,i.length),n.setGidStyleByEvent(t.level,"levelChanged"))});this.gidchange=f,this.handleLayerChangeStyle=this.handleLayerChangeStyle.bind(this),this.e.on("levelChanged",f),this.H=function(t){return(n.map?n.map.mapView.container_:document).querySelector(t)}}}},{key:"handleLayerChange",value:function(){var t=this;!t.P?t.e.setVisibleLevels(t.e.getLevels()):t.e.setVisibleLevels([t.e.getLevel()])}},{key:"handleLayerChangeStyle",value:function(){1<this.e.getVisibleLevels().length?this.setLayerStatus(!0):this.setLayerStatus(!1)}},{key:"eventSwitchBtn",value:function(t){var i=N.getClikEventName();this.handleLayerChange=this.handleLayerChange.bind(this),t.addEventListener(i,this.handleLayerChange)}},{key:"setViewModeToStyle",value:function(t,i){"2d"==i?(t.classList.remove("fm-view-3d"),t.classList.add("fm-view-2d")):(t.classList.remove("fm-view-2d"),t.classList.add("fm-view-3d"))}},{key:"initViewModePanelEvent",value:function(t){var i=this,n=N.getClikEventName(),e=!0;t.addEventListener(n,function(){!1!==e&&(e=!1,i.e.getViewMode()===X.MODE_3D?(i.e.setViewMode({mode:X.MODE_2D,finish:function(){e=!0}}),i.setViewModeToStyle(this,"2d")):(i.e.setViewMode({mode:X.MODE_3D,finish:function(){e=!0}}),i.setViewModeToStyle(this,"3d")))})}},{key:"eventBtnPanelInit",value:function(n){function t(t){r.changeScrollBtnPic();var i=0;t.wheelDelta?i+=-t.wheelDelta:t.detail&&(i+=t.detail),e.scrollTopAn_({el:n,to:n.scrollTop,form:n.scrollTop+i}),t.stopPropagation()}var e=this,r=this;r.changeScrollBtnPic(),N.bindEvent(n,"label","click",function(){var t;r.U!==parseInt(this.dataset.gid)&&(r.foucusId=parseInt(this.dataset.gid),t=r.e.getLevels(),this.dataset.gid<t[0]||this.dataset.gid>t[t.length-1]||(n.scrollTop=r.getCenterScrolltopById(parseInt(this.dataset.gid),t.length),r.setGidStyleByClick(this.dataset.gid,"click")))});n.addEventListener("mousewheel",t,{passive:!0}),n.addEventListener("MozMousePixelScroll",t,!1),n.addEventListener("touchstart",this.touchstart.bind(this),!1),n.addEventListener("touchmove",this.touchmove.bind(this),!1),n.addEventListener("touchend",this.touchend.bind(this),!0)}},{key:"touchstart",value:function(t){t.preventDefault(),this.touchStartPointY=t.touches[0].pageY,this.touchPointX=t.touches[0].pageX,this.touchPointY=t.touches[0].pageY,t.stopPropagation()}},{key:"touchmove",value:function(t){t.preventDefault(),this.touchEndPointX=t.touches[0].pageX,this.touchEndPointY=t.touches[0].pageY,this.handleTouchEnd(t),t.stopPropagation()}},{key:"handleTouchEnd",value:function(t){var i=this;0<(t=t||window.event).changedTouches.length&&(i.touchEndPointX=t.changedTouches[0].pageX,i.touchEndPointY=t.changedTouches[0].pageY),(t=t.target)instanceof HTMLSpanElement==!0&&t.parentElement,0!=(t=-(i.touchEndPointY-i.touchPointY))&&(i.touchPointX=i.touchEndPointX,i.touchPointY=i.touchEndPointY,i=i.H(".fm-floor-list"),this.scrollTopAn_({el:i,to:i.scrollTop,form:i.scrollTop+t}))}},{key:"touchend",value:function(t){var i=this,n=null,e=(0<(t=t||window.event).changedTouches.length&&(i.touchEndPointX=t.changedTouches[0].pageX,i.touchEndPointY=t.changedTouches[0].pageY),(n=t.target)instanceof HTMLSpanElement==!0&&(n=n.parentElement),Math.abs(i.touchEndPointY-i.touchStartPointY));e<5&&0<=e&&n&&(e=parseInt(n.dataset.gid),isNaN(e)||(i.foucusId=e,i.setGidStyleByClick(e,"click"))),t.stopPropagation()}},{key:"eventPanelInit",value:function(t,C,o){var I=this;t.onselectstart=function(){return!1},t.style.MozUserSelect="none",N.bindEvent(t,".fm-scroll","click",function(t){var i=this._,n=o.length-Math.floor(C.scrollTop/i)-(I.S-1),e=C.scrollTop%i,r=n+I.S-1+(0<e?1:0),g=0;if(this.id==="scroll_up"+I.uuid){var A=I.U+1,A=Math.min(o[o.length-1],A);if(I.foucusId==A)return;I.foucusId=A,I.setGidStyleByClick(A,"click"),A<n?g-=0<e?i-e:0:A<=1+r&&A===1+r&&(g-=i+(0<e?i-e:0))}else{A=I.U-1,A=Math.max(o[0],A);if(I.foucusId==A)return;I.foucusId=A,I.setGidStyleByClick(A,"click"),r<A?g+=0<e?e:0:n-1<=A&&A===n-1&&(g+=i+(0<e?e:0))}0!=g&&I.scrollTopAn_({el:C,to:C.scrollTop,form:C.scrollTop+g})}),N.bindEvent(t,".fm-scroll","touchend",function(t){var i=this._,n=o.length-Math.floor(C.scrollTop/i)-(I.S-1),e=C.scrollTop%i,r=n+I.S-1+(0<e?1:0),g=0;if(this.id==="scroll_up"+I.uuid){var A=I.U+1,A=Math.min(o[o.length-1],A);if(I.foucusId==A)return;I.foucusId=A,I.setGidStyleByClick(A,"click"),A<n?g-=0<e?i-e:0:A<=1+r&&A===1+r&&(g-=i+(0<e?i-e:0))}else{A=I.U-1,A=Math.max(o[0],A);if(I.foucusId==A)return;I.foucusId=A,I.setGidStyleByClick(A,"click"),r<A?g+=0<e?e:0:n-1<=A&&A===n-1&&(g+=i+(0<e?e:0))}0!=g&&I.scrollTopAn_({el:C,to:C.scrollTop,form:C.scrollTop+g})})}},{key:"getCenterScrolltopById",value:function(t,i){return(i-t-Math.floor(this.S/2))*this._}},{key:"changeScrollBtnPic",value:function(){var t=this.U,i=this.e.getLevels(),n=(i.sort(function(t,i){return t-i}),document.getElementById("scroll_down"+this.uuid)),e=document.getElementById("scroll_up"+this.uuid);t==i[0]&&n?(n.classList.remove("fm-scroll-down"),n.classList.add("fm-scroll-down-grey")):n&&(n.classList.remove("fm-scroll-down-grey"),n.classList.add("fm-scroll-down")),t==i[i.length-1]&&e?(e.classList.remove("fm-scroll-up"),e.classList.add("fm-scroll-up-grey")):e&&(e.classList.remove("fm-scroll-up-grey"),e.classList.add("fm-scroll-up"))}},{key:"changeFocusLevel",value:function(t){this.foucusId=t}},{key:"changeLevelsSelect",value:function(t){this.setLayerStatus(t),this.allLayer=t}},{key:"setLayerStatus",value:function(t){this.P=t,this.P?(this.V.firstElementChild.classList.remove("fm-layer-image-one"),this.V.firstElementChild.classList.add("fm-layer-image-many")):(this.V.firstElementChild.classList.remove("fm-layer-image-many"),this.V.firstElementChild.classList.add("fm-layer-image-one"))}},{key:"onChange",value:function(t){Q=t}},{key:"foucusId",get:function(){return this.U},set:function(t){var i=this;null!==this.Y&&!1===this.K&&this.Y.finish(),this.K=!1,this.e.setLevel({level:t,finish:function(){i.K=!0},callback:function(t){i.Y=t}}),Q&&Q([t])}},{key:"setGidStyleByEvent",value:function(t){this.setGidStyleByClick(t)}},{key:"setGidStyleByClick",value:function(t){var i=document.getElementById("gid_"+this.U+this.uuid),i=(i.classList.remove("fm-floor-name-active"),i.classList.add("fm-floor-name-normal"),this.U=parseInt(t),document.getElementById("gid_"+t+this.uuid));i.classList.remove("fm-floor-name-normal"),i.classList.add("fm-floor-name-active"),this.changeScrollBtnPic()}},{key:"allLayer",get:function(){return this.P},set:function(t){t?this.e.setVisibleLevels(this.e.getLevels()):this.e.setVisibleLevels([this.e.getLevel()])}}])&&J(t.prototype,n),e&&J(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),q={MODULE_SHORTEST:1,MODULE_BEST:2},nt={PRIORITY_DEFAULT:1,PRIORITY_LIFTFIRST:2,PRIORITY_ESCALATORFIRST:3,PRIORITY_STAIRFIRST:4,PRIORITY_LIFTONLY:5,PRIORITY_ESCALATORONLY:6,PRIORITY_STAIRONLY:7,PRIORITY_ACCESSIBLEONLY:8,PRIORITY_LIFTFIRST1:9,PRIORITY_ESCALATORFIRST1:10,PRIORITY_STAIRFIRST1:11},et={ZH:"zh",EN:"en"};function rt(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function gt(t,i,n){return i&&rt(t.prototype,i),n&&rt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var t=gt(function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function")}),At=(Object.assign(t.prototype,{Q:function(t,i){void 0===this.J&&(this.J={});var n=this.J;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(i)&&n[t].push(i)},q:function(t,i){if(void 0===this.J)return!1;var n=this.J;return void 0!==n[t]&&-1!==n[t].indexOf(i)},$:function(t,i){void 0!==this.J&&void 0!==(t=this.J[t])&&-1!==(i=t.indexOf(i))&&t.splice(i,1)},tt:function(t){if(void 0!==this.J){var i=this.J[t.type];if(void 0!==i)for(var n=i.slice(0),e=0,r=n.length;e<r;e++)n[e].call(this,t)}}}),t);function Ct(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var ot=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.autoStart=void 0===t||t,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}var t,n,e;return t=i,(n=[{key:"start",value:function(){this.startTime=It(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}},{key:"stop",value:function(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}},{key:"getElapsedTime",value:function(){return this.getDelta(),this.elapsedTime}},{key:"getDelta",value:function(){var t,i=0;return this.autoStart&&!this.running?(this.start(),0):(this.running&&(i=((t=It())-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=i),i)}}])&&Ct(t.prototype,n),e&&Ct(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}();function It(){return("undefined"==typeof performance?Date:performance).now()}for(var g=[],st=0;st<256;st++)g[st]=(st<16?"0":"")+st.toString(16);var ht=1234567,ut={DEG2RAD:Math.PI/180,RAD2DEG:180/Math.PI,generateUUID:function(){var t=4294967295*Math.random()|0,i=4294967295*Math.random()|0,n=4294967295*Math.random()|0,e=4294967295*Math.random()|0;return(g[255&t]+g[t>>8&255]+g[t>>16&255]+g[t>>24&255]+"-"+g[255&i]+g[i>>8&255]+"-"+g[i>>16&15|64]+g[i>>24&255]+"-"+g[63&n|128]+g[n>>8&255]+"-"+g[n>>16&255]+g[n>>24&255]+g[255&e]+g[e>>8&255]+g[e>>16&255]+g[e>>24&255]).toUpperCase()},clamp:function(t,i,n){return Math.max(i,Math.min(n,t))},euclideanModulo:function(t,i){return(t%i+i)%i},mapLinear:function(t,i,n,e,r){return e+(t-i)*(r-e)/(n-i)},lerp:function(t,i,n){return(1-n)*t+n*i},smoothstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*(3-2*t)},smootherstep:function(t,i,n){return t<=i?0:n<=t?1:(t=(t-i)/(n-i))*t*t*(t*(6*t-15)+10)},randInt:function(t,i){return t+Math.floor(Math.random()*(i-t+1))},randFloat:function(t,i){return t+Math.random()*(i-t)},randFloatSpread:function(t){return t*(.5-Math.random())},seededRandom:function(t){return((ht=16807*(ht=void 0!==t?t%2147483647:ht)%2147483647)-1)/2147483646},degToRad:function(t){return t*ut.DEG2RAD},radToDeg:function(t){return t*ut.RAD2DEG},isPowerOfTwo:function(t){return 0==(t&t-1)&&0!==t},ceilPowerOfTwo:function(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))},floorPowerOfTwo:function(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))},setQuaternionFromProperEuler:function(t,i,n,e,r){var g=Math.cos,A=Math.sin,C=g(n/2),o=A(n/2),I=g((i+e)/2),s=A((i+e)/2),h=g((i-e)/2),u=A((i-e)/2),a=g((e-i)/2),c=A((e-i)/2);switch(r){case"XYX":t.set(C*s,o*h,o*u,C*I);break;case"YZY":t.set(o*u,C*s,o*h,C*I);break;case"ZXZ":t.set(o*h,o*u,C*s,C*I);break;case"XZX":t.set(C*s,o*c,o*a,C*I);break;case"YXY":t.set(o*a,C*s,o*c,C*I);break;case"ZYZ":t.set(o*c,o*a,C*s,C*I);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+r)}}};function at(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}t=function(){function A(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,e=3<arguments.length&&void 0!==arguments[3]?arguments[3]:1,r=this,g=A;if(!(r instanceof g))throw new TypeError("Cannot call a class as a function");Object.defineProperty(this,"isQuaternion",{value:!0}),this.it=t,this.nt=i,this.et=n,this.rt=e}var t,i,n;return t=A,n=[{key:"slerp",value:function(t,i,n,e){return n.copy(t).slerp(i,e)}},{key:"slerpFlat",value:function(t,i,n,e,r,g,A){var C,o,I,s=n[e+0],h=n[e+1],u=n[e+2],n=n[e+3],e=r[g+0],a=r[g+1],c=r[g+2],r=r[g+3];n===r&&s===e&&h===a&&u===c||(g=1-A,C=0<=(o=s*e+h*a+u*c+n*r)?1:-1,(I=1-o*o)>Number.EPSILON&&(I=Math.sqrt(I),o=Math.atan2(I,o*C),g=Math.sin(g*o)/I,A=Math.sin(A*o)/I),s=s*g+e*(o=A*C),h=h*g+a*o,u=u*g+c*o,n=n*g+r*o,g===1-A&&(s*=I=1/Math.sqrt(s*s+h*h+u*u+n*n),h*=I,u*=I,n*=I)),t[i]=s,t[i+1]=h,t[i+2]=u,t[i+3]=n}},{key:"multiplyQuaternionsFlat",value:function(t,i,n,e,r,g){var A=n[e],C=n[e+1],o=n[e+2],n=n[e+3],e=r[g],I=r[g+1],s=r[g+2],r=r[g+3];return t[i]=A*r+n*e+C*s-o*I,t[i+1]=C*r+n*I+o*e-A*s,t[i+2]=o*r+n*s+A*I-C*e,t[i+3]=n*r-A*e-C*I-o*s,t}}],(i=[{key:"x",get:function(){return this.it},set:function(t){this.it=t,this.gt()}},{key:"y",get:function(){return this.nt},set:function(t){this.nt=t,this.gt()}},{key:"z",get:function(){return this.et},set:function(t){this.et=t,this.gt()}},{key:"w",get:function(){return this.rt},set:function(t){this.rt=t,this.gt()}},{key:"set",value:function(t,i,n,e){return this.it=t,this.nt=i,this.et=n,this.rt=e,this.gt(),this}},{key:"clone",value:function(){return new this.constructor(this.it,this.nt,this.et,this.rt)}},{key:"copy",value:function(t){return this.it=t.x,this.nt=t.y,this.et=t.z,this.rt=t.w,this.gt(),this}},{key:"setFromEuler",value:function(t,i){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t.it,e=t.nt,r=t.et,g=t.At,t=Math.cos,A=Math.sin,C=t(n/2),o=t(e/2),I=t(r/2),s=A(n/2),h=A(e/2),u=A(r/2);switch(g){case"XYZ":this.it=s*o*I+C*h*u,this.nt=C*h*I-s*o*u,this.et=C*o*u+s*h*I,this.rt=C*o*I-s*h*u;break;case"YXZ":this.it=s*o*I+C*h*u,this.nt=C*h*I-s*o*u,this.et=C*o*u-s*h*I,this.rt=C*o*I+s*h*u;break;case"ZXY":this.it=s*o*I-C*h*u,this.nt=C*h*I+s*o*u,this.et=C*o*u+s*h*I,this.rt=C*o*I-s*h*u;break;case"ZYX":this.it=s*o*I-C*h*u,this.nt=C*h*I+s*o*u,this.et=C*o*u-s*h*I,this.rt=C*o*I+s*h*u;break;case"YZX":this.it=s*o*I+C*h*u,this.nt=C*h*I+s*o*u,this.et=C*o*u-s*h*I,this.rt=C*o*I-s*h*u;break;case"XZY":this.it=s*o*I-C*h*u,this.nt=C*h*I-s*o*u,this.et=C*o*u+s*h*I,this.rt=C*o*I+s*h*u;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+g)}return!1!==i&&this.gt(),this}},{key:"setFromAxisAngle",value:function(t,i){var i=i/2,n=Math.sin(i);return this.it=t.x*n,this.nt=t.y*n,this.et=t.z*n,this.rt=Math.cos(i),this.gt(),this}},{key:"setFromRotationMatrix",value:function(t){var t=t.elements,i=t[0],n=t[4],e=t[8],r=t[1],g=t[5],A=t[9],C=t[2],o=t[6],t=t[10],I=i+g+t;return 0<I?(I=.5/Math.sqrt(I+1),this.rt=.25/I,this.it=(o-A)*I,this.nt=(e-C)*I,this.et=(r-n)*I):g<i&&t<i?(I=2*Math.sqrt(1+i-g-t),this.rt=(o-A)/I,this.it=.25*I,this.nt=(n+r)/I,this.et=(e+C)/I):t<g?(I=2*Math.sqrt(1+g-i-t),this.rt=(e-C)/I,this.it=(n+r)/I,this.nt=.25*I,this.et=(A+o)/I):(I=2*Math.sqrt(1+t-i-g),this.rt=(r-n)/I,this.it=(e+C)/I,this.nt=(A+o)/I,this.et=.25*I),this.gt(),this}},{key:"setFromUnitVectors",value:function(t,i){var n=t.dot(i)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this.it=-t.y,this.nt=t.x,this.et=0):(this.it=0,this.nt=-t.z,this.et=t.y)):(this.it=t.y*i.z-t.z*i.y,this.nt=t.z*i.x-t.x*i.z,this.et=t.x*i.y-t.y*i.x),this.rt=n,this.normalize()}},{key:"angleTo",value:function(t){return 2*Math.acos(Math.abs(ut.clamp(this.dot(t),-1,1)))}},{key:"rotateTowards",value:function(t,i){var n=this.angleTo(t);if(0===n)return this;i=Math.min(1,i/n);return this.slerp(t,i),this}},{key:"identity",value:function(){return this.set(0,0,0,1)}},{key:"invert",value:function(){return this.conjugate()}},{key:"conjugate",value:function(){return this.it*=-1,this.nt*=-1,this.et*=-1,this.gt(),this}},{key:"dot",value:function(t){return this.it*t.it+this.nt*t.nt+this.et*t.et+this.rt*t.rt}},{key:"lengthSq",value:function(){return this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt}},{key:"length",value:function(){return Math.sqrt(this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt)}},{key:"normalize",value:function(){var t=this.length();return 0===t?(this.it=0,this.nt=0,this.et=0,this.rt=1):(this.it=this.it*(t=1/t),this.nt=this.nt*t,this.et=this.et*t,this.rt=this.rt*t),this.gt(),this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,i)):this.multiplyQuaternions(this,t)}},{key:"premultiply",value:function(t){return this.multiplyQuaternions(t,this)}},{key:"multiplyQuaternions",value:function(t,i){var n=t.it,e=t.nt,r=t.et,t=t.rt,g=i.it,A=i.nt,C=i.et,i=i.rt;return this.it=n*i+t*g+e*C-r*A,this.nt=e*i+t*A+r*g-n*C,this.et=r*i+t*C+n*A-e*g,this.rt=t*i-n*g-e*A-r*C,this.gt(),this}},{key:"slerp",value:function(t,i){if(0===i)return this;if(1===i)return this.copy(t);var n=this.it,e=this.nt,r=this.et,g=this.rt,A=g*t.rt+n*t.it+e*t.nt+r*t.et;if(A<0?(this.rt=-t.rt,this.it=-t.it,this.nt=-t.nt,this.et=-t.et,A=-A):this.copy(t),1<=A)return this.rt=g,this.it=n,this.nt=e,this.et=r,this;t=1-A*A;if(t<=Number.EPSILON)return this.rt=(C=1-i)*g+i*this.rt,this.it=C*n+i*this.it,this.nt=C*e+i*this.nt,this.et=C*r+i*this.et,this.normalize(),this.gt(),this;var C=Math.sqrt(t),t=Math.atan2(C,A),A=Math.sin((1-i)*t)/C,i=Math.sin(i*t)/C;return this.rt=g*A+this.rt*i,this.it=n*A+this.it*i,this.nt=e*A+this.nt*i,this.et=r*A+this.et*i,this.gt(),this}},{key:"equals",value:function(t){return t.it===this.it&&t.nt===this.nt&&t.et===this.et&&t.rt===this.rt}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.it=t[i],this.nt=t[i+1],this.et=t[i+2],this.rt=t[i+3],this.gt(),this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.it,t[i+1]=this.nt,t[i+2]=this.et,t[i+3]=this.rt,t}},{key:"fromBufferAttribute",value:function(t,i){return this.it=t.getX(i),this.nt=t.getY(i),this.et=t.getZ(i),this.rt=t.getW(i),this}},{key:"_onChange",value:function(t){return this.gt=t,this}},{key:"_onChangeCallback",value:function(){}}])&&at(t.prototype,i),n&&at(t,n),Object.defineProperty(t,"prototype",{writable:!1}),A}();function ct(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var ft=function(){function g(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,e=this,r=g;if(!(e instanceof r))throw new TypeError("Cannot call a class as a function");Object.defineProperty(this,"isVector3",{value:!0}),this.x=t,this.y=i,this.z=n}var t,i,n;return t=g,(i=[{key:"set",value:function(t,i,n){return void 0===n&&(n=this.z),this.x=t,this.y=i,this.z=n,this}},{key:"setScalar",value:function(t){return this.x=t,this.y=t,this.z=t,this}},{key:"setX",value:function(t){return this.x=t,this}},{key:"setY",value:function(t){return this.y=t,this}},{key:"setZ",value:function(t){return this.z=t,this}},{key:"setComponent",value:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;default:throw new Error("index is out of range: "+t)}return this}},{key:"getComponent",value:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}}},{key:"clone",value:function(){return new this.constructor(this.x,this.y,this.z)}},{key:"copy",value:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}},{key:"add",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)}},{key:"addScalar",value:function(t){return this.x+=t,this.y+=t,this.z+=t,this}},{key:"addVectors",value:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this}},{key:"addScaledVector",value:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this}},{key:"sub",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)}},{key:"subScalar",value:function(t){return this.x-=t,this.y-=t,this.z-=t,this}},{key:"subVectors",value:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this}},{key:"multiply",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,i)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)}},{key:"multiplyScalar",value:function(t){return this.x*=t,this.y*=t,this.z*=t,this}},{key:"multiplyVectors",value:function(t,i){return this.x=t.x*i.x,this.y=t.y*i.y,this.z=t.z*i.z,this}},{key:"applyEuler",value:function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(vt.setFromEuler(t))}},{key:"applyAxisAngle",value:function(t,i){return this.applyQuaternion(vt.setFromAxisAngle(t,i))}},{key:"applyMatrix3",value:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6]*e,this.y=t[1]*i+t[4]*n+t[7]*e,this.z=t[2]*i+t[5]*n+t[8]*e,this}},{key:"applyNormalMatrix",value:function(t){return this.applyMatrix3(t).normalize()}},{key:"applyMatrix4",value:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements,r=1/(t[3]*i+t[7]*n+t[11]*e+t[15]);return this.x=(t[0]*i+t[4]*n+t[8]*e+t[12])*r,this.y=(t[1]*i+t[5]*n+t[9]*e+t[13])*r,this.z=(t[2]*i+t[6]*n+t[10]*e+t[14])*r,this}},{key:"applyQuaternion",value:function(t){var i=this.x,n=this.y,e=this.z,r=t.x,g=t.y,A=t.z,t=t.w,C=t*i+g*e-A*n,o=t*n+A*i-r*e,I=t*e+r*n-g*i,i=-r*i-g*n-A*e;return this.x=C*t+i*-r+o*-A-I*-g,this.y=o*t+i*-g+I*-r-C*-A,this.z=I*t+i*-A+C*-g-o*-r,this}},{key:"project",value:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)}},{key:"unproject",value:function(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)}},{key:"transformDirection",value:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*e,this.y=t[1]*i+t[5]*n+t[9]*e,this.z=t[2]*i+t[6]*n+t[10]*e,this.normalize()}},{key:"divide",value:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this}},{key:"divideScalar",value:function(t){return this.multiplyScalar(1/t)}},{key:"min",value:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this}},{key:"max",value:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this}},{key:"clamp",value:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this.z=Math.max(t.z,Math.min(i.z,this.z)),this}},{key:"clampScalar",value:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this.z=Math.max(t,Math.min(i,this.z)),this}},{key:"clampLength",value:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))}},{key:"floor",value:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}},{key:"ceil",value:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}},{key:"round",value:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}},{key:"roundToZero",value:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}},{key:"negate",value:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}},{key:"dot",value:function(t){return this.x*t.x+this.y*t.y+this.z*t.z}},{key:"lengthSq",value:function(){return this.x*this.x+this.y*this.y+this.z*this.z}},{key:"length",value:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}},{key:"manhattanLength",value:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}},{key:"normalize",value:function(){return this.divideScalar(this.length()||1)}},{key:"setLength",value:function(t){return this.normalize().multiplyScalar(t)}},{key:"lerp",value:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this.z+=(t.z-this.z)*i,this}},{key:"lerpVectors",value:function(t,i,n){return this.x=t.x+(i.x-t.x)*n,this.y=t.y+(i.y-t.y)*n,this.z=t.z+(i.z-t.z)*n,this}},{key:"cross",value:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,i)):this.crossVectors(this,t)}},{key:"crossVectors",value:function(t,i){var n=t.x,e=t.y,t=t.z,r=i.x,g=i.y,i=i.z;return this.x=e*i-t*g,this.y=t*r-n*i,this.z=n*g-e*r,this}},{key:"projectOnVector",value:function(t){var i=t.lengthSq();if(0===i)return this.set(0,0,0);i=t.dot(this)/i;return this.copy(t).multiplyScalar(i)}},{key:"projectOnPlane",value:function(t){return lt.copy(this).projectOnVector(t),this.sub(lt)}},{key:"reflect",value:function(t){return this.sub(lt.copy(t).multiplyScalar(2*this.dot(t)))}},{key:"angleTo",value:function(t){var i=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===i)return Math.PI/2;t=this.dot(t)/i;return Math.acos(ut.clamp(t,-1,1))}},{key:"distanceTo",value:function(t){return Math.sqrt(this.distanceToSquared(t))}},{key:"distanceToSquared",value:function(t){var i=this.x-t.x,n=this.y-t.y,t=this.z-t.z;return i*i+n*n+t*t}},{key:"manhattanDistanceTo",value:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)}},{key:"setFromSpherical",value:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)}},{key:"setFromSphericalCoords",value:function(t,i,n){var e=Math.sin(i)*t;return this.x=e*Math.sin(n),this.y=Math.cos(i)*t,this.z=e*Math.cos(n),this}},{key:"setFromCylindrical",value:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)}},{key:"setFromCylindricalCoords",value:function(t,i,n){return this.x=t*Math.sin(i),this.y=n,this.z=t*Math.cos(i),this}},{key:"setFromMatrixPosition",value:function(t){t=t.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}},{key:"setFromMatrixScale",value:function(t){var i=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),t=this.setFromMatrixColumn(t,2).length();return this.x=i,this.y=n,this.z=t,this}},{key:"setFromMatrixColumn",value:function(t,i){return this.fromArray(t.elements,4*i)}},{key:"setFromMatrix3Column",value:function(t,i){return this.fromArray(t.elements,3*i)}},{key:"equals",value:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z}},{key:"fromArray",value:function(t){var i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return this.x=t[i],this.y=t[i+1],this.z=t[i+2],this}},{key:"toArray",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],i=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0;return t[i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t}},{key:"fromBufferAttribute",value:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this}},{key:"random",value:function(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}])&&ct(t.prototype,i),n&&ct(t,n),Object.defineProperty(t,"prototype",{writable:!1}),g}(),lt=new ft,vt=new t;function yt(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var t=function(){function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");this.Ct={x:Number.MAX_VALUE,y:Number.MAX_VALUE},this.ot={x:-Number.MAX_VALUE,y:-Number.MAX_VALUE}}var i,n,e;return i=t,(n=[{key:"min",get:function(){return this.Ct}},{key:"max",get:function(){return this.ot}},{key:"center",get:function(){var t={x:Number.NaN,y:Number.NaN};return this.valid()&&(t.x=(this.min.x+this.max.x)/2,t.y=(this.min.y+this.max.y)/2),t}},{key:"size",get:function(){var t={x:Number.NaN,y:Number.NaN};return this.valid()&&(t.x=this.max.x-this.min.x,t.y=this.max.y-this.min.y),t}},{key:"copy",value:function(t){return this.ot.x=t.max.x,this.ot.y=t.max.y,this.Ct.x=t.min.x,this.Ct.y=t.min.y,this}},{key:"clone",value:function(){return(new t).copy(this)}},{key:"reset",value:function(){this.Ct={x:Number.MAX_VALUE,y:Number.MAX_VALUE},this.ot={x:-Number.MAX_VALUE,y:-Number.MAX_VALUE}}},{key:"toObject",value:function(){return{min:this.min,max:this.max,center:this.center,size:this.size}}},{key:"expand",value:function(t){this.It(t)}},{key:"expandByCoords",value:function(t){this.st(t)}},{key:"valid",value:function(){return this.ht()}},{key:"isCross",value:function(t){var i=!0;return t.max.x<this.min.x&&(i=!1),t.min.x>this.max.x&&(i=!1),t.max.y<this.min.y&&(i=!1),i=t.min.y>this.max.y?!1:i}}])&&yt(i.prototype,n),e&&yt(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}(),dt=(Object.assign(t.prototype,{ht:function(){return!(this.min.x>this.max.x||this.min.y>this.max.y)},It:function(t){t&&t.valid()&&(t.min.x<this.min.x&&(this.min.x=t.min.x),t.min.y<this.min.y&&(this.min.y=t.min.y),t.max.x>this.max.x&&(this.max.x=t.max.x),t.max.y>this.max.y&&(this.max.y=t.max.y))},st:function(t){var i=this;t&&0!=t.length&&t.forEach(function(t){t.x<i.min.x&&(i.min.x=t.x),t.y<i.min.y&&(i.min.y=t.y),t.x>i.max.x&&(i.max.x=t.x),t.y>i.max.y&&(i.max.y=t.y)})}}),t),pt=function(t,i,n){n=n||2;var e,r,g,A,C,o=i&&i.length,I=o?i[0]*n:t.length,s=bt(t,0,I,n,!0),h=[];if(!s||s.next===s.prev)return h;if(o&&(s=function(t,i,n,e){var r,g,A,C,o=[];for(r=0,g=i.length;r<g;r++)C=i[r]*e,A=r<g-1?i[r+1]*e:t.length,(C=bt(t,C,A,e,!1))===C.next&&(C.steiner=!0),o.push(function(t){var i=t,n=t;for(;(i.x<n.x||i.x===n.x&&i.y<n.y)&&(n=i),i=i.next,i!==t;);return n}(C));for(o.sort(Mt),r=0;r<o.length;r++)!function(t,i){(i=function(t,i){var n,e=i,r=t.x,g=t.y,A=-1/0;do{if(g<=e.y&&g>=e.next.y&&e.next.y!==e.y){var C=e.x+(g-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(C<=r&&A<C){if((A=C)===r){if(g===e.y)return e;if(g===e.next.y)return e.next}n=e.x<e.next.x?e:e.next}}}while(e=e.next,e!==i);if(!n)return null;if(r===A)return n;var o,I=n,s=n.x,h=n.y,u=1/0;e=n;for(;r>=e.x&&e.x>=s&&r!==e.x&&jt(g<h?r:A,g,s,h,g<h?A:r,g,e.x,e.y)&&(o=Math.abs(g-e.y)/(r-e.x),St(e,t)&&(o<u||o===u&&(e.x>n.x||e.x===n.x&&function(t,i){return k(t.prev,t,i.prev)<0&&k(i.next,t,t.next)<0}(n,e)))&&(n=e,u=o)),e=e.next,e!==I;);return n}(t,i))&&(t=xt(i,t),mt(i,i.next),mt(t,t.next))}(o[r],n),n=mt(n,n.next);return n}(t,i,s,n)),t.length>80*n){for(var u=e=t[0],a=r=t[1],c=n;c<I;c+=n)(g=t[c])<u&&(u=g),(A=t[c+1])<a&&(a=A),e<g&&(e=g),r<A&&(r=A);C=0!==(C=Math.max(e-u,r-a))?1/C:0}return wt(s,h,n,u,a,C),h};function bt(t,i,n,e,r){var g,A;if(r===0<function(t,i,n,e){for(var r=0,g=i,A=n-e;g<n;g+=e)r+=(t[A]-t[g])*(t[g+1]+t[A+1]),A=g;return r}(t,i,n,e))for(g=i;g<n;g+=e)A=Pt(g,t[g],t[g+1],A);else for(g=n-e;i<=g;g-=e)A=Pt(g,t[g],t[g+1],A);return A&&Ot(A,A.next)&&(Lt(A),A=A.next),A}function mt(t,i){if(!t)return t;i=i||t;var n,e=t;do{if(n=!1,e.steiner||!Ot(e,e.next)&&0!==k(e.prev,e,e.next))e=e.next;else{if(Lt(e),(e=i=e.prev)===e.next)break;n=!0}}while(n||e!==i);return i}function wt(t,i,n,e,r,g,A){if(t){if(!A&&g){for(var C=t,o=e,I=r,s=g,h=C;null===h.z&&(h.z=kt(h.x,h.y,o,I,s)),h.prevZ=h.prev,h.nextZ=h.next,(h=h.next)!==C;);h.prevZ.nextZ=null,h.prevZ=null;var u,a,c,f,l,v,y,d,p=h,b=1;do{for(a=p,l=p=null,v=0;a;){for(v++,c=a,u=y=0;u<b&&(y++,c=c.nextZ);u++);for(d=b;0<y||0<d&&c;)0!==y&&(0===d||!c||a.z<=c.z)?(a=(f=a).nextZ,y--):(c=(f=c).nextZ,d--),l?l.nextZ=f:p=f,f.prevZ=l,l=f;a=c}}while(l.nextZ=null,b*=2,1<v)}for(var m,w,M=t;t.prev!==t.next;)if(m=t.prev,w=t.next,g?function(t,i,n,e){var r=t.prev,g=t,A=t.next;if(0<=k(r,g,A))return;var C=(r.x<g.x?r.x<A.x?r:A:g.x<A.x?g:A).x,o=(r.y<g.y?r.y<A.y?r:A:g.y<A.y?g:A).y,I=(r.x>g.x?r.x>A.x?r:A:g.x>A.x?g:A).x,s=(r.y>g.y?r.y>A.y?r:A:g.y>A.y?g:A).y,h=kt(C,o,i,n,e),u=kt(I,s,i,n,e),a=t.prevZ,c=t.nextZ;for(;a&&a.z>=h&&c&&c.z<=u;){if(a!==t.prev&&a!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,a.x,a.y)&&0<=k(a.prev,a,a.next))return;if(a=a.prevZ,c!==t.prev&&c!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,c.x,c.y)&&0<=k(c.prev,c,c.next))return;c=c.nextZ}for(;a&&a.z>=h;){if(a!==t.prev&&a!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,a.x,a.y)&&0<=k(a.prev,a,a.next))return;a=a.prevZ}for(;c&&c.z<=u;){if(c!==t.prev&&c!==t.next&&jt(r.x,r.y,g.x,g.y,A.x,A.y,c.x,c.y)&&0<=k(c.prev,c,c.next))return;c=c.nextZ}return 1}(t,e,r,g):function(t){var i=t.prev,n=t,e=t.next;if(0<=k(i,n,e))return;var r=t.next.next;for(;r!==t.prev;){if(jt(i.x,i.y,n.x,n.y,e.x,e.y,r.x,r.y)&&0<=k(r.prev,r,r.next))return;r=r.next}return 1}(t))i.push(m.i/n),i.push(t.i/n),i.push(w.i/n),Lt(t),t=w.next,M=w.next;else if((t=w)===M){A?1===A?wt(t=function(t,i,n){var e=t;do{var r=e.prev,g=e.next.next}while(!Ot(r,g)&&Rt(r,e,e.next,g)&&St(r,g)&&St(g,r)&&(i.push(r.i/n),i.push(e.i/n),i.push(g.i/n),Lt(e),Lt(e.next),e=t=g),e=e.next,e!==t);return mt(e)}(mt(t),i,n),i,n,e,r,g,2):2===A&&function(t,i,n,e,r,g){var A=t;do{for(var C,o=A.next.next;o!==A.prev;){if(A.i!==o.i&&function(t,i){return t.next.i!==i.i&&t.prev.i!==i.i&&!function(t,i){var n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==i.i&&n.next.i!==i.i&&Rt(n,n.next,t,i))return 1}while(n=n.next,n!==t);return}(t,i)&&(St(t,i)&&St(i,t)&&function(t,i){var n=t,e=!1,r=(t.x+i.x)/2,g=(t.y+i.y)/2;for(;n.y>g!=n.next.y>g&&n.next.y!==n.y&&r<(n.next.x-n.x)*(g-n.y)/(n.next.y-n.y)+n.x&&(e=!e),n=n.next,n!==t;);return e}(t,i)&&(k(t.prev,t,i.prev)||k(t,i.prev,i))||Ot(t,i)&&0<k(t.prev,t,t.next)&&0<k(i.prev,i,i.next))}(A,o))return C=xt(A,o),A=mt(A,A.next),C=mt(C,C.next),wt(A,i,n,e,r,g),wt(C,i,n,e,r,g);o=o.next}}while(A=A.next,A!==t)}(t,i,n,e,r,g):wt(mt(t),i,n,e,r,g,1);break}}}function Mt(t,i){return t.x-i.x}function kt(t,i,n,e,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-n)*r)|t<<8))|t<<4))|t<<2))|t<<1))|(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=32767*(i-e)*r)|i<<8))|i<<4))|i<<2))|i<<1))<<1}function jt(t,i,n,e,r,g,A,C){return 0<=(r-A)*(i-C)-(t-A)*(g-C)&&0<=(t-A)*(e-C)-(n-A)*(i-C)&&0<=(n-A)*(g-C)-(r-A)*(e-C)}function k(t,i,n){return(i.y-t.y)*(n.x-i.x)-(i.x-t.x)*(n.y-i.y)}function Ot(t,i){return t.x===i.x&&t.y===i.y}function Rt(t,i,n,e){var r=Tt(k(t,i,n)),g=Tt(k(t,i,e)),A=Tt(k(n,e,t)),C=Tt(k(n,e,i));return r!==g&&A!==C||(0===r&&Et(t,n,i)||(0===g&&Et(t,e,i)||(0===A&&Et(n,t,e)||!(0!==C||!Et(n,i,e)))))}function Et(t,i,n){return i.x<=Math.max(t.x,n.x)&&i.x>=Math.min(t.x,n.x)&&i.y<=Math.max(t.y,n.y)&&i.y>=Math.min(t.y,n.y)}function Tt(t){return 0<t?1:t<0?-1:0}function St(t,i){return k(t.prev,t,t.next)<0?0<=k(t,i,t.next)&&0<=k(t,t.prev,i):k(t,i,t.prev)<0||k(t,t.next,i)<0}function xt(t,i){var n=new Ft(t.i,t.x,t.y),e=new Ft(i.i,i.x,i.y),r=t.next,g=i.prev;return(t.next=i).prev=t,(n.next=r).prev=n,(e.next=n).prev=e,(g.next=e).prev=g,e}function Pt(t,i,n,e){t=new Ft(t,i,n);return e?(t.next=e.next,(t.prev=e).next.prev=t,e.next=t):(t.prev=t).next=t,t}function Lt(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ft(t,i,n){this.i=t,this.x=i,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Zt(t){return function(t){if(Array.isArray(t))return Dt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(t){if("string"==typeof t)return Dt(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(n="Object"===n&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Dt(t,i):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(t,i){(null==i||i>t.length)&&(i=t.length);for(var n=0,e=new Array(i);n<i;n++)e[n]=t[n];return e}var Nt={area:function(t){for(var i=t.length,n=0,e=i-1,r=0;r<i;e=r++)n+=t[e].x*t[r].y-t[r].x*t[e].y;return.5*n},isClockWise:function(t){return Nt.area(t)<0},triangulateShape:function(t,i){var n=[],e=[],r=[],g=(Gt(t),Bt(n,t),t.length);i.forEach(Gt);for(var A=0;A<i.length;A++)e.push(g),g+=i[A].length,Bt(n,i[A]);for(var C=pt(n,e),o=0;o<C.length;o+=3)r.push(C.slice(o,o+3));return r},triangulate:function(t){(r=[]).push.apply(r,Zt(t[0]));for(var i=[],n=1;n<t.length;n++){var e=[];e.push.apply(e,Zt(t[n])),i.push(e)}if(!Nt.isClockWise(r))for(var r=r.reverse(),g=0,A=i.length;g<A;g++){var C=i[g];Nt.isClockWise(C)&&(i[g]=C.reverse())}return Nt.triangulateShape(r,i)}};function Gt(t){var i,n=t.length;2<n&&(n=t[n-1],i=t[0],n.x===i.x&&n.y===i.y)&&t.pop()}function Bt(t,i){for(var n=0;n<i.length;n++)t.push(i[n].x),t.push(i[n].y)}function zt(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Yt(t,i,n){return i&&zt(t.prototype,i),n&&zt(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}var Ut=1e-5,Vt=Math.PI/180,Wt=180/Math.PI,t=Yt(function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function")});Object.assign(t.prototype,{ut:function(){return Ut},ct:function(){return Vt},ft:function(){return Wt},lt:function(t){return t<Ut&&-Ut<t},vt:function(t){return Ut<t},yt:function(t){return t<-Ut},dt:function(t,i,n){i=(t.x-n.x)*(i.y-n.y)-(i.x-n.x)*(t.y-n.y);return Math.abs(i)<Ut?0:i},distanceOfTwoPoints:function(t,i){return t&&i?Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y)):Number.NaN},distance:function(t,i){return Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2))},isPolygonContainPoint:function(t,i){for(var n=0,e=0;e<t.length;e++){var r=t[e].x,g=t[e].y,A=0,C=0,C=e<t.length-1?(A=t[e+1].x,t[e+1].y):(A=t[0].x,t[0].y);if(r===i.x&&g===i.y||A===i.x&&C===i.y)return!0;if(C!==g){var o=r+(i.y-g)*(A-r)/(C-g);if(o===i.x)return!0;r!==A?o<=Math.max(r,A)&&o>=Math.min(r,A)&&o>i.x&&o!==r&&(o===A&&0<(g-i.y)*(C-i.y)?n+=2:n++):o<=Math.max(r,A)&&o>=Math.min(r,A)&&o>i.x&&(o===A&&0<(g-i.y)*(C-i.y)?n+=2:n++)}}return 0<n%2},pt:function(t,i,n,e){return!(Math.max(t.x,i.x)<Math.min(n.x,e.x))&&(!(Math.max(t.y,i.y)<Math.min(n.y,e.y))&&(!(Math.max(n.x,e.x)<Math.min(t.x,i.x))&&!(Math.max(n.y,e.y)<Math.min(t.y,i.y))))},bt:function(t,i,n,e){return!(Math.max(t.x,i.x)<Math.min(n.x,e.x))&&(!(Math.max(t.y,i.y)<Math.min(n.y,e.y))&&(!(Math.max(n.x,e.x)<Math.min(t.x,i.x))&&(!(Math.max(n.y,e.y)<Math.min(t.y,i.y))&&((0!==this.dt(n,i,t)||0!==this.dt(i,e,t))&&(!(this.dt(n,i,t)*this.dt(i,e,t)<0)&&!(this.dt(t,e,n)*this.dt(e,i,n)<0))))))},mt:function(t,i,n){return!(t.x<i.x)&&(!(t.y<i.y)&&(!(t.x>n.x)&&!(t.y>n.y)))},wt:function(t,i,n){var e=Math.min(i.x,n.x),r=Math.max(i.x,n.x),g=Math.min(i.y,n.y),i=Math.max(i.y,n.y);return!(t.x<e||t.x>r||t.y<g||t.y>i)},Mt:function(t,i,n){var e=Math.min(n.x,i.x),r=Math.max(n.x,i.x),g=Math.min(n.y,i.y),n=Math.max(n.y,i.y);return!(t.x<e||t.x>r||t.y<g||t.y>n)},kt:function(t,i,n){for(var e,r,g=!1,A=0;A<n;A++)e=i[A],r=i[(A+1)%n],(e.y<t.y&&r.y>=t.y||r.y<t.y&&e.y>=t.y)&&(e.x<=t.x||r.x<=t.x)&&e.x+(t.y-e.y)/(r.y-e.y)*(r.x-e.x)<t.x&&(g=!g);return g},jt:function(t,i,n){return(t.x-i.x)*(n.y-i.y)==(n.x-i.x)*(t.y-i.y)&&Math.min(i.x,n.x)<=t.x&&t.x<=Math.max(i.x,n.x)&&Math.min(i.y,n.y)<=t.y&&t.y<=Math.max(i.y,n.y)},Ot:function(t,i){return Math.sqrt((t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y))},Rt:function(t,i){return(t.x-i.x)*(t.x-i.x)+(t.y-i.y)*(t.y-i.y)},Et:function(t,i,n){var e=i.x,i=i.y,r=n.x,n=n.y,g=t.x,t=t.y,A=r-e,C=n-i,o=A*A+C*C,I=g-e,s=t-i,h=I*I+s*s;if(this.lt(o))return this.lt(h)?0:h;var o=Math.sqrt(o),A=A/o,C=C/o,I=A*I+C*s;return s=this.vt(I)?this.yt(I-o)?(s=g-(e+I*A))*s+(o=t-(i+I*C))*o:(e=g-r)*e+(A=t-n)*A:h,this.lt(s)?0:s},Tt:function(t,i,n,e){var r=i.x,g=i.y,A=n.x,C=n.y,o=t.x,t=t.y,I=A-r,s=C-g,h=Math.sqrt(I*I+s*s),u=o-r,a=t-g,c=Math.sqrt(u*u+a*a);if(this.lt(h))return e.x=i.x,e.y=i.y,this.lt(f=c)?0:f;var I=I/h,s=s/h,u=I*u+s*a,f=this.vt(u)?this.yt(u-h)?(h=o-(a=r+u*I),I=t-(r=g+u*s),g=Math.sqrt(h*h+I*I),e.x=a,e.y=r,g):(u=o-A,s=t-C,h=Math.sqrt(u*u+s*s),e.x=n.x,e.y=n.y,h):(e.x=i.x,e.y=i.y,c);return this.lt(f)?0:f},St:function(t,i){for(var n=0,e=0,r=0,g=0;g<i;g++){var A=t[g],C=t[(g+1)%i],o=(A.x*C.y-A.y*C.x)/2;n+=o,e+=o*(A.x+C.x)/3,r+=o*(A.y+C.y)/3}return{x:e/=n,y:r/=n}},xt:function(t){for(var i=Nt.triangulate([t]),n=0,e=0,r=0,g=0;g<i.length;g++){var A=t[i[g][0]],C=t[i[g][1]],o=t[i[g][2]],I=C.x-A.x,s=C.y-A.y,h=o.x-A.x,I=(I*(o.y-A.y)-h*s)/2;n+=I,e+=(A.x+C.x+o.x)/3*I,r+=(A.y+C.y+o.y)/3*I}return{x:e/n,y:r/n}},Pt:function(t,i){if(i<3)return 0;for(var n=0,e=0;e<i;++e){var r=t[e],g=t[(e+1)%i];n+=r.x*g.y-r.y*g.x}return Math.abs(n/2)},Lt:function(t,i,n,e,r){var g,A;return this.bt(t,i,n,e)?(g=(e.x-n.x)*(t.y-i.y)-(i.x-t.x)*(n.y-e.y),A=(t.y-n.y)*(i.x-t.x)*(e.x-n.x)+n.x*(e.y-n.y)*(i.x-t.x)-t.x*(i.y-t.y)*(e.x-n.x),r.x=A/g,g=(t.x-i.x)*(e.y-n.y)-(i.y-t.y)*(n.x-e.x),A=i.y*(t.x-i.x)*(e.y-n.y)+(e.x-i.x)*(e.y-n.y)*(t.y-i.y)-e.y*(n.x-e.x)*(i.y-t.y),r.y=A/g,1):0},Ft:function(t,i,n,e,r){var g=Math.min(n.x,e.x),A=Math.max(n.x,e.x),C=Math.min(n.y,e.y),o=Math.max(n.y,e.y),I=t.x,s=t.y,h=n.x,u=n.y,a=e.x,c=e.y;if(90==i){if(t.x<g||t.x>A)return!1;var f=(c-u)/(a-h)*(I-h)+u;return r.y=f,r.x=I,f<s?!1:!!this.Mt(r,n,e)}if(270==i){if(t.x<g||t.x>A)return!1;var f=(c-u)/(a-h)*(I-h)+u;return r.y=f,r.x=I,s<f?!1:!!this.Mt(r,n,e)}if(270!=i&&90!=i&&A-g<.001){var t=g,f=Math.tan(i/180*Math.PI)*(t-I)+s;if(r.y=f,r.x=t,this.Mt(r,n,e))return A=f-s,0<(g=t-I)/Math.sqrt(g*g+A*A)*Math.cos(i/180*Math.PI)}if(o-C<=1e-6)return f=C,t=1/Math.tan(i/180*Math.PI)*(f-s)+I,r.x=t,r.y=f,!!this.Mt(r,n,e)&&(g=f-s,0<(A=t-I)/Math.sqrt(A*A+g*g)*Math.cos(i/180*Math.PI));o=Math.tan(i/180*Math.PI),C=(c-u)/(a-h),f=(u-s-(C*h-o*I))/(o-C),t=s+o*(f-I);return r.x=f,r.y=t,!!this.Mt(r,n,e)&&(A=t-s,0<(g=f-I)/Math.sqrt(g*g+A*A)*Math.cos(i/180*Math.PI))},Zt:function(t,i,n,e){var r=t.x,t=t.y,g=i.x,A=i.y,C=n.x,o=n.y;if(r==g&&t==A||r==C&&t==o)return e.x=r,e.y=t,!0;var I=Math.min(i.x,n.x),s=Math.max(i.x,n.x),h=Math.min(i.y,n.y),u=Math.max(i.y,n.y);if(Math.abs(g-C)<1e-5)return e.x=g,h<=(e.y=t)&&t<=u;if(Math.abs(A-o)<1e-5)return e.x=r,e.y=A,I<=r&&r<=s;h=-1/((o-A)/(C-g)),u=(o-A)/(C-g),I=(A-t-(u*g-h*r))/(h-u),s=t+h*(I-r);return e.x=I,e.y=s,!!this.Mt(e,i,n)},Dt:function(t,i){return{x:t.y*i.z-t.z*i.y,y:t.z*i.x-t.x*i.z,z:t.x*i.y-t.y*i.x}},Nt:function(t,i){return t.x*i.x+t.y*i.y+t.z*i.z},Gt:function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z)},Bt:function(t,i){return t.x*i.x+t.y*i.y},zt:function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},Yt:function(t,i){if(0==t.x&&0==t.y||0==i.x&&0==i.y)return 0;var n={x:t.x,y:t.y,z:0},e={x:i.x,y:i.y,z:0},n=this.Dt(n,e),e=this.Bt(t,i),e=Math.acos(e/(this.zt(t)*this.zt(i)));return 0<n.z?e/Math.PI*180:360-e/Math.PI*180},Ut:function(t,i,n,e){for(var r=0;r<n.length;r++){var g=n[r],A=n[(r+1)%n.length];if(1==this.Lt(t,i,g,A,e))return!0}return!1},Vt:function(t,i,n,e,r){var g=Math.min(t.x,n.x,e.x),A=Math.max(t.x,n.x,e.x),C=Math.min(t.y,n.y,e.y),o=Math.max(t.y,n.y,e.y),A=Math.sqrt((A-g)*(A-g)+(o-C)*(o-C)),g=i/180*Math.PI,o=A*Math.cos(g)+t.x,C=A*Math.sin(g)+t.y;return 1==this.Lt(t,{x:o,y:C},n,e,r)}});var Xt=new t,_t={Drive:1,Walk:0};function Ht(t){return function(t){if(Array.isArray(t))return Kt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(t){if("string"==typeof t)return Kt(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);return"Map"===(n="Object"===n&&t.constructor?t.constructor.name:n)||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Kt(t,i):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Kt(t,i){(null==i||i>t.length)&&(i=t.length);for(var n=0,e=new Array(i);n<i;n++)e[n]=t[n];return e}function Qt(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var t=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.Wt=t.type,this.Xt=null,this._t=null,this.stepLength=.7,this.Ht=180/Math.PI,this.Kt=[295829355.45,147914677.73,73957338.86,36978669.43,18489334.72,9244667.36,4622333.68,2311166.84,1155583.42,577791.71,288895.85,144447.93,72223.96,36111.98,18056,9028,4514,2257,1128,564,282,141,70,35,17,8,4,2,1],this.e=null,this.Qt=null,this.Jt=5,this.qt=!0,this.$t=.2,this.ti=!1,this.ii=!0,this.ni=!1,this.ei=1.2,this.ri=80,this.gi=30,this.Ai=21,this.Ci=!0,this.oi=22,this.Ii=1.3,this.si="",this.hi=100,this.ui=3,this.ai=1,this.ci=6,this.fi=10,this.li=5,this.vi=0,this.yi=!1,this.di=!1,this.pi=!1,this.bi=!1,this.mi=0,this.wi=0,this.Mi=0,this.ki=null,this.ji=null,this.Oi=!1,this.Ri=null,this.Ei=null,this.Ti=!1,this.Si=0,this.xi=fengmap.FMLanguageType.ZH,this.Pi=fengmap.FMNaviMode.MODULE_SHORTEST,this.Li=fengmap.FMNaviPriority.PRIORITY_DEFAULT,this.Fi=!1,this.Zi=!0,this.Di=[],this.Ni=!1,this.Gi={radius:.5,dash:{size:4,gap:2}},this.Bi="#002FA7",this.zi=!0,this.Yi=0,this.Ui=new ot,this.Vi=new At,this.Wi(t),this.v()}var t,n,e;return t=i,(n=[{key:"locationMarker",get:function(){return this.Xi},set:function(t){this.Xi=t}},{key:"naviResult",get:function(){return this._i}},{key:"followPosition",get:function(){return this.qt},set:function(t){this.qt=t}},{key:"on",value:function(t,i){this.Vi.Q(t,i)}},{key:"off",value:function(t,i){this.Vi.$(t,i)}},{key:"dispose",value:function(){this.stop(),this.e=null,this.Qt&&(this.Qt.dispose(),this.Qt=null)}},{key:"setLanguage",value:function(t){this.xi!=t&&(this.xi=t,this.Hi())}},{key:"setObstructions",value:function(t){this.Qt.setObstructions(t)}},{key:"setStartPoint",value:function(t,i){this.Ki=Object.assign({},this.Ki,t,{x:t.x,y:t.y,level:t.level,height:"number"==typeof t.height?t.height:this.ci});var n=null;return n=t.url&&!i?this.Qi(this.Ki,!0):n}},{key:"setDestPoint",value:function(t,i){this.Ji=Object.assign({},this.Ji,t,{x:t.x,y:t.y,level:t.level,height:"number"==typeof t.height?t.height:this.ci});var n=null;return n=t.url&&!i?this.Qi(t,!1):n}},{key:"route",value:function(t,i,n){this._t=null,this.Xt=null,this.Wi(t),this.qi({mode:this.Pi,priority:this.Li,toDoors:this.Fi,obstruct:this.Zi,viapoints:this.Di,barrierFree:this.Ni},i,n)}},{key:"naviConstraint",value:function(t){if(this.Ki&&this.Ji){var i={index:-1,coords:{level:t.level},angle:null,distance:Number.MAX_VALUE,distanceToNext:Number.MAX_VALUE,remain:this.$i,relDirection:1,time:null,dots:[],insertIndex:-1,toNext:null},n=(null!=this.desRes&&null!=this.naviRes||this.tn(),this.desRes),e=this.naviRes,r=-1,g=null;if(this.in){if(!(g=this.Qt.getNaviGraph(t.level)))return;r=g.queryContainExtentID(t)}for(var A={},C=[],o=Number.MAX_VALUE,I=1;I<e.length;I++){var s,h,u,a=e[I-1],c=e[I],f=this.nn[a.index].endPoint;a.level!==t.level||c.level!==t.level||g&&r!==g.queryContainExtentID(a)||(s=Xt.Tt(t,a,c,A))<=o&&(h={index:-1,coords:{level:t.level},angle:null,distance:Number.MAX_VALUE,distanceToNext:Number.MAX_VALUE,remain:this.$i,relDirection:1,time:null,dots:[],insertIndex:-1,toNext:null},null!=this._t&&(u=(t.x-this._t.x)*(c.x-a.x)+(t.y-this._t.y)*(c.y-a.y),0===Math.abs(u)&&null!=this.Xt?h.relDirection=this.Xt.relDirection:u<0&&(h.relDirection=-1)),h.distance=s,Object.assign(h.coords,A),h.angle=this.en(a,c),h.index=a.index,h.insertIndex=I,h.distanceToNext=Xt.Ot(A,f),h.toNext=Xt.Ot(A,c),C.push(h),o=s)}for(var l=[],v=0;v<C.length;)C[v].distance==o&&l.push(C[v]),v+=1;if(1<l.length){for(var y=0;y<l.length;y++)if(0<=l[y].relDirection){i=l[y];break}-1===i.index&&(i=l[0])}else 1==l.length&&(i=l[0]);if(-1===i.index)for(var d=0;d<e.length;d++){var p,b=e[d];b.level!==t.level||r!==g.queryContainExtentID(b)||(p=Xt.Ot(t,b))<i.distance&&(i.distance=p,Object.assign(i.coords,b),i.index=b.index,i.distanceToNext=0,n[b.index+1]&&e[b.index+1].level===t.level&&(i.distanceToNext=Xt.Ot(t,n[b.index+1])))}if(-1!==i.insertIndex){for(var m,w,M=0,k=e.length-1;k>i.insertIndex;k--)k-1>=i.insertIndex&&(m=e[k],w=e[k-1],m.level===w.level&&(M+=Xt.Ot(m,w)));e[i.insertIndex]&&e[i.insertIndex].level===i.coords.level&&(M+=Xt.Ot(e[i.insertIndex],i.coords)),i.remain=M}return i.time=t.time,this._t=t,this.Xt=i}}},{key:"pathConstraint",value:function(t,i){return this.Qt?this.Qt.pathConstraint(t,i):null}},{key:"locate",value:function(t,i){this.di&&this.stop(),t.level!==this.rn&&(this.rn=t.level),this.gn(t,i),this._t=t}},{key:"locateNoConstraint",value:function(t,i){this.di&&this.stop(),t.level!==this.rn&&(this.rn=t.level),this.An(t,i),this._t=t}},{key:"clearLocationMarker",value:function(){this.Xi&&(this.Xi.remove(),this.Xi=null)}},{key:"clearMarkers",value:function(){this.Cn&&(this.Cn.remove(),this.Cn=null,this.Ki=null),this.In&&(this.In.remove(),this.In=null,this.Ji=null)}},{key:"drawNaviLine",value:function(t){if(this.Ki&&this.Ji)return this.sn=this.hn(this.an,t),this.sn}},{key:"clearNaviLine",value:function(){this.sn&&(this.sn.remove(),this.sn=null)}},{key:"clearAll",value:function(){this.clearMarkers(),this.clearNaviLine(),this.clearLocationMarker()}},{key:"overview",value:function(t,i){var n,e;0!==this.an.length&&(n=new dt,e=[Number.MAX_VALUE,-Number.MAX_VALUE],this.an.forEach(function(t){t.level<e[0]&&(e[0]=t.level),t.level>e[1]&&(e[1]=t.level),n.st(t.pointList)}),this.cn(t,n,e,i))}},{key:"focusNaviLineSegment",value:function(t,i,n){var e;0!=this.nn.length&&(t=this.nn[t])&&((e=new dt).st([t.startPoint,t.endPoint]),t=[Math.min(t.startLevel,t.endLevel),Math.max(t.startLevel,t.endLevel)],this.cn(i,e,t,n))}},{key:"simulate",value:function(t){var i,n,e=this;this.Ki&&this.Ji&&0!==this.an.length&&!0!==this.di&&(this.di=!0,this.Wi(t),i={},this.Oi=!1,this.Ri=this.e.getRotation(),n=i.ei||this.ei,i.Ai=i.Ai||this.Ai||0,this.fn(),this.Xi.rotateTo({heading:-this.Ri}),this.qt?this.ln(this.Ki.level,n,function(){e.di&&e.vn(e.Ki,n,function(){var t;e.di&&(t=i.Ai>e.oi?e.oi:i.Ai,e.Ci?e.yn(e.ri,n,function(){e.di&&e.dn(t,n,function(){e.di&&e.pn()})}):e.dn(t,n,function(){e.di&&e.pn()}))})}):this.di&&this.pn())}},{key:"pause",value:function(){this.bi=!0}},{key:"resume",value:function(){this.bi=!1}},{key:"stop",value:function(){this.yi=!0,this.Ui.stop(),this.bn&&this.e.off("update",this.bn),this.bi=!1,this.ji=null,this.Ei=null,this.wi=0,this.Oi=!1,this.Si=0,this.Ti=!1,this.bn=null,this.di=!1,this.pi=!1,this.mi=0,this.ki=null}}])&&Qt(t.prototype,n),e&&Qt(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),Jt=(Object.assign(t.prototype,{Wi:function(t){t&&(void 0!==t.map&&(this.e=t.map),void 0!==t.analyser&&(this.Qt=t.analyser),void 0!==t.speed&&(this.Jt=t.speed),void 0!==t.followSpeed&&(this.$t=t.followSpeed),void 0!==t.followPosition&&(this.qt=t.followPosition),void 0!==t.followAngle&&(this.ti=t.followAngle),void 0!==t.locationMarkerFollowAngle&&(this.ii=t.locationMarkerFollowAngle),void 0!==t.isMultiLevels&&(this.ni=t.isMultiLevels),void 0!==t.inTime&&(this.ei=t.inTime),void 0!==t.tiltAngle&&(this.ri=t.tiltAngle),void 0!==t.changeFloorTiltAngle&&(this.gi=t.changeFloorTiltAngle),void 0!==t.changeTiltAngle&&(this.Ci=t.changeTiltAngle),void 0!==t.zoom&&(this.Ai=t.zoom),void 0!==t.maxZoom&&(this.oi=t.maxZoom),void 0!==t.extendScale&&(this.Ii=t.extendScale),void 0!==t.locationMarkerUrl&&(this.si=t.locationMarkerUrl),void 0!==t.locationMarkerSize&&(this.hi=t.locationMarkerSize),void 0!==t.locationMarkerHeight&&(this.ui=t.locationMarkerHeight),void 0!==t.lineMarkerHeight&&(this.ai=t.lineMarkerHeight),void 0!==t.imageMarkerHeight&&(this.ci=t.imageMarkerHeight),void 0!==t.directionAssert&&(this.fi=t.directionAssert),void 0!==t.combineAsset&&(this.li=t.combineAsset),void 0!==t.completeDistance&&(this.vi=t.completeDistance),void 0!==t.xi&&(this.fi=t.directionAssert),void 0!==t.mode&&(this.Pi=t.mode),void 0!==t.priority&&(this.Li=t.priority),void 0!==t.toDoors&&(this.Fi=t.toDoors),void 0!==t.obstruct&&(this.Zi=t.obstruct),void 0!==t.viapoints&&(this.Di=t.viapoints),void 0!==t.barrierFree&&(this.Ni=t.barrierFree),void 0!==t.lineStyle&&Object.assign(this.Gi,t.lineStyle),void 0!==t.linePassed&&(this.zi=t.linePassed))},v:function(){1===this.Wt?this.in=void 0!==fengmap.FMNaviDriveAnalyser&&this.Qt instanceof fengmap.FMNaviDriveAnalyser:this.in=void 0!==fengmap.FMNaviAnalyser&&(this.Qt instanceof fengmap.FMNaviAnalyser||this.Qt instanceof fengmap.FMNaviWalkAnalyser),this.Ki=null,this.Ji=null,this.Cn=null,this.In=null,this.Xi=null,this._i=null,this.an=[],this.mn=[],this.nn=[],this.$i=0,this.wn=[],this.rn=null,this.bn=null,this.Mn=null,this.kn=null},fn:function(){this.Xi instanceof fengmap.FMLocationMarker?this.Xi.moveTo({level:this.Ki.level,x:this.Ki.x,y:this.Ki.y}):this.Xi=new fengmap.FMLocationMarker({id:"location",level:this.Ki.level,x:this.Ki.x,y:this.Ki.y,url:this.si||"",size:this.hi}),this.Xi.addTo(this.e)},jn:function(t){for(var i,n=arguments.length<=1?0:arguments.length-1,e=0;e<n;e++){var r=e+1<1||arguments.length<=e+1?void 0:arguments[e+1];if(t[r])return t[r]}return(i=(arguments.length<=1?0:arguments.length-1)-1+1)<1||arguments.length<=i?void 0:arguments[i]},On:function(t){if(this.Ki&&this.Ji)return t==this.Ki.level||t==this.Rn.level},Qi:function(t,i){if(t.level){var n=t.url||(i?"image/small/marker/nav_location_start.png":"image/small/marker/nav_location_dest.png"),e=i?this.Cn:this.In,r=(e&&e.remove(),this.e.getFloor(t.level));if(r)return(e=new fengmap.FMImageMarker(Object.assign({map:this.e,url:n,callback:function(){t.callback&&t.callback(e)},anchor:fengmap.FMMarkerAnchor.BOTTOM,depth:!1,collision:!1},t))).addTo(r),i?this.Cn=e:this.In=e,e}},En:function(){for(var t=this.an,i=[],n=null,e=null,r=0;r<t.length;r++){var g=t[r],A=n==g.level;0==g.length&&0!=r&&r!=t.length-1||(A||(n=g.level,e&&i.push(e),e={level:g.level,pointList:[]}),e.pointList=e.pointList.concat(g.pointList))}return e&&i.push(e),this.Tn=i},Sn:function(t){for(var i=0;i<t.length-1;i++){var n,e,r=t[i];r.length&&(n=r.pointList[r.pointList.length-1],e=t[i+1].pointList[0],.2<Xt.Ot(n,e)&&r.pointList.push(Object.assign({},e)))}},qi:function(t,i,n){var e=this;this.Ki&&this.Ji&&(t=Object.assign({start:this.Ki,dest:this.Ji},t),this.xn(t,function(t){e._i=t,e.Pn(),e.Sn(e.an),e.En(),e.Hi(),e.tn(),i&&i(t)},function(t){n&&n(t)}))},Pn:function(){if(this._i){this.an=[];for(var t=Number.NaN,i=null,n=0;n<this._i.subs.length;n++){var e,r=this._i.subs[n];t!=r.levels[0]&&((i={length:0,level:r.levels[0],pointList:[]}).pointList.push(r.waypoint.points[0]),this.an.push(i),t=r.levels[0]),r.levels[0]==r.levels[1]?((e=i.pointList).push.apply(e,Ht(r.waypoint.points.slice(1))),i.length+=r.distance):(i={length:0,level:r.levels[0],pointList:[r.waypoint.points[0]]},this.an.push(i),i={length:0,level:r.levels[1],pointList:[r.waypoint.points[1]]},this.an.push(i))}}},Hi:function(){if(this._i){this.mn=[],this.nn=[],this.wn=[],this.$i=0;for(var t=this.xi,i=this._i.subs,n=0,e=null,r=0;r<i.length;r++){var g=i[r],A=g.waypoint.points,C=g.waypoint.direction[t],C=(this.mn.push(g.instruction[t]),{startDirection:C[0],startIndex:void 0,startLevel:g.levels[0],startPoint:A[0],endDirection:C[1],endIndex:void 0,endLevel:g.levels[1],endPoint:A.slice(-1)[0],distance:g.distance});g.levels[0]==g.levels[1]?(C.startIndex=n,n+=A.length-1,C.endIndex=n):n=0,this.nn.push(C),null!=e&&g.levels[0]==g.levels[1]||(e={level:g.levels[1],distance:0},this.wn.push(e)),e.distance+=g.distance}this.$i=this._i.distance}},hn:function(r,t){if(0===r.length)return null;1!==this.Wt||this.Gi.hasOwnProperty("color")||(this.Gi.color=this.Bi);for(var i=Object.assign({},this.Gi),g=(t&&t.style&&Object.assign(i,t.style),t&&t.height?t.height:this.ai),A=[],n=0;n<r.length;n++)!function(t){var t=r[t],i=t.pointList;if(0===i.length)return;var t=t.level,n=[],e=(i.forEach(function(t){var i=parseFloat(""+t.x),t=parseFloat(""+t.y);n.push({x:i,y:t,z:g})}),i.length<2&&(e=parseFloat(""+i[0].x),i=parseFloat(""+i[0].y),n.push({x:e,y:i,z:g})),new fengmap.FMSegment);e.level=t,e.points=n,A.push(e)}(n);i=new fengmap.FMLineMarker(Object.assign({segments:A},i));return i.passed=t&&null!=t.passed?t.passed:this.zi,i.addTo(this.e),i},xn:function(t,i,n){var e=this;this.Qt.route(t,function(t){e.Fi&&t.door&&(e.Ji.x=t.door.x,e.Ji.y=t.door.y),i&&i(t)},function(t){n&&n(t)})},vn:function(t,i,n){this.e.setCenter({x:t.x,y:t.y,animate:"number"==typeof i,duration:"number"==typeof i?i:0,finish:n})},yn:function(t,i,n){this.e.setTilt({tilt:t,animate:"number"==typeof i,duration:"number"==typeof i?i:0,finish:n})},Ln:function(t,i,n){this.e.setRotation({rotation:t,animate:"number"==typeof i,duration:"number"==typeof i?i:0,finish:n})},dn:function(t,i,n){this.e.setZoom({zoom:t,animate:"number"==typeof i,duration:"number"==typeof i?i:0,finish:n},!0)},ln:function(t,i,n){return this.e.setVisibleLevels([t]),this.e.getLevel()==t?(n&&n(),null):this.e.setLevel({level:t,animate:"number"==typeof i,duration:"number"==typeof i?i:0,finish:n})},Fn:function(t){var i=this.an;if(0===i.length)return[];for(var n=[],e=0,r=0;r<i.length;r++){var g=i[r];if(!(g.pointList.length<=1))for(var A=g.level,C=0;C<g.pointList.length;C++){for(var o=g.pointList[C],o=new ft(o.x,0,o.y),I=(o.level=A,-1),s=1;s<t.length;s++)if(e<t[s].Zn){I=t[s-1].Dn;break}o.Dn=-1!==I?I:t[t.length-1].Dn,n.push(o),e++}}return n},Nn:function(t,i){if(0===i)return t[0];for(var n,e,r=0,g=0,A=t[0],C=1;C<t.length;C++)if((n=t[C]).level!==A.level)A=n;else{if(i<=(r+=(e=n.clone().sub(A)).length()))return e.normalize(),(e=A.clone().add(e.clone().multiplyScalar(i-g))).level=n.level,e.index=n.Dn,e;(A=n.clone()).level=n.level,A.index=n.Dn,g=r}var o=t[t.length-1];return o.index=o.Dn,o},Gn:function(){if(!this.Ki||!this.Ji||!this.nn||0===this.nn.length)return[];var e=-1,r=0,g=-1,t=this.nn.map(function(t,i){var n=new ft(t.startPoint.x,0,t.startPoint.y);return n.level=t.startLevel,n.Dn=i,e=i,t.startLevel!==t.endLevel?(r+=g,n.Zn=r,r++):n.Zn=t.startIndex+r,g=t.endIndex,n}),i=this.nn[this.nn.length-1],n=new ft(i.endPoint.x,0,i.endPoint.y);return n.level=i.endLevel,n.Dn=e+1,n.Zn=i.endIndex+r,t.push(n),t},Bn:function(t,i){var n=this,e={},r=e.ei||this.ei,g=(e.Ai=e.Ai||this.Ai||0,e.Ai>this.oi?this.oi:e.Ai);this.ni||(e={x:this.Xi.x,y:this.Xi.y,height:this.Xi.height,level:t.level},(t=this.Tn[this.mi])&&t.pointList&&0<t.pointList.length&&(e=Object.assign(e,t.pointList[0])),this.Xi.moveTo(e),this.Xi.visible=!0),this.Ci&&this.yn(this.ri,r,null),this.vn(i,r,function(){n.dn(g,r,function(){n.Ti=!1})})},en:function(t,i){var n=new ft(0,0,1),t=new ft(t.x,0,t.y),i=new ft(i.x,0,i.y).clone().sub(t).normalize(),t=i.angleTo(n)*Xt.ft();return 0<i.clone().cross(n).y?360-t:t},zn:function(t,i,n){return t===i?t:(180<Math.abs(i-t)&&(t<i?t+=360:i+=360),(t*(1-n)+i*n)%360)},Yn:function(t,i,n){var e=this.Kt,r=Math.floor(i),g=e[r-1]*(1-i%1)+e[r]*(i%1);for(g*=n,r=0;g<e[r];)r++;return r+1-(g-e[r])/(e[r-1]-e[r])},Un:function(t){var i,n,e,r,g,A,C=this;this.yi||requestAnimationFrame(this.Un.bind(this,t)),this.pi||(t.cnt++,t.cnt===t.step&&(t.cnt=0,n=this.Ui.getDelta(),this.Ti||this.bi||(this.wi+=this.Jt*n,this.wi<=0||(i=Object.assign({},this.Nn(t.ps,this.wi)),n=this.$i-this.wi,r=i.y,i.y=i.z,i.z=r,this.ki={distance:0,remain:n<this.Mi?this.Mi:n,walk:this.wi,point:i,level:i.level,index:i.index-1},null!=this.ji&&(this.Ei=this.en(this.ji,i)),this.ji=Object.assign({},i),!i||n<this.Mi&&this.Oi?this.pi=!0:(n<this.Mi&&!this.Oi&&(this.Oi=!0),this.Si||(this.Si=t.ps[0].level),this.di&&this.Si!==i.level&&(this.Si=i.level,this.mi++,e={x:i.x,y:i.y,level:i.level},this.qt&&(g=(r={}).ei||this.ei,r.Ai=r.Ai||this.Ai||0,A=r.Ai>this.oi?this.oi:r.Ai,this.Ti=!0,this.Ci&&this.yn(this.gi,g,null),this.ni||(this.Xi.visible=!1),this.ln(e.level,g,function(){C.dn(A,g,function(){C.locationMarker.moveTo({x:e.x,y:e.y,height:C.ui,level:e.level}),C.vn(e,g,function(){C.Ci?C.yn(C.ri,g,function(){C.Bn(i,e)}):C.Bn(i,e)})})})),this.Vi.tt({type:"transit",level:i.level})))))))},Vn:function(){this.yi=!1;var t=this.Fn(this.Gn()),t=(this.Ui.start(),this.pi=!1,{step:2,cnt:this.mi=0,ps:t});this.Un(t)},Wn:function(){if(!this.Ti&&!this.bi){if(this.ji){var t=new ft(this.Xi.x,this.Xi.y,0).lerp(this.ji,this.Oi?1:this.$t),i=(t.level=this.ji.level,this.Xi.moveTo({x:t.x,y:t.y,height:this.ui,level:t.level}),this.naviConstraint(t));if(this.sn&&(this.sn.passed?this.sn.moveProportion(1-i.remain/this.$i):this.sn.moveProportion(0)),this.Wt===_t.Drive?this.Vi.tt(Object.assign({},this.ki,{type:"driving",distance:i.distance,remain:i.remain,walk:this.$i-i.remain,distanceToNext:i.distanceToNext,angle:i.angle,point:i.coords,level:t.level,index:i.index,isReal:!1})):this.Vi.tt(Object.assign({},this.ki,{type:"walking",distance:i.distance,remain:i.remain,walk:this.$i-i.remain,distanceToNext:i.distanceToNext,angle:i.angle,point:i.coords,level:t.level,index:i.index,isReal:!1})),this.qt?this.vn(t):this.e.updateCountDown_=0,this.pi)return this.stop(),void this.Vi.tt({type:"complete"})}null!=this.Ei&&(i=this.zn(this.Ri,this.Ei,this.$t),this.Ri=i,this.Xi.rotateTo({heading:-i}),this.ti&&this.Ln(i))}},pn:function(){this.Vn(),this.bn=this.Wn.bind(this),this.e.on("update",this.bn)},gn:function(t,i){var n,e=this.naviConstraint(t);e&&(this.sn&&(this.sn.passed?this.sn.moveProportion(1-e.remain/this.$i):this.sn.moveProportion(0)),n=null,n=this.Wt===_t.Drive?{type:"driving",distance:e.distance,remain:e.remain,drive:this.$i-e.remain,distanceToNext:e.distanceToNext,angle:e.angle,point:e.coords,level:t.level,index:e.index,isReal:!0}:{type:"walking",distance:e.distance,remain:e.remain,walk:this.$i-e.remain,distanceToNext:e.distanceToNext,angle:e.angle,point:e.coords,level:t.level,index:e.index,isReal:!0},this.Vi.tt(n),this.Xi&&(e.coords.height=this.ui,this.Xi.moveTo(e.coords),void 0!==i?this.Xi.rotateTo({heading:i}):this.Xi.rotateTo({heading:-e.angle})))},An:function(t,i){var n=this.naviConstraint(t);n&&(this.Wt===_t.Drive?this.Vi.tt({type:"driving",distance:n.distance,remain:n.remain,drive:this.$i-n.remain,distanceToNext:n.distanceToNext,angle:n.angle,point:n.coords,level:t.level,index:n.index,isReal:!0}):this.Vi.tt({type:"walking",distance:n.distance,remain:n.remain,walk:this.$i-n.remain,distanceToNext:n.distanceToNext,angle:n.angle,point:n.coords,level:t.level,index:n.index,isReal:!0}),this.Xi&&(t.height=this.ui,this.Xi.moveTo(t),void 0!==i?this.Xi.rotateTo({heading:i}):this.Xi.rotateTo({heading:-n.angle})))},Xn:function(t,i){for(var n=[],e=(n.push({x:t.min.x,y:t.min.y}),n.push({x:t.min.x,y:t.max.y}),n.push({x:t.max.x,y:t.max.y}),n.push({x:t.max.x,y:t.min.y}),new dt),r=0;r<i.length;r++){var g=0;r===i.length-1&&(g=this.ai+2*this.Gi.radius);for(var A=0;A<n.length;A++){var C=fengmap.FMUtil.coordsMapToScreen(this.e,{x:n[A].x,y:n[A].y,level:i[r],height:g});e.st([C])}}return e},_n:function(t,i,n){i=this.Xn(i,n).size,n=t.getContainer().clientHeight,t=t.getContainer().clientWidth;return t/n>i.x/i.y?i.y/n:i.x/t},Hn:function(t,i){for(var n=this.Xn(t,i),e=[],r=0;r<i.length;r++){var g=this.e.getFloorSpace()*i[r];r===i.length-1&&(g+=this.ai+2*this.Gi.radius),e.push(fengmap.FMUtil.coordsScreenToMap(this.e,{x:(n.max.x+n.min.x)/2,y:(n.max.y+n.min.y)/2,z:g}))}for(var A=new ft,C=0;C<e.length;C++)A.add(e[C]);return A.divideScalar(e.length),A},Kn:function(i,n,e,r,g,A){var C=this,t=this._n(this.e,i,n),o=this.Yn(this.e,this.e.getZoom(),t*(e||1));this.e.setZoom({zoom:o,animate:!1,finish:function(){var t=C.Hn(i,n);C.e.setCenter({animate:!1,x:t.x,y:t.y,finish:function(){++g===r?A&&A({zoom:o,center:t}):C.Kn(i,n,e,r,g,A)}})}})},cn:function(t,g,A,C){for(var o=this,I=t&&void 0!==t.ratio?t.ratio:1,s=!t||void 0===t.animate||t.animate,i=t&&void 0!==t.rotation?t.rotation:0,n=t&&void 0!==t.tilt?t.tilt:30,e=[],r=A[0];r<=A[1];)e.push(r),r++;var t=e[Math.floor((e.length-1)/2)],h=(this.e.setVisibleLevels(e),e.length%2==0?this.e.getFloorSpace()/2:0);h-=this.Yi,this.Yi+=h,this.e.getInteracations().controls.panAdd({x:0,y:h,z:0}),this.e.setLevel({level:t,animate:s,finish:function(){o.e.setTilt({tilt:n,animate:s,finish:function(){o.e.setRotation({rotation:i,animate:s,finish:function(){var i=o.e.getInteracations(),t=o.e.copyCamera(),n=i.copyControls(t),e=i.controls,r=o.e.camera;i.controls=n,o.e.camera=t,o.Kn(g,A,I,5,0,function(t){i.controls=e,o.e.camera=r,n.dispose(),n=null,o.e.enableUpdateRender(),o.e.setZoom({animate:s,zoom:t.zoom,duration:.5}),o.e.setCenter({animate:s,x:t.center.x,y:t.center.y,duration:.5,finish:function(){C&&C()}})})}})}})}})},tn:function(){var t=this.Gn(),i=t.map(function(t){return{x:t.x,y:t.z,z:0,level:t.level,index:t.Dn}}),t=this.Fn(t).map(function(t){return{x:t.x,y:t.z,z:0,level:t.level,index:t.Dn}});this.desRes=i,this.naviRes=t}}),t);function qt(t){return(qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function $t(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function ti(){return(ti="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=ei(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function ii(t,i){return(ii=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function ni(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=ei(n),i=(t=e?(t=ei(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===qt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function ei(t){return(ei=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}t=function(){var t=r,i=Jt;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&ii(t,i);var n,e=ni(r);function r(t,i,n){if(this instanceof r)return e.call(this,t,i,n);throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"on",value:function(t,i){ti(ei(r.prototype),"on",this).call(this,t,i)}},{key:"off",value:function(t,i){ti(ei(r.prototype),"off",this).call(this,t,i)}}])&&$t(t.prototype,i),n&&$t(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function ri(t){return(ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function gi(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Ai(){return(Ai="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=Ii(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function Ci(t,i){return(Ci=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function oi(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Ii(n),i=(t=e?(t=Ii(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===ri(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Ii(t){return(Ii=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var si=function(){var t=r,i=Jt;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Ci(t,i);var n,e=oi(r);function r(t,i,n){if(this instanceof r)return t.type=_t.Drive,(t=e.call(this,t,i,n)).Jt=7,t.$t=.2,t;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"on",value:function(t,i){Ai(Ii(r.prototype),"on",this).call(this,t,i)}},{key:"off",value:function(t,i){Ai(Ii(r.prototype),"off",this).call(this,t,i)}},{key:"locate",value:function(t,i){Ai(Ii(r.prototype),"locate",this).call(this,t,i)}},{key:"locateNoConstraint",value:function(t,i){Ai(Ii(r.prototype),"locateNoConstraint",this).call(this,t,i)}}])&&gi(t.prototype,i),n&&gi(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function hi(t){return(hi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ui(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function ai(){return(ai="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=li(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function ci(t,i){return(ci=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function fi(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=li(n),i=(t=e?(t=li(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===hi(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function li(t){return(li=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var vi=function(){var t=r,i=Jt;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&ci(t,i);var n,e=fi(r);function r(t,i,n){if(this instanceof r)return t.type=_t.Walk,e.call(this,t,i,n);throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"on",value:function(t,i){ai(li(r.prototype),"on",this).call(this,t,i)}},{key:"off",value:function(t,i){ai(li(r.prototype),"off",this).call(this,t,i)}}])&&ui(t.prototype,i),n&&ui(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function yi(t,i,n,e){this.it=t||0,this.nt=i||0,this.et=n||0,this.rt=void 0!==e?e:1}Object.assign(yi,{slerp:function(t,i,n,e){return n.copy(t).slerp(i,e)},slerpFlat:function(t,i,n,e,r,g,A){var C,o,I,s=n[e+0],h=n[e+1],u=n[e+2],n=n[e+3],e=r[g+0],a=r[g+1],c=r[g+2],r=r[g+3];n===r&&s===e&&h===a&&u===c||(g=1-A,C=0<=(o=s*e+h*a+u*c+n*r)?1:-1,(I=1-o*o)>Number.EPSILON&&(I=Math.sqrt(I),o=Math.atan2(I,o*C),g=Math.sin(g*o)/I,A=Math.sin(A*o)/I),s=s*g+e*(o=A*C),h=h*g+a*o,u=u*g+c*o,n=n*g+r*o,g===1-A&&(s*=I=1/Math.sqrt(s*s+h*h+u*u+n*n),h*=I,u*=I,n*=I)),t[i]=s,t[i+1]=h,t[i+2]=u,t[i+3]=n}}),Object.defineProperties(yi.prototype,{x:{get:function(){return this.it},set:function(t){this.it=t,this.gt()}},y:{get:function(){return this.nt},set:function(t){this.nt=t,this.gt()}},z:{get:function(){return this.et},set:function(t){this.et=t,this.gt()}},w:{get:function(){return this.rt},set:function(t){this.rt=t,this.gt()}}}),Object.assign(yi.prototype,{isQuaternion:!0,set:function(t,i,n,e){return this.it=t,this.nt=i,this.et=n,this.rt=e,this.gt(),this},clone:function(){return new this.constructor(this.it,this.nt,this.et,this.rt)},copy:function(t){return this.it=t.x,this.nt=t.y,this.et=t.z,this.rt=t.w,this.gt(),this},setFromEuler:function(t,i){if(!t||!t.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var n=t.it,e=t.nt,r=t.et,t=t.order,g=Math.cos,A=Math.sin,C=g(n/2),o=g(e/2),g=g(r/2),n=A(n/2),e=A(e/2),A=A(r/2);return"XYZ"===t?(this.it=n*o*g+C*e*A,this.nt=C*e*g-n*o*A,this.et=C*o*A+n*e*g,this.rt=C*o*g-n*e*A):"YXZ"===t?(this.it=n*o*g+C*e*A,this.nt=C*e*g-n*o*A,this.et=C*o*A-n*e*g,this.rt=C*o*g+n*e*A):"ZXY"===t?(this.it=n*o*g-C*e*A,this.nt=C*e*g+n*o*A,this.et=C*o*A+n*e*g,this.rt=C*o*g-n*e*A):"ZYX"===t?(this.it=n*o*g-C*e*A,this.nt=C*e*g+n*o*A,this.et=C*o*A-n*e*g,this.rt=C*o*g+n*e*A):"YZX"===t?(this.it=n*o*g+C*e*A,this.nt=C*e*g+n*o*A,this.et=C*o*A-n*e*g,this.rt=C*o*g-n*e*A):"XZY"===t&&(this.it=n*o*g-C*e*A,this.nt=C*e*g-n*o*A,this.et=C*o*A+n*e*g,this.rt=C*o*g+n*e*A),!1!==i&&this.gt(),this},setFromAxisAngle:function(t,i){var i=i/2,n=Math.sin(i);return this.it=t.x*n,this.nt=t.y*n,this.et=t.z*n,this.rt=Math.cos(i),this.gt(),this},setFromRotationMatrix:function(t){var i,t=t.elements,n=t[0],e=t[4],r=t[8],g=t[1],A=t[5],C=t[9],o=t[2],I=t[6],t=t[10],s=n+A+t;return 0<s?(i=.5/Math.sqrt(s+1),this.rt=.25/i,this.it=(I-C)*i,this.nt=(r-o)*i,this.et=(g-e)*i):A<n&&t<n?(i=2*Math.sqrt(1+n-A-t),this.rt=(I-C)/i,this.it=.25*i,this.nt=(e+g)/i,this.et=(r+o)/i):t<A?(i=2*Math.sqrt(1+A-n-t),this.rt=(r-o)/i,this.it=(e+g)/i,this.nt=.25*i,this.et=(C+I)/i):(i=2*Math.sqrt(1+t-n-A),this.rt=(g-e)/i,this.it=(r+o)/i,this.nt=(C+I)/i,this.et=.25*i),this.gt(),this},setFromUnitVectors:function(t,i){var n=t.dot(i)+1;return n<1e-6?(n=0,Math.abs(t.x)>Math.abs(t.z)?(this.it=-t.y,this.nt=t.x,this.et=0):(this.it=0,this.nt=-t.z,this.et=t.y)):(this.it=t.y*i.z-t.z*i.y,this.nt=t.z*i.x-t.x*i.z,this.et=t.x*i.y-t.y*i.x),this.rt=n,this.normalize()},angleTo:function(t){return 2*Math.acos(Math.abs(v.clamp(this.dot(t),-1,1)))},rotateTowards:function(t,i){var n=this.angleTo(t);if(0===n)return this;i=Math.min(1,i/n);return this.slerp(t,i),this},inverse:function(){return this.conjugate()},conjugate:function(){return this.it*=-1,this.nt*=-1,this.et*=-1,this.gt(),this},dot:function(t){return this.it*t.it+this.nt*t.nt+this.et*t.et+this.rt*t.rt},lengthSq:function(){return this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt},length:function(){return Math.sqrt(this.it*this.it+this.nt*this.nt+this.et*this.et+this.rt*this.rt)},normalize:function(){var t=this.length();return 0===t?(this.it=0,this.nt=0,this.et=0,this.rt=1):(this.it=this.it*(t=1/t),this.nt=this.nt*t,this.et=this.et*t,this.rt=this.rt*t),this.gt(),this},multiply:function(t,i){return void 0!==i?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(t,i)):this.multiplyQuaternions(this,t)},premultiply:function(t){return this.multiplyQuaternions(t,this)},multiplyQuaternions:function(t,i){var n=t.it,e=t.nt,r=t.et,t=t.rt,g=i.it,A=i.nt,C=i.et,i=i.rt;return this.it=n*i+t*g+e*C-r*A,this.nt=e*i+t*A+r*g-n*C,this.et=r*i+t*C+n*A-e*g,this.rt=t*i-n*g-e*A-r*C,this.gt(),this},slerp:function(t,i){if(0===i)return this;if(1===i)return this.copy(t);var n=this.it,e=this.nt,r=this.et,g=this.rt,A=g*t.rt+n*t.it+e*t.nt+r*t.et;if(A<0?(this.rt=-t.rt,this.it=-t.it,this.nt=-t.nt,this.et=-t.et,A=-A):this.copy(t),1<=A)return this.rt=g,this.it=n,this.nt=e,this.et=r,this;t=1-A*A;if(t<=Number.EPSILON)return this.rt=(C=1-i)*g+i*this.rt,this.it=C*n+i*this.it,this.nt=C*e+i*this.nt,this.et=C*r+i*this.et,this.normalize(),this.gt(),this;var C=Math.sqrt(t),t=Math.atan2(C,A),A=Math.sin((1-i)*t)/C,i=Math.sin(i*t)/C;return this.rt=g*A+this.rt*i,this.it=n*A+this.it*i,this.nt=e*A+this.nt*i,this.et=r*A+this.et*i,this.gt(),this},equals:function(t){return t.it===this.it&&t.nt===this.nt&&t.et===this.et&&t.rt===this.rt},fromArray:function(t,i){return this.it=t[i=void 0===i?0:i],this.nt=t[i+1],this.et=t[i+2],this.rt=t[i+3],this.gt(),this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.it,t[i+1]=this.nt,t[i+2]=this.et,t[i+3]=this.rt,t},fromBufferAttribute:function(t,i){return this.it=t.getX(i),this.nt=t.getY(i),this.et=t.getZ(i),this.rt=t.getW(i),this},Qn:function(t){return this.gt=t,this},gt:function(){}});var di=new y,pi=new yi;function y(t,i,n){this.x=t||0,this.y=i||0,this.z=n||0}Object.assign(y.prototype,{isVector3:!0,set:function(t,i,n){return this.x=t,this.y=i,this.z=n,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setComponent:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},add:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this},sub:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this},multiply:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(t,i)):(this.x*=t.x,this.y*=t.y,this.z*=t.z,this)},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this},multiplyVectors:function(t,i){return this.x=t.x*i.x,this.y=t.y*i.y,this.z=t.z*i.z,this},applyEuler:function(t){return t&&t.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(pi.setFromEuler(t))},applyAxisAngle:function(t,i){return this.applyQuaternion(pi.setFromAxisAngle(t,i))},applyMatrix3:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6]*e,this.y=t[1]*i+t[4]*n+t[7]*e,this.z=t[2]*i+t[5]*n+t[8]*e,this},applyNormalMatrix:function(t){return this.applyMatrix3(t).normalize()},applyMatrix4:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements,r=1/(t[3]*i+t[7]*n+t[11]*e+t[15]);return this.x=(t[0]*i+t[4]*n+t[8]*e+t[12])*r,this.y=(t[1]*i+t[5]*n+t[9]*e+t[13])*r,this.z=(t[2]*i+t[6]*n+t[10]*e+t[14])*r,this},applyQuaternion:function(t){var i=this.x,n=this.y,e=this.z,r=t.x,g=t.y,A=t.z,t=t.w,C=t*i+g*e-A*n,o=t*n+A*i-r*e,I=t*e+r*n-g*i,i=-r*i-g*n-A*e;return this.x=C*t+i*-r+o*-A-I*-g,this.y=o*t+i*-g+I*-r-C*-A,this.z=I*t+i*-A+C*-g-o*-r,this},project:function(t){return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix)},unproject:function(t){return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld)},transformDirection:function(t){var i=this.x,n=this.y,e=this.z,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*e,this.y=t[1]*i+t[5]*n+t[9]*e,this.z=t[2]*i+t[6]*n+t[10]*e,this.normalize()},divide:function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},divideScalar:function(t){return this.multiplyScalar(1/t)},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this},clamp:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this.z=Math.max(t.z,Math.min(i.z,this.z)),this},clampScalar:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this.z=Math.max(t,Math.min(i,this.z)),this},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this.z+=(t.z-this.z)*i,this},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},cross:function(t,i){return void 0!==i?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(t,i)):this.crossVectors(this,t)},crossVectors:function(t,i){var n=t.x,e=t.y,t=t.z,r=i.x,g=i.y,i=i.z;return this.x=e*i-t*g,this.y=t*r-n*i,this.z=n*g-e*r,this},projectOnVector:function(t){var i=t.lengthSq();if(0===i)return this.set(0,0,0);i=t.dot(this)/i;return this.copy(t).multiplyScalar(i)},projectOnPlane:function(t){return di.copy(this).projectOnVector(t),this.sub(di)},reflect:function(t){return this.sub(di.copy(t).multiplyScalar(2*this.dot(t)))},angleTo:function(t){var i=Math.sqrt(this.lengthSq()*t.lengthSq());if(0===i)return Math.PI/2;t=this.dot(t)/i;return Math.acos(v.clamp(t,-1,1))},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var i=this.x-t.x,n=this.y-t.y,t=this.z-t.z;return i*i+n*n+t*t},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)+Math.abs(this.z-t.z)},setFromSpherical:function(t){return this.setFromSphericalCoords(t.radius,t.phi,t.theta)},setFromSphericalCoords:function(t,i,n){var e=Math.sin(i)*t;return this.x=e*Math.sin(n),this.y=Math.cos(i)*t,this.z=e*Math.cos(n),this},setFromCylindrical:function(t){return this.setFromCylindricalCoords(t.radius,t.theta,t.y)},setFromCylindricalCoords:function(t,i,n){return this.x=t*Math.sin(i),this.y=n,this.z=t*Math.cos(i),this},setFromMatrixPosition:function(t){t=t.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this},setFromMatrixScale:function(t){var i=this.setFromMatrixColumn(t,0).length(),n=this.setFromMatrixColumn(t,1).length(),t=this.setFromMatrixColumn(t,2).length();return this.x=i,this.y=n,this.z=t,this},setFromMatrixColumn:function(t,i){return this.fromArray(t.elements,4*i)},setFromMatrix3Column:function(t,i){return this.fromArray(t.elements,3*i)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this.z=t[i+2],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t},fromBufferAttribute:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this}});var bi=new y,o=new ji,mi=new y(0,0,0),wi=new y(1,1,1),Mi=new y,ki=new y,A=new y;function ji(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],0<arguments.length&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}function Oi(){}Object.assign(ji.prototype,{isMatrix4:!0,set:function(t,i,n,e,r,g,A,C,o,I,s,h,u,a,c,f){var l=this.elements;return l[0]=t,l[4]=i,l[8]=n,l[12]=e,l[1]=r,l[5]=g,l[9]=A,l[13]=C,l[2]=o,l[6]=I,l[10]=s,l[14]=h,l[3]=u,l[7]=a,l[11]=c,l[15]=f,this},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},clone:function(){return(new ji).fromArray(this.elements)},copy:function(t){var i=this.elements,t=t.elements;return i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3],i[4]=t[4],i[5]=t[5],i[6]=t[6],i[7]=t[7],i[8]=t[8],i[9]=t[9],i[10]=t[10],i[11]=t[11],i[12]=t[12],i[13]=t[13],i[14]=t[14],i[15]=t[15],this},copyPosition:function(t){var i=this.elements,t=t.elements;return i[12]=t[12],i[13]=t[13],i[14]=t[14],this},extractBasis:function(t,i,n){return t.setFromMatrixColumn(this,0),i.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this},makeBasis:function(t,i,n){return this.set(t.x,i.x,n.x,0,t.y,i.y,n.y,0,t.z,i.z,n.z,0,0,0,0,1),this},extractRotation:function(t){var i=this.elements,n=t.elements,e=1/bi.setFromMatrixColumn(t,0).length(),r=1/bi.setFromMatrixColumn(t,1).length(),t=1/bi.setFromMatrixColumn(t,2).length();return i[0]=n[0]*e,i[1]=n[1]*e,i[2]=n[2]*e,i[3]=0,i[4]=n[4]*r,i[5]=n[5]*r,i[6]=n[6]*r,i[7]=0,i[8]=n[8]*t,i[9]=n[9]*t,i[10]=n[10]*t,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,this},makeRotationFromEuler:function(t){t&&t.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var i,n,e,r,g,A,C,o,I,s,h,u,a=this.elements,c=t.x,f=t.y,l=t.z,v=Math.cos(c),c=Math.sin(c),y=Math.cos(f),f=Math.sin(f),d=Math.cos(l),l=Math.sin(l);return"XYZ"===t.order?(g=v*d,A=v*l,C=c*d,o=c*l,a[0]=y*d,a[4]=-y*l,a[8]=f,a[1]=A+C*f,a[5]=g-o*f,a[9]=-c*y,a[2]=o-g*f,a[6]=C+A*f,a[10]=v*y):"YXZ"===t.order?(n=y*l,e=f*d,a[0]=(i=y*d)+(r=f*l)*c,a[4]=e*c-n,a[8]=v*f,a[1]=v*l,a[5]=v*d,a[9]=-c,a[2]=n*c-e,a[6]=r+i*c,a[10]=v*y):"ZXY"===t.order?(n=y*l,e=f*d,a[0]=(i=y*d)-(r=f*l)*c,a[4]=-v*l,a[8]=e+n*c,a[1]=n+e*c,a[5]=v*d,a[9]=r-i*c,a[2]=-v*f,a[6]=c,a[10]=v*y):"ZYX"===t.order?(g=v*d,A=v*l,C=c*d,o=c*l,a[0]=y*d,a[4]=C*f-A,a[8]=g*f+o,a[1]=y*l,a[5]=o*f+g,a[9]=A*f-C,a[2]=-f,a[6]=c*y,a[10]=v*y):"YZX"===t.order?(I=v*y,s=v*f,h=c*y,u=c*f,a[0]=y*d,a[4]=u-I*l,a[8]=h*l+s,a[1]=l,a[5]=v*d,a[9]=-c*d,a[2]=-f*d,a[6]=s*l+h,a[10]=I-u*l):"XZY"===t.order&&(I=v*y,s=v*f,h=c*y,u=c*f,a[0]=y*d,a[4]=-l,a[8]=f*d,a[1]=I*l+u,a[5]=v*d,a[9]=s*l-h,a[2]=h*l-s,a[6]=c*d,a[10]=u*l+I),a[3]=0,a[7]=0,a[11]=0,a[12]=0,a[13]=0,a[14]=0,a[15]=1,this},makeRotationFromQuaternion:function(t){return this.compose(mi,t,wi)},lookAt:function(t,i,n){var e=this.elements;return A.subVectors(t,i),0===A.lengthSq()&&(A.z=1),A.normalize(),Mi.crossVectors(n,A),0===Mi.lengthSq()&&(1===Math.abs(n.z)?A.x+=1e-4:A.z+=1e-4,A.normalize(),Mi.crossVectors(n,A)),Mi.normalize(),ki.crossVectors(A,Mi),e[0]=Mi.x,e[4]=ki.x,e[8]=A.x,e[1]=Mi.y,e[5]=ki.y,e[9]=A.y,e[2]=Mi.z,e[6]=ki.z,e[10]=A.z,this},multiply:function(t,i){return void 0!==i?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(t,i)):this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,i){var t=t.elements,i=i.elements,n=this.elements,e=t[0],r=t[4],g=t[8],A=t[12],C=t[1],o=t[5],I=t[9],s=t[13],h=t[2],u=t[6],a=t[10],c=t[14],f=t[3],l=t[7],v=t[11],t=t[15],y=i[0],d=i[4],p=i[8],b=i[12],m=i[1],w=i[5],M=i[9],k=i[13],j=i[2],O=i[6],R=i[10],E=i[14],T=i[3],S=i[7],x=i[11],i=i[15];return n[0]=e*y+r*m+g*j+A*T,n[4]=e*d+r*w+g*O+A*S,n[8]=e*p+r*M+g*R+A*x,n[12]=e*b+r*k+g*E+A*i,n[1]=C*y+o*m+I*j+s*T,n[5]=C*d+o*w+I*O+s*S,n[9]=C*p+o*M+I*R+s*x,n[13]=C*b+o*k+I*E+s*i,n[2]=h*y+u*m+a*j+c*T,n[6]=h*d+u*w+a*O+c*S,n[10]=h*p+u*M+a*R+c*x,n[14]=h*b+u*k+a*E+c*i,n[3]=f*y+l*m+v*j+t*T,n[7]=f*d+l*w+v*O+t*S,n[11]=f*p+l*M+v*R+t*x,n[15]=f*b+l*k+v*E+t*i,this},multiplyScalar:function(t){var i=this.elements;return i[0]*=t,i[4]*=t,i[8]*=t,i[12]*=t,i[1]*=t,i[5]*=t,i[9]*=t,i[13]*=t,i[2]*=t,i[6]*=t,i[10]*=t,i[14]*=t,i[3]*=t,i[7]*=t,i[11]*=t,i[15]*=t,this},determinant:function(){var t=this.elements,i=t[0],n=t[4],e=t[8],r=t[12],g=t[1],A=t[5],C=t[9],o=t[13],I=t[2],s=t[6],h=t[10],u=t[14];return t[3]*(+r*C*s-e*o*s-r*A*h+n*o*h+e*A*u-n*C*u)+t[7]*(+i*C*u-i*o*h+r*g*h-e*g*u+e*o*I-r*C*I)+t[11]*(+i*o*s-i*A*u-r*g*s+n*g*u+r*A*I-n*o*I)+t[15]*(-e*A*I-i*C*s+i*A*h+e*g*s-n*g*h+n*C*I)},transpose:function(){var t=this.elements,i=t[1];return t[1]=t[4],t[4]=i,i=t[2],t[2]=t[8],t[8]=i,i=t[6],t[6]=t[9],t[9]=i,i=t[3],t[3]=t[12],t[12]=i,i=t[7],t[7]=t[13],t[13]=i,i=t[11],t[11]=t[14],t[14]=i,this},setPosition:function(t,i,n){var e=this.elements;return t.isVector3?(e[12]=t.x,e[13]=t.y,e[14]=t.z):(e[12]=t,e[13]=i,e[14]=n),this},getInverse:function(t,i){void 0!==i&&console.warn("THREE.Matrix4: .getInverse() can no longer be configured to throw on degenerate.");var i=this.elements,t=t.elements,n=t[0],e=t[1],r=t[2],g=t[3],A=t[4],C=t[5],o=t[6],I=t[7],s=t[8],h=t[9],u=t[10],a=t[11],c=t[12],f=t[13],l=t[14],t=t[15],v=h*l*I-f*u*I+f*o*a-C*l*a-h*o*t+C*u*t,y=c*u*I-s*l*I-c*o*a+A*l*a+s*o*t-A*u*t,d=s*f*I-c*h*I+c*C*a-A*f*a-s*C*t+A*h*t,p=c*h*o-s*f*o-c*C*u+A*f*u+s*C*l-A*h*l,b=n*v+e*y+r*d+g*p;if(0==b)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);b=1/b;return i[0]=v*b,i[1]=(f*u*g-h*l*g-f*r*a+e*l*a+h*r*t-e*u*t)*b,i[2]=(C*l*g-f*o*g+f*r*I-e*l*I-C*r*t+e*o*t)*b,i[3]=(h*o*g-C*u*g-h*r*I+e*u*I+C*r*a-e*o*a)*b,i[4]=y*b,i[5]=(s*l*g-c*u*g+c*r*a-n*l*a-s*r*t+n*u*t)*b,i[6]=(c*o*g-A*l*g-c*r*I+n*l*I+A*r*t-n*o*t)*b,i[7]=(A*u*g-s*o*g+s*r*I-n*u*I-A*r*a+n*o*a)*b,i[8]=d*b,i[9]=(c*h*g-s*f*g-c*e*a+n*f*a+s*e*t-n*h*t)*b,i[10]=(A*f*g-c*C*g+c*e*I-n*f*I-A*e*t+n*C*t)*b,i[11]=(s*C*g-A*h*g-s*e*I+n*h*I+A*e*a-n*C*a)*b,i[12]=p*b,i[13]=(s*f*r-c*h*r+c*e*u-n*f*u-s*e*l+n*h*l)*b,i[14]=(c*C*r-A*f*r-c*e*o+n*f*o+A*e*l-n*C*l)*b,i[15]=(A*h*r-s*C*r+s*e*o-n*h*o-A*e*u+n*C*u)*b,this},scale:function(t){var i=this.elements,n=t.x,e=t.y,t=t.z;return i[0]*=n,i[4]*=e,i[8]*=t,i[1]*=n,i[5]*=e,i[9]*=t,i[2]*=n,i[6]*=e,i[10]*=t,i[3]*=n,i[7]*=e,i[11]*=t,this},getMaxScaleOnAxis:function(){var t=this.elements,i=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],t=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(i,n,t))},makeTranslation:function(t,i,n){return this.set(1,0,0,t,0,1,0,i,0,0,1,n,0,0,0,1),this},makeRotationX:function(t){var i=Math.cos(t),t=Math.sin(t);return this.set(1,0,0,0,0,i,-t,0,0,t,i,0,0,0,0,1),this},makeRotationY:function(t){var i=Math.cos(t),t=Math.sin(t);return this.set(i,0,t,0,0,1,0,0,-t,0,i,0,0,0,0,1),this},makeRotationZ:function(t){var i=Math.cos(t),t=Math.sin(t);return this.set(i,-t,0,0,t,i,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,i){var n=Math.cos(i),i=Math.sin(i),e=1-n,r=t.x,g=t.y,t=t.z,A=e*r,C=e*g;return this.set(A*r+n,A*g-i*t,A*t+i*g,0,A*g+i*t,C*g+n,C*t-i*r,0,A*t-i*g,C*t+i*r,e*t*t+n,0,0,0,0,1),this},makeScale:function(t,i,n){return this.set(t,0,0,0,0,i,0,0,0,0,n,0,0,0,0,1),this},makeShear:function(t,i,n){return this.set(1,i,n,0,t,1,n,0,t,i,1,0,0,0,0,1),this},compose:function(t,i,n){var e=this.elements,r=i.it,g=i.nt,A=i.et,i=i.rt,C=r+r,o=g+g,I=A+A,s=r*C,h=r*o,r=r*I,u=g*o,g=g*I,A=A*I,C=i*C,o=i*o,i=i*I,I=n.x,a=n.y,n=n.z;return e[0]=(1-(u+A))*I,e[1]=(h+i)*I,e[2]=(r-o)*I,e[3]=0,e[4]=(h-i)*a,e[5]=(1-(s+A))*a,e[6]=(g+C)*a,e[7]=0,e[8]=(r+o)*n,e[9]=(g-C)*n,e[10]=(1-(s+u))*n,e[11]=0,e[12]=t.x,e[13]=t.y,e[14]=t.z,e[15]=1,this},decompose:function(t,i,n){var e=this.elements,r=bi.set(e[0],e[1],e[2]).length(),g=bi.set(e[4],e[5],e[6]).length(),A=bi.set(e[8],e[9],e[10]).length(),t=(this.determinant()<0&&(r=-r),t.x=e[12],t.y=e[13],t.z=e[14],o.copy(this),1/r),e=1/g,C=1/A;return o.elements[0]*=t,o.elements[1]*=t,o.elements[2]*=t,o.elements[4]*=e,o.elements[5]*=e,o.elements[6]*=e,o.elements[8]*=C,o.elements[9]*=C,o.elements[10]*=C,i.setFromRotationMatrix(o),n.x=r,n.y=g,n.z=A,this},makePerspective:function(t,i,n,e,r,g){void 0===g&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var A=this.elements,C=2*r/(n-e),o=(i+t)/(i-t),n=(n+e)/(n-e),e=-(g+r)/(g-r),g=-2*g*r/(g-r);return A[0]=2*r/(i-t),A[4]=0,A[8]=o,A[12]=0,A[1]=0,A[5]=C,A[9]=n,A[13]=0,A[2]=0,A[6]=0,A[10]=e,A[14]=g,A[3]=0,A[7]=0,A[11]=-1,A[15]=0,this},makeOrthographic:function(t,i,n,e,r,g){var A=this.elements,C=1/(i-t),o=1/(n-e),I=1/(g-r),i=(i+t)*C,t=(n+e)*o,n=(g+r)*I;return A[0]=2*C,A[4]=0,A[8]=0,A[12]=-i,A[1]=0,A[5]=2*o,A[9]=0,A[13]=-t,A[2]=0,A[6]=0,A[10]=-2*I,A[14]=-n,A[3]=0,A[7]=0,A[11]=0,A[15]=1,this},equals:function(t){for(var i=this.elements,n=t.elements,e=0;e<16;e++)if(i[e]!==n[e])return!1;return!0},fromArray:function(t,i){void 0===i&&(i=0);for(var n=0;n<16;n++)this.elements[n]=t[n+i];return this},toArray:function(t,i){var n=this.elements;return(t=void 0===t?[]:t)[i=void 0===i?0:i]=n[0],t[i+1]=n[1],t[i+2]=n[2],t[i+3]=n[3],t[i+4]=n[4],t[i+5]=n[5],t[i+6]=n[6],t[i+7]=n[7],t[i+8]=n[8],t[i+9]=n[9],t[i+10]=n[10],t[i+11]=n[11],t[i+12]=n[12],t[i+13]=n[13],t[i+14]=n[14],t[i+15]=n[15],t}}),Object.assign(Oi.prototype,{addEventListener:function(t,i){void 0===this.J&&(this.J={});var n=this.J;void 0===n[t]&&(n[t]=[]),-1===n[t].indexOf(i)&&n[t].push(i)},hasEventListener:function(t,i){if(void 0===this.J)return!1;var n=this.J;return void 0!==n[t]&&-1!==n[t].indexOf(i)},removeEventListener:function(t,i){void 0!==this.J&&void 0!==(t=this.J[t])&&-1!==(i=t.indexOf(i))&&t.splice(i,1)},dispatchEvent:function(t){if(void 0!==this.J){var i=this.J[t.type];if(void 0!==i){t.target=this;for(var n=i.slice(0),e=0,r=n.length;e<r;e++)n[e].call(this,t)}}}});var Ri=new ji,Ei=new yi;function Ti(t,i,n,e){this.it=t||0,this.nt=i||0,this.et=n||0,this.At=e||Ti.DefaultOrder}function Si(){this.mask=1}function xi(){this.elements=[1,0,0,0,1,0,0,0,1],0<arguments.length&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}Ti.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"],Ti.DefaultOrder="XYZ",Object.defineProperties(Ti.prototype,{x:{get:function(){return this.it},set:function(t){this.it=t,this.gt()}},y:{get:function(){return this.nt},set:function(t){this.nt=t,this.gt()}},z:{get:function(){return this.et},set:function(t){this.et=t,this.gt()}},order:{get:function(){return this.At},set:function(t){this.At=t,this.gt()}}}),Object.assign(Ti.prototype,{isEuler:!0,set:function(t,i,n,e){return this.it=t,this.nt=i,this.et=n,this.At=e||this.At,this.gt(),this},clone:function(){return new this.constructor(this.it,this.nt,this.et,this.At)},copy:function(t){return this.it=t.it,this.nt=t.nt,this.et=t.et,this.At=t.At,this.gt(),this},setFromRotationMatrix:function(t,i,n){var e=v.clamp,t=t.elements,r=t[0],g=t[4],A=t[8],C=t[1],o=t[5],I=t[9],s=t[2],h=t[6],t=t[10];return"XYZ"===(i=i||this.At)?(this.nt=Math.asin(e(A,-1,1)),Math.abs(A)<.9999999?(this.it=Math.atan2(-I,t),this.et=Math.atan2(-g,r)):(this.it=Math.atan2(h,o),this.et=0)):"YXZ"===i?(this.it=Math.asin(-e(I,-1,1)),Math.abs(I)<.9999999?(this.nt=Math.atan2(A,t),this.et=Math.atan2(C,o)):(this.nt=Math.atan2(-s,r),this.et=0)):"ZXY"===i?(this.it=Math.asin(e(h,-1,1)),Math.abs(h)<.9999999?(this.nt=Math.atan2(-s,t),this.et=Math.atan2(-g,o)):(this.nt=0,this.et=Math.atan2(C,r))):"ZYX"===i?(this.nt=Math.asin(-e(s,-1,1)),Math.abs(s)<.9999999?(this.it=Math.atan2(h,t),this.et=Math.atan2(C,r)):(this.it=0,this.et=Math.atan2(-g,o))):"YZX"===i?(this.et=Math.asin(e(C,-1,1)),Math.abs(C)<.9999999?(this.it=Math.atan2(-I,o),this.nt=Math.atan2(-s,r)):(this.it=0,this.nt=Math.atan2(A,t))):"XZY"===i?(this.et=Math.asin(-e(g,-1,1)),Math.abs(g)<.9999999?(this.it=Math.atan2(h,o),this.nt=Math.atan2(A,r)):(this.it=Math.atan2(-I,t),this.nt=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+i),this.At=i,!1!==n&&this.gt(),this},setFromQuaternion:function(t,i,n){return Ri.makeRotationFromQuaternion(t),this.setFromRotationMatrix(Ri,i,n)},setFromVector3:function(t,i){return this.set(t.x,t.y,t.z,i||this.At)},reorder:function(t){return Ei.setFromEuler(this),this.setFromQuaternion(Ei,t)},equals:function(t){return t.it===this.it&&t.nt===this.nt&&t.et===this.et&&t.At===this.At},fromArray:function(t){return this.it=t[0],this.nt=t[1],this.et=t[2],void 0!==t[3]&&(this.At=t[3]),this.gt(),this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.it,t[i+1]=this.nt,t[i+2]=this.et,t[i+3]=this.At,t},toVector3:function(t){return t?t.set(this.it,this.nt,this.et):new y(this.it,this.nt,this.et)},Qn:function(t){return this.gt=t,this},gt:function(){}}),Object.assign(Si.prototype,{set:function(t){this.mask=1<<t|0},enable:function(t){this.mask|=1<<t|0},enableAll:function(){this.mask=-1},toggle:function(t){this.mask^=1<<t|0},disable:function(t){this.mask&=~(1<<t|0)},disableAll:function(){this.mask=0},test:function(t){return 0!=(this.mask&t.mask)}}),Object.assign(xi.prototype,{isMatrix3:!0,set:function(t,i,n,e,r,g,A,C,o){var I=this.elements;return I[0]=t,I[1]=e,I[2]=A,I[3]=i,I[4]=r,I[5]=C,I[6]=n,I[7]=g,I[8]=o,this},identity:function(){return this.set(1,0,0,0,1,0,0,0,1),this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(t){var i=this.elements,t=t.elements;return i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3],i[4]=t[4],i[5]=t[5],i[6]=t[6],i[7]=t[7],i[8]=t[8],this},extractBasis:function(t,i,n){return t.setFromMatrix3Column(this,0),i.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this},setFromMatrix4:function(t){t=t.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this},multiply:function(t){return this.multiplyMatrices(this,t)},premultiply:function(t){return this.multiplyMatrices(t,this)},multiplyMatrices:function(t,i){var t=t.elements,i=i.elements,n=this.elements,e=t[0],r=t[3],g=t[6],A=t[1],C=t[4],o=t[7],I=t[2],s=t[5],t=t[8],h=i[0],u=i[3],a=i[6],c=i[1],f=i[4],l=i[7],v=i[2],y=i[5],i=i[8];return n[0]=e*h+r*c+g*v,n[3]=e*u+r*f+g*y,n[6]=e*a+r*l+g*i,n[1]=A*h+C*c+o*v,n[4]=A*u+C*f+o*y,n[7]=A*a+C*l+o*i,n[2]=I*h+s*c+t*v,n[5]=I*u+s*f+t*y,n[8]=I*a+s*l+t*i,this},multiplyScalar:function(t){var i=this.elements;return i[0]*=t,i[3]*=t,i[6]*=t,i[1]*=t,i[4]*=t,i[7]*=t,i[2]*=t,i[5]*=t,i[8]*=t,this},determinant:function(){var t=this.elements,i=t[0],n=t[1],e=t[2],r=t[3],g=t[4],A=t[5],C=t[6],o=t[7],t=t[8];return i*g*t-i*A*o-n*r*t+n*A*C+e*r*o-e*g*C},getInverse:function(t,i){void 0!==i&&console.warn("THREE.Matrix3: .getInverse() can no longer be configured to throw on degenerate.");var i=t.elements,t=this.elements,n=i[0],e=i[1],r=i[2],g=i[3],A=i[4],C=i[5],o=i[6],I=i[7],i=i[8],s=i*A-C*I,h=C*o-i*g,u=I*g-A*o,a=n*s+e*h+r*u;if(0==a)return this.set(0,0,0,0,0,0,0,0,0);a=1/a;return t[0]=s*a,t[1]=(r*I-i*e)*a,t[2]=(C*e-r*A)*a,t[3]=h*a,t[4]=(i*n-r*o)*a,t[5]=(r*g-C*n)*a,t[6]=u*a,t[7]=(e*o-I*n)*a,t[8]=(A*n-e*g)*a,this},transpose:function(){var t=this.elements,i=t[1];return t[1]=t[3],t[3]=i,i=t[2],t[2]=t[6],t[6]=i,i=t[5],t[5]=t[7],t[7]=i,this},getNormalMatrix:function(t){return this.setFromMatrix4(t).getInverse(this).transpose()},transposeIntoArray:function(t){var i=this.elements;return t[0]=i[0],t[1]=i[3],t[2]=i[6],t[3]=i[1],t[4]=i[4],t[5]=i[7],t[6]=i[2],t[7]=i[5],t[8]=i[8],this},setUvTransform:function(t,i,n,e,r,g,A){var C=Math.cos(r),r=Math.sin(r);this.set(n*C,n*r,-n*(C*g+r*A)+g+t,-e*r,e*C,-e*(-r*g+C*A)+A+i,0,0,1)},scale:function(t,i){var n=this.elements;return n[0]*=t,n[3]*=t,n[6]*=t,n[1]*=i,n[4]*=i,n[7]*=i,this},rotate:function(t){var i=Math.cos(t),t=Math.sin(t),n=this.elements,e=n[0],r=n[3],g=n[6],A=n[1],C=n[4],o=n[7];return n[0]=i*e+t*A,n[3]=i*r+t*C,n[6]=i*g+t*o,n[1]=-t*e+i*A,n[4]=-t*r+i*C,n[7]=-t*g+i*o,this},translate:function(t,i){var n=this.elements;return n[0]+=t*n[2],n[3]+=t*n[5],n[6]+=t*n[8],n[1]+=i*n[2],n[4]+=i*n[5],n[7]+=i*n[8],this},equals:function(t){for(var i=this.elements,n=t.elements,e=0;e<9;e++)if(i[e]!==n[e])return!1;return!0},fromArray:function(t,i){void 0===i&&(i=0);for(var n=0;n<9;n++)this.elements[n]=t[n+i];return this},toArray:function(t,i){var n=this.elements;return(t=void 0===t?[]:t)[i=void 0===i?0:i]=n[0],t[i+1]=n[1],t[i+2]=n[2],t[i+3]=n[3],t[i+4]=n[4],t[i+5]=n[5],t[i+6]=n[6],t[i+7]=n[7],t[i+8]=n[8],t}});var Pi=0,Li=new y,Fi=new yi,Zi=new ji,Di=new y,Ni=new y,Gi=new y,Bi=new yi,zi=new y(1,0,0),Yi=new y(0,1,0),Ui=new y(0,0,1),Vi={type:"added"},Wi={type:"removed"};function C(){Object.defineProperty(this,"id",{value:Pi++}),this.uuid=v.generateUUID(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=C.DefaultUp.clone();var t=new y,i=new Ti,n=new yi,e=new y(1,1,1);i.Qn(function(){n.setFromEuler(i,!1)}),n.Qn(function(){i.setFromQuaternion(n,void 0,!1)}),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:t},rotation:{configurable:!0,enumerable:!0,value:i},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:e},modelViewMatrix:{value:new ji},normalMatrix:{value:new xi}}),this.matrix=new ji,this.matrixWorld=new ji,this.matrixAutoUpdate=C.DefaultMatrixAutoUpdate,this.matrixWorldNeedsUpdate=!1,this.layers=new Si,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.userData={}}function Xi(){C.call(this),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}C.DefaultUp=new y(0,1,0),C.DefaultMatrixAutoUpdate=!0,C.prototype=Object.assign(Object.create(Oi.prototype),{constructor:C,isObject3D:!0,onBeforeRender:function(){},onAfterRender:function(){},applyMatrix4:function(t){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(t),this.matrix.decompose(this.position,this.quaternion,this.scale)},applyQuaternion:function(t){return this.quaternion.premultiply(t),this},setRotationFromAxisAngle:function(t,i){this.quaternion.setFromAxisAngle(t,i)},setRotationFromEuler:function(t){this.quaternion.setFromEuler(t,!0)},setRotationFromMatrix:function(t){this.quaternion.setFromRotationMatrix(t)},setRotationFromQuaternion:function(t){this.quaternion.copy(t)},rotateOnAxis:function(t,i){return Fi.setFromAxisAngle(t,i),this.quaternion.multiply(Fi),this},rotateOnWorldAxis:function(t,i){return Fi.setFromAxisAngle(t,i),this.quaternion.premultiply(Fi),this},rotateX:function(t){return this.rotateOnAxis(zi,t)},rotateY:function(t){return this.rotateOnAxis(Yi,t)},rotateZ:function(t){return this.rotateOnAxis(Ui,t)},translateOnAxis:function(t,i){return Li.copy(t).applyQuaternion(this.quaternion),this.position.add(Li.multiplyScalar(i)),this},translateX:function(t){return this.translateOnAxis(zi,t)},translateY:function(t){return this.translateOnAxis(Yi,t)},translateZ:function(t){return this.translateOnAxis(Ui,t)},localToWorld:function(t){return t.applyMatrix4(this.matrixWorld)},worldToLocal:function(t){return t.applyMatrix4(Zi.getInverse(this.matrixWorld))},lookAt:function(t,i,n){t.isVector3?Di.copy(t):Di.set(t,i,n);t=this.parent;this.updateWorldMatrix(!0,!1),Ni.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?Zi.lookAt(Ni,Di,this.up):Zi.lookAt(Di,Ni,this.up),this.quaternion.setFromRotationMatrix(Zi),t&&(Zi.extractRotation(t.matrixWorld),Fi.setFromRotationMatrix(Zi),this.quaternion.premultiply(Fi.inverse()))},add:function(t){if(1<arguments.length){for(var i=0;i<arguments.length;i++)this.add(arguments[i]);return this}return t===this?console.error("THREE.Object3D.add: object can't be added as a child of itself.",t):t&&t.isObject3D?(null!==t.parent&&t.parent.remove(t),(t.parent=this).children.push(t),t.dispatchEvent(Vi)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",t),this},remove:function(t){if(1<arguments.length){for(var i=0;i<arguments.length;i++)this.remove(arguments[i]);return this}var n=this.children.indexOf(t);return-1!==n&&(t.parent=null,this.children.splice(n,1),t.dispatchEvent(Wi)),this},attach:function(t){return this.updateWorldMatrix(!0,!1),Zi.getInverse(this.matrixWorld),null!==t.parent&&(t.parent.updateWorldMatrix(!0,!1),Zi.multiply(t.parent.matrixWorld)),t.applyMatrix4(Zi),t.updateWorldMatrix(!1,!1),this.add(t),this},getObjectById:function(t){return this.getObjectByProperty("id",t)},getObjectByName:function(t){return this.getObjectByProperty("name",t)},getObjectByProperty:function(t,i){if(this[t]===i)return this;for(var n=0,e=this.children.length;n<e;n++){var r=this.children[n].getObjectByProperty(t,i);if(void 0!==r)return r}},getWorldPosition:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldPosition() target is now required"),t=new y),this.updateMatrixWorld(!0),t.setFromMatrixPosition(this.matrixWorld)},getWorldQuaternion:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldQuaternion() target is now required"),t=new yi),this.updateMatrixWorld(!0),this.matrixWorld.decompose(Ni,t,Gi),t},getWorldScale:function(t){return void 0===t&&(console.warn("THREE.Object3D: .getWorldScale() target is now required"),t=new y),this.updateMatrixWorld(!0),this.matrixWorld.decompose(Ni,Bi,t),t},getWorldDirection:function(t){void 0===t&&(console.warn("THREE.Object3D: .getWorldDirection() target is now required"),t=new y),this.updateMatrixWorld(!0);var i=this.matrixWorld.elements;return t.set(i[8],i[9],i[10]).normalize()},raycast:function(){},traverse:function(t){t(this);for(var i=this.children,n=0,e=i.length;n<e;n++)i[n].traverse(t)},traverseVisible:function(t){if(!1!==this.visible){t(this);for(var i=this.children,n=0,e=i.length;n<e;n++)i[n].traverseVisible(t)}},traverseAncestors:function(t){var i=this.parent;null!==i&&(t(i),i.traverseAncestors(t))},updateMatrix:function(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0},updateMatrixWorld:function(t){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||t)&&(null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),t=!(this.matrixWorldNeedsUpdate=!1));for(var i=this.children,n=0,e=i.length;n<e;n++)i[n].updateMatrixWorld(t)},updateWorldMatrix:function(t,i){var n=this.parent;if(!0===t&&null!==n&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===i)for(var e=this.children,r=0,g=e.length;r<g;r++)e[r].updateWorldMatrix(!1,!0)},clone:function(t){return(new this.constructor).copy(this,t)},copy:function(t,i){if(void 0===i&&(i=!0),this.name=t.name,this.up.copy(t.up),this.position.copy(t.position),this.quaternion.copy(t.quaternion),this.scale.copy(t.scale),this.matrix.copy(t.matrix),this.matrixWorld.copy(t.matrixWorld),this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrixWorldNeedsUpdate=t.matrixWorldNeedsUpdate,this.layers.mask=t.layers.mask,this.visible=t.visible,this.castShadow=t.castShadow,this.receiveShadow=t.receiveShadow,this.frustumCulled=t.frustumCulled,this.renderOrder=t.renderOrder,this.userData=JSON.parse(JSON.stringify(t.userData)),!0===i)for(var n=0;n<t.children.length;n++){var e=t.children[n];this.add(e.clone())}return this}}),Xi.prototype=Object.assign(Object.create(C.prototype),{constructor:Xi,isScene:!0,copy:function(t,i){return C.prototype.copy.call(this,t,i),null!==t.background&&(this.background=t.background.clone()),null!==t.environment&&(this.environment=t.environment.clone()),null!==t.fog&&(this.fog=t.fog.clone()),null!==t.overrideMaterial&&(this.overrideMaterial=t.overrideMaterial.clone()),this.autoUpdate=t.autoUpdate,this.matrixAutoUpdate=t.matrixAutoUpdate,this},dispose:function(){this.dispatchEvent({type:"dispose"})}});var _i={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},e={h:0,s:0,l:0},Hi={h:0,s:0,l:0};function Ki(t,i,n){return void 0===i&&void 0===n?this.set(t):this.setRGB(t,i,n)}function Qi(t,i,n){return n<0&&(n+=1),1<n&&--n,n<1/6?t+6*(i-t)*n:n<.5?i:n<2/3?t+6*(i-t)*(2/3-n):t}function Ji(t){return t<.04045?.0773993808*t:Math.pow(.9478672986*t+.0521327014,2.4)}function qi(t){return t<.0031308?12.92*t:1.055*Math.pow(t,.41666)-.055}function $i(t,i,n){this.name="",this.color=new Ki(t),this.near=void 0!==i?i:1,this.far=void 0!==n?n:1e3}Object.assign(Ki.prototype,{isColor:!0,r:1,g:1,b:1,set:function(t){return t&&t.isColor?this.copy(t):"number"==typeof t?this.setHex(t):"string"==typeof t&&this.setStyle(t),this},setScalar:function(t){return this.r=t,this.g=t,this.b=t,this},setHex:function(t){return t=Math.floor(t),this.r=(t>>16&255)/255,this.g=(t>>8&255)/255,this.b=(255&t)/255,this},setRGB:function(t,i,n){return this.r=t,this.g=i,this.b=n,this},setHSL:function(t,i,n){return t=v.euclideanModulo(t,1),i=v.clamp(i,0,1),n=v.clamp(n,0,1),0===i?this.r=this.g=this.b=n:(this.r=Qi(i=2*n-(n=n<=.5?n*(1+i):n+i-n*i),n,t+1/3),this.g=Qi(i,n,t),this.b=Qi(i,n,t-1/3)),this},setStyle:function(i){function t(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+i+" will be ignored.")}if(o=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(i)){var n,e,r,g,A=o[1],C=o[2];switch(A){case"rgb":case"rgba":if(n=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(C))return this.r=Math.min(255,parseInt(n[1],10))/255,this.g=Math.min(255,parseInt(n[2],10))/255,this.b=Math.min(255,parseInt(n[3],10))/255,t(n[5]),this;if(n=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(C))return this.r=Math.min(100,parseInt(n[1],10))/100,this.g=Math.min(100,parseInt(n[2],10))/100,this.b=Math.min(100,parseInt(n[3],10))/100,t(n[5]),this;break;case"hsl":case"hsla":if(n=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(C))return e=parseFloat(n[1])/360,r=parseInt(n[2],10)/100,g=parseInt(n[3],10)/100,t(n[5]),this.setHSL(e,r,g)}}else if(o=/^\#([A-Fa-f0-9]+)$/.exec(i)){var A=o[1],o=A.length;if(3===o)return this.r=parseInt(A.charAt(0)+A.charAt(0),16)/255,this.g=parseInt(A.charAt(1)+A.charAt(1),16)/255,this.b=parseInt(A.charAt(2)+A.charAt(2),16)/255,this;if(6===o)return this.r=parseInt(A.charAt(0)+A.charAt(1),16)/255,this.g=parseInt(A.charAt(2)+A.charAt(3),16)/255,this.b=parseInt(A.charAt(4)+A.charAt(5),16)/255,this}return i&&0<i.length?this.setColorName(i):this},setColorName:function(t){var i=_i[t];return void 0!==i?this.setHex(i):console.warn("THREE.Color: Unknown color "+t),this},clone:function(){return new this.constructor(this.r,this.g,this.b)},copy:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},copyGammaToLinear:function(t,i){return void 0===i&&(i=2),this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},copyLinearToGamma:function(t,i){i=0<(i=void 0===i?2:i)?1/i:1;return this.r=Math.pow(t.r,i),this.g=Math.pow(t.g,i),this.b=Math.pow(t.b,i),this},convertGammaToLinear:function(t){return this.copyGammaToLinear(this,t),this},convertLinearToGamma:function(t){return this.copyLinearToGamma(this,t),this},copySRGBToLinear:function(t){return this.r=Ji(t.r),this.g=Ji(t.g),this.b=Ji(t.b),this},copyLinearToSRGB:function(t){return this.r=qi(t.r),this.g=qi(t.g),this.b=qi(t.b),this},convertSRGBToLinear:function(){return this.copySRGBToLinear(this),this},convertLinearToSRGB:function(){return this.copyLinearToSRGB(this),this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(t){void 0===t&&(console.warn("THREE.Color: .getHSL() target is now required"),t={h:0,s:0,l:0});var i,n=this.r,e=this.g,r=this.b,g=Math.max(n,e,r),A=Math.min(n,e,r),C=(A+g)/2;if(A===g)I=i=0;else{var o=g-A,I=C<=.5?o/(g+A):o/(2-g-A);switch(g){case n:i=(e-r)/o+(e<r?6:0);break;case e:i=(r-n)/o+2;break;case r:i=(n-e)/o+4}i/=6}return t.h=i,t.s=I,t.l=C,t},getStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},offsetHSL:function(t,i,n){return this.getHSL(e),e.h+=t,e.s+=i,e.l+=n,this.setHSL(e.h,e.s,e.l),this},add:function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this},addColors:function(t,i){return this.r=t.r+i.r,this.g=t.g+i.g,this.b=t.b+i.b,this},addScalar:function(t){return this.r+=t,this.g+=t,this.b+=t,this},sub:function(t){return this.r=Math.max(0,this.r-t.r),this.g=Math.max(0,this.g-t.g),this.b=Math.max(0,this.b-t.b),this},multiply:function(t){return this.r*=t.r,this.g*=t.g,this.b*=t.b,this},multiplyScalar:function(t){return this.r*=t,this.g*=t,this.b*=t,this},lerp:function(t,i){return this.r+=(t.r-this.r)*i,this.g+=(t.g-this.g)*i,this.b+=(t.b-this.b)*i,this},lerpHSL:function(t,i){this.getHSL(e),t.getHSL(Hi);var t=v.lerp(e.h,Hi.h,i),n=v.lerp(e.s,Hi.s,i),i=v.lerp(e.l,Hi.l,i);return this.setHSL(t,n,i),this},equals:function(t){return t.r===this.r&&t.g===this.g&&t.b===this.b},fromArray:function(t,i){return this.r=t[i=void 0===i?0:i],this.g=t[i+1],this.b=t[i+2],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.r,t[i+1]=this.g,t[i+2]=this.b,t}}),Ki.NAMES=_i,Object.assign($i.prototype,{isFog:!0,clone:function(){return new $i(this.color,this.near,this.far)}});var tn=[new y,new y,new y,new y,new y,new y,new y,new y],nn=new y,en=new cn,rn=new y,gn=new y,An=new y,Cn=new y,on=new y,In=new y,sn=new y,hn=new y,un=new y,an=new y;function cn(t,i){this.min=void 0!==t?t:new y(1/0,1/0,1/0),this.max=void 0!==i?i:new y(-1/0,-1/0,-1/0)}function fn(t,i,n,e,r){for(var g=0,A=t.length-3;g<=A;g+=3){an.fromArray(t,g);var C=r.x*Math.abs(an.x)+r.y*Math.abs(an.y)+r.z*Math.abs(an.z),o=i.dot(an),I=n.dot(an),s=e.dot(an);if(Math.max(-Math.max(o,I,s),Math.min(o,I,s))>C)return!1}return!0}function ln(t,i,n,e){this.x=t||0,this.y=i||0,this.z=n||0,this.w=void 0!==e?e:1}function L(t,i){this.x=t||0,this.y=i||0}Object.assign(cn.prototype,{isBox3:!0,set:function(t,i){return this.min.copy(t),this.max.copy(i),this},setFromArray:function(t){for(var i=1/0,n=1/0,e=1/0,r=-1/0,g=-1/0,A=-1/0,C=0,o=t.length;C<o;C+=3){var I=t[C],s=t[C+1],h=t[C+2];I<i&&(i=I),s<n&&(n=s),h<e&&(e=h),r<I&&(r=I),g<s&&(g=s),A<h&&(A=h)}return this.min.set(i,n,e),this.max.set(r,g,A),this},setFromBufferAttribute:function(t){for(var i=1/0,n=1/0,e=1/0,r=-1/0,g=-1/0,A=-1/0,C=0,o=t.count;C<o;C++){var I=t.getX(C),s=t.getY(C),h=t.getZ(C);I<i&&(i=I),s<n&&(n=s),h<e&&(e=h),r<I&&(r=I),g<s&&(g=s),A<h&&(A=h)}return this.min.set(i,n,e),this.max.set(r,g,A),this},setFromPoints:function(t){this.makeEmpty();for(var i=0,n=t.length;i<n;i++)this.expandByPoint(t[i]);return this},setFromCenterAndSize:function(t,i){i=nn.copy(i).multiplyScalar(.5);return this.min.copy(t).sub(i),this.max.copy(t).add(i),this},setFromObject:function(t){return this.makeEmpty(),this.expandByObject(t)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.min.copy(t.min),this.max.copy(t.max),this},makeEmpty:function(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,this},isEmpty:function(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z},getCenter:function(t){return void 0===t&&(console.warn("THREE.Box3: .getCenter() target is now required"),t=new y),this.isEmpty()?t.set(0,0,0):t.addVectors(this.min,this.max).multiplyScalar(.5)},getSize:function(t){return void 0===t&&(console.warn("THREE.Box3: .getSize() target is now required"),t=new y),this.isEmpty()?t.set(0,0,0):t.subVectors(this.max,this.min)},expandByPoint:function(t){return this.min.min(t),this.max.max(t),this},expandByVector:function(t){return this.min.sub(t),this.max.add(t),this},expandByScalar:function(t){return this.min.addScalar(-t),this.max.addScalar(t),this},expandByObject:function(t){t.updateWorldMatrix(!1,!1);for(var i=t.geometry,n=(void 0!==i&&(null===i.boundingBox&&i.computeBoundingBox(),en.copy(i.boundingBox),en.applyMatrix4(t.matrixWorld),this.union(en)),t.children),e=0,r=n.length;e<r;e++)this.expandByObject(n[e]);return this},containsPoint:function(t){return!(t.x<this.min.x||t.x>this.max.x||t.y<this.min.y||t.y>this.max.y||t.z<this.min.z||t.z>this.max.z)},containsBox:function(t){return this.min.x<=t.min.x&&t.max.x<=this.max.x&&this.min.y<=t.min.y&&t.max.y<=this.max.y&&this.min.z<=t.min.z&&t.max.z<=this.max.z},getParameter:function(t,i){return void 0===i&&(console.warn("THREE.Box3: .getParameter() target is now required"),i=new y),i.set((t.x-this.min.x)/(this.max.x-this.min.x),(t.y-this.min.y)/(this.max.y-this.min.y),(t.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(t){return!(t.max.x<this.min.x||t.min.x>this.max.x||t.max.y<this.min.y||t.min.y>this.max.y||t.max.z<this.min.z||t.min.z>this.max.z)},intersectsSphere:function(t){return this.clampPoint(t.center,nn),nn.distanceToSquared(t.center)<=t.radius*t.radius},intersectsPlane:function(t){var i,n=0<t.normal.x?(i=t.normal.x*this.min.x,t.normal.x*this.max.x):(i=t.normal.x*this.max.x,t.normal.x*this.min.x);return 0<t.normal.y?(i+=t.normal.y*this.min.y,n+=t.normal.y*this.max.y):(i+=t.normal.y*this.max.y,n+=t.normal.y*this.min.y),0<t.normal.z?(i+=t.normal.z*this.min.z,n+=t.normal.z*this.max.z):(i+=t.normal.z*this.max.z,n+=t.normal.z*this.min.z),i<=-t.constant&&n>=-t.constant},intersectsTriangle:function(t){return!this.isEmpty()&&(this.getCenter(sn),hn.subVectors(this.max,sn),rn.subVectors(t.a,sn),gn.subVectors(t.b,sn),An.subVectors(t.c,sn),Cn.subVectors(gn,rn),on.subVectors(An,gn),In.subVectors(rn,An),!!fn([0,-Cn.z,Cn.y,0,-on.z,on.y,0,-In.z,In.y,Cn.z,0,-Cn.x,on.z,0,-on.x,In.z,0,-In.x,-Cn.y,Cn.x,0,-on.y,on.x,0,-In.y,In.x,0],rn,gn,An,hn)&&(!!fn([1,0,0,0,1,0,0,0,1],rn,gn,An,hn)&&(un.crossVectors(Cn,on),fn([un.x,un.y,un.z],rn,gn,An,hn))))},clampPoint:function(t,i){return void 0===i&&(console.warn("THREE.Box3: .clampPoint() target is now required"),i=new y),i.copy(t).clamp(this.min,this.max)},distanceToPoint:function(t){return nn.copy(t).clamp(this.min,this.max).sub(t).length()},getBoundingSphere:function(t){return void 0===t&&console.error("THREE.Box3: .getBoundingSphere() target is now required"),this.getCenter(t.center),t.radius=.5*this.getSize(nn).length(),t},intersect:function(t){return this.min.max(t.min),this.max.min(t.max),this.isEmpty()&&this.makeEmpty(),this},union:function(t){return this.min.min(t.min),this.max.max(t.max),this},applyMatrix4:function(t){return this.isEmpty()||(tn[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(t),tn[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(t),tn[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(t),tn[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(t),tn[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(t),tn[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(t),tn[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(t),tn[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(t),this.setFromPoints(tn)),this},translate:function(t){return this.min.add(t),this.max.add(t),this},equals:function(t){return t.min.equals(this.min)&&t.max.equals(this.max)}}),Object.defineProperties(ln.prototype,{width:{get:function(){return this.z},set:function(t){this.z=t}},height:{get:function(){return this.w},set:function(t){this.w=t}}}),Object.assign(ln.prototype,{isVector4:!0,set:function(t,i,n,e){return this.x=t,this.y=i,this.z=n,this.w=e,this},setScalar:function(t){return this.x=t,this.y=t,this.z=t,this.w=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setZ:function(t){return this.z=t,this},setW:function(t){return this.w=t,this},setComponent:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;case 2:this.z=i;break;case 3:this.w=i;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=void 0!==t.w?t.w:1,this},add:function(t,i){return void 0!==i?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this)},addScalar:function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this.z=t.z+i.z,this.w=t.w+i.w,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this.z+=t.z*i,this.w+=t.w*i,this},sub:function(t,i){return void 0!==i?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this)},subScalar:function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this.z=t.z-i.z,this.w=t.w-i.w,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},applyMatrix4:function(t){var i=this.x,n=this.y,e=this.z,r=this.w,t=t.elements;return this.x=t[0]*i+t[4]*n+t[8]*e+t[12]*r,this.y=t[1]*i+t[5]*n+t[9]*e+t[13]*r,this.z=t[2]*i+t[6]*n+t[10]*e+t[14]*r,this.w=t[3]*i+t[7]*n+t[11]*e+t[15]*r,this},divideScalar:function(t){return this.multiplyScalar(1/t)},setAxisAngleFromQuaternion:function(t){this.w=2*Math.acos(t.w);var i=Math.sqrt(1-t.w*t.w);return i<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=t.x/i,this.y=t.y/i,this.z=t.z/i),this},setAxisAngleFromRotationMatrix:function(t){var i,n,e,t=t.elements,r=t[0],g=t[4],A=t[8],C=t[1],o=t[5],I=t[9],s=t[2],h=t[6],t=t[10];if(Math.abs(g-C)<.01&&Math.abs(A-s)<.01&&Math.abs(I-h)<.01){if(Math.abs(g+C)<.1&&Math.abs(A+s)<.1&&Math.abs(I+h)<.1&&Math.abs(r+o+t-3)<.1)return this.set(1,0,0,0),this;var u=Math.PI,a=(r+1)/2,c=(o+1)/2,f=(t+1)/2,l=(g+C)/4,v=(A+s)/4,y=(I+h)/4;return c<a&&f<a?e=a<.01?(i=0,n=.707106781):(n=l/(i=Math.sqrt(a)),v/i):f<c?e=c<.01?(n=0,i=.707106781):(i=l/(n=Math.sqrt(c)),y/n):f<.01?(n=i=.707106781,e=0):(i=v/(e=Math.sqrt(f)),n=y/e),this.set(i,n,e,u),this}a=Math.sqrt((h-I)*(h-I)+(A-s)*(A-s)+(C-g)*(C-g));return Math.abs(a)<.001&&(a=1),this.x=(h-I)/a,this.y=(A-s)/a,this.z=(C-g)/a,this.w=Math.acos((r+o+t-1)/2),this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this.z=Math.min(this.z,t.z),this.w=Math.min(this.w,t.w),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this.z=Math.max(this.z,t.z),this.w=Math.max(this.w,t.w),this},clamp:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this.z=Math.max(t.z,Math.min(i.z,this.z)),this.w=Math.max(t.w,Math.min(i.w,this.w)),this},clampScalar:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this.z=Math.max(t,Math.min(i,this.z)),this.w=Math.max(t,Math.min(i,this.w)),this},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this},negate:function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this.z+=(t.z-this.z)*i,this.w+=(t.w-this.w)*i,this},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y&&t.z===this.z&&t.w===this.w},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this.z=t[i+2],this.w=t[i+3],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t[i+2]=this.z,t[i+3]=this.w,t},fromBufferAttribute:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this.z=t.getZ(i),this.w=t.getW(i),this}}),Object.defineProperties(L.prototype,{width:{get:function(){return this.x},set:function(t){this.x=t}},height:{get:function(){return this.y},set:function(t){this.y=t}}}),Object.assign(L.prototype,{isVector2:!0,set:function(t,i){return this.x=t,this.y=i,this},setScalar:function(t){return this.x=t,this.y=t,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setComponent:function(t,i){switch(t){case 0:this.x=i;break;case 1:this.y=i;break;default:throw new Error("index is out of range: "+t)}return this},getComponent:function(t){switch(t){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+t)}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(t){return this.x=t.x,this.y=t.y,this},add:function(t,i){return void 0!==i?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(t,i)):(this.x+=t.x,this.y+=t.y,this)},addScalar:function(t){return this.x+=t,this.y+=t,this},addVectors:function(t,i){return this.x=t.x+i.x,this.y=t.y+i.y,this},addScaledVector:function(t,i){return this.x+=t.x*i,this.y+=t.y*i,this},sub:function(t,i){return void 0!==i?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(t,i)):(this.x-=t.x,this.y-=t.y,this)},subScalar:function(t){return this.x-=t,this.y-=t,this},subVectors:function(t,i){return this.x=t.x-i.x,this.y=t.y-i.y,this},multiply:function(t){return this.x*=t.x,this.y*=t.y,this},multiplyScalar:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return this.x/=t.x,this.y/=t.y,this},divideScalar:function(t){return this.multiplyScalar(1/t)},applyMatrix3:function(t){var i=this.x,n=this.y,t=t.elements;return this.x=t[0]*i+t[3]*n+t[6],this.y=t[1]*i+t[4]*n+t[7],this},min:function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},max:function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},clamp:function(t,i){return this.x=Math.max(t.x,Math.min(i.x,this.x)),this.y=Math.max(t.y,Math.min(i.y,this.y)),this},clampScalar:function(t,i){return this.x=Math.max(t,Math.min(i,this.x)),this.y=Math.max(t,Math.min(i,this.y)),this},clampLength:function(t,i){var n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(t,Math.min(i,n)))},floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},roundToZero:function(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this},negate:function(){return this.x=-this.x,this.y=-this.y,this},dot:function(t){return this.x*t.x+this.y*t.y},cross:function(t){return this.x*t.y-this.y*t.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()||1)},angle:function(){return Math.atan2(-this.y,-this.x)+Math.PI},distanceTo:function(t){return Math.sqrt(this.distanceToSquared(t))},distanceToSquared:function(t){var i=this.x-t.x,t=this.y-t.y;return i*i+t*t},manhattanDistanceTo:function(t){return Math.abs(this.x-t.x)+Math.abs(this.y-t.y)},setLength:function(t){return this.normalize().multiplyScalar(t)},lerp:function(t,i){return this.x+=(t.x-this.x)*i,this.y+=(t.y-this.y)*i,this},lerpVectors:function(t,i,n){return this.subVectors(i,t).multiplyScalar(n).add(t)},equals:function(t){return t.x===this.x&&t.y===this.y},fromArray:function(t,i){return this.x=t[i=void 0===i?0:i],this.y=t[i+1],this},toArray:function(t,i){return(t=void 0===t?[]:t)[i=void 0===i?0:i]=this.x,t[i+1]=this.y,t},fromBufferAttribute:function(t,i,n){return void 0!==n&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=t.getX(i),this.y=t.getY(i),this},rotateAround:function(t,i){var n=Math.cos(i),i=Math.sin(i),e=this.x-t.x,r=this.y-t.y;return this.x=e*n-r*i+t.x,this.y=e*i+r*n+t.y,this}});var vn=1,yn=2,I=new y;function d(t,i,n){if(Array.isArray(t))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.name="",this.array=t,this.itemSize=i,this.count=void 0!==t?t.length/i:0,this.normalized=!0===n,this.usage=35044,this.updateRange={offset:0,count:-1},this.version=0}function dn(t,i,n){d.call(this,new Int8Array(t),i,n)}function pn(t,i,n){d.call(this,new Uint8Array(t),i,n)}function bn(t,i,n){d.call(this,new Uint8ClampedArray(t),i,n)}function mn(t,i,n){d.call(this,new Int16Array(t),i,n)}function wn(t,i,n){d.call(this,new Uint16Array(t),i,n)}function Mn(t,i,n){d.call(this,new Int32Array(t),i,n)}function kn(t,i,n){d.call(this,new Uint32Array(t),i,n)}function m(t,i,n){d.call(this,new Float32Array(t),i,n)}function jn(t,i,n){d.call(this,new Float64Array(t),i,n)}Object.defineProperty(d.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),Object.assign(d.prototype,{isBufferAttribute:!0,onUploadCallback:function(){},setUsage:function(t){return this.usage=t,this},copy:function(t){return this.name=t.name,this.array=new t.array.constructor(t.array),this.itemSize=t.itemSize,this.count=t.count,this.normalized=t.normalized,this.usage=t.usage,this},copyAt:function(t,i,n){t*=this.itemSize,n*=i.itemSize;for(var e=0,r=this.itemSize;e<r;e++)this.array[t+e]=i.array[n+e];return this},copyArray:function(t){return this.array.set(t),this},copyColorsArray:function(t){for(var i=this.array,n=0,e=0,r=t.length;e<r;e++){var g=t[e];void 0===g&&(console.warn("THREE.BufferAttribute.copyColorsArray(): color is undefined",e),g=new Ki),i[n++]=g.r,i[n++]=g.g,i[n++]=g.b}return this},copyVector2sArray:function(t){for(var i=this.array,n=0,e=0,r=t.length;e<r;e++){var g=t[e];void 0===g&&(console.warn("THREE.BufferAttribute.copyVector2sArray(): vector is undefined",e),g=new L),i[n++]=g.x,i[n++]=g.y}return this},copyVector3sArray:function(t){for(var i=this.array,n=0,e=0,r=t.length;e<r;e++){var g=t[e];void 0===g&&(console.warn("THREE.BufferAttribute.copyVector3sArray(): vector is undefined",e),g=new y),i[n++]=g.x,i[n++]=g.y,i[n++]=g.z}return this},copyVector4sArray:function(t){for(var i=this.array,n=0,e=0,r=t.length;e<r;e++){var g=t[e];void 0===g&&(console.warn("THREE.BufferAttribute.copyVector4sArray(): vector is undefined",e),g=new ln),i[n++]=g.x,i[n++]=g.y,i[n++]=g.z,i[n++]=g.w}return this},applyMatrix3:function(t){for(var i=0,n=this.count;i<n;i++)I.x=this.getX(i),I.y=this.getY(i),I.z=this.getZ(i),I.applyMatrix3(t),this.setXYZ(i,I.x,I.y,I.z);return this},applyMatrix4:function(t){for(var i=0,n=this.count;i<n;i++)I.x=this.getX(i),I.y=this.getY(i),I.z=this.getZ(i),I.applyMatrix4(t),this.setXYZ(i,I.x,I.y,I.z);return this},applyNormalMatrix:function(t){for(var i=0,n=this.count;i<n;i++)I.x=this.getX(i),I.y=this.getY(i),I.z=this.getZ(i),I.applyNormalMatrix(t),this.setXYZ(i,I.x,I.y,I.z);return this},transformDirection:function(t){for(var i=0,n=this.count;i<n;i++)I.x=this.getX(i),I.y=this.getY(i),I.z=this.getZ(i),I.transformDirection(t),this.setXYZ(i,I.x,I.y,I.z);return this},set:function(t,i){return this.array.set(t,i=void 0===i?0:i),this},getX:function(t){return this.array[t*this.itemSize]},setX:function(t,i){return this.array[t*this.itemSize]=i,this},getY:function(t){return this.array[t*this.itemSize+1]},setY:function(t,i){return this.array[t*this.itemSize+1]=i,this},getZ:function(t){return this.array[t*this.itemSize+2]},setZ:function(t,i){return this.array[t*this.itemSize+2]=i,this},getW:function(t){return this.array[t*this.itemSize+3]},setW:function(t,i){return this.array[t*this.itemSize+3]=i,this},setXY:function(t,i,n){return t*=this.itemSize,this.array[t+0]=i,this.array[t+1]=n,this},setXYZ:function(t,i,n,e){return t*=this.itemSize,this.array[t+0]=i,this.array[t+1]=n,this.array[t+2]=e,this},setXYZW:function(t,i,n,e,r){return t*=this.itemSize,this.array[t+0]=i,this.array[t+1]=n,this.array[t+2]=e,this.array[t+3]=r,this},onUpload:function(t){return this.onUploadCallback=t,this},clone:function(){return new this.constructor(this.array,this.itemSize).copy(this)}}),(dn.prototype=Object.create(d.prototype)).constructor=dn,(pn.prototype=Object.create(d.prototype)).constructor=pn,(bn.prototype=Object.create(d.prototype)).constructor=bn,(mn.prototype=Object.create(d.prototype)).constructor=mn,wn.prototype=Object.create(d.prototype),wn.prototype.constructor=wn,(Mn.prototype=Object.create(d.prototype)).constructor=Mn,kn.prototype=Object.create(d.prototype),kn.prototype.constructor=kn,(m.prototype=Object.create(d.prototype)).constructor=m,(jn.prototype=Object.create(d.prototype)).constructor=jn;var On=new cn;function Rn(t,i){this.center=void 0!==t?t:new y,this.radius=void 0!==i?i:0}function En(){this.vertices=[],this.normals=[],this.colors=[],this.uvs=[],this.uvs2=[],this.groups=[],this.morphTargets={},this.skinWeights=[],this.skinIndices=[],this.boundingBox=null,this.boundingSphere=null,this.verticesNeedUpdate=!1,this.normalsNeedUpdate=!1,this.colorsNeedUpdate=!1,this.uvsNeedUpdate=!1,this.groupsNeedUpdate=!1}Object.assign(Rn.prototype,{set:function(t,i){return this.center.copy(t),this.radius=i,this},setFromPoints:function(t,i){for(var n=this.center,e=(void 0!==i?n.copy(i):On.setFromPoints(t).getCenter(n),0),r=0,g=t.length;r<g;r++)e=Math.max(e,n.distanceToSquared(t[r]));return this.radius=Math.sqrt(e),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.center.copy(t.center),this.radius=t.radius,this},empty:function(){return this.radius<=0},containsPoint:function(t){return t.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(t){return t.distanceTo(this.center)-this.radius},intersectsSphere:function(t){var i=this.radius+t.radius;return t.center.distanceToSquared(this.center)<=i*i},intersectsBox:function(t){return t.intersectsSphere(this)},intersectsPlane:function(t){return Math.abs(t.distanceToPoint(this.center))<=this.radius},clampPoint:function(t,i){var n=this.center.distanceToSquared(t);return void 0===i&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),i=new y),i.copy(t),n>this.radius*this.radius&&(i.sub(this.center).normalize(),i.multiplyScalar(this.radius).add(this.center)),i},getBoundingBox:function(t){return void 0===t&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),t=new cn),t.set(this.center,this.center),t.expandByScalar(this.radius),t},applyMatrix4:function(t){return this.center.applyMatrix4(t),this.radius=this.radius*t.getMaxScaleOnAxis(),this},translate:function(t){return this.center.add(t),this},equals:function(t){return t.center.equals(this.center)&&t.radius===this.radius}}),Object.assign(En.prototype,{computeGroups:function(t){for(var i,n=[],e=void 0,r=t.faces,g=0;g<r.length;g++){var A=r[g];A.materialIndex!==e&&(e=A.materialIndex,void 0!==i&&(i.count=3*g-i.start,n.push(i)),i={start:3*g,materialIndex:e})}void 0!==i&&(i.count=3*g-i.start,n.push(i)),this.groups=n},fromGeometry:function(t){var i=t.faces,n=t.vertices,e=t.faceVertexUvs,r=e[0]&&0<e[0].length,g=e[1]&&0<e[1].length,A=t.morphTargets,C=A.length;if(0<C){for(var o=[],I=0;I<C;I++)o[I]={name:A[I].name,data:[]};this.morphTargets.position=o}var s=t.morphNormals,h=s.length;if(0<h){for(var u=[],I=0;I<h;I++)u[I]={name:s[I].name,data:[]};this.morphTargets.normal=u}var a=t.skinIndices,c=t.skinWeights,f=a.length===n.length,l=c.length===n.length;0<n.length&&0===i.length&&console.error("THREE.DirectGeometry: Faceless geometries are not supported.");for(I=0;I<i.length;I++){var v,y=i[I],d=(this.vertices.push(n[y.a],n[y.b],n[y.c]),y.vertexNormals),d=(3===d.length?this.normals.push(d[0],d[1],d[2]):(d=y.normal,this.normals.push(d,d,d)),y.vertexColors);3===d.length?this.colors.push(d[0],d[1],d[2]):(d=y.color,this.colors.push(d,d,d)),!0===r&&(void 0!==(v=e[0][I])?this.uvs.push(v[0],v[1],v[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv ",I),this.uvs.push(new L,new L,new L))),!0===g&&(void 0!==(v=e[1][I])?this.uvs2.push(v[0],v[1],v[2]):(console.warn("THREE.DirectGeometry.fromGeometry(): Undefined vertexUv2 ",I),this.uvs2.push(new L,new L,new L)));for(var p=0;p<C;p++){var b=A[p].vertices;o[p].data.push(b[y.a],b[y.b],b[y.c])}for(p=0;p<h;p++){var m=s[p].vertexNormals[I];u[p].data.push(m.a,m.b,m.c)}f&&this.skinIndices.push(a[y.a],a[y.b],a[y.c]),l&&this.skinWeights.push(c[y.a],c[y.b],c[y.c])}return this.computeGroups(t),this.verticesNeedUpdate=t.verticesNeedUpdate,this.normalsNeedUpdate=t.normalsNeedUpdate,this.colorsNeedUpdate=t.colorsNeedUpdate,this.uvsNeedUpdate=t.uvsNeedUpdate,this.groupsNeedUpdate=t.groupsNeedUpdate,null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this}});var Tn=1,Sn=new ji,xn=new C,Pn=new y,Ln=new cn,Fn=new cn,s=new y;function Zn(){Object.defineProperty(this,"id",{value:Tn+=2}),this.uuid=v.generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}function Dn(t,i,n,e){Zn.call(this),this.type="PlaneBufferGeometry",this.parameters={width:t,height:i,widthSegments:n,heightSegments:e};for(var r=(t=t||1)/2,g=(i=i||1)/2,A=Math.floor(n)||1,C=Math.floor(e)||1,o=A+1,I=C+1,s=t/A,h=i/C,u=[],a=[],c=[],f=[],l=0;l<I;l++)for(var v=l*h-g,y=0;y<o;y++)a.push(y*s-r,-v,0),c.push(0,0,1),f.push(y/A),f.push(1-l/C);for(l=0;l<C;l++)for(y=0;y<A;y++){var d=y+o*(l+1),p=y+1+o*(l+1),b=y+1+o*l;u.push(y+o*l,d,b),u.push(d,p,b)}this.setIndex(u),this.setAttribute("position",new m(a,3)),this.setAttribute("normal",new m(c,3)),this.setAttribute("uv",new m(f,2))}Zn.prototype=Object.assign(Object.create(Oi.prototype),{constructor:Zn,isBufferGeometry:!0,getIndex:function(){return this.index},setIndex:function(t){Array.isArray(t)?this.index=new(65535<function(t){if(0===t.length)return-1/0;for(var i=t[0],n=1,e=t.length;n<e;++n)t[n]>i&&(i=t[n]);return i}(t)?kn:wn)(t,1):this.index=t},getAttribute:function(t){return this.attributes[t]},setAttribute:function(t,i){return this.attributes[t]=i,this},deleteAttribute:function(t){return delete this.attributes[t],this},addGroup:function(t,i,n){this.groups.push({start:t,count:i,materialIndex:void 0!==n?n:0})},clearGroups:function(){this.groups=[]},setDrawRange:function(t,i){this.drawRange.start=t,this.drawRange.count=i},applyMatrix4:function(t){var i=this.attributes.position,i=(void 0!==i&&(i.applyMatrix4(t),i.needsUpdate=!0),this.attributes.normal),n=(void 0!==i&&(n=(new xi).getNormalMatrix(t),i.applyNormalMatrix(n),i.needsUpdate=!0),this.attributes.tangent);return void 0!==n&&(n.transformDirection(t),n.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this},rotateX:function(t){return Sn.makeRotationX(t),this.applyMatrix4(Sn),this},rotateY:function(t){return Sn.makeRotationY(t),this.applyMatrix4(Sn),this},rotateZ:function(t){return Sn.makeRotationZ(t),this.applyMatrix4(Sn),this},translate:function(t,i,n){return Sn.makeTranslation(t,i,n),this.applyMatrix4(Sn),this},scale:function(t,i,n){return Sn.makeScale(t,i,n),this.applyMatrix4(Sn),this},lookAt:function(t){return xn.lookAt(t),xn.updateMatrix(),this.applyMatrix4(xn.matrix),this},center:function(){return this.computeBoundingBox(),this.boundingBox.getCenter(Pn).negate(),this.translate(Pn.x,Pn.y,Pn.z),this},setFromObject:function(t){var i,n,e=t.geometry;return t.isPoints||t.isLine?(n=new m(3*e.vertices.length,3),i=new m(3*e.colors.length,3),this.setAttribute("position",n.copyVector3sArray(e.vertices)),this.setAttribute("color",i.copyColorsArray(e.colors)),e.lineDistances&&e.lineDistances.length===e.vertices.length&&(n=new m(e.lineDistances.length,1),this.setAttribute("lineDistance",n.copyArray(e.lineDistances))),null!==e.boundingSphere&&(this.boundingSphere=e.boundingSphere.clone()),null!==e.boundingBox&&(this.boundingBox=e.boundingBox.clone())):t.isMesh&&e&&e.isGeometry&&this.fromGeometry(e),this},setFromPoints:function(t){for(var i=[],n=0,e=t.length;n<e;n++){var r=t[n];i.push(r.x,r.y,r.z||0)}return this.setAttribute("position",new m(i,3)),this},updateFromObject:function(t){var i,n=t.geometry;if(t.isMesh){var e=n.Jn;if(!0===n.elementsNeedUpdate&&(e=void 0,n.elementsNeedUpdate=!1),void 0===e)return this.fromGeometry(n);e.verticesNeedUpdate=n.verticesNeedUpdate,e.normalsNeedUpdate=n.normalsNeedUpdate,e.colorsNeedUpdate=n.colorsNeedUpdate,e.uvsNeedUpdate=n.uvsNeedUpdate,e.groupsNeedUpdate=n.groupsNeedUpdate,n.verticesNeedUpdate=!1,n.normalsNeedUpdate=!1,n.colorsNeedUpdate=!1,n.uvsNeedUpdate=!1,n.groupsNeedUpdate=!1,n=e}return!0===n.verticesNeedUpdate&&(void 0!==(i=this.attributes.position)&&(i.copyVector3sArray(n.vertices),i.needsUpdate=!0),n.verticesNeedUpdate=!1),!0===n.normalsNeedUpdate&&(void 0!==(i=this.attributes.normal)&&(i.copyVector3sArray(n.normals),i.needsUpdate=!0),n.normalsNeedUpdate=!1),!0===n.colorsNeedUpdate&&(void 0!==(i=this.attributes.color)&&(i.copyColorsArray(n.colors),i.needsUpdate=!0),n.colorsNeedUpdate=!1),n.uvsNeedUpdate&&(void 0!==(i=this.attributes.uv)&&(i.copyVector2sArray(n.uvs),i.needsUpdate=!0),n.uvsNeedUpdate=!1),n.lineDistancesNeedUpdate&&(void 0!==(i=this.attributes.lineDistance)&&(i.copyArray(n.lineDistances),i.needsUpdate=!0),n.lineDistancesNeedUpdate=!1),n.groupsNeedUpdate&&(n.computeGroups(t.geometry),this.groups=n.groups,n.groupsNeedUpdate=!1),this},fromGeometry:function(t){return t.Jn=(new En).fromGeometry(t),this.fromDirectGeometry(t.Jn)},fromDirectGeometry:function(t){var i,n=new Float32Array(3*t.vertices.length);for(i in this.setAttribute("position",new d(n,3).copyVector3sArray(t.vertices)),0<t.normals.length&&(n=new Float32Array(3*t.normals.length),this.setAttribute("normal",new d(n,3).copyVector3sArray(t.normals))),0<t.colors.length&&(n=new Float32Array(3*t.colors.length),this.setAttribute("color",new d(n,3).copyColorsArray(t.colors))),0<t.uvs.length&&(n=new Float32Array(2*t.uvs.length),this.setAttribute("uv",new d(n,2).copyVector2sArray(t.uvs))),0<t.uvs2.length&&(n=new Float32Array(2*t.uvs2.length),this.setAttribute("uv2",new d(n,2).copyVector2sArray(t.uvs2))),this.groups=t.groups,t.morphTargets){for(var e=[],r=t.morphTargets[i],g=0,A=r.length;g<A;g++){var C=r[g],o=new m(3*C.data.length,3);o.name=C.name,e.push(o.copyVector3sArray(C.data))}this.morphAttributes[i]=e}return 0<t.skinIndices.length&&(n=new m(4*t.skinIndices.length,4),this.setAttribute("skinIndex",n.copyVector4sArray(t.skinIndices))),0<t.skinWeights.length&&(n=new m(4*t.skinWeights.length,4),this.setAttribute("skinWeight",n.copyVector4sArray(t.skinWeights))),null!==t.boundingSphere&&(this.boundingSphere=t.boundingSphere.clone()),null!==t.boundingBox&&(this.boundingBox=t.boundingBox.clone()),this},computeBoundingSphere:function(){null===this.boundingSphere&&(this.boundingSphere=new Rn);var t=this.attributes.position,i=this.morphAttributes.position;if(t){var n=this.boundingSphere.center;if(Ln.setFromBufferAttribute(t),i)for(var e=0,r=i.length;e<r;e++){var g=i[e];Fn.setFromBufferAttribute(g),this.morphTargetsRelative?(s.addVectors(Ln.min,Fn.min),Ln.expandByPoint(s),s.addVectors(Ln.max,Fn.max),Ln.expandByPoint(s)):(Ln.expandByPoint(Fn.min),Ln.expandByPoint(Fn.max))}Ln.getCenter(n);for(var A=0,e=0,r=t.count;e<r;e++)s.fromBufferAttribute(t,e),A=Math.max(A,n.distanceToSquared(s));if(i)for(e=0,r=i.length;e<r;e++)for(var g=i[e],C=this.morphTargetsRelative,o=0,I=g.count;o<I;o++)s.fromBufferAttribute(g,o),C&&(Pn.fromBufferAttribute(t,o),s.add(Pn)),A=Math.max(A,n.distanceToSquared(s));this.boundingSphere.radius=Math.sqrt(A),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}},computeFaceNormals:function(){},computeVertexNormals:function(){var t=this.index,i=this.attributes;if(i.position){var n=i.position.array;if(void 0===i.normal)this.setAttribute("normal",new d(new Float32Array(n.length),3));else for(var e=i.normal.array,r=0,g=e.length;r<g;r++)e[r]=0;var A,C,o,I=i.normal.array,s=new y,h=new y,u=new y,a=new y,c=new y;if(t)for(var f=t.array,r=0,g=t.count;r<g;r+=3)A=3*f[r+0],C=3*f[r+1],o=3*f[r+2],s.fromArray(n,A),h.fromArray(n,C),u.fromArray(n,o),a.subVectors(u,h),c.subVectors(s,h),a.cross(c),I[A]+=a.x,I[1+A]+=a.y,I[2+A]+=a.z,I[C]+=a.x,I[1+C]+=a.y,I[2+C]+=a.z,I[o]+=a.x,I[1+o]+=a.y,I[2+o]+=a.z;else for(r=0,g=n.length;r<g;r+=9)s.fromArray(n,r),h.fromArray(n,r+3),u.fromArray(n,r+6),a.subVectors(u,h),c.subVectors(s,h),a.cross(c),I[r]=a.x,I[r+1]=a.y,I[r+2]=a.z,I[r+3]=a.x,I[r+4]=a.y,I[r+5]=a.z,I[r+6]=a.x,I[r+7]=a.y,I[r+8]=a.z;this.normalizeNormals(),i.normal.needsUpdate=!0}},normalizeNormals:function(){for(var t=this.attributes.normal,i=0,n=t.count;i<n;i++)s.x=t.getX(i),s.y=t.getY(i),s.z=t.getZ(i),s.normalize(),t.setXYZ(i,s.x,s.y,s.z)},dispose:function(){this.dispatchEvent({type:"dispose"})}}),(Dn.prototype=Object.create(Zn.prototype)).constructor=Dn;var Nn=0;function Gn(){Object.defineProperty(this,"id",{value:Nn++}),this.uuid=v.generateUUID(),this.name="",this.type="Material",this.fog=!0,this.blending=1,this.side=0,this.flatShading=!1,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=204,this.blendDst=205,this.blendEquation=100,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=3,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=519,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=7680,this.stencilZFail=7680,this.stencilZPass=7680,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}function Bn(t){Gn.call(this),this.type="MeshBasicMaterial",this.color=new Ki(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=0,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.skinning=!1,this.morphTargets=!1,this.setValues(t)}Gn.prototype=Object.assign(Object.create(Oi.prototype),{constructor:Gn,isMaterial:!0,onBeforeCompile:function(){},setValues:function(t){if(void 0!==t)for(var i in t){var n,e=t[i];void 0===e?console.warn("THREE.Material: '"+i+"' parameter is undefined."):"shading"===i?(console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=1===e):void 0===(n=this[i])?console.warn("THREE."+this.type+": '"+i+"' is not a property of this material."):n&&n.isColor?n.set(e):n&&n.isVector3&&e&&e.isVector3?n.copy(e):this[i]=e}},clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.name=t.name,this.fog=t.fog,this.blending=t.blending,this.side=t.side,this.flatShading=t.flatShading,this.vertexColors=t.vertexColors,this.opacity=t.opacity,this.transparent=t.transparent,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendEquation=t.blendEquation,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.blendEquationAlpha=t.blendEquationAlpha,this.depthFunc=t.depthFunc,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.stencilWriteMask=t.stencilWriteMask,this.stencilFunc=t.stencilFunc,this.stencilRef=t.stencilRef,this.stencilFuncMask=t.stencilFuncMask,this.stencilFail=t.stencilFail,this.stencilZFail=t.stencilZFail,this.stencilZPass=t.stencilZPass,this.stencilWrite=t.stencilWrite;var i=t.clippingPlanes,n=null;if(null!==i)for(var e=i.length,n=new Array(e),r=0;r!==e;++r)n[r]=i[r].clone();return this.clippingPlanes=n,this.clipIntersection=t.clipIntersection,this.clipShadows=t.clipShadows,this.shadowSide=t.shadowSide,this.colorWrite=t.colorWrite,this.precision=t.precision,this.polygonOffset=t.polygonOffset,this.polygonOffsetFactor=t.polygonOffsetFactor,this.polygonOffsetUnits=t.polygonOffsetUnits,this.dithering=t.dithering,this.alphaTest=t.alphaTest,this.premultipliedAlpha=t.premultipliedAlpha,this.visible=t.visible,this.toneMapped=t.toneMapped,this.userData=JSON.parse(JSON.stringify(t.userData)),this},dispose:function(){this.dispatchEvent({type:"dispose"})}}),Object.defineProperty(Gn.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),((Bn.prototype=Object.create(Gn.prototype)).constructor=Bn).prototype.isMeshBasicMaterial=!0,Bn.prototype.copy=function(t){return Gn.prototype.copy.call(this,t),this.color.copy(t.color),this.map=t.map,this.lightMap=t.lightMap,this.lightMapIntensity=t.lightMapIntensity,this.aoMap=t.aoMap,this.aoMapIntensity=t.aoMapIntensity,this.specularMap=t.specularMap,this.alphaMap=t.alphaMap,this.envMap=t.envMap,this.combine=t.combine,this.reflectivity=t.reflectivity,this.refractionRatio=t.refractionRatio,this.wireframe=t.wireframe,this.wireframeLinewidth=t.wireframeLinewidth,this.wireframeLinecap=t.wireframeLinecap,this.wireframeLinejoin=t.wireframeLinejoin,this.skinning=t.skinning,this.morphTargets=t.morphTargets,this};var zn=0;function Yn(t,i,n,e,r,g,A,C,o,I){Object.defineProperty(this,"id",{value:zn++}),this.uuid=v.generateUUID(),this.name="",this.image=void 0!==t?t:Yn.DEFAULT_IMAGE,this.mipmaps=[],this.mapping=void 0!==i?i:Yn.DEFAULT_MAPPING,this.wrapS=void 0!==n?n:1001,this.wrapT=void 0!==e?e:1001,this.magFilter=void 0!==r?r:1006,this.minFilter=void 0!==g?g:1008,this.anisotropy=void 0!==o?o:1,this.format=void 0!==A?A:1023,this.internalFormat=null,this.type=void 0!==C?C:1009,this.offset=new L(0,0),this.repeat=new L(1,1),this.center=new L(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new xi,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=void 0!==I?I:3e3,this.version=0,this.onUpdate=null}function Un(t,i,n,e,r,g,A,C,o){Yn.call(this,t,i,n,e,r,g,A,C,o),this.needsUpdate=!0}Yn.DEFAULT_IMAGE=void 0,Yn.DEFAULT_MAPPING=300,Yn.prototype=Object.assign(Object.create(Oi.prototype),{constructor:Yn,isTexture:!0,updateMatrix:function(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.name=t.name,this.image=t.image,this.mipmaps=t.mipmaps.slice(0),this.mapping=t.mapping,this.wrapS=t.wrapS,this.wrapT=t.wrapT,this.magFilter=t.magFilter,this.minFilter=t.minFilter,this.anisotropy=t.anisotropy,this.format=t.format,this.internalFormat=t.internalFormat,this.type=t.type,this.offset.copy(t.offset),this.repeat.copy(t.repeat),this.center.copy(t.center),this.rotation=t.rotation,this.matrixAutoUpdate=t.matrixAutoUpdate,this.matrix.copy(t.matrix),this.generateMipmaps=t.generateMipmaps,this.premultiplyAlpha=t.premultiplyAlpha,this.flipY=t.flipY,this.unpackAlignment=t.unpackAlignment,this.encoding=t.encoding,this},dispose:function(){this.dispatchEvent({type:"dispose"})},transformUv:function(t){if(300!==this.mapping)return t;if(t.applyMatrix3(this.matrix),t.x<0||1<t.x)switch(this.wrapS){case 1e3:t.x=t.x-Math.floor(t.x);break;case 1001:t.x=t.x<0?0:1;break;case 1002:1===Math.abs(Math.floor(t.x)%2)?t.x=Math.ceil(t.x)-t.x:t.x=t.x-Math.floor(t.x)}if(t.y<0||1<t.y)switch(this.wrapT){case 1e3:t.y=t.y-Math.floor(t.y);break;case 1001:t.y=t.y<0?0:1;break;case 1002:1===Math.abs(Math.floor(t.y)%2)?t.y=Math.ceil(t.y)-t.y:t.y=t.y-Math.floor(t.y)}return this.flipY&&(t.y=1-t.y),t}}),Object.defineProperty(Yn.prototype,"needsUpdate",{set:function(t){!0===t&&this.version++}}),((Un.prototype=Object.create(Yn.prototype)).constructor=Un).prototype.isCanvasTexture=!0;var Vn=new y,Wn=new y,Xn=new xi;function _n(t,i){this.normal=void 0!==t?t:new y(1,0,0),this.constant=void 0!==i?i:0}Object.assign(_n.prototype,{isPlane:!0,set:function(t,i){return this.normal.copy(t),this.constant=i,this},setComponents:function(t,i,n,e){return this.normal.set(t,i,n),this.constant=e,this},setFromNormalAndCoplanarPoint:function(t,i){return this.normal.copy(t),this.constant=-i.dot(this.normal),this},setFromCoplanarPoints:function(t,i,n){n=Vn.subVectors(n,i).cross(Wn.subVectors(t,i)).normalize();return this.setFromNormalAndCoplanarPoint(n,t),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.normal.copy(t.normal),this.constant=t.constant,this},normalize:function(){var t=1/this.normal.length();return this.normal.multiplyScalar(t),this.constant*=t,this},negate:function(){return this.constant*=-1,this.normal.negate(),this},distanceToPoint:function(t){return this.normal.dot(t)+this.constant},distanceToSphere:function(t){return this.distanceToPoint(t.center)-t.radius},projectPoint:function(t,i){return void 0===i&&(console.warn("THREE.Plane: .projectPoint() target is now required"),i=new y),i.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t)},intersectLine:function(t,i){void 0===i&&(console.warn("THREE.Plane: .intersectLine() target is now required"),i=new y);var n=t.delta(Vn),e=this.normal.dot(n);if(0===e)return 0===this.distanceToPoint(t.start)?i.copy(t.start):void 0;e=-(t.start.dot(this.normal)+this.constant)/e;return e<0||1<e?void 0:i.copy(n).multiplyScalar(e).add(t.start)},intersectsLine:function(t){var i=this.distanceToPoint(t.start),t=this.distanceToPoint(t.end);return i<0&&0<t||t<0&&0<i},intersectsBox:function(t){return t.intersectsPlane(this)},intersectsSphere:function(t){return t.intersectsPlane(this)},coplanarPoint:function(t){return void 0===t&&(console.warn("THREE.Plane: .coplanarPoint() target is now required"),t=new y),t.copy(this.normal).multiplyScalar(-this.constant)},applyMatrix4:function(t,i){i=i||Xn.getNormalMatrix(t),t=this.coplanarPoint(Vn).applyMatrix4(t),i=this.normal.applyMatrix3(i).normalize();return this.constant=-t.dot(i),this},translate:function(t){return this.constant-=t.dot(this.normal),this},equals:function(t){return t.normal.equals(this.normal)&&t.constant===this.constant}});var Hn=new y,Kn=new y,Qn=new y,Jn=new y,qn=new y,$n=new y,te=new y;function ie(t,i){this.origin=void 0!==t?t:new y,this.direction=void 0!==i?i:new y(0,0,-1)}Object.assign(ie.prototype,{set:function(t,i){return this.origin.copy(t),this.direction.copy(i),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.origin.copy(t.origin),this.direction.copy(t.direction),this},at:function(t,i){return void 0===i&&(console.warn("THREE.Ray: .at() target is now required"),i=new y),i.copy(this.direction).multiplyScalar(t).add(this.origin)},lookAt:function(t){return this.direction.copy(t).sub(this.origin).normalize(),this},recast:function(t){return this.origin.copy(this.at(t,Hn)),this},closestPointToPoint:function(t,i){void 0===i&&(console.warn("THREE.Ray: .closestPointToPoint() target is now required"),i=new y),i.subVectors(t,this.origin);t=i.dot(this.direction);return t<0?i.copy(this.origin):i.copy(this.direction).multiplyScalar(t).add(this.origin)},distanceToPoint:function(t){return Math.sqrt(this.distanceSqToPoint(t))},distanceSqToPoint:function(t){var i=Hn.subVectors(t,this.origin).dot(this.direction);return i<0?this.origin.distanceToSquared(t):(Hn.copy(this.direction).multiplyScalar(i).add(this.origin),Hn.distanceToSquared(t))},distanceSqToSegment:function(t,i,n,e){Kn.copy(t).add(i).multiplyScalar(.5),Qn.copy(i).sub(t).normalize(),Jn.copy(this.origin).sub(Kn);var r,g,A,t=.5*t.distanceTo(i),i=-this.direction.dot(Qn),C=Jn.dot(this.direction),o=-Jn.dot(Qn),I=Jn.lengthSq(),s=Math.abs(1-i*i);return s=0<s?(g=i*C-o,A=t*s,0<=(r=i*o-C)?-A<=g?g<=A?(r*=s=1/s)*(r+i*(g*=s)+2*C)+g*(i*r+g+2*o)+I:(g=t,-(r=Math.max(0,-(i*g+C)))*r+g*(g+2*o)+I):(g=-t,-(r=Math.max(0,-(i*g+C)))*r+g*(g+2*o)+I):g<=-A?-(r=Math.max(0,-(-i*t+C)))*r+(g=0<r?-t:Math.min(Math.max(-t,-o),t))*(g+2*o)+I:g<=A?(r=0,(g=Math.min(Math.max(-t,-o),t))*(g+2*o)+I):-(r=Math.max(0,-(i*t+C)))*r+(g=0<r?t:Math.min(Math.max(-t,-o),t))*(g+2*o)+I):(g=0<i?-t:t,-(r=Math.max(0,-(i*g+C)))*r+g*(g+2*o)+I),n&&n.copy(this.direction).multiplyScalar(r).add(this.origin),e&&e.copy(Qn).multiplyScalar(g).add(Kn),s},intersectSphere:function(t,i){Hn.subVectors(t.center,this.origin);var n=Hn.dot(this.direction),e=Hn.dot(Hn)-n*n,t=t.radius*t.radius;if(t<e)return null;t=Math.sqrt(t-e),e=n-t,n+=t;return e<0&&n<0?null:e<0?this.at(n,i):this.at(e,i)},intersectsSphere:function(t){return this.distanceSqToPoint(t.center)<=t.radius*t.radius},distanceToPlane:function(t){var i=t.normal.dot(this.direction);if(0===i)return 0===t.distanceToPoint(this.origin)?0:null;t=-(this.origin.dot(t.normal)+t.constant)/i;return 0<=t?t:null},intersectPlane:function(t,i){t=this.distanceToPlane(t);return null===t?null:this.at(t,i)},intersectsPlane:function(t){var i=t.distanceToPoint(this.origin);return 0===i||t.normal.dot(this.direction)*i<0},intersectBox:function(t,i){var n,e,r,g=1/this.direction.x,A=1/this.direction.y,C=1/this.direction.z,o=this.origin,g=0<=g?(n=(t.min.x-o.x)*g,(t.max.x-o.x)*g):(n=(t.max.x-o.x)*g,(t.min.x-o.x)*g),A=0<=A?(r=(t.min.y-o.y)*A,(t.max.y-o.y)*A):(r=(t.max.y-o.y)*A,(t.min.y-o.y)*A);return A<n||g<r?null:((n<r||n!=n)&&(n=r),(A<g||g!=g)&&(g=A),(r=0<=C?(e=(t.min.z-o.z)*C,(t.max.z-o.z)*C):(e=(t.max.z-o.z)*C,(t.min.z-o.z)*C))<n||g<e?null:((n<e||n!=n)&&(n=e),(g=r<g||g!=g?r:g)<0?null:this.at(0<=n?n:g,i)))},intersectsBox:function(t){return null!==this.intersectBox(t,Hn)},intersectTriangle:function(t,i,n,e,r){qn.subVectors(i,t),$n.subVectors(n,t),te.crossVectors(qn,$n);var g,i=this.direction.dot(te);if(0<i){if(e)return null;g=1}else{if(!(i<0))return null;g=-1,i=-i}Jn.subVectors(this.origin,t);n=g*this.direction.dot($n.crossVectors(Jn,$n));if(n<0)return null;e=g*this.direction.dot(qn.cross(Jn));if(e<0)return null;if(i<n+e)return null;t=-g*Jn.dot(te);return t<0?null:this.at(t/i,r)},applyMatrix4:function(t){return this.origin.applyMatrix4(t),this.direction.transformDirection(t),this},equals:function(t){return t.origin.equals(this.origin)&&t.direction.equals(this.direction)}});var h=new y,ne=new y,ee=new y,re=new y,ge=new y,Ae=new y,Ce=new y,oe=new y,Ie=new y,se=new y;function F(t,i,n){this.a=void 0!==t?t:new y,this.b=void 0!==i?i:new y,this.c=void 0!==n?n:new y}function he(t,i,n,e,r,g){this.a=t,this.b=i,this.c=n,this.normal=e&&e.isVector3?e:new y,this.vertexNormals=Array.isArray(e)?e:[],this.color=r&&r.isColor?r:new Ki,this.vertexColors=Array.isArray(r)?r:[],this.materialIndex=void 0!==g?g:0}Object.assign(F,{getNormal:function(t,i,n,e){void 0===e&&(console.warn("THREE.Triangle: .getNormal() target is now required"),e=new y),e.subVectors(n,i),h.subVectors(t,i),e.cross(h);n=e.lengthSq();return 0<n?e.multiplyScalar(1/Math.sqrt(n)):e.set(0,0,0)},getBarycoord:function(t,i,n,e,r){h.subVectors(e,i),ne.subVectors(n,i),ee.subVectors(t,i);var e=h.dot(h),n=h.dot(ne),t=h.dot(ee),i=ne.dot(ne),g=ne.dot(ee),A=e*i-n*n;if(void 0===r&&(console.warn("THREE.Triangle: .getBarycoord() target is now required"),r=new y),0==A)return r.set(-2,-1,-1);A=1/A,i=(i*t-n*g)*A,e=(e*g-n*t)*A;return r.set(1-i-e,e,i)},containsPoint:function(t,i,n,e){return F.getBarycoord(t,i,n,e,re),0<=re.x&&0<=re.y&&re.x+re.y<=1},getUV:function(t,i,n,e,r,g,A,C){return this.getBarycoord(t,i,n,e,re),C.set(0,0),C.addScaledVector(r,re.x),C.addScaledVector(g,re.y),C.addScaledVector(A,re.z),C},isFrontFacing:function(t,i,n,e){return h.subVectors(n,i),ne.subVectors(t,i),h.cross(ne).dot(e)<0}}),Object.assign(F.prototype,{set:function(t,i,n){return this.a.copy(t),this.b.copy(i),this.c.copy(n),this},setFromPointsAndIndices:function(t,i,n,e){return this.a.copy(t[i]),this.b.copy(t[n]),this.c.copy(t[e]),this},clone:function(){return(new this.constructor).copy(this)},copy:function(t){return this.a.copy(t.a),this.b.copy(t.b),this.c.copy(t.c),this},getArea:function(){return h.subVectors(this.c,this.b),ne.subVectors(this.a,this.b),.5*h.cross(ne).length()},getMidpoint:function(t){return void 0===t&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),t=new y),t.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(t){return F.getNormal(this.a,this.b,this.c,t)},getPlane:function(t){return void 0===t&&(console.warn("THREE.Triangle: .getPlane() target is now required"),t=new _n),t.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(t,i){return F.getBarycoord(t,this.a,this.b,this.c,i)},getUV:function(t,i,n,e,r){return F.getUV(t,this.a,this.b,this.c,i,n,e,r)},containsPoint:function(t){return F.containsPoint(t,this.a,this.b,this.c)},isFrontFacing:function(t){return F.isFrontFacing(this.a,this.b,this.c,t)},intersectsBox:function(t){return t.intersectsTriangle(this)},closestPointToPoint:function(t,i){void 0===i&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),i=new y);var n=this.a,e=this.b,r=this.c,g=(ge.subVectors(e,n),Ae.subVectors(r,n),oe.subVectors(t,n),ge.dot(oe)),A=Ae.dot(oe);if(g<=0&&A<=0)return i.copy(n);Ie.subVectors(t,e);var C=ge.dot(Ie),o=Ae.dot(Ie);if(0<=C&&o<=C)return i.copy(e);var I=g*o-C*A;if(I<=0&&0<=g&&C<=0)return h=g/(g-C),i.copy(n).addScaledVector(ge,h);se.subVectors(t,r);var t=ge.dot(se),s=Ae.dot(se);if(0<=s&&t<=s)return i.copy(r);g=t*A-g*s;if(g<=0&&0<=A&&s<=0)return u=A/(A-s),i.copy(n).addScaledVector(Ae,u);A=C*s-t*o;if(A<=0&&0<=o-C&&0<=t-s)return Ce.subVectors(r,e),u=(o-C)/(o-C+(t-s)),i.copy(e).addScaledVector(Ce,u);var r=1/(A+g+I),h=g*r,u=I*r;return i.copy(n).addScaledVector(ge,h).addScaledVector(Ae,u)},equals:function(t){return t.a.equals(this.a)&&t.b.equals(this.b)&&t.c.equals(this.c)}}),Object.assign(he.prototype,{clone:function(){return(new this.constructor).copy(this)},copy:function(t){this.a=t.a,this.b=t.b,this.c=t.c,this.normal.copy(t.normal),this.color.copy(t.color),this.materialIndex=t.materialIndex;for(var i=0,n=t.vertexNormals.length;i<n;i++)this.vertexNormals[i]=t.vertexNormals[i].clone();for(i=0,n=t.vertexColors.length;i<n;i++)this.vertexColors[i]=t.vertexColors[i].clone();return this}});var ue=new ji,ae=new ie,ce=new Rn,fe=new y,le=new y,ve=new y,ye=new y,de=new y,pe=new y,be=new y,me=new y,we=new y,Me=new L,ke=new L,je=new L,Oe=new y,Re=new y;function Ee(t,i){C.call(this),this.type="Mesh",this.geometry=void 0!==t?t:new Zn,this.material=void 0!==i?i:new Bn,this.updateMorphTargets()}function Te(t,i,n,e,r,g,A,C){e=i.side===vn?e.intersectTriangle(A,g,r,!0,C):e.intersectTriangle(r,g,A,i.side!==yn,C);if(null===e)return null;Re.copy(C),Re.applyMatrix4(t.matrixWorld);r=n.ray.origin.distanceTo(Re);return r<n.near||r>n.far?null:{distance:r,point:Re.clone(),object:t}}function Se(t,i,n,e,r,g,A,C,o,I,s,h){fe.fromBufferAttribute(r,I),le.fromBufferAttribute(r,s),ve.fromBufferAttribute(r,h);var u=t.morphTargetInfluences;if(i.morphTargets&&g&&u){be.set(0,0,0),me.set(0,0,0),we.set(0,0,0);for(var a=0,c=g.length;a<c;a++){var f=u[a],l=g[a];0!==f&&(ye.fromBufferAttribute(l,I),de.fromBufferAttribute(l,s),pe.fromBufferAttribute(l,h),A?(be.addScaledVector(ye,f),me.addScaledVector(de,f),we.addScaledVector(pe,f)):(be.addScaledVector(ye.sub(fe),f),me.addScaledVector(de.sub(le),f),we.addScaledVector(pe.sub(ve),f)))}fe.add(be),le.add(me),ve.add(we)}r=Te(t,i,n,e,fe,le,ve,Oe);return r&&(C&&(Me.fromBufferAttribute(C,I),ke.fromBufferAttribute(C,s),je.fromBufferAttribute(C,h),r.uv=F.getUV(Oe,fe,le,ve,Me,ke,je,new L)),o&&(Me.fromBufferAttribute(o,I),ke.fromBufferAttribute(o,s),je.fromBufferAttribute(o,h),r.uv2=F.getUV(Oe,fe,le,ve,Me,ke,je,new L)),t=new he(I,s,h),F.getNormal(fe,le,ve,t.normal),r.face=t),r}function xe(t,i,n,e){this.ray=new ie(t,i),this.near=n||0,this.far=e||1/0,this.camera=null,this.layers=new Si,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}},Object.defineProperties(this.params,{PointCloud:{get:function(){return console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points."),this.Points}}})}function Pe(t,i){return t.distance-i.distance}function Le(t,i,n,e){if(t.layers.test(i.layers)&&t.raycast(i,n),!0===e)for(var r=t.children,g=0,A=r.length;g<A;g++)Le(r[g],i,n,!0)}Ee.prototype=Object.assign(Object.create(C.prototype),{constructor:Ee,isMesh:!0,copy:function(t){return C.prototype.copy.call(this,t),void 0!==t.morphTargetInfluences&&(this.morphTargetInfluences=t.morphTargetInfluences.slice()),void 0!==t.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},t.morphTargetDictionary)),this},updateMorphTargets:function(){var t,i,n,e=this.geometry;if(e.isBufferGeometry){var r=e.morphAttributes,g=Object.keys(r);if(0<g.length){var A=r[g[0]];if(void 0!==A)for(this.morphTargetInfluences=[],this.morphTargetDictionary={},t=0,i=A.length;t<i;t++)n=A[t].name||String(t),this.morphTargetInfluences.push(0),this.morphTargetDictionary[n]=t}}else{r=e.morphTargets;void 0!==r&&0<r.length&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}},raycast:function(t,i){var n=this.geometry,e=this.material,r=this.matrixWorld;if(void 0!==e&&(null===n.boundingSphere&&n.computeBoundingSphere(),ce.copy(n.boundingSphere),ce.applyMatrix4(r),!1!==t.ray.intersectsSphere(ce)&&(ue.getInverse(r),ae.copy(t.ray).applyMatrix4(ue),null===n.boundingBox||!1!==ae.intersectsBox(n.boundingBox))))if(n.isBufferGeometry){var g,A,C,o,I,s,h,u,a,c=n.index,f=n.attributes.position,l=n.morphAttributes.position,v=n.morphTargetsRelative,y=n.attributes.uv,d=n.attributes.uv2,p=n.groups,b=n.drawRange;if(null!==c)if(Array.isArray(e))for(o=0,s=p.length;o<s;o++)for(a=e[(u=p[o]).materialIndex],I=Math.max(u.start,b.start),h=Math.min(u.start+u.count,b.start+b.count);I<h;I+=3)g=c.getX(I),A=c.getX(I+1),C=c.getX(I+2),(S=Se(this,a,t,ae,f,l,v,y,d,g,A,C))&&(S.faceIndex=Math.floor(I/3),S.face.materialIndex=u.materialIndex,i.push(S));else for(o=Math.max(0,b.start),s=Math.min(c.count,b.start+b.count);o<s;o+=3)g=c.getX(o),A=c.getX(o+1),C=c.getX(o+2),(S=Se(this,e,t,ae,f,l,v,y,d,g,A,C))&&(S.faceIndex=Math.floor(o/3),i.push(S));else if(void 0!==f)if(Array.isArray(e))for(o=0,s=p.length;o<s;o++)for(a=e[(u=p[o]).materialIndex],I=Math.max(u.start,b.start),h=Math.min(u.start+u.count,b.start+b.count);I<h;I+=3)(S=Se(this,a,t,ae,f,l,v,y,d,g=I,A=I+1,C=I+2))&&(S.faceIndex=Math.floor(I/3),S.face.materialIndex=u.materialIndex,i.push(S));else for(o=Math.max(0,b.start),s=Math.min(f.count,b.start+b.count);o<s;o+=3)(S=Se(this,e,t,ae,f,l,v,y,d,g=o,A=o+1,C=o+2))&&(S.faceIndex=Math.floor(o/3),i.push(S))}else if(n.isGeometry){var m,w=Array.isArray(e),M=n.vertices,k=n.faces,r=n.faceVertexUvs[0];0<r.length&&(m=r);for(var j=0,O=k.length;j<O;j++){var R,E,T,S,x=k[j],P=w?e[x.materialIndex]:e;void 0!==P&&(R=M[x.a],E=M[x.b],T=M[x.c],(S=Te(this,P,t,ae,R,E,T,Oe))&&(m&&m[j]&&(P=m[j],Me.copy(P[0]),ke.copy(P[1]),je.copy(P[2]),S.uv=F.getUV(Oe,R,E,T,Me,ke,je,new L)),S.face=x,S.faceIndex=j,i.push(S)))}}},clone:function(){return new this.constructor(this.geometry,this.material).copy(this)}}),Object.assign(xe.prototype,{set:function(t,i){this.ray.set(t,i)},setFromCamera:function(t,i){i&&i.isPerspectiveCamera?(this.ray.origin.setFromMatrixPosition(i.matrixWorld),this.ray.direction.set(t.x,t.y,.5).unproject(i).sub(this.ray.origin).normalize(),this.camera=i):i&&i.isOrthographicCamera?(this.ray.origin.set(t.x,t.y,(i.near+i.far)/(i.near-i.far)).unproject(i),this.ray.direction.set(0,0,-1).transformDirection(i.matrixWorld),this.camera=i):console.error("THREE.Raycaster: Unsupported camera type.")},intersectObject:function(t,i,n){n=n||[];return Le(t,this,n,i),n.sort(Pe),n},intersectObjects:function(t,i,n){var e=n||[];if(!1===Array.isArray(t))return console.warn("THREE.Raycaster.intersectObjects: objects is not an Array."),e;for(var r=0,g=t.length;r<g;r++)Le(t[r],this,e,i);return e.sort(Pe),e}});var u={AMAP_SATELLITE:1,AMAP_VECTOR:2,BAIDU_VECTOR:4,BAIDU_SATELLITE:8,TD_VECTOR:16,TD_SATELLITE:32,OSM:64},i={FOV:35,CAMERA_NEAR:1,CAMERA_FAR:1e5,ZOOM_UPPER_BOUND:30,TILT_UPPER_BOUND:90,THOUSAND:1e3,DEG2RAD:.0174532,RAD2DEG:57.2957795,DRAW_TIME:500,EPS:.001},Fe=(Object.freeze(i),i);function Ze(){C.call(this),this.type="Group"}function De(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}Ze.prototype=Object.assign(Object.create(C.prototype),{constructor:Ze,isGroup:!0});var Ne=function(){function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");this.disposed=!1}var i,n,e;return i=t,(n=[{key:"dispose",value:function(){this.disposed||(this.disposed=!0,this.disposeInternal())}},{key:"disposeInternal",value:function(){}}])&&De(i.prototype,n),e&&De(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}();function Ge(t,i){return i<t?1:t<i?-1:0}function Be(t,i,n){var e,r=t.length;if(t[0]<=i)return 0;if(i<=t[r-1])return r-1;if(0<n){for(e=1;e<r;++e)if(t[e]<i)return e-1}else if(n<0){for(e=1;e<r;++e)if(t[e]<=i)return e}else for(e=1;e<r;++e){if(t[e]==i)return e;if(t[e]<i)return"function"==typeof n?0<n(i,t[e-1],t[e])?e-1:e:t[e-1]-i<i-t[e]?e-1:e}return r-1}function ze(t,i){for(var n=Array.isArray(i)?i:[i],e=n.length,r=0;r<e;r++)t[t.length]=n[r]}function Ye(t,i){var n=t.length;if(n===i.length){for(var e=0;e<n;e++)if(t[e]!==i[e])return;return 1}}function Ue(){return!0}function Ve(){}function a(){throw new Error("Unimplemented abstract method.")}var We=0;function $(t){return t.ol_uid||(t.ol_uid=String(++We))}var i="undefined"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():"",Xe=(i.indexOf("firefox"),-1!==i.indexOf("safari")&&i.indexOf("chrom"),-1!==i.indexOf("webkit")&&i.indexOf("edge"),i.indexOf("macintosh"),"undefined"!=typeof devicePixelRatio?devicePixelRatio:1),_e="undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,He="undefined"!=typeof Image&&Image.prototype.decode;!function(){var t=!1;try{var i=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("_",null,i),window.removeEventListener("_",null,i)}catch(t){}}();function Ke(t){return(Ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Qe(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Je(n){var e=tr();return function(){var t,i=nr(n),i=(t=e?(t=nr(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Ke(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function qe(t){var n="function"==typeof Map?new Map:void 0;return function(t){if(null===t||-1===Function.toString.call(t).indexOf("[native code]"))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(t))return n.get(t);n.set(t,i)}function i(){return $e(t,arguments,nr(this).constructor)}return i.prototype=Object.create(t.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),ir(i,t)}(t)}function $e(t,i,n){return($e=tr()?Reflect.construct:function(t,i,n){var e=[null];e.push.apply(e,i);i=new(Function.bind.apply(t,e));return n&&ir(i,n.prototype),i}).apply(null,arguments)}function tr(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}function ir(t,i){return(ir=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function nr(t){return(nr=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var er=function(t){var i=g;if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");i.prototype=Object.create(t&&t.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),Object.defineProperty(i,"prototype",{writable:!1}),t&&ir(i,t);var n,e,r=Je(g);function g(t){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var i,n="Assertion failed. See https://openlayers.org/en/latest/doc/errors/#"+t+" for details.";return(i=r.call(this,n)).code=t,i.name="AssertionError",i.message=n,i}return i=g,n&&Qe(i.prototype,n),e&&Qe(i,e),Object.defineProperty(i,"prototype",{writable:!1}),i}(qe(Error));function c(t,i){if(!t)throw new er(i)}new Array(6);function rr(){return[1,0,0,1,0,0]}function tt(t,i){var n=i[0],e=i[1];return i[0]=t[0]*n+t[2]*e+t[4],i[1]=t[1]*n+t[3]*e+t[5],i}function gr(t,i,n,e,r,g,A,C){var o=Math.sin(g),g=Math.cos(g);return t[0]=e*g,t[1]=r*o,t[2]=-e*o,t[3]=r*g,t[4]=A*e*g-C*e*o+i,t[5]=A*r*o+C*r*g+n,t}function Ar(t,i){var n=i[0]*i[3]-i[1]*i[2],e=(c(0!=n,32),i[0]),r=i[1],g=i[2],A=i[3],C=i[4],i=i[5];return t[0]=A/n,t[1]=-r/n,t[2]=-g/n,t[3]=e/n,t[4]=(g*i-A*C)/n,t[5]=-(e*i-r*C)/n,t}var Cr={BOTTOM_LEFT:"bottom-left",BOTTOM_RIGHT:"bottom-right",TOP_LEFT:"top-left",TOP_RIGHT:"top-right"},f={UNKNOWN:0,INTERSECTING:1,ABOVE:2,RIGHT:4,BELOW:8,LEFT:16};function or(t){for(var i=ar(),n=0,e=t.length;n<e;++n)vr(i,t[n]);return i}function Ir(t,i,n){i=i<t[0]?t[0]-i:t[2]<i?i-t[2]:0,n=n<t[1]?t[1]-n:t[3]<n?n-t[3]:0;return i*i+n*n}function sr(t,i){return hr(t,i[0],i[1])}function hr(t,i,n){return t[0]<=i&&i<=t[2]&&t[1]<=n&&n<=t[3]}function ur(t,i){var n=t[0],e=t[1],r=t[2],t=t[3],g=i[0],i=i[1],A=f.UNKNOWN;return g<n?A|=f.LEFT:r<g&&(A|=f.RIGHT),i<e?A|=f.BELOW:t<i&&(A|=f.ABOVE),A=A===f.UNKNOWN?f.INTERSECTING:A}function ar(){return[1/0,1/0,-1/0,-1/0]}function cr(t,i,n,e,r){return r?(r[0]=t,r[1]=i,r[2]=n,r[3]=e,r):[t,i,n,e]}function fr(t){return cr(1/0,1/0,-1/0,-1/0,t)}function lr(t,i){return t[0]==i[0]&&t[2]==i[2]&&t[1]==i[1]&&t[3]==i[3]}function vr(t,i){i[0]<t[0]&&(t[0]=i[0]),i[0]>t[2]&&(t[2]=i[0]),i[1]<t[1]&&(t[1]=i[1]),i[1]>t[3]&&(t[3]=i[1])}function yr(t,i,n,e,r){for(;n<e;n+=r)g=t,A=i[n],C=i[n+1],g[0]=Math.min(g[0],A),g[1]=Math.min(g[1],C),g[2]=Math.max(g[2],A),g[3]=Math.max(g[3],C);var g,A,C;return t}function dr(t,i){var n=i(br(t));return n||((n=i(mr(t)))||(n=i(Rr(t)))||!!(n=i(Or(t))))&&n}function pr(t){var i=0;return i=Tr(t)?i:O(t)*kr(t)}function br(t){return[t[0],t[1]]}function mr(t){return[t[2],t[1]]}function wr(t){return[(t[0]+t[2])/2,(t[1]+t[3])/2]}function Mr(t,i,n,e,r){var g=i*e[0]/2,i=i*e[1]/2,e=Math.cos(n),n=Math.sin(n),A=g*e,g=g*n,e=i*e,i=i*n,n=t[0],t=t[1],C=n-A+i,o=n-A-i,I=n+A-i,n=n+A+i,A=t-g-e,i=t-g+e,s=t+g+e,t=t+g-e;return cr(Math.min(C,o,I,n),Math.min(A,i,s,t),Math.max(C,o,I,n),Math.max(A,i,s,t),r)}function kr(t){return t[3]-t[1]}function jr(t,i,n){n=n||ar();return Er(t,i)?(t[0]>i[0]?n[0]=t[0]:n[0]=i[0],t[1]>i[1]?n[1]=t[1]:n[1]=i[1],t[2]<i[2]?n[2]=t[2]:n[2]=i[2],t[3]<i[3]?n[3]=t[3]:n[3]=i[3]):fr(n),n}function Or(t){return[t[0],t[3]]}function Rr(t){return[t[2],t[3]]}function O(t){return t[2]-t[0]}function Er(t,i){return t[0]<=i[2]&&t[2]>=i[0]&&t[1]<=i[3]&&t[3]>=i[1]}function Tr(t){return t[2]<t[0]||t[3]<t[1]}function Sr(t,i,n,e){var r=[];if(1<e)for(var g=t[2]-t[0],A=t[3]-t[1],C=0;C<e;++C)r.push(t[0]+g*C/e,t[1],t[2],t[1]+A*C/e,t[2]-g*C/e,t[3],t[0],t[3]-A*C/e);else r=[t[0],t[1],t[2],t[1],t[2],t[3],t[0],t[3]];i(r,r,2);for(var o,I=[],s=[],h=0,u=r.length;h<u;h+=2)I.push(r[h]),s.push(r[h+1]);return i=I,o=s,n=n,cr(Math.min.apply(null,i),Math.min.apply(null,o),Math.max.apply(null,i),Math.max.apply(null,o),n)}function w(t,i,n){return Math.min(Math.max(t,i),n)}var xr="cosh"in Math?Math.cosh:function(t){t=Math.exp(t);return(t+1/t)/2},Pr="log2"in Math?Math.log2:function(t){return Math.log(t)*Math.LOG2E};function Lr(t,i,n,e){n-=t,t=e-i;return n*n+t*t}function Fr(t){return t*Math.PI/180}function Zr(t,i){t%=i;return t*i<0?t+i:t}function Dr(t,i){i=Math.pow(10,i);return Math.round(t*i)/i}function Nr(t,i){return Math.floor(Dr(t,i))}function Gr(t,i){return Math.ceil(Dr(t,i))}var Br=/^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i,zr=/^([a-z]*)$|^hsla?\(.*\)$/i;function Yr(t){var i,n,e;return"string"==typeof t?t:((i=(t=t)[0])!=(0|i)&&(i=i+.5|0),(n=t[1])!=(0|n)&&(n=n+.5|0),(e=t[2])!=(0|e)&&(e=e+.5|0),t=void 0===t[3]?1:Math.round(100*t[3])/100,"rgba("+i+","+n+","+e+","+t+")")}function Ur(t){var i=document.createElement("div");return i.style.color=t,""!==i.style.color?(document.body.appendChild(i),t=getComputedStyle(i).color,document.body.removeChild(i),t):""}Vr={},Wr=0;var Vr,Wr,Xr=function(t){var i;if(Vr.hasOwnProperty(t))i=Vr[t];else{if(1024<=Wr){var n,e=0;for(n in Vr)0==(3&e++)&&(delete Vr[n],--Wr)}i=function(t){var i,n,e,r,g;zr.exec(t)&&(t=Ur(t));{var A;Br.exec(t)?(A=t.length-1,g=A<=4?1:2,A=4==A||8==A,i=parseInt(t.substr(1+0*g,g),16),n=parseInt(t.substr(+g+1,g),16),e=parseInt(t.substr(1+2*g,g),16),r=A?parseInt(t.substr(1+3*g,g),16):255,1==g&&(i=(i<<4)+i,n=(n<<4)+n,e=(e<<4)+e,A&&(r=(r<<4)+r)),g=[i,n,e,r/255]):0==t.indexOf("rgba(")?Hr(g=t.slice(5,-1).split(",").map(Number)):0==t.indexOf("rgb(")?((g=t.slice(4,-1).split(",").map(Number)).push(1),Hr(g)):c(!1,14)}return g}(t),Vr[t]=i,++Wr}return i};function _r(t){return Array.isArray(t)?t:Xr(t)}function Hr(t){t[0]=w(t[0]+.5|0,0,255),t[1]=w(t[1]+.5|0,0,255),t[2]=w(t[2]+.5|0,0,255),t[3]=w(t[3],0,1)}function Kr(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}i=function(){function t(){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function");this.cache_={},this.cacheSize_=0,this.maxCacheSize_=32}var i,n,e;return i=t,(n=[{key:"clear",value:function(){this.cache_={},this.cacheSize_=0}},{key:"canExpireCache",value:function(){return this.cacheSize_>this.maxCacheSize_}},{key:"expire",value:function(){if(this.canExpireCache()){var t,i=0;for(t in this.cache_){var n=this.cache_[t];0!=(3&i++)||n.hasListener()||(delete this.cache_[t],--this.cacheSize_)}}}},{key:"get",value:function(t,i,n){t=Qr(t,i,n);return t in this.cache_?this.cache_[t]:null}},{key:"set",value:function(t,i,n,e){t=Qr(t,i,n);this.cache_[t]=e,++this.cacheSize_}},{key:"setSize",value:function(t){this.maxCacheSize_=t,this.expire()}}])&&Kr(i.prototype,n),e&&Kr(i,e),Object.defineProperty(i,"prototype",{writable:!1}),t}();function Qr(t,i,n){return i+":"+t+":"+(n?Yr(n):"null")}var Jr=new i;function qr(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var $r=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.propagationStopped,this.defaultPrevented,this.type=t,this.target=null}var t,n,e;return t=i,(n=[{key:"preventDefault",value:function(){this.defaultPrevented=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&qr(t.prototype,n),e&&qr(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),tg="propertychange",j="function"==typeof Object.assign?Object.assign:function(t,i){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),e=1,r=arguments.length;e<r;++e){var g=arguments[e];if(null!=g)for(var A in g)g.hasOwnProperty(A)&&(n[A]=g[A])}return n};function ig(t){for(var i in t)delete t[i]}"function"==typeof Object.values&&Object.values;function ng(t){for(var i in t)return;return!i}function eg(t){return(eg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rg(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function gg(t,i){return(gg=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Ag(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Cg(n),i=(t=e?(t=Cg(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===eg(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Cg(t){return(Cg=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var og=function(){var t=r,i=Ne;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&gg(t,i);var n,e=Ag(r);function r(t){var i;if(this instanceof r)return(i=e.call(this)).eventTarget_=t,i.pendingRemovals_=null,i.dispatching_=null,i.listeners_=null,i;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"addEventListener",value:function(t,i){var n;t&&i&&(-1===(n=(n=this.listeners_||(this.listeners_={}))[t]||(n[t]=[])).indexOf(i)&&n.push(i))}},{key:"dispatchEvent",value:function(t){var i="string"==typeof t,n=i?t:t.type,e=this.listeners_&&this.listeners_[n];if(e){var r,g=i?new $r(t):t,i=(g.target||(g.target=this.eventTarget_||this),this.dispatching_||(this.dispatching_={})),t=this.pendingRemovals_||(this.pendingRemovals_={});n in i||(i[n]=0,t[n]=0),++i[n];for(var A=0,C=e.length;A<C;++A)if(!1===(r="handleEvent"in e[A]?e[A].handleEvent(g):e[A].call(this,g))||g.propagationStopped){r=!1;break}if(0==--i[n]){var o=t[n];for(delete t[n];o--;)this.removeEventListener(n,Ve);delete i[n]}return r}}},{key:"disposeInternal",value:function(){this.listeners_&&ig(this.listeners_)}},{key:"getListeners",value:function(t){return this.listeners_&&this.listeners_[t]||void 0}},{key:"hasListener",value:function(t){return!!this.listeners_&&(t?t in this.listeners_:0<Object.keys(this.listeners_).length)}},{key:"removeEventListener",value:function(t,i){var n=this.listeners_&&this.listeners_[t];n&&-1!==(i=n.indexOf(i))&&(this.pendingRemovals_&&t in this.pendingRemovals_?(n[i]=Ve,++this.pendingRemovals_[t]):(n.splice(i,1),0===n.length&&delete this.listeners_[t]))}}])&&rg(t.prototype,i),n&&rg(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),p="change",Ig="error",sg="load",hg="resize";function M(t,i,n,e,r){e&&e!==t&&(n=n.bind(e)),r&&(g=n,n=function(){t.removeEventListener(i,n),g.apply(this,arguments)});var g,e={target:t,type:i,listener:n};return t.addEventListener(i,n),e}function ug(t,i,n,e){return M(t,i,n,e,!0)}function R(t){t&&t.target&&(t.target.removeEventListener(t.type,t.listener),ig(t))}function ag(t){return(ag="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function cg(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function fg(t,i){return(fg=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function lg(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=vg(n),i=(t=e?(t=vg(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===ag(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function vg(t){return(vg=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}i=function(){var t=r,i=og;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&fg(t,i);var n,e=lg(r);function r(){var t;if(this instanceof r)return(t=e.call(this)).on=t.onInternal,t.once=t.onceInternal,t.un=t.unInternal,t.revision_=0,t;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"changed",value:function(){++this.revision_,this.dispatchEvent(p)}},{key:"getRevision",value:function(){return this.revision_}},{key:"onInternal",value:function(t,i){if(Array.isArray(t)){for(var n=t.length,e=new Array(n),r=0;r<n;++r)e[r]=M(this,t[r],i);return e}return M(this,t,i)}},{key:"onceInternal",value:function(t,i){if(Array.isArray(t))for(var n=t.length,e=new Array(n),r=0;r<n;++r)e[r]=ug(this,t[r],i);else e=ug(this,t,i);return i.ol_key=e}},{key:"unInternal",value:function(t,i){var n=i.ol_key;if(n){var e=n;if(Array.isArray(e))for(var r=0,g=e.length;r<g;++r)R(e[r]);else R(e)}else if(Array.isArray(t))for(var A=0,C=t.length;A<C;++A)this.removeEventListener(t[A],i);else this.removeEventListener(t,i)}}])&&cg(t.prototype,i),n&&cg(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();i.prototype.on,i.prototype.once,i.prototype.un;var yg=i;function dg(t){return(dg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function pg(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function bg(t,i,n){return i&&pg(t.prototype,i),n&&pg(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function mg(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function wg(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Mg(t,i)}function Mg(t,i){return(Mg=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function kg(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Og(n),i=(t=e?(t=Og(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===dg(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return jg(i)}}function jg(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Og(t){return(Og=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Rg=function(){wg(r,$r);var e=kg(r);function r(t,i,n){return mg(this,r),(t=e.call(this,t)).key=i,t.oldValue=n,t}return bg(r)}(),Eg=function(){wg(e,yg);var n=kg(e);function e(t){var i;return mg(this,e),(i=n.call(this)).on,i.once,i.un,$(jg(i)),i.values_=null,void 0!==t&&i.setProperties(t),i}return bg(e,[{key:"get",value:function(t){var i;return i=this.values_&&this.values_.hasOwnProperty(t)?this.values_[t]:i}},{key:"getKeys",value:function(){return this.values_&&Object.keys(this.values_)||[]}},{key:"getProperties",value:function(){return this.values_&&j({},this.values_)||{}}},{key:"hasProperties",value:function(){return!!this.values_}},{key:"notify",value:function(t,i){var n="change:".concat(t);this.hasListener(n)&&this.dispatchEvent(new Rg(n,t,i)),n=tg,this.hasListener(n)&&this.dispatchEvent(new Rg(n,t,i))}},{key:"addChangeListener",value:function(t,i){this.addEventListener("change:".concat(t),i)}},{key:"removeChangeListener",value:function(t,i){this.removeEventListener("change:".concat(t),i)}},{key:"set",value:function(t,i,n){var e=this.values_||(this.values_={});n?e[t]=i:(n=e[t])!==(e[t]=i)&&this.notify(t,n)}},{key:"setProperties",value:function(t,i){for(var n in t)this.set(n,t[n],i)}},{key:"applyProperties",value:function(t){t.values_&&j(this.values_||(this.values_={}),t.values_)}},{key:"unset",value:function(t,i){var n;this.values_&&t in this.values_&&(n=this.values_[t],delete this.values_[t],ng(this.values_)&&(this.values_=null),i||this.notify(t,n))}}]),e}(),Tg="opacity",Sg="visible",xg="extent",Pg="zIndex",Lg="maxResolution",Fg="minResolution",Zg="maxZoom",Dg="minZoom",Ng="source",Gg="map";function Bg(t){return(Bg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function zg(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Yg(){return(Yg="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=Wg(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function Ug(t,i){return(Ug=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Vg(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Wg(n),i=(t=e?(t=Wg(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Bg(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Wg(t){return(Wg=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Xg=function(){var t=r,i=Eg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Ug(t,i);var n,e=Vg(r);function r(t){var i;if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");(i=e.call(this)).on,i.once,i.un,i.background_=t.background;var n=j({},t);return"object"===Bg(t.properties)&&(delete n.properties,j(n,t.properties)),n[Tg]=void 0!==t.opacity?t.opacity:1,c("number"==typeof n[Tg],64),n[Sg]=void 0===t.visible||t.visible,n[Pg]=t.zIndex,n[Lg]=void 0!==t.maxResolution?t.maxResolution:1/0,n[Fg]=void 0!==t.minResolution?t.minResolution:0,n[Dg]=void 0!==t.minZoom?t.minZoom:-1/0,n[Zg]=void 0!==t.maxZoom?t.maxZoom:1/0,i.className_=void 0!==n.className?n.className:"ol-layer",delete n.className,i.setProperties(n),i.state_=null,i}return t=r,(i=[{key:"getBackground",value:function(){return this.background_}},{key:"getClassName",value:function(){return this.className_}},{key:"getLayerState",value:function(t){var t=this.state_||{layer:this,managed:void 0===t||t},i=this.getZIndex();return t.opacity=w(Math.round(100*this.getOpacity())/100,0,1),t.visible=this.getVisible(),t.extent=this.getExtent(),t.zIndex=void 0!==i||t.managed?i:1/0,t.maxResolution=this.getMaxResolution(),t.minResolution=Math.max(this.getMinResolution(),0),t.minZoom=this.getMinZoom(),t.maxZoom=this.getMaxZoom(),this.state_=t}},{key:"getLayersArray",value:a},{key:"getLayerStatesArray",value:function(t){return a()}},{key:"getExtent",value:function(){return this.get(xg)}},{key:"getMaxResolution",value:function(){return this.get(Lg)}},{key:"getMinResolution",value:function(){return this.get(Fg)}},{key:"getMinZoom",value:function(){return this.get(Dg)}},{key:"getMaxZoom",value:function(){return this.get(Zg)}},{key:"getOpacity",value:function(){return this.get(Tg)}},{key:"getSourceState",value:function(){return a()}},{key:"getVisible",value:function(){return this.get(Sg)}},{key:"getZIndex",value:function(){return this.get(Pg)}},{key:"setBackground",value:function(t){this.background_=t,this.changed()}},{key:"setExtent",value:function(t){this.set(xg,t)}},{key:"setMaxResolution",value:function(t){this.set(Lg,t)}},{key:"setMinResolution",value:function(t){this.set(Fg,t)}},{key:"setMaxZoom",value:function(t){this.set(Zg,t)}},{key:"setMinZoom",value:function(t){this.set(Dg,t)}},{key:"setOpacity",value:function(t){c("number"==typeof t,64),this.set(Tg,t)}},{key:"setVisible",value:function(t){this.set(Sg,t)}},{key:"setZIndex",value:function(t){this.set(Pg,t)}},{key:"disposeInternal",value:function(){this.state_&&(this.state_.layer=null,this.state_=null),Yg(Wg(r.prototype),"disposeInternal",this).call(this)}}])&&zg(t.prototype,i),n&&zg(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),_g="prerender",Hg="postrender",Kg="precompose",Qg="rendercomplete",Jg="undefined",qg="ready";function $g(t){return($g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tA(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function iA(){return(iA="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=rA(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function nA(t,i){return(nA=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function eA(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=rA(n),i=(t=e?(t=rA(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===$g(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function rA(t){return(rA=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function gA(t,i){if(t.visible){var n=i.resolution;if(!(n<t.minResolution||n>=t.maxResolution))return(n=i.zoom)>t.minZoom&&n<=t.maxZoom}}var AA=function(){var t=r,i=Xg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&nA(t,i);var n,e=eA(r);function r(t){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");var i=j({},t),t=(delete i.source,(i=e.call(this,i)).on,i.once,i.un,i.mapPrecomposeKey_=null,i.mapRenderKey_=null,i.sourceChangeKey_=null,i.renderer_=null,i.rendered=!1,t.render&&(i.render=t.render),t.map&&i.setMap(t.map),i.addChangeListener(Ng,i.handleSourcePropertyChange_),t.source||null);return i.setSource(t),i}return t=r,(i=[{key:"getLayersArray",value:function(t){t=t||[];return t.push(this),t}},{key:"getLayerStatesArray",value:function(t){t=t||[];return t.push(this.getLayerState()),t}},{key:"getSource",value:function(){return this.get(Ng)||null}},{key:"getRenderSource",value:function(){return this.getSource()}},{key:"getSourceState",value:function(){var t=this.getSource();return t?t.getState():Jg}},{key:"handleSourceChange_",value:function(){this.changed()}},{key:"handleSourcePropertyChange_",value:function(){this.sourceChangeKey_&&(R(this.sourceChangeKey_),this.sourceChangeKey_=null);var t=this.getSource();t&&(this.sourceChangeKey_=M(t,p,this.handleSourceChange_,this)),this.changed()}},{key:"getFeatures",value:function(t){return this.renderer_?this.renderer_.getFeatures(t):new Promise(function(t){return t([])})}},{key:"getData",value:function(t){return this.renderer_&&this.rendered?this.renderer_.getData(t):null}},{key:"render",value:function(t,i){var n=this.getRenderer();if(n.prepareFrame(t))return this.rendered=!0,n.renderFrame(t,i)}},{key:"unrender",value:function(){this.rendered=!1}},{key:"setMapInternal",value:function(t){t||this.unrender(),this.set(Gg,t)}},{key:"getMapInternal",value:function(){return this.get(Gg)}},{key:"setMap",value:function(t){this.mapPrecomposeKey_&&(R(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),t||this.changed(),this.mapRenderKey_&&(R(this.mapRenderKey_),this.mapRenderKey_=null),t&&(this.mapPrecomposeKey_=M(t,Kg,function(t){var t=t.frameState.layerStatesArray,i=this.getLayerState(!1);c(!t.some(function(t){return t.layer===i.layer}),67),t.push(i)},this),this.mapRenderKey_=M(this,p,t.render,t),this.changed())}},{key:"setSource",value:function(t){this.set(Ng,t)}},{key:"getRenderer",value:function(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}},{key:"hasRenderer",value:function(){return!!this.renderer_}},{key:"createRenderer",value:function(){return null}},{key:"disposeInternal",value:function(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),iA(rA(r.prototype),"disposeInternal",this).call(this)}}])&&tA(t.prototype,i),n&&tA(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function CA(t,i){for(var n=!0,e=t.length-1;0<=e;--e)if(t[e]!=i[e]){n=!1;break}return n}function oA(t,i,n){var e=i.getExtent(),r=0;return i.canWrapX()&&(t[0]<e[0]||t[0]>e[2])&&(i=n||O(e),r=Math.floor((t[0]-e[0])/i)),r}function IA(t){return(IA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function sA(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function hA(t,i){return(hA=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function uA(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=aA(n),i=(t=e?(t=aA(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===IA(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function aA(t){return(aA=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function cA(t,i){Jr.expire()}var fA=function(){var t=r,i=Ne;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&hA(t,i);var n,e=uA(r);function r(t){var i;if(this instanceof r)return(i=e.call(this)).map_=t,i;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"dispatchRenderEvent",value:function(t,i){a()}},{key:"calculateMatrices2D",value:function(t){var i=t.viewState,n=t.coordinateToPixelTransform,e=t.pixelToCoordinateTransform;gr(n,t.size[0]/2,t.size[1]/2,1/i.resolution,-1/i.resolution,-i.rotation,-i.center[0],-i.center[1]),Ar(e,n)}},{key:"forEachFeatureAtCoordinate",value:function(t,i,n,e,r,g,A,C){var o,I=i.viewState;function s(t,i,n,e){return r.call(g,i,t?n:null,e)}for(var h,u,a,c,f=I.projection,l=(h=t.slice(),(a=f).canWrapX()&&(u=O(a.getExtent()),(a=oA(h,a,u))&&(h[0]-=a*u)),h),v=[[0,0]],y=(f.canWrapX()&&e&&(a=O(f.getExtent()),v.push([-a,0],[a,0])),i.layerStatesArray),d=y.length,p=[],b=[],m=0;m<v.length;m++)for(var w=d-1;0<=w;--w){var M=y[w],k=M.layer;if(k.hasRenderer()&&gA(M,I)&&A.call(C,k)){var j=k.getRenderer(),k=k.getSource();if(j&&k&&(k=k.getWrapX()?l:t,M=s.bind(null,M.managed),b[0]=k[0]+v[m][0],b[1]=k[1]+v[m][1],o=j.forEachFeatureAtCoordinate(b,i,n,M,p)),o)return o}}if(0!==p.length)return c=1/p.length,p.forEach(function(t,i){return t.distanceSq+=i*c}),p.sort(function(t,i){return t.distanceSq-i.distanceSq}),p.some(function(t){return o=t.callback(t.feature,t.layer,t.geometry)}),o}},{key:"forEachLayerAtPixel",value:function(t,i,n,e,r){return a()}},{key:"hasFeatureAtCoordinate",value:function(t,i,n,e,r,g){return void 0!==this.forEachFeatureAtCoordinate(t,i,n,e,Ue,this,r,g)}},{key:"getMap",value:function(){return this.map_}},{key:"renderFrame",value:function(t){a()}},{key:"scheduleExpireIconCache",value:function(t){Jr.canExpireCache()&&t.postRenderFunctions.push(cA)}}])&&sA(t.prototype,i),n&&sA(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function lA(t){return(lA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function vA(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function yA(t,i){return(yA=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function dA(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=pA(n),i=(t=e?(t=pA(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===lA(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function pA(t){return(pA=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var bA=function(){var t=g,i=$r;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&yA(t,i);var n,e,r=dA(g);function g(t,i,n,e){if(this instanceof g)return(t=r.call(this,t)).inversePixelTransform=i,t.frameState=n,t.context=e,t;throw new TypeError("Cannot call a class as a function")}return t=g,n&&vA(t.prototype,n),e&&vA(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}();function mA(t,i,n,e){n=n&&n.length?n.shift():_e?new OffscreenCanvas(t||300,i||300):document.createElement("canvas");return t&&(n.width=t),i&&(n.height=i),n.getContext("2d",e)}new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z]+?)\\s*$"].join(""),"i");new Eg,(new og).setSize=function(){console.warn("labelCache is deprecated.")};function wA(t){return(wA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function MA(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function kA(){return(kA="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=RA(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function jA(t,i){return(jA=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function OA(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=RA(n),i=(t=e?(t=RA(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===wA(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function RA(t){return(RA=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var EA=function(){var t=r,i=fA;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&jA(t,i);var n,e=OA(r);function r(t){if(this instanceof r)return(t=e.call(this,t)).children_=[],t.renderedVisible_=!0,t;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"disposeInternal",value:function(){kA(RA(r.prototype),"disposeInternal",this).call(this)}},{key:"renderFrame",value:function(t){this.calculateMatrices2D(t);for(var i=t.layerStatesArray.sort(function(t,i){return t.zIndex-i.zIndex}),n=t.viewState,e=[],r=null,g=this.children_.length=0,A=i.length;g<A;++g){var C=i[g],o=(t.layerIndex=g,C.layer),I=o.getSourceState();!gA(C,n)||I!=qg&&I!=Jg?o.unrender():(C=o.render(t,r))&&(C!==r&&(this.children_.push(C),r=C),"getDeclutter"in o&&e.push(o))}for(var s=e.length-1;0<=s;--s)e[s].renderDeclutter(t);this.scheduleExpireIconCache(t)}}])&&MA(t.prototype,i),n&&MA(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),TA="add",SA="remove";function xA(t){return(xA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function PA(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function LA(t,i,n){return i&&PA(t.prototype,i),n&&PA(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function FA(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function ZA(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&DA(t,i)}function DA(t,i){return(DA=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function NA(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=GA(n),i=(t=e?(t=GA(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===xA(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function GA(t){return(GA=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var BA="length",zA=function(){ZA(r,$r);var e=NA(r);function r(t,i,n){return FA(this,r),(t=e.call(this,t)).element=i,t.index=n,t}return LA(r)}(),YA=function(){ZA(A,Eg);var g=NA(A);function A(t,i){FA(this,A),(n=g.call(this)).on,n.once,n.un;var n,i=i||{};if(n.unique_=!!i.unique,n.array_=t||[],n.unique_)for(var e=0,r=n.array_.length;e<r;++e)n.assertUnique_(n.array_[e],e);return n.updateLength_(),n}return LA(A,[{key:"clear",value:function(){for(;0<this.getLength();)this.pop()}},{key:"extend",value:function(t){for(var i=0,n=t.length;i<n;++i)this.push(t[i]);return this}},{key:"forEach",value:function(t){for(var i=this.array_,n=0,e=i.length;n<e;++n)t(i[n],n,i)}},{key:"getArray",value:function(){return this.array_}},{key:"item",value:function(t){return this.array_[t]}},{key:"getLength",value:function(){return this.get(BA)}},{key:"insertAt",value:function(t,i){this.unique_&&this.assertUnique_(i),this.array_.splice(t,0,i),this.updateLength_(),this.dispatchEvent(new zA(TA,i,t))}},{key:"pop",value:function(){return this.removeAt(this.getLength()-1)}},{key:"push",value:function(t){this.unique_&&this.assertUnique_(t);var i=this.getLength();return this.insertAt(i,t),this.getLength()}},{key:"remove",value:function(t){for(var i=this.array_,n=0,e=i.length;n<e;++n)if(i[n]===t)return this.removeAt(n)}},{key:"removeAt",value:function(t){var i=this.array_[t];return this.array_.splice(t,1),this.updateLength_(),this.dispatchEvent(new zA(SA,i,t)),i}},{key:"setAt",value:function(t,i){var n=this.getLength();if(t<n){this.unique_&&this.assertUnique_(i,t);var e=this.array_[t];this.array_[t]=i,this.dispatchEvent(new zA(SA,e,t)),this.dispatchEvent(new zA(TA,i,t))}else{for(var r=n;r<t;++r)this.insertAt(r,void 0);this.insertAt(t,i)}}},{key:"updateLength_",value:function(){this.set(BA,this.array_.length)}},{key:"assertUnique_",value:function(t,i){for(var n=0,e=this.array_.length;n<e;++n)if(this.array_[n]===t&&n!==i)throw new er(58)}}]),A}();function UA(t){return(UA="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function VA(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function WA(t,i,n){return i&&VA(t.prototype,i),n&&VA(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function XA(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function _A(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&HA(t,i)}function HA(t,i){return(HA=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function KA(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=QA(n),i=(t=e?(t=QA(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===UA(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function QA(t){return(QA=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var JA=function(){_A(e,$r);var n=KA(e);function e(t,i){return XA(this,e),(t=n.call(this,t)).layer=i,t}return WA(e)}(),qA="layers",$A=function(){_A(e,Xg);var n=KA(e);function e(t){XA(this,e);var t=t||{},i=j({},t),t=(delete i.layers,t.layers),i=n.call(this,i);return i.on,i.once,i.un,i.layersListenerKeys_=[],i.listenerKeys_={},i.addChangeListener(qA,i.handleLayersChanged_),t?Array.isArray(t)?t=new YA(t.slice(),{unique:!0}):c("function"==typeof t.getArray,43):t=new YA(void 0,{unique:!0}),i.setLayers(t),i}return WA(e,[{key:"handleLayerChange_",value:function(){this.changed()}},{key:"handleLayersChanged_",value:function(){this.layersListenerKeys_.forEach(R),this.layersListenerKeys_.length=0;var t,i=this.getLayers();for(t in this.layersListenerKeys_.push(M(i,TA,this.handleLayersAdd_,this),M(i,SA,this.handleLayersRemove_,this)),this.listenerKeys_)this.listenerKeys_[t].forEach(R);ig(this.listenerKeys_);for(var n=i.getArray(),e=0,r=n.length;e<r;e++){var g=n[e];this.registerLayerListeners_(g),this.dispatchEvent(new JA("addlayer",g))}this.changed()}},{key:"registerLayerListeners_",value:function(t){var i=[M(t,tg,this.handleLayerChange_,this),M(t,p,this.handleLayerChange_,this)];t instanceof e&&i.push(M(t,"addlayer",this.handleLayerGroupAdd_,this),M(t,"removelayer",this.handleLayerGroupRemove_,this)),this.listenerKeys_[$(t)]=i}},{key:"handleLayerGroupAdd_",value:function(t){this.dispatchEvent(new JA("addlayer",t.layer))}},{key:"handleLayerGroupRemove_",value:function(t){this.dispatchEvent(new JA("removelayer",t.layer))}},{key:"handleLayersAdd_",value:function(t){t=t.element;this.registerLayerListeners_(t),this.dispatchEvent(new JA("addlayer",t)),this.changed()}},{key:"handleLayersRemove_",value:function(t){var t=t.element,i=$(t);this.listenerKeys_[i].forEach(R),delete this.listenerKeys_[i],this.dispatchEvent(new JA("removelayer",t)),this.changed()}},{key:"getLayers",value:function(){return this.get(qA)}},{key:"setLayers",value:function(t){var i=this.getLayers();if(i)for(var n=i.getArray(),e=0,r=n.length;e<r;++e)this.dispatchEvent(new JA("removelayer",n[e]));this.set(qA,t)}},{key:"getLayersArray",value:function(t){var i=void 0!==t?t:[];return this.getLayers().forEach(function(t){t.getLayersArray(i)}),i}},{key:"getLayerStatesArray",value:function(t){var i=void 0!==t?t:[],n=i.length,e=(this.getLayers().forEach(function(t){t.getLayerStatesArray(i)}),this.getLayerState()),r=e.zIndex;t||void 0!==e.zIndex||(r=0);for(var g=n,A=i.length;g<A;g++){var C=i[g];C.opacity*=e.opacity,C.visible=C.visible&&e.visible,C.maxResolution=Math.min(C.maxResolution,e.maxResolution),C.minResolution=Math.max(C.minResolution,e.minResolution),C.minZoom=Math.max(C.minZoom,e.minZoom),C.maxZoom=Math.min(C.maxZoom,e.maxZoom),void 0!==e.extent&&(void 0!==C.extent?C.extent=jr(C.extent,e.extent):C.extent=e.extent),void 0===C.zIndex&&(C.zIndex=r)}return i}},{key:"getSourceState",value:function(){return qg}}]),e}();function tC(t){return(tC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function iC(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function nC(t,i){return(nC=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function eC(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=rC(n),i=(t=e?(t=rC(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===tC(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function rC(t){return(rC=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var gC=function(){var t=g,i=$r;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&nC(t,i);var n,e,r=eC(g);function g(t,i,n){if(this instanceof g)return(t=r.call(this,t)).map=i,t.frameState=void 0!==n?n:null,t;throw new TypeError("Cannot call a class as a function")}return t=g,n&&iC(t.prototype,n),e&&iC(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(),AC="postrender",CC="movestart",oC="moveend",b={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"};function IC(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var sC=function(){function n(t,i){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");this.priorityFunction_=t,this.keyFunction_=i,this.elements_=[],this.priorities_=[],this.queuedElements_={}}var t,i,e;return t=n,(i=[{key:"clear",value:function(){this.elements_.length=0,this.priorities_.length=0,ig(this.queuedElements_)}},{key:"dequeue",value:function(){var t=this.elements_,i=this.priorities_,n=t[0],t=(1==t.length?(t.length=0,i.length=0):(t[0]=t.pop(),i[0]=i.pop(),this.siftUp_(0)),this.keyFunction_(n));return delete this.queuedElements_[t],n}},{key:"enqueue",value:function(t){c(!(this.keyFunction_(t)in this.queuedElements_),31);var i=this.priorityFunction_(t);return i!=1/0&&(this.elements_.push(t),this.priorities_.push(i),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}},{key:"getCount",value:function(){return this.elements_.length}},{key:"getLeftChildIndex_",value:function(t){return 2*t+1}},{key:"getRightChildIndex_",value:function(t){return 2*t+2}},{key:"getParentIndex_",value:function(t){return t-1>>1}},{key:"heapify_",value:function(){for(var t=(this.elements_.length>>1)-1;0<=t;t--)this.siftUp_(t)}},{key:"isEmpty",value:function(){return 0===this.elements_.length}},{key:"isKeyQueued",value:function(t){return t in this.queuedElements_}},{key:"isQueued",value:function(t){return this.isKeyQueued(this.keyFunction_(t))}},{key:"siftUp_",value:function(t){for(var i=this.elements_,n=this.priorities_,e=i.length,r=i[t],g=n[t],A=t;t<e>>1;){var C=this.getLeftChildIndex_(t),o=this.getRightChildIndex_(t),o=o<e&&n[o]<n[C]?o:C;i[t]=i[o],n[t]=n[o],t=o}i[t]=r,n[t]=g,this.siftDown_(A,t)}},{key:"siftDown_",value:function(t,i){for(var n=this.elements_,e=this.priorities_,r=n[i],g=e[i];t<i;){var A=this.getParentIndex_(i);if(!(e[A]>g))break;n[i]=n[A],e[i]=e[A],i=A}n[i]=r,e[i]=g}},{key:"reprioritize",value:function(){for(var t,i,n=this.priorityFunction_,e=this.elements_,r=this.priorities_,g=0,A=e.length,C=0;C<A;++C)(i=n(t=e[C]))==1/0?delete this.queuedElements_[this.keyFunction_(t)]:(r[g]=i,e[g++]=t);e.length=g,r.length=g,this.heapify_()}}])&&IC(t.prototype,i),e&&IC(t,e),Object.defineProperty(t,"prototype",{writable:!1}),n}(),E=0,hC=1,it=2,uC=3,aC=4;function cC(t){return(cC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fC(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function lC(){return(lC="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=pC(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function vC(t,i){return(vC=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function yC(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=pC(n),i=(t=e?(t=pC(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===cC(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return dC(i)}}function dC(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function pC(t){return(pC=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var bC=function(){var t=r,i=sC;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&vC(t,i);var n,e=yC(r);function r(i,t){var n;if(this instanceof r)return(n=e.call(this,function(t){return i.apply(null,t)},function(t){return t[0].getKey()})).boundHandleTileChange_=n.handleTileChange.bind(dC(n)),n.tileChangeCallback_=t,n.tilesLoading_=0,n.tilesLoadingKeys_={},n;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"enqueue",value:function(t){var i=lC(pC(r.prototype),"enqueue",this).call(this,t);return i&&t[0].addEventListener(p,this.boundHandleTileChange_),i}},{key:"getTilesLoading",value:function(){return this.tilesLoading_}},{key:"handleTileChange",value:function(t){var t=t.target,i=t.getState();i!==it&&i!==uC&&i!==aC||(t.removeEventListener(p,this.boundHandleTileChange_),(i=t.getKey())in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[i],--this.tilesLoading_),this.tileChangeCallback_())}},{key:"loadMoreTiles",value:function(t,i){for(var n,e,r=0;this.tilesLoading_<t&&r<i&&0<this.getCount();)e=(n=this.dequeue()[0]).getKey(),n.getState()!==E||e in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[e]=!0,++this.tilesLoading_,++r,n.load())}}])&&fC(t.prototype,i),n&&fC(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();i={RADIANS:"radians",DEGREES:"degrees",FEET:"ft",METERS:"m",PIXELS:"pixels",TILE_PIXELS:"tile-pixels",USFEET:"us-ft"};var mC={},wC=(mC[i.RADIANS]=6370997/(2*Math.PI),mC[i.DEGREES]=2*Math.PI*6370997/360,mC[i.FEET]=.3048,mC[i.METERS]=1,mC[i.USFEET]=1200/3937,i),MC=0,kC=1,jC={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"},OC=42,RC=256;function EC(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var TC=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.code_=t.code,this.units_=t.units,this.extent_=void 0!==t.extent?t.extent:null,this.worldExtent_=void 0!==t.worldExtent?t.worldExtent:null,this.axisOrientation_=void 0!==t.axisOrientation?t.axisOrientation:"enu",this.global_=void 0!==t.global&&t.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=t.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=t.metersPerUnit}var t,n,e;return t=i,(n=[{key:"canWrapX",value:function(){return this.canWrapX_}},{key:"getCode",value:function(){return this.code_}},{key:"getExtent",value:function(){return this.extent_}},{key:"getUnits",value:function(){return this.units_}},{key:"getMetersPerUnit",value:function(){return this.metersPerUnit_||mC[this.units_]}},{key:"getWorldExtent",value:function(){return this.worldExtent_}},{key:"getAxisOrientation",value:function(){return this.axisOrientation_}},{key:"isGlobal",value:function(){return this.global_}},{key:"setGlobal",value:function(t){this.global_=t,this.canWrapX_=!(!t||!this.extent_)}},{key:"getDefaultTileGrid",value:function(){return this.defaultTileGrid_}},{key:"setDefaultTileGrid",value:function(t){this.defaultTileGrid_=t}},{key:"setExtent",value:function(t){this.extent_=t,this.canWrapX_=!(!this.global_||!t)}},{key:"setWorldExtent",value:function(t){this.worldExtent_=t}},{key:"setGetPointResolution",value:function(t){this.getPointResolutionFunc_=t}},{key:"getPointResolutionFunc",value:function(){return this.getPointResolutionFunc_}}])&&EC(t.prototype,n),e&&EC(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}();function SC(t){return(SC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function xC(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function PC(t,i){return(PC=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function LC(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=FC(n),i=(t=e?(t=FC(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===SC(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function FC(t){return(FC=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var ZC=6378137,DC=Math.PI*ZC,NC=[-DC,-DC,DC,DC],GC=[-180,-85,180,85],BC=ZC*Math.log(Math.tan(Math.PI/2)),i=function(){var t=g,i=TC;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&PC(t,i);var n,e,r=LC(g);function g(t){if(this instanceof g)return r.call(this,{code:t,units:wC.METERS,extent:NC,global:!0,worldExtent:GC,getPointResolution:function(t,i){return t/xr(i[1]/ZC)}});throw new TypeError("Cannot call a class as a function")}return t=g,n&&xC(t.prototype,n),e&&xC(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(),i=[new i("EPSG:3857"),new i("EPSG:102100"),new i("EPSG:102113"),new i("EPSG:900913"),new i("http://www.opengis.net/def/crs/EPSG/0/3857"),new i("http://www.opengis.net/gml/srs/epsg.xml#3857")];function zC(t,i,n){var e=t.length,r=1<n?n:2,g=i;void 0===g&&(g=2<r?t.slice():new Array(e));for(var A=0;A<e;A+=r){g[A]=DC*t[A]/180;var C=ZC*Math.log(Math.tan(Math.PI*(+t[A+1]+90)/360));BC<C?C=BC:C<-BC&&(C=-BC),g[A+1]=C}return g}function YC(t,i,n){var e=t.length,r=1<n?n:2,g=i;void 0===g&&(g=2<r?t.slice():new Array(e));for(var A=0;A<e;A+=r)g[A]=180*t[A]/DC,g[A+1]=360*Math.atan(Math.exp(t[A+1]/ZC))/Math.PI-90;return g}function UC(t){return(UC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function VC(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function WC(t,i){return(WC=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function XC(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=_C(n),i=(t=e?(t=_C(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===UC(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function _C(t){return(_C=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var HC=[-180,-90,180,90],KC=6378137*Math.PI/180,n=function(){var t=g,i=TC;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&WC(t,i);var n,e,r=XC(g);function g(t,i){if(this instanceof g)return r.call(this,{code:t,units:wC.DEGREES,extent:HC,axisOrientation:i,global:!0,metersPerUnit:KC,worldExtent:HC});throw new TypeError("Cannot call a class as a function")}return t=g,n&&VC(t.prototype,n),e&&VC(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(),n=[new n("CRS:84"),new n("EPSG:4326","neu"),new n("urn:ogc:def:crs:OGC:1.3:CRS84"),new n("urn:ogc:def:crs:OGC:2:84"),new n("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new n("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new n("http://www.opengis.net/def/crs/EPSG/0/4326","neu")],QC={};var JC={};function qC(t,i,n){t=t.getCode(),i=i.getCode();t in JC||(JC[t]={}),JC[t][i]=n}var $C="Point",to="LinearRing",io="Polygon",no=6371008.8;function eo(t,i,n){var n=n||no,e=Fr(t[1]),r=Fr(i[1]),g=(r-e)/2,i=Fr(i[0]-t[0])/2,t=Math.sin(g)*Math.sin(g)+Math.sin(i)*Math.sin(i)*Math.cos(e)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(t),Math.sqrt(1-t))}var ro=!0;function go(t){ro=!(void 0===t||t)}function Ao(t,i,n){var e;if(void 0!==i){for(var r=0,g=t.length;r<g;++r)i[r]=t[r];e=i}else e=t.slice();return e}function Co(t,i,n){if(void 0!==i&&t!==i){for(var e=0,r=t.length;e<r;++e)i[e]=t[e];t=i}return t}function oo(t){var i;i=t.getCode(),qC(QC[i]=t,t,Ao)}function T(t){return"string"==typeof t?QC[i=t]||QC[i.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null:t||null;var i}function Io(t,i,n,e){var r,g,A=(t=T(t)).getPointResolutionFunc();return A?(r=A(i,n),e&&e!==t.getUnits()&&(A=t.getMetersPerUnit())&&(r=r*A/mC[e])):(A=t.getUnits())==wC.DEGREES&&!e||e==wC.DEGREES?r=i:(r=(g=ao(t,T("EPSG:4326")))===Co&&A!==wC.DEGREES?i*t.getMetersPerUnit():(eo((A=g(A=[n[0]-i/2,n[1],n[0]+i/2,n[1],n[0],n[1]-i/2,n[0],n[1]+i/2],A,2)).slice(0,2),A.slice(2,4))+eo(A.slice(4,6),A.slice(6,8)))/2,void 0!==(g=e?mC[e]:t.getMetersPerUnit())&&(r/=g)),r}function so(t){t.forEach(oo),t.forEach(function(i){t.forEach(function(t){i!==t&&qC(i,t,Ao)})})}function ho(t,i){return t?"string"==typeof t?T(t):t:T(i)}function uo(t,i){if(t===i)return!0;var n=t.getUnits()===i.getUnits();return(t.getCode()===i.getCode()||ao(t,i)===Ao)&&n}function ao(t,i){var n,t=t.getCode(),i=i.getCode();i=i,n=(t=t)in JC&&i in JC[t]?JC[t][i]:n;return n||Co}function co(t,i){return ao(T(t),T(i))}function fo(t,i,n){return co(i,n)(t,void 0,t.length)}function lo(t,i,n,e){return Sr(t,co(i,n),void 0,e)}var vo,yo,po,bo=null;function mo(t,i){return bo?fo(t,i,bo):t}function wo(t,i){return bo?fo(t,bo,i):(ro&&!CA(t,[0,0])&&-180<=t[0]&&t[0]<=180&&-90<=t[1]&&t[1]<=90&&(ro=!1,console.warn("Call useGeographic() ol/proj once to work with [longitude, latitude] coordinates.")),t)}function Mo(t,i){return bo?lo(t,bo,i):t}function ko(I,s,h){return function(t,i,n,e,r){if(t){if(!i&&!s)return t;var g=s?0:n[0]*i,n=s?0:n[1]*i,A=r?r[0]:0,r=r?r[1]:0,C=I[0]+g/2+A,g=I[2]-g/2+A,A=I[1]+n/2+r,n=I[3]-n/2+r,r=(g<C&&(g=C=(g+C)/2),n<A&&(n=A=(n+A)/2),w(t[0],C,g)),o=w(t[1],A,n);return e&&h&&i&&(r+=-(e=30*i)*Math.log(1+Math.max(0,C-t[0])/e)+e*Math.log(1+Math.max(0,t[0]-g)/e),o+=-e*Math.log(1+Math.max(0,A-t[1])/e)+e*Math.log(1+Math.max(0,t[1]-n)/e)),[r,o]}}}function jo(t){return t}function Oo(t,i,n,e){var r=O(i)/n[0],i=kr(i)/n[1];return e?Math.min(t,Math.max(r,i)):Math.min(t,Math.min(r,i))}function Ro(t,i,n){var e=Math.min(t,i);return e*=Math.log(1+50*Math.max(0,t/i-1))/50+1,n&&(e=Math.max(e,n),e/=Math.log(1+50*Math.max(0,n/t-1))/50+1),w(e,n/2,2*i)}function Eo(r,g,A,C,o){return function(t,i,n,e){if(void 0!==t)return n=C?Oo(r,C,n,o):r,(void 0===A||A)&&e?Ro(t,n,g):w(t,g,n)}}function To(t){if(void 0!==t)return 0}function So(t){if(void 0!==t)return t}function xo(t){return Math.pow(t,3)}function Po(t){return 1-xo(1-t)}function Lo(t){return 3*t*t-2*t*t*t}function Fo(t){return(Fo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Zo(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Do(t,i){return(Do=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function No(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Go(n),i=(t=e?(t=Go(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Fo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Go(t){return(Go=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}so(i),so(n),vo=i,yo=zC,po=YC,n.forEach(function(i){vo.forEach(function(t){qC(i,t,yo),qC(t,i,po)})});function Bo(t,i){setTimeout(function(){t(i)},0)}function zo(t,i,n,e,r){var g=Math.cos(-r),r=Math.sin(-r),A=t[0]*g-t[1]*r,t=t[1]*g+t[0]*r;return[(A+=(i[0]/2-n[0])*e)*g-(t+=(n[1]-i[1]/2)*e)*(r=-r),t*g+A*r]}var Yo=function(){var t=r,i=Eg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Do(t,i);var n,e=No(r);function r(t){var i;if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");(i=e.call(this)).on,i.once,i.un;t=j({},t);return i.hints_=[0,0],i.animations_=[],i.updateAnimationKey_,i.projection_=ho(t.projection,"EPSG:3857"),i.viewportSize_=[100,100],i.targetCenter_=null,i.targetResolution_,i.targetRotation_,i.nextCenter_=null,i.nextResolution_,i.nextRotation_,i.cancelAnchor_=void 0,t.center&&(t.center=wo(t.center,i.projection_)),t.extent&&(t.extent=Mo(t.extent,i.projection_)),t.projection&&go(),i.applyOptions_(t),i}return t=r,(i=[{key:"applyOptions_",value:function(t){var i,n=j({},t);for(i in jC)delete n[i];this.setProperties(n,!0);var e=function(t){var i,n,e=void 0!==t.minZoom?t.minZoom:0,r=void 0!==t.maxZoom?t.maxZoom:28,g=void 0!==t.zoomFactor?t.zoomFactor:2,A=void 0!==t.multiWorld&&t.multiWorld,C=void 0===t.smoothResolutionConstraint||t.smoothResolutionConstraint,o=void 0!==t.showFullExtent&&t.showFullExtent,I=ho(t.projection,"EPSG:3857"),s=I.getExtent(),h=t.constrainOnlyCenter,u=t.extent;A||u||!I.isGlobal()||(h=!1,u=s);I=void 0!==t.resolutions?(A=t.resolutions,i=A[e],n=void 0!==A[r]?A[r]:A[A.length-1],t.constrainResolution?function(A,C,o,I){return function(t,i,n,e){if(void 0!==t){var r=A[0],g=A[A.length-1],n=o?Oo(r,o,n,I):r;if(e)return void 0===C||C?Ro(t,n,g):w(t,g,n);r=Math.min(n,t),e=Math.floor(Be(A,r,i));return A[e]>n&&e<A.length-1?A[e+1]:A[e]}}}(A,C,!h&&u,o):Eo(i,n,C,!h&&u,o)):(A=(s?Math.max(O(s),kr(s)):360*mC[wC.DEGREES]/I.getMetersPerUnit())/RC/Math.pow(2,0),s=A/Math.pow(2,28),void 0!==(i=t.maxResolution)?e=0:i=A/Math.pow(g,e),void 0===(n=t.minResolution)&&(n=void 0!==t.maxZoom?void 0!==t.maxResolution?i/Math.pow(g,r):A/Math.pow(g,r):s),r=e+Math.floor(Math.log(i/n)/Math.log(g)),n=i/Math.pow(g,r-e),t.constrainResolution?function(g,A,C,o,I,s){return function(t,i,n,e){if(void 0!==t){var n=I?Oo(A,I,n,s):A,r=void 0!==C?C:0;if(e)return void 0===o||o?Ro(t,n,r):w(t,r,n);e=Math.ceil(Math.log(A/n)/Math.log(g)-1e-9),i=-i*(.5-1e-9)+.5,t=Math.min(n,t),t=Math.floor(Math.log(A/t)/Math.log(g)+i),i=Math.max(e,t);return w(A/Math.pow(g,i),r,n)}}}(g,i,n,C,!h&&u,o):Eo(i,n,C,!h&&u,o));return{constraint:I,maxResolution:i,minResolution:n,minZoom:e,zoomFactor:g}}(t),r=(this.maxResolution_=e.maxResolution,this.minResolution_=e.minResolution,this.zoomFactor_=e.zoomFactor,this.resolutions_=t.resolutions,this.padding_=t.padding,this.minZoom_=e.minZoom,function(t){if(void 0!==t.extent)return i=void 0===t.smoothExtentConstraint||t.smoothExtentConstraint,ko(t.extent,t.constrainOnlyCenter,i);var i=ho(t.projection,"EPSG:3857");if(!0!==t.multiWorld&&i.isGlobal())return(t=i.getExtent().slice())[0]=-1/0,t[2]=1/0,ko(t,!1,!1);return jo}(t)),e=e.constraint,g=void 0===(g=t).enableRotation||g.enableRotation?void 0===(g=g.constrainRotation)||!0===g?function(t){var n=t||Fr(5);return function(t,i){return i?t:void 0!==t?Math.abs(t)<=n?0:t:void 0}}():!1!==g&&"number"==typeof g?function(t){var n=2*Math.PI/t;return function(t,i){return i?t:void 0!==t?Math.floor(t/n+.5)*n:void 0}}(g):So:To;this.constraints_={center:r,resolution:e,rotation:g},this.setRotation(void 0!==t.rotation?t.rotation:0),this.setCenterInternal(void 0!==t.center?t.center:null),void 0!==t.resolution?this.setResolution(t.resolution):void 0!==t.zoom&&this.setZoom(t.zoom)}},{key:"padding",get:function(){return this.padding_},set:function(t){var i,n,e=this.padding_,r=(this.padding_=t,this.getCenter());r&&(t=t||[0,0,0,0],e=e||[0,0,0,0],i=(n=this.getResolution())/2*(t[3]-e[3]+e[1]-t[1]),n=n/2*(t[0]-e[0]+e[2]-t[2]),this.setCenterInternal([r[0]+i,r[1]-n]))}},{key:"getUpdatedOptions_",value:function(t){var i=this.getProperties();return void 0!==i.resolution?i.resolution=this.getResolution():i.zoom=this.getZoom(),i.center=this.getCenterInternal(),i.rotation=this.getRotation(),j({},i,t)}},{key:"animate",value:function(t){this.isDef()&&!this.getAnimating()&&this.resolveConstraints(0);for(var i=new Array(arguments.length),n=0;n<i.length;++n){var e=arguments[n];e.center&&((e=j({},e)).center=wo(e.center,this.getProjection())),e.anchor&&((e=j({},e)).anchor=wo(e.anchor,this.getProjection())),i[n]=e}this.animateInternal.apply(this,i)}},{key:"animateInternal",value:function(t){for(var i,n=arguments.length,e=(1<n&&"function"==typeof arguments[n-1]&&(i=arguments[n-1],--n),0);e<n&&!this.isDef();++e){var r=arguments[e];r.center&&this.setCenterInternal(r.center),void 0!==r.zoom?this.setZoom(r.zoom):r.resolution&&this.setResolution(r.resolution),void 0!==r.rotation&&this.setRotation(r.rotation)}if(e===n)i&&Bo(i,!0);else{for(var g=Date.now(),A=this.targetCenter_.slice(),C=this.targetResolution_,o=this.targetRotation_,I=[];e<n;++e){var s=arguments[e],h={start:g,complete:!1,anchor:s.anchor,duration:void 0!==s.duration?s.duration:1e3,easing:s.easing||Lo,callback:i};s.center&&(h.sourceCenter=A,h.targetCenter=s.center.slice(),A=h.targetCenter),void 0!==s.zoom?(h.sourceResolution=C,h.targetResolution=this.getResolutionForZoom(s.zoom),C=h.targetResolution):s.resolution&&(h.sourceResolution=C,h.targetResolution=s.resolution,C=h.targetResolution),void 0!==s.rotation&&(h.sourceRotation=o,s=Zr(s.rotation-o+Math.PI,2*Math.PI)-Math.PI,h.targetRotation=o+s,o=h.targetRotation),!function(t){if(t.sourceCenter&&t.targetCenter&&!CA(t.sourceCenter,t.targetCenter))return;return t.sourceResolution===t.targetResolution&&t.sourceRotation===t.targetRotation}(h)?g+=h.duration:h.complete=!0,I.push(h)}this.animations_.push(I),this.setHint(MC,1),this.updateAnimations_()}}},{key:"getAnimating",value:function(){return 0<this.hints_[MC]}},{key:"getInteracting",value:function(){return 0<this.hints_[kC]}},{key:"cancelAnimations",value:function(){var t;this.setHint(MC,-this.hints_[MC]);for(var i=0,n=this.animations_.length;i<n;++i){var e=this.animations_[i];if(e[0].callback&&Bo(e[0].callback,!1),!t)for(var r=0,g=e.length;r<g;++r){var A=e[r];if(!A.complete){t=A.anchor;break}}}this.animations_.length=0,this.cancelAnchor_=t,this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN}},{key:"updateAnimations_",value:function(){if(void 0!==this.updateAnimationKey_&&(cancelAnimationFrame(this.updateAnimationKey_),this.updateAnimationKey_=void 0),this.getAnimating()){for(var t=Date.now(),i=!1,n=this.animations_.length-1;0<=n;--n){for(var e,r=this.animations_[n],g=!0,A=0,C=r.length;A<C;++A){var o=r[A];if(!o.complete){var I,s,h,u,a=t-o.start,a=0<o.duration?a/o.duration:1,a=(1<=a?(o.complete=!0,a=1):g=!1,o.easing(a));if(o.sourceCenter&&(s=o.sourceCenter[0],u=o.sourceCenter[1],I=o.targetCenter[0],h=o.targetCenter[1],this.nextCenter_=o.targetCenter,this.targetCenter_=[s+a*(I-s),u+a*(h-u)]),o.sourceResolution&&o.targetResolution&&(I=1===a?o.targetResolution:o.sourceResolution+a*(o.targetResolution-o.sourceResolution),o.anchor&&(s=this.getViewportSize_(this.getRotation()),h=this.constraints_.resolution(I,0,s,!0),this.targetCenter_=this.calculateCenterZoom(h,o.anchor)),this.nextResolution_=o.targetResolution,this.targetResolution_=I,this.applyTargetState_(!0)),void 0!==o.sourceRotation&&void 0!==o.targetRotation&&(u=1===a?Zr(o.targetRotation+Math.PI,2*Math.PI)-Math.PI:o.sourceRotation+a*(o.targetRotation-o.sourceRotation),o.anchor&&(a=this.constraints_.rotation(u,!0),this.targetCenter_=this.calculateCenterRotate(a,o.anchor)),this.nextRotation_=o.targetRotation,this.targetRotation_=u),this.applyTargetState_(!0),i=!0,!o.complete)break}}g&&(this.animations_[n]=null,this.setHint(MC,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN,(e=r[0].callback)&&Bo(e,!0))}this.animations_=this.animations_.filter(Boolean),i&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}}},{key:"calculateCenterRotate",value:function(t,i){var n,e,r,g=this.getCenterInternal();return void 0!==g&&(n=[g[0]-i[0],g[1]-i[1]],g=n,t=t-this.getRotation(),e=Math.cos(t),t=Math.sin(t),r=g[0]*e-g[1]*t,e=g[1]*e+g[0]*t,g[0]=r,g[1]=e,t=i,(r=n)[0]+=+t[0],r[1]+=+t[1]),n}},{key:"calculateCenterZoom",value:function(t,i){var n,e=this.getCenterInternal(),r=this.getResolution();return n=void 0!==e&&void 0!==r?[i[0]-t*(i[0]-e[0])/r,i[1]-t*(i[1]-e[1])/r]:n}},{key:"getViewportSize_",value:function(t){var i,n,e=this.viewportSize_;return t?(i=e[0],n=e[1],[Math.abs(i*Math.cos(t))+Math.abs(n*Math.sin(t)),Math.abs(i*Math.sin(t))+Math.abs(n*Math.cos(t))]):e}},{key:"setViewportSize",value:function(t){this.viewportSize_=Array.isArray(t)?t.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}},{key:"getCenter",value:function(){var t=this.getCenterInternal();return t&&mo(t,this.getProjection())}},{key:"getCenterInternal",value:function(){return this.get(jC.CENTER)}},{key:"getConstraints",value:function(){return this.constraints_}},{key:"getConstrainResolution",value:function(){return this.get("constrainResolution")}},{key:"getHints",value:function(t){return void 0!==t?(t[0]=this.hints_[0],t[1]=this.hints_[1],t):this.hints_.slice()}},{key:"calculateExtent",value:function(t){var i,t=this.calculateExtentInternal(t);return t=t,i=this.getProjection(),bo?lo(t,i,bo):t}},{key:"calculateExtentInternal",value:function(t){var t=t||this.getViewportSizeMinusPadding_(),i=this.getCenterInternal(),n=(c(i,1),this.getResolution()),e=(c(void 0!==n,2),this.getRotation());return c(void 0!==e,3),Mr(i,n,e,t)}},{key:"getMaxResolution",value:function(){return this.maxResolution_}},{key:"getMinResolution",value:function(){return this.minResolution_}},{key:"getMaxZoom",value:function(){return this.getZoomForResolution(this.minResolution_)}},{key:"setMaxZoom",value:function(t){this.applyOptions_(this.getUpdatedOptions_({maxZoom:t}))}},{key:"getMinZoom",value:function(){return this.getZoomForResolution(this.maxResolution_)}},{key:"setMinZoom",value:function(t){this.applyOptions_(this.getUpdatedOptions_({minZoom:t}))}},{key:"setConstrainResolution",value:function(t){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:t}))}},{key:"getProjection",value:function(){return this.projection_}},{key:"getResolution",value:function(){return this.get(jC.RESOLUTION)}},{key:"getResolutions",value:function(){return this.resolutions_}},{key:"getResolutionForExtent",value:function(t,i){return this.getResolutionForExtentInternal(Mo(t,this.getProjection()),i)}},{key:"getResolutionForExtentInternal",value:function(t,i){var i=i||this.getViewportSizeMinusPadding_(),n=O(t)/i[0],t=kr(t)/i[1];return Math.max(n,t)}},{key:"getResolutionForValueFunction",value:function(t){var i=t||2,n=this.getConstrainedResolution(this.maxResolution_),t=this.minResolution_,e=Math.log(n/t)/Math.log(i);return function(t){return n/Math.pow(i,t*e)}}},{key:"getRotation",value:function(){return this.get(jC.ROTATION)}},{key:"getValueForResolutionFunction",value:function(t){var i=Math.log(t||2),n=this.getConstrainedResolution(this.maxResolution_),t=this.minResolution_,e=Math.log(n/t)/i;return function(t){return Math.log(n/t)/i/e}}},{key:"getViewportSizeMinusPadding_",value:function(t){var t=this.getViewportSize_(t),i=this.padding_;return t=i?[t[0]-i[1]-i[3],t[1]-i[0]-i[2]]:t}},{key:"getState",value:function(){var t,i=this.getProjection(),n=this.getResolution(),e=this.getRotation(),r=this.getCenterInternal(),g=this.padding_;return g&&(t=this.getViewportSizeMinusPadding_(),r=zo(r,this.getViewportSize_(),[t[0]/2+g[3],t[1]/2+g[0]],n,e)),{center:r.slice(0),projection:void 0!==i?i:null,resolution:n,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:e,zoom:this.getZoom()}}},{key:"getZoom",value:function(){var t,i=this.getResolution();return t=void 0!==i?this.getZoomForResolution(i):t}},{key:"getZoomForResolution",value:function(t){var i,n,e=this.minZoom_||0;return n=this.resolutions_?(n=Be(this.resolutions_,t,1),i=this.resolutions_[e=n],n==this.resolutions_.length-1?2:i/this.resolutions_[n+1]):(i=this.maxResolution_,this.zoomFactor_),e+Math.log(i/t)/Math.log(n)}},{key:"getResolutionForZoom",value:function(t){if(this.resolutions_){if(this.resolutions_.length<=1)return 0;var i=w(Math.floor(t),0,this.resolutions_.length-2),n=this.resolutions_[i]/this.resolutions_[i+1];return this.resolutions_[i]/Math.pow(n,w(t-i,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,t-this.minZoom_)}},{key:"fit",value:function(t,i){this.fitInternal(t,i)}},{key:"rotatedExtentForGeometry",value:function(t){for(var i=this.getRotation(),n=Math.cos(i),e=Math.sin(-i),r=t.getFlatCoordinates(),g=t.getStride(),A=1/0,C=1/0,o=-1/0,I=-1/0,s=0,h=r.length;s<h;s+=g)var u=r[s]*n-r[s+1]*e,a=r[s]*e+r[s+1]*n,A=Math.min(A,u),C=Math.min(C,a),o=Math.max(o,u),I=Math.max(I,a);return[A,C,o,I]}},{key:"fitInternal",value:function(t,i){var i=i||{},n=(n=i.size)||this.getViewportSizeMinusPadding_(),e=void 0!==i.padding?i.padding:[0,0,0,0],r=void 0!==i.nearest&&i.nearest,g=void 0!==i.minResolution?i.minResolution:void 0!==i.maxZoom?this.getResolutionForZoom(i.maxZoom):0,t=this.rotatedExtentForGeometry(t),n=this.getResolutionForExtentInternal(t,[n[0]-e[1]-e[3],n[1]-e[0]-e[2]]),n=isNaN(n)?g:Math.max(n,g),g=(n=this.getConstrainedResolution(n,r?0:1),this.getRotation()),r=Math.sin(g),g=Math.cos(g),t=wr(t),e=(t[0]+=(e[1]-e[3])/2*n,t[1]+=(e[0]-e[2])/2*n,t[0]*g-t[1]*r),g=t[1]*g+t[0]*r,t=this.getConstrainedCenter([e,g],n),r=i.callback||Ve;void 0!==i.duration?this.animateInternal({resolution:n,center:t,duration:i.duration,easing:i.easing},r):(this.targetResolution_=n,this.targetCenter_=t,this.applyTargetState_(!1,!0),Bo(r,!0))}},{key:"centerOn",value:function(t,i,n){this.centerOnInternal(wo(t,this.getProjection()),i,n)}},{key:"centerOnInternal",value:function(t,i,n){this.setCenterInternal(zo(t,i,n,this.getResolution(),this.getRotation()))}},{key:"calculateCenterShift",value:function(t,i,n,e){var r,g=this.padding_;return g&&t&&(e=zo(t,e,[(e=this.getViewportSizeMinusPadding_(-n))[0]/2+g[3],e[1]/2+g[0]],i,n),r=[t[0]-e[0],t[1]-e[1]]),r}},{key:"isDef",value:function(){return!!this.getCenterInternal()&&void 0!==this.getResolution()}},{key:"adjustCenter",value:function(t){var i=mo(this.targetCenter_,this.getProjection());this.setCenter([i[0]+t[0],i[1]+t[1]])}},{key:"adjustCenterInternal",value:function(t){var i=this.targetCenter_;this.setCenterInternal([i[0]+t[0],i[1]+t[1]])}},{key:"adjustResolution",value:function(t,i){i=i&&wo(i,this.getProjection());this.adjustResolutionInternal(t,i)}},{key:"adjustResolutionInternal",value:function(t,i){var n=this.getAnimating()||this.getInteracting(),e=this.getViewportSize_(this.getRotation()),e=this.constraints_.resolution(this.targetResolution_*t,0,e,n);i&&(this.targetCenter_=this.calculateCenterZoom(e,i)),this.targetResolution_*=t,this.applyTargetState_()}},{key:"adjustZoom",value:function(t,i){this.adjustResolution(Math.pow(this.zoomFactor_,-t),i)}},{key:"adjustRotation",value:function(t,i){i=i&&wo(i,this.getProjection()),this.adjustRotationInternal(t,i)}},{key:"adjustRotationInternal",value:function(t,i){var n=this.getAnimating()||this.getInteracting(),n=this.constraints_.rotation(this.targetRotation_+t,n);i&&(this.targetCenter_=this.calculateCenterRotate(n,i)),this.targetRotation_+=t,this.applyTargetState_()}},{key:"setCenter",value:function(t){this.setCenterInternal(t&&wo(t,this.getProjection()))}},{key:"setCenterInternal",value:function(t){this.targetCenter_=t,this.applyTargetState_()}},{key:"setHint",value:function(t,i){return this.hints_[t]+=i,this.changed(),this.hints_[t]}},{key:"setResolution",value:function(t){this.targetResolution_=t,this.applyTargetState_()}},{key:"setRotation",value:function(t){this.targetRotation_=t,this.applyTargetState_()}},{key:"setZoom",value:function(t){this.setResolution(this.getResolutionForZoom(t))}},{key:"applyTargetState_",value:function(t,i){var i=this.getAnimating()||this.getInteracting()||i,n=this.constraints_.rotation(this.targetRotation_,i),e=this.getViewportSize_(n),r=this.constraints_.resolution(this.targetResolution_,0,e,i),i=this.constraints_.center(this.targetCenter_,r,e,i,this.calculateCenterShift(this.targetCenter_,r,n,e));this.get(jC.ROTATION)!==n&&this.set(jC.ROTATION,n),this.get(jC.RESOLUTION)!==r&&(this.set(jC.RESOLUTION,r),this.set("zoom",this.getZoom(),!0)),i&&this.get(jC.CENTER)&&CA(this.get(jC.CENTER),i)||this.set(jC.CENTER,i),this.getAnimating()&&!t&&this.cancelAnimations(),this.cancelAnchor_=void 0}},{key:"resolveConstraints",value:function(t,i,n){var t=void 0!==t?t:200,i=i||0,e=this.constraints_.rotation(this.targetRotation_),r=this.getViewportSize_(e),i=this.constraints_.resolution(this.targetResolution_,i,r),r=this.constraints_.center(this.targetCenter_,i,r,!1,this.calculateCenterShift(this.targetCenter_,i,e,r));if(0===t&&!this.cancelAnchor_)return this.targetResolution_=i,this.targetRotation_=e,this.targetCenter_=r,void this.applyTargetState_();n=n||(0===t?this.cancelAnchor_:void 0);this.cancelAnchor_=void 0,this.getResolution()===i&&this.getRotation()===e&&this.getCenterInternal()&&CA(this.getCenterInternal(),r)||(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:e,center:r,resolution:i,duration:t,easing:Po,anchor:n}))}},{key:"beginInteraction",value:function(){this.resolveConstraints(0),this.setHint(kC,1)}},{key:"endInteraction",value:function(t,i,n){n=n&&wo(n,this.getProjection());this.endInteractionInternal(t,i,n)}},{key:"endInteractionInternal",value:function(t,i,n){this.setHint(kC,-1),this.resolveConstraints(t,i,n)}},{key:"getConstrainedCenter",value:function(t,i){var n=this.getViewportSize_(this.getRotation());return this.constraints_.center(t,i||this.getResolution(),n)}},{key:"getConstrainedZoom",value:function(t,i){t=this.getResolutionForZoom(t);return this.getZoomForResolution(this.getConstrainedResolution(t,i))}},{key:"getConstrainedResolution",value:function(t,i){var i=i||0,n=this.getViewportSize_(this.getRotation());return this.constraints_.resolution(t,i,n)}}])&&Zo(t.prototype,i),n&&Zo(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function Uo(t,i){return Array.isArray(t)?t:(void 0===i?i=[t,t]:(i[0]=t,i[1]=t),i)}function Vo(t){return(Vo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Wo(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Xo(){return(Xo="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=Qo(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function _o(t,i){return(_o=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Ho(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Qo(n),i=(t=e?(t=Qo(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Vo(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return Ko(i)}}function Ko(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function Qo(t){return(Qo=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Jo(t){t instanceof AA?t.setMapInternal(null):t instanceof $A&&t.getLayers().forEach(Jo)}var qo=function(){var t=C,i=Eg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&_o(t,i);var n,A=Ho(C);function C(t){var i;if(!(this instanceof C))throw new TypeError("Cannot call a class as a function");(i=A.call(this)).on,i.once,i.size_=t.size,void 0===i.size_&&(i.size_=[2e3,2e3]),i.un;e={},r=(n=t).layers&&"function"==typeof n.layers.getLayers?n.layers:new $A({layers:n.layers}),e[b.LAYERGROUP]=r,e[b.TARGET]=n.target,e[b.VIEW]=n.view instanceof Yo?n.view:new Yo;var n,e,r={values:e},g=(i.renderComplete_,i.maxTilesLoading_=void 0!==t.maxTilesLoading?t.maxTilesLoading:16,i.pixelRatio_=void 0!==t.pixelRatio?t.pixelRatio:Xe,i.postRenderTimeoutHandle_,i.animationDelayKey_,i.animationDelay_=function(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}.bind(Ko(i)),i.coordinateToPixelTransform_=rr(),i.pixelToCoordinateTransform_=rr(),i.frameIndex_=0,i.frameState_=null,i.previousExtent_=null,i.viewPropertyListenerKey_=null,i.viewChangeListenerKey_=null,i.layerGroupPropertyListenerKeys_=null,i.moveTolerance_=t.moveTolerance,i.targetChangeHandlerKeys_=null,i.overlayIdIndex_={},i.renderer_=null,i.postRenderFunctions_=[],i.tileQueue_=new bC(i.getTilePriority.bind(Ko(i)),i.handleTileChange_.bind(Ko(i))),i.addChangeListener(b.VIEW,i.handleViewChanged_),i.addChangeListener(b.TARGET,i.handleTargetChanged_),i.setProperties(r.values),Ko(i));return!t.view||t.view instanceof Yo||t.view.then(function(t){g.setView(new Yo(t))}),i}return t=C,(i=[{key:"createRenderer",value:function(){throw new Error("Use a map type that has a createRenderer method")}},{key:"addLayer",value:function(t){this.getLayerGroup().getLayers().push(t)}},{key:"handleLayerAdd_",value:function(t){!function t(i,n){if(i instanceof AA)i.setMapInternal(n);else if(i instanceof $A)for(var e=i.getLayers().getArray(),r=0,g=e.length;r<g;++r)t(e[r],n)}(t.layer,this)}},{key:"addOverlay",value:function(t){this.getOverlays().push(t)}},{key:"addOverlayInternal_",value:function(t){var i=t.getId();void 0!==i&&(this.overlayIdIndex_[i.toString()]=t),t.setMap(this)}},{key:"disposeInternal",value:function(){this.setTarget(null),Xo(Qo(C.prototype),"disposeInternal",this).call(this)}},{key:"getAllLayers",value:function(){var n=[];return function i(t){t.forEach(function(t){t instanceof $A?i(t.getLayers()):n.push(t)})}(this.getLayers()),n}},{key:"getTarget",value:function(){return this.get(b.TARGET)}},{key:"getOverlays",value:function(){return this.overlays_}},{key:"getOverlayById",value:function(t){t=this.overlayIdIndex_[t.toString()];return void 0!==t?t:null}},{key:"getLayerGroup",value:function(){return this.get(b.LAYERGROUP)}},{key:"setLayers",value:function(t){var i=this.getLayerGroup();t instanceof YA?i.setLayers(t):((i=i.getLayers()).clear(),i.extend(t))}},{key:"getLayers",value:function(){return this.getLayerGroup().getLayers()}},{key:"getLoadingOrNotReady",value:function(){for(var t=this.getLayerGroup().getLayerStatesArray(),i=0,n=t.length;i<n;++i){var e=t[i].layer;if(!e.getRenderer().ready)return!0;e=e.getSource();if(e&&e.loading)return!0}return!1}},{key:"getRenderer",value:function(){return this.renderer_}},{key:"getSize",value:function(){return this.size_}},{key:"getView",value:function(){return this.get(b.VIEW)}},{key:"getOverlayContainer",value:function(){return this.overlayContainer_}},{key:"getOverlayContainerStopEvent",value:function(){return this.overlayContainerStopEvent_}},{key:"getTilePriority",value:function(t,i,n,e){return r=this.frameState_,t=t,i=i,n=n,e=e,r&&i in r.wantedTiles&&r.wantedTiles[i][t.getKey()]?(i=r.viewState.center,t=n[0]-i[0],r=n[1]-i[1],65536*Math.log(e)+Math.sqrt(t*t+r*r)/e):1/0;var r}},{key:"handlePostRender",value:function(){for(var t,i,n,e=this.frameState_,r=this.tileQueue_,g=(r.isEmpty()||(n=i=this.maxTilesLoading_,e&&((t=e.viewHints)[MC]||t[kC])&&(i=(t=8<Date.now()-e.time)?0:8,n=t?0:2),r.getTilesLoading()<i&&(r.reprioritize(),r.loadMoreTiles(i,n))),e&&this.hasListener(Qg)&&!e.animate&&this.renderComplete_&&this.renderer_.dispatchRenderEvent(Qg,e),this.postRenderFunctions_),A=0,C=g.length;A<C;++A)g[A](this,e);g.length=0}},{key:"handleTargetChanged_",value:function(){this.renderer_||(this.renderer_=this.createRenderer()),this.targetChangeHandlerKeys_=[M(document,hg,this.updateSize,this)],this.updateSize()}},{key:"handleTileChange_",value:function(){this.render()}},{key:"handleViewPropertyChanged_",value:function(){this.render()}},{key:"handleViewChanged_",value:function(){this.viewPropertyListenerKey_&&(R(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(R(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);var t=this.getView();t&&(this.updateViewportSize_(),this.viewPropertyListenerKey_=M(t,tg,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=M(t,p,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}},{key:"isRendered",value:function(){return!!this.frameState_}},{key:"render",value:function(){this.renderer_&&void 0===this.animationDelayKey_&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}},{key:"removeLayer",value:function(t){return this.getLayerGroup().getLayers().remove(t)}},{key:"handleLayerRemove_",value:function(t){Jo(t.layer)}},{key:"removeOverlay",value:function(t){return this.getOverlays().remove(t)}},{key:"renderFrame_",value:function(t){var i,n=this,e=this.getSize(),r=this.getView(),g=this.frameState_,A=null;void 0!==e&&(0<(i=e)[0]&&0<i[1])&&r&&r.isDef()&&(i=r.getHints(this.frameState_?this.frameState_.viewHints:void 0),r=r.getState(),A={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutterTree:null,extent:Mr(r.center,r.resolution,r.rotation,e),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:e,tileQueue:this.tileQueue_,time:t,usedTiles:{},viewState:r,viewHints:i,wantedTiles:{},mapId:$(this),renderTargets:{}},r.nextCenter&&r.nextResolution&&(t=isNaN(r.nextRotation)?r.rotation:r.nextRotation,A.nextExtent=Mr(r.nextCenter,r.nextResolution,t,e))),this.frameState_=A,this.renderer_.renderFrame(A),A&&(A.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,A.postRenderFunctions),!g||this.previousExtent_&&(Tr(this.previousExtent_)||lr(A.extent,this.previousExtent_))||(this.dispatchEvent(new gC(CC,this,g)),this.previousExtent_=fr(this.previousExtent_)),!this.previousExtent_||A.viewHints[MC]||A.viewHints[kC]||lr(A.extent,this.previousExtent_)||(this.dispatchEvent(new gC(oC,this,A)),i=A.extent,(r=this.previousExtent_)?(r[0]=i[0],r[1]=i[1],r[2]=i[2],r[3]=i[3]):i.slice())),this.dispatchEvent(new gC(AC,this,A)),this.renderComplete_=!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(function(){n.postRenderTimeoutHandle_=void 0,n.handlePostRender()},0))}},{key:"setSize",value:function(t){this.set(b.SIZE,t)}},{key:"setTarget",value:function(t){this.set(b.TARGET,t)}},{key:"setView",value:function(t){var i;!t||t instanceof Yo?this.set(b.VIEW,t):(this.set(b.VIEW,new Yo),i=this,t.then(function(t){i.setView(new Yo(t))}))}},{key:"updateSize",value:function(){var t=this.size_;this.setSize(t),this.updateViewportSize_()}},{key:"updateViewportSize_",value:function(){var t,i=this.getView();i&&(t=this.size_,i.setViewportSize(t))}}])&&Wo(t.prototype,i),n&&Wo(t,n),Object.defineProperty(t,"prototype",{writable:!1}),C}();function $o(t){return($o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function tI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function iI(t,i){return(iI=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function nI(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=eI(n),i=(t=e?(t=eI(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===$o(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function eI(t){return(eI=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var rI=function(){var t=r,i=qo;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&iI(t,i);var n,e=nI(r);function r(t){if(this instanceof r)return t=j({},t),e.call(this,t);throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"createRenderer",value:function(){return new EA(this)}}])&&tI(t.prototype,i),n&&tI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function gI(t){return(gI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function AI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function CI(t,i){return(CI=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function oI(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=II(n),i=(t=e?(t=II(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===gI(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function II(t){return(II=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var sI=function(){var t=g,i=og;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&CI(t,i);var n,r=oI(g);function g(t,i,n){if(!(this instanceof g))throw new TypeError("Cannot call a class as a function");var e,n=n||{};return(e=r.call(this)).tileCoord=t,e.state=i,e.interimTile=null,e.key="",e.transition_=void 0===n.transition?250:n.transition,e.transitionStarts_={},e.interpolate=!!n.interpolate,e}return t=g,(i=[{key:"changed",value:function(){this.dispatchEvent(p)}},{key:"release",value:function(){}},{key:"getKey",value:function(){return this.key+"/"+this.tileCoord}},{key:"getInterimTile",value:function(){if(!this.interimTile)return this;var t=this.interimTile;do{if(t.getState()==it)return this.transition_=0,t}while(t=t.interimTile);return this}},{key:"refreshInterimChain",value:function(){if(this.interimTile){var t=this.interimTile,i=this;do{if(t.getState()==it){t.interimTile=null;break}}while(t.getState()!=hC&&t.getState()==E?i.interimTile=t.interimTile:i=t,t=i.interimTile)}}},{key:"getTileCoord",value:function(){return this.tileCoord}},{key:"getState",value:function(){return this.state}},{key:"setState",value:function(t){if(this.state!==uC&&this.state>t)throw new Error("Tile load sequence violation");this.state=t,this.changed()}},{key:"load",value:function(){a()}},{key:"getAlpha",value:function(t,i){if(!this.transition_)return 1;var n=this.transitionStarts_[t];if(n){if(-1===n)return 1}else this.transitionStarts_[t]=n=i;t=i-n+1e3/60;return t>=this.transition_?1:xo(t/this.transition_)}},{key:"inTransition",value:function(t){return!!this.transition_&&-1!==this.transitionStarts_[t]}},{key:"endTransition",value:function(t){this.transition_&&(this.transitionStarts_[t]=-1)}}])&&AI(t.prototype,i),n&&AI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),g}();var hI=0,uI=2,aI=3;function cI(t,i,n){var e=!0,r=!1,g=!1,A=[ug(t,sg,function(){g=!0,r||i()})];return t.src&&He?(r=!0,t.decode().then(function(){e&&i()}).catch(function(t){e&&(g?i:n)()})):A.push(ug(t,Ig,n)),function(){e=!1,A.forEach(R)}}function fI(t){return(fI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function vI(t,i){return(vI=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function yI(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=dI(n),i=(t=e?(t=dI(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===fI(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function dI(t){return(dI=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var pI=function(){var t=C,i=sI;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&vI(t,i);var n,A=yI(C);function C(t,i,n,e,r,g){if(this instanceof C)return(t=A.call(this,t,i,g)).crossOrigin_=e,t.src_=n,t.key=n,t.image_=new Image,null!==e&&(t.image_.crossOrigin=e),t.unlisten_=null,t.tileLoadFunction_=r,t;throw new TypeError("Cannot call a class as a function")}return t=C,(i=[{key:"getImage",value:function(){return this.image_}},{key:"setImage",value:function(t){this.image_=t,this.state=it,this.unlistenImage_(),this.changed()}},{key:"handleImageError_",value:function(){this.state=uC,this.unlistenImage_(),this.image_=getBlankImage(),this.changed()}},{key:"handleImageLoad_",value:function(){var t=this.image_;t.naturalWidth&&t.naturalHeight?this.state=it:this.state=aC,this.unlistenImage_(),this.changed()}},{key:"load",value:function(){this.state==uC&&(this.state=E,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),this.state==E&&(this.state=hC,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=cI(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}},{key:"unlistenImage_",value:function(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}}])&&lI(t.prototype,i),n&&lI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),C}();function bI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var mI,wI=function(){function a(t,i,n,e,r,g){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");this.sourceProj_=t,this.targetProj_=i;var A,C={},o=co(this.targetProj_,this.sourceProj_),t=(this.transformInv_=function(t){var i=t[0]+"/"+t[1];return C[i]||(C[i]=o(t)),C[i]},this.maxSourceExtent_=e,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!e&&!!this.sourceProj_.getExtent()&&O(e)==O(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?O(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?O(this.targetProj_.getExtent()):null,Or(n)),i=Rr(n),r=mr(n),e=br(n),I=this.transformInv_(t),s=this.transformInv_(i),h=this.transformInv_(r),u=this.transformInv_(e),n=10+(g?Math.max(0,Math.ceil(Pr(pr(n)/(g*g*256*256)))):0);this.addQuad_(t,i,r,e,I,s,h,u,n),this.wrapsXInSource_&&(A=1/0,this.triangles_.forEach(function(t,i,n){A=Math.min(A,t.source[0][0],t.source[1][0],t.source[2][0])}),this.triangles_.forEach(function(t){var i,n;Math.max(t.source[0][0],t.source[1][0],t.source[2][0])-A>this.sourceWorldWidth_/2&&((i=[[t.source[0][0],t.source[0][1]],[t.source[1][0],t.source[1][1]],[t.source[2][0],t.source[2][1]]])[0][0]-A>this.sourceWorldWidth_/2&&(i[0][0]-=this.sourceWorldWidth_),i[1][0]-A>this.sourceWorldWidth_/2&&(i[1][0]-=this.sourceWorldWidth_),i[2][0]-A>this.sourceWorldWidth_/2&&(i[2][0]-=this.sourceWorldWidth_),n=Math.min(i[0][0],i[1][0],i[2][0]),Math.max(i[0][0],i[1][0],i[2][0])-n<this.sourceWorldWidth_/2&&(t.source=i))}.bind(this))),C={}}var t,i,n;return t=a,(i=[{key:"addTriangle_",value:function(t,i,n,e,r,g){this.triangles_.push({source:[e,r,g],target:[t,i,n]})}},{key:"addQuad_",value:function(t,i,n,e,r,g,A,C,o){var I=or([r,g,A,C]),s=this.sourceWorldWidth_?O(I)/this.sourceWorldWidth_:null,h=this.sourceWorldWidth_,u=this.sourceProj_.canWrapX()&&.5<s&&s<1,a=!1;if(0<o&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(a=.25<O(or([t,i,n,e]))/this.targetWorldWidth_||a),!u&&this.sourceProj_.isGlobal()&&s&&(a=.25<s||a)),!(!a&&this.maxSourceExtent_&&isFinite(I[0])&&isFinite(I[1])&&isFinite(I[2])&&isFinite(I[3]))||Er(I,this.maxSourceExtent_)){var c,s=0;if(!(a||isFinite(r[0])&&isFinite(r[1])&&isFinite(g[0])&&isFinite(g[1])&&isFinite(A[0])&&isFinite(A[1])&&isFinite(C[0])&&isFinite(C[1])))if(0<o)a=!0;else if(1!=(s=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(g[0])&&isFinite(g[1])?0:4)+(isFinite(A[0])&&isFinite(A[1])?0:2)+(isFinite(C[0])&&isFinite(C[1])?0:1))&&2!=s&&4!=s&&8!=s)return;if(0<o)if(a||(I=[(t[0]+n[0])/2,(t[1]+n[1])/2],I=this.transformInv_(I),a=(h=u?(Zr(r[0],h)+Zr(A[0],h))/2-Zr(I[0],h):(r[0]+A[0])/2-I[0])*h+(h=(r[1]+A[1])/2-I[1])*h>this.errorThresholdSquared_),a)return void(Math.abs(t[0]-n[0])<=Math.abs(t[1]-n[1])?(I=[(i[0]+n[0])/2,(i[1]+n[1])/2],h=this.transformInv_(I),a=[(e[0]+t[0])/2,(e[1]+t[1])/2],c=this.transformInv_(a),this.addQuad_(t,i,I,a,r,g,h,c,o-1),this.addQuad_(a,I,n,e,c,h,A,C,o-1)):(a=[(t[0]+i[0])/2,(t[1]+i[1])/2],I=this.transformInv_(a),c=[(n[0]+e[0])/2,(n[1]+e[1])/2],h=this.transformInv_(c),this.addQuad_(t,a,c,e,r,I,h,C,o-1),this.addQuad_(a,i,n,c,I,g,A,h,o-1)));if(u){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}0==(11&s)&&this.addTriangle_(t,n,e,r,A,C),0==(14&s)&&this.addTriangle_(t,n,i,r,A,g),s&&(0==(13&s)&&this.addTriangle_(i,e,t,g,C,r),0==(7&s)&&this.addTriangle_(i,e,n,g,C,A))}}},{key:"calculateSourceExtent",value:function(){var e=ar();return this.triangles_.forEach(function(t,i,n){t=t.source;vr(e,t[0]),vr(e,t[1]),vr(e,t[2])}),e}},{key:"getTriangles",value:function(){return this.triangles_}}])&&bI(t.prototype,i),n&&bI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),a}(),MI={imageSmoothingEnabled:!1,msImageSmoothingEnabled:!1};function kI(t,i,n,e,r){t.beginPath(),t.moveTo(0,0),t.lineTo(i,n),t.lineTo(e,r),t.closePath(),t.save(),t.clip(),t.fillRect(0,0,Math.max(i,e)+1,Math.max(n,r)),t.restore()}function jI(t,i){return 2<Math.abs(t[4*i]-210)||2<Math.abs(t[4*i+3]-191.25)}function OI(t,i,n,e){var r=fo(n,i,t),e=Io(i,e,n),n=i.getMetersPerUnit(),i=(void 0!==n&&(e*=n),t.getMetersPerUnit()),n=(void 0!==i&&(e/=i),t.getExtent());return n&&!sr(n,r)||(i=Io(t,e,r)/e,isFinite(i)&&0<i&&(e/=i)),e}function RI(t,i,v,y,n,d,e,r,g,C,A,p){var b=mA(Math.round(v*t),Math.round(v*i));if(p||j(b,MI),0===g.length)return b.canvas;function m(t){return Math.round(t*v)/v}b.scale(v,v),b.globalCompositeOperation="lighter";var w=ar(),t=(g.forEach(function(t,i,n){var e;e=w,(t=t.extent)[0]<e[0]&&(e[0]=t[0]),t[2]>e[2]&&(e[2]=t[2]),t[1]<e[1]&&(e[1]=t[1]),t[3]>e[3]&&(e[3]=t[3])}),O(w)),i=kr(w),M=mA(Math.round(v*t/y),Math.round(v*i/y)),o=(p||j(M,MI),v/y),k=(g.forEach(function(t,i,n){var e=t.extent[0]-w[0],r=-(t.extent[3]-w[3]),g=O(t.extent),A=kr(t.extent);0<t.image.width&&0<t.image.height&&M.drawImage(t.image,C,C,t.image.width-2*C,t.image.height-2*C,e*o,r*o,g*o,A*o)}),Or(e));return r.getTriangles().forEach(function(t,i,n){var e=t.source,t=t.target,r=e[0][0],g=e[0][1],A=e[1][0],C=e[1][1],o=e[2][0],e=e[2][1],I=m((t[0][0]-k[0])/d),s=m(-(t[0][1]-k[1])/d),h=m((t[1][0]-k[0])/d),u=m(-(t[1][1]-k[1])/d),a=m((t[2][0]-k[0])/d),t=m(-(t[2][1]-k[1])/d),A=function(t){for(var i=t.length,n=0;n<i;n++){for(var e=n,r=Math.abs(t[n][n]),g=n+1;g<i;g++){var A=Math.abs(t[g][n]);r<A&&(r=A,e=g)}if(0===r)return null;var C=t[e];t[e]=t[n],t[n]=C;for(var o=n+1;o<i;o++)for(var I=-t[o][n]/t[n][n],s=n;s<i+1;s++)n==s?t[o][s]=0:t[o][s]+=I*t[n][s]}for(var h=new Array(i),u=i-1;0<=u;u--){h[u]=t[u][i]/t[u][u];for(var a=u-1;0<=a;a--)t[a][i]-=t[a][u]*h[u]}return h}([[A-=r,C-=g,0,0,h-I],[o-=r,e-=g,0,0,a-I],[0,0,A,C,u-s],[0,0,o,e,t-s]]);if(A){if(b.save(),b.beginPath(),void 0===mI&&((C=document.createElement("canvas").getContext("2d")).globalCompositeOperation="lighter",C.fillStyle="rgba(210, 0, 0, 0.75)",kI(C,4,5,4,0),kI(C,4,5,0,5),C=C.getImageData(0,0,3,3).data,mI=jI(C,0)||jI(C,4)||jI(C,8)),mI||!p){b.moveTo(h,u);for(var c=I-h,f=s-u,l=0;l<4;l++)b.lineTo(h+m((l+1)*c/4),u+m(l*f/3)),3!=l&&b.lineTo(h+m((l+1)*c/4),u+m((l+1)*f/3));b.lineTo(a,t)}else b.moveTo(h,u),b.lineTo(I,s),b.lineTo(a,t);b.clip(),b.transform(A[0],A[2],A[1],A[3],I,s),b.translate(w[0]-r,w[3]-g),b.scale(y/v,-y/v),b.drawImage(M.canvas,0,0),b.restore()}}),A&&(b.save(),b.globalCompositeOperation="source-over",b.strokeStyle="black",b.lineWidth=1,r.getTriangles().forEach(function(t,i,n){var t=t.target,e=(t[0][0]-k[0])/d,r=-(t[0][1]-k[1])/d,g=(t[1][0]-k[0])/d,A=-(t[1][1]-k[1])/d,C=(t[2][0]-k[0])/d,t=-(t[2][1]-k[1])/d;b.beginPath(),b.moveTo(g,A),b.lineTo(e,r),b.lineTo(C,t),b.closePath(),b.stroke()}),b.restore()),b.canvas}function EI(t){return(EI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function TI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function SI(t,i){return(SI=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function xI(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=LI(n);return PI(this,e?(t=LI(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments))}}function PI(t,i){if(i&&("object"===EI(i)||"function"==typeof i))return i;if(void 0!==i)throw new TypeError("Derived constructors may only return object or undefined");i=t;if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function LI(t){return(LI=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var FI=function(){var t=m,i=sI;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&SI(t,i);var n,b=xI(m);function m(t,i,n,e,r,g,A,C,o,I,s,h){var u;if(!(this instanceof m))throw new TypeError("Cannot call a class as a function");(u=b.call(this,r,E,{interpolate:!!h})).renderEdges_=void 0!==s&&s,u.pixelRatio_=A,u.gutter_=C,u.canvas_=null,u.sourceTileGrid_=i,u.targetTileGrid_=e,u.wrappedTileCoord_=g||r,u.sourceTiles_=[],u.sourcesListenerKeys_=null,u.sourceZ_=0;h=e.getTileCoordExtent(u.wrappedTileCoord_),s=u.targetTileGrid_.getExtent(),C=u.sourceTileGrid_.getExtent(),g=s?jr(h,s):h;if(0===pr(g))return u.state=aC,PI(u);var a,c,f,l,r=t.getExtent(),s=(r&&(C=C?jr(C,r):r),e.getResolution(u.wrappedTileCoord_[0])),e=(a=t,c=n,f=s,r=wr(h=g),l=OI(a,c,r,f),(!isFinite(l)||l<=0)&&dr(h,function(t){return l=OI(a,c,t,f),isFinite(l)&&0<l}),l);if(!isFinite(e)||e<=0)return u.state=aC,PI(u);if(u.triangulation_=new wI(t,n,g,C,e*(void 0!==I?I:.5),s),0===u.triangulation_.getTriangles().length)return u.state=aC,PI(u);u.sourceZ_=i.getZForResolution(e);r=u.triangulation_.calculateSourceExtent();if(C&&(t.canWrapX()?(r[1]=w(r[1],C[1],C[3]),r[3]=w(r[3],C[1],C[3])):r=jr(r,C)),pr(r)){for(var v=i.getTileRangeForExtentAndZ(r,u.sourceZ_),y=v.minX;y<=v.maxX;y++)for(var d=v.minY;d<=v.maxY;d++){var p=o(u.sourceZ_,y,d,A);p&&u.sourceTiles_.push(p)}0===u.sourceTiles_.length&&(u.state=aC)}else u.state=aC;return u}return t=m,(i=[{key:"getImage",value:function(){return this.canvas_}},{key:"reproject_",value:function(){var t,i,n,e,r,g=[];this.sourceTiles_.forEach(function(t,i,n){t&&t.getState()==it&&g.push({extent:this.sourceTileGrid_.getTileCoordExtent(t.tileCoord),image:t.getImage()})}.bind(this)),(this.sourceTiles_.length=0)===g.length?this.state=uC:(n=this.wrappedTileCoord_[0],t="number"==typeof(i=this.targetTileGrid_.getTileSize(n))?i:i[0],i="number"==typeof i?i:i[1],n=this.targetTileGrid_.getResolution(n),e=this.sourceTileGrid_.getResolution(this.sourceZ_),r=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_),this.canvas_=RI(t,i,this.pixelRatio_,e,this.sourceTileGrid_.getExtent(),n,r,this.triangulation_,g,this.gutter_,this.renderEdges_,this.interpolate),this.state=it),this.changed()}},{key:"load",value:function(){var g;this.state==E&&(this.state=hC,this.changed(),g=0,this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(function(n,t,i){var e,r=n.getState();r!=E&&r!=hC||(g++,e=M(n,p,function(t){var i=n.getState();i!=it&&i!=uC&&i!=aC||(R(e),0===--g&&(this.unlistenSources_(),this.reproject_()))},this),this.sourcesListenerKeys_.push(e))}.bind(this)),0===g?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function(t,i,n){t.getState()==E&&t.load()}))}},{key:"unlistenSources_",value:function(){this.sourcesListenerKeys_.forEach(R),this.sourcesListenerKeys_=null}}])&&TI(t.prototype,i),n&&TI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),m}();function ZI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var DI=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}var t,n,e;return t=i,(n=[{key:"canExpireCache",value:function(){return 0<this.highWaterMark&&this.getCount()>this.highWaterMark}},{key:"expireCache",value:function(t){for(;this.canExpireCache();)this.pop()}},{key:"clear",value:function(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}},{key:"containsKey",value:function(t){return this.entries_.hasOwnProperty(t)}},{key:"forEach",value:function(t){for(var i=this.oldest_;i;)t(i.value_,i.key_,this),i=i.newer}},{key:"get",value:function(t,i){t=this.entries_[t];return c(void 0!==t,15),t===this.newest_?t.value_:(t===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(t.newer.older=t.older,t.older.newer=t.newer),t.newer=null,t.older=this.newest_,this.newest_.newer=t,(this.newest_=t).value_)}},{key:"remove",value:function(t){var i=this.entries_[t];return c(void 0!==i,15),i===this.newest_?(this.newest_=i.older,this.newest_&&(this.newest_.newer=null)):i===this.oldest_?(this.oldest_=i.newer,this.oldest_&&(this.oldest_.older=null)):(i.newer.older=i.older,i.older.newer=i.newer),delete this.entries_[t],--this.count_,i.value_}},{key:"getCount",value:function(){return this.count_}},{key:"getKeys",value:function(){for(var t=new Array(this.count_),i=0,n=this.newest_;n;n=n.older)t[i++]=n.key_;return t}},{key:"getValues",value:function(){for(var t=new Array(this.count_),i=0,n=this.newest_;n;n=n.older)t[i++]=n.value_;return t}},{key:"peekLast",value:function(){return this.oldest_.value_}},{key:"peekLastKey",value:function(){return this.oldest_.key_}},{key:"peekFirstKey",value:function(){return this.newest_.key_}},{key:"pop",value:function(){var t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}},{key:"replace",value:function(t,i){this.get(t),this.entries_[t].value_=i}},{key:"set",value:function(t,i){c(!(t in this.entries_),16);i={key_:t,newer:null,older:this.newest_,value_:i};this.newest_?this.newest_.newer=i:this.oldest_=i,this.newest_=i,this.entries_[t]=i,++this.count_}},{key:"setSize",value:function(t){this.highWaterMark=t}}])&&ZI(t.prototype,n),e&&ZI(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}();function NI(t,i,n,e){return void 0!==e?(e[0]=t,e[1]=i,e[2]=n,e):[t,i,n]}function GI(t,i,n){return t+"/"+i+"/"+n}function BI(t){return GI(t[0],t[1],t[2])}function zI(t){return(zI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function YI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function UI(t,i){return(UI=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function VI(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=WI(n),i=(t=e?(t=WI(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===zI(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function WI(t){return(WI=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var XI=function(){var t=r,i=DI;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&UI(t,i);var n,e=VI(r);function r(){var t=this,i=r;if(t instanceof i)return e.apply(this,arguments);throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"expireCache",value:function(t){for(;this.canExpireCache();){if(this.peekLast().getKey()in t)break;this.pop().release()}}},{key:"pruneExceptNewestZ",value:function(){var i;0!==this.getCount()&&(i=this.peekFirstKey().split("/").map(Number)[0],this.forEach(function(t){t.tileCoord[0]!==i&&(this.remove(BI(t.tileCoord)),t.release())}.bind(this)))}}])&&YI(t.prototype,i),n&&YI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),_I="tileloadstart",HI="tileloadend",KI="tileloaderror";function QI(t){return(QI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function JI(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function qI(t,i){return(qI=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function $I(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=is(n),i=(t=e?(t=is(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===QI(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ts(i)}}function ts(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function is(t){return(is=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function ns(i){return i?Array.isArray(i)?function(t){return i}:"function"==typeof i?i:function(t){return[i]}:null}var es=function(){var t=r,i=Eg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&qI(t,i);var n,e=$I(r);function r(t){var i;if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");(i=e.call(this)).projection=T(t.projection),i.attributions_=ns(t.attributions),i.attributionsCollapsible_=void 0===t.attributionsCollapsible||t.attributionsCollapsible,i.loading=!1,i.state_=void 0!==t.state?t.state:qg,i.wrapX_=void 0!==t.wrapX&&t.wrapX,i.interpolate_=!!t.interpolate,i.viewResolver=null,i.viewRejector=null;var n=ts(i);return i.viewPromise_=new Promise(function(t,i){n.viewResolver=t,n.viewRejector=i}),i}return t=r,(i=[{key:"getAttributions",value:function(){return this.attributions_}},{key:"getAttributionsCollapsible",value:function(){return this.attributionsCollapsible_}},{key:"getProjection",value:function(){return this.projection}},{key:"getResolutions",value:function(){return a()}},{key:"getView",value:function(){return this.viewPromise_}},{key:"getState",value:function(){return this.state_}},{key:"getWrapX",value:function(){return this.wrapX_}},{key:"getInterpolate",value:function(){return this.interpolate_}},{key:"refresh",value:function(){this.changed()}},{key:"setAttributions",value:function(t){this.attributions_=ns(t),this.changed()}},{key:"setState",value:function(t){this.state_=t,this.changed()}}])&&JI(t.prototype,i),n&&JI(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function rs(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var gs=function(){function r(t,i,n,e){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");this.minX=t,this.maxX=i,this.minY=n,this.maxY=e}var t,i,n;return t=r,(i=[{key:"contains",value:function(t){return this.containsXY(t[1],t[2])}},{key:"containsTileRange",value:function(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}},{key:"containsXY",value:function(t,i){return this.minX<=t&&t<=this.maxX&&this.minY<=i&&i<=this.maxY}},{key:"equals",value:function(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}},{key:"extend",value:function(t){t.minX<this.minX&&(this.minX=t.minX),t.maxX>this.maxX&&(this.maxX=t.maxX),t.minY<this.minY&&(this.minY=t.minY),t.maxY>this.maxY&&(this.maxY=t.maxY)}},{key:"getHeight",value:function(){return this.maxY-this.minY+1}},{key:"getSize",value:function(){return[this.getWidth(),this.getHeight()]}},{key:"getWidth",value:function(){return this.maxX-this.minX+1}},{key:"intersects",value:function(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}])&&rs(t.prototype,i),n&&rs(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function As(t,i,n,e,r){return void 0!==r?(r.minX=t,r.maxX=i,r.minY=n,r.maxY=e,r):new gs(t,i,n,e)}var Cs=gs;function os(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var Is=[0,0,0],ss=function(){function o(t){var n,e,r,i;if(!(this instanceof o))throw new TypeError("Cannot call a class as a function");if(this.minZoom=void 0!==t.minZoom?t.minZoom:0,this.resolutions_=t.resolutions,c((n=this.resolutions_,e=!0,r=function(t,i){return i-t}||Ge,n.every(function(t,i){if(0===i)return!0;i=r(n[i-1],t);return!(0<i||e&&0===i)})),17),!t.origins)for(var g=0,A=this.resolutions_.length-1;g<A;++g)if(i){if(this.resolutions_[g]/this.resolutions_[g+1]!==i){i=void 0;break}}else i=this.resolutions_[g]/this.resolutions_[g+1];this.zoomFactor_=i,this.maxZoom=this.resolutions_.length-1,this.origin_=void 0!==t.origin?t.origin:null,this.origins_=null,void 0!==t.origins&&(this.origins_=t.origins,c(this.origins_.length==this.resolutions_.length,20));var C=t.extent;void 0===C||this.origin_||this.origins_||(this.origin_=Or(C)),c(!this.origin_&&this.origins_||this.origin_&&!this.origins_,18),this.tileSizes_=null,void 0!==t.tileSizes&&(this.tileSizes_=t.tileSizes,c(this.tileSizes_.length==this.resolutions_.length,19)),this.tileSize_=void 0!==t.tileSize?t.tileSize:this.tileSizes_?null:RC,c(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,22),this.extent_=void 0!==C?C:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],void 0!==t.sizes?this.fullTileRanges_=t.sizes.map(function(t,i){t=new Cs(Math.min(0,t[0]),Math.max(t[0]-1,-1),Math.min(0,t[1]),Math.max(t[1]-1,-1));return C&&(i=this.getTileRangeForExtentAndZ(C,i),t.minX=Math.max(i.minX,t.minX),t.maxX=Math.min(i.maxX,t.maxX),t.minY=Math.max(i.minY,t.minY),t.maxY=Math.min(i.maxY,t.maxY)),t},this):C&&this.calculateTileRanges_(C)}var t,i,n;return t=o,(i=[{key:"forEachTileCoord",value:function(t,i,n){for(var e=this.getTileRangeForExtentAndZ(t,i),r=e.minX,g=e.maxX;r<=g;++r)for(var A=e.minY,C=e.maxY;A<=C;++A)n([i,r,A])}},{key:"forEachTileCoordParentTileRange",value:function(t,i,n,e){var r,g,A=null,C=t[0]-1;for(2===this.zoomFactor_?(r=t[1],g=t[2]):A=this.getTileCoordExtent(t,e);C>=this.minZoom;){if(i(C,2===this.zoomFactor_?As(r=Math.floor(r/2),r,g=Math.floor(g/2),g,n):this.getTileRangeForExtentAndZ(A,C,n)))return!0;--C}return!1}},{key:"getExtent",value:function(){return this.extent_}},{key:"getMaxZoom",value:function(){return this.maxZoom}},{key:"getMinZoom",value:function(){return this.minZoom}},{key:"getOrigin",value:function(t){return this.origin_||this.origins_[t]}},{key:"getResolution",value:function(t){return this.resolutions_[t]}},{key:"getResolutions",value:function(){return this.resolutions_}},{key:"getTileCoordChildTileRange",value:function(t,i,n){if(t[0]<this.maxZoom){if(2===this.zoomFactor_)return As(e=2*t[1],1+e,e=2*t[2],1+e,i);var e=this.getTileCoordExtent(t,n||this.tmpExtent_);return this.getTileRangeForExtentAndZ(e,t[0]+1,i)}return null}},{key:"getTileRangeForTileCoordAndZ",value:function(t,i,n){if(i>this.maxZoom||i<this.minZoom)return null;var e,r,g,A=t[0],C=t[1],o=t[2];if(i===A)return As(C,o,C,o,n);if(this.zoomFactor_)return e=Math.pow(this.zoomFactor_,i-A),r=Math.floor(C*e),g=Math.floor(o*e),i<A?As(r,r,g,g,n):As(r,Math.floor(e*(C+1))-1,g,Math.floor(e*(o+1))-1,n);A=this.getTileCoordExtent(t,this.tmpExtent_);return this.getTileRangeForExtentAndZ(A,i,n)}},{key:"getTileRangeExtent",value:function(t,i,n){var e=this.getOrigin(t),r=this.getResolution(t),t=Uo(this.getTileSize(t),this.tmpSize_),g=e[0]+i.minX*t[0]*r,A=e[0]+(i.maxX+1)*t[0]*r;return cr(g,e[1]+i.minY*t[1]*r,A,e[1]+(i.maxY+1)*t[1]*r,n)}},{key:"getTileRangeForExtentAndZ",value:function(t,i,n){var e=Is,r=(this.getTileCoordForXYAndZ_(t[0],t[3],i,!1,e),e[1]),g=e[2];return this.getTileCoordForXYAndZ_(t[2],t[1],i,!0,e),As(r,e[1],g,e[2],n)}},{key:"getTileCoordCenter",value:function(t){var i=this.getOrigin(t[0]),n=this.getResolution(t[0]),e=Uo(this.getTileSize(t[0]),this.tmpSize_);return[i[0]+(t[1]+.5)*e[0]*n,i[1]-(t[2]+.5)*e[1]*n]}},{key:"getTileCoordExtent",value:function(t,i){var n=this.getOrigin(t[0]),e=this.getResolution(t[0]),r=Uo(this.getTileSize(t[0]),this.tmpSize_),g=n[0]+t[1]*r[0]*e,n=n[1]-(t[2]+1)*r[1]*e;return cr(g,n,g+r[0]*e,n+r[1]*e,i)}},{key:"getTileCoordForCoordAndResolution",value:function(t,i,n){return this.getTileCoordForXYAndResolution_(t[0],t[1],i,!1,n)}},{key:"getTileCoordForXYAndResolution_",value:function(t,i,n,e,r){var g=this.getZForResolution(n),A=n/this.getResolution(g),C=this.getOrigin(g),o=Uo(this.getTileSize(g),this.tmpSize_),t=A*(t-C[0])/n/o[0],A=A*(C[1]-i)/n/o[1],A=e?(t=Gr(t,5)-1,Gr(A,5)-1):(t=Nr(t,5),Nr(A,5));return NI(g,t,A,r)}},{key:"getTileCoordForXYAndZ_",value:function(t,i,n,e,r){var g=this.getOrigin(n),A=this.getResolution(n),C=Uo(this.getTileSize(n),this.tmpSize_),t=(t-g[0])/A/C[0],g=(g[1]-i)/A/C[1],g=e?(t=Gr(t,5)-1,Gr(g,5)-1):(t=Nr(t,5),Nr(g,5));return NI(n,t,g,r)}},{key:"getTileCoordForCoordAndZ",value:function(t,i,n){return this.getTileCoordForXYAndZ_(t[0],t[1],i,!1,n)}},{key:"getTileCoordResolution",value:function(t){return this.resolutions_[t[0]]}},{key:"getTileSize",value:function(t){return this.tileSize_||this.tileSizes_[t]}},{key:"getFullTileRange",value:function(t){return this.fullTileRanges_?this.fullTileRanges_[t]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,t):null}},{key:"getZForResolution",value:function(t,i){return w(Be(this.resolutions_,t,i||0),this.minZoom,this.maxZoom)}},{key:"calculateTileRanges_",value:function(t){for(var i=this.resolutions_.length,n=new Array(i),e=this.minZoom;e<i;++e)n[e]=this.getTileRangeForExtentAndZ(t,e);this.fullTileRanges_=n}}])&&os(t.prototype,i),n&&os(t,n),Object.defineProperty(t,"prototype",{writable:!1}),o}();function hs(t){var i,n,e,r=t.getDefaultTileGrid();return r||(r=function(t,i,n,e){e=void 0!==e?e:Cr.TOP_LEFT,i=us(t,i,n);return new ss({extent:t,origin:function(t,i){var n;return i===Cr.BOTTOM_LEFT?n=br(t):i===Cr.BOTTOM_RIGHT?n=mr(t):i===Cr.TOP_LEFT?n=Or(t):i===Cr.TOP_RIGHT?n=Rr(t):c(!1,13),n}(t,e),resolutions:i,tileSize:n})}(as(t),i,n,e),t.setDefaultTileGrid(r)),r}function us(t,i,n,e){for(var i=void 0!==i?i:OC,r=kr(t),t=O(t),n=Uo(void 0!==n?n:RC),g=0<e?e:Math.max(t/n[0],r/n[1]),A=i+1,C=new Array(A),o=0;o<A;++o)C[o]=g/Math.pow(2,o);return C}function as(t){var i=(t=T(t)).getExtent();return i=i?i:cr(-(t=180*mC[wC.DEGREES]/t.getMetersPerUnit()),-t,t,t)}function cs(t){return(cs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function fs(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function ls(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function vs(t,i,n){return i&&ls(t.prototype,i),n&&ls(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function ys(){return(ys="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=ms(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function ds(t,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&ps(t,i)}function ps(t,i){return(ps=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function bs(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=ms(n),i=(t=e?(t=ms(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===cs(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function ms(t){return(ms=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var i=function(){ds(e,es);var n=bs(e);function e(t){var i;fs(this,e),(i=n.call(this,{attributions:t.attributions,attributionsCollapsible:t.attributionsCollapsible,projection:t.projection,state:t.state,wrapX:t.wrapX,interpolate:t.interpolate})).on,i.once,i.un,i.opaque_=void 0!==t.opaque&&t.opaque,i.tilePixelRatio_=void 0!==t.tilePixelRatio?t.tilePixelRatio:1,i.tileGrid=void 0!==t.tileGrid?t.tileGrid:null;return i.tileGrid&&Uo(i.tileGrid.getTileSize(i.tileGrid.getMinZoom()),[256,256]),i.tileCache=new XI(t.cacheSize||0),i.tmpSize=[0,0],i.key_=t.key||"",i.tileOptions={transition:t.transition,interpolate:t.interpolate},i.zDirection=t.zDirection||0,i}return vs(e,[{key:"canExpireCache",value:function(){return this.tileCache.canExpireCache()}},{key:"expireCache",value:function(t,i){t=this.getTileCacheForProjection(t);t&&t.expireCache(i)}},{key:"forEachLoadedTile",value:function(t,i,n,e){var r=this.getTileCacheForProjection(t);if(!r)return!1;for(var g,A,C=!0,o=n.minX;o<=n.maxX;++o)for(var I=n.minY;I<=n.maxY;++I)g=GI(i,o,I),A=!1,(A=r.containsKey(g)?(A=(g=r.get(g)).getState()===it)&&!1!==e(g):A)||(C=!1);return C}},{key:"getGutterForProjection",value:function(t){return 0}},{key:"getKey",value:function(){return this.key_}},{key:"setKey",value:function(t){this.key_!==t&&(this.key_=t,this.changed())}},{key:"getOpaque",value:function(t){return this.opaque_}},{key:"getResolutions",value:function(){return this.tileGrid?this.tileGrid.getResolutions():null}},{key:"getTile",value:function(t,i,n,e,r){return a()}},{key:"getTileGrid",value:function(){return this.tileGrid}},{key:"getTileGridForProjection",value:function(t){return this.tileGrid||hs(t)}},{key:"getTileCacheForProjection",value:function(t){return c(uo(this.getProjection(),t),68),this.tileCache}},{key:"getTilePixelRatio",value:function(t){return this.tilePixelRatio_}},{key:"getTilePixelSize",value:function(t,i,n){var n=this.getTileGridForProjection(n),i=this.getTilePixelRatio(i),n=Uo(n.getTileSize(t),this.tmpSize);return 1==i?n:(t=n,n=i,(i=void 0===(i=this.tmpSize)?[0,0]:i)[0]=t[0]*n+.5|0,i[1]=t[1]*n+.5|0,i)}},{key:"getTileCoordForTileUrlFunction",value:function(t,i){var n,e,r,g,i=void 0!==i?i:this.getProjection(),A=this.getTileGridForProjection(i);return this.getWrapX()&&i.isGlobal()&&(n=A,i=i,r=(e=t)[0],g=n.getTileCoordCenter(e),t=sr(i=as(i),g)?e:(e=O(i),i=Math.ceil((i[0]-g[0])/e),g[0]+=e*i,n.getTileCoordForCoordAndZ(g,r))),function(t,i){var n=t[0],e=t[1],t=t[2];if(!(i.getMinZoom()>n||n>i.getMaxZoom()))return!(i=i.getFullTileRange(n))||i.containsXY(e,t)}(t,A)?t:null}},{key:"clear",value:function(){this.tileCache.clear()}},{key:"refresh",value:function(){this.clear(),ys(ms(e.prototype),"refresh",this).call(this)}},{key:"updateCacheSize",value:function(t,i){i=this.getTileCacheForProjection(i);t>i.highWaterMark&&(i.highWaterMark=t)}},{key:"useTile",value:function(t,i,n,e){}}]),e}(),ws=function(){ds(e,$r);var n=bs(e);function e(t,i){return fs(this,e),(t=n.call(this,t)).tile=i,t}return vs(e)}(),Ms=i;function ks(t,i){for(var r,n=t.length,e=new Array(n),g=0;g<n;++g)e[g]=function(e,r){var g=/\{z\}/g,A=/\{x\}/g,C=/\{y\}/g,o=/\{-y\}/g;return function(i,t,n){if(i)return e.replace(g,i[0].toString()).replace(A,i[1].toString()).replace(C,i[2].toString()).replace(o,function(){var t=i[0],t=r.getFullTileRange(t);return c(t,55),(t.getHeight()-i[2]-1).toString()})}}(t[g],i);return 1!==(r=e).length?function(t,i,n){var e;if(t)return e=Zr((t[1]<<t[0])+t[2],r.length),r[e](t,i,n)}:r[0]}function js(t){return(js="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Os(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Rs(t,i){return(Rs=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Es(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Ts(n),i=(t=e?(t=Ts(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===js(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Ts(t){return(Ts=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Ss=function(){var t=r,i=Ms;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Rs(t,i);var n,e=Es(r);function r(t){var i;if(this instanceof r)return(i=e.call(this,{attributions:t.attributions,cacheSize:t.cacheSize,opaque:t.opaque,projection:t.projection,state:t.state,tileGrid:t.tileGrid,tilePixelRatio:t.tilePixelRatio,wrapX:t.wrapX,transition:t.transition,interpolate:t.interpolate,key:t.key,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection})).generateTileUrlFunction_=i.tileUrlFunction===r.prototype.tileUrlFunction,i.tileLoadFunction=t.tileLoadFunction,t.tileUrlFunction&&(i.tileUrlFunction=t.tileUrlFunction),i.urls=null,t.urls?i.setUrls(t.urls):t.url&&i.setUrl(t.url),i.tileLoadingKeys_={},i;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"getTileLoadFunction",value:function(){return this.tileLoadFunction}},{key:"getTileUrlFunction",value:function(){return Object.getPrototypeOf(this).tileUrlFunction===this.tileUrlFunction?this.tileUrlFunction.bind(this):this.tileUrlFunction}},{key:"getUrls",value:function(){return this.urls}},{key:"handleTileChange",value:function(t){var i,t=t.target,n=$(t),e=t.getState();e==hC?(this.tileLoadingKeys_[n]=!0,i=_I):n in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[n],i=e==uC?KI:e==it?HI:void 0),null!=i&&this.dispatchEvent(new ws(i,t))}},{key:"setTileLoadFunction",value:function(t){this.tileCache.clear(),this.tileLoadFunction=t,this.changed()}},{key:"setTileUrlFunction",value:function(t,i){this.tileUrlFunction=t,this.tileCache.pruneExceptNewestZ(),void 0!==i?this.setKey(i):this.changed()}},{key:"setUrl",value:function(t){t=function(t){var i=[],n=/\{([a-z])-([a-z])\}/.exec(t);if(n){for(var e=n[1].charCodeAt(0),r=n[2].charCodeAt(0),g=e;g<=r;++g)i.push(t.replace(n[0],String.fromCharCode(g)));return i}if(n=/\{(\d+)-(\d+)\}/.exec(t)){for(var A=parseInt(n[2],10),C=parseInt(n[1],10);C<=A;C++)i.push(t.replace(n[0],C.toString()));return i}return i.push(t),i}(t);this.urls=t,this.setUrls(t)}},{key:"setUrls",value:function(t){var i=(this.urls=t).join("\n");this.generateTileUrlFunction_?this.setTileUrlFunction(ks(t,this.tileGrid),i):this.setKey(i)}},{key:"tileUrlFunction",value:function(t,i,n){}},{key:"useTile",value:function(t,i,n){t=GI(t,i,n);this.tileCache.containsKey(t)&&this.tileCache.get(t)}}])&&Os(t.prototype,i),n&&Os(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function xs(t){return(xs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ps(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Ls(){return(Ls="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=Ds(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function Fs(t,i){return(Fs=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Zs(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Ds(n),i=(t=e?(t=Ds(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===xs(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Ds(t){return(Ds=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function Ns(t,i){t.getImage().src=i}var Gs=function(){var t=r,i=Ss;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Fs(t,i);var n,e=Zs(r);function r(t){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");var i=void 0===t.imageSmoothing||t.imageSmoothing;return void 0!==t.interpolate&&(i=t.interpolate),(i=e.call(this,{attributions:t.attributions,cacheSize:t.cacheSize,opaque:t.opaque,projection:t.projection,state:t.state,tileGrid:t.tileGrid,tileLoadFunction:t.tileLoadFunction||Ns,tilePixelRatio:t.tilePixelRatio,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:t.wrapX,transition:t.transition,interpolate:i,key:t.key,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection})).crossOrigin=void 0!==t.crossOrigin?t.crossOrigin:null,i.tileClass=void 0!==t.tileClass?t.tileClass:pI,i.tileCacheForProjection={},i.tileGridForProjection={},i.reprojectionErrorThreshold_=t.reprojectionErrorThreshold,i.renderReprojectionEdges_=!1,i}return t=r,(i=[{key:"canExpireCache",value:function(){if(this.tileCache.canExpireCache())return!0;for(var t in this.tileCacheForProjection)if(this.tileCacheForProjection[t].canExpireCache())return!0;return!1}},{key:"expireCache",value:function(t,i){var n,e=this.getTileCacheForProjection(t);for(n in this.tileCache.expireCache(this.tileCache==e?i:{}),this.tileCacheForProjection){var r=this.tileCacheForProjection[n];r.expireCache(r==e?i:{})}}},{key:"getGutterForProjection",value:function(t){return this.getProjection()&&t&&!uo(this.getProjection(),t)?0:this.getGutter()}},{key:"getGutter",value:function(){return 0}},{key:"getKey",value:function(){var t=Ls(Ds(r.prototype),"getKey",this).call(this);return this.getInterpolate()||(t+=":disable-interpolation"),t}},{key:"getOpaque",value:function(t){return!(this.getProjection()&&t&&!uo(this.getProjection(),t))&&Ls(Ds(r.prototype),"getOpaque",this).call(this,t)}},{key:"getTileGridForProjection",value:function(t){var i=this.getProjection();return!this.tileGrid||i&&!uo(i,t)?((i=$(t))in this.tileGridForProjection||(this.tileGridForProjection[i]=hs(t)),this.tileGridForProjection[i]):this.tileGrid}},{key:"getTileCacheForProjection",value:function(t){var i=this.getProjection();return!i||uo(i,t)?this.tileCache:((i=$(t))in this.tileCacheForProjection||(this.tileCacheForProjection[i]=new XI(this.tileCache.highWaterMark)),this.tileCacheForProjection[i])}},{key:"createTile_",value:function(t,i,n,e,r,g){t=[t,i,n],i=this.getTileCoordForTileUrlFunction(t,r),n=i?this.tileUrlFunction(i,e,r):void 0,i=new this.tileClass(t,void 0!==n?E:aC,void 0!==n?n:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return i.key=g,i.addEventListener(p,this.handleTileChange.bind(this)),i}},{key:"getTile",value:function(t,i,n,e,r){var g,A,C,o,I,s,h,u,a=this.getProjection();return a&&r&&!uo(a,r)?(g=this.getTileCacheForProjection(r),o=BI(A=[t,i,n]),g.containsKey(o)&&(C=g.get(o)),I=this.getKey(),C&&C.key==I?C:(u=this.getTileGridForProjection(a),s=this.getTileGridForProjection(r),h=this.getTileCoordForTileUrlFunction(A,r),(u=new FI(a,u,r,s,A,h,this.getTilePixelRatio(e),this.getGutter(),function(t,i,n,e){return this.getTileInternal(t,i,n,e,a)}.bind(this),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.getInterpolate())).key=I,C?(u.interimTile=C,u.refreshInterimChain(),g.replace(o,u)):g.set(o,u),u)):this.getTileInternal(t,i,n,e,a||r)}},{key:"getTileInternal",value:function(t,i,n,e,r){var g,A=null,C=GI(t,i,n),o=this.getKey();return this.tileCache.containsKey(C)?(A=this.tileCache.get(C)).key!=o&&(g=A,A=this.createTile_(t,i,n,e,r,o),g.getState()==E?A.interimTile=g.interimTile:A.interimTile=g,A.refreshInterimChain(),this.tileCache.replace(C,A)):(A=this.createTile_(t,i,n,e,r,o),this.tileCache.set(C,A)),A}},{key:"setRenderReprojectionEdges",value:function(t){if(this.renderReprojectionEdges_!=t){for(var i in this.renderReprojectionEdges_=t,this.tileCacheForProjection)this.tileCacheForProjection[i].clear();this.changed()}}},{key:"setTileGridForProjection",value:function(t,i){var t=T(t);!t||(t=$(t))in this.tileGridForProjection||(this.tileGridForProjection[t]=i)}}])&&Ps(t.prototype,i),n&&Ps(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function Bs(t){return(Bs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function zs(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Ys(t,i){return(Ys=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Us(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Vs(n),i=(t=e?(t=Vs(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Bs(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Vs(t){return(Vs=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Ws=function(){var t=A,i=Gs;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Ys(t,i);var n,e,g=Us(A);function A(t){if(!(this instanceof A))throw new TypeError("Cannot call a class as a function");var i,t=t||{},n=void 0===t.imageSmoothing||t.imageSmoothing,e=(void 0!==t.interpolate&&(n=t.interpolate),void 0!==t.projection?t.projection:"EPSG:3857"),r=void 0!==t.tileGrid?t.tileGrid:(r={extent:as(e),maxResolution:t.maxResolution,maxZoom:t.maxZoom,minZoom:t.minZoom,tileSize:t.tileSize},i={extent:i=(r=r||{}).extent||T("EPSG:3857").getExtent(),minZoom:r.minZoom,tileSize:r.tileSize,resolutions:us(i,r.maxZoom,r.tileSize,r.maxResolution)},new ss(i));return g.call(this,{attributions:t.attributions,cacheSize:t.cacheSize,crossOrigin:t.crossOrigin,interpolate:n,opaque:t.opaque,projection:e,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileGrid:r,tileLoadFunction:t.tileLoadFunction,tilePixelRatio:t.tilePixelRatio,tileUrlFunction:t.tileUrlFunction,url:t.url,urls:t.urls,wrapX:void 0===t.wrapX||t.wrapX,transition:t.transition,attributionsCollapsible:t.attributionsCollapsible,zDirection:t.zDirection})}return t=A,n&&zs(t.prototype,n),e&&zs(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}();function Xs(t){return(Xs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _s(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Hs(t,i){return(Hs=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Ks(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Qs(n),i=(t=e?(t=Qs(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Xs(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Qs(t){return(Qs=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Js=function(){var t=A,i=Ws;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Hs(t,i);var n,e,g=Ks(A);function A(t){if(!(this instanceof A))throw new TypeError("Cannot call a class as a function");var i,t=t||{},n=void 0===t.imageSmoothing||t.imageSmoothing,e=(void 0!==t.interpolate&&(n=t.interpolate),i=void 0!==t.attributions?t.attributions:['&#169; <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors.'],void 0!==t.crossOrigin?t.crossOrigin:"anonymous"),r=void 0!==t.url?t.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png";return g.call(this,{attributions:i,attributionsCollapsible:!1,cacheSize:t.cacheSize,crossOrigin:e,interpolate:n,maxZoom:void 0!==t.maxZoom?t.maxZoom:19,opaque:void 0===t.opaque||t.opaque,reprojectionErrorThreshold:t.reprojectionErrorThreshold,tileLoadFunction:t.tileLoadFunction,transition:t.transition,url:r,wrapX:t.wrapX,zDirection:t.zDirection})}return t=A,n&&_s(t.prototype,n),e&&_s(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}(),qs="preload",$s="useInterimTilesOnError";function th(t){return(th="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function ih(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function nh(){return(nh="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=gh(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function eh(t,i){return(eh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function rh(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=gh(n),i=(t=e?(t=gh(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===th(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function gh(t){return(gh=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Ah=function(){var t=r,i=AA;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&eh(t,i);var n,e=rh(r);function r(t){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");var t=t||{},i=j({},t);return delete i.preload,delete i.useInterimTilesOnError,(i=e.call(this,i)).on,i.once,i.un,i.setPreload(void 0!==t.preload?t.preload:0),i.setUseInterimTilesOnError(void 0===t.useInterimTilesOnError||t.useInterimTilesOnError),i}return t=r,(i=[{key:"getPreload",value:function(){return this.get(qs)}},{key:"setPreload",value:function(t){this.set(qs,t)}},{key:"getUseInterimTilesOnError",value:function(){return this.get($s)}},{key:"setUseInterimTilesOnError",value:function(t){this.set($s,t)}},{key:"getData",value:function(t){return nh(gh(r.prototype),"getData",this).call(this,t)}}])&&ih(t.prototype,i),n&&ih(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function Ch(t){return(Ch="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function oh(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Ih(){return(Ih="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=ah(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function sh(t,i){return(sh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function hh(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=ah(n),i=(t=e?(t=ah(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Ch(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return uh(i)}}function uh(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function ah(t){return(ah=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var ch=function(){var t=r,i=yg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&sh(t,i);var n,e=hh(r);function r(t){var i;if(this instanceof r)return(i=e.call(this)).ready=!0,i.boundHandleImageChange_=i.handleImageChange_.bind(uh(i)),i.layer_=t,i.declutterExecutorGroup=null,i;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"getFeatures",value:function(t){return a()}},{key:"getData",value:function(t){return null}},{key:"prepareFrame",value:function(t){return a()}},{key:"renderFrame",value:function(t,i){return a()}},{key:"loadedTileCallback",value:function(t,i,n){t[i]||(t[i]={}),t[i][n.tileCoord.toString()]=n}},{key:"createLoadedTileFinder",value:function(e,r,g){return function(t,i){var n=this.loadedTileCallback.bind(this,g,t);return e.forEachLoadedTile(r,t,i,n)}.bind(this)}},{key:"forEachFeatureAtCoordinate",value:function(t,i,n,e,r){}},{key:"getDataAtPixel",value:function(t,i,n){return null}},{key:"getLayer",value:function(){return this.layer_}},{key:"handleFontsChanged",value:function(){}},{key:"handleImageChange_",value:function(t){t.target.getState()===uI&&this.renderIfReadyAndVisible()}},{key:"loadImage",value:function(t){var i=t.getState();return i!=uI&&i!=aI&&t.addEventListener(p,this.boundHandleImageChange_),i==hI&&(t.load(),i=t.getState()),i==uI}},{key:"renderIfReadyAndVisible",value:function(){var t=this.getLayer();t.getVisible()&&t.getSourceState()==qg&&t.changed()}},{key:"disposeInternal",value:function(){delete this.layer_,Ih(ah(r.prototype),"disposeInternal",this).call(this)}}])&&oh(t.prototype,i),n&&oh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function fh(t){return(fh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lh(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function vh(){return(vh="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=ph(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function yh(t,i){return(yh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function dh(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=ph(n),i=(t=e?(t=ph(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===fh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function ph(t){return(ph=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var bh=null;var mh=function(){var t=r,i=ch;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&yh(t,i);var n,e=dh(r);function r(t){if(this instanceof r)return(t=e.call(this,t)).container=null,t.renderedResolution,t.tempTransform=rr(),t.pixelTransform=rr(),t.inversePixelTransform=rr(),t.context=null,t.containerReused=!1,t.pixelContext_=null,t.frameState=null,t;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"getImageData",value:function(t,i,n){var e,r;bh||((e=document.createElement("canvas")).width=1,e.height=1,bh=e.getContext("2d")),bh.clearRect(0,0,1,1);try{bh.drawImage(t,i,n,1,1,0,0,1,1),r=bh.getImageData(0,0,1,1).data}catch(t){return null}return r}},{key:"getBackground",value:function(t){var i=this.getLayer().getBackground();return(i="function"==typeof i?i(t.viewState.resolution):i)||void 0}},{key:"useContainer",value:function(t,i,n,e){var r,g=this.getLayer().getClassName();t&&t.className===g&&""===t.style.opacity&&1===n&&(!e||t.style.backgroundColor&&Ye(_r(t.style.backgroundColor),_r(e)))&&((n=t.firstElementChild)instanceof HTMLCanvasElement&&(r=n.getContext("2d"))),r&&r.canvas.style.transform===i?(this.container=t,this.context=r,this.containerReused=!0):this.containerReused&&(this.container=null,this.context=null,this.containerReused=!1),this.container||((n=document.createElement("div")).className=g,(i=n.style).position="absolute",i.width="100%",i.height="100%",e&&(i.backgroundColor=e),t=(r=mA()).canvas,n.appendChild(t),(i=t.style).position="absolute",i.left="0",i.transformOrigin="top left",this.container=n,this.context=r)}},{key:"clipUnrotated",value:function(t,i,n){var e=Or(n),r=Rr(n),g=mr(n),n=br(n),i=(tt(i.coordinateToPixelTransform,e),tt(i.coordinateToPixelTransform,r),tt(i.coordinateToPixelTransform,g),tt(i.coordinateToPixelTransform,n),this.inversePixelTransform);tt(i,e),tt(i,r),tt(i,g),tt(i,n),t.save(),t.beginPath(),t.moveTo(Math.round(e[0]),Math.round(e[1])),t.lineTo(Math.round(r[0]),Math.round(r[1])),t.lineTo(Math.round(g[0]),Math.round(g[1])),t.lineTo(Math.round(n[0]),Math.round(n[1])),t.clip()}},{key:"dispatchRenderEvent_",value:function(t,i,n){var e=this.getLayer();e.hasListener(t)&&(t=new bA(t,this.inversePixelTransform,n,i),e.dispatchEvent(t))}},{key:"preRender",value:function(t,i){this.frameState=i,this.dispatchRenderEvent_(_g,t,i)}},{key:"postRender",value:function(t,i){this.dispatchRenderEvent_(Hg,t,i)}},{key:"getRenderTransform",value:function(t,i,n,e,r,g,A){e/=i,i=-t[0]+A,A=-t[1];return gr(this.tempTransform,r/2,g/2,e,-e,-n,i,A)}},{key:"getDataAtPixel",value:function(t,i,n){var e=tt(this.inversePixelTransform,t.slice()),r=this.context,g=this.getLayer().getExtent();if(g&&!sr(g,tt(i.pixelToCoordinateTransform,t.slice())))return null;var A,g=Math.round(e[0]),i=Math.round(e[1]),t=this.pixelContext_;t||((e=document.createElement("canvas")).width=1,e.height=1,t=e.getContext("2d"),this.pixelContext_=t),t.clearRect(0,0,1,1);try{t.drawImage(r.canvas,g,i,1,1,0,0,1,1),A=t.getImageData(0,0,1,1).data}catch(t){return"SecurityError"===t.name?(this.pixelContext_=null,new Uint8Array):A}return 0===A[3]?null:A}},{key:"disposeInternal",value:function(){delete this.frameState,vh(ph(r.prototype),"disposeInternal",this).call(this)}}])&&lh(t.prototype,i),n&&lh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function wh(t){return(wh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Mh(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function kh(){return(kh="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,i,n){var e=function(t,i){for(;!Object.prototype.hasOwnProperty.call(t,i)&&null!==(t=Rh(t)););return t}(t,i);if(e)return e=Object.getOwnPropertyDescriptor(e,i),e.get?e.get.call(arguments.length<3?t:n):e.value}).apply(this,arguments)}function jh(t,i){return(jh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Oh(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Rh(n),i=(t=e?(t=Rh(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===wh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Rh(t){return(Rh=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Eh=function(){var t=r,i=mh;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&jh(t,i);var n,e=Oh(r);function r(t){var i;if(this instanceof r)return(i=e.call(this,t)).extentChanged=!0,i.renderedExtent_=null,i.renderedPixelRatio,i.renderedProjection=null,i.renderedRevision,i.renderedTiles=[],i.newTiles_=!1,i.tmpExtent=ar(),i.tmpTileRange_=new Cs(0,0,0,0),i.thirdMap_=t.thirdMap_,i;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"isDrawableTile",value:function(t){var i=this.getLayer(),t=t.getState(),i=i.getUseInterimTilesOnError();return t==it||t==aC||t==uC&&!i}},{key:"getTile",value:function(t,i,n,e){var r=e.pixelRatio,e=e.viewState.projection,g=this.getLayer(),t=g.getSource().getTile(t,i,n,r,e);return t.getState()==uC&&(g.getUseInterimTilesOnError()?0<g.getPreload()&&(this.newTiles_=!0):t.setState(it)),t=this.isDrawableTile(t)?t:t.getInterimTile()}},{key:"getData",value:function(t){var i=this.frameState;if(!i)return null;var n=this.getLayer(),e=tt(i.pixelToCoordinateTransform,t.slice()),t=n.getExtent();if(t&&!sr(t,e))return null;for(var r=i.pixelRatio,g=i.viewState.projection,t=i.viewState,A=n.getRenderSource(),C=A.getTileGridForProjection(t.projection),o=A.getTilePixelRatio(i.pixelRatio),I=C.getZForResolution(t.resolution);I>=C.getMinZoom();--I){var s,h,u,a,c=C.getTileCoordForCoordAndZ(e,I),f=A.getTile(I,c[1],c[2],r,g);if(!(f instanceof pI||f instanceof FI))return null;if(f.getState()!==it);else return a=C.getOrigin(I),s=Uo(C.getTileSize(I)),h=C.getResolution(I),u=Math.floor(o*((e[0]-a[0])/h-c[1]*s[0])),a=Math.floor(o*((a[1]-e[1])/h-c[2]*s[1])),this.getImageData(f.getImage(),u,a)}return null}},{key:"loadedTileCallback",value:function(t,i,n){return!!this.isDrawableTile(n)&&kh(Rh(r.prototype),"loadedTileCallback",this).call(this,t,i,n)}},{key:"prepareFrame",value:function(t){return!!this.getLayer().getSource()}},{key:"renderFrame",value:function(t,Z){var i=t.layerStatesArray[t.layerIndex],n=t.viewState,e=n.projection,r=n.resolution,g=n.center,n=n.rotation,A=t.pixelRatio,C=this.getLayer(),o=C.getSource(),D=o.getRevision(),I=o.getTileGridForProjection(e),s=I.getZForResolution(r,o.zDirection),h=I.getResolution(s),u=t.extent,a=(i.extent&&Mo(i.extent,e)&&(u=jr(u,Mo(i.extent,e))),o.getTilePixelRatio(A)),c=Math.round(t.size[0]*a),f=Math.round(t.size[1]*a),l=(n&&(f=c=Math.round(Math.sqrt(c*c+f*f))),h*c/2/a),v=h*f/2/a,y=[g[0]-l,g[1]-v,g[0]+l,g[1]+v],d=I.getTileRangeForExtentAndZ(u,s),p={},N=(p[s]={},this.createLoadedTileFinder(o,e,p)),G=this.tmpExtent,B=this.tmpTileRange_;this.newTiles_=!1;for(var b=d.minX;b<=d.maxX;++b)for(var m=d.minY;m<=d.maxY;++m){var w=this.getTile(s,b,m,t);if(this.isDrawableTile(w)){var M=$(this);if(w.getState()==it&&(k=(p[s][w.tileCoord.toString()]=w).inTransition(M),this.newTiles_||!k&&-1!==this.renderedTiles.indexOf(w)||(this.newTiles_=!0)),1===w.getAlpha(M,t.time))continue}var k=I.getTileCoordChildTileRange(w.tileCoord,B,G),M=!1;(M=k?N(s+1,k):M)||I.forEachTileCoordParentTileRange(w.tileCoord,N,B,G)}for(var z,j=h/r,O=(gr(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/a,1/a,n,-c/2,-f/2),Ar(this.inversePixelTransform,this.pixelTransform),gr(this.tempTransform,c/2,f/2,j,j,0,-c/2,-f/2),this.renderedTiles.length=0,Object.keys(p).map(Number)),Y=(O.sort(Ge),1!==i.opacity||this.containerReused&&!o.getOpaque(t.viewState.projection)?(z=[],0):O=O.reverse(),[]),R=O.length-1;0<=R;--R){var U,E=O[R],T=o.getTilePixelSize(E,A,e),V=I.getResolution(E)/h,W=T[0]*V*j,X=T[1]*V*j,S=I.getTileCoordForCoordAndZ(Or(y),E),T=I.getTileCoordExtent(S),x=tt(this.tempTransform,[a*(T[0]-y[0])/h,a*(y[3]-T[3])/h]),_=a*o.getGutterForProjection(e),H=p[E];for(U in H){var P=H[U],L=P.tileCoord,F=S[1]-L[1],K=Math.round(x[0]-(F-1)*W),L=S[2]-L[2],Q=Math.round(x[1]-(L-1)*X),F=Math.round(x[0]-F*W),L=Math.round(x[1]-L*X),K=K-F,Q=Q-L,J=s===E,q=J&&1!==P.getAlpha($(this),t.time);this.drawTileImage(P,t,F,L,K,Q,_,J,Y),z&&!q?this.renderedTiles.unshift(P):this.renderedTiles.push(P),this.updateUsedTiles(t.usedTiles,o,P)}}return this.renderedRevision=D,this.renderedResolution=h,this.extentChanged=!this.renderedExtent_||!lr(this.renderedExtent_,y),this.renderedExtent_=y,this.renderedPixelRatio=A,this.renderedProjection=e,this.manageTilePyramid(t,o,I,A,e,u,s,C.getPreload()),this.scheduleExpireCache(t,o),this.thirdMap_&&this.thirdMap_.qn&&this.thirdMap_.qn(Y),this.container}},{key:"drawTileImage",value:function(t,i,n,e,r,g,A,C,o){var I,s,h=this.getTileImage(t);h&&(I=$(this),s=C?t.getAlpha(I,i.time):1,o.push({image:h,x:n,y:e,w:r,h:g,frameState:i}),1!==s?i.animate=!0:C&&t.endTransition(I))}},{key:"getTileImage",value:function(t){return t.getImage()}},{key:"scheduleExpireCache",value:function(t,i){i.canExpireCache()&&(i=function(t,i,n){var e=$(t);e in n.usedTiles&&t.expireCache(n.viewState.projection,n.usedTiles[e])}.bind(null,i),t.postRenderFunctions.push(i))}},{key:"updateUsedTiles",value:function(t,i,n){i=$(i);i in t||(t[i]={}),t[i][n.getKey()]=!0}},{key:"manageTilePyramid",value:function(t,i,n,e,r,g,A,C,o){for(var I,s,h,u,a,c=$(i),f=(c in t.wantedTiles||(t.wantedTiles[c]={}),t.wantedTiles[c]),l=t.tileQueue,v=0,y=n.getMinZoom();y<=A;++y)for(s=n.getTileRangeForExtentAndZ(g,y,s),h=n.getResolution(y),u=s.minX;u<=s.maxX;++u)for(a=s.minY;a<=s.maxY;++a)A-y<=C?(++v,(I=i.getTile(y,u,a,e,r)).getState()==E&&(f[I.getKey()]=!0,l.isKeyQueued(I.getKey())||l.enqueue([I,c,n.getTileCoordCenter(I.tileCoord),h])),void 0!==o&&o(I)):i.useTile(y,u,a,r);i.updateCacheSize(v,r)}}])&&Mh(t.prototype,i),n&&Mh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function Th(t){return(Th="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Sh(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function xh(t,i){return(xh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Ph(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Lh(n),i=(t=e?(t=Lh(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Th(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Lh(t){return(Lh=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Fh=function(){var t=r,i=Ah;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&xh(t,i);var n,e=Ph(r);function r(t){var i;if(this instanceof r)return(i=e.call(this,t)).thirdMap_=t.thirdMap,i;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"createRenderer",value:function(){return new Eh(this)}}])&&Sh(t.prototype,i),n&&Sh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(),Zh="XY",Dh="XYZ",Nh="XYM",Gh="XYZM";function Bh(t,i,n,e,r,g){for(var A=g||[],C=0,o=i;o<n;o+=e){var I=t[o],s=t[o+1];A[C++]=r[0]*I+r[2]*s+r[4],A[C++]=r[1]*I+r[3]*s+r[5]}return g&&A.length!=C&&(A.length=C),A}function zh(t){return(zh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Yh(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Uh(t,i){return(Uh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Vh(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Wh(n),i=(t=e?(t=Wh(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===zh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Wh(t){return(Wh=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Xh=rr(),_h=function(){var t=C,i=Eg;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Uh(t,i);var n,A=Vh(C);function C(){var t,i,n,e,r,g;if(this instanceof C)return(t=A.call(this)).extent_=ar(),t.extentRevision_=-1,t.simplifiedGeometryMaxMinSquaredTolerance=0,t.simplifiedGeometryRevision=0,t.simplifyTransformedInternal=(g=!(i=function(t,i,n){if(!n)return this.getSimplifiedGeometry(i);var e=this.clone();return e.applyTransform(n),e.getSimplifiedGeometry(i)}),function(){var t=Array.prototype.slice.call(arguments);return g&&this===r&&Ye(t,e)||(g=!0,r=this,e=t,n=i.apply(this,arguments)),n}),t;throw new TypeError("Cannot call a class as a function")}return t=C,(i=[{key:"simplifyTransformed",value:function(t,i){return this.simplifyTransformedInternal(this.getRevision(),t,i)}},{key:"clone",value:function(){return a()}},{key:"closestPointXY",value:function(t,i,n,e){return a()}},{key:"containsXY",value:function(t,i){var n=this.getClosestPoint([t,i]);return n[0]===t&&n[1]===i}},{key:"getClosestPoint",value:function(t,i){i=i||[NaN,NaN];return this.closestPointXY(t[0],t[1],i,1/0),i}},{key:"intersectsCoordinate",value:function(t){return this.containsXY(t[0],t[1])}},{key:"computeExtent",value:function(t){return a()}},{key:"getExtent",value:function(t){var i;return this.extentRevision_!=this.getRevision()&&(i=this.computeExtent(this.extent_),(isNaN(i[0])||isNaN(i[1]))&&fr(i),this.extentRevision_=this.getRevision()),i=this.extent_,(t=t)?(t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t):i}},{key:"rotate",value:function(t,i){a()}},{key:"scale",value:function(t,i,n){a()}},{key:"simplify",value:function(t){return this.getSimplifiedGeometry(t*t)}},{key:"getSimplifiedGeometry",value:function(t){return a()}},{key:"getType",value:function(){return a()}},{key:"applyTransform",value:function(t){a()}},{key:"intersectsExtent",value:function(t){return a()}},{key:"translate",value:function(t,i){a()}},{key:"transform",value:function(t,g){var A=T(t),t=A.getUnits()==wC.TILE_PIXELS?function(t,i,n){var e=A.getExtent(),r=A.getWorldExtent(),e=kr(r)/kr(e);return gr(Xh,r[0],r[3],e,-e,0,0,0),Bh(t,0,t.length,n,Xh,i),co(A,g)(t,i,n)}:co(A,g);return this.applyTransform(t),this}}])&&Yh(t.prototype,i),n&&Yh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),C}();function Hh(t){return(Hh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Kh(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Qh(t,i){return(Qh=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Jh(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=qh(n),i=(t=e?(t=qh(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Hh(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function qh(t){return(qh=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function $h(t){var i;return t==Zh?i=2:t==Dh||t==Nh?i=3:t==Gh&&(i=4),i}var tu=function(){var t=r,i=_h;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Qh(t,i);var n,e=Jh(r);function r(){var t;if(this instanceof r)return(t=e.call(this)).layout=Zh,t.stride=2,t.flatCoordinates=null,t;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"computeExtent",value:function(t){return i=this.flatCoordinates,n=0,e=this.flatCoordinates.length,r=this.stride,yr(fr(t),i,n,e,r);var i,n,e,r}},{key:"getCoordinates",value:function(){return a()}},{key:"getFirstCoordinate",value:function(){return this.flatCoordinates.slice(0,this.stride)}},{key:"getFlatCoordinates",value:function(){return this.flatCoordinates}},{key:"getLastCoordinate",value:function(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}},{key:"getLayout",value:function(){return this.layout}},{key:"getSimplifiedGeometry",value:function(t){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),t<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&t<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;var i=this.getSimplifiedGeometryInternal(t);return i.getFlatCoordinates().length<this.flatCoordinates.length?i:(this.simplifiedGeometryMaxMinSquaredTolerance=t,this)}},{key:"getSimplifiedGeometryInternal",value:function(t){return this}},{key:"getStride",value:function(){return this.stride}},{key:"setFlatCoordinates",value:function(t,i){this.stride=$h(t),this.layout=t,this.flatCoordinates=i}},{key:"setCoordinates",value:function(t,i){a()}},{key:"setLayout",value:function(t,i,n){var e;if(t)e=$h(t);else{for(var r=0;r<n;++r){if(0===i.length)return this.layout=Zh,void(this.stride=2);i=i[0]}t=function(t){var i;2==t?i=Zh:3==t?i=Dh:4==t&&(i=Gh);return i}(e=i.length)}this.layout=t,this.stride=e}},{key:"applyTransform",value:function(t){this.flatCoordinates&&(t(this.flatCoordinates,this.flatCoordinates,this.stride),this.changed())}},{key:"rotate",value:function(t,i){var n=this.getFlatCoordinates();if(n){for(var e=this.getStride(),r=n,g=0,A=n.length,C=e,e=t,t=i,i=n,o=i||[],I=Math.cos(e),s=Math.sin(e),h=t[0],u=t[1],a=0,c=g;c<A;c+=C){var f=r[c]-h,l=r[c+1]-u;o[a++]=h+f*I-l*s,o[a++]=u+f*s+l*I;for(var v=c+2;v<c+C;++v)o[a++]=r[v]}i&&o.length!=a&&(o.length=a),this.changed()}}},{key:"scale",value:function(t,i,n){var e=i;void 0===i&&(e=t);i=(i=n)||wr(this.getExtent()),n=this.getFlatCoordinates();if(n){for(var r=this.getStride(),g=n,A=0,C=n.length,o=r,I=t,s=e,r=i,t=n,h=t||[],u=r[0],a=r[1],c=0,f=A;f<C;f+=o){var l=g[f]-u,v=g[f+1]-a;h[c++]=u+I*l,h[c++]=a+s*v;for(var y=f+2;y<f+o;++y)h[c++]=g[y]}t&&h.length!=c&&(h.length=c),this.changed()}}},{key:"translate",value:function(t,i){var n=this.getFlatCoordinates();if(n){for(var e=this.getStride(),r=n,g=0,A=n.length,C=e,o=t,I=i,e=n,s=e||[],h=0,u=g;u<A;u+=C){s[h++]=r[u]+o,s[h++]=r[u+1]+I;for(var a=u+2;a<u+C;++a)s[h++]=r[a]}e&&s.length!=h&&(s.length=h),this.changed()}}}])&&Kh(t.prototype,i),n&&Kh(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function iu(t,i,n,e,r,g,A){var C,o,I,s=t[i],h=t[i+1],u=t[n]-s,a=t[n+1]-h;if(0==u&&0==a)C=i;else{var c=((r-s)*u+(g-h)*a)/(u*u+a*a);if(1<c)C=n;else{if(0<c){for(var f=0;f<e;++f)A[f]=(o=t[i+f],I=t[n+f],o+c*(I-o));return void(A.length=e)}C=i}}for(var l=0;l<e;++l)A[l]=t[C+l];A.length=e}function nu(t,i,n,e,r){var g=t[i],A=t[i+1];for(i+=e;i<n;i+=e){var C=t[i],o=t[i+1],I=Lr(g,A,C,o);r<I&&(r=I),g=C,A=o}return r}function eu(t,i,n,e,r){for(var g=0,A=n.length;g<A;++g){var C=n[g];r=nu(t,i,C,e,r),i=C}return r}function ru(t,i,n,e,r,g,A,C,o,I,s){if(i==n)return I;var h,u;if(0===r){if((u=Lr(A,C,t[i],t[i+1]))<I){for(h=0;h<e;++h)o[h]=t[i+h];return o.length=e,u}return I}for(var a=s||[NaN,NaN],c=i+e;c<n;)if(iu(t,c-e,c,e,A,C,a),(u=Lr(A,C,a[0],a[1]))<I){for(I=u,h=0;h<e;++h)o[h]=a[h];c+=o.length=e}else c+=e*Math.max((Math.sqrt(u)-Math.sqrt(I))/r|0,1);if(g&&(iu(t,n-e,i,e,A,C,a),(u=Lr(A,C,a[0],a[1]))<I)){for(I=u,h=0;h<e;++h)o[h]=a[h];o.length=e}return I}function gu(t,i,n,e,r,g,A,C,o,I,s){for(var h=s||[NaN,NaN],u=0,a=n.length;u<a;++u){var c=n[u];I=ru(t,i,c,e,r,g,A,C,o,I,h),i=c}return I}function Au(t,i,n,e){for(var r=0,g=n.length;r<g;++r)for(var A=n[r],C=0;C<e;++C)t[i++]=A[C];return i}function Cu(t,i,n,e,r){for(var g=r||[],A=0,C=0,o=n.length;C<o;++C){var I=Au(t,i,n[C],e);i=g[A++]=I}return g.length=A,g}function ou(t,i,n,e,r,g,A){var C=(n-i)/e;if(C<3){for(;i<n;i+=e)g[A++]=t[i],g[A++]=t[i+1];return A}for(var o,I,s,h,u,a,c=new Array(C),f=(c[0]=1,c[C-1]=1,[i,n-e]),l=0;0<f.length;){for(var v=f.pop(),y=f.pop(),d=0,p=t[y],b=t[y+1],m=t[v],w=t[v+1],M=y+e;M<v;M+=e){var k=t[M],j=t[M+1],O=(k=k,j=j,a=u=h=void 0,a=(s=w)-(I=b),0==(u=(O=m)-(o=p))&&0==a||(1<(h=((k-o)*u+(j-I)*a)/(u*u+a*a))?(o=O,I=s):0<h&&(o+=u*h,I+=a*h)),Lr(k,j,o,I));d<O&&(l=M,d=O)}r<d&&(c[(l-i)/e]=1,y+e<l&&f.push(y,l),l+e<v&&f.push(l,v))}for(var R=0;R<C;++R)c[R]&&(g[A++]=t[i+R*e],g[A++]=t[i+R*e+1]);return A}function Iu(t,i){return i*Math.round(t/i)}function su(t,i,n,e,r,g,A,C){for(var o=0,I=n.length;o<I;++o){var s=n[o];A=function(t,i,n,e,r,g,A){if(i==n)return A;var C,o=Iu(t[i],r),I=Iu(t[i+1],r);i+=e,g[A++]=o,g[A++]=I;do{if(C=Iu(t[i],r),c=Iu(t[i+1],r),(i+=e)==n)return g[A++]=C,g[A++]=c,A}while(C==o&&c==I);for(;i<n;){var s,h,u,a,c,f=Iu(t[i],r),l=Iu(t[i+1],r);i+=e,f==C&&l==c||(C=((s=C-o)*(a=l-I)==(h=c-I)*(u=f-o)&&(s<0&&u<s||s==u||0<s&&s<u)&&(h<0&&a<h||h==a||0<h&&h<a)||(o=g[A++]=C,I=g[A++]=c),f),c=l)}return g[A++]=C,g[A++]=c,A}(t,i,s,e,r,g,A),C.push(A),i=s}return A}function hu(t,i,n,e,r){for(var g=void 0!==r?r:[],A=0,C=i;C<n;C+=e)g[A++]=t.slice(C,C+e);return g.length=A,g}function uu(t,i,n,e,r){for(var g=void 0!==r?r:[],A=0,C=0,o=n.length;C<o;++C){var I=n[C];g[A++]=hu(t,i,I,e,g[A]),i=I}return g.length=A,g}function au(t,i,n,e){for(var r=0,g=t[n-e],A=t[n-e+1];i<n;i+=e){var C=t[i],o=t[i+1];r+=A*C-g*o,g=C,A=o}return r/2}function cu(t,i,n,e){for(var r=0,g=0,A=n.length;g<A;++g){var C=n[g];r+=au(t,i,C,e),i=C}return r}function fu(t){return(fu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function lu(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function vu(t,i){return(vu=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function yu(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=du(n),i=(t=e?(t=du(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===fu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function du(t){return(du=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var pu=function(){var t=r,i=tu;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&vu(t,i);var n,e=yu(r);function r(t,i){var n;if(this instanceof r)return(n=e.call(this)).maxDelta_=-1,n.maxDeltaRevision_=-1,void 0===i||Array.isArray(t[0])?n.setCoordinates(t,i):n.setFlatCoordinates(i,t),n;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"clone",value:function(){return new r(this.flatCoordinates.slice(),this.layout)}},{key:"closestPointXY",value:function(t,i,n,e){return e<Ir(this.getExtent(),t,i)?e:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(nu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ru(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,t,i,n,e))}},{key:"getArea",value:function(){return au(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}},{key:"getCoordinates",value:function(){return hu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}},{key:"getSimplifiedGeometryInternal",value:function(t){var i=[];return i.length=ou(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,t,i,0),new r(i,Zh)}},{key:"getType",value:function(){return to}},{key:"intersectsExtent",value:function(t){return!1}},{key:"setCoordinates",value:function(t,i){this.setLayout(i,t,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Au(this.flatCoordinates,0,t,this.stride),this.changed()}}])&&lu(t.prototype,i),n&&lu(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function bu(t){return(bu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function mu(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function wu(t,i){return(wu=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Mu(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=ku(n),i=(t=e?(t=ku(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===bu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function ku(t){return(ku=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var ju=function(){var t=r,i=tu;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&wu(t,i);var n,e=Mu(r);function r(t,i){var n;if(this instanceof r)return(n=e.call(this)).setCoordinates(t,i),n;throw new TypeError("Cannot call a class as a function")}return t=r,(i=[{key:"clone",value:function(){var t=new r(this.flatCoordinates.slice(),this.layout);return t.applyProperties(this),t}},{key:"closestPointXY",value:function(t,i,n,e){var r=this.flatCoordinates,t=Lr(t,i,r[0],r[1]);if(t<e){for(var g=this.stride,A=0;A<g;++A)n[A]=r[A];return n.length=g,t}return e}},{key:"getCoordinates",value:function(){return this.flatCoordinates?this.flatCoordinates.slice():[]}},{key:"computeExtent",value:function(t){return i=this.flatCoordinates,n=i[0],i=i[1],cr(n,i,n,i,t);var i,n}},{key:"getType",value:function(){return $C}},{key:"intersectsExtent",value:function(t){return hr(t,this.flatCoordinates[0],this.flatCoordinates[1])}},{key:"setCoordinates",value:function(t,i){this.setLayout(i,t,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=function(t,i,n){for(var e=0,r=n.length;e<r;++e)t[i++]=n[e];return i}(this.flatCoordinates,0,t,this.stride),this.changed()}}])&&mu(t.prototype,i),n&&mu(t,n),Object.defineProperty(t,"prototype",{writable:!1}),r}();function Ou(t,i,n,e,r,g){for(var A=0,C=t[n-e],o=t[n-e+1];i<n;i+=e){var I=t[i],s=t[i+1];o<=g?g<s&&0<(I-C)*(g-o)-(r-C)*(s-o)&&A++:s<=g&&(I-C)*(g-o)-(r-C)*(s-o)<0&&A--,C=I,o=s}return 0!==A}function Ru(t,i,n,e,r,g){if(0===n.length)return!1;if(!Ou(t,i,n[0],e,r,g))return!1;for(var A=1,C=n.length;A<C;++A)if(Ou(t,n[A-1],n[A],e,r,g))return!1;return!0}function Eu(t,i,n,e,r,g,A){for(var C,o,I,s=r[g+1],h=[],u=0,a=n.length;u<a;++u)for(var c=n[u],f=t[c-e],l=t[c-e+1],v=i;v<c;v+=e)p=t[v],I=t[v+1],(s<=l&&I<=s||l<=s&&s<=I)&&h.push(o=(s-l)/(I-l)*(p-f)+f),f=p,l=I;var y=NaN,d=-1/0;for(h.sort(Ge),f=h[0],v=1,C=h.length;v<C;++v){var p=h[v],b=Math.abs(p-f);d<b&&Ru(t,i,n,e,o=(f+p)/2,s)&&(y=o,d=b),f=p}return isNaN(y)&&(y=r[g]),A?(A.push(y,s,d),A):[y,s,d]}function Tu(t,i,n,e,a){var r,g,A=yr(ar(),t,i,n,e);return Er(a,A)&&(g=A,(r=a)[0]<=g[0]&&g[2]<=r[2]&&r[1]<=g[1]&&g[3]<=r[3]||(A[0]>=a[0]&&A[2]<=a[2]||(A[1]>=a[1]&&A[3]<=a[3]||function(t,i,n,e,r){var g;for(i+=e;i<n;i+=e)if(g=r(t.slice(i-e,i),t.slice(i,i+e)))return g;return}(t,i,n,e,function(t,i){return i=i,s=!1,h=ur(n=a,t=t),u=ur(n,i),h===f.INTERSECTING||u===f.INTERSECTING?s=!0:(e=n[0],r=n[1],g=n[2],n=n[3],A=t[0],t=t[1],C=i[0],t=((i=i[1])-t)/(C-A),(s=(s=(s=u&f.ABOVE&&!(h&f.ABOVE)?e<=(o=C-(i-n)/t)&&o<=g:s)||!(u&f.RIGHT)||h&f.RIGHT?s:r<=(I=i-(C-g)*t)&&I<=n)||!(u&f.BELOW)||h&f.BELOW?s:e<=(o=C-(i-r)/t)&&o<=g)||!(u&f.LEFT)||h&f.LEFT||(s=r<=(I=i-(C-e)*t)&&I<=n)),s;var n,e,r,g,A,C,o,I,s,h,u}))))}function Su(t,i,n,e,r){if(g=t,i=i,A=n[0],!(Tu(g,i,A,C=e,o=r)||(Ou(g,i,A,C,o[0],o[1])||(Ou(g,i,A,C,o[0],o[3])||(Ou(g,i,A,C,o[2],o[1])||!!Ou(g,i,A,C,o[2],o[3]))))))return!1;var g,A,C,o;if(1===n.length)return!0;for(var I=1,s=n.length;I<s;++I)if(function(i,n,e,r,t){return!dr(t,function(t){return!Ou(i,n,e,r,t[0],t[1])})}(t,n[I-1],n[I],e,r)&&!Tu(t,n[I-1],n[I],e,r))return!1;return!0}function xu(t,i,n,e){for(var r=0,g=t[n-e],A=t[n-e+1];i<n;i+=e){var C=t[i],o=t[i+1];r+=(C-g)*(o+A),g=C,A=o}return 0===r?void 0:0<r}function Pu(t,i,n,e,r){for(var g=void 0!==r&&r,A=0,C=n.length;A<C;++A){var o=n[A],I=xu(t,i,o,e);if(0===A){if(g&&I||!g&&!I)return}else if(g&&!I||!g&&I)return;i=o}return 1}function Lu(t,i,n,e,r){for(var g=void 0!==r&&r,A=0,C=n.length;A<C;++A){var o=n[A],I=xu(t,i,o,e);if(0===A?g&&I||!g&&!I:g&&!I||!g&&I){f=c=a=u=h=s=void 0;for(var s=t,h=i,u=o,a=e;h<u-a;){for(var c=0;c<a;++c){var f=s[h+c];s[h+c]=s[u-a+c],s[u-a+c]=f}h+=a,u-=a}}i=o}return i}function Fu(t){return(Fu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Zu(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}function Du(t,i){return(Du=Object.setPrototypeOf||function(t,i){return t.__proto__=i,t})(t,i)}function Nu(n){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}();return function(){var t,i=Gu(n),i=(t=e?(t=Gu(this).constructor,Reflect.construct(i,arguments,t)):i.apply(this,arguments),this);if(t&&("object"===Fu(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==i)return i;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function Gu(t){return(Gu=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}var Bu=function(){var t=g,i=tu;if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(i&&i.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),i&&Du(t,i);var n,r=Nu(g);function g(t,i,n){var e;if(this instanceof g)return(e=r.call(this)).ends_=[],e.flatInteriorPointRevision_=-1,e.flatInteriorPoint_=null,e.maxDelta_=-1,e.maxDeltaRevision_=-1,e.orientedRevision_=-1,e.orientedFlatCoordinates_=null,void 0!==i&&n?(e.setFlatCoordinates(i,t),e.ends_=n):e.setCoordinates(t,i),e;throw new TypeError("Cannot call a class as a function")}return t=g,(i=[{key:"appendLinearRing",value:function(t){this.flatCoordinates?ze(this.flatCoordinates,t.getFlatCoordinates()):this.flatCoordinates=t.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}},{key:"clone",value:function(){var t=new g(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return t.applyProperties(this),t}},{key:"closestPointXY",value:function(t,i,n,e){return e<Ir(this.getExtent(),t,i)?e:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(eu(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),gu(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,t,i,n,e))}},{key:"containsXY",value:function(t,i){return Ru(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,i)}},{key:"getArea",value:function(){return cu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}},{key:"getCoordinates",value:function(t){var i;return void 0!==t?Lu(i=this.getOrientedFlatCoordinates().slice(),0,this.ends_,this.stride,t):i=this.flatCoordinates,uu(i,0,this.ends_,this.stride)}},{key:"getEnds",value:function(){return this.ends_}},{key:"getFlatInteriorPoint",value:function(){var t;return this.flatInteriorPointRevision_!=this.getRevision()&&(t=wr(this.getExtent()),this.flatInteriorPoint_=Eu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t,0),this.flatInteriorPointRevision_=this.getRevision()),this.flatInteriorPoint_}},{key:"getInteriorPoint",value:function(){return new ju(this.getFlatInteriorPoint(),Nh)}},{key:"getLinearRingCount",value:function(){return this.ends_.length}},{key:"getLinearRing",value:function(t){return t<0||this.ends_.length<=t?null:new pu(this.flatCoordinates.slice(0===t?0:this.ends_[t-1],this.ends_[t]),this.layout)}},{key:"getLinearRings",value:function(){for(var t=this.layout,i=this.flatCoordinates,n=this.ends_,e=[],r=0,g=0,A=n.length;g<A;++g){var C=n[g],o=new pu(i.slice(r,C),t);e.push(o),r=C}return e}},{key:"getOrientedFlatCoordinates",value:function(){var t;return this.orientedRevision_!=this.getRevision()&&(Pu(t=this.flatCoordinates,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=t:(this.orientedFlatCoordinates_=t.slice(),this.orientedFlatCoordinates_.length=Lu(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()),this.orientedFlatCoordinates_}},{key:"getSimplifiedGeometryInternal",value:function(t){var i=[],n=[];return i.length=su(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(t),i,0,n),new g(i,Zh,n)}},{key:"getType",value:function(){return io}},{key:"intersectsExtent",value:function(t){return Su(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,t)}},{key:"setCoordinates",value:function(t,i){this.setLayout(i,t,2),this.flatCoordinates||(this.flatCoordinates=[]);i=Cu(this.flatCoordinates,0,t,this.stride,this.ends_);this.flatCoordinates.length=0===i.length?0:i[i.length-1],this.changed()}}])&&Zu(t.prototype,i),n&&Zu(t,n),Object.defineProperty(t,"prototype",{writable:!1}),g}();function zu(t){var i=t[0],n=t[1],e=t[2],t=t[3],t=[i,n,i,t,e,t,e,n,i,n];return new Bu(t,Zh,[t.length])}function Yu(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var n=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.$n=void 0!==(t=t||{}).width?t.width:2500,this.te=void 0!==t.length?t.length:2500,this.ie=void 0!==t.offset?t.offset:1,this.ne=void 0===t.visible||t.visible,this.Pi=void 0!==t.mode?t.mode:u.AMAP_VECTOR,this.ee=.4*this.$n,this.re=.9*this.$n,this.ge=null,this.Ae=new Xi,this.Ae.background=new Ki(13426943),this.Ae.fog=new $i(13426943,this.ee,this.re),this.Ce=new Ze,this.Ae.add(this.Ce),this.oe=new xe,this.Ie=null,this.se=this.ie,this.he=null,this.ue=new _n(new y(0,1,0),0),this.ae=!1,this.ce=this.ce.bind(this),this.fe=this.fe.bind(this),this.le=[]}var t,n,e;return t=i,(n=[{key:"visible",get:function(){return this.ne},set:function(t){this.ne=t,this.Ae.visible=this.ne,this.Ie.enableUpdateRender()}},{key:"addTo",value:function(t){this.Ie=t,this.Ie.getRenderManager().setTileLayScene(this.Ae),this.se=this.Ie.getFloor(this.Ie.getVisibleLevels()[0]).height-this.ie,this.v(),t.enableUpdateRender()}},{key:"remove",value:function(){this.dispose(),this.Ie.off("resize",this.ce),this.Ie.off("viewChanged",this.ce),this.Ie.off("viewModeChanged",this.fe),this.Ie.off("visibleLevelsLoaded",this.ce),this.Ie.off("zoom",this.ce),this.Ie=null,this.ae=!1}},{key:"dispose",value:function(){this.he&&this.he.dispose(),this.he=null;for(var t=0;t<this.le.length;t++)this.le[t].parent&&this.le[t].parent.remove(this.le[t]);this.Ce.parent&&this.Ce.parent.remove(this.Ce),this.le.length=0,this.Ie.getRenderManager().setTileLayScene(void 0),this.Ie.enableUpdateRender()}}])&&Yu(t.prototype,n),e&&Yu(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),i=(Object.assign(n.prototype,{v:function(){var t;this.ae||(this.ge=this.Ie.getContainer(),this.he=this.ve(),this.ye(),this.Ie.camera.far=1e3*Fe.CAMERA_FAR,this.Ie.camera.updateProjectionMatrix(),(t=this.Ie.getZoomRange())[0]<5&&(t=[5,t[1]],this.Ie.setZoomRange(t)),this.Ie.on("resize",this.ce),this.Ie.on("viewChanged",this.ce),this.Ie.on("viewModeChanged",this.fe),this.Ie.on("visibleLevelsLoaded",this.ce),this.Ie.on("zoom",this.ce),this.ae=!0)},ce:function(t){"viewChanged"===t.type?this.ye(t):"visibleLevelsLoaded"===t.type?this.de():"zoom"===t.type&&this.ye()},qn:function(t){var i,n,e;this.Ie&&(this.pe(t),t=1,i=this.Ie.getContainer().clientWidth,n=this.Ie.getContainer().clientHeight,i=Math.max(i,n)/Math.min(i,n),"OrthographicCamera"===(n=this.Ie.camera).type?(t=1/n.zoom*i,this.Ae.fog.near=1e4*this.ee,this.Ae.fog.far=1e4*this.re):(t=(e=this.oe.ray.distanceToPlane(this.ue))*Math.tan(n.fov*Fe.DEG2RAD/2)*2*i/(this.$n/2),i<1.5&&(i=1.5),e=e*Math.tan(n.fov*Fe.DEG2RAD/2)*2*i/(this.$n/2),this.Ae.fog.near=this.ee*e,this.Ae.fog.far=this.re*e),this.Ce.scale.set(t,t,t),this.Ie.getRenderManager().render())},pe:function(t){for(var i=0;i<this.le.length;i++)this.le[i].visible=!1;if(0===this.le.length)for(var n=0;n<t.length;n++){var e=new Dn(256,256),r=new Bn({map:new Un(y(t[n].image))}),e=(r.polygonOffset=!0,r.polygonOffsetFactor=1,r.polygonOffsetUnits=4,new Ee(e,r));e.material.map.minFilter=1006,e.material.needsUpdate=!0,e.src=t[n].image.src,e.scale.set(t[n].w/256,t[n].h/256,1),e.position.x=t[n].x+t[n].w/2-this.$n/2,e.position.z=t[n].y+t[n].h/2-this.te/2,e.rotation.x=-Math.PI/2,this.Ce.add(e),this.le.push(e)}else{for(var g=[],A=[],C=0;C<t.length;C++){var o,I=function(t,i){for(var n=null,e=0;e<t.length;e++)if(t[e].src===i){n=e;break}return n}(this.le,t[C].image.src);null!==I&&((o=this.le[I]).scale.set(t[C].w/256,t[C].h/256,1),o.position.x=t[C].x+t[C].w/2-this.$n/2,o.position.z=t[C].y+t[C].h/2-this.te/2,o.visible=!0,g.push(o),this.le.splice(I,1),A.push(C))}t=v(A,t);for(var s=A.length=0;s<t.length&&0!==this.le.length;s++){var h=this.le.splice(0,1)[0];h.material.map.dispose(),h.material.dispose();var u=new Bn({map:new Un(y(t[s].image))});u.polygonOffset=!0,u.polygonOffsetFactor=1,u.polygonOffsetUnits=4,u.map.minFilter=1006,u.needsUpdate=!0,h.material=u,h.scale.set(t[s].w/256,t[s].h/256,1),h.position.x=t[s].x+t[s].w/2-this.$n/2,h.position.z=t[s].y+t[s].h/2-this.te/2,h.src=t[s].image.src,h.visible=!0,g.push(h),A.push(s)}t=v(A,t);for(var a=0;a<t.length;a++){var c=new Dn(256,256),f=new Bn({map:new Un(y(t[a].image))}),c=(f.polygonOffset=!0,f.polygonOffsetFactor=1,f.polygonOffsetUnits=4,new Ee(c,f));c.material.map.minFilter=1006,c.material.needsUpdate=!0,c.src=t[a].image.src,c.scale.set(t[a].w/256,t[a].h/256,1),c.position.x=t[a].x+t[a].w/2-this.$n/2,c.position.z=t[a].y+t[a].h/2-this.te/2,c.rotation.x=-Math.PI/2,this.Ce.add(c),g.push(c)}if(0<this.le.length){for(var l=0;l<this.le.length;l++)this.le[l].parent&&this.le[l].parent.remove(this.le[l]);this.le.length=0}this.le=g}function v(t,i){for(var n=[],e=0;e<i.length;e++)!function(t,i){for(var n=!0,e=0;e<t.length;e++)if(t[e]===i){n=!1;break}return n}(t,e)||n.push(i[e]);return n}function y(t){var i=document.createElement("canvas");return i.width=256,i.height=256,i.getContext("2d").drawImage(t,0,0,256,256),i}this.Ce.position.y=this.se},ve:function(){var e=this,t=T("EPSG:3857");if(this.Pi===u.AMAP_SATELLITE||this.Pi===u.AMAP_VECTOR){var i={url:this.be(),crossOrigin:"anonymous",maxZoom:19,thirdMap:this};this.Pi===u.AMAP_SATELLITE&&(i.maxZoom=18),i=new Ws(i)}else if(this.Pi===u.BAIDU_VECTOR||this.Pi===u.BAIDU_SATELLITE){for(var n=[],r=0;r<19;r++)n[r]=Math.pow(2,18-r);var g=new ss({origin:[0,0],resolutions:n}),i=new Gs({projection:t,crossOrigin:"anonymous",tileGrid:g,tileUrlFunction:function(t){if(!t)return"";var i=t[0],n=t[1],t=-t[2]-1;return e.me(n=n<0?"M"+-n:n,t=t<0?"M"+-t:t,i)}})}else i=this.Pi===u.OSM?new Js:new Ws({url:this.we()[0],crossOrigin:"anonymous",tileSize:[512,512],maxZoom:18});g=new rI({size:[this.$n,this.te],view:new Yo({projection:t}),layers:[new Fh({source:i,thirdMap:this}),new Fh({source:void 0,thirdMap:this})]}),g.setTarget(this.ge),t=zu([this.Ie.getX()-this.$n/4,(this.Ie.getY()-this.se)/4,this.Ie.getX()+this.$n/4,this.Ie.getY()+this.se/4]);return g.getView().fit(t),g},be:function(){var t=this.Pi===u.AMAP_SATELLITE?"http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}":"https://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=2&style=7&x={x}&y={y}&z={z}";return t},me:function(t,i,n){t=this.Pi===u.BAIDU_SATELLITE?"https://gss0.bdstatic.com/5bwHcj7lABFY8t_jkk_Z1zRvfdw6buu/it/u=x="+t+";y="+i+";z="+n+";v=009;type=sate&fm=46&udt=20210415&scaler=2":"https://maponline"+parseInt(4*Math.random())+".bdimg.com/tile/?qt=vtile&x="+t+"&y="+i+"&z="+n+"&styles=pl&scaler=2&udt=20210415&from=jsapi2_0&scaler=2";return t},we:function(){var t;return this.Pi===u.TD_SATELLITE?(t=[]).push("http://t{0-7}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&Layer=img&STYLE=default&TILEMATRIXSET=w&FORMAT=png&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=9a8b557e9db74e442bd9544001392255"):(t=[]).push("http://t{0-7}.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&Layer=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=png&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=9a8b557e9db74e442bd9544001392255"),t},Me:function(){this.ke.setSize(this.Ie.getContainer().clientWidth,this.Ie.getContainer().clientHeight)},fe:function(){var t=this.Ie.camera,i=this.Ie.getContainer().clientWidth,n=this.Ie.getContainer().clientHeight,i=Math.max(i,n)/Math.min(i,n);t.far===Fe.CAMERA_FAR&&(t.far=1e3*Fe.CAMERA_FAR,t.updateProjectionMatrix()),"OrthographicCamera"===t.type?(this.Ae.fog.near=1e4*this.ee,this.Ae.fog.far=1e4*this.re):(i<1.5&&(i=1.5),n=this.oe.ray.distanceToPlane(this.ue)*Math.tan(t.fov*Fe.DEG2RAD/2)*2*i/(this.$n/2),this.Ae.fog.near=this.ee*n,this.Ae.fog.far=this.re*n)},ye:function(t){var i,n,e,r;this.je&&t&&t.target&&t.target.target&&t.target.target.x===this.je.x&&t.target.target.z===this.je.z||(t&&t.target&&t.target.target&&(this.je={x:t.target.target.x,y:t.target.target.y,z:t.target.target.z}),t=new y(0,0,.5),n=this.Ie.camera,this.oe.setFromCamera(t,n),t=new y,this.oe.ray.intersectPlane(this.ue,t),r=1,e=this.Ie.getContainer().clientWidth,i=this.Ie.getContainer().clientHeight,e=Math.max(e,i)/Math.min(e,i),r="OrthographicCamera"===n.type?1/n.zoom*e:this.oe.ray.distanceToPlane(this.ue)*Math.tan(n.fov*Fe.DEG2RAD/2)*2*e/(this.$n/2),i=t.x+this.Ie.getX(),n=-t.z+this.Ie.getY(),e=this.$n/2*r,this.Ce.position.x=t.x,this.Ce.position.z=t.z,r=zu([i-e,n-e,i+e,n+e]),this.he.getView().fit(r))},de:function(){this.se=this.Ie.getFloor(this.Ie.getVisibleLevels()[0]).height-this.ie,this.Ce.position.y=this.se}}),n),Uu={Default:1,Legacy:2,Classic:4,Custom:8};function Vu(t,i,n){i in t?Object.defineProperty(t,i,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[i]=n}function Wu(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}n=function(){function n(t,i){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function");this.Oe=t,this.Re=i,this.Ee=(Vu(t={},Uu.Default,{FMExtentLayer:[{name:"DirectionalLight",color:11579568,intensity:.95,position:{x:58,y:65,z:40},id:0},{name:"AmbientLight",color:11579568,intensity:.85,id:1},{name:"DirectionalLight",color:6447714,intensity:.65,position:{x:-100,y:0,z:45},id:2}],FMDynamicModelLayer:[{name:"DirectionalLight",color:11579568,intensity:.95,position:{x:58,y:65,z:45},id:0},{name:"AmbientLight",color:11579568,intensity:.85,id:1},{name:"DirectionalLight",color:6447714,position:{x:-100,y:0,z:45},intensity:.45,id:2}],FMModelLayer:[{name:"DirectionalLight",color:11645361,intensity:.95,position:{x:58,y:65,z:40},id:0},{name:"AmbientLight",color:11645361,intensity:.85,id:1},{name:"DirectionalLight",color:6513507,position:{x:-100,y:0,z:45},intensity:.65,id:2}],FMExternalModelLayer:[{name:"DirectionalLight",color:11579568,intensity:.95,position:{x:58,y:65,z:45},id:0},{name:"AmbientLight",color:11579568,intensity:.85,id:1},{name:"DirectionalLight",color:6447714,position:{x:-100,y:0,z:45},intensity:.45,id:2}]}),Vu(t,Uu.Legacy,{FMExtentLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:7631988,intensity:1,id:1},{name:"DirectionalLight",color:3355443,intensity:1,position:{x:-.5,y:1,z:-1},id:2}],FMExternalModelLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:16777215,intensity:.46,id:1},{name:"DirectionalLight",color:3355443,position:{x:-.5,y:1,z:-1},intensity:1,id:2}],FMModelLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:7631988,intensity:1,id:1},{name:"DirectionalLight",color:3355443,position:{x:-.5,y:1,z:-1},intensity:1,id:2}],FMDynamicModelLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:7631988,intensity:1,id:1},{name:"DirectionalLight",color:3355443,position:{x:-.5,y:1,z:-1},intensity:1,id:2}]}),Vu(t,Uu.Classic,{FMExtentLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:7631988,intensity:1,id:1},{name:"DirectionalLight",color:3355443,intensity:1,position:{x:-.5,y:1,z:-1},id:2}],FMExternalModelLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:16777215,intensity:.46,id:1},{name:"DirectionalLight",color:3355443,position:{x:-.5,y:1,z:-1},intensity:1,id:2}],FMModelLayer:[{name:"DirectionalLight",color:8947848,intensity:1.2,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:7631988,intensity:1,id:1},{name:"DirectionalLight",color:3355443,position:{x:-.5,y:1,z:-1},intensity:1,id:2}],FMDynamicModelLayer:[{name:"DirectionalLight",color:8947848,intensity:.9,position:{x:-1,y:1,z:1},id:0},{name:"AmbientLight",color:16777215,intensity:.33,id:1},{name:"DirectionalLight",color:3355443,position:{x:-.5,y:1,z:-1},intensity:1,id:2}]}),t)}var t,i,e;return t=n,(i=[{key:"getConfig",value:function(){return this.Oe==Uu.Custom?this.Re:this.Ee[this.Oe]}}])&&Wu(t.prototype,i),e&&Wu(t,e),Object.defineProperty(t,"prototype",{writable:!1}),n}();function Xu(t,i){for(var n=0;n<i.length;n++){var e=i[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(t,e.key,e)}}var _u,Hu=function(){function i(t){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");this.Te=t=t||{},this.Se=40,void 0!==t.maxWidth&&(this.Se=t.minWidth),this.xe=100,void 0!==t.maxWidth&&(this.xe=t.maxWidth),this.se=20,void 0!==t.height&&(this.se=t.height),this.Pe=11,void 0!==t.fontSize&&(this.Pe=t.fontSize),this.Le=l.LEFT_BOTTOM,void 0!==t.position&&(this.Le=t.position),this.e=null,this.j=null,this.Fe=[1e7,5e6,2e6,1e6,5e5,2e5,1e5,5e4,25e3,2e4,1e4,5e3,2e3,1e3,500,200,100,50,20,10,5,2,1,.5,.2,.1,.05,.02,.01],this.Ze=this.Ze.bind(this)}var t,n,e;return t=i,(n=[{key:"addTo",value:function(t){this.e=t,this.v()}},{key:"remove",value:function(){this.e.off("zoom",this.Ze),this.e.getContainer().removeChild(this.j)}}])&&Xu(t.prototype,n),e&&Xu(t,e),Object.defineProperty(t,"prototype",{writable:!1}),i}(),Ku=(Object.assign(Hu.prototype,{v:function(){this.j=document.createElement("div"),this.j.style.cssText="position:absolute;",this.j.style.width=this.Se+"px",this.j.style.height=this.se+"px",this.j.style.pointerEvents="none",this.j.style.zIndex=20,this.De(this.Le,this.Te.offset,this.j),this.e.getContainer().appendChild(this.j);var t=document.createElement("div"),t=(t.setAttribute("id","ruleWord"),t.style.cssText="position:absolute;white-space: nowrap;overflow: visible;text-align: center;color: #000;width: 100%;cursor: default;line-height: 18px;text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;font-size: "+this.Pe+"px;font-family: Arial,sans-serif;",this.j.appendChild(t),document.createElement("div")),t=(t.style.cssText="position: absolute;overflow: hidden;left: -1px;width: 3px;height: 7px;bottom: 0;font-size: 0;background-color:#FFFFFF",this.j.appendChild(t),document.createElement("div")),t=(t.style.cssText="position: absolute;overflow: hidden;left: 0px;width: 1px;height: 6px;bottom: 0;font-size: 0;background-color:#000000",this.j.appendChild(t),document.createElement("div")),t=(t.style.cssText="position: absolute;overflow: hidden;right: -1px;width: 3px;height: 7px;bottom: 0;font-size: 0;background-color:#FFFFFF",this.j.appendChild(t),document.createElement("div")),t=(t.style.cssText="position: absolute;overflow: hidden;right: 0;width: 1px;height: 6px;bottom: 0;font-size: 0;background-color:#000000",this.j.appendChild(t),document.createElement("div")),t=(t.style.cssText="position: absolute;overflow: hidden;width: 100%;height: 5px;font-size: 0;bottom: -1px;background-color:#FFFFFF",this.j.appendChild(t),document.createElement("div"));t.style.cssText="position: absolute;overflow: hidden;width: 100%;height: 3px;font-size: 0;bottom: 0;background-color:#000000",this.j.appendChild(t),this.Ze(),this.e.on("zoom",this.Ze)},De:function(t,i,n){switch(n.style.left="",n.style.right="",n.style.top="",n.style.bottom="",t){case l.LEFT_TOP:n.style.left=(i=i||{x:10,y:10}).x+"px",n.style.top=i.y+"px";break;case l.RIGHT_TOP:n.style.right=-(i=i||{x:-10,y:10}).x+"px",n.style.top=i.y+"px";break;case l.LEFT_BOTTOM:n.style.left=(i=i||{x:10,y:-10}).x+"px",n.style.bottom=-i.y+"px";break;case l.RIGHT_BOTTOM:n.style.right=-(i=i||{x:-10,y:-10}).x+"px",n.style.bottom=-i.y+"px";break;default:n.style.left=(i=i||{x:10,y:10}).x+"px",n.style.top=i.y+"px"}},Ze:function(t){var i={x:document.body.clientWidth/2,y:document.body.clientHeight/2},n={x:i.x+100,y:i.y},i=fengmap.FMUtil.coordsScreenToMap(this.e,i),n=fengmap.FMUtil.coordsScreenToMap(this.e,n),i=Math.sqrt((i.x-n.x)*(i.x-n.x)+(i.y-n.y)*(i.y-n.y))/100,n=this.Fe[Math.floor(this.e.getZoom())-1],i=(this.j.style.width=n/i+"px",""),i=n<1e3&&1<=n?n+"米":n<1?1e3*n+"毫米":n/1e3+"公里";document.getElementById("ruleWord").innerHTML=i}}),window.fengmap||{}),Qu={FMCompass:P,FMControlPosition:l,FMZoomControl:V,FMToolbar:W};for(_u in Qu)Ku[_u]=Qu[_u];var Ju,qu={FMNaviMode:q,FMNaviPriority:nt,FMLanguageType:et,FMNavigation:t,FMNavigationDrive:si,FMNavigationWalk:vi};for(Ju in qu)Ku[Ju]=qu[Ju];Ku.FMTileLayer=i,Ku.FMTileProvider=u,Ku.FMLight=n,Ku.FMLightMode=Uu,Ku.FMScaleBar=Hu,window.fengmap=Ku;x.default=Ku}],e={},r.m=n,r.c=e,r.d=function(t,i,n){r.o(t,i)||Object.defineProperty(t,i,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"Ne",{value:!0})},r.t=function(i,t){if(1&t&&(i=r(i)),8&t)return i;if(4&t&&"object"==typeof i&&i&&i.Ne)return i;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:i}),2&t&&"string"!=typeof i)for(var e in i)r.d(n,e,function(t){return i[t]}.bind(null,e));return n},r.n=function(t){var i=t&&t.Ne?function(){return t.default}:function(){return t};return r.d(i,"a",i),i},r.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},r.p="",r(r.s=0).default;function r(t){if(e[t])return e[t].exports;var i=e[t]={i:t,l:!1,exports:{}};return n[t].call(i.exports,i,i.exports,r),i.l=!0,i.exports}var n,e});