@mappedin/react-native-sdk 4.0.14 → 4.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -3539,6 +3539,6 @@ void main() {
3539
3539
  gl_FragColor = alphaBlendPremultipliedAlpha(lowerColor, alwaysOnTopColor);
3540
3540
  }
3541
3541
  \`;var J_=U2(Z_()),Bh=!1,on;Bh&&(on=new J_.default,on.showPanel(0),document.body.appendChild(on.dom));var ua=class{constructor(t){t.multiBufferRendering=t.multiBufferRendering||!1,this.contextLost=!1,this.implementation=t.multiBufferRendering?new Q_(t):new K_(t),this.onWebGLContextCreationError=t.onWebGLContextCreationError,this.onWebGLContextLost=t.onWebGLContextLost,this.onWebGLContextRestored=t.onWebGLContextRestored,this.webGLContextCreationErrorListener=this.domElement().addEventListener("webglcontextcreationerror",l=>this.reportWebGlContextCreationError(l)),this.webGLContextLostListener=this.domElement().addEventListener("webglcontextlost",l=>this.reportWebGlContextLost(l)),this.webGLContextRestoredListener=this.domElement().addEventListener("webglcontextrestored",l=>this.reportWebGLContextRestored(l));let n=t.backgroundColor;n==null&&(n=new _1(16777215));let i=t.backgroundAlpha;i==null&&(i=1),this.shouldConsiderAlpha=t.alpha||!1,this.antialias=t.antialias||!1,this.setBackgroundColor(n,i)}destroy(){this.domElement().removeEventListener("webglcontextcreationerror",this.webGLContextCreationErrorListener),this.domElement().removeEventListener("webglcontextlost",this.webGLContextLostListener),this.domElement().removeEventListener("webglcontextrestored",this.webGLContextRestoredListener),this.implementation.destroy()}render(t,n,i,l){this.implementation.render(t,n,i,l)}getMaxAnisotropy(){return this.implementation.renderer.capabilities.getMaxAnisotropy()}getBufferSize(){return this.implementation.renderer.getSize(new i1)}getContext(){return this.implementation.renderer.getContext()}preloadTexture(t){this.implementation.renderer.initTexture(t)}setBufferSize(t,n){this.implementation.setBufferSize(t,n)}get backgroundColor(){return this.implementation.backgroundColor}get backgroundAlpha(){return this.implementation.backgroundAlpha}setBackgroundColor(t,n){this.shouldConsiderAlpha||(n=1),n=n!==void 0?+n:1,n=n>=0&&n<=1?n:1,this.implementation.setBackgroundColor(t,n)}setMapboxOutdoorContext(t){this.implementation.setMapboxOutdoorContext(t)}domElement(){return this.implementation.renderer.domElement}isAvailable(){return this.implementation.renderer!=null&&!this.contextLost}disposeOfRenderLists(){this.implementation.renderer.renderLists.dispose()}reportWebGlContextCreationError(t){this.onWebGLContextCreationError&&this.onWebGLContextCreationError(t)}reportWebGlContextLost(t){t.preventDefault(),this.onWebGLContextLost&&this.onWebGLContextLost(t),this.contextLost=!0}reportWebGLContextRestored(){this.onWebGLContextRestored&&this.onWebGLContextRestored(),this.contextLost=!1}},K_=class{constructor(t){try{this.renderer=new u7({alpha:t.alpha||!1,antialias:t.antialias,powerPreference:"high-performance",preserveDrawingBuffer:!0})}catch(n){t.onWebGLRendererError&&t.onWebGLRendererError(n)}this.backgroundColor=new _1,this.backgroundAlpha=1,this.mapboxOutdoorContext=null}destroy(){this.renderer.dispose()}render(t,n,i,l){l.layers.enable(q4.STATIC),l.layers.enable(q4.ANIMATED),l.layers.enable(q4.ALWAYS_ON_TOP),this.renderer.autoClear=!1,this.renderer.setClearColor(this.backgroundColor,this.backgroundAlpha),this.renderer.setRenderTarget(n),this.renderer.clear(),Bh&&on.begin(),this.renderer.render(i,l),Bh&&on.end(),this.mapboxOutdoorContext!=null&&(this.renderer.state.reset(),this.mapboxOutdoorContext.render({resolution:this.renderer.getSize(new i1),camera:l}),this.renderer.state.reset())}setBufferSize(t,n){this.renderer.setSize(t,n,!1)}setBackgroundColor(t,n){this.backgroundColor=t,this.backgroundAlpha=n}setMapboxOutdoorContext(t){this.mapboxOutdoorContext=t}},Q_=class{constructor(t){try{this.renderer=new u7({alpha:t.alpha||!1,antialias:!1,powerPreference:"high-performance",preserveDrawingBuffer:!0})}catch(n){t.onWebGLRendererError&&t.onWebGLRendererError(n)}this.backgroundColor=new _1,this.backgroundAlpha=1,this.mapboxOutdoorContext=null,this.staticSceneRenderTarget=new V3(this.renderer.width,this.renderer.height),this.staticSceneRenderTarget.texture.format=Z3,this.staticSceneRenderTarget.texture.minFilter=V2,this.staticSceneRenderTarget.texture.magFilter=V2,this.staticSceneRenderTarget.texture.generateMipmaps=!1,this.staticSceneRenderTarget.stencilBuffer=!0,this.staticSceneRenderTarget.depthBuffer=!0,this.staticSceneRenderTarget.depthTexture=new t5,this.staticSceneRenderTarget.depthTexture.type=V6,this.staticSceneRenderTarget.depthTexture.format=Ge,this.animatedSceneRenderTarget=new V3(this.renderer.width,this.renderer.height),this.animatedSceneRenderTarget.texture.format=Z3,this.animatedSceneRenderTarget.stencilBuffer=!0,this.animatedSceneRenderTarget.texture.minFilter=V2,this.animatedSceneRenderTarget.texture.magFilter=V2,this.animatedSceneRenderTarget.texture.generateMipmaps=!1,this.animatedSceneRenderTarget.stencilBuffer=!0,this.animatedSceneRenderTarget.depthBuffer=!0,this.animatedSceneRenderTarget.depthTexture=new t5,this.animatedSceneRenderTarget.depthTexture.type=V6,this.animatedSceneRenderTarget.depthTexture.format=Ge,this.alwaysOnTopSceneRenderTarget=new V3(this.renderer.width,this.renderer.height),this.alwaysOnTopSceneRenderTarget.texture.format=Z3,this.alwaysOnTopSceneRenderTarget.texture.minFilter=V2,this.alwaysOnTopSceneRenderTarget.texture.magFilter=V2,this.alwaysOnTopSceneRenderTarget.texture.generateMipmaps=!1,this.alwaysOnTopSceneRenderTarget.stencilBuffer=!0,this.alwaysOnTopSceneRenderTarget.depthBuffer=!0,this.alwaysOnTopSceneRenderTarget.depthTexture=new t5,this.alwaysOnTopSceneRenderTarget.depthTexture.type=V6,this.alwaysOnTopSceneRenderTarget.depthTexture.format=Ge,this.compositeUniforms={staticSceneColorTexture:{type:"t",value:this.staticSceneRenderTarget.texture},staticSceneDepthTexture:{type:"t",value:this.staticSceneRenderTarget.depthTexture},animatedSceneColorTexture:{type:"t",value:this.animatedSceneRenderTarget.texture},animatedSceneDepthTexture:{type:"t",value:this.animatedSceneRenderTarget.depthTexture},alwaysOnTopSceneColorTexture:{type:"t",value:this.alwaysOnTopSceneRenderTarget.texture}},this.compositeCamera=new st(-1,1,1,-1,0,1),this.compositeMaterial=new y3({uniforms:this.compositeUniforms,vertexShader:ha,fragmentShader:qa}),this.compositeFullscreenQuad=new i2(new Me(2,2),this.compositeMaterial),this.compositeScene=new Ye,this.compositeScene.add(this.compositeFullscreenQuad)}destroy(){this.staticSceneRenderTarget.dispose(),this.animatedSceneRenderTarget.dispose(),this.alwaysOnTopSceneRenderTarget.dispose(),this.renderer.dispose()}renderComposite(t){this.renderer.setRenderTarget(t),this.renderer.clear(),this.renderer.getContext().depthMask(!1),this.renderer.render(this.compositeScene,this.compositeCamera),this.renderer.getContext().depthMask(!0)}renderToAnimatedBuffer(t,n){n.layers.set(q4.ANIMATED),this.renderer.setClearColor(new _1,0),this.renderer.setRenderTarget(this.animatedSceneRenderTarget),this.renderer.clear(),this.renderer.render(t,n)}renderAnimated(t,n,i){this.renderToAnimatedBuffer(n,i),this.renderComposite(t)}renderToAlwaysOnTopBuffer(t,n){n.layers.set(q4.ALWAYS_ON_TOP),this.renderer.setClearColor(new _1,0),this.renderer.setRenderTarget(this.alwaysOnTopSceneRenderTarget),this.renderer.clear(),this.renderer.render(t,n)}renderAlwaysOnTop(t,n,i){this.renderToAlwaysOnTopBuffer(n,i),this.renderComposite(t)}renderAll(t,n,i){i.layers.set(q4.STATIC),this.renderer.autoClear=!1,this.renderer.setClearColor(this.backgroundColor,this.backgroundAlpha),this.renderer.setRenderTarget(this.staticSceneRenderTarget),this.renderer.clear(),this.renderer.render(n,i),this.mapboxOutdoorContext!=null&&(this.renderer.state.reset(),this.mapboxOutdoorContext.render({resolution:this.renderer.getSize(new i1),camera:i,renderTarget:this.staticSceneRenderTarget}),this.renderer.state.reset()),this.renderToAnimatedBuffer(n,i),this.renderToAlwaysOnTopBuffer(n,i),this.renderComposite(t)}render(t,n,i,l){t===W2.ANIMATED?this.renderAnimated(n,i,l):t===W2.ALWAYS_ON_TOP?this.renderAlwaysOnTop(n,i,l):t===W2.ALL?this.renderAll(n,i,l):console.error("Renderer.render called with invalid renderTask")}setBufferSize(t,n){this.renderer.setSize(t,n,!1),this.staticSceneRenderTarget.setSize(t,n),this.animatedSceneRenderTarget.setSize(t,n),this.alwaysOnTopSceneRenderTarget.setSize(t,n)}setBackgroundColor(t,n){this.backgroundColor=t,this.backgroundAlpha=n}setMapboxOutdoorContext(t){this.mapboxOutdoorContext=t}};y();var nB=32,Y4={BEFORE_CAMERA:5,CAMERA:4,AFTER_CAMERA:3,RENDER:2,AFTER_RENDER:1,AFTER_ALL_UPDATES:0},j4={VISIBLE_MAP_HIGH:5,VISIBLE_MAP_LOW:4,VISIBLE_MAP_MARKER:3,ASYNC_MAP_HIGH:2,ASYNC_MAP_LOW:1,ASYNC_MAP_MARKER:0,MAP_LOADED:-1},c4=!1,iB=120,Fh=0,P4=class{constructor(t={}){this._callback=t.callback,this._frameCount=t.frameCount!=null?t.frameCount:1,this._ordering=t.ordering!=null?t.ordering:0,this._supersededBy=t.supersededBy!=null?new Set(t.supersededBy):new Set,this.name=t.name,this.userdata=t.userdata,this._remainingFrameCount=this._frameCount,this._lastFrameTime=0,c4&&console.log("update instantiated",this.name)}getLastFrameTime(){return this._lastFrameTime}},f4=class{constructor(t={}){if(t.group!=null&&t.priority!=null)throw new Error("cannot specify task priority individually within group");if(t.group!=null&&t.postponeOnAdd!=null)throw new Error("cannot specify task postpone individually within group");this._callback=t.callback,this._group=t.group!=null?t.group:null,this._priority=t.priority!=null?t.priority:0,this._postponed=t.postponeOnAdd!=null?t.postponeOnAdd:!1,this.name=t.name,this.userdata=t.userdata,this._complete=!1,this._scheduled=!1,this._cancelled=!1,this._lastFrameTime=0,c4&&console.log("task instantiated",this.name)}isComplete(){return this._complete}getLastFrameTime(){return this._lastFrameTime}},I5=class{constructor(t={}){this._onComplete=t.onComplete!=null?t.onComplete:()=>{},this._priority=t.priority!=null?t.priority:0,this._postponed=t.postponeOnAdd!=null?t.postponeOnAdd:!1,this.name=t.name,this.userdata=t.userdata,this._tasks=new Set,this._scheduledTasks=new Set,this._scheduled=!1,this._cancelled=!1,c4&&console.log("task group instantiated",this.name)}isComplete(){return this._scheduledTasks.size===0}getTasks(){return Array.from(this._tasks.values())}clear(){this._tasks.clear(),this._scheduledTasks.clear()}_popTask(){for(let t of this._scheduledTasks)return this._scheduledTasks.delete(t),t}},$_=class{constructor(t={}){this._maxMillisecondsPerFrame=t.maxMillisecondsPerFrame!=null?t.maxMillisecondsPerFrame:nB,this._time=null}beginFrame(){this._time=performance.now()+this._maxMillisecondsPerFrame}hasTimeRemaining(){return performance.now()<=this._time}};var kh=class{constructor(t={}){this._timer=t.timer!=null?t.timer:new $_,this._performance=t.performance!=null?t.performance:!1,this._scheduledUpdatesByOrdering=new sn,this._scheduledTasksByPriority=new sn,this._postponedTasks=new Set,this._requestAnimationFrameHandle=null,this._updatesToRunThisFrame=[],this._lastFrameTime=0,this._updatesRunLastFrame=new Set,this.update=this.update.bind(this),c4&&console.log("task scheduler instantiated")}clear(){for(let t of this._scheduledTasksByPriority.values())t._cancelled=!0;for(let t of this._postponedTasks.values())t._cancelled=!0;this._scheduledUpdatesByOrdering=new sn,this._scheduledTasksByPriority=new sn,this._postponedTasks=new Set,this._lastFrameTime=0,this._updatesRunLastFrame.clear(),c4&&console.log("task scheduler cleared")}destroy(){this.clear()}requestAnimationFrame(){this._requestAnimationFrameHandle==null&&(this._requestAnimationFrameHandle=requestAnimationFrame(this.update))}update(t){this._timer.beginFrame();let n;this._performance&&(n=performance.now());let i=!1;c4&&(Fh===0&&(i=!0),++Fh,Fh%=iB);let l=this._scheduledUpdatesByOrdering.keys();for(let r=l.length-1;r>=0;--r){let a=l[r];for(let o of this._scheduledUpdatesByOrdering.get(a).values())this._updatesToRunThisFrame.push(o),i&&console.log("update scheduled to run this frame",o.name)}for(let r of this._updatesToRunThisFrame){--r._remainingFrameCount,r._remainingFrameCount<=0&&this._scheduledUpdatesByOrdering.delete(r._ordering,r),r._superseded=!1;for(let a of this._updatesToRunThisFrame)r._supersededBy.has(a)&&(r._superseded=!0,i&&console.log("update superseded",r.name,a.name))}for(let r=0;r<this._updatesToRunThisFrame.length;++r)this._updatesToRunThisFrame[r]._superseded&&(this._updatesToRunThisFrame.splice(r,1),--r);for(let r of this._updatesToRunThisFrame){let a;this._performance&&(a=performance.now()),r._callback(t),this._performance&&(r._lastFrameTime=performance.now()-a),i&&console.log("update completed",r.name)}this._updatesRunLastFrame.clear();for(let r of this._updatesToRunThisFrame)this._updatesRunLastFrame.add(r);if(this._updatesToRunThisFrame.splice(0,this._updatesToRunThisFrame.length),this._scheduledTasksByPriority.size>0)do this._executeOneTask(t);while(this._timer.hasTimeRemaining()&&this._scheduledTasksByPriority.size>0);this._performance&&(this._lastFrameTime=performance.now()-n),this._requestAnimationFrameHandle=null,(this._scheduledUpdatesByOrdering.size>0||this._scheduledTasksByPriority.size>0)&&this.requestAnimationFrame()}flushTasks(){for(;this._scheduledTasksByPriority.size>0;)this._executeOneTask(performance.now())}getLastFrameTime(){return this._lastFrameTime}getUpdatesRunLastFrame(){return this._updatesRunLastFrame}_executeOneTask(t){let n=this._scheduledTasksByPriority.popFromMaxKey(),i=null;console.assert(n!==void 0),Object.getPrototypeOf(n)===I5.prototype&&(i=n,n=i._popTask()),console.assert(n!==void 0),console.assert(Object.getPrototypeOf(n)===f4.prototype);let l;this._performance&&(l=performance.now()),n._callback(t),n._complete=!0,this._performance&&(n._lastFrameTime=performance.now()-l),c4&&console.log("task completed",n.name),i!=null&&(i.isComplete()?(i.clear(),i._onComplete(),c4&&console.log("group completed",i.name)):this._scheduledTasksByPriority.insert(i._priority,i))}scheduleUpdate(t){t._remainingFrameCount=t._frameCount,this._scheduledUpdatesByOrdering.insert(t._ordering,t),this.requestAnimationFrame()}scheduleTask(t){if(Object.getPrototypeOf(t)===I5)throw new Error("frame task groups are automatically scheduled when a task is added to them and cannot be manually scheduled: ",t.name);if(t._scheduled)throw new Error("cannot schedule already scheduled task: ",t.name);if(t._cancelled)throw new Error("cannot schedule cancelled task: ",t.name);let n=t;t._group!=null&&(t._group._tasks.add(t),t._group._scheduledTasks.add(t),n=t._group),n._postponed?this._postponedTasks.add(n):this._scheduledTasksByPriority.insert(n._priority,n),t._scheduled=!0,n._scheduled=!0,c4&&console.log("task scheduled",t.name),this.requestAnimationFrame()}cancelUpdate(t){this._scheduledUpdatesByOrdering.delete(t._ordering,t),c4&&console.log("update cancelled",t.name)}cancelTask(t){if(!t._scheduled)throw new Error("cannot cancel task that has not been scheduled: "+t.name);if(t._cancelled)throw new Error("cannot cancel task that has already been cancelled: "+t.name);if(t._group!=null){let n=t._group.isComplete();t._group._tasks.delete(t),t._group._scheduledTasks.delete(t),t._group.isComplete()&&(this._scheduledTasksByPriority.delete(t._group._priority,t._group),n||t._group._onComplete())}else this._scheduledTasksByPriority.delete(t._priority,t),this._postponedTasks.delete(t);Object.getPrototypeOf(t)===f4.prototype?t._cancelled=!0:t.clear(),c4&&console.log("task cancelled",t.name)}postponeTask(t){if(t._group!=null)throw new Error("cannot postpone individual tasks in group: "+t.name);if(t._cancelled)throw new Error("cannot postpone cancelled task: "+t.name);if(!t._postponed){if(Object.getPrototypeOf(t)===f4.prototype){if(t._complete)return;if(!t._scheduled)throw new Error("cannot postpone task that has not been scheduled: "+t.name)}this._scheduledTasksByPriority.delete(t._priority,t),(Object.getPrototypeOf(t)===f4.prototype||!t.isComplete())&&this._postponedTasks.add(t),t._postponed=!0,c4&&console.log("task postponed",t.name)}}resumeTask(t){if(t._group!=null)throw new Error("cannot resume individual tasks in groups");if(t._cancelled)throw new Error("cannot resume cancelled task");if(!!t._postponed){if(Object.getPrototypeOf(t)===f4.prototype){if(t._complete)return;if(!t._scheduled)throw new Error("cannot resume unscheduled task")}this._postponedTasks.delete(t),(Object.getPrototypeOf(t)===f4.prototype||!t.isComplete())&&this._scheduledTasksByPriority.insert(t._priority,t),t._postponed=!1,this.requestAnimationFrame(),c4&&console.log("task resumed",t.name)}}setTaskPriority(t,n){if(Object.getPrototypeOf(t)===f4.prototype&&!t._scheduled)throw new Error("task must be scheduled to be reprioritized");this._scheduledTasksByPriority.has(t._priority,t)&&(this._scheduledTasksByPriority.delete(t._priority,t),this._scheduledTasksByPriority.insert(n,t)),t._priority=n,c4&&console.log("task priority changed",t.name,n)}},sn=class{constructor(){this._map=new Map,this._size=0,this._sortedKeys=[]}has(t,n){return this._map.get(t)!=null&&this._map.get(t).has(n)}get(t){return this._map.get(t)}insert(t,n){if(console.assert(typeof t=="number"&&Number.isFinite(t)),this._map.get(t)==null){this._map.set(t,new Set);for(let i=0;i<=this._sortedKeys.length;++i)if(i===this._sortedKeys.length||t<this._sortedKeys[i]){this._sortedKeys.splice(i,0,t);break}}this._map.get(t).has(n)||(this._map.get(t).add(n),++this._size)}delete(t,n){this._map.get(t)!=null&&this._map.get(t).has(n)&&(this._map.get(t).delete(n),--this._size,this._map.get(t).size===0&&(this._map.delete(t),this._sortedKeys.splice(this._sortedKeys.indexOf(t),1)))}pop(t){if(this._map.get(t)!=null){let n;for(n of this._map.get(t).values()){this._map.get(t).delete(n),--this._size;break}return this._map.get(t).size===0&&(this._map.delete(t),this._sortedKeys.splice(this._sortedKeys.indexOf(t),1)),n}}popFromMaxKey(){if(this._sortedKeys.length>0)return this.pop(this._sortedKeys[this._sortedKeys.length-1])}values(){let t=this._map.keys(),n=null,i={[Symbol.iterator]:()=>i,next:()=>{if(n==null){let r=t.next();if(r.done)return r;n=this._map.get(r.value).values()}let l=n.next();for(;l.done;){let r=t.next();if(r.done)return r;n=this._map.get(r.value).values(),l=n.next()}return l}};return i}keys(){return this._sortedKeys}get size(){let t=0;for(let n of this._map.values())t+=n.size;return console.assert(t===this._size),t}};y();y();y();y();var ca=Math.PI*2,Uh=Math.PI/2,Vh=Math.PI*1.5;var lB=function(e){let t=e.image,n=e.rotation||0,i=t.position.clone(),l=t.rotation.z,r=n,a=function(){let o=t.geometry;o.boundingBox||o.computeBoundingBox(),n=(n+Math.PI)%ca,t.rotation.z=t.rotation.z+Math.PI,t.translateX(-2*(o.boundingBox.min.x+(o.boundingBox.max.x-o.boundingBox.min.x)/2)),t.translateY(-2*(o.boundingBox.min.y+(o.boundingBox.max.y-o.boundingBox.min.y)/2))};this.flipIfNeeded=function(o){let s=(n-o+ca)%ca;(s>Uh&&s<Vh||s<-Uh&&s>-Vh)&&a()},this.reset=function(){t.position.x=i.x,t.position.y=i.y,t.rotation.z=l,n=r}},eg=lB;y();y();var L6=U2(sg());y();var jh=U2(xg());function _g(e){this.name="JSClipperError",this.message=e,this.stack=new Error().stack}_g.prototype=Error.prototype;jh.default.Error=function(e){throw new _g(e)};var cn=jh.default;y();var vk={"0":{ha:765,x_min:66,x_max:700,o:"m 700 497 q 683 282 700 377 q 627 121 665 187 q 528 21 589 56 q 382 -14 468 -14 q 242 21 302 -14 q 144 121 183 56 q 86 282 105 187 q 66 497 66 377 q 84 712 66 617 q 139 872 101 807 q 236 972 176 938 q 382 1007 296 1007 q 522 973 463 1007 q 621 873 582 939 q 680 713 661 808 q 700 497 700 618 m 192 497 q 202 319 192 395 q 235 193 212 243 q 293 117 257 142 q 382 92 330 92 q 471 117 434 92 q 531 192 507 142 q 565 318 554 242 q 575 497 575 395 q 565 675 575 599 q 531 801 554 751 q 471 876 507 851 q 382 901 434 901 q 293 876 330 901 q 235 801 257 851 q 202 675 212 751 q 192 497 192 599 z "},"1":{ha:765,x_min:121,x_max:482,o:"m 482 0 l 363 0 l 363 619 q 363 682 363 648 q 365 748 363 715 q 367 811 366 781 q 368 864 368 841 q 348 843 357 852 q 330 826 339 834 q 311 809 321 818 q 286 787 300 800 l 186 705 l 121 789 l 380 991 l 482 991 l 482 0 z "},"2":{ha:765,x_min:65,x_max:684,o:"m 684 0 l 65 0 l 65 106 l 302 364 q 393 465 353 419 q 461 553 433 510 q 505 641 490 597 q 519 736 519 684 q 508 806 519 776 q 475 858 496 837 q 425 890 454 880 q 359 901 395 901 q 243 875 295 901 q 144 808 191 849 l 75 889 q 134 935 102 913 q 201 972 165 956 q 277 997 237 987 q 361 1006 317 1006 q 478 987 426 1006 q 568 935 531 969 q 624 851 604 901 q 644 741 644 802 q 626 631 644 683 q 577 528 608 578 q 502 427 545 477 q 407 321 458 376 l 216 118 l 216 113 l 684 113 l 684 0 z "},"3":{ha:765,x_min:56,x_max:682,o:"m 652 760 q 636 669 652 710 q 592 599 621 629 q 525 550 564 569 q 437 522 486 530 l 437 518 q 620 442 557 503 q 682 282 682 380 q 660 163 682 217 q 593 69 638 109 q 480 8 549 30 q 318 -14 412 -14 q 179 -2 244 -14 q 56 40 113 9 l 56 155 q 183 107 115 124 q 315 90 252 90 q 423 104 378 90 q 498 142 469 117 q 542 204 528 168 q 555 286 555 241 q 537 365 555 332 q 486 419 519 398 q 405 451 453 441 q 297 461 357 461 l 207 461 l 207 564 l 297 564 q 395 577 352 564 q 466 616 437 591 q 510 675 495 641 q 525 751 525 710 q 513 814 525 787 q 478 862 500 842 q 425 891 456 881 q 355 901 393 901 q 228 879 283 901 q 122 819 172 856 l 60 904 q 117 943 85 925 q 186 976 149 962 q 266 998 223 989 q 355 1006 308 1006 q 484 987 429 1006 q 576 936 539 969 q 633 858 614 903 q 652 760 652 813 z "},"4":{ha:765,x_min:16,x_max:737,o:"m 737 222 l 593 222 l 593 0 l 473 0 l 473 222 l 16 222 l 16 330 l 465 997 l 593 997 l 593 335 l 737 335 l 737 222 m 473 335 l 473 576 q 474 656 473 614 q 477 738 475 698 q 480 812 478 777 q 482 869 481 846 l 476 869 q 464 839 471 856 q 449 806 457 823 q 431 774 440 789 q 415 747 422 758 l 136 335 l 473 335 z "},"5":{ha:765,x_min:89,x_max:688,o:"m 370 608 q 495 590 437 608 q 596 534 553 571 q 663 444 639 498 q 688 318 688 389 q 665 179 688 241 q 596 75 642 117 q 484 9 551 32 q 330 -14 417 -14 q 262 -10 296 -14 q 198 0 229 -7 q 139 16 167 6 q 89 40 111 26 l 89 157 q 141 129 111 141 q 205 109 172 117 q 272 96 238 100 q 334 92 305 92 q 429 104 387 92 q 500 143 471 117 q 545 210 530 170 q 561 304 561 250 q 501 453 561 401 q 328 504 441 504 q 288 502 309 504 q 245 498 267 500 q 204 492 224 495 q 171 486 185 489 l 110 525 l 147 991 l 615 991 l 615 879 l 254 879 l 228 595 q 285 604 250 599 q 370 608 321 608 z "},"6":{ha:765,x_min:77,x_max:701,o:"m 77 424 q 84 566 77 495 q 109 701 91 636 q 158 821 127 766 q 237 918 189 877 q 353 982 286 959 q 510 1006 420 1006 q 538 1005 523 1006 q 570 1003 554 1004 q 601 999 586 1001 q 627 993 615 996 l 627 888 q 573 900 603 896 q 514 904 543 904 q 407 889 453 904 q 326 848 360 875 q 270 785 292 822 q 233 704 247 749 q 212 610 218 660 q 203 505 205 559 l 211 505 q 244 551 224 530 q 289 588 263 572 q 347 612 315 603 q 419 621 379 621 q 536 601 484 621 q 625 542 588 581 q 681 447 661 503 q 701 319 701 391 q 680 180 701 242 q 620 76 659 119 q 525 9 581 33 q 400 -14 469 -14 q 273 13 332 -14 q 170 94 214 39 q 102 230 127 148 q 77 424 77 312 m 399 90 q 473 104 439 90 q 531 146 507 118 q 569 217 555 174 q 582 319 582 260 q 571 405 582 367 q 537 469 559 442 q 481 509 515 495 q 403 524 448 524 q 320 508 357 524 q 256 466 282 492 q 215 408 229 441 q 200 343 200 376 q 213 253 200 298 q 250 172 225 208 q 312 113 275 136 q 399 90 349 90 z "},"7":{ha:765,x_min:61,x_max:699,o:"m 191 0 l 572 879 l 61 879 l 61 991 l 699 991 l 699 893 l 322 0 l 191 0 z "},"8":{ha:765,x_min:72,x_max:694,o:"m 383 1007 q 491 992 440 1007 q 579 947 541 977 q 640 873 618 918 q 663 768 663 828 q 649 686 663 723 q 612 620 635 650 q 555 567 588 591 q 485 525 523 544 q 562 478 524 504 q 629 420 600 452 q 676 348 659 388 q 694 258 694 308 q 672 145 694 196 q 608 60 649 95 q 510 5 567 24 q 383 -14 452 -14 q 251 5 309 -14 q 153 57 193 23 q 93 141 113 92 q 72 253 72 191 q 87 345 72 304 q 128 418 102 385 q 189 475 154 450 q 264 519 224 500 q 201 565 231 541 q 151 621 172 590 q 117 688 130 651 q 104 770 104 725 q 127 873 104 829 q 189 947 150 918 q 278 992 227 977 q 383 1007 328 1007 m 193 252 q 204 185 193 216 q 238 134 215 155 q 296 101 261 113 q 380 89 332 89 q 464 101 428 89 q 525 135 500 113 q 562 188 549 157 q 574 257 574 219 q 561 321 574 292 q 523 374 547 349 q 463 420 498 398 q 386 463 429 441 l 366 472 q 237 379 280 431 q 193 252 193 326 m 382 904 q 268 868 310 904 q 225 764 225 832 q 237 697 225 725 q 270 648 249 669 q 320 609 291 626 q 385 575 350 591 q 446 608 417 590 q 496 648 475 625 q 530 699 517 670 q 542 764 542 727 q 499 868 542 832 q 382 904 456 904 z "},"9":{ha:765,x_min:72,x_max:697,o:"m 697 568 q 690 426 697 497 q 665 291 683 355 q 616 171 647 227 q 536 74 585 115 q 421 10 488 33 q 264 -14 354 -14 q 235 -13 251 -14 q 204 -11 220 -12 q 174 -7 189 -9 q 147 -1 159 -5 l 147 104 q 201 92 171 96 q 260 87 231 87 q 410 119 351 87 q 504 206 469 151 q 553 333 538 260 q 571 486 568 406 l 562 486 q 530 441 549 462 q 485 404 511 420 q 427 380 459 389 q 354 371 394 371 q 237 391 290 371 q 149 450 185 411 q 92 544 112 488 q 72 672 72 600 q 93 811 72 749 q 154 917 115 873 q 249 983 193 960 q 374 1006 304 1006 q 501 979 442 1006 q 604 899 560 953 q 672 762 647 844 q 697 568 697 680 m 375 901 q 301 888 334 901 q 243 846 267 874 q 205 774 218 817 q 192 672 192 731 q 203 587 192 625 q 237 523 214 549 q 293 482 259 496 q 371 468 326 468 q 454 484 417 468 q 518 525 492 500 q 559 583 545 551 q 574 648 574 616 q 561 739 574 694 q 524 820 549 784 q 462 879 499 857 q 375 901 425 901 z "}," ":{ha:361,x_min:0,x_max:0,o:""},"!":{ha:374,x_min:100,x_max:272,o:"m 228 281 l 146 281 l 111 991 l 262 991 l 228 281 m 100 75 q 106 119 100 101 q 125 148 113 137 q 152 164 136 159 q 186 170 168 170 q 219 164 203 170 q 247 148 235 159 q 265 119 258 137 q 272 75 272 101 q 265 32 272 50 q 247 3 258 14 q 219 -14 235 -9 q 186 -20 203 -20 q 152 -14 168 -20 q 125 3 136 -9 q 106 32 113 14 q 100 75 100 50 z "},'"':{ha:558,x_min:90,x_max:468,o:"m 224 991 l 196 633 l 118 633 l 90 991 l 224 991 m 468 991 l 440 633 l 363 633 l 335 991 l 468 991 z "},"#":{ha:897,x_min:35,x_max:863,o:"m 667 606 l 624 383 l 814 383 l 814 290 l 606 290 l 550 0 l 450 0 l 507 290 l 310 290 l 254 0 l 157 0 l 210 290 l 35 290 l 35 383 l 228 383 l 272 606 l 86 606 l 86 699 l 289 699 l 345 991 l 444 991 l 389 699 l 587 699 l 644 991 l 742 991 l 685 699 l 863 699 l 863 606 l 667 606 m 328 383 l 525 383 l 568 606 l 371 606 l 328 383 z "},$:{ha:765,x_min:83,x_max:668,o:"m 668 302 q 651 216 668 255 q 603 149 634 178 q 526 102 571 121 q 424 75 481 83 l 424 -81 l 330 -81 l 330 69 q 262 72 296 69 q 195 81 227 75 q 134 96 162 87 q 83 117 105 105 l 83 233 q 135 211 106 222 q 197 191 165 200 q 264 177 230 182 q 330 171 298 171 l 330 465 q 225 508 270 486 q 152 559 181 530 q 109 625 123 588 q 94 713 94 663 q 111 796 94 758 q 158 862 127 833 q 233 908 189 890 q 330 932 277 926 l 330 1054 l 424 1054 l 424 935 q 549 917 492 931 q 652 882 606 903 l 607 783 q 522 814 569 800 q 424 832 474 828 l 424 546 q 529 503 484 525 q 606 452 575 480 q 652 388 637 424 q 668 302 668 351 m 549 302 q 542 343 549 325 q 520 377 535 362 q 482 406 506 393 q 424 431 458 418 l 424 178 q 518 220 487 187 q 549 302 549 254 m 214 711 q 219 668 214 687 q 239 632 225 648 q 275 604 252 616 q 330 579 297 591 l 330 829 q 242 788 270 819 q 214 711 214 758 z "},"%":{ha:1146,x_min:69,x_max:1076,o:"m 170 696 q 194 528 170 584 q 272 472 218 472 q 378 696 378 472 q 272 918 378 918 q 194 863 218 918 q 170 696 170 808 m 478 696 q 466 564 478 623 q 429 466 454 506 q 365 405 404 426 q 272 383 326 383 q 184 405 222 383 q 121 466 146 426 q 82 564 95 506 q 69 696 69 623 q 81 827 69 769 q 118 924 93 884 q 181 985 142 964 q 272 1006 219 1006 q 361 985 323 1006 q 426 924 399 964 q 465 827 452 884 q 478 696 478 769 m 768 298 q 792 131 768 186 q 871 75 817 75 q 977 298 977 75 q 871 521 977 521 q 792 466 817 521 q 768 298 768 410 m 1076 298 q 1064 167 1076 225 q 1027 69 1053 109 q 963 8 1002 29 q 871 -14 924 -14 q 783 8 821 -14 q 719 69 745 29 q 681 167 694 109 q 668 298 668 225 q 680 429 668 372 q 716 527 692 487 q 780 587 741 566 q 871 608 818 608 q 960 587 922 608 q 1024 527 998 566 q 1063 429 1050 487 q 1076 298 1076 372 m 903 991 l 353 0 l 245 0 l 796 991 l 903 991 z "},"&":{ha:975,x_min:74,x_max:953,o:"m 286 790 q 292 745 286 767 q 308 701 297 723 q 337 656 319 679 q 379 608 355 633 q 448 653 419 632 q 496 696 477 674 q 525 741 515 718 q 534 793 534 765 q 526 838 534 817 q 502 873 517 859 q 463 897 486 888 q 412 905 441 905 q 320 875 354 905 q 286 790 286 845 m 378 96 q 450 103 417 96 q 512 125 484 111 q 565 157 541 138 q 611 196 589 175 l 349 472 q 286 428 313 450 q 240 382 259 407 q 212 329 222 358 q 203 262 203 300 q 215 195 203 226 q 249 142 227 164 q 304 108 271 120 q 378 96 336 96 m 74 258 q 87 353 74 311 q 127 428 101 394 q 191 491 153 462 q 277 549 229 520 q 235 599 256 573 q 200 655 215 625 q 175 718 184 684 q 165 790 165 751 q 182 881 165 841 q 231 950 199 922 q 310 992 263 978 q 416 1007 357 1007 q 517 992 473 1007 q 592 950 562 978 q 640 881 623 922 q 656 790 656 841 q 639 710 656 747 q 593 641 622 673 q 528 583 565 610 q 450 532 491 556 l 689 279 q 722 319 707 299 q 748 363 736 340 q 769 412 760 386 q 785 471 778 439 l 909 471 q 885 388 899 426 q 853 317 871 351 q 813 255 836 284 q 765 199 791 227 l 953 0 l 800 0 l 686 117 q 621 62 653 86 q 551 21 588 38 q 473 -4 515 5 q 378 -14 431 -14 q 250 4 307 -14 q 154 57 193 22 q 95 143 115 92 q 74 258 74 193 z "},"'":{ha:314,x_min:90,x_max:224,o:"m 224 991 l 196 633 l 118 633 l 90 991 l 224 991 z "},"(":{ha:418,x_min:56,x_max:376,o:"m 56 380 q 68 548 56 465 q 105 708 80 630 q 169 857 130 785 q 260 991 207 928 l 376 991 q 232 704 281 861 q 183 382 183 547 q 196 221 183 301 q 232 64 208 141 q 292 -84 256 -12 q 375 -220 328 -156 l 260 -220 q 169 -89 207 -159 q 105 57 130 -19 q 68 215 80 134 q 56 380 56 296 z "},")":{ha:418,x_min:41,x_max:363,o:"m 363 380 q 351 215 363 296 q 313 57 338 134 q 249 -89 288 -19 q 158 -220 211 -159 l 43 -220 q 125 -84 90 -156 q 186 64 161 -12 q 222 221 210 141 q 235 382 235 301 q 186 704 235 547 q 41 991 137 861 l 158 991 q 249 857 211 928 q 313 708 288 785 q 351 548 338 630 q 363 380 363 465 z "},"*":{ha:765,x_min:56,x_max:708,o:"m 450 1055 l 421 789 l 690 864 l 708 733 l 452 714 l 618 493 l 497 428 l 378 671 l 271 428 l 146 493 l 310 714 l 56 733 l 75 864 l 340 789 l 311 1055 l 450 1055 z "},"+":{ha:765,x_min:69,x_max:696,o:"m 332 439 l 69 439 l 69 541 l 332 541 l 332 804 l 433 804 l 433 541 l 696 541 l 696 439 l 433 439 l 433 178 l 332 178 l 332 439 z "},",":{ha:347,x_min:43,x_max:256,o:"m 245 161 l 256 146 q 233 68 246 109 q 204 -16 220 26 q 171 -99 188 -58 q 136 -179 153 -141 l 43 -179 q 63 -93 53 -138 q 82 -4 73 -48 q 98 83 91 41 q 111 161 106 125 l 245 161 z "},"-":{ha:447,x_min:56,x_max:392,o:"m 56 315 l 56 429 l 392 429 l 392 315 l 56 315 z "},".":{ha:372,x_min:100,x_max:272,o:"m 100 75 q 106 119 100 101 q 125 148 113 137 q 152 164 136 159 q 186 170 168 170 q 219 164 203 170 q 247 148 235 159 q 265 119 258 137 q 272 75 272 101 q 265 32 272 50 q 247 3 258 14 q 219 -14 235 -9 q 186 -20 203 -20 q 152 -14 168 -20 q 125 3 136 -9 q 106 32 113 14 q 100 75 100 50 z "},"/":{ha:518,x_min:14,x_max:504,o:"m 504 991 l 135 0 l 14 0 l 383 991 l 504 991 z "},":":{ha:372,x_min:100,x_max:272,o:"m 100 75 q 106 119 100 101 q 125 148 113 137 q 152 164 136 159 q 186 170 168 170 q 219 164 203 170 q 247 148 235 159 q 265 119 258 137 q 272 75 272 101 q 265 32 272 50 q 247 3 258 14 q 219 -14 235 -9 q 186 -20 203 -20 q 152 -14 168 -20 q 125 3 136 -9 q 106 32 113 14 q 100 75 100 50 m 100 669 q 106 714 100 696 q 125 743 113 732 q 152 759 136 754 q 186 764 168 764 q 219 759 203 764 q 247 743 235 754 q 265 714 258 732 q 272 669 272 696 q 265 627 272 644 q 247 597 258 609 q 219 581 235 586 q 186 575 203 575 q 152 581 168 575 q 125 597 136 586 q 106 627 113 609 q 100 669 100 644 z "},";":{ha:372,x_min:43,x_max:272,o:"m 245 161 l 256 146 q 233 68 246 109 q 204 -16 220 26 q 171 -99 188 -58 q 136 -179 153 -141 l 43 -179 q 63 -93 53 -138 q 82 -4 73 -48 q 98 83 91 41 q 111 161 106 125 l 245 161 m 100 669 q 106 714 100 696 q 125 743 113 732 q 152 759 136 754 q 186 764 168 764 q 219 759 203 764 q 247 743 235 754 q 265 714 258 732 q 272 669 272 696 q 265 627 272 644 q 247 597 258 609 q 219 581 235 586 q 186 575 203 575 q 152 581 168 575 q 125 597 136 586 q 106 627 113 609 q 100 669 100 644 z "},"<":{ha:765,x_min:69,x_max:696,o:"m 696 161 l 69 449 l 69 518 l 696 844 l 696 736 l 197 489 l 696 271 l 696 161 z "},"=":{ha:765,x_min:69,x_max:696,o:"m 69 578 l 69 679 l 696 679 l 696 578 l 69 578 m 69 300 l 69 401 l 696 401 l 696 300 l 69 300 z "},">":{ha:765,x_min:69,x_max:696,o:"m 69 271 l 568 489 l 69 736 l 69 844 l 696 518 l 696 449 l 69 161 l 69 271 z "},"?":{ha:591,x_min:25,x_max:546,o:"m 191 281 l 191 306 q 196 376 191 345 q 214 434 201 407 q 250 487 227 461 q 306 542 272 513 q 361 592 338 570 q 399 638 385 615 q 421 689 414 662 q 428 751 428 715 q 418 811 428 784 q 388 857 408 838 q 340 887 369 876 q 273 897 311 897 q 166 880 217 897 q 68 839 115 862 l 25 937 q 144 986 80 966 q 273 1006 208 1006 q 387 988 336 1006 q 473 939 437 971 q 527 859 508 906 q 546 753 546 812 q 537 672 546 707 q 509 606 528 636 q 464 547 491 575 q 400 486 437 518 q 342 433 365 456 q 307 389 320 410 q 290 345 294 368 q 285 293 285 323 l 285 281 l 191 281 m 158 75 q 165 119 158 101 q 183 148 172 137 q 210 164 195 159 q 244 170 226 170 q 278 164 262 170 q 305 148 294 159 q 323 119 317 137 q 330 75 330 101 q 323 32 330 50 q 305 3 317 14 q 278 -14 294 -9 q 244 -20 262 -20 q 210 -14 226 -20 q 183 3 195 -9 q 165 32 172 14 q 158 75 158 50 z "},"@":{ha:1203,x_min:74,x_max:1129,o:"m 1129 496 q 1123 411 1129 454 q 1104 331 1116 369 q 1072 259 1091 292 q 1027 202 1053 227 q 968 164 1001 178 q 896 150 935 150 q 841 160 865 150 q 798 187 816 170 q 769 226 781 204 q 754 272 758 248 l 751 272 q 721 224 739 247 q 679 185 703 202 q 624 159 654 169 q 558 150 594 150 q 466 169 506 150 q 397 222 425 188 q 355 304 370 256 q 340 411 340 353 q 360 536 340 479 q 418 635 380 593 q 509 699 456 676 q 629 722 563 722 q 690 720 660 722 q 749 712 721 717 q 800 702 777 707 q 839 690 823 696 l 823 408 q 822 384 823 393 q 822 370 822 375 q 822 361 822 364 q 822 357 822 359 q 829 298 822 321 q 848 261 836 275 q 874 242 859 248 q 904 237 888 237 q 959 258 935 237 q 999 314 983 279 q 1023 397 1015 349 q 1031 497 1031 444 q 1002 668 1031 593 q 921 795 972 743 q 799 873 869 846 q 644 900 728 900 q 442 862 530 900 q 295 757 355 825 q 205 597 236 690 q 175 395 175 505 q 202 213 175 292 q 280 79 229 134 q 409 -3 332 25 q 586 -31 486 -31 q 668 -26 627 -31 q 746 -13 708 -21 q 817 6 783 -5 q 880 28 851 16 l 880 -68 q 749 -109 822 -94 q 587 -123 675 -123 q 371 -89 466 -123 q 209 12 275 -54 q 109 173 143 78 q 74 390 74 269 q 114 628 74 517 q 228 819 154 738 q 408 945 302 899 q 644 991 513 991 q 839 957 750 991 q 992 859 928 923 q 1093 703 1057 795 q 1129 496 1129 611 m 449 408 q 483 278 449 318 q 575 237 517 237 q 639 253 612 237 q 682 296 665 268 q 708 363 699 324 q 720 449 717 402 l 729 621 q 684 630 710 626 q 629 635 658 635 q 545 615 579 635 q 489 564 511 595 q 458 491 468 532 q 449 408 449 450 z "},A:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 z "},B:{ha:863,x_min:135,x_max:786,o:"m 135 991 l 406 991 q 558 978 492 991 q 669 936 625 965 q 736 858 713 906 q 758 741 758 810 q 745 662 758 699 q 707 597 732 625 q 645 551 682 570 q 561 526 608 532 l 561 519 q 649 496 608 511 q 720 454 690 481 q 768 387 751 427 q 786 288 786 346 q 764 166 786 220 q 700 76 742 113 q 599 20 659 39 q 464 0 539 0 l 135 0 l 135 991 m 261 571 l 427 571 q 522 581 484 571 q 585 611 561 591 q 619 662 608 631 q 629 732 629 692 q 577 848 629 813 q 412 884 525 884 l 261 884 l 261 571 m 261 465 l 261 107 l 441 107 q 542 121 501 107 q 607 159 582 134 q 642 217 631 183 q 653 293 653 252 q 642 363 653 331 q 605 417 631 395 q 538 453 580 440 q 433 465 496 465 l 261 465 z "},C:{ha:838,x_min:85,x_max:798,o:"m 538 895 q 406 867 465 895 q 306 788 347 840 q 241 663 264 736 q 218 496 218 589 q 238 326 218 400 q 298 201 258 252 q 398 123 338 150 q 538 97 458 97 q 652 109 598 97 q 760 136 707 121 l 760 26 q 707 8 733 16 q 651 -4 680 1 q 590 -11 623 -9 q 517 -14 557 -14 q 324 23 406 -14 q 190 127 243 60 q 111 288 136 194 q 85 497 85 382 q 114 703 85 610 q 201 864 144 797 q 343 968 258 931 q 538 1006 428 1006 q 677 991 611 1006 q 798 947 744 976 l 745 842 q 652 879 702 863 q 538 895 602 895 z "},D:{ha:950,x_min:135,x_max:865,o:"m 865 505 q 833 285 865 380 q 739 127 800 191 q 587 32 677 64 q 383 0 497 0 l 135 0 l 135 991 l 411 991 q 599 960 515 991 q 742 868 683 929 q 833 715 801 806 q 865 505 865 625 m 732 501 q 709 672 732 600 q 644 791 687 745 q 539 861 602 838 q 397 884 477 884 l 261 884 l 261 109 l 371 109 q 641 208 550 109 q 732 501 732 307 z "},E:{ha:733,x_min:135,x_max:650,o:"m 650 0 l 135 0 l 135 991 l 650 991 l 650 880 l 261 880 l 261 574 l 624 574 l 624 464 l 261 464 l 261 111 l 650 111 l 650 0 z "},F:{ha:682,x_min:135,x_max:650,o:"m 261 0 l 135 0 l 135 991 l 650 991 l 650 880 l 261 880 l 261 530 l 624 530 l 624 419 l 261 419 l 261 0 z "},G:{ha:958,x_min:85,x_max:859,o:"m 530 524 l 859 524 l 859 37 q 783 16 821 25 q 705 0 745 6 q 621 -10 665 -7 q 526 -14 577 -14 q 338 22 420 -14 q 199 124 256 58 q 114 284 143 190 q 85 497 85 379 q 117 708 85 614 q 211 868 149 802 q 363 970 273 935 q 570 1006 454 1006 q 714 991 645 1006 q 843 947 783 976 l 794 838 q 742 859 770 849 q 684 877 713 869 q 622 890 654 885 q 559 895 591 895 q 413 867 477 895 q 306 788 349 840 q 241 663 263 736 q 218 496 218 589 q 237 334 218 408 q 296 208 256 261 q 401 126 337 155 q 557 97 466 97 q 611 99 587 97 q 657 103 636 100 q 697 110 678 106 q 733 117 715 113 l 733 412 l 530 412 l 530 524 z "},H:{ha:974,x_min:135,x_max:839,o:"m 839 0 l 713 0 l 713 463 l 261 463 l 261 0 l 135 0 l 135 991 l 261 991 l 261 574 l 713 574 l 713 991 l 839 991 l 839 0 z "},I:{ha:471,x_min:56,x_max:415,o:"m 415 0 l 56 0 l 56 69 l 172 97 l 172 895 l 56 922 l 56 991 l 415 991 l 415 922 l 298 895 l 298 97 l 415 69 l 415 0 z "},J:{ha:376,x_min:-125,x_max:252,o:"m -20 -264 q -80 -259 -54 -264 q -125 -248 -106 -255 l -125 -139 q -75 -149 -102 -145 q -18 -153 -49 -153 q 32 -146 7 -153 q 78 -123 58 -140 q 112 -76 99 -106 q 125 0 125 -46 l 125 991 l 252 991 l 252 14 q 232 -110 252 -58 q 176 -196 212 -162 q 91 -247 140 -231 q -20 -264 41 -264 z "},K:{ha:804,x_min:135,x_max:804,o:"m 804 0 l 661 0 l 355 473 l 261 396 l 261 0 l 135 0 l 135 991 l 261 991 l 261 496 l 343 610 l 650 991 l 791 991 l 439 559 l 804 0 z "},L:{ha:682,x_min:135,x_max:650,o:"m 135 0 l 135 991 l 261 991 l 261 113 l 650 113 l 650 0 l 135 0 z "},M:{ha:1208,x_min:135,x_max:1074,o:"m 545 0 l 244 868 l 239 868 q 245 768 243 818 q 250 679 248 726 q 252 593 252 631 l 252 0 l 135 0 l 135 991 l 322 991 l 602 183 l 606 183 l 886 991 l 1074 991 l 1074 0 l 947 0 l 947 602 q 949 682 947 637 q 952 769 950 728 q 957 867 955 817 l 951 867 l 648 0 l 545 0 z "},N:{ha:1013,x_min:135,x_max:878,o:"m 878 0 l 732 0 l 244 821 l 239 821 q 245 717 243 768 q 250 625 248 673 q 252 538 252 576 l 252 0 l 135 0 l 135 991 l 279 991 l 765 175 l 770 175 q 765 277 768 227 q 763 321 764 298 q 761 367 762 344 q 760 410 760 389 q 760 449 760 431 l 760 991 l 878 991 l 878 0 z "},O:{ha:1031,x_min:85,x_max:945,o:"m 945 497 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 z "},P:{ha:800,x_min:135,x_max:729,o:"m 729 701 q 710 583 729 640 q 649 482 692 526 q 536 412 606 438 q 363 386 466 386 l 261 386 l 261 0 l 135 0 l 135 991 l 380 991 q 537 972 471 991 q 646 916 603 953 q 709 825 688 879 q 729 701 729 770 m 261 493 l 349 493 q 459 504 412 493 q 537 539 506 515 q 583 601 568 563 q 599 694 599 640 q 543 837 599 791 q 370 884 488 884 l 261 884 l 261 493 z "},Q:{ha:1029,x_min:85,x_max:945,o:"m 945 497 q 928 332 945 408 q 879 194 911 255 q 799 87 847 132 q 688 17 751 43 q 763 -95 717 -47 q 871 -184 810 -144 l 789 -281 q 660 -164 719 -231 q 567 -11 602 -97 q 542 -13 555 -12 q 515 -14 528 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 z "},R:{ha:819,x_min:135,x_max:803,o:"m 261 410 l 261 0 l 135 0 l 135 991 l 376 991 q 643 922 557 991 q 729 710 729 852 q 712 607 729 651 q 668 531 696 563 q 606 479 641 500 q 533 444 570 458 l 803 0 l 654 0 l 416 410 l 261 410 m 261 517 l 372 517 q 476 529 433 517 q 546 564 519 541 q 586 622 574 587 q 599 704 599 657 q 585 787 599 753 q 543 842 571 821 q 472 874 515 864 q 370 884 429 884 l 261 884 l 261 517 z "},S:{ha:721,x_min:71,x_max:657,o:"m 657 265 q 634 148 657 199 q 567 60 610 96 q 461 5 524 24 q 321 -14 399 -14 q 180 -2 245 -14 q 71 33 115 10 l 71 154 q 123 133 94 143 q 185 114 153 122 q 252 101 218 106 q 321 96 287 96 q 481 136 429 96 q 533 253 533 177 q 523 317 533 290 q 489 367 513 344 q 422 411 464 389 q 318 457 381 432 q 213 509 258 481 q 140 572 169 537 q 97 652 111 608 q 83 754 83 697 q 105 861 83 814 q 166 940 127 907 q 260 989 205 972 q 380 1006 315 1006 q 526 990 461 1006 q 640 951 590 975 l 595 846 q 495 880 551 865 q 379 895 439 895 q 251 856 296 895 q 205 753 205 818 q 216 686 205 714 q 250 635 226 658 q 312 592 273 612 q 408 550 351 572 q 516 500 470 526 q 594 441 563 474 q 641 366 625 409 q 657 265 657 323 z "},T:{ha:721,x_min:14,x_max:707,o:"m 424 0 l 297 0 l 297 880 l 14 880 l 14 991 l 707 991 l 707 880 l 424 880 l 424 0 z "},U:{ha:970,x_min:125,x_max:844,o:"m 844 993 l 844 350 q 822 206 844 273 q 754 91 800 140 q 641 14 709 42 q 481 -14 573 -14 q 328 13 394 -14 q 216 87 261 39 q 148 202 171 135 q 125 353 125 270 l 125 991 l 252 991 l 252 346 q 310 162 252 227 q 488 97 369 97 q 591 115 548 97 q 663 167 635 134 q 704 246 690 200 q 718 347 718 292 l 718 993 l 844 993 z "},V:{ha:789,x_min:0,x_max:789,o:"m 654 991 l 789 991 l 457 0 l 330 0 l 0 991 l 134 991 l 334 363 q 368 244 353 301 q 393 136 382 186 q 419 244 404 186 q 456 367 435 301 l 654 991 z "},W:{ha:1227,x_min:14,x_max:1214,o:"m 549 991 l 682 991 l 838 411 q 858 335 848 373 q 876 261 867 297 q 891 194 884 226 q 901 136 897 162 q 908 193 904 162 q 918 257 912 223 q 929 325 923 290 q 943 393 936 360 l 1079 991 l 1214 991 l 965 0 l 838 0 l 665 636 q 647 707 656 671 q 631 776 638 744 q 615 848 623 813 q 600 777 608 814 q 585 707 593 745 q 567 632 576 669 l 403 0 l 275 0 l 14 991 l 147 991 l 298 389 q 313 324 307 357 q 326 257 320 290 q 336 193 332 224 q 345 136 341 162 q 353 195 348 161 q 365 264 358 228 q 379 339 372 301 q 396 410 387 376 l 549 991 z "},X:{ha:760,x_min:0,x_max:760,o:"m 760 0 l 616 0 l 376 431 l 127 0 l 0 0 l 307 518 l 21 991 l 155 991 l 380 612 l 607 991 l 736 991 l 450 522 l 760 0 z "},Y:{ha:732,x_min:0,x_max:732,o:"m 366 490 l 596 991 l 732 991 l 429 386 l 429 0 l 302 0 l 302 379 l 0 991 l 138 991 l 366 490 z "},Z:{ha:749,x_min:56,x_max:693,o:"m 693 0 l 56 0 l 56 98 l 538 879 l 69 879 l 69 991 l 679 991 l 679 893 l 197 113 l 693 113 l 693 0 z "},"[":{ha:421,x_min:111,x_max:386,o:"m 386 -220 l 111 -220 l 111 991 l 386 991 l 386 890 l 235 890 l 235 -118 l 386 -118 l 386 -220 z "},"\\\\":{ha:518,x_min:16,x_max:505,o:"m 136 991 l 505 0 l 385 0 l 16 991 l 136 991 z "},"]":{ha:421,x_min:35,x_max:310,o:"m 35 -118 l 186 -118 l 186 890 l 35 890 l 35 991 l 310 991 l 310 -220 l 35 -220 l 35 -118 z "},"^":{ha:739,x_min:28,x_max:711,o:"m 28 372 l 339 999 l 408 999 l 711 372 l 602 372 l 374 871 l 137 372 l 28 372 z "},_:{ha:571,x_min:-3,x_max:574,o:"m 574 -220 l -3 -220 l -3 -125 l 574 -125 l 574 -220 z "},"\`":{ha:802,x_min:267,x_max:533,o:"m 533 842 l 452 842 q 400 889 428 861 q 346 947 372 917 q 299 1004 320 977 q 267 1050 277 1031 l 267 1064 l 415 1064 q 440 1014 426 1041 q 471 959 455 986 q 503 905 486 931 q 533 860 519 880 l 533 842 z "},a:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 z "},b:{ha:814,x_min:118,x_max:737,o:"m 454 758 q 570 734 518 758 q 660 661 623 709 q 717 541 696 612 q 737 374 737 469 q 717 206 737 278 q 660 85 696 134 q 570 11 623 36 q 454 -14 518 -14 q 382 -5 414 -14 q 323 19 349 4 q 277 53 297 33 q 241 94 257 73 l 233 94 l 208 0 l 118 0 l 118 1055 l 241 1055 l 241 800 q 241 750 241 777 q 239 700 240 723 q 236 647 237 673 l 241 647 q 277 691 257 671 q 322 726 296 711 q 381 750 349 741 q 454 758 414 758 m 431 656 q 340 638 376 656 q 282 586 304 621 q 251 498 260 551 q 241 374 241 445 q 251 252 241 305 q 282 162 260 199 q 340 107 304 126 q 432 89 377 89 q 567 163 524 89 q 610 375 610 237 q 567 586 610 516 q 431 656 524 656 z "},c:{ha:643,x_min:77,x_max:596,o:"m 403 -14 q 275 8 334 -14 q 171 76 215 29 q 102 194 127 122 q 77 368 77 267 q 102 549 77 475 q 173 670 128 623 q 279 737 218 716 q 408 758 339 758 q 512 747 461 758 q 596 718 562 735 l 559 614 q 525 627 544 621 q 486 638 506 633 q 446 647 465 644 q 408 650 426 650 q 253 582 302 650 q 204 370 204 513 q 253 160 204 227 q 403 94 302 94 q 502 107 458 94 q 583 136 547 119 l 583 26 q 505 -3 547 7 q 403 -14 463 -14 z "},d:{ha:814,x_min:77,x_max:696,o:"m 578 100 l 572 100 q 537 56 557 77 q 491 20 517 35 q 433 -5 465 4 q 359 -14 400 -14 q 244 11 296 -14 q 155 84 192 35 q 97 204 117 132 q 77 371 77 276 q 97 539 77 467 q 155 660 117 611 q 244 733 192 709 q 359 758 296 758 q 432 749 399 758 q 491 726 465 741 q 537 691 517 711 q 572 650 557 671 l 581 650 q 576 694 578 673 q 574 730 575 711 q 572 760 572 749 l 572 1055 l 696 1055 l 696 0 l 596 0 l 578 100 m 383 89 q 470 104 435 89 q 528 152 506 120 q 561 232 550 184 q 572 343 571 279 l 572 371 q 563 493 572 439 q 532 582 554 546 q 473 637 510 618 q 382 656 437 656 q 247 582 290 656 q 204 370 204 508 q 247 158 204 228 q 383 89 290 89 z "},e:{ha:743,x_min:77,x_max:673,o:"m 412 -14 q 276 12 338 -14 q 170 85 214 37 q 101 204 125 133 q 77 367 77 275 q 99 532 77 459 q 162 655 121 604 q 259 732 203 705 q 385 758 316 758 q 505 734 452 758 q 596 666 559 710 q 653 561 633 623 q 673 425 673 500 l 673 349 l 204 349 q 259 156 208 218 q 414 94 311 94 q 478 98 448 94 q 535 107 507 101 q 588 124 562 114 q 640 146 614 134 l 640 36 q 587 14 613 23 q 533 -2 561 4 q 476 -11 506 -8 q 412 -14 447 -14 m 382 656 q 259 603 304 656 q 207 449 214 550 l 541 449 q 531 533 541 495 q 503 599 522 572 q 454 641 484 626 q 382 656 424 656 z "},f:{ha:457,x_min:20,x_max:510,o:"m 441 652 l 275 652 l 275 0 l 151 0 l 151 652 l 20 652 l 20 703 l 151 749 l 151 814 q 166 934 151 886 q 211 1010 182 982 q 281 1051 239 1039 q 376 1063 323 1063 q 450 1055 416 1063 q 510 1038 484 1047 l 478 942 q 432 955 457 949 q 380 961 408 961 q 334 955 353 961 q 301 932 314 948 q 282 887 288 916 q 275 815 275 859 l 275 745 l 441 745 l 441 652 z "},g:{ha:720,x_min:25,x_max:692,o:"m 692 745 l 692 668 l 558 650 q 590 589 577 626 q 603 505 603 552 q 587 410 603 454 q 539 334 571 366 q 459 284 507 302 q 349 267 412 267 q 319 267 334 267 q 294 269 304 267 q 272 254 283 262 q 251 235 260 245 q 236 210 242 224 q 231 180 231 197 q 239 151 231 162 q 261 134 247 140 q 294 125 275 127 q 334 123 313 123 l 453 123 q 559 107 516 123 q 630 64 603 92 q 670 0 658 37 q 682 -78 682 -37 q 660 -185 682 -138 q 593 -266 638 -233 q 478 -316 547 -298 q 314 -334 408 -334 q 187 -319 241 -334 q 97 -278 133 -305 q 43 -213 61 -251 q 25 -126 25 -174 q 38 -55 25 -85 q 74 -1 52 -24 q 126 35 96 21 q 187 57 155 50 q 140 98 159 70 q 122 161 122 125 q 144 233 122 203 q 212 292 165 263 q 159 325 183 304 q 118 374 135 347 q 93 434 102 401 q 83 501 83 467 q 100 609 83 562 q 151 690 117 656 q 233 741 184 723 q 349 758 283 758 q 400 754 374 758 q 446 745 427 751 l 692 745 m 142 -122 q 151 -169 142 -147 q 179 -206 159 -191 q 232 -231 199 -222 q 314 -240 265 -240 q 503 -201 440 -240 q 566 -89 566 -162 q 557 -38 566 -58 q 531 -7 549 -18 q 481 8 512 4 q 407 12 451 12 l 288 12 q 238 7 264 12 q 191 -14 212 1 q 156 -55 170 -28 q 142 -122 142 -81 m 204 505 q 241 389 204 427 q 345 351 277 351 q 447 389 412 351 q 482 507 482 427 q 447 630 482 591 q 343 669 411 669 q 240 629 276 669 q 204 505 204 588 z "},h:{ha:818,x_min:118,x_max:707,o:"m 583 0 l 583 479 q 548 612 583 568 q 436 656 512 656 q 344 638 381 656 q 284 586 307 621 q 251 501 261 551 q 241 386 241 451 l 241 0 l 118 0 l 118 1055 l 241 1055 l 241 742 l 236 644 l 243 644 q 283 695 260 673 q 334 730 307 716 q 393 751 362 745 q 457 758 425 758 q 644 693 581 758 q 707 486 707 629 l 707 0 l 583 0 z "},i:{ha:359,x_min:109,x_max:253,o:"m 241 0 l 118 0 l 118 745 l 241 745 l 241 0 m 109 946 q 129 1005 109 987 q 180 1023 150 1023 q 209 1019 195 1023 q 232 1005 222 1015 q 247 981 241 996 q 253 946 253 966 q 232 887 253 907 q 180 868 210 868 q 129 887 150 868 q 109 946 109 906 z "},j:{ha:359,x_min:-46,x_max:253,o:"m 45 -334 q -9 -329 12 -334 q -46 -317 -31 -324 l -46 -216 q -10 -227 -28 -223 q 32 -231 8 -231 q 66 -225 50 -231 q 93 -207 81 -220 q 112 -172 105 -194 q 118 -115 118 -150 l 118 745 l 241 745 l 241 -107 q 230 -201 241 -159 q 194 -272 218 -243 q 133 -318 170 -302 q 45 -334 96 -334 m 109 946 q 129 1005 109 987 q 180 1023 150 1023 q 209 1019 195 1023 q 232 1005 222 1015 q 247 981 241 996 q 253 946 253 966 q 232 887 253 907 q 180 868 210 868 q 129 887 150 868 q 109 946 109 906 z "},k:{ha:689,x_min:118,x_max:684,o:"m 232 385 l 323 500 l 522 745 l 665 745 l 393 422 l 684 0 l 542 0 l 314 342 l 240 286 l 240 0 l 118 0 l 118 1055 l 240 1055 l 240 571 l 229 385 l 232 385 z "},l:{ha:359,x_min:118,x_max:241,o:"m 241 0 l 118 0 l 118 1055 l 241 1055 l 241 0 z "},m:{ha:1244,x_min:118,x_max:1133,o:"m 1010 0 l 1010 479 q 976 612 1010 568 q 871 656 942 656 q 787 640 821 656 q 730 593 752 624 q 698 516 708 562 q 688 411 688 471 l 688 0 l 564 0 l 564 479 q 530 612 564 568 q 425 656 496 656 q 338 638 373 656 q 281 586 302 621 q 251 501 260 551 q 241 386 241 451 l 241 0 l 118 0 l 118 745 l 218 745 l 236 644 l 243 644 q 281 695 259 673 q 331 730 304 716 q 388 751 357 745 q 449 758 418 758 q 584 728 530 758 q 664 635 638 699 l 669 635 q 712 690 687 667 q 766 728 736 713 q 828 751 795 743 q 895 758 861 758 q 1073 693 1013 758 q 1133 486 1133 629 l 1133 0 l 1010 0 z "},n:{ha:818,x_min:118,x_max:707,o:"m 583 0 l 583 479 q 548 612 583 568 q 436 656 512 656 q 344 638 381 656 q 284 586 307 621 q 251 501 261 551 q 241 386 241 451 l 241 0 l 118 0 l 118 745 l 218 745 l 236 644 l 243 644 q 283 695 260 673 q 334 730 307 716 q 393 751 362 745 q 457 758 425 758 q 644 693 581 758 q 707 486 707 629 l 707 0 l 583 0 z "},o:{ha:802,x_min:77,x_max:725,o:"m 725 374 q 702 209 725 281 q 637 87 680 136 q 534 12 595 38 q 399 -14 474 -14 q 270 12 329 -14 q 168 87 211 38 q 101 209 125 136 q 77 374 77 281 q 99 537 77 466 q 164 658 122 609 q 267 733 206 707 q 403 758 328 758 q 532 733 473 758 q 634 658 591 707 q 701 537 677 609 q 725 374 725 466 m 204 374 q 251 160 204 232 q 401 89 297 89 q 552 160 506 89 q 597 374 597 232 q 551 586 597 515 q 400 656 505 656 q 250 586 296 656 q 204 374 204 515 z "},p:{ha:814,x_min:118,x_max:737,o:"m 454 -14 q 382 -5 414 -14 q 323 19 349 4 q 277 53 297 33 q 241 94 257 73 l 233 94 q 237 50 235 71 q 240 14 239 33 q 241 -16 241 -5 l 241 -334 l 118 -334 l 118 745 l 218 745 l 236 644 l 241 644 q 277 689 257 668 q 322 725 296 709 q 381 749 349 740 q 454 758 414 758 q 570 734 518 758 q 660 661 623 709 q 717 541 696 612 q 737 374 737 469 q 717 206 737 278 q 660 85 696 134 q 570 11 623 36 q 454 -14 518 -14 m 431 656 q 343 640 379 656 q 286 593 308 625 q 253 513 264 561 q 241 401 243 466 l 241 374 q 251 252 241 305 q 282 162 260 199 q 340 107 304 126 q 432 89 377 89 q 567 163 524 89 q 610 375 610 237 q 567 586 610 516 q 431 656 524 656 z "},q:{ha:814,x_min:77,x_max:696,o:"m 383 89 q 470 104 435 89 q 528 152 506 120 q 561 232 550 184 q 572 343 571 279 l 572 371 q 563 493 572 439 q 532 582 554 546 q 473 637 510 618 q 382 656 437 656 q 247 582 290 656 q 204 370 204 508 q 247 158 204 228 q 383 89 290 89 m 359 -14 q 244 11 296 -14 q 155 84 192 35 q 97 204 117 132 q 77 371 77 276 q 97 539 77 467 q 155 660 117 611 q 244 733 192 709 q 359 758 296 758 q 432 749 399 758 q 490 725 465 740 q 536 689 516 709 q 572 644 557 668 l 578 644 l 596 745 l 696 745 l 696 -334 l 572 -334 l 572 -16 q 574 17 572 -3 q 576 55 575 37 q 581 100 578 77 l 572 100 q 537 56 557 77 q 491 20 517 35 q 433 -5 465 4 q 359 -14 400 -14 z "},r:{ha:554,x_min:118,x_max:526,o:"m 440 758 q 484 756 460 758 q 526 751 509 755 l 510 637 q 471 643 491 641 q 433 646 451 646 q 355 628 391 646 q 295 579 320 611 q 255 502 269 547 q 241 401 241 456 l 241 0 l 118 0 l 118 745 l 218 745 l 233 608 l 239 608 q 275 665 256 637 q 318 712 294 692 q 372 746 342 733 q 440 758 402 758 z "},s:{ha:627,x_min:61,x_max:564,o:"m 564 204 q 544 109 564 150 q 487 41 524 68 q 398 0 450 14 q 281 -14 346 -14 q 154 -2 207 -14 q 61 33 101 10 l 61 146 q 108 124 82 135 q 162 106 134 114 q 221 93 191 98 q 281 87 251 87 q 356 95 325 87 q 406 116 387 102 q 434 150 425 130 q 443 195 443 170 q 436 233 443 216 q 411 266 429 250 q 362 300 393 283 q 282 338 331 317 q 194 379 233 359 q 128 425 155 399 q 86 483 101 450 q 72 561 72 515 q 91 645 72 608 q 143 707 109 682 q 224 745 177 732 q 330 758 272 758 q 451 744 396 758 q 554 707 505 730 l 511 607 q 421 641 467 627 q 326 656 374 656 q 224 633 257 656 q 191 568 191 610 q 198 527 191 545 q 225 494 206 509 q 276 462 244 478 q 355 427 308 446 q 443 386 404 406 q 508 340 481 366 q 549 282 535 315 q 564 204 564 250 z "},t:{ha:471,x_min:22,x_max:444,o:"m 343 87 q 371 89 355 87 q 400 92 386 90 q 426 97 414 94 q 444 102 438 100 l 444 8 q 422 0 435 4 q 392 -7 408 -4 q 358 -12 376 -10 q 323 -14 340 -14 q 245 -3 281 -14 q 183 35 210 8 q 142 106 157 61 q 127 220 127 151 l 127 652 l 22 652 l 22 707 l 127 760 l 180 916 l 252 916 l 252 745 l 439 745 l 439 652 l 252 652 l 252 220 q 273 121 252 154 q 343 87 294 87 z "},u:{ha:818,x_min:111,x_max:700,o:"m 600 0 l 582 100 l 575 100 q 535 49 558 71 q 484 14 511 28 q 425 -7 456 0 q 361 -14 393 -14 q 252 2 299 -14 q 174 51 205 18 q 127 136 143 84 q 111 258 111 187 l 111 745 l 235 745 l 235 265 q 271 133 235 177 q 382 89 307 89 q 474 106 437 89 q 534 158 511 124 q 567 243 557 193 q 576 358 576 293 l 576 745 l 700 745 l 700 0 l 600 0 z "},v:{ha:665,x_min:0,x_max:665,o:"m 254 0 l 0 745 l 127 745 l 262 330 q 280 273 270 308 q 300 201 290 237 q 319 132 311 164 q 330 82 328 99 l 335 82 q 347 132 338 99 q 365 201 355 164 q 385 273 375 237 q 403 330 395 308 l 538 745 l 665 745 l 411 0 l 254 0 z "},w:{ha:1036,x_min:14,x_max:1022,o:"m 684 0 l 570 418 q 563 445 567 430 q 555 477 559 460 q 546 512 551 494 q 538 547 542 530 q 518 628 528 586 l 514 628 q 496 546 505 585 q 480 476 488 512 q 464 415 471 440 l 347 0 l 204 0 l 14 745 l 143 745 l 232 349 q 245 282 239 318 q 258 212 252 247 q 269 146 264 177 q 277 96 274 115 l 281 96 q 290 143 284 113 q 303 205 296 172 q 317 270 310 238 q 332 325 325 302 l 453 745 l 586 745 l 703 325 q 716 271 709 302 q 732 207 724 239 q 745 145 739 175 q 754 96 751 115 l 758 96 q 765 143 760 113 q 775 208 769 172 q 788 280 781 243 q 803 349 795 317 l 896 745 l 1022 745 l 829 0 l 684 0 z "},x:{ha:694,x_min:24,x_max:669,o:"m 277 382 l 37 745 l 178 745 l 347 467 l 517 745 l 657 745 l 416 382 l 669 0 l 529 0 l 347 296 l 164 0 l 24 0 l 277 382 z "},y:{ha:679,x_min:7,x_max:672,o:"m 7 745 l 135 745 l 281 329 q 300 272 290 302 q 318 212 310 242 q 333 155 327 182 q 342 103 339 127 l 346 103 q 357 149 349 120 q 373 211 364 178 q 392 276 382 244 q 410 330 402 308 l 545 745 l 672 745 l 378 -97 q 337 -196 359 -152 q 286 -270 315 -239 q 217 -317 256 -300 q 123 -334 178 -334 q 62 -330 88 -334 q 18 -322 37 -326 l 18 -224 q 54 -230 33 -227 q 100 -232 76 -232 q 156 -224 132 -232 q 197 -201 180 -216 q 228 -165 215 -186 q 250 -115 240 -143 l 289 -7 l 7 745 z "},z:{ha:612,x_min:56,x_max:557,o:"m 557 0 l 56 0 l 56 85 l 419 652 l 78 652 l 78 745 l 545 745 l 545 646 l 189 93 l 557 93 l 557 0 z "},"{":{ha:492,x_min:41,x_max:457,o:"m 339 -11 q 347 -64 339 -43 q 371 -97 355 -85 q 408 -113 386 -109 q 457 -118 430 -117 l 457 -220 q 360 -208 405 -219 q 284 -173 316 -197 q 233 -111 252 -149 q 215 -21 215 -74 l 215 205 q 171 304 215 275 q 41 334 126 334 l 41 439 q 171 468 126 439 q 215 567 215 497 l 215 793 q 233 883 215 846 q 284 944 252 920 q 360 980 316 968 q 457 991 405 991 l 457 890 q 408 885 430 890 q 371 869 386 881 q 347 837 355 857 q 339 783 339 816 l 339 558 q 299 445 339 487 q 180 390 258 404 l 180 382 q 299 327 258 368 q 339 214 339 286 l 339 -11 z "},"|":{ha:765,x_min:332,x_max:433,o:"m 332 1055 l 433 1055 l 433 -334 l 332 -334 l 332 1055 z "},"}":{ha:492,x_min:35,x_max:450,o:"m 153 214 q 193 327 153 286 q 311 382 233 368 l 311 390 q 193 445 233 404 q 153 558 153 487 l 153 783 q 144 837 153 816 q 121 869 136 857 q 84 885 106 881 q 35 890 62 890 l 35 991 q 131 980 87 991 q 208 944 176 968 q 258 883 240 920 q 277 793 277 846 l 277 567 q 288 507 277 532 q 321 468 299 483 q 376 446 343 452 q 450 439 408 439 l 450 334 q 321 304 366 334 q 277 205 277 275 l 277 -21 q 258 -111 277 -74 q 208 -173 240 -149 q 131 -208 176 -197 q 35 -220 87 -219 l 35 -118 q 84 -113 62 -117 q 121 -97 106 -109 q 144 -64 136 -85 q 153 -11 153 -43 l 153 214 z "},"~":{ha:765,x_min:69,x_max:696,o:"m 359 441 q 316 460 334 452 q 282 472 297 467 q 253 478 267 476 q 224 479 239 479 q 184 473 205 479 q 144 455 164 467 q 105 429 124 444 q 69 397 86 414 l 69 507 q 237 581 137 581 q 274 579 257 581 q 310 573 291 577 q 351 560 328 568 q 406 538 374 551 q 449 519 431 527 q 484 508 468 512 q 513 502 500 503 q 542 500 527 500 q 581 506 561 500 q 622 524 602 513 q 661 550 642 535 q 696 582 680 565 l 696 472 q 528 399 629 399 q 491 400 508 399 q 455 407 474 402 q 414 419 437 411 q 359 441 391 428 z "}," ":{ha:361,x_min:0,x_max:0,o:""},"\\xA1":{ha:374,x_min:100,x_max:272,o:"m 144 458 l 227 458 l 261 -253 l 110 -253 l 144 458 m 272 664 q 266 620 272 638 q 247 591 259 602 q 220 575 235 580 q 186 570 204 570 q 153 575 168 570 q 125 591 137 580 q 106 620 113 602 q 100 664 100 638 q 106 707 100 689 q 125 736 113 724 q 153 753 137 747 q 186 758 168 758 q 220 753 204 758 q 247 736 235 747 q 266 707 259 724 q 272 664 272 689 z "},"\\xA2":{ha:765,x_min:127,x_max:647,o:"m 635 163 q 564 134 601 144 q 475 122 526 123 l 475 -14 l 382 -14 l 382 126 q 276 160 323 135 q 196 231 229 186 q 145 343 163 276 q 127 504 127 411 q 145 668 127 600 q 196 783 163 737 q 276 855 229 829 q 382 889 323 880 l 382 1006 l 475 1006 l 475 895 q 570 881 524 892 q 647 854 616 870 l 611 750 q 576 763 595 757 q 537 775 557 770 q 497 783 517 780 q 460 786 477 786 q 304 718 353 786 q 256 505 256 649 q 305 297 256 363 q 454 231 354 231 q 554 243 509 231 q 635 272 598 256 l 635 163 z "},"\\xA3":{ha:765,x_min:46,x_max:718,o:"m 452 1004 q 583 989 524 1004 q 686 950 642 974 l 642 852 q 556 887 604 872 q 457 901 508 901 q 397 892 425 901 q 349 863 369 883 q 317 811 328 843 q 306 734 306 779 l 306 534 l 561 534 l 561 441 l 306 441 l 306 298 q 298 226 306 256 q 277 174 290 196 q 247 138 264 153 q 211 113 229 123 l 718 113 l 718 0 l 46 0 l 46 104 q 101 126 76 112 q 143 163 125 140 q 172 219 161 186 q 182 297 182 252 l 182 441 l 47 441 l 47 534 l 182 534 l 182 754 q 202 860 182 813 q 257 938 222 906 q 342 987 293 970 q 452 1004 392 1004 z "},"\\xA4":{ha:765,x_min:83,x_max:681,o:"m 126 490 q 138 567 126 530 q 171 635 150 603 l 83 722 l 150 789 l 236 701 q 304 735 268 723 q 382 747 341 747 q 459 735 422 747 q 526 701 495 723 l 614 789 l 681 724 l 593 636 q 626 568 614 605 q 639 490 639 531 q 627 412 639 450 q 593 345 615 375 l 679 258 l 614 193 l 526 279 q 459 247 495 258 q 382 235 422 235 q 304 247 341 235 q 236 281 267 259 l 150 195 l 85 260 l 171 346 q 138 413 150 376 q 126 490 126 450 m 220 490 q 232 427 220 456 q 267 375 245 397 q 318 340 289 353 q 382 328 348 328 q 447 340 416 328 q 499 375 477 353 q 534 427 522 397 q 547 490 547 456 q 534 555 547 525 q 499 608 522 585 q 447 643 477 630 q 382 656 416 656 q 318 643 348 656 q 267 608 289 630 q 232 555 245 585 q 220 490 220 525 z "},"\\xA5":{ha:765,x_min:20,x_max:746,o:"m 382 490 l 616 991 l 746 991 l 485 471 l 647 471 l 647 378 l 443 378 l 443 271 l 647 271 l 647 178 l 443 178 l 443 0 l 322 0 l 322 178 l 118 178 l 118 271 l 322 271 l 322 378 l 118 378 l 118 471 l 277 471 l 20 991 l 150 991 l 382 490 z "},"\\xA6":{ha:765,x_min:332,x_max:433,o:"m 332 1055 l 433 1055 l 433 526 l 332 526 l 332 1055 m 332 196 l 433 196 l 433 -334 l 332 -334 l 332 196 z "},"\\xA7":{ha:675,x_min:82,x_max:585,o:"m 93 549 q 102 611 93 583 q 126 661 111 640 q 161 698 141 683 q 201 724 180 713 q 122 788 151 749 q 93 884 93 827 q 112 958 93 925 q 164 1015 130 991 q 245 1050 198 1038 q 351 1063 293 1063 q 470 1049 417 1063 q 572 1014 524 1036 l 534 920 q 443 952 490 939 q 347 965 395 965 q 245 945 280 965 q 211 886 211 925 q 219 852 211 868 q 247 822 227 837 q 298 791 266 807 q 378 755 330 775 q 465 714 427 736 q 530 666 503 692 q 570 607 556 640 q 585 532 585 574 q 576 468 585 496 q 554 416 568 439 q 523 376 541 393 q 486 349 505 359 q 559 286 533 323 q 585 196 585 249 q 565 110 585 148 q 508 46 545 73 q 419 7 471 20 q 301 -7 366 -7 q 175 4 228 -7 q 82 37 122 16 l 82 144 q 129 124 103 134 q 183 106 155 114 q 242 94 212 98 q 301 89 272 89 q 379 97 348 89 q 430 118 411 105 q 456 149 448 132 q 464 184 464 166 q 458 219 464 204 q 435 250 452 235 q 386 282 418 265 q 302 319 354 298 q 214 361 253 340 q 148 409 175 382 q 107 469 121 435 q 93 549 93 503 m 197 564 q 207 517 197 538 q 238 476 216 496 q 293 438 259 456 q 376 399 328 419 l 400 389 q 428 410 414 397 q 453 437 441 422 q 471 472 464 453 q 478 514 478 491 q 469 562 478 540 q 438 603 460 583 q 380 643 416 623 q 288 682 343 662 q 255 666 271 677 q 226 641 239 656 q 205 606 213 625 q 197 564 197 586 z "},"\\xA8":{ha:802,x_min:208,x_max:593,o:"m 208 946 q 227 999 208 983 q 273 1015 246 1015 q 319 999 300 1015 q 339 946 339 982 q 319 893 339 910 q 273 876 300 876 q 227 893 246 876 q 208 946 208 910 m 463 946 q 481 999 463 983 q 528 1015 500 1015 q 552 1011 541 1015 q 573 999 564 1007 q 587 977 582 990 q 593 946 593 964 q 573 893 593 910 q 528 876 553 876 q 481 893 500 876 q 463 946 463 910 z "},"\\xA9":{ha:1156,x_min:68,x_max:1088,o:"m 604 714 q 531 699 563 714 q 477 656 499 684 q 445 587 456 628 q 433 496 433 547 q 443 402 433 443 q 474 334 453 361 q 527 291 494 306 q 604 277 559 277 q 638 279 620 277 q 676 286 656 281 q 714 295 695 290 q 750 307 733 301 l 750 218 q 717 205 734 211 q 683 194 701 199 q 644 187 665 189 q 600 184 624 184 q 479 207 531 184 q 394 271 428 229 q 342 370 359 312 q 325 497 325 427 q 343 622 325 566 q 397 720 361 679 q 485 783 433 760 q 604 806 536 806 q 692 794 647 806 q 777 764 736 783 l 734 677 q 666 705 699 695 q 604 714 633 714 m 68 496 q 86 631 68 566 q 137 753 104 696 q 217 857 170 810 q 320 936 264 903 q 442 987 377 969 q 578 1006 507 1006 q 713 987 648 1006 q 835 936 779 969 q 939 857 892 903 q 1018 753 985 810 q 1069 631 1051 696 q 1088 496 1088 566 q 1069 360 1088 425 q 1018 238 1051 295 q 939 135 985 182 q 835 56 892 89 q 713 4 779 22 q 578 -14 648 -14 q 442 4 507 -14 q 320 56 377 22 q 217 135 264 89 q 137 238 170 182 q 86 360 104 295 q 68 496 68 425 m 142 496 q 176 326 142 406 q 270 188 210 247 q 408 94 329 128 q 578 60 488 60 q 747 94 668 60 q 886 188 827 128 q 980 326 945 247 q 1014 496 1014 406 q 980 665 1014 586 q 886 804 945 745 q 747 898 827 863 q 578 932 668 932 q 408 898 488 932 q 270 804 329 863 q 176 665 210 745 q 142 496 142 586 z "},\\u00AA:{ha:460,x_min:46,x_max:392,o:"m 330 541 l 311 596 q 286 569 299 581 q 257 549 273 557 q 222 536 241 541 q 179 532 203 532 q 125 541 150 532 q 83 567 101 549 q 56 610 66 584 q 46 671 46 636 q 94 777 46 740 q 239 817 142 813 l 306 819 l 306 840 q 285 908 306 889 q 227 928 264 928 q 163 918 194 928 q 104 893 133 908 l 72 961 q 146 991 106 979 q 227 1003 186 1003 q 352 967 311 1003 q 392 848 392 931 l 392 541 l 330 541 m 256 753 q 198 745 221 751 q 161 728 175 739 q 141 704 147 718 q 135 669 135 689 q 152 620 135 635 q 197 604 169 604 q 240 611 220 604 q 274 633 260 618 q 297 670 289 648 q 306 722 306 692 l 306 755 l 256 753 z "},"\\xAB":{ha:676,x_min:56,x_max:621,o:"m 56 375 l 265 656 l 345 603 l 183 367 l 345 131 l 265 78 l 56 357 l 56 375 m 332 375 l 542 656 l 621 603 l 460 367 l 621 131 l 542 78 l 332 357 l 332 375 z "},"\\xAC":{ha:765,x_min:69,x_max:696,o:"m 696 541 l 696 178 l 595 178 l 595 439 l 69 439 l 69 541 l 696 541 z "},"\\xAD":{ha:447,x_min:56,x_max:392,o:"m 56 315 l 56 429 l 392 429 l 392 315 l 56 315 z "},"\\xAE":{ha:1092,x_min:61,x_max:1023,o:"m 61 494 q 124 749 61 631 q 300 933 188 866 q 543 1001 412 1001 q 785 933 673 1001 q 960 749 897 866 q 1023 494 1023 631 q 962 244 1023 361 q 789 57 901 127 q 543 -14 677 -14 q 297 56 409 -14 q 123 243 184 126 q 61 494 61 359 m 139 494 q 193 278 139 378 q 341 123 248 179 q 543 66 434 66 q 745 124 652 66 q 892 279 839 181 q 945 494 945 378 q 892 708 945 610 q 745 863 839 806 q 543 920 652 920 q 340 864 434 920 q 193 709 247 808 q 139 494 139 610 m 443 444 l 443 214 l 347 214 l 347 790 l 534 790 q 695 746 638 790 q 753 616 753 701 q 666 489 753 533 q 749 351 749 455 l 749 309 q 761 225 749 251 l 761 214 l 663 214 q 653 301 653 239 q 651 376 653 364 q 562 444 640 441 l 443 444 m 443 530 l 549 530 q 627 554 597 532 q 657 613 657 576 q 631 683 657 663 q 536 704 604 704 l 443 704 l 443 530 z "},"\\xAF":{ha:694,x_min:-4,x_max:699,o:"m 699 1055 l -4 1055 l -4 1150 l 699 1150 l 699 1055 z "},"\\xB0":{ha:595,x_min:83,x_max:511,o:"m 83 791 q 100 874 83 836 q 146 943 117 913 q 214 989 175 972 q 297 1006 253 1006 q 380 989 341 1006 q 448 943 419 972 q 494 874 477 913 q 511 791 511 836 q 494 709 511 747 q 448 641 477 670 q 380 596 419 612 q 297 579 341 579 q 214 596 253 579 q 146 641 175 612 q 100 709 117 670 q 83 791 83 747 m 167 791 q 177 742 167 765 q 205 701 187 718 q 246 673 222 683 q 297 663 270 663 q 348 673 324 663 q 390 701 372 683 q 418 742 408 718 q 428 791 428 765 q 418 843 428 819 q 390 885 408 867 q 348 913 372 903 q 297 924 324 924 q 246 913 270 924 q 205 885 222 903 q 177 843 187 867 q 167 791 167 819 z "},"\\xB1":{ha:765,x_min:69,x_max:696,o:"m 332 439 l 69 439 l 69 541 l 332 541 l 332 804 l 433 804 l 433 541 l 696 541 l 696 439 l 433 439 l 433 178 l 332 178 l 332 439 m 69 0 l 69 102 l 696 102 l 696 0 l 69 0 z "},"\\xB2":{ha:460,x_min:33,x_max:421,o:"m 421 397 l 33 397 l 33 473 l 175 628 q 238 699 214 670 q 276 750 262 728 q 295 793 290 773 q 300 836 300 813 q 277 902 300 880 q 218 924 255 924 q 152 907 184 924 q 90 864 121 890 l 37 928 q 119 982 74 960 q 220 1004 164 1004 q 293 993 260 1004 q 349 961 326 982 q 385 908 372 939 q 397 839 397 878 q 388 776 397 805 q 359 718 378 747 q 314 658 341 689 q 253 590 288 627 l 153 484 l 421 484 l 421 397 z "},"\\xB3":{ha:460,x_min:21,x_max:418,o:"m 400 851 q 373 762 400 798 q 298 710 345 726 q 388 659 358 694 q 418 570 418 623 q 404 495 418 529 q 362 437 391 461 q 292 399 334 413 q 191 386 249 386 q 101 394 143 386 q 21 424 60 403 l 21 514 q 109 478 64 491 q 189 465 153 465 q 286 493 256 465 q 315 571 315 522 q 279 644 315 621 q 178 667 243 667 l 111 667 l 111 743 l 178 743 q 269 770 240 743 q 297 840 297 797 q 290 878 297 862 q 272 904 283 894 q 244 919 260 914 q 210 924 228 924 q 137 910 170 924 q 69 871 104 896 l 22 936 q 63 964 42 951 q 106 985 83 977 q 155 999 130 994 q 211 1004 181 1004 q 293 993 258 1004 q 353 961 329 981 q 388 912 376 941 q 400 851 400 884 z "},"\\xB4":{ha:802,x_min:267,x_max:533,o:"m 267 860 q 297 905 281 880 q 329 959 313 931 q 359 1014 345 986 q 385 1064 374 1041 l 533 1064 l 533 1050 q 501 1004 522 1031 q 453 947 479 977 q 400 889 427 917 q 349 842 372 861 l 267 842 l 267 860 z "},\\u00B5:{ha:825,x_min:118,x_max:707,o:"m 241 265 q 277 133 241 177 q 389 89 313 89 q 481 106 444 89 q 542 158 519 124 q 574 243 564 193 q 583 358 583 293 l 583 745 l 707 745 l 707 0 l 607 0 l 589 100 l 582 100 q 500 15 549 43 q 382 -14 452 -14 q 297 2 333 -14 q 237 46 261 18 q 239 -7 238 20 q 241 -59 241 -31 q 241 -117 241 -88 l 241 -334 l 118 -334 l 118 745 l 241 745 l 241 265 z "},"\\xB6":{ha:909,x_min:77,x_max:764,o:"m 764 -176 l 682 -176 l 682 947 l 542 947 l 542 -176 l 460 -176 l 460 379 q 361 367 418 367 q 244 384 296 367 q 154 441 191 401 q 97 547 117 481 q 77 707 77 612 q 99 873 77 806 q 161 981 121 940 q 258 1038 201 1021 q 382 1055 314 1055 l 764 1055 l 764 -176 z "},"\\xB7":{ha:372,x_min:100,x_max:272,o:"m 100 490 q 106 534 100 516 q 125 563 113 552 q 152 579 136 574 q 186 585 168 585 q 219 579 203 585 q 247 563 235 574 q 265 534 258 552 q 272 490 272 516 q 265 448 272 465 q 247 418 258 430 q 219 401 235 407 q 186 396 203 396 q 152 401 168 396 q 125 418 136 407 q 106 448 113 430 q 100 490 100 465 z "},"\\xB8":{ha:285,x_min:24,x_max:277,o:"m 277 -195 q 229 -297 277 -260 q 79 -334 181 -334 q 49 -332 64 -334 q 24 -328 34 -330 l 24 -254 q 51 -257 34 -256 q 78 -258 67 -258 q 153 -244 126 -258 q 180 -196 180 -229 q 172 -168 180 -180 q 147 -147 163 -156 q 110 -132 132 -138 q 64 -119 89 -125 l 125 0 l 207 0 l 168 -78 q 211 -92 191 -83 q 245 -115 231 -101 q 268 -149 260 -129 q 277 -195 277 -168 z "},"\\xB9":{ha:460,x_min:43,x_max:300,o:"m 208 991 l 300 991 l 300 397 l 201 397 l 201 747 q 202 785 201 764 q 203 825 202 805 q 205 865 204 846 q 207 899 206 884 q 184 873 197 887 q 157 848 172 860 l 93 799 l 43 864 l 208 991 z "},\\u00BA:{ha:486,x_min:45,x_max:441,o:"m 441 768 q 428 668 441 712 q 388 594 414 624 q 325 548 361 564 q 241 532 288 532 q 163 548 199 532 q 100 594 127 564 q 59 668 74 624 q 45 768 45 712 q 59 868 45 825 q 98 942 73 912 q 161 987 124 972 q 244 1003 198 1003 q 322 987 286 1003 q 385 942 359 972 q 427 868 412 912 q 441 768 441 825 m 134 768 q 159 647 134 688 q 243 606 184 606 q 326 647 300 606 q 351 768 351 688 q 326 889 351 850 q 243 928 300 928 q 159 889 184 928 q 134 768 134 850 z "},"\\xBB":{ha:676,x_min:57,x_max:623,o:"m 623 357 l 412 78 l 334 131 l 494 367 l 334 603 l 412 656 l 623 375 l 623 357 m 346 357 l 136 78 l 57 131 l 218 367 l 57 603 l 136 656 l 346 375 l 346 357 z "},"\\xBC":{ha:1023,x_min:43,x_max:962,o:"m 208 991 l 300 991 l 300 397 l 201 397 l 201 747 q 202 785 201 764 q 203 825 202 805 q 205 865 204 846 q 207 899 206 884 q 184 873 197 887 q 157 848 172 860 l 93 799 l 43 864 l 208 991 m 815 991 l 265 0 l 159 0 l 709 991 l 815 991 m 962 131 l 878 131 l 878 1 l 781 1 l 781 131 l 526 131 l 526 206 l 782 599 l 878 599 l 878 217 l 962 217 l 962 131 m 781 217 l 781 349 q 782 411 781 378 q 785 478 783 445 q 774 458 781 471 q 760 431 768 446 q 745 404 753 417 q 730 380 736 390 l 625 217 l 781 217 z "},"\\xBD":{ha:1023,x_min:30,x_max:977,o:"m 195 991 l 287 991 l 287 397 l 189 397 l 189 747 q 189 785 189 764 q 190 825 189 805 q 192 865 191 846 q 194 899 193 884 q 172 873 184 887 q 144 848 159 860 l 80 799 l 30 864 l 195 991 m 801 991 l 251 0 l 144 0 l 694 991 l 801 991 m 977 1 l 589 1 l 589 77 l 730 231 q 793 302 769 273 q 831 354 818 331 q 850 396 845 376 q 855 439 855 416 q 833 505 855 484 q 774 527 810 527 q 708 510 739 527 q 646 467 676 493 l 593 531 q 674 586 629 564 q 775 608 720 608 q 849 596 816 608 q 905 564 882 585 q 940 512 928 543 q 953 442 953 481 q 943 379 953 408 q 915 321 933 350 q 870 261 897 292 q 808 193 843 231 l 708 87 l 977 87 l 977 1 z "},"\\xBE":{ha:1023,x_min:21,x_max:1008,o:"m 400 851 q 373 762 400 798 q 298 710 345 726 q 388 659 358 694 q 418 570 418 623 q 404 495 418 529 q 362 437 391 461 q 292 399 334 413 q 191 386 249 386 q 101 394 143 386 q 21 424 60 403 l 21 514 q 109 478 64 491 q 189 465 153 465 q 286 493 256 465 q 315 571 315 522 q 279 644 315 621 q 178 667 243 667 l 111 667 l 111 743 l 178 743 q 269 770 240 743 q 297 840 297 797 q 290 878 297 862 q 272 904 283 894 q 244 919 260 914 q 210 924 228 924 q 137 910 170 924 q 69 871 104 896 l 22 936 q 63 964 42 951 q 106 985 83 977 q 155 999 130 994 q 211 1004 181 1004 q 293 993 258 1004 q 353 961 329 981 q 388 912 376 941 q 400 851 400 884 m 879 991 l 329 0 l 222 0 l 772 991 l 879 991 m 1008 131 l 923 131 l 923 1 l 826 1 l 826 131 l 572 131 l 572 206 l 827 599 l 923 599 l 923 217 l 1008 217 l 1008 131 m 826 217 l 826 349 q 827 411 826 378 q 830 478 828 445 q 820 458 827 471 q 806 431 813 446 q 790 404 798 417 q 776 380 782 390 l 671 217 l 826 217 z "},"\\xBF":{ha:591,x_min:46,x_max:567,o:"m 401 458 l 401 433 q 396 363 401 394 q 377 305 391 332 q 342 252 364 277 q 286 197 320 226 q 231 147 254 170 q 193 101 208 124 q 171 51 178 77 q 164 -12 164 24 q 174 -72 164 -45 q 204 -118 184 -98 q 252 -148 223 -137 q 318 -158 281 -158 q 426 -141 375 -158 q 524 -100 477 -123 l 567 -199 q 448 -247 511 -227 q 318 -267 384 -267 q 204 -249 255 -267 q 119 -199 154 -232 q 65 -120 84 -167 q 46 -14 46 -73 q 55 68 46 33 q 82 134 64 103 q 128 193 100 164 q 192 253 155 221 q 250 306 227 283 q 285 350 272 329 q 302 394 298 371 q 307 446 307 416 l 307 458 l 401 458 m 433 664 q 427 620 433 638 q 409 591 420 602 q 381 575 397 580 q 347 570 366 570 q 314 575 330 570 q 287 591 298 580 q 268 620 275 602 q 261 664 261 638 q 268 707 261 689 q 287 736 275 724 q 314 753 298 747 q 347 758 330 758 q 381 753 366 758 q 409 736 397 747 q 427 707 420 724 q 433 664 433 689 z "},\\u00C0:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 m 488 1071 l 406 1071 q 355 1118 382 1090 q 301 1176 327 1146 q 253 1233 275 1206 q 221 1279 232 1261 l 221 1293 l 370 1293 q 395 1243 380 1270 q 425 1188 410 1215 q 457 1135 441 1160 q 488 1089 473 1109 l 488 1071 z "},\\u00C1:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 m 362 1089 q 393 1135 377 1109 q 425 1188 409 1160 q 455 1243 441 1215 q 480 1293 469 1270 l 629 1293 l 629 1279 q 596 1233 618 1261 q 549 1176 575 1206 q 495 1118 523 1146 q 444 1071 468 1090 l 362 1071 l 362 1089 z "},\\u00C2:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 m 646 1071 l 564 1071 q 493 1127 530 1094 q 421 1197 456 1160 q 349 1127 385 1160 q 278 1071 313 1094 l 196 1071 l 196 1089 q 237 1135 214 1109 q 282 1188 260 1160 q 325 1243 305 1215 q 356 1293 345 1270 l 486 1293 q 517 1243 497 1270 q 560 1188 537 1215 q 606 1135 583 1160 q 646 1089 629 1109 l 646 1071 z "},\\u00C3:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 m 524 1072 q 470 1084 496 1072 q 417 1111 443 1096 q 368 1137 391 1125 q 322 1149 344 1149 q 275 1131 292 1149 q 250 1071 259 1113 l 179 1071 q 194 1145 182 1112 q 223 1201 205 1178 q 266 1237 241 1225 q 322 1250 291 1250 q 378 1238 351 1250 q 431 1212 406 1226 q 480 1186 457 1198 q 524 1174 504 1174 q 570 1192 554 1174 q 595 1251 585 1209 l 667 1251 q 652 1178 663 1211 q 623 1121 641 1145 q 580 1085 605 1098 q 524 1072 555 1072 z "},\\u00C4:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 m 231 1175 q 250 1228 231 1212 q 296 1244 269 1244 q 342 1228 322 1244 q 361 1175 361 1211 q 342 1122 361 1139 q 296 1105 322 1105 q 250 1122 269 1105 q 231 1175 231 1139 m 485 1175 q 504 1228 485 1212 q 550 1244 523 1244 q 575 1240 563 1244 q 595 1228 587 1236 q 610 1206 604 1219 q 615 1175 615 1194 q 595 1122 615 1139 q 550 1105 576 1105 q 504 1122 523 1105 q 485 1175 485 1139 z "},\\u00C5:{ha:844,x_min:0,x_max:844,o:"m 715 0 l 607 307 l 237 307 l 127 0 l 0 0 l 364 996 l 479 996 l 844 0 l 715 0 m 567 419 l 467 707 q 457 736 463 719 q 445 774 451 754 q 433 817 439 795 q 421 860 427 839 q 410 817 416 839 q 398 773 404 794 q 386 735 392 753 q 376 707 380 718 l 278 419 l 567 419 m 575 1074 q 563 1011 575 1039 q 531 965 551 984 q 481 936 510 946 q 420 926 453 926 q 358 936 386 926 q 310 965 330 946 q 279 1011 290 984 q 269 1072 269 1038 q 279 1134 269 1107 q 310 1179 290 1160 q 358 1208 330 1198 q 420 1218 386 1218 q 481 1208 452 1218 q 530 1180 509 1198 q 563 1134 551 1161 q 575 1074 575 1107 m 496 1072 q 474 1128 496 1108 q 420 1149 453 1149 q 365 1128 386 1149 q 343 1072 343 1108 q 362 1016 343 1036 q 420 996 382 996 q 474 1016 453 996 q 496 1072 496 1036 z "},\\u00C6:{ha:1183,x_min:-1,x_max:1100,o:"m 1100 0 l 585 0 l 585 307 l 262 307 l 125 0 l -1 0 l 443 991 l 1100 991 l 1100 880 l 711 880 l 711 574 l 1074 574 l 1074 464 l 711 464 l 711 111 l 1100 111 l 1100 0 m 311 419 l 585 419 l 585 880 l 511 880 l 311 419 z "},\\u00C7:{ha:838,x_min:85,x_max:798,o:"m 538 895 q 406 867 465 895 q 306 788 347 840 q 241 663 264 736 q 218 496 218 589 q 238 326 218 400 q 298 201 258 252 q 398 123 338 150 q 538 97 458 97 q 652 109 598 97 q 760 136 707 121 l 760 26 q 707 8 733 16 q 651 -4 680 1 q 590 -11 623 -9 q 517 -14 557 -14 q 324 23 406 -14 q 190 127 243 60 q 111 288 136 194 q 85 497 85 382 q 114 703 85 610 q 201 864 144 797 q 343 968 258 931 q 538 1006 428 1006 q 677 991 611 1006 q 798 947 744 976 l 745 842 q 652 879 702 863 q 538 895 602 895 m 621 -195 q 573 -297 621 -260 q 424 -334 526 -334 q 394 -332 409 -334 q 368 -328 378 -330 l 368 -254 q 395 -257 378 -256 q 422 -258 412 -258 q 498 -244 471 -258 q 525 -196 525 -229 q 516 -168 525 -180 q 492 -147 507 -156 q 455 -132 476 -138 q 408 -119 433 -125 l 469 0 l 551 0 l 513 -78 q 555 -92 536 -83 q 590 -115 575 -101 q 613 -149 604 -129 q 621 -195 621 -168 z "},\\u00C8:{ha:733,x_min:135,x_max:650,o:"m 650 0 l 135 0 l 135 991 l 650 991 l 650 880 l 261 880 l 261 574 l 624 574 l 624 464 l 261 464 l 261 111 l 650 111 l 650 0 m 484 1071 l 402 1071 q 351 1118 378 1090 q 297 1176 323 1146 q 249 1233 271 1206 q 217 1279 228 1261 l 217 1293 l 366 1293 q 391 1243 376 1270 q 421 1188 406 1215 q 453 1135 437 1160 q 484 1089 469 1109 l 484 1071 z "},\\u00C9:{ha:733,x_min:135,x_max:650,o:"m 650 0 l 135 0 l 135 991 l 650 991 l 650 880 l 261 880 l 261 574 l 624 574 l 624 464 l 261 464 l 261 111 l 650 111 l 650 0 m 309 1089 q 340 1135 324 1109 q 372 1188 356 1160 q 402 1243 388 1215 q 427 1293 416 1270 l 576 1293 l 576 1279 q 544 1233 565 1261 q 496 1176 522 1206 q 443 1118 470 1146 q 391 1071 415 1090 l 309 1071 l 309 1089 z "},\\u00CA:{ha:733,x_min:135,x_max:650,o:"m 650 0 l 135 0 l 135 991 l 650 991 l 650 880 l 261 880 l 261 574 l 624 574 l 624 464 l 261 464 l 261 111 l 650 111 l 650 0 m 615 1071 l 533 1071 q 462 1127 498 1094 q 390 1197 425 1160 q 317 1127 353 1160 q 247 1071 281 1094 l 165 1071 l 165 1089 q 205 1135 182 1109 q 251 1188 229 1160 q 294 1243 274 1215 q 325 1293 314 1270 l 455 1293 q 486 1243 466 1270 q 529 1188 506 1215 q 575 1135 551 1160 q 615 1089 598 1109 l 615 1071 z "},\\u00CB:{ha:733,x_min:135,x_max:650,o:"m 650 0 l 135 0 l 135 991 l 650 991 l 650 880 l 261 880 l 261 574 l 624 574 l 624 464 l 261 464 l 261 111 l 650 111 l 650 0 m 201 1175 q 220 1228 201 1212 q 266 1244 239 1244 q 312 1228 292 1244 q 332 1175 332 1211 q 312 1122 332 1139 q 266 1105 292 1105 q 220 1122 239 1105 q 201 1175 201 1139 m 455 1175 q 474 1228 455 1212 q 520 1244 493 1244 q 545 1240 533 1244 q 566 1228 557 1236 q 580 1206 574 1219 q 585 1175 585 1194 q 566 1122 585 1139 q 520 1105 546 1105 q 474 1122 493 1105 q 455 1175 455 1139 z "},\\u00CC:{ha:471,x_min:42,x_max:415,o:"m 415 0 l 56 0 l 56 69 l 172 97 l 172 895 l 56 922 l 56 991 l 415 991 l 415 922 l 298 895 l 298 97 l 415 69 l 415 0 m 309 1071 l 227 1071 q 176 1118 203 1090 q 122 1176 148 1146 q 74 1233 96 1206 q 42 1279 53 1261 l 42 1293 l 191 1293 q 216 1243 201 1270 q 246 1188 231 1215 q 278 1135 262 1160 q 309 1089 294 1109 l 309 1071 z "},\\u00CD:{ha:471,x_min:56,x_max:441,o:"m 415 0 l 56 0 l 56 69 l 172 97 l 172 895 l 56 922 l 56 991 l 415 991 l 415 922 l 298 895 l 298 97 l 415 69 l 415 0 m 174 1089 q 205 1135 189 1109 q 237 1188 221 1160 q 267 1243 253 1215 q 292 1293 281 1270 l 441 1293 l 441 1279 q 409 1233 430 1261 q 361 1176 387 1206 q 308 1118 335 1146 q 256 1071 280 1090 l 174 1071 l 174 1089 z "},\\u00CE:{ha:471,x_min:12,x_max:462,o:"m 415 0 l 56 0 l 56 69 l 172 97 l 172 895 l 56 922 l 56 991 l 415 991 l 415 922 l 298 895 l 298 97 l 415 69 l 415 0 m 462 1071 l 380 1071 q 309 1127 345 1094 q 237 1197 272 1160 q 164 1127 200 1160 q 94 1071 128 1094 l 12 1071 l 12 1089 q 52 1135 29 1109 q 98 1188 75 1160 q 141 1243 121 1215 q 172 1293 161 1270 l 302 1293 q 333 1243 313 1270 q 375 1188 353 1215 q 421 1135 398 1160 q 462 1089 445 1109 l 462 1071 z "},\\u00CF:{ha:471,x_min:43,x_max:428,o:"m 415 0 l 56 0 l 56 69 l 172 97 l 172 895 l 56 922 l 56 991 l 415 991 l 415 922 l 298 895 l 298 97 l 415 69 l 415 0 m 43 1175 q 62 1228 43 1212 q 109 1244 81 1244 q 155 1228 135 1244 q 174 1175 174 1211 q 155 1122 174 1139 q 109 1105 135 1105 q 62 1122 81 1105 q 43 1175 43 1139 m 298 1175 q 317 1228 298 1212 q 363 1244 336 1244 q 388 1240 376 1244 q 408 1228 399 1236 q 422 1206 417 1219 q 428 1175 428 1194 q 408 1122 428 1139 q 363 1105 389 1105 q 317 1122 336 1105 q 298 1175 298 1139 z "},\\u00D0:{ha:950,x_min:32,x_max:865,o:"m 32 546 l 135 546 l 135 991 l 411 991 q 599 960 515 991 q 742 868 683 929 q 833 715 801 806 q 865 505 865 625 q 833 285 865 380 q 739 127 800 191 q 587 32 677 64 q 383 0 497 0 l 135 0 l 135 436 l 32 436 l 32 546 m 732 501 q 709 672 732 600 q 644 791 687 745 q 539 861 602 838 q 397 884 477 884 l 261 884 l 261 546 l 489 546 l 489 436 l 261 436 l 261 109 l 371 109 q 641 208 550 109 q 732 501 732 307 z "},\\u00D1:{ha:1013,x_min:135,x_max:878,o:"m 878 0 l 732 0 l 244 821 l 239 821 q 245 717 243 768 q 250 625 248 673 q 252 538 252 576 l 252 0 l 135 0 l 135 991 l 279 991 l 765 175 l 770 175 q 765 277 768 227 q 763 321 764 298 q 761 367 762 344 q 760 410 760 389 q 760 449 760 431 l 760 991 l 878 991 l 878 0 m 614 1072 q 560 1084 587 1072 q 507 1111 533 1096 q 458 1137 481 1125 q 412 1149 434 1149 q 366 1131 382 1149 q 340 1071 349 1113 l 269 1071 q 284 1145 273 1112 q 313 1201 295 1178 q 356 1237 331 1225 q 412 1250 381 1250 q 468 1238 441 1250 q 522 1212 496 1226 q 571 1186 547 1198 q 614 1174 594 1174 q 660 1192 644 1174 q 686 1251 675 1209 l 757 1251 q 742 1178 753 1211 q 713 1121 731 1145 q 670 1085 695 1098 q 614 1072 645 1072 z "},\\u00D2:{ha:1031,x_min:85,x_max:945,o:"m 945 497 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 m 590 1071 l 509 1071 q 457 1118 485 1090 q 403 1176 429 1146 q 356 1233 377 1206 q 323 1279 334 1261 l 323 1293 l 472 1293 q 497 1243 483 1270 q 528 1188 512 1215 q 559 1135 543 1160 q 590 1089 576 1109 l 590 1071 z "},\\u00D3:{ha:1031,x_min:85,x_max:945,o:"m 945 497 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 m 441 1089 q 472 1135 456 1109 q 504 1188 488 1160 q 534 1243 520 1215 q 559 1293 549 1270 l 708 1293 l 708 1279 q 676 1233 697 1261 q 628 1176 654 1206 q 575 1118 602 1146 q 524 1071 547 1090 l 441 1071 l 441 1089 z "},\\u00D4:{ha:1031,x_min:85,x_max:945,o:"m 945 497 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 m 743 1071 l 661 1071 q 590 1127 627 1094 q 518 1197 553 1160 q 446 1127 481 1160 q 375 1071 410 1094 l 293 1071 l 293 1089 q 334 1135 311 1109 q 379 1188 357 1160 q 422 1243 402 1215 q 453 1293 442 1270 l 583 1293 q 614 1243 594 1270 q 657 1188 634 1215 q 703 1135 680 1160 q 743 1089 726 1109 l 743 1071 z "},\\u00D5:{ha:1031,x_min:85,x_max:945,o:"m 945 497 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 m 604 1072 q 550 1084 577 1072 q 498 1111 524 1096 q 448 1137 472 1125 q 403 1149 425 1149 q 356 1131 372 1149 q 330 1071 340 1113 l 260 1071 q 274 1145 263 1112 q 303 1201 286 1178 q 347 1237 321 1225 q 403 1250 372 1250 q 459 1238 431 1250 q 512 1212 486 1226 q 561 1186 538 1198 q 604 1174 585 1174 q 650 1192 635 1174 q 676 1251 666 1209 l 747 1251 q 733 1178 744 1211 q 704 1121 722 1145 q 661 1085 686 1098 q 604 1072 635 1072 z "},\\u00D6:{ha:1031,x_min:85,x_max:945,o:"m 945 497 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 324 23 405 -14 q 190 127 243 60 q 111 289 136 194 q 85 498 85 383 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 702 971 622 1007 q 836 868 781 935 q 917 707 890 801 q 945 497 945 613 m 218 497 q 236 330 218 404 q 290 204 254 256 q 382 124 326 152 q 515 97 438 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 q 794 665 811 591 q 741 790 777 739 q 650 868 705 841 q 517 896 594 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 m 323 1175 q 342 1228 323 1212 q 389 1244 361 1244 q 435 1228 415 1244 q 454 1175 454 1211 q 435 1122 454 1139 q 389 1105 415 1105 q 342 1122 361 1105 q 323 1175 323 1139 m 578 1175 q 597 1228 578 1212 q 643 1244 616 1244 q 668 1240 656 1244 q 688 1228 680 1236 q 703 1206 697 1219 q 708 1175 708 1194 q 688 1122 708 1139 q 643 1105 669 1105 q 597 1122 616 1105 q 578 1175 578 1139 z "},"\\xD7":{ha:765,x_min:96,x_max:671,o:"m 311 490 l 96 707 l 167 778 l 382 562 l 600 778 l 671 708 l 453 490 l 669 273 l 600 204 l 382 419 l 167 205 l 97 275 l 311 490 z "},\\u00D8:{ha:1031,x_min:85,x_max:945,o:"m 882 986 l 819 885 q 913 720 881 818 q 945 497 945 621 q 917 288 945 382 q 836 127 890 194 q 701 23 781 60 q 515 -14 621 -14 q 297 35 387 -14 l 244 -52 l 151 1 l 212 100 q 116 269 146 168 q 85 498 85 370 q 111 708 85 614 q 190 868 136 802 q 325 971 243 935 q 517 1007 406 1007 q 635 993 581 1007 q 734 953 690 979 l 789 1039 l 882 986 m 218 497 q 234 337 218 408 q 282 214 250 267 l 675 854 q 604 885 642 874 q 517 896 565 896 q 383 868 439 896 q 290 790 327 841 q 236 665 254 739 q 218 497 218 591 m 811 497 q 751 774 811 671 l 359 136 q 430 107 391 117 q 515 97 469 97 q 649 124 593 97 q 741 204 705 152 q 794 330 777 256 q 811 497 811 404 z "},\\u00D9:{ha:970,x_min:125,x_max:844,o:"m 844 993 l 844 350 q 822 206 844 273 q 754 91 800 140 q 641 14 709 42 q 481 -14 573 -14 q 328 13 394 -14 q 216 87 261 39 q 148 202 171 135 q 125 353 125 270 l 125 991 l 252 991 l 252 346 q 310 162 252 227 q 488 97 369 97 q 591 115 548 97 q 663 167 635 134 q 704 246 690 200 q 718 347 718 292 l 718 993 l 844 993 m 574 1071 l 493 1071 q 441 1118 469 1090 q 388 1176 414 1146 q 340 1233 361 1206 q 308 1279 319 1261 l 308 1293 l 456 1293 q 482 1243 467 1270 q 512 1188 496 1215 q 544 1135 528 1160 q 574 1089 560 1109 l 574 1071 z "},\\u00DA:{ha:970,x_min:125,x_max:844,o:"m 844 993 l 844 350 q 822 206 844 273 q 754 91 800 140 q 641 14 709 42 q 481 -14 573 -14 q 328 13 394 -14 q 216 87 261 39 q 148 202 171 135 q 125 353 125 270 l 125 991 l 252 991 l 252 346 q 310 162 252 227 q 488 97 369 97 q 591 115 548 97 q 663 167 635 134 q 704 246 690 200 q 718 347 718 292 l 718 993 l 844 993 m 400 1089 q 431 1135 415 1109 q 463 1188 447 1160 q 493 1243 479 1215 q 518 1293 507 1270 l 667 1293 l 667 1279 q 634 1233 656 1261 q 587 1176 613 1206 q 533 1118 561 1146 q 482 1071 506 1090 l 400 1071 l 400 1089 z "},\\u00DB:{ha:970,x_min:125,x_max:844,o:"m 844 993 l 844 350 q 822 206 844 273 q 754 91 800 140 q 641 14 709 42 q 481 -14 573 -14 q 328 13 394 -14 q 216 87 261 39 q 148 202 171 135 q 125 353 125 270 l 125 991 l 252 991 l 252 346 q 310 162 252 227 q 488 97 369 97 q 591 115 548 97 q 663 167 635 134 q 704 246 690 200 q 718 347 718 292 l 718 993 l 844 993 m 707 1071 l 625 1071 q 554 1127 591 1094 q 482 1197 517 1160 q 410 1127 446 1160 q 339 1071 374 1094 l 257 1071 l 257 1089 q 298 1135 275 1109 q 343 1188 321 1160 q 386 1243 366 1215 q 417 1293 406 1270 l 547 1293 q 578 1243 558 1270 q 621 1188 598 1215 q 667 1135 644 1160 q 707 1089 690 1109 l 707 1071 z "},\\u00DC:{ha:970,x_min:125,x_max:844,o:"m 844 993 l 844 350 q 822 206 844 273 q 754 91 800 140 q 641 14 709 42 q 481 -14 573 -14 q 328 13 394 -14 q 216 87 261 39 q 148 202 171 135 q 125 353 125 270 l 125 991 l 252 991 l 252 346 q 310 162 252 227 q 488 97 369 97 q 591 115 548 97 q 663 167 635 134 q 704 246 690 200 q 718 347 718 292 l 718 993 l 844 993 m 293 1175 q 312 1228 293 1212 q 358 1244 331 1244 q 404 1228 385 1244 q 424 1175 424 1211 q 404 1122 424 1139 q 358 1105 385 1105 q 312 1122 331 1105 q 293 1175 293 1139 m 547 1175 q 566 1228 547 1212 q 612 1244 585 1244 q 637 1240 625 1244 q 658 1228 649 1236 q 672 1206 667 1219 q 677 1175 677 1194 q 658 1122 677 1139 q 612 1105 638 1105 q 566 1122 585 1105 q 547 1175 547 1139 z "},\\u00DD:{ha:732,x_min:0,x_max:732,o:"m 366 490 l 596 991 l 732 991 l 429 386 l 429 0 l 302 0 l 302 379 l 0 991 l 138 991 l 366 490 m 300 1089 q 331 1135 315 1109 q 362 1188 347 1160 q 393 1243 378 1215 q 418 1293 407 1270 l 566 1293 l 566 1279 q 534 1233 555 1261 q 487 1176 513 1206 q 433 1118 460 1146 q 382 1071 406 1090 l 300 1071 l 300 1089 z "},\\u00DE:{ha:800,x_min:135,x_max:729,o:"m 729 530 q 710 412 729 469 q 649 311 692 355 q 536 241 606 267 q 363 215 466 215 l 261 215 l 261 0 l 135 0 l 135 991 l 261 991 l 261 821 l 380 821 q 537 801 471 821 q 646 745 603 782 q 709 654 688 708 q 729 530 729 600 m 261 322 l 349 322 q 459 333 412 322 q 537 368 506 344 q 583 430 568 392 q 599 524 599 469 q 543 667 599 621 q 370 713 488 713 l 261 713 l 261 322 z "},\\u00DF:{ha:836,x_min:118,x_max:774,o:"m 685 854 q 670 786 685 816 q 634 731 656 755 q 588 686 613 706 q 541 647 562 665 q 505 610 519 628 q 490 571 490 591 q 495 546 490 557 q 513 521 500 534 q 550 491 526 508 q 612 449 574 475 q 680 399 650 424 q 731 347 710 375 q 763 287 751 319 q 774 212 774 254 q 755 111 774 153 q 702 40 736 68 q 620 0 667 13 q 514 -14 572 -14 q 401 -2 448 -14 q 318 33 354 10 l 318 146 q 358 124 336 135 q 404 106 380 114 q 454 93 429 98 q 505 87 480 87 q 571 96 543 87 q 616 120 598 104 q 642 157 633 135 q 650 205 650 178 q 644 250 650 230 q 624 289 638 270 q 585 328 609 308 q 522 371 560 347 q 451 421 479 398 q 404 467 422 444 q 378 513 386 490 q 371 566 371 537 q 385 629 371 602 q 420 677 399 656 q 465 717 441 699 q 511 755 490 735 q 546 797 532 774 q 559 850 559 820 q 548 899 559 878 q 517 934 537 920 q 468 955 496 948 q 406 961 440 961 q 342 955 372 961 q 290 932 313 948 q 255 887 268 916 q 241 815 241 859 l 241 0 l 118 0 l 118 814 q 139 932 118 884 q 199 1009 161 980 q 290 1050 237 1038 q 406 1063 343 1063 q 519 1050 468 1063 q 608 1011 571 1037 q 665 946 644 985 q 685 854 685 907 z "},\\u00E0:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 m 460 842 l 378 842 q 327 889 355 861 q 273 947 299 917 q 225 1004 247 977 q 193 1050 204 1031 l 193 1064 l 342 1064 q 367 1014 353 1041 q 397 959 382 986 q 429 905 413 931 q 460 860 446 880 l 460 842 z "},\\u00E1:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 m 302 860 q 333 905 317 880 q 365 959 349 931 q 395 1014 381 986 q 420 1064 410 1041 l 569 1064 l 569 1050 q 537 1004 558 1031 q 489 947 515 977 q 436 889 463 917 q 385 842 408 861 l 302 842 l 302 860 z "},\\u00E2:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 m 605 842 l 523 842 q 452 898 488 865 q 380 968 415 930 q 307 898 343 930 q 237 842 271 865 l 155 842 l 155 860 q 195 905 172 880 q 241 959 218 931 q 284 1014 264 986 q 315 1064 304 1041 l 445 1064 q 476 1014 456 1041 q 518 959 496 986 q 565 905 541 931 q 605 860 588 880 l 605 842 z "},\\u00E3:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 m 474 843 q 420 855 447 843 q 368 881 393 867 q 318 908 342 896 q 273 920 294 920 q 226 902 242 920 q 200 842 210 884 l 130 842 q 144 916 133 882 q 173 972 155 949 q 216 1008 191 996 q 273 1021 241 1021 q 329 1009 301 1021 q 382 983 356 997 q 431 957 408 968 q 474 945 454 945 q 520 962 505 945 q 546 1022 536 980 l 617 1022 q 603 948 614 981 q 573 892 591 916 q 530 856 555 869 q 474 843 505 843 z "},\\u00E4:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 m 185 946 q 204 999 185 983 q 250 1015 223 1015 q 296 999 277 1015 q 316 946 316 982 q 296 893 316 910 q 250 876 277 876 q 204 893 223 876 q 185 946 185 910 m 439 946 q 458 999 439 983 q 505 1015 477 1015 q 529 1011 517 1015 q 550 999 541 1007 q 564 977 559 990 q 570 946 570 964 q 550 893 570 910 q 505 876 530 876 q 458 893 477 876 q 439 946 439 910 z "},\\u00E5:{ha:737,x_min:64,x_max:627,o:"m 538 0 l 513 103 l 507 103 q 463 51 485 73 q 414 14 440 28 q 355 -7 387 0 q 279 -14 322 -14 q 193 0 233 -14 q 125 40 154 13 q 80 110 96 68 q 64 208 64 151 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 478 744 427 758 q 561 700 528 730 q 610 623 594 670 q 627 510 627 576 l 627 0 l 538 0 m 311 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 q 225 115 192 144 q 311 86 258 86 m 531 989 q 519 927 531 954 q 487 880 507 899 q 437 851 466 861 q 376 842 409 842 q 314 851 342 842 q 266 880 286 861 q 235 926 246 899 q 224 987 224 953 q 235 1049 224 1022 q 266 1095 246 1076 q 314 1123 286 1114 q 376 1133 342 1133 q 437 1123 408 1133 q 486 1095 465 1114 q 519 1049 507 1076 q 531 989 531 1023 m 452 987 q 430 1044 452 1023 q 376 1064 409 1064 q 320 1044 342 1064 q 299 987 299 1023 q 318 931 299 951 q 376 911 338 911 q 430 931 409 911 q 452 987 452 951 z "},\\u00E6:{ha:1157,x_min:64,x_max:1088,o:"m 64 208 q 142 379 64 319 q 380 444 220 439 l 505 449 l 505 496 q 495 572 505 541 q 467 621 486 602 q 421 648 448 640 q 358 656 393 656 q 253 640 302 656 q 160 600 205 623 l 117 693 q 229 739 167 720 q 358 758 290 758 q 503 729 447 758 q 589 637 559 701 q 680 727 623 695 q 806 758 736 758 q 924 734 871 758 q 1013 666 976 710 q 1068 561 1049 623 q 1088 425 1088 500 l 1088 349 l 632 349 q 685 156 635 218 q 835 94 735 94 q 897 98 868 94 q 952 107 926 101 q 1004 124 979 114 q 1054 146 1029 134 l 1054 36 q 1002 14 1027 23 q 950 -2 977 4 q 894 -11 923 -8 q 832 -14 865 -14 q 670 25 739 -14 q 559 142 602 64 q 511 76 536 105 q 453 27 485 47 q 381 -3 420 7 q 292 -14 342 -14 q 202 0 243 -14 q 130 40 160 13 q 81 110 99 68 q 64 208 64 151 m 192 207 q 225 115 192 144 q 311 86 258 86 q 388 99 353 86 q 449 138 423 112 q 489 204 475 164 q 504 297 504 243 l 504 364 l 407 359 q 304 346 346 357 q 238 316 263 335 q 203 269 214 296 q 192 207 192 241 m 803 656 q 685 603 728 656 q 635 449 642 550 l 954 449 q 945 533 954 495 q 918 599 937 572 q 871 641 899 626 q 803 656 842 656 z "},\\u00E7:{ha:643,x_min:77,x_max:596,o:"m 403 -14 q 275 8 334 -14 q 171 76 215 29 q 102 194 127 122 q 77 368 77 267 q 102 549 77 475 q 173 670 128 623 q 279 737 218 716 q 408 758 339 758 q 512 747 461 758 q 596 718 562 735 l 559 614 q 525 627 544 621 q 486 638 506 633 q 446 647 465 644 q 408 650 426 650 q 253 582 302 650 q 204 370 204 513 q 253 160 204 227 q 403 94 302 94 q 502 107 458 94 q 583 136 547 119 l 583 26 q 505 -3 547 7 q 403 -14 463 -14 m 495 -195 q 447 -297 495 -260 q 298 -334 399 -334 q 268 -332 283 -334 q 242 -328 252 -330 l 242 -254 q 269 -257 252 -256 q 296 -258 286 -258 q 372 -244 345 -258 q 399 -196 399 -229 q 390 -168 399 -180 q 366 -147 381 -156 q 329 -132 350 -138 q 282 -119 307 -125 l 343 0 l 425 0 l 387 -78 q 429 -92 410 -83 q 464 -115 449 -101 q 487 -149 478 -129 q 495 -195 495 -168 z "},\\u00E8:{ha:743,x_min:77,x_max:673,o:"m 412 -14 q 276 12 338 -14 q 170 85 214 37 q 101 204 125 133 q 77 367 77 275 q 99 532 77 459 q 162 655 121 604 q 259 732 203 705 q 385 758 316 758 q 505 734 452 758 q 596 666 559 710 q 653 561 633 623 q 673 425 673 500 l 673 349 l 204 349 q 259 156 208 218 q 414 94 311 94 q 478 98 448 94 q 535 107 507 101 q 588 124 562 114 q 640 146 614 134 l 640 36 q 587 14 613 23 q 533 -2 561 4 q 476 -11 506 -8 q 412 -14 447 -14 m 382 656 q 259 603 304 656 q 207 449 214 550 l 541 449 q 531 533 541 495 q 503 599 522 572 q 454 641 484 626 q 382 656 424 656 m 460 842 l 378 842 q 327 889 355 861 q 273 947 299 917 q 225 1004 247 977 q 193 1050 204 1031 l 193 1064 l 342 1064 q 367 1014 353 1041 q 397 959 382 986 q 429 905 413 931 q 460 860 446 880 l 460 842 z "},\\u00E9:{ha:743,x_min:77,x_max:673,o:"m 412 -14 q 276 12 338 -14 q 170 85 214 37 q 101 204 125 133 q 77 367 77 275 q 99 532 77 459 q 162 655 121 604 q 259 732 203 705 q 385 758 316 758 q 505 734 452 758 q 596 666 559 710 q 653 561 633 623 q 673 425 673 500 l 673 349 l 204 349 q 259 156 208 218 q 414 94 311 94 q 478 98 448 94 q 535 107 507 101 q 588 124 562 114 q 640 146 614 134 l 640 36 q 587 14 613 23 q 533 -2 561 4 q 476 -11 506 -8 q 412 -14 447 -14 m 382 656 q 259 603 304 656 q 207 449 214 550 l 541 449 q 531 533 541 495 q 503 599 522 572 q 454 641 484 626 q 382 656 424 656 m 322 860 q 353 905 337 880 q 385 959 369 931 q 415 1014 401 986 q 440 1064 429 1041 l 589 1064 l 589 1050 q 556 1004 578 1031 q 509 947 535 977 q 455 889 483 917 q 404 842 428 861 l 322 842 l 322 860 z "},\\u00EA:{ha:743,x_min:77,x_max:673,o:"m 412 -14 q 276 12 338 -14 q 170 85 214 37 q 101 204 125 133 q 77 367 77 275 q 99 532 77 459 q 162 655 121 604 q 259 732 203 705 q 385 758 316 758 q 505 734 452 758 q 596 666 559 710 q 653 561 633 623 q 673 425 673 500 l 673 349 l 204 349 q 259 156 208 218 q 414 94 311 94 q 478 98 448 94 q 535 107 507 101 q 588 124 562 114 q 640 146 614 134 l 640 36 q 587 14 613 23 q 533 -2 561 4 q 476 -11 506 -8 q 412 -14 447 -14 m 382 656 q 259 603 304 656 q 207 449 214 550 l 541 449 q 531 533 541 495 q 503 599 522 572 q 454 641 484 626 q 382 656 424 656 m 602 842 l 520 842 q 449 898 486 865 q 377 968 412 930 q 304 898 340 930 q 234 842 269 865 l 152 842 l 152 860 q 193 905 170 880 q 238 959 216 931 q 281 1014 261 986 q 312 1064 301 1041 l 442 1064 q 473 1014 453 1041 q 516 959 493 986 q 562 905 538 931 q 602 860 585 880 l 602 842 z "},\\u00EB:{ha:743,x_min:77,x_max:673,o:"m 412 -14 q 276 12 338 -14 q 170 85 214 37 q 101 204 125 133 q 77 367 77 275 q 99 532 77 459 q 162 655 121 604 q 259 732 203 705 q 385 758 316 758 q 505 734 452 758 q 596 666 559 710 q 653 561 633 623 q 673 425 673 500 l 673 349 l 204 349 q 259 156 208 218 q 414 94 311 94 q 478 98 448 94 q 535 107 507 101 q 588 124 562 114 q 640 146 614 134 l 640 36 q 587 14 613 23 q 533 -2 561 4 q 476 -11 506 -8 q 412 -14 447 -14 m 382 656 q 259 603 304 656 q 207 449 214 550 l 541 449 q 531 533 541 495 q 503 599 522 572 q 454 641 484 626 q 382 656 424 656 m 182 946 q 201 999 182 983 q 248 1015 220 1015 q 294 999 274 1015 q 313 946 313 982 q 294 893 313 910 q 248 876 274 876 q 201 893 220 876 q 182 946 182 910 m 437 946 q 456 999 437 983 q 502 1015 475 1015 q 527 1011 515 1015 q 547 999 538 1007 q 562 977 556 990 q 567 946 567 964 q 547 893 567 910 q 502 876 528 876 q 456 893 475 876 q 437 946 437 910 z "},\\u00EC:{ha:359,x_min:-23,x_max:243,o:"m 241 0 l 118 0 l 118 745 l 241 745 l 241 0 m 243 842 l 162 842 q 111 889 138 861 q 57 947 83 917 q 9 1004 31 977 q -23 1050 -12 1031 l -23 1064 l 125 1064 q 151 1014 136 1041 q 181 959 165 986 q 213 905 197 931 q 243 860 229 880 l 243 842 z "},\\u00ED:{ha:359,x_min:118,x_max:392,o:"m 241 0 l 118 0 l 118 745 l 241 745 l 241 0 m 125 860 q 156 905 140 880 q 188 959 172 931 q 218 1014 204 986 q 243 1064 233 1041 l 392 1064 l 392 1050 q 360 1004 381 1031 q 312 947 338 977 q 259 889 286 917 q 208 842 231 861 l 125 842 l 125 860 z "},\\u00EE:{ha:359,x_min:-45,x_max:405,o:"m 241 0 l 118 0 l 118 745 l 241 745 l 241 0 m 405 842 l 323 842 q 252 898 288 865 q 180 968 215 930 q 107 898 143 930 q 37 842 71 865 l -45 842 l -45 860 q -5 905 -28 880 q 41 959 18 931 q 84 1014 64 986 q 115 1064 104 1041 l 245 1064 q 276 1014 256 1041 q 318 959 296 986 q 365 905 341 931 q 405 860 388 880 l 405 842 z "},\\u00EF:{ha:359,x_min:-12,x_max:372,o:"m 241 0 l 118 0 l 118 745 l 241 745 l 241 0 m -12 946 q 7 999 -12 983 q 53 1015 26 1015 q 99 999 79 1015 q 119 946 119 982 q 99 893 119 910 q 53 876 79 876 q 7 893 26 876 q -12 946 -12 910 m 242 946 q 261 999 242 983 q 307 1015 280 1015 q 332 1011 320 1015 q 353 999 344 1007 q 367 977 361 990 q 372 946 372 964 q 353 893 372 910 q 307 876 333 876 q 261 893 280 876 q 242 946 242 910 z "},\\u00F0:{ha:802,x_min:75,x_max:725,o:"m 725 389 q 702 218 725 292 q 637 92 680 143 q 534 13 595 40 q 399 -14 474 -14 q 269 9 328 -14 q 166 74 210 31 q 99 180 123 117 q 75 323 75 243 q 97 467 75 404 q 158 572 118 529 q 255 636 198 614 q 383 659 312 659 q 505 638 452 659 q 586 578 557 618 l 591 581 q 530 726 570 661 q 428 846 489 791 l 254 742 l 204 819 l 351 908 q 295 946 324 927 q 235 982 267 964 l 282 1065 q 368 1019 326 1044 q 449 965 409 995 l 603 1059 l 653 982 l 521 903 q 604 806 566 859 q 668 689 642 753 q 710 551 695 626 q 725 389 725 476 m 597 357 q 586 431 597 395 q 551 495 574 467 q 490 540 527 523 q 401 557 452 557 q 312 541 349 557 q 252 496 275 526 q 217 421 228 466 q 205 319 205 377 q 217 225 205 268 q 252 153 228 183 q 313 105 276 122 q 401 89 350 89 q 552 156 506 89 q 597 357 597 224 z "},\\u00F1:{ha:818,x_min:118,x_max:707,o:"m 583 0 l 583 479 q 548 612 583 568 q 436 656 512 656 q 344 638 381 656 q 284 586 307 621 q 251 501 261 551 q 241 386 241 451 l 241 0 l 118 0 l 118 745 l 218 745 l 236 644 l 243 644 q 283 695 260 673 q 334 730 307 716 q 393 751 362 745 q 457 758 425 758 q 644 693 581 758 q 707 486 707 629 l 707 0 l 583 0 m 515 843 q 461 855 488 843 q 408 881 434 867 q 359 908 382 896 q 313 920 335 920 q 267 902 283 920 q 241 842 250 884 l 170 842 q 185 916 174 882 q 214 972 196 949 q 257 1008 232 996 q 313 1021 282 1021 q 369 1009 342 1021 q 422 983 397 997 q 472 957 448 968 q 515 945 495 945 q 561 962 545 945 q 587 1022 576 980 l 658 1022 q 643 948 654 981 q 614 892 632 916 q 571 856 596 869 q 515 843 546 843 z "},\\u00F2:{ha:802,x_min:77,x_max:725,o:"m 725 374 q 702 209 725 281 q 637 87 680 136 q 534 12 595 38 q 399 -14 474 -14 q 270 12 329 -14 q 168 87 211 38 q 101 209 125 136 q 77 374 77 281 q 99 537 77 466 q 164 658 122 609 q 267 733 206 707 q 403 758 328 758 q 532 733 473 758 q 634 658 591 707 q 701 537 677 609 q 725 374 725 466 m 204 374 q 251 160 204 232 q 401 89 297 89 q 552 160 506 89 q 597 374 597 232 q 551 586 597 515 q 400 656 505 656 q 250 586 296 656 q 204 374 204 515 m 506 842 l 425 842 q 373 889 401 861 q 319 947 345 917 q 272 1004 293 977 q 239 1050 250 1031 l 239 1064 l 388 1064 q 413 1014 399 1041 q 444 959 428 986 q 475 905 459 931 q 506 860 492 880 l 506 842 z "},\\u00F3:{ha:802,x_min:77,x_max:725,o:"m 725 374 q 702 209 725 281 q 637 87 680 136 q 534 12 595 38 q 399 -14 474 -14 q 270 12 329 -14 q 168 87 211 38 q 101 209 125 136 q 77 374 77 281 q 99 537 77 466 q 164 658 122 609 q 267 733 206 707 q 403 758 328 758 q 532 733 473 758 q 634 658 591 707 q 701 537 677 609 q 725 374 725 466 m 204 374 q 251 160 204 232 q 401 89 297 89 q 552 160 506 89 q 597 374 597 232 q 551 586 597 515 q 400 656 505 656 q 250 586 296 656 q 204 374 204 515 m 321 860 q 352 905 336 880 q 384 959 368 931 q 414 1014 399 986 q 439 1064 428 1041 l 587 1064 l 587 1050 q 555 1004 576 1031 q 508 947 534 977 q 454 889 481 917 q 403 842 427 861 l 321 842 l 321 860 z "},\\u00F4:{ha:802,x_min:77,x_max:725,o:"m 725 374 q 702 209 725 281 q 637 87 680 136 q 534 12 595 38 q 399 -14 474 -14 q 270 12 329 -14 q 168 87 211 38 q 101 209 125 136 q 77 374 77 281 q 99 537 77 466 q 164 658 122 609 q 267 733 206 707 q 403 758 328 758 q 532 733 473 758 q 634 658 591 707 q 701 537 677 609 q 725 374 725 466 m 204 374 q 251 160 204 232 q 401 89 297 89 q 552 160 506 89 q 597 374 597 232 q 551 586 597 515 q 400 656 505 656 q 250 586 296 656 q 204 374 204 515 m 622 842 l 540 842 q 469 898 505 865 q 397 968 432 930 q 324 898 360 930 q 254 842 288 865 l 172 842 l 172 860 q 212 905 189 880 q 258 959 235 931 q 301 1014 281 986 q 332 1064 321 1041 l 462 1064 q 493 1014 473 1041 q 535 959 513 986 q 582 905 558 931 q 622 860 605 880 l 622 842 z "},\\u00F5:{ha:802,x_min:77,x_max:725,o:"m 725 374 q 702 209 725 281 q 637 87 680 136 q 534 12 595 38 q 399 -14 474 -14 q 270 12 329 -14 q 168 87 211 38 q 101 209 125 136 q 77 374 77 281 q 99 537 77 466 q 164 658 122 609 q 267 733 206 707 q 403 758 328 758 q 532 733 473 758 q 634 658 591 707 q 701 537 677 609 q 725 374 725 466 m 204 374 q 251 160 204 232 q 401 89 297 89 q 552 160 506 89 q 597 374 597 232 q 551 586 597 515 q 400 656 505 656 q 250 586 296 656 q 204 374 204 515 m 499 843 q 445 855 472 843 q 393 881 418 867 q 343 908 367 896 q 298 920 319 920 q 251 902 267 920 q 225 842 235 884 l 155 842 q 169 916 158 882 q 198 972 180 949 q 241 1008 216 996 q 298 1021 267 1021 q 354 1009 326 1021 q 407 983 381 997 q 456 957 433 968 q 499 945 479 945 q 545 962 530 945 q 571 1022 561 980 l 642 1022 q 628 948 639 981 q 598 892 616 916 q 555 856 581 869 q 499 843 530 843 z "},\\u00F6:{ha:802,x_min:77,x_max:725,o:"m 725 374 q 702 209 725 281 q 637 87 680 136 q 534 12 595 38 q 399 -14 474 -14 q 270 12 329 -14 q 168 87 211 38 q 101 209 125 136 q 77 374 77 281 q 99 537 77 466 q 164 658 122 609 q 267 733 206 707 q 403 758 328 758 q 532 733 473 758 q 634 658 591 707 q 701 537 677 609 q 725 374 725 466 m 204 374 q 251 160 204 232 q 401 89 297 89 q 552 160 506 89 q 597 374 597 232 q 551 586 597 515 q 400 656 505 656 q 250 586 296 656 q 204 374 204 515 m 203 946 q 222 999 203 983 q 269 1015 241 1015 q 315 999 295 1015 q 334 946 334 982 q 315 893 334 910 q 269 876 295 876 q 222 893 241 876 q 203 946 203 910 m 458 946 q 477 999 458 983 q 523 1015 496 1015 q 548 1011 536 1015 q 568 999 559 1007 q 583 977 577 990 q 588 946 588 964 q 568 893 588 910 q 523 876 549 876 q 477 893 496 876 q 458 946 458 910 z "},"\\xF7":{ha:765,x_min:69,x_max:696,o:"m 69 439 l 69 541 l 696 541 l 696 439 l 69 439 m 304 253 q 311 293 304 277 q 327 319 317 309 q 352 333 338 329 q 382 338 366 338 q 412 333 397 338 q 437 319 426 329 q 454 293 448 309 q 460 253 460 277 q 454 215 460 231 q 437 188 448 199 q 412 173 426 178 q 382 168 397 168 q 352 173 366 168 q 327 188 338 178 q 311 215 317 199 q 304 253 304 231 m 304 726 q 311 766 304 750 q 327 792 317 782 q 352 807 338 802 q 382 811 366 811 q 412 807 397 811 q 437 792 426 802 q 454 766 448 782 q 460 726 460 750 q 454 688 460 704 q 437 662 448 672 q 412 646 426 651 q 382 642 397 642 q 352 646 366 642 q 327 662 338 651 q 311 688 317 672 q 304 726 304 704 z "},\\u00F8:{ha:802,x_min:78,x_max:726,o:"m 726 374 q 704 209 726 281 q 638 87 681 136 q 536 12 596 38 q 400 -14 475 -14 q 249 22 315 -14 l 203 -52 l 114 -1 l 168 87 q 102 209 125 136 q 78 374 78 281 q 101 537 78 466 q 165 658 123 609 q 268 733 208 707 q 404 758 329 758 q 485 748 447 758 q 557 720 524 739 l 603 793 l 692 743 l 637 656 q 703 535 680 606 q 726 374 726 465 m 205 374 q 212 272 205 317 q 233 193 218 228 l 503 632 q 457 650 483 644 q 401 656 432 656 q 251 586 297 656 q 205 374 205 515 m 599 374 q 572 549 599 481 l 302 111 q 348 94 323 100 q 403 89 372 89 q 553 160 507 89 q 599 374 599 232 z "},\\u00F9:{ha:818,x_min:111,x_max:700,o:"m 600 0 l 582 100 l 575 100 q 535 49 558 71 q 484 14 511 28 q 425 -7 456 0 q 361 -14 393 -14 q 252 2 299 -14 q 174 51 205 18 q 127 136 143 84 q 111 258 111 187 l 111 745 l 235 745 l 235 265 q 271 133 235 177 q 382 89 307 89 q 474 106 437 89 q 534 158 511 124 q 567 243 557 193 q 576 358 576 293 l 576 745 l 700 745 l 700 0 l 600 0 m 470 842 l 389 842 q 337 889 365 861 q 283 947 309 917 q 236 1004 257 977 q 203 1050 214 1031 l 203 1064 l 352 1064 q 377 1014 363 1041 q 408 959 392 986 q 439 905 423 931 q 470 860 456 880 l 470 842 z "},\\u00FA:{ha:818,x_min:111,x_max:700,o:"m 600 0 l 582 100 l 575 100 q 535 49 558 71 q 484 14 511 28 q 425 -7 456 0 q 361 -14 393 -14 q 252 2 299 -14 q 174 51 205 18 q 127 136 143 84 q 111 258 111 187 l 111 745 l 235 745 l 235 265 q 271 133 235 177 q 382 89 307 89 q 474 106 437 89 q 534 158 511 124 q 567 243 557 193 q 576 358 576 293 l 576 745 l 700 745 l 700 0 l 600 0 m 332 860 q 362 905 347 880 q 394 959 378 931 q 425 1014 410 986 q 450 1064 439 1041 l 598 1064 l 598 1050 q 566 1004 587 1031 q 518 947 545 977 q 465 889 492 917 q 414 842 437 861 l 332 842 l 332 860 z "},\\u00FB:{ha:818,x_min:111,x_max:700,o:"m 600 0 l 582 100 l 575 100 q 535 49 558 71 q 484 14 511 28 q 425 -7 456 0 q 361 -14 393 -14 q 252 2 299 -14 q 174 51 205 18 q 127 136 143 84 q 111 258 111 187 l 111 745 l 235 745 l 235 265 q 271 133 235 177 q 382 89 307 89 q 474 106 437 89 q 534 158 511 124 q 567 243 557 193 q 576 358 576 293 l 576 745 l 700 745 l 700 0 l 600 0 m 631 842 l 549 842 q 477 898 514 865 q 406 968 441 930 q 333 898 369 930 q 262 842 297 865 l 180 842 l 180 860 q 221 905 198 880 q 267 959 244 931 q 310 1014 290 986 q 340 1064 330 1041 l 471 1064 q 502 1014 481 1041 q 544 959 522 986 q 590 905 567 931 q 631 860 614 880 l 631 842 z "},\\u00FC:{ha:818,x_min:111,x_max:700,o:"m 600 0 l 582 100 l 575 100 q 535 49 558 71 q 484 14 511 28 q 425 -7 456 0 q 361 -14 393 -14 q 252 2 299 -14 q 174 51 205 18 q 127 136 143 84 q 111 258 111 187 l 111 745 l 235 745 l 235 265 q 271 133 235 177 q 382 89 307 89 q 474 106 437 89 q 534 158 511 124 q 567 243 557 193 q 576 358 576 293 l 576 745 l 700 745 l 700 0 l 600 0 m 210 946 q 229 999 210 983 q 275 1015 248 1015 q 321 999 301 1015 q 340 946 340 982 q 321 893 340 910 q 275 876 301 876 q 229 893 248 876 q 210 946 210 910 m 464 946 q 483 999 464 983 q 529 1015 502 1015 q 554 1011 542 1015 q 574 999 566 1007 q 589 977 583 990 q 594 946 594 964 q 574 893 594 910 q 529 876 555 876 q 483 893 502 876 q 464 946 464 910 z "},\\u00FD:{ha:679,x_min:7,x_max:672,o:"m 7 745 l 135 745 l 281 329 q 300 272 290 302 q 318 212 310 242 q 333 155 327 182 q 342 103 339 127 l 346 103 q 357 149 349 120 q 373 211 364 178 q 392 276 382 244 q 410 330 402 308 l 545 745 l 672 745 l 378 -97 q 337 -196 359 -152 q 286 -270 315 -239 q 217 -317 256 -300 q 123 -334 178 -334 q 62 -330 88 -334 q 18 -322 37 -326 l 18 -224 q 54 -230 33 -227 q 100 -232 76 -232 q 156 -224 132 -232 q 197 -201 180 -216 q 228 -165 215 -186 q 250 -115 240 -143 l 289 -7 l 7 745 m 276 860 q 307 905 291 880 q 339 959 323 931 q 369 1014 355 986 q 394 1064 383 1041 l 543 1064 l 543 1050 q 510 1004 532 1031 q 463 947 489 977 q 409 889 437 917 q 358 842 382 861 l 276 842 l 276 860 z "},\\u00FE:{ha:814,x_min:118,x_max:737,o:"m 241 644 q 277 689 257 668 q 322 725 296 709 q 381 749 349 740 q 454 758 414 758 q 570 734 518 758 q 660 661 623 709 q 717 541 696 612 q 737 374 737 469 q 717 206 737 278 q 660 85 696 134 q 570 11 623 36 q 454 -14 518 -14 q 382 -5 414 -14 q 323 19 349 4 q 277 53 297 33 q 241 94 257 73 l 233 94 q 237 50 235 71 q 240 14 239 33 q 241 -16 241 -5 l 241 -334 l 118 -334 l 118 1055 l 241 1055 l 241 745 l 236 644 l 241 644 m 431 656 q 343 640 379 656 q 286 593 308 625 q 253 513 264 561 q 241 401 243 466 l 241 374 q 251 252 241 305 q 282 162 260 199 q 340 107 304 126 q 432 89 377 89 q 567 163 524 89 q 610 375 610 237 q 567 586 610 516 q 431 656 524 656 z "},\\u00FF:{ha:679,x_min:7,x_max:672,o:"m 7 745 l 135 745 l 281 329 q 300 272 290 302 q 318 212 310 242 q 333 155 327 182 q 342 103 339 127 l 346 103 q 357 149 349 120 q 373 211 364 178 q 392 276 382 244 q 410 330 402 308 l 545 745 l 672 745 l 378 -97 q 337 -196 359 -152 q 286 -270 315 -239 q 217 -317 256 -300 q 123 -334 178 -334 q 62 -330 88 -334 q 18 -322 37 -326 l 18 -224 q 54 -230 33 -227 q 100 -232 76 -232 q 156 -224 132 -232 q 197 -201 180 -216 q 228 -165 215 -186 q 250 -115 240 -143 l 289 -7 l 7 745 m 155 946 q 174 999 155 983 q 220 1015 193 1015 q 266 999 246 1015 q 286 946 286 982 q 266 893 286 910 q 220 876 246 876 q 174 893 193 876 q 155 946 155 910 m 409 946 q 428 999 409 983 q 474 1015 447 1015 q 499 1011 487 1015 q 519 999 511 1007 q 534 977 528 990 q 539 946 539 964 q 519 893 539 910 q 474 876 500 876 q 428 893 447 876 q 409 946 409 910 z "},\\u0131:{ha:359,x_min:118,x_max:241,o:"m 241 0 l 118 0 l 118 745 l 241 745 l 241 0 z "},"\\u02C6":{ha:802,x_min:175,x_max:625,o:"m 625 842 l 543 842 q 472 898 509 865 q 400 968 435 930 q 328 898 363 930 q 257 842 292 865 l 175 842 l 175 860 q 216 905 193 880 q 261 959 239 931 q 304 1014 284 986 q 335 1064 324 1041 l 465 1064 q 496 1014 476 1041 q 539 959 516 986 q 585 905 562 931 q 625 860 608 880 l 625 842 z "},"\\u02DA":{ha:802,x_min:248,x_max:554,o:"m 554 989 q 542 927 554 954 q 510 880 530 899 q 460 851 489 861 q 399 842 432 842 q 337 851 365 842 q 289 880 309 861 q 258 926 269 899 q 248 987 248 953 q 258 1049 248 1022 q 289 1095 269 1076 q 337 1123 309 1114 q 399 1133 365 1133 q 460 1123 431 1133 q 509 1095 488 1114 q 542 1049 530 1076 q 554 989 554 1023 m 475 987 q 453 1044 475 1023 q 399 1064 432 1064 q 343 1044 365 1064 q 322 987 322 1023 q 341 931 322 951 q 399 911 361 911 q 453 931 432 911 q 475 987 475 951 z "},"\\u02DC":{ha:802,x_min:175,x_max:663,o:"m 519 843 q 466 855 492 843 q 413 881 439 867 q 363 908 387 896 q 318 920 340 920 q 271 902 288 920 q 245 842 255 884 l 175 842 q 190 916 178 882 q 219 972 201 949 q 262 1008 237 996 q 318 1021 287 1021 q 374 1009 347 1021 q 427 983 401 997 q 476 957 453 968 q 519 945 500 945 q 566 962 550 945 q 591 1022 581 980 l 663 1022 q 648 948 659 981 q 619 892 637 916 q 576 856 601 869 q 519 843 551 843 z "},"\\u2013":{ha:694,x_min:56,x_max:639,o:"m 56 315 l 56 429 l 639 429 l 639 315 l 56 315 z "},"\\u2014":{ha:1389,x_min:56,x_max:1333,o:"m 56 315 l 56 429 l 1333 429 l 1333 315 l 56 315 z "},"\\u2018":{ha:243,x_min:16,x_max:228,o:"m 25 652 l 16 667 q 38 745 25 703 q 67 828 52 786 q 100 912 83 870 q 135 991 118 954 l 228 991 q 208 905 218 950 q 189 816 198 861 q 173 730 180 772 q 160 652 165 688 l 25 652 z "},"\\u2019":{ha:243,x_min:16,x_max:228,o:"m 218 991 l 228 977 q 205 898 218 939 q 176 815 192 857 q 143 731 160 772 q 109 652 125 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 991 78 956 l 218 991 z "},"\\u201A":{ha:347,x_min:43,x_max:256,o:"m 245 161 l 256 146 q 233 68 246 109 q 204 -16 220 26 q 171 -99 188 -58 q 136 -179 153 -141 l 43 -179 q 63 -93 53 -138 q 82 -4 73 -48 q 98 83 91 41 q 111 161 106 125 l 245 161 z "},"\\u201C":{ha:504,x_min:16,x_max:489,o:"m 286 652 l 277 667 q 299 745 286 703 q 328 828 313 786 q 361 912 344 870 q 396 991 379 954 l 489 991 q 469 905 479 950 q 450 816 459 861 q 434 730 441 772 q 421 652 427 688 l 286 652 m 25 652 l 16 667 q 38 745 25 703 q 67 828 52 786 q 100 912 83 870 q 135 991 118 954 l 228 991 q 208 905 218 950 q 189 816 198 861 q 173 730 180 772 q 160 652 165 688 l 25 652 z "},"\\u201D":{ha:504,x_min:16,x_max:489,o:"m 218 991 l 228 977 q 205 898 218 939 q 176 815 192 857 q 143 731 160 772 q 109 652 125 690 l 16 652 q 35 737 25 692 q 54 827 45 782 q 71 913 63 871 q 83 991 78 956 l 218 991 m 479 991 l 489 977 q 466 898 479 939 q 437 815 453 857 q 404 731 421 772 q 370 652 387 690 l 277 652 q 296 737 286 692 q 315 827 306 782 q 332 913 324 871 q 345 991 339 956 l 479 991 z "},"\\u201E":{ha:608,x_min:43,x_max:517,o:"m 245 161 l 256 146 q 233 68 246 109 q 204 -16 220 26 q 171 -99 188 -58 q 136 -179 153 -141 l 43 -179 q 63 -93 53 -138 q 82 -4 73 -48 q 98 83 91 41 q 111 161 106 125 l 245 161 m 507 161 l 517 146 q 494 68 507 109 q 465 -16 481 26 q 432 -99 449 -58 q 397 -179 414 -141 l 304 -179 q 324 -93 314 -138 q 343 -4 334 -48 q 359 83 352 41 q 372 161 367 125 l 507 161 z "},"\\u2022":{ha:522,x_min:102,x_max:421,o:"m 102 507 q 114 589 102 555 q 148 645 126 623 q 198 675 169 666 q 261 685 227 685 q 323 675 294 685 q 374 645 353 666 q 409 589 396 623 q 421 507 421 555 q 409 426 421 460 q 374 371 396 392 q 323 339 353 349 q 261 329 294 329 q 198 339 227 329 q 148 371 169 349 q 114 426 126 392 q 102 507 102 460 z "},"\\u2039":{ha:400,x_min:56,x_max:345,o:"m 56 375 l 265 656 l 345 603 l 183 367 l 345 131 l 265 78 l 56 357 l 56 375 z "},"\\u203A":{ha:400,x_min:56,x_max:345,o:"m 345 357 l 135 78 l 56 131 l 216 367 l 56 603 l 135 656 l 345 375 l 345 357 z "},"\\u2044":{ha:180,x_min:-239,x_max:418,o:"m 418 991 l -132 0 l -239 0 l 311 991 l 418 991 z "}},yk="Droid Sans",Mk=1293,wk=-334,Ek=-154,Tk=102,Sk={yMin:-492,xMin:-352,yMax:1907,xMax:1966},Pk=1e3,Ak={format:0,copyright:"Digitized data copyright \\xA9 2007, Google Corporation.",fontFamily:"Droid Sans",fontSubfamily:"Regular",uniqueID:"Ascender - Droid Sans",fullName:"Droid Sans",version:"Version 1.00 build 113",postScriptName:"DroidSans",trademark:"Droid is a trademark of Google and may be registered in certain jurisdictions.",manufacturer:"Ascender Corporation",description:"Droid Sans is a humanist sans serif typeface designed for user interfaces and electronic communication.",manufacturerURL:"http://www.ascendercorp.com/",designerURL:"http://www.ascendercorp.com/typedesigners.html",licence:"Licensed under the Apache License, Version 2.0",licenceURL:"http://\\xAEwww.apache.org/licenses/LICENSE-2.0",compatibleFullName:"Droid Sans"},Lk="normal",Ck="normal",T8={glyphs:vk,familyName:yk,ascender:Mk,descender:wk,underlinePosition:Ek,underlineThickness:Tk,boundingBox:Sk,resolution:Pk,original_font_information:Ak,cssFontWeight:Lk,cssFontStyle:Ck};var Pg=class{constructor(){this.fonts={},this.getFont=this.getFont.bind(this)}getFont(t){if(this.fonts[t])return this.fonts[t];if(!t)return Promise.resolve(Lg);switch(t){case"arrival":return this.fonts[t]=Promise.resolve().then(()=>U2(gg())).then(n=>A6(n)),this.fonts[t];case"chalet-parisnineteensixty":return this.fonts[t]=Promise.resolve().then(()=>U2(vg())).then(n=>A6(n)),this.fonts[t];case"helvetica neue":return this.fonts[t]=Promise.resolve().then(()=>U2(yg())).then(n=>A6(n)),this.fonts[t];case"helvetiker":return this.fonts[t]=Promise.resolve().then(()=>U2(Mg())).then(n=>A6(n)),this.fonts[t];case"lato":return this.fonts[t]=Promise.resolve().then(()=>U2(wg())).then(n=>A6(n)),this.fonts[t];case"myriad pro":return this.fonts[t]=Promise.resolve().then(()=>U2(Eg())).then(n=>A6(n)),this.fonts[t];case"proxima nova medium":return this.fonts[t]=Promise.resolve().then(()=>U2(Tg())).then(n=>A6(n)),this.fonts[t];case"simon circular book":return this.fonts[t]=Promise.resolve().then(()=>U2(Sg())).then(n=>A6(n)),this.fonts[t];default:return Promise.resolve(Lg)}}},Ag=new Pg,A6=function(e){let t={},n={};Object.keys(T8.glyphs).forEach(function(r){n[r]=T8.glyphs[r]}),Object.keys(e.glyphs).forEach(function(r){n[r]=e.glyphs[r]}),Object.keys(T8).forEach(function(r){t[r]=T8[r]}),t.glyphs=n;let i=new Qi(t);i._mSupportedCharacters=Object.keys(t.glyphs).join("");let l=i._mSupportedCharacters.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&");return i._mInvalidCharacters=new RegExp("[^"+l+"]","g"),i},Lg=A6(T8);y();var fn="x",dn="y",kt="z";function Zh(e,t,n){e.computeBoundingBox();let i=e.boundingBox,l=Math.max(n.width,n.height)/1e3,r=Math.max(n.width*l,n.height*l),a={min:new S(0,0,0),max:new S(1,1,1).multiplyScalar(r)},o={};t.forEach(q1=>{o[q1.name]=q1});let s=e.getAttribute("position"),m=e.getAttribute("normal"),q=e.getAttribute("uv");console.assert(s.count==m.count),console.assert(s.count==q.count);let h,u;e.index?(console.assert(e.index.count%3==0),h=e.index.count/3,u=function(q1,Q1){return e.index.getX(q1*3+Q1)}):(console.assert(s.count%3==0),h=s.count/3,u=function(q1,Q1){return q1*3+Q1});let c=o.side||{},f=o.front||{},b=c.repeat!=null?c.repeat.u:1,_=c.repeat!=null?c.repeat.v:1,d=c.offset!=null?c.offset.u:1,x=c.offset!=null?c.offset.v:1,w=c.rotation!=null?c.rotation:0,M=c.useLocalScaling||!1,v=f.repeat!=null?f.repeat.u:1,A=f.repeat!=null?f.repeat.v:1,C=f.offset!=null?f.offset.u:1,U=f.offset!=null?f.offset.v:1,E=f.rotation!=null?f.rotation:0,D=f.useLocalScaling||!1;for(let q1=0;q1<h;++q1){let Q1=m.getX(u(q1,0))+m.getX(u(q1,1))+m.getX(u(q1,2)),r2=m.getY(u(q1,0))+m.getY(u(q1,1))+m.getY(u(q1,2)),j1=m.getZ(u(q1,0))+m.getZ(u(q1,1))+m.getZ(u(q1,2)),I1=Math.abs(Q1),Z=Math.abs(r2),C1=Math.abs(j1);var R,N;I1<=Z&&I1<=C1?(R=fn,Z<=C1?N=dn:N=kt):Z<=I1&&Z<=C1?(R=dn,I1<=C1?N=fn:N=kt):(R=kt,I1<=Z?N=fn:N=dn),R===kt&&(R=N,N=kt);var X,Y,F,J,t1,r1;N===kt||R===kt?(X=b,Y=_,F=d,J=x,t1=w,r1=M?i:a):(X=v,Y=A,F=C,J=U,t1=E,r1=D?i:a);let M1=r1.min,V1=r1.max,E1=Math.abs(V1[R]-M1[R]),f1=Math.abs(V1[N]-M1[N]),L=t1*Math.PI/180||0,H=Math.cos(L),I=Math.sin(L);for(let V=0;V<3;V++){let p1=s.getX(u(q1,V)),P=s.getY(u(q1,V)),z=s.getZ(u(q1,V));var a1,d1;R===fn?a1=X*(p1-M1[R])/E1+F:R===dn?a1=X*(P-M1[R])/E1+F:a1=X*(z-M1[R])/E1+F,N===fn?d1=Y*(p1-M1[N])/f1+J:N===dn?d1=Y*(P-M1[N])/f1+J:d1=Y*(z-M1[N])/f1+J,a1-=.5,d1-=.5;let c1=a1*H-d1*I+.5,m1=a1*I+d1*H+.5;q.setX(u(q1,V),c1),q.setY(u(q1,V),m1)}}e.uvsNeedUpdate=!0}var A2=class extends W4{constructor(t,n,i,l){super();T(this,"polygon");T(this,"mapClass");T(this,"container");T(this,"visible");this.polygon=t,this.mapClass=n,this.container=i,this.assetManager=l;let r=t.geometry.visible!==!1,a=t.image&&t.image.visible&&(t.image.url||t.image.original),o=t.label&&t.label.visible&&t.label.text;(r||a||o)&&A2._setPolygonDefaults(t),this.visible=r,this.imageVisible=a,this.labelVisible=o,this.load.bind(this)}static getDefaultMaterial(){return A2.defaultMaterial||(A2.defaultMaterial=new v4({color:0})),A2.defaultMaterial}static getWeightedCenter(t){let n=t.reduce((i,l)=>({x:i.x+l.x,y:i.y+l.y}),{x:0,y:0});return n.x/=t.length,n.y/=t.length,n}static getBoundingCentre(t){let n=1/0,i=1/0,l=-1/0,r=-1/0;return t.forEach(a=>{a.x>l&&(l=a.x),a.x<n&&(n=a.x),a.y>r&&(r=a.y),a.y<i&&(i=a.y)}),{x:(n+l)/2,y:(i+r)/2}}static _makeFromCoords(t,n,i){let l=new t;return l.moveTo(n[0].x-i.width/2,-n[0].y+i.height/2),n.slice(1).forEach(r=>l.lineTo(r.x-i.width/2,-r.y+i.height/2)),l.lineTo(n[0].x-i.width/2,-n[0].y+i.height/2),l}static _setPolygonDefaults(t){let n={visible:!0,position:{x:0,y:0,z:0},rotation:{x:0,y:0,z:0},scale:{x:1,y:1,z:5},bevel:{size:0,thickness:0,segments:1},offset:0};return t.layer||(t.layer="Polygon"),t.geometry=(0,L6.default)(t.geometry,n),t.geometry.bevel=(0,L6.default)(t.geometry.bevel,n.bevel),t.image&&(t.image.position=(0,L6.default)(t.image.position,n.position),t.image.rotation=(0,L6.default)(t.image.rotation,n.rotation),t.image.scale=(0,L6.default)(t.image.scale,n.scale)),t.label&&(t.label.position=(0,L6.default)(t.label.position,n.position),t.label.rotation=(0,L6.default)(t.label.rotation,n.rotation),t.label.scale=(0,L6.default)(t.label.scale,n.scale),t.label.color=t.label.color||"#000000",t.label.fontSize=t.label.fontSize||20),t}getBoundingBox(){if(this.boundingBox)return this.boundingBox;let t=1/0,n=1/0,i=-1/0,l=-1/0,r=-this.mapClass.width/2,a=this.mapClass.height/2;return this.polygon.vertexes.forEach(o=>{o.x+r>i&&(i=o.x+r),o.x+r<t&&(t=o.x+r),-o.y+a>l&&(l=-o.y+a),-o.y+a<n&&(n=-o.y+a)}),this.boundingBox={min:{x:t,y:n},max:{x:i,y:l}},this.boundingBox}load(){let t=this;return this.visible||this.imageVisible||this.labelVisible?new Promise((n,i)=>{let l=t.polygon,r=t.mapClass;if(this.visible){let a=l.vertexes,o=Math.max(r.width,r.height)/1e3;(this.imageVisible||l.geometry.offset)&&(a=A2._clip(a,0),a=A2._clip(a,l.geometry.offset),l.vertexes=a);let s=A2._makeFromCoords(F4,a,r);l.holes&&(s.holes=l.holes.map(_=>A2._makeFromCoords(B4,_,r)));let m;l.geometry.bevel?m={bevelEnabled:!0,depth:l.geometry.scale.z*o,bevelThickness:l.geometry.bevel.thickness*l.geometry.scale.z*o,bevelSize:l.geometry.bevel.size*o,bevelSegments:l.geometry.bevel.segments||1}:m={bevelEnabled:!1,depth:l.geometry.scale.z*o};let q=l.textures&&l.textures.length&&l.textures.filter(_=>_.image&&Object.keys(_.image).length).length,h,u=A2._normalizeColor(l.material.color),c=l.material.opacity||1,f=new ae(s,m);if(q){let _=l.textures.find(U=>U.name==="front"),d=l.textures.find(U=>U.name==="side"),x=d&&d.useFrontFaceImage,w=_&&_.image&&(_.image.url||_.image.original),M=d&&d.image&&(d.image.url||d.image.original);Zh(f,l.textures,r);let v,A;w&&this.assetManager.loadImage(w).then(U=>{U.mapping=l0,U.wrapS=I4,U.wrapT=I4,U.anisotropy=16}),!x&&M?this.assetManager.loadImage(M).then(U=>{U.mapping=l0,U.wrapS=I4,U.wrapT=I4,U.anisotropy=16}):A=v;let C={color:u,transparent:!0,opacity:c,side:c<1?k6:F6};A===v?h=new v4(U1(b1({},C),{map:v})):h=[new v4(U1(b1({},C),{map:v})),new v4(U1(b1({},C),{map:A}))]}else h=A2._getMaterial(l.material.color,c);let b=new i2(f,h);b.name=l.id,Array.isArray(b.material)||(b.material.needsUpdate=!0),b.translateZ(l.geometry.position.z*o),t.container.add(b),t.mesh=b}this.imageVisible&&this._addImage(l,r,()=>{}),this.labelVisible&&this._addLabel(l,r,()=>{})}):Promise.resolve()}_addLabel(t,n,i){if(!t.label.text)return;let l=Math.max(n.width,n.height)/1e3,r=A2.getWeightedCenter(t.vertexes),a=t.label.position,o=t.label.rotation.z,s=t.label.text.split(\`
3542
- \`);Ag.getFont(t.label.fontFamily).then(m=>{let q={font:m,size:t.label.fontSize*l,height:A2.overlayHeight,bevelEnabled:!1,curveSegments:4},h=0,u=s.reverse().map((E,D)=>(E.length>s[h].length&&(h=D),new R0(E,q))),c=u[h],f=new i2(c),_=new R2().setFromObject(f).getSize(new S).x,d=A2._getMaterial(t.label.color),x=0,w=new l2;s.forEach((E,D)=>{let R=u[D],N=new i2(R,d),Y=new R2().setFromObject(N).getSize(new S),F;q.align==="left"?F=0:q.align==="right"?F=_-Y.x:F=(_-Y.x)/2,N.position.set(F,x,0),N.updateMatrix(),w.merge(N.geometry,N.matrix),x+=q.size*1.25});let M=new i2(w,d);w.computeBoundingBox();let v=w.boundingBox,A=v.max.x-v.min.x,C=v.max.y-v.min.y,U=t.geometry.position.z+t.geometry.scale.z;M.translateX(r.x-n.width/2+a.x-A/2),M.translateY(-r.y+n.height/2+a.y-C/2),M.rotation.set(0,0,o*Math.PI/180),M.translateZ((A2.overlayHeight+U)*l),this.container.add(M),i()})}_addImage(t,n,i){this.hasImage=!0;let l=this.getBoundingBox(),r=t.image.url||t.image.original;r instanceof Blob&&(r=URL.createObjectURL(r)),this.assetManager.loadImage(r).then(a=>{let o=new v4({transparent:!0,depthWrite:!1,side:k6,map:a}),s=new i2(new x4(1,1),o),m=Math.max(n.width,n.height)/1e3,q=a.image.width,h=a.image.height;URL.revokeObjectURL(r);let u={x:t.image.viewBox.width,y:t.image.viewBox.height},c;t.image.useLocalScaling===!1?c=m:c=Math.min(l.max.x-l.min.x,l.max.y-l.min.y)/Math.max(u.x,u.y),t.image.fitToBounds?s.scale.set(l.max.x-l.min.x,l.max.y-l.min.y,1):t.image.scale&&s.scale.set(t.image.scale.x*c*t.image.viewBox.width,t.image.scale.y*c*t.image.viewBox.height,1),s.translateZ(A2.overlayHeight*m),a.repeat=new i1(t.image.viewBox.width/q,t.image.viewBox.height/h),a.offset=new i1(0,(a.image.height-t.image.viewBox.height)/a.image.height),a.anisotropy=16,s.renderOrder=1,s.name=t.id+"_image",this.container.add(s),this.imageMesh=s;let f=t.vertexes,b;t.image.fitToBounds?b=A2.getBoundingCentre(f):b=A2.getWeightedCenter(f);let _=t.image.fitToBounds?0:t.image.position.x,d=t.image.fitToBounds?0:t.image.position.y,x=t.geometry.position.z+t.geometry.scale.z;t.image.position&&(s.translateX(b.x-n.width/2+_),s.translateY(-b.y+n.height/2+d),s.translateZ((x+t.image.position.z)*m)),t.image.rotation&&s.rotation.set(t.image.rotation.x*Math.PI/180,t.image.rotation.y*Math.PI/180,t.image.rotation.z*Math.PI/180),this.publish("texture-loaded",a),i()})}static _normalizeColor(t){let n=t.replace(/#/,"");return n.length===3&&(n=\`\${n[0]}\${n[0]}\${n[1]}\${n[1]}\${n[2]}\${n[2]}\`),parseInt(n,16)}static _getMaterial(t,n){let i=A2._normalizeColor(t),l,r=n<1?i+"_"+n:i;if(A2.materials[r])l=A2.materials[r];else{let a={color:i,side:n<1?k6:F6};n<1&&(a.transparent=!0,a.opacity=n),A2.materials[r]=new v4(a),l=A2.materials[r]}return l}static _clip(t,n){n/=2;let i=A2.scale,l=t.map(r=>({X:r.x*i,Y:r.y*i}));for(let r=8;r!==0;r--){let a=new cn.ClipperOffset;a.AddPath(l,cn.JoinType.jtMiter,cn.EndType.etClosedPolygon);let o=new cn.Paths;try{if(a.Execute(o,n*i),o.length)return o[0].map(m=>({x:m.X/i,y:m.Y/i}));n/=2}catch(s){n/=2}}return l}};A2.materials={};A2.defaultExtrudeSettings={depth:10,bevelEnabled:!1};A2.scale=100;A2.overlayHeight=.15;var Cg=A2;y();var Og=!1,Ut=class{constructor(){T(this,"textureLoader",new i6)}loadMapPolygons(t){return A1(this,null,function*(){return Og&&console.log("loading map: ",t.scene.polygons),(yield fetch(t.scene.polygons)).json()})}loadImage(t){return A1(this,null,function*(){return new Promise((n,i)=>{Og&&console.log("loading image: ",t);let l=this.textureLoader.load(t,()=>{n(l)},()=>{},i)})})}};var Ig=class{constructor(){T(this,"defaultExtrudeSettings",{amount:10,bevelEnabled:!1});T(this,"materials",{});T(this,"scale",100);T(this,"assetManager",new Ut);T(this,"overlayHeight",.15)}setAssetManager(t){this.assetManager=t}load(t,n){if(typeof t=="string")return this.assetManager.loadMapPolygons(n).then(i=>i==null||i.length===0?Promise.reject("No polygons found for venue"):this._build(i,n)).catch(i=>Promise.reject(i));try{return this._build(t,n)}catch(i){return Promise.reject(i)}}_build(t,n){console.time("JSONSceneLoader"),this.container=new nt;let i=new Set,l={};n.layers.forEach(a=>{a.visible!==!1&&i.add(a.id)}),t.forEach(a=>{let o=a.layer||"Polygon";if(!i.has(o))return;let m=new Cg(a,n,this.container,this.assetManager);l[a.id]=m});let r=this.container;return console.timeEnd("JSONSceneLoader"),Promise.resolve({container:r,elements:l})}},pn=new Ig;var zg=new g1,kk=1,Uk=!1,Rg={Floor:1,Wall:2,"Outer Wall":2.2,Anchors:4,Anchor:4,"Anchor Store":4,Polygon:5,Kiosks:6,"Inner Wall":7,"Non Public":7.5},Ng=e=>{if(Rg[e.layer])return Rg[e.layer];let t=e.geometry.scale,n=e.geometry.position;return 100+(t?t.z:1)+(n?n.z:0)},Dg,Bg=class extends W4{constructor(t,n,i,l,r={}){super();T(this,"_flippableImagedById",{});T(this,"_started",!1);T(this,"_loaderPromise",null);T(this,"_promiseResolve",null);T(this,"objectsDictionary",{});T(this,"north",null);T(this,"mapScale",null);T(this,"object",new g1);T(this,"labels",new Set);T(this,"tooltips",new Set);T(this,"markers",new Set);T(this,"textObjects",[]);T(this,"labelBatchCreator",null);T(this,"imagesToFlip",[]);T(this,"seenByCamera",!1);T(this,"threeJSMarkers",new Map);this.mapView=l,this.mapClass=t,this.polygonMeshesById=n,this._showCount=i,this.loadMethod="json",this.loadAsync=r.async,this._taskScheduler=r.taskScheduler,this.id=this.mapClass.id,this._highPriorityTasks=new I5({name:"_highPriorityTasks",onComplete:this._checkIfLoaded.bind(this),priority:!this.visible&&this.loadAsync?j4.ASYNC_MAP_HIGH:j4.VISIBLE_MAP_HIGH,postponeOnAdd:!this.visible&&!this.loadAsync}),this._lowPriorityTasks=new I5({name:"_lowPriorityTasks",onComplete:this._checkIfLoaded.bind(this),priority:!this.visible&&this.loadAsync?j4.ASYNC_MAP_LOW:j4.VISIBLE_MAP_LOW,postponeOnAdd:!this.visible&&!this.loadAsync}),this._markerTasks=new I5({name:"_markerTasks",priority:!this.visible&&this.loadAsync?j4.ASYNC_MAP_MARKER:j4.VISIBLE_MAP_MARKER,postponeOnAdd:!this.visible}),this._mapLoadedTasks=new I5({name:"_mapLoadedTasks",priority:j4.MAP_LOADED,postponeOnAdd:!this.isReady()}),this._visibilityLatch=null,this._objLoadedComplete=!1,this._loaderPromise=new Promise((a,o)=>{this._promiseResolve=a,Dg=o}),this._objLoaded=this._objLoaded.bind(this),this.enableImageFlipping=this.enableImageFlipping.bind(this),this.destroy=this.destroy.bind(this)}_objLoaded(t){if(t.elements){this.elements=t.elements;let i=Object.values(this.elements);i.sort((a,o)=>(a.sortScore==null&&(a.sortScore=Ng(a.polygon)),o.sortScore==null&&(o.sortScore=Ng(o.polygon)),o.sortScore-a.sortScore));let l=new S(1/0,1/0,0),r=new S(-1/0,-1/0,0);for(let a of i){let o=a.getBoundingBox();l.min(o.min),r.max(o.max),this.loadAsync?this._addPendingHighPriorityTask("addPolygon",()=>this._addElementToScene(a)):this._addElementToScene(a)}this.boundingBox={min:l,max:r},t=t.container}let n=t.children;for(let i=0,l=n.length;i<l;++i){let r=n[i];this.objectsDictionary[r.name]=r,this.polygonMeshesById[r.name]=r}return this.object=t,this.object.userData.type="mappedin_map",this.object.userData.mapId=this.mapClass.id,this.publish("pinsNeedUpdating",!0),this._objLoadedComplete=!0,this._onRootObjectCreated(),this._checkIfLoaded(),this._promiseResolve(this)}loadPolygonNow(t){if(!this.elements)return;let n=this.elements[t];n&&this._addElementToScene(n)}_addElementToScene(t){if(!this.objectsDictionary[t.polygon.id]){if(t.load.bind(t),t.load(),t.hasImage&&t.on("texture-loaded",n=>{this.publish("texture-loaded",n)}),t.mesh){let n=t.mesh;this.objectsDictionary[n.name]=n,this.polygonMeshesById[n.name]=n}if(t.imageMesh){let n=t.imageMesh;this.objectsDictionary[n.name]=n,this.polygonMeshesById[n.name]=n}if(t.polygon.image){let n=t.polygon.image.rotation!=null?t.polygon.image.rotation.z:0;this.mapView._imageFlippingEnabled&&this.enableImageFlipping(t.polygon.id,n*(Math.PI/180))}}}load(){if(!this._started){this._started=!0;try{let t=Uk&&this.mapClass._mappedin.polygons.filter(l=>l.map===this.mapClass.id),n=this.mapClass.scene.polygons;if((this.loadMethod==="json"||this.loadMethod===void 0)&&(n||t)){let l=n||t;this.loadMethodUsed="JSON - "+(n?"published":"live"),pn.load(l,this.mapClass).then(this._objLoaded)}else throw new Error("Error parsing JSON scene")}catch(t){Dg("ERROR: No 3D files for map "+(this.mapClass.name||this.mapClass.shortName||this.mapClass.id||this.mapClass))}}return this._loaderPromise}_dispose(t){let n=t;for(let i=n.children.length-1;i>=0;i--)this._dispose(n.children[i]);n.destroy(),delete this.objectsDictionary[n.name],delete this.polygonMeshesById[n.name]}destroy(){this.removeLabels(),this._removeThreeJSMarkers(),this.disableAllImageFlipping(),this._dispose(this.object)}add(t){zg.add(t),this.load().then(()=>{zg.children.filter(i=>i.uuid===t.uuid).length===1&&this.object.add(t)})}getPositionLatLon(t,n){let i=this.mapClass.georeference[0],l=new W1(i.target.x,i.target.y),r=new W1(t,n),a=l.distanceTo(r),o=(l.finalBearingTo(r)+360%360)*Math.PI/180,s=a*this.getMapScale(this.mapClass),m=o+this.getNorth(this.mapClass),q=Math.sin(m)*s,h=Math.cos(m)*s;return this.mapView.convertTo3DMapPosition({x:i.control.x+q,y:i.control.y-h,map:this.mapClass.id})}getMapScale(){return this.mapScale==null&&(this.mapScale=Xf(this.mapClass)),this.mapScale}getNorth(){return this.north==null&&(this.north=Yf(this.mapClass)),this.north}enableImageFlipping(t,n){if(n=n||0,!this._flippableImagedById[t]&&this.object&&Object.keys(this.object).length>0){let i=this.object.getObjectByName(t+"_image");if(i){let l=new eg({image:i,rotation:n});this.imagesToFlip.push(l),this.publish("flippablesNeedUpdating"),this.publish("render"),this._flippableImagedById[t]=!0}}}disableAllImageFlipping(){for(let t=0,n=this.imagesToFlip.length;t<n;t++)this.imagesToFlip[t].reset();this.imagesToFlip=[],this._flippableImagedById={}}get visible(){return this.object.parent!=null}isReady(){return(this.loadAsync?this._highPriorityTasks.isComplete():this.isFullyLoaded())&&this._objLoadedComplete}isFullyLoaded(){return this._highPriorityTasks.isComplete()&&this._lowPriorityTasks.isComplete()}onVisible(){this._visibilityLatch!==!0&&(this.loadAsync?(this._taskScheduler.setTaskPriority(this._highPriorityTasks,j4.VISIBLE_MAP_HIGH),this._taskScheduler.setTaskPriority(this._lowPriorityTasks,j4.VISIBLE_MAP_LOW),this._taskScheduler.resumeTask(this._markerTasks)):(this._taskScheduler.resumeTask(this._highPriorityTasks),this._taskScheduler.resumeTask(this._lowPriorityTasks),this._taskScheduler.resumeTask(this._markerTasks)),this._visibilityLatch=!0)}onInvisible(){this._visibilityLatch!==!1&&(this.loadAsync?(this._taskScheduler.setTaskPriority(this._highPriorityTasks,j4.ASYNC_MAP_HIGH),this._taskScheduler.setTaskPriority(this._lowPriorityTasks,j4.ASYNC_MAP_LOW),this._taskScheduler.postponeTask(this._markerTasks)):(this._taskScheduler.postponeTask(this._highPriorityTasks),this._taskScheduler.postponeTask(this._lowPriorityTasks),this._taskScheduler.postponeTask(this._markerTasks)),this._visibilityLatch=!1)}addPendingMarkerTask(t,n){this._taskScheduler.scheduleTask(new f4({name:"addMarker",group:this._markerTasks,callback:n,userdata:{marker:t}}))}addPendingLowPriorityTask(t,n){this._taskScheduler.scheduleTask(new f4({name:t,group:this._lowPriorityTasks,callback:n}))}addPendingMapLoadedTask(t,n){this._taskScheduler.scheduleTask(new f4({name:t,group:this._mapLoadedTasks,callback:n})),this._checkIfLoaded()}_addPendingHighPriorityTask(t,n){this._taskScheduler.scheduleTask(new f4({name:t,group:this._highPriorityTasks,callback:n}))}addThreeJSMarker(t){if(!(t.object instanceof g1))throw new Error("threeJSMarker \`object\` must be an instance of \`Object3D\`");let n=new Fg({mapId:this.id,object:t.object}),i={object:t.object};return t.object.layers.set(q4.ANIMATED),t.position!=null&&t.object.position.copy(t.position),t.rotation!=null&&t.object.rotation.copy(t.rotation),t.scale!=null&&t.object.scale.copy(t.scale),this.threeJSMarkers.set(n,i),this._objLoadedComplete?this.object.add(i.object):this.load().then(()=>{n._deleted||this.object.add(i.object)}),n}removeThreeJSMarker(t){let n=this.threeJSMarkers.get(t);return n!=null?(t._deleted=!0,this.threeJSMarkers.delete(t),this._objLoadedComplete&&this.object.remove(n.object),t._destroy(),!0):!1}_removeThreeJSMarkers(){if(this._objLoadedComplete)for(let[t,n]of this.threeJSMarkers.entries())this.object.remove(n.object),t._destroy();this.threeJSMarkers.clear()}removeLabels(){if(this.labels.forEach(t=>{t.disable(),t.removeSelf()}),this.labels=new Set,!!Array.isArray(this.textObjects)){for(let t=0,n=this.textObjects.length;t<n;++t){let i=this.textObjects[t];i.removeSelf(!0),i=void 0}this.textObjects=[]}}_checkIfLoaded(){this.isReady()&&this._taskScheduler.scheduleTask(new f4({name:"onMapLoaded",callback:()=>{this._taskScheduler.resumeTask(this._mapLoadedTasks),this.mapLoaded&&typeof this.mapLoaded==typeof Function&&(this.mapLoaded(),this.mapLoaded=null)}}))}_onRootObjectCreated(){for(let t in this.threeJSMarkers.values())this.object.add(t.object)}_popinChildObjects(){this.loadAsync||this.object.traverse(t=>{t.children.length==0&&t.type=="Mesh"&&t.material.map&&(t.visible=!1,this._addPendingHighPriorityTask("addPolygon",()=>{t.visible=!0,this._showCount>=kk&&(this._showCount=0,this.publish("render:now")),this._showCount++}))})}},Fg=class{constructor({mapId:t,object:n}){this._mapId=t,this._object=n}get object(){return this._object}_destroy(){this._mapId=null,this._object=null}},Jh=Bg;function kg(e){return e.sort((t,n)=>n.mapClass.elevation-t.mapClass.elevation)}var Vk=7.9,Hk=.3,Kh=(e,t)=>{let{min:n,max:i}=e,{margin:l}=e;l||(l=1);let r=t.boundingBox;r||(r=new R2().setFromObject(t.object),t.boundingBox=r);let a={min:{},max:{},margin:l};a.min.x=Math.min(n.x,r.min.x*l),a.max.x=Math.max(i.x,r.max.x*l),a.min.y=Math.min(n.y,r.min.y*l),a.max.y=Math.max(i.y,r.max.y*l);let o={x:(a.max.x+a.min.x)/2,y:(a.max.y+a.min.y)/2},s=Math.sqrt(K2(a.max.x-o.x,2)+K2(a.max.y-o.y,2));if(a.radius=s,typeof e.getCenter=="function"){let m=new S;a.center=e.getCenter(m)}else a.center=e.center;return a.margin=l,a},Ug=class extends W4{constructor(t,n,i,l,r={}){super();T(this,"mapObjects",new Map);T(this,"currentMap");T(this,"object",new g1);T(this,"_showCount",0);T(this,"_mapObjectsSortedByElevationDirty",!1);T(this,"expanded",!1);this.polygonMeshesById=t,this.mapView=i,this.renderer=n,this.loadOptions=r,this.addMap=this.addMap.bind(this),this.setMap=this.setMap.bind(this),this.removeMap=this.removeMap.bind(this),this.removeAllMaps=this.removeAllMaps.bind(this),this.loadMaps=this.loadMaps.bind(this),this.expandMaps=this.expandMaps.bind(this),this.contractMaps=this.contractMaps.bind(this),this.expandPanBounds=this.expandPanBounds.bind(this),this.loadOptions.taskScheduler=l}expandPanBounds(t){this.mapView.controls.panBounds=Kh(t,this.currentMap)}addMap(t,n=()=>{}){this._mapObjectsSortedByElevationDirty=!0;let i=new Jh(t,this.polygonMeshesById,this._showCount,this.mapView,this.loadOptions);return i.on("flippablesNeedUpdating",l=>this.publish("flippablesNeedUpdating",l)),i.on("render",l=>this.publish("render",l)),i.on("updateMarkerPosition",l=>this.publish("updateMarkerPosition",l)),this.mapObjects.set(t.id,i),this.currentMap==null?(this.setMap(t),i.load().then(n)):Promise.resolve().then(n)}addPersistentSetMapCallback(t){this.persistentSetMapCallbacks=Array.isArray(this.persistentSetMapCallbacks)&&this.persistentSetMapCallbacks||[],this.persistentSetMapCallbacks.push(t)}setMap(t,n){this.setMapCallbacks||(this.setMapCallbacks=[]);let i=G2(t);return this.setMapCallbacks.push(...this.persistentSetMapCallbacks||[]),n&&this.setMapCallbacks.push(n),new Promise((l,r)=>{if(this.mapObjects.has(i)){if(this.currentMap!=null){let{labels:s,tooltips:m,markers:q}=this.currentMap;[...s,...m,...q].forEach(h=>{h.disable()}),this.object.remove(this.currentMap.object)}this.currentMap=this.mapObjects.get(i),this.currentMap.addPendingMapLoadedTask("resolveSetMap",()=>{l(),this.setMapCallbacks.forEach(s=>s()),this.setMapCallbacks=[]});let a=this.currentMap.mapClass.id,o=this.loadOptions&&this.loadOptions.zoomOverrides&&this.loadOptions.zoomOverrides.zoomMultiplier||Vk;this.mapView.controls.zoomFactor=this.mapView.getMapScale()/o,this.currentMap.load().then(s=>{var f;if(this.currentMap&&this.currentMap.mapClass.id!==s.mapClass.id)return;s.seenByCamera||(s.seenByCamera=!0,s._popinChildObjects());let m=Kh(this.mapView.controls.panBounds,this.currentMap);this.mapView.controls.panBounds=m;let q=this.mapView.getZoomLevelForCurrentMap();this.mapView.controls.expandZoomLimits(q),this.object.add(this.currentMap.object),this.mapView.imageFlippingEnabled&&((f=this.mapView.imageFlippingCache[this.currentMap.id])==null||f.forEach(([b,_])=>{s.enableImageFlipping(b,_)})),this.currentMap.textObjects.forEach(b=>{typeof b.show=="function"&&b.show()});let{labels:h,tooltips:u,markers:c}=this.currentMap;[...h,...u,...c].forEach(b=>{b.enable()}),this.publish("flippablesNeedUpdating",!0),this.publish("render"),this.publish("set-map"),typeof this.mapView.onMapChanged=="function"&&this.mapView.onMapChanged(s.mapClass.id)}).catch(s=>{console.error("Error loading map ",a,s)})}else{let a={error:"Map does not exist"};console.error(a.error),this.setMapCallbacks.forEach(o=>o(a)),this.setMapCallbacks=[],r(a)}})}get mapObjectsSortedByElevation(){return!this._mapObjectsSortedByElevationDirty&&Array.isArray(this._mapObjectsSortedByElevation)?this._mapObjectsSortedByElevation:(this._mapObjectsSortedByElevation=Array.from(this.mapObjects.values()).sort((t,n)=>n.mapClass.elevation-t.mapClass.elevation),this._mapObjectsSortedByElevationDirty=!1,this._mapObjectsSortedByElevation)}loadMaps(t,n,i=()=>{},l=()=>{},r=()=>{}){let a=G2(n);for(let o=0;o<t.length;o++){let s=t[o],m=new Jh(s,this.polygonMeshesById,this._showCount,this.mapView,this.loadOptions);m.on("flippablesNeedUpdating",q=>this.publish("flippablesNeedUpdating",q)),m.on("render",q=>this.publish("render",q)),m.on("updateMarkerPosition",q=>this.publish("updateMarkerPosition",q)),m.on("texture-loaded",q=>this.publish("texture-loaded",q)),this.mapObjects.set(s.id,m),s.id===a&&(m.load().then(()=>{this.mapView.resetCamera(),l()}).catch(r),this.setMap(s,i))}}removeMap(t){this._mapObjectsSortedByElevationDirty=!0;let n=G2(t);if(this.mapObjects.has(n)){let i=this.mapObjects.get(n);this.currentMap===i&&(this.currentMap=null),i.off("flippablesNeedUpdating"),i.off("render"),i.destroy(),this.mapObjects.delete(n)}this.renderer.renderLists.dispose()}removeAllMaps(){this._mapObjectsSortedByElevationDirty=!0;for(let t of this.mapObjects.values())t.destroy(),t=null;this.mapObjects.clear()}get visibleMaps(){return this.mapObjectsSortedByElevation.filter(t=>t.visible)}getCompoundBoundingBoxPoints(t){this.mapView.controls.orbit.updateMatrixWorld();let n=this.mapView.controls.camera.matrixWorld,i=this.mapView.controls.camera.matrixWorldInverse,l=new S(1/0,1/0,1/0),r=new S(-1/0,-1/0,-1/0);t.forEach(o=>{o.applyMatrix4(i);let s=bt(o);ql(s).forEach(q=>{l.min(q),r.max(q)}),o.applyMatrix4(n)});let a=ql({min:l,max:r});return a.forEach(o=>o.applyMatrix4(n)),a}expandMaps(t,n){let i=b1({focus:!1,debug:!1,rotation:0,duration:600},n);if(this.expanded)return Promise.resolve({maps:this.renderedMaps,projections:this.projections});if(!Array.isArray(t))return Promise.reject("Maps to expand are not an array");let l,r=t.map(o=>{let s=typeof o!="string"&&o.id!=null?o.id:o;if(typeof o!="string"&&o.connection===!0&&Array.isArray(o.maps)){let m=o.maps.map(c=>{let f=typeof c!="string"?c.id:c;return this.mapObjects.has(f)||(console.error(\`Expand maps: > Map \${f} does not exist\`),l=\`Expand maps: > Map \${f} does not exist\`),this.mapObjects.get(f)});m=kg(m);let q=new x4(1,1,1);n.debug===!0&&(q=new x4(500,500,10));let h=new g3({color:11184810}),u=new i2(q,h);return{connection:!0,object:u,connectionNodes:o.connectionNodes,mapClass:{elevation:m[0].mapClass.elevation},maps:m}}else{if(this.mapObjects.has(s))return this.mapObjects.get(s);console.error(\`Expand maps: > Map \${s} does not exist\`),l=\`Expand maps: Map \${s} does not exist\`}});if(l!=null)return Promise.reject(l);r=kg(r);let a=r.map(o=>o.connection&&Array.isArray(o.maps)?Promise.all(o.maps.map(s=>s.load())):o.load());return Promise.all(a).then(()=>(this.expanded=!0,this.multiFloorView=new F_(this.mapView,this.object,r,i),this.multiFloorView.focusOnMaps(i))).then(()=>(this.renderedMaps=r,this.projections=this.multiFloorView.projections,Promise.resolve({maps:r,projections:this.projections})))}contractMaps(t={focus:!1,debug:!1,duration:300}){if(!this.expanded)return Promise.resolve();this.expanded=!1,this.multiFloorView.destroy(),this.object.add(this.currentMap.object),this.publish("render");let n=Kh(this.mapView.controls.panBounds,this);this.mapView.controls.panBounds=n;let i=this.mapView.getZoomLevelForObject(this.object);return this.mapView.controls.expandZoomLimits(i),new Promise(l=>{t.focus?this.mapView.focusOn({boundingBox:bt(this.object),padding:this.mapView.cachedPadding,debug:t.debug,duration:t.duration,focusZoomFactor:1,callback:l,tilt:Hk}):l()})}mapsFullyLoaded(t=()=>{}){let n=[...this.mapObjects.values()].map(i=>i.connection&&Array.isArray(i.maps)?Promise.all(i.maps.map(l=>l._loaderPromise)):i._loaderPromise);return Promise.all(n).then(t)}scrollMapsUp(){return this.multiFloorView?this.multiFloorView.scrollMapsUp():(console.warn("scrollMapsUp() not supported unless multifloor is active"),Promise.reject())}scrollMapsDown(){return this.multiFloorView?this.multiFloorView.scrollMapsDown():(console.warn("scrollMapsDown() not supported unless multifloor is active"),Promise.reject())}tiltMaps(t){this.multiFloorView&&(this.multiFloorView.mapTiltDegrees=t)}resize(){this.multiFloorView!=null&&this.multiFloorView.resize()}destroy(){this.removeAllMaps(),this.object.destroy()}},Vg=Ug;y();var Vt=20,Gk=14,Hg=8,xa=72,bn=16,Gg=12,Wk=52,Xk=4,_a=2,Qh=8,$h=128,eq=320,_3=8,Wg=2,Yk=360*(2/(Math.sqrt(5)+1))/6,jk=60,Zk=5,ga=class{constructor(){this._element=document.createElement("div"),this._titleElement=document.createElement("select"),this._minimizeElement=document.createElement("button"),this._performancePanelElement=document.createElement("div"),this._performanceEntries=new Map,this._sortedPerformanceEntryNames=[];let t=document.createElement("option");t.value="Performance",t.innerHTML="Performance",t.selected="selected",this._titleElement.appendChild(t),this._titleElement.addEventListener("change",this._onCategoryChanged.bind(this)),this._overviewGraph=new tq({width:eq,height:$h,seriesList:[]}),this._controlPanels=new Map,this._sortedControlPanelNames=[],this._minimized=!1,this._element.appendChild(this._titleElement),this._element.appendChild(this._minimizeElement),this._element.appendChild(this._performancePanelElement),this._performancePanelElement.appendChild(this._overviewGraph.element),this._layout(),this._minimizeElement.addEventListener("click",this._onMinimizeClicked.bind(this)),window.MappedinDebug==null&&(window.MappedinDebug={}),window.MappedinDebug.DebugUI=this}destroy(){for(let t of this._performanceEntries.values())t.destroy();for(let t of this._controlPanels.values())t.destroy();this._controlPanels=null,this._performanceEntries=null,this._element=null,this._titleElement=null,this._minimizeElement=null,this._performancePanelElement=null,this._overviewGraph=null,Object.setPrototypeOf(this,null)}get element(){return this._element}reportFramePerformance(t){let n=!1;for(let i in t){if(!this._performanceEntries.has(i)){let l=new Xg({name:i});this._performanceEntries.set(i,l),this._performancePanelElement.appendChild(l.element),this._sortedPerformanceEntryNames.push(i),this._sortedPerformanceEntryNames.sort(),n=!0}this._performanceEntries.get(i).report(t[i])}for(let i of this._performanceEntries.keys())t[i]==null&&this._performanceEntries.get(i).report(0);n&&this._updateLayout();for(let i of this._performanceEntries.values())if(i.series.changed()){this._overviewGraph.redraw();break}}addDebugControls(t){for(let n in t){for(let i of t[n]){let{name:l,description:r,control:a}=i;this._addDebugControl(n,l,r,a)}this._controlPanels.get(n)._updateLayout()}this._updateLayout()}addDebugControl(t,n,i,l){this._addDebugControl(t,n,i,l),this._updateLayout(),this._controlPanels.get(t)._updateLayout()}removeDebugControls(t){for(let n in t){for(let i of t[n])this._removeDebugControl(n,i);this._controlPanels.get(n)._updateLayout()}this._updateLayout()}removeDebugControl(t,n){this._removeDebugControl(t,n),this._updateLayout(),this._controlPanels.get(t)._updateLayout()}_addDebugControl(t,n,i,l){if(!this._controlPanels.has(t)){let r=new zh({name:t});this._controlPanels.set(t,r),this._element.appendChild(r.element);let a=document.createElement("option");a.value=t,a.innerHTML=t;let o=this._titleElement.children,s=1;for(;s<o.length&&!(o[s].value>t);++s);s===o.length?this._titleElement.appendChild(a):this._titleElement.insertBefore(a,o[s]),Object.assign(r.element.style,{display:"hidden",position:"absolute",left:_3+"px",right:_3+"px",top:_3+Vt+_3+"px"})}this._controlPanels.get(t).addControl(n,i,l)}_removeDebugControl(t,n){this._controlPanels.get(t).removeControl(n)}_layout(){Object.assign(this._element.style,{display:"block",position:"absolute",right:Hg+"px",top:Hg+"px",width:eq+2*_3+"px","font-family":"sans-serif",background:"rgba(255, 255, 255, 0.9)",outline:"1px solid white"}),Object.assign(this._titleElement.style,{display:"block",position:"absolute",left:_3+"px",top:_3+"px","font-size":Gk+"px"}),Object.assign(this._minimizeElement.style,{display:"block",position:"absolute",right:_3+"px",top:_3+"px",width:Vt*1.5+"px",height:Vt+"px"}),Object.assign(this._performancePanelElement.style,{display:"block",position:"absolute",left:_3+"px",right:_3+"px",top:_3+Vt+_3+"px"}),Object.assign(this._overviewGraph.element.style,{display:"block",position:"absolute",left:"0px",right:"0px",height:$h+"px",border:"1px solid white",outline:"1px solid #bbb"}),this._updateLayout()}_updateLayout(){let t=null;for(let n of this._titleElement.children){n.selected&&(t=n);let i=n.selected&&!this._minimized;n.value==="Performance"?this._performancePanelElement.style.display=i?"block":"none":this._controlPanels.get(n.value).element.style.display=i?"block":"none"}this._minimized?this._element.style.height=_3+Vt+_3+"px":t.value==="Performance"?this._element.style.height=_3+Vt+(xa+Qh)*this._performanceEntries.size+$h+_3+2*_3+"px":this._element.style.height=_3+Vt+this._controlPanels.get(t.value).height+_3+"px";for(let n=0;n<this._sortedPerformanceEntryNames.length;++n){let i=this._sortedPerformanceEntryNames[n],l=this._performanceEntries.get(i);l.setHue(n*Yk),l.element.style.top=(xa+Qh)*n+"px"}this._overviewGraph.setSeriesList(this._sortedPerformanceEntryNames.map(n=>this._performanceEntries.get(n).series)),this._overviewGraph.element.style.top=(xa+Qh)*this._performanceEntries.size+_3+"px",this._minimizeElement.innerHTML=this._minimized?"\\u21D5":"\\u21D7"}_onMinimizeClicked(){this._minimized=!this._minimized,this._updateLayout()}_onCategoryChanged(){this._updateLayout()}},Xg=class{constructor({name:t,hue:n}){this._name=t,this.series=new Yg({hue:n}),this._graph=new tq({width:eq,height:Wk,seriesList:[this.series]}),this._element=document.createElement("div"),this._nameElement=document.createElement("div"),this._hueElement=document.createElement("div"),this._lastFrameTimeElement=document.createElement("div"),this._element.appendChild(this._graph.element),this._element.appendChild(this._nameElement),this._element.appendChild(this._hueElement),this._element.appendChild(this._lastFrameTimeElement),this._layout()}destroy(){this._element.removeChild(this._graph.element),this._element.removeChild(this._nameElement),this._element.removeChild(this._hueElement),this._element.removeChild(this._lastFrameTimeElement),this._graph.destroy(),this._element=null,this._nameElement=null,this._hueElement=null,this._lastFrameTimeElement=null}_layout(){Object.assign(this._element.style,{display:"block",position:"absolute",left:"0px",right:"0px",height:xa+"px"}),Object.assign(this._hueElement.style,{display:"block",position:"absolute",left:"-1px",top:_a-1+"px",width:bn-2*_a+"px",height:bn-2*_a+"px","background-color":xn(this.series.hue,.3,.9),border:"1px solid "+xn(this.series.hue,.9,.9),"border-radius":"2px"}),Object.assign(this._nameElement.style,{display:"block",position:"absolute",left:bn-_a+Xk+"px",right:"0px",top:"0px",height:bn+"px","font-size":Gg+"px","text-align":"left","vertical-align":"middle"}),Object.assign(this._lastFrameTimeElement.style,{display:"block",position:"absolute",left:"0px",right:"0px",top:"0px",height:bn+"px","font-size":Gg+"px","text-align":"right","vertical-align":"middle"}),Object.assign(this._graph.element.style,{display:"block",position:"absolute",left:"0px",right:"0px",bottom:"0px","text-align":"right",border:"1px solid white",outline:"1px solid "+xn(this.series.hue,.2,1)}),this._nameElement.innerHTML=this._name}get element(){return this._element}report(t){if(this.series.report(t),this.series.changed()){if(this.series.length>=1){let n=0;for(let l=0;l<this.series.length;++l)n+=this.series.at(l);let i=this.series.maximumValue();this._lastFrameTimeElement.innerHTML="\\u222B "+(n/this.series.length).toFixed(Wg)+"ms, \\u2912 "+i.toFixed(Wg)+" ms"}this._graph.redraw()}}setHue(t){this.series.hue=t,this._graph.setSeriesList([this.series]),this._layout()}},tq=class{constructor({seriesList:t,width:n,height:i}){this._gradients=new Map,this._canvas=document.createElement("canvas"),this._layout(n,i),this._context=this._canvas.getContext("2d"),this.setSeriesList(t)}destroy(){this._gradients=null,this._canvas=null,this._context=null,Object.setPrototypeOf(this,null)}_layout(t,n){Object.assign(this._canvas.style,{display:"block",position:"absolute",left:"0px",right:"0px",width:t+"px",height:n+"px"}),this._canvas.width=t*window.devicePixelRatio,this._canvas.height=n*window.devicePixelRatio}get element(){return this._canvas}redraw(){this._context.clearRect(0,0,this._canvas.width,this._canvas.height);let t=0;for(let n of this._seriesList)t=Math.max(t,n.maximumValue());for(let n of this._seriesList)if(n.length>=1){this._context.beginPath();let i=1-(n.length-1)/(n.windowSize-1),l=1-n.at(0)/t;this._context.moveTo(i*this._canvas.width,l*this._canvas.height);for(let r=1;r<n.length;++r){let a=1-(n.length-1-r)/(n.windowSize-1),o=1-n.at(r)/t;this._context.lineTo(a*this._canvas.width,o*this._canvas.height)}this._context.strokeStyle=this._gradients.get(n),this._context.lineWidth=window.devicePixelRatio,this._context.stroke()}}setSeriesList(t){this._seriesList=t;for(let n of this._seriesList){let i=this._context.createLinearGradient(0,0,0,this._canvas.height);i.addColorStop(0,xn(n.hue,1,1)),i.addColorStop(1,xn(n.hue,.5,.5)),this._gradients.set(n,i)}}},Yg=class{constructor({windowSize:t=jk,totalAccumulationCount:n=Zk,hue:i=0}){this.windowSize=t,this.hue=i,this._totalAccumulationCount=n,this._ringBuffer=new Array(this.windowSize).fill(0),this._ringBufferLength=0,this._ringBufferPointer=0,this._accumulatorValue=0,this._accumulatorCount=0,this._changed=!0}destroy(){}report(t){this._accumulatorValue+=t,++this._accumulatorCount,this._changed=!1,this._accumulatorCount===this._totalAccumulationCount&&(this._push(this._accumulatorValue/this._totalAccumulationCount),this._accumulatorValue=0,this._accumulatorCount=0,this._changed=!0)}at(t){if(!Number.isFinite(t)||t>=this._ringBufferLength||t<0)throw new Error("invalid index: "+t+" (length: "+this.length+")");let n=(this._ringBufferPointer+t-this._ringBufferLength+this.windowSize)%this.windowSize;return this._ringBuffer[n]}_push(t){this._ringBuffer[this._ringBufferPointer]=t,++this._ringBufferLength,this._ringBufferLength>this.windowSize&&(this._ringBufferLength=this.windowSize),++this._ringBufferPointer,this._ringBufferPointer>=this.windowSize&&(this._ringBufferPointer=0)}maximumValue(){let t=0;for(let n=0;n<this._ringBufferLength;++n)t=Math.max(t,this.at(n));return t}changed(){return this._changed}get length(){return this._ringBufferLength}};function xn(e,t,n,i){let l=e%360/60,r=l|0,a=l-r,o=n*(1-t),s=n*(1-t*a),m=n*(1-t*(1-a)),q=0,h=0,u=0;switch(r){case 0:q=n,h=m,u=o;break;case 1:q=s,h=n,u=o;break;case 2:q=o,h=n,u=m;break;case 3:q=o,h=s,u=n;break;case 4:q=m,h=o,u=n;break;case 5:q=n,h=o,u=s;break}return"#"+nq(q)+nq(h)+nq(u)}function nq(e){let t=(e*255|0).toString(16);return t.length===1&&(t="0"+t),t}var Zg={},Jg={};Jg.CameraControls=j_;Zg.CompositeVertexShader=ha;Zg.CompositeFragmentShader=qa;var Ht,Kg=class extends q6{constructor(t,n,i={},l){super();K(this,Ht,void 0);T(this,"imageFlippingCache",{});T(this,"imageFlippingEnabled",!1);var R1;this.MapView=l,this.type="MapView3D",this.container=t,this.venue=n,window.MappedinDebug||(window.MappedinDebug={});let r=!1,a=i.backgroundColor||16777215,o=i.backgroundAlpha||1;this.colors={defaultHover2D:13421772,select:5022204,text:0,path:16745292,pathPulse:16777215,textSelect:16777215};let s=typeof i.antialias=="boolean"?i.antialias:window.devicePixelRatio<=1;i.disableZoomOnMapSizeChange&&(r=!0),i.loadOptions!=null&&(this.loadOptions=i.loadOptions),this.smartCollisionEngine=new Ed(l);let m=new kh({performance:!0}),q=new r9,h=new ua({multiBufferRendering:typeof i.multiBufferRendering=="boolean"?i.multiBufferRendering:!1,alpha:!0,antialias:s,onWebGLContextCreationError:i.onWebGLContextCreationError,onWebGLContextLost:i.onWebGLContextLost,onWebGLContextRestored:()=>{i.onWebGLContextRestored&&i.onWebGLContextRestored(),q.onWebGLContextRestored(),this.tryRendering()},onWebGLRendererError:i.onWebGLRendererError,backgroundColor:a,backgroundAlpha:o});this.renderer=h;let u={};this.highlightedPolygons=u,this.scene=new Ye,this.resolutionScale=window.devicePixelRatio;let c=new d3(40,this.container.clientWidth/this.container.clientHeight,50,1e5);this.cameraObject=c;let f=new g1;f.add(c);let b=new g1;b.add(f),this.scene.add(b),c.updateProjectionMatrix(),c.updateMatrixWorld(!0);let _=()=>{h.render(W2.ALL,null,this.scene,c)};this.focusZoomFactor=1.1;let d=!1;function x(){d=!0,v=!0}function w(){d=!1,v=!0}let M=[];var v=!0;let A={};this.polygonMeshesById=A;let C={};this.textLabelsByPolygonId=C,this.labelOrientationDelay=650;let U={};this.interactivePolygons=U;let E=new Vg(A,h.implementation.renderer,this,m,this.loadOptions);this.mapManager=E,this.mapManager=E,this.scene.add(E.object);let D=E.mapObjects;this.mapObjects=D,Object.defineProperty(this,"currentMap",{get(){return E.currentMap?E.currentMap.id:E.mapObjects.size>0?Array.from(D)[0].id:(console.error("No maps loaded."),null)}});let R=function(G){return k4(G,n.polygons)};this.setMap=E.setMap,this.expandMaps=E.expandMaps.bind(E),this.tiltMaps=E.tiltMaps.bind(E),this.contractMaps=E.contractMaps.bind(E),Object.defineProperty(this,"mapsExpanded",{get(){return E.expanded}}),this.showEntireMap=G=>{G||(G={});let n1=D.get(this.currentMap),o1;return G.interactiveOnly?o1=Object.keys(U):(o1=n1.object.children.map(function(h1){return h1.name}),!o1.length&&n1.elements&&(o1=Object.keys(n1.elements))),G.polygons=o1,this.focusOn(G)},this.resetPanBounds=()=>{let G=D.get(this.currentMap);this.controls.panBounds.min=this.controls.getPosition(),this.controls.panBounds.max=this.controls.getPosition();let n1=G.boundingBox;n1||(n1=new R2().setFromObject(G.object),D.get(this.currentMap).boundingBox=n1),E.expandPanBounds(n1)},this.addMap=E.addMap,this.removeMap=E.removeMap,this.removeAllMaps=E.removeAllMaps;let N=h.domElement();this.currentInteractionEvent="";let X=()=>{this.shouldMeasureCanvas=!0,this.smartCollisionEngine.resize(this.container),E.resize(),this.canvasWidth=N.clientWidth,this.canvasHeight=N.clientHeight,this.tryRendering()};this.focusOnPolygon=(G,n1,o1,h1)=>this.focusOn({polygons:[G],changeZoom:n1,duration:o1,curve:h1}),this.focusOnPath=(G,n1,o1,h1,G1)=>this.focusOn({nodes:G,polygons:n1,changeZoom:o1,duration:h1,curve:G1});let Y;this.focusOn=G=>{if(G==null)return;let n1=G.changeZoom!==void 0?G.changeZoom:!0,o1;G.duration!==void 0?o1=G.duration:k.env.TESTING==="true"?o1=0:o1=200;let h1=G.focusZoomFactor!==void 0?G.focusZoomFactor:this.focusZoomFactor,G1=G.curve,t2=G.horizontalFovFactor!==void 0?G.horizontalFovFactor:1,B2=G.verticalFovFactor!==void 0?G.verticalFovFactor:1,_2=G.callback,a3=G.minZoom!==void 0?G.minZoom:this.controls.minZoom,o3=G.updateZoomLimits||!0,F2=!1,J2=[];if(G.nodes){let j=G.nodes;for(var E3=0,C4=j.length;E3<C4;E3++){let $=j[E3];typeof $=="string"&&($=k4($,n.nodes)),($.map==null||$.map==this.currentMap)&&(J2.push(this.convertTo3DMapPosition($)),F2=!0)}}if(G.debug){Y&&Y.destroy(),Y=new g1,this.scene.add(Y);var O=new ci(100,100,100),l1=new g3({color:65280})}if(G.points&&(G.points.forEach(j=>J2.push(j)),F2=!0),G.boundingBox){let{min:j,max:$}=G.boundingBox;[new S(j.x,j.y,j.z),new S(j.x,$.y,j.z),new S($.x,j.y,j.z),new S($.x,$.y,j.z),new S(j.x,j.y,$.z),new S(j.x,$.y,$.z),new S($.x,j.y,$.z),new S($.x,$.y,$.z)].forEach(X1=>{if(G.debug){let B1=new i2(O,l1);B1.position.set(X1.x,X1.y,X1.z),Y.add(B1)}J2.push(X1)}),F2=!0}if(G.polygons){let j=G.polygons,$=D.get(this.currentMap),v1=0;for(E3=0,C4=j.length;E3<C4;E3++){let X1=G2(j[E3]),B1=$.objectsDictionary[X1];if(B1)if(v1++,B1.geometry.attributes){let O1=B1.geometry.attributes.position;for(let k1=0,Y1=O1.count;k1<Y1;k1++){let P2=new S;P2.set(O1.getX(k1),O1.getY(k1),O1.getZ(k1)),J2.push(P2)}F2=!0}else{let O1=B1.geometry.vertices;for(let k1=0,Y1=O1.length;k1<Y1;k1++)J2.push(B1.geometry.vertices[k1].clone());F2=!0}else{let O1=$.elements;if(O1){let k1=O1[X1];if(k1){v1++;let Y1=k1.getBoundingBox();J2.push(new S(Y1.min.x,Y1.min.y,0)),J2.push(new S(Y1.min.x,Y1.max.y,0)),J2.push(new S(Y1.max.x,Y1.min.y,0)),J2.push(new S(Y1.max.x,Y1.max.y,0)),F2=!0}}}}v1===1&&(h1=this.loadOptions&&this.loadOptions.zoomOverrides&&this.loadOptions.zoomOverrides.focusZoomFactorPolygon||h1)}if(F2){this.tryRendering();let j=G.padding||this.cachedPadding||{top:0,bottom:0,left:0,right:0},$=F(J2,t2,B2,j,!0),v1=this.getZoomLevelForCurrentMap(),X1=$.zoom;o3&&(this.controls.restrictZoomLimits(v1),this.controls.expandZoomLimits(X1*h1));let B1={position:$.position,tilt:G.tilt,rotation:G.rotation};return n1&&(B1.zoom=Math.max($.zoom*h1,a3)),this.publish("focuson-begin"),this.controls.animateCamera(B1,o1,G1,_2)}else return this.publish("focuson-begin"),this.controls.animateCamera({},o1,G1,_2)},this.CAMERA_FRAME_PADDING_SIDES=["top","bottom","left","right"],this.CAMERA_FRAME_PADDING_UNITS={PIXELS:"pixels",PORTIONS:"portions"};var F=(G,n1,o1,h1,G1)=>{(!o1||isNaN(o1))&&(o1=1),(!n1||isNaN(n1))&&(n1=1);let t2={position:this.controls.getPosition(),zoom:this.controls.minZoom};if(G==null||G.length==0)return t2;h1||(h1={top:0,bottom:0,left:0,right:0,type:this.CAMERA_FRAME_PADDING_UNITS.PIXELS});for(let I3 of this.CAMERA_FRAME_PADDING_SIDES)typeof h1[I3]!="number"&&(h1[I3]=0);if(h1.type||(h1.type=this.CAMERA_FRAME_PADDING_UNITS.PIXELS),h1.type===this.CAMERA_FRAME_PADDING_UNITS.PORTIONS&&(h1={top:h1.top*q2,bottom:h1.bottom*q2,left:h1.left*x1,right:h1.right*x1,type:this.CAMERA_FRAME_PADDING_UNITS.PIXELS}),h1.left+h1.right>=x1||h1.top+h1.bottom>=q2)return t2;b.updateMatrixWorld();let B2=c.matrixWorldInverse,_2=c.fov*(Math.PI/180)/2,a3=_2*o1,o3=Math.atan(Math.tan(_2)*(x1/q2))*n1;if(G.length==1){let I3=G[0].clone();I3.applyMatrix4(B2);let xe=this.controls.minZoom*Math.tan(o3)*2,$t=this.controls.minZoom*Math.tan(a3)*2,a4=(h1.left-h1.right)/2/x1,so=(h1.top-h1.bottom)/2/q2,mo=new S(-a4*xe,so*$t,0);return I3.add(mo),I3.applyMatrix4(c.matrixWorld),t2.position.x=I3.x,t2.position.y=I3.y,t2}let F2=new S(1/0,1/0,1/0),J2=new S(-1/0,-1/0,-1/0),E3;for(let I3=0,xe=G.length;I3<xe;I3++)E3=G[I3],E3.applyMatrix4(B2),F2.min(E3),J2.max(E3);let C4=J2.x-F2.x,O=J2.y-F2.y,l1=x1-h1.left-h1.right,j=q2-h1.top-h1.bottom,$=(J2.x+F2.x)/2,v1=(J2.y+F2.y)/2,X1=C4/l1,B1=O/j,O1=this.controls.getZoomScaledMin(),k1=this.controls.getZoomScaledMax(),Y1=O1*Math.tan(o3)*2,P2=k1*Math.tan(o3)*2,E2=Y1/x1,f2=P2/x1,Z1=Math.max(X1,B1);G1||(Z1=Math.min(Math.max(Z1,E2),f2));let d2=l1*Z1,t3=j*Z1,B={min:{x:$-d2/2-h1.left*Z1,y:v1-t3/2-h1.bottom*Z1},max:{x:$+d2/2+h1.right*Z1,y:v1+t3/2+h1.top*Z1}},e1=(B.min.x+B.max.x)/2,y1=(B.min.y+B.max.y)/2,J1=Math.abs(e1-B.min.x),S2=Math.abs(y1-B.min.y),k2=J1/Math.tan(o3),f3=S2/Math.tan(a3),z2=new S;z2.set(e1,y1,J2.z+Math.max(k2,f3)),z2.applyMatrix4(c.matrixWorld);let T3=new S;T3.set(e1,y1,J2.z),T3.applyMatrix4(c.matrixWorld),T3.sub(z2);let d4=z2.z/T3.z;return t2.position.x=z2.x-T3.x*d4,t2.position.y=z2.y-T3.y*d4,T3.set(t2.position.x,t2.position.y,0),z2.sub(T3),t2.zoom=z2.length(),t2};this.setPadding=G=>{this.cachedPadding=G||{top:0,bottom:0,left:0,right:0}},this.getZoomLevelForPolygon=G=>{let n1=G2(G),o1=[],h1=D.get(this.currentMap).objectsDictionary[n1];if(h1){let G1=h1.geometry.attributes?h1.geometry.attributes.position:[];for(let t2=0,B2=G1.count;t2<B2;t2++){let _2=new S;_2.set(G1.getX(t2),G1.getY(t2),G1.getZ(t2)),o1.push(_2)}return F(o1,1,1,this.cachedPadding,!0).zoom}return this.controls.getZoom()},this.getZoomLevelForCurrentMap=()=>{let G=D.get(this.currentMap).object;if(G){let n1=D.get(this.currentMap).boundingBox;n1||(n1=new R2().setFromObject(G),D.get(this.currentMap).boundingBox=n1);let o1=[n1.min.clone(),n1.max.clone()];return F(o1,1,1,this.cachedPadding,!0).zoom}return this.controls.getZoom()},this.getZoomLevelForObject=G=>{let n1;n1||(n1=new R2().setFromObject(G));let o1=[n1.min.clone(),n1.max.clone()];return F(o1,1,1,0,!0).zoom},this.resetCamera=(G=!1)=>{let n1={x:0,y:0};if(!G){let t2=D.get(this.currentMap).boundingBox;t2&&(n1={x:(t2.max.x-t2.min.x)/2+t2.min.x,y:(t2.max.y-t2.min.y)/2+t2.min.y})}let o1=this.getZoomLevelForCurrentMap();this.controls.expandZoomLimits(o1);let h1=.6,G1=0;this.controls.setMulti(n1,o1,G1,h1)},this.getPositionLatLon=(G,n1,o1)=>{o1==null?o1=this.currentMap:o1=G2(o1);let h1=D.get(o1);if(h1==null)throw new Error("Invalid map: "+o1);return h1.getPositionLatLon(G,n1)};let J=(G,n1)=>{G.style.transform="rotate("+(n1+G._mRotationOffset)+"rad)"};this.lockNorth=(G,n1=0)=>{M.push(G),G._mRotationOffset=n1,J(G,this.getNorth()+this.controls.getRotation())},this.unlockNorth=G=>{delete G._mRotationOffset,M=M.filter(function(n1){return n1!=G})};let t1=function(){},r1=function(){};this.convertTo3DMapPosition=G=>{let n1=D.get(G.map||this.currentMap).mapClass;return new S(G.x-n1.width/2,-G.y+n1.height/2,1)},this.getPositionPolygon=G=>{let n1=G2(G),o1=G;G.map==null&&(o1=R(n1));let h1=D.get(o1.map).objectsDictionary[n1];if(h1){h1.geometry.computeBoundingBox();let G1=h1.geometry.boundingBox;return new S(G1.min.x+(G1.max.x-G1.min.x)/2,G1.min.y+(G1.max.y-G1.min.y)/2,G1.max.z)}else return null},this.getPositionNode=G=>{let n1=G;return typeof n1=="string"&&(n1=k4(G,n.nodes)),this.convertTo3DMapPosition(n1)};function a1(G){return Math.trunc(G*100)/100}this.hideAllLabels=function(){E.mapObjectsSortedByElevation.forEach(G=>{G.textObjects.forEach(n1=>n1.hide()),G.colliders.forEach(n1=>{n1.disable()})})};let d1=({position:G,mapId:n1})=>{c.updateProjectionMatrix(),c.updateMatrixWorld(!0);let o1=D.get(n1);if(o1==null)return[0,0];let h1=G.clone().applyMatrix4(o1.object.matrix).project(c),G1=(h1.x+1)/2*x1-0/2,t2=(-h1.y+1)/2*q2-0/2,B2=a1(G1),_2=a1(t2);return{x:B2,y:_2}};this.setBackgroundColor=(G,n1)=>{h.setBackgroundColor(G,n1)};var q1=new i1;this.resolution=q1;let Q1=(G,n1)=>{h.setBufferSize(G,n1),c.aspect=G/n1,c.updateProjectionMatrix(),c.updateMatrixWorld(!0),q1.x=G,q1.y=n1};this.setSize=(G,n1)=>{x1=N.clientWidth,q2=N.clientHeight;let o1=Math.floor(G*this.resolutionScale),h1=Math.floor(n1*this.resolutionScale);if(!r){let G1=N.width!==o1?N.width/o1:N.height/h1;this.controls.setZoom(G1*this.controls.getZoom())}Q1(o1,h1)};let r2=()=>{let G=x1=N.clientWidth,n1=q2=N.clientHeight,o1=Math.floor(G*this.resolutionScale),h1=Math.floor(n1*this.resolutionScale);if(N.width!==o1||N.height!==h1){let G1=N.width!==o1?N.width/o1:N.height/h1;this.controls.setZoom(G1*this.controls.getZoom()),Q1(o1,h1)}this.shouldMeasureCanvas=!1},j1=new P4({name:"updateMapVisibility",ordering:Y4.BEFORE_CAMERA,callback:()=>{for(let G of E.mapObjectsSortedByElevation)G.visible?G.onVisible():G.onInvisible()}}),I1=new P4({name:"updateTweens",ordering:Y4.BEFORE_CAMERA,callback:()=>jg.default.update()});var Z=new i1;this.cameraParameters=Z;let C1=new P4({name:"camera",ordering:Y4.CAMERA,callback:()=>{this.controls.update(),Z.x=this.controls.getZoom(),Z.y=this.controls.getTilt(),this.controls.isCameraMoving()&&this.publish(q3.CAMERA_MOVING,Z),this.publish(q3.SET_BLUE_DOT_SIZE_FROM_ZOOM,Z.x)}}),M1=new P4({name:"rotateObjects",ordering:Y4.AFTER_CAMERA,callback:()=>{let G=this.getNorth()+this.controls.getRotation();for(let n1=0,o1=M.length;n1<o1;++n1)J(M[n1],G);p1(),P(),v=!1}}),V1=new P4({name:"renderAll",ordering:Y4.RENDER,callback:()=>{this.currentMap!=null&&(!h.isAvailable()||(this.shouldMeasureCanvas&&r2(),h.render(W2.ALL,null,this.scene,c),this.controls.postRender&&this.controls.postRender()))}});this.getMapScale=()=>D.get(this.currentMap).getMapScale(),this.getNorth=()=>D.get(this.currentMap).getNorth();let E1=new P4({name:"renderAnimated",ordering:Y4.RENDER,supersededBy:[V1],callback:()=>{this.currentMap!=null&&(!h.isAvailable()||(this.shouldMeasureCanvas&&r2(),h.render(W2.ANIMATED,null,this.scene,c),this.controls.postRender&&this.controls.postRender()))}}),f1=new P4({name:"renderAlwaysOnTop",ordering:Y4.RENDER,supersededBy:[V1],callback:()=>{this.currentMap!=null&&(!h.isAvailable()||(this.shouldMeasureCanvas&&r2(),h.render(W2.ALWAYS_ON_TOP,null,this.scene,c),this.controls.postRender&&this.controls.postRender()))}}),L=new P4({name:"updateBlueDotPosition",ordering:Y4.AFTER_RENDER,callback:()=>{this.publish(q3.PUBLISH_BLUE_DOT)}}),H=new P4({name:"updateColliders",ordering:Y4.AFTER_RENDER,frameCount:32,callback:()=>{this.smartCollisionEngine.updatePosition()}}),I=new P4({name:"updateSmartCollisionEngine",ordering:Y4.AFTER_RENDER,frameCount:15,callback:()=>{this.smartCollisionEngine.updateVisibility()}}),V=new P4({name:"updateDebugUI",ordering:Y4.AFTER_ALL_UPDATES,frameCount:1,callback:()=>{let G={};for(let n1 of m.getUpdatesRunLastFrame().values())G[n1.name]=n1.getLastFrameTime();this._debugUI.reportFramePerformance(G)}});this.tryRendering=(G=W2.ALL)=>{if(h!=null)if(this._debugUI!=null&&m.scheduleUpdate(V),G===W2.ALL)m.scheduleUpdate(I1),m.scheduleUpdate(j1),m.scheduleUpdate(C1),m.scheduleUpdate(M1),m.scheduleUpdate(V1),m.scheduleUpdate(L),m.scheduleUpdate(H),m.scheduleUpdate(I);else if(G===W2.ANIMATED)m.scheduleUpdate(I1),m.scheduleUpdate(E1);else if(G===W2.ALWAYS_ON_TOP)m.scheduleUpdate(I1),m.scheduleUpdate(f1);else if(G===W2.TWEEN)m.scheduleUpdate(I1);else throw new Error("invalid render task passed to tryRendering")};var p1=()=>{let G=b.rotation.z;(d||v)&&E.visibleMaps.forEach(n1=>{let o1=G-n1.object.rotation.z;n1.imagesToFlip.forEach(h1=>h1.flipIfNeeded(o1))})},P=()=>{let G=b.rotation.z;(d||v)&&E.visibleMaps.forEach(n1=>{let o1=G-n1.object.rotation.z;n1.imagesToFlip.forEach(h1=>h1.flipIfNeeded(o1))})};let z=G=>{G.addDebugControls({MapView3D:[{name:"Background Color",description:"The color of the mapview background. Will be obscured if there is a fully-opaque outdoor context.",control:new Ih({current:new _1(16777215),onValueChanged:n1=>{h.setBackgroundColor(n1,h.backgroundAlpha),this.tryRendering()}})},{name:"Background Opacity",description:"The opacity of the mapview background. Will be obscured if there is a fully-opaque outdoor context.",control:new Ph({minimum:0,maximum:1,step:.01,current:h.backgroundAlpha,onValueChanged:n1=>{h.setBackgroundColor(h.backgroundColor,n1),this.tryRendering()}})}]})},c1=G=>{G.removeDebugControls({MapView3D:["Background Color","Background Opacity"]})};this.showDebugUI=()=>{this._debugUI==null&&(this._debugUI=new ga,t.appendChild(this._debugUI.element),z(this._debugUI),this.controls.addDebugControls(this._debugUI),this.tryRendering())},this.hideDebugUI=()=>{this._debugUI!=null&&(t.removeChild(this._debugUI.element),c1(this._debugUI),this.controls.removeDebugControls(this._debugUI),this._debugUI.destroy(),this._debugUI=null)};let m1=new x4(1e6,1e6),H1=new g3({color:0,visible:!1}),T1=new i2(m1,H1);this.cameraPlane=T1,this.scene.add(T1),this.determineNewLabelSize=()=>{let G=this.controls.getZoom(),n1=this.controls.getZoomScaledMin(),o1=this.controls.getZoomScaledMax(),h1=(G-n1)/(o1-n1);this.currentScale=h1},t.appendChild(N),t.style.touchAction="auto",window.addEventListener("resize",X,!1),typeof ResizeObserver=="function"&&(Q(this,Ht,new ResizeObserver(X)),(R1=g(this,Ht))==null||R1.observe(t)),t.style.overflow="hidden",N.style.width="100%",N.style.height="100%",N.style.cursor="grab",this.canvasWidth=N.clientWidth,this.canvasHeight=N.clientHeight;let x1=this.canvasWidth,q2=this.canvasHeight;this.shouldMeasureCanvas=!0,this.setBackgroundColor(a,o),Q1(Math.floor(x1*this.resolutionScale),Math.floor(q2*this.resolutionScale)),_();let a2=new B7(16777215,.3);a2.position.set(-150,-150,350),this.scene.add(a2);let o2=new D7(16777215,16777215,.77);this.scene.add(o2),this.controls=new Jg.CameraControls(c,N,this.scene,this),this.controls.enableZoom=!0,this.INTERACTION_EVENTS=this.controls.INTERACTION_EVENTS;let P1=()=>this.tryRendering();this.controls.addEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,this.determineNewLabelSize),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,this.smartCollisionEngine.makeCollidersDirty),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ZOOM_END_EVENT.type,this.smartCollisionEngine.makeCollidersDirty),this.controls.addEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,this.smartCollisionEngine.makeCollidersDirty),this.controls.addEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,P1),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ZOOM_START_EVENT.type,()=>{this.publish("user-zoom-begin"),t1()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ROTATE_START_EVENT.type,()=>{this.publish("user-rotate-begin"),t1(),x()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,()=>{this.publish("user-multi-begin"),this.publish(q3.CLEAR_MOUSE),t1(),x()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.PAN_START_EVENT.type,()=>{this.publish("user-pan-begin"),t1(),this.publish(q3.CLEAR_MOUSE)}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ZOOM_END_EVENT.type,()=>{this.publish("user-zoom"),this.publish("user-zoom-begin"),r1()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,()=>{this.publish("user-rotate"),r1(),w()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,()=>{this.publish("user-multi-end"),r1(),w()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.PAN_END_EVENT.type,r1),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_PAN_EVENT.type,()=>{this.currentInteractionEvent="user-pan"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_ROTATE_EVENT.type,()=>{this.currentInteractionEvent="user-rotate"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_DOLLY_EVENT.type,()=>{this.currentInteractionEvent="user-zoom"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_TILT_EVENT.type,()=>{this.currentInteractionEvent="user-tilt"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_ZOOM_EVENT.type,()=>{this.publish("user-zoom"),this.currentInteractionEvent="user-zoom"});let F1,N1=n.maps;var e2=n.venue.defaultMap;if(i&&i.firstMap&&(e2=G2(i.firstMap)),e2){for(let G=0,n1=N1.length;G<n1;++G)if(N1[G].id===e2){F1=N1[G].id;break}}if(!F1){let G=n.maps[0];for(let n1 of n.maps.slice(1))Math.abs(n1.elevation)===Math.abs(G.elevation)?G=n1.elevation>G.elevation?n1:G:G=Math.abs(n1.elevation)<Math.abs(G.elevation)?n1:G;F1=G}let W=function(G=!0){v=G};E.on("set-map",this.smartCollisionEngine.makeCollidersDirty),E.on("render",P1),E.on("render:now",_),E.on("flippablesNeedUpdating",W),E.on("texture-loaded",G=>{this.tryRendering(),h.preloadTexture(G)}),E.loadMaps(N1,F1,()=>{i.onFirstMapLoaded(n),this.smartCollisionEngine.init(t,d1)},i.onDataLoaded,()=>{}),typeof i.onMapsFullyLoaded=="function"&&E.mapsFullyLoaded(i.onMapsFullyLoaded),this.setPadding(),this.destroy=()=>{this.controls.dispose(),E.off("set-map"),E.off("render"),E.off("render:now"),E.off("flippablesNeedUpdating"),window.removeEventListener("resize",X,!1),g(this,Ht)&&g(this,Ht).disconnect(),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,this.determineNewLabelSize),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,P1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ZOOM_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_START_EVENT.type,x),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,this.publish(q3.CLEAR_MOUSE)),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,x),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.PAN_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.PAN_START_EVENT.type,this.publish(q3.CLEAR_MOUSE)),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ZOOM_END_EVENT.type,r1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,r1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,w),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,r1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,w),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.PAN_END_EVENT.type,r1),E.destroy(),this.scene.destroy(),U={},q.dispose(),m.destroy(),h.destroy(),t.removeChild(N),this._debugUI!=null&&this.hideDebugUI(),h=void 0}}};Ht=new WeakMap;var Qg=Kg;var q3;(function(o){o[o.CAMERA_MOVING=0]="CAMERA_MOVING",o[o.SET_BLUE_DOT_SIZE_FROM_ZOOM=1]="SET_BLUE_DOT_SIZE_FROM_ZOOM",o[o.PUBLISH_BLUE_DOT=2]="PUBLISH_BLUE_DOT",o[o.SET_STATE_SILENT=3]="SET_STATE_SILENT",o[o.BLUE_DOT_UPDATE_POSITION=4]="BLUE_DOT_UPDATE_POSITION",o[o.BLUE_DOT_SET_FOLLOWING=5]="BLUE_DOT_SET_FOLLOWING",o[o.CLEAR_MOUSE=6]="CLEAR_MOUSE"})(q3||(q3={}));var C6,S8,N5,D5,B5,F5,Gt,O6,Wt,Xt,k5,h2,iq=class extends q6{constructor(t,n,i){super();K(this,C6,M4.EXPLORE);T(this,"currentPath");K(this,S8,void 0);K(this,N5,void 0);K(this,D5,void 0);K(this,B5,void 0);K(this,F5,void 0);K(this,Gt,void 0);K(this,O6,void 0);K(this,Wt,void 0);K(this,Xt,void 0);K(this,k5,void 0);T(this,"BlueDot");T(this,"Journey");T(this,"Camera");K(this,h2,void 0);T(this,"options",{});this.options=i||{},Q(this,h2,new Qg(t,n,i,this)),g(this,h2).onMapClicked=(l,r,a)=>{this.publish(e4.CLICK,{position:l,polygons:n._polygonsById!=null?r.map(o=>n._polygonsById[o]).filter(o=>o!=null):[],nearBlueDot:a})},g(this,h2).onPolygonClicked=l=>{this.publish(e4.POLYGON_CLICKED,n.polygons.find(r=>r.id===l))},g(this,h2).onNothingClicked=()=>{this.publish(e4.NOTHING_CLICKED)},g(this,h2).onMapChanged=()=>{this.publish(e4.MAP_CHANGED,this.currentMap)},this.Journey=new __(this,g(this,h2)),this.Camera=new gd(g(this,h2)),Q(this,N5,new _p(this,g(this,h2))),Q(this,D5,new $p(this,g(this,h2))),Q(this,B5,new wx(this,g(this,h2))),Q(this,k5,new O_(this,g(this,h2))),Q(this,F5,new Px(this,g(this,h2))),Q(this,Gt,new Lx(this,g(this,h2))),Q(this,Xt,new L_(this,g(this,h2))),Q(this,O6,new o_(this,g(this,h2))),Q(this,Wt,new y_(this,g(this,h2))),Q(this,S8,new c_(this,g(this,h2))),this.BlueDot=new r_(this,g(this,h2),g(this,S8)),g(this,h2).on(3,({state:l})=>{Q(this,C6,l),this.publish(e4.STATE_CHANGE,l)})}labelAllLocations(t){return g(this,N5).labelAllLocations(t)}labelPolygon(t,n){return g(this,N5).labelPolygon(t,n)}getNearestNodeByScreenCoordinates(t,n,i){let l=typeof i=="string"?i:(i==null?void 0:i.id)||this.currentMap.id,r=g(this,h2).mapManager.mapObjects.get(l);if(r==null)throw new Error("getNodeByScreenCoordinates failed: map not found");g(this,h2).cameraObject.updateMatrixWorld(!0),g(this,h2).cameraObject.updateMatrix();let a=t/g(this,h2).canvasWidth*2-1,o=-(n/g(this,h2).canvasHeight)*2+1,s=new S(a,o,0);b8.setFromCamera(s,g(this,h2).cameraObject.clone());let m=b8.intersectObject(g(this,h2).cameraPlane,!1)[0].point.applyMatrix4(r.object.matrix);return h8(this.venue.nodes.filter(q=>q.map===l),{x:m.x+r.mapClass.width/2,y:-m.y+r.mapClass.height/2})}createThreeJSMarker(t){return g(this,k5).createThreeJSMarker(t)}removeThreeJSMarker(t){return g(this,k5).removeThreeJSMarker(t)}removeAllThreeJSMarkers(){return g(this,k5).removeAllThreeJSMarkers()}setState(t){if(t!==g(this,C6)){if(t===M4.EXPLORE)g(this,h2).publish(5,!1),Q(this,C6,t);else if(t===M4.FOLLOW)g(this,h2).publish(5,!0),Q(this,C6,t);else throw new Error("Unsupported State");this.publish(e4.STATE_CHANGE,g(this,C6))}}get state(){return g(this,C6)}get venue(){return g(this,h2).venue}get container(){return g(this,h2).container}get currentMap(){return g(this,h2).venue.maps.find(t=>g(this,h2).currentMap===t.id)}removeAllInteractivePolygons(){g(this,O6).removeAllInteractivePolygons()}setMap(t){return g(this,h2).setMap(t)}setPolygonColor(t,n,i,l){g(this,Wt).setPolygonColor(t,n,i,l)}clearPolygonColor(t){g(this,Wt).clearPolygonColor(t)}clearAllPolygonColors(){g(this,Wt).clearAllPolygonColors()}addInteractivePolygon(t){g(this,O6).addInteractivePolygon(t)}addInteractivePolygonsForAllLocations(t){g(this,O6).addInteractivePolygonsForAllLocations(t)}removeInteractivePolygon(t){g(this,O6).removeInteractivePolygon(t)}createMarker(t,n,i){return g(this,B5).createMarker(t,n,i)}removeMarker(t){g(this,B5).removeMarker(t)}removeAllMarkers(){g(this,B5).removeAllMarkers()}removeAllTooltips(){g(this,F5).removeAllTooltips()}updateClosedStateForPolygon(t){g(this,Xt).updateClosedStateForPolygon(t)}openAllPolygons(){g(this,Xt).openAllPolygons()}removeAllLabels(){g(this,N5).removeAllLabels()}createTooltip(t,n){return g(this,F5).createTooltip(t,n)}removeTooltip(t){g(this,F5).removeTooltip(t)}enableImageFlippingForAllLocations(t){g(this,Gt).enableImageFlippingForAllLocations(t)}enableImageFlippingForPolygon(t){g(this,Gt).enableImageFlippingForPolygon(t)}disableImageFlippingForAllPolygons(){g(this,Gt).disableImageFlippingForAllPolygons()}drawPath(t,n){return g(this,D5).drawPath(t,n)}removePath(t){return g(this,D5).removePath(t)}removeAllPaths(){g(this,D5).removeAllPaths()}setBackgroundColor(t,n){g(this,h2).setBackgroundColor(t,n)}setHoverColor(t){g(this,S8).hoverColor=t}tryRendering(t){g(this,h2).tryRendering(t)}getPrimaryLocationForPolygon(t){return ul(t,this.venue)}getPolygonsAtCoordinate(t,n=!1){let i=g(this,h2).convertTo3DMapPosition(t);i.setZ(g(this,h2).controls.maxZoom);let l=new Le;return l.set(i,new S(0,0,-1)),l.intersectObjects(g(this,h2).scene.children,!0).filter(a=>a.object.name?n&&g(this,h2).venue._polygonsById?a.object.name in g(this,h2).venue._polygonsById:a.object.name in g(this,h2).interactivePolygons:!1).map(a=>g(this,h2).venue._polygonsById[a.object.name])||[]}destroy(){g(this,N5).removeAllLabels(),g(this,B5).removeAllMarkers(),g(this,O6).removeAllInteractivePolygons(),g(this,k5).removeAllThreeJSMarkers(),g(this,F5).removeAllTooltips(),g(this,D5).removeAllPaths(),g(this,h2).smartCollisionEngine.destroy(),g(this,Xt).destroy(),g(this,h2).destroy()}};C6=new WeakMap,S8=new WeakMap,N5=new WeakMap,D5=new WeakMap,B5=new WeakMap,F5=new WeakMap,Gt=new WeakMap,O6=new WeakMap,Wt=new WeakMap,Xt=new WeakMap,k5=new WeakMap,h2=new WeakMap;function $g(e,t,n){return new Promise((i,l)=>{try{let r=new iq(e,t,U1(b1({},n),{onFirstMapLoaded(){i(r)}}))}catch(r){l(r)}})}var va=pn.setAssetManager.bind(pn);var F8=U2(Gy());y();y();y();function UH(){var e=!navigator.userAgentData&&/Safari\\//.test(navigator.userAgent)&&!/Chrom(e|ium)\\//.test(navigator.userAgent);if(!e||!indexedDB.databases)return Promise.resolve();var t;return new Promise(function(n){var i=function(){return indexedDB.databases().finally(n)};t=setInterval(i,100),i()}).finally(function(){return clearInterval(t)})}var Wy=UH;function Zq(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function VH(e,t){let n=Wy().then(()=>{let i=indexedDB.open(e);return i.onupgradeneeded=()=>i.result.createObjectStore(t),Zq(i)});return(i,l)=>n.then(r=>l(r.transaction(t,i).objectStore(t)))}var Jq;function Xy(){return Jq||(Jq=VH("keyval-store","keyval")),Jq}function Kq(e,t=Xy()){return t("readonly",n=>Zq(n.get(e)))}function lo(e,t,n=Xy()){return n("readwrite",i=>(i.put(t,e),Zq(i.transaction)))}function Qq(e){let t=document.createElement("style");t.innerText=k.env.NODE_ENV==="test"?"":e,document.head.append(t)}function ro({type:e,id:t},n){return n[\`_\${e.toLowerCase()}sById\`][t]}function Yy(i,l){return A1(this,arguments,function*(e,{url:t,updated_at:n}){let r=yield bh(U1(b1({},e),{things:w5,shouldPopulateBundledImagesAsBlobs:!1}),{url:t,updated_at:n});return lo(oo,{updated_at:n,version:ao,venueSlug:e.venue,caches:{[D8(e)]:r.toString()}}),r})}function D8(e){return\`\${e.venue}\${e.language!=null?"-"+e.language:""}\`}var jy=\`.mMapviewHoverLabel{background:rgba(255,255,255,.9);color:#333;padding:10px;font-size:14px;font-weight:bold;transition:opacity .3s;font-family:sans-serif}.mappedin__floating-label{position:absolute;top:0px;left:0px;opacity:0;width:200px;height:200px;will-change:transform;transition:opacity .3s linear}.mappedin__floating-label__icon{position:absolute;top:0;left:0;width:16px;height:16px}.mappedin__floating-label__icon>svg{position:absolute;top:-50%;left:-50%}.mappedin__floating-label__text_holder{font-family:"InterUI-Regular",Helvetica,Arial,sans-serif;font-weight:normal;font-weight:500;position:absolute;pointer-events:none;word-break:keep-all}.mappedin__floating-label__text_legacy{text-shadow:1px 1px 0px #ffffff,-1px -1px 0px #ffffff,1px -1px 0px #ffffff,-1px 1px 0px #ffffff}.mappedin__floating-label__text_back{-webkit-text-stroke:4px white;color:#fff}.mappedin__floating-label__text_front{color:#000;position:absolute;display:block;width:100%;height:100%;top:0;left:0}.mappedin__smart-collision-engine__container{position:absolute;left:0px;top:0px;bottom:0px;right:0px;pointer-events:none;font-family:"InterUI-Regular",Helvetica,Arial,sans-serif}.mappedin__smart-collision-engine-debug__container{position:absolute;left:0px;top:0px;bottom:0px;right:0px;pointer-events:none}.mappedin-marker{font-family:"InterUI-Regular",Helvetica,Arial,sans-serif;font-weight:normal;pointer-events:none;top:0;transition:transform .3s linear;position:absolute;font-weight:bold;color:#000;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:opacity;justify-content:center}.mappedin-tooltip__wrapper{display:flex;width:1px;height:1px;align-items:center;justify-content:center;z-index:1}.mappedin-tooltip{font-family:"InterUI-Regular",Helvetica,Arial,sans-serif;font-weight:normal;pointer-events:all;top:0;transition:transform .3s linear;font-weight:bold;color:#000;position:absolute;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:transform,opacity;justify-content:center}.mappedin-tooltip>div{z-index:2;flex-shrink:0;max-width:500px;background:white;border-radius:20px;box-shadow:0 2px 11px #0003}.mappedin-tooltip:before{content:"";width:0;height:0;top:calc(50% - 10px);left:-10px;z-index:1;position:absolute;border-bottom:10px solid transparent;border-top:10px solid transparent}.mappedin-tooltip.tooltip--anchor-top{left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-top:before{left:calc(50% - 10px);top:calc(100% - 5px);right:auto;border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-bottom{left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-bottom:before{left:calc(50% - 10px);top:-15px;right:auto;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-right{justify-content:flex-start;left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-right:before{left:-5px;right:auto;border-right:10px solid white}.mappedin-tooltip.tooltip--anchor-left{left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-left:before{left:auto;right:-5px;border-left:10px solid white}.mappedin-tooltip.tooltip--anchor-top-left{left:7px;top:7px}.mappedin-tooltip.tooltip--anchor-top-left:before{left:auto;right:-7px;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--anchor-top-right{left:-6px;top:7px}.mappedin-tooltip.tooltip--anchor-top-right:before{left:-7px;right:auto;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-left{left:7px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-left:before{left:auto;right:-7px;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-right{left:-6px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-right:before{left:-7px;right:auto;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--visible{opacity:1}
3542
+ \`);Ag.getFont(t.label.fontFamily).then(m=>{let q={font:m,size:t.label.fontSize*l,height:A2.overlayHeight,bevelEnabled:!1,curveSegments:4},h=0,u=s.reverse().map((E,D)=>(E.length>s[h].length&&(h=D),new R0(E,q))),c=u[h],f=new i2(c),_=new R2().setFromObject(f).getSize(new S).x,d=A2._getMaterial(t.label.color),x=0,w=new l2;s.forEach((E,D)=>{let R=u[D],N=new i2(R,d),Y=new R2().setFromObject(N).getSize(new S),F;q.align==="left"?F=0:q.align==="right"?F=_-Y.x:F=(_-Y.x)/2,N.position.set(F,x,0),N.updateMatrix(),w.merge(N.geometry,N.matrix),x+=q.size*1.25});let M=new i2(w,d);w.computeBoundingBox();let v=w.boundingBox,A=v.max.x-v.min.x,C=v.max.y-v.min.y,U=t.geometry.position.z+t.geometry.scale.z;M.translateX(r.x-n.width/2+a.x-A/2),M.translateY(-r.y+n.height/2+a.y-C/2),M.rotation.set(0,0,o*Math.PI/180),M.translateZ((A2.overlayHeight+U)*l),this.container.add(M),i()})}_addImage(t,n,i){this.hasImage=!0;let l=this.getBoundingBox(),r=t.image.url||t.image.original;r instanceof Blob&&(r=URL.createObjectURL(r));let a=new i2(new x4(1,1));a.renderOrder=2,a.name=t.id+"_image",this.container.add(a),this.imageMesh=a,this.assetManager.loadImage(r).then(o=>{let s=new v4({transparent:!0,depthWrite:!1,side:k6,map:o});a.material=s;let m=Math.max(n.width,n.height)/1e3,q=o.image.width,h=o.image.height;URL.revokeObjectURL(r);let u={x:t.image.viewBox.width,y:t.image.viewBox.height},c;t.image.useLocalScaling===!1?c=m:c=Math.min(l.max.x-l.min.x,l.max.y-l.min.y)/Math.max(u.x,u.y),t.image.fitToBounds?a.scale.set(l.max.x-l.min.x,l.max.y-l.min.y,1):t.image.scale&&a.scale.set(t.image.scale.x*c*t.image.viewBox.width,t.image.scale.y*c*t.image.viewBox.height,1),a.translateZ(A2.overlayHeight*m),o.repeat=new i1(t.image.viewBox.width/q,t.image.viewBox.height/h),o.offset=new i1(0,(o.image.height-t.image.viewBox.height)/o.image.height),o.anisotropy=16;let f=t.vertexes,b;t.image.fitToBounds?b=A2.getBoundingCentre(f):b=A2.getWeightedCenter(f);let _=t.image.fitToBounds?0:t.image.position.x,d=t.image.fitToBounds?0:t.image.position.y,x=t.geometry.position.z+t.geometry.scale.z;t.image.position&&(a.translateX(b.x-n.width/2+_),a.translateY(-b.y+n.height/2+d),a.translateZ((x+t.image.position.z)*m)),t.image.rotation&&a.rotation.set(t.image.rotation.x*Math.PI/180,t.image.rotation.y*Math.PI/180,t.image.rotation.z*Math.PI/180),this.publish("texture-loaded",o),i()})}static _normalizeColor(t){let n=t.replace(/#/,"");return n.length===3&&(n=\`\${n[0]}\${n[0]}\${n[1]}\${n[1]}\${n[2]}\${n[2]}\`),parseInt(n,16)}static _getMaterial(t,n){let i=A2._normalizeColor(t),l,r=n<1?i+"_"+n:i;if(A2.materials[r])l=A2.materials[r];else{let a={color:i,side:n<1?k6:F6};n<1&&(a.transparent=!0,a.opacity=n),A2.materials[r]=new v4(a),l=A2.materials[r]}return l}static _clip(t,n){n/=2;let i=A2.scale,l=t.map(r=>({X:r.x*i,Y:r.y*i}));for(let r=8;r!==0;r--){let a=new cn.ClipperOffset;a.AddPath(l,cn.JoinType.jtMiter,cn.EndType.etClosedPolygon);let o=new cn.Paths;try{if(a.Execute(o,n*i),o.length)return o[0].map(m=>({x:m.X/i,y:m.Y/i}));n/=2}catch(s){n/=2}}return l}};A2.materials={};A2.defaultExtrudeSettings={depth:10,bevelEnabled:!1};A2.scale=100;A2.overlayHeight=.15;var Cg=A2;y();var Og=!1,Ut=class{constructor(){T(this,"textureLoader",new i6)}loadMapPolygons(t){return A1(this,null,function*(){return Og&&console.log("loading map: ",t.scene.polygons),(yield fetch(t.scene.polygons)).json()})}loadImage(t){return A1(this,null,function*(){return new Promise((n,i)=>{Og&&console.log("loading image: ",t);let l=this.textureLoader.load(t,()=>{n(l)},()=>{},i)})})}};var Ig=class{constructor(){T(this,"defaultExtrudeSettings",{amount:10,bevelEnabled:!1});T(this,"materials",{});T(this,"scale",100);T(this,"assetManager",new Ut);T(this,"overlayHeight",.15)}setAssetManager(t){this.assetManager=t}load(t,n){if(typeof t=="string")return this.assetManager.loadMapPolygons(n).then(i=>i==null||i.length===0?Promise.reject("No polygons found for venue"):this._build(i,n)).catch(i=>Promise.reject(i));try{return this._build(t,n)}catch(i){return Promise.reject(i)}}_build(t,n){console.time("JSONSceneLoader"),this.container=new nt;let i=new Set,l={};n.layers.forEach(a=>{a.visible!==!1&&i.add(a.id)}),t.forEach(a=>{let o=a.layer||"Polygon";if(!i.has(o))return;let m=new Cg(a,n,this.container,this.assetManager);l[a.id]=m});let r=this.container;return console.timeEnd("JSONSceneLoader"),Promise.resolve({container:r,elements:l})}},pn=new Ig;var zg=new g1,kk=1,Uk=!1,Rg={Floor:1,Wall:2,"Outer Wall":2.2,Anchors:4,Anchor:4,"Anchor Store":4,Polygon:5,Kiosks:6,"Inner Wall":7,"Non Public":7.5},Ng=e=>{if(Rg[e.layer])return Rg[e.layer];let t=e.geometry.scale,n=e.geometry.position;return 100+(t?t.z:1)+(n?n.z:0)},Dg,Bg=class extends W4{constructor(t,n,i,l,r={}){super();T(this,"_flippableImagedById",{});T(this,"_started",!1);T(this,"_loaderPromise",null);T(this,"_promiseResolve",null);T(this,"objectsDictionary",{});T(this,"north",null);T(this,"mapScale",null);T(this,"object",new g1);T(this,"labels",new Set);T(this,"tooltips",new Set);T(this,"markers",new Set);T(this,"textObjects",[]);T(this,"labelBatchCreator",null);T(this,"imagesToFlip",[]);T(this,"seenByCamera",!1);T(this,"threeJSMarkers",new Map);this.mapView=l,this.mapClass=t,this.polygonMeshesById=n,this._showCount=i,this.loadMethod="json",this.loadAsync=r.async,this._taskScheduler=r.taskScheduler,this.id=this.mapClass.id,this._highPriorityTasks=new I5({name:"_highPriorityTasks",onComplete:this._checkIfLoaded.bind(this),priority:!this.visible&&this.loadAsync?j4.ASYNC_MAP_HIGH:j4.VISIBLE_MAP_HIGH,postponeOnAdd:!this.visible&&!this.loadAsync}),this._lowPriorityTasks=new I5({name:"_lowPriorityTasks",onComplete:this._checkIfLoaded.bind(this),priority:!this.visible&&this.loadAsync?j4.ASYNC_MAP_LOW:j4.VISIBLE_MAP_LOW,postponeOnAdd:!this.visible&&!this.loadAsync}),this._markerTasks=new I5({name:"_markerTasks",priority:!this.visible&&this.loadAsync?j4.ASYNC_MAP_MARKER:j4.VISIBLE_MAP_MARKER,postponeOnAdd:!this.visible}),this._mapLoadedTasks=new I5({name:"_mapLoadedTasks",priority:j4.MAP_LOADED,postponeOnAdd:!this.isReady()}),this._visibilityLatch=null,this._objLoadedComplete=!1,this._loaderPromise=new Promise((a,o)=>{this._promiseResolve=a,Dg=o}),this._objLoaded=this._objLoaded.bind(this),this.enableImageFlipping=this.enableImageFlipping.bind(this),this.destroy=this.destroy.bind(this)}_objLoaded(t){if(t.elements){this.elements=t.elements;let i=Object.values(this.elements);i.sort((a,o)=>(a.sortScore==null&&(a.sortScore=Ng(a.polygon)),o.sortScore==null&&(o.sortScore=Ng(o.polygon)),o.sortScore-a.sortScore));let l=new S(1/0,1/0,0),r=new S(-1/0,-1/0,0);for(let a of i){let o=a.getBoundingBox();l.min(o.min),r.max(o.max),this.loadAsync?this._addPendingHighPriorityTask("addPolygon",()=>this._addElementToScene(a)):this._addElementToScene(a)}this.boundingBox={min:l,max:r},t=t.container}let n=t.children;for(let i=0,l=n.length;i<l;++i){let r=n[i];this.objectsDictionary[r.name]=r,this.polygonMeshesById[r.name]=r}return this.object=t,this.object.userData.type="mappedin_map",this.object.userData.mapId=this.mapClass.id,this.publish("pinsNeedUpdating",!0),this._objLoadedComplete=!0,this._onRootObjectCreated(),this._checkIfLoaded(),this._promiseResolve(this)}loadPolygonNow(t){if(!this.elements)return;let n=this.elements[t];n&&this._addElementToScene(n)}_addElementToScene(t){if(!this.objectsDictionary[t.polygon.id]){if(t.load.bind(t),t.load(),t.hasImage&&t.on("texture-loaded",n=>{this.publish("texture-loaded",n)}),t.mesh){let n=t.mesh;this.objectsDictionary[n.name]=n,this.polygonMeshesById[n.name]=n}if(t.imageMesh){let n=t.imageMesh;this.objectsDictionary[n.name]=n,this.polygonMeshesById[n.name]=n}if(t.polygon.image){let n=t.polygon.image.rotation!=null?t.polygon.image.rotation.z:0;this.mapView._imageFlippingEnabled&&this.enableImageFlipping(t.polygon.id,n*(Math.PI/180))}}}load(){if(!this._started){this._started=!0;try{let t=Uk&&this.mapClass._mappedin.polygons.filter(l=>l.map===this.mapClass.id),n=this.mapClass.scene.polygons;if((this.loadMethod==="json"||this.loadMethod===void 0)&&(n||t)){let l=n||t;this.loadMethodUsed="JSON - "+(n?"published":"live"),pn.load(l,this.mapClass).then(this._objLoaded)}else throw new Error("Error parsing JSON scene")}catch(t){Dg("ERROR: No 3D files for map "+(this.mapClass.name||this.mapClass.shortName||this.mapClass.id||this.mapClass))}}return this._loaderPromise}_dispose(t){let n=t;for(let i=n.children.length-1;i>=0;i--)this._dispose(n.children[i]);n.destroy(),delete this.objectsDictionary[n.name],delete this.polygonMeshesById[n.name]}destroy(){this.removeLabels(),this._removeThreeJSMarkers(),this.disableAllImageFlipping(),this._dispose(this.object)}add(t){zg.add(t),this.load().then(()=>{zg.children.filter(i=>i.uuid===t.uuid).length===1&&this.object.add(t)})}getPositionLatLon(t,n){let i=this.mapClass.georeference[0],l=new W1(i.target.x,i.target.y),r=new W1(t,n),a=l.distanceTo(r),o=(l.finalBearingTo(r)+360%360)*Math.PI/180,s=a*this.getMapScale(this.mapClass),m=o+this.getNorth(this.mapClass),q=Math.sin(m)*s,h=Math.cos(m)*s;return this.mapView.convertTo3DMapPosition({x:i.control.x+q,y:i.control.y-h,map:this.mapClass.id})}getMapScale(){return this.mapScale==null&&(this.mapScale=Xf(this.mapClass)),this.mapScale}getNorth(){return this.north==null&&(this.north=Yf(this.mapClass)),this.north}enableImageFlipping(t,n){if(n=n||0,!this._flippableImagedById[t]&&this.object&&Object.keys(this.object).length>0){let i=this.object.getObjectByName(t+"_image");if(i){let l=new eg({image:i,rotation:n});this.imagesToFlip.push(l),this.publish("flippablesNeedUpdating"),this.publish("render"),this._flippableImagedById[t]=!0}}}disableAllImageFlipping(){for(let t=0,n=this.imagesToFlip.length;t<n;t++)this.imagesToFlip[t].reset();this.imagesToFlip=[],this._flippableImagedById={}}get visible(){return this.object.parent!=null}isReady(){return(this.loadAsync?this._highPriorityTasks.isComplete():this.isFullyLoaded())&&this._objLoadedComplete}isFullyLoaded(){return this._highPriorityTasks.isComplete()&&this._lowPriorityTasks.isComplete()}onVisible(){this._visibilityLatch!==!0&&(this.loadAsync?(this._taskScheduler.setTaskPriority(this._highPriorityTasks,j4.VISIBLE_MAP_HIGH),this._taskScheduler.setTaskPriority(this._lowPriorityTasks,j4.VISIBLE_MAP_LOW),this._taskScheduler.resumeTask(this._markerTasks)):(this._taskScheduler.resumeTask(this._highPriorityTasks),this._taskScheduler.resumeTask(this._lowPriorityTasks),this._taskScheduler.resumeTask(this._markerTasks)),this._visibilityLatch=!0)}onInvisible(){this._visibilityLatch!==!1&&(this.loadAsync?(this._taskScheduler.setTaskPriority(this._highPriorityTasks,j4.ASYNC_MAP_HIGH),this._taskScheduler.setTaskPriority(this._lowPriorityTasks,j4.ASYNC_MAP_LOW),this._taskScheduler.postponeTask(this._markerTasks)):(this._taskScheduler.postponeTask(this._highPriorityTasks),this._taskScheduler.postponeTask(this._lowPriorityTasks),this._taskScheduler.postponeTask(this._markerTasks)),this._visibilityLatch=!1)}addPendingMarkerTask(t,n){this._taskScheduler.scheduleTask(new f4({name:"addMarker",group:this._markerTasks,callback:n,userdata:{marker:t}}))}addPendingLowPriorityTask(t,n){this._taskScheduler.scheduleTask(new f4({name:t,group:this._lowPriorityTasks,callback:n}))}addPendingMapLoadedTask(t,n){this._taskScheduler.scheduleTask(new f4({name:t,group:this._mapLoadedTasks,callback:n})),this._checkIfLoaded()}_addPendingHighPriorityTask(t,n){this._taskScheduler.scheduleTask(new f4({name:t,group:this._highPriorityTasks,callback:n}))}addThreeJSMarker(t){if(!(t.object instanceof g1))throw new Error("threeJSMarker \`object\` must be an instance of \`Object3D\`");let n=new Fg({mapId:this.id,object:t.object}),i={object:t.object};return t.object.layers.set(q4.ANIMATED),t.position!=null&&t.object.position.copy(t.position),t.rotation!=null&&t.object.rotation.copy(t.rotation),t.scale!=null&&t.object.scale.copy(t.scale),this.threeJSMarkers.set(n,i),this._objLoadedComplete?this.object.add(i.object):this.load().then(()=>{n._deleted||this.object.add(i.object)}),n}removeThreeJSMarker(t){let n=this.threeJSMarkers.get(t);return n!=null?(t._deleted=!0,this.threeJSMarkers.delete(t),this._objLoadedComplete&&this.object.remove(n.object),t._destroy(),!0):!1}_removeThreeJSMarkers(){if(this._objLoadedComplete)for(let[t,n]of this.threeJSMarkers.entries())this.object.remove(n.object),t._destroy();this.threeJSMarkers.clear()}removeLabels(){if(this.labels.forEach(t=>{t.disable(),t.removeSelf()}),this.labels=new Set,!!Array.isArray(this.textObjects)){for(let t=0,n=this.textObjects.length;t<n;++t){let i=this.textObjects[t];i.removeSelf(!0),i=void 0}this.textObjects=[]}}_checkIfLoaded(){this.isReady()&&this._taskScheduler.scheduleTask(new f4({name:"onMapLoaded",callback:()=>{this._taskScheduler.resumeTask(this._mapLoadedTasks),this.mapLoaded&&typeof this.mapLoaded==typeof Function&&(this.mapLoaded(),this.mapLoaded=null)}}))}_onRootObjectCreated(){for(let t in this.threeJSMarkers.values())this.object.add(t.object)}_popinChildObjects(){this.loadAsync||this.object.traverse(t=>{t.children.length==0&&t.type=="Mesh"&&t.material.map&&(t.visible=!1,this._addPendingHighPriorityTask("addPolygon",()=>{t.visible=!0,this._showCount>=kk&&(this._showCount=0,this.publish("render:now")),this._showCount++}))})}},Fg=class{constructor({mapId:t,object:n}){this._mapId=t,this._object=n}get object(){return this._object}_destroy(){this._mapId=null,this._object=null}},Jh=Bg;function kg(e){return e.sort((t,n)=>n.mapClass.elevation-t.mapClass.elevation)}var Vk=7.9,Hk=.3,Kh=(e,t)=>{let{min:n,max:i}=e,{margin:l}=e;l||(l=1);let r=t.boundingBox;r||(r=new R2().setFromObject(t.object),t.boundingBox=r);let a={min:{},max:{},margin:l};a.min.x=Math.min(n.x,r.min.x*l),a.max.x=Math.max(i.x,r.max.x*l),a.min.y=Math.min(n.y,r.min.y*l),a.max.y=Math.max(i.y,r.max.y*l);let o={x:(a.max.x+a.min.x)/2,y:(a.max.y+a.min.y)/2},s=Math.sqrt(K2(a.max.x-o.x,2)+K2(a.max.y-o.y,2));if(a.radius=s,typeof e.getCenter=="function"){let m=new S;a.center=e.getCenter(m)}else a.center=e.center;return a.margin=l,a},Ug=class extends W4{constructor(t,n,i,l,r={}){super();T(this,"mapObjects",new Map);T(this,"currentMap");T(this,"object",new g1);T(this,"_showCount",0);T(this,"_mapObjectsSortedByElevationDirty",!1);T(this,"expanded",!1);this.polygonMeshesById=t,this.mapView=i,this.renderer=n,this.loadOptions=r,this.addMap=this.addMap.bind(this),this.setMap=this.setMap.bind(this),this.removeMap=this.removeMap.bind(this),this.removeAllMaps=this.removeAllMaps.bind(this),this.loadMaps=this.loadMaps.bind(this),this.expandMaps=this.expandMaps.bind(this),this.contractMaps=this.contractMaps.bind(this),this.expandPanBounds=this.expandPanBounds.bind(this),this.loadOptions.taskScheduler=l}expandPanBounds(t){this.mapView.controls.panBounds=Kh(t,this.currentMap)}addMap(t,n=()=>{}){this._mapObjectsSortedByElevationDirty=!0;let i=new Jh(t,this.polygonMeshesById,this._showCount,this.mapView,this.loadOptions);return i.on("flippablesNeedUpdating",l=>this.publish("flippablesNeedUpdating",l)),i.on("render",l=>this.publish("render",l)),i.on("updateMarkerPosition",l=>this.publish("updateMarkerPosition",l)),this.mapObjects.set(t.id,i),this.currentMap==null?(this.setMap(t),i.load().then(n)):Promise.resolve().then(n)}addPersistentSetMapCallback(t){this.persistentSetMapCallbacks=Array.isArray(this.persistentSetMapCallbacks)&&this.persistentSetMapCallbacks||[],this.persistentSetMapCallbacks.push(t)}setMap(t,n){this.setMapCallbacks||(this.setMapCallbacks=[]);let i=G2(t);return this.setMapCallbacks.push(...this.persistentSetMapCallbacks||[]),n&&this.setMapCallbacks.push(n),new Promise((l,r)=>{if(this.mapObjects.has(i)){if(this.currentMap!=null){let{labels:s,tooltips:m,markers:q}=this.currentMap;[...s,...m,...q].forEach(h=>{h.disable()}),this.object.remove(this.currentMap.object)}this.currentMap=this.mapObjects.get(i),this.currentMap.addPendingMapLoadedTask("resolveSetMap",()=>{l(),this.setMapCallbacks.forEach(s=>s()),this.setMapCallbacks=[]});let a=this.currentMap.mapClass.id,o=this.loadOptions&&this.loadOptions.zoomOverrides&&this.loadOptions.zoomOverrides.zoomMultiplier||Vk;this.mapView.controls.zoomFactor=this.mapView.getMapScale()/o,this.currentMap.load().then(s=>{var f;if(this.currentMap&&this.currentMap.mapClass.id!==s.mapClass.id)return;s.seenByCamera||(s.seenByCamera=!0,s._popinChildObjects());let m=Kh(this.mapView.controls.panBounds,this.currentMap);this.mapView.controls.panBounds=m;let q=this.mapView.getZoomLevelForCurrentMap();this.mapView.controls.expandZoomLimits(q),this.object.add(this.currentMap.object),this.mapView.imageFlippingEnabled&&((f=this.mapView.imageFlippingCache[this.currentMap.id])==null||f.forEach(([b,_])=>{s.enableImageFlipping(b,_)})),this.currentMap.textObjects.forEach(b=>{typeof b.show=="function"&&b.show()});let{labels:h,tooltips:u,markers:c}=this.currentMap;[...h,...u,...c].forEach(b=>{b.enable()}),this.publish("flippablesNeedUpdating",!0),this.publish("render"),this.publish("set-map"),typeof this.mapView.onMapChanged=="function"&&this.mapView.onMapChanged(s.mapClass.id)}).catch(s=>{console.error("Error loading map ",a,s)})}else{let a={error:"Map does not exist"};console.error(a.error),this.setMapCallbacks.forEach(o=>o(a)),this.setMapCallbacks=[],r(a)}})}get mapObjectsSortedByElevation(){return!this._mapObjectsSortedByElevationDirty&&Array.isArray(this._mapObjectsSortedByElevation)?this._mapObjectsSortedByElevation:(this._mapObjectsSortedByElevation=Array.from(this.mapObjects.values()).sort((t,n)=>n.mapClass.elevation-t.mapClass.elevation),this._mapObjectsSortedByElevationDirty=!1,this._mapObjectsSortedByElevation)}loadMaps(t,n,i=()=>{},l=()=>{},r=()=>{}){let a=G2(n);for(let o=0;o<t.length;o++){let s=t[o],m=new Jh(s,this.polygonMeshesById,this._showCount,this.mapView,this.loadOptions);m.on("flippablesNeedUpdating",q=>this.publish("flippablesNeedUpdating",q)),m.on("render",q=>this.publish("render",q)),m.on("updateMarkerPosition",q=>this.publish("updateMarkerPosition",q)),m.on("texture-loaded",q=>this.publish("texture-loaded",q)),this.mapObjects.set(s.id,m),s.id===a&&(m.load().then(()=>{this.mapView.resetCamera(),l()}).catch(r),this.setMap(s,i))}}removeMap(t){this._mapObjectsSortedByElevationDirty=!0;let n=G2(t);if(this.mapObjects.has(n)){let i=this.mapObjects.get(n);this.currentMap===i&&(this.currentMap=null),i.off("flippablesNeedUpdating"),i.off("render"),i.destroy(),this.mapObjects.delete(n)}this.renderer.renderLists.dispose()}removeAllMaps(){this._mapObjectsSortedByElevationDirty=!0;for(let t of this.mapObjects.values())t.destroy(),t=null;this.mapObjects.clear()}get visibleMaps(){return this.mapObjectsSortedByElevation.filter(t=>t.visible)}getCompoundBoundingBoxPoints(t){this.mapView.controls.orbit.updateMatrixWorld();let n=this.mapView.controls.camera.matrixWorld,i=this.mapView.controls.camera.matrixWorldInverse,l=new S(1/0,1/0,1/0),r=new S(-1/0,-1/0,-1/0);t.forEach(o=>{o.applyMatrix4(i);let s=bt(o);ql(s).forEach(q=>{l.min(q),r.max(q)}),o.applyMatrix4(n)});let a=ql({min:l,max:r});return a.forEach(o=>o.applyMatrix4(n)),a}expandMaps(t,n){let i=b1({focus:!1,debug:!1,rotation:0,duration:600},n);if(this.expanded)return Promise.resolve({maps:this.renderedMaps,projections:this.projections});if(!Array.isArray(t))return Promise.reject("Maps to expand are not an array");let l,r=t.map(o=>{let s=typeof o!="string"&&o.id!=null?o.id:o;if(typeof o!="string"&&o.connection===!0&&Array.isArray(o.maps)){let m=o.maps.map(c=>{let f=typeof c!="string"?c.id:c;return this.mapObjects.has(f)||(console.error(\`Expand maps: > Map \${f} does not exist\`),l=\`Expand maps: > Map \${f} does not exist\`),this.mapObjects.get(f)});m=kg(m);let q=new x4(1,1,1);n.debug===!0&&(q=new x4(500,500,10));let h=new g3({color:11184810}),u=new i2(q,h);return{connection:!0,object:u,connectionNodes:o.connectionNodes,mapClass:{elevation:m[0].mapClass.elevation},maps:m}}else{if(this.mapObjects.has(s))return this.mapObjects.get(s);console.error(\`Expand maps: > Map \${s} does not exist\`),l=\`Expand maps: Map \${s} does not exist\`}});if(l!=null)return Promise.reject(l);r=kg(r);let a=r.map(o=>o.connection&&Array.isArray(o.maps)?Promise.all(o.maps.map(s=>s.load())):o.load());return Promise.all(a).then(()=>(this.expanded=!0,this.multiFloorView=new F_(this.mapView,this.object,r,i),this.multiFloorView.focusOnMaps(i))).then(()=>(this.renderedMaps=r,this.projections=this.multiFloorView.projections,Promise.resolve({maps:r,projections:this.projections})))}contractMaps(t={focus:!1,debug:!1,duration:300}){if(!this.expanded)return Promise.resolve();this.expanded=!1,this.multiFloorView.destroy(),this.object.add(this.currentMap.object),this.publish("render");let n=Kh(this.mapView.controls.panBounds,this);this.mapView.controls.panBounds=n;let i=this.mapView.getZoomLevelForObject(this.object);return this.mapView.controls.expandZoomLimits(i),new Promise(l=>{t.focus?this.mapView.focusOn({boundingBox:bt(this.object),padding:this.mapView.cachedPadding,debug:t.debug,duration:t.duration,focusZoomFactor:1,callback:l,tilt:Hk}):l()})}mapsFullyLoaded(t=()=>{}){let n=[...this.mapObjects.values()].map(i=>i.connection&&Array.isArray(i.maps)?Promise.all(i.maps.map(l=>l._loaderPromise)):i._loaderPromise);return Promise.all(n).then(t)}scrollMapsUp(){return this.multiFloorView?this.multiFloorView.scrollMapsUp():(console.warn("scrollMapsUp() not supported unless multifloor is active"),Promise.reject())}scrollMapsDown(){return this.multiFloorView?this.multiFloorView.scrollMapsDown():(console.warn("scrollMapsDown() not supported unless multifloor is active"),Promise.reject())}tiltMaps(t){this.multiFloorView&&(this.multiFloorView.mapTiltDegrees=t)}resize(){this.multiFloorView!=null&&this.multiFloorView.resize()}destroy(){this.removeAllMaps(),this.object.destroy()}},Vg=Ug;y();var Vt=20,Gk=14,Hg=8,xa=72,bn=16,Gg=12,Wk=52,Xk=4,_a=2,Qh=8,$h=128,eq=320,_3=8,Wg=2,Yk=360*(2/(Math.sqrt(5)+1))/6,jk=60,Zk=5,ga=class{constructor(){this._element=document.createElement("div"),this._titleElement=document.createElement("select"),this._minimizeElement=document.createElement("button"),this._performancePanelElement=document.createElement("div"),this._performanceEntries=new Map,this._sortedPerformanceEntryNames=[];let t=document.createElement("option");t.value="Performance",t.innerHTML="Performance",t.selected="selected",this._titleElement.appendChild(t),this._titleElement.addEventListener("change",this._onCategoryChanged.bind(this)),this._overviewGraph=new tq({width:eq,height:$h,seriesList:[]}),this._controlPanels=new Map,this._sortedControlPanelNames=[],this._minimized=!1,this._element.appendChild(this._titleElement),this._element.appendChild(this._minimizeElement),this._element.appendChild(this._performancePanelElement),this._performancePanelElement.appendChild(this._overviewGraph.element),this._layout(),this._minimizeElement.addEventListener("click",this._onMinimizeClicked.bind(this)),window.MappedinDebug==null&&(window.MappedinDebug={}),window.MappedinDebug.DebugUI=this}destroy(){for(let t of this._performanceEntries.values())t.destroy();for(let t of this._controlPanels.values())t.destroy();this._controlPanels=null,this._performanceEntries=null,this._element=null,this._titleElement=null,this._minimizeElement=null,this._performancePanelElement=null,this._overviewGraph=null,Object.setPrototypeOf(this,null)}get element(){return this._element}reportFramePerformance(t){let n=!1;for(let i in t){if(!this._performanceEntries.has(i)){let l=new Xg({name:i});this._performanceEntries.set(i,l),this._performancePanelElement.appendChild(l.element),this._sortedPerformanceEntryNames.push(i),this._sortedPerformanceEntryNames.sort(),n=!0}this._performanceEntries.get(i).report(t[i])}for(let i of this._performanceEntries.keys())t[i]==null&&this._performanceEntries.get(i).report(0);n&&this._updateLayout();for(let i of this._performanceEntries.values())if(i.series.changed()){this._overviewGraph.redraw();break}}addDebugControls(t){for(let n in t){for(let i of t[n]){let{name:l,description:r,control:a}=i;this._addDebugControl(n,l,r,a)}this._controlPanels.get(n)._updateLayout()}this._updateLayout()}addDebugControl(t,n,i,l){this._addDebugControl(t,n,i,l),this._updateLayout(),this._controlPanels.get(t)._updateLayout()}removeDebugControls(t){for(let n in t){for(let i of t[n])this._removeDebugControl(n,i);this._controlPanels.get(n)._updateLayout()}this._updateLayout()}removeDebugControl(t,n){this._removeDebugControl(t,n),this._updateLayout(),this._controlPanels.get(t)._updateLayout()}_addDebugControl(t,n,i,l){if(!this._controlPanels.has(t)){let r=new zh({name:t});this._controlPanels.set(t,r),this._element.appendChild(r.element);let a=document.createElement("option");a.value=t,a.innerHTML=t;let o=this._titleElement.children,s=1;for(;s<o.length&&!(o[s].value>t);++s);s===o.length?this._titleElement.appendChild(a):this._titleElement.insertBefore(a,o[s]),Object.assign(r.element.style,{display:"hidden",position:"absolute",left:_3+"px",right:_3+"px",top:_3+Vt+_3+"px"})}this._controlPanels.get(t).addControl(n,i,l)}_removeDebugControl(t,n){this._controlPanels.get(t).removeControl(n)}_layout(){Object.assign(this._element.style,{display:"block",position:"absolute",right:Hg+"px",top:Hg+"px",width:eq+2*_3+"px","font-family":"sans-serif",background:"rgba(255, 255, 255, 0.9)",outline:"1px solid white"}),Object.assign(this._titleElement.style,{display:"block",position:"absolute",left:_3+"px",top:_3+"px","font-size":Gk+"px"}),Object.assign(this._minimizeElement.style,{display:"block",position:"absolute",right:_3+"px",top:_3+"px",width:Vt*1.5+"px",height:Vt+"px"}),Object.assign(this._performancePanelElement.style,{display:"block",position:"absolute",left:_3+"px",right:_3+"px",top:_3+Vt+_3+"px"}),Object.assign(this._overviewGraph.element.style,{display:"block",position:"absolute",left:"0px",right:"0px",height:$h+"px",border:"1px solid white",outline:"1px solid #bbb"}),this._updateLayout()}_updateLayout(){let t=null;for(let n of this._titleElement.children){n.selected&&(t=n);let i=n.selected&&!this._minimized;n.value==="Performance"?this._performancePanelElement.style.display=i?"block":"none":this._controlPanels.get(n.value).element.style.display=i?"block":"none"}this._minimized?this._element.style.height=_3+Vt+_3+"px":t.value==="Performance"?this._element.style.height=_3+Vt+(xa+Qh)*this._performanceEntries.size+$h+_3+2*_3+"px":this._element.style.height=_3+Vt+this._controlPanels.get(t.value).height+_3+"px";for(let n=0;n<this._sortedPerformanceEntryNames.length;++n){let i=this._sortedPerformanceEntryNames[n],l=this._performanceEntries.get(i);l.setHue(n*Yk),l.element.style.top=(xa+Qh)*n+"px"}this._overviewGraph.setSeriesList(this._sortedPerformanceEntryNames.map(n=>this._performanceEntries.get(n).series)),this._overviewGraph.element.style.top=(xa+Qh)*this._performanceEntries.size+_3+"px",this._minimizeElement.innerHTML=this._minimized?"\\u21D5":"\\u21D7"}_onMinimizeClicked(){this._minimized=!this._minimized,this._updateLayout()}_onCategoryChanged(){this._updateLayout()}},Xg=class{constructor({name:t,hue:n}){this._name=t,this.series=new Yg({hue:n}),this._graph=new tq({width:eq,height:Wk,seriesList:[this.series]}),this._element=document.createElement("div"),this._nameElement=document.createElement("div"),this._hueElement=document.createElement("div"),this._lastFrameTimeElement=document.createElement("div"),this._element.appendChild(this._graph.element),this._element.appendChild(this._nameElement),this._element.appendChild(this._hueElement),this._element.appendChild(this._lastFrameTimeElement),this._layout()}destroy(){this._element.removeChild(this._graph.element),this._element.removeChild(this._nameElement),this._element.removeChild(this._hueElement),this._element.removeChild(this._lastFrameTimeElement),this._graph.destroy(),this._element=null,this._nameElement=null,this._hueElement=null,this._lastFrameTimeElement=null}_layout(){Object.assign(this._element.style,{display:"block",position:"absolute",left:"0px",right:"0px",height:xa+"px"}),Object.assign(this._hueElement.style,{display:"block",position:"absolute",left:"-1px",top:_a-1+"px",width:bn-2*_a+"px",height:bn-2*_a+"px","background-color":xn(this.series.hue,.3,.9),border:"1px solid "+xn(this.series.hue,.9,.9),"border-radius":"2px"}),Object.assign(this._nameElement.style,{display:"block",position:"absolute",left:bn-_a+Xk+"px",right:"0px",top:"0px",height:bn+"px","font-size":Gg+"px","text-align":"left","vertical-align":"middle"}),Object.assign(this._lastFrameTimeElement.style,{display:"block",position:"absolute",left:"0px",right:"0px",top:"0px",height:bn+"px","font-size":Gg+"px","text-align":"right","vertical-align":"middle"}),Object.assign(this._graph.element.style,{display:"block",position:"absolute",left:"0px",right:"0px",bottom:"0px","text-align":"right",border:"1px solid white",outline:"1px solid "+xn(this.series.hue,.2,1)}),this._nameElement.innerHTML=this._name}get element(){return this._element}report(t){if(this.series.report(t),this.series.changed()){if(this.series.length>=1){let n=0;for(let l=0;l<this.series.length;++l)n+=this.series.at(l);let i=this.series.maximumValue();this._lastFrameTimeElement.innerHTML="\\u222B "+(n/this.series.length).toFixed(Wg)+"ms, \\u2912 "+i.toFixed(Wg)+" ms"}this._graph.redraw()}}setHue(t){this.series.hue=t,this._graph.setSeriesList([this.series]),this._layout()}},tq=class{constructor({seriesList:t,width:n,height:i}){this._gradients=new Map,this._canvas=document.createElement("canvas"),this._layout(n,i),this._context=this._canvas.getContext("2d"),this.setSeriesList(t)}destroy(){this._gradients=null,this._canvas=null,this._context=null,Object.setPrototypeOf(this,null)}_layout(t,n){Object.assign(this._canvas.style,{display:"block",position:"absolute",left:"0px",right:"0px",width:t+"px",height:n+"px"}),this._canvas.width=t*window.devicePixelRatio,this._canvas.height=n*window.devicePixelRatio}get element(){return this._canvas}redraw(){this._context.clearRect(0,0,this._canvas.width,this._canvas.height);let t=0;for(let n of this._seriesList)t=Math.max(t,n.maximumValue());for(let n of this._seriesList)if(n.length>=1){this._context.beginPath();let i=1-(n.length-1)/(n.windowSize-1),l=1-n.at(0)/t;this._context.moveTo(i*this._canvas.width,l*this._canvas.height);for(let r=1;r<n.length;++r){let a=1-(n.length-1-r)/(n.windowSize-1),o=1-n.at(r)/t;this._context.lineTo(a*this._canvas.width,o*this._canvas.height)}this._context.strokeStyle=this._gradients.get(n),this._context.lineWidth=window.devicePixelRatio,this._context.stroke()}}setSeriesList(t){this._seriesList=t;for(let n of this._seriesList){let i=this._context.createLinearGradient(0,0,0,this._canvas.height);i.addColorStop(0,xn(n.hue,1,1)),i.addColorStop(1,xn(n.hue,.5,.5)),this._gradients.set(n,i)}}},Yg=class{constructor({windowSize:t=jk,totalAccumulationCount:n=Zk,hue:i=0}){this.windowSize=t,this.hue=i,this._totalAccumulationCount=n,this._ringBuffer=new Array(this.windowSize).fill(0),this._ringBufferLength=0,this._ringBufferPointer=0,this._accumulatorValue=0,this._accumulatorCount=0,this._changed=!0}destroy(){}report(t){this._accumulatorValue+=t,++this._accumulatorCount,this._changed=!1,this._accumulatorCount===this._totalAccumulationCount&&(this._push(this._accumulatorValue/this._totalAccumulationCount),this._accumulatorValue=0,this._accumulatorCount=0,this._changed=!0)}at(t){if(!Number.isFinite(t)||t>=this._ringBufferLength||t<0)throw new Error("invalid index: "+t+" (length: "+this.length+")");let n=(this._ringBufferPointer+t-this._ringBufferLength+this.windowSize)%this.windowSize;return this._ringBuffer[n]}_push(t){this._ringBuffer[this._ringBufferPointer]=t,++this._ringBufferLength,this._ringBufferLength>this.windowSize&&(this._ringBufferLength=this.windowSize),++this._ringBufferPointer,this._ringBufferPointer>=this.windowSize&&(this._ringBufferPointer=0)}maximumValue(){let t=0;for(let n=0;n<this._ringBufferLength;++n)t=Math.max(t,this.at(n));return t}changed(){return this._changed}get length(){return this._ringBufferLength}};function xn(e,t,n,i){let l=e%360/60,r=l|0,a=l-r,o=n*(1-t),s=n*(1-t*a),m=n*(1-t*(1-a)),q=0,h=0,u=0;switch(r){case 0:q=n,h=m,u=o;break;case 1:q=s,h=n,u=o;break;case 2:q=o,h=n,u=m;break;case 3:q=o,h=s,u=n;break;case 4:q=m,h=o,u=n;break;case 5:q=n,h=o,u=s;break}return"#"+nq(q)+nq(h)+nq(u)}function nq(e){let t=(e*255|0).toString(16);return t.length===1&&(t="0"+t),t}var Zg={},Jg={};Jg.CameraControls=j_;Zg.CompositeVertexShader=ha;Zg.CompositeFragmentShader=qa;var Ht,Kg=class extends q6{constructor(t,n,i={},l){super();K(this,Ht,void 0);T(this,"imageFlippingCache",{});T(this,"imageFlippingEnabled",!1);var R1;this.MapView=l,this.type="MapView3D",this.container=t,this.venue=n,window.MappedinDebug||(window.MappedinDebug={});let r=!1,a=i.backgroundColor||16777215,o=i.backgroundAlpha||1;this.colors={defaultHover2D:13421772,select:5022204,text:0,path:16745292,pathPulse:16777215,textSelect:16777215};let s=typeof i.antialias=="boolean"?i.antialias:window.devicePixelRatio<=1;i.disableZoomOnMapSizeChange&&(r=!0),i.loadOptions!=null&&(this.loadOptions=i.loadOptions),this.smartCollisionEngine=new Ed(l);let m=new kh({performance:!0}),q=new r9,h=new ua({multiBufferRendering:typeof i.multiBufferRendering=="boolean"?i.multiBufferRendering:!1,alpha:!0,antialias:s,onWebGLContextCreationError:i.onWebGLContextCreationError,onWebGLContextLost:i.onWebGLContextLost,onWebGLContextRestored:()=>{i.onWebGLContextRestored&&i.onWebGLContextRestored(),q.onWebGLContextRestored(),this.tryRendering()},onWebGLRendererError:i.onWebGLRendererError,backgroundColor:a,backgroundAlpha:o});this.renderer=h;let u={};this.highlightedPolygons=u,this.scene=new Ye,this.resolutionScale=window.devicePixelRatio;let c=new d3(40,this.container.clientWidth/this.container.clientHeight,50,1e5);this.cameraObject=c;let f=new g1;f.add(c);let b=new g1;b.add(f),this.scene.add(b),c.updateProjectionMatrix(),c.updateMatrixWorld(!0);let _=()=>{h.render(W2.ALL,null,this.scene,c)};this.focusZoomFactor=1.1;let d=!1;function x(){d=!0,v=!0}function w(){d=!1,v=!0}let M=[];var v=!0;let A={};this.polygonMeshesById=A;let C={};this.textLabelsByPolygonId=C,this.labelOrientationDelay=650;let U={};this.interactivePolygons=U;let E=new Vg(A,h.implementation.renderer,this,m,this.loadOptions);this.mapManager=E,this.mapManager=E,this.scene.add(E.object);let D=E.mapObjects;this.mapObjects=D,Object.defineProperty(this,"currentMap",{get(){return E.currentMap?E.currentMap.id:E.mapObjects.size>0?Array.from(D)[0].id:(console.error("No maps loaded."),null)}});let R=function(G){return k4(G,n.polygons)};this.setMap=E.setMap,this.expandMaps=E.expandMaps.bind(E),this.tiltMaps=E.tiltMaps.bind(E),this.contractMaps=E.contractMaps.bind(E),Object.defineProperty(this,"mapsExpanded",{get(){return E.expanded}}),this.showEntireMap=G=>{G||(G={});let n1=D.get(this.currentMap),o1;return G.interactiveOnly?o1=Object.keys(U):(o1=n1.object.children.map(function(h1){return h1.name}),!o1.length&&n1.elements&&(o1=Object.keys(n1.elements))),G.polygons=o1,this.focusOn(G)},this.resetPanBounds=()=>{let G=D.get(this.currentMap);this.controls.panBounds.min=this.controls.getPosition(),this.controls.panBounds.max=this.controls.getPosition();let n1=G.boundingBox;n1||(n1=new R2().setFromObject(G.object),D.get(this.currentMap).boundingBox=n1),E.expandPanBounds(n1)},this.addMap=E.addMap,this.removeMap=E.removeMap,this.removeAllMaps=E.removeAllMaps;let N=h.domElement();this.currentInteractionEvent="";let X=()=>{this.shouldMeasureCanvas=!0,this.smartCollisionEngine.resize(this.container),E.resize(),this.canvasWidth=N.clientWidth,this.canvasHeight=N.clientHeight,this.tryRendering()};this.focusOnPolygon=(G,n1,o1,h1)=>this.focusOn({polygons:[G],changeZoom:n1,duration:o1,curve:h1}),this.focusOnPath=(G,n1,o1,h1,G1)=>this.focusOn({nodes:G,polygons:n1,changeZoom:o1,duration:h1,curve:G1});let Y;this.focusOn=G=>{if(G==null)return;let n1=G.changeZoom!==void 0?G.changeZoom:!0,o1;G.duration!==void 0?o1=G.duration:k.env.TESTING==="true"?o1=0:o1=200;let h1=G.focusZoomFactor!==void 0?G.focusZoomFactor:this.focusZoomFactor,G1=G.curve,t2=G.horizontalFovFactor!==void 0?G.horizontalFovFactor:1,B2=G.verticalFovFactor!==void 0?G.verticalFovFactor:1,_2=G.callback,a3=G.minZoom!==void 0?G.minZoom:this.controls.minZoom,o3=G.updateZoomLimits||!0,F2=!1,J2=[];if(G.nodes){let j=G.nodes;for(var E3=0,C4=j.length;E3<C4;E3++){let $=j[E3];typeof $=="string"&&($=k4($,n.nodes)),($.map==null||$.map==this.currentMap)&&(J2.push(this.convertTo3DMapPosition($)),F2=!0)}}if(G.debug){Y&&Y.destroy(),Y=new g1,this.scene.add(Y);var O=new ci(100,100,100),l1=new g3({color:65280})}if(G.points&&(G.points.forEach(j=>J2.push(j)),F2=!0),G.boundingBox){let{min:j,max:$}=G.boundingBox;[new S(j.x,j.y,j.z),new S(j.x,$.y,j.z),new S($.x,j.y,j.z),new S($.x,$.y,j.z),new S(j.x,j.y,$.z),new S(j.x,$.y,$.z),new S($.x,j.y,$.z),new S($.x,$.y,$.z)].forEach(X1=>{if(G.debug){let B1=new i2(O,l1);B1.position.set(X1.x,X1.y,X1.z),Y.add(B1)}J2.push(X1)}),F2=!0}if(G.polygons){let j=G.polygons,$=D.get(this.currentMap),v1=0;for(E3=0,C4=j.length;E3<C4;E3++){let X1=G2(j[E3]),B1=$.objectsDictionary[X1];if(B1)if(v1++,B1.geometry.attributes){let O1=B1.geometry.attributes.position;for(let k1=0,Y1=O1.count;k1<Y1;k1++){let P2=new S;P2.set(O1.getX(k1),O1.getY(k1),O1.getZ(k1)),J2.push(P2)}F2=!0}else{let O1=B1.geometry.vertices;for(let k1=0,Y1=O1.length;k1<Y1;k1++)J2.push(B1.geometry.vertices[k1].clone());F2=!0}else{let O1=$.elements;if(O1){let k1=O1[X1];if(k1){v1++;let Y1=k1.getBoundingBox();J2.push(new S(Y1.min.x,Y1.min.y,0)),J2.push(new S(Y1.min.x,Y1.max.y,0)),J2.push(new S(Y1.max.x,Y1.min.y,0)),J2.push(new S(Y1.max.x,Y1.max.y,0)),F2=!0}}}}v1===1&&(h1=this.loadOptions&&this.loadOptions.zoomOverrides&&this.loadOptions.zoomOverrides.focusZoomFactorPolygon||h1)}if(F2){this.tryRendering();let j=G.padding||this.cachedPadding||{top:0,bottom:0,left:0,right:0},$=F(J2,t2,B2,j,!0),v1=this.getZoomLevelForCurrentMap(),X1=$.zoom;o3&&(this.controls.restrictZoomLimits(v1),this.controls.expandZoomLimits(X1*h1));let B1={position:$.position,tilt:G.tilt,rotation:G.rotation};return n1&&(B1.zoom=Math.max($.zoom*h1,a3)),this.publish("focuson-begin"),this.controls.animateCamera(B1,o1,G1,_2)}else return this.publish("focuson-begin"),this.controls.animateCamera({},o1,G1,_2)},this.CAMERA_FRAME_PADDING_SIDES=["top","bottom","left","right"],this.CAMERA_FRAME_PADDING_UNITS={PIXELS:"pixels",PORTIONS:"portions"};var F=(G,n1,o1,h1,G1)=>{(!o1||isNaN(o1))&&(o1=1),(!n1||isNaN(n1))&&(n1=1);let t2={position:this.controls.getPosition(),zoom:this.controls.minZoom};if(G==null||G.length==0)return t2;h1||(h1={top:0,bottom:0,left:0,right:0,type:this.CAMERA_FRAME_PADDING_UNITS.PIXELS});for(let I3 of this.CAMERA_FRAME_PADDING_SIDES)typeof h1[I3]!="number"&&(h1[I3]=0);if(h1.type||(h1.type=this.CAMERA_FRAME_PADDING_UNITS.PIXELS),h1.type===this.CAMERA_FRAME_PADDING_UNITS.PORTIONS&&(h1={top:h1.top*q2,bottom:h1.bottom*q2,left:h1.left*x1,right:h1.right*x1,type:this.CAMERA_FRAME_PADDING_UNITS.PIXELS}),h1.left+h1.right>=x1||h1.top+h1.bottom>=q2)return t2;b.updateMatrixWorld();let B2=c.matrixWorldInverse,_2=c.fov*(Math.PI/180)/2,a3=_2*o1,o3=Math.atan(Math.tan(_2)*(x1/q2))*n1;if(G.length==1){let I3=G[0].clone();I3.applyMatrix4(B2);let xe=this.controls.minZoom*Math.tan(o3)*2,$t=this.controls.minZoom*Math.tan(a3)*2,a4=(h1.left-h1.right)/2/x1,so=(h1.top-h1.bottom)/2/q2,mo=new S(-a4*xe,so*$t,0);return I3.add(mo),I3.applyMatrix4(c.matrixWorld),t2.position.x=I3.x,t2.position.y=I3.y,t2}let F2=new S(1/0,1/0,1/0),J2=new S(-1/0,-1/0,-1/0),E3;for(let I3=0,xe=G.length;I3<xe;I3++)E3=G[I3],E3.applyMatrix4(B2),F2.min(E3),J2.max(E3);let C4=J2.x-F2.x,O=J2.y-F2.y,l1=x1-h1.left-h1.right,j=q2-h1.top-h1.bottom,$=(J2.x+F2.x)/2,v1=(J2.y+F2.y)/2,X1=C4/l1,B1=O/j,O1=this.controls.getZoomScaledMin(),k1=this.controls.getZoomScaledMax(),Y1=O1*Math.tan(o3)*2,P2=k1*Math.tan(o3)*2,E2=Y1/x1,f2=P2/x1,Z1=Math.max(X1,B1);G1||(Z1=Math.min(Math.max(Z1,E2),f2));let d2=l1*Z1,t3=j*Z1,B={min:{x:$-d2/2-h1.left*Z1,y:v1-t3/2-h1.bottom*Z1},max:{x:$+d2/2+h1.right*Z1,y:v1+t3/2+h1.top*Z1}},e1=(B.min.x+B.max.x)/2,y1=(B.min.y+B.max.y)/2,J1=Math.abs(e1-B.min.x),S2=Math.abs(y1-B.min.y),k2=J1/Math.tan(o3),f3=S2/Math.tan(a3),z2=new S;z2.set(e1,y1,J2.z+Math.max(k2,f3)),z2.applyMatrix4(c.matrixWorld);let T3=new S;T3.set(e1,y1,J2.z),T3.applyMatrix4(c.matrixWorld),T3.sub(z2);let d4=z2.z/T3.z;return t2.position.x=z2.x-T3.x*d4,t2.position.y=z2.y-T3.y*d4,T3.set(t2.position.x,t2.position.y,0),z2.sub(T3),t2.zoom=z2.length(),t2};this.setPadding=G=>{this.cachedPadding=G||{top:0,bottom:0,left:0,right:0}},this.getZoomLevelForPolygon=G=>{let n1=G2(G),o1=[],h1=D.get(this.currentMap).objectsDictionary[n1];if(h1){let G1=h1.geometry.attributes?h1.geometry.attributes.position:[];for(let t2=0,B2=G1.count;t2<B2;t2++){let _2=new S;_2.set(G1.getX(t2),G1.getY(t2),G1.getZ(t2)),o1.push(_2)}return F(o1,1,1,this.cachedPadding,!0).zoom}return this.controls.getZoom()},this.getZoomLevelForCurrentMap=()=>{let G=D.get(this.currentMap).object;if(G){let n1=D.get(this.currentMap).boundingBox;n1||(n1=new R2().setFromObject(G),D.get(this.currentMap).boundingBox=n1);let o1=[n1.min.clone(),n1.max.clone()];return F(o1,1,1,this.cachedPadding,!0).zoom}return this.controls.getZoom()},this.getZoomLevelForObject=G=>{let n1;n1||(n1=new R2().setFromObject(G));let o1=[n1.min.clone(),n1.max.clone()];return F(o1,1,1,0,!0).zoom},this.resetCamera=(G=!1)=>{let n1={x:0,y:0};if(!G){let t2=D.get(this.currentMap).boundingBox;t2&&(n1={x:(t2.max.x-t2.min.x)/2+t2.min.x,y:(t2.max.y-t2.min.y)/2+t2.min.y})}let o1=this.getZoomLevelForCurrentMap();this.controls.expandZoomLimits(o1);let h1=.6,G1=0;this.controls.setMulti(n1,o1,G1,h1)},this.getPositionLatLon=(G,n1,o1)=>{o1==null?o1=this.currentMap:o1=G2(o1);let h1=D.get(o1);if(h1==null)throw new Error("Invalid map: "+o1);return h1.getPositionLatLon(G,n1)};let J=(G,n1)=>{G.style.transform="rotate("+(n1+G._mRotationOffset)+"rad)"};this.lockNorth=(G,n1=0)=>{M.push(G),G._mRotationOffset=n1,J(G,this.getNorth()+this.controls.getRotation())},this.unlockNorth=G=>{delete G._mRotationOffset,M=M.filter(function(n1){return n1!=G})};let t1=function(){},r1=function(){};this.convertTo3DMapPosition=G=>{let n1=D.get(G.map||this.currentMap).mapClass;return new S(G.x-n1.width/2,-G.y+n1.height/2,1)},this.getPositionPolygon=G=>{let n1=G2(G),o1=G;G.map==null&&(o1=R(n1));let h1=D.get(o1.map).objectsDictionary[n1];if(h1){h1.geometry.computeBoundingBox();let G1=h1.geometry.boundingBox;return new S(G1.min.x+(G1.max.x-G1.min.x)/2,G1.min.y+(G1.max.y-G1.min.y)/2,G1.max.z)}else return null},this.getPositionNode=G=>{let n1=G;return typeof n1=="string"&&(n1=k4(G,n.nodes)),this.convertTo3DMapPosition(n1)};function a1(G){return Math.trunc(G*100)/100}this.hideAllLabels=function(){E.mapObjectsSortedByElevation.forEach(G=>{G.textObjects.forEach(n1=>n1.hide()),G.colliders.forEach(n1=>{n1.disable()})})};let d1=({position:G,mapId:n1})=>{c.updateProjectionMatrix(),c.updateMatrixWorld(!0);let o1=D.get(n1);if(o1==null)return[0,0];let h1=G.clone().applyMatrix4(o1.object.matrix).project(c),G1=(h1.x+1)/2*x1-0/2,t2=(-h1.y+1)/2*q2-0/2,B2=a1(G1),_2=a1(t2);return{x:B2,y:_2}};this.setBackgroundColor=(G,n1)=>{h.setBackgroundColor(G,n1)};var q1=new i1;this.resolution=q1;let Q1=(G,n1)=>{h.setBufferSize(G,n1),c.aspect=G/n1,c.updateProjectionMatrix(),c.updateMatrixWorld(!0),q1.x=G,q1.y=n1};this.setSize=(G,n1)=>{x1=N.clientWidth,q2=N.clientHeight;let o1=Math.floor(G*this.resolutionScale),h1=Math.floor(n1*this.resolutionScale);if(!r){let G1=N.width!==o1?N.width/o1:N.height/h1;this.controls.setZoom(G1*this.controls.getZoom())}Q1(o1,h1)};let r2=()=>{let G=x1=N.clientWidth,n1=q2=N.clientHeight,o1=Math.floor(G*this.resolutionScale),h1=Math.floor(n1*this.resolutionScale);if(N.width!==o1||N.height!==h1){let G1=N.width!==o1?N.width/o1:N.height/h1;this.controls.setZoom(G1*this.controls.getZoom()),Q1(o1,h1)}this.shouldMeasureCanvas=!1},j1=new P4({name:"updateMapVisibility",ordering:Y4.BEFORE_CAMERA,callback:()=>{for(let G of E.mapObjectsSortedByElevation)G.visible?G.onVisible():G.onInvisible()}}),I1=new P4({name:"updateTweens",ordering:Y4.BEFORE_CAMERA,callback:()=>jg.default.update()});var Z=new i1;this.cameraParameters=Z;let C1=new P4({name:"camera",ordering:Y4.CAMERA,callback:()=>{this.controls.update(),Z.x=this.controls.getZoom(),Z.y=this.controls.getTilt(),this.controls.isCameraMoving()&&this.publish(q3.CAMERA_MOVING,Z),this.publish(q3.SET_BLUE_DOT_SIZE_FROM_ZOOM,Z.x)}}),M1=new P4({name:"rotateObjects",ordering:Y4.AFTER_CAMERA,callback:()=>{let G=this.getNorth()+this.controls.getRotation();for(let n1=0,o1=M.length;n1<o1;++n1)J(M[n1],G);p1(),P(),v=!1}}),V1=new P4({name:"renderAll",ordering:Y4.RENDER,callback:()=>{this.currentMap!=null&&(!h.isAvailable()||(this.shouldMeasureCanvas&&r2(),h.render(W2.ALL,null,this.scene,c),this.controls.postRender&&this.controls.postRender()))}});this.getMapScale=()=>D.get(this.currentMap).getMapScale(),this.getNorth=()=>D.get(this.currentMap).getNorth();let E1=new P4({name:"renderAnimated",ordering:Y4.RENDER,supersededBy:[V1],callback:()=>{this.currentMap!=null&&(!h.isAvailable()||(this.shouldMeasureCanvas&&r2(),h.render(W2.ANIMATED,null,this.scene,c),this.controls.postRender&&this.controls.postRender()))}}),f1=new P4({name:"renderAlwaysOnTop",ordering:Y4.RENDER,supersededBy:[V1],callback:()=>{this.currentMap!=null&&(!h.isAvailable()||(this.shouldMeasureCanvas&&r2(),h.render(W2.ALWAYS_ON_TOP,null,this.scene,c),this.controls.postRender&&this.controls.postRender()))}}),L=new P4({name:"updateBlueDotPosition",ordering:Y4.AFTER_RENDER,callback:()=>{this.publish(q3.PUBLISH_BLUE_DOT)}}),H=new P4({name:"updateColliders",ordering:Y4.AFTER_RENDER,frameCount:32,callback:()=>{this.smartCollisionEngine.updatePosition()}}),I=new P4({name:"updateSmartCollisionEngine",ordering:Y4.AFTER_RENDER,frameCount:15,callback:()=>{this.smartCollisionEngine.updateVisibility()}}),V=new P4({name:"updateDebugUI",ordering:Y4.AFTER_ALL_UPDATES,frameCount:1,callback:()=>{let G={};for(let n1 of m.getUpdatesRunLastFrame().values())G[n1.name]=n1.getLastFrameTime();this._debugUI.reportFramePerformance(G)}});this.tryRendering=(G=W2.ALL)=>{if(h!=null)if(this._debugUI!=null&&m.scheduleUpdate(V),G===W2.ALL)m.scheduleUpdate(I1),m.scheduleUpdate(j1),m.scheduleUpdate(C1),m.scheduleUpdate(M1),m.scheduleUpdate(V1),m.scheduleUpdate(L),m.scheduleUpdate(H),m.scheduleUpdate(I);else if(G===W2.ANIMATED)m.scheduleUpdate(I1),m.scheduleUpdate(E1);else if(G===W2.ALWAYS_ON_TOP)m.scheduleUpdate(I1),m.scheduleUpdate(f1);else if(G===W2.TWEEN)m.scheduleUpdate(I1);else throw new Error("invalid render task passed to tryRendering")};var p1=()=>{let G=b.rotation.z;(d||v)&&E.visibleMaps.forEach(n1=>{let o1=G-n1.object.rotation.z;n1.imagesToFlip.forEach(h1=>h1.flipIfNeeded(o1))})},P=()=>{let G=b.rotation.z;(d||v)&&E.visibleMaps.forEach(n1=>{let o1=G-n1.object.rotation.z;n1.imagesToFlip.forEach(h1=>h1.flipIfNeeded(o1))})};let z=G=>{G.addDebugControls({MapView3D:[{name:"Background Color",description:"The color of the mapview background. Will be obscured if there is a fully-opaque outdoor context.",control:new Ih({current:new _1(16777215),onValueChanged:n1=>{h.setBackgroundColor(n1,h.backgroundAlpha),this.tryRendering()}})},{name:"Background Opacity",description:"The opacity of the mapview background. Will be obscured if there is a fully-opaque outdoor context.",control:new Ph({minimum:0,maximum:1,step:.01,current:h.backgroundAlpha,onValueChanged:n1=>{h.setBackgroundColor(h.backgroundColor,n1),this.tryRendering()}})}]})},c1=G=>{G.removeDebugControls({MapView3D:["Background Color","Background Opacity"]})};this.showDebugUI=()=>{this._debugUI==null&&(this._debugUI=new ga,t.appendChild(this._debugUI.element),z(this._debugUI),this.controls.addDebugControls(this._debugUI),this.tryRendering())},this.hideDebugUI=()=>{this._debugUI!=null&&(t.removeChild(this._debugUI.element),c1(this._debugUI),this.controls.removeDebugControls(this._debugUI),this._debugUI.destroy(),this._debugUI=null)};let m1=new x4(1e6,1e6),H1=new g3({color:0,visible:!1}),T1=new i2(m1,H1);this.cameraPlane=T1,this.scene.add(T1),this.determineNewLabelSize=()=>{let G=this.controls.getZoom(),n1=this.controls.getZoomScaledMin(),o1=this.controls.getZoomScaledMax(),h1=(G-n1)/(o1-n1);this.currentScale=h1},t.appendChild(N),t.style.touchAction="auto",window.addEventListener("resize",X,!1),typeof ResizeObserver=="function"&&(Q(this,Ht,new ResizeObserver(X)),(R1=g(this,Ht))==null||R1.observe(t)),t.style.overflow="hidden",N.style.width="100%",N.style.height="100%",N.style.cursor="grab",this.canvasWidth=N.clientWidth,this.canvasHeight=N.clientHeight;let x1=this.canvasWidth,q2=this.canvasHeight;this.shouldMeasureCanvas=!0,this.setBackgroundColor(a,o),Q1(Math.floor(x1*this.resolutionScale),Math.floor(q2*this.resolutionScale)),_();let a2=new B7(16777215,.3);a2.position.set(-150,-150,350),this.scene.add(a2);let o2=new D7(16777215,16777215,.77);this.scene.add(o2),this.controls=new Jg.CameraControls(c,N,this.scene,this),this.controls.enableZoom=!0,this.INTERACTION_EVENTS=this.controls.INTERACTION_EVENTS;let P1=()=>this.tryRendering();this.controls.addEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,this.determineNewLabelSize),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,this.smartCollisionEngine.makeCollidersDirty),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ZOOM_END_EVENT.type,this.smartCollisionEngine.makeCollidersDirty),this.controls.addEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,this.smartCollisionEngine.makeCollidersDirty),this.controls.addEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,P1),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ZOOM_START_EVENT.type,()=>{this.publish("user-zoom-begin"),t1()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ROTATE_START_EVENT.type,()=>{this.publish("user-rotate-begin"),t1(),x()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,()=>{this.publish("user-multi-begin"),this.publish(q3.CLEAR_MOUSE),t1(),x()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.PAN_START_EVENT.type,()=>{this.publish("user-pan-begin"),t1(),this.publish(q3.CLEAR_MOUSE)}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ZOOM_END_EVENT.type,()=>{this.publish("user-zoom"),this.publish("user-zoom-begin"),r1()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,()=>{this.publish("user-rotate"),r1(),w()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,()=>{this.publish("user-multi-end"),r1(),w()}),this.controls.addEventListener(this.controls.CAMERA_EVENTS.PAN_END_EVENT.type,r1),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_PAN_EVENT.type,()=>{this.currentInteractionEvent="user-pan"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_ROTATE_EVENT.type,()=>{this.currentInteractionEvent="user-rotate"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_DOLLY_EVENT.type,()=>{this.currentInteractionEvent="user-zoom"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_TILT_EVENT.type,()=>{this.currentInteractionEvent="user-tilt"}),this.controls.addEventListener(this.controls.INTERACTION_EVENTS.USER_ZOOM_EVENT.type,()=>{this.publish("user-zoom"),this.currentInteractionEvent="user-zoom"});let F1,N1=n.maps;var e2=n.venue.defaultMap;if(i&&i.firstMap&&(e2=G2(i.firstMap)),e2){for(let G=0,n1=N1.length;G<n1;++G)if(N1[G].id===e2){F1=N1[G].id;break}}if(!F1){let G=n.maps[0];for(let n1 of n.maps.slice(1))Math.abs(n1.elevation)===Math.abs(G.elevation)?G=n1.elevation>G.elevation?n1:G:G=Math.abs(n1.elevation)<Math.abs(G.elevation)?n1:G;F1=G}let W=function(G=!0){v=G};E.on("set-map",this.smartCollisionEngine.makeCollidersDirty),E.on("render",P1),E.on("render:now",_),E.on("flippablesNeedUpdating",W),E.on("texture-loaded",G=>{this.tryRendering(),h.preloadTexture(G)}),E.loadMaps(N1,F1,()=>{i.onFirstMapLoaded(n),this.smartCollisionEngine.init(t,d1)},i.onDataLoaded,()=>{}),typeof i.onMapsFullyLoaded=="function"&&E.mapsFullyLoaded(i.onMapsFullyLoaded),this.setPadding(),this.destroy=()=>{this.controls.dispose(),E.off("set-map"),E.off("render"),E.off("render:now"),E.off("flippablesNeedUpdating"),window.removeEventListener("resize",X,!1),g(this,Ht)&&g(this,Ht).disconnect(),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,this.determineNewLabelSize),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.CHANGE_EVENT.type,P1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ZOOM_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_START_EVENT.type,x),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,this.publish(q3.CLEAR_MOUSE)),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_START_EVENT.type,x),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.PAN_START_EVENT.type,t1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.PAN_START_EVENT.type,this.publish(q3.CLEAR_MOUSE)),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ZOOM_END_EVENT.type,r1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,r1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.ROTATE_END_EVENT.type,w),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,r1),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.MULTI_END_EVENT.type,w),this.controls.removeEventListener(this.controls.CAMERA_EVENTS.PAN_END_EVENT.type,r1),E.destroy(),this.scene.destroy(),U={},q.dispose(),m.destroy(),h.destroy(),t.removeChild(N),this._debugUI!=null&&this.hideDebugUI(),h=void 0}}};Ht=new WeakMap;var Qg=Kg;var q3;(function(o){o[o.CAMERA_MOVING=0]="CAMERA_MOVING",o[o.SET_BLUE_DOT_SIZE_FROM_ZOOM=1]="SET_BLUE_DOT_SIZE_FROM_ZOOM",o[o.PUBLISH_BLUE_DOT=2]="PUBLISH_BLUE_DOT",o[o.SET_STATE_SILENT=3]="SET_STATE_SILENT",o[o.BLUE_DOT_UPDATE_POSITION=4]="BLUE_DOT_UPDATE_POSITION",o[o.BLUE_DOT_SET_FOLLOWING=5]="BLUE_DOT_SET_FOLLOWING",o[o.CLEAR_MOUSE=6]="CLEAR_MOUSE"})(q3||(q3={}));var C6,S8,N5,D5,B5,F5,Gt,O6,Wt,Xt,k5,h2,iq=class extends q6{constructor(t,n,i){super();K(this,C6,M4.EXPLORE);T(this,"currentPath");K(this,S8,void 0);K(this,N5,void 0);K(this,D5,void 0);K(this,B5,void 0);K(this,F5,void 0);K(this,Gt,void 0);K(this,O6,void 0);K(this,Wt,void 0);K(this,Xt,void 0);K(this,k5,void 0);T(this,"BlueDot");T(this,"Journey");T(this,"Camera");K(this,h2,void 0);T(this,"options",{});this.options=i||{},Q(this,h2,new Qg(t,n,i,this)),g(this,h2).onMapClicked=(l,r,a)=>{this.publish(e4.CLICK,{position:l,polygons:n._polygonsById!=null?r.map(o=>n._polygonsById[o]).filter(o=>o!=null):[],nearBlueDot:a})},g(this,h2).onPolygonClicked=l=>{this.publish(e4.POLYGON_CLICKED,n.polygons.find(r=>r.id===l))},g(this,h2).onNothingClicked=()=>{this.publish(e4.NOTHING_CLICKED)},g(this,h2).onMapChanged=()=>{this.publish(e4.MAP_CHANGED,this.currentMap)},this.Journey=new __(this,g(this,h2)),this.Camera=new gd(g(this,h2)),Q(this,N5,new _p(this,g(this,h2))),Q(this,D5,new $p(this,g(this,h2))),Q(this,B5,new wx(this,g(this,h2))),Q(this,k5,new O_(this,g(this,h2))),Q(this,F5,new Px(this,g(this,h2))),Q(this,Gt,new Lx(this,g(this,h2))),Q(this,Xt,new L_(this,g(this,h2))),Q(this,O6,new o_(this,g(this,h2))),Q(this,Wt,new y_(this,g(this,h2))),Q(this,S8,new c_(this,g(this,h2))),this.BlueDot=new r_(this,g(this,h2),g(this,S8)),g(this,h2).on(3,({state:l})=>{Q(this,C6,l),this.publish(e4.STATE_CHANGE,l)})}labelAllLocations(t){return g(this,N5).labelAllLocations(t)}labelPolygon(t,n){return g(this,N5).labelPolygon(t,n)}getNearestNodeByScreenCoordinates(t,n,i){let l=typeof i=="string"?i:(i==null?void 0:i.id)||this.currentMap.id,r=g(this,h2).mapManager.mapObjects.get(l);if(r==null)throw new Error("getNodeByScreenCoordinates failed: map not found");g(this,h2).cameraObject.updateMatrixWorld(!0),g(this,h2).cameraObject.updateMatrix();let a=t/g(this,h2).canvasWidth*2-1,o=-(n/g(this,h2).canvasHeight)*2+1,s=new S(a,o,0);b8.setFromCamera(s,g(this,h2).cameraObject.clone());let m=b8.intersectObject(g(this,h2).cameraPlane,!1)[0].point.applyMatrix4(r.object.matrix);return h8(this.venue.nodes.filter(q=>q.map===l),{x:m.x+r.mapClass.width/2,y:-m.y+r.mapClass.height/2})}createThreeJSMarker(t){return g(this,k5).createThreeJSMarker(t)}removeThreeJSMarker(t){return g(this,k5).removeThreeJSMarker(t)}removeAllThreeJSMarkers(){return g(this,k5).removeAllThreeJSMarkers()}setState(t){if(t!==g(this,C6)){if(t===M4.EXPLORE)g(this,h2).publish(5,!1),Q(this,C6,t);else if(t===M4.FOLLOW)g(this,h2).publish(5,!0),Q(this,C6,t);else throw new Error("Unsupported State");this.publish(e4.STATE_CHANGE,g(this,C6))}}get state(){return g(this,C6)}get venue(){return g(this,h2).venue}get container(){return g(this,h2).container}get currentMap(){return g(this,h2).venue.maps.find(t=>g(this,h2).currentMap===t.id)}removeAllInteractivePolygons(){g(this,O6).removeAllInteractivePolygons()}setMap(t){return g(this,h2).setMap(t)}setPolygonColor(t,n,i,l){g(this,Wt).setPolygonColor(t,n,i,l)}clearPolygonColor(t){g(this,Wt).clearPolygonColor(t)}clearAllPolygonColors(){g(this,Wt).clearAllPolygonColors()}addInteractivePolygon(t){g(this,O6).addInteractivePolygon(t)}addInteractivePolygonsForAllLocations(t){g(this,O6).addInteractivePolygonsForAllLocations(t)}removeInteractivePolygon(t){g(this,O6).removeInteractivePolygon(t)}createMarker(t,n,i){return g(this,B5).createMarker(t,n,i)}removeMarker(t){g(this,B5).removeMarker(t)}removeAllMarkers(){g(this,B5).removeAllMarkers()}removeAllTooltips(){g(this,F5).removeAllTooltips()}updateClosedStateForPolygon(t){g(this,Xt).updateClosedStateForPolygon(t)}openAllPolygons(){g(this,Xt).openAllPolygons()}removeAllLabels(){g(this,N5).removeAllLabels()}createTooltip(t,n){return g(this,F5).createTooltip(t,n)}removeTooltip(t){g(this,F5).removeTooltip(t)}enableImageFlippingForAllLocations(t){g(this,Gt).enableImageFlippingForAllLocations(t)}enableImageFlippingForPolygon(t){g(this,Gt).enableImageFlippingForPolygon(t)}disableImageFlippingForAllPolygons(){g(this,Gt).disableImageFlippingForAllPolygons()}drawPath(t,n){return g(this,D5).drawPath(t,n)}removePath(t){return g(this,D5).removePath(t)}removeAllPaths(){g(this,D5).removeAllPaths()}setBackgroundColor(t,n){g(this,h2).setBackgroundColor(t,n)}setHoverColor(t){g(this,S8).hoverColor=t}tryRendering(t){g(this,h2).tryRendering(t)}getPrimaryLocationForPolygon(t){return ul(t,this.venue)}getPolygonsAtCoordinate(t,n=!1){let i=g(this,h2).convertTo3DMapPosition(t);i.setZ(g(this,h2).controls.maxZoom);let l=new Le;return l.set(i,new S(0,0,-1)),l.intersectObjects(g(this,h2).scene.children,!0).filter(a=>a.object.name?n&&g(this,h2).venue._polygonsById?a.object.name in g(this,h2).venue._polygonsById:a.object.name in g(this,h2).interactivePolygons:!1).map(a=>g(this,h2).venue._polygonsById[a.object.name])||[]}destroy(){g(this,N5).removeAllLabels(),g(this,B5).removeAllMarkers(),g(this,O6).removeAllInteractivePolygons(),g(this,k5).removeAllThreeJSMarkers(),g(this,F5).removeAllTooltips(),g(this,D5).removeAllPaths(),g(this,h2).smartCollisionEngine.destroy(),g(this,Xt).destroy(),g(this,h2).destroy()}};C6=new WeakMap,S8=new WeakMap,N5=new WeakMap,D5=new WeakMap,B5=new WeakMap,F5=new WeakMap,Gt=new WeakMap,O6=new WeakMap,Wt=new WeakMap,Xt=new WeakMap,k5=new WeakMap,h2=new WeakMap;function $g(e,t,n){return new Promise((i,l)=>{try{let r=new iq(e,t,U1(b1({},n),{onFirstMapLoaded(){i(r)}}))}catch(r){l(r)}})}var va=pn.setAssetManager.bind(pn);var F8=U2(Gy());y();y();y();function UH(){var e=!navigator.userAgentData&&/Safari\\//.test(navigator.userAgent)&&!/Chrom(e|ium)\\//.test(navigator.userAgent);if(!e||!indexedDB.databases)return Promise.resolve();var t;return new Promise(function(n){var i=function(){return indexedDB.databases().finally(n)};t=setInterval(i,100),i()}).finally(function(){return clearInterval(t)})}var Wy=UH;function Zq(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function VH(e,t){let n=Wy().then(()=>{let i=indexedDB.open(e);return i.onupgradeneeded=()=>i.result.createObjectStore(t),Zq(i)});return(i,l)=>n.then(r=>l(r.transaction(t,i).objectStore(t)))}var Jq;function Xy(){return Jq||(Jq=VH("keyval-store","keyval")),Jq}function Kq(e,t=Xy()){return t("readonly",n=>Zq(n.get(e)))}function lo(e,t,n=Xy()){return n("readwrite",i=>(i.put(t,e),Zq(i.transaction)))}function Qq(e){let t=document.createElement("style");t.innerText=k.env.NODE_ENV==="test"?"":e,document.head.append(t)}function ro({type:e,id:t},n){return n[\`_\${e.toLowerCase()}sById\`][t]}function Yy(i,l){return A1(this,arguments,function*(e,{url:t,updated_at:n}){let r=yield bh(U1(b1({},e),{things:w5,shouldPopulateBundledImagesAsBlobs:!1}),{url:t,updated_at:n});return lo(oo,{updated_at:n,version:ao,venueSlug:e.venue,caches:{[D8(e)]:r.toString()}}),r})}function D8(e){return\`\${e.venue}\${e.language!=null?"-"+e.language:""}\`}var jy=\`.mMapviewHoverLabel{background:rgba(255,255,255,.9);color:#333;padding:10px;font-size:14px;font-weight:bold;transition:opacity .3s;font-family:sans-serif}.mappedin__floating-label{position:absolute;top:0px;left:0px;opacity:0;width:200px;height:200px;will-change:transform;transition:opacity .3s linear}.mappedin__floating-label__icon{position:absolute;top:0;left:0;width:16px;height:16px}.mappedin__floating-label__icon>svg{position:absolute;top:-50%;left:-50%}.mappedin__floating-label__text_holder{font-family:"InterUI-Regular",Helvetica,Arial,sans-serif;font-weight:normal;font-weight:500;position:absolute;pointer-events:none;word-break:keep-all}.mappedin__floating-label__text_legacy{text-shadow:1px 1px 0px #ffffff,-1px -1px 0px #ffffff,1px -1px 0px #ffffff,-1px 1px 0px #ffffff}.mappedin__floating-label__text_back{-webkit-text-stroke:4px white;color:#fff}.mappedin__floating-label__text_front{color:#000;position:absolute;display:block;width:100%;height:100%;top:0;left:0}.mappedin__smart-collision-engine__container{position:absolute;left:0px;top:0px;bottom:0px;right:0px;pointer-events:none;font-family:"InterUI-Regular",Helvetica,Arial,sans-serif}.mappedin__smart-collision-engine-debug__container{position:absolute;left:0px;top:0px;bottom:0px;right:0px;pointer-events:none}.mappedin-marker{font-family:"InterUI-Regular",Helvetica,Arial,sans-serif;font-weight:normal;pointer-events:none;top:0;transition:transform .3s linear;position:absolute;font-weight:bold;color:#000;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:opacity;justify-content:center}.mappedin-tooltip__wrapper{display:flex;width:1px;height:1px;align-items:center;justify-content:center;z-index:1}.mappedin-tooltip{font-family:"InterUI-Regular",Helvetica,Arial,sans-serif;font-weight:normal;pointer-events:all;top:0;transition:transform .3s linear;font-weight:bold;color:#000;position:absolute;z-index:1;transition:opacity .3s;display:flex;flex-direction:row;will-change:transform,opacity;justify-content:center}.mappedin-tooltip>div{z-index:2;flex-shrink:0;max-width:500px;background:white;border-radius:20px;box-shadow:0 2px 11px #0003}.mappedin-tooltip:before{content:"";width:0;height:0;top:calc(50% - 10px);left:-10px;z-index:1;position:absolute;border-bottom:10px solid transparent;border-top:10px solid transparent}.mappedin-tooltip.tooltip--anchor-top{left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-top:before{left:calc(50% - 10px);top:calc(100% - 5px);right:auto;border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-bottom{left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-bottom:before{left:calc(50% - 10px);top:-15px;right:auto;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent}.mappedin-tooltip.tooltip--anchor-right{justify-content:flex-start;left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-right:before{left:-5px;right:auto;border-right:10px solid white}.mappedin-tooltip.tooltip--anchor-left{left:0px;top:0px}.mappedin-tooltip.tooltip--anchor-left:before{left:auto;right:-5px;border-left:10px solid white}.mappedin-tooltip.tooltip--anchor-top-left{left:7px;top:7px}.mappedin-tooltip.tooltip--anchor-top-left:before{left:auto;right:-7px;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--anchor-top-right{left:-6px;top:7px}.mappedin-tooltip.tooltip--anchor-top-right:before{left:-7px;right:auto;top:calc(100% - 13px);border-bottom:10px solid transparent;border-top:10px solid white;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-left{left:7px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-left:before{left:auto;right:-7px;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(45deg)}.mappedin-tooltip.tooltip--anchor-bottom-right{left:-6px;top:-6px}.mappedin-tooltip.tooltip--anchor-bottom-right:before{left:-7px;right:auto;top:-7px;border-bottom:10px solid white;border-top:10px solid transparent;border-left:10px solid transparent;border-right:10px solid transparent;transform:rotate(-45deg)}.mappedin-tooltip.tooltip--visible{opacity:1}
3543
3543
  \`;y();var GH=!1;function Zy(e){var t={};return(e==null?void 0:e.msgID)&&(t.msgID=e.msgID),t.data=JSON.stringify(e==null?void 0:e.data),JSON.stringify(t)}function Jy(e,t){var n,i,l,r,a;GH&&console.log("sending",[e,t]),window.ReactNativeWebView!==void 0?window.ReactNativeWebView.postMessage(JSON.stringify([e,{payload:t}])):window.Android!==void 0?window.Android.handleEvent(e,Zy(t)):((i=(n=window.webkit)==null?void 0:n.messageHandlers)==null?void 0:i.onHandleEvent)!==void 0?(a=(r=(l=window.webkit)==null?void 0:l.messageHandlers)==null?void 0:r.onHandleEvent)==null||a.postMessage({eventName:e,payload:Zy(t)}):k.env.NODE_ENV==="development"?window.parent.postMessage(JSON.stringify([e,{payload:t}]),"*"):window.parent.postMessage([e,{payload:t}],"*")}y();var WH=!1,B8=class extends Ut{constructor(t){super();T(this,"venueData");this.venueData=t}loadMapPolygons(t){return A1(this,null,function*(){return WH&&console.log("loading map: ",t.id),this.venueData.scenes[t.id]})}loadImage(t){return A1(this,null,function*(){return new Promise((n,i)=>{let l=t.split("/"),r=l[l.length-1],a="data:image/png;base64,"+this.venueData.images[r],o=this.textureLoader.load(a,()=>{n(o)},()=>{},i)})})}};y();var H5;(function(r){r.LOAD_VENUE_FAILED="LOAD_VENUE_FAILED",r.SHOW_VENUE_FAILED="SHOW_VENUE_FAILED",r.SET_MAP_FAILED="SET_MAP_FAILED",r.SHOW_MINIMAP_ERROR="SHOW_MINIMAP_ERROR",r.LOAD_MINIMAP_ERROR="LOAD_MINIMAP_ERROR"})(H5||(H5={}));var G5;(function(n){n.GENERIC_LOAD_VENUE_ERROR="Unable to load Venue. Please check your keys",n.GENERIC_SET_MAP_ERROR="Unable to set map, check that you're passing a valid map"})(G5||(G5={}));Qq(jy);Qq(uu);var XH=!1,ao="1",oo="mappedin_cache",YH=e=>new Promise(t=>setTimeout(t,e)),k8=[],W5,Ky=document.createElement("canvas"),jH=Ky.getContext("2d"),U8=class extends xo{constructor(){super();T(this,"canvas",Ky);T(this,"screenShotContext",jH);T(this,"mapView",null);T(this,"onMessageReceived",(t,n)=>{t===w1.RESOLVE?this.handleResolution(n):t===w1.REJECT?this.handleRejection(n):this.privateEventBus.publish(t,n)});T(this,"showVenueWrapper",(t,n,i)=>A1(this,null,function*(){this.mapView=yield $g(t,n,i),this.mapView.addInteractivePolygonsForAllLocations(),(i==null?void 0:i.labelAllLocationsOnInit)!==!1&&(k8=this.mapView.labelAllLocations()),this.mapView.enableImageFlippingForAllLocations(),this.emit(n2.STATE_CHANGED,{state:this.mapView.state});let l=this.mapView.currentMap.getNorth(),r=this.mapView.Camera.rotation;this.emit(n2.ROTATION_CHANGED,{rotation:(r+l)*180/Math.PI}),this.emit(n2.TILT_CHANGED,{tilt:this.mapView.Camera.tilt}),this.mapView.Camera.on(he.ROTATION_CHANGED,()=>{let a=this.mapView.currentMap.getNorth(),o=this.mapView.Camera.rotation;this.emit(n2.ROTATION_CHANGED,{rotation:(o+a)*180/Math.PI})}),this.mapView.Camera.on(he.TILT_CHANGED,()=>{this.emit(n2.TILT_CHANGED,{tilt:this.mapView.Camera.tilt})}),this.mapView.on(e4.POLYGON_CLICKED,a=>{this.emit(n2.POLYGON_CLICKED,{polygonId:a.id})}),this.mapView.on(e4.MAP_CHANGED,a=>{this.emit(n2.MAP_CHANGED,{mapId:a.id})}),this.mapView.on(e4.NOTHING_CLICKED,()=>{this.emit(n2.NOTHING_CLICKED)}),this.mapView.on(e4.STATE_CHANGE,()=>{this.emit(n2.STATE_CHANGED,{state:this.mapView.state})}),this.mapView.BlueDot.on(h6.POSITION_UPDATE,a=>{var o,s;this.emit(n2.BLUEDOT_POSITION_UPDATE,{update:U1(b1({},a),{nearestNode:(o=a.nearestNode)==null?void 0:o.id,map:(s=a.map)==null?void 0:s.id})})}),this.mapView.BlueDot.on(h6.STATE_CHANGE,a=>{this.emit(n2.BLUEDOT_STATE_CHANGE,{stateChange:a})}),this.emit(n2.MAP_CHANGED,{mapId:this.mapView.currentMap.id}),this.emit(n2.FIRST_MAP_LOADED)}));T(this,"debug",t=>{XH&&(console.log(t),this.emit(H8.LOG,t))});this.sendMessage=Jy.bind(this),this.privateEventBus.on(n2.SHOW_VENUE,o=>A1(this,[o],function*({msgID:i,data:{venueData:l,format:r,showVenueOptions:a={}}}){try{this.mapView!=null&&this.mapView.destroy();let s=window.venueData||l;if(r!=="jsonstring")throw new Error("Unrecognized format"+r);let m=new fe(U1(b1({},a),{venue:""}));if(m.hydrate(s),this.emit(n2.DATA_LOADED,{venueData:m.toJSON()}),m.scenes!=null&&Object.keys(m.scenes).length>0){let q=new B8(m);va(q)}yield this.showVenueWrapper(W5,m,a),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(s){this.emitAsync(w1.REJECT,{payload:{name:H5.SHOW_VENUE_FAILED,message:G5.GENERIC_LOAD_VENUE_ERROR,stack:s.toString()}},i)}})),this.privateEventBus.on(n2.LOAD_VENUE,a=>A1(this,[a],function*({msgID:i,data:{options:l,showVenueOptions:r={}}}){var o,s;try{let m;if(l.useBundle){let q,h,u,c;try{this.debug("Getting venue bundle URL"),c=yield Kq(oo),c!=null&&(q=c.updated_at,h=c.venueSlug,u=c.version);let{url:b,updated_at:_}=yield ph(U1(b1({},l),{things:w5}));q==null||q!==_||h!==l.venue||u!==ao||((o=c==null?void 0:c.caches)==null?void 0:o[D8(l)])==null?(this.debug("Using online data"),m=yield Yy(l,{url:b,updated_at:_})):(this.debug("Using cache"),m=new fe(l),m.hydrate(c.caches[D8(l)],!1))}catch(b){this.debug(b);let _=yield Kq(oo);if(((s=_==null?void 0:_.caches)==null?void 0:s[D8(l)])==null||h!==l.venue||u!==ao)throw new Error(b);m=new fe(l),m.hydrate(_.caches[D8(l)],!1)}let f=new B8(m);va(f)}else m=yield Jr(U1(b1({},l),{things:w5}));this.emit(n2.DATA_LOADED,{venueData:m.toJSON()}),yield this.showVenueWrapper(W5,m,r),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(m){console.error(m),this.emitAsync(w1.REJECT,{payload:{name:H5.LOAD_VENUE_FAILED,message:G5.GENERIC_LOAD_VENUE_ERROR,stack:m.toString()}},i)}})),this.privateEventBus.on(n2.CLEAR_BUNDLE_CACHE,l=>A1(this,[l],function*({msgID:i}){try{yield lo("mappedin_cache",null),localStorage.mappedin_cache_updated_at=null,this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,{payload:r.toString()},i)}})),this.privateEventBus.on(n2.GET_NEAREST_NODE_BY_SCREEN_COORDINATES,({msgID:i,data:{x:l,y:r,map:a}})=>{try{var o=this.mapView.getNearestNodeByScreenCoordinates(l,r,a);this.emitAsync(w1.RESOLVE,{payload:o.toJSON()},i)}catch(s){this.emitAsync(w1.REJECT,{payload:s.toString()},i)}}),this.privateEventBus.on(n2.SET_COOKIE,({msgID:i,data:{cookie:l}})=>{try{document.cookie=l,this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,null,i)}}),this.privateEventBus.on(n0.LOAD_MINIMAP,r=>A1(this,[r],function*({msgID:i,data:{options:l}}){try{if(!U8.initialized){this.canvas.style.position="absolute",this.canvas.id="screenshot",this.canvas.style.width=window.innerWidth+"px",this.canvas.style.height=window.innerHeight+"px",this.canvas.style.background="white",this.canvas.style.zIndex="999999",this.canvas.width=window.innerWidth*devicePixelRatio,this.canvas.height=window.innerHeight*devicePixelRatio,document.body.append(this.canvas);let a=yield Jr(U1(b1({},l),{things:w5}));yield this.showVenueWrapper(W5,a),t=document.querySelector("canvas:not(.mappedin__smart-collision-engine-debug__container)"),n=document.querySelector(".mappedin__smart-collision-engine-debug__container"),U8.initialized=!0}this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:{name:H5.LOAD_MINIMAP_ERROR,message:G5.GENERIC_LOAD_VENUE_ERROR,stack:a.toString()}},i)}})),this.privateEventBus.on(n0.SHOW_MINIMAP,r=>A1(this,[r],function*({msgID:i,data:{venueData:l}}){try{if(!U8.initialized){this.canvas.style.position="absolute",this.canvas.id="screenshot",this.canvas.style.width=window.innerWidth+"px",this.canvas.style.height=window.innerHeight+"px",this.canvas.style.background="white",this.canvas.style.zIndex="999999",this.canvas.width=window.innerWidth*devicePixelRatio,this.canvas.height=window.innerHeight*devicePixelRatio,document.body.append(this.canvas);let a=new fe({useBundleAssets:!0});if(a.scenes!=null&&Object.keys(a.scenes).length>0){let o=new B8(a);va(o)}a.hydrate(l),yield this.showVenueWrapper(W5,a),t=document.querySelector("canvas:not(.mappedin__smart-collision-engine-debug__container)"),n=document.querySelector(".mappedin__smart-collision-engine-debug__container"),U8.initialized=!0}this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:{name:H5.SHOW_MINIMAP_ERROR,message:G5.GENERIC_LOAD_VENUE_ERROR,stack:a.toString()}},i)}}));let t,n;this.privateEventBus.on(n0.CACHE_IMAGE,o=>A1(this,[o],function*({msgID:i,data:{locationId:l,focusOptions:r,polygonHighlightColor:a}}){var s,m;try{let q=(s=this.mapView.venue._locationsById)==null?void 0:s[l];this.mapView.clearAllPolygonColors(),((m=q.polygons[0])==null?void 0:m.map)!==this.mapView.currentMap.id&&(yield this.mapView.setMap(q.polygons[0].map)),a!=null&&q.polygons.forEach(h=>{let u=k8.find(c=>c.id===h.id);u!=null&&typeof u.setPriority=="function"&&u.setPriority(W3.HIGH),this.mapView.setPolygonColor(h.id,a)}),yield this.mapView.Camera.focusOn({targets:{polygons:q.polygons},animationOptions:b1({duration:10},r==null?void 0:r.animationOptions),cameraOptions:b1({tilt:.1,minZoom:2e3,changeZoom:!0},r==null?void 0:r.cameraOptions)}),yield YH(300),this.screenShotContext.drawImage(t,0,0),this.screenShotContext.drawImage(n,0,0),a!=null&&q.polygons.forEach(h=>{let u=k8.find(c=>c.id===h.id);u!=null&&typeof u.resetPriority=="function"&&u.resetPriority(),this.mapView.clearPolygonColor(h.id)}),this.emitAsync(w1.RESOLVE,{payload:this.canvas.toDataURL()},i)}catch(q){this.emitAsync(w1.REJECT,{payload:q.toString()},i)}})),this.privateEventBus.on(n2.SET_STATE,({msgID:i,data:{state:l}})=>{try{this.mapView.setState(l),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,{payload:r.toString()},i)}}),this.privateEventBus.on(n2.FOCUS_ON,r=>A1(this,[r],function*({msgID:i,data:{focusOptions:l}}){var a,o;try{let s=U1(b1({},l),{targets:U1(b1({},l.targets),{nodes:(a=l.targets.nodes)==null?void 0:a.map(m=>this.mapView.venue._nodesById[m]),polygons:(o=l.targets.polygons)==null?void 0:o.map(m=>this.mapView.venue._polygonsById[m])})});yield this.mapView.Camera.focusOn(s),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(s){this.emitAsync(w1.REJECT,{payload:s.toString()},i)}})),this.privateEventBus.on(n2.ADD_INTERACTIVE_POLYGON,({msgID:i,data:{polygonId:l}})=>{try{this.mapView.addInteractivePolygon(this.mapView.venue._polygonsById[l]),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,null,i)}}),this.privateEventBus.on(n2.LABEL_POLYGON,a=>A1(this,[a],function*({msgID:i,data:{polygonId:l,options:r}}){try{r.flatLabels||r.legacyLabels?this.mapView.labelPolygon(this.mapView.venue._polygonsById[l],U1(b1({},r),{legacyLabels:void 0,flatLabels:!0})):this.mapView.labelPolygon(this.mapView.venue._polygonsById[l],r).enable(),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(o){this.emitAsync(w1.REJECT,{payload:o.toString()},i)}})),this.privateEventBus.on(n2.SET_MAP,r=>A1(this,[r],function*({msgID:i,data:{mapId:l}}){var a;try{yield this.mapView.setMap((a=this.mapView.venue._mapsById)==null?void 0:a[l]),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(o){this.emitAsync(w1.REJECT,{payload:{name:H5.SET_MAP_FAILED,message:G5.GENERIC_SET_MAP_ERROR,stack:o.toString()}},i)}})),this.privateEventBus.on(n2.CAMERA_SET,r=>A1(this,[r],function*({msgID:i,data:{positionOptions:l}}){try{this.mapView.Camera.set(l),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.CAMERA_SET_SAFE_AREA_INSETS,r=>A1(this,[r],function*({msgID:i,data:{safeAreaInsets:l}}){try{this.mapView.Camera.setSafeAreaInsets(l),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.CLEAR_POLYGON_COLOR,r=>A1(this,[r],function*({msgID:i,data:{polygonId:l}}){try{let a=k8.find(o=>o.id===l);a!=null&&typeof a.setPriority=="function"&&a.resetPriority(),this.mapView.clearPolygonColor(l),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.SET_POLYGON_COLOR,a=>A1(this,[a],function*({msgID:i,data:{polygonId:l,color:r}}){try{let o=k8.find(s=>s.id===l);o!=null&&typeof o.setPriority=="function"&&o.setPriority(W3.MEDIUM),this.mapView.setPolygonColor(l,r),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(o){this.emitAsync(w1.REJECT,{payload:o.toString()},i)}})),this.privateEventBus.on(n2.FOCUS_ON_LEGACY,r=>A1(this,[r],function*({msgID:i,data:{focusOptions:l}}){var a,o;try{let s={cameraOptions:{tilt:l.tilt,rotation:l.rotation,minZoom:l.minZoom,changeZoom:l.changeZoom,safeAreaInsets:l.padding},animationOptions:{duration:l.duration},targets:{nodes:(a=l.nodes)==null?void 0:a.map(m=>this.mapView.venue._nodesById[m]),polygons:(o=l.polygons)==null?void 0:o.map(m=>this.mapView.venue._polygonsById[m])}};yield this.mapView.Camera.focusOn(s),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(s){this.emitAsync(w1.REJECT,{payload:s.toString()},i)}})),this.privateEventBus.on(n2.LABEL_ALL_LOCATIONS,r=>A1(this,[r],function*({msgID:i,data:{options:l}}){try{let a;l!=null&&Array.isArray(l.locations)&&(a=l.locations.map(s=>{var m;return(m=this.mapView.venue._locationsById)==null?void 0:m[s]}).filter(s=>s!=null));let o={locations:a,flatLabels:(l==null?void 0:l.flatLabels)||(l==null?void 0:l.legacyLabels),appearance:l==null?void 0:l.appearance};k8=this.mapView.labelAllLocations(o),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.CLEAR_ALL_POLYGON_COLORS,({msgID:i})=>{try{this.mapView.clearAllPolygonColors(),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(l){this.emitAsync(w1.REJECT,{payload:l.toString()},i)}}),this.privateEventBus.on(n2.OVERRIDE_LOCATION,({data:{location:i}})=>{i.coords!=null&&window.onPositionReceived(i)}),this.privateEventBus.on(n2.ENABLE_BLUE_DOT,({msgID:i,data:{options:l}})=>{try{this.mapView.BlueDot.enable(l),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,{payload:r.toString()},i)}}),this.privateEventBus.on(n2.SET_BLUE_DOT_IS_FOLLOWING,({data:{isFollowing:i}})=>{this.mapView.setState(i?M4.FOLLOW:M4.EXPLORE)}),this.privateEventBus.on(n2.SET_BACKGROUND_COLOR,({data:{backgroundColor:i}})=>{this.mapView.setBackgroundColor(i)}),this.privateEventBus.on(n2.DISABLE_BLUE_DOT,({msgID:i})=>{try{this.mapView.BlueDot.disable(),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(l){this.emitAsync(w1.REJECT,{payload:l.toString()},i)}}),this.privateEventBus.on(n2.SET_ROTATION,r=>A1(this,[r],function*({msgID:i,data:{rotation:l}}){try{this.mapView.Camera.set({rotation:l}),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.SET_TILT,r=>A1(this,[r],function*({msgID:i,data:{tilt:l}}){try{this.mapView.Camera.set({tilt:l}),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.REMOVE_ALL_PATHS,({msgID:i})=>{try{this.mapView.removeAllPaths(),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(l){this.emitAsync(w1.REJECT,{payload:l.toString()},i)}}),this.privateEventBus.on(n2.DRAW_PATH,({msgID:i,data:{path:l,pathOptions:r}})=>{try{this.mapView.drawPath(l.map(a=>{var o;return(o=this.mapView.venue._nodesById)==null?void 0:o[a]}),r),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}}),this.privateEventBus.on(n2.SET_MIN_ZOOM,({msgID:i,data:{zoomLevel:l}})=>{try{this.mapView.Camera.minZoom=l,this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,{payload:r.toString()},i)}}),this.privateEventBus.on(n2.SET_MAX_ZOOM,({msgID:i,data:{zoomLevel:l}})=>{try{this.mapView.Camera.maxZoom=l,this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,{payload:r.toString()},i)}}),this.privateEventBus.on(n2.REMOVE_ALL_LABELS,({msgID:i})=>{try{this.mapView.removeAllLabels(),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(l){this.emitAsync(w1.REJECT,{payload:l.toString()},i)}}),this.privateEventBus.on(n2.CREATE_MARKER,o=>A1(this,[o],function*({msgID:i,data:{nodeOrCoordinate:l,contentHtml:r,options:a}}){var m;let s;if(l.type==="Node")s=ro(l,this.mapView.venue);else{let q=(m=this.mapView.venue._mapsById)==null?void 0:m[l.mapId];s=q==null?void 0:q.createCoordinate(l.lat,l.lon)}try{let q=this.mapView.createMarker(s,r,a);this.emitAsync(w1.RESOLVE,{payload:q.id},i)}catch(q){this.emitAsync(w1.REJECT,{payload:q.toString()},i)}})),this.privateEventBus.on(n2.REMOVE_MARKER,r=>A1(this,[r],function*({msgID:i,data:{markerId:l}}){try{this.mapView.removeMarker(l),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(a){this.emitAsync(w1.REJECT,{payload:a.toString()},i)}})),this.privateEventBus.on(n2.GET_DIRECTIONS,o=>A1(this,[o],function*({msgID:i,data:{to:l,from:r,accessible:a=!1}}){try{let s=ro(r,this.mapView.venue),m=ro(l,this.mapView.venue),q=s.directionsTo(m,{accessible:a});this.emitAsync(w1.RESOLVE,{payload:q},i)}catch(s){console.error(s),this.emitAsync(w1.REJECT,{payload:s.toString()},i)}})),F8.default.registerHelper("capitalize",function(i){return new F8.default.SafeString(i.charAt(0).toUpperCase()+i.slice(1))}),this.privateEventBus.on(n2.DRAW_JOURNEY,a=>A1(this,[a],function*({msgID:i,data:{directions:l,options:r}}){try{let o={};(r==null?void 0:r.connectionTemplateString)!=null&&(o.connectionTemplate=F8.default.compile(r.connectionTemplateString)),(r==null?void 0:r.destinationMarkerTemplateString)!=null&&(o.destinationMarkerTemplate=typeof(r==null?void 0:r.destinationMarkerTemplateString)=="string"&&(r==null?void 0:r.destinationMarkerTemplateString)!==""?F8.default.compile(r.destinationMarkerTemplateString):null),(r==null?void 0:r.departureMarkerTemplateString)!=null&&(o.departureMarkerTemplate=typeof(r==null?void 0:r.departureMarkerTemplateString)=="string"&&(r==null?void 0:r.departureMarkerTemplateString)!==""?F8.default.compile(r.departureMarkerTemplateString):null);let s=new _5(this.mapView.venue,l);yield this.mapView.Journey.draw(s,b1(b1({},r),o)),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(o){this.emitAsync(w1.REJECT,{payload:o.toString()},i)}})),this.privateEventBus.on(n2.CLEAR_JOURNEY,l=>A1(this,[l],function*({msgID:i}){try{yield this.mapView.Journey.clear(),this.emitAsync(w1.RESOLVE,{payload:null},i)}catch(r){this.emitAsync(w1.REJECT,{payload:r.toString()},i)}}))}},$q=U8;T($q,"initialized",!1);var eu=new $q;window.EventBus={publish:eu.onMessageReceived};window.iframeInterface!=null&&(window.iframeInterface.EventBus={publish:eu.onMessageReceived});window.addEventListener("message",({data:e})=>{try{let t;if(k.env.NODE_ENV==="development"?t=JSON.parse(e):t=e,Array.isArray(t)){let[n,i]=t;window.EventBus.publish(n,i)}}catch(t){}});window.onPositionReceived=()=>{};Object.defineProperty(window.navigator,"geolocation",{value:{watchPosition:e=>{window.onPositionReceived=e},clearWatch:()=>{window.onPositionReceived=null}}});document.addEventListener("DOMContentLoaded",()=>A1(void 0,null,function*(){W5=document.createElement("div"),W5.id="root",Object.assign(W5.style,{position:"absolute",width:"100%",height:"100%"}),document.body.appendChild(W5),eu.emit(H8.READY)}));})();
3544
3544
  <\/script></body></html>`;var Ze=Xe.memo(({controller:i,style:e})=>{b.env.DEV_IP!=null&&console.log(`running in debug mode on ${b.env.DEV_IP}`);let t=b.env.DEV_IP!=null?{uri:`http://${b.env.DEV_IP}:9000`}:{html:X4,baseUrl:"https://localhost"};return J4.OS==="android"?Xe.createElement(Z4,{style:{flex:1}},Xe.createElement($4,{source:t,originWhitelist:["*"],onMessage:n=>{i.onMessageReceived(n.nativeEvent.data)},ref:n=>{n!=null&&i.setWebView(n)},scrollEnabled:!1,mixedContentMode:"always",scalesPageToFit:!1,javaScriptEnabled:!0,domStorageEnabled:!0,cacheEnabled:b.env.NODE_ENV!=="development",thirdPartyCookiesEnabled:!0,allowUniversalAccessFromFileURLs:!0})):J4.OS==="ios"?Xe.createElement(Z4,{style:e},Xe.createElement($4,{ref:n=>{n!=null&&i.setWebView(n)},cacheEnabled:b.env.NODE_ENV!=="development",source:t,originWhitelist:["*"],onMessage:n=>{i.onMessageReceived(n.nativeEvent.data)},scrollEnabled:!1})):null});var a9=T1.memo(T1.forwardRef(function(e,t){let{style:n={},options:l,venueData:a,onFirstMapLoaded:r=()=>null,onPolygonClicked:o=()=>null,onDataLoaded:s=()=>null,onMapChanged:m=()=>null,onBlueDotPositionUpdated:x=()=>null,onBlueDotStateChanged:d=()=>null,onNothingClicked:p=()=>null,onStateChanged:v=()=>null,onVenueLoadError:w=()=>null}=e,[g]=T1.useState(()=>new q3);T1.useImperativeHandle(t,()=>g);let[L,B]=l9(!1),N=K4(!1),C=K4(!1),$=T1.useCallback(async()=>{if(!(l==null&&a==null)){if(C.current=!0,typeof a=="undefined")try{console.log("Loading from APIs"),await g.loadVenue(l,{backgroundColor:l.backgroundColor,backgroundAlpha:l.backgroundAlpha,firstMapId:l.firstMapId,labelAllLocationsOnInit:l.labelAllLocationsOnInit}),N.current=!0}catch(z){w({error:z})}else try{console.log("Loading from Bundle"),await g.showVenue(a,{backgroundColor:l.backgroundColor,backgroundAlpha:l.backgroundAlpha,firstMapId:l.firstMapId,labelAllLocationsOnInit:l.labelAllLocationsOnInit}),N.current=!0}catch(z){w({error:z})}C.current=!1}},[a,l]),W=n9(()=>B(!0),[]);return T1.useEffect(()=>(g.publicEventBus.on(K.READY,W),()=>{g.publicEventBus.on(K.READY,W)}),[]),T1.useEffect(()=>{!L||N.current||C.current||$()},[l,a,L]),T1.useEffect(()=>(g.publicEventBus.on(y.STATE_CHANGED,v),g.publicEventBus.on(y.FIRST_MAP_LOADED,r),g.publicEventBus.on(y.NOTHING_CLICKED,p),g.publicEventBus.on(y.DATA_LOADED,s),g.publicEventBus.on(y.POLYGON_CLICKED,o),g.publicEventBus.on(y.MAP_CHANGED,m),g.publicEventBus.on(y.BLUEDOT_POSITION_UPDATE,x),g.publicEventBus.on(y.BLUEDOT_STATE_CHANGE,d),()=>{g.publicEventBus.off(y.STATE_CHANGED,v),g.publicEventBus.off(y.FIRST_MAP_LOADED,r),g.publicEventBus.off(y.NOTHING_CLICKED,p),g.publicEventBus.off(y.DATA_LOADED,s),g.publicEventBus.off(y.POLYGON_CLICKED,o),g.publicEventBus.off(y.MAP_CHANGED,m),g.publicEventBus.off(y.BLUEDOT_POSITION_UPDATE,x),g.publicEventBus.off(y.BLUEDOT_STATE_CHANGE,d)}),[]),T1.createElement(Ze,{controller:g,style:n})}));q();import r1 from"react";import{Image as Q4,View as e6}from"react-native";q();var u3=class extends me{constructor(){super();this.imageCache={};this.loading=!1;this.publicEventBus=new P1;this.privateEventBus.on(K.READY,()=>{this.publicEventBus.publish(K.READY,{})}),this.privateEventBus.on(v1.CACHE_IMAGE,e=>{let{locationId:t,url:n}=e.data;this.imageCache[t]=n,this.publicEventBus.publish(v1.READY,{})})}async loadMiniMap(e,t,n,l){var o,s,m,x;if(await this.emitAsync(v1.LOAD_MINIMAP,{options:e}),this.imageCache[t]!=null)return Promise.resolve(this.imageCache[t]);let a=O({},l);if(Array.isArray((o=l==null?void 0:l.targets)==null?void 0:o.nodes)){let d=(s=l==null?void 0:l.targets)==null?void 0:s.nodes;a.targets.nodes=d.map(p=>typeof p=="string"?p:p.id)}if(Array.isArray((m=l==null?void 0:l.targets)==null?void 0:m.polygons)){let d=(x=l==null?void 0:l.targets)==null?void 0:x.polygons;a.targets.polygons=d.map(p=>typeof p=="string"?p:p.id)}let r=await this.emitAsync(v1.CACHE_IMAGE,{options:e,locationId:t,focusOptions:a,polygonHighlightColor:n});return this.imageCache[t]=r,Promise.resolve(r)}async showMiniMap(e,t,n,l,a){var s,m,x,d;if(!(e instanceof h1))throw new Error("venueData must be an instance of the Mappedin object. Please create and hydrate an instance first");if(await this.emitAsync(v1.SHOW_MINIMAP,{format:"jsonstring",venueData:e.toString(),options:t}),this.imageCache[n]!=null)return Promise.resolve(this.imageCache[n]);let r=O({},a);if(Array.isArray((s=a==null?void 0:a.targets)==null?void 0:s.nodes)){let p=(m=a==null?void 0:a.targets)==null?void 0:m.nodes;r.targets.nodes=p.map(v=>typeof v=="string"?v:v.id)}if(Array.isArray((x=a==null?void 0:a.targets)==null?void 0:x.polygons)){let p=(d=a==null?void 0:a.targets)==null?void 0:d.polygons;r.targets.polygons=p.map(v=>typeof v=="string"?v:v.id)}let o=await this.emitAsync(v1.CACHE_IMAGE,{options:t,locationId:n,focusOptions:r,polygonHighlightColor:l});return this.imageCache[n]=o,Promise.resolve(o)}};var t6=!1,F1=new u3,i6=r1.memo(i=>{let{style:e={},venueData:t,options:n,polygonHighlightColor:l,focusOptions:a,onLoad:r=()=>null,onMiniMapLoadError:o=()=>null}=i,[s,m]=r1.useState(),x=typeof i.location=="string"?i.location:i.location.id,d=r1.useRef(async()=>{try{if(t!=null){let p=await F1.showMiniMap(t,n,x,l,a);m(p)}else{let p=await F1.loadMiniMap(n,x,l,a);m(p)}}catch(p){o({error:p})}});return r1.useEffect(()=>(F1.publicEventBus.on(K.READY,d.current),()=>{F1.publicEventBus.off(K.READY,d.current)}),[]),t6?r1.createElement(e6,{style:V(O({},e),{overflow:"hidden",opacity:1})},r1.createElement(Ze,{controller:F1,style:{width:"100%",height:"100%"}})):s!=null?r1.createElement(Q4,{source:{uri:s},resizeMode:"contain",onLoad:r,style:e}):r1.createElement(e6,{style:V(O({},e),{overflow:"hidden",opacity:0})},r1.createElement(Ze,{controller:F1,style:{width:"100%",height:"100%"}}))}),r9=r1.memo(function(e){let{onLoad:t,style:n}=e,l=typeof e.location=="string"?e.location:e.location.id;return t6?r1.createElement(i6,V(O({},e),{key:l})):F1.imageCache[l]!=null?r1.createElement(Q4,{key:l,source:{uri:F1.imageCache[l]},resizeMode:"contain",onLoad:t,style:n}):r1.createElement(i6,V(O({},e),{key:l}))});q();var c3;(function(a){a.LOAD_VENUE_FAILED="LOAD_VENUE_FAILED",a.SHOW_VENUE_FAILED="SHOW_VENUE_FAILED",a.SET_MAP_FAILED="SET_MAP_FAILED",a.SHOW_MINIMAP_ERROR="SHOW_MINIMAP_ERROR",a.LOAD_MINIMAP_ERROR="LOAD_MINIMAP_ERROR"})(c3||(c3={}));var x3;(function(t){t.GENERIC_LOAD_VENUE_ERROR="Unable to load Venue. Please check your keys",t.GENERIC_SET_MAP_ERROR="Unable to set map, check that you're passing a valid map"})(x3||(x3={}));export{X as ACTION_TYPE,e1 as BEARING_TYPE,pt as COLLISION_RANKING_TIERS,c3 as ERROR,x3 as ERROR_MESSAGES,bt as E_BLUEDOT_MARKER_STATE,re as E_BLUEDOT_STATE,dt as E_BLUEDOT_STATE_REASON,ft as MARKER_ANCHOR,h1 as Mappedin,Z1 as MappedinCategory,H1 as MappedinCoordinate,N1 as MappedinDestinationSet,J1 as MappedinEvent,p1 as MappedinLocation,K1 as MappedinMap,Q1 as MappedinMapGroup,f1 as MappedinNode,B1 as MappedinPolygon,te as MappedinRankings,ie as MappedinVenue,ne as MappedinVortex,a9 as MiMapView,r9 as MiMiniMap,oe as STATE,V4 as getVenue,G4 as getVenueBundle,j4 as labelThemes};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mappedin/react-native-sdk",
3
- "version": "4.0.14",
3
+ "version": "4.0.15",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "UNLICENSED",
@@ -34,5 +34,5 @@
34
34
  "dependencies": {
35
35
  "react-native-webview": "^11.13.0"
36
36
  },
37
- "gitHead": "e7955368d6dbe014b0f9b1d259f56bf8b258ddd1"
37
+ "gitHead": "7fce3e81ed4ae49d0d90033cce495f3d84214c38"
38
38
  }