@openremote/or-map 1.11.1 → 1.12.0-snapshot.20251113155855

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.
@@ -48,7 +48,7 @@ uniform ${n} ${i} u_${r};
48
48
  #else
49
49
  ${n} ${i} ${r} = u_${r};
50
50
  #endif
51
- `}),staticAttributes:i,staticUniforms:a}}class e4{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,n,i,r,o,a,s,l){this.context=e;let c=this.boundPaintVertexBuffers.length!==i.length;for(let e=0;!c&&e<i.length;e++)this.boundPaintVertexBuffers[e]!==i[e]&&(c=!0);!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==n||c||this.boundIndexBuffer!==r||this.boundVertexOffset!==o||this.boundDynamicVertexBuffer!==a||this.boundDynamicVertexBuffer2!==s||this.boundDynamicVertexBuffer3!==l?this.freshBind(t,n,i,r,o,a,s,l):(e.bindVertexArray.set(this.vao),a&&a.bind(),r&&r.dynamicDraw&&r.bind(),s&&s.bind(),l&&l.bind())}freshBind(e,t,n,i,r,o,a,s){let l=e.numAttributes,c=this.context,d=c.gl;for(let l of(this.vao&&this.destroy(),this.vao=c.createVertexArray(),c.bindVertexArray.set(this.vao),this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=n,this.boundIndexBuffer=i,this.boundVertexOffset=r,this.boundDynamicVertexBuffer=o,this.boundDynamicVertexBuffer2=a,this.boundDynamicVertexBuffer3=s,t.enableAttributes(d,e),n))l.enableAttributes(d,e);for(let i of(o&&o.enableAttributes(d,e),a&&a.enableAttributes(d,e),s&&s.enableAttributes(d,e),t.bind(),t.setVertexAttribPointers(d,e,r),n))i.bind(),i.setVertexAttribPointers(d,e,r);o&&(o.bind(),o.setVertexAttribPointers(d,e,r)),i&&i.bind(),a&&(a.bind(),a.setVertexAttribPointers(d,e,r)),s&&(s.bind(),s.setVertexAttribPointers(d,e,r)),c.currentNumAttributes=l}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}function e6(e){let t=[];for(let n=0;n<e.length;n++){if(null===e[n])continue;let i=e[n].split(" ");t.push(i.pop())}return t}class e8{constructor(e,n,i,r,o,a){let s=e.gl;this.program=s.createProgram();let l=e6(n.staticAttributes),c=i?i.getBinderAttributes():[],d=l.concat(c),u=e5.prelude.staticUniforms?e6(e5.prelude.staticUniforms):[],m=n.staticUniforms?e6(n.staticUniforms):[],h=i?i.getBinderUniforms():[],f=u.concat(m).concat(h),p=[];for(let e of f)0>p.indexOf(e)&&p.push(e);let b=i?i.defines():[];o&&b.push("#define OVERDRAW_INSPECTOR;"),a&&b.push("#define TERRAIN3D;");let g=b.concat(e5.prelude.fragmentSource,n.fragmentSource).join("\n"),_=b.concat(e5.prelude.vertexSource,n.vertexSource).join("\n"),y=s.createShader(s.FRAGMENT_SHADER);if(s.isContextLost())return void(this.failedToCreate=!0);if(s.shaderSource(y,g),s.compileShader(y),!s.getShaderParameter(y,s.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${s.getShaderInfoLog(y)}`);s.attachShader(this.program,y);let v=s.createShader(s.VERTEX_SHADER);if(s.isContextLost())return void(this.failedToCreate=!0);if(s.shaderSource(v,_),s.compileShader(v),!s.getShaderParameter(v,s.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${s.getShaderInfoLog(v)}`);s.attachShader(this.program,v),this.attributes={};let x={};this.numAttributes=d.length;for(let e=0;e<this.numAttributes;e++)d[e]&&(s.bindAttribLocation(this.program,e,d[e]),this.attributes[d[e]]=e);if(s.linkProgram(this.program),!s.getProgramParameter(this.program,s.LINK_STATUS))throw Error(`Program failed to link: ${s.getProgramInfoLog(this.program)}`);s.deleteShader(v),s.deleteShader(y);for(let e=0;e<p.length;e++){let t=p[e];if(t&&!x[t]){let e=s.getUniformLocation(this.program,t);e&&(x[t]=e)}}this.fixedUniforms=r(e,x),this.terrainUniforms=((e,n)=>({u_depth:new t.aG(e,n.u_depth),u_terrain:new t.aG(e,n.u_terrain),u_terrain_dim:new t.aH(e,n.u_terrain_dim),u_terrain_matrix:new t.aI(e,n.u_terrain_matrix),u_terrain_unpack:new t.aJ(e,n.u_terrain_unpack),u_terrain_exaggeration:new t.aH(e,n.u_terrain_exaggeration)}))(e,x),this.binderUniforms=i?i.getUniforms(e,x):[]}draw(e,t,n,i,r,o,a,s,l,c,d,u,m,h,f,p,b,g){let _=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(n),e.setStencilMode(i),e.setColorMode(r),e.setCullFace(o),s)for(let t in e.activeTexture.set(_.TEXTURE2),_.bindTexture(_.TEXTURE_2D,s.depthTexture),e.activeTexture.set(_.TEXTURE3),_.bindTexture(_.TEXTURE_2D,s.texture),this.terrainUniforms)this.terrainUniforms[t].set(s[t]);for(let e in this.fixedUniforms)this.fixedUniforms[e].set(a[e]);f&&f.setUniforms(e,this.binderUniforms,m,{zoom:h});let y=0;switch(t){case _.LINES:y=2;break;case _.TRIANGLES:y=3;break;case _.LINE_STRIP:y=1}for(let n of u.get()){let i=n.vaos||(n.vaos={});(i[l]||(i[l]=new e4)).bind(e,this,c,f?f.getPaintVertexBuffers():[],d,n.vertexOffset,p,b,g),_.drawElements(t,n.primitiveLength*y,_.UNSIGNED_SHORT,n.primitiveOffset*y*2)}}}function e7(e,t,n){let i=1/eD(n,1,t.transform.tileZoom),r=Math.pow(2,n.tileID.overscaledZ),o=n.tileSize*Math.pow(2,t.transform.tileZoom)/r,a=o*(n.tileID.canonical.x+n.tileID.wrap*r),s=o*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[i,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[a>>16,s>>16],u_pixel_coord_lower:[65535&a,65535&s]}}let e9=(e,n,i,r)=>{var o,a,s,l,c,d,u;let m=n.style.light,h=m.properties.get("position"),f=[h.x,h.y,h.z],p=(o=new t.A(9),t.A!=Float32Array&&(o[1]=0,o[2]=0,o[3]=0,o[5]=0,o[6]=0,o[7]=0),o[0]=1,o[4]=1,o[8]=1,o);"viewport"===m.properties.get("anchor")&&(s=Math.sin(a=-n.transform.angle),l=Math.cos(a),p[0]=l,p[1]=s,p[2]=0,p[3]=-s,p[4]=l,p[5]=0,p[6]=0,p[7]=0,p[8]=1),c=f[0],d=f[1],u=f[2],f[0]=c*p[0]+d*p[3]+u*p[6],f[1]=c*p[1]+d*p[4]+u*p[7],f[2]=c*p[2]+d*p[5]+u*p[8];let b=m.properties.get("color");return{u_matrix:e,u_lightpos:f,u_lightintensity:m.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_vertical_gradient:+i,u_opacity:r}},te=(e,n,i,r,o,a,s)=>t.e(e9(e,n,i,r),e7(a,n,s),{u_height_factor:-Math.pow(2,o.overscaledZ)/s.tileSize/8}),tt=e=>({u_matrix:e}),tn=(e,n,i,r)=>t.e(tt(e),e7(i,n,r)),ti=(e,t)=>({u_matrix:e,u_world:t}),tr=(e,n,i,r,o)=>t.e(tn(e,n,i,r),{u_world:o}),to=(e,t,n,i)=>{let r,o,a=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){let e=eD(n,1,a.zoom);r=!0,o=[e,e]}else r=!1,o=a.pixelsToGLUnits;return{u_camera_to_center_distance:a.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(t.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+r,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:o}},ta=(e,t,n)=>{let i=eD(n,1,t.zoom),r=Math.pow(2,t.zoom-n.tileID.overscaledZ),o=n.tileID.overscaleFactor();return{u_matrix:e,u_camera_to_center_distance:t.cameraToCenterDistance,u_pixels_to_tile_units:i,u_extrude_scale:[t.pixelsToGLUnits[0]/(i*r),t.pixelsToGLUnits[1]/(i*r)],u_overscale_factor:o}},ts=(e,t,n=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:n}),tl=e=>({u_matrix:e}),tc=(e,t,n,i)=>({u_matrix:e,u_extrude_scale:eD(t,1,n),u_intensity:i}),td=(e,t,n,i)=>{let r=e.transform;return{u_matrix:tp(e,t,n,i),u_ratio:1/eD(t,1,r.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/r.pixelsToGLUnits[0],1/r.pixelsToGLUnits[1]]}},tu=(e,n,i,r,o)=>t.e(td(e,n,i,o),{u_image:0,u_image_height:r}),tm=(e,t,n,i,r)=>{let o=e.transform,a=tf(t,o);return{u_matrix:tp(e,t,n,r),u_texsize:t.imageAtlasTexture.size,u_ratio:1/eD(t,1,o.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[a,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},th=(e,n,i,r,o,a)=>{let s=e.lineAtlas,l=tf(n,e.transform),c="round"===i.layout.get("line-cap"),d=s.getDash(r.from,c),u=s.getDash(r.to,c),m=d.width*o.fromScale,h=u.width*o.toScale;return t.e(td(e,n,i,a),{u_patternscale_a:[l/m,-d.height/2],u_patternscale_b:[l/h,-u.height/2],u_sdfgamma:s.width/(256*Math.min(m,h)*e.pixelRatio)/2,u_image:0,u_tex_y_a:d.y,u_tex_y_b:u.y,u_mix:o.t})};function tf(e,t){return 1/eD(e,1,t.tileZoom)}function tp(e,t,n,i){return e.translatePosMatrix(i?i.posMatrix:t.tileID.posMatrix,t,n.paint.get("line-translate"),n.paint.get("line-translate-anchor"))}let tb=(e,t,n,i,r)=>{var o,a;return{u_matrix:e,u_tl_parent:t,u_scale_parent:n,u_buffer_scale:1,u_fade_t:i.mix,u_opacity:i.opacity*r.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get("raster-brightness-min"),u_brightness_high:r.paint.get("raster-brightness-max"),u_saturation_factor:(a=r.paint.get("raster-saturation"))>0?1-1/(1.001-a):-a,u_contrast_factor:(o=r.paint.get("raster-contrast"))>0?1/(1-o):1+o,u_spin_weights:function(e){let t=Math.sin(e*=Math.PI/180),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}(r.paint.get("raster-hue-rotate"))}},tg=(e,t,n,i,r,o,a,s,l,c)=>{let d=r.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:d.width/d.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:o,u_label_plane_matrix:a,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+i,u_texsize:c,u_texture:0}},t_=(e,n,i,r,o,a,s,l,c,d,u)=>{let m=o.transform;return t.e(tg(e,n,i,r,o,a,s,l,c,d),{u_gamma_scale:r?Math.cos(m._pitch)*m.cameraToCenterDistance:1,u_device_pixel_ratio:o.pixelRatio,u_is_halo:+u})},ty=(e,n,i,r,o,a,s,l,c,d)=>t.e(t_(e,n,i,r,o,a,s,l,!0,c,!0),{u_texsize_icon:d,u_texture_icon:1}),tv=(e,t,n)=>({u_matrix:e,u_opacity:t,u_color:n}),tx=(e,n,i,r,o,a)=>t.e(function(e,t,n,i){let r=n.imageManager.getPattern(e.from.toString()),o=n.imageManager.getPattern(e.to.toString()),{width:a,height:s}=n.imageManager.getPixelSize(),l=Math.pow(2,i.tileID.overscaledZ),c=i.tileSize*Math.pow(2,n.transform.tileZoom)/l,d=c*(i.tileID.canonical.x+i.tileID.wrap*l),u=c*i.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:r.tl,u_pattern_br_a:r.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[a,s],u_mix:t.t,u_pattern_size_a:r.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/eD(i,1,n.transform.tileZoom),u_pixel_coord_upper:[d>>16,u>>16],u_pixel_coord_lower:[65535&d,65535&u]}}(r,a,i,o),{u_matrix:e,u_opacity:n}),tw={fillExtrusion:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_lightpos:new t.aK(e,n.u_lightpos),u_lightintensity:new t.aH(e,n.u_lightintensity),u_lightcolor:new t.aK(e,n.u_lightcolor),u_vertical_gradient:new t.aH(e,n.u_vertical_gradient),u_opacity:new t.aH(e,n.u_opacity)}),fillExtrusionPattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_lightpos:new t.aK(e,n.u_lightpos),u_lightintensity:new t.aH(e,n.u_lightintensity),u_lightcolor:new t.aK(e,n.u_lightcolor),u_vertical_gradient:new t.aH(e,n.u_vertical_gradient),u_height_factor:new t.aH(e,n.u_height_factor),u_image:new t.aG(e,n.u_image),u_texsize:new t.aL(e,n.u_texsize),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade),u_opacity:new t.aH(e,n.u_opacity)}),fill:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix)}),fillPattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_image:new t.aG(e,n.u_image),u_texsize:new t.aL(e,n.u_texsize),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade)}),fillOutline:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_world:new t.aL(e,n.u_world)}),fillOutlinePattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_world:new t.aL(e,n.u_world),u_image:new t.aG(e,n.u_image),u_texsize:new t.aL(e,n.u_texsize),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade)}),circle:(e,n)=>({u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_scale_with_map:new t.aG(e,n.u_scale_with_map),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_extrude_scale:new t.aL(e,n.u_extrude_scale),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_matrix:new t.aI(e,n.u_matrix)}),collisionBox:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pixels_to_tile_units:new t.aH(e,n.u_pixels_to_tile_units),u_extrude_scale:new t.aL(e,n.u_extrude_scale),u_overscale_factor:new t.aH(e,n.u_overscale_factor)}),collisionCircle:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_inv_matrix:new t.aI(e,n.u_inv_matrix),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_viewport_size:new t.aL(e,n.u_viewport_size)}),debug:(e,n)=>({u_color:new t.aM(e,n.u_color),u_matrix:new t.aI(e,n.u_matrix),u_overlay:new t.aG(e,n.u_overlay),u_overlay_scale:new t.aH(e,n.u_overlay_scale)}),clippingMask:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix)}),heatmap:(e,n)=>({u_extrude_scale:new t.aH(e,n.u_extrude_scale),u_intensity:new t.aH(e,n.u_intensity),u_matrix:new t.aI(e,n.u_matrix)}),heatmapTexture:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_world:new t.aL(e,n.u_world),u_image:new t.aG(e,n.u_image),u_color_ramp:new t.aG(e,n.u_color_ramp),u_opacity:new t.aH(e,n.u_opacity)}),hillshade:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_image:new t.aG(e,n.u_image),u_latrange:new t.aL(e,n.u_latrange),u_light:new t.aL(e,n.u_light),u_shadow:new t.aM(e,n.u_shadow),u_highlight:new t.aM(e,n.u_highlight),u_accent:new t.aM(e,n.u_accent)}),hillshadePrepare:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_image:new t.aG(e,n.u_image),u_dimension:new t.aL(e,n.u_dimension),u_zoom:new t.aH(e,n.u_zoom),u_unpack:new t.aJ(e,n.u_unpack)}),line:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels)}),lineGradient:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels),u_image:new t.aG(e,n.u_image),u_image_height:new t.aH(e,n.u_image_height)}),linePattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_texsize:new t.aL(e,n.u_texsize),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_image:new t.aG(e,n.u_image),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade)}),lineSDF:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels),u_patternscale_a:new t.aL(e,n.u_patternscale_a),u_patternscale_b:new t.aL(e,n.u_patternscale_b),u_sdfgamma:new t.aH(e,n.u_sdfgamma),u_image:new t.aG(e,n.u_image),u_tex_y_a:new t.aH(e,n.u_tex_y_a),u_tex_y_b:new t.aH(e,n.u_tex_y_b),u_mix:new t.aH(e,n.u_mix)}),raster:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_tl_parent:new t.aL(e,n.u_tl_parent),u_scale_parent:new t.aH(e,n.u_scale_parent),u_buffer_scale:new t.aH(e,n.u_buffer_scale),u_fade_t:new t.aH(e,n.u_fade_t),u_opacity:new t.aH(e,n.u_opacity),u_image0:new t.aG(e,n.u_image0),u_image1:new t.aG(e,n.u_image1),u_brightness_low:new t.aH(e,n.u_brightness_low),u_brightness_high:new t.aH(e,n.u_brightness_high),u_saturation_factor:new t.aH(e,n.u_saturation_factor),u_contrast_factor:new t.aH(e,n.u_contrast_factor),u_spin_weights:new t.aK(e,n.u_spin_weights)}),symbolIcon:(e,n)=>({u_is_size_zoom_constant:new t.aG(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aG(e,n.u_is_size_feature_constant),u_size_t:new t.aH(e,n.u_size_t),u_size:new t.aH(e,n.u_size),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pitch:new t.aH(e,n.u_pitch),u_rotate_symbol:new t.aG(e,n.u_rotate_symbol),u_aspect_ratio:new t.aH(e,n.u_aspect_ratio),u_fade_change:new t.aH(e,n.u_fade_change),u_matrix:new t.aI(e,n.u_matrix),u_label_plane_matrix:new t.aI(e,n.u_label_plane_matrix),u_coord_matrix:new t.aI(e,n.u_coord_matrix),u_is_text:new t.aG(e,n.u_is_text),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_texsize:new t.aL(e,n.u_texsize),u_texture:new t.aG(e,n.u_texture)}),symbolSDF:(e,n)=>({u_is_size_zoom_constant:new t.aG(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aG(e,n.u_is_size_feature_constant),u_size_t:new t.aH(e,n.u_size_t),u_size:new t.aH(e,n.u_size),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pitch:new t.aH(e,n.u_pitch),u_rotate_symbol:new t.aG(e,n.u_rotate_symbol),u_aspect_ratio:new t.aH(e,n.u_aspect_ratio),u_fade_change:new t.aH(e,n.u_fade_change),u_matrix:new t.aI(e,n.u_matrix),u_label_plane_matrix:new t.aI(e,n.u_label_plane_matrix),u_coord_matrix:new t.aI(e,n.u_coord_matrix),u_is_text:new t.aG(e,n.u_is_text),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_texsize:new t.aL(e,n.u_texsize),u_texture:new t.aG(e,n.u_texture),u_gamma_scale:new t.aH(e,n.u_gamma_scale),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_is_halo:new t.aG(e,n.u_is_halo)}),symbolTextAndIcon:(e,n)=>({u_is_size_zoom_constant:new t.aG(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aG(e,n.u_is_size_feature_constant),u_size_t:new t.aH(e,n.u_size_t),u_size:new t.aH(e,n.u_size),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pitch:new t.aH(e,n.u_pitch),u_rotate_symbol:new t.aG(e,n.u_rotate_symbol),u_aspect_ratio:new t.aH(e,n.u_aspect_ratio),u_fade_change:new t.aH(e,n.u_fade_change),u_matrix:new t.aI(e,n.u_matrix),u_label_plane_matrix:new t.aI(e,n.u_label_plane_matrix),u_coord_matrix:new t.aI(e,n.u_coord_matrix),u_is_text:new t.aG(e,n.u_is_text),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_texsize:new t.aL(e,n.u_texsize),u_texsize_icon:new t.aL(e,n.u_texsize_icon),u_texture:new t.aG(e,n.u_texture),u_texture_icon:new t.aG(e,n.u_texture_icon),u_gamma_scale:new t.aH(e,n.u_gamma_scale),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_is_halo:new t.aG(e,n.u_is_halo)}),background:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_opacity:new t.aH(e,n.u_opacity),u_color:new t.aM(e,n.u_color)}),backgroundPattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_opacity:new t.aH(e,n.u_opacity),u_image:new t.aG(e,n.u_image),u_pattern_tl_a:new t.aL(e,n.u_pattern_tl_a),u_pattern_br_a:new t.aL(e,n.u_pattern_br_a),u_pattern_tl_b:new t.aL(e,n.u_pattern_tl_b),u_pattern_br_b:new t.aL(e,n.u_pattern_br_b),u_texsize:new t.aL(e,n.u_texsize),u_mix:new t.aH(e,n.u_mix),u_pattern_size_a:new t.aL(e,n.u_pattern_size_a),u_pattern_size_b:new t.aL(e,n.u_pattern_size_b),u_scale_a:new t.aH(e,n.u_scale_a),u_scale_b:new t.aH(e,n.u_scale_b),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aH(e,n.u_tile_units_to_pixels)}),terrain:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_texture:new t.aG(e,n.u_texture),u_ele_delta:new t.aH(e,n.u_ele_delta)}),terrainDepth:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ele_delta:new t.aH(e,n.u_ele_delta)}),terrainCoords:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_texture:new t.aG(e,n.u_texture),u_terrain_coords_id:new t.aH(e,n.u_terrain_coords_id),u_ele_delta:new t.aH(e,n.u_ele_delta)})};class tF{constructor(e,t,n){this.context=e;let i=e.gl;this.buffer=i.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let tk={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class tE{constructor(e,t,n,i){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=i,this.context=e;let r=e.gl;this.buffer=r.createBuffer(),e.bindVertexBuffer.set(this.buffer),r.bufferData(r.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let n=0;n<this.attributes.length;n++){let i=t.attributes[this.attributes[n].name];void 0!==i&&e.enableVertexAttribArray(i)}}setVertexAttribPointers(e,t,n){for(let i=0;i<this.attributes.length;i++){let r=this.attributes[i],o=t.attributes[r.name];void 0!==o&&e.vertexAttribPointer(o,r.components,e[tk[r.type]],!1,this.itemSize,r.offset+this.itemSize*(n||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let tA=new WeakMap;function tT(e){var t;if(tA.has(e))return tA.get(e);{let n=null==(t=e.getParameter(e.VERSION))?void 0:t.startsWith("WebGL 2.0");return tA.set(e,n),n}}class tC{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class tM extends tC{getDefault(){return t.aO.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class tL extends tC{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class tS extends tC{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class tD extends tC{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class tI extends tC{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class tO extends tC{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class tR extends tC{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class tP extends tC{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class tB extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class tz extends tC{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class tY extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class tN extends tC{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class tH extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class tj extends tC{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}}class tU extends tC{getDefault(){return t.aO.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class tV extends tC{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}}class tq extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class tG extends tC{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class t$ extends tC{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}class tW extends tC{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}}class tX extends tC{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class tK extends tC{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class tZ extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class tJ extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class tQ extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class t0 extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class t1 extends tC{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class t2 extends tC{getDefault(){return null}set(e){var t;if(e===this.current&&!this.dirty)return;let n=this.gl;tT(n)?n.bindVertexArray(e):null==(t=n.getExtension("OES_vertex_array_object"))||t.bindVertexArrayOES(e),this.current=e,this.dirty=!1}}class t5 extends tC{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class t3 extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class t4 extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class t6 extends tC{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class t8 extends t6{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class t7 extends t6{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class t9 extends t6{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class ne{constructor(e,t,n,i,r){this.context=e,this.width=t,this.height=n;let o=e.gl,a=this.framebuffer=o.createFramebuffer();if(this.colorAttachment=new t8(e,a),i)this.depthAttachment=r?new t9(e,a):new t7(e,a);else if(r)throw Error("Stencil cannot be set without depth");if(o.checkFramebufferStatus(o.FRAMEBUFFER)!==o.FRAMEBUFFER_COMPLETE)throw Error("Framebuffer is not complete")}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}e.deleteFramebuffer(this.framebuffer)}}class nt{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}}nt.Replace=[1,0],nt.disabled=new nt(nt.Replace,t.aO.transparent,[!1,!1,!1,!1]),nt.unblended=new nt(nt.Replace,t.aO.transparent,[!0,!0,!0,!0]),nt.alphaBlended=new nt([1,771],t.aO.transparent,[!0,!0,!0,!0]);class nn{constructor(e){var t,n;if(this.gl=e,this.clearColor=new tM(this),this.clearDepth=new tL(this),this.clearStencil=new tS(this),this.colorMask=new tD(this),this.depthMask=new tI(this),this.stencilMask=new tO(this),this.stencilFunc=new tR(this),this.stencilOp=new tP(this),this.stencilTest=new tB(this),this.depthRange=new tz(this),this.depthTest=new tY(this),this.depthFunc=new tN(this),this.blend=new tH(this),this.blendFunc=new tj(this),this.blendColor=new tU(this),this.blendEquation=new tV(this),this.cullFace=new tq(this),this.cullFaceSide=new tG(this),this.frontFace=new t$(this),this.program=new tW(this),this.activeTexture=new tX(this),this.viewport=new tK(this),this.bindFramebuffer=new tZ(this),this.bindRenderbuffer=new tJ(this),this.bindTexture=new tQ(this),this.bindVertexBuffer=new t0(this),this.bindElementBuffer=new t1(this),this.bindVertexArray=new t2(this),this.pixelStoreUnpack=new t5(this),this.pixelStoreUnpackPremultiplyAlpha=new t3(this),this.pixelStoreUnpackFlipY=new t4(this),this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),tT(e)){this.HALF_FLOAT=e.HALF_FLOAT;let i=e.getExtension("EXT_color_buffer_half_float");this.RGBA16F=null!=(t=e.RGBA16F)?t:null==i?void 0:i.RGBA16F_EXT,this.RGB16F=null!=(n=e.RGB16F)?n:null==i?void 0:i.RGB16F_EXT,e.getExtension("EXT_color_buffer_float")}else{e.getExtension("EXT_color_buffer_half_float"),e.getExtension("OES_texture_half_float_linear");let t=e.getExtension("OES_texture_half_float");this.HALF_FLOAT=null==t?void 0:t.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t){return new tF(this,e,t)}createVertexBuffer(e,t,n){return new tE(this,e,t,n)}createRenderbuffer(e,t,n){let i=this.gl,r=i.createRenderbuffer();return this.bindRenderbuffer.set(r),i.renderbufferStorage(i.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),r}createFramebuffer(e,t,n,i){return new ne(this,e,t,n,i)}clear({color:e,depth:t,stencil:n}){let i=this.gl,r=0;e&&(r|=i.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==t&&(r|=i.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),void 0!==n&&(r|=i.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),i.clear(r)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t.aD(e.blendFunction,nt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){var e;return tT(this.gl)?this.gl.createVertexArray():null==(e=this.gl.getExtension("OES_vertex_array_object"))?void 0:e.createVertexArrayOES()}deleteVertexArray(e){var t;return tT(this.gl)?this.gl.deleteVertexArray(e):null==(t=this.gl.getExtension("OES_vertex_array_object"))?void 0:t.deleteVertexArrayOES(e)}unbindVAO(){this.bindVertexArray.set(null)}}class ni{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}}ni.ReadOnly=!1,ni.ReadWrite=!0,ni.disabled=new ni(519,ni.ReadOnly,[0,1]);class nr{constructor(e,t,n,i,r,o){this.test=e,this.ref=t,this.mask=n,this.fail=i,this.depthFail=r,this.pass=o}}nr.disabled=new nr({func:519,mask:0},0,0,7680,7680,7680);class no{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}}function na(e,n,i,r,o,a,l){var c;let d=e.context,u=d.gl,m=e.useProgram("collisionBox"),h=[],f=0,p=0;for(let s=0;s<r.length;s++){let c=r[s],b=n.getTile(c),g=b.getBucket(i);if(!g)continue;let _=c.posMatrix;0===o[0]&&0===o[1]||(_=e.translatePosMatrix(c.posMatrix,b,o,a));let y=l?g.textCollisionBox:g.iconCollisionBox,v=g.collisionCircleArray;if(v.length>0){let n=t.F(),i=_;t.aP(n,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.aP(n,n,g.placementViewportMatrix),h.push({circleArray:v,circleOffset:p,transform:i,invTransform:n,coord:c}),f+=v.length/4,p=f}y&&m.draw(d,u.LINES,ni.disabled,nr.disabled,e.colorModeForRenderPass(),no.disabled,ta(_,e.transform,b),e.style.map.terrain&&e.style.map.terrain.getTerrainData(c),i.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer)}if(!l||!h.length)return;let b=e.useProgram("collisionCircle"),g=new t.aQ;g.resize(4*f),g._trim();let _=0;for(let e of h)for(let t=0;t<e.circleArray.length/4;t++){let n=4*t,i=e.circleArray[n+0],r=e.circleArray[n+1],o=e.circleArray[n+2],a=e.circleArray[n+3];g.emplace(_++,i,r,o,a,0),g.emplace(_++,i,r,o,a,1),g.emplace(_++,i,r,o,a,2),g.emplace(_++,i,r,o,a,3)}(!s||s.length<2*f)&&(s=function(e){let n=2*e,i=new t.aS;i.resize(n),i._trim();for(let e=0;e<n;e++){let t=6*e;i.uint16[t+0]=4*e+0,i.uint16[t+1]=4*e+1,i.uint16[t+2]=4*e+2,i.uint16[t+3]=4*e+2,i.uint16[t+4]=4*e+3,i.uint16[t+5]=4*e+0}return i}(f));let y=d.createIndexBuffer(s,!0),v=d.createVertexBuffer(g,t.aR.members,!0);for(let n of h){let r={u_matrix:n.transform,u_inv_matrix:n.invTransform,u_camera_to_center_distance:(c=e.transform).cameraToCenterDistance,u_viewport_size:[c.width,c.height]};b.draw(d,u.TRIANGLES,ni.disabled,nr.disabled,e.colorModeForRenderPass(),no.disabled,r,e.style.map.terrain&&e.style.map.terrain.getTerrainData(n.coord),i.id,v,y,t.$.simpleSegment(0,2*n.circleOffset,n.circleArray.length,n.circleArray.length/2),null,e.transform.zoom,null,null,null)}v.destroy(),y.destroy()}no.disabled=new no(!1,1029,2305),no.backCCW=new no(!0,1029,2305);let ns=t.an(new Float32Array(16));function nl(e,n,i,r,o,a,s,l,c,d,u,m){let h=e.context,f=h.gl,p=e.transform,b="map"===l,g="map"===c,_="viewport"!==l&&"point"!==i.layout.get("symbol-placement"),y=b&&!g&&!_,v=!i.layout.get("symbol-sort-key").isConstant(),x=!1,w=e.depthModeForSublayer(0,ni.ReadOnly),F=i._unevaluatedLayout.hasValue("text-variable-anchor")||i._unevaluatedLayout.hasValue("text-variable-anchor-offset"),k=[];for(let l of r){let r=n.getTile(l),c=r.getBucket(i);if(!c)continue;let u=o?c.text:c.icon;if(!u||!u.segments.get().length||!u.hasVisibleVertices)continue;let m=u.programConfigurations.get(i.id),h=o||c.sdfIcons,w=o?c.textSizeData:c.iconSizeData,E=g||0!==p.pitch,A=e.useProgram(c.iconsInText&&o?"symbolTextAndIcon":h?"symbolSDF":"symbolIcon",m),T=t.ag(w,p.zoom),C=e.style.map.terrain&&e.style.map.terrain.getTerrainData(l),M,S,D,I,O=[0,0],R=null;if(o)S=r.glyphAtlasTexture,D=f.LINEAR,M=r.glyphAtlasTexture.size,c.iconsInText&&(O=r.imageAtlasTexture.size,R=r.imageAtlasTexture,I=E||e.options.rotating||e.options.zooming||"composite"===w.kind||"camera"===w.kind?f.LINEAR:f.NEAREST);else{let t=1!==i.layout.get("icon-size").constantOr(0)||c.iconsNeedLinear;S=r.imageAtlasTexture,D=h||e.options.rotating||e.options.zooming||t||E?f.LINEAR:f.NEAREST,M=r.imageAtlasTexture.size}let P=eD(r,1,e.transform.zoom),B=eg(l.posMatrix,g,b,e.transform,P),z=e_(l.posMatrix,g,b,e.transform,P),Y=F&&c.hasTextData(),N="none"!==i.layout.get("icon-text-fit")&&Y&&c.hasIconData();if(_){let n=e.style.map.terrain?(t,n)=>e.style.map.terrain.getElevation(l,t,n):null,r="map"===i.layout.get("text-rotation-alignment");!function(e,n,i,r,o,a,s,l,c,d){let u=r?e.textSizeData:e.iconSizeData,m=t.ag(u,i.transform.zoom),h=[256/i.width*2+1,256/i.height*2+1],f=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();let p=e.lineVertexArray,b=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=i.transform.width/i.transform.height,_=!1;for(let r=0;r<b.length;r++){let y,v=b.get(r);if(v.hidden||v.writingMode===t.ah.vertical&&!_||(_=!1,d?(y=[v.anchorX,v.anchorY,d(v.anchorX,v.anchorY),1],t.af(y,y,n)):eL(y=[v.anchorX,v.anchorY,0,1],y,n),!function(e,t){let n=e[0]/e[3],i=e[1]/e[3];return n>=-t[0]&&n<=t[0]&&i>=-t[1]&&i<=t[1]}(y,h))){eM(v.numGlyphs,f);continue}let x=ev(i.transform.cameraToCenterDistance,y[3]),w=t.ai(u,m,v),F=s?w/x:w*x,k=new t.P(v.anchorX,v.anchorY),E=ey(k,o,d).point,A={projections:{},offsets:{}},T=eF(v,F,!1,l,n,o,a,e.glyphOffsetArray,p,f,E,k,A,g,c,d);_=T.useVertical,(T.notEnoughRoom||_||T.needsFlipping&&eF(v,F,!0,l,n,o,a,e.glyphOffsetArray,p,f,E,k,A,g,c,d).notEnoughRoom)&&eM(v.numGlyphs,f)}r?e.text.dynamicLayoutVertexBuffer.updateData(f):e.icon.dynamicLayoutVertexBuffer.updateData(f)}(c,l.posMatrix,e,o,B,z,g,d,r,n)}let H=e.translatePosMatrix(l.posMatrix,r,a,s),j=_||o&&F||N?ns:B,U=e.translatePosMatrix(z,r,a,s,!0),V=h&&0!==i.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(1),q={program:A,buffers:u,uniformValues:h?c.iconsInText?ty(w.kind,T,y,g,e,H,j,U,M,O):t_(w.kind,T,y,g,e,H,j,U,o,M,!0):tg(w.kind,T,y,g,e,H,j,U,o,M),atlasTexture:S,atlasTextureIcon:R,atlasInterpolation:D,atlasInterpolationIcon:I,isSDF:h,hasHalo:V};if(v&&c.canOverlap)for(let e of(x=!0,u.segments.get()))k.push({segments:new t.$([e]),sortKey:e.sortKey,state:q,terrainData:C});else k.push({segments:u.segments,sortKey:0,state:q,terrainData:C})}for(let t of(x&&k.sort((e,t)=>e.sortKey-t.sortKey),k)){let n=t.state;if(h.activeTexture.set(f.TEXTURE0),n.atlasTexture.bind(n.atlasInterpolation,f.CLAMP_TO_EDGE),n.atlasTextureIcon&&(h.activeTexture.set(f.TEXTURE1),n.atlasTextureIcon&&n.atlasTextureIcon.bind(n.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),n.isSDF){let r=n.uniformValues;n.hasHalo&&(r.u_is_halo=1,nc(n.buffers,t.segments,i,e,n.program,w,u,m,r,t.terrainData)),r.u_is_halo=0}nc(n.buffers,t.segments,i,e,n.program,w,u,m,n.uniformValues,t.terrainData)}}function nc(e,t,n,i,r,o,a,s,l,c){let d=i.context;r.draw(d,d.gl.TRIANGLES,o,a,s,no.disabled,l,c,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,i.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function nd(e,t,n,i,r){if(!n||!i||!i.imageAtlas)return;let o=i.imageAtlas.patternPositions,a=o[n.to.toString()],s=o[n.from.toString()];if(!a&&s&&(a=s),!s&&a&&(s=a),!a||!s){let e=r.getPaintProperty(t);a=o[e],s=o[e]}a&&s&&e.setConstantPatternPositions(a,s)}function nu(e,t,n,i,r,o,a){let s,l,c,d,u,m=e.context.gl,h="fill-pattern",f=n.paint.get(h),p=f&&f.constantOr(1),b=n.getCrossfadeParameters();a?(l=p&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=m.LINES):(l=p?"fillPattern":"fill",s=m.TRIANGLES);let g=f.constantOr(null);for(let f of i){let i=t.getTile(f);if(p&&!i.patternsLoaded())continue;let _=i.getBucket(n);if(!_)continue;let y=_.programConfigurations.get(n.id),v=e.useProgram(l,y),x=e.style.map.terrain&&e.style.map.terrain.getTerrainData(f);p&&(e.context.activeTexture.set(m.TEXTURE0),i.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),y.updatePaintBuffers(b)),nd(y,h,g,i,n);let w=x?f:null,F=e.translatePosMatrix(w?w.posMatrix:f.posMatrix,i,n.paint.get("fill-translate"),n.paint.get("fill-translate-anchor"));if(a){d=_.indexBuffer2,u=_.segments2;let t=[m.drawingBufferWidth,m.drawingBufferHeight];c="fillOutlinePattern"===l&&p?tr(F,e,b,i,t):ti(F,t)}else d=_.indexBuffer,u=_.segments,c=p?tn(F,e,b,i):tt(F);v.draw(e.context,s,r,e.stencilModeForClipping(f),o,no.disabled,c,x,n.id,_.layoutVertexBuffer,d,u,n.paint,e.transform.zoom,y)}}function nm(e,t,n,i,r,o,a){let s=e.context,l=s.gl,c="fill-extrusion-pattern",d=n.paint.get(c),u=d.constantOr(1),m=n.getCrossfadeParameters(),h=n.paint.get("fill-extrusion-opacity"),f=d.constantOr(null);for(let d of i){let i=t.getTile(d),p=i.getBucket(n);if(!p)continue;let b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d),g=p.programConfigurations.get(n.id),_=e.useProgram(u?"fillExtrusionPattern":"fillExtrusion",g);u&&(e.context.activeTexture.set(l.TEXTURE0),i.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(m)),nd(g,c,f,i,n);let y=e.translatePosMatrix(d.posMatrix,i,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),v=n.paint.get("fill-extrusion-vertical-gradient"),x=u?te(y,e,v,h,d,m,i):e9(y,e,v,h);_.draw(s,s.gl.TRIANGLES,r,o,a,no.backCCW,x,b,n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,n.paint,e.transform.zoom,g,e.style.map.terrain&&p.centroidVertexBuffer)}}let nh=new t.aO(1,0,0,1),nf=new t.aO(0,1,0,1),np=new t.aO(0,0,1,1),nb=new t.aO(1,0,1,1),ng=new t.aO(0,1,1,1);function n_(e,t,n,i){nv(e,0,t+n/2,e.transform.width,n,i)}function ny(e,t,n,i){nv(e,t-n/2,0,n,e.transform.height,i)}function nv(e,t,n,i,r,o){let a=e.context,s=a.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,i*e.pixelRatio,r*e.pixelRatio),a.clear({color:o}),s.disable(s.SCISSOR_TEST)}function nx(e,t,n){let i=e.context,r=i.gl,o=e.colorModeForRenderPass(),a=new ni(r.LEQUAL,ni.ReadWrite,e.depthRangeFor3D),s=e.useProgram("terrain"),l=t.getTerrainMesh();for(let c of(i.bindFramebuffer.set(null),i.viewport.set([0,0,e.width,e.height]),n)){let n=e.renderToTexture.getTexture(c),d=t.getTerrainData(c.tileID);i.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,n.texture);let u={u_matrix:e.transform.calculatePosMatrix(c.tileID.toUnwrapped()),u_texture:0,u_ele_delta:t.getMeshFrameDelta(e.transform.zoom)};s.draw(i,r.TRIANGLES,a,nr.disabled,o,no.backCCW,u,d,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class nw{constructor(e,n){this.context=new nn(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=eu.maxUnderzooming+eu.maxOverzooming+1,this.depthEpsilon=1/65536,this.crossTileSymbolIndex=new eZ}resize(e,t,n){if(this.width=Math.floor(e*n),this.height=Math.floor(t*n),this.pixelRatio=n,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,n=new t.aV;n.emplaceBack(0,0),n.emplaceBack(t.W,0),n.emplaceBack(0,t.W),n.emplaceBack(t.W,t.W),this.tileExtentBuffer=e.createVertexBuffer(n,e1.members),this.tileExtentSegments=t.$.simpleSegment(0,0,4,2);let i=new t.aV;i.emplaceBack(0,0),i.emplaceBack(t.W,0),i.emplaceBack(0,t.W),i.emplaceBack(t.W,t.W),this.debugBuffer=e.createVertexBuffer(i,e1.members),this.debugSegments=t.$.simpleSegment(0,0,4,5);let r=new t.Z;r.emplaceBack(0,0,0,0),r.emplaceBack(t.W,0,t.W,0),r.emplaceBack(0,t.W,0,t.W),r.emplaceBack(t.W,t.W,t.W,t.W),this.rasterBoundsBuffer=e.createVertexBuffer(r,J.members),this.rasterBoundsSegments=t.$.simpleSegment(0,0,4,2);let o=new t.aV;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(o,e1.members),this.viewportSegments=t.$.simpleSegment(0,0,4,2);let a=new t.aW;a.emplaceBack(0),a.emplaceBack(1),a.emplaceBack(3),a.emplaceBack(2),a.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(a);let s=new t.aX;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let l=this.context.gl;this.stencilClearMode=new nr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){let e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let i=t.F();t.aN(i,0,this.width,this.height,0,0,1),t.J(i,i,[n.drawingBufferWidth,n.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,n.TRIANGLES,ni.disabled,this.stencilClearMode,nt.disabled,no.disabled,tl(i),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source;let n=this.context,i=n.gl;this.nextStencilID+t.length>256&&this.clearStencil(),n.setColorMode(nt.disabled),n.setDepthMode(ni.disabled);let r=this.useProgram("clippingMask");for(let e of(this._tileClippingMaskIDs={},t)){let t=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(e);r.draw(n,i.TRIANGLES,ni.disabled,new nr({func:i.ALWAYS,mask:0},t,255,i.KEEP,i.KEEP,i.REPLACE),nt.disabled,no.disabled,tl(e.posMatrix),o,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new nr({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new nr({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){let t=this.context.gl,n=e.sort((e,t)=>t.overscaledZ-e.overscaledZ),i=n[n.length-1].overscaledZ,r=n[0].overscaledZ-i+1;if(r>1){this.currentStencilSource=void 0,this.nextStencilID+r>256&&this.clearStencil();let e={};for(let n=0;n<r;n++)e[n+i]=new nr({func:t.GEQUAL,mask:255},n+this.nextStencilID,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID+=r,[e,n]}return[{[i]:nr.disabled},n]}colorModeForRenderPass(){let e=this.context.gl;if(this._showOverdrawInspector){let n=1/8;return new nt([e.CONSTANT_COLOR,e.ONE],new t.aO(n,n,n,0),[!0,!0,!0,!0])}return"opaque"===this.renderPass?nt.unblended:nt.alphaBlended}depthModeForSublayer(e,t,n){if(!this.opaquePassEnabledForLayer())return ni.disabled;let i=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new ni(n||this.context.gl.LEQUAL,t,[i,i])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(e,n){this.style=e,this.options=n,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let i=this.style._order,r=this.style.sourceCaches,o={},a={},s={};for(let e in r){let t=r[e];t.used&&t.prepare(this.context),o[e]=t.getVisibleCoordinates(),a[e]=o[e].slice().reverse(),s[e]=t.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let e=0;e<i.length;e++)if(this.style._layers[i[e]].is3D()){this.opaquePassCutoff=e;break}for(let e of(this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass="offscreen",i)){let t=this.style._layers[e];if(!t.hasOffscreenPass()||t.isHidden(this.transform.zoom))continue;let n=a[t.source];("custom"===t.type||n.length)&&this.renderLayer(this,r[t.source],t,n)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:n.showOverdrawInspector?t.aO.black:t.aO.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){let e=this.style._layers[i[this.currentLayer]],t=r[e.source],n=o[e.source];this._renderTileClippingMasks(e,n),this.renderLayer(this,t,e,n)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){let e=this.style._layers[i[this.currentLayer]],t=r[e.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(e))continue;let n=("symbol"===e.type?s:a)[e.source];this._renderTileClippingMasks(e,o[e.source]),this.renderLayer(this,t,e,n)}if(this.options.showTileBoundaries){let e=function(e,t){let n=null,i=Object.values(e._layers).flatMap(n=>n.source&&!n.isHidden(t)?[e.sourceCaches[n.source]]:[]),r=i.filter(e=>"vector"===e.getSource().type),o=i.filter(e=>"vector"!==e.getSource().type),a=e=>{(!n||n.getSource().maxzoom<e.getSource().maxzoom)&&(n=e)};return r.forEach(e=>a(e)),n||o.forEach(e=>a(e)),n}(this.style,this.transform.zoom);e&&function(e,n,i){for(let r=0;r<i.length;r++)!function(e,n,i){let r=e.context,o=r.gl,a=i.posMatrix,s=e.useProgram("debug"),l=ni.disabled,c=nr.disabled,d=e.colorModeForRenderPass(),u="$debug",m=e.style.map.terrain&&e.style.map.terrain.getTerrainData(i);r.activeTexture.set(o.TEXTURE0);let h=n.getTileByID(i.key).latestRawTileData,f=Math.floor((h&&h.byteLength||0)/1024),p=512/Math.min(n.getTile(i).tileSize,512)*(i.overscaledZ/e.transform.zoom)*.5,b=i.canonical.toString();i.overscaledZ!==i.canonical.z&&(b+=` => ${i.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,i=e.context.gl,r=e.debugOverlayCanvas.getContext("2d");r.clearRect(0,0,n.width,n.height),r.shadowColor="white",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle="white",r.textBaseline="top",r.font="bold 36px Open Sans, sans-serif",r.fillText(t,5,5),r.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE)}(e,`${b} ${f}kB`),s.draw(r,o.TRIANGLES,l,c,nt.alphaBlended,no.disabled,ts(a,t.aO.transparent,p),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(r,o.LINE_STRIP,l,c,d,no.disabled,ts(a,t.aO.red),m,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}(e,n,i[r])}(this,e,e.getVisibleCoordinates())}this.options.showPadding&&function(e){var t,n;let i=e.transform.padding;n_(e,e.transform.height-(i.top||0),3,nh),n_(e,i.bottom||0,3,nf),ny(e,i.left||0,3,np),ny(e,e.transform.width-(i.right||0),3,nb);let r=e.transform.centerPoint;t=r.x,n=e.transform.height-r.y,nv(e,t-1,n-10,2,20,ng),nv(e,t-10,n-1,20,2,ng)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(e){if(!this.style||!this.style.map||!this.style.map.terrain)return;let n=this.terrainFacilitator.matrix,i=this.transform.projMatrix,r=this.terrainFacilitator.dirty;r||(r=e?!t.aY(n,i):!t.aZ(n,i)),r||(r=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),r&&(t.a_(n,i),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,n){let i=e.context,r=i.gl,o=nt.unblended,a=new ni(r.LEQUAL,ni.ReadWrite,[0,1]),s=n.getTerrainMesh(),l=n.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");for(let d of(i.bindFramebuffer.set(n.getFramebuffer("depth").framebuffer),i.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),i.clear({color:t.aO.transparent,depth:1}),l)){let t=n.getTerrainData(d.tileID),l={u_matrix:e.transform.calculatePosMatrix(d.tileID.toUnwrapped()),u_ele_delta:n.getMeshFrameDelta(e.transform.zoom)};c.draw(i,r.TRIANGLES,a,nr.disabled,o,no.backCCW,l,t,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}i.bindFramebuffer.set(null),i.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,n){let i=e.context,r=i.gl,o=nt.unblended,a=new ni(r.LEQUAL,ni.ReadWrite,[0,1]),s=n.getTerrainMesh(),l=n.getCoordsTexture(),c=n.sourceCache.getRenderableTiles(),d=e.useProgram("terrainCoords");for(let u of(i.bindFramebuffer.set(n.getFramebuffer("coords").framebuffer),i.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),i.clear({color:t.aO.transparent,depth:1}),n.coordsIndex=[],c)){let t=n.getTerrainData(u.tileID);i.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,l.texture);let c={u_matrix:e.transform.calculatePosMatrix(u.tileID.toUnwrapped()),u_terrain_coords_id:(255-n.coordsIndex.length)/255,u_texture:0,u_ele_delta:n.getMeshFrameDelta(e.transform.zoom)};d.draw(i,r.TRIANGLES,a,nr.disabled,o,no.backCCW,c,t,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),n.coordsIndex.push(u.tileID.key)}i.bindFramebuffer.set(null),i.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,n,i,r){if(!i.isHidden(this.transform.zoom)&&("background"===i.type||"custom"===i.type||(r||[]).length))switch(this.id=i.id,i.type){case"symbol":!function(e,n,i,r,o){if("translucent"!==e.renderPass)return;let a=nr.disabled,s=e.colorModeForRenderPass();(i._unevaluatedLayout.hasValue("text-variable-anchor")||i._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(e,n,i,r,o,a,s){let l=n.transform,c="map"===o,d="map"===a;for(let o of e){let e=r.getTile(o),a=e.getBucket(i);if(!a||!a.text||!a.text.segments.get().length)continue;let u=t.ag(a.textSizeData,l.zoom),m=eD(e,1,n.transform.zoom),h=eg(o.posMatrix,d,c,n.transform,m),f="none"!==i.layout.get("icon-text-fit")&&a.hasIconData();if(u){let i=Math.pow(2,l.zoom-e.tileID.overscaledZ);!function(e,n,i,r,o,a,s,l,c,d,u){let m=e.text.placedSymbolArray,h=e.text.dynamicLayoutVertexArray,f=e.icon.dynamicLayoutVertexArray,p={};h.clear();for(let f=0;f<m.length;f++){let b=m.get(f),g=b.hidden||!b.crossTileID||e.allowVerticalPlacement&&!b.placedOrientation?null:r[b.crossTileID];if(g){let r=new t.P(b.anchorX,b.anchorY),m=ey(r,i?s:a,u),f=ev(o.cameraToCenterDistance,m.signedDistanceFromCamera),_=t.ai(e.textSizeData,c,b)*f/t.ao;i&&(_*=e.tilePixelRatio/l);let{width:y,height:v,anchor:x,textOffset:w,textBoxScale:F}=g,k=function(e,n,i,r,o,a){let{horizontalAlign:s,verticalAlign:l}=t.at(e);return new t.P((-(s-.5)*n/o+r[0])*a,(-(l-.5)*i/o+r[1])*a)}(x,y,v,w,F,_),E=i?ey(r.add(k),a,u).point:m.point.add(n?k.rotate(-o.angle):k),A=e.allowVerticalPlacement&&b.placedOrientation===t.ah.vertical?Math.PI/2:0;for(let e=0;e<b.numGlyphs;e++)t.aj(h,E,A);d&&b.associatedIconIndex>=0&&(p[b.associatedIconIndex]={shiftedAnchor:E,angle:A})}else eM(b.numGlyphs,h)}if(d){f.clear();let n=e.icon.placedSymbolArray;for(let e=0;e<n.length;e++){let i=n.get(e);if(i.hidden)eM(i.numGlyphs,f);else{let n=p[e];if(n)for(let e=0;e<i.numGlyphs;e++)t.aj(f,n.shiftedAnchor,n.angle);else eM(i.numGlyphs,f)}}e.icon.dynamicLayoutVertexBuffer.updateData(f)}e.text.dynamicLayoutVertexBuffer.updateData(h)}(a,c,d,s,l,h,o.posMatrix,i,u,f,n.style.map.terrain?(e,t)=>n.style.map.terrain.getElevation(o,e,t):null)}}}(r,e,i,n,i.layout.get("text-rotation-alignment"),i.layout.get("text-pitch-alignment"),o),0!==i.paint.get("icon-opacity").constantOr(1)&&nl(e,n,i,r,!1,i.paint.get("icon-translate"),i.paint.get("icon-translate-anchor"),i.layout.get("icon-rotation-alignment"),i.layout.get("icon-pitch-alignment"),i.layout.get("icon-keep-upright"),a,s),0!==i.paint.get("text-opacity").constantOr(1)&&nl(e,n,i,r,!0,i.paint.get("text-translate"),i.paint.get("text-translate-anchor"),i.layout.get("text-rotation-alignment"),i.layout.get("text-pitch-alignment"),i.layout.get("text-keep-upright"),a,s),n.map.showCollisionBoxes&&(na(e,n,i,r,i.paint.get("text-translate"),i.paint.get("text-translate-anchor"),!0),na(e,n,i,r,i.paint.get("icon-translate"),i.paint.get("icon-translate-anchor"),!1))}(e,n,i,r,this.style.placement.variableOffsets);break;case"circle":!function(e,n,i,r){if("translucent"!==e.renderPass)return;let o=i.paint.get("circle-opacity"),a=i.paint.get("circle-stroke-width"),s=i.paint.get("circle-stroke-opacity"),l=!i.layout.get("circle-sort-key").isConstant();if(0===o.constantOr(1)&&(0===a.constantOr(1)||0===s.constantOr(1)))return;let c=e.context,d=c.gl,u=e.depthModeForSublayer(0,ni.ReadOnly),m=nr.disabled,h=e.colorModeForRenderPass(),f=[];for(let o=0;o<r.length;o++){let a=r[o],s=n.getTile(a),c=s.getBucket(i);if(!c)continue;let d=c.programConfigurations.get(i.id),u=e.useProgram("circle",d),m=c.layoutVertexBuffer,h=c.indexBuffer,p=e.style.map.terrain&&e.style.map.terrain.getTerrainData(a),b={programConfiguration:d,program:u,layoutVertexBuffer:m,indexBuffer:h,uniformValues:to(e,a,s,i),terrainData:p};if(l)for(let e of c.segments.get())f.push({segments:new t.$([e]),sortKey:e.sortKey,state:b});else f.push({segments:c.segments,sortKey:0,state:b})}for(let t of(l&&f.sort((e,t)=>e.sortKey-t.sortKey),f)){let{programConfiguration:n,program:r,layoutVertexBuffer:o,indexBuffer:a,uniformValues:s,terrainData:l}=t.state;r.draw(c,d.TRIANGLES,u,m,h,no.disabled,s,l,i.id,o,a,t.segments,i.paint,e.transform.zoom,n)}}(e,n,i,r);break;case"heatmap":!function(e,n,i,r){if(0!==i.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){let o=e.context,a=o.gl,s=nr.disabled,l=new nt([a.ONE,a.ONE],t.aO.transparent,[!0,!0,!0,!0]);!function(e,t,n){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,t.width/4,t.height/4]);let r=n.heatmapFbo;if(r)i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),e.bindFramebuffer.set(r.framebuffer);else{let o=i.createTexture();i.bindTexture(i.TEXTURE_2D,o),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),r=n.heatmapFbo=e.createFramebuffer(t.width/4,t.height/4,!1,!1),function(e,t,n,i){var r,o;let a=e.gl,s=null!=(r=e.HALF_FLOAT)?r:a.UNSIGNED_BYTE,l=null!=(o=e.RGBA16F)?o:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,t.width/4,t.height/4,0,a.RGBA,s,null),i.colorAttachment.set(n)}(e,t,o,r)}}(o,e,i),o.clear({color:t.aO.transparent});for(let t=0;t<r.length;t++){let c=r[t];if(n.hasRenderableParent(c))continue;let d=n.getTile(c),u=d.getBucket(i);if(!u)continue;let m=u.programConfigurations.get(i.id),h=e.useProgram("heatmap",m),{zoom:f}=e.transform;h.draw(o,a.TRIANGLES,ni.disabled,s,l,no.disabled,tc(c.posMatrix,d,f,i.paint.get("heatmap-intensity")),null,i.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,i.paint,e.transform.zoom,m)}o.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,n){let i=e.context,r=i.gl,o=n.heatmapFbo;if(!o)return;i.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,o.colorAttachment.get()),i.activeTexture.set(r.TEXTURE1);let a=n.colorRampTexture;a||(a=n.colorRampTexture=new M(i,n.colorRamp,r.RGBA)),a.bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(i,r.TRIANGLES,ni.disabled,nr.disabled,e.colorModeForRenderPass(),no.disabled,((e,n,i,r)=>{let o=t.F();t.aN(o,0,e.width,e.height,0,0,1);let a=e.context.gl;return{u_matrix:o,u_world:[a.drawingBufferWidth,a.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:n.paint.get("heatmap-opacity")}})(e,n),null,n.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,n.paint,e.transform.zoom)}(e,i))}(e,n,i,r);break;case"line":!function(e,n,i,r){if("translucent"!==e.renderPass)return;let o=i.paint.get("line-opacity"),a=i.paint.get("line-width");if(0===o.constantOr(1)||0===a.constantOr(1))return;let s=e.depthModeForSublayer(0,ni.ReadOnly),l=e.colorModeForRenderPass(),c=i.paint.get("line-dasharray"),d=i.paint.get("line-pattern"),u=d.constantOr(1),m=i.paint.get("line-gradient"),h=i.getCrossfadeParameters(),f=u?"linePattern":c?"lineSDF":m?"lineGradient":"line",p=e.context,b=p.gl,g=!0;for(let o of r){let r=n.getTile(o);if(u&&!r.patternsLoaded())continue;let a=r.getBucket(i);if(!a)continue;let _=a.programConfigurations.get(i.id),y=e.context.program.get(),v=e.useProgram(f,_),x=g||v.program!==y,w=e.style.map.terrain&&e.style.map.terrain.getTerrainData(o),F=d.constantOr(null);if(F&&r.imageAtlas){let e=r.imageAtlas,t=e.patternPositions[F.to.toString()],n=e.patternPositions[F.from.toString()];t&&n&&_.setConstantPatternPositions(t,n)}let k=w?o:null,E=u?tm(e,r,i,h,k):c?th(e,r,i,c,h,k):m?tu(e,r,i,a.lineClipsArray.length,k):td(e,r,i,k);if(u)p.activeTexture.set(b.TEXTURE0),r.imageAtlasTexture.bind(b.LINEAR,b.CLAMP_TO_EDGE),_.updatePaintBuffers(h);else if(c&&(x||e.lineAtlas.dirty))p.activeTexture.set(b.TEXTURE0),e.lineAtlas.bind(p);else if(m){let r=a.gradients[i.id],s=r.texture;if(i.gradientVersion!==r.version){let l=256;if(i.stepInterpolant){let i=n.getSource().maxzoom,r=o.canonical.z===i?Math.ceil(1<<e.transform.maxZoom-o.canonical.z):1;l=t.ac(t.aT(a.maxLineLength/t.W*1024*r),256,p.maxTextureSize)}r.gradient=t.aU({expression:i.gradientExpression(),evaluationKey:"lineProgress",resolution:l,image:r.gradient||void 0,clips:a.lineClipsArray}),r.texture?r.texture.update(r.gradient):r.texture=new M(p,r.gradient,b.RGBA),r.version=i.gradientVersion,s=r.texture}p.activeTexture.set(b.TEXTURE0),s.bind(i.stepInterpolant?b.NEAREST:b.LINEAR,b.CLAMP_TO_EDGE)}v.draw(p,b.TRIANGLES,s,e.stencilModeForClipping(o),l,no.disabled,E,w,i.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,i.paint,e.transform.zoom,_,a.layoutVertexBuffer2),g=!1}}(e,n,i,r);break;case"fill":!function(e,n,i,r){let o=i.paint.get("fill-color"),a=i.paint.get("fill-opacity");if(0===a.constantOr(1))return;let s=e.colorModeForRenderPass(),l=i.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===o.constantOr(t.aO.transparent).a&&1===a.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){let t=e.depthModeForSublayer(1,"opaque"===e.renderPass?ni.ReadWrite:ni.ReadOnly);nu(e,n,i,r,t,s,!1)}if("translucent"===e.renderPass&&i.paint.get("fill-antialias")){let t=e.depthModeForSublayer(2*!!i.getPaintProperty("fill-outline-color"),ni.ReadOnly);nu(e,n,i,r,t,s,!0)}}(e,n,i,r);break;case"fill-extrusion":let o=i.paint.get("fill-extrusion-opacity");if(0!==o&&"translucent"===e.renderPass){let t=new ni(e.context.gl.LEQUAL,ni.ReadWrite,e.depthRangeFor3D);if(1!==o||i.paint.get("fill-extrusion-pattern").constantOr(1))nm(e,n,i,r,t,nr.disabled,nt.disabled),nm(e,n,i,r,t,e.stencilModeFor3D(),e.colorModeForRenderPass());else{let o=e.colorModeForRenderPass();nm(e,n,i,r,t,nr.disabled,o)}}break;case"hillshade":!function(e,n,i,r){if("offscreen"!==e.renderPass&&"translucent"!==e.renderPass)return;let o=e.context,a=e.depthModeForSublayer(0,ni.ReadOnly),s=e.colorModeForRenderPass(),[l,c]="translucent"===e.renderPass?e.stencilConfigForOverlap(r):[{},r];for(let r of c){let o=n.getTile(r);void 0!==o.needsHillshadePrepare&&o.needsHillshadePrepare&&"offscreen"===e.renderPass?function(e,n,i,r,o,a){let s=e.context,l=s.gl,c=n.dem;if(c&&c.data){let d=c.dim,u=c.stride,m=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),n.demTexture=n.demTexture||e.getTileTexture(u),n.demTexture){let e=n.demTexture;e.update(m,{premultiply:!1}),e.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else n.demTexture=new M(s,m,l.RGBA,{premultiply:!1}),n.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);let h=n.fbo;if(!h){let e=new M(s,{width:d,height:d,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),(h=n.fbo=s.createFramebuffer(d,d,!0,!1)).colorAttachment.set(e.texture)}s.bindFramebuffer.set(h.framebuffer),s.viewport.set([0,0,d,d]),e.useProgram("hillshadePrepare").draw(s,l.TRIANGLES,r,o,a,no.disabled,((e,n)=>{let i=n.stride,r=t.F();return t.aN(r,0,t.W,-t.W,0,0,1),t.H(r,r,[0,-t.W,0]),{u_matrix:r,u_image:1,u_dimension:[i,i],u_zoom:e.overscaledZ,u_unpack:n.getUnpackVector()}})(n.tileID,c),null,i.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),n.needsHillshadePrepare=!1}}(e,o,i,a,nr.disabled,s):"translucent"===e.renderPass&&function(e,n,i,r,o,a,s){let l=e.context,c=l.gl,d=i.fbo;if(!d)return;let u=e.useProgram("hillshade"),m=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n);l.activeTexture.set(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,d.colorAttachment.get()),u.draw(l,c.TRIANGLES,o,a,s,no.disabled,((e,n,i,r)=>{let o=i.paint.get("hillshade-shadow-color"),a=i.paint.get("hillshade-highlight-color"),s=i.paint.get("hillshade-accent-color"),l=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(l-=e.transform.angle);let c=!e.options.moving;return{u_matrix:r?r.posMatrix:e.transform.calculatePosMatrix(n.tileID.toUnwrapped(),c),u_image:0,u_latrange:function(e,n){let i=Math.pow(2,n.canonical.z),r=n.canonical.y;return[new t.Y(0,r/i).toLngLat().lat,new t.Y(0,(r+1)/i).toLngLat().lat]}(0,n.tileID),u_light:[i.paint.get("hillshade-exaggeration"),l],u_shadow:o,u_highlight:a,u_accent:s}})(e,i,r,m?n:null),m,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}(e,r,o,i,a,l[r.overscaledZ],s)}o.viewport.set([0,0,e.width,e.height])}(e,n,i,r);break;case"raster":!function(e,n,i,r){if("translucent"!==e.renderPass||0===i.paint.get("raster-opacity")||!r.length)return;let o=e.context,a=o.gl,s=n.getSource(),l=e.useProgram("raster"),c=e.colorModeForRenderPass(),[d,m]=s instanceof Q?[{},r]:e.stencilConfigForOverlap(r),h=m[m.length-1].overscaledZ,f=!e.options.moving;for(let r of m){let m,p,b=e.depthModeForSublayer(r.overscaledZ-h,1===i.paint.get("raster-opacity")?ni.ReadWrite:ni.ReadOnly,a.LESS),g=n.getTile(r);g.registerFadeDuration(i.paint.get("raster-fade-duration"));let _=n.findLoadedParent(r,0),y=function(e,n,i,r,o,a){let s=r.paint.get("raster-fade-duration");if(!a&&s>0){let r=u.now(),a=(r-e.timeAdded)/s,l=n?(r-n.timeAdded)/s:-1,c=i.getSource(),d=o.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),m=!n||Math.abs(n.tileID.overscaledZ-d)>Math.abs(e.tileID.overscaledZ-d),h=m&&e.refreshedUponExpiration?1:t.ac(m?a:1-l,0,1);return e.refreshedUponExpiration&&a>=1&&(e.refreshedUponExpiration=!1),n?{opacity:1,mix:1-h}:{opacity:h,mix:0}}return{opacity:1,mix:0}}(g,_,n,i,e.transform,e.style.map.terrain),v="nearest"===i.paint.get("raster-resampling")?a.NEAREST:a.LINEAR;o.activeTexture.set(a.TEXTURE0),g.texture.bind(v,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(a.TEXTURE1),_?(_.texture.bind(v,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),m=Math.pow(2,_.tileID.overscaledZ-g.tileID.overscaledZ),p=[g.tileID.canonical.x*m%1,g.tileID.canonical.y*m%1]):g.texture.bind(v,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);let x=e.style.map.terrain&&e.style.map.terrain.getTerrainData(r),w=x?r:null,F=tb(w?w.posMatrix:e.transform.calculatePosMatrix(r.toUnwrapped(),f),p||[0,0],m||1,y,i);s instanceof Q?l.draw(o,a.TRIANGLES,b,nr.disabled,c,no.disabled,F,x,i.id,s.boundsBuffer,e.quadTriangleIndexBuffer,s.boundsSegments):l.draw(o,a.TRIANGLES,b,d[r.overscaledZ],c,no.disabled,F,x,i.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}(e,n,i,r);break;case"background":!function(e,t,n,i){let r=n.paint.get("background-color"),o=n.paint.get("background-opacity");if(0===o)return;let a=e.context,s=a.gl,l=e.transform,c=l.tileSize,d=n.paint.get("background-pattern");if(e.isPatternMissing(d))return;let u=!d&&1===r.a&&1===o&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==u)return;let m=nr.disabled,h=e.depthModeForSublayer(0,"opaque"===u?ni.ReadWrite:ni.ReadOnly),f=e.colorModeForRenderPass(),p=e.useProgram(d?"backgroundPattern":"background"),b=i||l.coveringTiles({tileSize:c,terrain:e.style.map.terrain});d&&(a.activeTexture.set(s.TEXTURE0),e.imageManager.bind(e.context));let g=n.getCrossfadeParameters();for(let t of b){let l=i?t.posMatrix:e.transform.calculatePosMatrix(t.toUnwrapped()),u=d?tx(l,o,e,d,{tileID:t,tileSize:c},g):tv(l,o,r),b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);p.draw(a,s.TRIANGLES,h,m,f,no.disabled,u,b,n.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}(e,0,i,r);break;case"custom":let a=e.context,s=i.implementation;if("offscreen"===e.renderPass){let t=s.prerender;t&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),t.call(s,a.gl,e.transform.customLayerMatrix()),a.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(nr.disabled);let t="3d"===s.renderingMode?new ni(e.context.gl.LEQUAL,ni.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,ni.ReadOnly);a.setDepthMode(t),s.render(a.gl,e.transform.customLayerMatrix()),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}}}translatePosMatrix(e,n,i,r,o){if(!i[0]&&!i[1])return e;let a=o?"map"===r?this.transform.angle:0:"viewport"===r?-this.transform.angle:0;if(a){let e=Math.sin(a),t=Math.cos(a);i=[i[0]*t-i[1]*e,i[0]*e+i[1]*t]}let s=[o?i[0]:eD(n,i[0],this.transform.zoom),o?i[1]:eD(n,i[1],this.transform.zoom),0],l=new Float32Array(16);return t.H(l,e,s),l}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),n=this.imageManager.getPattern(e.to.toString());return!t||!n}useProgram(e,t){this.cache=this.cache||{};let n=e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[n]||(this.cache[n]=new e8(this.context,e5[e],t,tw[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[n]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new M(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}class nF{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,n,i){let r=Math.pow(2,i),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(i=>{let o=1/(i=t.af([],i,e))[3]/n*r;return t.a$(i,i,[o,o,1/i[3],o])}),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(e=>{var t,n,i,r,a,s,l,c,d,u,m,h,f,p,b,g;let _=(m=[],f=(n=[],i=A([],o[e[0]],o[e[1]]),r=A([],o[e[2]],o[e[1]]),a=i[0],s=i[1],l=i[2],c=r[0],d=r[1],u=r[2],n[0]=s*u-l*d,n[1]=l*c-a*u,n[2]=a*d-s*c,h=n)[0],(g=f*f+(p=h[1])*p+(b=h[2])*b)>0&&(g=1/Math.sqrt(g)),m[0]=h[0]*g,m[1]=h[1]*g,m[2]=h[2]*g,m),y=-(_[0]*(t=o[e[1]])[0]+_[1]*t[1]+_[2]*t[2]);return _.concat(y)});return new nF(o,a)}}class nk{constructor(e,t){this.min=e,this.max=t,this.center=function(e,t,n){return e[0]=.5*t[0],e[1]=.5*t[1],e[2]=.5*t[2],e}([],function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}([],this.min,this.max))}quadrant(e){let t=[e%2==0,e<2],n=x(this.min),i=x(this.max);for(let e=0;e<t.length;e++)n[e]=t[e]?this.min[e]:this.center[e],i[e]=t[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new nk(n,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersects(e){let n=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],i=!0;for(let r=0;r<e.planes.length;r++){let o=e.planes[r],a=0;for(let e=0;e<n.length;e++)t.b0(o,n[e])>=0&&a++;if(0===a)return 0;a!==n.length&&(i=!1)}if(i)return 2;for(let t=0;t<3;t++){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let r=0;r<e.points.length;r++){let o=e.points[r][t]-this.min[t];n=Math.min(n,o),i=Math.max(i,o)}if(i<0||n>this.max[t]-this.min[t])return 0}return 1}}class nE{constructor(e=0,t=0,n=0,i=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(n)||n<0||isNaN(i)||i<0)throw Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=n,this.right=i}interpolate(e,n,i){return null!=n.top&&null!=e.top&&(this.top=t.z.number(e.top,n.top,i)),null!=n.bottom&&null!=e.bottom&&(this.bottom=t.z.number(e.bottom,n.bottom,i)),null!=n.left&&null!=e.left&&(this.left=t.z.number(e.left,n.left,i)),null!=n.right&&null!=e.right&&(this.right=t.z.number(e.right,n.right,i)),this}getCenter(e,n){let i=t.ac((this.left+e-this.right)/2,0,e),r=t.ac((this.top+n-this.bottom)/2,0,n);return new t.P(i,r)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new nE(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class nA{constructor(e,n,i,r,o){this.tileSize=512,this._renderWorldCopies=void 0===o||!!o,this._minZoom=e||0,this._maxZoom=n||22,this._minPitch=null==i?0:i,this._maxPitch=null==r?60:r,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.M(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new nE,this._posMatrixCache={},this._alignedPosMatrixCache={},this.minElevationForCurrentTile=0}clone(){let e=new nA(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){var n,i,r,o,a,s,l,c,d,u;let m=-t.b1(e,-180,180)*Math.PI/180;this.angle!==m&&(this._unmodified=!1,this.angle=m,this._calcMatrices(),this.rotationMatrix=(n=new t.A(4),t.A!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),i=this.rotationMatrix,r=this.rotationMatrix,o=this.angle,a=r[0],s=r[1],l=r[2],c=r[3],d=Math.sin(o),u=Math.cos(o),i[0]=a*u+l*d,i[1]=s*u+c*d,i[2]=-(a*d)+l*u,i[3]=-(s*d)+c*u)}get pitch(){return this._pitch/Math.PI*180}set pitch(e){let n=t.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==n&&(this._unmodified=!1,this._pitch=n,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){let t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.tileZoom=Math.max(0,Math.floor(t)),this.scale=this.zoomScale(t),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){return Math.max(0,(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize)))}getVisibleUnwrappedCoordinates(e){let n=[new t.b2(0,e)];if(this._renderWorldCopies){let i=this.pointCoordinate(new t.P(0,0)),r=this.pointCoordinate(new t.P(this.width,0)),o=this.pointCoordinate(new t.P(this.width,this.height)),a=this.pointCoordinate(new t.P(0,this.height)),s=Math.floor(Math.min(i.x,r.x,o.x,a.x)),l=Math.floor(Math.max(i.x,r.x,o.x,a.x));for(let i=s-1;i<=l+1;i++)0!==i&&n.push(new t.b2(i,e))}return n}coveringTiles(e){var n,i;let r=this.coveringZoomLevel(e),o=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);let a=this.pointCoordinate(this.getCameraPoint()),s=t.Y.fromLngLat(this.center),l=Math.pow(2,r),c=[l*a.x,l*a.y,0],d=[l*s.x,l*s.y,0],u=nF.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),m=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(m=r);let h=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,f=e=>({aabb:new nk([e*l,0,0],[(e+1)*l,l,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),p=[],b=[],g=r,_=e.reparseOverscaled?o:r;if(this._renderWorldCopies)for(let e=1;e<=3;e++)p.push(f(-e)),p.push(f(e));for(p.push(f(0));p.length>0;){let r=p.pop(),o=r.x,a=r.y,s=r.fullyVisible;if(!s){let e=r.aabb.intersects(u);if(0===e)continue;s=2===e}let l=e.terrain?c:d,f=Math.max(Math.abs(r.aabb.distanceX(l)),Math.abs(r.aabb.distanceY(l)));if(r.zoom===g||f>h+(1<<g-r.zoom)-2&&r.zoom>=m){let e=g-r.zoom,n=c[0]-.5-(o<<e),i=c[1]-.5-(a<<e);b.push({tileID:new t.Q(r.zoom===g?_:r.zoom,r.wrap,r.zoom,o,a),distanceSq:T([d[0]-.5-o,d[1]-.5-a]),tileDistanceToCamera:Math.sqrt(n*n+i*i)})}else for(let l=0;l<4;l++){let c=(o<<1)+l%2,d=(a<<1)+(l>>1),u=r.zoom+1,m=r.aabb.quadrant(l);if(e.terrain){let o=new t.Q(u,r.wrap,u,c,d),a=e.terrain.getMinMaxElevation(o),s=null!=(n=a.minElevation)?n:this.elevation,l=null!=(i=a.maxElevation)?i:this.elevation;m=new nk([m.min[0],m.min[1],s],[m.max[0],m.max[1],l])}p.push({aabb:m,zoom:u,x:c,y:d,wrap:r.wrap,fullyVisible:s})}}return b.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){let n=t.ac(e.lat,-85.051129,85.051129);return new t.P(t.N(e.lng)*this.worldSize,t.O(n)*this.worldSize)}unproject(e){return new t.Y(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){let n=this.elevation,i=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,r=this.pointLocation(this.centerPoint,e),o=e.getElevationForLngLatZoom(r,this.tileZoom);if(!(this.elevation-o))return;let a=Math.cos(this._pitch)*this.cameraToCenterDistance/(i+n-o)/t.b3(1,r.lat),s=this.scaleZoom(a/this.tileSize);this._elevation=o,this._center=r,this.zoom=s}setLocationAtPoint(e,n){let i=this.pointCoordinate(n),r=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(e),a=new t.Y(o.x-(i.x-r.x),o.y-(i.y-r.y));this.center=this.coordinateLocation(a),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,t){return t?this.coordinatePoint(this.locationCoordinate(e),t.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,t){return this.coordinateLocation(this.pointCoordinate(e,t))}locationCoordinate(e){return t.Y.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,n){if(n){let t=n.pointCoordinate(e);if(null!=t)return t}let i=[e.x,e.y,0,1],r=[e.x,e.y,1,1];t.af(i,i,this.pixelMatrixInverse),t.af(r,r,this.pixelMatrixInverse);let o=i[3],a=r[3],s=i[1]/o,l=r[1]/a,c=i[2]/o,d=r[2]/a,u=c===d?0:(0-c)/(d-c);return new t.Y(t.z.number(i[0]/o,r[0]/a,u)/this.worldSize,t.z.number(s,l,u)/this.worldSize)}coordinatePoint(e,n=0,i=this.pixelMatrix){let r=[e.x*this.worldSize,e.y*this.worldSize,n,1];return t.af(r,r,i),new t.P(r[0]/r[3],r[1]/r[3])}getBounds(){let e=Math.max(0,this.height/2-this.getHorizon());return(new G).extend(this.pointLocation(new t.P(0,e))).extend(this.pointLocation(new t.P(this.width,e))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new G([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,85.051129])}calculatePosMatrix(e,n=!1){let i=e.key,r=n?this._alignedPosMatrixCache:this._posMatrixCache;if(r[i])return r[i];let o=e.canonical,a=this.worldSize/this.zoomScale(o.z),s=o.x+Math.pow(2,o.z)*e.wrap,l=t.an(new Float64Array(16));return t.H(l,l,[s*a,o.y*a,0]),t.J(l,l,[a/t.W,a/t.W,1]),t.K(l,n?this.alignedProjMatrix:this.projMatrix,l),r[i]=new Float32Array(l),r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,n){let i,r;n=t.ac(+n,this.minZoom,this.maxZoom);let o={center:new t.M(e.lng,e.lat),zoom:n},a=this.lngRange;this._renderWorldCopies||null!==a||(a=[-(180-1e-10),180-1e-10]);let s=this.tileSize*this.zoomScale(o.zoom),l=0,c=s,d=0,u=s,m=0,h=0,{x:f,y:p}=this.size;if(this.latRange){let e=this.latRange;l=t.O(e[1])*s,(c=t.O(e[0])*s)-l<p&&(m=p/(c-l))}a&&(d=t.b1(t.N(a[0])*s,0,s),(u=t.b1(t.N(a[1])*s,0,s))<d&&(u+=s),u-d<f&&(h=f/(u-d)));let{x:b,y:g}=this.project.call({worldSize:s},e),_=Math.max(h||0,m||0);if(_){let e=new t.P(h?(u+d)/2:b,m?(c+l)/2:g);return o.center=this.unproject.call({worldSize:s},e).wrap(),o.zoom+=this.scaleZoom(_),o}if(this.latRange){let e=p/2;g-e<l&&(r=l+e),g+e>c&&(r=c-e)}if(a){let e=(d+u)/2,n=b;this._renderWorldCopies&&(n=t.b1(b,e-s/2,e+s/2));let r=f/2;n-r<d&&(i=d+r),n+r>u&&(i=u-r)}if(void 0!==i||void 0!==r){let e=new t.P(null!=i?i:b,null!=r?r:g);o.center=this.unproject.call({worldSize:s},e).wrap()}return o}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.getConstrained(this.center,this.zoom);this.center=t,this.zoom=n,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;let e=this.centerOffset,n=this.point.x,i=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b3(1,this.center.lat)*this.worldSize;let r=t.an(new Float64Array(16));t.J(r,r,[this.width/2,-this.height/2,1]),t.H(r,r,[1,-1,0]),this.labelPlaneMatrix=r,r=t.an(new Float64Array(16)),t.J(r,r,[1,-1,1]),t.H(r,r,[-1,-1,0]),t.J(r,r,[2/this.width,2/this.height,1]),this.glCoordMatrix=r;let o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),a=Math.min(this.elevation,this.minElevationForCurrentTile),s=o-a*this._pixelPerMeter/Math.cos(this._pitch),l=a<0?s:o,c=Math.PI/2+this._pitch,d=this._fov*(.5+e.y/this.height),u=Math.sin(d)*l/Math.sin(t.ac(Math.PI-c-d,.01,Math.PI-.01)),m=this.getHorizon(),h=2*Math.atan(m/this.cameraToCenterDistance)*(.5+e.y/(2*m)),f=Math.min(u,Math.sin(h)*l/Math.sin(t.ac(Math.PI-c-h,.01,Math.PI-.01))),p=1.01*(Math.cos(Math.PI/2-this._pitch)*f+l),b=this.height/50;r=new Float64Array(16),t.b4(r,this._fov,this.width/this.height,b,p),r[8]=-(2*e.x)/this.width,r[9]=2*e.y/this.height,t.J(r,r,[1,-1,1]),t.H(r,r,[0,0,-this.cameraToCenterDistance]),t.b5(r,r,this._pitch),t.ad(r,r,this.angle),t.H(r,r,[-n,-i,0]),this.mercatorMatrix=t.J([],r,[this.worldSize,this.worldSize,this.worldSize]),t.J(r,r,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.K(new Float64Array(16),this.labelPlaneMatrix,r),t.H(r,r,[0,0,-this.elevation]),this.projMatrix=r,this.invProjMatrix=t.ar([],r),this.pixelMatrix3D=t.K(new Float64Array(16),this.labelPlaneMatrix,r);let g=this.width%2/2,_=this.height%2/2,y=Math.cos(this.angle),v=Math.sin(this.angle),x=n-Math.round(n)+y*g+v*_,w=i-Math.round(i)+y*_+v*g,F=new Float64Array(r);if(t.H(F,F,[x>.5?x-1:x,w>.5?w-1:w,0]),this.alignedProjMatrix=F,!(r=t.ar(new Float64Array(16),this.pixelMatrix)))throw Error("failed to invert matrix");this.pixelMatrixInverse=r,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let e=this.pointCoordinate(new t.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.af(n,n,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,e))}getCameraQueryGeometry(e){let n=this.getCameraPoint();if(1===e.length)return[e[0],n];{let i=n.x,r=n.y,o=n.x,a=n.y;for(let t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),o=Math.max(o,t.x),a=Math.max(a,t.y);return[new t.P(i,r),new t.P(o,r),new t.P(o,a),new t.P(i,a),new t.P(i,r)]}}lngLatToCameraDepth(e,n){let i=this.locationCoordinate(e),r=[i.x*this.worldSize,i.y*this.worldSize,n,1];return t.af(r,r,this.projMatrix),r[2]/r[3]}}function nT(e,t){let n,i=!1,r=null,o=null,a=()=>{r=null,i&&(e.apply(o,n),r=setTimeout(a,t),i=!1)};return(...e)=>(i=!0,o=this,n=e,r||a(),r)}class nC{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map(e=>e.split("=")).forEach(e=>{e[0]===this._hashName&&(t=e)}),(t&&t[1]||"").split("/")}return e.split("/")},this._onHashChange=()=>{let e=this._getCurrentHash();if(e.length>=3&&!e.some(e=>isNaN(e))){let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,e)}catch(e){}},this._updateHash=nT(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.pow(10,Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10)),r=Math.round(t.lng*i)/i,o=Math.round(t.lat*i)/i,a=this._map.getBearing(),s=this._map.getPitch(),l="";if(l+=e?`/${r}/${o}/${n}`:`${n}/${o}/${r}`,(a||s)&&(l+="/"+Math.round(10*a)/10),s&&(l+=`/${Math.round(s)}`),this._hashName){let e=this._hashName,t=!1,n=window.location.hash.slice(1).split("&").map(n=>{let i=n.split("=")[0];return i===e?(t=!0,`${i}=${l}`):n}).filter(e=>e);return t||n.push(`${e}=${l}`),`#${n.join("&")}`}return`#${l}`}}let nM={linearity:.3,easing:t.b6(0,0,.3,1)},nL=t.e({deceleration:2500,maxSpeed:1400},nM),nS=t.e({deceleration:20,maxSpeed:1400},nM),nD=t.e({deceleration:1e3,maxSpeed:360},nM),nI=t.e({deceleration:1e3,maxSpeed:90},nM);class nO{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=u.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let n={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)n.zoom+=e.zoomDelta||0,n.bearing+=e.bearingDelta||0,n.pitch+=e.pitchDelta||0,e.panDelta&&n.pan._add(e.panDelta),e.around&&(n.around=e.around),e.pinchAround&&(n.pinchAround=e.pinchAround);let i=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={};if(n.pan.mag()){let o=nP(n.pan.mag(),i,t.e({},nL,e||{}));r.offset=n.pan.mult(o.amount/n.pan.mag()),r.center=this._map.transform.center,nR(r,o)}if(n.zoom){let e=nP(n.zoom,i,nS);r.zoom=this._map.transform.zoom+e.amount,nR(r,e)}if(n.bearing){let e=nP(n.bearing,i,nD);r.bearing=this._map.transform.bearing+t.ac(e.amount,-179,179),nR(r,e)}if(n.pitch){let e=nP(n.pitch,i,nI);r.pitch=this._map.transform.pitch+e.amount,nR(r,e)}if(r.zoom||r.bearing){let e=void 0===n.pinchAround?n.around:n.pinchAround;r.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(r,{noMoveStart:!0})}}function nR(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function nP(e,n,i){let{maxSpeed:r,linearity:o,deceleration:a}=i,s=t.ac(e*o/(n/1e3),-r,r),l=Math.abs(s)/(a*o);return{easing:i.easing,duration:1e3*l,amount:l/2*s}}class nB extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,i,r={}){let o=m.mousePos(n.getCanvas(),i);super(e,t.e({point:o,lngLat:n.unproject(o),originalEvent:i},r)),this._defaultPrevented=!1,this.target=n}}class nz extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,i){let r="touchend"===e?i.changedTouches:i.touches,o=m.touchPos(n.getCanvasContainer(),r),a=o.map(e=>n.unproject(e)),s=o.reduce((e,t,n,i)=>e.add(t.div(i.length)),new t.P(0,0));super(e,{points:o,point:s,lngLats:a,lngLat:n.unproject(s),originalEvent:i}),this._defaultPrevented=!1}}class nY extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){super(e,{originalEvent:n}),this._defaultPrevented=!1}}class nN{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new nY(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new nB(e.type,this._map,e))}mouseup(e){this._map.fire(new nB(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new nB(e.type,this._map,e))}dblclick(e){return this._firePreventable(new nB(e.type,this._map,e))}mouseover(e){this._map.fire(new nB(e.type,this._map,e))}mouseout(e){this._map.fire(new nB(e.type,this._map,e))}touchstart(e){return this._firePreventable(new nz(e.type,this._map,e))}touchmove(e){this._map.fire(new nz(e.type,this._map,e))}touchend(e){this._map.fire(new nz(e.type,this._map,e))}touchcancel(e){this._map.fire(new nz(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class nH{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new nB(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new nB("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new nB(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class nj{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.pointLocation(t.P.convert(e),this._map.terrain)}}class nU{constructor(e,t){this._map=e,this._tr=new nj(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(m.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active||this._lastPos.equals(t)||!this._box&&t.dist(this._startPos)<this._clickTolerance)return;let n=this._startPos;this._lastPos=t,this._box||(this._box=m.create("div","maplibregl-boxzoom",this._container),this._container.classList.add("maplibregl-crosshair"),this._fireEvent("boxzoomstart",e));let i=Math.min(n.x,t.x),r=Math.max(n.x,t.x),o=Math.min(n.y,t.y),a=Math.max(n.y,t.y);m.setTransform(this._box,`translate(${i}px,${o}px)`),this._box.style.width=r-i+"px",this._box.style.height=a-o+"px"}mouseupWindow(e,n){if(!this._active||0!==e.button)return;let i=this._startPos;if(this.reset(),m.suppressClick(),i.x!==n.x||i.y!==n.y)return this._map.fire(new t.k("boxzoomend",{originalEvent:e})),{cameraAnimation:e=>e.fitScreenCoordinates(i,n,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(m.remove(this._box),this._box=null),m.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new t.k(e,{originalEvent:n}))}}function nV(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let n={};for(let i=0;i<e.length;i++)n[e[i].identifier]=t[i];return n}class nq{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,n,i){(this.centroid||i.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),i.length===this.numTouches&&(this.centroid=function(e){let n=new t.P(0,0);for(let t of e)n._add(t);return n.div(e.length)}(n),this.touches=nV(i,n)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let i=nV(n,t);for(let e in this.touches){let t=i[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===n.length){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class nG{constructor(e){this.singleTap=new nq(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let i=this.singleTap.touchend(e,t,n);if(i){let t=e.timeStamp-this.lastTime<500,n=!this.lastTap||30>this.lastTap.dist(i);if(t&&n||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=i,this.count===this.numTaps)return this.reset(),i}}}class n${constructor(e){this._tr=new nj(e),this._zoomIn=new nG({numTouches:1,numTaps:2}),this._zoomOut=new nG({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,t,n){let i=this._zoomIn.touchend(e,t,n),r=this._zoomOut.touchend(e,t,n),o=this._tr;return i?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:o.zoom+1,around:o.unproject(i)},{originalEvent:e})}):r?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:o.zoom-1,around:o.unproject(r)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nW{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=t.length?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let i=t.length?t[0]:t;return!this._moved&&i.dist(n)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=i,this._move(n,i))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&m.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let nX={0:1,2:2};class nK{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){let t=m.mouseButton(e);this._eventButton=t}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(e,t){let n=nX[t];return void 0===e.buttons||(e.buttons&n)!==n}(e,this._eventButton)}isValidEndEvent(e){return m.mouseButton(e)===this._eventButton}}class nZ{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return 1===e.targetTouches.length}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}let nJ=e=>{e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=function(e){e.preventDefault()}},nQ=({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:n=.8})=>new nW({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*n}),moveStateManager:new nK({checkCorrectEvent:e=>0===m.mouseButton(e)&&e.ctrlKey||2===m.mouseButton(e)}),enable:e,assignEvents:nJ}),n0=({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5})=>new nW({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new nK({checkCorrectEvent:e=>0===m.mouseButton(e)&&e.ctrlKey||2===m.mouseButton(e)}),enable:e,assignEvents:nJ});class n1{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active&&!(n.length<this.minTouchs()))return e.preventDefault(),this._calculateTransform(e,t,n)}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&n.length<this.minTouchs()&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,n,i){i.length>0&&(this._active=!0);let r=nV(i,n),o=new t.P(0,0),a=new t.P(0,0),s=0;for(let e in r){let t=r[e],n=this._touches[e];n&&(o._add(t),a._add(t.sub(n)),s++,r[e]=t)}if(this._touches=r,s<this.minTouchs()||!a.mag())return;let l=a.div(s);return this._sum._add(l),this._sum.mag()<this._clickTolerance?void 0:{around:o.div(s),panDelta:l}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class n2{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,t,n){this._firstTwoTouches||n.length<2||(this._firstTwoTouches=[n[0].identifier,n[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,n){if(!this._firstTwoTouches)return;e.preventDefault();let[i,r]=this._firstTwoTouches,o=n5(n,t,i),a=n5(n,t,r);if(!o||!a)return;let s=this._aroundCenter?null:o.add(a).div(2);return this._move([o,a],s,e)}touchend(e,t,n){if(!this._firstTwoTouches)return;let[i,r]=this._firstTwoTouches,o=n5(n,t,i),a=n5(n,t,r);o&&a||(this._active&&m.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function n5(e,t,n){for(let i=0;i<e.length;i++)if(e[i].identifier===n)return t[i]}function n3(e,t){return Math.log(e/t)/Math.LN2}class n4 extends n2{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(.1>Math.abs(n3(this._distance,this._startDistance))))return this._active=!0,{zoomDelta:n3(this._distance,n),pinchAround:t}}}function n6(e,t){return 180*e.angleWith(t)/Math.PI}class n8 extends n2{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,n){let i=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:n6(this._vector,i),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360;return Math.abs(n6(e,this._startVector))<t}}function n7(e){return Math.abs(e.y)>Math.abs(e.x)}class n9 extends n2{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,n){super.touchstart(e,t,n),this._currentTouchCount=n.length}_start(e){this._lastPoints=e,n7(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,n){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let i=e[0].sub(this._lastPoints[0]),r=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(i,r,n.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:-((i.y+r.y)/2*.5)}):void 0}gestureBeginsVertically(e,t,n){if(void 0!==this._valid)return this._valid;let i=e.mag()>=2,r=t.mag()>=2;if(!i&&!r)return;if(!i||!r)return void 0===this._firstMove&&(this._firstMove=n),n-this._firstMove<100&&void 0;let o=e.y>0==t.y>0;return n7(e)&&n7(t)&&o}}let ie=100,it=15,ii=10;class ir{constructor(e){this._tr=new nj(e),this._panStep=ie,this._bearingStep=it,this._pitchStep=ii,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,n=0,i=0,r=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:a=>{let s=this._tr;a.easeTo({duration:300,easeId:"keyboardHandler",easing:io,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+n*this._bearingStep,pitch:s.pitch+i*this._pitchStep,offset:[-r*this._panStep,-o*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function io(e){return e*(2-e)}class ia{constructor(e,t){this._onTimeout=e=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new nj(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around)}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled()||this._map.cooperativeGestures.isEnabled()&&!e[this._map.cooperativeGestures._bypassKey])return;let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=u.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==t&&t%4.000244140625==0?this._type="wheel":0!==t&&4>Math.abs(t)?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=200>Math.abs(i*t)?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let n=m.mousePos(this._map.getCanvas(),e),i=this._tr;this._around=n.y>i.transform.height/2-i.transform.getHorizon()?t.M.convert(this._aroundCenter?i.center:i.unproject(n)):t.M.convert(i.center),this._aroundPoint=i.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(0!==this._delta){let t="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,n=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==n&&(n=1/n);let i="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(i*n))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let n="number"==typeof this._targetZoom?this._targetZoom:e.zoom,i=this._startZoom,r=this._easing,o,a=!1;if("wheel"===this._type&&i&&r){let e=Math.min((u.now()-this._lastWheelEventTime)/200,1),s=r(e);o=t.z.number(i,n,s),e<1?this._frameId||(this._frameId=!0):a=!0}else o=n,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:o-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=t.b7;if(this._prevEase){let e=this._prevEase,i=(u.now()-e.start)/e.duration,r=e.easing(i+.01)-e.easing(i),o=.27/Math.sqrt(r*r+1e-4)*.01,a=Math.sqrt(.0729-o*o);n=t.b6(o,a,.25,1)}return this._prevEase={start:u.now(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class is{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class il{constructor(e){this._tr=new nj(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:n=>{n.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ic{constructor(){this._tap=new nG({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint)if(this._tapTime){let i=t[0],r=e.timeStamp-this._tapTime<500,o=30>this._tapPoint.dist(i);r&&o?n.length>0&&(this._swipePoint=i,this._swipeTouch=n[0].identifier):this.reset()}else this._tap.touchstart(e,t,n)}touchmove(e,t,n){if(this._tapTime){if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let i=t[0],r=i.y-this._swipePoint.y;return this._swipePoint=i,e.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(e,t,n)}touchend(e,t,n){if(this._tapTime)this._swipePoint&&0===n.length&&this.reset();else{let i=this._tap.touchend(e,t,n);i&&(this._tapTime=e.timeStamp,this._tapPoint=i)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class id{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class iu{constructor(e,t,n){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=n}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class im{constructor(e,t,n,i){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=i,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class ih{constructor(e,t){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=m.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let n=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),i=document.createElement("div");i.className="maplibregl-desktop-message",i.textContent=t,this._container.appendChild(i);let r=document.createElement("div");r.className="maplibregl-mobile-message",r.textContent=n,this._container.appendChild(r),this._container.setAttribute("aria-hidden","true")}_destoryUI(){this._container&&(m.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destoryUI()}isEnabled(){return this._enabled}touchmove(e){this._onCooperativeGesture(1===e.touches.length)}wheel(e){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!e[this._bypassKey])}_onCooperativeGesture(e){this._enabled&&e&&(this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let ip=e=>e.zoom||e.drag||e.pitch||e.rotate;class ib extends t.k{}function ig(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class i_{constructor(e,t){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if("blur"===e.type)return void this.stop(!0);this._updatingCamera=!0;let n="renderFrame"===e.type?void 0:e,i={needsRenderFrame:!1},r={},o={},a=e.touches,s=a?this._getMapTouches(a):void 0,l=s?m.touchPos(this._map.getCanvas(),s):m.mousePos(this._map.getCanvas(),e);for(let{handlerName:a,handler:c,allowed:d}of this._handlers){let u;c.isEnabled()&&(this._blockedByActive(o,d,a)?c.reset():c[t||e.type]&&(u=c[t||e.type](e,l,s),this.mergeHandlerResult(i,r,u,a,n),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||c.isActive())&&(o[a]=c))}let c={};for(let e in this._previousActiveHandlers)o[e]||(c[e]=n);this._previousActiveHandlers=o,(Object.keys(c).length||ig(i))&&(this._changes.push([i,r,c]),this._triggerRenderFrame()),(Object.keys(o).length||ig(i))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:d}=i;d&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],d(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new nO(e),this._bearingSnap=t.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(t);let n=this._el;for(let[e,t,i]of(this._listeners=[[n,"touchstart",{passive:!0}],[n,"touchmove",{passive:!1}],[n,"touchend",void 0],[n,"touchcancel",void 0],[n,"mousedown",void 0],[n,"mousemove",void 0],[n,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[n,"mouseover",void 0],[n,"mouseout",void 0],[n,"dblclick",void 0],[n,"click",void 0],[n,"keydown",{capture:!1}],[n,"keyup",void 0],[n,"wheel",{passive:!1}],[n,"contextmenu",void 0],[window,"blur",void 0]],this._listeners))m.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(let[e,t,n]of this._listeners)m.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let t=this._map,n=t.getCanvasContainer();this._add("mapEvent",new nN(t,e));let i=t.boxZoom=new nU(t,e);this._add("boxZoom",i),e.interactive&&e.boxZoom&&i.enable();let r=t.cooperativeGestures=new ih(t,e.cooperativeGestures);this._add("cooperativeGestures",r),e.cooperativeGestures&&r.enable();let o=new n$(t),a=new il(t);t.doubleClickZoom=new is(a,o),this._add("tapZoom",o),this._add("clickZoom",a),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let s=new ic;this._add("tapDragZoom",s);let l=t.touchPitch=new n9(t);this._add("touchPitch",l),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let c=nQ(e),d=n0(e);t.dragRotate=new iu(e,c,d),this._add("mouseRotate",c,["mousePitch"]),this._add("mousePitch",d,["mouseRotate"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let u=(({enable:e,clickTolerance:t})=>new nW({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:new nK({checkCorrectEvent:e=>0===m.mouseButton(e)&&!e.ctrlKey}),enable:e,assignEvents:nJ}))(e),h=new n1(e,t);t.dragPan=new id(n,u,h),this._add("mousePan",u),this._add("touchPan",h,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let f=new n8,p=new n4;t.touchZoomRotate=new im(n,p,f,s),this._add("touchRotate",f,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate);let b=t.scrollZoom=new ia(t,()=>this._triggerRenderFrame());this._add("scrollZoom",b,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let g=t.keyboard=new ir(t);this._add("keyboard",g),e.interactive&&e.keyboard&&t.keyboard.enable(),this._add("blockableMapEvent",new nH(t))}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!ip(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let i in e)if(i!==n&&(!t||0>t.indexOf(i)))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e)this._el.contains(n.target)&&t.push(n);return t}mergeHandlerResult(e,n,i,r,o){if(!i)return;t.e(e,i);let a={handlerName:r,originalEvent:i.originalEvent||o};void 0!==i.zoomDelta&&(n.zoom=a),void 0!==i.panDelta&&(n.drag=a),void 0!==i.pitchDelta&&(n.pitch=a),void 0!==i.bearingDelta&&(n.rotate=a)}_applyChanges(){let e={},n={},i={};for(let[r,o,a]of this._changes)r.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(r.panDelta)),r.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+r.pitchDelta),void 0!==r.around&&(e.around=r.around),void 0!==r.pinchAround&&(e.pinchAround=r.pinchAround),r.noInertia&&(e.noInertia=r.noInertia),t.e(n,o),t.e(i,a);this._updateMapTransform(e,n,i),this._changes=[]}_updateMapTransform(e,t,n){let i=this._map,r=i._getTransformForUpdate(),o=i.terrain;if(!(ig(e)||o&&this._terrainMovement))return this._fireEvents(t,n,!0);let{panDelta:a,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:d,pinchAround:u}=e;void 0!==u&&(d=u),i._stop(!0),d=d||i.transform.centerPoint;let m=r.pointLocation(a?d.sub(a):d);l&&(r.bearing+=l),c&&(r.pitch+=c),s&&(r.zoom+=s),o?!this._terrainMovement&&(t.drag||t.zoom)?(this._terrainMovement=!0,this._map._elevationFreeze=!0,r.setLocationAtPoint(m,d),this._map.once("moveend",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,r.recalculateZoom(i.terrain)})):t.drag&&this._terrainMovement?r.center=r.pointLocation(r.centerPoint.sub(a)):r.setLocationAtPoint(m,d):r.setLocationAtPoint(m,d),i._applyUpdatedTransform(r),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_fireEvents(e,n,i){let r,o=ip(this._eventsInProgress),a=ip(e),s={};for(let t in e){let{originalEvent:n}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=n),this._eventsInProgress[t]=e[t]}for(let e in!o&&a&&this._fireEvent("movestart",a.originalEvent),s)this._fireEvent(e,s[e]);for(let t in a&&this._fireEvent("move",a.originalEvent),e){let{originalEvent:n}=e[t];this._fireEvent(t,n)}let l={};for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:i}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],r=n[t]||i,l[`${e}end`]=r)}for(let e in l)this._fireEvent(e,l[e]);let c=ip(this._eventsInProgress);if(i&&(o||a)&&!c){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),n=e=>0!==e&&-this._bearingSnap<e&&e<this._bearingSnap;e&&(e.essential||!u.prefersReducedMotion)?(n(e.bearing||this._map.getBearing())&&(e.bearing=0),e.freezeElevation=!0,this._map.easeTo(e,{originalEvent:r})):(this._map.fire(new t.k("moveend",{originalEvent:r})),n(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}}_fireEvent(e,n){this._map.fire(new t.k(e,n?{originalEvent:n}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(e=>{delete this._frameId,this.handleEvent(new ib("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class iy extends t.E{constructor(e,t){super(),this._renderFrameCallback=()=>{let e=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=t.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new t.M(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(e,n,i){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},n),i)}panTo(e,n,i){return this.easeTo(t.e({center:e},n),i)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,n,i){return this.easeTo(t.e({zoom:e},n),i)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,n,i){return this.easeTo(t.e({bearing:e},n),i)}resetNorth(e,n){return this.rotateTo(0,t.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},e),n),this}snapToNorth(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this}getPitch(){return this.transform.pitch}setPitch(e,t){return this.jumpTo({pitch:e},t),this}cameraForBounds(e,t){e=G.convert(e);let n=t&&t.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),n,t)}_cameraForBoxAndBearing(e,n,i,r){let o={top:0,bottom:0,right:0,left:0};if("number"==typeof(r=t.e({padding:o,offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){let e=r.padding;r.padding={top:e,bottom:e,right:e,left:e}}r.padding=t.e(o,r.padding);let a=this.transform,s=a.padding,l=new G(e,n),c=a.project(l.getNorthWest()),d=a.project(l.getNorthEast()),u=a.project(l.getSouthEast()),m=a.project(l.getSouthWest()),h=t.b8(-i),f=c.rotate(h),p=d.rotate(h),b=u.rotate(h),g=m.rotate(h),_=new t.P(Math.max(f.x,p.x,g.x,b.x),Math.max(f.y,p.y,g.y,b.y)),y=new t.P(Math.min(f.x,p.x,g.x,b.x),Math.min(f.y,p.y,g.y,b.y)),v=_.sub(y),x=(a.width-(s.left+s.right+r.padding.left+r.padding.right))/v.x,w=(a.height-(s.top+s.bottom+r.padding.top+r.padding.bottom))/v.y;if(w<0||x<0)return void t.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.");let F=Math.min(a.scaleZoom(a.scale*Math.min(x,w)),r.maxZoom),k=t.P.convert(r.offset),E=new t.P((r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2).rotate(t.b8(i)),A=k.add(E).mult(a.scale/a.zoomScale(F));return{center:a.unproject(c.add(u).div(2).sub(A)),zoom:F,bearing:i}}fitBounds(e,t,n){return this._fitInternal(this.cameraForBounds(e,t),t,n)}fitScreenCoordinates(e,n,i,r,o){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.P.convert(e)),this.transform.pointLocation(t.P.convert(n)),i,r),r,o)}_fitInternal(e,n,i){return e?(delete(n=t.e(e,n)).padding,n.linear?this.easeTo(n,i):this.flyTo(n,i)):this}jumpTo(e,n){this.stop();let i=this._getTransformForUpdate(),r=!1,o=!1,a=!1;return"zoom"in e&&i.zoom!==+e.zoom&&(r=!0,i.zoom=+e.zoom),void 0!==e.center&&(i.center=t.M.convert(e.center)),"bearing"in e&&i.bearing!==+e.bearing&&(o=!0,i.bearing=+e.bearing),"pitch"in e&&i.pitch!==+e.pitch&&(a=!0,i.pitch=+e.pitch),null==e.padding||i.isPaddingEqual(e.padding)||(i.padding=e.padding),this._applyUpdatedTransform(i),this.fire(new t.k("movestart",n)).fire(new t.k("move",n)),r&&this.fire(new t.k("zoomstart",n)).fire(new t.k("zoom",n)).fire(new t.k("zoomend",n)),o&&this.fire(new t.k("rotatestart",n)).fire(new t.k("rotate",n)).fire(new t.k("rotateend",n)),a&&this.fire(new t.k("pitchstart",n)).fire(new t.k("pitch",n)).fire(new t.k("pitchend",n)),this.fire(new t.k("moveend",n))}calculateCameraOptionsFromTo(e,n,i,r=0){let o=t.Y.fromLngLat(e,n),a=t.Y.fromLngLat(i,r),s=a.x-o.x,l=a.y-o.y,c=a.z-o.z,d=Math.hypot(s,l,c);if(0===d)throw Error("Can't calculate camera options with same From and To");let u=Math.hypot(s,l),m=this.transform.scaleZoom(this.transform.cameraToCenterDistance/d/this.transform.tileSize),h=180*Math.atan2(s,-l)/Math.PI,f=180*Math.acos(u/d)/Math.PI;return f=c<0?90-f:90+f,{center:a.toLngLat(),zoom:m,pitch:f,bearing:h}}easeTo(e,n){var i;let r,o;this._stop(!1,e.easeId),(!1===(e=t.e({offset:[0,0],duration:500,easing:t.b7},e)).animate||!e.essential&&u.prefersReducedMotion)&&(e.duration=0);let a=this._getTransformForUpdate(),s=this.getZoom(),l=this.getBearing(),c=this.getPitch(),d=this.getPadding(),m="bearing"in e?this._normalizeBearing(e.bearing,l):l,h="pitch"in e?+e.pitch:c,f="padding"in e?e.padding:a.padding,p=t.P.convert(e.offset),b=a.centerPoint.add(p),g=a.pointLocation(b),{center:_,zoom:y}=a.getConstrained(t.M.convert(e.center||g),null!=(i=e.zoom)?i:s);this._normalizeCenter(_);let v=a.project(g),x=a.project(_).sub(v),w=a.zoomScale(y-s);e.around&&(r=t.M.convert(e.around),o=a.locationPoint(r));let F={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||y!==s,this._rotating=this._rotating||l!==m,this._pitching=this._pitching||h!==c,this._padding=!a.isPaddingEqual(f),this._easeId=e.easeId,this._prepareEase(n,e.noMoveStart,F),this.terrain&&this._prepareElevation(_),this._ease(i=>{if(this._zooming&&(a.zoom=t.z.number(s,y,i)),this._rotating&&(a.bearing=t.z.number(l,m,i)),this._pitching&&(a.pitch=t.z.number(c,h,i)),this._padding&&(a.interpolatePadding(d,f,i),b=a.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(i),r)a.setLocationAtPoint(r,o);else{let e=a.zoomScale(a.zoom-s),t=Math.pow(y>s?Math.min(2,w):Math.max(.5,w),1-i),n=a.unproject(v.add(x.mult(i*t)).mult(e));a.setLocationAtPoint(a.renderWorldCopies?n.wrap():n,b)}this._applyUpdatedTransform(a),this._fireMoveEvents(n)},e=>{this.terrain&&this._finalizeElevation(),this._afterEase(n,e)},e),this}_prepareEase(e,n,i={}){this._moving=!0,n||i.moving||this.fire(new t.k("movestart",e)),this._zooming&&!i.zooming&&this.fire(new t.k("zoomstart",e)),this._rotating&&!i.rotating&&this.fire(new t.k("rotatestart",e)),this._pitching&&!i.pitching&&this.fire(new t.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(n-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.elevation=t.z.number(this._elevationStart,this._elevationTarget,e)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(e){if(!this.transformCameraUpdate)return;let t=e.clone(),{center:n,zoom:i,pitch:r,bearing:o,elevation:a}=this.transformCameraUpdate(t);n&&(t.center=n),void 0!==i&&(t.zoom=i),void 0!==r&&(t.pitch=r),void 0!==o&&(t.bearing=o),void 0!==a&&(t.elevation=a),this.transform.apply(t)}_fireMoveEvents(e){this.fire(new t.k("move",e)),this._zooming&&this.fire(new t.k("zoom",e)),this._rotating&&this.fire(new t.k("rotate",e)),this._pitching&&this.fire(new t.k("pitch",e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;let i=this._zooming,r=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,i&&this.fire(new t.k("zoomend",e)),r&&this.fire(new t.k("rotateend",e)),o&&this.fire(new t.k("pitchend",e)),this.fire(new t.k("moveend",e))}flyTo(e,n){var i;if(!e.essential&&u.prefersReducedMotion){let i=t.L(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,n)}this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b7},e);let r=this._getTransformForUpdate(),o=this.getZoom(),a=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c="bearing"in e?this._normalizeBearing(e.bearing,a):a,d="pitch"in e?+e.pitch:s,m="padding"in e?e.padding:r.padding,h=t.P.convert(e.offset),f=r.centerPoint.add(h),p=r.pointLocation(f),{center:b,zoom:g}=r.getConstrained(t.M.convert(e.center||p),null!=(i=e.zoom)?i:o);this._normalizeCenter(b);let _=r.zoomScale(g-o),y=r.project(p),v=r.project(b).sub(y),x=e.curve,w=Math.max(r.width,r.height),F=w/_,k=v.mag();if("minZoom"in e){let n=t.ac(Math.min(e.minZoom,o,g),r.minZoom,r.maxZoom);x=Math.sqrt(w/r.zoomScale(n-o)/k*2)}let E=x*x;function A(e){let t=(F*F-w*w+(e?-1:1)*E*E*k*k)/(2*(e?F:w)*E*k);return Math.log(Math.sqrt(t*t+1)-t)}function T(e){return(Math.exp(e)-Math.exp(-e))/2}function C(e){return(Math.exp(e)+Math.exp(-e))/2}let M=A(!1),S=function(e){return C(M)/C(M+x*e)},D=function(e){var t;return w*((C(M)*(T(t=M+x*e)/C(t))-T(M))/E)/k},I=(A(!0)-M)/x;if(1e-6>Math.abs(k)||!isFinite(I)){if(1e-6>Math.abs(w-F))return this.easeTo(e,n);let t=F<w?-1:1;I=Math.abs(Math.log(F/w))/x,D=function(){return 0},S=function(e){return Math.exp(t*x*e)}}return e.duration="duration"in e?+e.duration:1e3*I/("screenSpeed"in e?e.screenSpeed/x:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=a!==c,this._pitching=d!==s,this._padding=!r.isPaddingEqual(m),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(b),this._ease(i=>{let u=i*I,p=1/S(u);r.zoom=1===i?g:o+r.scaleZoom(p),this._rotating&&(r.bearing=t.z.number(a,c,i)),this._pitching&&(r.pitch=t.z.number(s,d,i)),this._padding&&(r.interpolatePadding(l,m,i),f=r.centerPoint.add(h)),this.terrain&&!e.freezeElevation&&this._updateElevation(i);let _=1===i?b:r.unproject(y.add(v.mult(D(u))).mult(p));r.setLocationAtPoint(r.renderWorldCopies?_.wrap():_,f),this._applyUpdatedTransform(r),this._fireMoveEvents(n)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(n)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}if(!e){let e=this.handlers;e&&e.stop(!1)}return this}_ease(e,t,n){!1===n.animate||0===n.duration?(e(1),t()):(this._easeStart=u.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){let i=Math.abs((e=t.b1(e,-180,180))-n);return Math.abs(e-360-n)<i&&(e-=360),Math.abs(e+360-n)<i&&(e+=360),e}_normalizeCenter(e){let t=this.transform;if(!t.renderWorldCopies||t.lngRange)return;let n=e.lng-t.center.lng;e.lng+=n>180?-360:360*(n<-180)}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.M.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}let iv={compact:!0,customAttribution:'<a href="https://maplibre.org/" target="_blank">MapLibre</a>'};class ix{constructor(e=iv){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=e=>{e&&("metadata"===e.sourceDataType||"visibility"===e.sourceDataType||"style"===e.dataType||"terrain"===e.type)&&this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=m.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=m.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=m.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){m.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute("aria-label",n)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(e=>"string"!=typeof e?"":e)):"string"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let n in t){let i=t[n];if(i.used||i.usedForTerrain){let t=i.getSource();t.attribution&&0>e.indexOf(t.attribution)&&e.push(t.attribution)}}(e=e.filter(e=>String(e).trim())).sort((e,t)=>e.length-t.length);let n=(e=e.filter((t,n)=>{for(let i=n+1;i<e.length;i++)if(e[i].indexOf(t)>=0)return!1;return!0})).join(" | ");n!==this._attribHTML&&(this._attribHTML=n,e.length?(this._innerContainer.innerHTML=n,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class iw{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add("maplibregl-compact"):t.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=m.create("div","maplibregl-ctrl");let t=m.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){m.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class iF{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning;for(let n of t?this._queue.concat(t):this._queue)if(n.id===e)return void(n.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;for(let n of(this._queue=[],t))if(!n.cancelled&&(n.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var ik=t.X([{name:"a_pos3d",type:"Int16",components:3}]);class iE extends t.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,n){this.sourceCache.update(e,n),this._renderableTilesKeys=[];let i={};for(let r of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n}))i[r.key]=!0,this._renderableTilesKeys.push(r.key),this._tiles[r.key]||(r.posMatrix=new Float64Array(16),t.aN(r.posMatrix,0,t.W,0,t.W,0,1),this._tiles[r.key]=new el(r,this.tileSize));for(let e in this._tiles)i[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let n=this._tiles[t];(!e||n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&(n.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){let n={};for(let i of this._renderableTilesKeys){let r=this._tiles[i].tileID;if(r.canonical.equals(e.canonical)){let r=e.clone();r.posMatrix=new Float64Array(16),t.aN(r.posMatrix,0,t.W,0,t.W,0,1),n[i]=r}else if(r.canonical.isChildOf(e.canonical)){let o=e.clone();o.posMatrix=new Float64Array(16);let a=r.canonical.z-e.canonical.z,s=r.canonical.x-(r.canonical.x>>a<<a),l=r.canonical.y-(r.canonical.y>>a<<a),c=t.W>>a;t.aN(o.posMatrix,0,c,0,c,0,1),t.H(o.posMatrix,o.posMatrix,[-s*c,-l*c,0]),n[i]=o}else if(e.canonical.isChildOf(r.canonical)){let o=e.clone();o.posMatrix=new Float64Array(16);let a=e.canonical.z-r.canonical.z,s=e.canonical.x-(e.canonical.x>>a<<a),l=e.canonical.y-(e.canonical.y>>a<<a),c=t.W>>a;t.aN(o.posMatrix,0,t.W,0,t.W,0,1),t.H(o.posMatrix,o.posMatrix,[s*c,l*c,0]),t.J(o.posMatrix,o.posMatrix,[1/2**a,1/2**a,0]),n[i]=o}}return n}getSourceTile(e,t){let n=this.sourceCache._source,i=e.overscaledZ-this.deltaZoom;if(i>n.maxzoom&&(i=n.maxzoom),i<n.minzoom)return null;this._sourceTileCache[e.key]||(this._sourceTileCache[e.key]=e.scaledTo(i).key);let r=this.sourceCache.getTileByID(this._sourceTileCache[e.key]);if((!r||!r.dem)&&t)for(;i>=n.minzoom&&(!r||!r.dem);)r=this.sourceCache.getTileByID(e.scaledTo(i--).key);return r}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter(t=>t.timeAdded>=e)}}class iA{constructor(e,t,n){this.painter=e,this.sourceCache=new iE(t),this.options=n,this.exaggeration="number"==typeof n.exaggeration?n.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,n,i,r=t.W){var o,a,s,l,c,d;if(!(n>=0&&n<r&&i>=0&&i<r))return 0;let u=this.getTerrainData(e),m=null==(o=u.tile)?void 0:o.dem;if(!m)return 0;let h=(a=[],s=[n/r*t.W,i/r*t.W],l=u.u_terrain_matrix,c=s[0],d=s[1],a[0]=l[0]*c+l[4]*d+l[12],a[1]=l[1]*c+l[5]*d+l[13],a),f=[h[0]*m.dim,h[1]*m.dim],p=Math.floor(f[0]),b=Math.floor(f[1]),g=f[0]-p,_=f[1]-b;return m.get(p,b)*(1-g)*(1-_)+m.get(p+1,b)*g*(1-_)+m.get(p,b+1)*(1-g)*_+m.get(p+1,b+1)*g*_}getElevationForLngLatZoom(e,n){let{tileID:i,mercatorX:r,mercatorY:o}=this._getOverscaledTileIDFromLngLatZoom(e,n);return this.getElevation(i,r%t.W,o%t.W,t.W)}getElevation(e,n,i,r=t.W){return this.getDEMElevation(e,n,i,r)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){let e=this.painter.context,n=new t.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new M(e,n,e.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new M(e,new t.R({width:1,height:1}),e.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=t.an([])}let n=this.sourceCache.getSourceTile(e,!0);if(n&&n.dem&&(!n.demTexture||n.needsTerrainPrepare)){let e=this.painter.context;n.demTexture=this.painter.getTileTexture(n.dem.stride),n.demTexture?n.demTexture.update(n.dem.getPixels(),{premultiply:!1}):n.demTexture=new M(e,n.dem.getPixels(),e.gl.RGBA,{premultiply:!1}),n.demTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),n.needsTerrainPrepare=!1}let i=n&&n+n.tileID.key+e.key;if(i&&!this._demMatrixCache[i]){let i=this.sourceCache.sourceCache._source.maxzoom,r=e.canonical.z-n.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=i?r=e.canonical.z-i:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let o=e.canonical.x-(e.canonical.x>>r<<r),a=e.canonical.y-(e.canonical.y>>r<<r),s=t.b9(new Float64Array(16),[1/(t.W<<r),1/(t.W<<r),0]);t.H(s,s,[o*t.W,a*t.W,0]),this._demMatrixCache[e.key]={matrix:s,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:n&&n.dem&&n.dem.dim||1,u_terrain_matrix:i?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:n&&n.dem&&n.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(n&&n.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:n}}getFramebuffer(e){let t=this.painter,n=t.width/devicePixelRatio,i=t.height/devicePixelRatio;return this._fbo&&(this._fbo.width!==n||this._fbo.height!==i)&&(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new M(t.context,{width:n,height:i,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new M(t.context,{width:n,height:i,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=t.context.createFramebuffer(n,i,!0,!1),this._fbo.depthAttachment.set(t.context.createRenderbuffer(t.context.gl.DEPTH_COMPONENT16,n,i))),this._fbo.colorAttachment.set("coords"===e?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let n=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let e=0,t=0;e<this._coordsTextureSize;e++)for(let i=0;i<this._coordsTextureSize;i++,t+=4)n[t+0]=255&i,n[t+1]=255&e,n[t+2]=i>>8<<4|e>>8,n[t+3]=0;let i=new M(e,new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),e.gl.RGBA,{premultiply:!1});return i.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let n=new Uint8Array(4),i=this.painter.context,r=i.gl;i.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),r.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,r.RGBA,r.UNSIGNED_BYTE,n),i.bindFramebuffer.set(null);let o=n[0]+(n[2]>>4<<8),a=n[1]+((15&n[2])<<8),s=this.coordsIndex[255-n[3]],l=s&&this.sourceCache.getTileByID(s);if(!l)return null;let c=this._coordsTextureSize,d=(1<<l.tileID.canonical.z)*c;return new t.Y((l.tileID.canonical.x*c+o)/d+l.tileID.wrap,(l.tileID.canonical.y*c+a)/d,this.getElevation(l.tileID,o,a,c))}depthAtPoint(e){let t=new Uint8Array(4),n=this.painter.context,i=n.gl;return n.bindFramebuffer.set(this.getFramebuffer("depth").framebuffer),i.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,i.RGBA,i.UNSIGNED_BYTE,t),n.bindFramebuffer.set(null),(t[0]/0x1000000+t[1]/65536+t[2]/256+t[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let e=this.painter.context,n=new t.ba,i=new t.aX,r=this.meshSize,o=t.W/r,a=r*r;for(let e=0;e<=r;e++)for(let t=0;t<=r;t++)n.emplaceBack(t*o,e*o,0);for(let e=0;e<a;e+=r+1)for(let t=0;t<r;t++)i.emplaceBack(t+e,r+t+e+1,r+t+e+2),i.emplaceBack(t+e,r+t+e+2,t+e+1);let s=n.length,l=s+2*(r+1);for(let e of[0,1])for(let i=0;i<=r;i++)for(let r of[0,1])n.emplaceBack(i*o,e*t.W,r);for(let e=0;e<2*r;e+=2)i.emplaceBack(l+e,l+e+1,l+e+3),i.emplaceBack(l+e,l+e+3,l+e+2),i.emplaceBack(s+e,s+e+3,s+e+1),i.emplaceBack(s+e,s+e+2,s+e+3);let c=n.length,d=c+2*(r+1);for(let e of[0,1])for(let i=0;i<=r;i++)for(let r of[0,1])n.emplaceBack(e*t.W,i*o,r);for(let e=0;e<2*r;e+=2)i.emplaceBack(c+e,c+e+1,c+e+3),i.emplaceBack(c+e,c+e+3,c+e+2),i.emplaceBack(d+e,d+e+3,d+e+1),i.emplaceBack(d+e,d+e+2,d+e+3);return this._mesh={indexBuffer:e.createIndexBuffer(i),vertexBuffer:e.createVertexBuffer(n,ik.members),segments:t.$.simpleSegment(0,0,n.length,i.length)},this._mesh}getMeshFrameDelta(e){return 2*Math.PI*t.bb/Math.pow(2,e)/5}getMinTileElevationForLngLatZoom(e,t){var n;let{tileID:i}=this._getOverscaledTileIDFromLngLatZoom(e,t);return null!=(n=this.getMinMaxElevation(i).minElevation)?n:0}getMinMaxElevation(e){let t=this.getTerrainData(e).tile,n={minElevation:null,maxElevation:null};return t&&t.dem&&(n.minElevation=t.dem.min*this.exaggeration,n.maxElevation=t.dem.max*this.exaggeration),n}_getOverscaledTileIDFromLngLatZoom(e,n){let i=t.Y.fromLngLat(e.wrap()),r=(1<<n)*t.W,o=i.x*r,a=i.y*r,s=Math.floor(o/t.W),l=Math.floor(a/t.W);return{tileID:new t.Q(n,0,n,s,l),mercatorX:o,mercatorY:a}}}class iT{constructor(e,t,n){this._context=e,this._size=t,this._tileSize=n,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){let t=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),n=new M(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return n.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),t.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),t.colorAttachment.set(n.texture),{id:e,fbo:t,texture:n,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(t=>e.id!==t),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw Error("No free RenderPool available, call freeAllObjects() required!");let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&!1===this._objects.some(e=>!e.inUse)}}let iC={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class iM{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new iT(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){for(let n in this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(n=>!e._layers[n].isHidden(t)),this._coordsDescendingInv={},e.sourceCaches)for(let t of(this._coordsDescendingInv[n]={},e.sourceCaches[n].getVisibleCoordinates())){let e=this.terrain.sourceCache.getTerrainCoords(t);for(let t in e)this._coordsDescendingInv[n][t]||(this._coordsDescendingInv[n][t]=[]),this._coordsDescendingInv[n][t].push(e[t])}for(let t of(this._coordsDescendingInvStr={},e._order)){let n=e._layers[t],i=n.source;if(iC[n.type]&&!this._coordsDescendingInvStr[i])for(let e in this._coordsDescendingInvStr[i]={},this._coordsDescendingInv[i])this._coordsDescendingInvStr[i][e]=this._coordsDescendingInv[i][e].map(e=>e.key).sort().join()}for(let e of this._renderableTiles)for(let t in this._coordsDescendingInvStr){let n=this._coordsDescendingInvStr[t][e.tileID.key];n&&n!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;let n=e.type,i=this.painter,r=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(iC[n]&&(this._prevType&&iC[this._prevType]||this._stacks.push([]),this._prevType=n,this._stacks[this._stacks.length-1].push(e.id),!r))return!0;if(iC[this._prevType]||iC[n]&&r){this._prevType=n;let e=this._stacks.length-1,r=this._stacks[e]||[];for(let n of this._renderableTiles){if(this.pool.isFull()&&(nx(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(n),n.rtt[e]){let t=this.pool.getObjectForId(n.rtt[e].id);if(t.stamp===n.rtt[e].stamp){this.pool.useObject(t);continue}}let o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),n.rtt[e]={id:o.id,stamp:o.stamp},i.context.bindFramebuffer.set(o.fbo.framebuffer),i.context.clear({color:t.aO.transparent,stencil:0}),i.currentStencilSource=void 0;for(let e=0;e<r.length;e++){let t=i.style._layers[r[e]],a=t.source?this._coordsDescendingInv[t.source][n.tileID.key]:[n.tileID];i.context.viewport.set([0,0,o.fbo.width,o.fbo.height]),i._renderTileClippingMasks(t,a),i.renderLayer(i,i.style.sourceCaches[t.source],t,a),t.source&&(n.rttCoords[t.source]=this._coordsDescendingInvStr[t.source][n.tileID.key])}}return nx(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),iC[n]}return!1}}let iL={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"MapLibre logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.Enable":"Enable terrain","TerrainControl.Disable":"Disable terrain","CooperativeGesturesHandler.WindowsHelpText":"Use Ctrl + scroll to zoom the map","CooperativeGesturesHandler.MacHelpText":"Use ⌘ + scroll to zoom the map","CooperativeGesturesHandler.MobileHelpText":"Use two fingers to move the map"},iS={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:iv,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:t.a.MAX_TILE_CACHE_ZOOM_LEVELS,localIdeographFontFamily:"sans-serif",transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,validateStyle:!0,maxCanvasSize:[4096,4096]},iD=e=>{e.touchstart=e.dragStart,e.touchmoveWindow=e.dragMove,e.touchend=e.dragEnd},iI={showCompass:!0,showZoom:!0,visualizePitch:!1};class iO{constructor(e,n,i=!1){this.mousedown=e=>{this.startMouse(t.e({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),m.mousePos(this.element,e)),m.addEventListener(window,"mousemove",this.mousemove),m.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=e=>{this.moveMouse(e,m.mousePos(this.element,e))},this.mouseup=e=>{this.mouseRotate.dragEnd(e),this.mousePitch&&this.mousePitch.dragEnd(e),this.offTemp()},this.touchstart=e=>{1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m.touchPos(this.element,e.targetTouches)[0],this.startTouch(e,this._startPos),m.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),m.addEventListener(window,"touchend",this.touchend))},this.touchmove=e=>{1!==e.targetTouches.length?this.reset():(this._lastPos=m.touchPos(this.element,e.targetTouches)[0],this.moveTouch(e,this._lastPos))},this.touchend=e=>{0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let r=e.dragRotate._mouseRotate.getClickTolerance(),o=e.dragRotate._mousePitch.getClickTolerance();this.element=n,this.mouseRotate=nQ({clickTolerance:r,enable:!0}),this.touchRotate=(({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:n=.8})=>new nW({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*n}),moveStateManager:new nZ,enable:e,assignEvents:iD}))({clickTolerance:r,enable:!0}),this.map=e,i&&(this.mousePitch=n0({clickTolerance:o,enable:!0}),this.touchPitch=(({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5})=>new nW({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new nZ,enable:e,assignEvents:iD}))({clickTolerance:o,enable:!0})),m.addEventListener(n,"mousedown",this.mousedown),m.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),m.addEventListener(n,"touchcancel",this.reset)}startMouse(e,t){this.mouseRotate.dragStart(e,t),this.mousePitch&&this.mousePitch.dragStart(e,t),m.disableDrag()}startTouch(e,t){this.touchRotate.dragStart(e,t),this.touchPitch&&this.touchPitch.dragStart(e,t),m.disableDrag()}moveMouse(e,t){let n=this.map,{bearingDelta:i}=this.mouseRotate.dragMove(e,t)||{};if(i&&n.setBearing(n.getBearing()+i),this.mousePitch){let{pitchDelta:i}=this.mousePitch.dragMove(e,t)||{};i&&n.setPitch(n.getPitch()+i)}}moveTouch(e,t){let n=this.map,{bearingDelta:i}=this.touchRotate.dragMove(e,t)||{};if(i&&n.setBearing(n.getBearing()+i),this.touchPitch){let{pitchDelta:i}=this.touchPitch.dragMove(e,t)||{};i&&n.setPitch(n.getPitch()+i)}}off(){let e=this.element;m.removeEventListener(e,"mousedown",this.mousedown),m.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),m.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),m.removeEventListener(window,"touchend",this.touchend),m.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){m.enableDrag(),m.removeEventListener(window,"mousemove",this.mousemove),m.removeEventListener(window,"mouseup",this.mouseup),m.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),m.removeEventListener(window,"touchend",this.touchend)}}function iR(e,n,i){let r=new t.M(e.lng,e.lat);if(e=new t.M(e.lng,e.lat),n){let r=new t.M(e.lng-360,e.lat),o=new t.M(e.lng+360,e.lat),a=i.locationPoint(e).distSqr(n);i.locationPoint(r).distSqr(n)<a?e=r:i.locationPoint(o).distSqr(n)<a&&(e=o)}for(;Math.abs(e.lng-i.center.lng)>180;){let t=i.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=i.width&&t.y<=i.height)break;e.lng>i.center.lng?e.lng-=360:e.lng+=360}return e.lng!==r.lng&&i.locationPoint(e).y>i.height/2-i.getHorizon()?e:r}let iP={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function iB(e,t,n){let i=e.classList;for(let e in iP)i.remove(`maplibregl-${n}-anchor-${e}`);i.add(`maplibregl-${n}-anchor-${t}`)}class iz extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,n=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==n&&13!==n||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},this._update=e=>{var t;if(!this._map)return;let n=this._map.loaded()&&!this._map.isMoving();"terrain"!==(null==e?void 0:e.type)&&("render"!==(null==e?void 0:e.type)||n)||this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?iR(this._lngLat,this._flatPos,this._map.transform):null==(t=this._lngLat)?void 0:t.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let i="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?i=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(i=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?r="rotateX(0deg)":"map"===this._pitchAlignment&&(r=`rotateX(${this._map.getPitch()}deg)`),e&&"moveend"!==e.type||(this._pos=this._pos.round()),m.setTransform(this._element,`${iP[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${i}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(e&&"moveend"===e.type)}).catch(()=>{})},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.k("dragstart"))),this.fire(new t.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.k("dragend")),this._state="inactive"},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==e?void 0:e.opacity,null==e?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=m.create("div"),this._element.setAttribute("aria-label","Map marker");let n=m.createNS("http://www.w3.org/2000/svg","svg");n.setAttributeNS(null,"display","block"),n.setAttributeNS(null,"height","41px"),n.setAttributeNS(null,"width","27px"),n.setAttributeNS(null,"viewBox","0 0 27 41");let i=m.createNS("http://www.w3.org/2000/svg","g");i.setAttributeNS(null,"stroke","none"),i.setAttributeNS(null,"stroke-width","1"),i.setAttributeNS(null,"fill","none"),i.setAttributeNS(null,"fill-rule","evenodd");let r=m.createNS("http://www.w3.org/2000/svg","g");r.setAttributeNS(null,"fill-rule","nonzero");let o=m.createNS("http://www.w3.org/2000/svg","g");for(let e of(o.setAttributeNS(null,"transform","translate(3.0, 29.0)"),o.setAttributeNS(null,"fill","#000000"),[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}])){let t=m.createNS("http://www.w3.org/2000/svg","ellipse");t.setAttributeNS(null,"opacity","0.04"),t.setAttributeNS(null,"cx","10.5"),t.setAttributeNS(null,"cy","5.80029008"),t.setAttributeNS(null,"rx",e.rx),t.setAttributeNS(null,"ry",e.ry),o.appendChild(t)}let a=m.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"fill",this._color);let s=m.createNS("http://www.w3.org/2000/svg","path");s.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),a.appendChild(s);let l=m.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"opacity","0.25"),l.setAttributeNS(null,"fill","#000000");let c=m.createNS("http://www.w3.org/2000/svg","path");c.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),l.appendChild(c);let d=m.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"transform","translate(6.0, 7.0)"),d.setAttributeNS(null,"fill","#FFFFFF");let u=m.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"transform","translate(8.0, 8.0)");let h=m.createNS("http://www.w3.org/2000/svg","circle");h.setAttributeNS(null,"fill","#000000"),h.setAttributeNS(null,"opacity","0.25"),h.setAttributeNS(null,"cx","5.5"),h.setAttributeNS(null,"cy","5.5"),h.setAttributeNS(null,"r","5.4999962");let f=m.createNS("http://www.w3.org/2000/svg","circle");f.setAttributeNS(null,"fill","#FFFFFF"),f.setAttributeNS(null,"cx","5.5"),f.setAttributeNS(null,"cy","5.5"),f.setAttributeNS(null,"r","5.4999962"),u.appendChild(h),u.appendChild(f),r.appendChild(o),r.appendChild(a),r.appendChild(l),r.appendChild(d),r.appendChild(u),n.appendChild(r),n.setAttributeNS(null,"height",41*this._scale+"px"),n.setAttributeNS(null,"width",27*this._scale+"px"),this._element.appendChild(n),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",e=>{e.preventDefault()}),this._element.addEventListener("mousedown",e=>{e.preventDefault()}),iB(this._element,this._anchor,"marker"),e&&e.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),m.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.M.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){let t=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered||e&&(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map))),this}_updateOpacity(e=!1){var n,i;if(!(null==(n=this._map)?void 0:n.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let r=this._map,o=r.terrain.depthAtPoint(this._pos),a=r.terrain.getElevationForLngLatZoom(this._lngLat,r.transform.tileZoom);if(r.transform.lngLatToCameraDepth(this._lngLat,a)-o<.006)return void(this._element.style.opacity=this._opacity);let s=-this._offset.y/r.transform._pixelPerMeter,l=Math.sin(r.getPitch()*Math.PI/180)*s,c=r.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),d=r.transform.lngLatToCameraDepth(this._lngLat,a+l)-c>.006;(null==(i=this._popup)?void 0:i.isOpen())&&d&&this._popup.remove(),this._element.style.opacity=d?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return void 0===e&&void 0===t&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==e&&(this._opacity=e),void 0!==t&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let iY={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},iN=0,iH=!1,ij={maxWidth:100,unit:"metric"};function iU(e,t,n){let i=n&&n.maxWidth||100,r=e._container.clientHeight/2,o=e.unproject([0,r]),a=e.unproject([i,r]),s=o.distanceTo(a);if(n&&"imperial"===n.unit){let n=3.2808*s;n>5280?iV(t,i,n/5280,e._getUIString("ScaleControl.Miles")):iV(t,i,n,e._getUIString("ScaleControl.Feet"))}else n&&"nautical"===n.unit?iV(t,i,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?iV(t,i,s/1e3,e._getUIString("ScaleControl.Kilometers")):iV(t,i,s,e._getUIString("ScaleControl.Meters"))}function iV(e,t,n,i){let r=function(e){let t=Math.pow(10,`${Math.floor(e)}`.length-1),n=e/t;return t*(n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(e){let t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(n))}(n);e.style.width=r/n*t+"px",e.innerHTML=`${r}&nbsp;${i}`}let iq={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1};e.AJAXError=t.be,e.Evented=t.E,e.LngLat=t.M,e.MercatorCoordinate=t.Y,e.Point=t.P,e.addProtocol=t.bf,e.config=t.a,e.removeProtocol=t.bg,e.AttributionControl=ix,e.BoxZoomHandler=nU,e.CanvasSource=et,e.CooperativeGesturesHandler=ih,e.DoubleClickZoomHandler=is,e.DragPanHandler=id,e.DragRotateHandler=iu,e.EdgeInsets=nE,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{var e;let t=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null==(e=null==t?void 0:t.shadowRoot)?void 0:e.fullscreenElement;)t=t.shadowRoot.fullscreenElement;t===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){m.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=m.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);m.create("span","maplibregl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new t.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=Z,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{let n=new t.M(e.coords.longitude,e.coords.latitude),i=e.coords.accuracy,r=this._map.getBearing(),o=t.e({bearing:r},this.options.fitBoundsOptions),a=G.fromLngLat(n,i);this._map.fitBounds(a,o,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let n=new t.M(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&iH)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=e=>{if(this._map){if(this._container.addEventListener("contextmenu",e=>e.preventDefault()),this._geolocateButton=m.create("button","maplibregl-ctrl-geolocate",this._container),m.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{let e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=m.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new iz({element:this._dotElement}),this._circleElement=m.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new iz({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new t.k("trackuserlocationend")))})}},this.options=t.e({},iY,e)}onAdd(e){return this._map=e,this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),(function(){return t._(this,arguments,void 0,function*(e=!1){if(void 0!==l&&!e)return l;if(void 0===window.navigator.permissions)return l=!!window.navigator.geolocation;try{let e=yield window.navigator.permissions.query({name:"geolocation"});l="denied"!==e.state}catch(e){l=!!window.navigator.geolocation}return l})})().then(e=>this._setupUI(e)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),m.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,iN=0,iH=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),n=e.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let e=this._map.getBounds(),t=e.getSouthEast(),n=e.getNorthEast(),i=t.distanceTo(n),r=Math.ceil(this._accuracy/(i/this._map._container.clientHeight)*2);this._circleElement.style.width=`${r}px`,this._circleElement.style.height=`${r}px`}trigger(){if(!this._setup)return t.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":iN--,iH=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new t.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.k("trackuserlocationstart"));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++iN>1?(e={maximumAge:6e5,timeout:0},iH=!0):(e=this.options.positionOptions,iH=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},e.Hash=nC,e.ImageSource=Q,e.KeyboardHandler=ir,e.LngLatBounds=G,e.LogoControl=iw,e.Map=class extends iy{constructor(e){if(t.bc.mark(t.bd.create),null!=(e=t.e({},iS,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw Error("maxPitch must be less than or equal to 85");if(super(new nA(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new iF,this._controls=[],this._mapId=t.a3(),this._locale=t.e({},iL,e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this._imageQueueHandle=F.addThrottleControl(()=>this.isMoving()),this._requestManager=new y(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let e=!1,t=nT(e=>{this._trackResize&&!this._removed&&this.resize(e)._update()},50);this._resizeObserver=new ResizeObserver(n=>{e?t(n):e=!0}),this._resizeObserver.observe(this._container)}this.handlers=new i_(this,e),this._hash=e.hash&&new nC("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.e({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new ix("boolean"==typeof e.attributionControl?void 0:e.attributionControl)),e.maplibreLogo&&this.addControl(new iw,e.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",e=>{this._update("style"===e.dataType),this.fire(new t.k(`${e.dataType}data`,e))}),this.on("dataloading",e=>{this.fire(new t.k(`${e.dataType}dataloading`,e))}),this.on("dataabort",e=>{this.fire(new t.k("sourcedataabort",e))})}_getMapId(){return this._mapId}addControl(e,n){if(void 0===n&&(n=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.j(Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let i=e.onAdd(this);this._controls.push(e);let r=this._controlPositions[n];return -1!==n.indexOf("bottom")?r.insertBefore(i,r.firstChild):r.appendChild(i),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.j(Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let n=this._controls.indexOf(e);return n>-1&&this._controls.splice(n,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,n,i){return null==i&&this.terrain&&(i=this.terrain.getElevationForLngLatZoom(n,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,n,i)}resize(e){var n;let i=this._containerDimensions(),r=i[0],o=i[1],a=this._getClampedPixelRatio(r,o);if(this._resizeCanvas(r,o,a),this.painter.resize(r,o,a),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(r,o);this._resizeCanvas(r,o,t),this.painter.resize(r,o,t)}this.transform.resize(r,o),null==(n=this._requestedCameraState)||n.resize(r,o);let s=!this._moving;return s&&(this.stop(),this.fire(new t.k("movestart",e)).fire(new t.k("move",e))),this.fire(new t.k("resize",e)),s&&this.fire(new t.k("moveend",e)),this}_getClampedPixelRatio(e,t){let{0:n,1:i}=this._maxCanvasSize,r=this.getPixelRatio(),o=e*r,a=t*r;return Math.min(o>n?n/o:1,a>i?i/a:1)*r}getPixelRatio(){var e;return null!=(e=this._overridePixelRatio)?e:devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(G.convert(e)),this._update()}setMinZoom(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()<e&&this.setZoom(e),this;throw Error("minZoom must be between -2 and the current maxZoom, inclusive")}getMinZoom(){return this.transform.minZoom}setMaxZoom(e){if((e=null==e?22:e)>=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=null==e?0:e)<0)throw Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()<e&&this.setPitch(e),this;throw Error("minPitch must be between 0 and the current maxPitch, inclusive")}getMinPitch(){return this.transform.minPitch}setMaxPitch(e){if((e=null==e?60:e)>85)throw Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this._update()}project(e){return this.transform.locationPoint(t.M.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.P.convert(e),this.terrain)}isMoving(){var e;return this._moving||(null==(e=this.handlers)?void 0:e.isMoving())}isZooming(){var e;return this._zooming||(null==(e=this.handlers)?void 0:e.isZooming())}isRotating(){var e;return this._rotating||(null==(e=this.handlers)?void 0:e.isRotating())}_createDelegatedListener(e,t,n){if("mouseenter"===e||"mouseover"===e){let i=!1,r=r=>{let o=this.getLayer(t)?this.queryRenderedFeatures(r.point,{layers:[t]}):[];o.length?i||(i=!0,n.call(this,new nB(e,this,r.originalEvent,{features:o}))):i=!1};return{layer:t,listener:n,delegates:{mousemove:r,mouseout:()=>{i=!1}}}}if("mouseleave"===e||"mouseout"===e){let i=!1,r=r=>{(this.getLayer(t)?this.queryRenderedFeatures(r.point,{layers:[t]}):[]).length?i=!0:i&&(i=!1,n.call(this,new nB(e,this,r.originalEvent)))},o=t=>{i&&(i=!1,n.call(this,new nB(e,this,t.originalEvent)))};return{layer:t,listener:n,delegates:{mousemove:r,mouseout:o}}}{let i=e=>{let i=this.getLayer(t)?this.queryRenderedFeatures(e.point,{layers:[t]}):[];i.length&&(e.features=i,n.call(this,e),delete e.features)};return{layer:t,listener:n,delegates:{[e]:i}}}}on(e,t,n){if(void 0===n)return super.on(e,t);let i=this._createDelegatedListener(e,t,n);for(let t in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(i),i.delegates)this.on(t,i.delegates[t]);return this}once(e,t,n){if(void 0===n)return super.once(e,t);let i=this._createDelegatedListener(e,t,n);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,n){return void 0===n?super.off(e,t):(this._delegatedListeners&&this._delegatedListeners[e]&&(i=>{let r=this._delegatedListeners[e];for(let e=0;e<r.length;e++){let i=r[e];if(i.layer===t&&i.listener===n){for(let e in i.delegates)this.off(e,i.delegates[e]);return r.splice(e,1),this}}})(),this)}queryRenderedFeatures(e,n){let i;if(!this.style)return[];let r=e instanceof t.P||Array.isArray(e),o=r?e:[[0,0],[this.transform.width,this.transform.height]];if(n=n||(r?{}:e)||{},o instanceof t.P||"number"==typeof o[0])i=[t.P.convert(o)];else{let e=t.P.convert(o[0]),n=t.P.convert(o[1]);i=[e,new t.P(n.x,e.y),n,new t.P(e.x,n.y),e]}return this.style.queryRenderedFeatures(i,n,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,n){return!1!==(n=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},n)).diff&&n.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,n),this):(this._localIdeographFontFamily=n.localIdeographFontFamily,this._updateStyle(e,n))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(null==t)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(e,t));let n=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new e0(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e,t,n):this.style.loadJSON(e,t,n)):delete this.style,this}_lazyInitEmptyStyle(){this.style||(this.style=new e0(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,n){if("string"==typeof e){let i=this._requestManager.transformRequest(e,k.Style);t.h(i,new AbortController).then(e=>{this._updateDiff(e.data,n)}).catch(e=>{e&&this.fire(new t.j(e))})}else"object"==typeof e&&this._updateDiff(e,n)}_updateDiff(e,n){try{this.style.setState(e,n)&&this._update(!0)}catch(i){t.w(`Unable to perform style diff: ${i.message||i.error||i}. Rebuilding the style from scratch.`),this._updateStyle(e,n)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w("There is no style added to the map.")}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let n=this.style&&this.style.sourceCaches[e];if(void 0!==n)return n.loaded();this.fire(new t.j(Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){let n=this.style.sourceCaches[e.source];if(!n)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);for(let i in null===this.terrain&&n.reload(),this.style._layers){let n=this.style._layers[i];"hillshade"===n.type&&n.source===e.source&&t.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new iA(this.painter,n,e),this.painter.renderToTexture=new iM(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(t.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.k("terrain",{terrain:e})),this}getTerrain(){var e,t;return null!=(t=null==(e=this.terrain)?void 0:e.options)?t:null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let n=e[t]._tiles;for(let e in n){let t=n[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(e,n,i={}){let{pixelRatio:r=1,sdf:o=!1,stretchX:a,stretchY:s,content:l}=i;if(this._lazyInitEmptyStyle(),!(n instanceof HTMLImageElement||t.b(n))){if(void 0===n.width||void 0===n.height)return this.fire(new t.j(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:i,height:c,data:d}=n;return this.style.addImage(e,{data:new t.R({width:i,height:c},new Uint8Array(d)),pixelRatio:r,stretchX:a,stretchY:s,content:l,sdf:o,version:0,userImage:n}),n.onAdd&&n.onAdd(this,e),this}}{let{width:i,height:c,data:d}=u.getImageData(n);this.style.addImage(e,{data:new t.R({width:i,height:c},d),pixelRatio:r,stretchX:a,stretchY:s,content:l,sdf:o,version:0})}}updateImage(e,n){let i=this.style.getImage(e);if(!i)return this.fire(new t.j(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:r,height:o,data:a}=n instanceof HTMLImageElement||t.b(n)?u.getImageData(n):n;if(void 0===r||void 0===o)return this.fire(new t.j(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(r!==i.data.width||o!==i.data.height)return this.fire(new t.j(Error("The width and height of the updated image must be that same as the previous version of the image")));let s=!(n instanceof HTMLImageElement||t.b(n));return i.data.replace(a,s),this.style.updateImage(e,i),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.j(Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return F.getImage(this._requestManager.transformRequest(e,k.Image),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,i={}){return this.style.setPaintProperty(e,t,n,i),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,i={}){return this.style.setLayoutProperty(e,t,n,i),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,e=>{e||this._update(!0)}),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,e=>{e||this._update(!0)}),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add("maplibregl-map");let t=this._canvasContainer=m.create("div","maplibregl-canvas-container",e);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=m.create("canvas","maplibregl-canvas",t),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");let n=this._containerDimensions(),i=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],i);let r=this._controlContainer=m.create("div","maplibregl-control-container",e),o=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(e=>{o[e]=m.create("div",`maplibregl-ctrl-${e} `,r)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,t,n){this._canvas.width=Math.floor(n*e),this._canvas.height=Math.floor(n*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},t=null;this._canvas.addEventListener("webglcontextcreationerror",n=>{t={requestedAttributes:e},n&&(t.statusMessage=n.statusMessage,t.type=n.type)},{once:!0});let n=this._canvas.getContext("webgl2",e)||this._canvas.getContext("webgl",e);if(!n){let e="Failed to initialize WebGL";throw t?(t.message=e,Error(JSON.stringify(t))):Error(e)}this.painter=new nw(n,this.transform),h.testSupport(n)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded&&(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint()),this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let n=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let i=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,r=u.now();this.style.zoomHistory.update(e,r);let o=new t.a8(e,{now:r,fadeDuration:n,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),a=o.crossFadingFactor();1===a&&a===this._crossFadingFactor||(i=!0,this._crossFadingFactor=a),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,n,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:n,showPadding:this.showPadding}),this.fire(new t.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.bc.mark(t.bd.load),this.fire(new t.k("load"))),this.style&&(this.style.hasTransitions()||i)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let r=this._sourcesDirty||this._styleDirty||this._placementDirty;return r||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||r||(this._fullyLoaded=!0,t.bc.mark(t.bd.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var e;for(let e of(this._hash&&this._hash.remove(),this._controls))e.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),F.removeThrottleControl(this._imageQueueHandle),null==(e=this._resizeObserver)||e.disconnect();let n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),m.remove(this._canvasContainer),m.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),t.bc.clearMetrics(),this._removed=!0,this.fire(new t.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(e=>{t.bc.frame(e),this._frameRequest=null,this._render(e)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return d}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=nB,e.MapTouchEvent=nz,e.MapWheelEvent=nY,e.Marker=iz,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),n=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute("aria-disabled",t.toString()),this._zoomOutButton.setAttribute("aria-disabled",n.toString())},this._rotateCompassArrow=()=>{let e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=e},this._setButtonTitle=(e,t)=>{let n=this._map._getUIString(`NavigationControl.${t}`);e.title=n,e.setAttribute("aria-label",n)},this.options=t.e({},iI,e),this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),m.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),m.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=m.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new iO(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){m.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let n=m.create("button",e,this._container);return n.type="button",n.addEventListener("click",t),n}},e.Popup=class extends t.E{constructor(e){super(),this.remove=()=>(this._content&&m.remove(this._content),this._container&&(m.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new t.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var n;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=m.create("div","maplibregl-popup",this._map.getContainer()),this._tip=m.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(" "))this._container.classList.add(e);this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?iR(this._lngLat,this._flatPos,this._map.transform):null==(n=this._lngLat)?void 0:n.wrap(),this._trackPointer&&!e)return;let i=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let r=this.options.anchor,o=function e(n){if(n){if("number"==typeof n){let e=Math.round(Math.abs(n)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,n),"top-left":new t.P(e,e),"top-right":new t.P(-e,e),bottom:new t.P(0,-n),"bottom-left":new t.P(e,-e),"bottom-right":new t.P(-e,-e),left:new t.P(n,0),right:new t.P(-n,0)}}if(n instanceof t.P||Array.isArray(n)){let e=t.P.convert(n);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:t.P.convert(n.center||[0,0]),top:t.P.convert(n.top||[0,0]),"top-left":t.P.convert(n["top-left"]||[0,0]),"top-right":t.P.convert(n["top-right"]||[0,0]),bottom:t.P.convert(n.bottom||[0,0]),"bottom-left":t.P.convert(n["bottom-left"]||[0,0]),"bottom-right":t.P.convert(n["bottom-right"]||[0,0]),left:t.P.convert(n.left||[0,0]),right:t.P.convert(n.right||[0,0])}}return e(new t.P(0,0))}(this.options.offset);if(!r){let e,t=this._container.offsetWidth,n=this._container.offsetHeight;e=i.y+o.bottom.y<n?["top"]:i.y>this._map.transform.height-n?["bottom"]:[],i.x<t/2?e.push("left"):i.x>this._map.transform.width-t/2&&e.push("right"),r=0===e.length?"bottom":e.join("-")}let a=i.add(o[r]);this.options.subpixelPositioning||(a=a.round()),m.setTransform(this._container,`${iP[r]} translate(${a.x}px,${a.y}px)`),iB(this._container,r,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(iq),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new t.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.M.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t,n=document.createDocumentFragment(),i=document.createElement("body");for(i.innerHTML=e;t=i.firstChild;)n.appendChild(t);return this.setDOMContent(n)}getMaxWidth(){var e;return null==(e=this._container)?void 0:e.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=m.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){this._container&&this._container.classList.add(e)}removeClassName(e){this._container&&this._container.classList.remove(e)}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=m.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector("a[href], [tabindex]:not([tabindex='-1']), [contenteditable]:not([contenteditable='false']), button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])");e&&e.focus()}},e.RasterDEMTileSource=K,e.RasterTileSource=X,e.ScaleControl=class{constructor(e){this._onMove=()=>{iU(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,iU(this._map,this._container,this.options)},this.options=t.e({},ij,e)}getDefaultPosition(){return"bottom-left"}onAdd(e){return this._map=e,this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){m.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=ia,e.Style=e0,e.TerrainControl=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=e}onAdd(e){return this._map=e,this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=m.create("button","maplibregl-ctrl-terrain",this._container),m.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){m.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=n9,e.TwoFingersTouchRotateHandler=n8,e.TwoFingersTouchZoomHandler=n4,e.TwoFingersTouchZoomRotateHandler=im,e.VectorTileSource=W,e.VideoSource=ee,e.addSourceType=(e,n)=>t._(void 0,void 0,void 0,function*(){if(ei(e))throw Error(`A source type called "${e}" already exists.`);en[e]=n}),e.clearPrewarmedResources=function(){let e=o;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(z),o=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return es().getRTLTextPluginStatus()},e.getVersion=function(){return d},e.getWorkerCount=function(){return Y.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return U().broadcast("importScript",e)},e.prewarm=function(){H().acquire(z)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return es().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){Y.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}}),e}()}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(i,r){if(1&r&&(i=this(i)),8&r||"object"==typeof i&&i&&(4&r&&i.__esModule||16&r&&"function"==typeof i.then))return i;var o=Object.create(null);n.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&i;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>{a[e]=()=>i[e]});return a.default=()=>i,n.d(o,a),o}})(),n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i={};return(()=>{"use strict";let e;n.r(i),n.d(i,{OrMapLoadedEvent:()=>ln,geoJsonPointInputTemplateProvider:()=>ld,OrMapMarkerClickedEvent:()=>r6,OrMap:()=>lu,OrMapMarker:()=>r8,OrMapAssetCard:()=>le,getMarkerConfigAttributeName:()=>oe,Util:()=>eS,DefaultConfig:()=>s9,OrMapAssetCardLoadAssetEvent:()=>s7,CenterControl:()=>la,getMarkerConfigForAssetType:()=>r9,OrMapLongPressEvent:()=>lr,OrMapMarkerChangedEvent:()=>r4,CoordinatesControl:()=>lc,LngLat:()=>rz.LngLat,OrMapMarkerAsset:()=>ot,OrMapGeocoderChangeEvent:()=>lo,OrMapClickedEvent:()=>li});var t,r,o,a,s,l,c,d,u,m,h,f,p,b,g,_,y,v,x,w,F,k,E,A,T,C,M,S,D,I,O,R,P,B,z,Y,N,H,j,U,V,q,G,$,W,X,K,Z,J,Q,ee,et,en,ei,er,eo,ea,es,el,ec,ed,eu,em,eh,ef,ep,eb,eg,e_,ey,ev,ex,ew,eF,ek,eE,eA,eT,eC,eM,eL,eS={};function eD(e){return(eD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function eI(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function eO(e){var t=function(e,t){if("object"!=eD(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=eD(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==eD(t)?t:String(t)}function eR(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,eO(i.key),i)}}function eP(e,t,n){return t&&eR(e.prototype,t),n&&eR(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function eB(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ez(e,t){return(ez=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function eY(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ez(e,t)}function eN(e,t){if(t&&("object"===eD(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return eB(e)}function eH(e){return(eH=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ej(e,t,n){return(t=eO(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eU(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function eV(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function eq(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?eV(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eV(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}n.r(eS),n.d(eS,{getGeoJSONPoint:()=>rU,getLatLngBounds:()=>rq,getLngLat:()=>rj,getLngLatBounds:()=>rV,getMarkerIconAndColorFromAssetType:()=>rG}),n(488);var eG={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},e$=new(function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eI(this,e),this.init(t,n)}return eP(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||eG,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,n,i){return i&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(n).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,eq(eq({},{prefix:"".concat(this.prefix,":").concat(t,":")}),this.options))}},{key:"clone",value:function(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}}]),e}()),eW=function(){function e(){eI(this,e),this.observers={}}return eP(e,[{key:"on",value:function(e,t){var n=this;return e.split(" ").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,n)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(n))})}}]),e}();function eX(){var e,t,n=new Promise(function(n,i){e=n,t=i});return n.resolve=e,n.reject=t,n}function eK(e){return null==e?"":""+e}function eZ(e,t,n){function i(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var o="string"!=typeof t?[].concat(t):t.split(".");o.length>1;){if(r())return{};var a=i(o.shift());!e[a]&&n&&(e[a]=new n),e=Object.prototype.hasOwnProperty.call(e,a)?e[a]:{}}return r()?{}:{obj:e,k:i(o.shift())}}function eJ(e,t,n){var i=eZ(e,t,Object);i.obj[i.k]=n}function eQ(e,t){var n=eZ(e,t),i=n.obj,r=n.k;if(i)return i[r]}function e0(e,t,n){var i=eQ(e,n);return void 0!==i?i:eQ(t,n)}function e1(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var e2={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function e5(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return e2[e]}):e}var e3="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,e4=[" ",",","?","!",";"];function e6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function e8(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?e6(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):e6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var e7=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return eI(this,i),t=n.call(this),e3&&eW.call(eB(t)),t.data=e||{},t.options=r,void 0===t.options.keySeparator&&(t.options.keySeparator="."),void 0===t.options.ignoreJSONStructure&&(t.options.ignoreJSONStructure=!0),t}return eP(i,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,o=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure,a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(r?n.split(r):n)),e.indexOf(".")>-1&&(a=e.split("."));var s=eQ(this.data,a);return s||!o||"string"!=typeof n?s:function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(t){if(t[n])return t[n];for(var r=n.split(i),o=t,a=0;a<r.length;++a){if(!o||"string"==typeof o[r[a]]&&a+1<r.length)return;if(void 0===o[r[a]]){for(var s=2,l=r.slice(a,a+s).join(i),c=o[l];void 0===c&&r.length>a+s;)s++,c=o[l=r.slice(a,a+s).join(i)];if(void 0===c)return;if(null===c)return null;if(n.endsWith(l)){if("string"==typeof c)return c;if(l&&"string"==typeof c[l])return c[l]}var d=r.slice(a+s).join(i);if(d)return e(c,d,i);return}o=o[r[a]]}return o}}(this.data&&this.data[e]&&this.data[e][t],n,r)}},{key:"addResource",value:function(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=".");var a=[e,t];n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),eJ(this.data,a,i),r.silent||this.emit("added",e,t,n,i)}},{key:"addResources",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in n)("string"==typeof n[r]||"[object Array]"===Object.prototype.toString.apply(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});i.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=n,n=t,t=a[1]),this.addNamespaces(t);var s=eQ(this.data,a)||{};i?function e(t,n,i){for(var r in n)"__proto__"!==r&&"constructor"!==r&&(r in t?"string"==typeof t[r]||t[r]instanceof String||"string"==typeof n[r]||n[r]instanceof String?i&&(t[r]=n[r]):e(t[r],n[r],i):t[r]=n[r]);return t}(s,n,r):s=e8(e8({},s),n),eJ(this.data,a,s),o.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return(t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?e8(e8({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(function(e){return t[e]&&Object.keys(t[e]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),i}(eW),e9={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,i,r){var o=this;return e.forEach(function(e){o.processors[e]&&(t=o.processors[e].process(t,n,i,r))}),t}};function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var tn={},ti=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(e){var t,r,o,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return eI(this,i),o=n.call(this),e3&&eW.call(eB(o)),t=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r=eB(o),t.forEach(function(t){e[t]&&(r[t]=e[t])}),o.options=a,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o.logger=e$.create("translator"),o}return eP(i,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS||[],o=n&&e.indexOf(n)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!function(e,t,n){t=t||"",n=n||"";var i=e4.filter(function(e){return 0>t.indexOf(e)&&0>n.indexOf(e)});if(0===i.length)return!0;var r=new RegExp("(".concat(i.map(function(e){return"?"===e?"\\?":e}).join("|"),")")),o=!r.test(e);if(!o){var a=e.indexOf(n);a>0&&!r.test(e.substring(0,a))&&(o=!0)}return o}(e,n,i);if(o&&!a){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:r};var l=e.split(n);(n!==i||n===i&&this.options.ns.indexOf(l[0])>-1)&&(r=l.shift()),e=l.join(i)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,t,n){var r=this;if("object"!==eD(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var o=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,a=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,s=this.extractFromKey(e[e.length-1],t),l=s.key,c=s.namespaces,d=c[c.length-1],u=t.lng||this.language,m=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&"cimode"===u.toLowerCase()){if(m){var h=t.nsSeparator||this.options.nsSeparator;return o?(f.res="".concat(d).concat(h).concat(l),f):"".concat(d).concat(h).concat(l)}return o?(f.res=l,f):l}var f=this.resolve(e,t),p=f&&f.res,b=f&&f.usedKey||l,g=f&&f.exactUsedKey||l,_=Object.prototype.toString.apply(p),y=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,x="string"!=typeof p&&"boolean"!=typeof p&&"number"!=typeof p;if(v&&p&&x&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(_)&&("string"!=typeof y||"[object Array]"!==_)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var w=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,p,tt(tt({},t),{},{ns:c})):"key '".concat(l," (").concat(this.language,")' returned an object instead of string.");return o?(f.res=w,f):w}if(a){var F="[object Array]"===_,k=F?[]:{},E=F?g:b;for(var A in p)if(Object.prototype.hasOwnProperty.call(p,A)){var T="".concat(E).concat(a).concat(A);k[A]=this.translate(T,tt(tt({},t),{joinArrays:!1,ns:c})),k[A]===T&&(k[A]=p[A])}p=k}}else if(v&&"string"==typeof y&&"[object Array]"===_)(p=p.join(y))&&(p=this.extendTranslation(p,e,t,n));else{var C=!1,M=!1,S=void 0!==t.count&&"string"!=typeof t.count,D=i.hasDefaultValue(t),I=S?this.pluralResolver.getSuffix(u,t.count,t):"",O=t["defaultValue".concat(I)]||t.defaultValue;!this.isValidLookup(p)&&D&&(C=!0,p=O),this.isValidLookup(p)||(M=!0,p=l);var R=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&M?void 0:p,P=D&&O!==p&&this.options.updateMissing;if(M||C||P){if(this.logger.log(P?"updateKey":"missingKey",u,d,l,P?O:p),a){var B=this.resolve(l,tt(tt({},t),{},{keySeparator:!1}));B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var z=[],Y=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&Y&&Y[0])for(var N=0;N<Y.length;N++)z.push(Y[N]);else"all"===this.options.saveMissingTo?z=this.languageUtils.toResolveHierarchy(t.lng||this.language):z.push(t.lng||this.language);var H=function(e,n,i){var o=D&&i!==p?i:R;r.options.missingKeyHandler?r.options.missingKeyHandler(e,d,n,o,P,t):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,d,n,o,P,t),r.emit("missingKey",e,d,n,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&S?z.forEach(function(e){r.pluralResolver.getSuffixes(e,t).forEach(function(n){H([e],l+n,t["defaultValue".concat(n)]||O)})}):H(z,l,O))}p=this.extendTranslation(p,e,t,f,n),M&&p===l&&this.options.appendNamespaceToMissingKey&&(p="".concat(d,":").concat(l)),(M||C)&&this.options.parseMissingKeyHandler&&(p="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(d,":").concat(l):l,C?p:void 0):this.options.parseMissingKeyHandler(p))}return o?(f.res=p,f):p}},{key:"extendTranslation",value:function(e,t,n,i,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,tt(tt({},this.options.interpolation.defaultVariables),n),i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(tt(tt({},n),{interpolation:tt(tt({},this.options.interpolation),n.interpolation)}));var a,s="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(s){var l=e.match(this.interpolator.nestingRegexp);a=l&&l.length}var c=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(c=tt(tt({},this.options.interpolation.defaultVariables),c)),e=this.interpolator.interpolate(e,c,n.lng||this.language,n),s){var d=e.match(this.interpolator.nestingRegexp);a<(d&&d.length)&&(n.nest=!1)}!1!==n.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,i=Array(e),a=0;a<e;a++)i[a]=arguments[a];return r&&r[0]===i[0]&&!n.context?(o.logger.warn("It seems you are nesting recursively key: ".concat(i[0]," in key: ").concat(t[0])),null):o.translate.apply(o,i.concat([t]))},n)),n.interpolation&&this.interpolator.reset()}var u=n.postProcess||this.options.postProcess,m="string"==typeof u?[u]:u;return null!=e&&m&&m.length&&!1!==n.applyPostProcessor&&(e=e9.handle(m,e,t,this.options&&this.options.postProcessPassResolved?tt({i18nResolved:i},n):n,this)),e}},{key:"resolve",value:function(e){var t,n,i,r,o,a=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!a.isValidLookup(t)){var l=a.extractFromKey(e,s),c=l.key;n=c;var d=l.namespaces;a.options.fallbackNS&&(d=d.concat(a.options.fallbackNS));var u=void 0!==s.count&&"string"!=typeof s.count,m=u&&!s.ordinal&&0===s.count&&a.pluralResolver.shouldUseIntlApi(),h=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,f=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);d.forEach(function(e){a.isValidLookup(t)||(o=e,!tn["".concat(f[0],"-").concat(e)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(o)&&(tn["".concat(f[0],"-").concat(e)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(f.join(", "),'" won\'t get resolved as namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(function(n){if(!a.isValidLookup(t)){r=n;var o,l=[c];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(l,c,n,e,s);else{u&&(d=a.pluralResolver.getSuffix(n,s.count,s));var d,f="".concat(a.options.pluralSeparator,"zero");if(u&&(l.push(c+d),m&&l.push(c+f)),h){var p="".concat(c).concat(a.options.contextSeparator).concat(s.context);l.push(p),u&&(l.push(p+d),m&&l.push(p+f))}}for(;o=l.pop();)a.isValidLookup(t)||(i=o,t=a.getResource(n,e,o,s))}}))})}}),{res:t,usedKey:n,exactUsedKey:i,usedLng:r,usedNS:o}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,i):this.resourceStore.getResource(e,t,n,i)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}]),i}(eW);function tr(e){return e.charAt(0).toUpperCase()+e.slice(1)}var to=function(){function e(t){eI(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=e$.create("languageUtils")}return eP(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=tr(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=tr(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=tr(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach(function(e){if(!t){var i=n.formatLanguageCode(e);(!n.options.supportedLngs||n.isSupportedCode(i))&&(t=i)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var i=n.getLanguagePartFromCode(e);if(n.isSupportedCode(i))return t=i;t=n.options.supportedLngs.find(function(e){if(0===e.indexOf(i))return e})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=function(e){e&&(n.isSupportedCode(e)?r.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),i.forEach(function(e){0>r.indexOf(e)&&o(n.formatLanguageCode(e))}),r}}]),e}(),ta=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ts={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&(e%10!=1||e%100==11)))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},tl=["v1","v2","v3"],tc={zero:0,one:1,two:2,few:3,many:4,other:5},td=function(){function e(t){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eI(this,e),this.languageUtils=t,this.options=i,this.logger=e$.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(n={},ta.forEach(function(e){e.lngs.forEach(function(t){n[t]={numbers:e.nr,plurals:ts[e.fc]}})}),n)}return eP(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map(function(e){return"".concat(t).concat(e)})}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.getRule(e,n);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort(function(e,t){return tc[e]-tc[t]}).map(function(e){return"".concat(t.options.prepend).concat(e)}):i.numbers.map(function(i){return t.getSuffix(e,i,n)}):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.getRule(e,n);return i?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(i.select(t)):this.getSuffixRetroCompatible(i,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,i=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),r=e.numbers[i];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));var o=function(){return n.options.prepend&&r.toString()?n.options.prepend+r.toString():r.toString()};return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_".concat(r.toString()):o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}},{key:"shouldUseIntlApi",value:function(){return!tl.includes(this.options.compatibilityJSON)}}]),e}();function tu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tu(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var th=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eI(this,e),this.logger=e$.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return eP(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:e5,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?e1(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?e1(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?e1(t.nestingPrefix):t.nestingPrefixEscaped||e1("$t("),this.nestingSuffix=t.nestingSuffix?e1(t.nestingSuffix):t.nestingSuffixEscaped||e1(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,i){var r,o,a,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var d=function(e){if(0>e.indexOf(s.formatSeparator)){var r=e0(t,l,e);return s.alwaysFormat?s.format(r,void 0,n,tm(tm(tm({},i),t),{},{interpolationkey:e})):r}var o=e.split(s.formatSeparator),a=o.shift().trim(),c=o.join(s.formatSeparator).trim();return s.format(e0(t,l,a),c,n,tm(tm(tm({},i),t),{},{interpolationkey:a}))};this.resetRegExp();var u=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,m=i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach(function(t){for(a=0;r=t.regex.exec(e);){var n=r[1].trim();if(void 0===(o=d(n)))if("function"==typeof u){var l=u(e,r,i);o="string"==typeof l?l:""}else if(i&&i.hasOwnProperty(n))o="";else if(m){o=r[0];continue}else s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),o="";else"string"==typeof o||s.useRawValueToEscape||(o=eK(o));var c=t.safeValue(o);if(e=e.replace(r[0],c),m?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,++a>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var n,i,r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=tm({},o);function s(e,t){var n=this.nestingOptionsSeparator;if(0>e.indexOf(n))return e;var i=e.split(new RegExp("".concat(n,"[ ]*{"))),r="{".concat(i[1]);e=i[0];var o=(r=this.interpolate(r,a)).match(/'/g),s=r.match(/"/g);(o&&o.length%2==0&&!s||s.length%2!=0)&&(r=r.replace(/'/g,'"'));try{a=JSON.parse(r),t&&(a=tm(tm({},t),a))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(r)}return delete a.defaultValue,e}for(a.applyPostProcessor=!1,delete a.defaultValue;n=this.nestingRegexp.exec(e);){var l=[],c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var d=n[1].split(this.formatSeparator).map(function(e){return e.trim()});n[1]=d.shift(),l=d,c=!0}if((i=t(s.call(this,n[1].trim(),a),a))&&n[0]===e&&"string"!=typeof i)return i;"string"!=typeof i&&(i=eK(i)),i||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),i=""),c&&(i=l.reduce(function(e,t){return r.format(e,t,o.lng,tm(tm({},o),{},{interpolationkey:n[1].trim()}))},i.trim())),e=e.replace(n[0],i),this.regexp.lastIndex=0}return e}}]),e}();function tf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tf(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tb(e){var t={};return function(n,i,r){var o=i+JSON.stringify(r),a=t[o];return a||(a=e(i,r),t[o]=a),a(n)}}var tg=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eI(this,e),this.logger=e$.create("formatter"),this.options=t,this.formats={number:tb(function(e,t){var n=new Intl.NumberFormat(e,t);return function(e){return n.format(e)}}),currency:tb(function(e,t){var n=new Intl.NumberFormat(e,tp(tp({},t),{},{style:"currency"}));return function(e){return n.format(e)}}),datetime:tb(function(e,t){var n=new Intl.DateTimeFormat(e,tp({},t));return function(e){return n.format(e)}}),relativetime:tb(function(e,t){var n=new Intl.RelativeTimeFormat(e,tp({},t));return function(e){return n.format(e,t.range||"day")}}),list:tb(function(e,t){var n=new Intl.ListFormat(e,tp({},t));return function(e){return n.format(e)}})},this.init(t)}return eP(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=t.interpolation;this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=tb(t)}},{key:"format",value:function(e,t,n,i){var r=this;return t.split(this.formatSeparator).reduce(function(e,t){var o=function(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var i=e.split("(");t=i[0].toLowerCase().trim();var r=i[1].substring(0,i[1].length-1);"currency"===t&&0>r.indexOf(":")?n.currency||(n.currency=r.trim()):"relativetime"===t&&0>r.indexOf(":")?n.range||(n.range=r.trim()):r.split(";").forEach(function(e){if(e){var t,i=function(e){if(Array.isArray(e))return e}(t=e.split(":"))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return eU(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eU(e,void 0)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),r=i[0],o=i.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[r.trim()]||(n[r.trim()]=o),"false"===o&&(n[r.trim()]=!1),"true"===o&&(n[r.trim()]=!0),isNaN(o)||(n[r.trim()]=parseInt(o,10))}})}return{formatName:t,formatOptions:n}}(t),a=o.formatName,s=o.formatOptions;if(r.formats[a]){var l=e;try{var c=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},d=c.locale||c.lng||i.locale||i.lng||n;l=r.formats[a](e,d,tp(tp(tp({},s),i),c))}catch(e){r.logger.warn(e)}return l}return r.logger.warn("there was no format function for ".concat(a)),e},e)}}]),e}();function t_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function ty(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?t_(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var tv=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(e,t,r){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return eI(this,i),o=n.call(this),e3&&eW.call(eB(o)),o.backend=e,o.store=t,o.services=r,o.languageUtils=r.languageUtils,o.options=a,o.logger=e$.create("backendConnector"),o.waitingReads=[],o.maxParallelReads=a.maxParallelReads||10,o.readingCalls=0,o.maxRetries=a.maxRetries>=0?a.maxRetries:5,o.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,o.state={},o.queue=[],o.backend&&o.backend.init&&o.backend.init(r,a.backend,a),o}return eP(i,[{key:"queueLoad",value:function(e,t,n,i){var r=this,o={},a={},s={},l={};return e.forEach(function(e){var i=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!n.reload&&r.store.hasResourceBundle(e,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?void 0===a[s]&&(a[s]=!0):(r.state[s]=1,i=!1,void 0===a[s]&&(a[s]=!0),void 0===o[s]&&(o[s]=!0),void 0===l[t]&&(l[t]=!0)))}),i||(s[e]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}},{key:"loaded",value:function(e,t,n){var i=e.split("|"),r=i[0],o=i[1];t&&this.emit("failedLoading",r,o,t),n&&this.store.addResourceBundle(r,o,n),this.state[e]=t?-1:2;var a={};this.queue.forEach(function(n){var i,s,l,c,d;i=n.loaded,(c=(l=eZ(i,[r],Object)).obj)[d=l.k]=c[d]||[],s||c[d].push(o),void 0!==n.pending[e]&&(delete n.pending[e],n.pendingCount--),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach(function(e){a[e]||(a[e]={});var t=n.loaded[e];t.length&&t.forEach(function(t){void 0===a[e][t]&&(a[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,n){var i=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;return e.length?this.readingCalls>=this.maxParallelReads?void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:o,callback:a}):(this.readingCalls++,this.backend[n](e,t,function(s,l){if(i.readingCalls--,i.waitingReads.length>0){var c=i.waitingReads.shift();i.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(s&&l&&r<i.maxRetries)return void setTimeout(function(){i.read.call(i,e,t,n,r+1,2*o,a)},o);a(s,l)})):a(null,{})}},{key:"prepareLoading",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var o=this.queueLoad(e,t,i,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(function(e){n.loadOne(e)})}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=e.split("|"),r=i[0],o=i[1];this.read(r,o,"read",void 0,void 0,function(i,a){i&&t.logger.warn("".concat(n,"loading namespace ").concat(o," for language ").concat(r," failed"),i),!i&&a&&t.logger.log("".concat(n,"loaded namespace ").concat(o," for language ").concat(r),a),t.loaded(e,i,a)})}},{key:"saveMissing",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))return void this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");null!=n&&""!==n&&(this.backend&&this.backend.create&&this.backend.create(e,t,n,i,null,ty(ty({},o),{},{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,n,i))}}]),i}(eW);function tx(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&0>e.supportedLngs.indexOf("cimode")&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function tw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tw(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tw(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tk(){}var tE=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(eI(this,i),t=n.call(this),e3&&eW.call(eB(t)),t.options=tx(r),t.services={},t.logger=e$,t.modules={external:[]},Object.getOwnPropertyNames(Object.getPrototypeOf(e=eB(t))).forEach(function(t){"function"==typeof e[t]&&(e[t]=e[t].bind(e))}),o&&!t.isInitialized&&!r.isClone){if(!t.options.initImmediate)return t.init(r,o),eN(t,eB(t));setTimeout(function(){t.init(r,o)},0)}return t}return eP(i,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:0>t.ns.indexOf("translation")&&(t.defaultNS=t.ns[0]));var i={debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===eD(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===eD(e[2])||"object"===eD(e[3])){var n=e[3]||e[2];Object.keys(n).forEach(function(e){t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,n,i){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}};function r(e){return e?"function"==typeof e?new e:e:null}if(this.options=tF(tF(tF({},i),this.options),tx(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=tF(tF({},i.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){this.modules.logger?e$.init(r(this.modules.logger),this.options):e$.init(null,this.options),this.modules.formatter?o=this.modules.formatter:"undefined"!=typeof Intl&&(o=tg);var o,a=new to(this.options);this.store=new e7(this.options.resources,this.options);var s=this.services;s.logger=e$,s.resourceStore=this.store,s.languageUtils=a,s.pluralResolver=new td(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(s.formatter=r(o),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new th(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new tv(r(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.emit.apply(e,[t].concat(i))}),this.modules.languageDetector&&(s.languageDetector=r(this.modules.languageDetector),s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=r(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new ti(this.services,this.options),this.translator.on("*",function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.emit.apply(e,[t].concat(i))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}if(this.format=this.options.interpolation.format,n||(n=tk),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&"dev"!==l[0]&&(this.options.lng=l[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}});var c=eX(),d=function(){var t=function(t,i){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),c.resolve(i),n(t,i)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?d():setTimeout(d,0),c}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tk,i=n,r="string"==typeof e?e:this.language;if("function"==typeof e&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase())return i();var o=[],a=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){0>o.indexOf(e)&&o.push(e)})};r?a(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return a(e)}),this.options.preload&&this.options.preload.forEach(function(e){return a(e)}),this.services.backendConnector.load(o,this.options.ns,function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),i(e)})}else i(null)}},{key:"reloadResources",value:function(e,t,n){var i=eX();return e||(e=this.languages),t||(t=this.options.ns),n||(n=tk),this.services.backendConnector.reload(e,t,function(e){i.resolve(),n(e)}),i}},{key:"use",value:function(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&e9.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t<this.languages.length;t++){var n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var i=eX();this.emit("languageChanging",e);var r=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},o=function(e,o){o?(r(o),n.translator.changeLanguage(o),n.isLanguageChangingTo=void 0,n.emit("languageChanged",o),n.logger.log("languageChanged",o)):n.isLanguageChangingTo=void 0,i.resolve(function(){return n.t.apply(n,arguments)}),t&&t(e,function(){return n.t.apply(n,arguments)})},a=function(t){e||t||!n.services.languageDetector||(t=[]);var i="string"==typeof t?t:n.services.languageUtils.getBestMatchFromCodes(t);i&&(n.language||r(i),n.translator.language||n.translator.changeLanguage(i),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(i)),n.loadResources(i,function(e){o(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),i}},{key:"getFixedT",value:function(e,t,n){var i=this,r=function e(t,r){if("object"!==eD(r)){for(var o,a=arguments.length,s=Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];o=i.options.overloadTranslationOptionHandler([t,r].concat(s))}else o=tF({},r);o.lng=o.lng||e.lng,o.lngs=o.lngs||e.lngs,o.ns=o.ns||e.ns,o.keyPrefix=o.keyPrefix||n||e.keyPrefix;var c=i.options.keySeparator||".",d=o.keyPrefix?"".concat(o.keyPrefix).concat(c).concat(t):t;return i.t(d,o)};return"string"==typeof e?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var i=this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===i.toLowerCase())return!0;var a=function(e,n){var i=t.services.backendConnector.state["".concat(e,"|").concat(n)];return -1===i||2===i};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(i,e)&&(!r||a(o,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,i=eX();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>n.options.ns.indexOf(e)&&n.options.ns.push(e)}),this.loadResources(function(e){i.resolve(),t&&t(e)}),i):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=eX();"string"==typeof e&&(e=[e]);var i=this.options.preload||[],r=e.filter(function(e){return 0>i.indexOf(e)});return r.length?(this.options.preload=i.concat(r),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr":"rtl"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tk,r=tF(tF(tF({},this.options),t),{isClone:!0}),o=new i(r);return(void 0!==t.debug||void 0!==t.prefix)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(function(t){o[t]=e[t]}),o.services=tF({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new ti(o.services,o.options),o.translator.on("*",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];o.emit.apply(o,[e].concat(n))}),o.init(r,n),o.translator.options=o.options,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),i}(eW);ej(tE,"createInstance",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new tE(e,t)});var tA=tE.createInstance();tA.createInstance=tE.createInstance,tA.createInstance,tA.init,tA.loadResources,tA.reloadResources,tA.use,tA.changeLanguage,tA.getFixedT,tA.t,tA.exists,tA.setDefaultNamespace,tA.hasLoadedNamespace,tA.loadNamespaces,tA.loadLanguages;let tT=tA;var tC=n(3348),tM=n.n(tC);!function(e){e.CREATE="CREATE",e.UPDATE="UPDATE",e.DELETE="DELETE"}(t||(t={})),function(e){e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"}(r||(r={})),function(e){e.MANUAL="MANUAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET",e.AGENT="AGENT"}(o||(o={})),function(e){e.OPEN="OPEN",e.ACKNOWLEDGED="ACKNOWLEDGED",e.IN_PROGRESS="IN_PROGRESS",e.RESOLVED="RESOLVED",e.CLOSED="CLOSED"}(a||(a={})),function(e){e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT",e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT"}(s||(s={})),function(e){e.CREATE="CREATE",e.READ="READ",e.UPDATE="UPDATE",e.DELETE="DELETE"}(l||(l={})),function(e){e.NONE="NONE",e.FORECAST="FORECAST",e.SETPOINT="SETPOINT"}(c||(c={})),function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.DISCONNECTING="DISCONNECTING",e.CONNECTED="CONNECTED",e.DISABLED="DISABLED",e.WAITING="WAITING",e.ERROR="ERROR",e.STOPPED="STOPPED"}(d||(d={})),function(e){e.EV="EV",e.PHEV="PHEV"}(u||(u={})),function(e){e.YAZAKI="YAZAKI",e.MENNEKES="MENNEKES",e.LE_GRAND="LE_GRAND",e.CHADEMO="CHADEMO",e.COMBO="COMBO",e.SCHUKO="SCHUKO",e.ENERGYLOCK="ENERGYLOCK"}(m||(m={})),function(e){e.SOUTH="SOUTH",e.EAST_WEST="EAST_WEST"}(h||(h={})),function(e){e.REQUEST_START="REQUEST_START",e.REQUEST_REPEATING="REQUEST_REPEATING",e.REQUEST_CANCEL="REQUEST_CANCEL",e.READY="READY",e.COMPLETED="COMPLETED",e.RUNNING="RUNNING",e.CANCELLED="CANCELLED"}(f||(f={})),function(e){e.TOGGLE="TOGGLE",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.NEGATE="NEGATE"}(p||(p={})),function(e){e.ASSET_NOT_FOUND="ASSET_NOT_FOUND",e.ATTRIBUTE_NOT_FOUND="ATTRIBUTE_NOT_FOUND",e.INSUFFICIENT_ACCESS="INSUFFICIENT_ACCESS",e.INVALID_VALUE="INVALID_VALUE",e.INTERCEPTOR_FAILURE="INTERCEPTOR_FAILURE",e.STATE_STORAGE_FAILED="STATE_STORAGE_FAILED",e.CANNOT_PROCESS="CANNOT_PROCESS",e.QUEUE_FULL="QUEUE_FULL",e.UNKNOWN="UNKNOWN",e.ASSET_ID_MISSING="ASSET_ID_MISSING",e.ATTRIBUTE_NAME_MISSING="ATTRIBUTE_NAME_MISSING"}(b||(b={})),function(e){e.PUBLIC="PUBLIC",e.SHARED="SHARED",e.PRIVATE="PRIVATE"}(g||(g={})),function(e){e.OFF="OFF",e.ONE_MIN="ONE_MIN",e.FIVE_MIN="FIVE_MIN",e.QUARTER="QUARTER",e.ONE_HOUR="ONE_HOUR"}(_||(_={})),function(e){e.WRAP_TO_SINGLE_COLUMN="WRAP_TO_SINGLE_COLUMN",e.KEEP_LAYOUT="KEEP_LAYOUT",e.REDIRECT="REDIRECT",e.BLOCK_DEVICE="BLOCK_DEVICE"}(y||(y={})),function(e){e.MINUTE="MINUTE",e.HOUR="HOUR",e.DAY="DAY",e.WEEK="WEEK",e.MONTH="MONTH",e.YEAR="YEAR"}(v||(v={})),function(e){e.MIN="MIN",e.AVG="AVG",e.MAX="MAX",e.DIFFERENCE="DIFFERENCE",e.COUNT="COUNT",e.SUM="SUM",e.MODE="MODE",e.MEDIAN="MEDIAN"}(x||(x={})),function(e){e.TERMINATING="TERMINATING",e.DISABLED="DISABLED",e.ALREADY_CONNECTED="ALREADY_CONNECTED",e.UNRECOGNISED="UNRECOGNISED",e.PERMANENT_ERROR="PERMANENT_ERROR",e.SYNC_ERROR="SYNC_ERROR"}(w||(w={})),function(e){e.HTTPS="HTTPS",e.HTTP="HTTP",e.TCP="TCP"}(F||(F={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.PATCH="PATCH"}(k||(k={})),function(e){e.KEYCLOAK="KEYCLOAK",e.BASIC="BASIC",e.NONE="NONE"}(E||(E={})),function(e){e.WEBSOCKET="WEBSOCKET",e.POLLING="POLLING"}(A||(A={})),function(e){e.VECTOR="VECTOR",e.RASTER="RASTER"}(T||(T={})),function(e){e.INTERNAL="INTERNAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET"}(C||(C={})),function(e){e.REALM="REALM",e.USER="USER",e.ASSET="ASSET",e.CUSTOM="CUSTOM"}(M||(M={})),function(e){e.NORMAL="NORMAL",e.HIGH="HIGH"}(S||(S={})),function(e){e.DEVICE="DEVICE",e.TOPIC="TOPIC",e.CONDITION="CONDITION"}(D||(D={})),function(e){e.ALWAYS="ALWAYS",e.ONCE="ONCE",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.ANNUALLY="ANNUALLY"}(I||(I={})),function(e){e.MESSAGE_INVALID="MESSAGE_INVALID",e.CERTIFICATE_INVALID="CERTIFICATE_INVALID",e.UNAUTHORIZED="UNAUTHORIZED",e.FORBIDDEN="FORBIDDEN",e.UNIQUE_ID_MISMATCH="UNIQUE_ID_MISMATCH",e.CONFIG_DISABLED="CONFIG_DISABLED",e.USER_DISABLED="USER_DISABLED",e.SERVER_ERROR="SERVER_ERROR",e.ASSET_ERROR="ASSET_ERROR",e.SERVER_BUSY="SERVER_BUSY"}(O||(O={})),function(e){e.PRIVATE="PRIVATE",e.PROTECTED="PROTECTED",e.PUBLIC="PUBLIC"}(R||(R={})),function(e){e.EXACT="EXACT",e.BEGIN="BEGIN",e.END="END",e.CONTAINS="CONTAINS"}(P||(P={})),function(e){e.EQUALS="EQUALS",e.GREATER_THAN="GREATER_THAN",e.GREATER_EQUALS="GREATER_EQUALS",e.LESS_THAN="LESS_THAN",e.LESS_EQUALS="LESS_EQUALS",e.BETWEEN="BETWEEN"}(B||(B={})),function(e){e.CREATED_ON="CREATED_ON",e.NAME="NAME",e.ASSET_TYPE="ASSET_TYPE",e.PARENT_ID="PARENT_ID",e.REALM="REALM"}(z||(z={})),function(e){e.RESTRICTED="RESTRICTED",e.LINKED="LINKED",e.REALM="REALM"}(Y||(Y={})),function(e){e.AT_LEAST_ONE="AT_LEAST_ONE",e.ALL="ALL",e.NONE="NONE"}(N||(N={})),function(e){e.AND="AND",e.OR="OR"}(H||(H={})),function(e){e.CREATED_ON="CREATED_ON",e.FIRST_NAME="FIRST_NAME",e.LAST_NAME="LAST_NAME",e.USERNAME="USERNAME",e.EMAIL="EMAIL"}(j||(j={})),function(e){e.STOPPED="STOPPED",e.RUNNING="RUNNING",e.ERROR="ERROR"}(U||(U={})),function(e){e.JAVASCRIPT="JAVASCRIPT",e.GROOVY="GROOVY",e.JSON="JSON",e.FLOW="FLOW"}(V||(V={})),function(e){e.READY="READY",e.DEPLOYED="DEPLOYED",e.COMPILATION_ERROR="COMPILATION_ERROR",e.VALIDITY_PERIOD_ERROR="VALIDITY_PERIOD_ERROR",e.EXECUTION_ERROR="EXECUTION_ERROR",e.LOOP_ERROR="LOOP_ERROR",e.DISABLED="DISABLED",e.PAUSED="PAUSED",e.EXPIRED="EXPIRED",e.REMOVED="REMOVED",e.EMPTY="EMPTY"}(q||(q={})),function(e){e.SUNRISE="SUNRISE",e.SUNSET="SUNSET",e.TWILIGHT_MORNING_VISUAL="TWILIGHT_MORNING_VISUAL",e.TWILIGHT_MORNING_VISUAL_LOWER="TWILIGHT_MORNING_VISUAL_LOWER",e.TWILIGHT_MORNING_HORIZON="TWILIGHT_MORNING_HORIZON",e.TWILIGHT_MORNING_CIVIL="TWILIGHT_MORNING_CIVIL",e.TWILIGHT_MORNING_NAUTICAL="TWILIGHT_MORNING_NAUTICAL",e.TWILIGHT_MORNING_ASTRONOMICAL="TWILIGHT_MORNING_ASTRONOMICAL",e.TWILIGHT_MORNING_GOLDEN_HOUR="TWILIGHT_MORNING_GOLDEN_HOUR",e.TWILIGHT_MORNING_BLUE_HOUR="TWILIGHT_MORNING_BLUE_HOUR",e.TWILIGHT_MORNING_NIGHT_HOUR="TWILIGHT_MORNING_NIGHT_HOUR",e.TWILIGHT_EVENING_VISUAL="TWILIGHT_EVENING_VISUAL",e.TWILIGHT_EVENING_VISUAL_LOWER="TWILIGHT_EVENING_VISUAL_LOWER",e.TWILIGHT_EVENING_HORIZON="TWILIGHT_EVENING_HORIZON",e.TWILIGHT_EVENING_CIVIL="TWILIGHT_EVENING_CIVIL",e.TWILIGHT_EVENING_NAUTICAL="TWILIGHT_EVENING_NAUTICAL",e.TWILIGHT_EVENING_ASTRONOMICAL="TWILIGHT_EVENING_ASTRONOMICAL",e.TWILIGHT_EVENING_GOLDEN_HOUR="TWILIGHT_EVENING_GOLDEN_HOUR",e.TWILIGHT_EVENING_BLUE_HOUR="TWILIGHT_EVENING_BLUE_HOUR",e.TWILIGHT_EVENING_NIGHT_HOUR="TWILIGHT_EVENING_NIGHT_HOUR"}(G||(G={})),function(e){e.NUMBER="NUMBER",e.NUMBER_ARRAY="NUMBER_ARRAY",e.STRING="STRING",e.BOOLEAN="BOOLEAN",e.TRIGGER="TRIGGER",e.COLOR="COLOR",e.ANY="ANY"}($||($={})),function(e){e.NEW_LINE="NEW_LINE",e.SPACER="SPACER"}(W||(W={})),function(e){e.INPUT="INPUT",e.PROCESSOR="PROCESSOR",e.OUTPUT="OUTPUT",e.THEN="THEN"}(X||(X={})),function(e){e.TEXT="TEXT",e.MULTILINE="MULTILINE",e.NUMBER="NUMBER",e.DROPDOWN="DROPDOWN",e.DOUBLE_DROPDOWN="DOUBLE_DROPDOWN",e.CHECKBOX="CHECKBOX",e.ASSET_ATTRIBUTE="ASSET_ATTRIBUTE",e.COLOR="COLOR",e.DATE="DATE"}(K||(K={})),function(e){e.ADD="ADD",e.ADD_OR_REPLACE="ADD_OR_REPLACE",e.REPLACE="REPLACE",e.DELETE="DELETE",e.CLEAR="CLEAR"}(Z||(Z={})),function(e){e.PER_ASSET="PER_ASSET",e.GLOBAL="GLOBAL"}(J||(J={})),function(e){e.READ_ADMIN="read:admin",e.READ_LOGS="read:logs",e.READ_USERS="read:users",e.READ_MAP="read:map",e.READ_ASSETS="read:assets",e.READ_RULES="read:rules",e.READ_INSIGHTS="read:insights",e.READ_ALARMS="read:alarms",e.READ_SERVICES="read:services",e.WRITE_SERVICES="write:services",e.WRITE_USER="write:user",e.WRITE_ADMIN="write:admin",e.WRITE_LOGS="write:logs",e.WRITE_ASSETS="write:assets",e.WRITE_ATTRIBUTES="write:attributes",e.WRITE_RULES="write:rules",e.WRITE_INSIGHTS="write:insights",e.WRITE_ALARMS="write:alarms",e.READ="read",e.WRITE="write"}(Q||(Q={})),function(e){e.REGISTER="REGISTER",e.UPDATE="UPDATE",e.DEREGISTER="DEREGISTER"}(ee||(ee={})),function(e){e.AVAILABLE="AVAILABLE",e.UNAVAILABLE="UNAVAILABLE"}(et||(et={})),function(e){e.ASSET="ASSET",e.AGENT="AGENT",e.NOTIFICATION="NOTIFICATION",e.ALARM="ALARM",e.RULES="RULES",e.PROTOCOL="PROTOCOL",e.GATEWAY="GATEWAY",e.MODEL_AND_VALUES="MODEL_AND_VALUES",e.API="API",e.DATA="DATA"}(en||(en={})),function(e){e.INFO="INFO",e.WARN="WARN",e.ERROR="ERROR"}(ei||(ei={})),function(e){e.NUMERIC="numeric",e.DIGIT_2="2-digit",e.FULL="full",e.LONG="long",e.MEDIUM="medium",e.SHORT="short",e.NARROW="narrow"}(er||(er={})),function(e){e.SECONDLY="SECONDLY",e.MINUTELY="MINUTELY",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.YEARLY="YEARLY"}(eo||(eo={})),function(e){e.OMIT="OMIT",e.BACKWARD="BACKWARD",e.FORWARD="FORWARD"}(ea||(ea={})),function(e){e.JAPANESE="JAPANESE",e.BUDDHIST="BUDDHIST",e.ROC="ROC",e.ISLAMIC="ISLAMIC",e.ISO8601="ISO8601",e.CHINESE="CHINESE",e.ETHIOPIC="ETHIOPIC",e.HEBREW="HEBREW",e.GREGORIAN="GREGORIAN"}(es||(es={})),function(e){e.SU="SU",e.MO="MO",e.TU="TU",e.WE="WE",e.TH="TH",e.FR="FR",e.SA="SA"}(el||(el={})),function(e){e.PEOPLECOUNTERASSET="PeopleCounterAsset",e.STORAGESIMULATORAGENT="StorageSimulatorAgent",e.CITYASSET="CityAsset",e.ELECTRICITYCONSUMERASSET="ElectricityConsumerAsset",e.ELECTRICVEHICLEASSET="ElectricVehicleAsset",e.CONSOLEASSET="ConsoleAsset",e.PRESENCESENSORASSET="PresenceSensorAsset",e.LIGHTASSET="LightAsset",e.THETHINGSSTACKAGENT="TheThingsStackAgent",e.PLUGASSET="PlugAsset",e.ELECTRICITYCHARGERASSET="ElectricityChargerAsset",e.ELECTRICITYBATTERYASSET="ElectricityBatteryAsset",e.ELECTRICITYSUPPLIERASSET="ElectricitySupplierAsset",e.TCPAGENT="TCPAgent",e.SERIALAGENT="SerialAgent",e.BLUETOOTHMESHAGENT="BluetoothMeshAgent",e.SNMPAGENT="SNMPAgent",e.GROUPASSET="GroupAsset",e.BUILDINGASSET="BuildingAsset",e.ELECTRICITYPRODUCERWINDASSET="ElectricityProducerWindAsset",e.ENVIRONMENTSENSORASSET="EnvironmentSensorAsset",e.MQTTAGENT="MQTTAgent",e.MICROPHONEASSET="MicrophoneAsset",e.MODBUSTCPAGENT="ModbusTcpAgent",e.HTTPAGENT="HTTPAgent",e.DOORASSET="DoorAsset",e.ELECTRICITYPRODUCERASSET="ElectricityProducerAsset",e.MAILAGENT="MailAgent",e.UDPAGENT="UDPAgent",e.ROOMASSET="RoomAsset",e.VENTILATIONASSET="VentilationAsset",e.TRADFRILIGHTASSET="TradfriLightAsset",e.KNXAGENT="KNXAgent",e.OPENWEATHERMAPAGENT="OpenWeatherMapAgent",e.CHIRPSTACKAGENT="ChirpStackAgent",e.WEATHERASSET="WeatherAsset",e.THINGASSET="ThingAsset",e.WEBSOCKETAGENT="WebsocketAgent",e.GATEWAYASSET="GatewayAsset",e.PARKINGASSET="ParkingAsset",e.TRADFRIPLUGASSET="TradfriPlugAsset",e.SIMULATORAGENT="SimulatorAgent",e.MODBUSSERIALAGENT="ModbusSerialAgent",e.ELECTRICVEHICLEFLEETGROUPASSET="ElectricVehicleFleetGroupAsset",e.VELBUSTCPAGENT="VelbusTCPAgent",e.ARTNETLIGHTASSET="ArtnetLightAsset",e.VELBUSSERIALAGENT="VelbusSerialAgent",e.GROUNDWATERSENSORASSET="GroundwaterSensorAsset",e.ELECTRICITYPRODUCERSOLARASSET="ElectricityProducerSolarAsset",e.ENERGYOPTIMISATIONASSET="EnergyOptimisationAsset",e.ZWAVEAGENT="ZWaveAgent",e.THERMOSTATASSET="ThermostatAsset",e.SHIPASSET="ShipAsset"}(ec||(ec={})),function(e){e.SUPPORTSEXPORT="supportsExport",e.MQTTPORT="MQTTPort",e.ENERGYSELFCONSUMPTION="energySelfConsumption",e.LASTACCESS="lastAccess",e.CHARGERID="chargerID",e.POSITION="position",e.CARBONSAVING="carbonSaving",e.ROUTINGMODE="routingMode",e.LASTWILLRETAIN="lastWillRetain",e.LASTWILLTOPIC="lastWillTopic",e.SERIALBAUDRATE="serialBaudrate",e.BASEURL="baseURL",e.REQUIREDVALUES="requiredValues",e.FINANCIALSAVING="financialSaving",e.FLEETCATEGORY="fleetCategory",e.GATEWAYSTATUS="gatewayStatus",e.NO2LEVEL="NO2Level",e.ATMOSPHERICPRESSURE="atmosphericPressure",e.TAGS="tags",e.UNLOCK="unlock",e.MILEAGEMIN="mileageMin",e.CHECKINTERVALSECONDS="checkIntervalSeconds",e.LOCATION="location",e.CLIENTSECRET="clientSecret",e.WINDDIRECTION="windDirection",e.WINDSPEED="windSpeed",e.PARTICLESPM10="particlesPM10",e.APPLICATIONKEY="applicationKey",e.POWEREXPORTMAX="powerExportMax",e.SETWINDACTUALVALUEWITHFORECAST="setWindActualValueWithForecast",e.WATERLEVEL="waterLevel",e.CONSOLENAME="consoleName",e.CONNECTHEADERS="connectHeaders",e.WEBSOCKETQUERY="websocketQuery",e.PREFERHTML="preferHTML",e.COOLING="cooling",e.POLLINGMILLIS="pollingMillis",e.SOILTEMPERATURE="soilTemperature",e.SUNIRRADIANCE="sunIrradiance",e.ODOMETER="odometer",e.SUPPORTSIMPORT="supportsImport",e.MESSAGEMAXLENGTH="messageMaxLength",e.WINDGUSTSPEED="windGustSpeed",e.ENERGYLEVELPERCENTAGEMIN="energyLevelPercentageMin",e.LIGHTID="lightId",e.POWER="power",e.STREET="street",e.DELETEPROCESSEDMAIL="deleteProcessedMail",e.WINDSPEEDMIN="windSpeedMin",e.POWERSETPOINT="powerSetpoint",e.PRESENCE="presence",e.SPACESOCCUPIED="spacesOccupied",e.STARTTLS="startTLS",e.AGENTSTATUS="agentStatus",e.MESSAGECHARSET="messageCharset",e.CERTIFICATEALIAS="certificateAlias",e.PANELPITCH="panelPitch",e.EMAIL="email",e.BINDPORT="bindPort",e.PARTICLESPM1="particlesPM1",e.SPEED="speed",e.ENERGYLEVELPERCENTAGEMAX="energyLevelPercentageMax",e.MESSAGESTRIPDELIMITER="messageStripDelimiter",e.AREA="area",e.COUNTRY="country",e.SHIPTYPE="shipType",e.CONNECTSUBSCRIPTIONS="connectSubscriptions",e.RELATIVEHUMIDITY="relativeHumidity",e.INCLUDEFORECASTWINDSERVICE="includeForecastWindService",e.SOURCEADDRESS="sourceAddress",e.RAINFALL="rainfall",e.ENERGYIMPORTTOTAL="energyImportTotal",e.OAUTHGRANT="oAuthGrant",e.OZONELEVEL="ozoneLevel",e.COUNTINMINUTE="countInMinute",e.PORT="port",e.TUNNELINGSUPPORTED="tunnelingSupported",e.ENINUMBER="ENINumber",e.AGENTDISABLED="agentDisabled",e.DISABLED="disabled",e.FORCECHARGE="forceCharge",e.TIMEINJECTIONINTERVAL="timeInjectionInterval",e.FINANCIALWEIGHTING="financialWeighting",e.ENERGYLEVELPERCENTAGE="energyLevelPercentage",e.SPACESBUFFER="spacesBuffer",e.VEHICLECATEGORY="vehicleCategory",e.FANSPEED="fanSpeed",e.FINANCIALCOST="financialCost",e.NOTES="notes",e.MAILFOLDERNAME="mailFolderName",e.TEMPERATURE="temperature",e.AVAILABLECHARGINGSPACES="availableChargingSpaces",e.ENERGYCAPACITY="energyCapacity",e.POWERIMPORTMIN="powerImportMin",e.INTERVALSIZE="intervalSize",e.SNMPVERSIONVALUE="SNMPVersionValue",e.SOUNDLEVEL="soundLevel",e.UNITID="unitId",e.STOPBITS="stopBits",e.CONNECTURL="connectURL",e.CLIENTID="clientId",e.VEHICLEID="vehicleID",e.SUNAZIMUTH="sunAzimuth",e.AVAILABLEDISCHARGINGSPACES="availableDischargingSpaces",e.WEBSOCKETMODE="websocketMode",e.COLOURTEMPERATURE="colourTemperature",e.VEHICLECONNECTED="vehicleConnected",e.DATABITS="dataBits",e.MILEAGEMINIMUM="mileageMinimum",e.COLOURRGB="colourRGB",e.CARBONIMPORT="carbonImport",e.WILDCARDSUBSCRIPTIONTOPICS="wildcardSubscriptionTopics",e.PRICEHOURLY="priceHourly",e.WINDSPEEDMAX="windSpeedMax",e.PINGDISABLED="pingDisabled",e.FLOW="flow",e.CHILDASSETTYPE="childAssetType",e.NETWORKKEY="networkKey",e.UNIVERSE="universe",e.MSSINUMBER="MSSINumber",e.SUBSCRIBEQOS="subscribeQos",e.LEDCOUNT="lEDCount",e.LOCKED="locked",e.CLOUDCOVERAGE="cloudCoverage",e.PROTOCOL="protocol",e.TARIFFIMPORT="tariffImport",e.ENERGYRENEWABLESHARE="energyRenewableShare",e.REGION="region",e.CONSOLEPLATFORM="consolePlatform",e.POWEREXPORTMIN="powerExportMin",e.EFFICIENCYEXPORT="efficiencyExport",e.CHARGECYCLES="chargeCycles",e.SERIALPORT="serialPort",e.APPLICATIONID="applicationId",e.PANELORIENTATION="panelOrientation",e.LENGTH="length",e.PROBABILITYOFPRECIPITATION="probabilityOfPrecipitation",e.USERNAMEPASSWORD="usernamePassword",e.POWERFORECAST="powerForecast",e.SETACTUALSOLARVALUEWITHFORECAST="setActualSolarValueWithForecast",e.REQUESTQUERYPARAMETERS="requestQueryParameters",e.PROXYADDRESS="proxyAddress",e.MQTTHOST="MQTTHost",e.ENERGYLOCAL="energyLocal",e.ENERGYAUTARKY="energyAutarky",e.MODEL="model",e.MANUFACTURER="manufacturer",e.ONOFF="onOff",e.RESUMESESSION="resumeSession",e.TARIFFEXPORT="tariffExport",e.APIKEY="ApiKey",e.CITY="city",e.CONNECTORTYPE="connectorType",e.ENERGYEXPORTTOTAL="energyExportTotal",e.CARBONEXPORT="carbonExport",e.REQUESTTIMEOUTMILLIS="requestTimeoutMillis",e.ENERGYLEVEL="energyLevel",e.OPTIMISATIONDISABLED="optimisationDisabled",e.WEBSOCKETPATH="websocketPath",e.WINDSPEEDREFERENCE="windSpeedReference",e.PRICEDAILY="priceDaily",e.COUNTGROWTHMINUTE="countGrowthMinute",e.IMONUMBER="IMONumber",e.ATTRIBUTION="Attribution",e.INCLUDEFORECASTSOLARSERVICE="includeForecastSolarService",e.REQUESTHEADERS="requestHeaders",e.TENANTID="tenantId",e.HOST="host",e.COUNTOUTMINUTE="countOutMinute",e.ENERGYTYPE="energyType",e.CONSOLEVERSION="consoleVersion",e.MTU="mtu",e.PANELAZIMUTH="panelAzimuth",e.SEQUENCENUMBER="sequenceNumber",e.SUNALTITUDE="sunAltitude",e.COUNTOUT="countOut",e.CHARGERCONNECTED="chargerConnected",e.ROOMNUMBER="roomNumber",e.PARTICLESPM2_5="particlesPM2_5",e.MESSAGESOURCEADDRESS="messageSourceAddress",e.COUNTIN="countIn",e.MILEAGECHARGED="mileageCharged",e.PROVISIONWEATHERASSET="ProvisionWeatherAsset",e.TEMPERATURESETPOINT="temperatureSetpoint",e.CONSOLEPROVIDERS="consoleProviders",e.POWERIMPORTMAX="powerImportMax",e.COUNTTOTAL="countTotal",e.SPACESTOTAL="spacesTotal",e.BINDHOST="bindHost",e.MESSAGECONVERTBINARY="messageConvertBinary",e.MESSAGEDELIMITERS="messageDelimiters",e.EFFICIENCYIMPORT="efficiencyImport",e.SUNZENITH="sunZenith",e.BRIGHTNESS="brightness",e.POSTALCODE="postalCode",e.SPACESOPEN="spacesOpen",e.HUMIDITY="humidity",e.SECUREMODE="secureMode",e.MILEAGECAPACITY="mileageCapacity",e.DIRECTION="direction",e.ENERGYLEVELSCHEDULE="energyLevelSchedule",e.UVINDEX="uVIndex",e.NATMODE="NATMode",e.UPDATEONWRITE="updateOnWrite",e.LASTWILLPAYLOAD="lastWillPayload",e.GROUPID="groupId",e.FOLLOWREDIRECTS="followRedirects",e.CARBONCOST="carbonCost",e.MESSAGECONVERTHEX="messageConvertHex",e.PUBLISHQOS="publishQos"}(ed||(ed={})),function(e){e.FORMAT="format",e.RULESTATE="ruleState",e.HASPREDICTEDDATAPOINTS="hasPredictedDataPoints",e.STOREDATAPOINTS="storeDataPoints",e.LABEL="label",e.CONSTRAINTS="constraints",e.SHOWONDASHBOARD="showOnDashboard",e.READONLY="readOnly",e.MULTILINE="multiline",e.ACCESSPUBLICWRITE="accessPublicWrite",e.MOMENTARY="momentary",e.AGENTLINK="agentLink",e.ACCESSRESTRICTEDREAD="accessRestrictedRead",e.DATAPOINTSMAXAGEDAYS="dataPointsMaxAgeDays",e.ACCESSRESTRICTEDWRITE="accessRestrictedWrite",e.SECRET="secret",e.ATTRIBUTELINKS="attributeLinks",e.RULERESETIMMEDIATE="ruleResetImmediate",e.AGENTLINKCONFIG="agentLinkConfig",e.FORECAST="forecast",e.UNITS="units",e.USERCONNECTED="userConnected",e.ACCESSPUBLICREAD="accessPublicRead"}(eu||(eu={})),function(e){e.WSURL="WS_URL",e.POSITIVENUMBER="positiveNumber",e.VALUEDESCRIPTOR="valueDescriptor",e.LONG="long",e.BOOLEANMAP="booleanMap",e.MQTTQOS="MQTTQos",e.GEOJSONPOINT="GEO_JSONPoint",e.SNMPVERSION="SNMPVersion",e.ASSETTYPE="assetType",e.JSONOBJECT="JSONObject",e.BIGNUMBER="bigNumber",e.IPADDRESS="IPAddress",e.EMAIL="email",e.KNXMESSAGESOURCEADDRESS="kNXMessageSourceAddress",e.ATTRIBUTEREFERENCE="attributeReference",e.INTEGER="integer",e.OAUTHGRANT="oAuthGrant",e.NUMBER="number",e.TEXTMAP="textMap",e.WEBSOCKETSUBSCRIPTION="websocketSubscription",e.BOOLEAN="boolean",e.TIMEANDPERIODDURATIONISO8601="timeAndPeriodDurationISO8601",e.TIMESTAMPISO8601="timestampISO8601",e.MULTIVALUEDTEXTMAP="multivaluedTextMap",e.JSON="JSON",e.INTEGERBYTE="integerByte",e.AGENTLINK="agentLink",e.CALENDAREVENT="calendarEvent",e.CONNECTIONSTATUS="connectionStatus",e.VALUECONSTRAINT="valueConstraint",e.ASSETQUERY="assetQuery",e.COLOURRGB="colourRGB",e.VALUEFORMAT="valueFormat",e.TEXT="text",e.BYTE="byte",e.USERNAMEANDPASSWORD="usernameAndPassword",e.HTTPURL="HTTP_URL",e.ATTRIBUTELINK="attributeLink",e.ASSETID="assetID",e.NUMBERMAP="numberMap",e.HTTPMETHOD="HTTPMethod",e.PANELORIENTATION="panelOrientation",e.ATTRIBUTESTATE="attributeState",e.POSITIVEINTEGER="positiveInteger",e.EXECUTIONSTATUS="executionStatus",e.BIGINTEGER="bigInteger",e.PERIODDURATIONISO8601="periodDurationISO8601",e.DATEANDTIME="dateAndTime",e.CONNECTORTYPE="connectorType",e.NEGATIVEINTEGER="negativeInteger",e.TCPIPPORTNUMBER="TCP_IPPortNumber",e.INTEGERMAP="integerMap",e.ENERGYTYPE="energyType",e.TIMESTAMP="timestamp",e.UUID="UUID",e.FORECASTCONFIGURATION="forecastConfiguration",e.TIMEDURATIONISO8601="timeDurationISO8601",e.CONSOLEPROVIDERS="consoleProviders",e.NEGATIVENUMBER="negativeNumber",e.CRONEXPRESSION="CRONExpression",e.DIRECTION="direction",e.HOSTORIPADDRESS="hostOrIPAddress"}(em||(em={})),function(e){e.MONTH="month",e.MILE_SCANDINAVIAN="mile_scandinavian",e.YEAR="year",e.VOLT="volt",e.HERTZ="hertz",e.MILE="mile",e.BTU="btu",e.FOOT="foot",e.MEGA="mega",e.INCH="inch",e.IN_HG="inch_mercury",e.CENTI="centi",e.GRAM="gram",e.KNOT="knot",e.METRE="metre",e.LITRE="litre",e.FLUID_OUNCE="fluid_ounce",e.CELSIUS="celsius",e.DECIBEL="decibel",e.FAHRENHEIT="fahrenheit",e.WATT="watt",e.PEAK="peak",e.MICRO="micro",e.PER="per",e.STONE="stone",e.VAR="var",e.OUNCE="ounce",e.HECTARE="hectare",e.YARD="yard",e.JOULE="joule",e.DEGREE="degree",e.KILO="kilo",e.KELVIN="kelvin",e.CARBON="carbon",e.DECIBEL_ATTENUATED="decibel_attenuated",e.SQUARED="squared",e.PERCENTAGE="percentage",e.CUBED="cubed",e.DAY="day",e.RADIAN="radian",e.OHM="ohm",e.MINUTE="minute",e.PART_PER_MILLION="ppm",e.AMP="amp",e.MASS_POUND="pound",e.HOUR="hour",e.ACRE="acre",e.RPM="rpm",e.PASCAL="pascal",e.LUMEN="lumen",e.WEEK="week",e.GALLON="gallon",e.LUX="lux",e.MILLI="milli",e.BAR="bar",e.HECTO="hecto",e.SECOND="second"}(eh||(eh={})),ef||(ef={});class tL{static getAssetDescriptors(){return tL._assetTypeInfos.map(e=>e.assetDescriptor)}static getMetaItemDescriptors(){return[...this._metaItemDescriptors]}static getValueDescriptors(){return[...this._valueDescriptors]}static getAssetTypeInfos(){return[...this._assetTypeInfos]}static getAssetTypeInfo(e){if(e)return e.assetDescriptor?e:("string"!=typeof e&&(e=e.name),this._assetTypeInfos.find(t=>t.assetDescriptor.name===e))}static getAssetDescriptor(e){if(!e)return;if(e.assetDescriptor)return e.assetDescriptor;if("string"!=typeof e)return e;let t=this._assetTypeInfos.find(t=>t.assetDescriptor.name===e);return t?t.assetDescriptor:void 0}static getAttributeDescriptor(e,t){if(!e)return;let n=this.getAssetTypeInfo(t||"ThingAsset");if(n&&n.attributeDescriptors)return n.attributeDescriptors.find(t=>t.name===e)}static getValueDescriptor(e){let t;if(!e)return;if(e.endsWith("[]"))for(t=0;e.endsWith("[]");)e=e.substring(0,e.length-2),t++;let n=this._valueDescriptors.find(t=>t.name===e);return n&&t&&(n=Object.assign(Object.assign({},n),{arrayDimensions:t})),n}static resolveValueDescriptor(e,t){let n;return t&&("string"==typeof t&&(n=tL.getValueDescriptor(t)),n=t.jsonType?t:tL.getValueDescriptor(t.type)),!n&&e&&(n=tL.getValueDescriptor("JSON")),n}static resolveValueTypeFromValue(e){if(null!=e){if("number"==typeof e)return"number";if("string"==typeof e)return"text";if("boolean"==typeof e)return"boolean";if(Array.isArray(e)){let t=1,n=e.find(e=>null!=e);for(;Array.isArray(n);)n=n.find(e=>null!=e),t++;let i=this.resolveValueTypeFromValue(n);if(!i)return;for(;t>0;)i+="[]",t--;return i}if(e instanceof Date)return"dateAndTime"}}static getAttributeAndValueDescriptors(e,t,n){let i,r;if(t&&"string"!=typeof t)i=t;else{let r=this.getAssetTypeInfo(e||"ThingAsset");if(!r)return[void 0,void 0];"string"==typeof t&&(i=this.getAttributeDescriptor(t,r)),!i&&n&&(i={type:n.type,name:n.name,meta:n.meta})}return i&&(r=this.getValueDescriptor(i.type)),[i,r]}static getMetaItemDescriptor(e){if(e)return this._metaItemDescriptors.find(t=>t.name===e)}static getAssetDescriptorColour(e,t){let n=this.getAssetDescriptor(e);return n&&n.colour?n.colour:t}static getAssetDescriptorIcon(e,t){let n=this.getAssetDescriptor(e);return n&&n.icon?n.icon:t}}tL._assetTypeInfos=[],tL._metaItemDescriptors=[],tL._valueDescriptors=[];var tS=n(3806),tD=n.n(tS),tI=n(2891);class tO{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t}),Object.freeze(this)}}function tR(e,t,n=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function||e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length||e instanceof Date||!(e instanceof Object)||!(t instanceof Object))return!1;if(n){let n=Object.keys(e);return Object.keys(t).every(e=>-1!==n.indexOf(e))&&n.every(n=>tR(e[n],t[n]))}return!1}function tP(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map((e,n,i)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){let t=!i[n-1]||"_"===i[n-1],r=n+1<i.length&&i[n+1]&&"_"!==i[n+1],o=n+3>i.length||!i[n+1]&&!i[n+3];(!t||r)&&(e=" "+e),!r&&(t||o)||(e=e.toLowerCase())}return e}).join("").trim()}function tB(e,t,n){let i="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(i)?t.meta[i]:n&&n.meta?n.meta[i]:void 0}function tz(e,t,n,i,r,o){let a=tY(e?e.value:void 0,()=>tH("format",e,t,n,r),void 0,o),s=tH("units",e,t,n,!0);return i&&s&&s.length&&(a=tN(tH("units",e,t,n,r),a)),a}function tY(e,t,n,i){let r="";if(null==e)r=i||"";else if("string"==typeof e)r=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){let i=t&&t();if(i&&0!==Object.keys(i).length)switch("number"==typeof e?i.asBoolean?e=!!e:i.asDate&&(e=new Date(e)):"boolean"==typeof e&&i.asNumber&&(e=+!!e),typeof e){case"number":r=new Intl.NumberFormat(n||tT.language,i).format(e);break;case"boolean":i.asOnOff&&(r=e?tT.t("on"):tT.t("off")),i.asOpenClosed&&(r=e?tT.t("open"):tT.t("closed")),i.asPressedReleased&&(r=e?tT.t("pressed"):tT.t("released"));break;case"object":if(i.momentJsFormat)r=tD()(e).format(i.momentJsFormat);else if(i.iso8601)r=e.toISOString();else if(i.week){var o;let t,n=((o=new Date(Date.UTC((o=e).getFullYear(),o.getMonth(),o.getDate()))).setUTCDate(o.getUTCDate()+4-(o.getUTCDay()||7)),t=new Date(Date.UTC(o.getUTCFullYear(),0,1)),Math.ceil(((o.getTime()-t.getTime())/864e5+1)/7));r="2-digit"===i.week?String(n).padStart(2,"0"):Number(n).toString(10)}else r=new Intl.DateTimeFormat(n||tT.language,i).format(e)}else r=Object(e).toString()}return r}function tN(e,t){if(!e)return"";t||(t="");let n=e.map((e,n)=>{if(3!==e.length||e.toUpperCase()!==e)return tT.t(["units."+e,"or:units."+e]);{let i=new Intl.NumberFormat(tT.language,{currency:e,style:"currency"}).formatToParts();if(0!==n||"currency"!==i[0].type)return"currency"===i[0].type?i[0].value:i[i.length-1].value;if(!t)return i[0].value;t=i[0].value+t}}).join("");return t.length>0?t+" "+n:n}function tH(e,t,n,i,r){let o,a=[],s=tj(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,i,r);if(s&&(o=JSON.parse(s)))if("format"!==e)return o;else a.push(o);if(t&&t.meta&&(o=tB(e,t,n)))if("format"!==e)return o;else a.push(o);if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(o=n[e],"format"!==e)return o;a.push(o)}if(n&&n.type){if(o=tL.getValueDescriptor(n.type)[e],"format"!==e)return o;a.push(o)}if("format"!==e||0===a.length)return o;let l={};return a.reverse().forEach(e=>{l=Object.assign(Object.assign({},l),e)}),l}function tj(e,t,n,i,r,o){let a;if(t?a="string"==typeof t?t:t.name:n&&(a="string"==typeof n?n:n.name),!a)return;let s=[],l=e+"."+(r?"attribute":"meta")+".";if(i&&s.push(l+i+"."+a),n&&"string"!=typeof n&&(s.push(l+n.type+"."+a),s.push(l+n.type)),s.push(l+a),s.length>0)return tT.t(s,{defaultValue:o||""})}function tU(e,t){let n=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[n];else{let i=e.attributes[n];i&&(i.value=t.value,i.timestamp=t.timestamp)}return Object.assign({},e)}var tV=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((i=i.apply(e,t||[])).next())})};let tq=n(9916);class tG{constructor(e,t,n){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=e,this._autoEnable=t,this._enableCompleteCallback=n,window.OpenRemoteConsole=this;let i=new URLSearchParams(window.location.search),r=i.get("consoleName"),o=i.get("consoleVersion"),a=i.get("consolePlatform"),s=i.get("consoleProviders"),l=i.get("consoleAutoEnable"),c=s&&s.length>0?s.split(" "):["push"];this._pendingProviderEnables=c;let d=tG._createConsoleRegistration(),u=window.localStorage.getItem("OpenRemoteConsole:"+e);if(u)try{let e=JSON.parse(u);e.id&&(d.id=e.id),e.name&&(d.name=e.name),e.providers&&(d.providers=e.providers),e.apps&&(d.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let m=d.providers;for(let e of(d.providers={},c)){let t=m&&m.hasOwnProperty(e)?m[e]:{enabled:!1,disabled:!1};d.providers[e]=t}let h=rA.getAppName();h.length>0&&0>d.apps.indexOf(h)&&d.apps.push(h),this._registration=d,r&&(d.name=r),o&&(d.version=o),a&&(d.platform=a),l&&(this._autoEnable="TRUE"===l||"true"===l)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){let e=navigator.userAgentData&&navigator.userAgentData.platform?navigator.userAgentData.platform:navigator.platform;return e&&("iP"===e.substring(0,2)||"Mac"===e.substring(0,3))&&window.webkit&&window.webkit.messageHandlers}get shellAndroid(){return!!window.MobileInterface}get isMobile(){return this.shellApple||this.shellAndroid}initialise(){return tV(this,void 0,void 0,function*(){if(!this._initialised&&!this._initialiseInProgress){console.debug("Console: initialising"),this._initialiseInProgress=!0;try{if(this._registration.providers)for(let e of Object.keys(this._registration.providers))yield this._initialiseProvider(e);this._registration.id||(yield this.sendRegistration(0)),this._initialised=!0,this._initialiseInProgress=!1,0===this._pendingProviderEnables.length?(yield this.sendRegistration(),this._callCompletedCallback()):this._autoEnable&&(yield this.enableProviders())}catch(e){console.error(e)}finally{this._initialiseInProgress=!1}}})}enableProviders(){return tV(this,void 0,void 0,function*(){if(!this._initialised)throw Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let t=this._pendingProviderEnables[e];yield this.enableProvider(t)}})}enableProvider(e,t){return tV(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let n={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:t},i=yield this.sendProviderMessage(n,!0);this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.success,this._registration.providers[e].data=i.data;let r=this._pendingProviderEnables.indexOf(e);return r>=0&&(this._pendingProviderEnables.splice(r,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),i})}disableProvider(e){return tV(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,t})}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,t){return tV(this,void 0,void 0,function*(){if("storage"!==e.provider&&!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),Error("Invalid console provider '"+e.provider+"'");if(!t)return void this._doSendProviderMessage(e);let n=e.provider+e.action;if(this._pendingProviderPromises[n])throw Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");let i=new tO,r=()=>{delete this._pendingProviderPromises[n],i.reject("No response from provider")};return this._pendingProviderPromises[n]=[i,window.setTimeout(r,5e3)],this._doSendProviderMessage(e),i.promise})}sendRegistration(e){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),console.debug("Sending registration in: "+(e=void 0!==e?e:2e3)+"ms"),new Promise((e,t)=>{this._registrationTimer=window.setTimeout(()=>{this._registrationTimer=null,console.debug("Console: updating registration");try{this._registration.name||(this._registration.name="Console"),this._registration.platform||(this._registration.platform="N/A"),this._registration.version||(this._registration.version="N/A"),this._registration.providers||(this._registration.providers={}),rA.rest.api.ConsoleResource.register(this._registration).then(t=>{if(200!==t.status)throw Error("Failed to register console");this._registration=t.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),e()})}catch(e){console.error("Failed to register console"),t("Failed to register console")}})})}storeData(e,t){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:t},!1)}retrieveData(e){return tV(this,void 0,void 0,function*(){let t=this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);try{let e=yield Promise.race([t,new Promise((e,t)=>setTimeout(t,2e3))]);if(e&&e.value){let t=e.value;return"null"===t?void 0:t}}catch(e){console.log("Failed to retrieve data from storage provider")}})}addProviderMessageListener(e,t){this._providerMessageListeners[e.provider+e.action]=t}removeProviderMessageListener(e){delete this._providerMessageListeners[e.provider+e.action]}_postNativeShellMessage(e){try{if(this.shellAndroid)return window.MobileInterface.postMessage(JSON.stringify(e));if(this.shellApple)return window.webkit.messageHandlers.int.postMessage(e)}catch(e){console.error("Failed to send shell message towards console",e)}}_doSendGenericMessage(e,t){let n={type:e,data:t};this.isMobile?this._postNativeShellMessage(n):console.warn("Failed to send generic message to console.",n)}_doSendProviderMessage(e){if(this.isMobile)this._postNativeShellMessage({type:"provider",data:e});else{if(!e.provider||!e.action)return;switch(e.provider.trim().toUpperCase()){case"PUSH":switch(e.action.trim().toUpperCase()){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0}));break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0}));break;case"STORE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(t):window.localStorage.setItem(t,JSON.stringify(e.value))}break;case"RETRIEVE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw Error("Storage provider 'retrieve' action requires a `key`");let n=window.localStorage.getItem(t);if(null!==n)try{n=JSON.parse(n)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:t,value:n}))}break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let t=JSON.parse(e),n=t.provider,i=t.action,r=this._pendingProviderPromises[n+i];r&&(window.clearTimeout(r[1]),delete this._pendingProviderPromises[n+i],r[0].resolve(t));let o=this._providerMessageListeners[n+i];o&&o(t)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout(()=>{e()},0)}static _createConsoleRegistration(){return{name:tq.name,version:tq.version,platform:tq.os.toString(),apps:[],model:((tq.manufacturer?tq.manufacturer+" ":"")+(tq.product?tq.product:"")).trim()}}_initialiseProvider(e){return tV(this,void 0,void 0,function*(){let t;console.debug("Console: initialising provider '"+e+"'");try{t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=t.version,this._registration.providers[e].requiresPermission=t.requiresPermission,this._registration.providers[e].hasPermission=t.hasPermission,this._registration.providers[e].success=t.success,this._registration.providers[e].enabled=t.enabled,this._registration.providers[e].disabled=t.disabled,this._registration.providers[e].data=t.data}catch(e){console.error(e),t={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(t.success||(console.debug("Provider initialisation failed: '"+e+"'"),t.disabled=!0,this._registration.providers[e].disabled=!0),t.disabled||t.enabled){let t=this._pendingProviderEnables.indexOf(e);t>=0&&this._pendingProviderEnables.splice(t,1)}})}}var t$=n(3653),tW=n.n(t$);class tX{constructor(e){this.httpClient=e}updateCurrentUserLocale(e,t){return this.httpClient.request({method:"PUT",url:ns`user/locale`,data:e,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:ns`user/query`,data:e,options:t})}requestPasswordResetCurrent(e){return this.httpClient.request({method:"PUT",url:ns`user/request-password-reset`,options:e})}updatePasswordCurrent(e,t){return this.httpClient.request({method:"PUT",url:ns`user/reset-password`,data:e,options:t})}updateCurrent(e,t){return this.httpClient.request({method:"PUT",url:ns`user/update`,data:e,options:t})}getCurrent(e){return this.httpClient.request({method:"GET",url:ns`user/user`,options:e})}getCurrentUserRealmRoles(e){return this.httpClient.request({method:"GET",url:ns`user/userRealmRoles`,options:e})}getCurrentUserClientRoles(e,t){return this.httpClient.request({method:"GET",url:ns`user/userRoles/${e}`,options:t})}disconnectUserSession(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/disconnect/${t}`,options:n})}requestPasswordReset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`user/${e}/request-password-reset/${t}`,options:n})}updatePassword(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`user/${e}/reset-password/${t}`,data:n,options:i})}resetSecret(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/reset-secret/${t}`,options:n})}updateRoles(e,t,n){return this.httpClient.request({method:"PUT",url:ns`user/${e}/roles`,data:t,options:n})}getUserRealmRoles(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/userRealmRoles/${t}`,options:n})}updateUserRealmRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`user/${e}/userRealmRoles/${t}`,data:n,options:i})}getUserClientRoles(e,t,n,i){return this.httpClient.request({method:"GET",url:ns`user/${e}/userRoles/${t}/${n}`,options:i})}updateUserClientRoles(e,t,n,i,r){return this.httpClient.request({method:"PUT",url:ns`user/${e}/userRoles/${t}/${n}`,data:i,options:r})}getUserSessions(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/userSessions/${t}`,options:n})}create(e,t,n){return this.httpClient.request({method:"POST",url:ns`user/${e}/users`,data:t,options:n})}update(e,t,n){return this.httpClient.request({method:"PUT",url:ns`user/${e}/users`,data:t,options:n})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`user/${e}/users/${t}`,options:n})}getClientRoles(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/${t}/roles`,options:n})}updateClientRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`user/${e}/${t}/roles`,data:n,options:i})}get(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/${t}`,options:n})}}class tK{constructor(e){this.httpClient=e}createProvisioningConfig(e,t){return this.httpClient.request({method:"POST",url:ns`provisioning`,data:e,options:t})}getProvisioningConfigs(e){return this.httpClient.request({method:"GET",url:ns`provisioning`,options:e})}deleteProvisioningConfig(e,t){return this.httpClient.request({method:"DELETE",url:ns`provisioning/${e}`,options:t})}updateProvisioningConfig(e,t,n){return this.httpClient.request({method:"PUT",url:ns`provisioning/${e}`,data:t,options:n})}}class tZ{constructor(e){this.httpClient=e}doProtocolAssetDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:ns`agent/assetDiscovery/${e}`,queryParams:t,options:n})}doProtocolAssetImport(e,t,n,i){return this.httpClient.request({method:"POST",url:ns`agent/assetImport/${e}`,queryParams:n,data:t,options:i})}doProtocolInstanceDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:ns`agent/instanceDiscovery/${e}`,queryParams:t,options:n})}}class tJ{constructor(e){this.httpClient=e}getHealthStatus(e){return this.httpClient.request({method:"GET",url:ns`health`,options:e})}getInfo(e){return this.httpClient.request({method:"GET",url:ns`info`,options:e})}}class tQ{constructor(e){this.httpClient=e}getManagerConfig(e){return this.httpClient.request({method:"GET",url:ns`configuration/manager`,options:e})}update(e,t){return this.httpClient.request({method:"PUT",url:ns`configuration/manager`,data:e,options:t})}fileUpload(e,t,n){return this.httpClient.request({method:"POST",url:ns`configuration/manager/file`,queryParams:t,data:e,options:n})}getManagerConfigImage(e,t){return this.httpClient.request({method:"GET",url:ns`configuration/manager/image/${e}`,options:t})}}class t0{constructor(e){this.httpClient=e}getAllNodeDefinitions(e){return this.httpClient.request({method:"GET",url:ns`flow`,options:e})}getNodeDefinition(e,t){return this.httpClient.request({method:"GET",url:ns`flow/${e}`,options:t})}getAllNodeDefinitionsByType(e,t){return this.httpClient.request({method:"GET",url:ns`flow/${e}`,options:t})}}class t1{constructor(e){this.httpClient=e}deleteConnections(e,t){return this.httpClient.request({method:"DELETE",url:ns`gateway/connection`,queryParams:e,options:t})}getConnections(e){return this.httpClient.request({method:"GET",url:ns`gateway/connection`,options:e})}deleteConnection(e,t){return this.httpClient.request({method:"DELETE",url:ns`gateway/connection/${e}`,options:t})}getConnection(e,t){return this.httpClient.request({method:"GET",url:ns`gateway/connection/${e}`,options:t})}setConnection(e,t,n){return this.httpClient.request({method:"PUT",url:ns`gateway/connection/${e}`,data:t,options:n})}getConnectionStatus(e,t){return this.httpClient.request({method:"GET",url:ns`gateway/status/${e}`,options:t})}}class t2{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:ns`dashboard`,data:e,options:t})}update(e,t){return this.httpClient.request({method:"PUT",url:ns`dashboard`,data:e,options:t})}getAllRealmDashboards(e,t){return this.httpClient.request({method:"GET",url:ns`dashboard/all/${e}`,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:ns`dashboard/query`,data:e,options:t})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`dashboard/${e}/${t}`,options:n})}get(e,t,n){return this.httpClient.request({method:"GET",url:ns`dashboard/${e}/${t}`,options:n})}}class t5{constructor(e){this.httpClient=e}getConfig(e){return this.httpClient.request({method:"GET",url:ns`syslog/config`,options:e})}updateConfig(e,t){return this.httpClient.request({method:"PUT",url:ns`syslog/config`,data:e,options:t})}clearEvents(e){return this.httpClient.request({method:"DELETE",url:ns`syslog/event`,options:e})}getEvents(e,t){return this.httpClient.request({method:"GET",url:ns`syslog/event`,queryParams:e,options:t})}}class t3{constructor(e){this.httpClient=e}getAssetDescriptors(e,t){return this.httpClient.request({method:"GET",url:ns`model/assetDescriptors`,queryParams:e,options:t})}getAssetInfo(e,t,n){return this.httpClient.request({method:"GET",url:ns`model/assetInfo/${e}`,queryParams:t,options:n})}getAssetInfos(e,t){return this.httpClient.request({method:"GET",url:ns`model/assetInfos`,queryParams:e,options:t})}getValueDescriptorSchema(e,t){return this.httpClient.request({method:"GET",url:ns`model/getValueDescriptorSchema`,queryParams:e,options:t})}getMetaItemDescriptors(e,t){return this.httpClient.request({method:"GET",url:ns`model/metaItemDescriptors`,queryParams:e,options:t})}getValueDescriptors(e,t){return this.httpClient.request({method:"GET",url:ns`model/valueDescriptors`,queryParams:e,options:t})}}class t4{constructor(e){this.httpClient=e}getPredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:ns`asset/predicted/${e}/${t}`,data:n,options:i})}writePredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`asset/predicted/${e}/${t}`,data:n,options:i})}}class t6{constructor(e){this.httpClient=e}createGlobalRuleset(e,t){return this.httpClient.request({method:"POST",url:ns`rules`,data:e,options:t})}getGlobalRulesets(e,t){return this.httpClient.request({method:"GET",url:ns`rules`,queryParams:e,options:t})}createAssetRuleset(e,t){return this.httpClient.request({method:"POST",url:ns`rules/asset`,data:e,options:t})}getAssetRulesets(e,t,n){return this.httpClient.request({method:"GET",url:ns`rules/asset/for/${e}`,queryParams:t,options:n})}deleteAssetRuleset(e,t){return this.httpClient.request({method:"DELETE",url:ns`rules/asset/${e}`,options:t})}getAssetRuleset(e,t){return this.httpClient.request({method:"GET",url:ns`rules/asset/${e}`,options:t})}updateAssetRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`rules/asset/${e}`,data:t,options:n})}getAssetGeofences(e,t){return this.httpClient.request({method:"GET",url:ns`rules/geofences/${e}`,options:t})}getAssetEngineInfo(e,t){return this.httpClient.request({method:"GET",url:ns`rules/info/asset/${e}`,options:t})}getGlobalEngineInfo(e){return this.httpClient.request({method:"GET",url:ns`rules/info/global`,options:e})}getRealmEngineInfo(e,t){return this.httpClient.request({method:"GET",url:ns`rules/info/realm/${e}`,options:t})}createRealmRuleset(e,t){return this.httpClient.request({method:"POST",url:ns`rules/realm`,data:e,options:t})}getRealmRulesets(e,t,n){return this.httpClient.request({method:"GET",url:ns`rules/realm/for/${e}`,queryParams:t,options:n})}deleteRealmRuleset(e,t){return this.httpClient.request({method:"DELETE",url:ns`rules/realm/${e}`,options:t})}getRealmRuleset(e,t){return this.httpClient.request({method:"GET",url:ns`rules/realm/${e}`,options:t})}updateRealmRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`rules/realm/${e}`,data:t,options:n})}deleteGlobalRuleset(e,t){return this.httpClient.request({method:"DELETE",url:ns`rules/${e}`,options:t})}getGlobalRuleset(e,t){return this.httpClient.request({method:"GET",url:ns`rules/${e}`,options:t})}updateGlobalRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`rules/${e}`,data:t,options:n})}}class t8{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:ns`realm`,data:e,options:t})}getAll(e){return this.httpClient.request({method:"GET",url:ns`realm`,options:e})}getAccessible(e){return this.httpClient.request({method:"GET",url:ns`realm/accessible`,options:e})}delete(e,t){return this.httpClient.request({method:"DELETE",url:ns`realm/${e}`,options:t})}get(e,t){return this.httpClient.request({method:"GET",url:ns`realm/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:ns`realm/${e}`,data:t,options:n})}}class t7{constructor(e){this.httpClient=e}getServices(e,t){return this.httpClient.request({method:"GET",url:ns`service`,queryParams:e,options:t})}registerService(e,t){return this.httpClient.request({method:"POST",url:ns`service`,data:e,options:t})}getGlobalServices(e){return this.httpClient.request({method:"GET",url:ns`service/global`,options:e})}registerGlobalService(e,t){return this.httpClient.request({method:"POST",url:ns`service/global`,data:e,options:t})}deregisterService(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`service/${e}/${t}`,options:n})}getService(e,t,n){return this.httpClient.request({method:"GET",url:ns`service/${e}/${t}`,options:n})}heartbeat(e,t,n){return this.httpClient.request({method:"PUT",url:ns`service/${e}/${t}`,options:n})}}class t9{constructor(e){this.httpClient=e}getNotifications(e,t){return this.httpClient.request({method:"GET",url:ns`notification`,queryParams:e,options:t})}removeNotifications(e,t){return this.httpClient.request({method:"DELETE",url:ns`notification`,queryParams:e,options:t})}sendNotification(e,t){return this.httpClient.request({method:"POST",url:ns`notification/alert`,data:e,options:t})}removeNotification(e,t){return this.httpClient.request({method:"DELETE",url:ns`notification/${e}`,options:t})}notificationAcknowledged(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`notification/${e}/acknowledged`,queryParams:n,data:t,options:i})}notificationDelivered(e,t,n){return this.httpClient.request({method:"PUT",url:ns`notification/${e}/delivered`,queryParams:t,options:n})}}class ne{constructor(e){this.httpClient=e}register(e,t){return this.httpClient.request({method:"POST",url:ns`console/register`,data:e,options:t})}}class nt{constructor(e){this.httpClient=e}getSettings(e){return this.httpClient.request({method:"GET",url:ns`map`,options:e})}saveSettings(e,t){return this.httpClient.request({method:"PUT",url:ns`map`,data:e,options:t})}deleteMap(e){return this.httpClient.request({method:"DELETE",url:ns`map/deleteMap`,options:e})}getCustomMapInfo(e){return this.httpClient.request({method:"GET",url:ns`map/getCustomMapInfo`,options:e})}getSettingsJs(e){return this.httpClient.request({method:"GET",url:ns`map/js`,options:e})}getTile(e,t,n,i){return this.httpClient.request({method:"GET",url:ns`map/tile/${e}/${t}/${n}`,options:i})}uploadMap(e,t){return this.httpClient.request({method:"POST",url:ns`map/upload`,queryParams:e,options:t})}}class nn{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:ns`asset`,data:e,options:t})}delete(e,t){return this.httpClient.request({method:"DELETE",url:ns`asset`,queryParams:e,options:t})}writeAttributeValues(e,t){return this.httpClient.request({method:"PUT",url:ns`asset/attributes`,data:e,options:t})}writeAttributeEvents(e,t){return this.httpClient.request({method:"PUT",url:ns`asset/attributes/timestamp`,data:e,options:t})}updateNoneParent(e,t){return this.httpClient.request({method:"DELETE",url:ns`asset/parent`,queryParams:e,options:t})}getPartial(e,t){return this.httpClient.request({method:"GET",url:ns`asset/partial/${e}`,options:t})}queryAssets(e,t){return this.httpClient.request({method:"POST",url:ns`asset/query`,data:e,options:t})}queryAssetTree(e,t){return this.httpClient.request({method:"POST",url:ns`asset/tree`,data:e,options:t})}getCurrentUserAssets(e){return this.httpClient.request({method:"GET",url:ns`asset/user/current`,options:e})}createUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:ns`asset/user/link`,data:e,options:t})}getUserAssetLinks(e,t){return this.httpClient.request({method:"GET",url:ns`asset/user/link`,queryParams:e,options:t})}deleteUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:ns`asset/user/link/delete`,data:e,options:t})}deleteAllUserAssetLinks(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`asset/user/link/${e}/${t}`,options:n})}deleteUserAssetLink(e,t,n,i){return this.httpClient.request({method:"DELETE",url:ns`asset/user/link/${e}/${t}/${n}`,options:i})}get(e,t){return this.httpClient.request({method:"GET",url:ns`asset/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:ns`asset/${e}`,data:t,options:n})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`asset/${e}/attribute/${t}`,data:n,options:i})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName_timestamp(e,t,n,i,r){return this.httpClient.request({method:"PUT",url:ns`asset/${e}/attribute/${t}/${n}`,data:i,options:r})}updateParent(e,t,n){return this.httpClient.request({method:"PUT",url:ns`asset/${e}/child`,queryParams:t,options:n})}}class ni{constructor(e){this.httpClient=e}startTunnel(e,t){return this.httpClient.request({method:"POST",url:ns`gateway/tunnel`,data:e,options:t})}stopTunnel(e,t){return this.httpClient.request({method:"DELETE",url:ns`gateway/tunnel`,data:e,options:t})}getAllActiveTunnelInfos(e,t){return this.httpClient.request({method:"GET",url:ns`gateway/tunnel/${e}`,options:t})}getGatewayActiveTunnelInfos(e,t,n){return this.httpClient.request({method:"GET",url:ns`gateway/tunnel/${e}/${t}`,options:n})}getActiveTunnelInfo(e,t,n,i,r){return this.httpClient.request({method:"GET",url:ns`gateway/tunnel/${e}/${t}/${n}/${i}`,options:r})}}class nr{constructor(e){this.httpClient=e}getDatapointExport(e,t){return this.httpClient.request({method:"GET",url:ns`asset/datapoint/export`,queryParams:e,options:t})}getDatapointPeriod(e,t){return this.httpClient.request({method:"GET",url:ns`asset/datapoint/periods`,queryParams:e,options:t})}getDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:ns`asset/datapoint/${e}/${t}`,data:n,options:i})}}class no{constructor(e){this.httpClient=e}getApps(e){return this.httpClient.request({method:"GET",url:ns`apps`,options:e})}getConsoleConfig(e){return this.httpClient.request({method:"GET",url:ns`apps/consoleConfig`,options:e})}getAppInfos(e){return this.httpClient.request({method:"GET",url:ns`apps/info`,options:e})}}class na{constructor(e){this.httpClient=e}createAlarm(e,t,n){return this.httpClient.request({method:"POST",url:ns`alarm`,queryParams:t,data:e,options:n})}getAlarms(e,t){return this.httpClient.request({method:"GET",url:ns`alarm`,queryParams:e,options:t})}removeAlarms(e,t){return this.httpClient.request({method:"DELETE",url:ns`alarm`,data:e,options:t})}setAssetLinks(e,t){return this.httpClient.request({method:"PUT",url:ns`alarm/assets`,data:e,options:t})}getAlarm(e,t){return this.httpClient.request({method:"GET",url:ns`alarm/${e}`,options:t})}removeAlarm(e,t){return this.httpClient.request({method:"DELETE",url:ns`alarm/${e}`,options:t})}updateAlarm(e,t,n){return this.httpClient.request({method:"PUT",url:ns`alarm/${e}`,data:t,options:n})}getAssetLinks(e,t,n){return this.httpClient.request({method:"GET",url:ns`alarm/${e}/assets`,queryParams:t,options:n})}}function ns(e,...t){let n="";for(let i=0;i<t.length;i++)n+=e[i],n+=encodeURIComponent(t[i]);return n+e[e.length-1]}class nl{constructor(e,t=tW().create()){this._userResource=new nd(e,t),this._provisioningResource=new nu(e,t),this._agentResource=new nm(e,t),this._statusResource=new nh(e,t),this._configurationResource=new nf(e,t),this._flowResource=new np(e,t),this._gatewayClientResource=new nb(e,t),this._dashboardResource=new ng(e,t),this._syslogResource=new n_(e,t),this._assetModelResource=new ny(e,t),this._assetPredictedDatapointResource=new nv(e,t),this._rulesResource=new nx(e,t),this._realmResource=new nw(e,t),this._externalServiceResource=new nF(e,t),this._notificationResource=new nk(e,t),this._consoleResource=new nE(e,t),this._mapResource=new nA(e,t),this._assetResource=new nT(e,t),this._gatewayServiceResource=new nC(e,t),this._assetDatapointResource=new nM(e,t),this._appResource=new nL(e,t),this._alarmResource=new nS(e,t),this._assetResource=new nT(e,t)}get UserResource(){return this._userResource}get ProvisioningResource(){return this._provisioningResource}get AgentResource(){return this._agentResource}get StatusResource(){return this._statusResource}get ConfigurationResource(){return this._configurationResource}get FlowResource(){return this._flowResource}get GatewayClientResource(){return this._gatewayClientResource}get DashboardResource(){return this._dashboardResource}get SyslogResource(){return this._syslogResource}get AssetModelResource(){return this._assetModelResource}get AssetPredictedDatapointResource(){return this._assetPredictedDatapointResource}get RulesResource(){return this._rulesResource}get RealmResource(){return this._realmResource}get ExternalServiceResource(){return this._externalServiceResource}get NotificationResource(){return this._notificationResource}get ConsoleResource(){return this._consoleResource}get MapResource(){return this._mapResource}get AssetResource(){return this._assetResource}get GatewayServiceResource(){return this._gatewayServiceResource}get AssetDatapointResource(){return this._assetDatapointResource}get AppResource(){return this._appResource}get AlarmResource(){return this._alarmResource}}class nc{constructor(e){this.axios=e}request(e){let t={};t.method=e.method,t.url=e.url,t.params=e.queryParams,t.data=e.data,function(e,t){if(void 0!=t)for(let n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}(t,e.options);let n=e.copyFn;return this.axios.request(t).then(e=>(n&&e.data&&(e.originalData=e.data,e.data=n(e.data)),e))}}class nd extends tX{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nu extends tK{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nm extends tZ{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nh extends tJ{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nf extends tQ{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class np extends t0{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nb extends t1{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class ng extends t2{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class n_ extends t5{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class ny extends t3{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nv extends t4{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nx extends t6{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nw extends t8{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nF extends t7{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nk extends t9{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nE extends ne{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nA extends nt{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nT extends nn{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nC extends ni{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nM extends nr{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nL extends no{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nS extends na{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}tW().isAxiosError;let nD=new class{get api(){return this._client}constructor(){this._axiosInstance=tW().create(),this._axiosInstance.defaults.headers.common["Content-Type"]="application/json",this._axiosInstance.interceptors.request.use(e=>(e.paramsSerializer=e=>tM().stringify(e,{arrayFormat:"repeat"}),e))}get axiosInstance(){return this._axiosInstance}get baseUrl(){return this._baseUrl}setTimeout(e){this._axiosInstance.defaults.timeout=e}addRequestInterceptor(e){this._axiosInstance.interceptors.request.use(e)}initialise(e){this._baseUrl=e,this._client=new nl(e,this._axiosInstance)}};var nI=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((i=i.apply(e,t||[])).next())})};!function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTED="CONNECTED",e.CONNECTING="CONNECTING"}(ep||(ep={}));let nO="SUBSCRIBED:",nR="UNAUTHORIZED:",nP="TRIGGERED:",nB="EVENT:";class nz{constructor(){this._disconnectRequested=!1,this._reconnectDelayMillis=nY.MIN_RECONNECT_DELAY,this._reconnectTimer=null,this._status=ep.DISCONNECTED,this._connectingDeferred=null,this._statusCallbacks=[],this._pendingSubscription=null,this._queuedSubscriptions=[],this._subscriptionMap=new Map,this._assetEventCallbackMap=new Map,this._attributeEventCallbackMap=new Map,this._unloading=!1}get status(){return this._status}subscribeStatusChange(e){this._statusCallbacks.push(e)}unsubscribeStatusChange(e){!function(e,t){if(0===e.length)return;let n=e.indexOf(t);n>=0&&e.splice(n,1)}(this._statusCallbacks,e)}connect(){return(this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this._status===ep.CONNECTED)?Promise.resolve(!0):(this._disconnectRequested=!1,this._connectingDeferred||(this._onStatusChanged(ep.CONNECTING),this._connectingDeferred=new tO,this._doConnect().then(e=>{if(this._connectingDeferred){let t=this._connectingDeferred;this._connectingDeferred=null,e?(console.debug("Connected to event service: "+this.endpointUrl),this._reconnectDelayMillis=nY.MIN_RECONNECT_DELAY,this._onStatusChanged(ep.CONNECTED),window.setTimeout(()=>{this._onConnect()},0)):(console.debug("Failed to connect to event service: "+this.endpointUrl),this._scheduleReconnect()),t.resolve(e)}})),this._connectingDeferred.promise)}disconnect(){console.debug("Disconnecting from event service: "+this.endpointUrl),this._disconnectRequested||(this._disconnectRequested=!0,this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this.status!==ep.DISCONNECTED&&this._doDisconnect())}subscribe(e,t){let n={eventSubscription:e,callback:t,deferred:new tO};return null!=this._pendingSubscription||this._status!==ep.CONNECTED?(this._queuedSubscriptions.push(n),n.deferred.promise):(this._pendingSubscription=n,this._doSubscribe(e).then(e=>{if(this._pendingSubscription){let t=this._pendingSubscription;this._pendingSubscription=null,this._subscriptionMap.set(e,t),this._processNextSubscription();let n=t.deferred;t.deferred=null,n&&n.resolve(e)}},e=>{if(this._pendingSubscription){let t=this._pendingSubscription;this._pendingSubscription=null,this._processNextSubscription();let n=t.deferred;t.deferred=null,n&&n.reject(e)}}),this._pendingSubscription.deferred.promise)}unsubscribe(e){return nI(this,void 0,void 0,function*(){if(this._subscriptionMap.delete(e))return void this._doUnsubscribe(e);if(this._assetEventCallbackMap.delete(e)){if(this._assetEventPromise&&0===this._assetEventCallbackMap.size){let e=yield this._assetEventPromise;this._assetEventPromise=void 0,this.unsubscribe(e)}return}if(this._attributeEventCallbackMap.delete(e)){if(this._attributeEventPromise&&0===this._attributeEventCallbackMap.size){let e=yield this._attributeEventPromise;this._attributeEventPromise=void 0,this.unsubscribe(e)}return}})}sendEvent(e){this._status===ep.CONNECTED&&this._doSend(e)}sendEventWithReply(e){return this._status!==ep.CONNECTED?Promise.reject("Not connected"):this._doSendWithReply(e)}subscribeAssetEvents(e,t,n){return nI(this,void 0,void 0,function*(){let i=e&&"string"!=typeof e[0]?e.map(e=>e.id):e,r="AssetEvent"+nz._subscriptionCounter++;if(!this._assetEventPromise){let e;rA.authenticated||(e={filterType:"asset",realm:rA.displayRealm});let t={eventType:"asset",filter:e};this._assetEventPromise=this.subscribe(t,e=>{this._assetEventCallbackMap.forEach(t=>t(e))})}return this._assetEventCallbackMap.set(r,e=>{let t=e.asset.id;i?i.find(e=>t===e)&&n(e):e.asset.realm===rA.displayRealm&&n(e)}),this._assetEventPromise.then(()=>{try{if(i&&t){let e={messageID:"read-assets:"+i.join(",")+":"+r,eventType:"read-assets",assetQuery:{ids:i}};this.sendEventWithReply(e).then(e=>{e.assets&&this._assetEventCallbackMap.has(r)&&e.assets.forEach(e=>{n({eventType:"asset",asset:e,cause:"READ"})})})}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),r&&this.unsubscribe(r),t}return r})})}subscribeAttributeEvents(e,t,n){return nI(this,void 0,void 0,function*(){let i=e&&"string"!=typeof e[0],r=i?e.map(e=>e.id):e,o=i?e:void 0,a="AttributeEvent"+nz._subscriptionCounter++;if(!this._attributeEventPromise){let e;rA.authenticated||(e={filterType:"asset",realm:rA.displayRealm});let t={eventType:"attribute",filter:e};this._attributeEventPromise=this.subscribe(t,e=>{this._attributeEventCallbackMap.forEach(t=>t(e))})}let s=t=>{let o=t.ref;i?e.forEach(e=>{o.id===e.id&&o.name===e.name&&n(t)}):r?r.find(e=>o.id===e)&&n(t):t.realm===rA.displayRealm&&n(t)};return this._attributeEventCallbackMap.set(a,s),this._attributeEventPromise.then(()=>{try{if(t&&r){let e={messageID:"read-assets:"+r.join(",")+":"+a,eventType:"read-assets",assetQuery:{ids:r}};this.sendEventWithReply(e).then(e=>{e.assets&&this._attributeEventCallbackMap.has(a)&&e.assets.forEach(e=>{e.attributes&&Object.entries(e.attributes).forEach(([t,n])=>{(!o||o.find(n=>n.id===e.id&&n.name===t))&&s({eventType:"attribute",timestamp:n.timestamp,value:n.value,ref:{id:e.id,name:t}})})})})}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),a&&this.unsubscribe(a),t}return a})})}_processNextSubscription(){this._status===ep.CONNECTED&&0!==this._queuedSubscriptions.length&&setTimeout(()=>{let e=this._queuedSubscriptions.shift();e&&this.subscribe(e.eventSubscription,e.callback).then(t=>{let n=e.deferred;e.deferred=null,n&&n.resolve(t)},t=>{let n=e.deferred;e.deferred=null,n&&n.reject(t)})},0)}_onStatusChanged(e){e!==this._status&&(console.debug("Event provider status changed: "+e),this._status=e,this._unloading||window.setTimeout(()=>{this._statusCallbacks.forEach(t=>t(e))},0))}_onMessageReceived(e,t){let n=this._subscriptionMap.get(e);n&&n.callback(t)}_onConnect(){if(Object.keys(this._subscriptionMap).length>0){for(let e in this._subscriptionMap)this._subscriptionMap.has(e)&&this._queuedSubscriptions.unshift(this._subscriptionMap.get(e));this._subscriptionMap.clear()}this._processNextSubscription()}_onDisconnect(){this._status===ep.CONNECTED&&this._onStatusChanged(ep.DISCONNECTED),this._pendingSubscription&&(this._queuedSubscriptions.unshift(this._pendingSubscription),this._pendingSubscription=null),this._onStatusChanged(ep.CONNECTING),this._scheduleReconnect()}_scheduleReconnect(){this._reconnectTimer||!this._disconnectRequested&&(console.debug("Event provider scheduling reconnect in "+this._reconnectDelayMillis+"ms"),this._reconnectTimer=window.setTimeout(()=>{this._disconnectRequested||this.connect()},this._reconnectDelayMillis),this._reconnectDelayMillis<nY.MAX_RECONNECT_DELAY&&(this._reconnectDelayMillis=Math.min(nY.MAX_RECONNECT_DELAY,this._reconnectDelayMillis+3e3)))}}nz.MIN_RECONNECT_DELAY=0,nz.MAX_RECONNECT_DELAY=3e4,nz._subscriptionCounter=0;class nY extends nz{get endpointUrl(){return this._endpointUrl}constructor(e){super(),this._webSocket=void 0,this._connectDeferred=null,this._subscribeDeferred=null,this._repliesDeferred=new Map,this._endpointUrl=(e.startsWith("https:")?"wss":"ws")+"://"+e.substr(e.indexOf("://")+3)+"/websocket/events",window.addEventListener("beforeunload",()=>{this._unloading=!0,this.disconnect()})}_doConnect(){let e=this._endpointUrl+"?Realm="+rA.config.realm;return rA.authenticated&&(e+="&Authorization="+rA.getAuthorizationHeader()),this._webSocket=new WebSocket(e),this._connectDeferred=new tO,this._webSocket.onopen=()=>{if(this._connectDeferred){let e=this._connectDeferred;this._connectDeferred=null,e.resolve(!0)}},this._webSocket.onerror=e=>{if(this._connectDeferred){let e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else console.debug("Event provider error"),this._beforeDisconnect()},this._webSocket.onclose=()=>{if(this._webSocket=void 0,this._connectDeferred){let e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else this._beforeDisconnect()},this._webSocket.onmessage=e=>{let t=e.data;if(t&&t.startsWith(nO)){let e=JSON.parse(t.substring(nO.length)),n=this._subscribeDeferred;this._subscribeDeferred=null,n&&n.resolve(e.subscriptionId)}else if(t.startsWith(nR)){let e=JSON.parse(t.substring(nR.length)),n=this._subscribeDeferred;this._subscribeDeferred=null,n&&(console.warn("Unauthorized event subscription: "+JSON.stringify(e,null,2)),n.reject("Unauthorized"))}else if(t.startsWith(nP)){let e=JSON.parse(t.substring(nP.length));e.events&&e.events.forEach(t=>{this._onMessageReceived(e.subscriptionId,t)})}else if(t.startsWith(nB)){let e=JSON.parse(t.substring(nB.length));if(e.messageID){let t=this._repliesDeferred.get(e.messageID);this._repliesDeferred.delete(e.messageID),t&&t.resolve(e)}}},this._connectDeferred.promise}_beforeDisconnect(){this._onDisconnect()}_doDisconnect(){var e;null==(e=this._webSocket)||e.close(),this._subscribeDeferred=null,this._repliesDeferred.clear()}_doSubscribe(e){return this._webSocket?this._subscribeDeferred?Promise.reject("There's already a pending subscription"):(this._subscribeDeferred=new tO,e.subscriptionId||(e.subscriptionId=nY._subscriptionCounter+++""),this._webSocket.send("SUBSCRIBE:"+JSON.stringify(e)),this._subscribeDeferred.promise):Promise.reject("Not connected")}_doUnsubscribe(e){this._webSocket&&this._webSocket.send("UNSUBSCRIBE:"+JSON.stringify({subscriptionId:e}))}_doSend(e){let t=nB+JSON.stringify(e);this._webSocket.send(t)}_doSendWithReply(e){if(e.messageID||(e.messageID=(new Date().getTime()+10*Math.random()).toString(10)),this._repliesDeferred.has(e.messageID))return Promise.reject("There's already a pending send and reply with this ID");let t=new tO;return this._repliesDeferred.set(e.messageID,t),this._webSocket.send(nB+JSON.stringify(e)),t.promise}}function nN(e){return(nN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}nY._subscriptionCounter=1;var nH=[],nj=nH.forEach,nU=nH.slice;function nV(e){return nj.call(nU.call(arguments,1),function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])}),e}function nq(){return"function"==typeof XMLHttpRequest||("undefined"==typeof XMLHttpRequest?"undefined":nN(XMLHttpRequest))==="object"}var nG=n(6850),n$=n.t(nG,2);function nW(e){return(nW="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}"function"==typeof fetch&&(eb="undefined"!=typeof global&&global.fetch?global.fetch:"undefined"!=typeof window&&window.fetch?window.fetch:fetch),nq()&&("undefined"!=typeof global&&global.XMLHttpRequest?eg=global.XMLHttpRequest:"undefined"!=typeof window&&window.XMLHttpRequest&&(eg=window.XMLHttpRequest)),"function"==typeof ActiveXObject&&("undefined"!=typeof global&&global.ActiveXObject?e_=global.ActiveXObject:"undefined"!=typeof window&&window.ActiveXObject&&(e_=window.ActiveXObject)),eb||!n$||eg||e_||(eb=nG||n$),"function"!=typeof eb&&(eb=void 0);var nX=function(e,t){if(t&&"object"===nW(t)){var n="";for(var i in t)n+="&"+encodeURIComponent(i)+"="+encodeURIComponent(t[i]);if(!n)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+n.slice(1)}return e},nK=function(e,t,n){eb(e,t).then(function(e){if(!e.ok)return n(e.statusText||"Error",{status:e.status});e.text().then(function(t){n(null,{status:e.status,data:t})}).catch(n)}).catch(n)},nZ=!1,nJ=function(e,t,n,i){e.queryStringParams&&(t=nX(t,e.queryStringParams));var r=nV({},"function"==typeof e.customHeaders?e.customHeaders():e.customHeaders);n&&(r["Content-Type"]="application/json");var o="function"==typeof e.requestOptions?e.requestOptions(n):e.requestOptions,a=nV({method:n?"POST":"GET",body:n?e.stringify(n):void 0,headers:r},nZ?{}:o);try{nK(t,a,i)}catch(e){if(!o||0===Object.keys(o).length||!e.message||0>e.message.indexOf("not implemented"))return i(e);try{Object.keys(o).forEach(function(e){delete a[e]}),nK(t,a,i),nZ=!0}catch(e){i(e)}}},nQ=function(e,t,n,i){n&&"object"===nW(n)&&(n=nX("",n).slice(1)),e.queryStringParams&&(t=nX(t,e.queryStringParams));try{(r=eg?new eg:new e_("MSXML2.XMLHTTP.3.0")).open(n?"POST":"GET",t,1),e.crossDomain||r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r.withCredentials=!!e.withCredentials,n&&r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.overrideMimeType&&r.overrideMimeType("application/json");var r,o=e.customHeaders;if(o="function"==typeof o?o():o)for(var a in o)r.setRequestHeader(a,o[a]);r.onreadystatechange=function(){r.readyState>3&&i(r.status>=400?r.statusText:null,{status:r.status,data:r.responseText})},r.send(n)}catch(e){console&&console.log(e)}};let n0=function(e,t,n,i){return("function"==typeof n&&(i=n,n=void 0),i=i||function(){},eb)?nJ(e,t,n,i):nq()||"function"==typeof ActiveXObject?nQ(e,t,n,i):void i(Error("No fetch and no xhr implementation found!"))};var n1=function(){var e;function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.services=e,this.options=n,this.allOptions=i,this.type="backend",this.init(e,n,i)}return e=[{key:"init",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=nV(n,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:function(e){return JSON.parse(e)},stringify:JSON.stringify,parsePayload:function(e,t,n){var i,r;return i={},r=n||"",t in i?Object.defineProperty(i,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[t]=r,i},request:n0,reloadInterval:"undefined"==typeof window&&36e5,customHeaders:{},queryStringParams:{},crossDomain:!1,withCredentials:!1,overrideMimeType:!1,requestOptions:{mode:"cors",credentials:"same-origin",cache:"default"}}),this.allOptions=i,this.services&&this.options.reloadInterval&&setInterval(function(){return t.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(e,t,n){this._readAny(e,e,t,t,n)}},{key:"read",value:function(e,t,n){this._readAny([e],e,[t],t,n)}},{key:"_readAny",value:function(e,t,n,i,r){var o,a,s=this,l=this.options.loadPath;"function"==typeof this.options.loadPath&&(l=this.options.loadPath(e,n)),(l=(a=o=l)&&"function"==typeof a.then?o:Promise.resolve(o)).then(function(o){if(!o)return r(null,{});var a=s.services.interpolator.interpolate(o,{lng:e.join("+"),ns:n.join("+")});s.loadUrl(a,r,t,i)})}},{key:"loadUrl",value:function(e,t,n,i){var r=this;this.options.request(this.options,e,void 0,function(o,a){var s,l;if(a&&(a.status>=500&&a.status<600||!a.status))return t("failed loading "+e+"; status code: "+a.status,!0);if(a&&a.status>=400&&a.status<500)return t("failed loading "+e+"; status code: "+a.status,!1);if(!a&&o&&o.message&&o.message.indexOf("Failed to fetch")>-1)return t("failed loading "+e+": "+o.message,!0);if(o)return t(o,!1);try{s="string"==typeof a.data?r.options.parse(a.data,n,i):a.data}catch(t){l="failed parsing "+e+" to json"}if(l)return t(l,!1);t(null,s)})}},{key:"create",value:function(e,t,n,i,r){var o=this;if(this.options.addPath){"string"==typeof e&&(e=[e]);var a=this.options.parsePayload(t,n,i),s=0,l=[],c=[];e.forEach(function(n){var i=o.options.addPath;"function"==typeof o.options.addPath&&(i=o.options.addPath(n,t));var d=o.services.interpolator.interpolate(i,{lng:n,ns:t});o.options.request(o.options,d,a,function(t,n){s+=1,l.push(t),c.push(n),s===e.length&&r&&r(l,c)})})}}},{key:"reload",value:function(){var e=this,t=this.services,n=t.backendConnector,i=t.languageUtils,r=t.logger,o=n.language;if(!o||"cimode"!==o.toLowerCase()){var a=[],s=function(e){i.toResolveHierarchy(e).forEach(function(e){0>a.indexOf(e)&&a.push(e)})};s(o),this.allOptions.preload&&this.allOptions.preload.forEach(function(e){return s(e)}),a.forEach(function(t){e.allOptions.ns.forEach(function(e){n.read(t,e,"read",null,null,function(i,o){i&&r.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&o&&r.log("loaded namespace ".concat(e," for language ").concat(t),o),n.loaded("".concat(t,"|").concat(e),i,o)})})})}}}],function(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}();n1.type="backend";let n2=globalThis,n5=n2.ShadowRoot&&(void 0===n2.ShadyCSS||n2.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n3=Symbol(),n4=new WeakMap;class n6{constructor(e,t,n){if(this._$cssResult$=!0,n!==n3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(n5&&void 0===e){let n=void 0!==t&&1===t.length;n&&(e=n4.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&n4.set(t,e))}return e}toString(){return this.cssText}}let n8=e=>new n6("string"==typeof e?e:e+"",void 0,n3),n7=(e,...t)=>new n6(1===e.length?e[0]:t.reduce((t,n,i)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[i+1],e[0]),e,n3),n9=n5?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(let n of e.cssRules)t+=n.cssText;return n8(t)})(e):e,{is:ie,defineProperty:it,getOwnPropertyDescriptor:ii,getOwnPropertyNames:ir,getOwnPropertySymbols:io,getPrototypeOf:ia}=Object,is=globalThis,il=is.trustedTypes,ic=il?il.emptyScript:"",id=is.reactiveElementPolyfillSupport,iu={toAttribute(e,t){switch(t){case Boolean:e=e?ic:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},im=(e,t)=>!ie(e,t),ih={attribute:!0,type:String,converter:iu,reflect:!1,useDefault:!1,hasChanged:im};Symbol.metadata??=Symbol("metadata"),is.litPropertyMetadata??=new WeakMap;class ip extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=ih){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(e,n,t);void 0!==i&&it(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){let{get:i,set:r}=ii(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:i,set(t){let o=i?.call(this);r?.call(this,t),this.requestUpdate(e,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??ih}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let e=ia(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let e=this.properties;for(let t of[...ir(e),...io(e)])this.createProperty(t,e[t])}let e=this[Symbol.metadata];if(null!==e){let t=litPropertyMetadata.get(e);if(void 0!==t)for(let[e,n]of t)this.elementProperties.set(e,n)}for(let[e,t]of(this._$Eh=new Map,this.elementProperties)){let n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e))for(let n of new Set(e.flat(1/0).reverse()))t.unshift(n9(n));else void 0!==e&&t.push(n9(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map;for(let t of this.constructor.elementProperties.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(n5)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement("style"),i=n2.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=n.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(void 0!==i&&!0===n.reflect){let r=(void 0!==n.converter?.toAttribute?n.converter:iu).toAttribute(t,n.type);this._$Em=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(e,t){let n=this.constructor,i=n._$Eh.get(e);if(void 0!==i&&this._$Em!==i){let e=n.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:iu;this._$Em=i;let o=r.fromAttribute(t,e.type);this[i]=o??this._$Ej?.get(i)??o,this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){let i=this.constructor,r=this[e];if(!(((n??=i.getPropertyOptions(e)).hasChanged??im)(r,t)||n.useDefault&&n.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(i._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:i,wrapped:r},o){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==r||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===i&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,i=this[t];!0!==e||this._$AL.has(t)||void 0===i||this.C(t,void 0,n,i)}}let e=!1,t=this._$AL;try{(e=this.shouldUpdate(t))?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}ip.elementStyles=[],ip.shadowRootOptions={mode:"open"},ip.elementProperties=new Map,ip.finalized=new Map,id?.({ReactiveElement:ip}),(is.reactiveElementVersions??=[]).push("2.1.1");let ib=globalThis,ig=ib.trustedTypes,i_=ig?ig.createPolicy("lit-html",{createHTML:e=>e}):void 0,iy="$lit$",iv=`lit$${Math.random().toFixed(9).slice(2)}$`,ix="?"+iv,iw=`<${ix}>`,iF=document,ik=()=>iF.createComment(""),iE=e=>null===e||"object"!=typeof e&&"function"!=typeof e,iA=Array.isArray,iT=e=>iA(e)||"function"==typeof e?.[Symbol.iterator],iC="[ \n\f\r]",iM=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,iL=/-->/g,iS=/>/g,iD=RegExp(`>|${iC}(?:([^\\s"'>=/]+)(${iC}*=${iC}*(?:[^
51
+ `}),staticAttributes:i,staticUniforms:a}}class e4{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,t,n,i,r,o,a,s,l){this.context=e;let c=this.boundPaintVertexBuffers.length!==i.length;for(let e=0;!c&&e<i.length;e++)this.boundPaintVertexBuffers[e]!==i[e]&&(c=!0);!this.vao||this.boundProgram!==t||this.boundLayoutVertexBuffer!==n||c||this.boundIndexBuffer!==r||this.boundVertexOffset!==o||this.boundDynamicVertexBuffer!==a||this.boundDynamicVertexBuffer2!==s||this.boundDynamicVertexBuffer3!==l?this.freshBind(t,n,i,r,o,a,s,l):(e.bindVertexArray.set(this.vao),a&&a.bind(),r&&r.dynamicDraw&&r.bind(),s&&s.bind(),l&&l.bind())}freshBind(e,t,n,i,r,o,a,s){let l=e.numAttributes,c=this.context,d=c.gl;for(let l of(this.vao&&this.destroy(),this.vao=c.createVertexArray(),c.bindVertexArray.set(this.vao),this.boundProgram=e,this.boundLayoutVertexBuffer=t,this.boundPaintVertexBuffers=n,this.boundIndexBuffer=i,this.boundVertexOffset=r,this.boundDynamicVertexBuffer=o,this.boundDynamicVertexBuffer2=a,this.boundDynamicVertexBuffer3=s,t.enableAttributes(d,e),n))l.enableAttributes(d,e);for(let i of(o&&o.enableAttributes(d,e),a&&a.enableAttributes(d,e),s&&s.enableAttributes(d,e),t.bind(),t.setVertexAttribPointers(d,e,r),n))i.bind(),i.setVertexAttribPointers(d,e,r);o&&(o.bind(),o.setVertexAttribPointers(d,e,r)),i&&i.bind(),a&&(a.bind(),a.setVertexAttribPointers(d,e,r)),s&&(s.bind(),s.setVertexAttribPointers(d,e,r)),c.currentNumAttributes=l}destroy(){this.vao&&(this.context.deleteVertexArray(this.vao),this.vao=null)}}function e6(e){let t=[];for(let n=0;n<e.length;n++){if(null===e[n])continue;let i=e[n].split(" ");t.push(i.pop())}return t}class e8{constructor(e,n,i,r,o,a){let s=e.gl;this.program=s.createProgram();let l=e6(n.staticAttributes),c=i?i.getBinderAttributes():[],d=l.concat(c),u=e5.prelude.staticUniforms?e6(e5.prelude.staticUniforms):[],m=n.staticUniforms?e6(n.staticUniforms):[],h=i?i.getBinderUniforms():[],f=u.concat(m).concat(h),p=[];for(let e of f)0>p.indexOf(e)&&p.push(e);let b=i?i.defines():[];o&&b.push("#define OVERDRAW_INSPECTOR;"),a&&b.push("#define TERRAIN3D;");let g=b.concat(e5.prelude.fragmentSource,n.fragmentSource).join("\n"),_=b.concat(e5.prelude.vertexSource,n.vertexSource).join("\n"),y=s.createShader(s.FRAGMENT_SHADER);if(s.isContextLost())return void(this.failedToCreate=!0);if(s.shaderSource(y,g),s.compileShader(y),!s.getShaderParameter(y,s.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${s.getShaderInfoLog(y)}`);s.attachShader(this.program,y);let v=s.createShader(s.VERTEX_SHADER);if(s.isContextLost())return void(this.failedToCreate=!0);if(s.shaderSource(v,_),s.compileShader(v),!s.getShaderParameter(v,s.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${s.getShaderInfoLog(v)}`);s.attachShader(this.program,v),this.attributes={};let x={};this.numAttributes=d.length;for(let e=0;e<this.numAttributes;e++)d[e]&&(s.bindAttribLocation(this.program,e,d[e]),this.attributes[d[e]]=e);if(s.linkProgram(this.program),!s.getProgramParameter(this.program,s.LINK_STATUS))throw Error(`Program failed to link: ${s.getProgramInfoLog(this.program)}`);s.deleteShader(v),s.deleteShader(y);for(let e=0;e<p.length;e++){let t=p[e];if(t&&!x[t]){let e=s.getUniformLocation(this.program,t);e&&(x[t]=e)}}this.fixedUniforms=r(e,x),this.terrainUniforms=((e,n)=>({u_depth:new t.aG(e,n.u_depth),u_terrain:new t.aG(e,n.u_terrain),u_terrain_dim:new t.aH(e,n.u_terrain_dim),u_terrain_matrix:new t.aI(e,n.u_terrain_matrix),u_terrain_unpack:new t.aJ(e,n.u_terrain_unpack),u_terrain_exaggeration:new t.aH(e,n.u_terrain_exaggeration)}))(e,x),this.binderUniforms=i?i.getUniforms(e,x):[]}draw(e,t,n,i,r,o,a,s,l,c,d,u,m,h,f,p,b,g){let _=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(n),e.setStencilMode(i),e.setColorMode(r),e.setCullFace(o),s)for(let t in e.activeTexture.set(_.TEXTURE2),_.bindTexture(_.TEXTURE_2D,s.depthTexture),e.activeTexture.set(_.TEXTURE3),_.bindTexture(_.TEXTURE_2D,s.texture),this.terrainUniforms)this.terrainUniforms[t].set(s[t]);for(let e in this.fixedUniforms)this.fixedUniforms[e].set(a[e]);f&&f.setUniforms(e,this.binderUniforms,m,{zoom:h});let y=0;switch(t){case _.LINES:y=2;break;case _.TRIANGLES:y=3;break;case _.LINE_STRIP:y=1}for(let n of u.get()){let i=n.vaos||(n.vaos={});(i[l]||(i[l]=new e4)).bind(e,this,c,f?f.getPaintVertexBuffers():[],d,n.vertexOffset,p,b,g),_.drawElements(t,n.primitiveLength*y,_.UNSIGNED_SHORT,n.primitiveOffset*y*2)}}}function e7(e,t,n){let i=1/eD(n,1,t.transform.tileZoom),r=Math.pow(2,n.tileID.overscaledZ),o=n.tileSize*Math.pow(2,t.transform.tileZoom)/r,a=o*(n.tileID.canonical.x+n.tileID.wrap*r),s=o*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[i,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[a>>16,s>>16],u_pixel_coord_lower:[65535&a,65535&s]}}let e9=(e,n,i,r)=>{var o,a,s,l,c,d,u;let m=n.style.light,h=m.properties.get("position"),f=[h.x,h.y,h.z],p=(o=new t.A(9),t.A!=Float32Array&&(o[1]=0,o[2]=0,o[3]=0,o[5]=0,o[6]=0,o[7]=0),o[0]=1,o[4]=1,o[8]=1,o);"viewport"===m.properties.get("anchor")&&(s=Math.sin(a=-n.transform.angle),l=Math.cos(a),p[0]=l,p[1]=s,p[2]=0,p[3]=-s,p[4]=l,p[5]=0,p[6]=0,p[7]=0,p[8]=1),c=f[0],d=f[1],u=f[2],f[0]=c*p[0]+d*p[3]+u*p[6],f[1]=c*p[1]+d*p[4]+u*p[7],f[2]=c*p[2]+d*p[5]+u*p[8];let b=m.properties.get("color");return{u_matrix:e,u_lightpos:f,u_lightintensity:m.properties.get("intensity"),u_lightcolor:[b.r,b.g,b.b],u_vertical_gradient:+i,u_opacity:r}},te=(e,n,i,r,o,a,s)=>t.e(e9(e,n,i,r),e7(a,n,s),{u_height_factor:-Math.pow(2,o.overscaledZ)/s.tileSize/8}),tt=e=>({u_matrix:e}),tn=(e,n,i,r)=>t.e(tt(e),e7(i,n,r)),ti=(e,t)=>({u_matrix:e,u_world:t}),tr=(e,n,i,r,o)=>t.e(tn(e,n,i,r),{u_world:o}),to=(e,t,n,i)=>{let r,o,a=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){let e=eD(n,1,a.zoom);r=!0,o=[e,e]}else r=!1,o=a.pixelsToGLUnits;return{u_camera_to_center_distance:a.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(t.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+r,u_device_pixel_ratio:e.pixelRatio,u_extrude_scale:o}},ta=(e,t,n)=>{let i=eD(n,1,t.zoom),r=Math.pow(2,t.zoom-n.tileID.overscaledZ),o=n.tileID.overscaleFactor();return{u_matrix:e,u_camera_to_center_distance:t.cameraToCenterDistance,u_pixels_to_tile_units:i,u_extrude_scale:[t.pixelsToGLUnits[0]/(i*r),t.pixelsToGLUnits[1]/(i*r)],u_overscale_factor:o}},ts=(e,t,n=1)=>({u_matrix:e,u_color:t,u_overlay:0,u_overlay_scale:n}),tl=e=>({u_matrix:e}),tc=(e,t,n,i)=>({u_matrix:e,u_extrude_scale:eD(t,1,n),u_intensity:i}),td=(e,t,n,i)=>{let r=e.transform;return{u_matrix:tp(e,t,n,i),u_ratio:1/eD(t,1,r.zoom),u_device_pixel_ratio:e.pixelRatio,u_units_to_pixels:[1/r.pixelsToGLUnits[0],1/r.pixelsToGLUnits[1]]}},tu=(e,n,i,r,o)=>t.e(td(e,n,i,o),{u_image:0,u_image_height:r}),tm=(e,t,n,i,r)=>{let o=e.transform,a=tf(t,o);return{u_matrix:tp(e,t,n,r),u_texsize:t.imageAtlasTexture.size,u_ratio:1/eD(t,1,o.zoom),u_device_pixel_ratio:e.pixelRatio,u_image:0,u_scale:[a,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},th=(e,n,i,r,o,a)=>{let s=e.lineAtlas,l=tf(n,e.transform),c="round"===i.layout.get("line-cap"),d=s.getDash(r.from,c),u=s.getDash(r.to,c),m=d.width*o.fromScale,h=u.width*o.toScale;return t.e(td(e,n,i,a),{u_patternscale_a:[l/m,-d.height/2],u_patternscale_b:[l/h,-u.height/2],u_sdfgamma:s.width/(256*Math.min(m,h)*e.pixelRatio)/2,u_image:0,u_tex_y_a:d.y,u_tex_y_b:u.y,u_mix:o.t})};function tf(e,t){return 1/eD(e,1,t.tileZoom)}function tp(e,t,n,i){return e.translatePosMatrix(i?i.posMatrix:t.tileID.posMatrix,t,n.paint.get("line-translate"),n.paint.get("line-translate-anchor"))}let tb=(e,t,n,i,r)=>{var o,a;return{u_matrix:e,u_tl_parent:t,u_scale_parent:n,u_buffer_scale:1,u_fade_t:i.mix,u_opacity:i.opacity*r.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:r.paint.get("raster-brightness-min"),u_brightness_high:r.paint.get("raster-brightness-max"),u_saturation_factor:(a=r.paint.get("raster-saturation"))>0?1-1/(1.001-a):-a,u_contrast_factor:(o=r.paint.get("raster-contrast"))>0?1/(1-o):1+o,u_spin_weights:function(e){let t=Math.sin(e*=Math.PI/180),n=Math.cos(e);return[(2*n+1)/3,(-Math.sqrt(3)*t-n+1)/3,(Math.sqrt(3)*t-n+1)/3]}(r.paint.get("raster-hue-rotate"))}},tg=(e,t,n,i,r,o,a,s,l,c)=>{let d=r.transform;return{u_is_size_zoom_constant:+("constant"===e||"source"===e),u_is_size_feature_constant:+("constant"===e||"camera"===e),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+n,u_aspect_ratio:d.width/d.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:o,u_label_plane_matrix:a,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+i,u_texsize:c,u_texture:0}},t_=(e,n,i,r,o,a,s,l,c,d,u)=>{let m=o.transform;return t.e(tg(e,n,i,r,o,a,s,l,c,d),{u_gamma_scale:r?Math.cos(m._pitch)*m.cameraToCenterDistance:1,u_device_pixel_ratio:o.pixelRatio,u_is_halo:+u})},ty=(e,n,i,r,o,a,s,l,c,d)=>t.e(t_(e,n,i,r,o,a,s,l,!0,c,!0),{u_texsize_icon:d,u_texture_icon:1}),tv=(e,t,n)=>({u_matrix:e,u_opacity:t,u_color:n}),tx=(e,n,i,r,o,a)=>t.e(function(e,t,n,i){let r=n.imageManager.getPattern(e.from.toString()),o=n.imageManager.getPattern(e.to.toString()),{width:a,height:s}=n.imageManager.getPixelSize(),l=Math.pow(2,i.tileID.overscaledZ),c=i.tileSize*Math.pow(2,n.transform.tileZoom)/l,d=c*(i.tileID.canonical.x+i.tileID.wrap*l),u=c*i.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:r.tl,u_pattern_br_a:r.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[a,s],u_mix:t.t,u_pattern_size_a:r.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:t.fromScale,u_scale_b:t.toScale,u_tile_units_to_pixels:1/eD(i,1,n.transform.tileZoom),u_pixel_coord_upper:[d>>16,u>>16],u_pixel_coord_lower:[65535&d,65535&u]}}(r,a,i,o),{u_matrix:e,u_opacity:n}),tw={fillExtrusion:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_lightpos:new t.aK(e,n.u_lightpos),u_lightintensity:new t.aH(e,n.u_lightintensity),u_lightcolor:new t.aK(e,n.u_lightcolor),u_vertical_gradient:new t.aH(e,n.u_vertical_gradient),u_opacity:new t.aH(e,n.u_opacity)}),fillExtrusionPattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_lightpos:new t.aK(e,n.u_lightpos),u_lightintensity:new t.aH(e,n.u_lightintensity),u_lightcolor:new t.aK(e,n.u_lightcolor),u_vertical_gradient:new t.aH(e,n.u_vertical_gradient),u_height_factor:new t.aH(e,n.u_height_factor),u_image:new t.aG(e,n.u_image),u_texsize:new t.aL(e,n.u_texsize),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade),u_opacity:new t.aH(e,n.u_opacity)}),fill:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix)}),fillPattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_image:new t.aG(e,n.u_image),u_texsize:new t.aL(e,n.u_texsize),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade)}),fillOutline:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_world:new t.aL(e,n.u_world)}),fillOutlinePattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_world:new t.aL(e,n.u_world),u_image:new t.aG(e,n.u_image),u_texsize:new t.aL(e,n.u_texsize),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade)}),circle:(e,n)=>({u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_scale_with_map:new t.aG(e,n.u_scale_with_map),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_extrude_scale:new t.aL(e,n.u_extrude_scale),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_matrix:new t.aI(e,n.u_matrix)}),collisionBox:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pixels_to_tile_units:new t.aH(e,n.u_pixels_to_tile_units),u_extrude_scale:new t.aL(e,n.u_extrude_scale),u_overscale_factor:new t.aH(e,n.u_overscale_factor)}),collisionCircle:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_inv_matrix:new t.aI(e,n.u_inv_matrix),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_viewport_size:new t.aL(e,n.u_viewport_size)}),debug:(e,n)=>({u_color:new t.aM(e,n.u_color),u_matrix:new t.aI(e,n.u_matrix),u_overlay:new t.aG(e,n.u_overlay),u_overlay_scale:new t.aH(e,n.u_overlay_scale)}),clippingMask:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix)}),heatmap:(e,n)=>({u_extrude_scale:new t.aH(e,n.u_extrude_scale),u_intensity:new t.aH(e,n.u_intensity),u_matrix:new t.aI(e,n.u_matrix)}),heatmapTexture:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_world:new t.aL(e,n.u_world),u_image:new t.aG(e,n.u_image),u_color_ramp:new t.aG(e,n.u_color_ramp),u_opacity:new t.aH(e,n.u_opacity)}),hillshade:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_image:new t.aG(e,n.u_image),u_latrange:new t.aL(e,n.u_latrange),u_light:new t.aL(e,n.u_light),u_shadow:new t.aM(e,n.u_shadow),u_highlight:new t.aM(e,n.u_highlight),u_accent:new t.aM(e,n.u_accent)}),hillshadePrepare:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_image:new t.aG(e,n.u_image),u_dimension:new t.aL(e,n.u_dimension),u_zoom:new t.aH(e,n.u_zoom),u_unpack:new t.aJ(e,n.u_unpack)}),line:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels)}),lineGradient:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels),u_image:new t.aG(e,n.u_image),u_image_height:new t.aH(e,n.u_image_height)}),linePattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_texsize:new t.aL(e,n.u_texsize),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_image:new t.aG(e,n.u_image),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels),u_scale:new t.aK(e,n.u_scale),u_fade:new t.aH(e,n.u_fade)}),lineSDF:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ratio:new t.aH(e,n.u_ratio),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_units_to_pixels:new t.aL(e,n.u_units_to_pixels),u_patternscale_a:new t.aL(e,n.u_patternscale_a),u_patternscale_b:new t.aL(e,n.u_patternscale_b),u_sdfgamma:new t.aH(e,n.u_sdfgamma),u_image:new t.aG(e,n.u_image),u_tex_y_a:new t.aH(e,n.u_tex_y_a),u_tex_y_b:new t.aH(e,n.u_tex_y_b),u_mix:new t.aH(e,n.u_mix)}),raster:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_tl_parent:new t.aL(e,n.u_tl_parent),u_scale_parent:new t.aH(e,n.u_scale_parent),u_buffer_scale:new t.aH(e,n.u_buffer_scale),u_fade_t:new t.aH(e,n.u_fade_t),u_opacity:new t.aH(e,n.u_opacity),u_image0:new t.aG(e,n.u_image0),u_image1:new t.aG(e,n.u_image1),u_brightness_low:new t.aH(e,n.u_brightness_low),u_brightness_high:new t.aH(e,n.u_brightness_high),u_saturation_factor:new t.aH(e,n.u_saturation_factor),u_contrast_factor:new t.aH(e,n.u_contrast_factor),u_spin_weights:new t.aK(e,n.u_spin_weights)}),symbolIcon:(e,n)=>({u_is_size_zoom_constant:new t.aG(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aG(e,n.u_is_size_feature_constant),u_size_t:new t.aH(e,n.u_size_t),u_size:new t.aH(e,n.u_size),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pitch:new t.aH(e,n.u_pitch),u_rotate_symbol:new t.aG(e,n.u_rotate_symbol),u_aspect_ratio:new t.aH(e,n.u_aspect_ratio),u_fade_change:new t.aH(e,n.u_fade_change),u_matrix:new t.aI(e,n.u_matrix),u_label_plane_matrix:new t.aI(e,n.u_label_plane_matrix),u_coord_matrix:new t.aI(e,n.u_coord_matrix),u_is_text:new t.aG(e,n.u_is_text),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_texsize:new t.aL(e,n.u_texsize),u_texture:new t.aG(e,n.u_texture)}),symbolSDF:(e,n)=>({u_is_size_zoom_constant:new t.aG(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aG(e,n.u_is_size_feature_constant),u_size_t:new t.aH(e,n.u_size_t),u_size:new t.aH(e,n.u_size),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pitch:new t.aH(e,n.u_pitch),u_rotate_symbol:new t.aG(e,n.u_rotate_symbol),u_aspect_ratio:new t.aH(e,n.u_aspect_ratio),u_fade_change:new t.aH(e,n.u_fade_change),u_matrix:new t.aI(e,n.u_matrix),u_label_plane_matrix:new t.aI(e,n.u_label_plane_matrix),u_coord_matrix:new t.aI(e,n.u_coord_matrix),u_is_text:new t.aG(e,n.u_is_text),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_texsize:new t.aL(e,n.u_texsize),u_texture:new t.aG(e,n.u_texture),u_gamma_scale:new t.aH(e,n.u_gamma_scale),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_is_halo:new t.aG(e,n.u_is_halo)}),symbolTextAndIcon:(e,n)=>({u_is_size_zoom_constant:new t.aG(e,n.u_is_size_zoom_constant),u_is_size_feature_constant:new t.aG(e,n.u_is_size_feature_constant),u_size_t:new t.aH(e,n.u_size_t),u_size:new t.aH(e,n.u_size),u_camera_to_center_distance:new t.aH(e,n.u_camera_to_center_distance),u_pitch:new t.aH(e,n.u_pitch),u_rotate_symbol:new t.aG(e,n.u_rotate_symbol),u_aspect_ratio:new t.aH(e,n.u_aspect_ratio),u_fade_change:new t.aH(e,n.u_fade_change),u_matrix:new t.aI(e,n.u_matrix),u_label_plane_matrix:new t.aI(e,n.u_label_plane_matrix),u_coord_matrix:new t.aI(e,n.u_coord_matrix),u_is_text:new t.aG(e,n.u_is_text),u_pitch_with_map:new t.aG(e,n.u_pitch_with_map),u_texsize:new t.aL(e,n.u_texsize),u_texsize_icon:new t.aL(e,n.u_texsize_icon),u_texture:new t.aG(e,n.u_texture),u_texture_icon:new t.aG(e,n.u_texture_icon),u_gamma_scale:new t.aH(e,n.u_gamma_scale),u_device_pixel_ratio:new t.aH(e,n.u_device_pixel_ratio),u_is_halo:new t.aG(e,n.u_is_halo)}),background:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_opacity:new t.aH(e,n.u_opacity),u_color:new t.aM(e,n.u_color)}),backgroundPattern:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_opacity:new t.aH(e,n.u_opacity),u_image:new t.aG(e,n.u_image),u_pattern_tl_a:new t.aL(e,n.u_pattern_tl_a),u_pattern_br_a:new t.aL(e,n.u_pattern_br_a),u_pattern_tl_b:new t.aL(e,n.u_pattern_tl_b),u_pattern_br_b:new t.aL(e,n.u_pattern_br_b),u_texsize:new t.aL(e,n.u_texsize),u_mix:new t.aH(e,n.u_mix),u_pattern_size_a:new t.aL(e,n.u_pattern_size_a),u_pattern_size_b:new t.aL(e,n.u_pattern_size_b),u_scale_a:new t.aH(e,n.u_scale_a),u_scale_b:new t.aH(e,n.u_scale_b),u_pixel_coord_upper:new t.aL(e,n.u_pixel_coord_upper),u_pixel_coord_lower:new t.aL(e,n.u_pixel_coord_lower),u_tile_units_to_pixels:new t.aH(e,n.u_tile_units_to_pixels)}),terrain:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_texture:new t.aG(e,n.u_texture),u_ele_delta:new t.aH(e,n.u_ele_delta)}),terrainDepth:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_ele_delta:new t.aH(e,n.u_ele_delta)}),terrainCoords:(e,n)=>({u_matrix:new t.aI(e,n.u_matrix),u_texture:new t.aG(e,n.u_texture),u_terrain_coords_id:new t.aH(e,n.u_terrain_coords_id),u_ele_delta:new t.aH(e,n.u_ele_delta)})};class tF{constructor(e,t,n){this.context=e;let i=e.gl;this.buffer=i.createBuffer(),this.dynamicDraw=!!n,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){let t=this.context.gl;if(!this.dynamicDraw)throw Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),t.bufferSubData(t.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let tk={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class tE{constructor(e,t,n,i){this.length=t.length,this.attributes=n,this.itemSize=t.bytesPerElement,this.dynamicDraw=i,this.context=e;let r=e.gl;this.buffer=r.createBuffer(),e.bindVertexBuffer.set(this.buffer),r.bufferData(r.ARRAY_BUFFER,t.arrayBuffer,this.dynamicDraw?r.DYNAMIC_DRAW:r.STATIC_DRAW),this.dynamicDraw||delete t.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);let t=this.context.gl;this.bind(),t.bufferSubData(t.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,t){for(let n=0;n<this.attributes.length;n++){let i=t.attributes[this.attributes[n].name];void 0!==i&&e.enableVertexAttribArray(i)}}setVertexAttribPointers(e,t,n){for(let i=0;i<this.attributes.length;i++){let r=this.attributes[i],o=t.attributes[r.name];void 0!==o&&e.vertexAttribPointer(o,r.components,e[tk[r.type]],!1,this.itemSize,r.offset+this.itemSize*(n||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let tA=new WeakMap;function tT(e){var t;if(tA.has(e))return tA.get(e);{let n=null==(t=e.getParameter(e.VERSION))?void 0:t.startsWith("WebGL 2.0");return tA.set(e,n),n}}class tC{constructor(e){this.gl=e.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(e){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class tM extends tC{getDefault(){return t.aO.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.clearColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class tL extends tC{getDefault(){return 1}set(e){(e!==this.current||this.dirty)&&(this.gl.clearDepth(e),this.current=e,this.dirty=!1)}}class tS extends tC{getDefault(){return 0}set(e){(e!==this.current||this.dirty)&&(this.gl.clearStencil(e),this.current=e,this.dirty=!1)}}class tD extends tC{getDefault(){return[!0,!0,!0,!0]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.colorMask(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class tI extends tC{getDefault(){return!0}set(e){(e!==this.current||this.dirty)&&(this.gl.depthMask(e),this.current=e,this.dirty=!1)}}class tO extends tC{getDefault(){return 255}set(e){(e!==this.current||this.dirty)&&(this.gl.stencilMask(e),this.current=e,this.dirty=!1)}}class tR extends tC{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(e){let t=this.current;(e.func!==t.func||e.ref!==t.ref||e.mask!==t.mask||this.dirty)&&(this.gl.stencilFunc(e.func,e.ref,e.mask),this.current=e,this.dirty=!1)}}class tP extends tC{getDefault(){let e=this.gl;return[e.KEEP,e.KEEP,e.KEEP]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||this.dirty)&&(this.gl.stencilOp(e[0],e[1],e[2]),this.current=e,this.dirty=!1)}}class tB extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.current=e,this.dirty=!1}}class tz extends tC{getDefault(){return[0,1]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.depthRange(e[0],e[1]),this.current=e,this.dirty=!1)}}class tY extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.DEPTH_TEST):t.disable(t.DEPTH_TEST),this.current=e,this.dirty=!1}}class tN extends tC{getDefault(){return this.gl.LESS}set(e){(e!==this.current||this.dirty)&&(this.gl.depthFunc(e),this.current=e,this.dirty=!1)}}class tH extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.BLEND):t.disable(t.BLEND),this.current=e,this.dirty=!1}}class tj extends tC{getDefault(){let e=this.gl;return[e.ONE,e.ZERO]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||this.dirty)&&(this.gl.blendFunc(e[0],e[1]),this.current=e,this.dirty=!1)}}class tU extends tC{getDefault(){return t.aO.transparent}set(e){let t=this.current;(e.r!==t.r||e.g!==t.g||e.b!==t.b||e.a!==t.a||this.dirty)&&(this.gl.blendColor(e.r,e.g,e.b,e.a),this.current=e,this.dirty=!1)}}class tV extends tC{getDefault(){return this.gl.FUNC_ADD}set(e){(e!==this.current||this.dirty)&&(this.gl.blendEquation(e),this.current=e,this.dirty=!1)}}class tq extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;e?t.enable(t.CULL_FACE):t.disable(t.CULL_FACE),this.current=e,this.dirty=!1}}class tG extends tC{getDefault(){return this.gl.BACK}set(e){(e!==this.current||this.dirty)&&(this.gl.cullFace(e),this.current=e,this.dirty=!1)}}class t$ extends tC{getDefault(){return this.gl.CCW}set(e){(e!==this.current||this.dirty)&&(this.gl.frontFace(e),this.current=e,this.dirty=!1)}}class tW extends tC{getDefault(){return null}set(e){(e!==this.current||this.dirty)&&(this.gl.useProgram(e),this.current=e,this.dirty=!1)}}class tX extends tC{getDefault(){return this.gl.TEXTURE0}set(e){(e!==this.current||this.dirty)&&(this.gl.activeTexture(e),this.current=e,this.dirty=!1)}}class tK extends tC{getDefault(){let e=this.gl;return[0,0,e.drawingBufferWidth,e.drawingBufferHeight]}set(e){let t=this.current;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3]||this.dirty)&&(this.gl.viewport(e[0],e[1],e[2],e[3]),this.current=e,this.dirty=!1)}}class tZ extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,e),this.current=e,this.dirty=!1}}class tJ extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindRenderbuffer(t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class tQ extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindTexture(t.TEXTURE_2D,e),this.current=e,this.dirty=!1}}class t0 extends tC{getDefault(){return null}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.bindBuffer(t.ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class t1 extends tC{getDefault(){return null}set(e){let t=this.gl;t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e),this.current=e,this.dirty=!1}}class t2 extends tC{getDefault(){return null}set(e){var t;if(e===this.current&&!this.dirty)return;let n=this.gl;tT(n)?n.bindVertexArray(e):null==(t=n.getExtension("OES_vertex_array_object"))||t.bindVertexArrayOES(e),this.current=e,this.dirty=!1}}class t5 extends tC{getDefault(){return 4}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_ALIGNMENT,e),this.current=e,this.dirty=!1}}class t3 extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e),this.current=e,this.dirty=!1}}class t4 extends tC{getDefault(){return!1}set(e){if(e===this.current&&!this.dirty)return;let t=this.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,e),this.current=e,this.dirty=!1}}class t6 extends tC{constructor(e,t){super(e),this.context=e,this.parent=t}getDefault(){return null}}class t8 extends t6{setDirty(){this.dirty=!0}set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),this.current=e,this.dirty=!1}}class t7 extends t6{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class t9 extends t6{set(e){if(e===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let t=this.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,e),this.current=e,this.dirty=!1}}class ne{constructor(e,t,n,i,r){this.context=e,this.width=t,this.height=n;let o=e.gl,a=this.framebuffer=o.createFramebuffer();if(this.colorAttachment=new t8(e,a),i)this.depthAttachment=r?new t9(e,a):new t7(e,a);else if(r)throw Error("Stencil cannot be set without depth");if(o.checkFramebufferStatus(o.FRAMEBUFFER)!==o.FRAMEBUFFER_COMPLETE)throw Error("Framebuffer is not complete")}destroy(){let e=this.context.gl,t=this.colorAttachment.get();if(t&&e.deleteTexture(t),this.depthAttachment){let t=this.depthAttachment.get();t&&e.deleteRenderbuffer(t)}e.deleteFramebuffer(this.framebuffer)}}class nt{constructor(e,t,n){this.blendFunction=e,this.blendColor=t,this.mask=n}}nt.Replace=[1,0],nt.disabled=new nt(nt.Replace,t.aO.transparent,[!1,!1,!1,!1]),nt.unblended=new nt(nt.Replace,t.aO.transparent,[!0,!0,!0,!0]),nt.alphaBlended=new nt([1,771],t.aO.transparent,[!0,!0,!0,!0]);class nn{constructor(e){var t,n;if(this.gl=e,this.clearColor=new tM(this),this.clearDepth=new tL(this),this.clearStencil=new tS(this),this.colorMask=new tD(this),this.depthMask=new tI(this),this.stencilMask=new tO(this),this.stencilFunc=new tR(this),this.stencilOp=new tP(this),this.stencilTest=new tB(this),this.depthRange=new tz(this),this.depthTest=new tY(this),this.depthFunc=new tN(this),this.blend=new tH(this),this.blendFunc=new tj(this),this.blendColor=new tU(this),this.blendEquation=new tV(this),this.cullFace=new tq(this),this.cullFaceSide=new tG(this),this.frontFace=new t$(this),this.program=new tW(this),this.activeTexture=new tX(this),this.viewport=new tK(this),this.bindFramebuffer=new tZ(this),this.bindRenderbuffer=new tJ(this),this.bindTexture=new tQ(this),this.bindVertexBuffer=new t0(this),this.bindElementBuffer=new t1(this),this.bindVertexArray=new t2(this),this.pixelStoreUnpack=new t5(this),this.pixelStoreUnpackPremultiplyAlpha=new t3(this),this.pixelStoreUnpackFlipY=new t4(this),this.extTextureFilterAnisotropic=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=e.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=e.getParameter(e.MAX_TEXTURE_SIZE),tT(e)){this.HALF_FLOAT=e.HALF_FLOAT;let i=e.getExtension("EXT_color_buffer_half_float");this.RGBA16F=null!=(t=e.RGBA16F)?t:null==i?void 0:i.RGBA16F_EXT,this.RGB16F=null!=(n=e.RGB16F)?n:null==i?void 0:i.RGB16F_EXT,e.getExtension("EXT_color_buffer_float")}else{e.getExtension("EXT_color_buffer_half_float"),e.getExtension("OES_texture_half_float_linear");let t=e.getExtension("OES_texture_half_float");this.HALF_FLOAT=null==t?void 0:t.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(e,t){return new tF(this,e,t)}createVertexBuffer(e,t,n){return new tE(this,e,t,n)}createRenderbuffer(e,t,n){let i=this.gl,r=i.createRenderbuffer();return this.bindRenderbuffer.set(r),i.renderbufferStorage(i.RENDERBUFFER,e,t,n),this.bindRenderbuffer.set(null),r}createFramebuffer(e,t,n,i){return new ne(this,e,t,n,i)}clear({color:e,depth:t,stencil:n}){let i=this.gl,r=0;e&&(r|=i.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==t&&(r|=i.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(t),this.depthMask.set(!0)),void 0!==n&&(r|=i.STENCIL_BUFFER_BIT,this.clearStencil.set(n),this.stencilMask.set(255)),i.clear(r)}setCullFace(e){!1===e.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(e.mode),this.frontFace.set(e.frontFace))}setDepthMode(e){e.func!==this.gl.ALWAYS||e.mask?(this.depthTest.set(!0),this.depthFunc.set(e.func),this.depthMask.set(e.mask),this.depthRange.set(e.range)):this.depthTest.set(!1)}setStencilMode(e){e.test.func!==this.gl.ALWAYS||e.mask?(this.stencilTest.set(!0),this.stencilMask.set(e.mask),this.stencilOp.set([e.fail,e.depthFail,e.pass]),this.stencilFunc.set({func:e.test.func,ref:e.ref,mask:e.test.mask})):this.stencilTest.set(!1)}setColorMode(e){t.aD(e.blendFunction,nt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)}createVertexArray(){var e;return tT(this.gl)?this.gl.createVertexArray():null==(e=this.gl.getExtension("OES_vertex_array_object"))?void 0:e.createVertexArrayOES()}deleteVertexArray(e){var t;return tT(this.gl)?this.gl.deleteVertexArray(e):null==(t=this.gl.getExtension("OES_vertex_array_object"))?void 0:t.deleteVertexArrayOES(e)}unbindVAO(){this.bindVertexArray.set(null)}}class ni{constructor(e,t,n){this.func=e,this.mask=t,this.range=n}}ni.ReadOnly=!1,ni.ReadWrite=!0,ni.disabled=new ni(519,ni.ReadOnly,[0,1]);class nr{constructor(e,t,n,i,r,o){this.test=e,this.ref=t,this.mask=n,this.fail=i,this.depthFail=r,this.pass=o}}nr.disabled=new nr({func:519,mask:0},0,0,7680,7680,7680);class no{constructor(e,t,n){this.enable=e,this.mode=t,this.frontFace=n}}function na(e,n,i,r,o,a,l){var c;let d=e.context,u=d.gl,m=e.useProgram("collisionBox"),h=[],f=0,p=0;for(let s=0;s<r.length;s++){let c=r[s],b=n.getTile(c),g=b.getBucket(i);if(!g)continue;let _=c.posMatrix;0===o[0]&&0===o[1]||(_=e.translatePosMatrix(c.posMatrix,b,o,a));let y=l?g.textCollisionBox:g.iconCollisionBox,v=g.collisionCircleArray;if(v.length>0){let n=t.F(),i=_;t.aP(n,g.placementInvProjMatrix,e.transform.glCoordMatrix),t.aP(n,n,g.placementViewportMatrix),h.push({circleArray:v,circleOffset:p,transform:i,invTransform:n,coord:c}),f+=v.length/4,p=f}y&&m.draw(d,u.LINES,ni.disabled,nr.disabled,e.colorModeForRenderPass(),no.disabled,ta(_,e.transform,b),e.style.map.terrain&&e.style.map.terrain.getTerrainData(c),i.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,null,e.transform.zoom,null,null,y.collisionVertexBuffer)}if(!l||!h.length)return;let b=e.useProgram("collisionCircle"),g=new t.aQ;g.resize(4*f),g._trim();let _=0;for(let e of h)for(let t=0;t<e.circleArray.length/4;t++){let n=4*t,i=e.circleArray[n+0],r=e.circleArray[n+1],o=e.circleArray[n+2],a=e.circleArray[n+3];g.emplace(_++,i,r,o,a,0),g.emplace(_++,i,r,o,a,1),g.emplace(_++,i,r,o,a,2),g.emplace(_++,i,r,o,a,3)}(!s||s.length<2*f)&&(s=function(e){let n=2*e,i=new t.aS;i.resize(n),i._trim();for(let e=0;e<n;e++){let t=6*e;i.uint16[t+0]=4*e+0,i.uint16[t+1]=4*e+1,i.uint16[t+2]=4*e+2,i.uint16[t+3]=4*e+2,i.uint16[t+4]=4*e+3,i.uint16[t+5]=4*e+0}return i}(f));let y=d.createIndexBuffer(s,!0),v=d.createVertexBuffer(g,t.aR.members,!0);for(let n of h){let r={u_matrix:n.transform,u_inv_matrix:n.invTransform,u_camera_to_center_distance:(c=e.transform).cameraToCenterDistance,u_viewport_size:[c.width,c.height]};b.draw(d,u.TRIANGLES,ni.disabled,nr.disabled,e.colorModeForRenderPass(),no.disabled,r,e.style.map.terrain&&e.style.map.terrain.getTerrainData(n.coord),i.id,v,y,t.$.simpleSegment(0,2*n.circleOffset,n.circleArray.length,n.circleArray.length/2),null,e.transform.zoom,null,null,null)}v.destroy(),y.destroy()}no.disabled=new no(!1,1029,2305),no.backCCW=new no(!0,1029,2305);let ns=t.an(new Float32Array(16));function nl(e,n,i,r,o,a,s,l,c,d,u,m){let h=e.context,f=h.gl,p=e.transform,b="map"===l,g="map"===c,_="viewport"!==l&&"point"!==i.layout.get("symbol-placement"),y=b&&!g&&!_,v=!i.layout.get("symbol-sort-key").isConstant(),x=!1,w=e.depthModeForSublayer(0,ni.ReadOnly),F=i._unevaluatedLayout.hasValue("text-variable-anchor")||i._unevaluatedLayout.hasValue("text-variable-anchor-offset"),k=[];for(let l of r){let r=n.getTile(l),c=r.getBucket(i);if(!c)continue;let u=o?c.text:c.icon;if(!u||!u.segments.get().length||!u.hasVisibleVertices)continue;let m=u.programConfigurations.get(i.id),h=o||c.sdfIcons,w=o?c.textSizeData:c.iconSizeData,E=g||0!==p.pitch,A=e.useProgram(c.iconsInText&&o?"symbolTextAndIcon":h?"symbolSDF":"symbolIcon",m),T=t.ag(w,p.zoom),C=e.style.map.terrain&&e.style.map.terrain.getTerrainData(l),M,S,D,I,O=[0,0],R=null;if(o)S=r.glyphAtlasTexture,D=f.LINEAR,M=r.glyphAtlasTexture.size,c.iconsInText&&(O=r.imageAtlasTexture.size,R=r.imageAtlasTexture,I=E||e.options.rotating||e.options.zooming||"composite"===w.kind||"camera"===w.kind?f.LINEAR:f.NEAREST);else{let t=1!==i.layout.get("icon-size").constantOr(0)||c.iconsNeedLinear;S=r.imageAtlasTexture,D=h||e.options.rotating||e.options.zooming||t||E?f.LINEAR:f.NEAREST,M=r.imageAtlasTexture.size}let P=eD(r,1,e.transform.zoom),B=eg(l.posMatrix,g,b,e.transform,P),z=e_(l.posMatrix,g,b,e.transform,P),Y=F&&c.hasTextData(),N="none"!==i.layout.get("icon-text-fit")&&Y&&c.hasIconData();if(_){let n=e.style.map.terrain?(t,n)=>e.style.map.terrain.getElevation(l,t,n):null,r="map"===i.layout.get("text-rotation-alignment");!function(e,n,i,r,o,a,s,l,c,d){let u=r?e.textSizeData:e.iconSizeData,m=t.ag(u,i.transform.zoom),h=[256/i.width*2+1,256/i.height*2+1],f=r?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();let p=e.lineVertexArray,b=r?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=i.transform.width/i.transform.height,_=!1;for(let r=0;r<b.length;r++){let y,v=b.get(r);if(v.hidden||v.writingMode===t.ah.vertical&&!_||(_=!1,d?(y=[v.anchorX,v.anchorY,d(v.anchorX,v.anchorY),1],t.af(y,y,n)):eL(y=[v.anchorX,v.anchorY,0,1],y,n),!function(e,t){let n=e[0]/e[3],i=e[1]/e[3];return n>=-t[0]&&n<=t[0]&&i>=-t[1]&&i<=t[1]}(y,h))){eM(v.numGlyphs,f);continue}let x=ev(i.transform.cameraToCenterDistance,y[3]),w=t.ai(u,m,v),F=s?w/x:w*x,k=new t.P(v.anchorX,v.anchorY),E=ey(k,o,d).point,A={projections:{},offsets:{}},T=eF(v,F,!1,l,n,o,a,e.glyphOffsetArray,p,f,E,k,A,g,c,d);_=T.useVertical,(T.notEnoughRoom||_||T.needsFlipping&&eF(v,F,!0,l,n,o,a,e.glyphOffsetArray,p,f,E,k,A,g,c,d).notEnoughRoom)&&eM(v.numGlyphs,f)}r?e.text.dynamicLayoutVertexBuffer.updateData(f):e.icon.dynamicLayoutVertexBuffer.updateData(f)}(c,l.posMatrix,e,o,B,z,g,d,r,n)}let H=e.translatePosMatrix(l.posMatrix,r,a,s),j=_||o&&F||N?ns:B,U=e.translatePosMatrix(z,r,a,s,!0),V=h&&0!==i.paint.get(o?"text-halo-width":"icon-halo-width").constantOr(1),q={program:A,buffers:u,uniformValues:h?c.iconsInText?ty(w.kind,T,y,g,e,H,j,U,M,O):t_(w.kind,T,y,g,e,H,j,U,o,M,!0):tg(w.kind,T,y,g,e,H,j,U,o,M),atlasTexture:S,atlasTextureIcon:R,atlasInterpolation:D,atlasInterpolationIcon:I,isSDF:h,hasHalo:V};if(v&&c.canOverlap)for(let e of(x=!0,u.segments.get()))k.push({segments:new t.$([e]),sortKey:e.sortKey,state:q,terrainData:C});else k.push({segments:u.segments,sortKey:0,state:q,terrainData:C})}for(let t of(x&&k.sort((e,t)=>e.sortKey-t.sortKey),k)){let n=t.state;if(h.activeTexture.set(f.TEXTURE0),n.atlasTexture.bind(n.atlasInterpolation,f.CLAMP_TO_EDGE),n.atlasTextureIcon&&(h.activeTexture.set(f.TEXTURE1),n.atlasTextureIcon&&n.atlasTextureIcon.bind(n.atlasInterpolationIcon,f.CLAMP_TO_EDGE)),n.isSDF){let r=n.uniformValues;n.hasHalo&&(r.u_is_halo=1,nc(n.buffers,t.segments,i,e,n.program,w,u,m,r,t.terrainData)),r.u_is_halo=0}nc(n.buffers,t.segments,i,e,n.program,w,u,m,n.uniformValues,t.terrainData)}}function nc(e,t,n,i,r,o,a,s,l,c){let d=i.context;r.draw(d,d.gl.TRIANGLES,o,a,s,no.disabled,l,c,n.id,e.layoutVertexBuffer,e.indexBuffer,t,n.paint,i.transform.zoom,e.programConfigurations.get(n.id),e.dynamicLayoutVertexBuffer,e.opacityVertexBuffer)}function nd(e,t,n,i,r){if(!n||!i||!i.imageAtlas)return;let o=i.imageAtlas.patternPositions,a=o[n.to.toString()],s=o[n.from.toString()];if(!a&&s&&(a=s),!s&&a&&(s=a),!a||!s){let e=r.getPaintProperty(t);a=o[e],s=o[e]}a&&s&&e.setConstantPatternPositions(a,s)}function nu(e,t,n,i,r,o,a){let s,l,c,d,u,m=e.context.gl,h="fill-pattern",f=n.paint.get(h),p=f&&f.constantOr(1),b=n.getCrossfadeParameters();a?(l=p&&!n.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=m.LINES):(l=p?"fillPattern":"fill",s=m.TRIANGLES);let g=f.constantOr(null);for(let f of i){let i=t.getTile(f);if(p&&!i.patternsLoaded())continue;let _=i.getBucket(n);if(!_)continue;let y=_.programConfigurations.get(n.id),v=e.useProgram(l,y),x=e.style.map.terrain&&e.style.map.terrain.getTerrainData(f);p&&(e.context.activeTexture.set(m.TEXTURE0),i.imageAtlasTexture.bind(m.LINEAR,m.CLAMP_TO_EDGE),y.updatePaintBuffers(b)),nd(y,h,g,i,n);let w=x?f:null,F=e.translatePosMatrix(w?w.posMatrix:f.posMatrix,i,n.paint.get("fill-translate"),n.paint.get("fill-translate-anchor"));if(a){d=_.indexBuffer2,u=_.segments2;let t=[m.drawingBufferWidth,m.drawingBufferHeight];c="fillOutlinePattern"===l&&p?tr(F,e,b,i,t):ti(F,t)}else d=_.indexBuffer,u=_.segments,c=p?tn(F,e,b,i):tt(F);v.draw(e.context,s,r,e.stencilModeForClipping(f),o,no.disabled,c,x,n.id,_.layoutVertexBuffer,d,u,n.paint,e.transform.zoom,y)}}function nm(e,t,n,i,r,o,a){let s=e.context,l=s.gl,c="fill-extrusion-pattern",d=n.paint.get(c),u=d.constantOr(1),m=n.getCrossfadeParameters(),h=n.paint.get("fill-extrusion-opacity"),f=d.constantOr(null);for(let d of i){let i=t.getTile(d),p=i.getBucket(n);if(!p)continue;let b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(d),g=p.programConfigurations.get(n.id),_=e.useProgram(u?"fillExtrusionPattern":"fillExtrusion",g);u&&(e.context.activeTexture.set(l.TEXTURE0),i.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(m)),nd(g,c,f,i,n);let y=e.translatePosMatrix(d.posMatrix,i,n.paint.get("fill-extrusion-translate"),n.paint.get("fill-extrusion-translate-anchor")),v=n.paint.get("fill-extrusion-vertical-gradient"),x=u?te(y,e,v,h,d,m,i):e9(y,e,v,h);_.draw(s,s.gl.TRIANGLES,r,o,a,no.backCCW,x,b,n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,n.paint,e.transform.zoom,g,e.style.map.terrain&&p.centroidVertexBuffer)}}let nh=new t.aO(1,0,0,1),nf=new t.aO(0,1,0,1),np=new t.aO(0,0,1,1),nb=new t.aO(1,0,1,1),ng=new t.aO(0,1,1,1);function n_(e,t,n,i){nv(e,0,t+n/2,e.transform.width,n,i)}function ny(e,t,n,i){nv(e,t-n/2,0,n,e.transform.height,i)}function nv(e,t,n,i,r,o){let a=e.context,s=a.gl;s.enable(s.SCISSOR_TEST),s.scissor(t*e.pixelRatio,n*e.pixelRatio,i*e.pixelRatio,r*e.pixelRatio),a.clear({color:o}),s.disable(s.SCISSOR_TEST)}function nx(e,t,n){let i=e.context,r=i.gl,o=e.colorModeForRenderPass(),a=new ni(r.LEQUAL,ni.ReadWrite,e.depthRangeFor3D),s=e.useProgram("terrain"),l=t.getTerrainMesh();for(let c of(i.bindFramebuffer.set(null),i.viewport.set([0,0,e.width,e.height]),n)){let n=e.renderToTexture.getTexture(c),d=t.getTerrainData(c.tileID);i.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,n.texture);let u={u_matrix:e.transform.calculatePosMatrix(c.tileID.toUnwrapped()),u_texture:0,u_ele_delta:t.getMeshFrameDelta(e.transform.zoom)};s.draw(i,r.TRIANGLES,a,nr.disabled,o,no.backCCW,u,d,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class nw{constructor(e,n){this.context=new nn(e),this.transform=n,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:t.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=eu.maxUnderzooming+eu.maxOverzooming+1,this.depthEpsilon=1/65536,this.crossTileSymbolIndex=new eZ}resize(e,t,n){if(this.width=Math.floor(e*n),this.height=Math.floor(t*n),this.pixelRatio=n,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let e of this.style._order)this.style._layers[e].resize()}setup(){let e=this.context,n=new t.aV;n.emplaceBack(0,0),n.emplaceBack(t.W,0),n.emplaceBack(0,t.W),n.emplaceBack(t.W,t.W),this.tileExtentBuffer=e.createVertexBuffer(n,e1.members),this.tileExtentSegments=t.$.simpleSegment(0,0,4,2);let i=new t.aV;i.emplaceBack(0,0),i.emplaceBack(t.W,0),i.emplaceBack(0,t.W),i.emplaceBack(t.W,t.W),this.debugBuffer=e.createVertexBuffer(i,e1.members),this.debugSegments=t.$.simpleSegment(0,0,4,5);let r=new t.Z;r.emplaceBack(0,0,0,0),r.emplaceBack(t.W,0,t.W,0),r.emplaceBack(0,t.W,0,t.W),r.emplaceBack(t.W,t.W,t.W,t.W),this.rasterBoundsBuffer=e.createVertexBuffer(r,J.members),this.rasterBoundsSegments=t.$.simpleSegment(0,0,4,2);let o=new t.aV;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(o,e1.members),this.viewportSegments=t.$.simpleSegment(0,0,4,2);let a=new t.aW;a.emplaceBack(0),a.emplaceBack(1),a.emplaceBack(3),a.emplaceBack(2),a.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(a);let s=new t.aX;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);let l=this.context.gl;this.stencilClearMode=new nr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){let e=this.context,n=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let i=t.F();t.aN(i,0,this.width,this.height,0,0,1),t.J(i,i,[n.drawingBufferWidth,n.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,n.TRIANGLES,ni.disabled,this.stencilClearMode,nt.disabled,no.disabled,tl(i),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,t){if(this.currentStencilSource===e.source||!e.isTileClipped()||!t||!t.length)return;this.currentStencilSource=e.source;let n=this.context,i=n.gl;this.nextStencilID+t.length>256&&this.clearStencil(),n.setColorMode(nt.disabled),n.setDepthMode(ni.disabled);let r=this.useProgram("clippingMask");for(let e of(this._tileClippingMaskIDs={},t)){let t=this._tileClippingMaskIDs[e.key]=this.nextStencilID++,o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(e);r.draw(n,i.TRIANGLES,ni.disabled,new nr({func:i.ALWAYS,mask:0},t,255,i.KEEP,i.KEEP,i.REPLACE),nt.disabled,no.disabled,tl(e.posMatrix),o,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let e=this.nextStencilID++,t=this.context.gl;return new nr({func:t.NOTEQUAL,mask:255},e,255,t.KEEP,t.KEEP,t.REPLACE)}stencilModeForClipping(e){let t=this.context.gl;return new nr({func:t.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,t.KEEP,t.KEEP,t.REPLACE)}stencilConfigForOverlap(e){let t=this.context.gl,n=e.sort((e,t)=>t.overscaledZ-e.overscaledZ),i=n[n.length-1].overscaledZ,r=n[0].overscaledZ-i+1;if(r>1){this.currentStencilSource=void 0,this.nextStencilID+r>256&&this.clearStencil();let e={};for(let n=0;n<r;n++)e[n+i]=new nr({func:t.GEQUAL,mask:255},n+this.nextStencilID,255,t.KEEP,t.KEEP,t.REPLACE);return this.nextStencilID+=r,[e,n]}return[{[i]:nr.disabled},n]}colorModeForRenderPass(){let e=this.context.gl;if(this._showOverdrawInspector){let n=1/8;return new nt([e.CONSTANT_COLOR,e.ONE],new t.aO(n,n,n,0),[!0,!0,!0,!0])}return"opaque"===this.renderPass?nt.unblended:nt.alphaBlended}depthModeForSublayer(e,t,n){if(!this.opaquePassEnabledForLayer())return ni.disabled;let i=1-((1+this.currentLayer)*this.numSublayers+e)*this.depthEpsilon;return new ni(n||this.context.gl.LEQUAL,t,[i,i])}opaquePassEnabledForLayer(){return this.currentLayer<this.opaquePassCutoff}render(e,n){this.style=e,this.options=n,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(u.now()),this.imageManager.beginFrame();let i=this.style._order,r=this.style.sourceCaches,o={},a={},s={};for(let e in r){let t=r[e];t.used&&t.prepare(this.context),o[e]=t.getVisibleCoordinates(),a[e]=o[e].slice().reverse(),s[e]=t.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let e=0;e<i.length;e++)if(this.style._layers[i[e]].is3D()){this.opaquePassCutoff=e;break}for(let e of(this.maybeDrawDepthAndCoords(!1),this.renderToTexture&&(this.renderToTexture.prepareForRender(this.style,this.transform.zoom),this.opaquePassCutoff=0),this.renderPass="offscreen",i)){let t=this.style._layers[e];if(!t.hasOffscreenPass()||t.isHidden(this.transform.zoom))continue;let n=a[t.source];("custom"===t.type||n.length)&&this.renderLayer(this,r[t.source],t,n)}if(this.context.bindFramebuffer.set(null),this.context.clear({color:n.showOverdrawInspector?t.aO.black:t.aO.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=n.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){let e=this.style._layers[i[this.currentLayer]],t=r[e.source],n=o[e.source];this._renderTileClippingMasks(e,n),this.renderLayer(this,t,e,n)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){let e=this.style._layers[i[this.currentLayer]],t=r[e.source];if(this.renderToTexture&&this.renderToTexture.renderLayer(e))continue;let n=("symbol"===e.type?s:a)[e.source];this._renderTileClippingMasks(e,o[e.source]),this.renderLayer(this,t,e,n)}if(this.options.showTileBoundaries){let e=function(e,t){let n=null,i=Object.values(e._layers).flatMap(n=>n.source&&!n.isHidden(t)?[e.sourceCaches[n.source]]:[]),r=i.filter(e=>"vector"===e.getSource().type),o=i.filter(e=>"vector"!==e.getSource().type),a=e=>{(!n||n.getSource().maxzoom<e.getSource().maxzoom)&&(n=e)};return r.forEach(e=>a(e)),n||o.forEach(e=>a(e)),n}(this.style,this.transform.zoom);e&&function(e,n,i){for(let r=0;r<i.length;r++)!function(e,n,i){let r=e.context,o=r.gl,a=i.posMatrix,s=e.useProgram("debug"),l=ni.disabled,c=nr.disabled,d=e.colorModeForRenderPass(),u="$debug",m=e.style.map.terrain&&e.style.map.terrain.getTerrainData(i);r.activeTexture.set(o.TEXTURE0);let h=n.getTileByID(i.key).latestRawTileData,f=Math.floor((h&&h.byteLength||0)/1024),p=512/Math.min(n.getTile(i).tileSize,512)*(i.overscaledZ/e.transform.zoom)*.5,b=i.canonical.toString();i.overscaledZ!==i.canonical.z&&(b+=` => ${i.overscaledZ}`),function(e,t){e.initDebugOverlayCanvas();let n=e.debugOverlayCanvas,i=e.context.gl,r=e.debugOverlayCanvas.getContext("2d");r.clearRect(0,0,n.width,n.height),r.shadowColor="white",r.shadowBlur=2,r.lineWidth=1.5,r.strokeStyle="white",r.textBaseline="top",r.font="bold 36px Open Sans, sans-serif",r.fillText(t,5,5),r.strokeText(t,5,5),e.debugOverlayTexture.update(n),e.debugOverlayTexture.bind(i.LINEAR,i.CLAMP_TO_EDGE)}(e,`${b} ${f}kB`),s.draw(r,o.TRIANGLES,l,c,nt.alphaBlended,no.disabled,ts(a,t.aO.transparent,p),null,u,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments),s.draw(r,o.LINE_STRIP,l,c,d,no.disabled,ts(a,t.aO.red),m,u,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments)}(e,n,i[r])}(this,e,e.getVisibleCoordinates())}this.options.showPadding&&function(e){var t,n;let i=e.transform.padding;n_(e,e.transform.height-(i.top||0),3,nh),n_(e,i.bottom||0,3,nf),ny(e,i.left||0,3,np),ny(e,e.transform.width-(i.right||0),3,nb);let r=e.transform.centerPoint;t=r.x,n=e.transform.height-r.y,nv(e,t-1,n-10,2,20,ng),nv(e,t-10,n-1,20,2,ng)}(this),this.context.setDefault()}maybeDrawDepthAndCoords(e){if(!this.style||!this.style.map||!this.style.map.terrain)return;let n=this.terrainFacilitator.matrix,i=this.transform.projMatrix,r=this.terrainFacilitator.dirty;r||(r=e?!t.aY(n,i):!t.aZ(n,i)),r||(r=this.style.map.terrain.sourceCache.tilesAfterTime(this.terrainFacilitator.renderTime).length>0),r&&(t.a_(n,i),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(e,n){let i=e.context,r=i.gl,o=nt.unblended,a=new ni(r.LEQUAL,ni.ReadWrite,[0,1]),s=n.getTerrainMesh(),l=n.sourceCache.getRenderableTiles(),c=e.useProgram("terrainDepth");for(let d of(i.bindFramebuffer.set(n.getFramebuffer("depth").framebuffer),i.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),i.clear({color:t.aO.transparent,depth:1}),l)){let t=n.getTerrainData(d.tileID),l={u_matrix:e.transform.calculatePosMatrix(d.tileID.toUnwrapped()),u_ele_delta:n.getMeshFrameDelta(e.transform.zoom)};c.draw(i,r.TRIANGLES,a,nr.disabled,o,no.backCCW,l,t,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}i.bindFramebuffer.set(null),i.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain),function(e,n){let i=e.context,r=i.gl,o=nt.unblended,a=new ni(r.LEQUAL,ni.ReadWrite,[0,1]),s=n.getTerrainMesh(),l=n.getCoordsTexture(),c=n.sourceCache.getRenderableTiles(),d=e.useProgram("terrainCoords");for(let u of(i.bindFramebuffer.set(n.getFramebuffer("coords").framebuffer),i.viewport.set([0,0,e.width/devicePixelRatio,e.height/devicePixelRatio]),i.clear({color:t.aO.transparent,depth:1}),n.coordsIndex=[],c)){let t=n.getTerrainData(u.tileID);i.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,l.texture);let c={u_matrix:e.transform.calculatePosMatrix(u.tileID.toUnwrapped()),u_terrain_coords_id:(255-n.coordsIndex.length)/255,u_texture:0,u_ele_delta:n.getMeshFrameDelta(e.transform.zoom)};d.draw(i,r.TRIANGLES,a,nr.disabled,o,no.backCCW,c,t,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),n.coordsIndex.push(u.tileID.key)}i.bindFramebuffer.set(null),i.viewport.set([0,0,e.width,e.height])}(this,this.style.map.terrain))}renderLayer(e,n,i,r){if(!i.isHidden(this.transform.zoom)&&("background"===i.type||"custom"===i.type||(r||[]).length))switch(this.id=i.id,i.type){case"symbol":!function(e,n,i,r,o){if("translucent"!==e.renderPass)return;let a=nr.disabled,s=e.colorModeForRenderPass();(i._unevaluatedLayout.hasValue("text-variable-anchor")||i._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(e,n,i,r,o,a,s){let l=n.transform,c="map"===o,d="map"===a;for(let o of e){let e=r.getTile(o),a=e.getBucket(i);if(!a||!a.text||!a.text.segments.get().length)continue;let u=t.ag(a.textSizeData,l.zoom),m=eD(e,1,n.transform.zoom),h=eg(o.posMatrix,d,c,n.transform,m),f="none"!==i.layout.get("icon-text-fit")&&a.hasIconData();if(u){let i=Math.pow(2,l.zoom-e.tileID.overscaledZ);!function(e,n,i,r,o,a,s,l,c,d,u){let m=e.text.placedSymbolArray,h=e.text.dynamicLayoutVertexArray,f=e.icon.dynamicLayoutVertexArray,p={};h.clear();for(let f=0;f<m.length;f++){let b=m.get(f),g=b.hidden||!b.crossTileID||e.allowVerticalPlacement&&!b.placedOrientation?null:r[b.crossTileID];if(g){let r=new t.P(b.anchorX,b.anchorY),m=ey(r,i?s:a,u),f=ev(o.cameraToCenterDistance,m.signedDistanceFromCamera),_=t.ai(e.textSizeData,c,b)*f/t.ao;i&&(_*=e.tilePixelRatio/l);let{width:y,height:v,anchor:x,textOffset:w,textBoxScale:F}=g,k=function(e,n,i,r,o,a){let{horizontalAlign:s,verticalAlign:l}=t.at(e);return new t.P((-(s-.5)*n/o+r[0])*a,(-(l-.5)*i/o+r[1])*a)}(x,y,v,w,F,_),E=i?ey(r.add(k),a,u).point:m.point.add(n?k.rotate(-o.angle):k),A=e.allowVerticalPlacement&&b.placedOrientation===t.ah.vertical?Math.PI/2:0;for(let e=0;e<b.numGlyphs;e++)t.aj(h,E,A);d&&b.associatedIconIndex>=0&&(p[b.associatedIconIndex]={shiftedAnchor:E,angle:A})}else eM(b.numGlyphs,h)}if(d){f.clear();let n=e.icon.placedSymbolArray;for(let e=0;e<n.length;e++){let i=n.get(e);if(i.hidden)eM(i.numGlyphs,f);else{let n=p[e];if(n)for(let e=0;e<i.numGlyphs;e++)t.aj(f,n.shiftedAnchor,n.angle);else eM(i.numGlyphs,f)}}e.icon.dynamicLayoutVertexBuffer.updateData(f)}e.text.dynamicLayoutVertexBuffer.updateData(h)}(a,c,d,s,l,h,o.posMatrix,i,u,f,n.style.map.terrain?(e,t)=>n.style.map.terrain.getElevation(o,e,t):null)}}}(r,e,i,n,i.layout.get("text-rotation-alignment"),i.layout.get("text-pitch-alignment"),o),0!==i.paint.get("icon-opacity").constantOr(1)&&nl(e,n,i,r,!1,i.paint.get("icon-translate"),i.paint.get("icon-translate-anchor"),i.layout.get("icon-rotation-alignment"),i.layout.get("icon-pitch-alignment"),i.layout.get("icon-keep-upright"),a,s),0!==i.paint.get("text-opacity").constantOr(1)&&nl(e,n,i,r,!0,i.paint.get("text-translate"),i.paint.get("text-translate-anchor"),i.layout.get("text-rotation-alignment"),i.layout.get("text-pitch-alignment"),i.layout.get("text-keep-upright"),a,s),n.map.showCollisionBoxes&&(na(e,n,i,r,i.paint.get("text-translate"),i.paint.get("text-translate-anchor"),!0),na(e,n,i,r,i.paint.get("icon-translate"),i.paint.get("icon-translate-anchor"),!1))}(e,n,i,r,this.style.placement.variableOffsets);break;case"circle":!function(e,n,i,r){if("translucent"!==e.renderPass)return;let o=i.paint.get("circle-opacity"),a=i.paint.get("circle-stroke-width"),s=i.paint.get("circle-stroke-opacity"),l=!i.layout.get("circle-sort-key").isConstant();if(0===o.constantOr(1)&&(0===a.constantOr(1)||0===s.constantOr(1)))return;let c=e.context,d=c.gl,u=e.depthModeForSublayer(0,ni.ReadOnly),m=nr.disabled,h=e.colorModeForRenderPass(),f=[];for(let o=0;o<r.length;o++){let a=r[o],s=n.getTile(a),c=s.getBucket(i);if(!c)continue;let d=c.programConfigurations.get(i.id),u=e.useProgram("circle",d),m=c.layoutVertexBuffer,h=c.indexBuffer,p=e.style.map.terrain&&e.style.map.terrain.getTerrainData(a),b={programConfiguration:d,program:u,layoutVertexBuffer:m,indexBuffer:h,uniformValues:to(e,a,s,i),terrainData:p};if(l)for(let e of c.segments.get())f.push({segments:new t.$([e]),sortKey:e.sortKey,state:b});else f.push({segments:c.segments,sortKey:0,state:b})}for(let t of(l&&f.sort((e,t)=>e.sortKey-t.sortKey),f)){let{programConfiguration:n,program:r,layoutVertexBuffer:o,indexBuffer:a,uniformValues:s,terrainData:l}=t.state;r.draw(c,d.TRIANGLES,u,m,h,no.disabled,s,l,i.id,o,a,t.segments,i.paint,e.transform.zoom,n)}}(e,n,i,r);break;case"heatmap":!function(e,n,i,r){if(0!==i.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){let o=e.context,a=o.gl,s=nr.disabled,l=new nt([a.ONE,a.ONE],t.aO.transparent,[!0,!0,!0,!0]);!function(e,t,n){let i=e.gl;e.activeTexture.set(i.TEXTURE1),e.viewport.set([0,0,t.width/4,t.height/4]);let r=n.heatmapFbo;if(r)i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),e.bindFramebuffer.set(r.framebuffer);else{let o=i.createTexture();i.bindTexture(i.TEXTURE_2D,o),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),r=n.heatmapFbo=e.createFramebuffer(t.width/4,t.height/4,!1,!1),function(e,t,n,i){var r,o;let a=e.gl,s=null!=(r=e.HALF_FLOAT)?r:a.UNSIGNED_BYTE,l=null!=(o=e.RGBA16F)?o:a.RGBA;a.texImage2D(a.TEXTURE_2D,0,l,t.width/4,t.height/4,0,a.RGBA,s,null),i.colorAttachment.set(n)}(e,t,o,r)}}(o,e,i),o.clear({color:t.aO.transparent});for(let t=0;t<r.length;t++){let c=r[t];if(n.hasRenderableParent(c))continue;let d=n.getTile(c),u=d.getBucket(i);if(!u)continue;let m=u.programConfigurations.get(i.id),h=e.useProgram("heatmap",m),{zoom:f}=e.transform;h.draw(o,a.TRIANGLES,ni.disabled,s,l,no.disabled,tc(c.posMatrix,d,f,i.paint.get("heatmap-intensity")),null,i.id,u.layoutVertexBuffer,u.indexBuffer,u.segments,i.paint,e.transform.zoom,m)}o.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,n){let i=e.context,r=i.gl,o=n.heatmapFbo;if(!o)return;i.activeTexture.set(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,o.colorAttachment.get()),i.activeTexture.set(r.TEXTURE1);let a=n.colorRampTexture;a||(a=n.colorRampTexture=new M(i,n.colorRamp,r.RGBA)),a.bind(r.LINEAR,r.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(i,r.TRIANGLES,ni.disabled,nr.disabled,e.colorModeForRenderPass(),no.disabled,((e,n,i,r)=>{let o=t.F();t.aN(o,0,e.width,e.height,0,0,1);let a=e.context.gl;return{u_matrix:o,u_world:[a.drawingBufferWidth,a.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:n.paint.get("heatmap-opacity")}})(e,n),null,n.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,n.paint,e.transform.zoom)}(e,i))}(e,n,i,r);break;case"line":!function(e,n,i,r){if("translucent"!==e.renderPass)return;let o=i.paint.get("line-opacity"),a=i.paint.get("line-width");if(0===o.constantOr(1)||0===a.constantOr(1))return;let s=e.depthModeForSublayer(0,ni.ReadOnly),l=e.colorModeForRenderPass(),c=i.paint.get("line-dasharray"),d=i.paint.get("line-pattern"),u=d.constantOr(1),m=i.paint.get("line-gradient"),h=i.getCrossfadeParameters(),f=u?"linePattern":c?"lineSDF":m?"lineGradient":"line",p=e.context,b=p.gl,g=!0;for(let o of r){let r=n.getTile(o);if(u&&!r.patternsLoaded())continue;let a=r.getBucket(i);if(!a)continue;let _=a.programConfigurations.get(i.id),y=e.context.program.get(),v=e.useProgram(f,_),x=g||v.program!==y,w=e.style.map.terrain&&e.style.map.terrain.getTerrainData(o),F=d.constantOr(null);if(F&&r.imageAtlas){let e=r.imageAtlas,t=e.patternPositions[F.to.toString()],n=e.patternPositions[F.from.toString()];t&&n&&_.setConstantPatternPositions(t,n)}let k=w?o:null,E=u?tm(e,r,i,h,k):c?th(e,r,i,c,h,k):m?tu(e,r,i,a.lineClipsArray.length,k):td(e,r,i,k);if(u)p.activeTexture.set(b.TEXTURE0),r.imageAtlasTexture.bind(b.LINEAR,b.CLAMP_TO_EDGE),_.updatePaintBuffers(h);else if(c&&(x||e.lineAtlas.dirty))p.activeTexture.set(b.TEXTURE0),e.lineAtlas.bind(p);else if(m){let r=a.gradients[i.id],s=r.texture;if(i.gradientVersion!==r.version){let l=256;if(i.stepInterpolant){let i=n.getSource().maxzoom,r=o.canonical.z===i?Math.ceil(1<<e.transform.maxZoom-o.canonical.z):1;l=t.ac(t.aT(a.maxLineLength/t.W*1024*r),256,p.maxTextureSize)}r.gradient=t.aU({expression:i.gradientExpression(),evaluationKey:"lineProgress",resolution:l,image:r.gradient||void 0,clips:a.lineClipsArray}),r.texture?r.texture.update(r.gradient):r.texture=new M(p,r.gradient,b.RGBA),r.version=i.gradientVersion,s=r.texture}p.activeTexture.set(b.TEXTURE0),s.bind(i.stepInterpolant?b.NEAREST:b.LINEAR,b.CLAMP_TO_EDGE)}v.draw(p,b.TRIANGLES,s,e.stencilModeForClipping(o),l,no.disabled,E,w,i.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,i.paint,e.transform.zoom,_,a.layoutVertexBuffer2),g=!1}}(e,n,i,r);break;case"fill":!function(e,n,i,r){let o=i.paint.get("fill-color"),a=i.paint.get("fill-opacity");if(0===a.constantOr(1))return;let s=e.colorModeForRenderPass(),l=i.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===o.constantOr(t.aO.transparent).a&&1===a.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){let t=e.depthModeForSublayer(1,"opaque"===e.renderPass?ni.ReadWrite:ni.ReadOnly);nu(e,n,i,r,t,s,!1)}if("translucent"===e.renderPass&&i.paint.get("fill-antialias")){let t=e.depthModeForSublayer(2*!!i.getPaintProperty("fill-outline-color"),ni.ReadOnly);nu(e,n,i,r,t,s,!0)}}(e,n,i,r);break;case"fill-extrusion":let o=i.paint.get("fill-extrusion-opacity");if(0!==o&&"translucent"===e.renderPass){let t=new ni(e.context.gl.LEQUAL,ni.ReadWrite,e.depthRangeFor3D);if(1!==o||i.paint.get("fill-extrusion-pattern").constantOr(1))nm(e,n,i,r,t,nr.disabled,nt.disabled),nm(e,n,i,r,t,e.stencilModeFor3D(),e.colorModeForRenderPass());else{let o=e.colorModeForRenderPass();nm(e,n,i,r,t,nr.disabled,o)}}break;case"hillshade":!function(e,n,i,r){if("offscreen"!==e.renderPass&&"translucent"!==e.renderPass)return;let o=e.context,a=e.depthModeForSublayer(0,ni.ReadOnly),s=e.colorModeForRenderPass(),[l,c]="translucent"===e.renderPass?e.stencilConfigForOverlap(r):[{},r];for(let r of c){let o=n.getTile(r);void 0!==o.needsHillshadePrepare&&o.needsHillshadePrepare&&"offscreen"===e.renderPass?function(e,n,i,r,o,a){let s=e.context,l=s.gl,c=n.dem;if(c&&c.data){let d=c.dim,u=c.stride,m=c.getPixels();if(s.activeTexture.set(l.TEXTURE1),s.pixelStoreUnpackPremultiplyAlpha.set(!1),n.demTexture=n.demTexture||e.getTileTexture(u),n.demTexture){let e=n.demTexture;e.update(m,{premultiply:!1}),e.bind(l.NEAREST,l.CLAMP_TO_EDGE)}else n.demTexture=new M(s,m,l.RGBA,{premultiply:!1}),n.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);s.activeTexture.set(l.TEXTURE0);let h=n.fbo;if(!h){let e=new M(s,{width:d,height:d,data:null},l.RGBA);e.bind(l.LINEAR,l.CLAMP_TO_EDGE),(h=n.fbo=s.createFramebuffer(d,d,!0,!1)).colorAttachment.set(e.texture)}s.bindFramebuffer.set(h.framebuffer),s.viewport.set([0,0,d,d]),e.useProgram("hillshadePrepare").draw(s,l.TRIANGLES,r,o,a,no.disabled,((e,n)=>{let i=n.stride,r=t.F();return t.aN(r,0,t.W,-t.W,0,0,1),t.H(r,r,[0,-t.W,0]),{u_matrix:r,u_image:1,u_dimension:[i,i],u_zoom:e.overscaledZ,u_unpack:n.getUnpackVector()}})(n.tileID,c),null,i.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),n.needsHillshadePrepare=!1}}(e,o,i,a,nr.disabled,s):"translucent"===e.renderPass&&function(e,n,i,r,o,a,s){let l=e.context,c=l.gl,d=i.fbo;if(!d)return;let u=e.useProgram("hillshade"),m=e.style.map.terrain&&e.style.map.terrain.getTerrainData(n);l.activeTexture.set(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,d.colorAttachment.get()),u.draw(l,c.TRIANGLES,o,a,s,no.disabled,((e,n,i,r)=>{let o=i.paint.get("hillshade-shadow-color"),a=i.paint.get("hillshade-highlight-color"),s=i.paint.get("hillshade-accent-color"),l=i.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===i.paint.get("hillshade-illumination-anchor")&&(l-=e.transform.angle);let c=!e.options.moving;return{u_matrix:r?r.posMatrix:e.transform.calculatePosMatrix(n.tileID.toUnwrapped(),c),u_image:0,u_latrange:function(e,n){let i=Math.pow(2,n.canonical.z),r=n.canonical.y;return[new t.Y(0,r/i).toLngLat().lat,new t.Y(0,(r+1)/i).toLngLat().lat]}(0,n.tileID),u_light:[i.paint.get("hillshade-exaggeration"),l],u_shadow:o,u_highlight:a,u_accent:s}})(e,i,r,m?n:null),m,r.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}(e,r,o,i,a,l[r.overscaledZ],s)}o.viewport.set([0,0,e.width,e.height])}(e,n,i,r);break;case"raster":!function(e,n,i,r){if("translucent"!==e.renderPass||0===i.paint.get("raster-opacity")||!r.length)return;let o=e.context,a=o.gl,s=n.getSource(),l=e.useProgram("raster"),c=e.colorModeForRenderPass(),[d,m]=s instanceof Q?[{},r]:e.stencilConfigForOverlap(r),h=m[m.length-1].overscaledZ,f=!e.options.moving;for(let r of m){let m,p,b=e.depthModeForSublayer(r.overscaledZ-h,1===i.paint.get("raster-opacity")?ni.ReadWrite:ni.ReadOnly,a.LESS),g=n.getTile(r);g.registerFadeDuration(i.paint.get("raster-fade-duration"));let _=n.findLoadedParent(r,0),y=function(e,n,i,r,o,a){let s=r.paint.get("raster-fade-duration");if(!a&&s>0){let r=u.now(),a=(r-e.timeAdded)/s,l=n?(r-n.timeAdded)/s:-1,c=i.getSource(),d=o.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),m=!n||Math.abs(n.tileID.overscaledZ-d)>Math.abs(e.tileID.overscaledZ-d),h=m&&e.refreshedUponExpiration?1:t.ac(m?a:1-l,0,1);return e.refreshedUponExpiration&&a>=1&&(e.refreshedUponExpiration=!1),n?{opacity:1,mix:1-h}:{opacity:h,mix:0}}return{opacity:1,mix:0}}(g,_,n,i,e.transform,e.style.map.terrain),v="nearest"===i.paint.get("raster-resampling")?a.NEAREST:a.LINEAR;o.activeTexture.set(a.TEXTURE0),g.texture.bind(v,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(a.TEXTURE1),_?(_.texture.bind(v,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),m=Math.pow(2,_.tileID.overscaledZ-g.tileID.overscaledZ),p=[g.tileID.canonical.x*m%1,g.tileID.canonical.y*m%1]):g.texture.bind(v,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);let x=e.style.map.terrain&&e.style.map.terrain.getTerrainData(r),w=x?r:null,F=tb(w?w.posMatrix:e.transform.calculatePosMatrix(r.toUnwrapped(),f),p||[0,0],m||1,y,i);s instanceof Q?l.draw(o,a.TRIANGLES,b,nr.disabled,c,no.disabled,F,x,i.id,s.boundsBuffer,e.quadTriangleIndexBuffer,s.boundsSegments):l.draw(o,a.TRIANGLES,b,d[r.overscaledZ],c,no.disabled,F,x,i.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}(e,n,i,r);break;case"background":!function(e,t,n,i){let r=n.paint.get("background-color"),o=n.paint.get("background-opacity");if(0===o)return;let a=e.context,s=a.gl,l=e.transform,c=l.tileSize,d=n.paint.get("background-pattern");if(e.isPatternMissing(d))return;let u=!d&&1===r.a&&1===o&&e.opaquePassEnabledForLayer()?"opaque":"translucent";if(e.renderPass!==u)return;let m=nr.disabled,h=e.depthModeForSublayer(0,"opaque"===u?ni.ReadWrite:ni.ReadOnly),f=e.colorModeForRenderPass(),p=e.useProgram(d?"backgroundPattern":"background"),b=i||l.coveringTiles({tileSize:c,terrain:e.style.map.terrain});d&&(a.activeTexture.set(s.TEXTURE0),e.imageManager.bind(e.context));let g=n.getCrossfadeParameters();for(let t of b){let l=i?t.posMatrix:e.transform.calculatePosMatrix(t.toUnwrapped()),u=d?tx(l,o,e,d,{tileID:t,tileSize:c},g):tv(l,o,r),b=e.style.map.terrain&&e.style.map.terrain.getTerrainData(t);p.draw(a,s.TRIANGLES,h,m,f,no.disabled,u,b,n.id,e.tileExtentBuffer,e.quadTriangleIndexBuffer,e.tileExtentSegments)}}(e,0,i,r);break;case"custom":let a=e.context,s=i.implementation;if("offscreen"===e.renderPass){let t=s.prerender;t&&(e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),t.call(s,a.gl,e.transform.customLayerMatrix()),a.setDirty(),e.setBaseState())}else if("translucent"===e.renderPass){e.setCustomLayerDefaults(),a.setColorMode(e.colorModeForRenderPass()),a.setStencilMode(nr.disabled);let t="3d"===s.renderingMode?new ni(e.context.gl.LEQUAL,ni.ReadWrite,e.depthRangeFor3D):e.depthModeForSublayer(0,ni.ReadOnly);a.setDepthMode(t),s.render(a.gl,e.transform.customLayerMatrix()),a.setDirty(),e.setBaseState(),a.bindFramebuffer.set(null)}}}translatePosMatrix(e,n,i,r,o){if(!i[0]&&!i[1])return e;let a=o?"map"===r?this.transform.angle:0:"viewport"===r?-this.transform.angle:0;if(a){let e=Math.sin(a),t=Math.cos(a);i=[i[0]*t-i[1]*e,i[0]*e+i[1]*t]}let s=[o?i[0]:eD(n,i[0],this.transform.zoom),o?i[1]:eD(n,i[1],this.transform.zoom),0],l=new Float32Array(16);return t.H(l,e,s),l}saveTileTexture(e){let t=this._tileTextures[e.size[0]];t?t.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){let t=this._tileTextures[e];return t&&t.length>0?t.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;let t=this.imageManager.getPattern(e.from.toString()),n=this.imageManager.getPattern(e.to.toString());return!t||!n}useProgram(e,t){this.cache=this.cache||{};let n=e+(t?t.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[n]||(this.cache[n]=new e8(this.context,e5[e],t,tw[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[n]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new M(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this.context.gl;return this.width!==e||this.height!==t}}class nF{constructor(e,t){this.points=e,this.planes=t}static fromInvProjectionMatrix(e,n,i){let r=Math.pow(2,i),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(i=>{let o=1/(i=t.af([],i,e))[3]/n*r;return t.a$(i,i,[o,o,1/i[3],o])}),a=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(e=>{var t,n,i,r,a,s,l,c,d,u,m,h,f,p,b,g;let _=(m=[],f=(n=[],i=A([],o[e[0]],o[e[1]]),r=A([],o[e[2]],o[e[1]]),a=i[0],s=i[1],l=i[2],c=r[0],d=r[1],u=r[2],n[0]=s*u-l*d,n[1]=l*c-a*u,n[2]=a*d-s*c,h=n)[0],(g=f*f+(p=h[1])*p+(b=h[2])*b)>0&&(g=1/Math.sqrt(g)),m[0]=h[0]*g,m[1]=h[1]*g,m[2]=h[2]*g,m),y=-(_[0]*(t=o[e[1]])[0]+_[1]*t[1]+_[2]*t[2]);return _.concat(y)});return new nF(o,a)}}class nk{constructor(e,t){this.min=e,this.max=t,this.center=function(e,t,n){return e[0]=.5*t[0],e[1]=.5*t[1],e[2]=.5*t[2],e}([],function(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e}([],this.min,this.max))}quadrant(e){let t=[e%2==0,e<2],n=x(this.min),i=x(this.max);for(let e=0;e<t.length;e++)n[e]=t[e]?this.min[e]:this.center[e],i[e]=t[e]?this.center[e]:this.max[e];return i[2]=this.max[2],new nk(n,i)}distanceX(e){return Math.max(Math.min(this.max[0],e[0]),this.min[0])-e[0]}distanceY(e){return Math.max(Math.min(this.max[1],e[1]),this.min[1])-e[1]}intersects(e){let n=[[this.min[0],this.min[1],this.min[2],1],[this.max[0],this.min[1],this.min[2],1],[this.max[0],this.max[1],this.min[2],1],[this.min[0],this.max[1],this.min[2],1],[this.min[0],this.min[1],this.max[2],1],[this.max[0],this.min[1],this.max[2],1],[this.max[0],this.max[1],this.max[2],1],[this.min[0],this.max[1],this.max[2],1]],i=!0;for(let r=0;r<e.planes.length;r++){let o=e.planes[r],a=0;for(let e=0;e<n.length;e++)t.b0(o,n[e])>=0&&a++;if(0===a)return 0;a!==n.length&&(i=!1)}if(i)return 2;for(let t=0;t<3;t++){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE;for(let r=0;r<e.points.length;r++){let o=e.points[r][t]-this.min[t];n=Math.min(n,o),i=Math.max(i,o)}if(i<0||n>this.max[t]-this.min[t])return 0}return 1}}class nE{constructor(e=0,t=0,n=0,i=0){if(isNaN(e)||e<0||isNaN(t)||t<0||isNaN(n)||n<0||isNaN(i)||i<0)throw Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=t,this.left=n,this.right=i}interpolate(e,n,i){return null!=n.top&&null!=e.top&&(this.top=t.z.number(e.top,n.top,i)),null!=n.bottom&&null!=e.bottom&&(this.bottom=t.z.number(e.bottom,n.bottom,i)),null!=n.left&&null!=e.left&&(this.left=t.z.number(e.left,n.left,i)),null!=n.right&&null!=e.right&&(this.right=t.z.number(e.right,n.right,i)),this}getCenter(e,n){let i=t.ac((this.left+e-this.right)/2,0,e),r=t.ac((this.top+n-this.bottom)/2,0,n);return new t.P(i,r)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new nE(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}class nA{constructor(e,n,i,r,o){this.tileSize=512,this._renderWorldCopies=void 0===o||!!o,this._minZoom=e||0,this._maxZoom=n||22,this._minPitch=null==i?0:i,this._maxPitch=null==r?60:r,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.M(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new nE,this._posMatrixCache={},this._alignedPosMatrixCache={},this.minElevationForCurrentTile=0}clone(){let e=new nA(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){void 0===e?e=!0:null===e&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new t.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){var n,i,r,o,a,s,l,c,d,u;let m=-t.b1(e,-180,180)*Math.PI/180;this.angle!==m&&(this._unmodified=!1,this.angle=m,this._calcMatrices(),this.rotationMatrix=(n=new t.A(4),t.A!=Float32Array&&(n[1]=0,n[2]=0),n[0]=1,n[3]=1,n),i=this.rotationMatrix,r=this.rotationMatrix,o=this.angle,a=r[0],s=r[1],l=r[2],c=r[3],d=Math.sin(o),u=Math.cos(o),i[0]=a*u+l*d,i[1]=s*u+c*d,i[2]=-(a*d)+l*u,i[3]=-(s*d)+c*u)}get pitch(){return this._pitch/Math.PI*180}set pitch(e){let n=t.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==n&&(this._unmodified=!1,this._pitch=n,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){let t=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==t&&(this._unmodified=!1,this._zoom=t,this.tileZoom=Math.max(0,Math.floor(t)),this.scale=this.zoomScale(t),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,t,n){this._unmodified=!1,this._edgeInsets.interpolate(e,t,n),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){return Math.max(0,(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize)))}getVisibleUnwrappedCoordinates(e){let n=[new t.b2(0,e)];if(this._renderWorldCopies){let i=this.pointCoordinate(new t.P(0,0)),r=this.pointCoordinate(new t.P(this.width,0)),o=this.pointCoordinate(new t.P(this.width,this.height)),a=this.pointCoordinate(new t.P(0,this.height)),s=Math.floor(Math.min(i.x,r.x,o.x,a.x)),l=Math.floor(Math.max(i.x,r.x,o.x,a.x));for(let i=s-1;i<=l+1;i++)0!==i&&n.push(new t.b2(i,e))}return n}coveringTiles(e){var n,i;let r=this.coveringZoomLevel(e),o=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);let a=this.pointCoordinate(this.getCameraPoint()),s=t.Y.fromLngLat(this.center),l=Math.pow(2,r),c=[l*a.x,l*a.y,0],d=[l*s.x,l*s.y,0],u=nF.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),m=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(m=r);let h=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,f=e=>({aabb:new nk([e*l,0,0],[(e+1)*l,l,0]),zoom:0,x:0,y:0,wrap:e,fullyVisible:!1}),p=[],b=[],g=r,_=e.reparseOverscaled?o:r;if(this._renderWorldCopies)for(let e=1;e<=3;e++)p.push(f(-e)),p.push(f(e));for(p.push(f(0));p.length>0;){let r=p.pop(),o=r.x,a=r.y,s=r.fullyVisible;if(!s){let e=r.aabb.intersects(u);if(0===e)continue;s=2===e}let l=e.terrain?c:d,f=Math.max(Math.abs(r.aabb.distanceX(l)),Math.abs(r.aabb.distanceY(l)));if(r.zoom===g||f>h+(1<<g-r.zoom)-2&&r.zoom>=m){let e=g-r.zoom,n=c[0]-.5-(o<<e),i=c[1]-.5-(a<<e);b.push({tileID:new t.Q(r.zoom===g?_:r.zoom,r.wrap,r.zoom,o,a),distanceSq:T([d[0]-.5-o,d[1]-.5-a]),tileDistanceToCamera:Math.sqrt(n*n+i*i)})}else for(let l=0;l<4;l++){let c=(o<<1)+l%2,d=(a<<1)+(l>>1),u=r.zoom+1,m=r.aabb.quadrant(l);if(e.terrain){let o=new t.Q(u,r.wrap,u,c,d),a=e.terrain.getMinMaxElevation(o),s=null!=(n=a.minElevation)?n:this.elevation,l=null!=(i=a.maxElevation)?i:this.elevation;m=new nk([m.min[0],m.min[1],s],[m.max[0],m.max[1],l])}p.push({aabb:m,zoom:u,x:c,y:d,wrap:r.wrap,fullyVisible:s})}}return b.sort((e,t)=>e.distanceSq-t.distanceSq).map(e=>e.tileID)}resize(e,t){this.width=e,this.height=t,this.pixelsToGLUnits=[2/e,-2/t],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){let n=t.ac(e.lat,-85.051129,85.051129);return new t.P(t.N(e.lng)*this.worldSize,t.O(n)*this.worldSize)}unproject(e){return new t.Y(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){let n=this.elevation,i=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,r=this.pointLocation(this.centerPoint,e),o=e.getElevationForLngLatZoom(r,this.tileZoom);if(!(this.elevation-o))return;let a=Math.cos(this._pitch)*this.cameraToCenterDistance/(i+n-o)/t.b3(1,r.lat),s=this.scaleZoom(a/this.tileSize);this._elevation=o,this._center=r,this.zoom=s}setLocationAtPoint(e,n){let i=this.pointCoordinate(n),r=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(e),a=new t.Y(o.x-(i.x-r.x),o.y-(i.y-r.y));this.center=this.coordinateLocation(a),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,t){return t?this.coordinatePoint(this.locationCoordinate(e),t.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,t){return this.coordinateLocation(this.pointCoordinate(e,t))}locationCoordinate(e){return t.Y.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,n){if(n){let t=n.pointCoordinate(e);if(null!=t)return t}let i=[e.x,e.y,0,1],r=[e.x,e.y,1,1];t.af(i,i,this.pixelMatrixInverse),t.af(r,r,this.pixelMatrixInverse);let o=i[3],a=r[3],s=i[1]/o,l=r[1]/a,c=i[2]/o,d=r[2]/a,u=c===d?0:(0-c)/(d-c);return new t.Y(t.z.number(i[0]/o,r[0]/a,u)/this.worldSize,t.z.number(s,l,u)/this.worldSize)}coordinatePoint(e,n=0,i=this.pixelMatrix){let r=[e.x*this.worldSize,e.y*this.worldSize,n,1];return t.af(r,r,i),new t.P(r[0]/r[3],r[1]/r[3])}getBounds(){let e=Math.max(0,this.height/2-this.getHorizon());return(new G).extend(this.pointLocation(new t.P(0,e))).extend(this.pointLocation(new t.P(this.width,e))).extend(this.pointLocation(new t.P(this.width,this.height))).extend(this.pointLocation(new t.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new G([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,85.051129])}calculatePosMatrix(e,n=!1){let i=e.key,r=n?this._alignedPosMatrixCache:this._posMatrixCache;if(r[i])return r[i];let o=e.canonical,a=this.worldSize/this.zoomScale(o.z),s=o.x+Math.pow(2,o.z)*e.wrap,l=t.an(new Float64Array(16));return t.H(l,l,[s*a,o.y*a,0]),t.J(l,l,[a/t.W,a/t.W,1]),t.K(l,n?this.alignedProjMatrix:this.projMatrix,l),r[i]=new Float32Array(l),r[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,n){let i,r;n=t.ac(+n,this.minZoom,this.maxZoom);let o={center:new t.M(e.lng,e.lat),zoom:n},a=this.lngRange;this._renderWorldCopies||null!==a||(a=[-(180-1e-10),180-1e-10]);let s=this.tileSize*this.zoomScale(o.zoom),l=0,c=s,d=0,u=s,m=0,h=0,{x:f,y:p}=this.size;if(this.latRange){let e=this.latRange;l=t.O(e[1])*s,(c=t.O(e[0])*s)-l<p&&(m=p/(c-l))}a&&(d=t.b1(t.N(a[0])*s,0,s),(u=t.b1(t.N(a[1])*s,0,s))<d&&(u+=s),u-d<f&&(h=f/(u-d)));let{x:b,y:g}=this.project.call({worldSize:s},e),_=Math.max(h||0,m||0);if(_){let e=new t.P(h?(u+d)/2:b,m?(c+l)/2:g);return o.center=this.unproject.call({worldSize:s},e).wrap(),o.zoom+=this.scaleZoom(_),o}if(this.latRange){let e=p/2;g-e<l&&(r=l+e),g+e>c&&(r=c-e)}if(a){let e=(d+u)/2,n=b;this._renderWorldCopies&&(n=t.b1(b,e-s/2,e+s/2));let r=f/2;n-r<d&&(i=d+r),n+r>u&&(i=u-r)}if(void 0!==i||void 0!==r){let e=new t.P(null!=i?i:b,null!=r?r:g);o.center=this.unproject.call({worldSize:s},e).wrap()}return o}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let e=this._unmodified,{center:t,zoom:n}=this.getConstrained(this.center,this.zoom);this.center=t,this.zoom=n,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;let e=this.centerOffset,n=this.point.x,i=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=t.b3(1,this.center.lat)*this.worldSize;let r=t.an(new Float64Array(16));t.J(r,r,[this.width/2,-this.height/2,1]),t.H(r,r,[1,-1,0]),this.labelPlaneMatrix=r,r=t.an(new Float64Array(16)),t.J(r,r,[1,-1,1]),t.H(r,r,[-1,-1,0]),t.J(r,r,[2/this.width,2/this.height,1]),this.glCoordMatrix=r;let o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),a=Math.min(this.elevation,this.minElevationForCurrentTile),s=o-a*this._pixelPerMeter/Math.cos(this._pitch),l=a<0?s:o,c=Math.PI/2+this._pitch,d=this._fov*(.5+e.y/this.height),u=Math.sin(d)*l/Math.sin(t.ac(Math.PI-c-d,.01,Math.PI-.01)),m=this.getHorizon(),h=2*Math.atan(m/this.cameraToCenterDistance)*(.5+e.y/(2*m)),f=Math.min(u,Math.sin(h)*l/Math.sin(t.ac(Math.PI-c-h,.01,Math.PI-.01))),p=1.01*(Math.cos(Math.PI/2-this._pitch)*f+l),b=this.height/50;r=new Float64Array(16),t.b4(r,this._fov,this.width/this.height,b,p),r[8]=-(2*e.x)/this.width,r[9]=2*e.y/this.height,t.J(r,r,[1,-1,1]),t.H(r,r,[0,0,-this.cameraToCenterDistance]),t.b5(r,r,this._pitch),t.ad(r,r,this.angle),t.H(r,r,[-n,-i,0]),this.mercatorMatrix=t.J([],r,[this.worldSize,this.worldSize,this.worldSize]),t.J(r,r,[1,1,this._pixelPerMeter]),this.pixelMatrix=t.K(new Float64Array(16),this.labelPlaneMatrix,r),t.H(r,r,[0,0,-this.elevation]),this.projMatrix=r,this.invProjMatrix=t.ar([],r),this.pixelMatrix3D=t.K(new Float64Array(16),this.labelPlaneMatrix,r);let g=this.width%2/2,_=this.height%2/2,y=Math.cos(this.angle),v=Math.sin(this.angle),x=n-Math.round(n)+y*g+v*_,w=i-Math.round(i)+y*_+v*g,F=new Float64Array(r);if(t.H(F,F,[x>.5?x-1:x,w>.5?w-1:w,0]),this.alignedProjMatrix=F,!(r=t.ar(new Float64Array(16),this.pixelMatrix)))throw Error("failed to invert matrix");this.pixelMatrixInverse=r,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let e=this.pointCoordinate(new t.P(0,0)),n=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.af(n,n,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.P(0,e))}getCameraQueryGeometry(e){let n=this.getCameraPoint();if(1===e.length)return[e[0],n];{let i=n.x,r=n.y,o=n.x,a=n.y;for(let t of e)i=Math.min(i,t.x),r=Math.min(r,t.y),o=Math.max(o,t.x),a=Math.max(a,t.y);return[new t.P(i,r),new t.P(o,r),new t.P(o,a),new t.P(i,a),new t.P(i,r)]}}lngLatToCameraDepth(e,n){let i=this.locationCoordinate(e),r=[i.x*this.worldSize,i.y*this.worldSize,n,1];return t.af(r,r,this.projMatrix),r[2]/r[3]}}function nT(e,t){let n,i=!1,r=null,o=null,a=()=>{r=null,i&&(e.apply(o,n),r=setTimeout(a,t),i=!1)};return(...e)=>(i=!0,o=this,n=e,r||a(),r)}class nC{constructor(e){this._getCurrentHash=()=>{let e=window.location.hash.replace("#","");if(this._hashName){let t;return e.split("&").map(e=>e.split("=")).forEach(e=>{e[0]===this._hashName&&(t=e)}),(t&&t[1]||"").split("/")}return e.split("/")},this._onHashChange=()=>{let e=this._getCurrentHash();if(e.length>=3&&!e.some(e=>isNaN(e))){let t=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(e[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:t,pitch:+(e[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let e=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,e)}catch(e){}},this._updateHash=nT(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(e){let t=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.pow(10,Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10)),r=Math.round(t.lng*i)/i,o=Math.round(t.lat*i)/i,a=this._map.getBearing(),s=this._map.getPitch(),l="";if(l+=e?`/${r}/${o}/${n}`:`${n}/${o}/${r}`,(a||s)&&(l+="/"+Math.round(10*a)/10),s&&(l+=`/${Math.round(s)}`),this._hashName){let e=this._hashName,t=!1,n=window.location.hash.slice(1).split("&").map(n=>{let i=n.split("=")[0];return i===e?(t=!0,`${i}=${l}`):n}).filter(e=>e);return t||n.push(`${e}=${l}`),`#${n.join("&")}`}return`#${l}`}}let nM={linearity:.3,easing:t.b6(0,0,.3,1)},nL=t.e({deceleration:2500,maxSpeed:1400},nM),nS=t.e({deceleration:20,maxSpeed:1400},nM),nD=t.e({deceleration:1e3,maxSpeed:360},nM),nI=t.e({deceleration:1e3,maxSpeed:90},nM);class nO{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:e})}_drainInertiaBuffer(){let e=this._inertiaBuffer,t=u.now();for(;e.length>0&&t-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let n={zoom:0,bearing:0,pitch:0,pan:new t.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:e}of this._inertiaBuffer)n.zoom+=e.zoomDelta||0,n.bearing+=e.bearingDelta||0,n.pitch+=e.pitchDelta||0,e.panDelta&&n.pan._add(e.panDelta),e.around&&(n.around=e.around),e.pinchAround&&(n.pinchAround=e.pinchAround);let i=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,r={};if(n.pan.mag()){let o=nP(n.pan.mag(),i,t.e({},nL,e||{}));r.offset=n.pan.mult(o.amount/n.pan.mag()),r.center=this._map.transform.center,nR(r,o)}if(n.zoom){let e=nP(n.zoom,i,nS);r.zoom=this._map.transform.zoom+e.amount,nR(r,e)}if(n.bearing){let e=nP(n.bearing,i,nD);r.bearing=this._map.transform.bearing+t.ac(e.amount,-179,179),nR(r,e)}if(n.pitch){let e=nP(n.pitch,i,nI);r.pitch=this._map.transform.pitch+e.amount,nR(r,e)}if(r.zoom||r.bearing){let e=void 0===n.pinchAround?n.around:n.pinchAround;r.around=e?this._map.unproject(e):this._map.getCenter()}return this.clear(),t.e(r,{noMoveStart:!0})}}function nR(e,t){(!e.duration||e.duration<t.duration)&&(e.duration=t.duration,e.easing=t.easing)}function nP(e,n,i){let{maxSpeed:r,linearity:o,deceleration:a}=i,s=t.ac(e*o/(n/1e3),-r,r),l=Math.abs(s)/(a*o);return{easing:i.easing,duration:1e3*l,amount:l/2*s}}class nB extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,i,r={}){let o=m.mousePos(n.getCanvas(),i);super(e,t.e({point:o,lngLat:n.unproject(o),originalEvent:i},r)),this._defaultPrevented=!1,this.target=n}}class nz extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,n,i){let r="touchend"===e?i.changedTouches:i.touches,o=m.touchPos(n.getCanvasContainer(),r),a=o.map(e=>n.unproject(e)),s=o.reduce((e,t,n,i)=>e.add(t.div(i.length)),new t.P(0,0));super(e,{points:o,point:s,lngLats:a,lngLat:n.unproject(s),originalEvent:i}),this._defaultPrevented=!1}}class nY extends t.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,t,n){super(e,{originalEvent:n}),this._defaultPrevented=!1}}class nN{constructor(e,t){this._map=e,this._clickTolerance=t.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new nY(e.type,this._map,e))}mousedown(e,t){return this._mousedownPos=t,this._firePreventable(new nB(e.type,this._map,e))}mouseup(e){this._map.fire(new nB(e.type,this._map,e))}click(e,t){this._mousedownPos&&this._mousedownPos.dist(t)>=this._clickTolerance||this._map.fire(new nB(e.type,this._map,e))}dblclick(e){return this._firePreventable(new nB(e.type,this._map,e))}mouseover(e){this._map.fire(new nB(e.type,this._map,e))}mouseout(e){this._map.fire(new nB(e.type,this._map,e))}touchstart(e){return this._firePreventable(new nz(e.type,this._map,e))}touchmove(e){this._map.fire(new nz(e.type,this._map,e))}touchend(e){this._map.fire(new nz(e.type,this._map,e))}touchcancel(e){this._map.fire(new nz(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class nH{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new nB(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new nB("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new nB(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class nj{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.pointLocation(t.P.convert(e),this._map.terrain)}}class nU{constructor(e,t){this._map=e,this._tr=new nj(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=t.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,t){this.isEnabled()&&e.shiftKey&&0===e.button&&(m.disableDrag(),this._startPos=this._lastPos=t,this._active=!0)}mousemoveWindow(e,t){if(!this._active||this._lastPos.equals(t)||!this._box&&t.dist(this._startPos)<this._clickTolerance)return;let n=this._startPos;this._lastPos=t,this._box||(this._box=m.create("div","maplibregl-boxzoom",this._container),this._container.classList.add("maplibregl-crosshair"),this._fireEvent("boxzoomstart",e));let i=Math.min(n.x,t.x),r=Math.max(n.x,t.x),o=Math.min(n.y,t.y),a=Math.max(n.y,t.y);m.setTransform(this._box,`translate(${i}px,${o}px)`),this._box.style.width=r-i+"px",this._box.style.height=a-o+"px"}mouseupWindow(e,n){if(!this._active||0!==e.button)return;let i=this._startPos;if(this.reset(),m.suppressClick(),i.x!==n.x||i.y!==n.y)return this._map.fire(new t.k("boxzoomend",{originalEvent:e})),{cameraAnimation:e=>e.fitScreenCoordinates(i,n,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&27===e.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(m.remove(this._box),this._box=null),m.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,n){return this._map.fire(new t.k(e,{originalEvent:n}))}}function nV(e,t){if(e.length!==t.length)throw Error(`The number of touches and points are not equal - touches ${e.length}, points ${t.length}`);let n={};for(let i=0;i<e.length;i++)n[e[i].identifier]=t[i];return n}class nq{constructor(e){this.reset(),this.numTouches=e.numTouches}reset(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1}touchstart(e,n,i){(this.centroid||i.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),i.length===this.numTouches&&(this.centroid=function(e){let n=new t.P(0,0);for(let t of e)n._add(t);return n.div(e.length)}(n),this.touches=nV(i,n)))}touchmove(e,t,n){if(this.aborted||!this.centroid)return;let i=nV(n,t);for(let e in this.touches){let t=i[e];(!t||t.dist(this.touches[e])>30)&&(this.aborted=!0)}}touchend(e,t,n){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),0===n.length){let e=!this.aborted&&this.centroid;if(this.reset(),e)return e}}}class nG{constructor(e){this.singleTap=new nq(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,t,n){this.singleTap.touchstart(e,t,n)}touchmove(e,t,n){this.singleTap.touchmove(e,t,n)}touchend(e,t,n){let i=this.singleTap.touchend(e,t,n);if(i){let t=e.timeStamp-this.lastTime<500,n=!this.lastTap||30>this.lastTap.dist(i);if(t&&n||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=i,this.count===this.numTaps)return this.reset(),i}}}class n${constructor(e){this._tr=new nj(e),this._zoomIn=new nG({numTouches:1,numTaps:2}),this._zoomOut=new nG({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,t,n){this._zoomIn.touchstart(e,t,n),this._zoomOut.touchstart(e,t,n)}touchmove(e,t,n){this._zoomIn.touchmove(e,t,n),this._zoomOut.touchmove(e,t,n)}touchend(e,t,n){let i=this._zoomIn.touchend(e,t,n),r=this._zoomOut.touchend(e,t,n),o=this._tr;return i?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:o.zoom+1,around:o.unproject(i)},{originalEvent:e})}):r?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:t=>t.easeTo({duration:300,zoom:o.zoom-1,around:o.unproject(r)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class nW{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){let t=this._moveFunction(...e);if(t.bearingDelta||t.pitchDelta||t.around||t.panDelta)return this._active=!0,t}dragStart(e,t){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=t.length?t[0]:t,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,t){if(!this.isEnabled())return;let n=this._lastPoint;if(!n)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);let i=t.length?t[0]:t;return!this._moved&&i.dist(n)<this._clickTolerance?void 0:(this._moved=!0,this._lastPoint=i,this._move(n,i))}dragEnd(e){this.isEnabled()&&this._lastPoint&&this._moveStateManager.isValidEndEvent(e)&&(this._moved&&m.suppressClick(),this.reset(e))}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}getClickTolerance(){return this._clickTolerance}}let nX={0:1,2:2};class nK{constructor(e){this._correctEvent=e.checkCorrectEvent}startMove(e){let t=m.mouseButton(e);this._eventButton=t}endMove(e){delete this._eventButton}isValidStartEvent(e){return this._correctEvent(e)}isValidMoveEvent(e){return!function(e,t){let n=nX[t];return void 0===e.buttons||(e.buttons&n)!==n}(e,this._eventButton)}isValidEndEvent(e){return m.mouseButton(e)===this._eventButton}}class nZ{constructor(){this._firstTouch=void 0}_isOneFingerTouch(e){return 1===e.targetTouches.length}_isSameTouchEvent(e){return e.targetTouches[0].identifier===this._firstTouch}startMove(e){this._firstTouch=e.targetTouches[0].identifier}endMove(e){delete this._firstTouch}isValidStartEvent(e){return this._isOneFingerTouch(e)}isValidMoveEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}isValidEndEvent(e){return this._isOneFingerTouch(e)&&this._isSameTouchEvent(e)}}let nJ=e=>{e.mousedown=e.dragStart,e.mousemoveWindow=e.dragMove,e.mouseup=e.dragEnd,e.contextmenu=function(e){e.preventDefault()}},nQ=({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:n=.8})=>new nW({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*n}),moveStateManager:new nK({checkCorrectEvent:e=>0===m.mouseButton(e)&&e.ctrlKey||2===m.mouseButton(e)}),enable:e,assignEvents:nJ}),n0=({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5})=>new nW({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new nK({checkCorrectEvent:e=>0===m.mouseButton(e)&&e.ctrlKey||2===m.mouseButton(e)}),enable:e,assignEvents:nJ});class n1{constructor(e,t){this._clickTolerance=e.clickTolerance||1,this._map=t,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new t.P(0,0)}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(e,t,n){return this._calculateTransform(e,t,n)}touchmove(e,t,n){if(this._active&&!(n.length<this.minTouchs()))return e.preventDefault(),this._calculateTransform(e,t,n)}touchend(e,t,n){this._calculateTransform(e,t,n),this._active&&n.length<this.minTouchs()&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,n,i){i.length>0&&(this._active=!0);let r=nV(i,n),o=new t.P(0,0),a=new t.P(0,0),s=0;for(let e in r){let t=r[e],n=this._touches[e];n&&(o._add(t),a._add(t.sub(n)),s++,r[e]=t)}if(this._touches=r,s<this.minTouchs()||!a.mag())return;let l=a.div(s);return this._sum._add(l),this._sum.mag()<this._clickTolerance?void 0:{around:o.div(s),panDelta:l}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class n2{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(e,t,n){this._firstTwoTouches||n.length<2||(this._firstTwoTouches=[n[0].identifier,n[1].identifier],this._start([t[0],t[1]]))}touchmove(e,t,n){if(!this._firstTwoTouches)return;e.preventDefault();let[i,r]=this._firstTwoTouches,o=n5(n,t,i),a=n5(n,t,r);if(!o||!a)return;let s=this._aroundCenter?null:o.add(a).div(2);return this._move([o,a],s,e)}touchend(e,t,n){if(!this._firstTwoTouches)return;let[i,r]=this._firstTwoTouches,o=n5(n,t,i),a=n5(n,t,r);o&&a||(this._active&&m.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(e){this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function n5(e,t,n){for(let i=0;i<e.length;i++)if(e[i].identifier===n)return t[i]}function n3(e,t){return Math.log(e/t)/Math.LN2}class n4 extends n2{reset(){super.reset(),delete this._distance,delete this._startDistance}_start(e){this._startDistance=this._distance=e[0].dist(e[1])}_move(e,t){let n=this._distance;if(this._distance=e[0].dist(e[1]),this._active||!(.1>Math.abs(n3(this._distance,this._startDistance))))return this._active=!0,{zoomDelta:n3(this._distance,n),pinchAround:t}}}function n6(e,t){return 180*e.angleWith(t)/Math.PI}class n8 extends n2{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(e){this._startVector=this._vector=e[0].sub(e[1]),this._minDiameter=e[0].dist(e[1])}_move(e,t,n){let i=this._vector;if(this._vector=e[0].sub(e[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:n6(this._vector,i),pinchAround:t}}_isBelowThreshold(e){this._minDiameter=Math.min(this._minDiameter,e.mag());let t=25/(Math.PI*this._minDiameter)*360;return Math.abs(n6(e,this._startVector))<t}}function n7(e){return Math.abs(e.y)>Math.abs(e.x)}class n9 extends n2{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,t,n){super.touchstart(e,t,n),this._currentTouchCount=n.length}_start(e){this._lastPoints=e,n7(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,t,n){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let i=e[0].sub(this._lastPoints[0]),r=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(i,r,n.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:-((i.y+r.y)/2*.5)}):void 0}gestureBeginsVertically(e,t,n){if(void 0!==this._valid)return this._valid;let i=e.mag()>=2,r=t.mag()>=2;if(!i&&!r)return;if(!i||!r)return void 0===this._firstMove&&(this._firstMove=n),n-this._firstMove<100&&void 0;let o=e.y>0==t.y>0;return n7(e)&&n7(t)&&o}}let ie=100,it=15,ii=10;class ir{constructor(e){this._tr=new nj(e),this._panStep=ie,this._bearingStep=it,this._pitchStep=ii,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let t=0,n=0,i=0,r=0,o=0;switch(e.keyCode){case 61:case 107:case 171:case 187:t=1;break;case 189:case 109:case 173:t=-1;break;case 37:e.shiftKey?n=-1:(e.preventDefault(),r=-1);break;case 39:e.shiftKey?n=1:(e.preventDefault(),r=1);break;case 38:e.shiftKey?i=1:(e.preventDefault(),o=-1);break;case 40:e.shiftKey?i=-1:(e.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:a=>{let s=this._tr;a.easeTo({duration:300,easeId:"keyboardHandler",easing:io,zoom:t?Math.round(s.zoom)+t*(e.shiftKey?2:1):s.zoom,bearing:s.bearing+n*this._bearingStep,pitch:s.pitch+i*this._pitchStep,offset:[-r*this._panStep,-o*this._panStep],center:s.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function io(e){return e*(2-e)}class ia{constructor(e,t){this._onTimeout=e=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(e)},this._map=e,this._tr=new nj(e),this._triggerRenderFrame=t,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&"center"===e.around)}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(e){if(!this.isEnabled()||this._map.cooperativeGestures.isEnabled()&&!e[this._map.cooperativeGestures._bypassKey])return;let t=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=u.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==t&&t%4.000244140625==0?this._type="wheel":0!==t&&4>Math.abs(t)?this._type="trackpad":i>400?(this._type=null,this._lastValue=t,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=200>Math.abs(i*t)?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,t+=this._lastValue)),e.shiftKey&&t&&(t/=4),this._type&&(this._lastWheelEvent=e,this._delta-=t,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let n=m.mousePos(this._map.getCanvas(),e),i=this._tr;this._around=n.y>i.transform.height/2-i.transform.getHorizon()?t.M.convert(this._aroundCenter?i.center:i.unproject(n)):t.M.convert(i.center),this._aroundPoint=i.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let e=this._tr.transform;if(0!==this._delta){let t="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,n=2/(1+Math.exp(-Math.abs(this._delta*t)));this._delta<0&&0!==n&&(n=1/n);let i="number"==typeof this._targetZoom?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(i*n))),"wheel"===this._type&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let n="number"==typeof this._targetZoom?this._targetZoom:e.zoom,i=this._startZoom,r=this._easing,o,a=!1;if("wheel"===this._type&&i&&r){let e=Math.min((u.now()-this._lastWheelEventTime)/200,1),s=r(e);o=t.z.number(i,n,s),e<1?this._frameId||(this._frameId=!0):a=!0}else o=n,a=!0;return this._active=!0,a&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!a,zoomDelta:o-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let n=t.b7;if(this._prevEase){let e=this._prevEase,i=(u.now()-e.start)/e.duration,r=e.easing(i+.01)-e.easing(i),o=.27/Math.sqrt(r*r+1e-4)*.01,a=Math.sqrt(.0729-o*o);n=t.b6(o,a,.25,1)}return this._prevEase={start:u.now(),duration:e,easing:n},n}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class is{constructor(e,t){this._clickZoom=e,this._tapZoom=t}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class il{constructor(e){this._tr=new nj(e),this.reset()}reset(){this._active=!1}dblclick(e,t){return e.preventDefault(),{cameraAnimation:n=>{n.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(t)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ic{constructor(){this._tap=new nG({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,t,n){if(!this._swipePoint)if(this._tapTime){let i=t[0],r=e.timeStamp-this._tapTime<500,o=30>this._tapPoint.dist(i);r&&o?n.length>0&&(this._swipePoint=i,this._swipeTouch=n[0].identifier):this.reset()}else this._tap.touchstart(e,t,n)}touchmove(e,t,n){if(this._tapTime){if(this._swipePoint){if(n[0].identifier!==this._swipeTouch)return;let i=t[0],r=i.y-this._swipePoint.y;return this._swipePoint=i,e.preventDefault(),this._active=!0,{zoomDelta:r/128}}}else this._tap.touchmove(e,t,n)}touchend(e,t,n){if(this._tapTime)this._swipePoint&&0===n.length&&this.reset();else{let i=this._tap.touchend(e,t,n);i&&(this._tapTime=e.timeStamp,this._tapPoint=i)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class id{constructor(e,t,n){this._el=e,this._mousePan=t,this._touchPan=n}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class iu{constructor(e,t,n){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=t,this._mousePitch=n}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class im{constructor(e,t,n,i){this._el=e,this._touchZoom=t,this._touchRotate=n,this._tapDragZoom=i,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class ih{constructor(e,t){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=e,this._options=t,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=m.create("div","maplibregl-cooperative-gesture-screen",e);let t=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(t=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let n=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),i=document.createElement("div");i.className="maplibregl-desktop-message",i.textContent=t,this._container.appendChild(i);let r=document.createElement("div");r.className="maplibregl-mobile-message",r.textContent=n,this._container.appendChild(r),this._container.setAttribute("aria-hidden","true")}_destoryUI(){this._container&&(m.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destoryUI()}isEnabled(){return this._enabled}touchmove(e){this._onCooperativeGesture(1===e.touches.length)}wheel(e){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!e[this._bypassKey])}_onCooperativeGesture(e){this._enabled&&e&&(this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let ip=e=>e.zoom||e.drag||e.pitch||e.rotate;class ib extends t.k{}function ig(e){return e.panDelta&&e.panDelta.mag()||e.zoomDelta||e.bearingDelta||e.pitchDelta}class i_{constructor(e,t){this.handleWindowEvent=e=>{this.handleEvent(e,`${e.type}Window`)},this.handleEvent=(e,t)=>{if("blur"===e.type)return void this.stop(!0);this._updatingCamera=!0;let n="renderFrame"===e.type?void 0:e,i={needsRenderFrame:!1},r={},o={},a=e.touches,s=a?this._getMapTouches(a):void 0,l=s?m.touchPos(this._map.getCanvas(),s):m.mousePos(this._map.getCanvas(),e);for(let{handlerName:a,handler:c,allowed:d}of this._handlers){let u;c.isEnabled()&&(this._blockedByActive(o,d,a)?c.reset():c[t||e.type]&&(u=c[t||e.type](e,l,s),this.mergeHandlerResult(i,r,u,a,n),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||c.isActive())&&(o[a]=c))}let c={};for(let e in this._previousActiveHandlers)o[e]||(c[e]=n);this._previousActiveHandlers=o,(Object.keys(c).length||ig(i))&&(this._changes.push([i,r,c]),this._triggerRenderFrame()),(Object.keys(o).length||ig(i))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:d}=i;d&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],d(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new nO(e),this._bearingSnap=t.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(t);let n=this._el;for(let[e,t,i]of(this._listeners=[[n,"touchstart",{passive:!0}],[n,"touchmove",{passive:!1}],[n,"touchend",void 0],[n,"touchcancel",void 0],[n,"mousedown",void 0],[n,"mousemove",void 0],[n,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[n,"mouseover",void 0],[n,"mouseout",void 0],[n,"dblclick",void 0],[n,"click",void 0],[n,"keydown",{capture:!1}],[n,"keyup",void 0],[n,"wheel",{passive:!1}],[n,"contextmenu",void 0],[window,"blur",void 0]],this._listeners))m.addEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,i)}destroy(){for(let[e,t,n]of this._listeners)m.removeEventListener(e,t,e===document?this.handleWindowEvent:this.handleEvent,n)}_addDefaultHandlers(e){let t=this._map,n=t.getCanvasContainer();this._add("mapEvent",new nN(t,e));let i=t.boxZoom=new nU(t,e);this._add("boxZoom",i),e.interactive&&e.boxZoom&&i.enable();let r=t.cooperativeGestures=new ih(t,e.cooperativeGestures);this._add("cooperativeGestures",r),e.cooperativeGestures&&r.enable();let o=new n$(t),a=new il(t);t.doubleClickZoom=new is(a,o),this._add("tapZoom",o),this._add("clickZoom",a),e.interactive&&e.doubleClickZoom&&t.doubleClickZoom.enable();let s=new ic;this._add("tapDragZoom",s);let l=t.touchPitch=new n9(t);this._add("touchPitch",l),e.interactive&&e.touchPitch&&t.touchPitch.enable(e.touchPitch);let c=nQ(e),d=n0(e);t.dragRotate=new iu(e,c,d),this._add("mouseRotate",c,["mousePitch"]),this._add("mousePitch",d,["mouseRotate"]),e.interactive&&e.dragRotate&&t.dragRotate.enable();let u=(({enable:e,clickTolerance:t})=>new nW({clickTolerance:t,move:(e,t)=>({around:t,panDelta:t.sub(e)}),activateOnStart:!0,moveStateManager:new nK({checkCorrectEvent:e=>0===m.mouseButton(e)&&!e.ctrlKey}),enable:e,assignEvents:nJ}))(e),h=new n1(e,t);t.dragPan=new id(n,u,h),this._add("mousePan",u),this._add("touchPan",h,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&t.dragPan.enable(e.dragPan);let f=new n8,p=new n4;t.touchZoomRotate=new im(n,p,f,s),this._add("touchRotate",f,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&t.touchZoomRotate.enable(e.touchZoomRotate);let b=t.scrollZoom=new ia(t,()=>this._triggerRenderFrame());this._add("scrollZoom",b,["mousePan"]),e.interactive&&e.scrollZoom&&t.scrollZoom.enable(e.scrollZoom);let g=t.keyboard=new ir(t);this._add("keyboard",g),e.interactive&&e.keyboard&&t.keyboard.enable(),this._add("blockableMapEvent",new nH(t))}_add(e,t,n){this._handlers.push({handlerName:e,handler:t,allowed:n}),this._handlersById[e]=t}stop(e){if(!this._updatingCamera){for(let{handler:e}of this._handlers)e.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(let{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!ip(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,t,n){for(let i in e)if(i!==n&&(!t||0>t.indexOf(i)))return!0;return!1}_getMapTouches(e){let t=[];for(let n of e)this._el.contains(n.target)&&t.push(n);return t}mergeHandlerResult(e,n,i,r,o){if(!i)return;t.e(e,i);let a={handlerName:r,originalEvent:i.originalEvent||o};void 0!==i.zoomDelta&&(n.zoom=a),void 0!==i.panDelta&&(n.drag=a),void 0!==i.pitchDelta&&(n.pitch=a),void 0!==i.bearingDelta&&(n.rotate=a)}_applyChanges(){let e={},n={},i={};for(let[r,o,a]of this._changes)r.panDelta&&(e.panDelta=(e.panDelta||new t.P(0,0))._add(r.panDelta)),r.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+r.zoomDelta),r.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+r.bearingDelta),r.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+r.pitchDelta),void 0!==r.around&&(e.around=r.around),void 0!==r.pinchAround&&(e.pinchAround=r.pinchAround),r.noInertia&&(e.noInertia=r.noInertia),t.e(n,o),t.e(i,a);this._updateMapTransform(e,n,i),this._changes=[]}_updateMapTransform(e,t,n){let i=this._map,r=i._getTransformForUpdate(),o=i.terrain;if(!(ig(e)||o&&this._terrainMovement))return this._fireEvents(t,n,!0);let{panDelta:a,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:d,pinchAround:u}=e;void 0!==u&&(d=u),i._stop(!0),d=d||i.transform.centerPoint;let m=r.pointLocation(a?d.sub(a):d);l&&(r.bearing+=l),c&&(r.pitch+=c),s&&(r.zoom+=s),o?!this._terrainMovement&&(t.drag||t.zoom)?(this._terrainMovement=!0,this._map._elevationFreeze=!0,r.setLocationAtPoint(m,d),this._map.once("moveend",()=>{this._map._elevationFreeze=!1,this._terrainMovement=!1,r.recalculateZoom(i.terrain)})):t.drag&&this._terrainMovement?r.center=r.pointLocation(r.centerPoint.sub(a)):r.setLocationAtPoint(m,d):r.setLocationAtPoint(m,d),i._applyUpdatedTransform(r),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(t,n,!0)}_fireEvents(e,n,i){let r,o=ip(this._eventsInProgress),a=ip(e),s={};for(let t in e){let{originalEvent:n}=e[t];this._eventsInProgress[t]||(s[`${t}start`]=n),this._eventsInProgress[t]=e[t]}for(let e in!o&&a&&this._fireEvent("movestart",a.originalEvent),s)this._fireEvent(e,s[e]);for(let t in a&&this._fireEvent("move",a.originalEvent),e){let{originalEvent:n}=e[t];this._fireEvent(t,n)}let l={};for(let e in this._eventsInProgress){let{handlerName:t,originalEvent:i}=this._eventsInProgress[e];this._handlersById[t].isActive()||(delete this._eventsInProgress[e],r=n[t]||i,l[`${e}end`]=r)}for(let e in l)this._fireEvent(e,l[e]);let c=ip(this._eventsInProgress);if(i&&(o||a)&&!c){this._updatingCamera=!0;let e=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),n=e=>0!==e&&-this._bearingSnap<e&&e<this._bearingSnap;e&&(e.essential||!u.prefersReducedMotion)?(n(e.bearing||this._map.getBearing())&&(e.bearing=0),e.freezeElevation=!0,this._map.easeTo(e,{originalEvent:r})):(this._map.fire(new t.k("moveend",{originalEvent:r})),n(this._map.getBearing())&&this._map.resetNorth()),this._updatingCamera=!1}}_fireEvent(e,n){this._map.fire(new t.k(e,n?{originalEvent:n}:{}))}_requestFrame(){return this._map.triggerRepaint(),this._map._renderTaskQueue.add(e=>{delete this._frameId,this.handleEvent(new ib("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class iy extends t.E{constructor(e,t){super(),this._renderFrameCallback=()=>{let e=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=t.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new t.M(this.transform.center.lng,this.transform.center.lat)}setCenter(e,t){return this.jumpTo({center:e},t)}panBy(e,n,i){return e=t.P.convert(e).mult(-1),this.panTo(this.transform.center,t.e({offset:e},n),i)}panTo(e,n,i){return this.easeTo(t.e({center:e},n),i)}getZoom(){return this.transform.zoom}setZoom(e,t){return this.jumpTo({zoom:e},t),this}zoomTo(e,n,i){return this.easeTo(t.e({zoom:e},n),i)}zoomIn(e,t){return this.zoomTo(this.getZoom()+1,e,t),this}zoomOut(e,t){return this.zoomTo(this.getZoom()-1,e,t),this}getBearing(){return this.transform.bearing}setBearing(e,t){return this.jumpTo({bearing:e},t),this}getPadding(){return this.transform.padding}setPadding(e,t){return this.jumpTo({padding:e},t),this}rotateTo(e,n,i){return this.easeTo(t.e({bearing:e},n),i)}resetNorth(e,n){return this.rotateTo(0,t.e({duration:1e3},e),n),this}resetNorthPitch(e,n){return this.easeTo(t.e({bearing:0,pitch:0,duration:1e3},e),n),this}snapToNorth(e,t){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(e,t):this}getPitch(){return this.transform.pitch}setPitch(e,t){return this.jumpTo({pitch:e},t),this}cameraForBounds(e,t){e=G.convert(e);let n=t&&t.bearing||0;return this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),n,t)}_cameraForBoxAndBearing(e,n,i,r){let o={top:0,bottom:0,right:0,left:0};if("number"==typeof(r=t.e({padding:o,offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){let e=r.padding;r.padding={top:e,bottom:e,right:e,left:e}}r.padding=t.e(o,r.padding);let a=this.transform,s=a.padding,l=new G(e,n),c=a.project(l.getNorthWest()),d=a.project(l.getNorthEast()),u=a.project(l.getSouthEast()),m=a.project(l.getSouthWest()),h=t.b8(-i),f=c.rotate(h),p=d.rotate(h),b=u.rotate(h),g=m.rotate(h),_=new t.P(Math.max(f.x,p.x,g.x,b.x),Math.max(f.y,p.y,g.y,b.y)),y=new t.P(Math.min(f.x,p.x,g.x,b.x),Math.min(f.y,p.y,g.y,b.y)),v=_.sub(y),x=(a.width-(s.left+s.right+r.padding.left+r.padding.right))/v.x,w=(a.height-(s.top+s.bottom+r.padding.top+r.padding.bottom))/v.y;if(w<0||x<0)return void t.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.");let F=Math.min(a.scaleZoom(a.scale*Math.min(x,w)),r.maxZoom),k=t.P.convert(r.offset),E=new t.P((r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2).rotate(t.b8(i)),A=k.add(E).mult(a.scale/a.zoomScale(F));return{center:a.unproject(c.add(u).div(2).sub(A)),zoom:F,bearing:i}}fitBounds(e,t,n){return this._fitInternal(this.cameraForBounds(e,t),t,n)}fitScreenCoordinates(e,n,i,r,o){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.P.convert(e)),this.transform.pointLocation(t.P.convert(n)),i,r),r,o)}_fitInternal(e,n,i){return e?(delete(n=t.e(e,n)).padding,n.linear?this.easeTo(n,i):this.flyTo(n,i)):this}jumpTo(e,n){this.stop();let i=this._getTransformForUpdate(),r=!1,o=!1,a=!1;return"zoom"in e&&i.zoom!==+e.zoom&&(r=!0,i.zoom=+e.zoom),void 0!==e.center&&(i.center=t.M.convert(e.center)),"bearing"in e&&i.bearing!==+e.bearing&&(o=!0,i.bearing=+e.bearing),"pitch"in e&&i.pitch!==+e.pitch&&(a=!0,i.pitch=+e.pitch),null==e.padding||i.isPaddingEqual(e.padding)||(i.padding=e.padding),this._applyUpdatedTransform(i),this.fire(new t.k("movestart",n)).fire(new t.k("move",n)),r&&this.fire(new t.k("zoomstart",n)).fire(new t.k("zoom",n)).fire(new t.k("zoomend",n)),o&&this.fire(new t.k("rotatestart",n)).fire(new t.k("rotate",n)).fire(new t.k("rotateend",n)),a&&this.fire(new t.k("pitchstart",n)).fire(new t.k("pitch",n)).fire(new t.k("pitchend",n)),this.fire(new t.k("moveend",n))}calculateCameraOptionsFromTo(e,n,i,r=0){let o=t.Y.fromLngLat(e,n),a=t.Y.fromLngLat(i,r),s=a.x-o.x,l=a.y-o.y,c=a.z-o.z,d=Math.hypot(s,l,c);if(0===d)throw Error("Can't calculate camera options with same From and To");let u=Math.hypot(s,l),m=this.transform.scaleZoom(this.transform.cameraToCenterDistance/d/this.transform.tileSize),h=180*Math.atan2(s,-l)/Math.PI,f=180*Math.acos(u/d)/Math.PI;return f=c<0?90-f:90+f,{center:a.toLngLat(),zoom:m,pitch:f,bearing:h}}easeTo(e,n){var i;let r,o;this._stop(!1,e.easeId),(!1===(e=t.e({offset:[0,0],duration:500,easing:t.b7},e)).animate||!e.essential&&u.prefersReducedMotion)&&(e.duration=0);let a=this._getTransformForUpdate(),s=this.getZoom(),l=this.getBearing(),c=this.getPitch(),d=this.getPadding(),m="bearing"in e?this._normalizeBearing(e.bearing,l):l,h="pitch"in e?+e.pitch:c,f="padding"in e?e.padding:a.padding,p=t.P.convert(e.offset),b=a.centerPoint.add(p),g=a.pointLocation(b),{center:_,zoom:y}=a.getConstrained(t.M.convert(e.center||g),null!=(i=e.zoom)?i:s);this._normalizeCenter(_);let v=a.project(g),x=a.project(_).sub(v),w=a.zoomScale(y-s);e.around&&(r=t.M.convert(e.around),o=a.locationPoint(r));let F={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||y!==s,this._rotating=this._rotating||l!==m,this._pitching=this._pitching||h!==c,this._padding=!a.isPaddingEqual(f),this._easeId=e.easeId,this._prepareEase(n,e.noMoveStart,F),this.terrain&&this._prepareElevation(_),this._ease(i=>{if(this._zooming&&(a.zoom=t.z.number(s,y,i)),this._rotating&&(a.bearing=t.z.number(l,m,i)),this._pitching&&(a.pitch=t.z.number(c,h,i)),this._padding&&(a.interpolatePadding(d,f,i),b=a.centerPoint.add(p)),this.terrain&&!e.freezeElevation&&this._updateElevation(i),r)a.setLocationAtPoint(r,o);else{let e=a.zoomScale(a.zoom-s),t=Math.pow(y>s?Math.min(2,w):Math.max(.5,w),1-i),n=a.unproject(v.add(x.mult(i*t)).mult(e));a.setLocationAtPoint(a.renderWorldCopies?n.wrap():n,b)}this._applyUpdatedTransform(a),this._fireMoveEvents(n)},e=>{this.terrain&&this._finalizeElevation(),this._afterEase(n,e)},e),this}_prepareEase(e,n,i={}){this._moving=!0,n||i.moving||this.fire(new t.k("movestart",e)),this._zooming&&!i.zooming&&this.fire(new t.k("zoomstart",e)),this._rotating&&!i.rotating&&this.fire(new t.k("rotatestart",e)),this._pitching&&!i.pitching&&this.fire(new t.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let n=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&n!==this._elevationTarget){let t=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(t-(n-(t*e+this._elevationStart))/(1-e)),this._elevationTarget=n}this.transform.elevation=t.z.number(this._elevationStart,this._elevationTarget,e)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(e){if(!this.transformCameraUpdate)return;let t=e.clone(),{center:n,zoom:i,pitch:r,bearing:o,elevation:a}=this.transformCameraUpdate(t);n&&(t.center=n),void 0!==i&&(t.zoom=i),void 0!==r&&(t.pitch=r),void 0!==o&&(t.bearing=o),void 0!==a&&(t.elevation=a),this.transform.apply(t)}_fireMoveEvents(e){this.fire(new t.k("move",e)),this._zooming&&this.fire(new t.k("zoom",e)),this._rotating&&this.fire(new t.k("rotate",e)),this._pitching&&this.fire(new t.k("pitch",e))}_afterEase(e,n){if(this._easeId&&n&&this._easeId===n)return;delete this._easeId;let i=this._zooming,r=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,i&&this.fire(new t.k("zoomend",e)),r&&this.fire(new t.k("rotateend",e)),o&&this.fire(new t.k("pitchend",e)),this.fire(new t.k("moveend",e))}flyTo(e,n){var i;if(!e.essential&&u.prefersReducedMotion){let i=t.L(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,n)}this.stop(),e=t.e({offset:[0,0],speed:1.2,curve:1.42,easing:t.b7},e);let r=this._getTransformForUpdate(),o=this.getZoom(),a=this.getBearing(),s=this.getPitch(),l=this.getPadding(),c="bearing"in e?this._normalizeBearing(e.bearing,a):a,d="pitch"in e?+e.pitch:s,m="padding"in e?e.padding:r.padding,h=t.P.convert(e.offset),f=r.centerPoint.add(h),p=r.pointLocation(f),{center:b,zoom:g}=r.getConstrained(t.M.convert(e.center||p),null!=(i=e.zoom)?i:o);this._normalizeCenter(b);let _=r.zoomScale(g-o),y=r.project(p),v=r.project(b).sub(y),x=e.curve,w=Math.max(r.width,r.height),F=w/_,k=v.mag();if("minZoom"in e){let n=t.ac(Math.min(e.minZoom,o,g),r.minZoom,r.maxZoom);x=Math.sqrt(w/r.zoomScale(n-o)/k*2)}let E=x*x;function A(e){let t=(F*F-w*w+(e?-1:1)*E*E*k*k)/(2*(e?F:w)*E*k);return Math.log(Math.sqrt(t*t+1)-t)}function T(e){return(Math.exp(e)-Math.exp(-e))/2}function C(e){return(Math.exp(e)+Math.exp(-e))/2}let M=A(!1),S=function(e){return C(M)/C(M+x*e)},D=function(e){var t;return w*((C(M)*(T(t=M+x*e)/C(t))-T(M))/E)/k},I=(A(!0)-M)/x;if(1e-6>Math.abs(k)||!isFinite(I)){if(1e-6>Math.abs(w-F))return this.easeTo(e,n);let t=F<w?-1:1;I=Math.abs(Math.log(F/w))/x,D=function(){return 0},S=function(e){return Math.exp(t*x*e)}}return e.duration="duration"in e?+e.duration:1e3*I/("screenSpeed"in e?e.screenSpeed/x:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=a!==c,this._pitching=d!==s,this._padding=!r.isPaddingEqual(m),this._prepareEase(n,!1),this.terrain&&this._prepareElevation(b),this._ease(i=>{let u=i*I,p=1/S(u);r.zoom=1===i?g:o+r.scaleZoom(p),this._rotating&&(r.bearing=t.z.number(a,c,i)),this._pitching&&(r.pitch=t.z.number(s,d,i)),this._padding&&(r.interpolatePadding(l,m,i),f=r.centerPoint.add(h)),this.terrain&&!e.freezeElevation&&this._updateElevation(i);let _=1===i?b:r.unproject(y.add(v.mult(D(u))).mult(p));r.setLocationAtPoint(r.renderWorldCopies?_.wrap():_,f),this._applyUpdatedTransform(r),this._fireMoveEvents(n)},()=>{this.terrain&&this._finalizeElevation(),this._afterEase(n)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,t){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let e=this._onEaseEnd;delete this._onEaseEnd,e.call(this,t)}if(!e){let e=this.handlers;e&&e.stop(!1)}return this}_ease(e,t,n){!1===n.animate||0===n.duration?(e(1),t()):(this._easeStart=u.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=t,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,n){let i=Math.abs((e=t.b1(e,-180,180))-n);return Math.abs(e-360-n)<i&&(e-=360),Math.abs(e+360-n)<i&&(e+=360),e}_normalizeCenter(e){let t=this.transform;if(!t.renderWorldCopies||t.lngRange)return;let n=e.lng-t.center.lng;e.lng+=n>180?-360:360*(n<-180)}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(t.M.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}let iv={compact:!0,customAttribution:'<a href="https://maplibre.org/" target="_blank">MapLibre</a>'};class ix{constructor(e=iv){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=e=>{e&&("metadata"===e.sourceDataType||"visibility"===e.sourceDataType||"style"===e.dataType||"terrain"===e.type)&&this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=m.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=m.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=m.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){m.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,t){let n=this._map._getUIString(`AttributionControl.${t}`);e.title=n,e.setAttribute("aria-label",n)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(e=>"string"!=typeof e?"":e)):"string"==typeof this.options.customAttribution&&e.push(this.options.customAttribution)),this._map.style.stylesheet){let e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}let t=this._map.style.sourceCaches;for(let n in t){let i=t[n];if(i.used||i.usedForTerrain){let t=i.getSource();t.attribution&&0>e.indexOf(t.attribution)&&e.push(t.attribution)}}(e=e.filter(e=>String(e).trim())).sort((e,t)=>e.length-t.length);let n=(e=e.filter((t,n)=>{for(let i=n+1;i<e.length;i++)if(e[i].indexOf(t)>=0)return!1;return!0})).join(" | ");n!==this._attribHTML&&(this._attribHTML=n,e.length?(this._innerContainer.innerHTML=n,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class iw{constructor(e={}){this._updateCompact=()=>{let e=this._container.children;if(e.length){let t=e[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&t.classList.add("maplibregl-compact"):t.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=m.create("div","maplibregl-ctrl");let t=m.create("a","maplibregl-ctrl-logo");return t.target="_blank",t.rel="noopener nofollow",t.href="https://maplibre.org/",t.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),t.setAttribute("rel","noopener nofollow"),this._container.appendChild(t),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){m.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class iF{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){let t=++this._id;return this._queue.push({callback:e,id:t,cancelled:!1}),t}remove(e){let t=this._currentlyRunning;for(let n of t?this._queue.concat(t):this._queue)if(n.id===e)return void(n.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw Error("Attempting to run(), but is already running.");let t=this._currentlyRunning=this._queue;for(let n of(this._queue=[],t))if(!n.cancelled&&(n.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var ik=t.X([{name:"a_pos3d",type:"Int16",components:3}]);class iE extends t.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,n){this.sourceCache.update(e,n),this._renderableTilesKeys=[];let i={};for(let r of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:n}))i[r.key]=!0,this._renderableTilesKeys.push(r.key),this._tiles[r.key]||(r.posMatrix=new Float64Array(16),t.aN(r.posMatrix,0,t.W,0,t.W,0,1),this._tiles[r.key]=new el(r,this.tileSize));for(let e in this._tiles)i[e]||delete this._tiles[e]}freeRtt(e){for(let t in this._tiles){let n=this._tiles[t];(!e||n.tileID.equals(e)||n.tileID.isChildOf(e)||e.isChildOf(n.tileID))&&(n.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){let n={};for(let i of this._renderableTilesKeys){let r=this._tiles[i].tileID;if(r.canonical.equals(e.canonical)){let r=e.clone();r.posMatrix=new Float64Array(16),t.aN(r.posMatrix,0,t.W,0,t.W,0,1),n[i]=r}else if(r.canonical.isChildOf(e.canonical)){let o=e.clone();o.posMatrix=new Float64Array(16);let a=r.canonical.z-e.canonical.z,s=r.canonical.x-(r.canonical.x>>a<<a),l=r.canonical.y-(r.canonical.y>>a<<a),c=t.W>>a;t.aN(o.posMatrix,0,c,0,c,0,1),t.H(o.posMatrix,o.posMatrix,[-s*c,-l*c,0]),n[i]=o}else if(e.canonical.isChildOf(r.canonical)){let o=e.clone();o.posMatrix=new Float64Array(16);let a=e.canonical.z-r.canonical.z,s=e.canonical.x-(e.canonical.x>>a<<a),l=e.canonical.y-(e.canonical.y>>a<<a),c=t.W>>a;t.aN(o.posMatrix,0,t.W,0,t.W,0,1),t.H(o.posMatrix,o.posMatrix,[s*c,l*c,0]),t.J(o.posMatrix,o.posMatrix,[1/2**a,1/2**a,0]),n[i]=o}}return n}getSourceTile(e,t){let n=this.sourceCache._source,i=e.overscaledZ-this.deltaZoom;if(i>n.maxzoom&&(i=n.maxzoom),i<n.minzoom)return null;this._sourceTileCache[e.key]||(this._sourceTileCache[e.key]=e.scaledTo(i).key);let r=this.sourceCache.getTileByID(this._sourceTileCache[e.key]);if((!r||!r.dem)&&t)for(;i>=n.minzoom&&(!r||!r.dem);)r=this.sourceCache.getTileByID(e.scaledTo(i--).key);return r}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter(t=>t.timeAdded>=e)}}class iA{constructor(e,t,n){this.painter=e,this.sourceCache=new iE(t),this.options=n,this.exaggeration="number"==typeof n.exaggeration?n.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,n,i,r=t.W){var o,a,s,l,c,d;if(!(n>=0&&n<r&&i>=0&&i<r))return 0;let u=this.getTerrainData(e),m=null==(o=u.tile)?void 0:o.dem;if(!m)return 0;let h=(a=[],s=[n/r*t.W,i/r*t.W],l=u.u_terrain_matrix,c=s[0],d=s[1],a[0]=l[0]*c+l[4]*d+l[12],a[1]=l[1]*c+l[5]*d+l[13],a),f=[h[0]*m.dim,h[1]*m.dim],p=Math.floor(f[0]),b=Math.floor(f[1]),g=f[0]-p,_=f[1]-b;return m.get(p,b)*(1-g)*(1-_)+m.get(p+1,b)*g*(1-_)+m.get(p,b+1)*(1-g)*_+m.get(p+1,b+1)*g*_}getElevationForLngLatZoom(e,n){let{tileID:i,mercatorX:r,mercatorY:o}=this._getOverscaledTileIDFromLngLatZoom(e,n);return this.getElevation(i,r%t.W,o%t.W,t.W)}getElevation(e,n,i,r=t.W){return this.getDEMElevation(e,n,i,r)*this.exaggeration}getTerrainData(e){if(!this._emptyDemTexture){let e=this.painter.context,n=new t.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new M(e,n,e.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new M(e,new t.R({width:1,height:1}),e.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=t.an([])}let n=this.sourceCache.getSourceTile(e,!0);if(n&&n.dem&&(!n.demTexture||n.needsTerrainPrepare)){let e=this.painter.context;n.demTexture=this.painter.getTileTexture(n.dem.stride),n.demTexture?n.demTexture.update(n.dem.getPixels(),{premultiply:!1}):n.demTexture=new M(e,n.dem.getPixels(),e.gl.RGBA,{premultiply:!1}),n.demTexture.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),n.needsTerrainPrepare=!1}let i=n&&n+n.tileID.key+e.key;if(i&&!this._demMatrixCache[i]){let i=this.sourceCache.sourceCache._source.maxzoom,r=e.canonical.z-n.tileID.canonical.z;e.overscaledZ>e.canonical.z&&(e.canonical.z>=i?r=e.canonical.z-i:t.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let o=e.canonical.x-(e.canonical.x>>r<<r),a=e.canonical.y-(e.canonical.y>>r<<r),s=t.b9(new Float64Array(16),[1/(t.W<<r),1/(t.W<<r),0]);t.H(s,s,[o*t.W,a*t.W,0]),this._demMatrixCache[e.key]={matrix:s,coord:e}}return{u_depth:2,u_terrain:3,u_terrain_dim:n&&n.dem&&n.dem.dim||1,u_terrain_matrix:i?this._demMatrixCache[e.key].matrix:this._emptyDemMatrix,u_terrain_unpack:n&&n.dem&&n.dem.getUnpackVector()||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:(n&&n.demTexture||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:n}}getFramebuffer(e){let t=this.painter,n=t.width/devicePixelRatio,i=t.height/devicePixelRatio;return this._fbo&&(this._fbo.width!==n||this._fbo.height!==i)&&(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new M(t.context,{width:n,height:i,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new M(t.context,{width:n,height:i,data:null},t.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(t.context.gl.NEAREST,t.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=t.context.createFramebuffer(n,i,!0,!1),this._fbo.depthAttachment.set(t.context.createRenderbuffer(t.context.gl.DEPTH_COMPONENT16,n,i))),this._fbo.colorAttachment.set("coords"===e?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let e=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let n=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let e=0,t=0;e<this._coordsTextureSize;e++)for(let i=0;i<this._coordsTextureSize;i++,t+=4)n[t+0]=255&i,n[t+1]=255&e,n[t+2]=i>>8<<4|e>>8,n[t+3]=0;let i=new M(e,new t.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(n.buffer)),e.gl.RGBA,{premultiply:!1});return i.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);let n=new Uint8Array(4),i=this.painter.context,r=i.gl;i.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),r.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,r.RGBA,r.UNSIGNED_BYTE,n),i.bindFramebuffer.set(null);let o=n[0]+(n[2]>>4<<8),a=n[1]+((15&n[2])<<8),s=this.coordsIndex[255-n[3]],l=s&&this.sourceCache.getTileByID(s);if(!l)return null;let c=this._coordsTextureSize,d=(1<<l.tileID.canonical.z)*c;return new t.Y((l.tileID.canonical.x*c+o)/d+l.tileID.wrap,(l.tileID.canonical.y*c+a)/d,this.getElevation(l.tileID,o,a,c))}depthAtPoint(e){let t=new Uint8Array(4),n=this.painter.context,i=n.gl;return n.bindFramebuffer.set(this.getFramebuffer("depth").framebuffer),i.readPixels(e.x,this.painter.height/devicePixelRatio-e.y-1,1,1,i.RGBA,i.UNSIGNED_BYTE,t),n.bindFramebuffer.set(null),(t[0]/0x1000000+t[1]/65536+t[2]/256+t[3])/256}getTerrainMesh(){if(this._mesh)return this._mesh;let e=this.painter.context,n=new t.ba,i=new t.aX,r=this.meshSize,o=t.W/r,a=r*r;for(let e=0;e<=r;e++)for(let t=0;t<=r;t++)n.emplaceBack(t*o,e*o,0);for(let e=0;e<a;e+=r+1)for(let t=0;t<r;t++)i.emplaceBack(t+e,r+t+e+1,r+t+e+2),i.emplaceBack(t+e,r+t+e+2,t+e+1);let s=n.length,l=s+2*(r+1);for(let e of[0,1])for(let i=0;i<=r;i++)for(let r of[0,1])n.emplaceBack(i*o,e*t.W,r);for(let e=0;e<2*r;e+=2)i.emplaceBack(l+e,l+e+1,l+e+3),i.emplaceBack(l+e,l+e+3,l+e+2),i.emplaceBack(s+e,s+e+3,s+e+1),i.emplaceBack(s+e,s+e+2,s+e+3);let c=n.length,d=c+2*(r+1);for(let e of[0,1])for(let i=0;i<=r;i++)for(let r of[0,1])n.emplaceBack(e*t.W,i*o,r);for(let e=0;e<2*r;e+=2)i.emplaceBack(c+e,c+e+1,c+e+3),i.emplaceBack(c+e,c+e+3,c+e+2),i.emplaceBack(d+e,d+e+3,d+e+1),i.emplaceBack(d+e,d+e+2,d+e+3);return this._mesh={indexBuffer:e.createIndexBuffer(i),vertexBuffer:e.createVertexBuffer(n,ik.members),segments:t.$.simpleSegment(0,0,n.length,i.length)},this._mesh}getMeshFrameDelta(e){return 2*Math.PI*t.bb/Math.pow(2,e)/5}getMinTileElevationForLngLatZoom(e,t){var n;let{tileID:i}=this._getOverscaledTileIDFromLngLatZoom(e,t);return null!=(n=this.getMinMaxElevation(i).minElevation)?n:0}getMinMaxElevation(e){let t=this.getTerrainData(e).tile,n={minElevation:null,maxElevation:null};return t&&t.dem&&(n.minElevation=t.dem.min*this.exaggeration,n.maxElevation=t.dem.max*this.exaggeration),n}_getOverscaledTileIDFromLngLatZoom(e,n){let i=t.Y.fromLngLat(e.wrap()),r=(1<<n)*t.W,o=i.x*r,a=i.y*r,s=Math.floor(o/t.W),l=Math.floor(a/t.W);return{tileID:new t.Q(n,0,n,s,l),mercatorX:o,mercatorY:a}}}class iT{constructor(e,t,n){this._context=e,this._size=t,this._tileSize=n,this._objects=[],this._recentlyUsed=[],this._stamp=0}destruct(){for(let e of this._objects)e.texture.destroy(),e.fbo.destroy()}_createObject(e){let t=this._context.createFramebuffer(this._tileSize,this._tileSize,!0,!0),n=new M(this._context,{width:this._tileSize,height:this._tileSize,data:null},this._context.gl.RGBA);return n.bind(this._context.gl.LINEAR,this._context.gl.CLAMP_TO_EDGE),t.depthAttachment.set(this._context.createRenderbuffer(this._context.gl.DEPTH_STENCIL,this._tileSize,this._tileSize)),t.colorAttachment.set(n.texture),{id:e,fbo:t,texture:n,stamp:-1,inUse:!1}}getObjectForId(e){return this._objects[e]}useObject(e){e.inUse=!0,this._recentlyUsed=this._recentlyUsed.filter(t=>e.id!==t),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(let e of this._recentlyUsed)if(!this._objects[e].inUse)return this._objects[e];if(this._objects.length>=this._size)throw Error("No free RenderPool available, call freeAllObjects() required!");let e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(let e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length<this._size)&&!1===this._objects.some(e=>!e.inUse)}}let iC={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class iM{constructor(e,t){this.painter=e,this.terrain=t,this.pool=new iT(e.context,30,t.sourceCache.tileSize*t.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,t){for(let n in this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(n=>!e._layers[n].isHidden(t)),this._coordsDescendingInv={},e.sourceCaches)for(let t of(this._coordsDescendingInv[n]={},e.sourceCaches[n].getVisibleCoordinates())){let e=this.terrain.sourceCache.getTerrainCoords(t);for(let t in e)this._coordsDescendingInv[n][t]||(this._coordsDescendingInv[n][t]=[]),this._coordsDescendingInv[n][t].push(e[t])}for(let t of(this._coordsDescendingInvStr={},e._order)){let n=e._layers[t],i=n.source;if(iC[n.type]&&!this._coordsDescendingInvStr[i])for(let e in this._coordsDescendingInvStr[i]={},this._coordsDescendingInv[i])this._coordsDescendingInvStr[i][e]=this._coordsDescendingInv[i][e].map(e=>e.key).sort().join()}for(let e of this._renderableTiles)for(let t in this._coordsDescendingInvStr){let n=this._coordsDescendingInvStr[t][e.tileID.key];n&&n!==e.rttCoords[t]&&(e.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;let n=e.type,i=this.painter,r=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(iC[n]&&(this._prevType&&iC[this._prevType]||this._stacks.push([]),this._prevType=n,this._stacks[this._stacks.length-1].push(e.id),!r))return!0;if(iC[this._prevType]||iC[n]&&r){this._prevType=n;let e=this._stacks.length-1,r=this._stacks[e]||[];for(let n of this._renderableTiles){if(this.pool.isFull()&&(nx(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(n),n.rtt[e]){let t=this.pool.getObjectForId(n.rtt[e].id);if(t.stamp===n.rtt[e].stamp){this.pool.useObject(t);continue}}let o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),n.rtt[e]={id:o.id,stamp:o.stamp},i.context.bindFramebuffer.set(o.fbo.framebuffer),i.context.clear({color:t.aO.transparent,stencil:0}),i.currentStencilSource=void 0;for(let e=0;e<r.length;e++){let t=i.style._layers[r[e]],a=t.source?this._coordsDescendingInv[t.source][n.tileID.key]:[n.tileID];i.context.viewport.set([0,0,o.fbo.width,o.fbo.height]),i._renderTileClippingMasks(t,a),i.renderLayer(i,i.style.sourceCaches[t.source],t,a),t.source&&(n.rttCoords[t.source]=this._coordsDescendingInvStr[t.source][n.tileID.key])}}return nx(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects(),iC[n]}return!1}}let iL={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"MapLibre logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","TerrainControl.Enable":"Enable terrain","TerrainControl.Disable":"Disable terrain","CooperativeGesturesHandler.WindowsHelpText":"Use Ctrl + scroll to zoom the map","CooperativeGesturesHandler.MacHelpText":"Use ⌘ + scroll to zoom the map","CooperativeGesturesHandler.MobileHelpText":"Use two fingers to move the map"},iS={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:iv,maplibreLogo:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:t.a.MAX_TILE_CACHE_ZOOM_LEVELS,localIdeographFontFamily:"sans-serif",transformRequest:null,transformCameraUpdate:null,fadeDuration:300,crossSourceCollisions:!0,validateStyle:!0,maxCanvasSize:[4096,4096]},iD=e=>{e.touchstart=e.dragStart,e.touchmoveWindow=e.dragMove,e.touchend=e.dragEnd},iI={showCompass:!0,showZoom:!0,visualizePitch:!1};class iO{constructor(e,n,i=!1){this.mousedown=e=>{this.startMouse(t.e({},e,{ctrlKey:!0,preventDefault:()=>e.preventDefault()}),m.mousePos(this.element,e)),m.addEventListener(window,"mousemove",this.mousemove),m.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=e=>{this.moveMouse(e,m.mousePos(this.element,e))},this.mouseup=e=>{this.mouseRotate.dragEnd(e),this.mousePitch&&this.mousePitch.dragEnd(e),this.offTemp()},this.touchstart=e=>{1!==e.targetTouches.length?this.reset():(this._startPos=this._lastPos=m.touchPos(this.element,e.targetTouches)[0],this.startTouch(e,this._startPos),m.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),m.addEventListener(window,"touchend",this.touchend))},this.touchmove=e=>{1!==e.targetTouches.length?this.reset():(this._lastPos=m.touchPos(this.element,e.targetTouches)[0],this.moveTouch(e,this._lastPos))},this.touchend=e=>{0===e.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),delete this._startPos,delete this._lastPos,this.offTemp()},this.reset=()=>{this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let r=e.dragRotate._mouseRotate.getClickTolerance(),o=e.dragRotate._mousePitch.getClickTolerance();this.element=n,this.mouseRotate=nQ({clickTolerance:r,enable:!0}),this.touchRotate=(({enable:e,clickTolerance:t,bearingDegreesPerPixelMoved:n=.8})=>new nW({clickTolerance:t,move:(e,t)=>({bearingDelta:(t.x-e.x)*n}),moveStateManager:new nZ,enable:e,assignEvents:iD}))({clickTolerance:r,enable:!0}),this.map=e,i&&(this.mousePitch=n0({clickTolerance:o,enable:!0}),this.touchPitch=(({enable:e,clickTolerance:t,pitchDegreesPerPixelMoved:n=-.5})=>new nW({clickTolerance:t,move:(e,t)=>({pitchDelta:(t.y-e.y)*n}),moveStateManager:new nZ,enable:e,assignEvents:iD}))({clickTolerance:o,enable:!0})),m.addEventListener(n,"mousedown",this.mousedown),m.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),m.addEventListener(n,"touchcancel",this.reset)}startMouse(e,t){this.mouseRotate.dragStart(e,t),this.mousePitch&&this.mousePitch.dragStart(e,t),m.disableDrag()}startTouch(e,t){this.touchRotate.dragStart(e,t),this.touchPitch&&this.touchPitch.dragStart(e,t),m.disableDrag()}moveMouse(e,t){let n=this.map,{bearingDelta:i}=this.mouseRotate.dragMove(e,t)||{};if(i&&n.setBearing(n.getBearing()+i),this.mousePitch){let{pitchDelta:i}=this.mousePitch.dragMove(e,t)||{};i&&n.setPitch(n.getPitch()+i)}}moveTouch(e,t){let n=this.map,{bearingDelta:i}=this.touchRotate.dragMove(e,t)||{};if(i&&n.setBearing(n.getBearing()+i),this.touchPitch){let{pitchDelta:i}=this.touchPitch.dragMove(e,t)||{};i&&n.setPitch(n.getPitch()+i)}}off(){let e=this.element;m.removeEventListener(e,"mousedown",this.mousedown),m.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),m.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),m.removeEventListener(window,"touchend",this.touchend),m.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){m.enableDrag(),m.removeEventListener(window,"mousemove",this.mousemove),m.removeEventListener(window,"mouseup",this.mouseup),m.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),m.removeEventListener(window,"touchend",this.touchend)}}function iR(e,n,i){let r=new t.M(e.lng,e.lat);if(e=new t.M(e.lng,e.lat),n){let r=new t.M(e.lng-360,e.lat),o=new t.M(e.lng+360,e.lat),a=i.locationPoint(e).distSqr(n);i.locationPoint(r).distSqr(n)<a?e=r:i.locationPoint(o).distSqr(n)<a&&(e=o)}for(;Math.abs(e.lng-i.center.lng)>180;){let t=i.locationPoint(e);if(t.x>=0&&t.y>=0&&t.x<=i.width&&t.y<=i.height)break;e.lng>i.center.lng?e.lng-=360:e.lng+=360}return e.lng!==r.lng&&i.locationPoint(e).y>i.height/2-i.getHorizon()?e:r}let iP={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function iB(e,t,n){let i=e.classList;for(let e in iP)i.remove(`maplibregl-${n}-anchor-${e}`);i.add(`maplibregl-${n}-anchor-${t}`)}class iz extends t.E{constructor(e){if(super(),this._onKeyPress=e=>{let t=e.code,n=e.charCode||e.keyCode;"Space"!==t&&"Enter"!==t&&32!==n&&13!==n||this.togglePopup()},this._onMapClick=e=>{let t=e.originalEvent.target,n=this._element;this._popup&&(t===n||n.contains(t))&&this.togglePopup()},this._update=e=>{var t;if(!this._map)return;let n=this._map.loaded()&&!this._map.isMoving();"terrain"!==(null==e?void 0:e.type)&&("render"!==(null==e?void 0:e.type)||n)||this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?iR(this._lngLat,this._flatPos,this._map.transform):null==(t=this._lngLat)?void 0:t.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let i="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?i=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(i=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let r="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?r="rotateX(0deg)":"map"===this._pitchAlignment&&(r=`rotateX(${this._map.getPitch()}deg)`),e&&"moveend"!==e.type||(this._pos=this._pos.round()),m.setTransform(this._element,`${iP[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${r} ${i}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(e&&"moveend"===e.type)}).catch(()=>{})},this._onMove=e=>{if(!this._isDragging){let t=this._clickTolerance||this._map._clickTolerance;this._isDragging=e.point.dist(this._pointerdownPos)>=t}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.k("dragstart"))),this.fire(new t.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.k("dragend")),this._state="inactive"},this._addDragHandler=e=>{this._element.contains(e.originalEvent.target)&&(e.preventDefault(),this._positionDelta=e.point.sub(this._pos).add(this._offset),this._pointerdownPos=e.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&"auto"!==e.pitchAlignment?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==e?void 0:e.opacity,null==e?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=t.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=m.create("div"),this._element.setAttribute("aria-label","Map marker");let n=m.createNS("http://www.w3.org/2000/svg","svg");n.setAttributeNS(null,"display","block"),n.setAttributeNS(null,"height","41px"),n.setAttributeNS(null,"width","27px"),n.setAttributeNS(null,"viewBox","0 0 27 41");let i=m.createNS("http://www.w3.org/2000/svg","g");i.setAttributeNS(null,"stroke","none"),i.setAttributeNS(null,"stroke-width","1"),i.setAttributeNS(null,"fill","none"),i.setAttributeNS(null,"fill-rule","evenodd");let r=m.createNS("http://www.w3.org/2000/svg","g");r.setAttributeNS(null,"fill-rule","nonzero");let o=m.createNS("http://www.w3.org/2000/svg","g");for(let e of(o.setAttributeNS(null,"transform","translate(3.0, 29.0)"),o.setAttributeNS(null,"fill","#000000"),[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}])){let t=m.createNS("http://www.w3.org/2000/svg","ellipse");t.setAttributeNS(null,"opacity","0.04"),t.setAttributeNS(null,"cx","10.5"),t.setAttributeNS(null,"cy","5.80029008"),t.setAttributeNS(null,"rx",e.rx),t.setAttributeNS(null,"ry",e.ry),o.appendChild(t)}let a=m.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"fill",this._color);let s=m.createNS("http://www.w3.org/2000/svg","path");s.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),a.appendChild(s);let l=m.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"opacity","0.25"),l.setAttributeNS(null,"fill","#000000");let c=m.createNS("http://www.w3.org/2000/svg","path");c.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),l.appendChild(c);let d=m.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"transform","translate(6.0, 7.0)"),d.setAttributeNS(null,"fill","#FFFFFF");let u=m.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"transform","translate(8.0, 8.0)");let h=m.createNS("http://www.w3.org/2000/svg","circle");h.setAttributeNS(null,"fill","#000000"),h.setAttributeNS(null,"opacity","0.25"),h.setAttributeNS(null,"cx","5.5"),h.setAttributeNS(null,"cy","5.5"),h.setAttributeNS(null,"r","5.4999962");let f=m.createNS("http://www.w3.org/2000/svg","circle");f.setAttributeNS(null,"fill","#FFFFFF"),f.setAttributeNS(null,"cx","5.5"),f.setAttributeNS(null,"cy","5.5"),f.setAttributeNS(null,"r","5.4999962"),u.appendChild(h),u.appendChild(f),r.appendChild(o),r.appendChild(a),r.appendChild(l),r.appendChild(d),r.appendChild(u),n.appendChild(r),n.setAttributeNS(null,"height",41*this._scale+"px"),n.setAttributeNS(null,"width",27*this._scale+"px"),this._element.appendChild(n),this._offset=t.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",e=>{e.preventDefault()}),this._element.addEventListener("mousedown",e=>{e.preventDefault()}),iB(this._element,this._anchor,"marker"),e&&e.className)for(let t of e.className.split(" "))this._element.classList.add(t);this._popup=null}addTo(e){return this.remove(),this._map=e,e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),m.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.M.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){let t=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[t,-1*(24.6+t)],"bottom-right":[-t,-1*(24.6+t)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){let e=this._popup;return this._element.style.opacity===this._opacityWhenCovered||e&&(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map))),this}_updateOpacity(e=!1){var n,i;if(!(null==(n=this._map)?void 0:n.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let r=this._map,o=r.terrain.depthAtPoint(this._pos),a=r.terrain.getElevationForLngLatZoom(this._lngLat,r.transform.tileZoom);if(r.transform.lngLatToCameraDepth(this._lngLat,a)-o<.006)return void(this._element.style.opacity=this._opacity);let s=-this._offset.y/r.transform._pixelPerMeter,l=Math.sin(r.getPitch()*Math.PI/180)*s,c=r.terrain.depthAtPoint(new t.P(this._pos.x,this._pos.y-this._offset.y)),d=r.transform.lngLatToCameraDepth(this._lngLat,a+l)-c>.006;(null==(i=this._popup)?void 0:i.isOpen())&&d&&this._popup.remove(),this._element.style.opacity=d?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=t.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&"auto"!==e?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,t){return void 0===e&&void 0===t&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==e&&(this._opacity=e),void 0!==t&&(this._opacityWhenCovered=t),this._map&&this._updateOpacity(!0),this}}let iY={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},iN=0,iH=!1,ij={maxWidth:100,unit:"metric"};function iU(e,t,n){let i=n&&n.maxWidth||100,r=e._container.clientHeight/2,o=e.unproject([0,r]),a=e.unproject([i,r]),s=o.distanceTo(a);if(n&&"imperial"===n.unit){let n=3.2808*s;n>5280?iV(t,i,n/5280,e._getUIString("ScaleControl.Miles")):iV(t,i,n,e._getUIString("ScaleControl.Feet"))}else n&&"nautical"===n.unit?iV(t,i,s/1852,e._getUIString("ScaleControl.NauticalMiles")):s>=1e3?iV(t,i,s/1e3,e._getUIString("ScaleControl.Kilometers")):iV(t,i,s,e._getUIString("ScaleControl.Meters"))}function iV(e,t,n,i){let r=function(e){let t=Math.pow(10,`${Math.floor(e)}`.length-1),n=e/t;return t*(n=n>=10?10:n>=5?5:n>=3?3:n>=2?2:n>=1?1:function(e){let t=Math.pow(10,Math.ceil(-Math.log(e)/Math.LN10));return Math.round(e*t)/t}(n))}(n);e.style.width=r/n*t+"px",e.innerHTML=`${r}&nbsp;${i}`}let iq={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1};e.AJAXError=t.be,e.Evented=t.E,e.LngLat=t.M,e.MercatorCoordinate=t.Y,e.Point=t.P,e.addProtocol=t.bf,e.config=t.a,e.removeProtocol=t.bg,e.AttributionControl=ix,e.BoxZoomHandler=nU,e.CanvasSource=et,e.CooperativeGesturesHandler=ih,e.DoubleClickZoomHandler=is,e.DragPanHandler=id,e.DragRotateHandler=iu,e.EdgeInsets=nE,e.FullscreenControl=class extends t.E{constructor(e={}){super(),this._onFullscreenChange=()=>{var e;let t=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null==(e=null==t?void 0:t.shadowRoot)?void 0:e.fullscreenElement;)t=t.shadowRoot.fullscreenElement;t===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,e&&e.container&&(e.container instanceof HTMLElement?this._container=e.container:t.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){m.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let e=this._fullscreenButton=m.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);m.create("span","maplibregl-ctrl-icon",e).setAttribute("aria-hidden","true"),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let e=this._getTitle();this._fullscreenButton.setAttribute("aria-label",e),this._fullscreenButton.title=e}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new t.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new t.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},e.GeoJSONSource=Z,e.GeolocateControl=class extends t.E{constructor(e){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new t.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{let n=new t.M(e.coords.longitude,e.coords.latitude),i=e.coords.accuracy,r=this._map.getBearing(),o=t.e({bearing:r},this.options.fitBoundsOptions),a=G.fromLngLat(n,i);this._map.fitBounds(a,o,{geolocateSource:!0})},this._updateMarker=e=>{if(e){let n=new t.M(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(n).addTo(this._map),this._userLocationDotMarker.setLngLat(n).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&iH)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new t.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=e=>{if(this._map){if(this._container.addEventListener("contextmenu",e=>e.preventDefault()),this._geolocateButton=m.create("button","maplibregl-ctrl-geolocate",this._container),m.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",!1===e){t.w("Geolocation support is not available so the GeolocateControl will be disabled.");let e=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}else{let e=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=e,this._geolocateButton.setAttribute("aria-label",e)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=m.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new iz({element:this._dotElement}),this._circleElement=m.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new iz({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",e=>{e.geolocateSource||"ACTIVE_LOCK"!==this._watchState||e.originalEvent&&"resize"===e.originalEvent.type||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new t.k("trackuserlocationend")))})}},this.options=t.e({},iY,e)}onAdd(e){return this._map=e,this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),(function(){return t._(this,arguments,void 0,function*(e=!1){if(void 0!==l&&!e)return l;if(void 0===window.navigator.permissions)return l=!!window.navigator.geolocation;try{let e=yield window.navigator.permissions.query({name:"geolocation"});l="denied"!==e.state}catch(e){l=!!window.navigator.geolocation}return l})})().then(e=>this._setupUI(e)),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),m.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,iN=0,iH=!1}_isOutOfMapMaxBounds(e){let t=this._map.getMaxBounds(),n=e.coords;return t&&(n.longitude<t.getWest()||n.longitude>t.getEast()||n.latitude<t.getSouth()||n.latitude>t.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let e=this._map.getBounds(),t=e.getSouthEast(),n=e.getNorthEast(),i=t.distanceTo(n),r=Math.ceil(this._accuracy/(i/this._map._container.clientHeight)*2);this._circleElement.style.width=`${r}px`,this._circleElement.style.height=`${r}px`}trigger(){if(!this._setup)return t.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":iN--,iH=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new t.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.k("trackuserlocationstart"));break;default:throw Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let e;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++iN>1?(e={maximumAge:6e5,timeout:0},iH=!0):(e=this.options.positionOptions,iH=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},e.Hash=nC,e.ImageSource=Q,e.KeyboardHandler=ir,e.LngLatBounds=G,e.LogoControl=iw,e.Map=class extends iy{constructor(e){if(t.bc.mark(t.bd.create),null!=(e=t.e({},iS,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>85)throw Error("maxPitch must be less than or equal to 85");if(super(new nA(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._contextLost=e=>{e.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new t.k("webglcontextlost",{originalEvent:e}))},this._contextRestored=e=>{this._setupPainter(),this.resize(),this._update(),this.fire(new t.k("webglcontextrestored",{originalEvent:e}))},this._onMapScroll=e=>{if(e.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new iF,this._controls=[],this._mapId=t.a3(),this._locale=t.e({},iL,e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this._imageQueueHandle=F.addThrottleControl(()=>this.isMoving()),this._requestManager=new y(e.transformRequest),"string"==typeof e.container){if(this._container=document.getElementById(e.container),!this._container)throw Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let e=!1,t=nT(e=>{this._trackResize&&!this._removed&&this.resize(e)._update()},50);this._resizeObserver=new ResizeObserver(n=>{e?t(n):e=!0}),this._resizeObserver.observe(this._container)}this.handlers=new i_(this,e),this._hash=e.hash&&new nC("string"==typeof e.hash&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.e({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new ix("boolean"==typeof e.attributionControl?void 0:e.attributionControl)),e.maplibreLogo&&this.addControl(new iw,e.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",e=>{this._update("style"===e.dataType),this.fire(new t.k(`${e.dataType}data`,e))}),this.on("dataloading",e=>{this.fire(new t.k(`${e.dataType}dataloading`,e))}),this.on("dataabort",e=>{this.fire(new t.k("sourcedataabort",e))})}_getMapId(){return this._mapId}addControl(e,n){if(void 0===n&&(n=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.j(Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let i=e.onAdd(this);this._controls.push(e);let r=this._controlPositions[n];return -1!==n.indexOf("bottom")?r.insertBefore(i,r.firstChild):r.appendChild(i),this}removeControl(e){if(!e||!e.onRemove)return this.fire(new t.j(Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let n=this._controls.indexOf(e);return n>-1&&this._controls.splice(n,1),e.onRemove(this),this}hasControl(e){return this._controls.indexOf(e)>-1}calculateCameraOptionsFromTo(e,t,n,i){return null==i&&this.terrain&&(i=this.terrain.getElevationForLngLatZoom(n,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(e,t,n,i)}resize(e){var n;let i=this._containerDimensions(),r=i[0],o=i[1],a=this._getClampedPixelRatio(r,o);if(this._resizeCanvas(r,o,a),this.painter.resize(r,o,a),this.painter.overLimit()){let e=this.painter.context.gl;this._maxCanvasSize=[e.drawingBufferWidth,e.drawingBufferHeight];let t=this._getClampedPixelRatio(r,o);this._resizeCanvas(r,o,t),this.painter.resize(r,o,t)}this.transform.resize(r,o),null==(n=this._requestedCameraState)||n.resize(r,o);let s=!this._moving;return s&&(this.stop(),this.fire(new t.k("movestart",e)).fire(new t.k("move",e))),this.fire(new t.k("resize",e)),s&&this.fire(new t.k("moveend",e)),this}_getClampedPixelRatio(e,t){let{0:n,1:i}=this._maxCanvasSize,r=this.getPixelRatio(),o=e*r,a=t*r;return Math.min(o>n?n/o:1,a>i?i/a:1)*r}getPixelRatio(){var e;return null!=(e=this._overridePixelRatio)?e:devicePixelRatio}setPixelRatio(e){this._overridePixelRatio=e,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(e){return this.transform.setMaxBounds(G.convert(e)),this._update()}setMinZoom(e){if((e=null==e?-2:e)>=-2&&e<=this.transform.maxZoom)return this.transform.minZoom=e,this._update(),this.getZoom()<e&&this.setZoom(e),this;throw Error("minZoom must be between -2 and the current maxZoom, inclusive")}getMinZoom(){return this.transform.minZoom}setMaxZoom(e){if((e=null==e?22:e)>=this.transform.minZoom)return this.transform.maxZoom=e,this._update(),this.getZoom()>e&&this.setZoom(e),this;throw Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(e){if((e=null==e?0:e)<0)throw Error("minPitch must be greater than or equal to 0");if(e>=0&&e<=this.transform.maxPitch)return this.transform.minPitch=e,this._update(),this.getPitch()<e&&this.setPitch(e),this;throw Error("minPitch must be between 0 and the current maxPitch, inclusive")}getMinPitch(){return this.transform.minPitch}setMaxPitch(e){if((e=null==e?60:e)>85)throw Error("maxPitch must be less than or equal to 85");if(e>=this.transform.minPitch)return this.transform.maxPitch=e,this._update(),this.getPitch()>e&&this.setPitch(e),this;throw Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(e){return this.transform.renderWorldCopies=e,this._update()}project(e){return this.transform.locationPoint(t.M.convert(e),this.style&&this.terrain)}unproject(e){return this.transform.pointLocation(t.P.convert(e),this.terrain)}isMoving(){var e;return this._moving||(null==(e=this.handlers)?void 0:e.isMoving())}isZooming(){var e;return this._zooming||(null==(e=this.handlers)?void 0:e.isZooming())}isRotating(){var e;return this._rotating||(null==(e=this.handlers)?void 0:e.isRotating())}_createDelegatedListener(e,t,n){if("mouseenter"===e||"mouseover"===e){let i=!1,r=r=>{let o=this.getLayer(t)?this.queryRenderedFeatures(r.point,{layers:[t]}):[];o.length?i||(i=!0,n.call(this,new nB(e,this,r.originalEvent,{features:o}))):i=!1};return{layer:t,listener:n,delegates:{mousemove:r,mouseout:()=>{i=!1}}}}if("mouseleave"===e||"mouseout"===e){let i=!1,r=r=>{(this.getLayer(t)?this.queryRenderedFeatures(r.point,{layers:[t]}):[]).length?i=!0:i&&(i=!1,n.call(this,new nB(e,this,r.originalEvent)))},o=t=>{i&&(i=!1,n.call(this,new nB(e,this,t.originalEvent)))};return{layer:t,listener:n,delegates:{mousemove:r,mouseout:o}}}{let i=e=>{let i=this.getLayer(t)?this.queryRenderedFeatures(e.point,{layers:[t]}):[];i.length&&(e.features=i,n.call(this,e),delete e.features)};return{layer:t,listener:n,delegates:{[e]:i}}}}on(e,t,n){if(void 0===n)return super.on(e,t);let i=this._createDelegatedListener(e,t,n);for(let t in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[e]=this._delegatedListeners[e]||[],this._delegatedListeners[e].push(i),i.delegates)this.on(t,i.delegates[t]);return this}once(e,t,n){if(void 0===n)return super.once(e,t);let i=this._createDelegatedListener(e,t,n);for(let e in i.delegates)this.once(e,i.delegates[e]);return this}off(e,t,n){return void 0===n?super.off(e,t):(this._delegatedListeners&&this._delegatedListeners[e]&&(i=>{let r=this._delegatedListeners[e];for(let e=0;e<r.length;e++){let i=r[e];if(i.layer===t&&i.listener===n){for(let e in i.delegates)this.off(e,i.delegates[e]);return r.splice(e,1),this}}})(),this)}queryRenderedFeatures(e,n){let i;if(!this.style)return[];let r=e instanceof t.P||Array.isArray(e),o=r?e:[[0,0],[this.transform.width,this.transform.height]];if(n=n||(r?{}:e)||{},o instanceof t.P||"number"==typeof o[0])i=[t.P.convert(o)];else{let e=t.P.convert(o[0]),n=t.P.convert(o[1]);i=[e,new t.P(n.x,e.y),n,new t.P(e.x,n.y),e]}return this.style.queryRenderedFeatures(i,n,this.transform)}querySourceFeatures(e,t){return this.style.querySourceFeatures(e,t)}setStyle(e,n){return!1!==(n=t.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},n)).diff&&n.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,n),this):(this._localIdeographFontFamily=n.localIdeographFontFamily,this._updateStyle(e,n))}setTransformRequest(e){return this._requestManager.setTransformRequest(e),this}_getUIString(e){let t=this._locale[e];if(null==t)throw Error(`Missing UI string '${e}'`);return t}_updateStyle(e,t){if(t.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(e,t));let n=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!e)),e?(this.style=new e0(this,t||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof e?this.style.loadURL(e,t,n):this.style.loadJSON(e,t,n)):delete this.style,this}_lazyInitEmptyStyle(){this.style||(this.style=new e0(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(e,n){if("string"==typeof e){let i=this._requestManager.transformRequest(e,k.Style);t.h(i,new AbortController).then(e=>{this._updateDiff(e.data,n)}).catch(e=>{e&&this.fire(new t.j(e))})}else"object"==typeof e&&this._updateDiff(e,n)}_updateDiff(e,n){try{this.style.setState(e,n)&&this._update(!0)}catch(i){t.w(`Unable to perform style diff: ${i.message||i.error||i}. Rebuilding the style from scratch.`),this._updateStyle(e,n)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():t.w("There is no style added to the map.")}addSource(e,t){return this._lazyInitEmptyStyle(),this.style.addSource(e,t),this._update(!0)}isSourceLoaded(e){let n=this.style&&this.style.sourceCaches[e];if(void 0!==n)return n.loaded();this.fire(new t.j(Error(`There is no source with ID '${e}'`)))}setTerrain(e){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),e){let n=this.style.sourceCaches[e.source];if(!n)throw Error(`cannot load terrain, because there exists no source with ID: ${e.source}`);for(let i in null===this.terrain&&n.reload(),this.style._layers){let n=this.style._layers[i];"hillshade"===n.type&&n.source===e.source&&t.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new iA(this.painter,n,e),this.painter.renderToTexture=new iM(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=t=>{"style"===t.dataType?this.terrain.sourceCache.freeRtt():"source"===t.dataType&&t.tile&&(t.sourceId!==e.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(t.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new t.k("terrain",{terrain:e})),this}getTerrain(){var e,t;return null!=(t=null==(e=this.terrain)?void 0:e.options)?t:null}areTilesLoaded(){let e=this.style&&this.style.sourceCaches;for(let t in e){let n=e[t]._tiles;for(let e in n){let t=n[e];if("loaded"!==t.state&&"errored"!==t.state)return!1}}return!0}removeSource(e){return this.style.removeSource(e),this._update(!0)}getSource(e){return this.style.getSource(e)}addImage(e,n,i={}){let{pixelRatio:r=1,sdf:o=!1,stretchX:a,stretchY:s,content:l}=i;if(this._lazyInitEmptyStyle(),!(n instanceof HTMLImageElement||t.b(n))){if(void 0===n.width||void 0===n.height)return this.fire(new t.j(Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{let{width:i,height:c,data:d}=n;return this.style.addImage(e,{data:new t.R({width:i,height:c},new Uint8Array(d)),pixelRatio:r,stretchX:a,stretchY:s,content:l,sdf:o,version:0,userImage:n}),n.onAdd&&n.onAdd(this,e),this}}{let{width:i,height:c,data:d}=u.getImageData(n);this.style.addImage(e,{data:new t.R({width:i,height:c},d),pixelRatio:r,stretchX:a,stretchY:s,content:l,sdf:o,version:0})}}updateImage(e,n){let i=this.style.getImage(e);if(!i)return this.fire(new t.j(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let{width:r,height:o,data:a}=n instanceof HTMLImageElement||t.b(n)?u.getImageData(n):n;if(void 0===r||void 0===o)return this.fire(new t.j(Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(r!==i.data.width||o!==i.data.height)return this.fire(new t.j(Error("The width and height of the updated image must be that same as the previous version of the image")));let s=!(n instanceof HTMLImageElement||t.b(n));return i.data.replace(a,s),this.style.updateImage(e,i),this}getImage(e){return this.style.getImage(e)}hasImage(e){return e?!!this.style.getImage(e):(this.fire(new t.j(Error("Missing required image id"))),!1)}removeImage(e){this.style.removeImage(e)}loadImage(e){return F.getImage(this._requestManager.transformRequest(e,k.Image),new AbortController)}listImages(){return this.style.listImages()}addLayer(e,t){return this._lazyInitEmptyStyle(),this.style.addLayer(e,t),this._update(!0)}moveLayer(e,t){return this.style.moveLayer(e,t),this._update(!0)}removeLayer(e){return this.style.removeLayer(e),this._update(!0)}getLayer(e){return this.style.getLayer(e)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(e,t,n){return this.style.setLayerZoomRange(e,t,n),this._update(!0)}setFilter(e,t,n={}){return this.style.setFilter(e,t,n),this._update(!0)}getFilter(e){return this.style.getFilter(e)}setPaintProperty(e,t,n,i={}){return this.style.setPaintProperty(e,t,n,i),this._update(!0)}getPaintProperty(e,t){return this.style.getPaintProperty(e,t)}setLayoutProperty(e,t,n,i={}){return this.style.setLayoutProperty(e,t,n,i),this._update(!0)}getLayoutProperty(e,t){return this.style.getLayoutProperty(e,t)}setGlyphs(e,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(e,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(e,t,n={}){return this._lazyInitEmptyStyle(),this.style.addSprite(e,t,n,e=>{e||this._update(!0)}),this}removeSprite(e){return this._lazyInitEmptyStyle(),this.style.removeSprite(e),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(e,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(e,t,e=>{e||this._update(!0)}),this}setLight(e,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(e,t),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(e,t){return this.style.setFeatureState(e,t),this._update()}removeFeatureState(e,t){return this.style.removeFeatureState(e,t),this._update()}getFeatureState(e){return this.style.getFeatureState(e)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let e=0,t=0;return this._container&&(e=this._container.clientWidth||400,t=this._container.clientHeight||300),[e,t]}_setupContainer(){let e=this._container;e.classList.add("maplibregl-map");let t=this._canvasContainer=m.create("div","maplibregl-canvas-container",e);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=m.create("canvas","maplibregl-canvas",t),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");let n=this._containerDimensions(),i=this._getClampedPixelRatio(n[0],n[1]);this._resizeCanvas(n[0],n[1],i);let r=this._controlContainer=m.create("div","maplibregl-control-container",e),o=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(e=>{o[e]=m.create("div",`maplibregl-ctrl-${e} `,r)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(e,t,n){this._canvas.width=Math.floor(n*e),this._canvas.height=Math.floor(n*t),this._canvas.style.width=`${e}px`,this._canvas.style.height=`${t}px`}_setupPainter(){let e={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},t=null;this._canvas.addEventListener("webglcontextcreationerror",n=>{t={requestedAttributes:e},n&&(t.statusMessage=n.statusMessage,t.type=n.type)},{once:!0});let n=this._canvas.getContext("webgl2",e)||this._canvas.getContext("webgl",e);if(!n){let e="Failed to initialize WebGL";throw t?(t.message=e,Error(JSON.stringify(t))):Error(e)}this.painter=new nw(n,this.transform),h.testSupport(n)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(e){return this.style&&this.style._loaded&&(this._styleDirty=this._styleDirty||e,this._sourcesDirty=!0,this.triggerRepaint()),this}_requestRenderFrame(e){return this._update(),this._renderTaskQueue.add(e)}_cancelRenderFrame(e){this._renderTaskQueue.remove(e)}_render(e){let n=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),this._removed)return;let i=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let e=this.transform.zoom,r=u.now();this.style.zoomHistory.update(e,r);let o=new t.a8(e,{now:r,fadeDuration:n,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),a=o.crossFadingFactor();1===a&&a===this._crossFadingFactor||(i=!0,this._crossFadingFactor=a),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,n,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:n,showPadding:this.showPadding}),this.fire(new t.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,t.bc.mark(t.bd.load),this.fire(new t.k("load"))),this.style&&(this.style.hasTransitions()||i)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let r=this._sourcesDirty||this._styleDirty||this._placementDirty;return r||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.k("idle")),!this._loaded||this._fullyLoaded||r||(this._fullyLoaded=!0,t.bc.mark(t.bd.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var e;for(let e of(this._hash&&this._hash.remove(),this._controls))e.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),F.removeThrottleControl(this._imageQueueHandle),null==(e=this._resizeObserver)||e.disconnect();let n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),m.remove(this._canvasContainer),m.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),t.bc.clearMetrics(),this._removed=!0,this.fire(new t.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(e=>{t.bc.frame(e),this._frameRequest=null,this._render(e)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(e){this._showTileBoundaries!==e&&(this._showTileBoundaries=e,this._update())}get showPadding(){return!!this._showPadding}set showPadding(e){this._showPadding!==e&&(this._showPadding=e,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(e){this._showCollisionBoxes!==e&&(this._showCollisionBoxes=e,e?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(e){this._showOverdrawInspector!==e&&(this._showOverdrawInspector=e,this._update())}get repaint(){return!!this._repaint}set repaint(e){this._repaint!==e&&(this._repaint=e,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(e){this._vertices=e,this._update()}get version(){return d}getCameraTargetElevation(){return this.transform.elevation}},e.MapMouseEvent=nB,e.MapTouchEvent=nz,e.MapWheelEvent=nY,e.Marker=iz,e.NavigationControl=class{constructor(e){this._updateZoomButtons=()=>{let e=this._map.getZoom(),t=e===this._map.getMaxZoom(),n=e===this._map.getMinZoom();this._zoomInButton.disabled=t,this._zoomOutButton.disabled=n,this._zoomInButton.setAttribute("aria-disabled",t.toString()),this._zoomOutButton.setAttribute("aria-disabled",n.toString())},this._rotateCompassArrow=()=>{let e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=e},this._setButtonTitle=(e,t)=>{let n=this._map._getUIString(`NavigationControl.${t}`);e.title=n,e.setAttribute("aria-label",n)},this.options=t.e({},iI,e),this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),m.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),m.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=m.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(e){return this._map=e,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new iO(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){m.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(e,t){let n=m.create("button",e,this._container);return n.type="button",n.addEventListener("click",t),n}},e.Popup=class extends t.E{constructor(e){super(),this.remove=()=>(this._content&&m.remove(this._content),this._container&&(m.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new t.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var n;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=m.create("div","maplibregl-popup",this._map.getContainer()),this._tip=m.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let e of this.options.className.split(" "))this._container.classList.add(e);this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?iR(this._lngLat,this._flatPos,this._map.transform):null==(n=this._lngLat)?void 0:n.wrap(),this._trackPointer&&!e)return;let i=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let r=this.options.anchor,o=function e(n){if(n){if("number"==typeof n){let e=Math.round(Math.abs(n)/Math.SQRT2);return{center:new t.P(0,0),top:new t.P(0,n),"top-left":new t.P(e,e),"top-right":new t.P(-e,e),bottom:new t.P(0,-n),"bottom-left":new t.P(e,-e),"bottom-right":new t.P(-e,-e),left:new t.P(n,0),right:new t.P(-n,0)}}if(n instanceof t.P||Array.isArray(n)){let e=t.P.convert(n);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:t.P.convert(n.center||[0,0]),top:t.P.convert(n.top||[0,0]),"top-left":t.P.convert(n["top-left"]||[0,0]),"top-right":t.P.convert(n["top-right"]||[0,0]),bottom:t.P.convert(n.bottom||[0,0]),"bottom-left":t.P.convert(n["bottom-left"]||[0,0]),"bottom-right":t.P.convert(n["bottom-right"]||[0,0]),left:t.P.convert(n.left||[0,0]),right:t.P.convert(n.right||[0,0])}}return e(new t.P(0,0))}(this.options.offset);if(!r){let e,t=this._container.offsetWidth,n=this._container.offsetHeight;e=i.y+o.bottom.y<n?["top"]:i.y>this._map.transform.height-n?["bottom"]:[],i.x<t/2?e.push("left"):i.x>this._map.transform.width-t/2&&e.push("right"),r=0===e.length?"bottom":e.join("-")}let a=i.add(o[r]);this.options.subpixelPositioning||(a=a.round()),m.setTransform(this._container,`${iP[r]} translate(${a.x}px,${a.y}px)`),iB(this._container,r,"popup")},this._onClose=()=>{this.remove()},this.options=t.e(Object.create(iq),e)}addTo(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new t.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=t.M.convert(e),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(e){return this.setDOMContent(document.createTextNode(e))}setHTML(e){let t,n=document.createDocumentFragment(),i=document.createElement("body");for(i.innerHTML=e;t=i.firstChild;)n.appendChild(t);return this.setDOMContent(n)}getMaxWidth(){var e;return null==(e=this._container)?void 0:e.style.maxWidth}setMaxWidth(e){return this.options.maxWidth=e,this._update(),this}setDOMContent(e){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=m.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(e),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(e){this._container&&this._container.classList.add(e)}removeClassName(e){this._container&&this._container.classList.remove(e)}setOffset(e){return this.options.offset=e,this._update(),this}toggleClassName(e){if(this._container)return this._container.classList.toggle(e)}setSubpixelPositioning(e){this.options.subpixelPositioning=e}_createCloseButton(){this.options.closeButton&&(this._closeButton=m.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let e=this._container.querySelector("a[href], [tabindex]:not([tabindex='-1']), [contenteditable]:not([contenteditable='false']), button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])");e&&e.focus()}},e.RasterDEMTileSource=K,e.RasterTileSource=X,e.ScaleControl=class{constructor(e){this._onMove=()=>{iU(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,iU(this._map,this._container,this.options)},this.options=t.e({},ij,e)}getDefaultPosition(){return"bottom-left"}onAdd(e){return this._map=e,this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-scale",e.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){m.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},e.ScrollZoomHandler=ia,e.Style=e0,e.TerrainControl=class{constructor(e){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=e}onAdd(e){return this._map=e,this._container=m.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=m.create("button","maplibregl-ctrl-terrain",this._container),m.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){m.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},e.TwoFingersTouchPitchHandler=n9,e.TwoFingersTouchRotateHandler=n8,e.TwoFingersTouchZoomHandler=n4,e.TwoFingersTouchZoomRotateHandler=im,e.VectorTileSource=W,e.VideoSource=ee,e.addSourceType=(e,n)=>t._(void 0,void 0,void 0,function*(){if(ei(e))throw Error(`A source type called "${e}" already exists.`);en[e]=n}),e.clearPrewarmedResources=function(){let e=o;e&&(e.isPreloaded()&&1===e.numActive()?(e.release(z),o=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},e.getMaxParallelImageRequests=function(){return t.a.MAX_PARALLEL_IMAGE_REQUESTS},e.getRTLTextPluginStatus=function(){return es().getRTLTextPluginStatus()},e.getVersion=function(){return d},e.getWorkerCount=function(){return Y.workerCount},e.getWorkerUrl=function(){return t.a.WORKER_URL},e.importScriptInWorkers=function(e){return U().broadcast("importScript",e)},e.prewarm=function(){H().acquire(z)},e.setMaxParallelImageRequests=function(e){t.a.MAX_PARALLEL_IMAGE_REQUESTS=e},e.setRTLTextPlugin=function(e,t){return es().setRTLTextPlugin(e,t)},e.setWorkerCount=function(e){Y.workerCount=e},e.setWorkerUrl=function(e){t.a.WORKER_URL=e}}),e}()}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(i,r){if(1&r&&(i=this(i)),8&r||"object"==typeof i&&i&&(4&r&&i.__esModule||16&r&&"function"==typeof i.then))return i;var o=Object.create(null);n.r(o);var a={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&i;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach(e=>{a[e]=()=>i[e]});return a.default=()=>i,n.d(o,a),o}})(),n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var i={};return(()=>{"use strict";let e;n.r(i),n.d(i,{OrMapLoadedEvent:()=>ln,geoJsonPointInputTemplateProvider:()=>ld,OrMapMarkerClickedEvent:()=>r6,OrMap:()=>lu,OrMapMarker:()=>r8,OrMapAssetCard:()=>le,getMarkerConfigAttributeName:()=>oe,Util:()=>eS,DefaultConfig:()=>s9,OrMapAssetCardLoadAssetEvent:()=>s7,CenterControl:()=>la,getMarkerConfigForAssetType:()=>r9,OrMapLongPressEvent:()=>lr,OrMapMarkerChangedEvent:()=>r4,CoordinatesControl:()=>lc,LngLat:()=>rz.LngLat,OrMapMarkerAsset:()=>ot,OrMapGeocoderChangeEvent:()=>lo,OrMapClickedEvent:()=>li});var t,r,o,a,s,l,c,d,u,m,h,f,p,b,g,_,y,v,x,w,F,k,E,A,T,C,M,S,D,I,O,R,P,B,z,Y,N,H,j,U,V,q,G,$,W,X,K,Z,J,Q,ee,et,en,ei,er,eo,ea,es,el,ec,ed,eu,em,eh,ef,ep,eb,eg,e_,ey,ev,ex,ew,eF,ek,eE,eA,eT,eC,eM,eL,eS={};function eD(e){return(eD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function eI(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function eO(e){var t=function(e,t){if("object"!=eD(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=eD(i))return i;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==eD(t)?t:String(t)}function eR(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,eO(i.key),i)}}function eP(e,t,n){return t&&eR(e.prototype,t),n&&eR(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function eB(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ez(e,t){return(ez=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function eY(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ez(e,t)}function eN(e,t){if(t&&("object"===eD(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return eB(e)}function eH(e){return(eH=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ej(e,t,n){return(t=eO(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eU(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n<t;n++)i[n]=e[n];return i}function eV(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function eq(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?eV(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eV(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}n.r(eS),n.d(eS,{getGeoJSONPoint:()=>rU,getLatLngBounds:()=>rq,getLngLat:()=>rj,getLngLatBounds:()=>rV,getMarkerIconAndColorFromAssetType:()=>rG}),n(488);var eG={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},e$=new(function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eI(this,e),this.init(t,n)}return eP(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||eG,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,n,i){return i&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(n).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,eq(eq({},{prefix:"".concat(this.prefix,":").concat(t,":")}),this.options))}},{key:"clone",value:function(t){return(t=t||this.options).prefix=t.prefix||this.prefix,new e(this.logger,t)}}]),e}()),eW=function(){function e(){eI(this,e),this.observers={}}return eP(e,[{key:"on",value:function(e,t){var n=this;return e.split(" ").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,n)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(n))})}}]),e}();function eX(){var e,t,n=new Promise(function(n,i){e=n,t=i});return n.resolve=e,n.reject=t,n}function eK(e){return null==e?"":""+e}function eZ(e,t,n){function i(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var o="string"!=typeof t?[].concat(t):t.split(".");o.length>1;){if(r())return{};var a=i(o.shift());!e[a]&&n&&(e[a]=new n),e=Object.prototype.hasOwnProperty.call(e,a)?e[a]:{}}return r()?{}:{obj:e,k:i(o.shift())}}function eJ(e,t,n){var i=eZ(e,t,Object);i.obj[i.k]=n}function eQ(e,t){var n=eZ(e,t),i=n.obj,r=n.k;if(i)return i[r]}function e0(e,t,n){var i=eQ(e,n);return void 0!==i?i:eQ(t,n)}function e1(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var e2={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function e5(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return e2[e]}):e}var e3="undefined"!=typeof window&&window.navigator&&void 0===window.navigator.userAgentData&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,e4=[" ",",","?","!",";"];function e6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function e8(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?e6(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):e6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var e7=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(e){var t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return eI(this,i),t=n.call(this),e3&&eW.call(eB(t)),t.data=e||{},t.options=r,void 0===t.options.keySeparator&&(t.options.keySeparator="."),void 0===t.options.ignoreJSONStructure&&(t.options.ignoreJSONStructure=!0),t}return eP(i,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,o=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure,a=[e,t];n&&"string"!=typeof n&&(a=a.concat(n)),n&&"string"==typeof n&&(a=a.concat(r?n.split(r):n)),e.indexOf(".")>-1&&(a=e.split("."));var s=eQ(this.data,a);return s||!o||"string"!=typeof n?s:function e(t,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(t){if(t[n])return t[n];for(var r=n.split(i),o=t,a=0;a<r.length;++a){if(!o||"string"==typeof o[r[a]]&&a+1<r.length)return;if(void 0===o[r[a]]){for(var s=2,l=r.slice(a,a+s).join(i),c=o[l];void 0===c&&r.length>a+s;)s++,c=o[l=r.slice(a,a+s).join(i)];if(void 0===c)return;if(null===c)return null;if(n.endsWith(l)){if("string"==typeof c)return c;if(l&&"string"==typeof c[l])return c[l]}var d=r.slice(a+s).join(i);if(d)return e(c,d,i);return}o=o[r[a]]}return o}}(this.data&&this.data[e]&&this.data[e][t],n,r)}},{key:"addResource",value:function(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=".");var a=[e,t];n&&(a=a.concat(o?n.split(o):n)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),eJ(this.data,a,i),r.silent||this.emit("added",e,t,n,i)}},{key:"addResources",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in n)("string"==typeof n[r]||"[object Array]"===Object.prototype.toString.apply(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});i.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=n,n=t,t=a[1]),this.addNamespaces(t);var s=eQ(this.data,a)||{};i?function e(t,n,i){for(var r in n)"__proto__"!==r&&"constructor"!==r&&(r in t?"string"==typeof t[r]||t[r]instanceof String||"string"==typeof n[r]||n[r]instanceof String?i&&(t[r]=n[r]):e(t[r],n[r],i):t[r]=n[r]);return t}(s,n,r):s=e8(e8({},s),n),eJ(this.data,a,s),o.silent||this.emit("added",e,t,n)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return(t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI)?e8(e8({},{}),this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"hasLanguageSomeTranslations",value:function(e){var t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(function(e){return t[e]&&Object.keys(t[e]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),i}(eW),e9={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,i,r){var o=this;return e.forEach(function(e){o.processors[e]&&(t=o.processors[e].process(t,n,i,r))}),t}};function te(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?te(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):te(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var tn={},ti=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(e){var t,r,o,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return eI(this,i),o=n.call(this),e3&&eW.call(eB(o)),t=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r=eB(o),t.forEach(function(t){e[t]&&(r[t]=e[t])}),o.options=a,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o.logger=e$.create("translator"),o}return eP(i,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;var n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS||[],o=n&&e.indexOf(n)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!function(e,t,n){t=t||"",n=n||"";var i=e4.filter(function(e){return 0>t.indexOf(e)&&0>n.indexOf(e)});if(0===i.length)return!0;var r=new RegExp("(".concat(i.map(function(e){return"?"===e?"\\?":e}).join("|"),")")),o=!r.test(e);if(!o){var a=e.indexOf(n);a>0&&!r.test(e.substring(0,a))&&(o=!0)}return o}(e,n,i);if(o&&!a){var s=e.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:e,namespaces:r};var l=e.split(n);(n!==i||n===i&&this.options.ns.indexOf(l[0])>-1)&&(r=l.shift()),e=l.join(i)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,t,n){var r=this;if("object"!==eD(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var o=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,a=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,s=this.extractFromKey(e[e.length-1],t),l=s.key,c=s.namespaces,d=c[c.length-1],u=t.lng||this.language,m=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&"cimode"===u.toLowerCase()){if(m){var h=t.nsSeparator||this.options.nsSeparator;return o?(f.res="".concat(d).concat(h).concat(l),f):"".concat(d).concat(h).concat(l)}return o?(f.res=l,f):l}var f=this.resolve(e,t),p=f&&f.res,b=f&&f.usedKey||l,g=f&&f.exactUsedKey||l,_=Object.prototype.toString.apply(p),y=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,x="string"!=typeof p&&"boolean"!=typeof p&&"number"!=typeof p;if(v&&p&&x&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(_)&&("string"!=typeof y||"[object Array]"!==_)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var w=this.options.returnedObjectHandler?this.options.returnedObjectHandler(b,p,tt(tt({},t),{},{ns:c})):"key '".concat(l," (").concat(this.language,")' returned an object instead of string.");return o?(f.res=w,f):w}if(a){var F="[object Array]"===_,k=F?[]:{},E=F?g:b;for(var A in p)if(Object.prototype.hasOwnProperty.call(p,A)){var T="".concat(E).concat(a).concat(A);k[A]=this.translate(T,tt(tt({},t),{joinArrays:!1,ns:c})),k[A]===T&&(k[A]=p[A])}p=k}}else if(v&&"string"==typeof y&&"[object Array]"===_)(p=p.join(y))&&(p=this.extendTranslation(p,e,t,n));else{var C=!1,M=!1,S=void 0!==t.count&&"string"!=typeof t.count,D=i.hasDefaultValue(t),I=S?this.pluralResolver.getSuffix(u,t.count,t):"",O=t["defaultValue".concat(I)]||t.defaultValue;!this.isValidLookup(p)&&D&&(C=!0,p=O),this.isValidLookup(p)||(M=!0,p=l);var R=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&M?void 0:p,P=D&&O!==p&&this.options.updateMissing;if(M||C||P){if(this.logger.log(P?"updateKey":"missingKey",u,d,l,P?O:p),a){var B=this.resolve(l,tt(tt({},t),{},{keySeparator:!1}));B&&B.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var z=[],Y=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&Y&&Y[0])for(var N=0;N<Y.length;N++)z.push(Y[N]);else"all"===this.options.saveMissingTo?z=this.languageUtils.toResolveHierarchy(t.lng||this.language):z.push(t.lng||this.language);var H=function(e,n,i){var o=D&&i!==p?i:R;r.options.missingKeyHandler?r.options.missingKeyHandler(e,d,n,o,P,t):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(e,d,n,o,P,t),r.emit("missingKey",e,d,n,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&S?z.forEach(function(e){r.pluralResolver.getSuffixes(e,t).forEach(function(n){H([e],l+n,t["defaultValue".concat(n)]||O)})}):H(z,l,O))}p=this.extendTranslation(p,e,t,f,n),M&&p===l&&this.options.appendNamespaceToMissingKey&&(p="".concat(d,":").concat(l)),(M||C)&&this.options.parseMissingKeyHandler&&(p="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(d,":").concat(l):l,C?p:void 0):this.options.parseMissingKeyHandler(p))}return o?(f.res=p,f):p}},{key:"extendTranslation",value:function(e,t,n,i,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,tt(tt({},this.options.interpolation.defaultVariables),n),i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(tt(tt({},n),{interpolation:tt(tt({},this.options.interpolation),n.interpolation)}));var a,s="string"==typeof e&&(n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);if(s){var l=e.match(this.interpolator.nestingRegexp);a=l&&l.length}var c=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(c=tt(tt({},this.options.interpolation.defaultVariables),c)),e=this.interpolator.interpolate(e,c,n.lng||this.language,n),s){var d=e.match(this.interpolator.nestingRegexp);a<(d&&d.length)&&(n.nest=!1)}!1!==n.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,i=Array(e),a=0;a<e;a++)i[a]=arguments[a];return r&&r[0]===i[0]&&!n.context?(o.logger.warn("It seems you are nesting recursively key: ".concat(i[0]," in key: ").concat(t[0])),null):o.translate.apply(o,i.concat([t]))},n)),n.interpolation&&this.interpolator.reset()}var u=n.postProcess||this.options.postProcess,m="string"==typeof u?[u]:u;return null!=e&&m&&m.length&&!1!==n.applyPostProcessor&&(e=e9.handle(m,e,t,this.options&&this.options.postProcessPassResolved?tt({i18nResolved:i},n):n,this)),e}},{key:"resolve",value:function(e){var t,n,i,r,o,a=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!a.isValidLookup(t)){var l=a.extractFromKey(e,s),c=l.key;n=c;var d=l.namespaces;a.options.fallbackNS&&(d=d.concat(a.options.fallbackNS));var u=void 0!==s.count&&"string"!=typeof s.count,m=u&&!s.ordinal&&0===s.count&&a.pluralResolver.shouldUseIntlApi(),h=void 0!==s.context&&("string"==typeof s.context||"number"==typeof s.context)&&""!==s.context,f=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);d.forEach(function(e){a.isValidLookup(t)||(o=e,!tn["".concat(f[0],"-").concat(e)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(o)&&(tn["".concat(f[0],"-").concat(e)]=!0,a.logger.warn('key "'.concat(n,'" for languages "').concat(f.join(", "),'" won\'t get resolved as namespace "').concat(o,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),f.forEach(function(n){if(!a.isValidLookup(t)){r=n;var o,l=[c];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(l,c,n,e,s);else{u&&(d=a.pluralResolver.getSuffix(n,s.count,s));var d,f="".concat(a.options.pluralSeparator,"zero");if(u&&(l.push(c+d),m&&l.push(c+f)),h){var p="".concat(c).concat(a.options.contextSeparator).concat(s.context);l.push(p),u&&(l.push(p+d),m&&l.push(p+f))}}for(;o=l.pop();)a.isValidLookup(t)||(i=o,t=a.getResource(n,e,o,s))}}))})}}),{res:t,usedKey:n,exactUsedKey:i,usedLng:r,usedNS:o}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,i):this.resourceStore.getResource(e,t,n,i)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}]),i}(eW);function tr(e){return e.charAt(0).toUpperCase()+e.slice(1)}var to=function(){function e(t){eI(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=e$.create("languageUtils")}return eP(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=tr(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=tr(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=tr(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach(function(e){if(!t){var i=n.formatLanguageCode(e);(!n.options.supportedLngs||n.isSupportedCode(i))&&(t=i)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var i=n.getLanguagePartFromCode(e);if(n.isSupportedCode(i))return t=i;t=n.options.supportedLngs.find(function(e){if(0===e.indexOf(i))return e})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,i=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],o=function(e){e&&(n.isSupportedCode(e)?r.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):"string"==typeof e&&o(this.formatLanguageCode(e)),i.forEach(function(e){0>r.indexOf(e)&&o(n.formatLanguageCode(e))}),r}}]),e}(),ta=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],ts={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&(e%10!=1||e%100==11)))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},tl=["v1","v2","v3"],tc={zero:0,one:1,two:2,few:3,many:4,other:5},td=function(){function e(t){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eI(this,e),this.languageUtils=t,this.options=i,this.logger=e$.create("pluralResolver"),this.options.compatibilityJSON&&"v4"!==this.options.compatibilityJSON||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=(n={},ta.forEach(function(e){e.lngs.forEach(function(t){n[t]={numbers:e.nr,plurals:ts[e.fc]}})}),n)}return eP(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(e,{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(e,t);return this.shouldUseIntlApi()?n&&n.resolvedOptions().pluralCategories.length>1:n&&n.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,n).map(function(e){return"".concat(t).concat(e)})}},{key:"getSuffixes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.getRule(e,n);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort(function(e,t){return tc[e]-tc[t]}).map(function(e){return"".concat(t.options.prepend).concat(e)}):i.numbers.map(function(i){return t.getSuffix(e,i,n)}):[]}},{key:"getSuffix",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.getRule(e,n);return i?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(i.select(t)):this.getSuffixRetroCompatible(i,t):(this.logger.warn("no plural rule found for: ".concat(e)),"")}},{key:"getSuffixRetroCompatible",value:function(e,t){var n=this,i=e.noAbs?e.plurals(t):e.plurals(Math.abs(t)),r=e.numbers[i];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===r?r="plural":1===r&&(r=""));var o=function(){return n.options.prepend&&r.toString()?n.options.prepend+r.toString():r.toString()};return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_".concat(r.toString()):o():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?o():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}},{key:"shouldUseIntlApi",value:function(){return!tl.includes(this.options.compatibilityJSON)}}]),e}();function tu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tu(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var th=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eI(this,e),this.logger=e$.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return eP(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:e5,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?e1(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?e1(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?e1(t.nestingPrefix):t.nestingPrefixEscaped||e1("$t("),this.nestingSuffix=t.nestingSuffix?e1(t.nestingSuffix):t.nestingSuffixEscaped||e1(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,i){var r,o,a,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(e){return e.replace(/\$/g,"$$$$")}var d=function(e){if(0>e.indexOf(s.formatSeparator)){var r=e0(t,l,e);return s.alwaysFormat?s.format(r,void 0,n,tm(tm(tm({},i),t),{},{interpolationkey:e})):r}var o=e.split(s.formatSeparator),a=o.shift().trim(),c=o.join(s.formatSeparator).trim();return s.format(e0(t,l,a),c,n,tm(tm(tm({},i),t),{},{interpolationkey:a}))};this.resetRegExp();var u=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,m=i&&i.interpolation&&void 0!==i.interpolation.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return c(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?c(s.escape(e)):c(e)}}].forEach(function(t){for(a=0;r=t.regex.exec(e);){var n=r[1].trim();if(void 0===(o=d(n)))if("function"==typeof u){var l=u(e,r,i);o="string"==typeof l?l:""}else if(i&&i.hasOwnProperty(n))o="";else if(m){o=r[0];continue}else s.logger.warn("missed to pass in variable ".concat(n," for interpolating ").concat(e)),o="";else"string"==typeof o||s.useRawValueToEscape||(o=eK(o));var c=t.safeValue(o);if(e=e.replace(r[0],c),m?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,++a>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var n,i,r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=tm({},o);function s(e,t){var n=this.nestingOptionsSeparator;if(0>e.indexOf(n))return e;var i=e.split(new RegExp("".concat(n,"[ ]*{"))),r="{".concat(i[1]);e=i[0];var o=(r=this.interpolate(r,a)).match(/'/g),s=r.match(/"/g);(o&&o.length%2==0&&!s||s.length%2!=0)&&(r=r.replace(/'/g,'"'));try{a=JSON.parse(r),t&&(a=tm(tm({},t),a))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(r)}return delete a.defaultValue,e}for(a.applyPostProcessor=!1,delete a.defaultValue;n=this.nestingRegexp.exec(e);){var l=[],c=!1;if(-1!==n[0].indexOf(this.formatSeparator)&&!/{.*}/.test(n[1])){var d=n[1].split(this.formatSeparator).map(function(e){return e.trim()});n[1]=d.shift(),l=d,c=!0}if((i=t(s.call(this,n[1].trim(),a),a))&&n[0]===e&&"string"!=typeof i)return i;"string"!=typeof i&&(i=eK(i)),i||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),i=""),c&&(i=l.reduce(function(e,t){return r.format(e,t,o.lng,tm(tm({},o),{},{interpolationkey:n[1].trim()}))},i.trim())),e=e.replace(n[0],i),this.regexp.lastIndex=0}return e}}]),e}();function tf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tf(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tf(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tb(e){var t={};return function(n,i,r){var o=i+JSON.stringify(r),a=t[o];return a||(a=e(i,r),t[o]=a),a(n)}}var tg=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eI(this,e),this.logger=e$.create("formatter"),this.options=t,this.formats={number:tb(function(e,t){var n=new Intl.NumberFormat(e,t);return function(e){return n.format(e)}}),currency:tb(function(e,t){var n=new Intl.NumberFormat(e,tp(tp({},t),{},{style:"currency"}));return function(e){return n.format(e)}}),datetime:tb(function(e,t){var n=new Intl.DateTimeFormat(e,tp({},t));return function(e){return n.format(e)}}),relativetime:tb(function(e,t){var n=new Intl.RelativeTimeFormat(e,tp({},t));return function(e){return n.format(e,t.range||"day")}}),list:tb(function(e,t){var n=new Intl.ListFormat(e,tp({},t));return function(e){return n.format(e)}})},this.init(t)}return eP(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=t.interpolation;this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||","}},{key:"add",value:function(e,t){this.formats[e.toLowerCase().trim()]=t}},{key:"addCached",value:function(e,t){this.formats[e.toLowerCase().trim()]=tb(t)}},{key:"format",value:function(e,t,n,i){var r=this;return t.split(this.formatSeparator).reduce(function(e,t){var o=function(e){var t=e.toLowerCase().trim(),n={};if(e.indexOf("(")>-1){var i=e.split("(");t=i[0].toLowerCase().trim();var r=i[1].substring(0,i[1].length-1);"currency"===t&&0>r.indexOf(":")?n.currency||(n.currency=r.trim()):"relativetime"===t&&0>r.indexOf(":")?n.range||(n.range=r.trim()):r.split(";").forEach(function(e){if(e){var t,i=function(e){if(Array.isArray(e))return e}(t=e.split(":"))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return eU(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eU(e,void 0)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),r=i[0],o=i.slice(1).join(":").trim().replace(/^'+|'+$/g,"");n[r.trim()]||(n[r.trim()]=o),"false"===o&&(n[r.trim()]=!1),"true"===o&&(n[r.trim()]=!0),isNaN(o)||(n[r.trim()]=parseInt(o,10))}})}return{formatName:t,formatOptions:n}}(t),a=o.formatName,s=o.formatOptions;if(r.formats[a]){var l=e;try{var c=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},d=c.locale||c.lng||i.locale||i.lng||n;l=r.formats[a](e,d,tp(tp(tp({},s),i),c))}catch(e){r.logger.warn(e)}return l}return r.logger.warn("there was no format function for ".concat(a)),e},e)}}]),e}();function t_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function ty(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?t_(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var tv=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(e,t,r){var o,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return eI(this,i),o=n.call(this),e3&&eW.call(eB(o)),o.backend=e,o.store=t,o.services=r,o.languageUtils=r.languageUtils,o.options=a,o.logger=e$.create("backendConnector"),o.waitingReads=[],o.maxParallelReads=a.maxParallelReads||10,o.readingCalls=0,o.maxRetries=a.maxRetries>=0?a.maxRetries:5,o.retryTimeout=a.retryTimeout>=1?a.retryTimeout:350,o.state={},o.queue=[],o.backend&&o.backend.init&&o.backend.init(r,a.backend,a),o}return eP(i,[{key:"queueLoad",value:function(e,t,n,i){var r=this,o={},a={},s={},l={};return e.forEach(function(e){var i=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!n.reload&&r.store.hasResourceBundle(e,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?void 0===a[s]&&(a[s]=!0):(r.state[s]=1,i=!1,void 0===a[s]&&(a[s]=!0),void 0===o[s]&&(o[s]=!0),void 0===l[t]&&(l[t]=!0)))}),i||(s[e]=!0)}),(Object.keys(o).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(o),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}},{key:"loaded",value:function(e,t,n){var i=e.split("|"),r=i[0],o=i[1];t&&this.emit("failedLoading",r,o,t),n&&this.store.addResourceBundle(r,o,n),this.state[e]=t?-1:2;var a={};this.queue.forEach(function(n){var i,s,l,c,d;i=n.loaded,(c=(l=eZ(i,[r],Object)).obj)[d=l.k]=c[d]||[],s||c[d].push(o),void 0!==n.pending[e]&&(delete n.pending[e],n.pendingCount--),t&&n.errors.push(t),0!==n.pendingCount||n.done||(Object.keys(n.loaded).forEach(function(e){a[e]||(a[e]={});var t=n.loaded[e];t.length&&t.forEach(function(t){void 0===a[e][t]&&(a[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,n){var i=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;return e.length?this.readingCalls>=this.maxParallelReads?void this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:o,callback:a}):(this.readingCalls++,this.backend[n](e,t,function(s,l){if(i.readingCalls--,i.waitingReads.length>0){var c=i.waitingReads.shift();i.read(c.lng,c.ns,c.fcName,c.tried,c.wait,c.callback)}if(s&&l&&r<i.maxRetries)return void setTimeout(function(){i.read.call(i,e,t,n,r+1,2*o,a)},o);a(s,l)})):a(null,{})}},{key:"prepareLoading",value:function(e,t){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var o=this.queueLoad(e,t,i,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach(function(e){n.loadOne(e)})}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=e.split("|"),r=i[0],o=i[1];this.read(r,o,"read",void 0,void 0,function(i,a){i&&t.logger.warn("".concat(n,"loading namespace ").concat(o," for language ").concat(r," failed"),i),!i&&a&&t.logger.log("".concat(n,"loaded namespace ").concat(o," for language ").concat(r),a),t.loaded(e,i,a)})}},{key:"saveMissing",value:function(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))return void this.logger.warn('did not save key "'.concat(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");null!=n&&""!==n&&(this.backend&&this.backend.create&&this.backend.create(e,t,n,i,null,ty(ty({},o),{},{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,n,i))}}]),i}(eW);function tx(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&0>e.supportedLngs.indexOf("cimode")&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function tw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function tF(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tw(Object(n),!0).forEach(function(t){ej(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tw(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function tk(){}var tE=function(e){eY(i,e);var t,n=(t=function(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,n=eH(i);return e=t?Reflect.construct(n,arguments,eH(this).constructor):n.apply(this,arguments),eN(this,e)});function i(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(eI(this,i),t=n.call(this),e3&&eW.call(eB(t)),t.options=tx(r),t.services={},t.logger=e$,t.modules={external:[]},Object.getOwnPropertyNames(Object.getPrototypeOf(e=eB(t))).forEach(function(t){"function"==typeof e[t]&&(e[t]=e[t].bind(e))}),o&&!t.isInitialized&&!r.isClone){if(!t.options.initImmediate)return t.init(r,o),eN(t,eB(t));setTimeout(function(){t.init(r,o)},0)}return t}return eP(i,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(n=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:0>t.ns.indexOf("translation")&&(t.defaultNS=t.ns[0]));var i={debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===eD(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===eD(e[2])||"object"===eD(e[3])){var n=e[3]||e[2];Object.keys(n).forEach(function(e){t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,n,i){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}};function r(e){return e?"function"==typeof e?new e:e:null}if(this.options=tF(tF(tF({},i),this.options),tx(t)),"v1"!==this.options.compatibilityAPI&&(this.options.interpolation=tF(tF({},i.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){this.modules.logger?e$.init(r(this.modules.logger),this.options):e$.init(null,this.options),this.modules.formatter?o=this.modules.formatter:"undefined"!=typeof Intl&&(o=tg);var o,a=new to(this.options);this.store=new e7(this.options.resources,this.options);var s=this.services;s.logger=e$,s.resourceStore=this.store,s.languageUtils=a,s.pluralResolver=new td(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),o&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(s.formatter=r(o),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new th(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new tv(r(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.emit.apply(e,[t].concat(i))}),this.modules.languageDetector&&(s.languageDetector=r(this.modules.languageDetector),s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=r(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new ti(this.services,this.options),this.translator.on("*",function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.emit.apply(e,[t].concat(i))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}if(this.format=this.options.interpolation.format,n||(n=tk),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&"dev"!==l[0]&&(this.options.lng=l[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}});var c=eX(),d=function(){var t=function(t,i){e.isInitialized&&!e.initializedStoreOnce&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),c.resolve(i),n(t,i)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?d():setTimeout(d,0),c}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tk,i=n,r="string"==typeof e?e:this.language;if("function"==typeof e&&(i=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&"cimode"===r.toLowerCase())return i();var o=[],a=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){0>o.indexOf(e)&&o.push(e)})};r?a(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return a(e)}),this.options.preload&&this.options.preload.forEach(function(e){return a(e)}),this.services.backendConnector.load(o,this.options.ns,function(e){e||t.resolvedLanguage||!t.language||t.setResolvedLanguage(t.language),i(e)})}else i(null)}},{key:"reloadResources",value:function(e,t,n){var i=eX();return e||(e=this.languages),t||(t=this.options.ns),n||(n=tk),this.services.backendConnector.reload(e,t,function(e){i.resolve(),n(e)}),i}},{key:"use",value:function(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&e9.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"setResolvedLanguage",value:function(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(var t=0;t<this.languages.length;t++){var n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var i=eX();this.emit("languageChanging",e);var r=function(e){n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.resolvedLanguage=void 0,n.setResolvedLanguage(e)},o=function(e,o){o?(r(o),n.translator.changeLanguage(o),n.isLanguageChangingTo=void 0,n.emit("languageChanged",o),n.logger.log("languageChanged",o)):n.isLanguageChangingTo=void 0,i.resolve(function(){return n.t.apply(n,arguments)}),t&&t(e,function(){return n.t.apply(n,arguments)})},a=function(t){e||t||!n.services.languageDetector||(t=[]);var i="string"==typeof t?t:n.services.languageUtils.getBestMatchFromCodes(t);i&&(n.language||r(i),n.translator.language||n.translator.changeLanguage(i),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(i)),n.loadResources(i,function(e){o(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),i}},{key:"getFixedT",value:function(e,t,n){var i=this,r=function e(t,r){if("object"!==eD(r)){for(var o,a=arguments.length,s=Array(a>2?a-2:0),l=2;l<a;l++)s[l-2]=arguments[l];o=i.options.overloadTranslationOptionHandler([t,r].concat(s))}else o=tF({},r);o.lng=o.lng||e.lng,o.lngs=o.lngs||e.lngs,o.ns=o.ns||e.ns,o.keyPrefix=o.keyPrefix||n||e.keyPrefix;var c=i.options.keySeparator||".",d=o.keyPrefix?"".concat(o.keyPrefix).concat(c).concat(t):t;return i.t(d,o)};return"string"==typeof e?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var i=this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if("cimode"===i.toLowerCase())return!0;var a=function(e,n){var i=t.services.backendConnector.state["".concat(e,"|").concat(n)];return -1===i||2===i};if(n.precheck){var s=n.precheck(this,a);if(void 0!==s)return s}return!!(this.hasResourceBundle(i,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(i,e)&&(!r||a(o,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,i=eX();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>n.options.ns.indexOf(e)&&n.options.ns.push(e)}),this.loadResources(function(e){i.resolve(),t&&t(e)}),i):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=eX();"string"==typeof e&&(e=[e]);var i=this.options.preload||[],r=e.filter(function(e){return 0>i.indexOf(e)});return r.length?(this.options.preload=i.concat(r),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr":"rtl"}},{key:"cloneInstance",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tk,r=tF(tF(tF({},this.options),t),{isClone:!0}),o=new i(r);return(void 0!==t.debug||void 0!==t.prefix)&&(o.logger=o.logger.clone(t)),["store","services","language"].forEach(function(t){o[t]=e[t]}),o.services=tF({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new ti(o.services,o.options),o.translator.on("*",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];o.emit.apply(o,[e].concat(n))}),o.init(r,n),o.translator.options=o.options,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),i}(eW);ej(tE,"createInstance",function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new tE(e,t)});var tA=tE.createInstance();tA.createInstance=tE.createInstance,tA.createInstance,tA.init,tA.loadResources,tA.reloadResources,tA.use,tA.changeLanguage,tA.getFixedT,tA.t,tA.exists,tA.setDefaultNamespace,tA.hasLoadedNamespace,tA.loadNamespaces,tA.loadLanguages;let tT=tA;var tC=n(3348),tM=n.n(tC);!function(e){e.CREATE="CREATE",e.UPDATE="UPDATE",e.DELETE="DELETE"}(t||(t={})),function(e){e.LOW="LOW",e.MEDIUM="MEDIUM",e.HIGH="HIGH"}(r||(r={})),function(e){e.MANUAL="MANUAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET",e.AGENT="AGENT"}(o||(o={})),function(e){e.OPEN="OPEN",e.ACKNOWLEDGED="ACKNOWLEDGED",e.IN_PROGRESS="IN_PROGRESS",e.RESOLVED="RESOLVED",e.CLOSED="CLOSED"}(a||(a={})),function(e){e.BOTTOM_LEFT="BOTTOM_LEFT",e.BOTTOM_RIGHT="BOTTOM_RIGHT",e.TOP_LEFT="TOP_LEFT",e.TOP_RIGHT="TOP_RIGHT"}(s||(s={})),function(e){e.CREATE="CREATE",e.READ="READ",e.UPDATE="UPDATE",e.DELETE="DELETE"}(l||(l={})),function(e){e.NONE="NONE",e.FORECAST="FORECAST",e.SETPOINT="SETPOINT"}(c||(c={})),function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.DISCONNECTING="DISCONNECTING",e.CONNECTED="CONNECTED",e.DISABLED="DISABLED",e.WAITING="WAITING",e.ERROR="ERROR",e.STOPPED="STOPPED"}(d||(d={})),function(e){e.EV="EV",e.PHEV="PHEV"}(u||(u={})),function(e){e.YAZAKI="YAZAKI",e.MENNEKES="MENNEKES",e.LE_GRAND="LE_GRAND",e.CHADEMO="CHADEMO",e.COMBO="COMBO",e.SCHUKO="SCHUKO",e.ENERGYLOCK="ENERGYLOCK"}(m||(m={})),function(e){e.SOUTH="SOUTH",e.EAST_WEST="EAST_WEST"}(h||(h={})),function(e){e.REQUEST_START="REQUEST_START",e.REQUEST_REPEATING="REQUEST_REPEATING",e.REQUEST_CANCEL="REQUEST_CANCEL",e.READY="READY",e.COMPLETED="COMPLETED",e.RUNNING="RUNNING",e.CANCELLED="CANCELLED"}(f||(f={})),function(e){e.TOGGLE="TOGGLE",e.INCREMENT="INCREMENT",e.DECREMENT="DECREMENT",e.NEGATE="NEGATE"}(p||(p={})),function(e){e.ASSET_NOT_FOUND="ASSET_NOT_FOUND",e.ATTRIBUTE_NOT_FOUND="ATTRIBUTE_NOT_FOUND",e.INSUFFICIENT_ACCESS="INSUFFICIENT_ACCESS",e.INVALID_VALUE="INVALID_VALUE",e.INTERCEPTOR_FAILURE="INTERCEPTOR_FAILURE",e.STATE_STORAGE_FAILED="STATE_STORAGE_FAILED",e.CANNOT_PROCESS="CANNOT_PROCESS",e.QUEUE_FULL="QUEUE_FULL",e.UNKNOWN="UNKNOWN",e.ASSET_ID_MISSING="ASSET_ID_MISSING",e.ATTRIBUTE_NAME_MISSING="ATTRIBUTE_NAME_MISSING"}(b||(b={})),function(e){e.PUBLIC="PUBLIC",e.SHARED="SHARED",e.PRIVATE="PRIVATE"}(g||(g={})),function(e){e.OFF="OFF",e.ONE_MIN="ONE_MIN",e.FIVE_MIN="FIVE_MIN",e.QUARTER="QUARTER",e.ONE_HOUR="ONE_HOUR"}(_||(_={})),function(e){e.WRAP_TO_SINGLE_COLUMN="WRAP_TO_SINGLE_COLUMN",e.KEEP_LAYOUT="KEEP_LAYOUT",e.REDIRECT="REDIRECT",e.BLOCK_DEVICE="BLOCK_DEVICE"}(y||(y={})),function(e){e.MINUTE="MINUTE",e.HOUR="HOUR",e.DAY="DAY",e.WEEK="WEEK",e.MONTH="MONTH",e.YEAR="YEAR"}(v||(v={})),function(e){e.MIN="MIN",e.AVG="AVG",e.MAX="MAX",e.DIFFERENCE="DIFFERENCE",e.COUNT="COUNT",e.SUM="SUM",e.MODE="MODE",e.MEDIAN="MEDIAN"}(x||(x={})),function(e){e.TERMINATING="TERMINATING",e.DISABLED="DISABLED",e.ALREADY_CONNECTED="ALREADY_CONNECTED",e.UNRECOGNISED="UNRECOGNISED",e.PERMANENT_ERROR="PERMANENT_ERROR",e.SYNC_ERROR="SYNC_ERROR"}(w||(w={})),function(e){e.HTTPS="HTTPS",e.HTTP="HTTP",e.TCP="TCP"}(F||(F={})),function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.DELETE="DELETE",e.OPTIONS="OPTIONS",e.PATCH="PATCH"}(k||(k={})),function(e){e.KEYCLOAK="KEYCLOAK",e.BASIC="BASIC",e.NONE="NONE"}(E||(E={})),function(e){e.WEBSOCKET="WEBSOCKET",e.POLLING="POLLING"}(A||(A={})),function(e){e.VECTOR="VECTOR",e.RASTER="RASTER"}(T||(T={})),function(e){e.INTERNAL="INTERNAL",e.CLIENT="CLIENT",e.GLOBAL_RULESET="GLOBAL_RULESET",e.REALM_RULESET="REALM_RULESET",e.ASSET_RULESET="ASSET_RULESET"}(C||(C={})),function(e){e.REALM="REALM",e.USER="USER",e.ASSET="ASSET",e.CUSTOM="CUSTOM"}(M||(M={})),function(e){e.NORMAL="NORMAL",e.HIGH="HIGH"}(S||(S={})),function(e){e.DEVICE="DEVICE",e.TOPIC="TOPIC",e.CONDITION="CONDITION"}(D||(D={})),function(e){e.ALWAYS="ALWAYS",e.ONCE="ONCE",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.ANNUALLY="ANNUALLY"}(I||(I={})),function(e){e.MESSAGE_INVALID="MESSAGE_INVALID",e.CERTIFICATE_INVALID="CERTIFICATE_INVALID",e.UNAUTHORIZED="UNAUTHORIZED",e.FORBIDDEN="FORBIDDEN",e.UNIQUE_ID_MISMATCH="UNIQUE_ID_MISMATCH",e.CONFIG_DISABLED="CONFIG_DISABLED",e.USER_DISABLED="USER_DISABLED",e.SERVER_ERROR="SERVER_ERROR",e.ASSET_ERROR="ASSET_ERROR",e.SERVER_BUSY="SERVER_BUSY"}(O||(O={})),function(e){e.PRIVATE="PRIVATE",e.PROTECTED="PROTECTED",e.PUBLIC="PUBLIC"}(R||(R={})),function(e){e.EXACT="EXACT",e.BEGIN="BEGIN",e.END="END",e.CONTAINS="CONTAINS"}(P||(P={})),function(e){e.EQUALS="EQUALS",e.GREATER_THAN="GREATER_THAN",e.GREATER_EQUALS="GREATER_EQUALS",e.LESS_THAN="LESS_THAN",e.LESS_EQUALS="LESS_EQUALS",e.BETWEEN="BETWEEN"}(B||(B={})),function(e){e.CREATED_ON="CREATED_ON",e.NAME="NAME",e.ASSET_TYPE="ASSET_TYPE",e.PARENT_ID="PARENT_ID",e.REALM="REALM"}(z||(z={})),function(e){e.RESTRICTED="RESTRICTED",e.LINKED="LINKED",e.REALM="REALM"}(Y||(Y={})),function(e){e.AT_LEAST_ONE="AT_LEAST_ONE",e.ALL="ALL",e.NONE="NONE"}(N||(N={})),function(e){e.AND="AND",e.OR="OR"}(H||(H={})),function(e){e.CREATED_ON="CREATED_ON",e.FIRST_NAME="FIRST_NAME",e.LAST_NAME="LAST_NAME",e.USERNAME="USERNAME",e.EMAIL="EMAIL"}(j||(j={})),function(e){e.STOPPED="STOPPED",e.RUNNING="RUNNING",e.ERROR="ERROR"}(U||(U={})),function(e){e.JAVASCRIPT="JAVASCRIPT",e.GROOVY="GROOVY",e.JSON="JSON",e.FLOW="FLOW"}(V||(V={})),function(e){e.READY="READY",e.DEPLOYED="DEPLOYED",e.COMPILATION_ERROR="COMPILATION_ERROR",e.VALIDITY_PERIOD_ERROR="VALIDITY_PERIOD_ERROR",e.EXECUTION_ERROR="EXECUTION_ERROR",e.LOOP_ERROR="LOOP_ERROR",e.DISABLED="DISABLED",e.PAUSED="PAUSED",e.EXPIRED="EXPIRED",e.REMOVED="REMOVED",e.EMPTY="EMPTY"}(q||(q={})),function(e){e.SUNRISE="SUNRISE",e.SUNSET="SUNSET",e.TWILIGHT_MORNING_VISUAL="TWILIGHT_MORNING_VISUAL",e.TWILIGHT_MORNING_VISUAL_LOWER="TWILIGHT_MORNING_VISUAL_LOWER",e.TWILIGHT_MORNING_HORIZON="TWILIGHT_MORNING_HORIZON",e.TWILIGHT_MORNING_CIVIL="TWILIGHT_MORNING_CIVIL",e.TWILIGHT_MORNING_NAUTICAL="TWILIGHT_MORNING_NAUTICAL",e.TWILIGHT_MORNING_ASTRONOMICAL="TWILIGHT_MORNING_ASTRONOMICAL",e.TWILIGHT_MORNING_GOLDEN_HOUR="TWILIGHT_MORNING_GOLDEN_HOUR",e.TWILIGHT_MORNING_BLUE_HOUR="TWILIGHT_MORNING_BLUE_HOUR",e.TWILIGHT_MORNING_NIGHT_HOUR="TWILIGHT_MORNING_NIGHT_HOUR",e.TWILIGHT_EVENING_VISUAL="TWILIGHT_EVENING_VISUAL",e.TWILIGHT_EVENING_VISUAL_LOWER="TWILIGHT_EVENING_VISUAL_LOWER",e.TWILIGHT_EVENING_HORIZON="TWILIGHT_EVENING_HORIZON",e.TWILIGHT_EVENING_CIVIL="TWILIGHT_EVENING_CIVIL",e.TWILIGHT_EVENING_NAUTICAL="TWILIGHT_EVENING_NAUTICAL",e.TWILIGHT_EVENING_ASTRONOMICAL="TWILIGHT_EVENING_ASTRONOMICAL",e.TWILIGHT_EVENING_GOLDEN_HOUR="TWILIGHT_EVENING_GOLDEN_HOUR",e.TWILIGHT_EVENING_BLUE_HOUR="TWILIGHT_EVENING_BLUE_HOUR",e.TWILIGHT_EVENING_NIGHT_HOUR="TWILIGHT_EVENING_NIGHT_HOUR"}(G||(G={})),function(e){e.NUMBER="NUMBER",e.NUMBER_ARRAY="NUMBER_ARRAY",e.STRING="STRING",e.BOOLEAN="BOOLEAN",e.TRIGGER="TRIGGER",e.COLOR="COLOR",e.ANY="ANY"}($||($={})),function(e){e.NEW_LINE="NEW_LINE",e.SPACER="SPACER"}(W||(W={})),function(e){e.INPUT="INPUT",e.PROCESSOR="PROCESSOR",e.OUTPUT="OUTPUT",e.THEN="THEN"}(X||(X={})),function(e){e.TEXT="TEXT",e.MULTILINE="MULTILINE",e.NUMBER="NUMBER",e.DROPDOWN="DROPDOWN",e.DOUBLE_DROPDOWN="DOUBLE_DROPDOWN",e.CHECKBOX="CHECKBOX",e.ASSET_ATTRIBUTE="ASSET_ATTRIBUTE",e.COLOR="COLOR",e.DATE="DATE"}(K||(K={})),function(e){e.ADD="ADD",e.ADD_OR_REPLACE="ADD_OR_REPLACE",e.REPLACE="REPLACE",e.DELETE="DELETE",e.CLEAR="CLEAR"}(Z||(Z={})),function(e){e.PER_ASSET="PER_ASSET",e.GLOBAL="GLOBAL"}(J||(J={})),function(e){e.READ_ADMIN="read:admin",e.READ_LOGS="read:logs",e.READ_USERS="read:users",e.READ_MAP="read:map",e.READ_ASSETS="read:assets",e.READ_RULES="read:rules",e.READ_INSIGHTS="read:insights",e.READ_ALARMS="read:alarms",e.READ_SERVICES="read:services",e.WRITE_SERVICES="write:services",e.WRITE_USER="write:user",e.WRITE_ADMIN="write:admin",e.WRITE_LOGS="write:logs",e.WRITE_ASSETS="write:assets",e.WRITE_ATTRIBUTES="write:attributes",e.WRITE_RULES="write:rules",e.WRITE_INSIGHTS="write:insights",e.WRITE_ALARMS="write:alarms",e.READ="read",e.WRITE="write"}(Q||(Q={})),function(e){e.REGISTER="REGISTER",e.UPDATE="UPDATE",e.DEREGISTER="DEREGISTER"}(ee||(ee={})),function(e){e.AVAILABLE="AVAILABLE",e.UNAVAILABLE="UNAVAILABLE"}(et||(et={})),function(e){e.ASSET="ASSET",e.AGENT="AGENT",e.NOTIFICATION="NOTIFICATION",e.ALARM="ALARM",e.RULES="RULES",e.PROTOCOL="PROTOCOL",e.GATEWAY="GATEWAY",e.MODEL_AND_VALUES="MODEL_AND_VALUES",e.API="API",e.DATA="DATA"}(en||(en={})),function(e){e.INFO="INFO",e.WARN="WARN",e.ERROR="ERROR"}(ei||(ei={})),function(e){e.NUMERIC="numeric",e.DIGIT_2="2-digit",e.FULL="full",e.LONG="long",e.MEDIUM="medium",e.SHORT="short",e.NARROW="narrow"}(er||(er={})),function(e){e.SECONDLY="SECONDLY",e.MINUTELY="MINUTELY",e.HOURLY="HOURLY",e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.YEARLY="YEARLY"}(eo||(eo={})),function(e){e.OMIT="OMIT",e.BACKWARD="BACKWARD",e.FORWARD="FORWARD"}(ea||(ea={})),function(e){e.JAPANESE="JAPANESE",e.BUDDHIST="BUDDHIST",e.ROC="ROC",e.ISLAMIC="ISLAMIC",e.ISO8601="ISO8601",e.CHINESE="CHINESE",e.ETHIOPIC="ETHIOPIC",e.HEBREW="HEBREW",e.GREGORIAN="GREGORIAN"}(es||(es={})),function(e){e.SU="SU",e.MO="MO",e.TU="TU",e.WE="WE",e.TH="TH",e.FR="FR",e.SA="SA"}(el||(el={})),function(e){e.PEOPLECOUNTERASSET="PeopleCounterAsset",e.STORAGESIMULATORAGENT="StorageSimulatorAgent",e.CITYASSET="CityAsset",e.ELECTRICITYCONSUMERASSET="ElectricityConsumerAsset",e.ELECTRICVEHICLEASSET="ElectricVehicleAsset",e.CONSOLEASSET="ConsoleAsset",e.PRESENCESENSORASSET="PresenceSensorAsset",e.LIGHTASSET="LightAsset",e.THETHINGSSTACKAGENT="TheThingsStackAgent",e.PLUGASSET="PlugAsset",e.ELECTRICITYCHARGERASSET="ElectricityChargerAsset",e.ELECTRICITYBATTERYASSET="ElectricityBatteryAsset",e.ELECTRICITYSUPPLIERASSET="ElectricitySupplierAsset",e.TCPAGENT="TCPAgent",e.SERIALAGENT="SerialAgent",e.BLUETOOTHMESHAGENT="BluetoothMeshAgent",e.SNMPAGENT="SNMPAgent",e.GROUPASSET="GroupAsset",e.BUILDINGASSET="BuildingAsset",e.ELECTRICITYPRODUCERWINDASSET="ElectricityProducerWindAsset",e.ENVIRONMENTSENSORASSET="EnvironmentSensorAsset",e.MQTTAGENT="MQTTAgent",e.MICROPHONEASSET="MicrophoneAsset",e.MODBUSTCPAGENT="ModbusTcpAgent",e.HTTPAGENT="HTTPAgent",e.DOORASSET="DoorAsset",e.ELECTRICITYPRODUCERASSET="ElectricityProducerAsset",e.MAILAGENT="MailAgent",e.UDPAGENT="UDPAgent",e.ROOMASSET="RoomAsset",e.VENTILATIONASSET="VentilationAsset",e.TRADFRILIGHTASSET="TradfriLightAsset",e.KNXAGENT="KNXAgent",e.OPENWEATHERMAPAGENT="OpenWeatherMapAgent",e.CHIRPSTACKAGENT="ChirpStackAgent",e.WEATHERASSET="WeatherAsset",e.THINGASSET="ThingAsset",e.WEBSOCKETAGENT="WebsocketAgent",e.GATEWAYASSET="GatewayAsset",e.PARKINGASSET="ParkingAsset",e.TRADFRIPLUGASSET="TradfriPlugAsset",e.SIMULATORAGENT="SimulatorAgent",e.MODBUSSERIALAGENT="ModbusSerialAgent",e.ELECTRICVEHICLEFLEETGROUPASSET="ElectricVehicleFleetGroupAsset",e.VELBUSTCPAGENT="VelbusTCPAgent",e.ARTNETLIGHTASSET="ArtnetLightAsset",e.VELBUSSERIALAGENT="VelbusSerialAgent",e.GROUNDWATERSENSORASSET="GroundwaterSensorAsset",e.ELECTRICITYPRODUCERSOLARASSET="ElectricityProducerSolarAsset",e.ENERGYOPTIMISATIONASSET="EnergyOptimisationAsset",e.ZWAVEAGENT="ZWaveAgent",e.THERMOSTATASSET="ThermostatAsset",e.SHIPASSET="ShipAsset"}(ec||(ec={})),function(e){e.SUPPORTSEXPORT="supportsExport",e.MQTTPORT="MQTTPort",e.ENERGYSELFCONSUMPTION="energySelfConsumption",e.LASTACCESS="lastAccess",e.CHARGERID="chargerID",e.POSITION="position",e.CARBONSAVING="carbonSaving",e.ROUTINGMODE="routingMode",e.LASTWILLRETAIN="lastWillRetain",e.LASTWILLTOPIC="lastWillTopic",e.SERIALBAUDRATE="serialBaudrate",e.BASEURL="baseURL",e.REQUIREDVALUES="requiredValues",e.FINANCIALSAVING="financialSaving",e.FLEETCATEGORY="fleetCategory",e.GATEWAYSTATUS="gatewayStatus",e.NO2LEVEL="NO2Level",e.ATMOSPHERICPRESSURE="atmosphericPressure",e.TAGS="tags",e.UNLOCK="unlock",e.MILEAGEMIN="mileageMin",e.CHECKINTERVALSECONDS="checkIntervalSeconds",e.LOCATION="location",e.CLIENTSECRET="clientSecret",e.WINDDIRECTION="windDirection",e.WINDSPEED="windSpeed",e.PARTICLESPM10="particlesPM10",e.APPLICATIONKEY="applicationKey",e.POWEREXPORTMAX="powerExportMax",e.SETWINDACTUALVALUEWITHFORECAST="setWindActualValueWithForecast",e.WATERLEVEL="waterLevel",e.CONSOLENAME="consoleName",e.CONNECTHEADERS="connectHeaders",e.WEBSOCKETQUERY="websocketQuery",e.PREFERHTML="preferHTML",e.COOLING="cooling",e.POLLINGMILLIS="pollingMillis",e.SOILTEMPERATURE="soilTemperature",e.SUNIRRADIANCE="sunIrradiance",e.ODOMETER="odometer",e.SUPPORTSIMPORT="supportsImport",e.MESSAGEMAXLENGTH="messageMaxLength",e.WINDGUSTSPEED="windGustSpeed",e.ENERGYLEVELPERCENTAGEMIN="energyLevelPercentageMin",e.LIGHTID="lightId",e.POWER="power",e.STREET="street",e.DELETEPROCESSEDMAIL="deleteProcessedMail",e.WINDSPEEDMIN="windSpeedMin",e.POWERSETPOINT="powerSetpoint",e.PRESENCE="presence",e.SPACESOCCUPIED="spacesOccupied",e.STARTTLS="startTLS",e.AGENTSTATUS="agentStatus",e.MESSAGECHARSET="messageCharset",e.CERTIFICATEALIAS="certificateAlias",e.PANELPITCH="panelPitch",e.EMAIL="email",e.BINDPORT="bindPort",e.PARTICLESPM1="particlesPM1",e.SPEED="speed",e.ENERGYLEVELPERCENTAGEMAX="energyLevelPercentageMax",e.MESSAGESTRIPDELIMITER="messageStripDelimiter",e.AREA="area",e.COUNTRY="country",e.SHIPTYPE="shipType",e.CONNECTSUBSCRIPTIONS="connectSubscriptions",e.RELATIVEHUMIDITY="relativeHumidity",e.INCLUDEFORECASTWINDSERVICE="includeForecastWindService",e.SOURCEADDRESS="sourceAddress",e.RAINFALL="rainfall",e.ENERGYIMPORTTOTAL="energyImportTotal",e.OAUTHGRANT="oAuthGrant",e.OZONELEVEL="ozoneLevel",e.COUNTINMINUTE="countInMinute",e.PORT="port",e.TUNNELINGSUPPORTED="tunnelingSupported",e.ENINUMBER="ENINumber",e.AGENTDISABLED="agentDisabled",e.DISABLED="disabled",e.FORCECHARGE="forceCharge",e.TIMEINJECTIONINTERVAL="timeInjectionInterval",e.FINANCIALWEIGHTING="financialWeighting",e.ENERGYLEVELPERCENTAGE="energyLevelPercentage",e.SPACESBUFFER="spacesBuffer",e.VEHICLECATEGORY="vehicleCategory",e.FANSPEED="fanSpeed",e.FINANCIALCOST="financialCost",e.NOTES="notes",e.MAILFOLDERNAME="mailFolderName",e.TEMPERATURE="temperature",e.AVAILABLECHARGINGSPACES="availableChargingSpaces",e.ENERGYCAPACITY="energyCapacity",e.POWERIMPORTMIN="powerImportMin",e.INTERVALSIZE="intervalSize",e.SNMPVERSIONVALUE="SNMPVersionValue",e.SOUNDLEVEL="soundLevel",e.UNITID="unitId",e.STOPBITS="stopBits",e.CONNECTURL="connectURL",e.CLIENTID="clientId",e.VEHICLEID="vehicleID",e.SUNAZIMUTH="sunAzimuth",e.AVAILABLEDISCHARGINGSPACES="availableDischargingSpaces",e.WEBSOCKETMODE="websocketMode",e.COLOURTEMPERATURE="colourTemperature",e.VEHICLECONNECTED="vehicleConnected",e.DATABITS="dataBits",e.MILEAGEMINIMUM="mileageMinimum",e.COLOURRGB="colourRGB",e.CARBONIMPORT="carbonImport",e.WILDCARDSUBSCRIPTIONTOPICS="wildcardSubscriptionTopics",e.PRICEHOURLY="priceHourly",e.WINDSPEEDMAX="windSpeedMax",e.PINGDISABLED="pingDisabled",e.FLOW="flow",e.CHILDASSETTYPE="childAssetType",e.NETWORKKEY="networkKey",e.UNIVERSE="universe",e.MSSINUMBER="MSSINumber",e.SUBSCRIBEQOS="subscribeQos",e.LEDCOUNT="lEDCount",e.LOCKED="locked",e.CLOUDCOVERAGE="cloudCoverage",e.PROTOCOL="protocol",e.TARIFFIMPORT="tariffImport",e.ENERGYRENEWABLESHARE="energyRenewableShare",e.REGION="region",e.CONSOLEPLATFORM="consolePlatform",e.POWEREXPORTMIN="powerExportMin",e.EFFICIENCYEXPORT="efficiencyExport",e.CHARGECYCLES="chargeCycles",e.SERIALPORT="serialPort",e.APPLICATIONID="applicationId",e.PANELORIENTATION="panelOrientation",e.LENGTH="length",e.PROBABILITYOFPRECIPITATION="probabilityOfPrecipitation",e.USERNAMEPASSWORD="usernamePassword",e.POWERFORECAST="powerForecast",e.SETACTUALSOLARVALUEWITHFORECAST="setActualSolarValueWithForecast",e.REQUESTQUERYPARAMETERS="requestQueryParameters",e.PROXYADDRESS="proxyAddress",e.MQTTHOST="MQTTHost",e.ENERGYLOCAL="energyLocal",e.ENERGYAUTARKY="energyAutarky",e.MODEL="model",e.MANUFACTURER="manufacturer",e.ONOFF="onOff",e.RESUMESESSION="resumeSession",e.TARIFFEXPORT="tariffExport",e.APIKEY="ApiKey",e.CITY="city",e.CONNECTORTYPE="connectorType",e.ENERGYEXPORTTOTAL="energyExportTotal",e.CARBONEXPORT="carbonExport",e.REQUESTTIMEOUTMILLIS="requestTimeoutMillis",e.ENERGYLEVEL="energyLevel",e.OPTIMISATIONDISABLED="optimisationDisabled",e.WEBSOCKETPATH="websocketPath",e.WINDSPEEDREFERENCE="windSpeedReference",e.PRICEDAILY="priceDaily",e.COUNTGROWTHMINUTE="countGrowthMinute",e.IMONUMBER="IMONumber",e.ATTRIBUTION="Attribution",e.INCLUDEFORECASTSOLARSERVICE="includeForecastSolarService",e.REQUESTHEADERS="requestHeaders",e.TENANTID="tenantId",e.HOST="host",e.COUNTOUTMINUTE="countOutMinute",e.ENERGYTYPE="energyType",e.CONSOLEVERSION="consoleVersion",e.MTU="mtu",e.PANELAZIMUTH="panelAzimuth",e.SEQUENCENUMBER="sequenceNumber",e.SUNALTITUDE="sunAltitude",e.COUNTOUT="countOut",e.CHARGERCONNECTED="chargerConnected",e.ROOMNUMBER="roomNumber",e.PARTICLESPM2_5="particlesPM2_5",e.MESSAGESOURCEADDRESS="messageSourceAddress",e.COUNTIN="countIn",e.MILEAGECHARGED="mileageCharged",e.PROVISIONWEATHERASSET="ProvisionWeatherAsset",e.TEMPERATURESETPOINT="temperatureSetpoint",e.CONSOLEPROVIDERS="consoleProviders",e.POWERIMPORTMAX="powerImportMax",e.COUNTTOTAL="countTotal",e.SPACESTOTAL="spacesTotal",e.BINDHOST="bindHost",e.MESSAGECONVERTBINARY="messageConvertBinary",e.MESSAGEDELIMITERS="messageDelimiters",e.EFFICIENCYIMPORT="efficiencyImport",e.SUNZENITH="sunZenith",e.BRIGHTNESS="brightness",e.POSTALCODE="postalCode",e.SPACESOPEN="spacesOpen",e.HUMIDITY="humidity",e.SECUREMODE="secureMode",e.MILEAGECAPACITY="mileageCapacity",e.DIRECTION="direction",e.ENERGYLEVELSCHEDULE="energyLevelSchedule",e.UVINDEX="uVIndex",e.NATMODE="NATMode",e.UPDATEONWRITE="updateOnWrite",e.LASTWILLPAYLOAD="lastWillPayload",e.GROUPID="groupId",e.FOLLOWREDIRECTS="followRedirects",e.CARBONCOST="carbonCost",e.MESSAGECONVERTHEX="messageConvertHex",e.PUBLISHQOS="publishQos"}(ed||(ed={})),function(e){e.FORMAT="format",e.RULESTATE="ruleState",e.HASPREDICTEDDATAPOINTS="hasPredictedDataPoints",e.STOREDATAPOINTS="storeDataPoints",e.LABEL="label",e.CONSTRAINTS="constraints",e.SHOWONDASHBOARD="showOnDashboard",e.READONLY="readOnly",e.MULTILINE="multiline",e.ACCESSPUBLICWRITE="accessPublicWrite",e.MOMENTARY="momentary",e.AGENTLINK="agentLink",e.ACCESSRESTRICTEDREAD="accessRestrictedRead",e.DATAPOINTSMAXAGEDAYS="dataPointsMaxAgeDays",e.ACCESSRESTRICTEDWRITE="accessRestrictedWrite",e.SECRET="secret",e.ATTRIBUTELINKS="attributeLinks",e.RULERESETIMMEDIATE="ruleResetImmediate",e.AGENTLINKCONFIG="agentLinkConfig",e.FORECAST="forecast",e.UNITS="units",e.USERCONNECTED="userConnected",e.ACCESSPUBLICREAD="accessPublicRead"}(eu||(eu={})),function(e){e.WSURL="WS_URL",e.POSITIVENUMBER="positiveNumber",e.VALUEDESCRIPTOR="valueDescriptor",e.LONG="long",e.BOOLEANMAP="booleanMap",e.MQTTQOS="MQTTQos",e.GEOJSONPOINT="GEO_JSONPoint",e.SNMPVERSION="SNMPVersion",e.ASSETTYPE="assetType",e.JSONOBJECT="JSONObject",e.BIGNUMBER="bigNumber",e.IPADDRESS="IPAddress",e.EMAIL="email",e.KNXMESSAGESOURCEADDRESS="kNXMessageSourceAddress",e.ATTRIBUTEREFERENCE="attributeReference",e.INTEGER="integer",e.OAUTHGRANT="oAuthGrant",e.NUMBER="number",e.TEXTMAP="textMap",e.WEBSOCKETSUBSCRIPTION="websocketSubscription",e.BOOLEAN="boolean",e.TIMEANDPERIODDURATIONISO8601="timeAndPeriodDurationISO8601",e.TIMESTAMPISO8601="timestampISO8601",e.MULTIVALUEDTEXTMAP="multivaluedTextMap",e.JSON="JSON",e.INTEGERBYTE="integerByte",e.AGENTLINK="agentLink",e.CALENDAREVENT="calendarEvent",e.CONNECTIONSTATUS="connectionStatus",e.VALUECONSTRAINT="valueConstraint",e.ASSETQUERY="assetQuery",e.COLOURRGB="colourRGB",e.VALUEFORMAT="valueFormat",e.TEXT="text",e.BYTE="byte",e.USERNAMEANDPASSWORD="usernameAndPassword",e.HTTPURL="HTTP_URL",e.ATTRIBUTELINK="attributeLink",e.ASSETID="assetID",e.NUMBERMAP="numberMap",e.HTTPMETHOD="HTTPMethod",e.PANELORIENTATION="panelOrientation",e.ATTRIBUTESTATE="attributeState",e.POSITIVEINTEGER="positiveInteger",e.EXECUTIONSTATUS="executionStatus",e.BIGINTEGER="bigInteger",e.PERIODDURATIONISO8601="periodDurationISO8601",e.DATEANDTIME="dateAndTime",e.CONNECTORTYPE="connectorType",e.NEGATIVEINTEGER="negativeInteger",e.TCPIPPORTNUMBER="TCP_IPPortNumber",e.INTEGERMAP="integerMap",e.ENERGYTYPE="energyType",e.TIMESTAMP="timestamp",e.UUID="UUID",e.FORECASTCONFIGURATION="forecastConfiguration",e.TIMEDURATIONISO8601="timeDurationISO8601",e.CONSOLEPROVIDERS="consoleProviders",e.NEGATIVENUMBER="negativeNumber",e.CRONEXPRESSION="CRONExpression",e.DIRECTION="direction",e.HOSTORIPADDRESS="hostOrIPAddress"}(em||(em={})),function(e){e.MONTH="month",e.MILE_SCANDINAVIAN="mile_scandinavian",e.YEAR="year",e.VOLT="volt",e.HERTZ="hertz",e.MILE="mile",e.BTU="btu",e.FOOT="foot",e.MEGA="mega",e.INCH="inch",e.IN_HG="inch_mercury",e.CENTI="centi",e.GRAM="gram",e.KNOT="knot",e.METRE="metre",e.LITRE="litre",e.FLUID_OUNCE="fluid_ounce",e.CELSIUS="celsius",e.DECIBEL="decibel",e.FAHRENHEIT="fahrenheit",e.WATT="watt",e.PEAK="peak",e.MICRO="micro",e.PER="per",e.STONE="stone",e.VAR="var",e.OUNCE="ounce",e.HECTARE="hectare",e.YARD="yard",e.JOULE="joule",e.DEGREE="degree",e.KILO="kilo",e.KELVIN="kelvin",e.CARBON="carbon",e.DECIBEL_ATTENUATED="decibel_attenuated",e.SQUARED="squared",e.PERCENTAGE="percentage",e.CUBED="cubed",e.DAY="day",e.RADIAN="radian",e.OHM="ohm",e.MINUTE="minute",e.PART_PER_MILLION="ppm",e.AMP="amp",e.MASS_POUND="pound",e.HOUR="hour",e.ACRE="acre",e.RPM="rpm",e.PASCAL="pascal",e.LUMEN="lumen",e.WEEK="week",e.GALLON="gallon",e.LUX="lux",e.MILLI="milli",e.BAR="bar",e.HECTO="hecto",e.SECOND="second"}(eh||(eh={})),ef||(ef={});class tL{static getAssetDescriptors(){return tL._assetTypeInfos.map(e=>e.assetDescriptor)}static getMetaItemDescriptors(){return[...this._metaItemDescriptors]}static getValueDescriptors(){return[...this._valueDescriptors]}static getAssetTypeInfos(){return[...this._assetTypeInfos]}static getAssetTypeInfo(e){if(e)return e.assetDescriptor?e:("string"!=typeof e&&(e=e.name),this._assetTypeInfos.find(t=>t.assetDescriptor.name===e))}static getAssetDescriptor(e){if(!e)return;if(e.assetDescriptor)return e.assetDescriptor;if("string"!=typeof e)return e;let t=this._assetTypeInfos.find(t=>t.assetDescriptor.name===e);return t?t.assetDescriptor:void 0}static getAttributeDescriptor(e,t){if(!e)return;let n=this.getAssetTypeInfo(t||"ThingAsset");if(n&&n.attributeDescriptors)return n.attributeDescriptors.find(t=>t.name===e)}static getValueDescriptor(e){let t;if(!e)return;if(e.endsWith("[]"))for(t=0;e.endsWith("[]");)e=e.substring(0,e.length-2),t++;let n=this._valueDescriptors.find(t=>t.name===e);return n&&t&&(n=Object.assign(Object.assign({},n),{arrayDimensions:t})),n}static resolveValueDescriptor(e,t){let n;return t&&("string"==typeof t&&(n=tL.getValueDescriptor(t)),n=t.jsonType?t:tL.getValueDescriptor(t.type)),!n&&e&&(n=tL.getValueDescriptor("JSON")),n}static resolveValueTypeFromValue(e){if(null!=e){if("number"==typeof e)return"number";if("string"==typeof e)return"text";if("boolean"==typeof e)return"boolean";if(Array.isArray(e)){let t=1,n=e.find(e=>null!=e);for(;Array.isArray(n);)n=n.find(e=>null!=e),t++;let i=this.resolveValueTypeFromValue(n);if(!i)return;for(;t>0;)i+="[]",t--;return i}if(e instanceof Date)return"dateAndTime"}}static getAttributeAndValueDescriptors(e,t,n){let i,r;if(t&&"string"!=typeof t)i=t;else{let r=this.getAssetTypeInfo(e||"ThingAsset");if(!r)return[void 0,void 0];"string"==typeof t&&(i=this.getAttributeDescriptor(t,r)),!i&&n&&(i={type:n.type,name:n.name,meta:n.meta})}return i&&(r=this.getValueDescriptor(i.type)),[i,r]}static getMetaItemDescriptor(e){if(e)return this._metaItemDescriptors.find(t=>t.name===e)}static getAssetDescriptorColour(e,t){let n=this.getAssetDescriptor(e);return n&&n.colour?n.colour:t}static getAssetDescriptorIcon(e,t){let n=this.getAssetDescriptor(e);return n&&n.icon?n.icon:t}}tL._assetTypeInfos=[],tL._metaItemDescriptors=[],tL._valueDescriptors=[];var tS=n(3806),tD=n.n(tS),tI=n(2891);class tO{get resolve(){return this._resolve}get reject(){return this._reject}get promise(){return this._promise}constructor(){this._promise=new Promise((e,t)=>{this._resolve=e,this._reject=t}),Object.freeze(this)}}function tR(e,t,n=!0){if(null==e||null==t)return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Function||e instanceof RegExp)return e===t;if(e===t||e.valueOf()===t.valueOf())return!0;if(Array.isArray(e)&&e.length!==t.length||e instanceof Date||!(e instanceof Object)||!(t instanceof Object))return!1;if(n){let n=Object.keys(e);return Object.keys(t).every(e=>-1!==n.indexOf(e))&&n.every(n=>tR(e[n],t[n]))}return!1}function tP(e){if(null==e)return"";let t=!1;return e.split(/([A-Z]|\d)/).map((e,n,i)=>{if(!e)return e;if(!t)return t=!0,e.charAt(0).toUpperCase()+e.slice(1);if("_"===e)return" ";if(1===e.length&&e===e.toUpperCase()){let t=!i[n-1]||"_"===i[n-1],r=n+1<i.length&&i[n+1]&&"_"!==i[n+1],o=n+3>i.length||!i[n+1]&&!i[n+3];(!t||r)&&(e=" "+e),!r&&(t||o)||(e=e.toLowerCase())}return e}).join("").trim()}function tB(e,t,n){let i="string"==typeof e?e:e.name;return t&&t.meta&&t.meta.hasOwnProperty(i)?t.meta[i]:n&&n.meta?n.meta[i]:void 0}function tz(e,t,n,i,r,o){let a=tY(e?e.value:void 0,()=>tH("format",e,t,n,r),void 0,o),s=tH("units",e,t,n,!0);return i&&s&&s.length&&(a=tN(tH("units",e,t,n,r),a)),a}function tY(e,t,n,i){let r="";if(null==e)r=i||"";else if("string"==typeof e)r=e;else if("number"==typeof e||"boolean"==typeof e||e instanceof Date){let i=t&&t();if(i&&0!==Object.keys(i).length)switch("number"==typeof e?i.asBoolean?e=!!e:i.asDate&&(e=new Date(e)):"boolean"==typeof e&&i.asNumber&&(e=+!!e),typeof e){case"number":r=new Intl.NumberFormat(n||tT.language,i).format(e);break;case"boolean":i.asOnOff&&(r=e?tT.t("on"):tT.t("off")),i.asOpenClosed&&(r=e?tT.t("open"):tT.t("closed")),i.asPressedReleased&&(r=e?tT.t("pressed"):tT.t("released"));break;case"object":if(i.momentJsFormat)r=tD()(e).format(i.momentJsFormat);else if(i.iso8601)r=e.toISOString();else if(i.week){var o;let t,n=((o=new Date(Date.UTC((o=e).getFullYear(),o.getMonth(),o.getDate()))).setUTCDate(o.getUTCDate()+4-(o.getUTCDay()||7)),t=new Date(Date.UTC(o.getUTCFullYear(),0,1)),Math.ceil(((o.getTime()-t.getTime())/864e5+1)/7));r="2-digit"===i.week?String(n).padStart(2,"0"):Number(n).toString(10)}else r=new Intl.DateTimeFormat(n||tT.language,i).format(e)}else r=Object(e).toString()}return r}function tN(e,t){if(!e)return"";t||(t="");let n=e.map((e,n)=>{if(3!==e.length||e.toUpperCase()!==e)return tT.t(["units."+e,"or:units."+e]);{let i=new Intl.NumberFormat(tT.language,{currency:e,style:"currency"}).formatToParts();if(0!==n||"currency"!==i[0].type)return"currency"===i[0].type?i[0].value:i[i.length-1].value;if(!t)return i[0].value;t=i[0].value+t}}).join("");return t.length>0?t+" "+n:n}function tH(e,t,n,i,r){let o,a=[],s=tj(e,t&&"string"==typeof t?t:t?t.name:n?"string"==typeof n?n:n.name:void 0,n,i,r);if(s&&(o=JSON.parse(s)))if("format"!==e)return o;else a.push(o);if(t&&t.meta&&(o=tB(e,t,n)))if("format"!==e)return o;else a.push(o);if(n&&"string"!=typeof n&&n.hasOwnProperty(e)){if(o=n[e],"format"!==e)return o;a.push(o)}if(n&&n.type){if(o=tL.getValueDescriptor(n.type)[e],"format"!==e)return o;a.push(o)}if("format"!==e||0===a.length)return o;let l={};return a.reverse().forEach(e=>{l=Object.assign(Object.assign({},l),e)}),l}function tj(e,t,n,i,r,o){let a;if(t?a="string"==typeof t?t:t.name:n&&(a="string"==typeof n?n:n.name),!a)return;let s=[],l=e+"."+(r?"attribute":"meta")+".";if(i&&s.push(l+i+"."+a),n&&"string"!=typeof n&&(s.push(l+n.type+"."+a),s.push(l+n.type)),s.push(l+a),s.length>0)return tT.t(s,{defaultValue:o||""})}function tU(e,t){let n=t.ref.name;if(e.attributes)if(t.deleted)delete e.attributes[n];else{let i=e.attributes[n];i&&(i.value=t.value,i.timestamp=t.timestamp)}return Object.assign({},e)}var tV=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((i=i.apply(e,t||[])).next())})};let tq=n(9916);class tG{constructor(e,t,n){this._autoEnable=!1,this._initialised=!1,this._initialiseInProgress=!1,this._pendingProviderPromises={},this._providerMessageListeners={},this._pendingProviderEnables=[],this._registrationTimer=null,this._realm=e,this._autoEnable=t,this._enableCompleteCallback=n,window.OpenRemoteConsole=this;let i=new URLSearchParams(window.location.search),r=i.get("consoleName"),o=i.get("consoleVersion"),a=i.get("consolePlatform"),s=i.get("consoleProviders"),l=i.get("consoleAutoEnable"),c=s&&s.length>0?s.split(" "):["push"];this._pendingProviderEnables=c;let d=tG._createConsoleRegistration(),u=window.localStorage.getItem("OpenRemoteConsole:"+e);if(u)try{let e=JSON.parse(u);e.id&&(d.id=e.id),e.name&&(d.name=e.name),e.providers&&(d.providers=e.providers),e.apps&&(d.apps=e.apps)}catch(e){console.error("Failed to deserialise console registration")}let m=d.providers;for(let e of(d.providers={},c)){let t=m&&m.hasOwnProperty(e)?m[e]:{enabled:!1,disabled:!1};d.providers[e]=t}let h=rA.getAppName();h.length>0&&0>d.apps.indexOf(h)&&d.apps.push(h),this._registration=d,r&&(d.name=r),o&&(d.version=o),a&&(d.platform=a),l&&(this._autoEnable="TRUE"===l||"true"===l)}get registration(){return this._registration}get autoEnable(){return this._autoEnable}get pendingProviderEnables(){return this._pendingProviderEnables.slice(0)}get shellApple(){let e=navigator.userAgentData&&navigator.userAgentData.platform?navigator.userAgentData.platform:navigator.platform;return e&&("iP"===e.substring(0,2)||"Mac"===e.substring(0,3))&&window.webkit&&window.webkit.messageHandlers}get shellAndroid(){return!!window.MobileInterface}get isMobile(){return this.shellApple||this.shellAndroid}initialise(){return tV(this,void 0,void 0,function*(){if(!this._initialised&&!this._initialiseInProgress){console.debug("Console: initialising"),this._initialiseInProgress=!0;try{if(this._registration.providers)for(let e of Object.keys(this._registration.providers))yield this._initialiseProvider(e);this._registration.id||(yield this.sendRegistration(0)),this._initialised=!0,this._initialiseInProgress=!1,0===this._pendingProviderEnables.length?(yield this.sendRegistration(),this._callCompletedCallback()):this._autoEnable&&(yield this.enableProviders())}catch(e){console.error(e)}finally{this._initialiseInProgress=!1}}})}enableProviders(){return tV(this,void 0,void 0,function*(){if(!this._initialised)throw Error("Console must be initialised before enabling providers");for(let e=this._pendingProviderEnables.length-1;e>-1;e--){let t=this._pendingProviderEnables[e];yield this.enableProvider(t)}})}enableProvider(e,t){return tV(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before enabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: enabling provider '"+e+"'");let n={provider:e,action:"PROVIDER_ENABLE",consoleId:this._registration.id,data:t},i=yield this.sendProviderMessage(n,!0);this._registration.providers[e].hasPermission=i.hasPermission,this._registration.providers[e].success=i.success,this._registration.providers[e].enabled=i.success,this._registration.providers[e].data=i.data;let r=this._pendingProviderEnables.indexOf(e);return r>=0&&(this._pendingProviderEnables.splice(r,1),0===this._pendingProviderEnables.length&&(this.sendRegistration(),this._callCompletedCallback())),i})}disableProvider(e){return tV(this,void 0,void 0,function*(){if(!this._initialised)throw console.debug("Console must be initialised before disabling providers"),Error("Console must be initialised before disabling providers");if(!this._registration.providers.hasOwnProperty(e))throw console.debug("Invalid console provider '"+e+"'"),Error("Invalid console provider '"+e+"'");console.debug("Console: disabling provider '"+e+"'");let t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_DISABLE"},!0);return this._registration.providers[e].disabled=!0,this._registration.providers[e].enabled=!1,t})}getProvider(e){return this._registration&&this._registration.providers?this._registration.providers[e]:void 0}sendProviderMessage(e,t){return tV(this,void 0,void 0,function*(){if("storage"!==e.provider&&!this._registration.providers.hasOwnProperty(e.provider))throw console.debug("Invalid console provider '"+e.provider+"'"),Error("Invalid console provider '"+e.provider+"'");if(!t)return void this._doSendProviderMessage(e);let n=e.provider+e.action;if(this._pendingProviderPromises[n])throw Error("Message already pending for provider '"+e.provider+"' with action '"+e.action+"'");let i=new tO,r=()=>{delete this._pendingProviderPromises[n],i.reject("No response from provider")};return this._pendingProviderPromises[n]=[i,window.setTimeout(r,5e3)],this._doSendProviderMessage(e),i.promise})}sendRegistration(e){return this._registrationTimer&&(window.clearTimeout(this._registrationTimer),this._registrationTimer=null),console.debug("Sending registration in: "+(e=void 0!==e?e:2e3)+"ms"),new Promise((e,t)=>{this._registrationTimer=window.setTimeout(()=>{this._registrationTimer=null,console.debug("Console: updating registration");try{this._registration.name||(this._registration.name="Console"),this._registration.platform||(this._registration.platform="N/A"),this._registration.version||(this._registration.version="N/A"),this._registration.providers||(this._registration.providers={}),rA.rest.api.ConsoleResource.register(this._registration).then(t=>{if(200!==t.status)throw Error("Failed to register console");this._registration=t.data,console.debug("Console: registration successful"),console.debug("Console: updating locally stored registration"),window.localStorage.setItem("OpenRemoteConsole:"+this._realm,JSON.stringify(this._registration)),e()})}catch(e){console.error("Failed to register console"),t("Failed to register console")}})})}storeData(e,t){this.sendProviderMessage({provider:"storage",action:"STORE",key:e,value:t},!1)}retrieveData(e){return tV(this,void 0,void 0,function*(){let t=this.sendProviderMessage({provider:"storage",action:"RETRIEVE",key:e},!0);try{let e=yield Promise.race([t,new Promise((e,t)=>setTimeout(t,2e3))]);if(e&&e.value){let t=e.value;return"null"===t?void 0:t}}catch(e){console.log("Failed to retrieve data from storage provider")}})}addProviderMessageListener(e,t){this._providerMessageListeners[e.provider+e.action]=t}removeProviderMessageListener(e){delete this._providerMessageListeners[e.provider+e.action]}_postNativeShellMessage(e){try{if(this.shellAndroid)return window.MobileInterface.postMessage(JSON.stringify(e));if(this.shellApple)return window.webkit.messageHandlers.int.postMessage(e)}catch(e){console.error("Failed to send shell message towards console",e)}}_doSendGenericMessage(e,t){let n={type:e,data:t};this.isMobile?this._postNativeShellMessage(n):console.warn("Failed to send generic message to console.",n)}_doSendProviderMessage(e){if(this.isMobile)this._postNativeShellMessage({type:"provider",data:e});else{if(!e.provider||!e.action)return;switch(e.provider.trim().toUpperCase()){case"PUSH":switch(e.action.trim().toUpperCase()){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"push",version:"web",enabled:!0,disabled:!1,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"push",hasPermission:!0,success:!0}));break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;case"STORAGE":switch(e.action){case"PROVIDER_INIT":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_INIT",provider:"storage",version:"1.0.0",disabled:!1,enabled:!0,hasPermission:!0,requiresPermission:!1,success:!0}));break;case"PROVIDER_ENABLE":this._handleProviderResponse(JSON.stringify({action:"PROVIDER_ENABLE",provider:"storage",hasPermission:!0,success:!0}));break;case"STORE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw Error("Storage provider 'store' action requires a `key`");null===e.value?window.localStorage.removeItem(t):window.localStorage.setItem(t,JSON.stringify(e.value))}break;case"RETRIEVE":{let t=e.key?e.key.trim():null;if(!t||0===t.length)throw Error("Storage provider 'retrieve' action requires a `key`");let n=window.localStorage.getItem(t);if(null!==n)try{n=JSON.parse(n)}catch(e){}this._handleProviderResponse(JSON.stringify({action:"RETRIEVE",provider:"storage",key:t,value:n}))}break;default:throw Error("Unsupported provider '"+e.provider+"' and action '"+e.action+"'")}break;default:console.error("Unsupported provider: "+e.provider)}}}_handleProviderResponse(e){if(!e)return;let t=JSON.parse(e),n=t.provider,i=t.action,r=this._pendingProviderPromises[n+i];r&&(window.clearTimeout(r[1]),delete this._pendingProviderPromises[n+i],r[0].resolve(t));let o=this._providerMessageListeners[n+i];o&&o(t)}_callCompletedCallback(){let e=this._enableCompleteCallback;this._enableCompleteCallback=null,e&&window.setTimeout(()=>{e()},0)}static _createConsoleRegistration(){return{name:tq.name,version:tq.version,platform:tq.os.toString(),apps:[],model:((tq.manufacturer?tq.manufacturer+" ":"")+(tq.product?tq.product:"")).trim()}}_initialiseProvider(e){return tV(this,void 0,void 0,function*(){let t;console.debug("Console: initialising provider '"+e+"'");try{t=yield this.sendProviderMessage({provider:e,action:"PROVIDER_INIT"},!0),this._registration.providers[e].version=t.version,this._registration.providers[e].requiresPermission=t.requiresPermission,this._registration.providers[e].hasPermission=t.hasPermission,this._registration.providers[e].success=t.success,this._registration.providers[e].enabled=t.enabled,this._registration.providers[e].disabled=t.disabled,this._registration.providers[e].data=t.data}catch(e){console.error(e),t={action:"",disabled:!1,enabled:!1,hasPermission:!1,provider:"",requiresPermission:!1,version:"",success:!1}}if(t.success||(console.debug("Provider initialisation failed: '"+e+"'"),t.disabled=!0,this._registration.providers[e].disabled=!0),t.disabled||t.enabled){let t=this._pendingProviderEnables.indexOf(e);t>=0&&this._pendingProviderEnables.splice(t,1)}})}}var t$=n(3653),tW=n.n(t$);class tX{constructor(e){this.httpClient=e}getDatapointExport(e,t){return this.httpClient.request({method:"GET",url:ns`asset/datapoint/export`,queryParams:e,options:t})}getDatapointPeriod(e,t){return this.httpClient.request({method:"GET",url:ns`asset/datapoint/periods`,queryParams:e,options:t})}getDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:ns`asset/datapoint/${e}/${t}`,data:n,options:i})}}class tK{constructor(e){this.httpClient=e}createGlobalRuleset(e,t){return this.httpClient.request({method:"POST",url:ns`rules`,data:e,options:t})}getGlobalRulesets(e,t){return this.httpClient.request({method:"GET",url:ns`rules`,queryParams:e,options:t})}createAssetRuleset(e,t){return this.httpClient.request({method:"POST",url:ns`rules/asset`,data:e,options:t})}getAssetRulesets(e,t,n){return this.httpClient.request({method:"GET",url:ns`rules/asset/for/${e}`,queryParams:t,options:n})}deleteAssetRuleset(e,t){return this.httpClient.request({method:"DELETE",url:ns`rules/asset/${e}`,options:t})}getAssetRuleset(e,t){return this.httpClient.request({method:"GET",url:ns`rules/asset/${e}`,options:t})}updateAssetRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`rules/asset/${e}`,data:t,options:n})}getAssetGeofences(e,t){return this.httpClient.request({method:"GET",url:ns`rules/geofences/${e}`,options:t})}getAssetEngineInfo(e,t){return this.httpClient.request({method:"GET",url:ns`rules/info/asset/${e}`,options:t})}getGlobalEngineInfo(e){return this.httpClient.request({method:"GET",url:ns`rules/info/global`,options:e})}getRealmEngineInfo(e,t){return this.httpClient.request({method:"GET",url:ns`rules/info/realm/${e}`,options:t})}createRealmRuleset(e,t){return this.httpClient.request({method:"POST",url:ns`rules/realm`,data:e,options:t})}getRealmRulesets(e,t,n){return this.httpClient.request({method:"GET",url:ns`rules/realm/for/${e}`,queryParams:t,options:n})}deleteRealmRuleset(e,t){return this.httpClient.request({method:"DELETE",url:ns`rules/realm/${e}`,options:t})}getRealmRuleset(e,t){return this.httpClient.request({method:"GET",url:ns`rules/realm/${e}`,options:t})}updateRealmRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`rules/realm/${e}`,data:t,options:n})}deleteGlobalRuleset(e,t){return this.httpClient.request({method:"DELETE",url:ns`rules/${e}`,options:t})}getGlobalRuleset(e,t){return this.httpClient.request({method:"GET",url:ns`rules/${e}`,options:t})}updateGlobalRuleset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`rules/${e}`,data:t,options:n})}}class tZ{constructor(e){this.httpClient=e}getAssetDescriptors(e,t){return this.httpClient.request({method:"GET",url:ns`model/assetDescriptors`,queryParams:e,options:t})}getAssetInfo(e,t,n){return this.httpClient.request({method:"GET",url:ns`model/assetInfo/${e}`,queryParams:t,options:n})}getAssetInfos(e,t){return this.httpClient.request({method:"GET",url:ns`model/assetInfos`,queryParams:e,options:t})}getValueDescriptorSchema(e,t){return this.httpClient.request({method:"GET",url:ns`model/getValueDescriptorSchema`,queryParams:e,options:t})}getMetaItemDescriptors(e,t){return this.httpClient.request({method:"GET",url:ns`model/metaItemDescriptors`,queryParams:e,options:t})}getValueDescriptors(e,t){return this.httpClient.request({method:"GET",url:ns`model/valueDescriptors`,queryParams:e,options:t})}}class tJ{constructor(e){this.httpClient=e}getConfig(e){return this.httpClient.request({method:"GET",url:ns`syslog/config`,options:e})}updateConfig(e,t){return this.httpClient.request({method:"PUT",url:ns`syslog/config`,data:e,options:t})}clearEvents(e){return this.httpClient.request({method:"DELETE",url:ns`syslog/event`,options:e})}getEvents(e,t){return this.httpClient.request({method:"GET",url:ns`syslog/event`,queryParams:e,options:t})}}class tQ{constructor(e){this.httpClient=e}getSettings(e){return this.httpClient.request({method:"GET",url:ns`map`,options:e})}saveSettings(e,t){return this.httpClient.request({method:"PUT",url:ns`map`,data:e,options:t})}deleteMap(e){return this.httpClient.request({method:"DELETE",url:ns`map/deleteMap`,options:e})}getCustomMapInfo(e){return this.httpClient.request({method:"GET",url:ns`map/getCustomMapInfo`,options:e})}getSettingsJs(e){return this.httpClient.request({method:"GET",url:ns`map/js`,options:e})}getTile(e,t,n,i){return this.httpClient.request({method:"GET",url:ns`map/tile/${e}/${t}/${n}`,options:i})}uploadMap(e,t){return this.httpClient.request({method:"POST",url:ns`map/upload`,queryParams:e,options:t})}}class t0{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:ns`realm`,data:e,options:t})}getAll(e){return this.httpClient.request({method:"GET",url:ns`realm`,options:e})}getAccessible(e){return this.httpClient.request({method:"GET",url:ns`realm/accessible`,options:e})}delete(e,t){return this.httpClient.request({method:"DELETE",url:ns`realm/${e}`,options:t})}get(e,t){return this.httpClient.request({method:"GET",url:ns`realm/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:ns`realm/${e}`,data:t,options:n})}}class t1{constructor(e){this.httpClient=e}createProvisioningConfig(e,t){return this.httpClient.request({method:"POST",url:ns`provisioning`,data:e,options:t})}getProvisioningConfigs(e){return this.httpClient.request({method:"GET",url:ns`provisioning`,options:e})}deleteProvisioningConfig(e,t){return this.httpClient.request({method:"DELETE",url:ns`provisioning/${e}`,options:t})}updateProvisioningConfig(e,t,n){return this.httpClient.request({method:"PUT",url:ns`provisioning/${e}`,data:t,options:n})}}class t2{constructor(e){this.httpClient=e}getApps(e){return this.httpClient.request({method:"GET",url:ns`apps`,options:e})}getConsoleConfig(e){return this.httpClient.request({method:"GET",url:ns`apps/consoleConfig`,options:e})}getAppInfos(e){return this.httpClient.request({method:"GET",url:ns`apps/info`,options:e})}}class t5{constructor(e){this.httpClient=e}getHealthStatus(e){return this.httpClient.request({method:"GET",url:ns`health`,options:e})}getInfo(e){return this.httpClient.request({method:"GET",url:ns`info`,options:e})}}class t3{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:ns`dashboard`,data:e,options:t})}update(e,t){return this.httpClient.request({method:"PUT",url:ns`dashboard`,data:e,options:t})}getAllRealmDashboards(e,t){return this.httpClient.request({method:"GET",url:ns`dashboard/all/${e}`,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:ns`dashboard/query`,data:e,options:t})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`dashboard/${e}/${t}`,options:n})}get(e,t,n){return this.httpClient.request({method:"GET",url:ns`dashboard/${e}/${t}`,options:n})}}class t4{constructor(e){this.httpClient=e}getServices(e,t){return this.httpClient.request({method:"GET",url:ns`service`,queryParams:e,options:t})}registerService(e,t){return this.httpClient.request({method:"POST",url:ns`service`,data:e,options:t})}getGlobalServices(e){return this.httpClient.request({method:"GET",url:ns`service/global`,options:e})}registerGlobalService(e,t){return this.httpClient.request({method:"POST",url:ns`service/global`,data:e,options:t})}deregisterService(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`service/${e}/${t}`,options:n})}getService(e,t,n){return this.httpClient.request({method:"GET",url:ns`service/${e}/${t}`,options:n})}heartbeat(e,t,n){return this.httpClient.request({method:"PUT",url:ns`service/${e}/${t}`,options:n})}}class t6{constructor(e){this.httpClient=e}startTunnel(e,t){return this.httpClient.request({method:"POST",url:ns`gateway/tunnel`,data:e,options:t})}stopTunnel(e,t){return this.httpClient.request({method:"DELETE",url:ns`gateway/tunnel`,data:e,options:t})}getAllActiveTunnelInfos(e,t){return this.httpClient.request({method:"GET",url:ns`gateway/tunnel/${e}`,options:t})}getGatewayActiveTunnelInfos(e,t,n){return this.httpClient.request({method:"GET",url:ns`gateway/tunnel/${e}/${t}`,options:n})}getActiveTunnelInfo(e,t,n,i,r){return this.httpClient.request({method:"GET",url:ns`gateway/tunnel/${e}/${t}/${n}/${i}`,options:r})}}class t8{constructor(e){this.httpClient=e}getManagerConfig(e){return this.httpClient.request({method:"GET",url:ns`configuration/manager`,options:e})}update(e,t){return this.httpClient.request({method:"PUT",url:ns`configuration/manager`,data:e,options:t})}fileUpload(e,t,n){return this.httpClient.request({method:"POST",url:ns`configuration/manager/file`,queryParams:t,data:e,options:n})}getManagerConfigImage(e,t){return this.httpClient.request({method:"GET",url:ns`configuration/manager/image/${e}`,options:t})}}class t7{constructor(e){this.httpClient=e}getAllNodeDefinitions(e){return this.httpClient.request({method:"GET",url:ns`flow`,options:e})}getNodeDefinition(e,t){return this.httpClient.request({method:"GET",url:ns`flow/${e}`,options:t})}getAllNodeDefinitionsByType(e,t){return this.httpClient.request({method:"GET",url:ns`flow/${e}`,options:t})}}class t9{constructor(e){this.httpClient=e}getNotifications(e,t){return this.httpClient.request({method:"GET",url:ns`notification`,queryParams:e,options:t})}removeNotifications(e,t){return this.httpClient.request({method:"DELETE",url:ns`notification`,queryParams:e,options:t})}sendNotification(e,t){return this.httpClient.request({method:"POST",url:ns`notification/alert`,data:e,options:t})}removeNotification(e,t){return this.httpClient.request({method:"DELETE",url:ns`notification/${e}`,options:t})}notificationAcknowledged(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`notification/${e}/acknowledged`,queryParams:n,data:t,options:i})}notificationDelivered(e,t,n){return this.httpClient.request({method:"PUT",url:ns`notification/${e}/delivered`,queryParams:t,options:n})}}class ne{constructor(e){this.httpClient=e}register(e,t){return this.httpClient.request({method:"POST",url:ns`console/register`,data:e,options:t})}}class nt{constructor(e){this.httpClient=e}createAlarm(e,t,n){return this.httpClient.request({method:"POST",url:ns`alarm`,queryParams:t,data:e,options:n})}getAlarms(e,t){return this.httpClient.request({method:"GET",url:ns`alarm`,queryParams:e,options:t})}removeAlarms(e,t){return this.httpClient.request({method:"DELETE",url:ns`alarm`,data:e,options:t})}setAssetLinks(e,t){return this.httpClient.request({method:"PUT",url:ns`alarm/assets`,data:e,options:t})}getAlarm(e,t){return this.httpClient.request({method:"GET",url:ns`alarm/${e}`,options:t})}removeAlarm(e,t){return this.httpClient.request({method:"DELETE",url:ns`alarm/${e}`,options:t})}updateAlarm(e,t,n){return this.httpClient.request({method:"PUT",url:ns`alarm/${e}`,data:t,options:n})}getAssetLinks(e,t,n){return this.httpClient.request({method:"GET",url:ns`alarm/${e}/assets`,queryParams:t,options:n})}}class nn{constructor(e){this.httpClient=e}doProtocolAssetDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:ns`agent/assetDiscovery/${e}`,queryParams:t,options:n})}doProtocolAssetImport(e,t,n,i){return this.httpClient.request({method:"POST",url:ns`agent/assetImport/${e}`,queryParams:n,data:t,options:i})}doProtocolInstanceDiscovery(e,t,n){return this.httpClient.request({method:"GET",url:ns`agent/instanceDiscovery/${e}`,queryParams:t,options:n})}}class ni{constructor(e){this.httpClient=e}updateCurrentUserLocale(e,t){return this.httpClient.request({method:"PUT",url:ns`user/locale`,data:e,options:t})}query(e,t){return this.httpClient.request({method:"POST",url:ns`user/query`,data:e,options:t})}requestPasswordResetCurrent(e){return this.httpClient.request({method:"PUT",url:ns`user/request-password-reset`,options:e})}updatePasswordCurrent(e,t){return this.httpClient.request({method:"PUT",url:ns`user/reset-password`,data:e,options:t})}updateCurrent(e,t){return this.httpClient.request({method:"PUT",url:ns`user/update`,data:e,options:t})}getCurrent(e){return this.httpClient.request({method:"GET",url:ns`user/user`,options:e})}getCurrentUserRealmRoles(e){return this.httpClient.request({method:"GET",url:ns`user/userRealmRoles`,options:e})}getCurrentUserClientRoles(e,t){return this.httpClient.request({method:"GET",url:ns`user/userRoles/${e}`,options:t})}disconnectUserSession(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/disconnect/${t}`,options:n})}requestPasswordReset(e,t,n){return this.httpClient.request({method:"PUT",url:ns`user/${e}/request-password-reset/${t}`,options:n})}updatePassword(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`user/${e}/reset-password/${t}`,data:n,options:i})}resetSecret(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/reset-secret/${t}`,options:n})}updateRoles(e,t,n){return this.httpClient.request({method:"PUT",url:ns`user/${e}/roles`,data:t,options:n})}getUserRealmRoles(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/userRealmRoles/${t}`,options:n})}updateUserRealmRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`user/${e}/userRealmRoles/${t}`,data:n,options:i})}getUserClientRoles(e,t,n,i){return this.httpClient.request({method:"GET",url:ns`user/${e}/userRoles/${t}/${n}`,options:i})}updateUserClientRoles(e,t,n,i,r){return this.httpClient.request({method:"PUT",url:ns`user/${e}/userRoles/${t}/${n}`,data:i,options:r})}getUserSessions(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/userSessions/${t}`,options:n})}create(e,t,n){return this.httpClient.request({method:"POST",url:ns`user/${e}/users`,data:t,options:n})}update(e,t,n){return this.httpClient.request({method:"PUT",url:ns`user/${e}/users`,data:t,options:n})}delete(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`user/${e}/users/${t}`,options:n})}getClientRoles(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/${t}/roles`,options:n})}updateClientRoles(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`user/${e}/${t}/roles`,data:n,options:i})}get(e,t,n){return this.httpClient.request({method:"GET",url:ns`user/${e}/${t}`,options:n})}}class nr{constructor(e){this.httpClient=e}create(e,t){return this.httpClient.request({method:"POST",url:ns`asset`,data:e,options:t})}delete(e,t){return this.httpClient.request({method:"DELETE",url:ns`asset`,queryParams:e,options:t})}writeAttributeValues(e,t){return this.httpClient.request({method:"PUT",url:ns`asset/attributes`,data:e,options:t})}writeAttributeEvents(e,t){return this.httpClient.request({method:"PUT",url:ns`asset/attributes/timestamp`,data:e,options:t})}updateNoneParent(e,t){return this.httpClient.request({method:"DELETE",url:ns`asset/parent`,queryParams:e,options:t})}getPartial(e,t){return this.httpClient.request({method:"GET",url:ns`asset/partial/${e}`,options:t})}queryAssets(e,t){return this.httpClient.request({method:"POST",url:ns`asset/query`,data:e,options:t})}queryAssetTree(e,t){return this.httpClient.request({method:"POST",url:ns`asset/tree`,data:e,options:t})}getCurrentUserAssets(e){return this.httpClient.request({method:"GET",url:ns`asset/user/current`,options:e})}createUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:ns`asset/user/link`,data:e,options:t})}getUserAssetLinks(e,t){return this.httpClient.request({method:"GET",url:ns`asset/user/link`,queryParams:e,options:t})}deleteUserAssetLinks(e,t){return this.httpClient.request({method:"POST",url:ns`asset/user/link/delete`,data:e,options:t})}deleteAllUserAssetLinks(e,t,n){return this.httpClient.request({method:"DELETE",url:ns`asset/user/link/${e}/${t}`,options:n})}deleteUserAssetLink(e,t,n,i){return this.httpClient.request({method:"DELETE",url:ns`asset/user/link/${e}/${t}/${n}`,options:i})}get(e,t){return this.httpClient.request({method:"GET",url:ns`asset/${e}`,options:t})}update(e,t,n){return this.httpClient.request({method:"PUT",url:ns`asset/${e}`,data:t,options:n})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`asset/${e}/attribute/${t}`,data:n,options:i})}writeAttributeValue$PUT$asset_assetId_attribute_attributeName_timestamp(e,t,n,i,r){return this.httpClient.request({method:"PUT",url:ns`asset/${e}/attribute/${t}/${n}`,data:i,options:r})}updateParent(e,t,n){return this.httpClient.request({method:"PUT",url:ns`asset/${e}/child`,queryParams:t,options:n})}}class no{constructor(e){this.httpClient=e}deleteConnections(e,t){return this.httpClient.request({method:"DELETE",url:ns`gateway/connection`,queryParams:e,options:t})}getConnections(e){return this.httpClient.request({method:"GET",url:ns`gateway/connection`,options:e})}deleteConnection(e,t){return this.httpClient.request({method:"DELETE",url:ns`gateway/connection/${e}`,options:t})}getConnection(e,t){return this.httpClient.request({method:"GET",url:ns`gateway/connection/${e}`,options:t})}setConnection(e,t,n){return this.httpClient.request({method:"PUT",url:ns`gateway/connection/${e}`,data:t,options:n})}getConnectionStatus(e,t){return this.httpClient.request({method:"GET",url:ns`gateway/status/${e}`,options:t})}}class na{constructor(e){this.httpClient=e}getPredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"POST",url:ns`asset/predicted/${e}/${t}`,data:n,options:i})}writePredictedDatapoints(e,t,n,i){return this.httpClient.request({method:"PUT",url:ns`asset/predicted/${e}/${t}`,data:n,options:i})}}function ns(e,...t){let n="";for(let i=0;i<t.length;i++)n+=e[i],n+=encodeURIComponent(t[i]);return n+e[e.length-1]}class nl{constructor(e,t=tW().create()){this._assetDatapointResource=new nd(e,t),this._rulesResource=new nu(e,t),this._assetModelResource=new nm(e,t),this._syslogResource=new nh(e,t),this._mapResource=new nf(e,t),this._realmResource=new np(e,t),this._provisioningResource=new nb(e,t),this._appResource=new ng(e,t),this._statusResource=new n_(e,t),this._dashboardResource=new ny(e,t),this._externalServiceResource=new nv(e,t),this._gatewayServiceResource=new nx(e,t),this._configurationResource=new nw(e,t),this._flowResource=new nF(e,t),this._notificationResource=new nk(e,t),this._consoleResource=new nE(e,t),this._alarmResource=new nA(e,t),this._agentResource=new nT(e,t),this._userResource=new nC(e,t),this._assetResource=new nM(e,t),this._gatewayClientResource=new nL(e,t),this._assetPredictedDatapointResource=new nS(e,t),this._assetResource=new nM(e,t)}get AssetDatapointResource(){return this._assetDatapointResource}get RulesResource(){return this._rulesResource}get AssetModelResource(){return this._assetModelResource}get SyslogResource(){return this._syslogResource}get MapResource(){return this._mapResource}get RealmResource(){return this._realmResource}get ProvisioningResource(){return this._provisioningResource}get AppResource(){return this._appResource}get StatusResource(){return this._statusResource}get DashboardResource(){return this._dashboardResource}get ExternalServiceResource(){return this._externalServiceResource}get GatewayServiceResource(){return this._gatewayServiceResource}get ConfigurationResource(){return this._configurationResource}get FlowResource(){return this._flowResource}get NotificationResource(){return this._notificationResource}get ConsoleResource(){return this._consoleResource}get AlarmResource(){return this._alarmResource}get AgentResource(){return this._agentResource}get UserResource(){return this._userResource}get AssetResource(){return this._assetResource}get GatewayClientResource(){return this._gatewayClientResource}get AssetPredictedDatapointResource(){return this._assetPredictedDatapointResource}}class nc{constructor(e){this.axios=e}request(e){let t={};t.method=e.method,t.url=e.url,t.params=e.queryParams,t.data=e.data,function(e,t){if(void 0!=t)for(let n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}(t,e.options);let n=e.copyFn;return this.axios.request(t).then(e=>(n&&e.data&&(e.originalData=e.data,e.data=n(e.data)),e))}}class nd extends tX{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nu extends tK{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nm extends tZ{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nh extends tJ{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nf extends tQ{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class np extends t0{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nb extends t1{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class ng extends t2{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class n_ extends t5{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class ny extends t3{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nv extends t4{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nx extends t6{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nw extends t8{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nF extends t7{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nk extends t9{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nE extends ne{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nA extends nt{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nT extends nn{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nC extends ni{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nM extends nr{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nL extends no{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}class nS extends na{constructor(e,t=tW().create()){t.defaults.baseURL=e,super(new nc(t))}}tW().isAxiosError;let nD=new class{get api(){return this._client}constructor(){this._axiosInstance=tW().create(),this._axiosInstance.defaults.headers.common["Content-Type"]="application/json",this._axiosInstance.interceptors.request.use(e=>(e.paramsSerializer=e=>tM().stringify(e,{arrayFormat:"repeat"}),e))}get axiosInstance(){return this._axiosInstance}get baseUrl(){return this._baseUrl}setTimeout(e){this._axiosInstance.defaults.timeout=e}addRequestInterceptor(e){this._axiosInstance.interceptors.request.use(e)}initialise(e){this._baseUrl=e,this._client=new nl(e,this._axiosInstance)}};var nI=function(e,t,n,i){return new(n||(n=Promise))(function(r,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function s(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((i=i.apply(e,t||[])).next())})};!function(e){e.DISCONNECTED="DISCONNECTED",e.CONNECTED="CONNECTED",e.CONNECTING="CONNECTING"}(ep||(ep={}));let nO="SUBSCRIBED:",nR="UNAUTHORIZED:",nP="TRIGGERED:",nB="EVENT:";class nz{constructor(){this._disconnectRequested=!1,this._reconnectDelayMillis=nY.MIN_RECONNECT_DELAY,this._reconnectTimer=null,this._status=ep.DISCONNECTED,this._connectingDeferred=null,this._statusCallbacks=[],this._pendingSubscription=null,this._queuedSubscriptions=[],this._subscriptionMap=new Map,this._assetEventCallbackMap=new Map,this._attributeEventCallbackMap=new Map,this._unloading=!1}get status(){return this._status}subscribeStatusChange(e){this._statusCallbacks.push(e)}unsubscribeStatusChange(e){!function(e,t){if(0===e.length)return;let n=e.indexOf(t);n>=0&&e.splice(n,1)}(this._statusCallbacks,e)}connect(){return(this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this._status===ep.CONNECTED)?Promise.resolve(!0):(this._disconnectRequested=!1,this._connectingDeferred||(this._onStatusChanged(ep.CONNECTING),this._connectingDeferred=new tO,this._doConnect().then(e=>{if(this._connectingDeferred){let t=this._connectingDeferred;this._connectingDeferred=null,e?(console.debug("Connected to event service: "+this.endpointUrl),this._reconnectDelayMillis=nY.MIN_RECONNECT_DELAY,this._onStatusChanged(ep.CONNECTED),window.setTimeout(()=>{this._onConnect()},0)):(console.debug("Failed to connect to event service: "+this.endpointUrl),this._scheduleReconnect()),t.resolve(e)}})),this._connectingDeferred.promise)}disconnect(){console.debug("Disconnecting from event service: "+this.endpointUrl),this._disconnectRequested||(this._disconnectRequested=!0,this._reconnectTimer&&(window.clearTimeout(this._reconnectTimer),this._reconnectTimer=null),this.status!==ep.DISCONNECTED&&this._doDisconnect())}subscribe(e,t){let n={eventSubscription:e,callback:t,deferred:new tO};return null!=this._pendingSubscription||this._status!==ep.CONNECTED?(this._queuedSubscriptions.push(n),n.deferred.promise):(this._pendingSubscription=n,this._doSubscribe(e).then(e=>{if(this._pendingSubscription){let t=this._pendingSubscription;this._pendingSubscription=null,this._subscriptionMap.set(e,t),this._processNextSubscription();let n=t.deferred;t.deferred=null,n&&n.resolve(e)}},e=>{if(this._pendingSubscription){let t=this._pendingSubscription;this._pendingSubscription=null,this._processNextSubscription();let n=t.deferred;t.deferred=null,n&&n.reject(e)}}),this._pendingSubscription.deferred.promise)}unsubscribe(e){return nI(this,void 0,void 0,function*(){if(this._subscriptionMap.delete(e))return void this._doUnsubscribe(e);if(this._assetEventCallbackMap.delete(e)){if(this._assetEventPromise&&0===this._assetEventCallbackMap.size){let e=yield this._assetEventPromise;this._assetEventPromise=void 0,this.unsubscribe(e)}return}if(this._attributeEventCallbackMap.delete(e)){if(this._attributeEventPromise&&0===this._attributeEventCallbackMap.size){let e=yield this._attributeEventPromise;this._attributeEventPromise=void 0,this.unsubscribe(e)}return}})}sendEvent(e){this._status===ep.CONNECTED&&this._doSend(e)}sendEventWithReply(e){return this._status!==ep.CONNECTED?Promise.reject("Not connected"):this._doSendWithReply(e)}subscribeAssetEvents(e,t,n){return nI(this,void 0,void 0,function*(){let i=e&&"string"!=typeof e[0]?e.map(e=>e.id):e,r="AssetEvent"+nz._subscriptionCounter++;if(!this._assetEventPromise){let e;rA.authenticated||(e={filterType:"asset",realm:rA.displayRealm});let t={eventType:"asset",filter:e};this._assetEventPromise=this.subscribe(t,e=>{this._assetEventCallbackMap.forEach(t=>t(e))})}return this._assetEventCallbackMap.set(r,e=>{let t=e.asset.id;i?i.find(e=>t===e)&&n(e):e.asset.realm===rA.displayRealm&&n(e)}),this._assetEventPromise.then(()=>{try{if(i&&t){let e={messageID:"read-assets:"+i.join(",")+":"+r,eventType:"read-assets",assetQuery:{ids:i}};this.sendEventWithReply(e).then(e=>{e.assets&&this._assetEventCallbackMap.has(r)&&e.assets.forEach(e=>{n({eventType:"asset",asset:e,cause:"READ"})})})}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),r&&this.unsubscribe(r),t}return r})})}subscribeAttributeEvents(e,t,n){return nI(this,void 0,void 0,function*(){let i=e&&"string"!=typeof e[0],r=i?e.map(e=>e.id):e,o=i?e:void 0,a="AttributeEvent"+nz._subscriptionCounter++;if(!this._attributeEventPromise){let e;rA.authenticated||(e={filterType:"asset",realm:rA.displayRealm});let t={eventType:"attribute",filter:e};this._attributeEventPromise=this.subscribe(t,e=>{this._attributeEventCallbackMap.forEach(t=>t(e))})}let s=t=>{let o=t.ref;i?e.forEach(e=>{o.id===e.id&&o.name===e.name&&n(t)}):r?r.find(e=>o.id===e)&&n(t):t.realm===rA.displayRealm&&n(t)};return this._attributeEventCallbackMap.set(a,s),this._attributeEventPromise.then(()=>{try{if(t&&r){let e={messageID:"read-assets:"+r.join(",")+":"+a,eventType:"read-assets",assetQuery:{ids:r}};this.sendEventWithReply(e).then(e=>{e.assets&&this._attributeEventCallbackMap.has(a)&&e.assets.forEach(e=>{e.attributes&&Object.entries(e.attributes).forEach(([t,n])=>{(!o||o.find(n=>n.id===e.id&&n.name===t))&&s({eventType:"attribute",timestamp:n.timestamp,value:n.value,ref:{id:e.id,name:t}})})})})}}catch(t){throw console.error("Failed to subscribe to asset events for assets: "+e),a&&this.unsubscribe(a),t}return a})})}_processNextSubscription(){this._status===ep.CONNECTED&&0!==this._queuedSubscriptions.length&&setTimeout(()=>{let e=this._queuedSubscriptions.shift();e&&this.subscribe(e.eventSubscription,e.callback).then(t=>{let n=e.deferred;e.deferred=null,n&&n.resolve(t)},t=>{let n=e.deferred;e.deferred=null,n&&n.reject(t)})},0)}_onStatusChanged(e){e!==this._status&&(console.debug("Event provider status changed: "+e),this._status=e,this._unloading||window.setTimeout(()=>{this._statusCallbacks.forEach(t=>t(e))},0))}_onMessageReceived(e,t){let n=this._subscriptionMap.get(e);n&&n.callback(t)}_onConnect(){if(Object.keys(this._subscriptionMap).length>0){for(let e in this._subscriptionMap)this._subscriptionMap.has(e)&&this._queuedSubscriptions.unshift(this._subscriptionMap.get(e));this._subscriptionMap.clear()}this._processNextSubscription()}_onDisconnect(){this._status===ep.CONNECTED&&this._onStatusChanged(ep.DISCONNECTED),this._pendingSubscription&&(this._queuedSubscriptions.unshift(this._pendingSubscription),this._pendingSubscription=null),this._onStatusChanged(ep.CONNECTING),this._scheduleReconnect()}_scheduleReconnect(){this._reconnectTimer||!this._disconnectRequested&&(console.debug("Event provider scheduling reconnect in "+this._reconnectDelayMillis+"ms"),this._reconnectTimer=window.setTimeout(()=>{this._disconnectRequested||this.connect()},this._reconnectDelayMillis),this._reconnectDelayMillis<nY.MAX_RECONNECT_DELAY&&(this._reconnectDelayMillis=Math.min(nY.MAX_RECONNECT_DELAY,this._reconnectDelayMillis+3e3)))}}nz.MIN_RECONNECT_DELAY=0,nz.MAX_RECONNECT_DELAY=3e4,nz._subscriptionCounter=0;class nY extends nz{get endpointUrl(){return this._endpointUrl}constructor(e){super(),this._webSocket=void 0,this._connectDeferred=null,this._subscribeDeferred=null,this._repliesDeferred=new Map,this._endpointUrl=(e.startsWith("https:")?"wss":"ws")+"://"+e.substr(e.indexOf("://")+3)+"/websocket/events",window.addEventListener("beforeunload",()=>{this._unloading=!0,this.disconnect()})}_doConnect(){let e=this._endpointUrl+"?Realm="+rA.config.realm;return rA.authenticated&&(e+="&Authorization="+rA.getAuthorizationHeader()),this._webSocket=new WebSocket(e),this._connectDeferred=new tO,this._webSocket.onopen=()=>{if(this._connectDeferred){let e=this._connectDeferred;this._connectDeferred=null,e.resolve(!0)}},this._webSocket.onerror=e=>{if(this._connectDeferred){let e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else console.debug("Event provider error"),this._beforeDisconnect()},this._webSocket.onclose=()=>{if(this._webSocket=void 0,this._connectDeferred){let e=this._connectDeferred;this._connectDeferred=null,e.resolve(!1)}else this._beforeDisconnect()},this._webSocket.onmessage=e=>{let t=e.data;if(t&&t.startsWith(nO)){let e=JSON.parse(t.substring(nO.length)),n=this._subscribeDeferred;this._subscribeDeferred=null,n&&n.resolve(e.subscriptionId)}else if(t.startsWith(nR)){let e=JSON.parse(t.substring(nR.length)),n=this._subscribeDeferred;this._subscribeDeferred=null,n&&(console.warn("Unauthorized event subscription: "+JSON.stringify(e,null,2)),n.reject("Unauthorized"))}else if(t.startsWith(nP)){let e=JSON.parse(t.substring(nP.length));e.events&&e.events.forEach(t=>{this._onMessageReceived(e.subscriptionId,t)})}else if(t.startsWith(nB)){let e=JSON.parse(t.substring(nB.length));if(e.messageID){let t=this._repliesDeferred.get(e.messageID);this._repliesDeferred.delete(e.messageID),t&&t.resolve(e)}}},this._connectDeferred.promise}_beforeDisconnect(){this._onDisconnect()}_doDisconnect(){var e;null==(e=this._webSocket)||e.close(),this._subscribeDeferred=null,this._repliesDeferred.clear()}_doSubscribe(e){return this._webSocket?this._subscribeDeferred?Promise.reject("There's already a pending subscription"):(this._subscribeDeferred=new tO,e.subscriptionId||(e.subscriptionId=nY._subscriptionCounter+++""),this._webSocket.send("SUBSCRIBE:"+JSON.stringify(e)),this._subscribeDeferred.promise):Promise.reject("Not connected")}_doUnsubscribe(e){this._webSocket&&this._webSocket.send("UNSUBSCRIBE:"+JSON.stringify({subscriptionId:e}))}_doSend(e){let t=nB+JSON.stringify(e);this._webSocket.send(t)}_doSendWithReply(e){if(e.messageID||(e.messageID=(new Date().getTime()+10*Math.random()).toString(10)),this._repliesDeferred.has(e.messageID))return Promise.reject("There's already a pending send and reply with this ID");let t=new tO;return this._repliesDeferred.set(e.messageID,t),this._webSocket.send(nB+JSON.stringify(e)),t.promise}}function nN(e){return(nN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}nY._subscriptionCounter=1;var nH=[],nj=nH.forEach,nU=nH.slice;function nV(e){return nj.call(nU.call(arguments,1),function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])}),e}function nq(){return"function"==typeof XMLHttpRequest||("undefined"==typeof XMLHttpRequest?"undefined":nN(XMLHttpRequest))==="object"}var nG=n(6850),n$=n.t(nG,2);function nW(e){return(nW="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}"function"==typeof fetch&&(eb="undefined"!=typeof global&&global.fetch?global.fetch:"undefined"!=typeof window&&window.fetch?window.fetch:fetch),nq()&&("undefined"!=typeof global&&global.XMLHttpRequest?eg=global.XMLHttpRequest:"undefined"!=typeof window&&window.XMLHttpRequest&&(eg=window.XMLHttpRequest)),"function"==typeof ActiveXObject&&("undefined"!=typeof global&&global.ActiveXObject?e_=global.ActiveXObject:"undefined"!=typeof window&&window.ActiveXObject&&(e_=window.ActiveXObject)),eb||!n$||eg||e_||(eb=nG||n$),"function"!=typeof eb&&(eb=void 0);var nX=function(e,t){if(t&&"object"===nW(t)){var n="";for(var i in t)n+="&"+encodeURIComponent(i)+"="+encodeURIComponent(t[i]);if(!n)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+n.slice(1)}return e},nK=function(e,t,n){eb(e,t).then(function(e){if(!e.ok)return n(e.statusText||"Error",{status:e.status});e.text().then(function(t){n(null,{status:e.status,data:t})}).catch(n)}).catch(n)},nZ=!1,nJ=function(e,t,n,i){e.queryStringParams&&(t=nX(t,e.queryStringParams));var r=nV({},"function"==typeof e.customHeaders?e.customHeaders():e.customHeaders);n&&(r["Content-Type"]="application/json");var o="function"==typeof e.requestOptions?e.requestOptions(n):e.requestOptions,a=nV({method:n?"POST":"GET",body:n?e.stringify(n):void 0,headers:r},nZ?{}:o);try{nK(t,a,i)}catch(e){if(!o||0===Object.keys(o).length||!e.message||0>e.message.indexOf("not implemented"))return i(e);try{Object.keys(o).forEach(function(e){delete a[e]}),nK(t,a,i),nZ=!0}catch(e){i(e)}}},nQ=function(e,t,n,i){n&&"object"===nW(n)&&(n=nX("",n).slice(1)),e.queryStringParams&&(t=nX(t,e.queryStringParams));try{(r=eg?new eg:new e_("MSXML2.XMLHTTP.3.0")).open(n?"POST":"GET",t,1),e.crossDomain||r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r.withCredentials=!!e.withCredentials,n&&r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),r.overrideMimeType&&r.overrideMimeType("application/json");var r,o=e.customHeaders;if(o="function"==typeof o?o():o)for(var a in o)r.setRequestHeader(a,o[a]);r.onreadystatechange=function(){r.readyState>3&&i(r.status>=400?r.statusText:null,{status:r.status,data:r.responseText})},r.send(n)}catch(e){console&&console.log(e)}};let n0=function(e,t,n,i){return("function"==typeof n&&(i=n,n=void 0),i=i||function(){},eb)?nJ(e,t,n,i):nq()||"function"==typeof ActiveXObject?nQ(e,t,n,i):void i(Error("No fetch and no xhr implementation found!"))};var n1=function(){var e;function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.services=e,this.options=n,this.allOptions=i,this.type="backend",this.init(e,n,i)}return e=[{key:"init",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=nV(n,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:function(e){return JSON.parse(e)},stringify:JSON.stringify,parsePayload:function(e,t,n){var i,r;return i={},r=n||"",t in i?Object.defineProperty(i,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[t]=r,i},request:n0,reloadInterval:"undefined"==typeof window&&36e5,customHeaders:{},queryStringParams:{},crossDomain:!1,withCredentials:!1,overrideMimeType:!1,requestOptions:{mode:"cors",credentials:"same-origin",cache:"default"}}),this.allOptions=i,this.services&&this.options.reloadInterval&&setInterval(function(){return t.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(e,t,n){this._readAny(e,e,t,t,n)}},{key:"read",value:function(e,t,n){this._readAny([e],e,[t],t,n)}},{key:"_readAny",value:function(e,t,n,i,r){var o,a,s=this,l=this.options.loadPath;"function"==typeof this.options.loadPath&&(l=this.options.loadPath(e,n)),(l=(a=o=l)&&"function"==typeof a.then?o:Promise.resolve(o)).then(function(o){if(!o)return r(null,{});var a=s.services.interpolator.interpolate(o,{lng:e.join("+"),ns:n.join("+")});s.loadUrl(a,r,t,i)})}},{key:"loadUrl",value:function(e,t,n,i){var r=this;this.options.request(this.options,e,void 0,function(o,a){var s,l;if(a&&(a.status>=500&&a.status<600||!a.status))return t("failed loading "+e+"; status code: "+a.status,!0);if(a&&a.status>=400&&a.status<500)return t("failed loading "+e+"; status code: "+a.status,!1);if(!a&&o&&o.message&&o.message.indexOf("Failed to fetch")>-1)return t("failed loading "+e+": "+o.message,!0);if(o)return t(o,!1);try{s="string"==typeof a.data?r.options.parse(a.data,n,i):a.data}catch(t){l="failed parsing "+e+" to json"}if(l)return t(l,!1);t(null,s)})}},{key:"create",value:function(e,t,n,i,r){var o=this;if(this.options.addPath){"string"==typeof e&&(e=[e]);var a=this.options.parsePayload(t,n,i),s=0,l=[],c=[];e.forEach(function(n){var i=o.options.addPath;"function"==typeof o.options.addPath&&(i=o.options.addPath(n,t));var d=o.services.interpolator.interpolate(i,{lng:n,ns:t});o.options.request(o.options,d,a,function(t,n){s+=1,l.push(t),c.push(n),s===e.length&&r&&r(l,c)})})}}},{key:"reload",value:function(){var e=this,t=this.services,n=t.backendConnector,i=t.languageUtils,r=t.logger,o=n.language;if(!o||"cimode"!==o.toLowerCase()){var a=[],s=function(e){i.toResolveHierarchy(e).forEach(function(e){0>a.indexOf(e)&&a.push(e)})};s(o),this.allOptions.preload&&this.allOptions.preload.forEach(function(e){return s(e)}),a.forEach(function(t){e.allOptions.ns.forEach(function(e){n.read(t,e,"read",null,null,function(i,o){i&&r.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&o&&r.log("loaded namespace ".concat(e," for language ").concat(t),o),n.loaded("".concat(t,"|").concat(e),i,o)})})})}}}],function(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}();n1.type="backend";let n2=globalThis,n5=n2.ShadowRoot&&(void 0===n2.ShadyCSS||n2.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,n3=Symbol(),n4=new WeakMap;class n6{constructor(e,t,n){if(this._$cssResult$=!0,n!==n3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(n5&&void 0===e){let n=void 0!==t&&1===t.length;n&&(e=n4.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&n4.set(t,e))}return e}toString(){return this.cssText}}let n8=e=>new n6("string"==typeof e?e:e+"",void 0,n3),n7=(e,...t)=>new n6(1===e.length?e[0]:t.reduce((t,n,i)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+e[i+1],e[0]),e,n3),n9=n5?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(let n of e.cssRules)t+=n.cssText;return n8(t)})(e):e,{is:ie,defineProperty:it,getOwnPropertyDescriptor:ii,getOwnPropertyNames:ir,getOwnPropertySymbols:io,getPrototypeOf:ia}=Object,is=globalThis,il=is.trustedTypes,ic=il?il.emptyScript:"",id=is.reactiveElementPolyfillSupport,iu={toAttribute(e,t){switch(t){case Boolean:e=e?ic:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=null!==e;break;case Number:n=null===e?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch(e){n=null}}return n}},im=(e,t)=>!ie(e,t),ih={attribute:!0,type:String,converter:iu,reflect:!1,useDefault:!1,hasChanged:im};Symbol.metadata??=Symbol("metadata"),is.litPropertyMetadata??=new WeakMap;class ip extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=ih){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(e,n,t);void 0!==i&&it(this.prototype,e,i)}}static getPropertyDescriptor(e,t,n){let{get:i,set:r}=ii(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:i,set(t){let o=i?.call(this);r?.call(this,t),this.requestUpdate(e,o,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??ih}static _$Ei(){if(this.hasOwnProperty("elementProperties"))return;let e=ia(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty("finalized"))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty("properties")){let e=this.properties;for(let t of[...ir(e),...io(e)])this.createProperty(t,e[t])}let e=this[Symbol.metadata];if(null!==e){let t=litPropertyMetadata.get(e);if(void 0!==t)for(let[e,n]of t)this.elementProperties.set(e,n)}for(let[e,t]of(this._$Eh=new Map,this.elementProperties)){let n=this._$Eu(e,t);void 0!==n&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e))for(let n of new Set(e.flat(1/0).reverse()))t.unshift(n9(n));else void 0!==e&&t.push(n9(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map;for(let t of this.constructor.elementProperties.keys())this.hasOwnProperty(t)&&(e.set(t,this[t]),delete this[t]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,t)=>{if(n5)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement("style"),i=n2.litNonce;void 0!==i&&t.setAttribute("nonce",i),t.textContent=n.cssText,e.appendChild(t)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,n);if(void 0!==i&&!0===n.reflect){let r=(void 0!==n.converter?.toAttribute?n.converter:iu).toAttribute(t,n.type);this._$Em=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(e,t){let n=this.constructor,i=n._$Eh.get(e);if(void 0!==i&&this._$Em!==i){let e=n.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:iu;this._$Em=i;let o=r.fromAttribute(t,e.type);this[i]=o??this._$Ej?.get(i)??o,this._$Em=null}}requestUpdate(e,t,n){if(void 0!==e){let i=this.constructor,r=this[e];if(!(((n??=i.getPropertyOptions(e)).hasChanged??im)(r,t)||n.useDefault&&n.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(i._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:i,wrapped:r},o){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??t??this[e]),!0!==r||void 0!==o)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===i&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,i=this[t];!0!==e||this._$AL.has(t)||void 0===i||this.C(t,void 0,n,i)}}let e=!1,t=this._$AL;try{(e=this.shouldUpdate(t))?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}}ip.elementStyles=[],ip.shadowRootOptions={mode:"open"},ip.elementProperties=new Map,ip.finalized=new Map,id?.({ReactiveElement:ip}),(is.reactiveElementVersions??=[]).push("2.1.1");let ib=globalThis,ig=ib.trustedTypes,i_=ig?ig.createPolicy("lit-html",{createHTML:e=>e}):void 0,iy="$lit$",iv=`lit$${Math.random().toFixed(9).slice(2)}$`,ix="?"+iv,iw=`<${ix}>`,iF=document,ik=()=>iF.createComment(""),iE=e=>null===e||"object"!=typeof e&&"function"!=typeof e,iA=Array.isArray,iT=e=>iA(e)||"function"==typeof e?.[Symbol.iterator],iC="[ \n\f\r]",iM=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,iL=/-->/g,iS=/>/g,iD=RegExp(`>|${iC}(?:([^\\s"'>=/]+)(${iC}*=${iC}*(?:[^
52
52
  \f\r"'\`<>=]|("|')|))|$)`,"g"),iI=/'/g,iO=/"/g,iR=/^(?:script|style|textarea|title)$/i,iP=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),iB=iP(1),iz=(iP(2),iP(3),Symbol.for("lit-noChange")),iY=Symbol.for("lit-nothing"),iN=new WeakMap,iH=iF.createTreeWalker(iF,129);function ij(e,t){if(!iA(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==i_?i_.createHTML(t):t}let iU=(e,t)=>{let n=e.length-1,i=[],r,o=2===t?"<svg>":3===t?"<math>":"",a=iM;for(let t=0;t<n;t++){let n=e[t],s,l,c=-1,d=0;for(;d<n.length&&(a.lastIndex=d,null!==(l=a.exec(n)));)d=a.lastIndex,a===iM?"!--"===l[1]?a=iL:void 0!==l[1]?a=iS:void 0!==l[2]?(iR.test(l[2])&&(r=RegExp("</"+l[2],"g")),a=iD):void 0!==l[3]&&(a=iD):a===iD?">"===l[0]?(a=r??iM,c=-1):void 0===l[1]?c=-2:(c=a.lastIndex-l[2].length,s=l[1],a=void 0===l[3]?iD:'"'===l[3]?iO:iI):a===iO||a===iI?a=iD:a===iL||a===iS?a=iM:(a=iD,r=void 0);let u=a===iD&&e[t+1].startsWith("/>")?" ":"";o+=a===iM?n+iw:c>=0?(i.push(s),n.slice(0,c)+iy+n.slice(c)+iv+u):n+iv+(-2===c?t:u)}return[ij(e,o+(e[n]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),i]};class iV{constructor({strings:e,_$litType$:t},n){let i;this.parts=[];let r=0,o=0,a=e.length-1,s=this.parts,[l,c]=iU(e,t);if(this.el=iV.createElement(l,n),iH.currentNode=this.el.content,2===t||3===t){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(i=iH.nextNode())&&s.length<a;){if(1===i.nodeType){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(iy)){let t=c[o++],n=i.getAttribute(e).split(iv),a=/([.?@])?(.*)/.exec(t);s.push({type:1,index:r,name:a[2],strings:n,ctor:"."===a[1]?iX:"?"===a[1]?iK:"@"===a[1]?iZ:iW}),i.removeAttribute(e)}else e.startsWith(iv)&&(s.push({type:6,index:r}),i.removeAttribute(e));if(iR.test(i.tagName)){let e=i.textContent.split(iv),t=e.length-1;if(t>0){i.textContent=ig?ig.emptyScript:"";for(let n=0;n<t;n++)i.append(e[n],ik()),iH.nextNode(),s.push({type:2,index:++r});i.append(e[t],ik())}}}else if(8===i.nodeType)if(i.data===ix)s.push({type:2,index:r});else{let e=-1;for(;-1!==(e=i.data.indexOf(iv,e+1));)s.push({type:7,index:r}),e+=iv.length-1}r++}}static createElement(e,t){let n=iF.createElement("template");return n.innerHTML=e,n}}function iq(e,t,n=e,i){if(t===iz)return t;let r=void 0!==i?n._$Co?.[i]:n._$Cl,o=iE(t)?void 0:t._$litDirective$;return r?.constructor!==o&&(r?._$AO?.(!1),void 0===o?r=void 0:(r=new o(e))._$AT(e,n,i),void 0!==i?(n._$Co??=[])[i]=r:n._$Cl=r),void 0!==r&&(t=iq(e,r._$AS(e,t.values),r,i)),t}class iG{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,i=(e?.creationScope??iF).importNode(t,!0);iH.currentNode=i;let r=iH.nextNode(),o=0,a=0,s=n[0];for(;void 0!==s;){if(o===s.index){let t;2===s.type?t=new i$(r,r.nextSibling,this,e):1===s.type?t=new s.ctor(r,s.name,s.strings,this,e):6===s.type&&(t=new iJ(r,this,e)),this._$AV.push(t),s=n[++a]}o!==s?.index&&(r=iH.nextNode(),o++)}return iH.currentNode=iF,i}p(e){let t=0;for(let n of this._$AV)void 0!==n&&(void 0!==n.strings?(n._$AI(e,n,t),t+=n.strings.length-2):n._$AI(e[t])),t++}}class i${get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,i){this.type=2,this._$AH=iY,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){iE(e=iq(this,e,t))?e===iY||null==e||""===e?(this._$AH!==iY&&this._$AR(),this._$AH=iY):e!==this._$AH&&e!==iz&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):iT(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==iY&&iE(this._$AH)?this._$AA.nextSibling.data=e:this.T(iF.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,i="number"==typeof n?this._$AC(e):(void 0===n.el&&(n.el=iV.createElement(ij(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===i)this._$AH.p(t);else{let e=new iG(i,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=iN.get(e.strings);return void 0===t&&iN.set(e.strings,t=new iV(e)),t}k(e){iA(this._$AH)||(this._$AH=[],this._$AR());let t=this._$AH,n,i=0;for(let r of e)i===t.length?t.push(n=new i$(this.O(ik()),this.O(ik()),this,this.options)):n=t[i],n._$AI(r),i++;i<t.length&&(this._$AR(n&&n._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class iW{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,i,r){this.type=1,this._$AH=iY,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=r,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=iY}_$AI(e,t=this,n,i){let r=this.strings,o=!1;if(void 0===r)(o=!iE(e=iq(this,e,t,0))||e!==this._$AH&&e!==iz)&&(this._$AH=e);else{let i,a,s=e;for(e=r[0],i=0;i<r.length-1;i++)(a=iq(this,s[n+i],t,i))===iz&&(a=this._$AH[i]),o||=!iE(a)||a!==this._$AH[i],a===iY?e=iY:e!==iY&&(e+=(a??"")+r[i+1]),this._$AH[i]=a}o&&!i&&this.j(e)}j(e){e===iY?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class iX extends iW{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===iY?void 0:e}}class iK extends iW{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==iY)}}class iZ extends iW{constructor(e,t,n,i,r){super(e,t,n,i,r),this.type=5}_$AI(e,t=this){if((e=iq(this,e,t,0)??iY)===iz)return;let n=this._$AH,i=e===iY&&n!==iY||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,r=e!==iY&&(n===iY||i);i&&this.element.removeEventListener(this.name,this,n),r&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class iJ{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){iq(this,e)}}let iQ=ib.litHtmlPolyfillSupport;iQ?.(iV,i$),(ib.litHtmlVersions??=[]).push("3.3.1");let i0=globalThis;class i1 extends ip{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,n)=>{let i=n?.renderBefore??t,r=i._$litPart$;if(void 0===r){let e=n?.renderBefore??null;i._$litPart$=r=new i$(t.insertBefore(ik(),e),e,void 0,n??{})}return r._$AI(e),r})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return iz}}i1._$litElement$=!0,i1.finalized=!0,i0.litElementHydrateSupport?.({LitElement:i1});let i2=i0.litElementPolyfillSupport;i2?.({LitElement:i1}),(i0.litElementVersions??=[]).push("4.2.1");let i5={ATTRIBUTE:1,CHILD:2},i3=e=>(...t)=>({_$litDirective$:e,values:t});class i4{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}class i6 extends i4{constructor(e){if(super(e),this.it=iY,e.type!==i5.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===iY||null==e)return this._t=void 0,this.it=e;if(e===iz)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}}i6.directiveName="unsafeHTML",i6.resultType=1,i3(i6);class i8 extends i6{}i8.directiveName="unsafeSVG",i8.resultType=2;let i7=i3(i8),i9=e=>(t,n)=>{void 0!==n?n.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},re={attribute:!0,type:String,converter:iu,reflect:!1,hasChanged:im};function rt(e){return(t,n)=>"object"==typeof n?((e=re,t,n)=>{let{kind:i,metadata:r}=n,o=globalThis.litPropertyMetadata.get(r);if(void 0===o&&globalThis.litPropertyMetadata.set(r,o=new Map),"setter"===i&&((e=Object.create(e)).wrapped=!0),o.set(n.name,e),"accessor"===i){let{name:i}=n;return{set(n){let r=t.get.call(this);t.set.call(this,n),this.requestUpdate(i,r,e)},init(t){return void 0!==t&&this.C(i,void 0,e,t),t}}}if("setter"===i){let{name:i}=n;return function(n){let r=this[i];t.call(this,n),this.requestUpdate(i,r,e)}}throw Error("Unsupported decorator location: "+i)})(e,t,n):((e,t,n)=>{let i=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),i?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function rn(e){return rt({...e,state:!0,attribute:!1})}let ri=(e,t,n)=>(n.configurable=!0,n.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,n),n);function rr(e,t){return(n,i,r)=>{let o=t=>t.renderRoot?.querySelector(e)??null;if(t){let{get:e,set:t}="object"==typeof i?n:r??(()=>{let e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return ri(n,i,{get(){let n=e.call(this);return void 0===n&&(null!==(n=o(this))||this.hasUpdated)&&t.call(this,n),n}})}return ri(n,i,{get(){return o(this)}})}}let ro={size:24,icons:{logo:'<path style=\'pointer-events: var(--or-icon-pointer-events, none);\' fill="#C4D600" d="m11.96125,23.85096c-6.56773,0 -11.90971,-5.34202 -11.90971,-11.90862l2.49411,0c0,5.19176 4.22389,9.41568 9.41561,9.41568c5.19053,0 9.41561,-4.22392 9.41561,-9.41568c0,-5.19176 -4.22389,-9.41568 -9.41561,-9.41568l0,-2.49413c6.56655,0 11.90971,5.34439 11.90971,11.9098c0,6.5666 -5.34316,11.90862 -11.90971,11.90862l0,0z" /><path fill="#4E9D2D" d="m10.25094,20.38647c-2.26848,-0.47231 -4.21822,-1.80199 -5.48741,-3.74009s-1.70892,-4.25777 -1.23545,-6.52625c0.47347,-2.26965 1.80315,-4.21822 3.74242,-5.48857c1.93926,-1.27035 4.25661,-1.70892 6.52625,-1.23545c4.68471,0.97719 7.70121,5.5828 6.72286,10.26635l-2.39994,-0.49907c0.70149,-3.36085 -1.4623,-6.66585 -4.82431,-7.36734c-1.62866,-0.33969 -3.29105,-0.02559 -4.68238,0.88645c-1.39134,0.91088 -2.34526,2.3092 -2.68495,3.93786c-0.33853,1.62633 -0.02443,3.28988 0.88645,4.68122c0.91088,1.39134 2.3092,2.34526 3.93786,2.68379l-0.50139,2.4011l0,0z"/><path fill="#1D5632"d="m12.03064,17.49616c-0.09524,0 -0.19048,-0.00116 -0.28457,-0.00465c-1.49833,-0.0755 -2.87818,-0.72942 -3.88636,-1.84097c-1.00818,-1.11271 -1.52156,-2.54948 -1.44722,-4.05013l2.44378,0.12196c-0.04181,0.84557 0.24856,1.65745 0.81769,2.28466c0.56681,0.62721 1.34733,0.99656 2.1929,1.03838c0.84208,0.03833 1.65629,-0.2474 2.2835,-0.81653c0.62837,-0.56797 0.99656,-1.34617 1.03954,-2.19174c0.08711,-1.74573 -1.26371,-3.23708 -3.00943,-3.3242l0.12196,-2.44378c3.09422,0.15332 5.4869,2.79455 5.33358,5.88877c-0.07434,1.49949 -0.72942,2.87818 -1.84097,3.8852c-1.04186,0.94313 -2.36945,1.45303 -3.7644,1.45303l0,0z"/>',"logo-plain":"m11.9925,23.91349c-6.58498,0 -11.94099,-5.35605 -11.94099,-11.9399l2.50066,0c0,5.20539 4.23498,9.44041 9.44033,9.44041c5.20416,0 9.44033,-4.23502 9.44033,-9.44041c0,-5.20539 -4.23498,-9.44041 -9.44033,-9.44041l0,-2.50068c6.5838,0 11.94099,5.35842 11.94099,11.94108c0,6.58385 -5.35719,11.9399 -11.94099,11.9399l0,0zm-1.80787,-3.27769c-2.31323,-0.48163 -4.30141,-1.83755 -5.59563,-3.81389s-1.74263,-4.34178 -1.25982,-6.65502c0.48281,-2.31443 1.83872,-4.30145 3.81623,-5.59686c1.97751,-1.29542 4.34056,-1.74264 6.65497,-1.25983c4.77711,0.99647 7.8531,5.69295 6.85545,10.46891l-2.44727,-0.50891c0.71532,-3.42716 -1.49114,-6.79738 -4.91946,-7.5127c-1.66078,-0.34639 -3.35596,-0.0261 -4.77474,0.90394c-1.41878,0.92886 -2.39152,2.35476 -2.73791,4.01555c-0.3452,1.65842 -0.02491,3.3548 0.90394,4.77359c0.92885,1.41879 2.35475,2.39154 4.01552,2.73675l-0.51128,2.44848l0,0zm1.81499,-2.92536c-0.09727,0 -0.19455,-0.00119 -0.29064,-0.00475c-1.53029,-0.07711 -2.93958,-0.74498 -3.96926,-1.88025c-1.02968,-1.13646 -1.55401,-2.60388 -1.47809,-4.13655l2.49591,0.12456c-0.04271,0.86361 0.25386,1.69282 0.83513,2.33341c0.5789,0.64059 1.37607,1.01783 2.23968,1.06053c0.86005,0.03915 1.69162,-0.25268 2.33221,-0.83395c0.64177,-0.58009 1.01782,-1.3749 1.06171,-2.23851c0.08897,-1.78298 -1.29066,-3.30616 -3.07362,-3.39513l0.12456,-2.49593c3.16022,0.15659 5.60394,2.85419 5.44735,6.01443c-0.07592,1.53149 -0.74498,2.9396 -1.88024,3.9681c-1.06408,0.96326 -2.41999,1.48403 -3.8447,1.48403l0,0z",marker:'<ellipse fill="#000" opacity="0.2" ry="1.5" rx="4" cy="22.5" cx="12" /><path style=\'pointer-events: var(--or-icon-pointer-events, none);\' d="m11.999999,0a8.437501,8.344057 0 0 1 8.437501,8.344057c0,6.500779 -5.798864,6.280799 -8.437501,14.412461c-2.638637,-8.131662 -8.437501,-7.911683 -8.437501,-14.412461a8.437501,8.344057 0 0 1 8.437501,-8.344057z" />'}};var ra=function(e,t,n,i){var r,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(a=(o<3?r(a):o>3?r(t,n,a):r(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a};let rs=n(7319);class rl extends CustomEvent{constructor(){super(rl.NAME,{bubbles:!0,composed:!0})}}rl.NAME="or-iconset-added";let rc=new class{constructor(){this._icons={}}addIconSet(e,t){this._icons[e]=t,this._defaultIconSet||(this._defaultIconSet=t),t.onAdd&&t.onAdd(),window.dispatchEvent(new rl)}getIconSet(e){return this._icons[e]}getIconTemplate(e){if(!e)return iB``;let t=(e||"").split(":"),n=t.pop(),i=t.pop(),r=this._defaultIconSet;return(i&&(r=this.getIconSet(i)),n&&r)?r.getIconTemplate(n):iB``}},rd=class extends i1{constructor(){super(...arguments),this._handler=e=>{this._updateIcon()}}static get styles(){return[n7`
53
53
  :host {
54
54
  --internal-or-icon-width: var(--or-icon-width, 24px);