@geops/rvf-mobility-web-component 0.1.100 → 0.1.102
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.
- package/CHANGELOG.md +9 -0
- package/index.js +2 -2
- package/package.json +2 -2
- package/src/RvfMapLayout/RvfMapLayout.tsx +1 -1
- package/tash +0 -58
package/index.js
CHANGED
|
@@ -835,7 +835,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
835
835
|
`||g===v){n=Math.max(n,c),o.push(c),c=0,A+=L,L=0;continue}let I=t[g+1]||r.font,B=Yk(I,S);e.push(B),c+=B;let R=oe1(I);i.push(R),L=Math.max(L,R)}return{width:n,height:A,widths:e,heights:i,lineWidths:o}}function tO(r,t,e,i,o,n,c,A,L,g,v){r.save(),e!==1&&(r.globalAlpha===void 0?r.globalAlpha=S=>S.globalAlpha*=e:r.globalAlpha*=e),t&&r.transform.apply(r,t),i.contextInstructions?(r.translate(L,g),r.scale(v[0],v[1]),ae1(i,r)):v[0]<0||v[1]<0?(r.translate(L,g),r.scale(v[0],v[1]),r.drawImage(i,o,n,c,A,0,0,c,A)):r.drawImage(i,o,n,c,A,L,g,c*v[0],A*v[1]),r.restore()}function ae1(r,t){let e=r.contextInstructions;for(let i=0,o=e.length;i<o;i+=2)Array.isArray(e[i+1])?t[e[i]].apply(t,e[i+1]):t[e[i]]=e[i+1]}var $b=class extends Qg{constructor(t,e,i,o,n,c,A){super(),this.context_=t,this.pixelRatio_=e,this.extent_=i,this.transform_=o,this.transformRotation_=o?ag(Math.atan2(o[1],o[0]),10):0,this.viewRotation_=n,this.squaredTolerance_=c,this.userTransform_=A,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=U6()}drawImages_(t,e,i,o){if(!this.image_)return;let n=yn(t,e,i,o,this.transform_,this.pixelCoordinates_),c=this.context_,A=this.tmpLocalTransform_,L=c.globalAlpha;this.imageOpacity_!=1&&(c.globalAlpha=L*this.imageOpacity_);let g=this.imageRotation_;this.transformRotation_===0&&(g-=this.viewRotation_),this.imageRotateWithView_&&(g+=this.viewRotation_);for(let v=0,S=n.length;v<S;v+=2){let I=n[v]-this.imageAnchorX_,B=n[v+1]-this.imageAnchorY_;if(g!==0||this.imageScale_[0]!=1||this.imageScale_[1]!=1){let R=I+this.imageAnchorX_,H=B+this.imageAnchorY_;c8(A,R,H,1,1,g,-R,-H),c.save(),c.transform.apply(c,A),c.translate(R,H),c.scale(this.imageScale_[0],this.imageScale_[1]),c.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,-this.imageAnchorX_,-this.imageAnchorY_,this.imageWidth_,this.imageHeight_),c.restore()}else c.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,I,B,this.imageWidth_,this.imageHeight_)}this.imageOpacity_!=1&&(c.globalAlpha=L)}drawText_(t,e,i,o){if(!this.textState_||this.text_==="")return;this.textFillState_&&this.setContextFillState_(this.textFillState_),this.textStrokeState_&&this.setContextStrokeState_(this.textStrokeState_),this.setContextTextState_(this.textState_);let n=yn(t,e,i,o,this.transform_,this.pixelCoordinates_),c=this.context_,A=this.textRotation_;for(this.transformRotation_===0&&(A-=this.viewRotation_),this.textRotateWithView_&&(A+=this.viewRotation_);e<i;e+=o){let L=n[e]+this.textOffsetX_,g=n[e+1]+this.textOffsetY_;A!==0||this.textScale_[0]!=1||this.textScale_[1]!=1?(c.save(),c.translate(L-this.textOffsetX_,g-this.textOffsetY_),c.rotate(A),c.translate(this.textOffsetX_,this.textOffsetY_),c.scale(this.textScale_[0],this.textScale_[1]),this.textStrokeState_&&c.strokeText(this.text_,0,0),this.textFillState_&&c.fillText(this.text_,0,0),c.restore()):(this.textStrokeState_&&c.strokeText(this.text_,L,g),this.textFillState_&&c.fillText(this.text_,L,g))}}moveToLineTo_(t,e,i,o,n){let c=this.context_,A=yn(t,e,i,o,this.transform_,this.pixelCoordinates_);c.moveTo(A[0],A[1]);let L=A.length;n&&(L-=2);for(let g=2;g<L;g+=2)c.lineTo(A[g],A[g+1]);return n&&c.closePath(),i}drawRings_(t,e,i,o){for(let n=0,c=i.length;n<c;++n)e=this.moveToLineTo_(t,e,i[n],o,!0);return e}drawCircle(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!t6(this.extent_,t.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);let e=Jz(t,this.transform_,this.pixelCoordinates_),i=e[2]-e[0],o=e[3]-e[1],n=Math.sqrt(i*i+o*o),c=this.context_;c.beginPath(),c.arc(e[0],e[1],n,0,2*Math.PI),this.fillState_&&c.fill(),this.strokeState_&&c.stroke()}this.text_!==""&&this.drawText_(t.getCenter(),0,2,2)}}setStyle(t){this.setFillStrokeStyle(t.getFill(),t.getStroke()),this.setImageStyle(t.getImage()),this.setTextStyle(t.getText())}setTransform(t){this.transform_=t}drawGeometry(t){switch(t.getType()){case"Point":this.drawPoint(t);break;case"LineString":this.drawLineString(t);break;case"Polygon":this.drawPolygon(t);break;case"MultiPoint":this.drawMultiPoint(t);break;case"MultiLineString":this.drawMultiLineString(t);break;case"MultiPolygon":this.drawMultiPolygon(t);break;case"GeometryCollection":this.drawGeometryCollection(t);break;case"Circle":this.drawCircle(t);break;default:}}drawFeature(t,e){let i=e.getGeometryFunction()(t);i&&(this.setStyle(e),this.drawGeometry(i))}drawGeometryCollection(t){let e=t.getGeometriesArray();for(let i=0,o=e.length;i<o;++i)this.drawGeometry(e[i])}drawPoint(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));let e=t.getFlatCoordinates(),i=t.getStride();this.image_&&this.drawImages_(e,0,e.length,i),this.text_!==""&&this.drawText_(e,0,e.length,i)}drawMultiPoint(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));let e=t.getFlatCoordinates(),i=t.getStride();this.image_&&this.drawImages_(e,0,e.length,i),this.text_!==""&&this.drawText_(e,0,e.length,i)}drawLineString(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!t6(this.extent_,t.getExtent())){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);let e=this.context_,i=t.getFlatCoordinates();e.beginPath(),this.moveToLineTo_(i,0,i.length,t.getStride(),!1),e.stroke()}if(this.text_!==""){let e=t.getFlatMidpoint();this.drawText_(e,0,2,2)}}}drawMultiLineString(t){this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_));let e=t.getExtent();if(t6(this.extent_,e)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);let i=this.context_,o=t.getFlatCoordinates(),n=0,c=t.getEnds(),A=t.getStride();i.beginPath();for(let L=0,g=c.length;L<g;++L)n=this.moveToLineTo_(o,n,c[L],A,!1);i.stroke()}if(this.text_!==""){let i=t.getFlatMidpoints();this.drawText_(i,0,i.length,2)}}}drawPolygon(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!t6(this.extent_,t.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);let e=this.context_;e.beginPath(),this.drawRings_(t.getOrientedFlatCoordinates(),0,t.getEnds(),t.getStride()),this.fillState_&&e.fill(),this.strokeState_&&e.stroke()}if(this.text_!==""){let e=t.getFlatInteriorPoint();this.drawText_(e,0,2,2)}}}drawMultiPolygon(t){if(this.squaredTolerance_&&(t=t.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),!!t6(this.extent_,t.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);let e=this.context_,i=t.getOrientedFlatCoordinates(),o=0,n=t.getEndss(),c=t.getStride();e.beginPath();for(let A=0,L=n.length;A<L;++A){let g=n[A];o=this.drawRings_(i,o,g,c)}this.fillState_&&e.fill(),this.strokeState_&&e.stroke()}if(this.text_!==""){let e=t.getFlatInteriorPoints();this.drawText_(e,0,e.length,2)}}}setContextFillState_(t){let e=this.context_,i=this.contextFillState_;i?i.fillStyle!=t.fillStyle&&(i.fillStyle=t.fillStyle,e.fillStyle=t.fillStyle):(e.fillStyle=t.fillStyle,this.contextFillState_={fillStyle:t.fillStyle})}setContextStrokeState_(t){let e=this.context_,i=this.contextStrokeState_;i?(i.lineCap!=t.lineCap&&(i.lineCap=t.lineCap,e.lineCap=t.lineCap),g9(i.lineDash,t.lineDash)||e.setLineDash(i.lineDash=t.lineDash),i.lineDashOffset!=t.lineDashOffset&&(i.lineDashOffset=t.lineDashOffset,e.lineDashOffset=t.lineDashOffset),i.lineJoin!=t.lineJoin&&(i.lineJoin=t.lineJoin,e.lineJoin=t.lineJoin),i.lineWidth!=t.lineWidth&&(i.lineWidth=t.lineWidth,e.lineWidth=t.lineWidth),i.miterLimit!=t.miterLimit&&(i.miterLimit=t.miterLimit,e.miterLimit=t.miterLimit),i.strokeStyle!=t.strokeStyle&&(i.strokeStyle=t.strokeStyle,e.strokeStyle=t.strokeStyle)):(e.lineCap=t.lineCap,e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset,e.lineJoin=t.lineJoin,e.lineWidth=t.lineWidth,e.miterLimit=t.miterLimit,e.strokeStyle=t.strokeStyle,this.contextStrokeState_={lineCap:t.lineCap,lineDash:t.lineDash,lineDashOffset:t.lineDashOffset,lineJoin:t.lineJoin,lineWidth:t.lineWidth,miterLimit:t.miterLimit,strokeStyle:t.strokeStyle})}setContextTextState_(t){let e=this.context_,i=this.contextTextState_,o=t.textAlign?t.textAlign:Qs;i?(i.font!=t.font&&(i.font=t.font,e.font=t.font),i.textAlign!=o&&(i.textAlign=o,e.textAlign=o),i.textBaseline!=t.textBaseline&&(i.textBaseline=t.textBaseline,e.textBaseline=t.textBaseline)):(e.font=t.font,e.textAlign=o,e.textBaseline=t.textBaseline,this.contextTextState_={font:t.font,textAlign:o,textBaseline:t.textBaseline})}setFillStrokeStyle(t,e){if(!t)this.fillState_=null;else{let i=t.getColor();this.fillState_={fillStyle:wn(i||Hi)}}if(!e)this.strokeState_=null;else{let i=e.getColor(),o=e.getLineCap(),n=e.getLineDash(),c=e.getLineDashOffset(),A=e.getLineJoin(),L=e.getWidth(),g=e.getMiterLimit(),v=n||bn;this.strokeState_={lineCap:o!==void 0?o:bo,lineDash:this.pixelRatio_===1?v:v.map(S=>S*this.pixelRatio_),lineDashOffset:(c||Mn)*this.pixelRatio_,lineJoin:A!==void 0?A:Mo,lineWidth:(L!==void 0?L:Fa)*this.pixelRatio_,miterLimit:g!==void 0?g:Ea,strokeStyle:wn(i||Ta)}}}setImageStyle(t){let e;if(!t||!(e=t.getSize())){this.image_=null;return}let i=t.getPixelRatio(this.pixelRatio_),o=t.getAnchor(),n=t.getOrigin();this.image_=t.getImage(this.pixelRatio_),this.imageAnchorX_=o[0]*i,this.imageAnchorY_=o[1]*i,this.imageHeight_=e[1]*i,this.imageOpacity_=t.getOpacity(),this.imageOriginX_=n[0],this.imageOriginY_=n[1],this.imageRotateWithView_=t.getRotateWithView(),this.imageRotation_=t.getRotation();let c=t.getScaleArray();this.imageScale_=[c[0]*this.pixelRatio_/i,c[1]*this.pixelRatio_/i],this.imageWidth_=e[0]*i}setTextStyle(t){if(!t)this.text_="";else{let e=t.getFill();if(!e)this.textFillState_=null;else{let B=e.getColor();this.textFillState_={fillStyle:wn(B||Hi)}}let i=t.getStroke();if(!i)this.textStrokeState_=null;else{let B=i.getColor(),R=i.getLineCap(),H=i.getLineDash(),V=i.getLineDashOffset(),G=i.getLineJoin(),e1=i.getWidth(),i1=i.getMiterLimit();this.textStrokeState_={lineCap:R!==void 0?R:bo,lineDash:H||bn,lineDashOffset:V||Mn,lineJoin:G!==void 0?G:Mo,lineWidth:e1!==void 0?e1:Fa,miterLimit:i1!==void 0?i1:Ea,strokeStyle:wn(B||Ta)}}let o=t.getFont(),n=t.getOffsetX(),c=t.getOffsetY(),A=t.getRotateWithView(),L=t.getRotation(),g=t.getScaleArray(),v=t.getText(),S=t.getTextAlign(),I=t.getTextBaseline();this.textState_={font:o!==void 0?o:Gg,textAlign:S!==void 0?S:Qs,textBaseline:I!==void 0?I:Lc},this.text_=v!==void 0?Array.isArray(v)?v.reduce((B,R,H)=>B+=H%2?" ":R,""):v:"",this.textOffsetX_=n!==void 0?this.pixelRatio_*n:0,this.textOffsetY_=c!==void 0?this.pixelRatio_*c:0,this.textRotateWithView_=A!==void 0?A:!1,this.textRotation_=L!==void 0?L:0,this.textScale_=[this.pixelRatio_*g[0],this.pixelRatio_*g[1]]}}},eO=$b;var se1=.5,rO={Point:fe1,LineString:he1,Polygon:Le1,MultiPoint:pe1,MultiLineString:de1,MultiPolygon:Ae1,GeometryCollection:ue1,Circle:le1};function iO(r,t){return parseInt(or(r),10)-parseInt(or(t),10)}function Xb(r,t){let e=Yb(r,t);return e*e}function Yb(r,t){return se1*r/t}function le1(r,t,e,i,o){let n=e.getFill(),c=e.getStroke();if(n||c){let L=r.getBuilder(e.getZIndex(),"Circle");L.setFillStrokeStyle(n,c),L.drawCircle(t,i,o)}let A=e.getText();if(A&&A.getText()){let L=r.getBuilder(e.getZIndex(),"Text");L.setTextStyle(A),L.drawText(t,i)}}function Jb(r,t,e,i,o,n,c,A){let L=[],g=e.getImage();if(g){let I=!0,B=g.getImageState();B==Xe.LOADED||B==Xe.ERROR?I=!1:B==Xe.IDLE&&g.load(),I&&L.push(g.ready())}let v=e.getFill();v&&v.loading()&&L.push(v.ready());let S=L.length>0;return S&&Promise.all(L).then(()=>o(null)),ce1(r,t,e,i,n,c,A),S}function ce1(r,t,e,i,o,n,c){let A=e.getGeometryFunction()(t);if(!A)return;let L=A.simplifyTransformed(i,o);if(e.getRenderer())nO(r,L,e,t,c);else{let v=rO[L.getType()];v(r,L,e,t,c,n)}}function nO(r,t,e,i,o){if(t.getType()=="GeometryCollection"){let c=t.getGeometries();for(let A=0,L=c.length;A<L;++A)nO(r,c[A],e,i,o);return}r.getBuilder(e.getZIndex(),"Default").drawCustom(t,i,e.getRenderer(),e.getHitDetectionRenderer(),o)}function ue1(r,t,e,i,o,n){let c=t.getGeometriesArray(),A,L;for(A=0,L=c.length;A<L;++A){let g=rO[c[A].getType()];g(r,c[A],e,i,o,n)}}function he1(r,t,e,i,o){let n=e.getStroke();if(n){let A=r.getBuilder(e.getZIndex(),"LineString");A.setFillStrokeStyle(null,n),A.drawLineString(t,i,o)}let c=e.getText();if(c&&c.getText()){let A=r.getBuilder(e.getZIndex(),"Text");A.setTextStyle(c),A.drawText(t,i,o)}}function de1(r,t,e,i,o){let n=e.getStroke();if(n){let A=r.getBuilder(e.getZIndex(),"LineString");A.setFillStrokeStyle(null,n),A.drawMultiLineString(t,i,o)}let c=e.getText();if(c&&c.getText()){let A=r.getBuilder(e.getZIndex(),"Text");A.setTextStyle(c),A.drawText(t,i,o)}}function Ae1(r,t,e,i,o){let n=e.getFill(),c=e.getStroke();if(c||n){let L=r.getBuilder(e.getZIndex(),"Polygon");L.setFillStrokeStyle(n,c),L.drawMultiPolygon(t,i,o)}let A=e.getText();if(A&&A.getText()){let L=r.getBuilder(e.getZIndex(),"Text");L.setTextStyle(A),L.drawText(t,i,o)}}function fe1(r,t,e,i,o,n){let c=e.getImage(),A=e.getText(),L=A&&A.getText(),g=n&&c&&L?{}:void 0;if(c){if(c.getImageState()!=Xe.LOADED)return;let v=r.getBuilder(e.getZIndex(),"Image");v.setImageStyle(c,g),v.drawPoint(t,i,o)}if(L){let v=r.getBuilder(e.getZIndex(),"Text");v.setTextStyle(A,g),v.drawText(t,i,o)}}function pe1(r,t,e,i,o,n){let c=e.getImage(),A=c&&c.getOpacity()!==0,L=e.getText(),g=L&&L.getText(),v=n&&A&&g?{}:void 0;if(A){if(c.getImageState()!=Xe.LOADED)return;let S=r.getBuilder(e.getZIndex(),"Image");S.setImageStyle(c,v),S.drawMultiPoint(t,i,o)}if(g){let S=r.getBuilder(e.getZIndex(),"Text");S.setTextStyle(L,v),S.drawText(t,i,o)}}function Le1(r,t,e,i,o){let n=e.getFill(),c=e.getStroke();if(n||c){let L=r.getBuilder(e.getZIndex(),"Polygon");L.setFillStrokeStyle(n,c),L.drawPolygon(t,i,o)}let A=e.getText();if(A&&A.getText()){let L=r.getBuilder(e.getZIndex(),"Text");L.setTextStyle(A),L.drawText(t,i,o)}}var Ce1=!1;function ge1(r,t,e,i,o,n,c){let A=new XMLHttpRequest;A.open("GET",typeof r=="function"?r(e,i,o):r,!0),t.getType()=="arraybuffer"&&(A.responseType="arraybuffer"),A.withCredentials=Ce1,A.onload=function(L){if(!A.status||A.status>=200&&A.status<300){let g=t.getType();try{let v;g=="text"||g=="json"?v=A.responseText:g=="xml"?v=A.responseXML||A.responseText:g=="arraybuffer"&&(v=A.response),v?n(t.readFeatures(v,{extent:e,featureProjection:o}),t.readProjection(v)):c()}catch{c()}}else c()},A.onerror=c,A.send()}function tM(r,t){return function(e,i,o,n,c){ge1(r,t,e,i,o,(A,L)=>{this.addFeatures(A),n!==void 0&&n(A)},()=>{this.changed(),c!==void 0&&c()})}}function oO(r,t){return[[-1/0,-1/0,1/0,1/0]]}function jg(r,t,e=0,i=r.length-1,o=me1){for(;i>e;){if(i-e>600){let L=i-e+1,g=t-e+1,v=Math.log(L),S=.5*Math.exp(2*v/3),I=.5*Math.sqrt(v*S*(L-S)/L)*(g-L/2<0?-1:1),B=Math.max(e,Math.floor(t-g*S/L+I)),R=Math.min(i,Math.floor(t+(L-g)*S/L+I));jg(r,t,B,R,o)}let n=r[t],c=e,A=i;for(Rf(r,e,t),o(r[i],n)>0&&Rf(r,e,i);c<A;){for(Rf(r,c,A),c++,A--;o(r[c],n)<0;)c++;for(;o(r[A],n)>0;)A--}o(r[e],n)===0?Rf(r,e,A):(A++,Rf(r,A,i)),A<=t&&(e=A+1),t<=A&&(i=A-1)}}function Rf(r,t,e){let i=r[t];r[t]=r[e],r[e]=i}function me1(r,t){return r<t?-1:r>t?1:0}var Cc=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(t){let e=this.data,i=[];if(!Kg(t,e))return i;let o=this.toBBox,n=[];for(;e;){for(let c=0;c<e.children.length;c++){let A=e.children[c],L=e.leaf?o(A):A;Kg(t,L)&&(e.leaf?i.push(A):rM(t,L)?this._all(A,i):n.push(A))}e=n.pop()}return i}collides(t){let e=this.data;if(!Kg(t,e))return!1;let i=[];for(;e;){for(let o=0;o<e.children.length;o++){let n=e.children[o],c=e.leaf?this.toBBox(n):n;if(Kg(t,c)){if(e.leaf||rM(t,c))return!0;i.push(n)}}e=i.pop()}return!1}load(t){if(!(t&&t.length))return this;if(t.length<this._minEntries){for(let i=0;i<t.length;i++)this.insert(t[i]);return this}let e=this._build(t.slice(),0,t.length-1,0);if(!this.data.children.length)this.data=e;else if(this.data.height===e.height)this._splitRoot(this.data,e);else{if(this.data.height<e.height){let i=this.data;this.data=e,e=i}this._insert(e,this.data.height-e.height-1,!0)}return this}insert(t){return t&&this._insert(t,this.data.height-1),this}clear(){return this.data=gh([]),this}remove(t,e){if(!t)return this;let i=this.data,o=this.toBBox(t),n=[],c=[],A,L,g;for(;i||n.length;){if(i||(i=n.pop(),L=n[n.length-1],A=c.pop(),g=!0),i.leaf){let v=ve1(t,i.children,e);if(v!==-1)return i.children.splice(v,1),n.push(i),this._condense(n),this}!g&&!i.leaf&&rM(i,o)?(n.push(i),c.push(A),A=0,L=i,i=i.children[0]):L?(A++,i=L.children[A],g=!1):i=null}return this}toBBox(t){return t}compareMinX(t,e){return t.minX-e.minX}compareMinY(t,e){return t.minY-e.minY}toJSON(){return this.data}fromJSON(t){return this.data=t,this}_all(t,e){let i=[];for(;t;)t.leaf?e.push(...t.children):i.push(...t.children),t=i.pop();return e}_build(t,e,i,o){let n=i-e+1,c=this._maxEntries,A;if(n<=c)return A=gh(t.slice(e,i+1)),Ch(A,this.toBBox),A;o||(o=Math.ceil(Math.log(n)/Math.log(c)),c=Math.ceil(n/Math.pow(c,o-1))),A=gh([]),A.leaf=!1,A.height=o;let L=Math.ceil(n/c),g=L*Math.ceil(Math.sqrt(c));aO(t,e,i,g,this.compareMinX);for(let v=e;v<=i;v+=g){let S=Math.min(v+g-1,i);aO(t,v,S,L,this.compareMinY);for(let I=v;I<=S;I+=L){let B=Math.min(I+L-1,S);A.children.push(this._build(t,I,B,o-1))}}return Ch(A,this.toBBox),A}_chooseSubtree(t,e,i,o){for(;o.push(e),!(e.leaf||o.length-1===i);){let n=1/0,c=1/0,A;for(let L=0;L<e.children.length;L++){let g=e.children[L],v=eM(g),S=xe1(t,g)-v;S<c?(c=S,n=v<n?v:n,A=g):S===c&&v<n&&(n=v,A=g)}e=A||e.children[0]}return e}_insert(t,e,i){let o=i?t:this.toBBox(t),n=[],c=this._chooseSubtree(o,this.data,e,n);for(c.children.push(t),zf(c,o);e>=0&&n[e].children.length>this._maxEntries;)this._split(n,e),e--;this._adjustParentBBoxes(o,n,e)}_split(t,e){let i=t[e],o=i.children.length,n=this._minEntries;this._chooseSplitAxis(i,n,o);let c=this._chooseSplitIndex(i,n,o),A=gh(i.children.splice(c,i.children.length-c));A.height=i.height,A.leaf=i.leaf,Ch(i,this.toBBox),Ch(A,this.toBBox),e?t[e-1].children.push(A):this._splitRoot(i,A)}_splitRoot(t,e){this.data=gh([t,e]),this.data.height=t.height+1,this.data.leaf=!1,Ch(this.data,this.toBBox)}_chooseSplitIndex(t,e,i){let o,n=1/0,c=1/0;for(let A=e;A<=i-e;A++){let L=Df(t,0,A,this.toBBox),g=Df(t,A,i,this.toBBox),v=we1(L,g),S=eM(L)+eM(g);v<n?(n=v,o=A,c=S<c?S:c):v===n&&S<c&&(c=S,o=A)}return o||i-e}_chooseSplitAxis(t,e,i){let o=t.leaf?this.compareMinX:ye1,n=t.leaf?this.compareMinY:_e1,c=this._allDistMargin(t,e,i,o),A=this._allDistMargin(t,e,i,n);c<A&&t.children.sort(o)}_allDistMargin(t,e,i,o){t.children.sort(o);let n=this.toBBox,c=Df(t,0,e,n),A=Df(t,i-e,i,n),L=qg(c)+qg(A);for(let g=e;g<i-e;g++){let v=t.children[g];zf(c,t.leaf?n(v):v),L+=qg(c)}for(let g=i-e-1;g>=e;g--){let v=t.children[g];zf(A,t.leaf?n(v):v),L+=qg(A)}return L}_adjustParentBBoxes(t,e,i){for(let o=i;o>=0;o--)zf(e[o],t)}_condense(t){for(let e=t.length-1,i;e>=0;e--)t[e].children.length===0?e>0?(i=t[e-1].children,i.splice(i.indexOf(t[e]),1)):this.clear():Ch(t[e],this.toBBox)}};function ve1(r,t,e){if(!e)return t.indexOf(r);for(let i=0;i<t.length;i++)if(e(r,t[i]))return i;return-1}function Ch(r,t){Df(r,0,r.children.length,t,r)}function Df(r,t,e,i,o){o||(o=gh(null)),o.minX=1/0,o.minY=1/0,o.maxX=-1/0,o.maxY=-1/0;for(let n=t;n<e;n++){let c=r.children[n];zf(o,r.leaf?i(c):c)}return o}function zf(r,t){return r.minX=Math.min(r.minX,t.minX),r.minY=Math.min(r.minY,t.minY),r.maxX=Math.max(r.maxX,t.maxX),r.maxY=Math.max(r.maxY,t.maxY),r}function ye1(r,t){return r.minX-t.minX}function _e1(r,t){return r.minY-t.minY}function eM(r){return(r.maxX-r.minX)*(r.maxY-r.minY)}function qg(r){return r.maxX-r.minX+(r.maxY-r.minY)}function xe1(r,t){return(Math.max(t.maxX,r.maxX)-Math.min(t.minX,r.minX))*(Math.max(t.maxY,r.maxY)-Math.min(t.minY,r.minY))}function we1(r,t){let e=Math.max(r.minX,t.minX),i=Math.max(r.minY,t.minY),o=Math.min(r.maxX,t.maxX),n=Math.min(r.maxY,t.maxY);return Math.max(0,o-e)*Math.max(0,n-i)}function rM(r,t){return r.minX<=t.minX&&r.minY<=t.minY&&t.maxX<=r.maxX&&t.maxY<=r.maxY}function Kg(r,t){return t.minX<=r.maxX&&t.minY<=r.maxY&&t.maxX>=r.minX&&t.maxY>=r.minY}function gh(r){return{children:r,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function aO(r,t,e,i,o){let n=[t,e];for(;n.length;){if(e=n.pop(),t=n.pop(),e-t<=i)continue;let c=t+Math.ceil((e-t)/i/2)*i;jg(r,c,t,e,o),n.push(t,c,c,e)}}var iM=class{constructor(t){this.rbush_=new Cc(t),this.items_={}}insert(t,e){let i={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3],value:e};this.rbush_.insert(i),this.items_[or(e)]=i}load(t,e){let i=new Array(e.length);for(let o=0,n=e.length;o<n;o++){let c=t[o],A=e[o],L={minX:c[0],minY:c[1],maxX:c[2],maxY:c[3],value:A};i[o]=L,this.items_[or(A)]=L}this.rbush_.load(i)}remove(t){let e=or(t),i=this.items_[e];return delete this.items_[e],this.rbush_.remove(i)!==null}update(t,e){let i=this.items_[or(e)],o=[i.minX,i.minY,i.maxX,i.maxY];Xl(o,t)||(this.remove(e),this.insert(t,e))}getAll(){return this.rbush_.all().map(function(e){return e.value})}getInExtent(t){let e={minX:t[0],minY:t[1],maxX:t[2],maxY:t[3]};return this.rbush_.search(e).map(function(o){return o.value})}forEach(t){return this.forEach_(this.getAll(),t)}forEachInExtent(t,e){return this.forEach_(this.getInExtent(t),e)}forEach_(t,e){let i;for(let o=0,n=t.length;o<n;o++)if(i=e(t[o]),i)return i;return i}isEmpty(){return Xn(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(t){let e=this.rbush_.toJSON();return h4(e.minX,e.minY,e.maxX,e.maxY,t)}concat(t){this.rbush_.load(t.rbush_.all());for(let e in t.items_)this.items_[e]=t.items_[e]}},nM=iM;var oM=class extends g6{constructor(t){super(),this.projection=e0(t.projection),this.attributions_=sO(t.attributions),this.attributionsCollapsible_=t.attributionsCollapsible??!0,this.loading=!1,this.state_=t.state!==void 0?t.state:"ready",this.wrapX_=t.wrapX!==void 0?t.wrapX:!1,this.interpolate_=!!t.interpolate,this.viewResolver=null,this.viewRejector=null;let e=this;this.viewPromise_=new Promise(function(i,o){e.viewResolver=i,e.viewRejector=o})}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(t){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(t){this.attributions_=sO(t),this.changed()}setState(t){this.state_=t,this.changed()}};function sO(r){return r?typeof r=="function"?r:(Array.isArray(r)||(r=[r]),t=>r):null}var _4=oM;var e7={ADDFEATURE:"addfeature",CHANGEFEATURE:"changefeature",CLEAR:"clear",REMOVEFEATURE:"removefeature",FEATURESLOADSTART:"featuresloadstart",FEATURESLOADEND:"featuresloadend",FEATURESLOADERROR:"featuresloaderror"};var Bo=class extends Ai{constructor(t,e,i){super(t),this.feature=e,this.features=i}},aM=class extends _4{constructor(t){t=t||{},super({attributions:t.attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:t.wrapX!==void 0?t.wrapX:!0}),this.on,this.once,this.un,this.loader_=wa,this.format_=t.format||null,this.overlaps_=t.overlaps===void 0?!0:t.overlaps,this.url_=t.url,t.loader!==void 0?this.loader_=t.loader:this.url_!==void 0&&(jr(this.format_,"`format` must be set when `url` is set"),this.loader_=tM(this.url_,this.format_)),this.strategy_=t.strategy!==void 0?t.strategy:oO;let e=t.useSpatialIndex!==void 0?t.useSpatialIndex:!0;this.featuresRtree_=e?new nM:null,this.loadedExtentsRtree_=new nM,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null;let i,o;Array.isArray(t.features)?o=t.features:t.features&&(i=t.features,o=i.getArray()),!e&&i===void 0&&(i=new U8(o)),o!==void 0&&this.addFeaturesInternal(o),i!==void 0&&this.bindFeaturesCollection_(i)}addFeature(t){this.addFeatureInternal(t),this.changed()}addFeatureInternal(t){let e=or(t);if(!this.addToIndex_(e,t)){this.featuresCollection_&&this.featuresCollection_.remove(t);return}this.setupChangeEvents_(e,t);let i=t.getGeometry();if(i){let o=i.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(o,t)}else this.nullGeometryFeatures_[e]=t;this.dispatchEvent(new Bo(e7.ADDFEATURE,t))}setupChangeEvents_(t,e){e instanceof m4||(this.featureChangeKeys_[t]=[j5(e,Ke.CHANGE,this.handleFeatureChange_,this),j5(e,d4.PROPERTYCHANGE,this.handleFeatureChange_,this)])}addToIndex_(t,e){let i=!0;if(e.getId()!==void 0){let o=String(e.getId());if(!(o in this.idIndex_))this.idIndex_[o]=e;else if(e instanceof m4){let n=this.idIndex_[o];n instanceof m4?Array.isArray(n)?n.push(e):this.idIndex_[o]=[n,e]:i=!1}else i=!1}return i&&(jr(!(t in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[t]=e),i}addFeatures(t){this.addFeaturesInternal(t),this.changed()}addFeaturesInternal(t){let e=[],i=[],o=[];for(let n=0,c=t.length;n<c;n++){let A=t[n],L=or(A);this.addToIndex_(L,A)&&i.push(A)}for(let n=0,c=i.length;n<c;n++){let A=i[n],L=or(A);this.setupChangeEvents_(L,A);let g=A.getGeometry();if(g){let v=g.getExtent();e.push(v),o.push(A)}else this.nullGeometryFeatures_[L]=A}if(this.featuresRtree_&&this.featuresRtree_.load(e,o),this.hasListener(e7.ADDFEATURE))for(let n=0,c=i.length;n<c;n++)this.dispatchEvent(new Bo(e7.ADDFEATURE,i[n]))}bindFeaturesCollection_(t){let e=!1;this.addEventListener(e7.ADDFEATURE,function(i){e||(e=!0,t.push(i.feature),e=!1)}),this.addEventListener(e7.REMOVEFEATURE,function(i){e||(e=!0,t.remove(i.feature),e=!1)}),t.addEventListener(u8.ADD,i=>{e||(e=!0,this.addFeature(i.element),e=!1)}),t.addEventListener(u8.REMOVE,i=>{e||(e=!0,this.removeFeature(i.element),e=!1)}),this.featuresCollection_=t}clear(t){if(t){for(let i in this.featureChangeKeys_)this.featureChangeKeys_[i].forEach(t0);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(i=>{this.removeFeatureInternal(i)});for(let i in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[i])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};let e=new Bo(e7.CLEAR);this.dispatchEvent(e),this.changed()}forEachFeature(t){if(this.featuresRtree_)return this.featuresRtree_.forEach(t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureAtCoordinateDirect(t,e){let i=[t[0],t[1],t[0],t[1]];return this.forEachFeatureInExtent(i,function(o){let n=o.getGeometry();if(n instanceof m4||n.intersectsCoordinate(t))return e(o)})}forEachFeatureInExtent(t,e){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(t,e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureIntersectingExtent(t,e){return this.forEachFeatureInExtent(t,function(i){let o=i.getGeometry();if(o instanceof m4||o.intersectsExtent(t)){let n=e(i);if(n)return n}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let t;return this.featuresCollection_?t=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(t=this.featuresRtree_.getAll(),Xn(this.nullGeometryFeatures_)||W5(t,Object.values(this.nullGeometryFeatures_))),t}getFeaturesAtCoordinate(t){let e=[];return this.forEachFeatureAtCoordinateDirect(t,function(i){e.push(i)}),e}getFeaturesInExtent(t,e){if(this.featuresRtree_){if(!(e&&e.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(t);let o=fz(t,e);return[].concat(...o.map(n=>this.featuresRtree_.getInExtent(n)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(t,e){let i=t[0],o=t[1],n=null,c=[NaN,NaN],A=1/0,L=[-1/0,-1/0,1/0,1/0];return e=e||_a,this.featuresRtree_.forEachInExtent(L,function(g){if(e(g)){let v=g.getGeometry(),S=A;if(A=v instanceof m4?0:v.closestPointXY(i,o,c,A),A<S){n=g;let I=Math.sqrt(A);L[0]=i-I,L[1]=o-I,L[2]=i+I,L[3]=o+I}}}),n}getExtent(t){return this.featuresRtree_.getExtent(t)}getFeatureById(t){let e=this.idIndex_[t.toString()];return e!==void 0?e:null}getFeatureByUid(t){let e=this.uidIndex_[t];return e!==void 0?e:null}getFormat(){return this.format_}getOverlaps(){return this.overlaps_}getUrl(){return this.url_}handleFeatureChange_(t){let e=t.target,i=or(e),o=e.getGeometry();if(!o)i in this.nullGeometryFeatures_||(this.featuresRtree_&&this.featuresRtree_.remove(e),this.nullGeometryFeatures_[i]=e);else{let c=o.getExtent();i in this.nullGeometryFeatures_?(delete this.nullGeometryFeatures_[i],this.featuresRtree_&&this.featuresRtree_.insert(c,e)):this.featuresRtree_&&this.featuresRtree_.update(c,e)}let n=e.getId();if(n!==void 0){let c=n.toString();this.idIndex_[c]!==e&&(this.removeFromIdIndex_(e),this.idIndex_[c]=e)}else this.removeFromIdIndex_(e),this.uidIndex_[i]=e;this.changed(),this.dispatchEvent(new Bo(e7.CHANGEFEATURE,e))}hasFeature(t){let e=t.getId();return e!==void 0?e in this.idIndex_:or(t)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&Xn(this.nullGeometryFeatures_):this.featuresCollection_?this.featuresCollection_.getLength()===0:!0}loadFeatures(t,e,i){let o=this.loadedExtentsRtree_,n=this.strategy_(t,e,i);for(let c=0,A=n.length;c<A;++c){let L=n[c];o.forEachInExtent(L,function(v){return $l(v.extent,L)})||(++this.loadingExtentsCount_,this.dispatchEvent(new Bo(e7.FEATURESLOADSTART)),this.loader_.call(this,L,e,i,v=>{--this.loadingExtentsCount_,this.dispatchEvent(new Bo(e7.FEATURESLOADEND,void 0,v))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new Bo(e7.FEATURESLOADERROR))}),o.insert(L,{extent:L.slice()}))}this.loading=this.loader_.length<4?!1:this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(t){let e=this.loadedExtentsRtree_,i=e.forEachInExtent(t,function(o){if(Xl(o.extent,t))return o});i&&e.remove(i)}removeFeatures(t){let e=!1;for(let i=0,o=t.length;i<o;++i)e=this.removeFeatureInternal(t[i])||e;e&&this.changed()}removeFeature(t){if(!t)return;this.removeFeatureInternal(t)&&this.changed()}removeFeatureInternal(t){let e=or(t);if(!(e in this.uidIndex_))return!1;e in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[e]:this.featuresRtree_&&this.featuresRtree_.remove(t),this.featureChangeKeys_[e]?.forEach(t0),delete this.featureChangeKeys_[e];let o=t.getId();if(o!==void 0){let n=o.toString(),c=this.idIndex_[n];c===t?delete this.idIndex_[n]:Array.isArray(c)&&(c.splice(c.indexOf(t),1),c.length===1&&(this.idIndex_[n]=c[0]))}return delete this.uidIndex_[e],this.hasListener(e7.REMOVEFEATURE)&&this.dispatchEvent(new Bo(e7.REMOVEFEATURE,t)),!0}removeFromIdIndex_(t){for(let e in this.idIndex_)if(this.idIndex_[e]===t){delete this.idIndex_[e];break}}setLoader(t){this.loader_=t}setUrl(t){jr(this.format_,"`format` must be set when `url` is set"),this.url_=t,this.setLoader(tM(t,this.format_))}setOverlaps(t){this.overlaps_=t,this.changed()}},Pa=aM;var sM=class r{constructor(t){t=t||{},this.patternImage_=null,this.color_=null,t.color!==void 0&&this.setColor(t.color)}clone(){let t=this.getColor();return new r({color:Array.isArray(t)?t.slice():t||void 0})}getColor(){return this.color_}setColor(t){if(t!==null&&typeof t=="object"&&"src"in t){let e=fc(null,t.src,"anonymous",void 0,t.offset?null:t.color?t.color:null,!(t.offset&&t.size));e.ready().then(()=>{this.patternImage_=null}),e.getImageState()===Xe.IDLE&&e.load(),e.getImageState()===Xe.LOADING&&(this.patternImage_=e)}this.color_=t}getKey(){let t=this.getColor();return t?t instanceof CanvasPattern||t instanceof CanvasGradient?or(t):typeof t=="object"&&"src"in t?t.src+":"+t.offset:t7(t).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}},r6=sM;var lM=class r{constructor(t){t=t||{},this.color_=t.color!==void 0?t.color:null,this.lineCap_=t.lineCap,this.lineDash_=t.lineDash!==void 0?t.lineDash:null,this.lineDashOffset_=t.lineDashOffset,this.lineJoin_=t.lineJoin,this.miterLimit_=t.miterLimit,this.width_=t.width}clone(){let t=this.getColor();return new r({color:Array.isArray(t)?t.slice():t||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(t){this.color_=t}setLineCap(t){this.lineCap_=t}setLineDash(t){this.lineDash_=t}setLineDashOffset(t){this.lineDashOffset_=t}setLineJoin(t){this.lineJoin_=t}setMiterLimit(t){this.miterLimit_=t}setWidth(t){this.width_=t}},pi=lM;function cM(r){return r[0]>0&&r[1]>0}function So(r,t){return Array.isArray(r)?r:(t===void 0?t=[r,r]:(t[0]=r,t[1]=r),t)}var uM=class r{constructor(t){this.opacity_=t.opacity,this.rotateWithView_=t.rotateWithView,this.rotation_=t.rotation,this.scale_=t.scale,this.scaleArray_=So(t.scale),this.displacement_=t.displacement,this.declutterMode_=t.declutterMode}clone(){let t=this.getScale();return new r({opacity:this.getOpacity(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return $e()}getImage(t){return $e()}getHitDetectionImage(){return $e()}getPixelRatio(t){return 1}getImageState(){return $e()}getImageSize(){return $e()}getOrigin(){return $e()}getSize(){return $e()}setDisplacement(t){this.displacement_=t}setOpacity(t){this.opacity_=t}setRotateWithView(t){this.rotateWithView_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=So(t)}listenImageChange(t){$e()}load(){$e()}unlistenImageChange(t){$e()}ready(){return Promise.resolve()}},Wg=uM;var hM=class r extends Wg{constructor(t){super({opacity:1,rotateWithView:t.rotateWithView!==void 0?t.rotateWithView:!1,rotation:t.rotation!==void 0?t.rotation:0,scale:t.scale!==void 0?t.scale:1,displacement:t.displacement!==void 0?t.displacement:[0,0],declutterMode:t.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=t.fill!==void 0?t.fill:null,this.origin_=[0,0],this.points_=t.points,this.radius=t.radius,this.radius2_=t.radius2,this.angle_=t.angle!==void 0?t.angle:0,this.stroke_=t.stroke!==void 0?t.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?Xe.LOADING:Xe.LOADED,this.imageState_===Xe.LOADING&&this.ready().then(()=>this.imageState_=Xe.LOADED),this.render()}clone(){let t=this.getScale(),e=new r({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(t)?t.slice():t,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}getAnchor(){let t=this.size_,e=this.getDisplacement(),i=this.getScaleArray();return[t[0]/2-e[0]/i[0],t[1]/2+e[1]/i[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(t){this.fill_=t,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(t){let e=this.fill_?.getKey(),i=`${t},${this.angle_},${this.radius},${this.radius2_},${this.points_},${e}`+Object.values(this.renderOptions_).join(","),o=m9.get(i,null,null)?.getImage(1);if(!o){let n=this.renderOptions_,c=Math.ceil(n.size*t),A=O3(c,c);this.draw_(n,A,t),o=A.canvas,m9.set(i,null,null,new qk(o,void 0,null,Xe.LOADED,null))}return o}getPixelRatio(t){return t}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t,this.render()}listenImageChange(t){}load(){}unlistenImageChange(t){}calculateLineJoinSize_(t,e,i){if(e===0||this.points_===1/0||t!=="bevel"&&t!=="miter")return e;let o=this.radius,n=this.radius2_===void 0?o:this.radius2_;if(o<n){let w1=o;o=n,n=w1}let c=this.radius2_===void 0?this.points_:this.points_*2,A=2*Math.PI/c,L=n*Math.sin(A),g=Math.sqrt(n*n-L*L),v=o-g,S=Math.sqrt(L*L+v*v),I=S/L;if(t==="miter"&&I<=i)return I*e;let B=e/2/I,R=e/2*(v/S),V=Math.sqrt((o+B)*(o+B)+R*R)-o;if(this.radius2_===void 0||t==="bevel")return V*2;let G=o*Math.sin(A),e1=Math.sqrt(o*o-G*G),i1=n-e1,L1=Math.sqrt(G*G+i1*i1)/G;if(L1<=i){let w1=L1*e/2-n-o;return 2*Math.max(V,w1)}return V*2}createRenderOptions(){let t=bo,e=Mo,i=0,o=null,n=0,c,A=0;this.stroke_&&(c=wn(this.stroke_.getColor()??Ta),A=this.stroke_.getWidth()??Fa,o=this.stroke_.getLineDash(),n=this.stroke_.getLineDashOffset()??0,e=this.stroke_.getLineJoin()??Mo,t=this.stroke_.getLineCap()??bo,i=this.stroke_.getMiterLimit()??Ea);let L=this.calculateLineJoinSize_(e,A,i),g=Math.max(this.radius,this.radius2_||0),v=Math.ceil(2*g+L);return{strokeStyle:c,strokeWidth:A,size:v,lineCap:t,lineDash:o,lineDashOffset:n,lineJoin:e,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();let t=this.renderOptions_.size;this.hitDetectionCanvas_=null,this.size_=[t,t]}draw_(t,e,i){if(e.scale(i,i),e.translate(t.size/2,t.size/2),this.createPath_(e),this.fill_){let o=this.fill_.getColor();o===null&&(o=Hi),e.fillStyle=wn(o),e.fill()}t.strokeStyle&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineCap=t.lineCap,e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}createHitDetectionCanvas_(t){let e;if(this.fill_){let i=this.fill_.getColor(),o=0;typeof i=="string"&&(i=t7(i)),i===null?o=1:Array.isArray(i)&&(o=i.length===4?i[3]:1),o===0&&(e=O3(t.size,t.size),this.drawHitDetectionCanvas_(t,e))}return e?e.canvas:this.getImage(1)}createPath_(t){let e=this.points_,i=this.radius;if(e===1/0)t.arc(0,0,i,0,2*Math.PI);else{let o=this.radius2_===void 0?i:this.radius2_;this.radius2_!==void 0&&(e*=2);let n=this.angle_-Math.PI/2,c=2*Math.PI/e;for(let A=0;A<e;A++){let L=n+A*c,g=A%2===0?i:o;t.lineTo(g*Math.cos(L),g*Math.sin(L))}t.closePath()}}drawHitDetectionCanvas_(t,e){e.translate(t.size/2,t.size/2),this.createPath_(e),e.fillStyle=Hi,e.fill(),t.strokeStyle&&(e.strokeStyle=t.strokeStyle,e.lineWidth=t.strokeWidth,t.lineDash&&(e.setLineDash(t.lineDash),e.lineDashOffset=t.lineDashOffset),e.lineJoin=t.lineJoin,e.miterLimit=t.miterLimit,e.stroke())}ready(){return this.fill_?this.fill_.ready():Promise.resolve()}},$g=hM;var dM=class r extends $g{constructor(t){t=t||{radius:5},super({points:1/0,fill:t.fill,radius:t.radius,stroke:t.stroke,scale:t.scale!==void 0?t.scale:1,rotation:t.rotation!==void 0?t.rotation:0,rotateWithView:t.rotateWithView!==void 0?t.rotateWithView:!1,displacement:t.displacement!==void 0?t.displacement:[0,0],declutterMode:t.declutterMode})}clone(){let t=this.getScale(),e=new r({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(t)?t.slice():t,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return e.setOpacity(this.getOpacity()),e}setRadius(t){this.radius=t,this.render()}},V9=dM;var Xg=class r{constructor(t){t=t||{},this.geometry_=null,this.geometryFunction_=lO,t.geometry!==void 0&&this.setGeometry(t.geometry),this.fill_=t.fill!==void 0?t.fill:null,this.image_=t.image!==void 0?t.image:null,this.renderer_=t.renderer!==void 0?t.renderer:null,this.hitDetectionRenderer_=t.hitDetectionRenderer!==void 0?t.hitDetectionRenderer:null,this.stroke_=t.stroke!==void 0?t.stroke:null,this.text_=t.text!==void 0?t.text:null,this.zIndex_=t.zIndex}clone(){let t=this.getGeometry();return t&&typeof t=="object"&&(t=t.clone()),new r({geometry:t??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(t){this.renderer_=t}setHitDetectionRenderer(t){this.hitDetectionRenderer_=t}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(t){this.fill_=t}getImage(){return this.image_}setImage(t){this.image_=t}getStroke(){return this.stroke_}setStroke(t){this.stroke_=t}getText(){return this.text_}setText(t){this.text_=t}getZIndex(){return this.zIndex_}setGeometry(t){typeof t=="function"?this.geometryFunction_=t:typeof t=="string"?this.geometryFunction_=function(e){return e.get(t)}:t?t!==void 0&&(this.geometryFunction_=function(){return t}):this.geometryFunction_=lO,this.geometry_=t}setZIndex(t){this.zIndex_=t}};function cO(r){let t;if(typeof r=="function")t=r;else{let e;Array.isArray(r)?e=r:(jr(typeof r.getZIndex=="function","Expected an `Style` or an array of `Style`"),e=[r]),t=function(){return e}}return t}var AM=null;function fM(r,t){if(!AM){let e=new r6({color:"rgba(255,255,255,0.4)"}),i=new pi({color:"#3399CC",width:1.25});AM=[new Xg({image:new V9({fill:e,stroke:i,radius:5}),fill:e,stroke:i})]}return AM}function lO(r){return r.getGeometry()}var J0=Xg;var be1="#333",pM=class r{constructor(t){t=t||{},this.font_=t.font,this.rotation_=t.rotation,this.rotateWithView_=t.rotateWithView,this.keepUpright_=t.keepUpright,this.scale_=t.scale,this.scaleArray_=So(t.scale!==void 0?t.scale:1),this.text_=t.text,this.textAlign_=t.textAlign,this.justify_=t.justify,this.repeat_=t.repeat,this.textBaseline_=t.textBaseline,this.fill_=t.fill!==void 0?t.fill:new r6({color:be1}),this.maxAngle_=t.maxAngle!==void 0?t.maxAngle:Math.PI/4,this.placement_=t.placement!==void 0?t.placement:"point",this.overflow_=!!t.overflow,this.stroke_=t.stroke!==void 0?t.stroke:null,this.offsetX_=t.offsetX!==void 0?t.offsetX:0,this.offsetY_=t.offsetY!==void 0?t.offsetY:0,this.backgroundFill_=t.backgroundFill?t.backgroundFill:null,this.backgroundStroke_=t.backgroundStroke?t.backgroundStroke:null,this.padding_=t.padding===void 0?null:t.padding,this.declutterMode_=t.declutterMode}clone(){let t=this.getScale();return new r({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(t)?t.slice():t,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()instanceof r6?this.getFill().clone():this.getFill(),stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(t){this.overflow_=t}setFont(t){this.font_=t}setMaxAngle(t){this.maxAngle_=t}setOffsetX(t){this.offsetX_=t}setOffsetY(t){this.offsetY_=t}setPlacement(t){this.placement_=t}setRepeat(t){this.repeat_=t}setRotateWithView(t){this.rotateWithView_=t}setKeepUpright(t){this.keepUpright_=t}setFill(t){this.fill_=t}setRotation(t){this.rotation_=t}setScale(t){this.scale_=t,this.scaleArray_=So(t!==void 0?t:1)}setStroke(t){this.stroke_=t}setText(t){this.text_=t}setTextAlign(t){this.textAlign_=t}setJustify(t){this.justify_=t}setTextBaseline(t){this.textBaseline_=t}setBackgroundFill(t){this.backgroundFill_=t}setBackgroundStroke(t){this.backgroundStroke_=t}setPadding(t){this.padding_=t}},Ra=pM;var kf={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},Of=[kf.FILL],Eo=[kf.STROKE],Da=[kf.BEGIN_PATH],LM=[kf.CLOSE_PATH],Ye=kf;var CM=class extends Qg{constructor(t,e,i,o){super(),this.tolerance=t,this.maxExtent=e,this.pixelRatio=o,this.maxLineWidth=0,this.resolution=i,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(t){let e=this.pixelRatio;return e==1?t:t.map(function(i){return i*e})}appendFlatPointCoordinates(t,e){let i=this.getBufferedMaxExtent(),o=this.tmpCoordinate_,n=this.coordinates,c=n.length;for(let A=0,L=t.length;A<L;A+=e)o[0]=t[A],o[1]=t[A+1],Wl(i,o)&&(n[c++]=o[0],n[c++]=o[1]);return c}appendFlatLineCoordinates(t,e,i,o,n,c){let A=this.coordinates,L=A.length,g=this.getBufferedMaxExtent();c&&(e+=o);let v=t[e],S=t[e+1],I=this.tmpCoordinate_,B=!0,R,H,V;for(R=e+o;R<i;R+=o)I[0]=t[R],I[1]=t[R+1],V=$C(g,I),V!==H?(B&&(A[L++]=v,A[L++]=S,B=!1),A[L++]=I[0],A[L++]=I[1]):V===di.INTERSECTING?(A[L++]=I[0],A[L++]=I[1],B=!1):B=!0,v=I[0],S=I[1],H=V;return(n&&B||R===e+o)&&(A[L++]=v,A[L++]=S),L}drawCustomCoordinates_(t,e,i,o,n){for(let c=0,A=i.length;c<A;++c){let L=i[c],g=this.appendFlatLineCoordinates(t,e,L,o,!1,!1);n.push(g),e=L}return e}drawCustom(t,e,i,o,n){this.beginGeometry(t,e,n);let c=t.getType(),A=t.getStride(),L=this.coordinates.length,g,v,S,I,B;switch(c){case"MultiPolygon":g=t.getOrientedFlatCoordinates(),I=[];let R=t.getEndss();B=0;for(let H=0,V=R.length;H<V;++H){let G=[];B=this.drawCustomCoordinates_(g,B,R[H],A,G),I.push(G)}this.instructions.push([Ye.CUSTOM,L,I,t,i,df,n]),this.hitDetectionInstructions.push([Ye.CUSTOM,L,I,t,o||i,df,n]);break;case"Polygon":case"MultiLineString":S=[],g=c=="Polygon"?t.getOrientedFlatCoordinates():t.getFlatCoordinates(),B=this.drawCustomCoordinates_(g,0,t.getEnds(),A,S),this.instructions.push([Ye.CUSTOM,L,S,t,i,Ns,n]),this.hitDetectionInstructions.push([Ye.CUSTOM,L,S,t,o||i,Ns,n]);break;case"LineString":case"Circle":g=t.getFlatCoordinates(),v=this.appendFlatLineCoordinates(g,0,g.length,A,!1,!1),this.instructions.push([Ye.CUSTOM,L,v,t,i,E7,n]),this.hitDetectionInstructions.push([Ye.CUSTOM,L,v,t,o||i,E7,n]);break;case"MultiPoint":g=t.getFlatCoordinates(),v=this.appendFlatPointCoordinates(g,A),v>L&&(this.instructions.push([Ye.CUSTOM,L,v,t,i,E7,n]),this.hitDetectionInstructions.push([Ye.CUSTOM,L,v,t,o||i,E7,n]));break;case"Point":g=t.getFlatCoordinates(),this.coordinates.push(g[0],g[1]),v=this.coordinates.length,this.instructions.push([Ye.CUSTOM,L,v,t,i,void 0,n]),this.hitDetectionInstructions.push([Ye.CUSTOM,L,v,t,o||i,void 0,n]);break;default:}this.endGeometry(e)}beginGeometry(t,e,i){this.beginGeometryInstruction1_=[Ye.BEGIN_GEOMETRY,e,0,t,i],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[Ye.BEGIN_GEOMETRY,e,0,t,i],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){let t=this.hitDetectionInstructions;t.reverse();let e,i=t.length,o,n,c=-1;for(e=0;e<i;++e)o=t[e],n=o[0],n==Ye.END_GEOMETRY?c=e:n==Ye.BEGIN_GEOMETRY&&(o[2]=e,Cz(this.hitDetectionInstructions,c,e),c=-1)}fillStyleToState(t,e={}){if(t){let i=t.getColor();e.fillPatternScale=i&&typeof i=="object"&&"src"in i?this.pixelRatio:1,e.fillStyle=wn(i||Hi)}else e.fillStyle=void 0;return e}strokeStyleToState(t,e={}){if(t){let i=t.getColor();e.strokeStyle=wn(i||Ta);let o=t.getLineCap();e.lineCap=o!==void 0?o:bo;let n=t.getLineDash();e.lineDash=n?n.slice():bn;let c=t.getLineDashOffset();e.lineDashOffset=c||Mn;let A=t.getLineJoin();e.lineJoin=A!==void 0?A:Mo;let L=t.getWidth();e.lineWidth=L!==void 0?L:Fa;let g=t.getMiterLimit();e.miterLimit=g!==void 0?g:Ea,e.lineWidth>this.maxLineWidth&&(this.maxLineWidth=e.lineWidth,this.bufferedMaxExtent_=null)}else e.strokeStyle=void 0,e.lineCap=void 0,e.lineDash=null,e.lineDashOffset=void 0,e.lineJoin=void 0,e.lineWidth=void 0,e.miterLimit=void 0;return e}setFillStrokeStyle(t,e){let i=this.state;this.fillStyleToState(t,i),this.strokeStyleToState(e,i)}createFill(t){let e=t.fillStyle,i=[Ye.SET_FILL_STYLE,e];return typeof e!="string"&&i.push(t.fillPatternScale),i}applyStroke(t){this.instructions.push(this.createStroke(t))}createStroke(t){return[Ye.SET_STROKE_STYLE,t.strokeStyle,t.lineWidth*this.pixelRatio,t.lineCap,t.lineJoin,t.miterLimit,t.lineDash?this.applyPixelRatio(t.lineDash):null,t.lineDashOffset*this.pixelRatio]}updateFillStyle(t,e){let i=t.fillStyle;(typeof i!="string"||t.currentFillStyle!=i)&&(this.instructions.push(e.call(this,t)),t.currentFillStyle=i)}updateStrokeStyle(t,e){let i=t.strokeStyle,o=t.lineCap,n=t.lineDash,c=t.lineDashOffset,A=t.lineJoin,L=t.lineWidth,g=t.miterLimit;(t.currentStrokeStyle!=i||t.currentLineCap!=o||n!=t.currentLineDash&&!g9(t.currentLineDash,n)||t.currentLineDashOffset!=c||t.currentLineJoin!=A||t.currentLineWidth!=L||t.currentMiterLimit!=g)&&(e.call(this,t),t.currentStrokeStyle=i,t.currentLineCap=o,t.currentLineDash=n,t.currentLineDashOffset=c,t.currentLineJoin=A,t.currentLineWidth=L,t.currentMiterLimit=g)}endGeometry(t){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;let e=[Ye.END_GEOMETRY,t];this.instructions.push(e),this.hitDetectionInstructions.push(e)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=XC(this.maxExtent),this.maxLineWidth>0)){let t=this.resolution*(this.maxLineWidth+1)/2;Fs(this.bufferedMaxExtent_,t,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}},To=CM;var gM=class extends To{constructor(t,e,i,o){super(t,e,i,o),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(t,e,i){if(!this.image_||this.maxExtent&&!Wl(this.maxExtent,t.getFlatCoordinates()))return;this.beginGeometry(t,e,i);let o=t.getFlatCoordinates(),n=t.getStride(),c=this.coordinates.length,A=this.appendFlatPointCoordinates(o,n);this.instructions.push([Ye.DRAW_IMAGE,c,A,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([Ye.DRAW_IMAGE,c,A,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}drawMultiPoint(t,e,i){if(!this.image_)return;this.beginGeometry(t,e,i);let o=t.getFlatCoordinates(),n=[];for(let L=0,g=o.length;L<g;L+=t.getStride())(!this.maxExtent||Wl(this.maxExtent,o.slice(L,L+2)))&&n.push(o[L],o[L+1]);let c=this.coordinates.length,A=this.appendFlatPointCoordinates(n,2);this.instructions.push([Ye.DRAW_IMAGE,c,A,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([Ye.DRAW_IMAGE,c,A,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(e)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(t,e){let i=t.getAnchor(),o=t.getSize(),n=t.getOrigin();this.imagePixelRatio_=t.getPixelRatio(this.pixelRatio),this.anchorX_=i[0],this.anchorY_=i[1],this.hitDetectionImage_=t.getHitDetectionImage(),this.image_=t.getImage(this.pixelRatio),this.height_=o[1],this.opacity_=t.getOpacity(),this.originX_=n[0],this.originY_=n[1],this.rotateWithView_=t.getRotateWithView(),this.rotation_=t.getRotation(),this.scale_=t.getScaleArray(),this.width_=o[0],this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e}},uO=gM;var mM=class extends To{constructor(t,e,i,o){super(t,e,i,o)}drawFlatCoordinates_(t,e,i,o){let n=this.coordinates.length,c=this.appendFlatLineCoordinates(t,e,i,o,!1,!1),A=[Ye.MOVE_TO_LINE_TO,n,c];return this.instructions.push(A),this.hitDetectionInstructions.push(A),i}drawLineString(t,e,i){let o=this.state,n=o.strokeStyle,c=o.lineWidth;if(n===void 0||c===void 0)return;this.updateStrokeStyle(o,this.applyStroke),this.beginGeometry(t,e,i),this.hitDetectionInstructions.push([Ye.SET_STROKE_STYLE,o.strokeStyle,o.lineWidth,o.lineCap,o.lineJoin,o.miterLimit,bn,Mn],Da);let A=t.getFlatCoordinates(),L=t.getStride();this.drawFlatCoordinates_(A,0,A.length,L),this.hitDetectionInstructions.push(Eo),this.endGeometry(e)}drawMultiLineString(t,e,i){let o=this.state,n=o.strokeStyle,c=o.lineWidth;if(n===void 0||c===void 0)return;this.updateStrokeStyle(o,this.applyStroke),this.beginGeometry(t,e,i),this.hitDetectionInstructions.push([Ye.SET_STROKE_STYLE,o.strokeStyle,o.lineWidth,o.lineCap,o.lineJoin,o.miterLimit,bn,Mn],Da);let A=t.getEnds(),L=t.getFlatCoordinates(),g=t.getStride(),v=0;for(let S=0,I=A.length;S<I;++S)v=this.drawFlatCoordinates_(L,v,A[S],g);this.hitDetectionInstructions.push(Eo),this.endGeometry(e)}finish(){let t=this.state;return t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&this.instructions.push(Eo),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(t){t.lastStroke!=null&&t.lastStroke!=this.coordinates.length&&(this.instructions.push(Eo),t.lastStroke=this.coordinates.length),t.lastStroke=0,super.applyStroke(t),this.instructions.push(Da)}},hO=mM;var vM=class extends To{constructor(t,e,i,o){super(t,e,i,o)}drawFlatCoordinatess_(t,e,i,o){let n=this.state,c=n.fillStyle!==void 0,A=n.strokeStyle!==void 0,L=i.length;this.instructions.push(Da),this.hitDetectionInstructions.push(Da);for(let g=0;g<L;++g){let v=i[g],S=this.coordinates.length,I=this.appendFlatLineCoordinates(t,e,v,o,!0,!A),B=[Ye.MOVE_TO_LINE_TO,S,I];this.instructions.push(B),this.hitDetectionInstructions.push(B),A&&(this.instructions.push(LM),this.hitDetectionInstructions.push(LM)),e=v}return c&&(this.instructions.push(Of),this.hitDetectionInstructions.push(Of)),A&&(this.instructions.push(Eo),this.hitDetectionInstructions.push(Eo)),e}drawCircle(t,e,i){let o=this.state,n=o.fillStyle,c=o.strokeStyle;if(n===void 0&&c===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e,i),o.fillStyle!==void 0&&this.hitDetectionInstructions.push([Ye.SET_FILL_STYLE,Hi]),o.strokeStyle!==void 0&&this.hitDetectionInstructions.push([Ye.SET_STROKE_STYLE,o.strokeStyle,o.lineWidth,o.lineCap,o.lineJoin,o.miterLimit,bn,Mn]);let A=t.getFlatCoordinates(),L=t.getStride(),g=this.coordinates.length;this.appendFlatLineCoordinates(A,0,A.length,L,!1,!1);let v=[Ye.CIRCLE,g];this.instructions.push(Da,v),this.hitDetectionInstructions.push(Da,v),o.fillStyle!==void 0&&(this.instructions.push(Of),this.hitDetectionInstructions.push(Of)),o.strokeStyle!==void 0&&(this.instructions.push(Eo),this.hitDetectionInstructions.push(Eo)),this.endGeometry(e)}drawPolygon(t,e,i){let o=this.state,n=o.fillStyle,c=o.strokeStyle;if(n===void 0&&c===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e,i),o.fillStyle!==void 0&&this.hitDetectionInstructions.push([Ye.SET_FILL_STYLE,Hi]),o.strokeStyle!==void 0&&this.hitDetectionInstructions.push([Ye.SET_STROKE_STYLE,o.strokeStyle,o.lineWidth,o.lineCap,o.lineJoin,o.miterLimit,bn,Mn]);let A=t.getEnds(),L=t.getOrientedFlatCoordinates(),g=t.getStride();this.drawFlatCoordinatess_(L,0,A,g),this.endGeometry(e)}drawMultiPolygon(t,e,i){let o=this.state,n=o.fillStyle,c=o.strokeStyle;if(n===void 0&&c===void 0)return;this.setFillStrokeStyles_(),this.beginGeometry(t,e,i),o.fillStyle!==void 0&&this.hitDetectionInstructions.push([Ye.SET_FILL_STYLE,Hi]),o.strokeStyle!==void 0&&this.hitDetectionInstructions.push([Ye.SET_STROKE_STYLE,o.strokeStyle,o.lineWidth,o.lineCap,o.lineJoin,o.miterLimit,bn,Mn]);let A=t.getEndss(),L=t.getOrientedFlatCoordinates(),g=t.getStride(),v=0;for(let S=0,I=A.length;S<I;++S)v=this.drawFlatCoordinatess_(L,v,A[S],g);this.endGeometry(e)}finish(){this.reverseHitDetectionInstructions(),this.state=null;let t=this.tolerance;if(t!==0){let e=this.coordinates;for(let i=0,o=e.length;i<o;++i)e[i]=Zs(e[i],t)}return super.finish()}setFillStrokeStyles_(){let t=this.state;this.updateFillStyle(t,this.createFill),this.updateStrokeStyle(t,this.applyStroke)}},yM=vM;function dO(r,t,e,i,o){let n=[],c=e,A=0,L=t.slice(e,2);for(;A<r&&c+o<i;){let[g,v]=L.slice(-2),S=t[c+o],I=t[c+o+1],B=Math.sqrt((S-g)*(S-g)+(I-v)*(I-v));if(A+=B,A>=r){let R=(r-A+B)/B,H=z8(g,S,R),V=z8(v,I,R);L.push(H,V),n.push(L),L=[H,V],A==r&&(c+=o),A=0}else if(A<r)L.push(t[c+o],t[c+o+1]),c+=o;else{let R=B-A,H=z8(g,S,R/B),V=z8(v,I,R/B);L.push(H,V),n.push(L),L=[H,V],A=0,c+=o}}return A>0&&n.push(L),n}function AO(r,t,e,i,o){let n=e,c=e,A=0,L=0,g=e,v,S,I,B,R,H,V,G,e1,i1;for(S=e;S<i;S+=o){let r1=t[S],L1=t[S+1];R!==void 0&&(e1=r1-R,i1=L1-H,B=Math.sqrt(e1*e1+i1*i1),V!==void 0&&(L+=I,v=Math.acos((V*e1+G*i1)/(I*B)),v>r&&(L>A&&(A=L,n=g,c=S),L=0,g=S-o)),I=B,V=e1,G=i1),R=r1,H=L1}return L+=B,L>A?[g,S]:[n,c]}var Nf={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},_M=class extends To{constructor(t,e,i,o){super(t,e,i,o),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textKeepUpright_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[Hi]={fillStyle:Hi},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterMode_=void 0,this.declutterImageWithText_=void 0}finish(){let t=super.finish();return t.textStates=this.textStates,t.fillStates=this.fillStates,t.strokeStates=this.strokeStates,t}drawText(t,e,i){let o=this.textFillState_,n=this.textStrokeState_,c=this.textState_;if(this.text_===""||!c||!o&&!n)return;let A=this.coordinates,L=A.length,g=t.getType(),v=null,S=t.getStride();if(c.placement==="line"&&(g=="LineString"||g=="MultiLineString"||g=="Polygon"||g=="MultiPolygon")){if(!t6(this.maxExtent,t.getExtent()))return;let I;if(v=t.getFlatCoordinates(),g=="LineString")I=[v.length];else if(g=="MultiLineString")I=t.getEnds();else if(g=="Polygon")I=t.getEnds().slice(0,1);else if(g=="MultiPolygon"){let V=t.getEndss();I=[];for(let G=0,e1=V.length;G<e1;++G)I.push(V[G][0])}this.beginGeometry(t,e,i);let B=c.repeat,R=B?void 0:c.textAlign,H=0;for(let V=0,G=I.length;V<G;++V){let e1;B?e1=dO(B*this.resolution,v,H,I[V],S):e1=[v.slice(H,I[V])];for(let i1=0,r1=e1.length;i1<r1;++i1){let L1=e1[i1],w1=0,S1=L1.length;if(R==null){let C1=AO(c.maxAngle,L1,0,L1.length,2);w1=C1[0],S1=C1[1]}for(let C1=w1;C1<S1;C1+=S)A.push(L1[C1],L1[C1+1]);let y1=A.length;H=I[V],this.drawChars_(L,y1),L=y1}}this.endGeometry(e)}else{let I=c.overflow?null:[];switch(g){case"Point":case"MultiPoint":v=t.getFlatCoordinates();break;case"LineString":v=t.getFlatMidpoint();break;case"Circle":v=t.getCenter();break;case"MultiLineString":v=t.getFlatMidpoints(),S=2;break;case"Polygon":v=t.getFlatInteriorPoint(),c.overflow||I.push(v[2]/this.resolution),S=3;break;case"MultiPolygon":let r1=t.getFlatInteriorPoints();v=[];for(let L1=0,w1=r1.length;L1<w1;L1+=3)c.overflow||I.push(r1[L1+2]/this.resolution),v.push(r1[L1],r1[L1+1]);if(v.length===0)return;S=2;break;default:}let B=this.appendFlatPointCoordinates(v,S);if(B===L)return;if(I&&(B-L)/2!==v.length/S){let r1=L/2;I=I.filter((L1,w1)=>{let S1=A[(r1+w1)*2]===v[w1*S]&&A[(r1+w1)*2+1]===v[w1*S+1];return S1||--r1,S1})}this.saveTextStates_();let R=c.backgroundFill?this.createFill(this.fillStyleToState(c.backgroundFill)):null,H=c.backgroundStroke?this.createStroke(this.strokeStyleToState(c.backgroundStroke)):null;this.beginGeometry(t,e,i);let V=c.padding;if(V!=Ia&&(c.scale[0]<0||c.scale[1]<0)){let r1=c.padding[0],L1=c.padding[1],w1=c.padding[2],S1=c.padding[3];c.scale[0]<0&&(L1=-L1,S1=-S1),c.scale[1]<0&&(r1=-r1,w1=-w1),V=[r1,L1,w1,S1]}let G=this.pixelRatio;this.instructions.push([Ye.DRAW_IMAGE,L,B,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,V==Ia?Ia:V.map(function(r1){return r1*G}),R,H,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,I]);let e1=1/G,i1=R?R.slice(0):null;i1&&(i1[1]=Hi),this.hitDetectionInstructions.push([Ye.DRAW_IMAGE,L,B,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[e1,e1],NaN,this.declutterMode_,this.declutterImageWithText_,V,i1,H,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?Hi:this.fillKey_,this.textOffsetX_,this.textOffsetY_,I]),this.endGeometry(e)}}saveTextStates_(){let t=this.textStrokeState_,e=this.textState_,i=this.textFillState_,o=this.strokeKey_;t&&(o in this.strokeStates||(this.strokeStates[o]={strokeStyle:t.strokeStyle,lineCap:t.lineCap,lineDashOffset:t.lineDashOffset,lineWidth:t.lineWidth,lineJoin:t.lineJoin,miterLimit:t.miterLimit,lineDash:t.lineDash}));let n=this.textKey_;n in this.textStates||(this.textStates[n]={font:e.font,textAlign:e.textAlign||Qs,justify:e.justify,textBaseline:e.textBaseline||Lc,scale:e.scale});let c=this.fillKey_;i&&(c in this.fillStates||(this.fillStates[c]={fillStyle:i.fillStyle}))}drawChars_(t,e){let i=this.textStrokeState_,o=this.textState_,n=this.strokeKey_,c=this.textKey_,A=this.fillKey_;this.saveTextStates_();let L=this.pixelRatio,g=Nf[o.textBaseline],v=this.textOffsetY_*L,S=this.text_,I=i?i.lineWidth*Math.abs(o.scale[0])/2:0;this.instructions.push([Ye.DRAW_CHARS,t,e,g,o.overflow,A,o.maxAngle,L,v,n,I*L,S,c,1,this.declutterMode_,this.textKeepUpright_]),this.hitDetectionInstructions.push([Ye.DRAW_CHARS,t,e,g,o.overflow,A&&Hi,o.maxAngle,L,v,n,I*L,S,c,1/L,this.declutterMode_,this.textKeepUpright_])}setTextStyle(t,e){let i,o,n;if(!t)this.text_="";else{let c=t.getFill();c?(o=this.textFillState_,o||(o={},this.textFillState_=o),o.fillStyle=wn(c.getColor()||Hi)):(o=null,this.textFillState_=o);let A=t.getStroke();if(!A)n=null,this.textStrokeState_=n;else{n=this.textStrokeState_,n||(n={},this.textStrokeState_=n);let H=A.getLineDash(),V=A.getLineDashOffset(),G=A.getWidth(),e1=A.getMiterLimit();n.lineCap=A.getLineCap()||bo,n.lineDash=H?H.slice():bn,n.lineDashOffset=V===void 0?Mn:V,n.lineJoin=A.getLineJoin()||Mo,n.lineWidth=G===void 0?Fa:G,n.miterLimit=e1===void 0?Ea:e1,n.strokeStyle=wn(A.getColor()||Ta)}i=this.textState_;let L=t.getFont()||Gg;$k(L);let g=t.getScaleArray();i.overflow=t.getOverflow(),i.font=L,i.maxAngle=t.getMaxAngle(),i.placement=t.getPlacement(),i.textAlign=t.getTextAlign(),i.repeat=t.getRepeat(),i.justify=t.getJustify(),i.textBaseline=t.getTextBaseline()||Lc,i.backgroundFill=t.getBackgroundFill(),i.backgroundStroke=t.getBackgroundStroke(),i.padding=t.getPadding()||Ia,i.scale=g===void 0?[1,1]:g;let v=t.getOffsetX(),S=t.getOffsetY(),I=t.getRotateWithView(),B=t.getKeepUpright(),R=t.getRotation();this.text_=t.getText()||"",this.textOffsetX_=v===void 0?0:v,this.textOffsetY_=S===void 0?0:S,this.textRotateWithView_=I===void 0?!1:I,this.textKeepUpright_=B===void 0?!0:B,this.textRotation_=R===void 0?0:R,this.strokeKey_=n?(typeof n.strokeStyle=="string"?n.strokeStyle:or(n.strokeStyle))+n.lineCap+n.lineDashOffset+"|"+n.lineWidth+n.lineJoin+n.miterLimit+"["+n.lineDash.join()+"]":"",this.textKey_=i.font+i.scale+(i.textAlign||"?")+(i.repeat||"?")+(i.justify||"?")+(i.textBaseline||"?"),this.fillKey_=o&&o.fillStyle?typeof o.fillStyle=="string"?o.fillStyle:"|"+or(o.fillStyle):""}this.declutterMode_=t.getDeclutterMode(),this.declutterImageWithText_=e}},fO=_M;var Me1={Circle:yM,Default:To,Image:uO,LineString:hO,Polygon:yM,Text:fO},xM=class{constructor(t,e,i,o){this.tolerance_=t,this.maxExtent_=e,this.pixelRatio_=o,this.resolution_=i,this.buildersByZIndex_={}}finish(){let t={};for(let e in this.buildersByZIndex_){t[e]=t[e]||{};let i=this.buildersByZIndex_[e];for(let o in i){let n=i[o].finish();t[e][o]=n}}return t}getBuilder(t,e){let i=t!==void 0?t.toString():"0",o=this.buildersByZIndex_[i];o===void 0&&(o={},this.buildersByZIndex_[i]=o);let n=o[e];if(n===void 0){let c=Me1[e];n=new c(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),o[e]=n}return n}},pO=xM;function LO(r,t,e,i,o,n,c,A,L,g,v,S,I=!0){let B=r[t],R=r[t+1],H=0,V=0,G=0,e1=0;function i1(){H=B,V=R,t+=i,B=r[t],R=r[t+1],e1+=G,G=Math.sqrt((B-H)*(B-H)+(R-V)*(R-V))}do i1();while(t<e-i&&e1+G<n);let r1=G===0?0:(n-e1)/G,L1=z8(H,B,r1),w1=z8(V,R,r1),S1=t-i,y1=e1,C1=n+A*L(g,o,v);for(;t<e-i&&e1+G<C1;)i1();r1=G===0?0:(C1-e1)/G;let H1=z8(H,B,r1),c1=z8(V,R,r1),g1=!1;if(I)if(S){let J1=[L1,w1,H1,c1];lh(J1,0,4,2,S,J1,J1),g1=J1[0]>J1[2]}else g1=L1>H1;let Z1=Math.PI,V1=[],l2=S1+i===t;t=S1,G=0,e1=y1,B=r[t],R=r[t+1];let p2;if(l2){i1(),p2=Math.atan2(R-V,B-H),g1&&(p2+=p2>0?-Z1:Z1);let J1=(H1+L1)/2,G1=(c1+w1)/2;return V1[0]=[J1,G1,(C1-n)/2,p2,o],V1}o=o.replace(/\n/g," ");for(let J1=0,G1=o.length;J1<G1;){i1();let L2=Math.atan2(R-V,B-H);if(g1&&(L2+=L2>0?-Z1:Z1),p2!==void 0){let t2=L2-p2;if(t2+=t2>Z1?-2*Z1:t2<-Z1?2*Z1:0,Math.abs(t2)>c)return null}p2=L2;let D2=J1,M2=0;for(;J1<G1;++J1){let t2=g1?G1-J1-1:J1,c2=A*L(g,o[t2],v);if(t+i<e&&e1+G<n+M2+c2/2)break;M2+=c2}if(J1===D2)continue;let f1=g1?o.substring(G1-D2,G1-J1):o.substring(D2,J1);r1=G===0?0:(n+M2/2-e1)/G;let R1=z8(H,B,r1),D1=z8(V,R,r1);V1.push([R1,D1,M2/2,L2,f1]),n+=M2}return V1}var wM=class{constructor(){this.instructions_=[],this.zIndex=0,this.offset_=0,this.context_=new Proxy(ph(),{get:(t,e)=>{if(typeof ph()[e]=="function")return this.push_(e),this.pushMethodArgs_},set:(t,e,i)=>(this.push_(e,i),!0)})}push_(...t){let e=this.instructions_,i=this.zIndex+this.offset_;e[i]||(e[i]=[]),e[i].push(...t)}pushMethodArgs_=(...t)=>(this.push_(t),this);pushFunction(t){this.push_(t)}getContext(){return this.context_}draw(t){this.instructions_.forEach(e=>{for(let i=0,o=e.length;i<o;++i){let n=e[i];if(typeof n=="function"){n(t);continue}let c=e[++i];if(typeof t[n]=="function")t[n](...c);else{if(typeof c=="function"){t[n]=c(t);continue}t[n]=c}}})}clear(){this.instructions_.length=0,this.zIndex=0,this.offset_=0}offset(){this.offset_=this.instructions_.length,this.zIndex=0}},Yg=wM;var mh=mn(),Hs=[],za=[],ka=[],Vs=[];function CO(r){return r[3].declutterBox}var gO=new RegExp("[\u0591-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFC\u0800-\u0FFF\uE800-\uEFFF]");function bM(r,t){return t==="start"?t=gO.test(r)?"right":"left":t==="end"&&(t=gO.test(r)?"left":"right"),Nf[t]}function Be1(r,t,e){return e>0&&r.push(`
|
|
836
836
|
`,""),r.push(t,""),r}function Se1(r,t,e){return e%2===0&&(r+=t),r}var MM=class{constructor(t,e,i,o,n){this.overlaps=i,this.pixelRatio=e,this.resolution=t,this.alignAndScaleFill_,this.instructions=o.instructions,this.coordinates=o.coordinates,this.coordinateCache_={},this.renderedTransform_=U6(),this.hitDetectionInstructions=o.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=o.fillStates||{},this.strokeStates=o.strokeStates||{},this.textStates=o.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=n?new Yg:null}getZIndexContext(){return this.zIndexContext_}createLabel(t,e,i,o){let n=t+e+i+o;if(this.labels_[n])return this.labels_[n];let c=o?this.strokeStates[o]:null,A=i?this.fillStates[i]:null,L=this.textStates[e],g=this.pixelRatio,v=[L.scale[0]*g,L.scale[1]*g],S=L.justify?Nf[L.justify]:bM(Array.isArray(t)?t[0]:t,L.textAlign||Qs),I=o&&c.lineWidth?c.lineWidth:0,B=Array.isArray(t)?t:String(t).split(`
|
|
837
837
|
`).reduce(Be1,[]),{width:R,height:H,widths:V,heights:G,lineWidths:e1}=Jk(L,B),i1=R+I,r1=[],L1=(i1+2)*v[0],w1=(H+I)*v[1],S1={width:L1<0?Math.floor(L1):Math.ceil(L1),height:w1<0?Math.floor(w1):Math.ceil(w1),contextInstructions:r1};(v[0]!=1||v[1]!=1)&&r1.push("scale",v),o&&(r1.push("strokeStyle",c.strokeStyle),r1.push("lineWidth",I),r1.push("lineCap",c.lineCap),r1.push("lineJoin",c.lineJoin),r1.push("miterLimit",c.miterLimit),r1.push("setLineDash",[c.lineDash]),r1.push("lineDashOffset",c.lineDashOffset)),i&&r1.push("fillStyle",A.fillStyle),r1.push("textBaseline","middle"),r1.push("textAlign","center");let y1=.5-S,C1=S*i1+y1*I,H1=[],c1=[],g1=0,Z1=0,V1=0,l2=0,p2;for(let J1=0,G1=B.length;J1<G1;J1+=2){let L2=B[J1];if(L2===`
|
|
838
|
-
`){Z1+=g1,g1=0,C1=S*i1+y1*I,++l2;continue}let D2=B[J1+1]||L.font;D2!==p2&&(o&&H1.push("font",D2),i&&c1.push("font",D2),p2=D2),g1=Math.max(g1,G[V1]);let M2=[L2,C1+y1*V[V1]+S*(V[V1]-e1[l2]),.5*(I+g1)+Z1];C1+=V[V1],o&&H1.push("strokeText",M2),i&&c1.push("fillText",M2),++V1}return Array.prototype.push.apply(r1,H1),Array.prototype.push.apply(r1,c1),this.labels_[n]=S1,S1}replayTextBackground_(t,e,i,o,n,c,A){t.beginPath(),t.moveTo.apply(t,e),t.lineTo.apply(t,i),t.lineTo.apply(t,o),t.lineTo.apply(t,n),t.lineTo.apply(t,e),c&&(this.alignAndScaleFill_=c[2],t.fillStyle=c[1],this.fill_(t)),A&&(this.setStrokeStyle_(t,A),t.stroke())}calculateImageOrLabelDimensions_(t,e,i,o,n,c,A,L,g,v,S,I,B,R,H,V){A*=I[0],L*=I[1];let G=i-A,e1=o-L,i1=n+g>t?t-g:n,r1=c+v>e?e-v:c,L1=R[3]+i1*I[0]+R[1],w1=R[0]+r1*I[1]+R[2],S1=G-R[3],y1=e1-R[0];(H||S!==0)&&(Hs[0]=S1,Vs[0]=S1,Hs[1]=y1,za[1]=y1,za[0]=S1+L1,ka[0]=za[0],ka[1]=y1+w1,Vs[1]=ka[1]);let C1;return S!==0?(C1=c8(U6(),i,o,1,1,S,-i,-o),fi(C1,Hs),fi(C1,za),fi(C1,ka),fi(C1,Vs),h4(Math.min(Hs[0],za[0],ka[0],Vs[0]),Math.min(Hs[1],za[1],ka[1],Vs[1]),Math.max(Hs[0],za[0],ka[0],Vs[0]),Math.max(Hs[1],za[1],ka[1],Vs[1]),mh)):h4(Math.min(S1,S1+L1),Math.min(y1,y1+w1),Math.max(S1,S1+L1),Math.max(y1,y1+w1),mh),B&&(G=Math.round(G),e1=Math.round(e1)),{drawImageX:G,drawImageY:e1,drawImageW:i1,drawImageH:r1,originX:g,originY:v,declutterBox:{minX:mh[0],minY:mh[1],maxX:mh[2],maxY:mh[3],value:V},canvasTransform:C1,scale:I}}replayImageOrLabel_(t,e,i,o,n,c,A){let L=!!(c||A),g=o.declutterBox,v=A?A[2]*o.scale[0]/2:0;return g.minX-v<=e[0]&&g.maxX+v>=0&&g.minY-v<=e[1]&&g.maxY+v>=0&&(L&&this.replayTextBackground_(t,Hs,za,ka,Vs,c,A),tO(t,o.canvasTransform,n,i,o.originX,o.originY,o.drawImageW,o.drawImageH,o.drawImageX,o.drawImageY,o.scale)),!0}fill_(t){let e=this.alignAndScaleFill_;if(e){let i=fi(this.renderedTransform_,[0,0]),o=512*this.pixelRatio;t.save(),t.translate(i[0]%o,i[1]%o),e!==1&&t.scale(e,e),t.rotate(this.viewRotation_)}t.fill(),e&&t.restore()}setStrokeStyle_(t,e){t.strokeStyle=e[1],e[1]&&(t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.lineDashOffset=e[7],t.setLineDash(e[6]))}drawLabelWithPointPlacement_(t,e,i,o){let n=this.textStates[e],c=this.createLabel(t,e,o,i),A=this.strokeStates[i],L=this.pixelRatio,g=bM(Array.isArray(t)?t[0]:t,n.textAlign||Qs),v=Nf[n.textBaseline||Lc],S=A&&A.lineWidth?A.lineWidth:0,I=c.width/L-2*n.scale[0],B=g*I+2*(.5-g)*S,R=v*c.height/L+2*(.5-v)*S;return{label:c,anchorX:B,anchorY:R}}execute_(t,e,i,o,n,c,A,L){let g=this.zIndexContext_,v;this.pixelCoordinates_&&g9(i,this.renderedTransform_)?v=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),v=yn(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),jz(this.renderedTransform_,i));let S=0,I=o.length,B=0,R,H,V,G,e1,i1,r1,L1,w1,S1,y1,C1,H1,c1=0,g1=0,Z1=this.coordinateCache_,V1=this.viewRotation_,l2=Math.round(Math.atan2(-i[1],i[0])*1e12)/1e12,p2={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:V1},J1=this.instructions!=o||this.overlaps?0:200,G1,L2,D2,M2;for(;S<I;){let f1=o[S];switch(f1[0]){case Ye.BEGIN_GEOMETRY:G1=f1[1],M2=f1[3],G1.getGeometry()?A!==void 0&&!t6(A,M2.getExtent())?S=f1[2]+1:++S:S=f1[2],g&&(g.zIndex=f1[4]);break;case Ye.BEGIN_PATH:c1>J1&&(this.fill_(t),c1=0),g1>J1&&(t.stroke(),g1=0),!c1&&!g1&&(t.beginPath(),e1=NaN,i1=NaN),++S;break;case Ye.CIRCLE:B=f1[1];let D1=v[B],t2=v[B+1],c2=v[B+2],o2=v[B+3],T2=c2-D1,F2=o2-t2,z2=Math.sqrt(T2*T2+F2*F2);t.moveTo(D1+z2,t2),t.arc(D1,t2,z2,0,2*Math.PI,!0),++S;break;case Ye.CLOSE_PATH:t.closePath(),++S;break;case Ye.CUSTOM:B=f1[1],R=f1[2];let U2=f1[3],X2=f1[4],tt=f1[5];p2.geometry=U2,p2.feature=G1,S in Z1||(Z1[S]=[]);let ft=Z1[S];tt?tt(v,B,R,2,ft):(ft[0]=v[B],ft[1]=v[B+1],ft.length=2),g&&(g.zIndex=f1[6]),X2(ft,p2),++S;break;case Ye.DRAW_IMAGE:B=f1[1],R=f1[2],w1=f1[3],H=f1[4],V=f1[5];let P1=f1[6],st=f1[7],Zt=f1[8],Ht=f1[9],$2=f1[10],It=f1[11],pt=f1[12],mt=f1[13];G=f1[14]||"declutter";let bt=f1[15];if(!w1&&f1.length>=20){S1=f1[19],y1=f1[20],C1=f1[21],H1=f1[22];let ut=this.drawLabelWithPointPlacement_(S1,y1,C1,H1);w1=ut.label,f1[3]=w1;let Pt=f1[23];H=(ut.anchorX-Pt)*this.pixelRatio,f1[4]=H;let ee=f1[24];V=(ut.anchorY-ee)*this.pixelRatio,f1[5]=V,P1=w1.height,f1[6]=P1,mt=w1.width,f1[13]=mt}let kt;f1.length>25&&(kt=f1[25]);let Xt,Gt,Jt;f1.length>17?(Xt=f1[16],Gt=f1[17],Jt=f1[18]):(Xt=Ia,Gt=null,Jt=null),$2&&l2?It+=V1:!$2&&!l2&&(It-=V1);let ne=0;for(;B<R;B+=2){if(kt&&kt[ne++]<mt/this.pixelRatio)continue;let ut=this.calculateImageOrLabelDimensions_(w1.width,w1.height,v[B],v[B+1],mt,P1,H,V,Zt,Ht,It,pt,n,Xt,!!Gt||!!Jt,G1),Pt=[t,e,w1,ut,st,Gt,Jt];if(L){let ee,He,_t;if(bt){let P2=R-B;if(!bt[P2]){bt[P2]={args:Pt,declutterMode:G};continue}let pe=bt[P2];ee=pe.args,He=pe.declutterMode,delete bt[P2],_t=CO(ee)}let ze,Ne;if(ee&&(He!=="declutter"||!L.collides(_t))&&(ze=!0),(G!=="declutter"||!L.collides(ut.declutterBox))&&(Ne=!0),He==="declutter"&&G==="declutter"){let P2=ze&&Ne;ze=P2,Ne=P2}ze&&(He!=="none"&&L.insert(_t),this.replayImageOrLabel_.apply(this,ee)),Ne&&(G!=="none"&&L.insert(ut.declutterBox),this.replayImageOrLabel_.apply(this,Pt))}else this.replayImageOrLabel_.apply(this,Pt)}++S;break;case Ye.DRAW_CHARS:let Ut=f1[1],jt=f1[2],St=f1[3],we=f1[4];H1=f1[5];let W1=f1[6],l1=f1[7],h1=f1[8];C1=f1[9];let _1=f1[10];S1=f1[11],Array.isArray(S1)&&(S1=S1.reduce(Se1,"")),y1=f1[12];let z1=[f1[13],f1[13]];G=f1[14]||"declutter";let X1=f1[15],s2=this.textStates[y1],E1=s2.font,d2=[s2.scale[0]*l1,s2.scale[1]*l1],C2;E1 in this.widths_?C2=this.widths_[E1]:(C2={},this.widths_[E1]=C2);let m2=ch(v,Ut,jt,2),I2=Math.abs(d2[0])*Wb(E1,S1,C2);if(we||I2<=m2){let ut=this.textStates[y1].textAlign,Pt=(m2-I2)*bM(S1,ut),ee=LO(v,Ut,jt,2,S1,Pt,W1,Math.abs(d2[0]),Wb,E1,C2,l2?0:this.viewRotation_,X1);t:if(ee){let He=[],_t,ze,Ne,P2,pe;if(C1)for(_t=0,ze=ee.length;_t<ze;++_t){pe=ee[_t],Ne=pe[4],P2=this.createLabel(Ne,y1,"",C1),H=pe[2]+(d2[0]<0?-_1:_1),V=St*P2.height+(.5-St)*2*_1*d2[1]/d2[0]-h1;let de=this.calculateImageOrLabelDimensions_(P2.width,P2.height,pe[0],pe[1],P2.width,P2.height,H,V,0,0,pe[3],z1,!1,Ia,!1,G1);if(L&&G==="declutter"&&L.collides(de.declutterBox))break t;He.push([t,e,P2,de,1,null,null])}if(H1)for(_t=0,ze=ee.length;_t<ze;++_t){pe=ee[_t],Ne=pe[4],P2=this.createLabel(Ne,y1,H1,""),H=pe[2],V=St*P2.height-h1;let de=this.calculateImageOrLabelDimensions_(P2.width,P2.height,pe[0],pe[1],P2.width,P2.height,H,V,0,0,pe[3],z1,!1,Ia,!1,G1);if(L&&G==="declutter"&&L.collides(de.declutterBox))break t;He.push([t,e,P2,de,1,null,null])}L&&G!=="none"&&L.load(He.map(CO));for(let de=0,Ue=He.length;de<Ue;++de)this.replayImageOrLabel_.apply(this,He[de])}}++S;break;case Ye.END_GEOMETRY:if(c!==void 0){G1=f1[1];let ut=c(G1,M2,G);if(ut)return ut}++S;break;case Ye.FILL:J1?c1++:this.fill_(t),++S;break;case Ye.MOVE_TO_LINE_TO:for(B=f1[1],R=f1[2],L2=v[B],D2=v[B+1],t.moveTo(L2,D2),e1=L2+.5|0,i1=D2+.5|0,B+=2;B<R;B+=2)L2=v[B],D2=v[B+1],r1=L2+.5|0,L1=D2+.5|0,(B==R-2||r1!==e1||L1!==i1)&&(t.lineTo(L2,D2),e1=r1,i1=L1);++S;break;case Ye.SET_FILL_STYLE:this.alignAndScaleFill_=f1[2],c1&&(this.fill_(t),c1=0,g1&&(t.stroke(),g1=0)),t.fillStyle=f1[1],++S;break;case Ye.SET_STROKE_STYLE:g1&&(t.stroke(),g1=0),this.setStrokeStyle_(t,f1),++S;break;case Ye.STROKE:J1?g1++:t.stroke(),++S;break;default:++S;break}}c1&&this.fill_(t),g1&&t.stroke()}execute(t,e,i,o,n,c){this.viewRotation_=o,this.execute_(t,e,i,this.instructions,n,void 0,void 0,c)}executeHitDetection(t,e,i,o,n){return this.viewRotation_=i,this.execute_(t,[t.canvas.width,t.canvas.height],e,this.hitDetectionInstructions,!0,o,n)}},mO=MM;var Gs=["Polygon","Circle","LineString","Image","Text","Default"],EM=["Image","Text"],vO=Gs.filter(r=>!EM.includes(r)),SM=class{constructor(t,e,i,o,n,c,A){this.maxExtent_=t,this.overlaps_=o,this.pixelRatio_=i,this.resolution_=e,this.renderBuffer_=c,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=U6(),this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(n,A)}clip(t,e){let i=this.getClipCoords(e);t.beginPath(),t.moveTo(i[0],i[1]),t.lineTo(i[2],i[3]),t.lineTo(i[4],i[5]),t.lineTo(i[6],i[7]),t.clip()}createExecutors_(t,e){for(let i in t){let o=this.executorsByZIndex_[i];o===void 0&&(o={},this.executorsByZIndex_[i]=o);let n=t[i];for(let c in n){let A=n[c];o[c]=new mO(this.resolution_,this.pixelRatio_,this.overlaps_,A,e)}}}hasExecutors(t){for(let e in this.executorsByZIndex_){let i=this.executorsByZIndex_[e];for(let o=0,n=t.length;o<n;++o)if(t[o]in i)return!0}return!1}forEachFeatureAtCoordinate(t,e,i,o,n,c){o=Math.round(o);let A=o*2+1,L=c8(this.hitDetectionTransform_,o+.5,o+.5,1/e,-1/e,-i,-t[0],-t[1]),g=!this.hitDetectionContext_;g&&(this.hitDetectionContext_=O3(A,A));let v=this.hitDetectionContext_;v.canvas.width!==A||v.canvas.height!==A?(v.canvas.width=A,v.canvas.height=A):g||v.clearRect(0,0,A,A);let S;this.renderBuffer_!==void 0&&(S=mn(),uz(S,t),Fs(S,e*(this.renderBuffer_+o),S));let I=Ee1(o),B;function R(L1,w1,S1){let y1=v.getImageData(0,0,A,A).data;for(let C1=0,H1=I.length;C1<H1;C1++)if(y1[I[C1]]>0){if(!c||S1==="none"||B!=="Image"&&B!=="Text"||c.includes(L1)){let c1=(I[C1]-3)/4,g1=o-c1%A,Z1=o-(c1/A|0),V1=n(L1,w1,g1*g1+Z1*Z1);if(V1)return V1}v.clearRect(0,0,A,A);break}}let H=Object.keys(this.executorsByZIndex_).map(Number);H.sort(A4);let V,G,e1,i1,r1;for(V=H.length-1;V>=0;--V){let L1=H[V].toString();for(e1=this.executorsByZIndex_[L1],G=Gs.length-1;G>=0;--G)if(B=Gs[G],i1=e1[B],i1!==void 0&&(r1=i1.executeHitDetection(v,L,i,R,S),r1))return r1}}getClipCoords(t){let e=this.maxExtent_;if(!e)return null;let i=e[0],o=e[1],n=e[2],c=e[3],A=[i,o,i,c,n,c,n,o];return yn(A,0,8,2,t,A),A}isEmpty(){return Xn(this.executorsByZIndex_)}execute(t,e,i,o,n,c,A){let L=Object.keys(this.executorsByZIndex_).map(Number);L.sort(A?Lz:A4),c=c||Gs;let g=Gs.length;for(let v=0,S=L.length;v<S;++v){let I=L[v].toString(),B=this.executorsByZIndex_[I];for(let R=0,H=c.length;R<H;++R){let V=c[R],G=B[V];if(G!==void 0){let e1=A===null?void 0:G.getZIndexContext(),i1=e1?e1.getContext():t,r1=this.maxExtent_&&V!=="Image"&&V!=="Text";if(r1&&(i1.save(),this.clip(i1,i)),!e1||V==="Text"||V==="Image"?G.execute(i1,e,i,o,n,A):e1.pushFunction(L1=>G.execute(L1,e,i,o,n,A)),r1&&i1.restore(),e1){e1.offset();let L1=L[v]*g+Gs.indexOf(V);this.deferredZIndexContexts_[L1]||(this.deferredZIndexContexts_[L1]=[]),this.deferredZIndexContexts_[L1].push(e1)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){let t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(A4);for(let i=0,o=e.length;i<o;++i)t[e[i]].forEach(n=>{n.draw(this.renderedContext_),n.clear()}),t[e[i]].length=0}},BM={};function Ee1(r){if(BM[r]!==void 0)return BM[r];let t=r*2+1,e=r*r,i=new Array(e+1);for(let n=0;n<=r;++n)for(let c=0;c<=r;++c){let A=n*n+c*c;if(A>e)break;let L=i[A];L||(L=[],i[A]=L),L.push(((r+n)*t+(r+c))*4+3),n>0&&L.push(((r-n)*t+(r+c))*4+3),c>0&&(L.push(((r+n)*t+(r-c))*4+3),n>0&&L.push(((r-n)*t+(r-c))*4+3))}let o=[];for(let n=0,c=i.length;n<c;++n)i[n]&&o.push(...i[n]);return BM[r]=o,o}var yO=SM;function _O(r,t,e,i){return e!==void 0&&i!==void 0?[e/r,i/t]:e!==void 0?e/r:i!==void 0?i/t:1}var TM=class r extends Wg{constructor(t){t=t||{};let e=t.opacity!==void 0?t.opacity:1,i=t.rotation!==void 0?t.rotation:0,o=t.scale!==void 0?t.scale:1,n=t.rotateWithView!==void 0?t.rotateWithView:!1;super({opacity:e,rotation:i,scale:o,displacement:t.displacement!==void 0?t.displacement:[0,0],rotateWithView:n,declutterMode:t.declutterMode}),this.anchor_=t.anchor!==void 0?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=t.anchorOrigin!==void 0?t.anchorOrigin:"top-left",this.anchorXUnits_=t.anchorXUnits!==void 0?t.anchorXUnits:"fraction",this.anchorYUnits_=t.anchorYUnits!==void 0?t.anchorYUnits:"fraction",this.crossOrigin_=t.crossOrigin!==void 0?t.crossOrigin:null;let c=t.img!==void 0?t.img:null,A=t.src;jr(!(A!==void 0&&c),"`image` and `src` cannot be provided at the same time"),(A===void 0||A.length===0)&&c&&(A=c.src||or(c)),jr(A!==void 0&&A.length>0,"A defined and non-empty `src` or `image` must be provided"),jr(!((t.width!==void 0||t.height!==void 0)&&t.scale!==void 0),"`width` or `height` cannot be provided together with `scale`");let L;if(t.src!==void 0?L=Xe.IDLE:c!==void 0&&("complete"in c?c.complete?L=c.src?Xe.LOADED:Xe.IDLE:L=Xe.LOADING:L=Xe.LOADED),this.color_=t.color!==void 0?t7(t.color):null,this.iconImage_=fc(c,A,this.crossOrigin_,L,this.color_),this.offset_=t.offset!==void 0?t.offset:[0,0],this.offsetOrigin_=t.offsetOrigin!==void 0?t.offsetOrigin:"top-left",this.origin_=null,this.size_=t.size!==void 0?t.size:null,this.initialOptions_,t.width!==void 0||t.height!==void 0){let g,v;if(t.size)[g,v]=t.size;else{let S=this.getImage(1);if(S.width&&S.height)g=S.width,v=S.height;else if(S instanceof HTMLImageElement){this.initialOptions_=t;let I=()=>{if(this.unlistenImageChange(I),!this.initialOptions_)return;let B=this.iconImage_.getSize();this.setScale(_O(B[0],B[1],t.width,t.height))};this.listenImageChange(I);return}}g!==void 0&&this.setScale(_O(g,v,t.width,t.height))}}clone(){let t,e,i;return this.initialOptions_?(e=this.initialOptions_.width,i=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new r({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:i,size:this.size_!==null?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;let o=this.getSize();if(this.anchorXUnits_=="fraction"||this.anchorYUnits_=="fraction"){if(!o)return null;t=this.anchor_.slice(),this.anchorXUnits_=="fraction"&&(t[0]*=o[0]),this.anchorYUnits_=="fraction"&&(t[1]*=o[1])}if(this.anchorOrigin_!="top-left"){if(!o)return null;t===this.anchor_&&(t=this.anchor_.slice()),(this.anchorOrigin_=="top-right"||this.anchorOrigin_=="bottom-right")&&(t[0]=-t[0]+o[0]),(this.anchorOrigin_=="bottom-left"||this.anchorOrigin_=="bottom-right")&&(t[1]=-t[1]+o[1])}this.normalizedAnchor_=t}let e=this.getDisplacement(),i=this.getScaleArray();return[t[0]-e[0]/i[0],t[1]+e[1]/i[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if(this.offsetOrigin_!="top-left"){let e=this.getSize(),i=this.iconImage_.getSize();if(!e||!i)return null;t=t.slice(),(this.offsetOrigin_=="top-right"||this.offsetOrigin_=="bottom-right")&&(t[0]=i[0]-e[0]-t[0]),(this.offsetOrigin_=="bottom-left"||this.offsetOrigin_=="bottom-right")&&(t[1]=i[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=fc(null,t,this.crossOrigin_,Xe.IDLE,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){let t=this.getScaleArray();if(this.size_)return this.size_[0]*t[0];if(this.iconImage_.getImageState()==Xe.LOADED)return this.iconImage_.getSize()[0]*t[0]}getHeight(){let t=this.getScaleArray();if(this.size_)return this.size_[1]*t[1];if(this.iconImage_.getImageState()==Xe.LOADED)return this.iconImage_.getSize()[1]*t[1]}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Ke.CHANGE,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Ke.CHANGE,t)}ready(){return this.iconImage_.ready()}},Bn=TM;var x4=.5;function xO(r,t,e,i,o,n,c,A,L){let g=L?Ds(o,L):o,v=r[0]*x4,S=r[1]*x4,I=O3(v,S);I.imageSmoothingEnabled=!1;let B=I.canvas,R=new eO(I,x4,o,null,c,A,L?Ba(sc(),L):null),H=e.length,V=Math.floor((256*256*256-1)/H),G={};for(let i1=1;i1<=H;++i1){let r1=e[i1-1],L1=r1.getStyleFunction()||i;if(!L1)continue;let w1=L1(r1,n);if(!w1)continue;Array.isArray(w1)||(w1=[w1]);let y1=(i1*V).toString(16).padStart(7,"#00000");for(let C1=0,H1=w1.length;C1<H1;++C1){let c1=w1[C1],g1=c1.getGeometryFunction()(r1);if(!g1||!t6(g,g1.getExtent()))continue;let Z1=c1.clone(),V1=Z1.getFill();V1&&V1.setColor(y1);let l2=Z1.getStroke();l2&&(l2.setColor(y1),l2.setLineDash(null)),Z1.setText(void 0);let p2=c1.getImage();if(p2){let D2=p2.getImageSize();if(!D2)continue;let M2=O3(D2[0],D2[1],void 0,{alpha:!1}),f1=M2.canvas;M2.fillStyle=y1,M2.fillRect(0,0,f1.width,f1.height),Z1.setImage(new Bn({img:f1,anchor:p2.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:p2.getOrigin(),opacity:1,size:p2.getSize(),scale:p2.getScale(),rotation:p2.getRotation(),rotateWithView:p2.getRotateWithView()}))}let J1=Z1.getZIndex()||0,G1=G[J1];G1||(G1={},G[J1]=G1,G1.Polygon=[],G1.Circle=[],G1.LineString=[],G1.Point=[]);let L2=g1.getType();if(L2==="GeometryCollection"){let D2=g1.getGeometriesArrayRecursive();for(let M2=0,f1=D2.length;M2<f1;++M2){let R1=D2[M2];G1[R1.getType().replace("Multi","")].push(R1,Z1)}}else G1[L2.replace("Multi","")].push(g1,Z1)}}let e1=Object.keys(G).map(Number).sort(A4);for(let i1=0,r1=e1.length;i1<r1;++i1){let L1=G[e1[i1]];for(let w1 in L1){let S1=L1[w1];for(let y1=0,C1=S1.length;y1<C1;y1+=2){R.setStyle(S1[y1+1]);for(let H1=0,c1=t.length;H1<c1;++H1)R.setTransform(t[H1]),R.drawGeometry(S1[y1])}}}return I.getImageData(0,0,B.width,B.height)}function wO(r,t,e){let i=[];if(e){let o=Math.floor(Math.round(r[0])*x4),n=Math.floor(Math.round(r[1])*x4),c=(O0(o,0,e.width-1)+O0(n,0,e.height-1)*e.width)*4,A=e.data[c],L=e.data[c+1],v=e.data[c+2]+256*(L+256*A),S=Math.floor((256*256*256-1)/t.length);v&&v%S===0&&i.push(t[v/S-1])}return i}var IM=class extends Ai{constructor(t,e,i,o){super(t),this.inversePixelTransform=e,this.frameState=i,this.context=o}},Jg=IM;var Te1=5,FM=class extends ig{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.staleKeys_=new Array,this.maxStaleKeys=Te1}getStaleKeys(){return this.staleKeys_}prependStaleKey(t){this.staleKeys_.unshift(t),this.staleKeys_.length>this.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return $e()}getData(t){return null}prepareFrame(t){return $e()}renderFrame(t,e){return $e()}forEachFeatureAtCoordinate(t,e,i,o,n){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){let e=t.target;(e.getState()===Xe.LOADED||e.getState()===Xe.ERROR)&&this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return e!=Xe.LOADED&&e!=Xe.ERROR&&t.addEventListener(Ke.CHANGE,this.boundHandleImageChange_),e==Xe.IDLE&&(t.load(),e=t.getState()),e==Xe.LOADED}renderIfReadyAndVisible(){let t=this.getLayer();t&&t.getVisible()&&t.getSourceState()==="ready"&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}},vh=FM;var RM=[],yh=null;function Ie1(){yh=O3(1,1,void 0,{willReadFrequently:!0})}var PM=class extends vh{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=U6(),this.pixelTransform=U6(),this.inversePixelTransform=U6(),this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,i){yh||Ie1(),yh.clearRect(0,0,1,1);let o;try{yh.drawImage(t,e,i,1,1,0,0,1,1),o=yh.getImageData(0,0,1,1).data}catch{return yh=null,null}return o}getBackground(t){let i=this.getLayer().getBackground();return typeof i=="function"&&(i=i(t.viewState.resolution)),i||void 0}useContainer(t,e,i){let o=this.getLayer().getClassName(),n,c;if(t&&t.className===o&&(!i||t&&t.style.backgroundColor&&g9(t7(t.style.backgroundColor),t7(i)))){let A=t.firstElementChild;y4(A)&&(c=A.getContext("2d"))}if(c&&Kz(c.canvas.style.transform,e)?(this.container=t,this.context=c,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){n=xn?Og():document.createElement("div"),n.className=o;let A=n.style;A.position="absolute",A.width="100%",A.height="100%",c=O3();let L=c.canvas;n.appendChild(L),A=L.style,A.position="absolute",A.left="0",A.transformOrigin="top left",this.container=n,this.context=c}!this.containerReused&&i&&!this.container.style.backgroundColor&&(this.container.style.backgroundColor=i)}clipUnrotated(t,e,i){let o=Jl(i),n=mw(i),c=Yl(i),A=gw(i);fi(e.coordinateToPixelTransform,o),fi(e.coordinateToPixelTransform,n),fi(e.coordinateToPixelTransform,c),fi(e.coordinateToPixelTransform,A);let L=this.inversePixelTransform;fi(L,o),fi(L,n),fi(L,c),fi(L,A),t.save(),t.beginPath(),t.moveTo(Math.round(o[0]),Math.round(o[1])),t.lineTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(c[0]),Math.round(c[1])),t.lineTo(Math.round(A[0]),Math.round(A[1])),t.clip()}prepareContainer(t,e){let i=t.extent,o=t.viewState.resolution,n=t.viewState.rotation,c=t.pixelRatio,A=Math.round(C6(i)/o*c),L=Math.round(H9(i)/o*c);c8(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/c,1/c,n,-A/2,-L/2),Cg(this.inversePixelTransform,this.pixelTransform);let g=Nw(this.pixelTransform);if(this.useContainer(e,g,this.getBackground(t)),!this.containerReused){let v=this.context.canvas;v.width!=A||v.height!=L?(v.width=A,v.height=L):this.context.clearRect(0,0,A,L),g!==v.style.transform&&(v.style.transform=g)}}dispatchRenderEvent_(t,e,i){let o=this.getLayer();if(o.hasListener(t)){let n=new Jg(t,this.inversePixelTransform,i,e);o.dispatchEvent(n)}}preRender(t,e){this.frameState=e,!e.declutter&&this.dispatchRenderEvent_(Z8.PRERENDER,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(Z8.POSTRENDER,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new Yg),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(Z8.PRERENDER,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(Z8.POSTRENDER,this.context,t))}getRenderTransform(t,e,i,o,n,c,A){let L=n/2,g=c/2,v=o/e,S=-v,I=-t[0]+A,B=-t[1];return c8(this.tempTransform,L,g,v,S,-i,I,B)}disposeInternal(){delete this.frameState,super.disposeInternal()}},tm=PM;var DM=class extends tm{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=mn(),this.wrappedRenderedExtent_=mn(),this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,i){let o=e.extent,n=e.viewState,c=n.center,A=n.resolution,L=n.projection,g=n.rotation,v=L.getExtent(),S=this.getLayer().getSource(),I=this.getLayer().getDeclutter(),B=e.pixelRatio,R=e.viewHints,H=!(R[Qi.ANIMATING]||R[Qi.INTERACTING]),V=this.context,G=Math.round(C6(o)/A*B),e1=Math.round(H9(o)/A*B),i1=S.getWrapX()&&L.canWrapX(),r1=i1?C6(v):null,L1=i1?Math.ceil((o[2]-v[2])/r1)+1:1,w1=i1?Math.floor((o[0]-v[0])/r1):0;do{let S1=this.getRenderTransform(c,A,0,B,G,e1,w1*r1);e.declutter&&(S1=S1.slice(0)),t.execute(V,[V.canvas.width,V.canvas.height],S1,g,H,i===void 0?Gs:i?EM:vO,i?I&&e.declutter[I]:void 0)}while(++w1<L1)}setDrawContext_(){this.opacity_!==1&&(this.targetContext_=this.context,this.context=O3(this.context.canvas.width,this.context.canvas.height,RM))}resetDrawContext_(){if(this.opacity_!==1&&this.targetContext_){let t=this.targetContext_.globalAlpha;this.targetContext_.globalAlpha=this.opacity_,this.targetContext_.drawImage(this.context.canvas,0,0),this.targetContext_.globalAlpha=t,Zk(this.context),RM.push(this.context.canvas),this.context=this.targetContext_,this.targetContext_=null}}renderDeclutter(t){!this.replayGroup_||!this.getLayer().getDeclutter()||this.renderWorlds(this.replayGroup_,t,!0)}renderDeferredInternal(t){this.replayGroup_&&(this.replayGroup_.renderDeferred(),this.clipped_&&this.context.restore(),this.resetDrawContext_())}renderFrame(t,e){let i=t.layerStatesArray[t.layerIndex];this.opacity_=i.opacity;let o=t.viewState;this.prepareContainer(t,e);let n=this.context,c=this.replayGroup_,A=c&&!c.isEmpty();if(!A&&!(this.getLayer().hasListener(Z8.PRERENDER)||this.getLayer().hasListener(Z8.POSTRENDER)))return this.container;this.setDrawContext_(),this.preRender(n,t);let L=o.projection;if(this.clipped_=!1,A&&i.extent&&this.clipping){let g=zs(i.extent,L);A=t6(g,t.extent),this.clipped_=A&&!$l(g,t.extent),this.clipped_&&this.clipUnrotated(n,t,g)}return A&&this.renderWorlds(c,t,this.getLayer().getDeclutter()?!1:void 0),!t.declutter&&this.clipped_&&n.restore(),this.postRender(n,t),this.renderedRotation_!==o.rotation&&(this.renderedRotation_=o.rotation,this.hitDetectionImageData_=null),t.declutter||this.resetDrawContext_(),this.container}getFeatures(t){return new Promise(e=>{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){let i=this.frameState.size.slice(),o=this.renderedCenter_,n=this.renderedResolution_,c=this.renderedRotation_,A=this.renderedProjection_,L=this.wrappedRenderedExtent_,g=this.getLayer(),v=[],S=i[0]*x4,I=i[1]*x4;v.push(this.getRenderTransform(o,n,c,x4,S,I,0).slice());let B=g.getSource(),R=A.getExtent();if(B.getWrapX()&&A.canWrapX()&&!$l(R,L)){let V=L[0],G=C6(R),e1=0,i1;for(;V<R[0];)--e1,i1=G*e1,v.push(this.getRenderTransform(o,n,c,x4,S,I,i1).slice()),V+=G;for(e1=0,V=L[2];V>R[2];)++e1,i1=G*e1,v.push(this.getRenderTransform(o,n,c,x4,S,I,i1).slice()),V-=G}let H=sc();this.hitDetectionImageData_=xO(i,v,this.renderedFeatures_,g.getStyleFunction(),L,n,c,Xb(n,this.renderedPixelRatio_),H?A:null)}e(wO(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,i,o,n){if(!this.replayGroup_)return;let c=e.viewState.resolution,A=e.viewState.rotation,L=this.getLayer(),g={},v=function(I,B,R){let H=or(I),V=g[H];if(V){if(V!==!0&&R<V.distanceSq){if(R===0)return g[H]=!0,n.splice(n.lastIndexOf(V),1),o(I,L,B);V.geometry=B,V.distanceSq=R}}else{if(R===0)return g[H]=!0,o(I,L,B);n.push(g[H]={feature:I,layer:L,geometry:B,distanceSq:R,callback:o})}},S=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,c,A,i,v,S?e.declutter?.[S]?.all().map(I=>I.value):null)}handleFontsChanged(){let t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){let e=this.getLayer(),i=e.getSource();if(!i)return!1;let o=t.viewHints[Qi.ANIMATING],n=t.viewHints[Qi.INTERACTING],c=e.getUpdateWhileAnimating(),A=e.getUpdateWhileInteracting();if(this.ready&&!c&&o||!A&&n)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;let L=t.extent,g=t.viewState,v=g.projection,S=g.resolution,I=t.pixelRatio,B=e.getRevision(),R=e.getRenderBuffer(),H=e.getRenderOrder();H===void 0&&(H=iO);let V=g.center.slice(),G=Fs(L,R*S),e1=G.slice(),i1=[G.slice()],r1=v.getExtent();if(i.getWrapX()&&v.canWrapX()&&!$l(r1,t.extent)){let l2=C6(r1),p2=Math.max(C6(G)/2,l2);G[0]=r1[0]-p2,G[2]=r1[2]+p2,lg(V,v);let J1=vw(i1[0],v);J1[0]<r1[0]&&J1[2]<r1[2]?i1.push([J1[0]+l2,J1[1],J1[2]+l2,J1[3]]):J1[0]>r1[0]&&J1[2]>r1[2]&&i1.push([J1[0]-l2,J1[1],J1[2]-l2,J1[3]])}if(this.ready&&this.renderedResolution_==S&&this.renderedRevision_==B&&this.renderedRenderOrder_==H&&this.renderedFrameDeclutter_===!!t.declutter&&$l(this.wrappedRenderedExtent_,G))return g9(this.renderedExtent_,e1)||(this.hitDetectionImageData_=null,this.renderedExtent_=e1),this.renderedCenter_=V,this.replayGroupChanged=!1,!0;this.replayGroup_=null;let L1=new pO(Yb(S,I),G,S,I),w1=sc(),S1;if(w1){for(let l2=0,p2=i1.length;l2<p2;++l2){let J1=i1[l2],G1=Ds(J1,v);i.loadFeatures(G1,Gz(S,v),w1)}S1=Ba(w1,v)}else for(let l2=0,p2=i1.length;l2<p2;++l2)i.loadFeatures(i1[l2],S,v);let y1=Xb(S,I),C1=!0,H1=(l2,p2)=>{let J1,G1=l2.getStyleFunction()||e.getStyleFunction();if(G1&&(J1=G1(l2,S)),J1){let L2=this.renderFeature(l2,y1,J1,L1,S1,this.getLayer().getDeclutter(),p2);C1=C1&&!L2}},c1=Ds(G,v),g1=i.getFeaturesInExtent(c1);H&&g1.sort(H);for(let l2=0,p2=g1.length;l2<p2;++l2)H1(g1[l2],l2);this.renderedFeatures_=g1,this.ready=C1;let Z1=L1.finish(),V1=new yO(G,S,I,i.getOverlaps(),Z1,e.getRenderBuffer(),!!t.declutter);return this.renderedResolution_=S,this.renderedRevision_=B,this.renderedRenderOrder_=H,this.renderedFrameDeclutter_=!!t.declutter,this.renderedExtent_=e1,this.wrappedRenderedExtent_=G,this.renderedCenter_=V,this.renderedProjection_=v,this.renderedPixelRatio_=I,this.replayGroup_=V1,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(t,e,i,o,n,c,A){if(!i)return!1;let L=!1;if(Array.isArray(i))for(let g=0,v=i.length;g<v;++g)L=Jb(o,t,i[g],e,this.boundHandleStyleImageChange_,n,c,A)||L;else L=Jb(o,t,i,e,this.boundHandleStyleImageChange_,n,c,A);return L}},bO=DM;var gc=0;var v9=1<<gc++,_r=1<<gc++,G9=1<<gc++,r7=1<<gc++,qs=1<<gc++,Zf=1<<gc++,em=Math.pow(2,gc)-1,OM={[v9]:"boolean",[_r]:"number",[G9]:"string",[r7]:"color",[qs]:"number[]",[Zf]:"size"},Fe1=Object.keys(OM).map(Number).sort(A4);function Pe1(r){return r in OM}function Uf(r){let t=[];for(let e of Fe1)Qf(r,e)&&t.push(OM[e]);return t.length===0?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function Qf(r,t){return(r&t)===t}function js(r,t){return r===t}var m6=class{constructor(t,e){if(!Pe1(t))throw new Error(`literal expressions must have a specific type, got ${Uf(t)}`);this.type=t,this.value=e}},kM=class{constructor(t,e,...i){this.type=t,this.operator=e,this.args=i}};function NM(){return{variables:new Set,properties:new Set,featureId:!1,geometryType:!1,mapState:!1}}function h8(r,t,e){switch(typeof r){case"boolean":{if(js(t,G9))return new m6(G9,r?"true":"false");if(!Qf(t,v9))throw new Error(`got a boolean, but expected ${Uf(t)}`);return new m6(v9,r)}case"number":{if(js(t,Zf))return new m6(Zf,So(r));if(js(t,v9))return new m6(v9,!!r);if(js(t,G9))return new m6(G9,r.toString());if(!Qf(t,_r))throw new Error(`got a number, but expected ${Uf(t)}`);return new m6(_r,r)}case"string":{if(js(t,r7))return new m6(r7,Ef(r));if(js(t,v9))return new m6(v9,!!r);if(!Qf(t,G9))throw new Error(`got a string, but expected ${Uf(t)}`);return new m6(G9,r)}default:}if(!Array.isArray(r))throw new Error("expression must be an array or a primitive value");if(r.length===0)throw new Error("empty expression");if(typeof r[0]=="string")return Ve1(r,t,e);for(let i of r)if(typeof i!="number")throw new Error("expected an array of numbers");if(js(t,Zf)){if(r.length!==2)throw new Error(`expected an array of two values for a size, got ${r.length}`);return new m6(Zf,r)}if(js(t,r7)){if(r.length===3)return new m6(r7,[...r,1]);if(r.length===4)return new m6(r7,r);throw new Error(`expected an array of 3 or 4 values for a color, got ${r.length}`)}if(!Qf(t,qs))throw new Error(`got an array of numbers, but expected ${Uf(t)}`);return new m6(qs,r)}var vt={Get:"get",Var:"var",Concat:"concat",GeometryType:"geometry-type",LineMetric:"line-metric",Any:"any",All:"all",Not:"!",Resolution:"resolution",Zoom:"zoom",Time:"time",Equal:"==",NotEqual:"!=",GreaterThan:">",GreaterThanOrEqualTo:">=",LessThan:"<",LessThanOrEqualTo:"<=",Multiply:"*",Divide:"/",Add:"+",Subtract:"-",Clamp:"clamp",Mod:"%",Pow:"^",Abs:"abs",Floor:"floor",Ceil:"ceil",Round:"round",Sin:"sin",Cos:"cos",Atan:"atan",Sqrt:"sqrt",Match:"match",Between:"between",Interpolate:"interpolate",Coalesce:"coalesce",Case:"case",In:"in",Number:"number",String:"string",Array:"array",Color:"color",Id:"id",Band:"band",Palette:"palette",ToString:"to-string",Has:"has"},Re1={[vt.Get]:S5($5(1,1/0),MO),[vt.Var]:S5($5(1,1),De1),[vt.Has]:S5($5(1,1/0),MO),[vt.Id]:S5(ze1,_h),[vt.Concat]:S5($5(2,1/0),f0(G9)),[vt.GeometryType]:S5(ke1,_h),[vt.LineMetric]:S5(_h),[vt.Resolution]:S5(zM,_h),[vt.Zoom]:S5(zM,_h),[vt.Time]:S5(zM,_h),[vt.Any]:S5($5(2,1/0),f0(v9)),[vt.All]:S5($5(2,1/0),f0(v9)),[vt.Not]:S5($5(1,1),f0(v9)),[vt.Equal]:S5($5(2,2),f0(em)),[vt.NotEqual]:S5($5(2,2),f0(em)),[vt.GreaterThan]:S5($5(2,2),f0(_r)),[vt.GreaterThanOrEqualTo]:S5($5(2,2),f0(_r)),[vt.LessThan]:S5($5(2,2),f0(_r)),[vt.LessThanOrEqualTo]:S5($5(2,2),f0(_r)),[vt.Multiply]:S5($5(2,1/0),BO),[vt.Coalesce]:S5($5(2,1/0),BO),[vt.Divide]:S5($5(2,2),f0(_r)),[vt.Add]:S5($5(2,1/0),f0(_r)),[vt.Subtract]:S5($5(2,2),f0(_r)),[vt.Clamp]:S5($5(3,3),f0(_r)),[vt.Mod]:S5($5(2,2),f0(_r)),[vt.Pow]:S5($5(2,2),f0(_r)),[vt.Abs]:S5($5(1,1),f0(_r)),[vt.Floor]:S5($5(1,1),f0(_r)),[vt.Ceil]:S5($5(1,1),f0(_r)),[vt.Round]:S5($5(1,1),f0(_r)),[vt.Sin]:S5($5(1,1),f0(_r)),[vt.Cos]:S5($5(1,1),f0(_r)),[vt.Atan]:S5($5(1,2),f0(_r)),[vt.Sqrt]:S5($5(1,1),f0(_r)),[vt.Match]:S5($5(4,1/0),SO,Ne1),[vt.Between]:S5($5(3,3),f0(_r)),[vt.Interpolate]:S5($5(6,1/0),SO,Ze1),[vt.Case]:S5($5(3,1/0),Oe1,Ue1),[vt.In]:S5($5(2,2),Qe1),[vt.Number]:S5($5(1,1/0),f0(em)),[vt.String]:S5($5(1,1/0),f0(em)),[vt.Array]:S5($5(1,1/0),f0(_r)),[vt.Color]:S5($5(1,4),f0(_r)),[vt.Band]:S5($5(1,3),f0(_r)),[vt.Palette]:S5($5(2,2),He1),[vt.ToString]:S5($5(1,1),f0(v9|_r|G9|r7))};function MO(r,t,e){let i=r.length-1,o=new Array(i);for(let n=0;n<i;++n){let c=r[n+1];switch(typeof c){case"number":{o[n]=new m6(_r,c);break}case"string":{o[n]=new m6(G9,c);break}default:throw new Error(`expected a string key or numeric array index for a get operation, got ${c}`)}n===0&&e.properties.add(String(c))}return o}function De1(r,t,e){let i=r[1];if(typeof i!="string")throw new Error("expected a string argument for var operation");return e.variables.add(i),[new m6(G9,i)]}function ze1(r,t,e){e.featureId=!0}function ke1(r,t,e){e.geometryType=!0}function zM(r,t,e){e.mapState=!0}function _h(r,t,e){let i=r[0];if(r.length!==1)throw new Error(`expected no arguments for ${i} operation`);return[]}function $5(r,t){return function(e,i,o){let n=e[0],c=e.length-1;if(r===t){if(c!==r){let A=r===1?"":"s";throw new Error(`expected ${r} argument${A} for ${n}, got ${c}`)}}else if(c<r||c>t){let A=t===1/0?`${r} or more`:`${r} to ${t}`;throw new Error(`expected ${A} arguments for ${n}, got ${c}`)}}}function BO(r,t,e){let i=r.length-1,o=new Array(i);for(let n=0;n<i;++n){let c=h8(r[n+1],t,e);o[n]=c}return o}function f0(r){return function(t,e,i){let o=t.length-1,n=new Array(o);for(let c=0;c<o;++c){let A=h8(t[c+1],r,i);n[c]=A}return n}}function Oe1(r,t,e){let i=r[0],o=r.length-1;if(o%2===0)throw new Error(`expected an odd number of arguments for ${i}, got ${o} instead`)}function SO(r,t,e){let i=r[0],o=r.length-1;if(o%2===1)throw new Error(`expected an even number of arguments for operation ${i}, got ${o} instead`)}function Ne1(r,t,e){let i=r.length-1,o=G9|_r|v9,n=h8(r[1],o,e),c=h8(r[r.length-1],t,e),A=new Array(i-2);for(let L=0;L<i-2;L+=2){try{let g=h8(r[L+2],n.type,e);A[L]=g}catch(g){throw new Error(`failed to parse argument ${L+1} of match expression: ${g.message}`)}try{let g=h8(r[L+3],c.type,e);A[L+1]=g}catch(g){throw new Error(`failed to parse argument ${L+2} of match expression: ${g.message}`)}}return[n,...A,c]}function Ze1(r,t,e){let i=r[1],o;switch(i[0]){case"linear":o=1;break;case"exponential":let L=i[1];if(typeof L!="number"||L<=0)throw new Error(`expected a number base for exponential interpolation, got ${JSON.stringify(L)} instead`);o=L;break;default:throw new Error(`invalid interpolation type: ${JSON.stringify(i)}`)}let n=new m6(_r,o),c;try{c=h8(r[2],_r,e)}catch(L){throw new Error(`failed to parse argument 1 in interpolate expression: ${L.message}`)}let A=new Array(r.length-3);for(let L=0;L<A.length;L+=2){try{let g=h8(r[L+3],_r,e);A[L]=g}catch(g){throw new Error(`failed to parse argument ${L+2} for interpolate expression: ${g.message}`)}try{let g=h8(r[L+4],t,e);A[L+1]=g}catch(g){throw new Error(`failed to parse argument ${L+3} for interpolate expression: ${g.message}`)}}return[n,c,...A]}function Ue1(r,t,e){let i=h8(r[r.length-1],t,e),o=new Array(r.length-1);for(let n=0;n<o.length-1;n+=2){try{let c=h8(r[n+1],v9,e);o[n]=c}catch(c){throw new Error(`failed to parse argument ${n} of case expression: ${c.message}`)}try{let c=h8(r[n+2],i.type,e);o[n+1]=c}catch(c){throw new Error(`failed to parse argument ${n+1} of case expression: ${c.message}`)}}return o[o.length-1]=i,o}function Qe1(r,t,e){let i=r[2];if(!Array.isArray(i))throw new Error('the second argument for the "in" operator must be an array');let o;if(typeof i[0]=="string"){if(i[0]!=="literal")throw new Error('for the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions');if(!Array.isArray(i[1]))throw new Error('failed to parse "in" expression: the literal operator must be followed by an array');i=i[1],o=G9}else o=_r;let n=new Array(i.length);for(let A=0;A<n.length;A++)try{let L=h8(i[A],o,e);n[A]=L}catch(L){throw new Error(`failed to parse haystack item ${A} for "in" expression: ${L.message}`)}return[h8(r[1],o,e),...n]}function He1(r,t,e){let i;try{i=h8(r[1],_r,e)}catch(c){throw new Error(`failed to parse first argument in palette expression: ${c.message}`)}let o=r[2];if(!Array.isArray(o))throw new Error("the second argument of palette must be an array");let n=new Array(o.length);for(let c=0;c<n.length;c++){let A;try{A=h8(o[c],r7,e)}catch(L){throw new Error(`failed to parse color at index ${c} in palette expression: ${L.message}`)}if(!(A instanceof m6))throw new Error(`the palette color at index ${c} must be a literal value`);n[c]=A}return[i,...n]}function S5(...r){return function(t,e,i){let o=t[0],n;for(let c=0;c<r.length;c++){let A=r[c](t,e,i);if(c==r.length-1){if(!A)throw new Error("expected last argument validator to return the parsed args");n=A}}return new kM(e,o,...n)}}function Ve1(r,t,e){let i=r[0],o=Re1[i];if(!o)throw new Error(`unknown operator: ${i}`);return o(r,t,e)}function ZM(r){if(!r)return"";let t=r.getType();switch(t){case"Point":case"LineString":case"Polygon":return t;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return t.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return ZM(r.getGeometries()[0]);default:return""}}function UM(){return{variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""}}function Io(r,t,e){let i=h8(r,t,e);return w4(i,e)}function w4(r,t){if(r instanceof m6){if(r.type===r7&&typeof r.value=="string"){let i=Ef(r.value);return function(){return i}}return function(){return r.value}}let e=r.operator;switch(e){case vt.Number:case vt.String:case vt.Coalesce:return Ge1(r,t);case vt.Get:case vt.Var:case vt.Has:return je1(r,t);case vt.Id:return i=>i.featureId;case vt.GeometryType:return i=>i.geometryType;case vt.Concat:{let i=r.args.map(o=>w4(o,t));return o=>"".concat(...i.map(n=>n(o).toString()))}case vt.Resolution:return i=>i.resolution;case vt.Any:case vt.All:case vt.Between:case vt.In:case vt.Not:return Ke1(r,t);case vt.Equal:case vt.NotEqual:case vt.LessThan:case vt.LessThanOrEqualTo:case vt.GreaterThan:case vt.GreaterThanOrEqualTo:return qe1(r,t);case vt.Multiply:case vt.Divide:case vt.Add:case vt.Subtract:case vt.Clamp:case vt.Mod:case vt.Pow:case vt.Abs:case vt.Floor:case vt.Ceil:case vt.Round:case vt.Sin:case vt.Cos:case vt.Atan:case vt.Sqrt:return We1(r,t);case vt.Case:return $e1(r,t);case vt.Match:return Xe1(r,t);case vt.Interpolate:return Ye1(r,t);case vt.ToString:return Je1(r,t);default:throw new Error(`Unsupported operator ${e}`)}}function Ge1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.Coalesce:return n=>{for(let c=0;c<i;++c){let A=o[c](n);if(typeof A<"u"&&A!==null)return A}throw new Error("Expected one of the values to be non-null")};case vt.Number:case vt.String:return n=>{for(let c=0;c<i;++c){let A=o[c](n);if(typeof A===e)return A}throw new Error(`Expected one of the values to be a ${e}`)};default:throw new Error(`Unsupported assertion operator ${e}`)}}function je1(r,t){let i=r.args[0].value;switch(r.operator){case vt.Get:return o=>{let n=r.args,c=o.properties[i];for(let A=1,L=n.length;A<L;++A){let v=n[A].value;c=c[v]}return c};case vt.Var:return o=>o.variables[i];case vt.Has:return o=>{let n=r.args;if(!(i in o.properties))return!1;let c=o.properties[i];for(let A=1,L=n.length;A<L;++A){let v=n[A].value;if(!c||!Object.hasOwn(c,v))return!1;c=c[v]}return!0};default:throw new Error(`Unsupported accessor operator ${r.operator}`)}}function qe1(r,t){let e=r.operator,i=w4(r.args[0],t),o=w4(r.args[1],t);switch(e){case vt.Equal:return n=>i(n)===o(n);case vt.NotEqual:return n=>i(n)!==o(n);case vt.LessThan:return n=>i(n)<o(n);case vt.LessThanOrEqualTo:return n=>i(n)<=o(n);case vt.GreaterThan:return n=>i(n)>o(n);case vt.GreaterThanOrEqualTo:return n=>i(n)>=o(n);default:throw new Error(`Unsupported comparison operator ${e}`)}}function Ke1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.Any:return n=>{for(let c=0;c<i;++c)if(o[c](n))return!0;return!1};case vt.All:return n=>{for(let c=0;c<i;++c)if(!o[c](n))return!1;return!0};case vt.Between:return n=>{let c=o[0](n),A=o[1](n),L=o[2](n);return c>=A&&c<=L};case vt.In:return n=>{let c=o[0](n);for(let A=1;A<i;++A)if(c===o[A](n))return!0;return!1};case vt.Not:return n=>!o[0](n);default:throw new Error(`Unsupported logical operator ${e}`)}}function We1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.Multiply:return n=>{let c=1;for(let A=0;A<i;++A)c*=o[A](n);return c};case vt.Divide:return n=>o[0](n)/o[1](n);case vt.Add:return n=>{let c=0;for(let A=0;A<i;++A)c+=o[A](n);return c};case vt.Subtract:return n=>o[0](n)-o[1](n);case vt.Clamp:return n=>{let c=o[0](n),A=o[1](n);if(c<A)return A;let L=o[2](n);return c>L?L:c};case vt.Mod:return n=>o[0](n)%o[1](n);case vt.Pow:return n=>Math.pow(o[0](n),o[1](n));case vt.Abs:return n=>Math.abs(o[0](n));case vt.Floor:return n=>Math.floor(o[0](n));case vt.Ceil:return n=>Math.ceil(o[0](n));case vt.Round:return n=>Math.round(o[0](n));case vt.Sin:return n=>Math.sin(o[0](n));case vt.Cos:return n=>Math.cos(o[0](n));case vt.Atan:return i===2?n=>Math.atan2(o[0](n),o[1](n)):n=>Math.atan(o[0](n));case vt.Sqrt:return n=>Math.sqrt(o[0](n));default:throw new Error(`Unsupported numeric operator ${e}`)}}function $e1(r,t){let e=r.args.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=w4(r.args[o],t);return o=>{for(let n=0;n<e-1;n+=2)if(i[n](o))return i[n+1](o);return i[e-1](o)}}function Xe1(r,t){let e=r.args.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=w4(r.args[o],t);return o=>{let n=i[0](o);for(let c=1;c<e-1;c+=2)if(n===i[c](o))return i[c+1](o);return i[e-1](o)}}function Ye1(r,t){let e=r.args.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=w4(r.args[o],t);return o=>{let n=i[0](o),c=i[1](o),A,L;for(let g=2;g<e;g+=2){let v=i[g](o),S=i[g+1](o),I=Array.isArray(S);if(I&&(S=Vk(S)),v>=c)return g===2?S:I?t51(n,c,A,L,v,S):Hf(n,c,A,L,v,S);A=v,L=S}return L}}function Je1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.ToString:return n=>{let c=o[0](n);return r.args[0].type===r7?Tf(c):c.toString()};default:throw new Error(`Unsupported convert operator ${e}`)}}function Hf(r,t,e,i,o,n){let c=o-e;if(c===0)return i;let A=t-e,L=r===1?A/c:(Math.pow(r,A)-1)/(Math.pow(r,c)-1);return i+L*(n-i)}function t51(r,t,e,i,o,n){if(o-e===0)return i;let A=Hb(i),L=Hb(n),g=L[2]-A[2];g>180?g-=360:g<-180&&(g+=360);let v=[Hf(r,t,e,A[0],o,L[0]),Hf(r,t,e,A[1],o,L[1]),A[2]+Hf(r,t,e,0,o,g),Hf(r,t,e,i[3],o,n[3])];return Gk(v)}function e51(r){return!0}function FO(r){let t=NM(),e=r51(r,t),i=UM();return function(o,n){if(i.properties=o.getPropertiesInternal(),i.resolution=n,t.featureId){let c=o.getId();c!==void 0?i.featureId=c:i.featureId=null}return t.geometryType&&(i.geometryType=ZM(o.getGeometry())),e(i)}}function VM(r){let t=NM(),e=r.length,i=new Array(e);for(let c=0;c<e;++c)i[c]=QM(r[c],t);let o=UM(),n=new Array(e);return function(c,A){if(o.properties=c.getPropertiesInternal(),o.resolution=A,t.featureId){let g=c.getId();g!==void 0?o.featureId=g:o.featureId=null}let L=0;for(let g=0;g<e;++g){let v=i[g](o);v&&(n[L]=v,L+=1)}return n.length=L,n}}function r51(r,t){let e=r.length,i=new Array(e);for(let o=0;o<e;++o){let n=r[o],c="filter"in n?Io(n.filter,v9,t):e51,A;if(Array.isArray(n.style)){let L=n.style.length;A=new Array(L);for(let g=0;g<L;++g)A[g]=QM(n.style[g],t)}else A=[QM(n.style,t)];i[o]={filter:c,styles:A}}return function(o){let n=[],c=!1;for(let A=0;A<e;++A){let L=i[A].filter;if(L(o)&&!(r[A].else&&c)){c=!0;for(let g of i[A].styles){let v=g(o);v&&n.push(v)}}}return n}}function QM(r,t){let e=Vf(r,"",t),i=Gf(r,"",t),o=i51(r,t),n=n51(r,t),c=Sn(r,"z-index",t);if(!e&&!i&&!o&&!n&&!Xn(r))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(r));let A=new J0;return function(L){let g=!0;if(e){let v=e(L);v&&(g=!1),A.setFill(v)}if(i){let v=i(L);v&&(g=!1),A.setStroke(v)}if(o){let v=o(L);v&&(g=!1),A.setText(v)}if(n){let v=n(L);v&&(g=!1),A.setImage(v)}return c&&A.setZIndex(c(L)),g?null:A}}function Vf(r,t,e){let i;if(t+"fill-pattern-src"in r)i=l51(r,t+"fill-",e);else{if(r[t+"fill-color"]==="none")return n=>null;i=GM(r,t+"fill-color",e)}if(!i)return null;let o=new r6;return function(n){let c=i(n);return c===Zg?null:(o.setColor(c),o)}}function Gf(r,t,e){let i=Sn(r,t+"stroke-width",e),o=GM(r,t+"stroke-color",e);if(!i&&!o)return null;let n=Oa(r,t+"stroke-line-cap",e),c=Oa(r,t+"stroke-line-join",e),A=PO(r,t+"stroke-line-dash",e),L=Sn(r,t+"stroke-line-dash-offset",e),g=Sn(r,t+"stroke-miter-limit",e),v=new pi;return function(S){if(o){let I=o(S);if(I===Zg)return null;v.setColor(I)}if(i&&v.setWidth(i(S)),n){let I=n(S);if(I!=="butt"&&I!=="round"&&I!=="square")throw new Error("Expected butt, round, or square line cap");v.setLineCap(I)}if(c){let I=c(S);if(I!=="bevel"&&I!=="round"&&I!=="miter")throw new Error("Expected bevel, round, or miter line join");v.setLineJoin(I)}return A&&v.setLineDash(A(S)),L&&v.setLineDashOffset(L(S)),g&&v.setMiterLimit(g(S)),v}}function i51(r,t){let e="text-",i=Oa(r,e+"value",t);if(!i)return null;let o=Vf(r,e,t),n=Vf(r,e+"background-",t),c=Gf(r,e,t),A=Gf(r,e+"background-",t),L=Oa(r,e+"font",t),g=Sn(r,e+"max-angle",t),v=Sn(r,e+"offset-x",t),S=Sn(r,e+"offset-y",t),I=xh(r,e+"overflow",t),B=Oa(r,e+"placement",t),R=Sn(r,e+"repeat",t),H=nm(r,e+"scale",t),V=xh(r,e+"rotate-with-view",t),G=Sn(r,e+"rotation",t),e1=Oa(r,e+"align",t),i1=Oa(r,e+"justify",t),r1=Oa(r,e+"baseline",t),L1=xh(r,e+"keep-upright",t),w1=PO(r,e+"padding",t),S1=om(r,e+"declutter-mode"),y1=new Ra({declutterMode:S1});return function(C1){if(y1.setText(i(C1)),o&&y1.setFill(o(C1)),n&&y1.setBackgroundFill(n(C1)),c&&y1.setStroke(c(C1)),A&&y1.setBackgroundStroke(A(C1)),L&&y1.setFont(L(C1)),g&&y1.setMaxAngle(g(C1)),v&&y1.setOffsetX(v(C1)),S&&y1.setOffsetY(S(C1)),I&&y1.setOverflow(I(C1)),B){let H1=B(C1);if(H1!=="point"&&H1!=="line")throw new Error("Expected point or line for text-placement");y1.setPlacement(H1)}if(R&&y1.setRepeat(R(C1)),H&&y1.setScale(H(C1)),V&&y1.setRotateWithView(V(C1)),G&&y1.setRotation(G(C1)),e1){let H1=e1(C1);if(H1!=="left"&&H1!=="center"&&H1!=="right"&&H1!=="end"&&H1!=="start")throw new Error("Expected left, right, center, start, or end for text-align");y1.setTextAlign(H1)}if(i1){let H1=i1(C1);if(H1!=="left"&&H1!=="right"&&H1!=="center")throw new Error("Expected left, right, or center for text-justify");y1.setJustify(H1)}if(r1){let H1=r1(C1);if(H1!=="bottom"&&H1!=="top"&&H1!=="middle"&&H1!=="alphabetic"&&H1!=="hanging")throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");y1.setTextBaseline(H1)}return w1&&y1.setPadding(w1(C1)),L1&&y1.setKeepUpright(L1(C1)),y1}}function n51(r,t){return"icon-src"in r?o51(r,t):"shape-points"in r?a51(r,t):"circle-radius"in r?s51(r,t):null}function o51(r,t){let e="icon-",i=e+"src",o=RO(r[i],i),n=rm(r,e+"anchor",t),c=nm(r,e+"scale",t),A=Sn(r,e+"opacity",t),L=rm(r,e+"displacement",t),g=Sn(r,e+"rotation",t),v=xh(r,e+"rotate-with-view",t),S=TO(r,e+"anchor-origin"),I=IO(r,e+"anchor-x-units"),B=IO(r,e+"anchor-y-units"),R=d51(r,e+"color"),H=u51(r,e+"cross-origin"),V=h51(r,e+"offset"),G=TO(r,e+"offset-origin"),e1=im(r,e+"width"),i1=im(r,e+"height"),r1=c51(r,e+"size"),L1=om(r,e+"declutter-mode"),w1=new Bn({src:o,anchorOrigin:S,anchorXUnits:I,anchorYUnits:B,color:R,crossOrigin:H,offset:V,offsetOrigin:G,height:i1,width:e1,size:r1,declutterMode:L1});return function(S1){return A&&w1.setOpacity(A(S1)),L&&w1.setDisplacement(L(S1)),g&&w1.setRotation(g(S1)),v&&w1.setRotateWithView(v(S1)),c&&w1.setScale(c(S1)),n&&w1.setAnchor(n(S1)),w1}}function a51(r,t){let e="shape-",i=e+"points",o=e+"radius",n=HM(r[i],i),c=HM(r[o],o),A=Vf(r,e,t),L=Gf(r,e,t),g=nm(r,e+"scale",t),v=rm(r,e+"displacement",t),S=Sn(r,e+"rotation",t),I=xh(r,e+"rotate-with-view",t),B=im(r,e+"radius2"),R=im(r,e+"angle"),H=om(r,e+"declutter-mode"),V=new $g({points:n,radius:c,radius2:B,angle:R,declutterMode:H});return function(G){return A&&V.setFill(A(G)),L&&V.setStroke(L(G)),v&&V.setDisplacement(v(G)),S&&V.setRotation(S(G)),I&&V.setRotateWithView(I(G)),g&&V.setScale(g(G)),V}}function s51(r,t){let e="circle-",i=Vf(r,e,t),o=Gf(r,e,t),n=Sn(r,e+"radius",t),c=nm(r,e+"scale",t),A=rm(r,e+"displacement",t),L=Sn(r,e+"rotation",t),g=xh(r,e+"rotate-with-view",t),v=om(r,e+"declutter-mode"),S=new V9({radius:5,declutterMode:v});return function(I){return n&&S.setRadius(n(I)),i&&S.setFill(i(I)),o&&S.setStroke(o(I)),A&&S.setDisplacement(A(I)),L&&S.setRotation(L(I)),g&&S.setRotateWithView(g(I)),c&&S.setScale(c(I)),S}}function Sn(r,t,e){if(!(t in r))return;let i=Io(r[t],_r,e);return function(o){return HM(i(o),t)}}function Oa(r,t,e){if(!(t in r))return null;let i=Io(r[t],G9,e);return function(o){return RO(i(o),t)}}function l51(r,t,e){let i=Oa(r,t+"pattern-src",e),o=EO(r,t+"pattern-offset",e),n=EO(r,t+"pattern-size",e),c=GM(r,t+"color",e);return function(A){return{src:i(A),offset:o&&o(A),size:n&&n(A),color:c&&c(A)}}}function xh(r,t,e){if(!(t in r))return null;let i=Io(r[t],v9,e);return function(o){let n=i(o);if(typeof n!="boolean")throw new Error(`Expected a boolean for ${t}`);return n}}function GM(r,t,e){if(!(t in r))return null;let i=Io(r[t],r7,e);return function(o){return DO(i(o),t)}}function PO(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs,e);return function(o){return jf(i(o),t)}}function rm(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs,e);return function(o){let n=jf(i(o),t);if(n.length!==2)throw new Error(`Expected two numbers for ${t}`);return n}}function EO(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs,e);return function(o){return zO(i(o),t)}}function nm(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs|_r,e);return function(o){return A51(i(o),t)}}function im(r,t){let e=r[t];if(e!==void 0){if(typeof e!="number")throw new Error(`Expected a number for ${t}`);return e}}function c51(r,t){let e=r[t];if(e!==void 0){if(typeof e=="number")return So(e);if(!Array.isArray(e))throw new Error(`Expected a number or size array for ${t}`);if(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number")throw new Error(`Expected a number or size array for ${t}`);return e}}function u51(r,t){let e=r[t];if(e!==void 0){if(typeof e!="string")throw new Error(`Expected a string for ${t}`);return e}}function TO(r,t){let e=r[t];if(e!==void 0){if(e!=="bottom-left"&&e!=="bottom-right"&&e!=="top-left"&&e!=="top-right")throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${t}`);return e}}function IO(r,t){let e=r[t];if(e!==void 0){if(e!=="pixels"&&e!=="fraction")throw new Error(`Expected pixels or fraction for ${t}`);return e}}function h51(r,t){let e=r[t];if(e!==void 0)return jf(e,t)}function om(r,t){let e=r[t];if(e!==void 0){if(typeof e!="string")throw new Error(`Expected a string for ${t}`);if(e!=="declutter"&&e!=="obstacle"&&e!=="none")throw new Error(`Expected declutter, obstacle, or none for ${t}`);return e}}function d51(r,t){let e=r[t];if(e!==void 0)return DO(e,t)}function jf(r,t){if(!Array.isArray(r))throw new Error(`Expected an array for ${t}`);let e=r.length;for(let i=0;i<e;++i)if(typeof r[i]!="number")throw new Error(`Expected an array of numbers for ${t}`);return r}function RO(r,t){if(typeof r!="string")throw new Error(`Expected a string for ${t}`);return r}function HM(r,t){if(typeof r!="number")throw new Error(`Expected a number for ${t}`);return r}function DO(r,t){if(typeof r=="string")return r;let e=jf(r,t),i=e.length;if(i<3||i>4)throw new Error(`Expected a color with 3 or 4 values for ${t}`);return e}function zO(r,t){let e=jf(r,t);if(e.length!==2)throw new Error(`Expected an array of two numbers for ${t}`);return e}function A51(r,t){return typeof r=="number"?r:zO(r,t)}var kO={RENDER_ORDER:"renderOrder"},jM=class extends P7{constructor(t){t=t||{};let e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=t.renderBuffer!==void 0?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=t.updateWhileAnimating!==void 0?t.updateWhileAnimating:!1,this.updateWhileInteracting_=t.updateWhileInteracting!==void 0?t.updateWhileInteracting:!1}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(kO.RENDER_ORDER)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){let i=this.getDeclutter();i in t.declutter||(t.declutter[i]=new Cc(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(kO.RENDER_ORDER,t)}setStyle(t){this.style_=t===void 0?fM:t;let e=f51(t);this.styleFunction_=t===null?void 0:cO(e),this.changed()}setDeclutter(t){this.declutter_=t?String(t):void 0,this.changed()}};function f51(r){if(r===void 0)return fM;if(!r)return null;if(typeof r=="function"||r instanceof J0)return r;if(!Array.isArray(r))return VM([r]);if(r.length===0)return[];let t=r.length,e=r[0];if(e instanceof J0){let o=new Array(t);for(let n=0;n<t;++n){let c=r[n];if(!(c instanceof J0))throw new Error("Expected a list of style instances");o[n]=c}return o}if("style"in e){let o=new Array(t);for(let n=0;n<t;++n){let c=r[n];if(!("style"in c))throw new Error("Expected a list of rules with a style property");o[n]=c}return FO(o)}return VM(r)}var am=jM;var qM=class extends am{constructor(t){super(t)}createRenderer(){return new bO(this)}},sm=qM;var wh={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};var KM=class{constructor(t,e,i){this.decay_=t,this.minVelocity_=e,this.delay_=i,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;let t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]<t)return!1;let i=e-3;for(;i>0&&this.points_[i+2]>t;)i-=3;let o=this.points_[e+2]-this.points_[i+2];if(o<1e3/60)return!1;let n=this.points_[e]-this.points_[i],c=this.points_[e+1]-this.points_[i+1];return this.angle_=Math.atan2(c,n),this.initialVelocity_=Math.sqrt(n*n+c*c)/o,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}},OO=KM;var WM=class extends Ai{constructor(t,e,i){super(t),this.map=e,this.frameState=i!==void 0?i:null}},Ks=WM;var $M=class extends Ks{constructor(t,e,i,o,n,c){super(t,e,n),this.originalEvent=i,this.pixel_=null,this.coordinate_=null,this.dragging=o!==void 0?o:!1,this.activePointers=c}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(t){this.pixel_=t}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(t){this.coordinate_=t}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}},Fo=$M;var A3={SINGLECLICK:"singleclick",CLICK:Ke.CLICK,DBLCLICK:Ke.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var qf={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var XM=class extends th{constructor(t,e){super(t),this.map_=t,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=e===void 0?1:e,this.down_=null;let i=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=i,this.pointerdownListenerKey_=j5(i,qf.POINTERDOWN,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=j5(i,qf.POINTERMOVE,this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(Ke.TOUCHMOVE,this.boundHandleTouchMove_,kg?{passive:!1}:!1)}emulateClick_(t){let e=new Fo(A3.CLICK,this.map_,t);this.dispatchEvent(e),this.clickTimeoutId_!==void 0?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,e=new Fo(A3.DBLCLICK,this.map_,t),this.dispatchEvent(e)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;let i=new Fo(A3.SINGLECLICK,this.map_,t);this.dispatchEvent(i)},250)}updateActivePointers_(t){let e=t,i=e.pointerId;if(e.type==A3.POINTERUP||e.type==A3.POINTERCANCEL){delete this.trackedTouches_[i];for(let o in this.trackedTouches_)if(this.trackedTouches_[o].target!==e.target){delete this.trackedTouches_[o];break}}else(e.type==A3.POINTERDOWN||e.type==A3.POINTERMOVE)&&(this.trackedTouches_[i]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);let e=new Fo(A3.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),this.activePointers_.length===0&&(this.dragListenerKeys_.forEach(t0),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return t.button===0}handlePointerDown_(t){this.emulateClicks_=this.activePointers_.length===0,this.updateActivePointers_(t);let e=new Fo(A3.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),this.dragListenerKeys_.length===0){let i=this.map_.getOwnerDocument();this.dragListenerKeys_.push(j5(i,A3.POINTERMOVE,this.handlePointerMove_,this),j5(i,A3.POINTERUP,this.handlePointerUp_,this),j5(this.element_,A3.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==i&&this.dragListenerKeys_.push(j5(this.element_.getRootNode(),A3.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;let e=new Fo(A3.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;let e=!!(this.down_&&this.isMoving_(t));this.dispatchEvent(new Fo(A3.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){let e=this.originalPointerMoveEvent_;(!e||e.defaultPrevented)&&(typeof t.cancelable!="boolean"||t.cancelable===!0)&&t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(t0(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(Ke.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(t0(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(t0),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}},NO=XM;var Q8={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"};var Kf=1/0,YM=class{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,yo(this.queuedElements_)}dequeue(){let t=this.elements_,e=this.priorities_,i=t[0];t.length==1?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));let o=this.keyFunction_(i);return delete this.queuedElements_[o],i}enqueue(t){jr(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");let e=this.priorityFunction_(t);return e!=Kf?(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0):!1}getCount(){return this.elements_.length}getLeftChildIndex_(t){return t*2+1}getRightChildIndex_(t){return t*2+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return this.elements_.length===0}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){let e=this.elements_,i=this.priorities_,o=e.length,n=e[t],c=i[t],A=t;for(;t<o>>1;){let L=this.getLeftChildIndex_(t),g=this.getRightChildIndex_(t),v=g<o&&i[g]<i[L]?g:L;e[t]=e[v],i[t]=i[v],t=v}e[t]=n,i[t]=c,this.siftDown_(A,t)}siftDown_(t,e){let i=this.elements_,o=this.priorities_,n=i[e],c=o[e];for(;e>t;){let A=this.getParentIndex_(e);if(o[A]>c)i[e]=i[A],o[e]=o[A],e=A;else break}i[e]=n,o[e]=c}reprioritize(){let t=this.priorityFunction_,e=this.elements_,i=this.priorities_,o=0,n=e.length,c,A,L;for(A=0;A<n;++A)c=e[A],L=t(c),L==Kf?delete this.queuedElements_[this.keyFunction_(c)]:(i[o]=L,e[o++]=c);e.length=o,i.length=o,this.heapify_()}},ZO=YM;var JM=class extends ZO{constructor(t,e){super(i=>t.apply(null,i),i=>i[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){let e=super.enqueue(t);return e&&t[0].addEventListener(Ke.CHANGE,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){let e=t.target,i=e.getState();if(i===wh.LOADED||i===wh.ERROR||i===wh.EMPTY){i!==wh.ERROR&&e.removeEventListener(Ke.CHANGE,this.boundHandleTileChange_);let o=e.getKey();o in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[o],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let i=0;for(;this.tilesLoading_<t&&i<e&&this.getCount()>0;){let o=this.dequeue()[0],n=o.getKey();o.getState()===wh.IDLE&&!(n in this.tilesLoadingKeys_)&&(this.tilesLoadingKeys_[n]=!0,++this.tilesLoading_,++i,o.load())}}},UO=JM;function QO(r,t,e,i,o){if(!r||!(e in r.wantedTiles))return Kf;if(!r.wantedTiles[e][t.getKey()])return Kf;let n=r.viewState.center,c=i[0]-n[0],A=i[1]-n[1];return 65536*Math.log(o)+Math.sqrt(c*c+A*A)/o}var tB=class extends Jn{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=t.collapsed!==void 0?t.collapsed:!0,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=t.collapsible!==void 0,this.collapsible_=t.collapsible!==void 0?t.collapsible:!0,this.collapsible_||(this.collapsed_=!1),this.attributions_=t.attributions;let e=t.className!==void 0?t.className:"ol-attribution",i=t.tipLabel!==void 0?t.tipLabel:"Attributions",o=t.expandClassName!==void 0?t.expandClassName:e+"-expand",n=t.collapseLabel!==void 0?t.collapseLabel:"\u203A",c=t.collapseClassName!==void 0?t.collapseClassName:e+"-collapse";typeof n=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=n,this.collapseLabel_.className=c):this.collapseLabel_=n;let A=t.label!==void 0?t.label:"i";typeof A=="string"?(this.label_=document.createElement("span"),this.label_.textContent=A,this.label_.className=o):this.label_=A;let L=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=i,this.toggleButton_.appendChild(L),this.toggleButton_.addEventListener(Ke.CLICK,this.handleClick_.bind(this),!1);let g=e+" "+wo+" "+Lh+(this.collapsed_&&this.collapsible_?" "+qb:"")+(this.collapsible_?"":" ol-uncollapsible"),v=this.element;v.className=g,v.appendChild(this.toggleButton_),v.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(t){let e=this.getMap().getAllLayers(),i=new Set(e.flatMap(o=>o.getAttributions(t)));if(this.attributions_!==void 0&&(Array.isArray(this.attributions_)?this.attributions_.forEach(o=>i.add(o)):i.add(this.attributions_)),!this.overrideCollapsible_){let o=!e.some(n=>n.getSource()?.getAttributionsCollapsible()===!1);this.setCollapsible(o)}return Array.from(i)}async updateElement_(t){if(!t){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}let e=await Promise.all(this.collectSourceAttributions_(t).map(o=>gz(()=>o))),i=e.length>0;if(this.renderedVisible_!=i&&(this.element.style.display=i?"":"none",this.renderedVisible_=i),!g9(e,this.renderedAttributions_)){Uk(this.ulElement_);for(let o=0,n=e.length;o<n;++o){let c=document.createElement("li");c.innerHTML=e[o],this.ulElement_.appendChild(c)}this.renderedAttributions_=e}}handleClick_(t){t.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(qb),this.collapsed_?zb(this.collapseLabel_,this.label_):zb(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(t){this.userCollapsed_=t,!(!this.collapsible_||this.collapsed_===t)&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(t){this.updateElement_(t.frameState)}},HO=tB;var eB=class extends Jn{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target});let e=t.className!==void 0?t.className:"ol-rotate",i=t.label!==void 0?t.label:"\u21E7",o=t.compassClassName!==void 0?t.compassClassName:"ol-compass";this.label_=null,typeof i=="string"?(this.label_=document.createElement("span"),this.label_.className=o,this.label_.textContent=i):(this.label_=i,this.label_.classList.add(o));let n=t.tipLabel?t.tipLabel:"Reset rotation",c=document.createElement("button");c.className=e+"-reset",c.setAttribute("type","button"),c.title=n,c.appendChild(this.label_),c.addEventListener(Ke.CLICK,this.handleClick_.bind(this),!1);let A=e+" "+wo+" "+Lh,L=this.element;L.className=A,L.appendChild(c),this.callResetNorth_=t.resetNorth?t.resetNorth:void 0,this.duration_=t.duration!==void 0?t.duration:250,this.autoHide_=t.autoHide!==void 0?t.autoHide:!0,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(Ff)}handleClick_(t){t.preventDefault(),this.callResetNorth_!==void 0?this.callResetNorth_():this.resetNorth_()}resetNorth_(){let e=this.getMap().getView();if(!e)return;let i=e.getRotation();i!==void 0&&(this.duration_>0&&i%(2*Math.PI)!==0?e.animate({rotation:0,duration:this.duration_,easing:F7}):e.setRotation(0))}render(t){let e=t.frameState;if(!e)return;let i=e.viewState.rotation;if(i!=this.rotation_){let o="rotate("+i+"rad)";if(this.autoHide_){let n=this.element.classList.contains(Ff);!n&&i===0?this.element.classList.add(Ff):n&&i!==0&&this.element.classList.remove(Ff)}this.label_.style.transform=o}this.rotation_=i}},VO=eB;var rB=class extends Jn{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});let e=t.className!==void 0?t.className:"ol-zoom",i=t.delta!==void 0?t.delta:1,o=t.zoomInClassName!==void 0?t.zoomInClassName:e+"-in",n=t.zoomOutClassName!==void 0?t.zoomOutClassName:e+"-out",c=t.zoomInLabel!==void 0?t.zoomInLabel:"+",A=t.zoomOutLabel!==void 0?t.zoomOutLabel:"\u2013",L=t.zoomInTipLabel!==void 0?t.zoomInTipLabel:"Zoom in",g=t.zoomOutTipLabel!==void 0?t.zoomOutTipLabel:"Zoom out",v=document.createElement("button");v.className=o,v.setAttribute("type","button"),v.title=L,v.appendChild(typeof c=="string"?document.createTextNode(c):c),v.addEventListener(Ke.CLICK,this.handleClick_.bind(this,i),!1);let S=document.createElement("button");S.className=n,S.setAttribute("type","button"),S.title=g,S.appendChild(typeof A=="string"?document.createTextNode(A):A),S.addEventListener(Ke.CLICK,this.handleClick_.bind(this,-i),!1);let I=e+" "+wo+" "+Lh,B=this.element;B.className=I,B.appendChild(v),B.appendChild(S),this.duration_=t.duration!==void 0?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){let i=this.getMap().getView();if(!i)return;let o=i.getZoom();if(o!==void 0){let n=i.getConstrainedZoom(o+t);this.duration_>0?(i.getAnimating()&&i.cancelAnimations(),i.animate({zoom:n,duration:this.duration_,easing:F7})):i.setZoom(n)}}},GO=rB;function jO(r){r=r||{};let t=new U8;return(r.zoom===void 0||r.zoom)&&t.push(new GO(r.zoomOptions)),(r.rotate===void 0||r.rotate)&&t.push(new VO(r.rotateOptions)),(r.attribution===void 0||r.attribution)&&t.push(new HO(r.attributionOptions)),t}var iB={ACTIVE:"active"};var nB=class extends g6{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(iB.ACTIVE)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(iB.ACTIVE,t)}setMap(t){this.map_=t}};function qO(r,t,e){let i=r.getCenterInternal();if(i){let o=[i[0]+t[0],i[1]+t[1]];r.animateInternal({duration:e!==void 0?e:250,easing:Pg,center:r.getConstrainedCenter(o)})}}function bh(r,t,e,i){let o=r.getZoom();if(o===void 0)return;let n=r.getConstrainedZoom(o+t),c=r.getResolutionForZoom(n);r.getAnimating()&&r.cancelAnimations(),r.animate({resolution:c,anchor:e,duration:i!==void 0?i:250,easing:F7})}var Po=nB;var oB=class extends Po{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=t.duration!==void 0?t.duration:250}handleEvent(t){let e=!1;if(t.type==A3.DBLCLICK){let i=t.originalEvent,o=t.map,n=t.coordinate,c=i.shiftKey?-this.delta_:this.delta_,A=o.getView();bh(A,c,n,this.duration_),i.preventDefault(),e=!0}return!e}},KO=oB;function Wf(r){let t=arguments;return function(e){let i=!0;for(let o=0,n=t.length;o<n&&(i=i&&t[o](e),!!i);++o);return i}}var WO=function(r){let t=r.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},p51=function(r){let t=r.map.getTargetElement(),e=t.getRootNode(),i=r.map.getOwnerDocument().activeElement;return e instanceof ShadowRoot?e.host.contains(i):t.contains(i)},lm=function(r){let t=r.map.getTargetElement(),e=t.getRootNode();return(e instanceof ShadowRoot?e.host:t).hasAttribute("tabindex")?p51(r):!0},$O=_a;var cm=function(r){let t=r.originalEvent;return"pointerId"in t&&t.button==0&&!(Ok&&Rb&&t.ctrlKey)};var um=function(r){let t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey};var XO=function(r){let t=r.originalEvent;return Rb?t.metaKey:t.ctrlKey},YO=function(r){let t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},hm=function(r){let t=r.originalEvent,e=t.target.tagName;return e!=="INPUT"&&e!=="SELECT"&&e!=="TEXTAREA"&&!t.target.isContentEditable},dm=function(r){let t=r.originalEvent;return"pointerId"in t&&t.pointerType=="mouse"};var JO=function(r){let t=r.originalEvent;return"pointerId"in t&&t.isPrimary&&t.button===0};var aB=class extends Po{constructor(t){t=t||{},super(t),t.handleDownEvent&&(this.handleDownEvent=t.handleDownEvent),t.handleDragEvent&&(this.handleDragEvent=t.handleDragEvent),t.handleMoveEvent&&(this.handleMoveEvent=t.handleMoveEvent),t.handleUpEvent&&(this.handleUpEvent=t.handleUpEvent),t.stopDown&&(this.stopDown=t.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(t){return!1}handleDragEvent(t){}handleEvent(t){if(!t.originalEvent)return!0;let e=!1;if(this.updateTrackedPointers_(t),this.handlingDownUpSequence){if(t.type==A3.POINTERDRAG)this.handleDragEvent(t),t.originalEvent.preventDefault();else if(t.type==A3.POINTERUP){let i=this.handleUpEvent(t);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else if(t.type==A3.POINTERDOWN){let i=this.handleDownEvent(t);this.handlingDownUpSequence=i,e=this.stopDown(i)}else t.type==A3.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}};function Mh(r){let t=r.length,e=0,i=0;for(let o=0;o<t;o++)e+=r[o].clientX,i+=r[o].clientY;return{clientX:e/t,clientY:i/t}}var Ro=aB;var sB=class extends Ro{constructor(t){super({stopDown:xa}),t=t||{},this.kinetic_=t.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;let e=t.condition?t.condition:Wf(um,JO);this.condition_=t.onFocusOnly?Wf(lm,e):e,this.noKinetic_=!1}handleDragEvent(t){let e=t.map;this.panning_||(this.panning_=!0,e.getView().beginInteraction());let i=this.targetPointers,o=e.getEventPixel(Mh(i));if(i.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(o[0],o[1]),this.lastCentroid){let n=[this.lastCentroid[0]-o[0],o[1]-this.lastCentroid[1]],A=t.map.getView();_z(n,A.getResolution()),rh(n,A.getRotation()),A.adjustCenterInternal(n)}}else this.kinetic_&&this.kinetic_.begin();this.lastCentroid=o,this.lastPointersCount_=i.length,t.originalEvent.preventDefault()}handleUpEvent(t){let e=t.map,i=e.getView();if(this.targetPointers.length===0){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){let o=this.kinetic_.getDistance(),n=this.kinetic_.getAngle(),c=i.getCenterInternal(),A=e.getPixelFromCoordinateInternal(c),L=e.getCoordinateFromPixelInternal([A[0]-o*Math.cos(n),A[1]-o*Math.sin(n)]);i.animateInternal({center:i.getConstrainedCenter(L),duration:500,easing:F7})}return this.panning_&&(this.panning_=!1,i.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(t){if(this.targetPointers.length>0&&this.condition_(t)){let i=t.map.getView();return this.lastCentroid=null,i.getAnimating()&&i.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}},$f=sB;var lB=class extends Ro{constructor(t){t=t||{},super({stopDown:xa}),this.condition_=t.condition?t.condition:WO,this.lastAngle_=void 0,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){if(!dm(t))return;let e=t.map,i=e.getView();if(i.getConstraints().rotation===Ah)return;let o=e.getSize(),n=t.pixel,c=Math.atan2(o[1]/2-n[1],n[0]-o[0]/2);if(this.lastAngle_!==void 0){let A=c-this.lastAngle_;i.adjustRotationInternal(-A)}this.lastAngle_=c}handleUpEvent(t){return dm(t)?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){return dm(t)&&cm(t)&&this.condition_(t)?(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0):!1}},tN=lB;var cB=class extends Ju{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){let t=this.startPixel_,e=this.endPixel_,i="px",o=this.element_.style;o.left=Math.min(t[0],e[0])+i,o.top=Math.min(t[1],e[1])+i,o.width=Math.abs(e[0]-t[0])+i,o.height=Math.abs(e[1]-t[1])+i}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);let e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;let t=this.startPixel_,e=this.endPixel_,o=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);o[4]=o[0].slice(),this.geometry_?this.geometry_.setCoordinates([o]):this.geometry_=new g4([o])}getGeometry(){return this.geometry_}},eN=cB;var Bh={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend",BOXCANCEL:"boxcancel"},mc=class extends Ai{constructor(t,e,i){super(t),this.coordinate=e,this.mapBrowserEvent=i}},uB=class extends Ro{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new eN(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??cm,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,i){let o=i[0]-e[0],n=i[1]-e[1];return o*o+n*n>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new mc(Bh.BOXDRAG,t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;let e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new mc(e?Bh.BOXEND:Bh.BOXCANCEL,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return this.condition_(t)?(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new mc(Bh.BOXSTART,t.coordinate,t)),!0):!1}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new mc(Bh.BOXCANCEL,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new mc(Bh.BOXCANCEL,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}},rN=uB;var hB=class extends rN{constructor(t){t=t||{};let e=t.condition?t.condition:YO;super({condition:e,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=t.duration!==void 0?t.duration:200,this.out_=t.out!==void 0?t.out:!1}onBoxEnd(t){let i=this.getMap().getView(),o=this.getGeometry();if(this.out_){let n=i.rotatedExtentForGeometry(o),c=i.getResolutionForExtentInternal(n),A=i.getResolution()/c;o=o.clone(),o.scale(A*A)}i.fitInternal(o,{duration:this.duration_,easing:F7})}},iN=hB;var Ws={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};var dB=class extends Po{constructor(t){super(),t=t||{},this.defaultCondition_=function(e){return um(e)&&hm(e)},this.condition_=t.condition!==void 0?t.condition:this.defaultCondition_,this.duration_=t.duration!==void 0?t.duration:100,this.pixelDelta_=t.pixelDelta!==void 0?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Ke.KEYDOWN){let i=t.originalEvent,o=i.key;if(this.condition_(t)&&(o==Ws.DOWN||o==Ws.LEFT||o==Ws.RIGHT||o==Ws.UP)){let c=t.map.getView(),A=c.getResolution()*this.pixelDelta_,L=0,g=0;o==Ws.DOWN?g=-A:o==Ws.LEFT?L=-A:o==Ws.RIGHT?L=A:g=A;let v=[L,g];rh(v,c.getRotation()),qO(c,v,this.duration_),i.preventDefault(),e=!0}}return!e}},nN=dB;var AB=class extends Po{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(e){return!XO(e)&&hm(e)},this.delta_=t.delta?t.delta:1,this.duration_=t.duration!==void 0?t.duration:100}handleEvent(t){let e=!1;if(t.type==Ke.KEYDOWN||t.type==Ke.KEYPRESS){let i=t.originalEvent,o=i.key;if(this.condition_(t)&&(o==="+"||o==="-")){let n=t.map,c=o==="+"?this.delta_:-this.delta_,A=n.getView();bh(A,c,void 0,this.duration_),i.preventDefault(),e=!0}}return!e}},oN=AB;var L51=40,C51=300,fB=class extends Po{constructor(t){t=t||{},super(t),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=t.maxDelta!==void 0?t.maxDelta:1,this.duration_=t.duration!==void 0?t.duration:250,this.timeout_=t.timeout!==void 0?t.timeout:80,this.useAnchor_=t.useAnchor!==void 0?t.useAnchor:!0,this.constrainResolution_=t.constrainResolution!==void 0?t.constrainResolution:!1;let e=t.condition?t.condition:$O;this.condition_=t.onFocusOnly?Wf(lm,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;let t=this.getMap();if(!t)return;t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t)||t.type!==Ke.WHEEL)return!0;let i=t.map,o=t.originalEvent;o.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let n=o.deltaY;switch(o.deltaMode){case WheelEvent.DOM_DELTA_LINE:n*=L51;break;case WheelEvent.DOM_DELTA_PAGE:n*=C51;break;default:}if(n===0)return!1;this.lastDelta_=n;let c=Date.now();this.startTime_===void 0&&(this.startTime_=c),(!this.mode_||c-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(n)<4?"trackpad":"wheel");let A=i.getView();if(this.mode_==="trackpad"&&!(A.getConstrainResolution()||this.constrainResolution_))return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(A.getAnimating()&&A.cancelAnimations(),A.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),A.adjustZoom(-n/this.deltaPerZoom_,this.lastAnchor_?i.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=c,!1;this.totalDelta_+=n;let L=Math.max(this.timeout_-(c-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,i),L),!1}handleWheelZoom_(t){let e=t.getView();e.getAnimating()&&e.cancelAnimations();let i=-O0(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),bh(e,i,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}},Sh=fB;var pB=class extends Ro{constructor(t){t=t||{};let e=t;e.stopDown||(e.stopDown=xa),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=t.threshold!==void 0?t.threshold:.3,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){let e=0,i=this.targetPointers[0],o=this.targetPointers[1],n=Math.atan2(o.clientY-i.clientY,o.clientX-i.clientX);if(this.lastAngle_!==void 0){let L=n-this.lastAngle_;this.rotationDelta_+=L,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=L}this.lastAngle_=n;let c=t.map,A=c.getView();A.getConstraints().rotation!==Ah&&(this.anchor_=c.getCoordinateFromPixelInternal(c.getEventPixel(Mh(this.targetPointers))),this.rotating_&&(c.render(),A.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return this.targetPointers.length<2?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){if(this.targetPointers.length>=2){let e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}},aN=pB;var LB=class extends Ro{constructor(t){t=t||{};let e=t;e.stopDown||(e.stopDown=xa),super(e),this.anchor_=null,this.duration_=t.duration!==void 0?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1,i=this.targetPointers[0],o=this.targetPointers[1],n=i.clientX-o.clientX,c=i.clientY-o.clientY,A=Math.sqrt(n*n+c*c);this.lastDistance_!==void 0&&(e=this.lastDistance_/A),this.lastDistance_=A;let L=t.map,g=L.getView();e!=1&&(this.lastScaleDelta_=e),this.anchor_=L.getCoordinateFromPixelInternal(L.getEventPixel(Mh(this.targetPointers))),L.render(),g.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){let i=t.map.getView(),o=this.lastScaleDelta_>1?1:-1;return i.endInteraction(this.duration_,o),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){let e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}},sN=LB;function lN(r){r=r||{};let t=new U8,e=new OO(-.005,.05,100);return(r.altShiftDragRotate===void 0||r.altShiftDragRotate)&&t.push(new tN),(r.doubleClickZoom===void 0||r.doubleClickZoom)&&t.push(new KO({delta:r.zoomDelta,duration:r.zoomDuration})),(r.dragPan===void 0||r.dragPan)&&t.push(new $f({onFocusOnly:r.onFocusOnly,kinetic:e})),(r.pinchRotate===void 0||r.pinchRotate)&&t.push(new aN),(r.pinchZoom===void 0||r.pinchZoom)&&t.push(new sN({duration:r.zoomDuration})),(r.keyboard===void 0||r.keyboard)&&(t.push(new nN),t.push(new oN({delta:r.zoomDelta,duration:r.zoomDuration}))),(r.mouseWheelZoom===void 0||r.mouseWheelZoom)&&t.push(new Sh({onFocusOnly:r.onFocusOnly,duration:r.zoomDuration})),(r.shiftDragZoom===void 0||r.shiftDragZoom)&&t.push(new iN({duration:r.zoomDuration})),t}var $s={ADDLAYER:"addlayer",REMOVELAYER:"removelayer"},b4=class extends Ai{constructor(t,e){super(t),this.layer=e}},CB={LAYERS:"layers"},gB=class r extends Dg{constructor(t){t=t||{};let e=Object.assign({},t);delete e.layers;let i=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(CB.LAYERS,this.handleLayersChanged_),i?Array.isArray(i)?i=new U8(i.slice(),{unique:!0}):jr(typeof i.getArray=="function","Expected `layers` to be an array or a `Collection`"):i=new U8(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(t0),this.layersListenerKeys_.length=0;let t=this.getLayers();this.layersListenerKeys_.push(j5(t,u8.ADD,this.handleLayersAdd_,this),j5(t,u8.REMOVE,this.handleLayersRemove_,this));for(let i in this.listenerKeys_)this.listenerKeys_[i].forEach(t0);yo(this.listenerKeys_);let e=t.getArray();for(let i=0,o=e.length;i<o;i++){let n=e[i];this.registerLayerListeners_(n),this.dispatchEvent(new b4($s.ADDLAYER,n))}this.changed()}registerLayerListeners_(t){let e=[j5(t,d4.PROPERTYCHANGE,this.handleLayerChange_,this),j5(t,Ke.CHANGE,this.handleLayerChange_,this)];t instanceof r&&e.push(j5(t,$s.ADDLAYER,this.handleLayerGroupAdd_,this),j5(t,$s.REMOVELAYER,this.handleLayerGroupRemove_,this)),this.listenerKeys_[or(t)]=e}handleLayerGroupAdd_(t){this.dispatchEvent(new b4($s.ADDLAYER,t.layer))}handleLayerGroupRemove_(t){this.dispatchEvent(new b4($s.REMOVELAYER,t.layer))}handleLayersAdd_(t){let e=t.element;this.registerLayerListeners_(e),this.dispatchEvent(new b4($s.ADDLAYER,e)),this.changed()}handleLayersRemove_(t){let e=t.element,i=or(e);this.listenerKeys_[i].forEach(t0),delete this.listenerKeys_[i],this.dispatchEvent(new b4($s.REMOVELAYER,e)),this.changed()}getLayers(){return this.get(CB.LAYERS)}setLayers(t){let e=this.getLayers();if(e){let i=e.getArray();for(let o=0,n=i.length;o<n;++o)this.dispatchEvent(new b4($s.REMOVELAYER,i[o]))}this.set(CB.LAYERS,t)}getLayersArray(t){return t=t!==void 0?t:[],this.getLayers().forEach(function(e){e.getLayersArray(t)}),t}getLayerStatesArray(t){let e=t!==void 0?t:[],i=e.length;this.getLayers().forEach(function(c){c.getLayerStatesArray(e)});let o=this.getLayerState(),n=o.zIndex;!t&&o.zIndex===void 0&&(n=0);for(let c=i,A=e.length;c<A;c++){let L=e[c];L.opacity*=o.opacity,L.visible=L.visible&&o.visible,L.maxResolution=Math.min(L.maxResolution,o.maxResolution),L.minResolution=Math.max(L.minResolution,o.minResolution),L.minZoom=Math.max(L.minZoom,o.minZoom),L.maxZoom=Math.min(L.maxZoom,o.maxZoom),o.extent!==void 0&&(L.extent!==void 0?L.extent=tg(L.extent,o.extent):L.extent=o.extent),L.zIndex===void 0&&(L.zIndex=n)}return e}getSourceState(){return"ready"}},Do=gB;var mB=class extends Ju{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){$e()}calculateMatrices2D(t){let e=t.viewState,i=t.coordinateToPixelTransform,o=t.pixelToCoordinateTransform;c8(i,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),Cg(o,i)}forEachFeatureAtCoordinate(t,e,i,o,n,c,A,L){let g,v=e.viewState;function S(r1,L1,w1,S1){return n.call(c,L1,r1?w1:null,S1)}let I=v.projection,B=lg(t.slice(),I),R=[[0,0]];if(I.canWrapX()&&o){let r1=I.getExtent(),L1=C6(r1);R.push([-L1,0],[L1,0])}let H=e.layerStatesArray,V=H.length,G=[],e1=[];for(let r1=0;r1<R.length;r1++)for(let L1=V-1;L1>=0;--L1){let w1=H[L1],S1=w1.layer;if(S1.hasRenderer()&&dc(w1,v)&&A.call(L,S1)){let y1=S1.getRenderer(),C1=S1.getSource();if(y1&&C1){let H1=C1.getWrapX()?B:t,c1=S.bind(null,w1.managed);e1[0]=H1[0]+R[r1][0],e1[1]=H1[1]+R[r1][1],g=y1.forEachFeatureAtCoordinate(e1,e,i,c1,G)}if(g)return g}}if(G.length===0)return;let i1=1/G.length;return G.forEach((r1,L1)=>r1.distanceSq+=L1*i1),G.sort((r1,L1)=>r1.distanceSq-L1.distanceSq),G.some(r1=>g=r1.callback(r1.feature,r1.layer,r1.geometry)),g}hasFeatureAtCoordinate(t,e,i,o,n,c){return this.forEachFeatureAtCoordinate(t,e,i,o,_a,this,n,c)!==void 0}getMap(){return this.map_}renderFrame(t){$e()}scheduleExpireIconCache(t){m9.canExpireCache()&&t.postRenderFunctions.push(g51)}};function g51(r,t){m9.expire()}var cN=mB;var vB=class extends cN{constructor(t){super(t),this.fontChangeListenerKey_=j5(pc,d4.PROPERTYCHANGE,t.redrawText,t),this.element_=xn?Og():document.createElement("div");let e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=wo+" ol-layers";let i=t.getViewport();i&&i.insertBefore(this.element_,i.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){let i=this.getMap();if(i.hasListener(t)){let o=new Jg(t,void 0,e);i.dispatchEvent(o)}}disposeInternal(){t0(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t){this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1);return}this.calculateMatrices2D(t),this.dispatchRenderEvent(Z8.PRECOMPOSE,t);let e=t.layerStatesArray.sort((g,v)=>g.zIndex-v.zIndex);e.some(g=>g.layer instanceof am&&g.layer.getDeclutter())&&(t.declutter={});let o=t.viewState;this.children_.length=0;let n=[],c=null;for(let g=0,v=e.length;g<v;++g){let S=e[g];t.layerIndex=g;let I=S.layer,B=I.getSourceState();if(!dc(S,o)||B!="ready"&&B!="undefined"){I.unrender();continue}let R=I.render(t,c);R&&(R!==c&&(this.children_.push(R),c=R),n.push(S))}this.declutter(t,n),Qk(this.element_,this.children_);let L=this.getMap().getTargetElement();if(y4(L)){let g=L.getContext("2d");for(let v of this.children_){let S=v.firstElementChild||v,I=v.style.backgroundColor;if(I&&(!y4(S)||S.width>0)&&(g.fillStyle=I,g.fillRect(0,0,L.width,L.height)),y4(S)&&S.width>0){let B=v.style.opacity||S.style.opacity;g.globalAlpha=B===""?1:Number(B);let R=S.style.transform;if(R)g.setTransform(...Lg(R));else{let H=parseFloat(S.style.width)/S.width,V=parseFloat(S.style.height)/S.height;g.setTransform(H,0,0,V,0,0)}g.drawImage(S,0,0)}}g.globalAlpha=1,g.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent(Z8.POSTCOMPOSE,t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let i=e.length-1;i>=0;--i){let o=e[i],n=o.layer;n.getDeclutter()&&n.renderDeclutter(t,o)}e.forEach(i=>i.layer.renderDeferred(t))}}},uN=vB;function hN(r){if(r instanceof P7){r.setMapInternal(null);return}r instanceof Do&&r.getLayers().forEach(hN)}function dN(r,t){if(r instanceof P7){r.setMapInternal(t);return}if(r instanceof Do){let e=r.getLayers().getArray();for(let i=0,o=e.length;i<o;++i)dN(e[i],t)}}var yB=class extends g6{constructor(t){super(),t=t||{},this.on,this.once,this.un;let e=m51(t);this.renderComplete_=!1,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=t.maxTilesLoading!==void 0?t.maxTilesLoading:16,this.pixelRatio_=t.pixelRatio!==void 0?t.pixelRatio:zg,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=U6(),this.pixelToCoordinateTransform_=U6(),this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,xn||(this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_)),this.mapBrowserEventHandler_=null,this.moveTolerance_=t.moveTolerance,this.keyboardEventTarget_=e.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,xn||(this.resizeObserver_=new ResizeObserver(()=>this.updateSize())),this.controls=e.controls||(xn?new U8:jO()),this.interactions=e.interactions||(xn?new U8:lN({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new UO(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Q8.LAYERGROUP,this.handleLayerGroupChanged_),this.addChangeListener(Q8.VIEW,this.handleViewChanged_),this.addChangeListener(Q8.SIZE,this.handleSizeChanged_),this.addChangeListener(Q8.TARGET,this.handleTargetChanged_),this.setProperties(e.values);let i=this;t.view&&!(t.view instanceof N8)&&t.view.then(function(o){i.setView(new N8(o))}),this.controls.addEventListener(u8.ADD,o=>{o.element.setMap(this)}),this.controls.addEventListener(u8.REMOVE,o=>{o.element.setMap(null)}),this.interactions.addEventListener(u8.ADD,o=>{o.element.setMap(this)}),this.interactions.addEventListener(u8.REMOVE,o=>{o.element.setMap(null)}),this.overlays_.addEventListener(u8.ADD,o=>{this.addOverlayInternal_(o.element)}),this.overlays_.addEventListener(u8.REMOVE,o=>{let n=o.element.getId();n!==void 0&&delete this.overlayIdIndex_[n.toString()],o.element.setMap(null)}),this.controls.forEach(o=>{o.setMap(this)}),this.interactions.forEach(o=>{o.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){dN(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){let e=t.getId();e!==void 0&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,i){if(!this.frameState_||!this.renderer_)return;let o=this.getCoordinateFromPixelInternal(t);i=i!==void 0?i:{};let n=i.hitTolerance!==void 0?i.hitTolerance:0,c=i.layerFilter!==void 0?i.layerFilter:_a,A=i.checkWrapped!==!1;return this.renderer_.forEachFeatureAtCoordinate(o,this.frameState_,n,A,e,null,c,null)}getFeaturesAtPixel(t,e){let i=[];return this.forEachFeatureAtPixel(t,function(o){i.push(o)},e),i}getAllLayers(){let t=[];function e(i){i.forEach(function(o){o instanceof Do?e(o.getLayers()):t.push(o)})}return e(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;let i=this.getCoordinateFromPixelInternal(t);e=e!==void 0?e:{};let o=e.layerFilter!==void 0?e.layerFilter:_a,n=e.hitTolerance!==void 0?e.hitTolerance:0,c=e.checkWrapped!==!1;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,n,c,o,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){let i=this.viewport_.getBoundingClientRect(),o=this.getSize(),n=i.width/o[0],c=i.height/o[1],A="changedTouches"in t?t.changedTouches[0]:t;return[(A.clientX-i.left)/n,(A.clientY-i.top)/c]}getTarget(){return this.get(Q8.TARGET)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return sf(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){let e=this.frameState_;return e?fi(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){let e=this.overlayIdIndex_[t.toString()];return e!==void 0?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(Q8.LAYERGROUP)}setLayers(t){let e=this.getLayerGroup();if(t instanceof U8){e.setLayers(t);return}let i=e.getLayers();i.clear(),i.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){let t=this.getLayerGroup().getLayerStatesArray();for(let e=0,i=t.length;e<i;++e){let o=t[e];if(!o.visible)continue;let n=o.layer.getRenderer();if(n&&!n.ready)return!0;let c=o.layer.getSource();if(c&&c.loading)return!0}return!1}getPixelFromCoordinate(t){let e=L4(t,this.getView().getProjection());return this.getPixelFromCoordinateInternal(e)}getPixelFromCoordinateInternal(t){let e=this.frameState_;return e?fi(e.coordinateToPixelTransform,t.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(Q8.SIZE)}getView(){return this.get(Q8.VIEW)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){let t=this.getTargetElement();return t?t.ownerDocument:document}getTilePriority(t,e,i,o){return QO(this.frameState_,t,e,i,o)}handleBrowserEvent(t,e){e=e||t.type;let i=new Fo(e,this,t);this.handleMapBrowserEvent(i)}handleMapBrowserEvent(t){if(!this.frameState_)return;let e=t.originalEvent,i=e.type;if(i===qf.POINTERDOWN||i===Ke.WHEEL||i===Ke.KEYDOWN){let o=this.getOwnerDocument(),n=this.viewport_.getRootNode?this.viewport_.getRootNode():o,c=e.target,A=n instanceof ShadowRoot?n.host===c?n.host.ownerDocument:n:n===o?o.documentElement:n;if(this.overlayContainerStopEvent_.contains(c)||!A.contains(c))return}if(t.frameState=this.frameState_,this.dispatchEvent(t)!==!1){let o=this.getInteractions().getArray().slice();for(let n=o.length-1;n>=0;n--){let c=o[n];if(c.getMap()!==this||!c.getActive()||!this.getTargetElement())continue;if(!c.handleEvent(t)||t.propagationStopped)break}}}handlePostRender(){let t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let o=this.maxTilesLoading_,n=o;if(t){let c=t.viewHints;if(c[Qi.ANIMATING]||c[Qi.INTERACTING]){let A=Date.now()-t.time>8;o=A?0:8,n=A?0:2}}e.getTilesLoading()<o&&(e.reprioritize(),e.loadMoreTiles(o,n))}t&&this.renderer_&&!t.animate&&(this.renderComplete_?(this.hasListener(Z8.RENDERCOMPLETE)&&this.renderer_.dispatchRenderEvent(Z8.RENDERCOMPLETE,t),this.loaded_===!1&&(this.loaded_=!0,this.dispatchEvent(new Ks(xo.LOADEND,this,t)))):this.loaded_===!0&&(this.loaded_=!1,this.dispatchEvent(new Ks(xo.LOADSTART,this,t))));let i=this.postRenderFunctions_;if(t)for(let o=0,n=i.length;o<n;++o)i[o](this,t);i.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){if(this.mapBrowserEventHandler_){for(let i=0,o=this.targetChangeHandlerKeys_.length;i<o;++i)t0(this.targetChangeHandlerKeys_[i]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(Ke.CONTEXTMENU,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(Ke.WHEEL,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,this.viewport_.remove()}if(this.targetElement_&&!y4(this.targetElement_)){this.resizeObserver_?.unobserve(this.targetElement_);let i=this.targetElement_.getRootNode();i instanceof ShadowRoot&&this.resizeObserver_.unobserve(i.host),this.setSize(void 0)}let t=this.getTarget(),e=typeof t=="string"?document.getElementById(t):t;if(this.targetElement_=e,!e)this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0);else{if(y4(e)||e.appendChild(this.viewport_),this.renderer_||(this.renderer_=new uN(this)),!y4(e)){this.mapBrowserEventHandler_=new NO(this,this.moveTolerance_);for(let o in A3)this.mapBrowserEventHandler_.addEventListener(A3[o],this.handleMapBrowserEvent.bind(this));this.viewport_.addEventListener(Ke.CONTEXTMENU,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(Ke.WHEEL,this.boundHandleBrowserEvent_,kg?{passive:!1}:!1);let i;if(this.keyboardEventTarget_)i=this.keyboardEventTarget_;else{let o=e.getRootNode();i=o instanceof ShadowRoot?o.host:e}if(this.targetChangeHandlerKeys_=[j5(i,Ke.KEYDOWN,this.handleBrowserEvent,this),j5(i,Ke.KEYPRESS,this.handleBrowserEvent,this)],e instanceof HTMLElement){let o=e.getRootNode();o instanceof ShadowRoot&&this.resizeObserver_.observe(o.host),this.resizeObserver_?.observe(e)}}this.updateSize()}}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(t0(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(t0(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);let t=this.getView();t&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=j5(t,d4.PROPERTYCHANGE,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=j5(t,Ke.CHANGE,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(t0),this.layerGroupPropertyListenerKeys_=null);let t=this.getLayerGroup();t&&(this.handleLayerAdd_(new b4("addlayer",t)),this.layerGroupPropertyListenerKeys_=[j5(t,d4.PROPERTYCHANGE,this.render,this),j5(t,Ke.CHANGE,this.render,this),j5(t,"addlayer",this.handleLayerAdd_,this),j5(t,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){if(!this.frameState_)return;let t=this.frameState_.layerStatesArray;for(let e=0,i=t.length;e<i;++e){let o=t[e].layer;o.hasRenderer()&&o.getRenderer().handleFontsChanged()}}render(){this.renderer_&&this.animationDelayKey_===void 0&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}removeControl(t){return this.getControls().remove(t)}removeInteraction(t){return this.getInteractions().remove(t)}removeLayer(t){return this.getLayerGroup().getLayers().remove(t)}handleLayerRemove_(t){hN(t.layer)}removeOverlay(t){return this.getOverlays().remove(t)}renderFrame_(t){let e=this.getSize(),i=this.getView(),o=this.frameState_,n=null;if(e!==void 0&&cM(e)&&i&&i.isDef()){let c=i.getHints(this.frameState_?this.frameState_.viewHints:void 0),A=i.getState();if(n={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutter:null,extent:of(A.center,A.resolution,A.rotation,e),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:e,tileQueue:this.tileQueue_,time:t,usedTiles:{},viewState:A,viewHints:c,wantedTiles:{},mapId:or(this),renderTargets:{}},A.nextCenter&&A.nextResolution){let L=isNaN(A.nextRotation)?A.rotation:A.nextRotation;n.nextExtent=of(A.nextCenter,A.nextResolution,L,e)}}this.frameState_=n,this.renderer_.renderFrame(n),n&&(n.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,n.postRenderFunctions),o&&(!this.previousExtent_||!ya(this.previousExtent_)&&!Xl(n.extent,this.previousExtent_))&&(this.dispatchEvent(new Ks(xo.MOVESTART,this,o)),this.previousExtent_=va(this.previousExtent_)),this.previousExtent_&&!n.viewHints[Qi.ANIMATING]&&!n.viewHints[Qi.INTERACTING]&&!Xl(n.extent,this.previousExtent_)&&(this.dispatchEvent(new Ks(xo.MOVEEND,this,n)),XC(n.extent,this.previousExtent_))),this.dispatchEvent(new Ks(xo.POSTRENDER,this,n)),this.renderComplete_=(this.hasListener(xo.LOADSTART)||this.hasListener(xo.LOADEND)||this.hasListener(Z8.RENDERCOMPLETE))&&!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){let e=this.getLayerGroup();e&&this.handleLayerRemove_(new b4("removelayer",e)),this.set(Q8.LAYERGROUP,t)}setSize(t){this.set(Q8.SIZE,t)}setTarget(t){this.set(Q8.TARGET,t)}setView(t){if(!t||t instanceof N8){this.set(Q8.VIEW,t);return}this.set(Q8.VIEW,new N8);let e=this;t.then(function(i){e.setView(new N8(i))})}updateSize(){let t=this.getTargetElement(),e;if(t){let o,n;if(y4(t))o=t.width,n=t.height;else{let c=getComputedStyle(t);o=t.offsetWidth-parseFloat(c.borderLeftWidth)-parseFloat(c.paddingLeft)-parseFloat(c.paddingRight)-parseFloat(c.borderRightWidth),n=t.offsetHeight-parseFloat(c.borderTopWidth)-parseFloat(c.paddingTop)-parseFloat(c.paddingBottom)-parseFloat(c.borderBottomWidth)}!isNaN(o)&&!isNaN(n)&&(e=[Math.max(0,o),Math.max(0,n)],!cM(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&og("No map visible because the map container's width or height are 0."))}let i=this.getSize();e&&(!i||!g9(e,i))&&(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){let e=this.getView();e&&e.setViewportSize(t)}};function m51(r){let t=null;r.keyboardEventTarget!==void 0&&(t=typeof r.keyboardEventTarget=="string"?document.getElementById(r.keyboardEventTarget):r.keyboardEventTarget);let e={},i=r.layers&&typeof r.layers.getLayers=="function"?r.layers:new Do({layers:r.layers});e[Q8.LAYERGROUP]=i,e[Q8.TARGET]=r.target,e[Q8.VIEW]=r.view instanceof N8?r.view:new N8;let o;r.controls!==void 0&&(Array.isArray(r.controls)?o=new U8(r.controls.slice()):(jr(typeof r.controls.getArray=="function","Expected `controls` to be an array or an `ol/Collection.js`"),o=r.controls));let n;r.interactions!==void 0&&(Array.isArray(r.interactions)?n=new U8(r.interactions.slice()):(jr(typeof r.interactions.getArray=="function","Expected `interactions` to be an array or an `ol/Collection.js`"),n=r.interactions));let c;return r.overlays!==void 0?Array.isArray(r.overlays)?c=new U8(r.overlays.slice()):(jr(typeof r.overlays.getArray=="function","Expected `overlays` to be an array or an `ol/Collection.js`"),c=r.overlays):c=new U8,{controls:o,interactions:n,keyboardEventTarget:t,overlays:c,values:e}}var vc=yB;var wB="http://www.w3.org/2001/XMLSchema-instance";function Eh(r,t){return Xf().createElementNS(r,t)}function M4(r,t){return AN(r,t,[]).join("")}function AN(r,t,e){if(r.nodeType==Node.CDATA_SECTION_NODE||r.nodeType==Node.TEXT_NODE)t?e.push(String(r.nodeValue).replace(/(\r\n|\r|\n)/g,"")):e.push(r.nodeValue);else{let i;for(i=r.firstChild;i;i=i.nextSibling)AN(i,t,e)}return e}function zo(r){return"documentElement"in r}function i7(r){return new DOMParser().parseFromString(r,"application/xml")}function bB(r,t){return(function(e,i){let o=r.call(t??this,e,i);if(o!==void 0){let n=i[i.length-1];W5(n,o)}})}function Na(r,t){return(function(e,i){let o=r.call(t??this,e,i);o!==void 0&&i[i.length-1].push(o)})}function Am(r,t){return(function(e,i){let o=r.call(t??this,e,i);o!==void 0&&(i[i.length-1]=o)})}function be(r,t,e){return(function(i,o){let n=r.call(e??this,i,o);if(n!==void 0){let c=o[o.length-1],A=t!==void 0?t:i.localName;c[A]=n}})}function s5(r,t){return(function(e,i,o){r.call(t??this,e,i,o),o[o.length-1].node.appendChild(e)})}function ko(r,t){return(function(e,i,o){let c=i[i.length-1].node,A=r;A===void 0&&(A=o);let L=t!==void 0?t:c.namespaceURI;return Eh(L,A)})}var n7=ko();function R7(r,t){let e=t.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=r[t[o]];return i}function Ve(r,t,e){e=e!==void 0?e:{};let i,o;for(i=0,o=r.length;i<o;++i)e[r[i]]=t;return e}function yc(r,t,e,i){let o;for(o=t.firstElementChild;o;o=o.nextElementSibling){let n=r[o.namespaceURI];if(n!==void 0){let c=n[o.localName];c!==void 0&&c.call(i,o,e)}}}function N0(r,t,e,i,o){return i.push(r),yc(t,e,i,o),i.pop()}function v51(r,t,e,i,o,n){let c=(o!==void 0?o:e).length,A,L;for(let g=0;g<c;++g)A=e[g],A!==void 0&&(L=t.call(n,A,i,o!==void 0?o[g]:void 0),L!==void 0&&r[L.namespaceURI][L.localName].call(n,L,A,i))}function v6(r,t,e,i,o,n,c){return o.push(r),v51(t,e,i,o,n,c),o.pop()}var _B;function fN(){return _B===void 0&&typeof XMLSerializer<"u"&&(_B=new XMLSerializer),_B}var xB;function Xf(){return xB===void 0&&typeof document<"u"&&(xB=document.implementation.createDocument("","",null)),xB}var MB=class extends Sg{constructor(){super(),this.xmlSerializer_=fN()}getType(){return"xml"}readFeature(t,e){if(!t)return null;if(typeof t=="string"){let i=i7(t);return this.readFeatureFromDocument(i,e)}return zo(t)?this.readFeatureFromDocument(t,e):this.readFeatureFromNode(t,e)}readFeatureFromDocument(t,e){let i=this.readFeaturesFromDocument(t,e);return i.length>0?i[0]:null}readFeatureFromNode(t,e){return null}readFeatures(t,e){if(!t)return[];if(typeof t=="string"){let i=i7(t);return this.readFeaturesFromDocument(i,e)}return zo(t)?this.readFeaturesFromDocument(t,e):this.readFeaturesFromNode(t,e)}readFeaturesFromDocument(t,e){let i=[];for(let o=t.firstChild;o;o=o.nextSibling)o.nodeType==Node.ELEMENT_NODE&&W5(i,this.readFeaturesFromNode(o,e));return i}readFeaturesFromNode(t,e){return $e()}readGeometry(t,e){if(!t)return null;if(typeof t=="string"){let i=i7(t);return this.readGeometryFromDocument(i,e)}return zo(t)?this.readGeometryFromDocument(t,e):this.readGeometryFromNode(t,e)}readGeometryFromDocument(t,e){return null}readGeometryFromNode(t,e){return null}readProjection(t){if(!t)return null;if(typeof t=="string"){let e=i7(t);return this.readProjectionFromDocument(e)}return zo(t)?this.readProjectionFromDocument(t):this.readProjectionFromNode(t)}readProjectionFromDocument(t){return this.dataProjection}readProjectionFromNode(t){return this.dataProjection}writeFeature(t,e){let i=this.writeFeatureNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeFeatureNode(t,e){return null}writeFeatures(t,e){let i=this.writeFeaturesNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeFeaturesNode(t,e){return null}writeGeometry(t,e){let i=this.writeGeometryNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeGeometryNode(t,e){return null}},pN=MB;function Za(r){let t=M4(r,!1);return y51(t)}function y51(r){let t=/^\s*(true|1)|(false|0)\s*$/.exec(r);if(t)return t[1]!==void 0||!1}function N3(r){let t=M4(r,!1);return _51(t)}function _51(r){let t=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(r);if(t)return parseFloat(t[1])}function H8(r){return M4(r,!1).trim()}function _c(r,t){o7(r,t?"1":"0")}function x51(r,t){r.appendChild(Xf().createCDATASection(t))}function Xs(r,t){let e=t.toPrecision();r.appendChild(Xf().createTextNode(e))}var w51=/^\s/,b51=/\s$/,M51=/(\n|\t|\r|<|&| {2})/;function o7(r,t){typeof t=="string"&&(w51.test(t)||b51.test(t)||M51.test(t))?t.split("]]>").forEach((e,i,o)=>{i<o.length-1&&(e+="]]"),i>0&&(e=">"+e),x51(r,e)}):r.appendChild(Xf().createTextNode(t))}var Ua=["http://www.google.com/kml/ext/2.2"],Oe=[null,"http://earth.google.com/kml/2.0","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.2","http://www.opengis.net/kml/2.2"],B51="http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd",LN={fraction:"fraction",pixels:"pixels",insetPixels:"pixels"},S51=Ve(Oe,{ExtendedData:zN,Region:kN,MultiGeometry:be(PN,"geometry"),LineString:be(IN,"geometry"),LinearRing:be(FN,"geometry"),Point:be(RN,"geometry"),Polygon:be(DN,"geometry"),Style:be(kB),StyleMap:ur1,address:be(H8),description:be(H8),name:be(H8),open:be(Za),phoneNumber:be(H8),styleUrl:be(MN),visibility:be(Za)},Ve(Ua,{MultiTrack:be(X51,"geometry"),Track:be(TN,"geometry")})),E51=Ve(Oe,{ExtendedData:zN,Region:kN,Link:_r1,address:be(H8),description:be(H8),name:be(H8),open:be(Za),phoneNumber:be(H8),visibility:be(Za)}),T51=Ve(Oe,{href:be(bN)}),I51=Ve(Oe,{Altitude:be(N3),Longitude:be(N3),Latitude:be(N3),Tilt:be(N3),AltitudeMode:be(H8),Heading:be(N3),Roll:be(N3)}),_N=Ve(Oe,{LatLonAltBox:pr1,Lod:Cr1}),F51=Ve(Oe,["Document","Placemark"]),P51=Ve(Oe,{Document:s5(Tr1),Placemark:s5(ZN)}),Th,pm=null;var EB,Yf,Jf,tp,Cm,TB=null;var DB,IB=null;var FB,xc=null;var CN=null;var PB=null;function gm(r){return 32/Math.min(r[0],r[1])}function R51(){Th=[255,255,255,1],pm=new r6({color:Th}),EB=[20,2],Yf="pixels",Jf="pixels",tp=[64,64],Cm="https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png",TB=new Bn({anchor:EB,anchorOrigin:"bottom-left",anchorXUnits:Yf,anchorYUnits:Jf,crossOrigin:"anonymous",rotation:0,scale:gm(tp),size:tp,src:Cm}),DB="NO_IMAGE",IB=new pi({color:Th,width:1}),FB=new pi({color:[51,51,51,1],width:2}),xc=new Ra({font:"bold 16px Helvetica",fill:pm,stroke:FB,scale:.8}),CN=new J0({fill:pm,image:TB,text:xc,stroke:IB,zIndex:0}),PB=[CN]}var fm;function D51(r){return r}var RB=class extends pN{constructor(t){super(),t=t||{},PB||R51(),this.dataProjection=e0("EPSG:4326"),this.defaultStyle_=t.defaultStyle?t.defaultStyle:PB,this.extractStyles_=t.extractStyles!==void 0?t.extractStyles:!0,this.writeStyles_=t.writeStyles!==void 0?t.writeStyles:!0,this.sharedStyles_={},this.showPointNames_=t.showPointNames!==void 0?t.showPointNames:!0,this.crossOrigin_=t.crossOrigin!==void 0?t.crossOrigin:"anonymous",this.iconUrlFunction_=t.iconUrlFunction?t.iconUrlFunction:D51,this.supportedMediaTypes=["application/vnd.google-earth.kml+xml"]}readDocumentOrFolder_(t,e){let i=Ve(Oe,{Document:bB(this.readDocumentOrFolder_,this),Folder:bB(this.readDocumentOrFolder_,this),Placemark:Na(this.readPlacemark_,this),Style:this.readSharedStyle_.bind(this),StyleMap:this.readSharedStyleMap_.bind(this)}),o=N0([],i,t,e,this);if(o)return o}readPlacemark_(t,e){let i=N0({geometry:null},S51,t,e,this);if(!i)return;let o=new T7,n=t.getAttribute("id");n!==null&&o.setId(n);let c=e[0],A=i.geometry;if(A&&hc(A,!1,c),o.setGeometry(A),delete i.geometry,this.extractStyles_){let L=i.Style,g=i.styleUrl,v=k51(L,g,this.defaultStyle_,this.sharedStyles_,this.showPointNames_);o.setStyle(v)}return delete i.Style,o.setProperties(i,!0),o}readSharedStyle_(t,e){let i=t.getAttribute("id");if(i!==null){let o=kB.call(this,t,e);if(o){let n,c=t.baseURI;(!c||c=="about:blank")&&(c=window.location.href),c?n=new URL("#"+i,c).href:n="#"+i,this.sharedStyles_[n]=o}}}readSharedStyleMap_(t,e){let i=t.getAttribute("id");if(i===null)return;let o=SN.call(this,t,e);if(!o)return;let n,c=t.baseURI;(!c||c=="about:blank")&&(c=window.location.href),c?n=new URL("#"+i,c).href:n="#"+i,this.sharedStyles_[n]=o}readFeatureFromNode(t,e){if(!Oe.includes(t.namespaceURI))return null;let i=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return i||null}readFeaturesFromNode(t,e){if(!Oe.includes(t.namespaceURI))return[];let i,o=t.localName;if(o=="Document"||o=="Folder")return i=this.readDocumentOrFolder_(t,[this.getReadOptions(t,e)]),i||[];if(o=="Placemark"){let n=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return n?[n]:[]}if(o=="kml"){i=[];for(let n=t.firstElementChild;n;n=n.nextElementSibling){let c=this.readFeaturesFromNode(n,e);c&&W5(i,c)}return i}return[]}readName(t){if(t){if(typeof t=="string"){let e=i7(t);return this.readNameFromDocument(e)}return zo(t)?this.readNameFromDocument(t):this.readNameFromNode(t)}}readNameFromDocument(t){for(let e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE){let i=this.readNameFromNode(e);if(i)return i}}readNameFromNode(t){for(let e=t.firstElementChild;e;e=e.nextElementSibling)if(Oe.includes(e.namespaceURI)&&e.localName=="name")return H8(e);for(let e=t.firstElementChild;e;e=e.nextElementSibling){let i=e.localName;if(Oe.includes(e.namespaceURI)&&(i=="Document"||i=="Folder"||i=="Placemark"||i=="kml")){let o=this.readNameFromNode(e);if(o)return o}}}readNetworkLinks(t){let e=[];if(typeof t=="string"){let i=i7(t);W5(e,this.readNetworkLinksFromDocument(i))}else zo(t)?W5(e,this.readNetworkLinksFromDocument(t)):W5(e,this.readNetworkLinksFromNode(t));return e}readNetworkLinksFromDocument(t){let e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType==Node.ELEMENT_NODE&&W5(e,this.readNetworkLinksFromNode(i));return e}readNetworkLinksFromNode(t){let e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(Oe.includes(i.namespaceURI)&&i.localName=="NetworkLink"){let o=N0({},E51,i,[]);e.push(o)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){let o=i.localName;Oe.includes(i.namespaceURI)&&(o=="Document"||o=="Folder"||o=="kml")&&W5(e,this.readNetworkLinksFromNode(i))}return e}readRegion(t){let e=[];if(typeof t=="string"){let i=i7(t);W5(e,this.readRegionFromDocument(i))}else zo(t)?W5(e,this.readRegionFromDocument(t)):W5(e,this.readRegionFromNode(t));return e}readRegionFromDocument(t){let e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType==Node.ELEMENT_NODE&&W5(e,this.readRegionFromNode(i));return e}readRegionFromNode(t){let e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(Oe.includes(i.namespaceURI)&&i.localName=="Region"){let o=N0({},_N,i,[]);e.push(o)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){let o=i.localName;Oe.includes(i.namespaceURI)&&(o=="Document"||o=="Folder"||o=="kml")&&W5(e,this.readRegionFromNode(i))}return e}readCamera(t){let e=[];if(typeof t=="string"){let i=i7(t);W5(e,this.readCameraFromDocument(i))}else zo(t)?W5(e,this.readCameraFromDocument(t)):W5(e,this.readCameraFromNode(t));return e}readCameraFromDocument(t){let e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType===Node.ELEMENT_NODE&&W5(e,this.readCameraFromNode(i));return e}readCameraFromNode(t){let e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(Oe.includes(i.namespaceURI)&&i.localName==="Camera"){let o=N0({},I51,i,[]);e.push(o)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){let o=i.localName;Oe.includes(i.namespaceURI)&&(o==="Document"||o==="Folder"||o==="Placemark"||o==="kml")&&W5(e,this.readCameraFromNode(i))}return e}writeFeaturesNode(t,e){e=this.adaptOptions(e);let i=Eh(Oe[4],"kml"),o="http://www.w3.org/2000/xmlns/";i.setAttributeNS(o,"xmlns:gx",Ua[0]),i.setAttributeNS(o,"xmlns:xsi",wB),i.setAttributeNS(wB,"xsi:schemaLocation",B51);let n={node:i},c={};t.length>1?c.Document=t:t.length==1&&(c.Placemark=t[0]);let A=F51[i.namespaceURI],L=R7(c,A);return v6(n,P51,n7,L,[e],A,this),i}};function z51(r,t){let e=[0,0],i="start",o=r.getImage();if(o){let A=o.getSize();if(A&&A.length==2){let L=o.getScaleArray(),g=o.getAnchor();e[0]=L[0]*(A[0]-g[0]),e[1]=L[1]*(A[1]/2-g[1]),i="left"}}let n=r.getText();return n?(n=n.clone(),n.setFont(n.getFont()||xc.getFont()),n.setScale(n.getScale()||xc.getScale()),n.setFill(n.getFill()||xc.getFill()),n.setStroke(n.getStroke()||FB)):n=xc.clone(),n.setText(t),n.setOffsetX(e[0]),n.setOffsetY(e[1]),n.setTextAlign(i),new J0({image:o,text:n})}function k51(r,t,e,i,o){return(function(n,c){let A=o,L="",g=[];if(A){let S=n.getGeometry();if(S)if(S instanceof Yn)g=S.getGeometriesArrayRecursive().filter(function(I){let B=I.getType();return B==="Point"||B==="MultiPoint"}),A=g.length>0;else{let I=S.getType();A=I==="Point"||I==="MultiPoint"}}A&&(L=n.get("name"),A=A&&!!L,A&&/&[^&]+;/.test(L)&&(fm||(fm=document.createElement("textarea")),fm.innerHTML=L,L=fm.value));let v=e;if(r?v=r:t&&(v=xN(t,e,i)),A){let S=z51(v[0],L);if(g.length>0){S.setGeometry(new Yn(g));let I=new J0({geometry:v[0].getGeometry(),image:null,fill:v[0].getFill(),stroke:v[0].getStroke(),text:null});return[S,I].concat(v.slice(1))}return S}return v})}function xN(r,t,e){return Array.isArray(r)?r:typeof r=="string"?xN(e[r],t,e):t}function mm(r){let t=M4(r,!1),e=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(t);if(e){let i=e[1];return[parseInt(i.substr(6,2),16),parseInt(i.substr(4,2),16),parseInt(i.substr(2,2),16),parseInt(i.substr(0,2),16)/255]}}function wN(r){let t=M4(r,!1),e=[];t=t.replace(/\s*,\s*/g,",");let i=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?),([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|,|$)(?:([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|$))?\s*/i,o;for(;o=i.exec(t);){let n=parseFloat(o[1]),c=parseFloat(o[2]),A=o[3]?parseFloat(o[3]):0;e.push(n,c,A),t=t.substr(o[0].length)}if(t==="")return e}function bN(r){let t=M4(r,!1).trim(),e=r.baseURI;return(!e||e=="about:blank")&&(e=window.location.href),e?new URL(t,e).href:t}function MN(r){let t=M4(r,!1).trim().replace(/^(?!.*#)/,"#"),e=r.baseURI;return(!e||e=="about:blank")&&(e=window.location.href),e?new URL(t,e).href:t}function O51(r){let t=r.getAttribute("xunits"),e=r.getAttribute("yunits"),i;return t!=="insetPixels"?e!=="insetPixels"?i="bottom-left":i="top-left":e!=="insetPixels"?i="bottom-right":i="top-right",{x:parseFloat(r.getAttribute("x")),xunits:LN[t],y:parseFloat(r.getAttribute("y")),yunits:LN[e],origin:i}}function BN(r){return N3(r)}var N51=Ve(Oe,{Pair:cr1});function SN(r,t){return N0(void 0,N51,r,t,this)}var Z51=Ve(Oe,{Icon:be(tr1),color:be(mm),heading:be(N3),hotSpot:be(O51),scale:be(BN)});function U51(r,t){let e=N0({},Z51,r,t);if(!e)return;let i=t[t.length-1],o="Icon"in e?e.Icon:{},n=!("Icon"in e)||Object.keys(o).length>0,c,A=o.href;A?c=A:n&&(c=Cm);let L,g,v,S="bottom-left",I=e.hotSpot;I?(L=[I.x,I.y],g=I.xunits,v=I.yunits,S=I.origin):/^https?:\/\/maps\.(?:google|gstatic)\.com\//.test(c)&&(c.includes("pushpin")?(L=EB,g=Yf,v=Jf):c.includes("arrow-reverse")?(L=[54,42],g=Yf,v=Jf):c.includes("paddle")&&(L=[32,1],g=Yf,v=Jf));let B,R=o.x,H=o.y;R!==void 0&&H!==void 0&&(B=[R,H]);let V,G=o.w,e1=o.h;G!==void 0&&e1!==void 0&&(V=[G,e1]);let i1,r1=e.heading;r1!==void 0&&(i1=D8(r1));let L1=e.scale,w1=e.color;if(n){c==Cm&&(V=tp);let S1=new Bn({anchor:L,anchorOrigin:S,anchorXUnits:g,anchorYUnits:v,crossOrigin:this.crossOrigin_,offset:B,offsetOrigin:"bottom-left",rotation:i1,scale:L1,size:V,src:this.iconUrlFunction_(c),color:w1}),y1=S1.getScaleArray()[0],C1=S1.getSize();if(C1===null){let H1=S1.getImageState();if(H1===Xe.IDLE||H1===Xe.LOADING){let c1=function(){let g1=S1.getImageState();if(!(g1===Xe.IDLE||g1===Xe.LOADING)){let Z1=S1.getSize();if(Z1&&Z1.length==2){let V1=gm(Z1);S1.setScale(y1*V1)}S1.unlistenImageChange(c1)}};S1.listenImageChange(c1),H1===Xe.IDLE&&S1.load()}}else if(C1.length==2){let H1=gm(C1);S1.setScale(y1*H1)}i.imageStyle=S1}else i.imageStyle=DB}var Q51=Ve(Oe,{color:be(mm),scale:be(BN)});function H51(r,t){let e=N0({},Q51,r,t);if(!e)return;let i=t[t.length-1],o=new Ra({fill:new r6({color:"color"in e?e.color:Th}),scale:e.scale});i.textStyle=o}var V51=Ve(Oe,{color:be(mm),width:be(N3)});function G51(r,t){let e=N0({},V51,r,t);if(!e)return;let i=t[t.length-1],o=new pi({color:"color"in e?e.color:Th,width:"width"in e?e.width:1});i.strokeStyle=o}var j51=Ve(Oe,{color:be(mm),fill:be(Za),outline:be(Za)});function q51(r,t){let e=N0({},j51,r,t);if(!e)return;let i=t[t.length-1],o=new r6({color:"color"in e?e.color:Th});i.fillStyle=o;let n=e.fill;n!==void 0&&(i.fill=n);let c=e.outline;c!==void 0&&(i.outline=c)}var K51=Ve(Oe,{coordinates:Am(wN)});function EN(r,t){return N0(null,K51,r,t)}function W51(r,t){let i=t[t.length-1].coordinates,o=M4(r,!1),c=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(o);if(c){let A=parseFloat(c[1]),L=parseFloat(c[2]),g=parseFloat(c[3]);i.push([A,L,g])}else i.push([])}var $51=Ve(Ua,{Track:Na(TN)});function X51(r,t){let e=N0([],$51,r,t);if(e)return new uh(e)}var Y51=Ve(Oe,{when:xr1},Ve(Ua,{coord:W51}));function TN(r,t){let e=N0({coordinates:[],whens:[]},Y51,r,t);if(!e)return;let i=[],o=e.coordinates,n=e.whens;for(let c=0,A=Math.min(o.length,n.length);c<A;++c)o[c].length==3&&i.push(o[c][0],o[c][1],o[c][2],n[c]);return new C4(i,"XYZM")}var J51=Ve(Oe,{href:be(bN)},Ve(Ua,{x:be(N3),y:be(N3),w:be(N3),h:be(N3)}));function tr1(r,t){let e=N0({},J51,r,t);return e||null}var er1=Ve(Oe,{coordinates:Am(wN)});function zB(r,t){return N0(null,er1,r,t)}var vm=Ve(Oe,{extrude:be(Za),tessellate:be(Za),altitudeMode:be(H8)});function IN(r,t){let e=N0({},vm,r,t),i=zB(r,t);if(i){let o=new C4(i,"XYZ");return o.setProperties(e,!0),o}}function FN(r,t){let e=N0({},vm,r,t),i=zB(r,t);if(i){let o=new g4(i,"XYZ",[i.length]);return o.setProperties(e,!0),o}}var rr1=Ve(Oe,{LineString:Na(IN),LinearRing:Na(FN),MultiGeometry:Na(PN),Point:Na(RN),Polygon:Na(DN)});function PN(r,t){let e=N0([],rr1,r,t);if(!e)return null;if(e.length===0)return new Yn(e);let i,o=!0,n=e[0].getType(),c;for(let A=1,L=e.length;A<L;++A)if(c=e[A],c.getType()!=n){o=!1;break}if(o){let A,L;if(n=="Point"){let g=e[0];A=g.getLayout(),L=g.getFlatCoordinates();for(let v=1,S=e.length;v<S;++v)c=e[v],W5(L,c.getFlatCoordinates());i=new _o(L,A),BB(i,e)}else if(n=="LineString")i=new uh(e),BB(i,e);else if(n=="Polygon")i=new vf(e),BB(i,e);else if(n=="GeometryCollection"||n.startsWith("Multi"))i=new Yn(e);else throw new Error("Unknown geometry type found")}else i=new Yn(e);return i}function RN(r,t){let e=N0({},vm,r,t),i=zB(r,t);if(i){let o=new k8(i,"XYZ");return o.setProperties(e,!0),o}}var ir1=Ve(Oe,{innerBoundaryIs:mr1,outerBoundaryIs:yr1});function DN(r,t){let e=N0({},vm,r,t),i=N0([null],ir1,r,t);if(i&&i[0]){let o=i[0],n=[o.length];for(let A=1,L=i.length;A<L;++A)W5(o,i[A]),n.push(o.length);let c=new g4(o,"XYZ",n);return c.setProperties(e,!0),c}}var nr1=Ve(Oe,{IconStyle:U51,LabelStyle:H51,LineStyle:G51,PolyStyle:q51});function kB(r,t){let e=N0({},nr1,r,t,this);if(!e)return null;let i="fillStyle"in e?e.fillStyle:pm,o=e.fill;o!==void 0&&!o&&(i=null);let n;"imageStyle"in e?e.imageStyle!=DB&&(n=e.imageStyle):n=TB;let c="textStyle"in e?e.textStyle:xc,A="strokeStyle"in e?e.strokeStyle:IB,L=e.outline;return L!==void 0&&!L?[new J0({geometry:function(g){let v=g.getGeometry(),S=v.getType();if(S==="GeometryCollection"){let I=v;return new Yn(I.getGeometriesArrayRecursive().filter(function(B){let R=B.getType();return R!=="Polygon"&&R!=="MultiPolygon"}))}if(S!=="Polygon"&&S!=="MultiPolygon")return v},fill:i,image:n,stroke:A,text:c,zIndex:void 0}),new J0({geometry:function(g){let v=g.getGeometry(),S=v.getType();if(S==="GeometryCollection"){let I=v;return new Yn(I.getGeometriesArrayRecursive().filter(function(B){let R=B.getType();return R==="Polygon"||R==="MultiPolygon"}))}if(S==="Polygon"||S==="MultiPolygon")return v},fill:i,stroke:null,zIndex:void 0})]:[new J0({fill:i,image:n,stroke:A,text:c,zIndex:void 0})]}function BB(r,t){let e=t.length,i=new Array(t.length),o=new Array(t.length),n=new Array(t.length),c,A,L;c=!1,A=!1,L=!1;for(let g=0;g<e;++g){let v=t[g];i[g]=v.get("extrude"),o[g]=v.get("tessellate"),n[g]=v.get("altitudeMode"),c=c||i[g]!==void 0,A=A||o[g]!==void 0,L=L||n[g]}c&&r.set("extrude",i),A&&r.set("tessellate",o),L&&r.set("altitudeMode",n)}var or1=Ve(Oe,{displayName:be(H8),value:be(H8)});function ar1(r,t){let e=r.getAttribute("name");yc(or1,r,t);let i=t[t.length-1];e&&i.displayName?i[e]={value:i.value,displayName:i.displayName,toString:function(){return i.value}}:e!==null?i[e]=i.value:i.displayName!==null&&(i[i.displayName]=i.value),delete i.value}var sr1=Ve(Oe,{Data:ar1,SchemaData:dr1});function zN(r,t){yc(sr1,r,t)}function kN(r,t){yc(_N,r,t)}var lr1=Ve(Oe,{Style:be(kB),key:be(H8),styleUrl:be(MN)});function cr1(r,t){let e=N0({},lr1,r,t,this);if(!e)return;let i=e.key;if(i&&i=="normal"){let o=e.styleUrl;o&&(t[t.length-1]=o);let n=e.Style;n&&(t[t.length-1]=n)}}function ur1(r,t){let e=SN.call(this,r,t);if(!e)return;let i=t[t.length-1];if(Array.isArray(e))i.Style=e;else if(typeof e=="string")i.styleUrl=e;else throw new Error("`styleMapValue` has an unknown type")}var hr1=Ve(Oe,{SimpleData:Ar1});function dr1(r,t){yc(hr1,r,t)}function Ar1(r,t){let e=r.getAttribute("name");if(e!==null){let i=H8(r),o=t[t.length-1];o[e]=i}}var fr1=Ve(Oe,{altitudeMode:be(H8),minAltitude:be(N3),maxAltitude:be(N3),north:be(N3),south:be(N3),east:be(N3),west:be(N3)});function pr1(r,t){let e=N0({},fr1,r,t);if(!e)return;let i=t[t.length-1],o=[parseFloat(e.west),parseFloat(e.south),parseFloat(e.east),parseFloat(e.north)];i.extent=o,i.altitudeMode=e.altitudeMode,i.minAltitude=parseFloat(e.minAltitude),i.maxAltitude=parseFloat(e.maxAltitude)}var Lr1=Ve(Oe,{minLodPixels:be(N3),maxLodPixels:be(N3),minFadeExtent:be(N3),maxFadeExtent:be(N3)});function Cr1(r,t){let e=N0({},Lr1,r,t);if(!e)return;let i=t[t.length-1];i.minLodPixels=parseFloat(e.minLodPixels),i.maxLodPixels=parseFloat(e.maxLodPixels),i.minFadeExtent=parseFloat(e.minFadeExtent),i.maxFadeExtent=parseFloat(e.maxFadeExtent)}var gr1=Ve(Oe,{LinearRing:Na(EN)});function mr1(r,t){let e=N0([],gr1,r,t);e.length>0&&t[t.length-1].push(...e)}var vr1=Ve(Oe,{LinearRing:Am(EN)});function yr1(r,t){let e=N0(void 0,vr1,r,t);if(e){let i=t[t.length-1];i[0]=e}}function _r1(r,t){yc(T51,r,t)}function xr1(r,t){let i=t[t.length-1].whens,o=M4(r,!1),n=Date.parse(o);i.push(isNaN(n)?0:n)}function ym(r,t){let e=t7(t),o=[(e.length==4?e[3]:1)*255,e[2],e[1],e[0]];for(let n=0;n<4;++n){let c=Math.floor(o[n]).toString(16);o[n]=c.length==1?"0"+c:c}o7(r,o.join(""))}function wr1(r,t,e){let i=e[e.length-1],o=i.layout,n=i.stride,c;if(o=="XY"||o=="XYM")c=2;else if(o=="XYZ"||o=="XYZM")c=3;else throw new Error("Invalid geometry layout");let A=t.length,L="";if(A>0){L+=t[0];for(let g=1;g<c;++g)L+=","+t[g];for(let g=n;g<A;g+=n){L+=" "+t[g];for(let v=1;v<c;++v)L+=","+t[g+v]}}o7(r,L)}var Lm=Ve(Oe,{Data:s5(br1),value:s5(Br1),displayName:s5(Mr1)});function br1(r,t,e){r.setAttribute("name",t.name);let i={node:r},o=t.value;typeof o=="object"?(o!==null&&o.displayName&&v6(i,Lm,n7,[o.displayName],e,["displayName"]),o!==null&&o.value&&v6(i,Lm,n7,[o.value],e,["value"])):v6(i,Lm,n7,[o],e,["value"])}function Mr1(r,t){o7(r,t)}function Br1(r,t){o7(r,t)}var Sr1=Ve(Oe,{Placemark:s5(ZN)}),Er1=function(r,t,e){let i=t[t.length-1].node;return Eh(i.namespaceURI,"Placemark")};function Tr1(r,t,e){v6({node:r},Sr1,Er1,t,e,void 0,this)}var Ir1=ko("Data");function Fr1(r,t,e){let i={node:r},o=t.names,n=t.values,c=o.length;for(let A=0;A<c;A++)v6(i,Lm,Ir1,[{name:o[A],value:n[A]}],e)}var gN=Ve(Oe,["href"],Ve(Ua,["x","y","w","h"])),mN=Ve(Oe,{href:s5(o7)},Ve(Ua,{x:s5(Xs),y:s5(Xs),w:s5(Xs),h:s5(Xs)})),Pr1=function(r,t,e){return Eh(Ua[0],"gx:"+e)};function Rr1(r,t,e){let i={node:r},o=e[e.length-1].node,n=gN[o.namespaceURI],c=R7(t,n);v6(i,mN,n7,c,e,n),n=gN[Ua[0]],c=R7(t,n),v6(i,mN,Pr1,c,e,n)}var Dr1=Ve(Oe,["scale","heading","Icon","color","hotSpot"]),zr1=Ve(Oe,{Icon:s5(Rr1),color:s5(ym),heading:s5(Xs),hotSpot:s5(c01),scale:s5(QN)});function kr1(r,t,e){let i={node:r},o={},n=t.getSrc(),c=t.getSize(),A=t.getImageSize(),L={href:n};if(c){L.w=c[0],L.h=c[1];let V=t.getAnchor(),G=t.getOrigin();if(G&&A&&G[0]!==0&&G[1]!==c[1]&&(L.x=G[0],L.y=A[1]-(G[1]+c[1])),V&&(V[0]!==c[0]/2||V[1]!==c[1]/2)){let e1={x:V[0],xunits:"pixels",y:c[1]-V[1],yunits:"pixels"};o.hotSpot=e1}}o.Icon=L;let g=t.getScaleArray()[0],v=c;if(v===null&&(v=tp),v.length==2){let V=gm(v);g=g/V}g!==1&&(o.scale=g);let S=t.getRotation();S!==0&&(o.heading=S);let I=t.getColor();I&&(o.color=I);let B=e[e.length-1].node,R=Dr1[B.namespaceURI],H=R7(o,R);v6(i,zr1,n7,H,e,R)}var Or1=Ve(Oe,["color","scale"]),Nr1=Ve(Oe,{color:s5(ym),scale:s5(QN)});function Zr1(r,t,e){let i={node:r},o={},n=t.getFill();n&&(o.color=n.getColor());let c=t.getScale();c&&c!==1&&(o.scale=c);let A=e[e.length-1].node,L=Or1[A.namespaceURI],g=R7(o,L);v6(i,Nr1,n7,g,e,L)}var Ur1=Ve(Oe,["color","width"]),Qr1=Ve(Oe,{color:s5(ym),width:s5(Xs)});function Hr1(r,t,e){let i={node:r},o={color:t.getColor(),width:Number(t.getWidth())||1},n=e[e.length-1].node,c=Ur1[n.namespaceURI],A=R7(o,c);v6(i,Qr1,n7,A,e,c)}var Vr1={Point:"Point",LineString:"LineString",LinearRing:"LinearRing",Polygon:"Polygon",MultiPoint:"MultiGeometry",MultiLineString:"MultiGeometry",MultiPolygon:"MultiGeometry",GeometryCollection:"MultiGeometry"},ON=function(r,t,e){if(r){let i=t[t.length-1].node;return Eh(i.namespaceURI,Vr1[r.getType()])}},Gr1=ko("Point"),jr1=ko("LineString"),qr1=ko("LinearRing"),Kr1=ko("Polygon"),Wr1=Ve(Oe,{LineString:s5(Ih),Point:s5(Ih),Polygon:s5(UN),GeometryCollection:s5(NN)});function NN(r,t,e){let i={node:r},o=t.getType(),n=[],c;if(o==="GeometryCollection")t.getGeometriesArrayRecursive().forEach(function(A){let L=A.getType();if(L==="MultiPoint")n=n.concat(A.getPoints());else if(L==="MultiLineString")n=n.concat(A.getLineStrings());else if(L==="MultiPolygon")n=n.concat(A.getPolygons());else if(L==="Point"||L==="LineString"||L==="Polygon")n.push(A);else throw new Error("Unknown geometry type")}),c=ON;else if(o==="MultiPoint")n=t.getPoints(),c=Gr1;else if(o==="MultiLineString")n=t.getLineStrings(),c=jr1;else if(o==="MultiPolygon")n=t.getPolygons(),c=Kr1;else throw new Error("Unknown geometry type");v6(i,Wr1,c,n,e)}var $r1=Ve(Oe,{LinearRing:s5(Ih)});function vN(r,t,e){v6({node:r},$r1,qr1,[t],e)}var SB=Ve(Oe,{ExtendedData:s5(Fr1),MultiGeometry:s5(NN),LineString:s5(Ih),LinearRing:s5(Ih),Point:s5(Ih),Polygon:s5(UN),Style:s5(l01),address:s5(o7),description:s5(o7),name:s5(o7),open:s5(_c),phoneNumber:s5(o7),styleUrl:s5(o7),visibility:s5(_c)}),Xr1=Ve(Oe,["name","open","visibility","address","phoneNumber","description","styleUrl","Style"]),Yr1=ko("ExtendedData");function ZN(r,t,e){let i={node:r};t.getId()&&r.setAttribute("id",t.getId());let o=t.getProperties(),n={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};n[t.getGeometryName()]=1;let c=Object.keys(o||{}).sort().filter(function(B){return!n[B]}),A=t.getStyleFunction();if(A){let B=A(t,0);if(B){let R=Array.isArray(B)?B:[B],H=R;if(t.getGeometry()&&(H=R.filter(function(V){let G=V.getGeometryFunction()(t);if(G){let e1=G.getType();return e1==="GeometryCollection"?G.getGeometriesArrayRecursive().filter(function(i1){let r1=i1.getType();return r1==="Point"||r1==="MultiPoint"}).length:e1==="Point"||e1==="MultiPoint"}})),this.writeStyles_){let V=R,G=R;t.getGeometry()&&(V=R.filter(function(e1){let i1=e1.getGeometryFunction()(t);if(i1){let r1=i1.getType();return r1==="GeometryCollection"?i1.getGeometriesArrayRecursive().filter(function(L1){let w1=L1.getType();return w1==="LineString"||w1==="MultiLineString"}).length:r1==="LineString"||r1==="MultiLineString"}}),G=R.filter(function(e1){let i1=e1.getGeometryFunction()(t);if(i1){let r1=i1.getType();return r1==="GeometryCollection"?i1.getGeometriesArrayRecursive().filter(function(L1){let w1=L1.getType();return w1==="Polygon"||w1==="MultiPolygon"}).length:r1==="Polygon"||r1==="MultiPolygon"}})),o.Style={pointStyles:H,lineStyles:V,polyStyles:G}}if(H.length&&o.name===void 0){let V=H[0].getText();V&&(o.name=V.getText())}}}let L=e[e.length-1].node,g=Xr1[L.namespaceURI],v=R7(o,g);if(v6(i,SB,n7,v,e,g),c.length>0){let B=R7(o,c);v6(i,SB,Yr1,[{names:c,values:B}],e)}let S=e[0],I=t.getGeometry();I&&(I=hc(I,!0,S)),v6(i,SB,ON,[I],e)}var Jr1=Ve(Oe,["extrude","tessellate","altitudeMode","coordinates"]),t01=Ve(Oe,{extrude:s5(_c),tessellate:s5(_c),altitudeMode:s5(o7),coordinates:s5(wr1)});function Ih(r,t,e){let i=t.getFlatCoordinates(),o={node:r};o.layout=t.getLayout(),o.stride=t.getStride();let n=t.getProperties();n.coordinates=i;let c=e[e.length-1].node,A=Jr1[c.namespaceURI],L=R7(n,A);v6(o,t01,n7,L,e,A)}var e01=Ve(Oe,["color","fill","outline"]),yN=Ve(Oe,{outerBoundaryIs:s5(vN),innerBoundaryIs:s5(vN)}),r01=ko("innerBoundaryIs"),i01=ko("outerBoundaryIs");function UN(r,t,e){let i=t.getLinearRings(),o=i.shift(),n={node:r};v6(n,yN,r01,i,e),v6(n,yN,i01,[o],e)}var n01=Ve(Oe,{color:s5(ym),fill:s5(_c),outline:s5(_c)});function o01(r,t,e){let i={node:r},o=t.getFill(),n=t.getStroke(),c={color:o?o.getColor():void 0,fill:o?void 0:!1,outline:n?void 0:!1},A=e[e.length-1].node,L=e01[A.namespaceURI],g=R7(c,L);v6(i,n01,n7,g,e,L)}function QN(r,t){Xs(r,Math.round(t*1e6)/1e6)}var a01=Ve(Oe,["IconStyle","LabelStyle","LineStyle","PolyStyle"]),s01=Ve(Oe,{IconStyle:s5(kr1),LabelStyle:s5(Zr1),LineStyle:s5(Hr1),PolyStyle:s5(o01)});function l01(r,t,e){let i={node:r},o={};if(t.pointStyles.length){let L=t.pointStyles[0].getText();L&&(o.LabelStyle=L);let g=t.pointStyles[0].getImage();g&&typeof g.getSrc=="function"&&(o.IconStyle=g)}if(t.lineStyles.length){let L=t.lineStyles[0].getStroke();L&&(o.LineStyle=L)}if(t.polyStyles.length){let L=t.polyStyles[0].getStroke();L&&!o.LineStyle&&(o.LineStyle=L),o.PolyStyle=t.polyStyles[0]}let n=e[e.length-1].node,c=a01[n.namespaceURI],A=R7(o,c);v6(i,s01,n7,A,e,c)}function c01(r,t){r.setAttribute("x",String(t.x)),r.setAttribute("y",String(t.y)),r.setAttribute("xunits",t.xunits),r.setAttribute("yunits",t.yunits)}var OB=RB;var jN=Jr(B4()),f3=()=>{};typeof window<"u"&&new URLSearchParams(window.location.search).get("deprecated")&&(f3=(0,jN.default)(r=>{console.warn(r)},1e3));var B01=(r,t)=>{(t||[]).forEach(e=>{e.set("parent",void 0)}),(r.get("children")||[]).forEach(e=>{e.set("parent",r)})},S01=(r,t)=>{t.properties&&(f3("Deprecated. Don't use properties options. Pass the values directly in options object."),r.setProperties(t.properties)),r.on("propertychange",e=>{if(e.key==="children"&&B01(e.target,e.oldValue),e.key==="map"){let i=e.target.get(e.key);i?(e.target.get("children")||[]).forEach(o=>{i.addLayer(o)}):e.oldValue&&(e.target.get("children")||[]).forEach(o=>{var n;(n=e.oldValue)===null||n===void 0||n.removeLayer(o)})}}),r.set("options",t),r.set("children",[...t.children||[]]),Object.defineProperties(r,{children:{get:()=>(f3("Layer.children is deprecated. Use the Layer.get('children') method instead."),r.get("children")||[]),set:e=>{f3("Layer.children is deprecated. Use the Layer.set('children', children) method instead."),r.set("children",e||[])}},copyrights:{get:()=>(f3("Layer.copyrights is deprecated. Get the attributions from the source object"),r.get("copyrights")),set:e=>{f3("Layer.copyrights is deprecated. Set the attributions to the source object.");let i=e&&!Array.isArray(e)?[e]:e;r.set("copyrights",i||[])}},disabled:{get(){return f3("Layer.disabled is deprecated. Use the Layer.get('disabled') method instead."),r.get("disabled")},set(e){f3("Layer.disabled is deprecated. Use the Layer.set('disabled', newValue) method instead."),r.set("disabled",e)}},group:{get(){return f3("Layer.group is deprecated. Use the Layer.get('group') method instead."),r.get("group")}},hitTolerance:{get(){return f3("Layer.hitTolerance is deprecated. Pass the hitTolerance when you request the features."),r.get("hitTolerance")||5},set(e){f3("Layer.hitTolerance is deprecated. Pass the hitTolerance when you request the features."),r.set("hitTolerance",e)}},key:{get(){return f3('Layer.key is deprecated. Use the Layer.get("key") method instead.'),r.get("key")||r.get("name")}},map:{get(){return f3('Layer.map is deprecated. Use the Layer.get("map") method instead.'),r.getMapInternal()}},name:{get(){return f3("Layer.name is deprecated. Use the Layer.get('name') method instead."),r.get("name")}},olLayer:{get(){return f3("Layer.olLayer is deprecated. mobility-toolbox-js/ol layers inherits now from ol/layer/Layer class. obj getter is only a redirect to the current 'this' object."),r},set(){f3("Layer.olLayer is deprecated. mobility-toolbox-js/ol layers inherits now from ol/layer/Layer class. obj setter has no effect.")}},olListenersKeys:{get(){return f3("Layer.olListenersKeys is deprecated. Use the Layer.olEventsKeys instead."),r.olEventsKeys||[]},set(e){f3("Layer.olListenersKeys is deprecated. Use the Layer.olEventsKeys instead."),r.olEventsKeys=e}},options:{get(){return f3('Layer.options is deprecated. Use the Layer.get("options") method instead.'),r.get("options")},set(e){return f3('Layer.options is deprecated. Use the Layer.set("options", newValue) method instead.'),r.set("options",e)}},parent:{get(){return f3("Layer.parent is deprecated. Use the Layer.get('parent') method instead."),r.get("parent")},set(e){f3("Layer.parent is deprecated. Use the Layer.set('parent', parent) method instead."),r.set("parent",e)}},properties:{get(){return f3("Layer.properties is deprecated. Use the Layer.getProperties() method instead."),r.getProperties()},set(e){f3("Layer.properties is deprecated. Use the Layer.setProperties(newValue) method instead."),r.setProperties(e)}},visible:{get(){return f3("Layer.visible is deprecated. Use the Layer.getVisible() method instead."),r.getVisible()},set(e){f3("Layer.visible is deprecated. Use the Layer.setVisible(newValue) method instead."),r.setVisible(e)}}})},Fh=S01;var WN=Jr(KN(),1);var E01="vectorTileFeature",HB={"EPSG:3857":new Y0({featureProjection:"EPSG:3857"})},Ys=class extends vh{translateZoom;constructor(t,e){super(t),this.translateZoom=e}getFeaturesAtCoordinate(t,e=5){let i=this.getMapLibrePixels(t,e);if(!i)return[];let o=this.getLayer().get("queryRenderedFeaturesOptions")||{};return this.getLayer().mapLibreMap?.queryRenderedFeatures(i,o).map(c=>this.toOlFeature(c))||[]}prepareFrame(){return!0}renderFrame(t){let e=this.getLayer(),{mapLibreMap:i}=e,o=e.getMapInternal();if(!e||!o||!i)return null;let n=i.getCanvas(),{viewState:c}=t;i.jumpTo({center:nc(c.center,c.projection),zoom:(this.translateZoom?this.translateZoom(c.zoom):c.zoom)-1,bearing:Ps(-c.rotation)});let A=e.getOpacity().toString();return n&&A!==n.style.opacity&&(n.style.opacity=A),n.isConnected?T01(n,t)||i.resize():o.render(),i.redraw(),i.getContainer()}getFeatures(t){let e=this.getLayer().getMapInternal()?.getCoordinateFromPixel(t);return Promise.resolve(this.getFeaturesAtCoordinate(e))}forEachFeatureAtCoordinate(t,e,i,o){let n=this.getFeaturesAtCoordinate(t,i);return n.forEach(c=>{let A=c.getGeometry();A instanceof Ui&&o(c,this.getLayer(),A)}),n?.[0]}getMapLibrePixels(t,e){if(!t)return;let i=this.getLayer().mapLibreMap?.project(nc(t));if(i?.x===void 0||i?.y===void 0)return;let o=[i.x,i.y];if(e){let[n,c]=o;o=[[n-e,c-e],[n+e,c+e]]}return o}toOlFeature(t){let o=this.getLayer().getMapInternal()?.getView()?.getProjection()?.getCode()||"EPSG:3857";HB[o]||(HB[o]=new Y0({featureProjection:o}));let n=HB[o].readFeature(t);return n&&n.set(E01,t,!0),n}};function T01(r,t){return r.width===Math.floor(t.size[0]*t.pixelRatio)&&r.height===Math.floor(t.size[1]*t.pixelRatio)}var I01=r=>{if(!r)return[];let{style:t}=r;if(!t)return[];let{sourceCaches:e}=t,i=[];return Object.values(e).forEach(o=>{if(o.used){let{attribution:n}=o.getSource();n&&(i=i.concat(n.replace(/©/g,"\xA9").split(/(<a.*?<\/a>)/)))}}),F01(i)},F01=r=>{let t=r.filter(o=>o!=null&&o.trim&&o.trim()),e=t.map(o=>o.toLowerCase());return[...new Set(e)].map(o=>t.find(n=>n.toLowerCase()===o))},ep=I01;var Ph=class extends P7{mapLibreMap;loaded=!1;olListenersKeys=[];constructor(t){super({source:new _4({attributions:()=>ep(this.mapLibreMap)}),...t})}disposeInternal(){N5(this.olListenersKeys),this.loaded=!1,this.mapLibreMap&&(this.mapLibreMap.triggerRepaint=()=>{},this.mapLibreMap.remove()),super.disposeInternal()}setMapInternal(t){super.setMapInternal(t),t?this.loadMapLibreMap():this.dispose()}loadMapLibreMap(){this.loaded=!1;let t=this.getMapInternal();if(t&&this.olListenersKeys.push(t.on("change:target",this.loadMapLibreMap.bind(this))),!t?.getTargetElement())return;if(!this.getVisible()){this.olListenersKeys.push(this.once("change:visible",this.loadMapLibreMap.bind(this)));return}let e=document.createElement("div");e.style.position="absolute",e.style.width="100%",e.style.height="100%";let i=this.get("mapLibreOptions");this.mapLibreMap=new WN.Map(Object.assign({},i,{container:e,attributionControl:!1,interactive:!1,trackResize:!1})),this.mapLibreMap.on("sourcedata",()=>{this.getSource()?.refresh()}),this.mapLibreMap.once("load",()=>{this.loaded=!0,this.dispatchEvent(new Ai("load"))})}createRenderer(){let t=this.get("translateZoom");return new Ys(this,t)}};var GB=Jr(B4());var rp=class extends Ys{constructor(t,e){super(t,e),this.ignoreNextRender=!1,this.tranaslateZoom2=e,this.setIsReady=this.setIsReady.bind(this),this.ignoreNextRender=!1}prepareFrame(){return!0}renderFrame(t){let e=this.getLayer(),{mapLibreMap:i}=e,o=e.getMapInternal();if(!e||!o||!i)return null;if(this.ready&&this.ignoreNextRender)return this.ignoreNextRender=!1,i?.getContainer();this.ready=!1,this.ignoreNextRender=!1,this.updateReadyState();let n=super.renderFrame(t);return i?.once("idle",this.setIsReady.bind(this)),n}setIsReady(){this.ready||(this.ready=!0,this.ignoreNextRender=!0,this.getLayer().changed())}updateReadyState(){var t,e,i,o;(e=(t=this.getLayer())===null||t===void 0?void 0:t.mapLibreMap)===null||e===void 0||e.off("idle",this.setIsReady.bind(this)),(o=(i=this.getLayer())===null||i===void 0?void 0:i.mapLibreMap)===null||o===void 0||o.once("idle",this.setIsReady.bind(this))}};var $N=(r,t,e,i)=>JA(`${r}/styles/${t}/style.json`,{[i]:e}).toString(),Rh=()=>{};typeof window<"u"&&new URLSearchParams(window.location.search).get("deprecated")&&(Rh=(0,GB.default)(r=>{console.warn(r)},1e3));var VB=class r extends Ph{set apiKey(t){this.set("apiKey",t)}get apiKey(){return this.get("apiKey")}set apiKeyName(t){this.set("apiKeyName",t)}get apiKeyName(){return this.get("apiKeyName")}get maplibreMap(){return Rh("MaplibreLayer.maplibreMap is deprecated. Use layer.mapLibreMap."),this.mapLibreMap}get mbMap(){return Rh("MaplibreLayer.mbMap is deprecated. Use layer.maplibreMap."),this.maplibreMap}get style(){return this.get("style")}set style(t){this.set("style",t)}get url(){return this.get("url")}set url(t){this.set("url",t)}constructor(t){var e,i;t.mapOptions&&!t.mapLibreOptions&&(Rh("MaplibreLayer.mapOptions is deprecated. Use mapLibreOptions instead."),t.mapLibreOptions=t.mapOptions);let o=Object.assign(Object.assign({apiKeyName:"key",style:"travic_v2",url:"https://maps.geops.io"},t||{}),{mapLibreOptions:Object.assign({fadeDuration:10},t.mapLibreOptions||{}),source:(e=t.source)!==null&&e!==void 0?e:new _4({attributions:()=>{var n,c;let A=(n=this.mapLibreMap)===null||n===void 0?void 0:n.style;return this.mapLibreMap&&A&&!A.sourceCaches&&(this.mapLibreMap.style.sourceCaches=(c=this.mapLibreMap.style.tileManagers)!==null&&c!==void 0?c:{}),ep(this.mapLibreMap)}})});!o.mapLibreOptions.style&&(!((i=o.url)===null||i===void 0)&&i.includes("style.json"))?o.mapLibreOptions.style=o.url:!o.mapLibreOptions.style&&o.apiKey&&o.style&&typeof o.style=="string"&&(o.mapLibreOptions.style=$N(o.url,o.style,o.apiKey,o.apiKeyName)),super(o),this.olEventsKeys=[],Fh(this,t),this.set("options",t)}attachToMap(){let t=(0,GB.default)(this.updateMaplibreMap.bind(this),150);t(),this.olEventsKeys.push(this.on("propertychange",e=>{/(url|style|apiKey|apiKeyName)/.test(e.key)&&t()}))}clone(t){return new r(Object.assign(Object.assign({},this.get("options")||{}),t||{}))}createRenderer(){return new rp(this)}detachFromMap(){N5(this.olEventsKeys)}disposeInternal(){let t=this.getSource();super.disposeInternal(),this.mapLibreMap=void 0,this.setSource(t)}getStyle(){var t;if(this.style&&typeof this.style=="object"&&this.style.name&&this.style.version)return this.style;if(this.url.includes("style.json"))return this.url;let e=this.get("options");return!((t=e?.mapLibreOptions)===null||t===void 0)&&t.style?e.mapLibreOptions.style:$N(this.url,this.style,this.apiKey,this.apiKeyName)}setMapInternal(t){t?(super.setMapInternal(t),this.attachToMap()):(this.detachFromMap(),super.setMapInternal(t))}updateMaplibreMap(){var t;try{(t=this.mapLibreMap)===null||t===void 0||t.setStyle(this.getStyle(),{diff:!1})}catch(e){console.error("Error while updating MaplibreMap",e)}}},jB=VB;var XN=Jr(B4());var qB={"EPSG:3857":new Y0({featureProjection:"EPSG:3857"})},ip=class extends vh{forEachFeatureAtCoordinate(t,e,i,o){let n=this.getFeaturesAtCoordinate(t,i);return n.forEach(c=>{o(c,this.layer_,c.getGeometry())}),n?.[0]}getFeatures(t){var e,i;let o=(i=(e=this.getLayer())===null||e===void 0?void 0:e.getMapInternal())===null||i===void 0?void 0:i.getCoordinateFromPixel(t);return Promise.resolve(this.getFeaturesAtCoordinate(o))}getFeaturesAtCoordinate(t,e=5){var i,o,n;if(!t)return[];let c=this.getLayer(),A=c.getMapInternal(),L=(i=c.maplibreLayer)===null||i===void 0?void 0:i.mapLibreMap,g=((n=(o=A?.getView())===null||o===void 0?void 0:o.getProjection())===null||n===void 0?void 0:n.getCode())||"EPSG:3857",v=[];if(qB[g]||(qB[g]=new Y0({featureProjection:g})),L?.isStyleLoaded()){let S=t&&L.project(nc(t));if(S?.x&&S?.y){let I=[S.x,S.y];if(e){let[R,H]=I;I=[[R-e,H-e],[R+e,H+e]]}let B=c.layers||[];c.layersFilter&&(B=L.getStyle().layers.filter(c.layersFilter)),c.queryRenderedLayersFilter&&(B=L.getStyle().layers.filter(c.queryRenderedLayersFilter)),v=L.queryRenderedFeatures(I,{layers:B.map(R=>R.id),validate:!1}).map(R=>{let H=qB[g].readFeature(R);return H&&H.set(WC,R),H})}}return v}prepareFrame(){return!0}renderFrame(t,e){return e??document.createElement("div")}};var j9=()=>{};typeof window<"u"&&new URLSearchParams(window.location.search).get("deprecated")&&(j9=(0,XN.default)((...r)=>{console.warn(...r)},1e3));var KB=class r extends P7{get beforeId(){return this.get("beforeId")}set beforeId(t){this.set("beforeId",t)}get layers(){return this.get("layers")||[]}set layers(t){this.set("layers",t)}get layersFilter(){return this.get("layersFilter")}set layersFilter(t){this.set("layersFilter",t)}get mapboxLayer(){return j9("Deprecated. Use maplibreLayer instead."),this.get("maplibreLayer")}get maplibreLayer(){return this.get("maplibreLayer")}set maplibreLayer(t){this.set("maplibreLayer",t)}get queryRenderedLayersFilter(){return this.get("queryRenderedLayersFilter")}set queryRenderedLayersFilter(t){this.set("queryRenderedLayersFilter",t)}get sources(){return this.get("sources")}set sources(t){this.set("sources",t)}get styleLayer(){return j9("Deprecated. Use MaplibreStyleLayer.layer instead."),this.layers[0]}set styleLayer(t){j9("MaplibreStyleLayer.styleLayer is deprecated. Use MaplibreStyleLayer.layer instead."),this.layers=[t]}get styleLayers(){return j9("MaplibreStyleLayer.styleLayers is deprecated. Use MaplibreStyleLayer.layers instead."),this.layers}set styleLayers(t){j9("MaplibreStyleLayer.styleLayers is deprecated. Use MaplibreStyleLayer.layers instead."),this.layers=t}constructor(t={mapLibreOptions:{style:{layers:[],sources:{},version:8}}}){t.mapboxLayer&&(j9("options.mapboxLayer is deprecated. Use options.maplibreLayer instead."),t.maplibreLayer=t.mapboxLayer,delete t.mapboxLayer),t.styleLayer&&(j9("options.styleLayer is deprecated. Use options.layers instead."),t.layers=[t.styleLayer],delete t.styleLayer),t.styleLayers&&(j9("options.styleLayers is deprecated. Use options.layers instead."),t.layers=t.styleLayers,delete t.styleLayers),t.styleLayersFilter&&(j9("options.styleLayersFilter is deprecated. Use options.layersFilter instead."),t.layersFilter=t.styleLayersFilter,delete t.styleLayersFilter),super(Object.assign({source:new _4({})},t)),this.highlightedFeatures=[],this.olEventsKeys=[],this.selectedFeatures=[],Fh(this,t),this.set("options",t),this.beforeId=t.beforeId,this.onLoad=this.onLoad.bind(this),!this.layersFilter&&this.layers&&(this.layersFilter=e=>!!this.layers.find(i=>e.id===i.id))}addLayers(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!Array.isArray(this.layers))return;let{mapLibreMap:e}=this.maplibreLayer;e&&(this.layers.forEach(i=>{let{id:o,source:n}=i;(!n||n&&e.getSource(n))&&o&&!e.getLayer(o)&&e.addLayer(i,this.beforeId)}),this.applyLayoutVisibility())}addSources(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!this.sources)return;let{mapLibreMap:e}=this.maplibreLayer;e&&Object.entries(this.sources).forEach(([i,o])=>{e.getSource(i)||e.addSource(i,o)})}applyLayoutVisibility(t){var e,i;if(!(!((i=(e=this.maplibreLayer)===null||e===void 0?void 0:e.mapLibreMap)===null||i===void 0)&&i.getStyle())||!this.layersFilter)return;let{mapLibreMap:o}=this.maplibreLayer,n=o.getStyle(),c=this.getVisible()?"visible":"none",A=n.layers||[];for(let L=0;L<A.length;L+=1){let g=A[L];if(this.layersFilter(g)){let{id:v}=g;o.getLayer(v)&&(o.setLayoutProperty(v,"visibility",c),(Number.isFinite(this.getMinZoom())||Number.isFinite(this.getMaxZoom()))&&o.setLayerZoomRange(v,Number.isFinite(this.getMinZoom())?this.getMinZoom()-1:0,Number.isFinite(this.getMaxZoom())?this.getMaxZoom()-1:24))}}}attachToMap(t){if(!this.getMapInternal()||!this.maplibreLayer)return;let{mapLibreMap:i}=this.maplibreLayer;i&&(i.loaded()?this.onLoad():i.isStyleLoaded()?this.onLoad():i.once("load",this.onLoad)),this.olEventsKeys.push(this.maplibreLayer.on("load",this.onLoad.bind(this)),this.on("change:visible",o=>{this.applyLayoutVisibility(o)}),this.on("propertychange",o=>{/(sources|layers|layersFilter|maplibreLayer|beforeId)/.test(o.key)&&(this.detachFromMap(),this.attachToMap(t))}),this.maplibreLayer.on("propertychange",o=>{if(o.key==="style"){let n=o.target.mapLibreMap;n?.once("styledata",()=>{n?.once("idle",()=>{this.onLoad()})})}}))}clone(t){return new r(Object.assign(Object.assign({},this.get("options")||{}),t||{}))}createRenderer(){return new ip(this)}detachFromMap(){var t;N5(this.olEventsKeys),!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap&&(this.maplibreLayer.mapLibreMap.off("load",this.onLoad),this.removeLayers(),this.removeSources())}highlight(t=[]){var e;j9("Deprecated. Use layer.setFeatureState(features, {hover: true}) instead.");let i=((e=this.highlightedFeatures)===null||e===void 0?void 0:e.filter(o=>!(this.selectedFeatures||[]).map(n=>n.getId()).includes(o.getId())))||[];this.setHoverState(i,!1),this.highlightedFeatures=t,this.setHoverState(this.highlightedFeatures,!0)}onLoad(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap))return;this.addSources(),this.addLayers();let{mapLibreMap:e}=this.maplibreLayer,i=e.getStyle();if(i?.layers&&this.layersFilter){let o=i.layers.filter(this.layersFilter);this.set("disabled",!o.length)}this.applyLayoutVisibility()}removeLayers(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!Array.isArray(this.layers))return;let{mapLibreMap:e}=this.maplibreLayer;e&&this.layers.forEach(i=>{let{id:o}=i;o&&e?.getLayer(o)&&e.removeLayer(o)})}removeSources(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!this.sources)return;let{mapLibreMap:e}=this.maplibreLayer;e&&Object.keys(this.sources).forEach(i=>{e.getSource(i)&&e.removeSource(i)})}select(t=[]){j9("Deprecated. Use layer.setFeatureState(features, {selected: true}) instead."),this.setHoverState(this.selectedFeatures||[],!1),this.selectedFeatures=t,this.setHoverState(this.selectedFeatures||[],!0)}setFeatureState(t,e){var i;if(!(!((i=this.maplibreLayer)===null||i===void 0)&&i.mapLibreMap)||!t.length)return;let o=this.maplibreLayer.mapLibreMap;t.forEach(n=>{let{source:c,sourceLayer:A}=n.get(WC)||{};if(!c&&!A||!n.getId()){n.getId()||j9("No feature's id found. To use the feature state functionnality, tiles must be generated with --generate-ids. See https://github.com/Maplibre/tippecanoe#adding-calculated-attributes.",n.getProperties());return}c?o.setFeatureState({id:n.getId(),source:c,sourceLayer:A},e):j9("No source found for the feature. To use the feature state functionnality, a source must be defined.",n.getProperties())})}setHoverState(t,e){j9(`Deprecated. Use layer.setFeatureState(features, {hover: ${e}}) instead.`),this.setFeatureState(t,{hover:e})}setMapInternal(t){t?(super.setMapInternal(t),this.attachToMap(t)):(this.detachFromMap(),super.setMapInternal(t))}},M3=KB;var eZ=Jr(YN());var P01=(r=1,t=[235,0,0,1])=>{if(r===1)return t;let e=document.createElement("canvas"),i=zg;e.width=20*i,e.height=20*i;let o={},n=e.getContext("2d");if(n){switch(n.strokeStyle=`rgba(${t.toString()})`,n.fillStyle=`rgba(${t.toString()})`,n.lineWidth=3,r){case 2:n.beginPath(),n.moveTo(0,e.height),n.lineTo(0,e.height-n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,0),n.lineTo(e.width,0),n.lineTo(e.width,n.lineWidth/2),n.lineTo(n.lineWidth/2,e.height),n.lineTo(n.lineWidth/2,e.height),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,0),n.lineTo(0,n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,e.height),n.lineTo(e.width,e.height),n.lineTo(e.width,e.height-n.lineWidth/2),n.lineTo(n.lineWidth/2,0),n.lineTo(0,0),n.fill(),n.closePath(),o=n.createPattern(e,"repeat"),o.canvas=e;break;case 3:n.beginPath(),n.moveTo(0,0),n.lineTo(0,n.lineWidth/2),n.lineTo(n.lineWidth/2,0),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,e.height),n.lineTo(0,e.height-n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,0),n.lineTo(e.width,0),n.lineTo(e.width,n.lineWidth/2),n.lineTo(n.lineWidth/2,e.height),n.lineTo(n.lineWidth/2,e.height),n.fill(),n.closePath(),n.beginPath(),n.moveTo(e.width,e.height),n.lineTo(e.width,e.height-n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,e.height),n.fill(),n.closePath(),o=n.createPattern(e,"repeat"),o.canvas=e;break;case 4:n.beginPath(),n.moveTo(e.width,0),n.lineTo(e.width,n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,0),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,0),n.lineTo(0,n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,e.height),n.lineTo(e.width,e.height),n.lineTo(e.width,e.height-n.lineWidth/2),n.lineTo(n.lineWidth/2,0),n.lineTo(0,0),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,e.height),n.lineTo(0,e.height-n.lineWidth/2),n.lineTo(n.lineWidth/2,e.height),n.fill(),n.closePath(),o=n.createPattern(e,"repeat"),o.canvas=e;break;default:}return r===0&&(o.empty=!0),o.id=r,o.color=t,o}},JN=P01;var WB="circleGeometryCenter",$B="circleGeometryRadius",_m=e0("EPSG:4326"),YB=new r6({color:[255,0,0,.7]}),rZ=new pi({color:[255,0,0,1],width:1.5}),R01=new V9({fill:YB,radius:7,stroke:rZ}),D01=new J0({fill:YB,image:R01,stroke:rZ,text:new Ra({fill:YB,font:"normal 16px Helvetica",stroke:new pi({color:[255,255,255,1],width:3})})}),z01=r=>32/Math.min(r[0],r[1]),k01=(r,t)=>{let e=r.getSize()||[48,48],i=r.getScale()||1,o=r.getAnchor()||[e[0]*i/2,e[1]*i/2],n=[i*(e[0]-o[0])+5,i*(e[1]/2-o[1])];t.setOffsetX(n[0]),t.setOffsetY(n[1]),t.setTextAlign("left")},XB=(r,t=!0,e=0)=>{let i=r?.getCoordinates();if(!i)return;let o=i.length-1;return t?i[e]:i[o-e]},tZ=(r,t,e,i=!0)=>{let o=r.getGeometry(),n=XB(o,i,1),c=XB(o,i);if(!n||!c)return new J0;let A=i?n[0]-c[0]:c[0]-n[0],L=i?n[1]-c[1]:c[1]-n[1],g=Math.atan2(L,A);return new J0({geometry:v=>{let S=v.getGeometry();return new k8(XB(S,i))},image:new Bn({color:e,rotateWithView:!0,rotation:-g,scale:t.scale,size:t.size,src:t.url}),zIndex:t.zIndex})},JB=class{constructor(){this.writeDocumentCamera=(t,e)=>{let i=i7(this.removeDocumentCamera(t));if(e){let o=i.createElement("Camera");Object.keys(e).forEach(c=>{let A=i.createElement(`${c.charAt(0).toUpperCase()+c.slice(1)}`);A.innerHTML=e[c],o.appendChild(A)}),i.getElementsByTagName("Document")[0].appendChild(o)}return new XMLSerializer().serializeToString(i)}}readFeatures(t,e,i=!1){let o=new OB().readFeatures(t,{featureProjection:e});return o.forEach(n=>{var c,A;let{[WB]:L,[$B]:g}=n?.getProperties()||{};if(n&&L&&g){let v=new tk(ac(JSON.parse(L),_m,e||_m),parseFloat(g));v.setProperties((A=(c=n?.getGeometry())===null||c===void 0?void 0:c.getProperties())!==null&&A!==void 0?A:{}),n.setGeometry(v)}this.sanitizeFeature(n,i)}),o}removeDocumentCamera(t){let e=i7(t),i=e.getElementsByTagName("Camera")[0];return i&&i.remove(),new XMLSerializer().serializeToString(e)}sanitizeFeature(t,e=!1){var i,o,n,c,A,L,g;let v=t.getGeometry(),S=t.getStyleFunction();t.get("maxZoom")&&t.set("maxZoom",parseFloat(t.get("maxZoom"))),t.get("minZoom")&&t.set("minZoom",parseFloat(t.get("minZoom")));let I=S?.(t,1),B=(i=Array.isArray(I)?I[0]:I)===null||i===void 0?void 0:i.clone(),R=B?.getStroke();if(t.get("lineCap")&&R?.setLineCap(t.get("lineCap")),t.get("lineJoin")&&R?.setLineJoin(t.get("lineJoin")),t.get("lineDash")&&R?.setLineDash((t?.get("lineDash")).split(",").map(H=>parseInt(H,10))),t.get("lineDashOffset")&&R?.setLineDashOffset(parseInt(t.get("lineDashOffset"),10)),t.get("miterLimit")&&R?.setMiterLimit(parseInt(t.get("miterLimit"),10)),R&&R.getWidth()===0&&(R=void 0),t.get("zIndex")&&B?.setZIndex(parseInt(t.get("zIndex"),10)),B&&(v instanceof k8||v instanceof _o)){let H=B.getImage(),V=null,G=B.getFill();if(t.get("name")&&B.getText()&&((o=B.getText())===null||o===void 0?void 0:o.getScale())!==0){H&&H.getScale()===0&&(H=new V9({fill:new r6({color:[0,0,0,0]}),radius:1,stroke:new pi({color:[0,0,0,0]})}));let e1=t.get("name");/\u200B/g.test(e1)&&(e1=e1.replace(/\u200B/g,""),t.set("name",e1));let i1=t.get("textFont")||"normal 16px Arial";if(e1.includes(`
|
|
838
|
+
`){Z1+=g1,g1=0,C1=S*i1+y1*I,++l2;continue}let D2=B[J1+1]||L.font;D2!==p2&&(o&&H1.push("font",D2),i&&c1.push("font",D2),p2=D2),g1=Math.max(g1,G[V1]);let M2=[L2,C1+y1*V[V1]+S*(V[V1]-e1[l2]),.5*(I+g1)+Z1];C1+=V[V1],o&&H1.push("strokeText",M2),i&&c1.push("fillText",M2),++V1}return Array.prototype.push.apply(r1,H1),Array.prototype.push.apply(r1,c1),this.labels_[n]=S1,S1}replayTextBackground_(t,e,i,o,n,c,A){t.beginPath(),t.moveTo.apply(t,e),t.lineTo.apply(t,i),t.lineTo.apply(t,o),t.lineTo.apply(t,n),t.lineTo.apply(t,e),c&&(this.alignAndScaleFill_=c[2],t.fillStyle=c[1],this.fill_(t)),A&&(this.setStrokeStyle_(t,A),t.stroke())}calculateImageOrLabelDimensions_(t,e,i,o,n,c,A,L,g,v,S,I,B,R,H,V){A*=I[0],L*=I[1];let G=i-A,e1=o-L,i1=n+g>t?t-g:n,r1=c+v>e?e-v:c,L1=R[3]+i1*I[0]+R[1],w1=R[0]+r1*I[1]+R[2],S1=G-R[3],y1=e1-R[0];(H||S!==0)&&(Hs[0]=S1,Vs[0]=S1,Hs[1]=y1,za[1]=y1,za[0]=S1+L1,ka[0]=za[0],ka[1]=y1+w1,Vs[1]=ka[1]);let C1;return S!==0?(C1=c8(U6(),i,o,1,1,S,-i,-o),fi(C1,Hs),fi(C1,za),fi(C1,ka),fi(C1,Vs),h4(Math.min(Hs[0],za[0],ka[0],Vs[0]),Math.min(Hs[1],za[1],ka[1],Vs[1]),Math.max(Hs[0],za[0],ka[0],Vs[0]),Math.max(Hs[1],za[1],ka[1],Vs[1]),mh)):h4(Math.min(S1,S1+L1),Math.min(y1,y1+w1),Math.max(S1,S1+L1),Math.max(y1,y1+w1),mh),B&&(G=Math.round(G),e1=Math.round(e1)),{drawImageX:G,drawImageY:e1,drawImageW:i1,drawImageH:r1,originX:g,originY:v,declutterBox:{minX:mh[0],minY:mh[1],maxX:mh[2],maxY:mh[3],value:V},canvasTransform:C1,scale:I}}replayImageOrLabel_(t,e,i,o,n,c,A){let L=!!(c||A),g=o.declutterBox,v=A?A[2]*o.scale[0]/2:0;return g.minX-v<=e[0]&&g.maxX+v>=0&&g.minY-v<=e[1]&&g.maxY+v>=0&&(L&&this.replayTextBackground_(t,Hs,za,ka,Vs,c,A),tO(t,o.canvasTransform,n,i,o.originX,o.originY,o.drawImageW,o.drawImageH,o.drawImageX,o.drawImageY,o.scale)),!0}fill_(t){let e=this.alignAndScaleFill_;if(e){let i=fi(this.renderedTransform_,[0,0]),o=512*this.pixelRatio;t.save(),t.translate(i[0]%o,i[1]%o),e!==1&&t.scale(e,e),t.rotate(this.viewRotation_)}t.fill(),e&&t.restore()}setStrokeStyle_(t,e){t.strokeStyle=e[1],e[1]&&(t.lineWidth=e[2],t.lineCap=e[3],t.lineJoin=e[4],t.miterLimit=e[5],t.lineDashOffset=e[7],t.setLineDash(e[6]))}drawLabelWithPointPlacement_(t,e,i,o){let n=this.textStates[e],c=this.createLabel(t,e,o,i),A=this.strokeStates[i],L=this.pixelRatio,g=bM(Array.isArray(t)?t[0]:t,n.textAlign||Qs),v=Nf[n.textBaseline||Lc],S=A&&A.lineWidth?A.lineWidth:0,I=c.width/L-2*n.scale[0],B=g*I+2*(.5-g)*S,R=v*c.height/L+2*(.5-v)*S;return{label:c,anchorX:B,anchorY:R}}execute_(t,e,i,o,n,c,A,L){let g=this.zIndexContext_,v;this.pixelCoordinates_&&g9(i,this.renderedTransform_)?v=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),v=yn(this.coordinates,0,this.coordinates.length,2,i,this.pixelCoordinates_),jz(this.renderedTransform_,i));let S=0,I=o.length,B=0,R,H,V,G,e1,i1,r1,L1,w1,S1,y1,C1,H1,c1=0,g1=0,Z1=this.coordinateCache_,V1=this.viewRotation_,l2=Math.round(Math.atan2(-i[1],i[0])*1e12)/1e12,p2={context:t,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:V1},J1=this.instructions!=o||this.overlaps?0:200,G1,L2,D2,M2;for(;S<I;){let f1=o[S];switch(f1[0]){case Ye.BEGIN_GEOMETRY:G1=f1[1],M2=f1[3],G1.getGeometry()?A!==void 0&&!t6(A,M2.getExtent())?S=f1[2]+1:++S:S=f1[2],g&&(g.zIndex=f1[4]);break;case Ye.BEGIN_PATH:c1>J1&&(this.fill_(t),c1=0),g1>J1&&(t.stroke(),g1=0),!c1&&!g1&&(t.beginPath(),e1=NaN,i1=NaN),++S;break;case Ye.CIRCLE:B=f1[1];let D1=v[B],t2=v[B+1],c2=v[B+2],o2=v[B+3],T2=c2-D1,F2=o2-t2,z2=Math.sqrt(T2*T2+F2*F2);t.moveTo(D1+z2,t2),t.arc(D1,t2,z2,0,2*Math.PI,!0),++S;break;case Ye.CLOSE_PATH:t.closePath(),++S;break;case Ye.CUSTOM:B=f1[1],R=f1[2];let U2=f1[3],X2=f1[4],tt=f1[5];p2.geometry=U2,p2.feature=G1,S in Z1||(Z1[S]=[]);let ft=Z1[S];tt?tt(v,B,R,2,ft):(ft[0]=v[B],ft[1]=v[B+1],ft.length=2),g&&(g.zIndex=f1[6]),X2(ft,p2),++S;break;case Ye.DRAW_IMAGE:B=f1[1],R=f1[2],w1=f1[3],H=f1[4],V=f1[5];let P1=f1[6],st=f1[7],Zt=f1[8],Ht=f1[9],$2=f1[10],It=f1[11],pt=f1[12],mt=f1[13];G=f1[14]||"declutter";let bt=f1[15];if(!w1&&f1.length>=20){S1=f1[19],y1=f1[20],C1=f1[21],H1=f1[22];let ut=this.drawLabelWithPointPlacement_(S1,y1,C1,H1);w1=ut.label,f1[3]=w1;let Pt=f1[23];H=(ut.anchorX-Pt)*this.pixelRatio,f1[4]=H;let ee=f1[24];V=(ut.anchorY-ee)*this.pixelRatio,f1[5]=V,P1=w1.height,f1[6]=P1,mt=w1.width,f1[13]=mt}let kt;f1.length>25&&(kt=f1[25]);let Xt,Gt,Jt;f1.length>17?(Xt=f1[16],Gt=f1[17],Jt=f1[18]):(Xt=Ia,Gt=null,Jt=null),$2&&l2?It+=V1:!$2&&!l2&&(It-=V1);let ne=0;for(;B<R;B+=2){if(kt&&kt[ne++]<mt/this.pixelRatio)continue;let ut=this.calculateImageOrLabelDimensions_(w1.width,w1.height,v[B],v[B+1],mt,P1,H,V,Zt,Ht,It,pt,n,Xt,!!Gt||!!Jt,G1),Pt=[t,e,w1,ut,st,Gt,Jt];if(L){let ee,He,_t;if(bt){let P2=R-B;if(!bt[P2]){bt[P2]={args:Pt,declutterMode:G};continue}let pe=bt[P2];ee=pe.args,He=pe.declutterMode,delete bt[P2],_t=CO(ee)}let ze,Ne;if(ee&&(He!=="declutter"||!L.collides(_t))&&(ze=!0),(G!=="declutter"||!L.collides(ut.declutterBox))&&(Ne=!0),He==="declutter"&&G==="declutter"){let P2=ze&&Ne;ze=P2,Ne=P2}ze&&(He!=="none"&&L.insert(_t),this.replayImageOrLabel_.apply(this,ee)),Ne&&(G!=="none"&&L.insert(ut.declutterBox),this.replayImageOrLabel_.apply(this,Pt))}else this.replayImageOrLabel_.apply(this,Pt)}++S;break;case Ye.DRAW_CHARS:let Ut=f1[1],jt=f1[2],St=f1[3],we=f1[4];H1=f1[5];let W1=f1[6],l1=f1[7],h1=f1[8];C1=f1[9];let _1=f1[10];S1=f1[11],Array.isArray(S1)&&(S1=S1.reduce(Se1,"")),y1=f1[12];let z1=[f1[13],f1[13]];G=f1[14]||"declutter";let X1=f1[15],s2=this.textStates[y1],E1=s2.font,d2=[s2.scale[0]*l1,s2.scale[1]*l1],C2;E1 in this.widths_?C2=this.widths_[E1]:(C2={},this.widths_[E1]=C2);let m2=ch(v,Ut,jt,2),I2=Math.abs(d2[0])*Wb(E1,S1,C2);if(we||I2<=m2){let ut=this.textStates[y1].textAlign,Pt=(m2-I2)*bM(S1,ut),ee=LO(v,Ut,jt,2,S1,Pt,W1,Math.abs(d2[0]),Wb,E1,C2,l2?0:this.viewRotation_,X1);t:if(ee){let He=[],_t,ze,Ne,P2,pe;if(C1)for(_t=0,ze=ee.length;_t<ze;++_t){pe=ee[_t],Ne=pe[4],P2=this.createLabel(Ne,y1,"",C1),H=pe[2]+(d2[0]<0?-_1:_1),V=St*P2.height+(.5-St)*2*_1*d2[1]/d2[0]-h1;let de=this.calculateImageOrLabelDimensions_(P2.width,P2.height,pe[0],pe[1],P2.width,P2.height,H,V,0,0,pe[3],z1,!1,Ia,!1,G1);if(L&&G==="declutter"&&L.collides(de.declutterBox))break t;He.push([t,e,P2,de,1,null,null])}if(H1)for(_t=0,ze=ee.length;_t<ze;++_t){pe=ee[_t],Ne=pe[4],P2=this.createLabel(Ne,y1,H1,""),H=pe[2],V=St*P2.height-h1;let de=this.calculateImageOrLabelDimensions_(P2.width,P2.height,pe[0],pe[1],P2.width,P2.height,H,V,0,0,pe[3],z1,!1,Ia,!1,G1);if(L&&G==="declutter"&&L.collides(de.declutterBox))break t;He.push([t,e,P2,de,1,null,null])}L&&G!=="none"&&L.load(He.map(CO));for(let de=0,Ue=He.length;de<Ue;++de)this.replayImageOrLabel_.apply(this,He[de])}}++S;break;case Ye.END_GEOMETRY:if(c!==void 0){G1=f1[1];let ut=c(G1,M2,G);if(ut)return ut}++S;break;case Ye.FILL:J1?c1++:this.fill_(t),++S;break;case Ye.MOVE_TO_LINE_TO:for(B=f1[1],R=f1[2],L2=v[B],D2=v[B+1],t.moveTo(L2,D2),e1=L2+.5|0,i1=D2+.5|0,B+=2;B<R;B+=2)L2=v[B],D2=v[B+1],r1=L2+.5|0,L1=D2+.5|0,(B==R-2||r1!==e1||L1!==i1)&&(t.lineTo(L2,D2),e1=r1,i1=L1);++S;break;case Ye.SET_FILL_STYLE:this.alignAndScaleFill_=f1[2],c1&&(this.fill_(t),c1=0,g1&&(t.stroke(),g1=0)),t.fillStyle=f1[1],++S;break;case Ye.SET_STROKE_STYLE:g1&&(t.stroke(),g1=0),this.setStrokeStyle_(t,f1),++S;break;case Ye.STROKE:J1?g1++:t.stroke(),++S;break;default:++S;break}}c1&&this.fill_(t),g1&&t.stroke()}execute(t,e,i,o,n,c){this.viewRotation_=o,this.execute_(t,e,i,this.instructions,n,void 0,void 0,c)}executeHitDetection(t,e,i,o,n){return this.viewRotation_=i,this.execute_(t,[t.canvas.width,t.canvas.height],e,this.hitDetectionInstructions,!0,o,n)}},mO=MM;var Gs=["Polygon","Circle","LineString","Image","Text","Default"],EM=["Image","Text"],vO=Gs.filter(r=>!EM.includes(r)),SM=class{constructor(t,e,i,o,n,c,A){this.maxExtent_=t,this.overlaps_=o,this.pixelRatio_=i,this.resolution_=e,this.renderBuffer_=c,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=U6(),this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(n,A)}clip(t,e){let i=this.getClipCoords(e);t.beginPath(),t.moveTo(i[0],i[1]),t.lineTo(i[2],i[3]),t.lineTo(i[4],i[5]),t.lineTo(i[6],i[7]),t.clip()}createExecutors_(t,e){for(let i in t){let o=this.executorsByZIndex_[i];o===void 0&&(o={},this.executorsByZIndex_[i]=o);let n=t[i];for(let c in n){let A=n[c];o[c]=new mO(this.resolution_,this.pixelRatio_,this.overlaps_,A,e)}}}hasExecutors(t){for(let e in this.executorsByZIndex_){let i=this.executorsByZIndex_[e];for(let o=0,n=t.length;o<n;++o)if(t[o]in i)return!0}return!1}forEachFeatureAtCoordinate(t,e,i,o,n,c){o=Math.round(o);let A=o*2+1,L=c8(this.hitDetectionTransform_,o+.5,o+.5,1/e,-1/e,-i,-t[0],-t[1]),g=!this.hitDetectionContext_;g&&(this.hitDetectionContext_=O3(A,A));let v=this.hitDetectionContext_;v.canvas.width!==A||v.canvas.height!==A?(v.canvas.width=A,v.canvas.height=A):g||v.clearRect(0,0,A,A);let S;this.renderBuffer_!==void 0&&(S=mn(),uz(S,t),Fs(S,e*(this.renderBuffer_+o),S));let I=Ee1(o),B;function R(L1,w1,S1){let y1=v.getImageData(0,0,A,A).data;for(let C1=0,H1=I.length;C1<H1;C1++)if(y1[I[C1]]>0){if(!c||S1==="none"||B!=="Image"&&B!=="Text"||c.includes(L1)){let c1=(I[C1]-3)/4,g1=o-c1%A,Z1=o-(c1/A|0),V1=n(L1,w1,g1*g1+Z1*Z1);if(V1)return V1}v.clearRect(0,0,A,A);break}}let H=Object.keys(this.executorsByZIndex_).map(Number);H.sort(A4);let V,G,e1,i1,r1;for(V=H.length-1;V>=0;--V){let L1=H[V].toString();for(e1=this.executorsByZIndex_[L1],G=Gs.length-1;G>=0;--G)if(B=Gs[G],i1=e1[B],i1!==void 0&&(r1=i1.executeHitDetection(v,L,i,R,S),r1))return r1}}getClipCoords(t){let e=this.maxExtent_;if(!e)return null;let i=e[0],o=e[1],n=e[2],c=e[3],A=[i,o,i,c,n,c,n,o];return yn(A,0,8,2,t,A),A}isEmpty(){return Xn(this.executorsByZIndex_)}execute(t,e,i,o,n,c,A){let L=Object.keys(this.executorsByZIndex_).map(Number);L.sort(A?Lz:A4),c=c||Gs;let g=Gs.length;for(let v=0,S=L.length;v<S;++v){let I=L[v].toString(),B=this.executorsByZIndex_[I];for(let R=0,H=c.length;R<H;++R){let V=c[R],G=B[V];if(G!==void 0){let e1=A===null?void 0:G.getZIndexContext(),i1=e1?e1.getContext():t,r1=this.maxExtent_&&V!=="Image"&&V!=="Text";if(r1&&(i1.save(),this.clip(i1,i)),!e1||V==="Text"||V==="Image"?G.execute(i1,e,i,o,n,A):e1.pushFunction(L1=>G.execute(L1,e,i,o,n,A)),r1&&i1.restore(),e1){e1.offset();let L1=L[v]*g+Gs.indexOf(V);this.deferredZIndexContexts_[L1]||(this.deferredZIndexContexts_[L1]=[]),this.deferredZIndexContexts_[L1].push(e1)}}}}this.renderedContext_=t}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){let t=this.deferredZIndexContexts_,e=Object.keys(t).map(Number).sort(A4);for(let i=0,o=e.length;i<o;++i)t[e[i]].forEach(n=>{n.draw(this.renderedContext_),n.clear()}),t[e[i]].length=0}},BM={};function Ee1(r){if(BM[r]!==void 0)return BM[r];let t=r*2+1,e=r*r,i=new Array(e+1);for(let n=0;n<=r;++n)for(let c=0;c<=r;++c){let A=n*n+c*c;if(A>e)break;let L=i[A];L||(L=[],i[A]=L),L.push(((r+n)*t+(r+c))*4+3),n>0&&L.push(((r-n)*t+(r+c))*4+3),c>0&&(L.push(((r+n)*t+(r-c))*4+3),n>0&&L.push(((r-n)*t+(r-c))*4+3))}let o=[];for(let n=0,c=i.length;n<c;++n)i[n]&&o.push(...i[n]);return BM[r]=o,o}var yO=SM;function _O(r,t,e,i){return e!==void 0&&i!==void 0?[e/r,i/t]:e!==void 0?e/r:i!==void 0?i/t:1}var TM=class r extends Wg{constructor(t){t=t||{};let e=t.opacity!==void 0?t.opacity:1,i=t.rotation!==void 0?t.rotation:0,o=t.scale!==void 0?t.scale:1,n=t.rotateWithView!==void 0?t.rotateWithView:!1;super({opacity:e,rotation:i,scale:o,displacement:t.displacement!==void 0?t.displacement:[0,0],rotateWithView:n,declutterMode:t.declutterMode}),this.anchor_=t.anchor!==void 0?t.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=t.anchorOrigin!==void 0?t.anchorOrigin:"top-left",this.anchorXUnits_=t.anchorXUnits!==void 0?t.anchorXUnits:"fraction",this.anchorYUnits_=t.anchorYUnits!==void 0?t.anchorYUnits:"fraction",this.crossOrigin_=t.crossOrigin!==void 0?t.crossOrigin:null;let c=t.img!==void 0?t.img:null,A=t.src;jr(!(A!==void 0&&c),"`image` and `src` cannot be provided at the same time"),(A===void 0||A.length===0)&&c&&(A=c.src||or(c)),jr(A!==void 0&&A.length>0,"A defined and non-empty `src` or `image` must be provided"),jr(!((t.width!==void 0||t.height!==void 0)&&t.scale!==void 0),"`width` or `height` cannot be provided together with `scale`");let L;if(t.src!==void 0?L=Xe.IDLE:c!==void 0&&("complete"in c?c.complete?L=c.src?Xe.LOADED:Xe.IDLE:L=Xe.LOADING:L=Xe.LOADED),this.color_=t.color!==void 0?t7(t.color):null,this.iconImage_=fc(c,A,this.crossOrigin_,L,this.color_),this.offset_=t.offset!==void 0?t.offset:[0,0],this.offsetOrigin_=t.offsetOrigin!==void 0?t.offsetOrigin:"top-left",this.origin_=null,this.size_=t.size!==void 0?t.size:null,this.initialOptions_,t.width!==void 0||t.height!==void 0){let g,v;if(t.size)[g,v]=t.size;else{let S=this.getImage(1);if(S.width&&S.height)g=S.width,v=S.height;else if(S instanceof HTMLImageElement){this.initialOptions_=t;let I=()=>{if(this.unlistenImageChange(I),!this.initialOptions_)return;let B=this.iconImage_.getSize();this.setScale(_O(B[0],B[1],t.width,t.height))};this.listenImageChange(I);return}}g!==void 0&&this.setScale(_O(g,v,t.width,t.height))}}clone(){let t,e,i;return this.initialOptions_?(e=this.initialOptions_.width,i=this.initialOptions_.height):(t=this.getScale(),t=Array.isArray(t)?t.slice():t),new r({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:t,width:e,height:i,size:this.size_!==null?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let t=this.normalizedAnchor_;if(!t){t=this.anchor_;let o=this.getSize();if(this.anchorXUnits_=="fraction"||this.anchorYUnits_=="fraction"){if(!o)return null;t=this.anchor_.slice(),this.anchorXUnits_=="fraction"&&(t[0]*=o[0]),this.anchorYUnits_=="fraction"&&(t[1]*=o[1])}if(this.anchorOrigin_!="top-left"){if(!o)return null;t===this.anchor_&&(t=this.anchor_.slice()),(this.anchorOrigin_=="top-right"||this.anchorOrigin_=="bottom-right")&&(t[0]=-t[0]+o[0]),(this.anchorOrigin_=="bottom-left"||this.anchorOrigin_=="bottom-right")&&(t[1]=-t[1]+o[1])}this.normalizedAnchor_=t}let e=this.getDisplacement(),i=this.getScaleArray();return[t[0]-e[0]/i[0],t[1]+e[1]/i[1]]}setAnchor(t){this.anchor_=t,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(t){return this.iconImage_.getImage(t)}getPixelRatio(t){return this.iconImage_.getPixelRatio(t)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let t=this.offset_;if(this.offsetOrigin_!="top-left"){let e=this.getSize(),i=this.iconImage_.getSize();if(!e||!i)return null;t=t.slice(),(this.offsetOrigin_=="top-right"||this.offsetOrigin_=="bottom-right")&&(t[0]=i[0]-e[0]-t[0]),(this.offsetOrigin_=="bottom-left"||this.offsetOrigin_=="bottom-right")&&(t[1]=i[1]-e[1]-t[1])}return this.origin_=t,this.origin_}getSrc(){return this.iconImage_.getSrc()}setSrc(t){this.iconImage_=fc(null,t,this.crossOrigin_,Xe.IDLE,this.color_)}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){let t=this.getScaleArray();if(this.size_)return this.size_[0]*t[0];if(this.iconImage_.getImageState()==Xe.LOADED)return this.iconImage_.getSize()[0]*t[0]}getHeight(){let t=this.getScaleArray();if(this.size_)return this.size_[1]*t[1];if(this.iconImage_.getImageState()==Xe.LOADED)return this.iconImage_.getSize()[1]*t[1]}setScale(t){delete this.initialOptions_,super.setScale(t)}listenImageChange(t){this.iconImage_.addEventListener(Ke.CHANGE,t)}load(){this.iconImage_.load()}unlistenImageChange(t){this.iconImage_.removeEventListener(Ke.CHANGE,t)}ready(){return this.iconImage_.ready()}},Bn=TM;var x4=.5;function xO(r,t,e,i,o,n,c,A,L){let g=L?Ds(o,L):o,v=r[0]*x4,S=r[1]*x4,I=O3(v,S);I.imageSmoothingEnabled=!1;let B=I.canvas,R=new eO(I,x4,o,null,c,A,L?Ba(sc(),L):null),H=e.length,V=Math.floor((256*256*256-1)/H),G={};for(let i1=1;i1<=H;++i1){let r1=e[i1-1],L1=r1.getStyleFunction()||i;if(!L1)continue;let w1=L1(r1,n);if(!w1)continue;Array.isArray(w1)||(w1=[w1]);let y1=(i1*V).toString(16).padStart(7,"#00000");for(let C1=0,H1=w1.length;C1<H1;++C1){let c1=w1[C1],g1=c1.getGeometryFunction()(r1);if(!g1||!t6(g,g1.getExtent()))continue;let Z1=c1.clone(),V1=Z1.getFill();V1&&V1.setColor(y1);let l2=Z1.getStroke();l2&&(l2.setColor(y1),l2.setLineDash(null)),Z1.setText(void 0);let p2=c1.getImage();if(p2){let D2=p2.getImageSize();if(!D2)continue;let M2=O3(D2[0],D2[1],void 0,{alpha:!1}),f1=M2.canvas;M2.fillStyle=y1,M2.fillRect(0,0,f1.width,f1.height),Z1.setImage(new Bn({img:f1,anchor:p2.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:p2.getOrigin(),opacity:1,size:p2.getSize(),scale:p2.getScale(),rotation:p2.getRotation(),rotateWithView:p2.getRotateWithView()}))}let J1=Z1.getZIndex()||0,G1=G[J1];G1||(G1={},G[J1]=G1,G1.Polygon=[],G1.Circle=[],G1.LineString=[],G1.Point=[]);let L2=g1.getType();if(L2==="GeometryCollection"){let D2=g1.getGeometriesArrayRecursive();for(let M2=0,f1=D2.length;M2<f1;++M2){let R1=D2[M2];G1[R1.getType().replace("Multi","")].push(R1,Z1)}}else G1[L2.replace("Multi","")].push(g1,Z1)}}let e1=Object.keys(G).map(Number).sort(A4);for(let i1=0,r1=e1.length;i1<r1;++i1){let L1=G[e1[i1]];for(let w1 in L1){let S1=L1[w1];for(let y1=0,C1=S1.length;y1<C1;y1+=2){R.setStyle(S1[y1+1]);for(let H1=0,c1=t.length;H1<c1;++H1)R.setTransform(t[H1]),R.drawGeometry(S1[y1])}}}return I.getImageData(0,0,B.width,B.height)}function wO(r,t,e){let i=[];if(e){let o=Math.floor(Math.round(r[0])*x4),n=Math.floor(Math.round(r[1])*x4),c=(O0(o,0,e.width-1)+O0(n,0,e.height-1)*e.width)*4,A=e.data[c],L=e.data[c+1],v=e.data[c+2]+256*(L+256*A),S=Math.floor((256*256*256-1)/t.length);v&&v%S===0&&i.push(t[v/S-1])}return i}var IM=class extends Ai{constructor(t,e,i,o){super(t),this.inversePixelTransform=e,this.frameState=i,this.context=o}},Jg=IM;var Te1=5,FM=class extends ig{constructor(t){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=t,this.staleKeys_=new Array,this.maxStaleKeys=Te1}getStaleKeys(){return this.staleKeys_}prependStaleKey(t){this.staleKeys_.unshift(t),this.staleKeys_.length>this.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(t){return $e()}getData(t){return null}prepareFrame(t){return $e()}renderFrame(t,e){return $e()}forEachFeatureAtCoordinate(t,e,i,o,n){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(t){let e=t.target;(e.getState()===Xe.LOADED||e.getState()===Xe.ERROR)&&this.renderIfReadyAndVisible()}loadImage(t){let e=t.getState();return e!=Xe.LOADED&&e!=Xe.ERROR&&t.addEventListener(Ke.CHANGE,this.boundHandleImageChange_),e==Xe.IDLE&&(t.load(),e=t.getState()),e==Xe.LOADED}renderIfReadyAndVisible(){let t=this.getLayer();t&&t.getVisible()&&t.getSourceState()==="ready"&&t.changed()}renderDeferred(t){}disposeInternal(){delete this.layer_,super.disposeInternal()}},vh=FM;var RM=[],yh=null;function Ie1(){yh=O3(1,1,void 0,{willReadFrequently:!0})}var PM=class extends vh{constructor(t){super(t),this.container=null,this.renderedResolution,this.tempTransform=U6(),this.pixelTransform=U6(),this.inversePixelTransform=U6(),this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(t,e,i){yh||Ie1(),yh.clearRect(0,0,1,1);let o;try{yh.drawImage(t,e,i,1,1,0,0,1,1),o=yh.getImageData(0,0,1,1).data}catch{return yh=null,null}return o}getBackground(t){let i=this.getLayer().getBackground();return typeof i=="function"&&(i=i(t.viewState.resolution)),i||void 0}useContainer(t,e,i){let o=this.getLayer().getClassName(),n,c;if(t&&t.className===o&&(!i||t&&t.style.backgroundColor&&g9(t7(t.style.backgroundColor),t7(i)))){let A=t.firstElementChild;y4(A)&&(c=A.getContext("2d"))}if(c&&Kz(c.canvas.style.transform,e)?(this.container=t,this.context=c,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){n=xn?Og():document.createElement("div"),n.className=o;let A=n.style;A.position="absolute",A.width="100%",A.height="100%",c=O3();let L=c.canvas;n.appendChild(L),A=L.style,A.position="absolute",A.left="0",A.transformOrigin="top left",this.container=n,this.context=c}!this.containerReused&&i&&!this.container.style.backgroundColor&&(this.container.style.backgroundColor=i)}clipUnrotated(t,e,i){let o=Jl(i),n=mw(i),c=Yl(i),A=gw(i);fi(e.coordinateToPixelTransform,o),fi(e.coordinateToPixelTransform,n),fi(e.coordinateToPixelTransform,c),fi(e.coordinateToPixelTransform,A);let L=this.inversePixelTransform;fi(L,o),fi(L,n),fi(L,c),fi(L,A),t.save(),t.beginPath(),t.moveTo(Math.round(o[0]),Math.round(o[1])),t.lineTo(Math.round(n[0]),Math.round(n[1])),t.lineTo(Math.round(c[0]),Math.round(c[1])),t.lineTo(Math.round(A[0]),Math.round(A[1])),t.clip()}prepareContainer(t,e){let i=t.extent,o=t.viewState.resolution,n=t.viewState.rotation,c=t.pixelRatio,A=Math.round(C6(i)/o*c),L=Math.round(H9(i)/o*c);c8(this.pixelTransform,t.size[0]/2,t.size[1]/2,1/c,1/c,n,-A/2,-L/2),Cg(this.inversePixelTransform,this.pixelTransform);let g=Nw(this.pixelTransform);if(this.useContainer(e,g,this.getBackground(t)),!this.containerReused){let v=this.context.canvas;v.width!=A||v.height!=L?(v.width=A,v.height=L):this.context.clearRect(0,0,A,L),g!==v.style.transform&&(v.style.transform=g)}}dispatchRenderEvent_(t,e,i){let o=this.getLayer();if(o.hasListener(t)){let n=new Jg(t,this.inversePixelTransform,i,e);o.dispatchEvent(n)}}preRender(t,e){this.frameState=e,!e.declutter&&this.dispatchRenderEvent_(Z8.PRERENDER,t,e)}postRender(t,e){e.declutter||this.dispatchRenderEvent_(Z8.POSTRENDER,t,e)}renderDeferredInternal(t){}getRenderContext(t){return t.declutter&&!this.deferredContext_&&(this.deferredContext_=new Yg),t.declutter?this.deferredContext_.getContext():this.context}renderDeferred(t){t.declutter&&(this.dispatchRenderEvent_(Z8.PRERENDER,this.context,t),t.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(t),this.dispatchRenderEvent_(Z8.POSTRENDER,this.context,t))}getRenderTransform(t,e,i,o,n,c,A){let L=n/2,g=c/2,v=o/e,S=-v,I=-t[0]+A,B=-t[1];return c8(this.tempTransform,L,g,v,S,-i,I,B)}disposeInternal(){delete this.frameState,super.disposeInternal()}},tm=PM;var DM=class extends tm{constructor(t){super(t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=mn(),this.wrappedRenderedExtent_=mn(),this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(t,e,i){let o=e.extent,n=e.viewState,c=n.center,A=n.resolution,L=n.projection,g=n.rotation,v=L.getExtent(),S=this.getLayer().getSource(),I=this.getLayer().getDeclutter(),B=e.pixelRatio,R=e.viewHints,H=!(R[Qi.ANIMATING]||R[Qi.INTERACTING]),V=this.context,G=Math.round(C6(o)/A*B),e1=Math.round(H9(o)/A*B),i1=S.getWrapX()&&L.canWrapX(),r1=i1?C6(v):null,L1=i1?Math.ceil((o[2]-v[2])/r1)+1:1,w1=i1?Math.floor((o[0]-v[0])/r1):0;do{let S1=this.getRenderTransform(c,A,0,B,G,e1,w1*r1);e.declutter&&(S1=S1.slice(0)),t.execute(V,[V.canvas.width,V.canvas.height],S1,g,H,i===void 0?Gs:i?EM:vO,i?I&&e.declutter[I]:void 0)}while(++w1<L1)}setDrawContext_(){this.opacity_!==1&&(this.targetContext_=this.context,this.context=O3(this.context.canvas.width,this.context.canvas.height,RM))}resetDrawContext_(){if(this.opacity_!==1&&this.targetContext_){let t=this.targetContext_.globalAlpha;this.targetContext_.globalAlpha=this.opacity_,this.targetContext_.drawImage(this.context.canvas,0,0),this.targetContext_.globalAlpha=t,Zk(this.context),RM.push(this.context.canvas),this.context=this.targetContext_,this.targetContext_=null}}renderDeclutter(t){!this.replayGroup_||!this.getLayer().getDeclutter()||this.renderWorlds(this.replayGroup_,t,!0)}renderDeferredInternal(t){this.replayGroup_&&(this.replayGroup_.renderDeferred(),this.clipped_&&this.context.restore(),this.resetDrawContext_())}renderFrame(t,e){let i=t.layerStatesArray[t.layerIndex];this.opacity_=i.opacity;let o=t.viewState;this.prepareContainer(t,e);let n=this.context,c=this.replayGroup_,A=c&&!c.isEmpty();if(!A&&!(this.getLayer().hasListener(Z8.PRERENDER)||this.getLayer().hasListener(Z8.POSTRENDER)))return this.container;this.setDrawContext_(),this.preRender(n,t);let L=o.projection;if(this.clipped_=!1,A&&i.extent&&this.clipping){let g=zs(i.extent,L);A=t6(g,t.extent),this.clipped_=A&&!$l(g,t.extent),this.clipped_&&this.clipUnrotated(n,t,g)}return A&&this.renderWorlds(c,t,this.getLayer().getDeclutter()?!1:void 0),!t.declutter&&this.clipped_&&n.restore(),this.postRender(n,t),this.renderedRotation_!==o.rotation&&(this.renderedRotation_=o.rotation,this.hitDetectionImageData_=null),t.declutter||this.resetDrawContext_(),this.container}getFeatures(t){return new Promise(e=>{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){let i=this.frameState.size.slice(),o=this.renderedCenter_,n=this.renderedResolution_,c=this.renderedRotation_,A=this.renderedProjection_,L=this.wrappedRenderedExtent_,g=this.getLayer(),v=[],S=i[0]*x4,I=i[1]*x4;v.push(this.getRenderTransform(o,n,c,x4,S,I,0).slice());let B=g.getSource(),R=A.getExtent();if(B.getWrapX()&&A.canWrapX()&&!$l(R,L)){let V=L[0],G=C6(R),e1=0,i1;for(;V<R[0];)--e1,i1=G*e1,v.push(this.getRenderTransform(o,n,c,x4,S,I,i1).slice()),V+=G;for(e1=0,V=L[2];V>R[2];)++e1,i1=G*e1,v.push(this.getRenderTransform(o,n,c,x4,S,I,i1).slice()),V-=G}let H=sc();this.hitDetectionImageData_=xO(i,v,this.renderedFeatures_,g.getStyleFunction(),L,n,c,Xb(n,this.renderedPixelRatio_),H?A:null)}e(wO(t,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(t,e,i,o,n){if(!this.replayGroup_)return;let c=e.viewState.resolution,A=e.viewState.rotation,L=this.getLayer(),g={},v=function(I,B,R){let H=or(I),V=g[H];if(V){if(V!==!0&&R<V.distanceSq){if(R===0)return g[H]=!0,n.splice(n.lastIndexOf(V),1),o(I,L,B);V.geometry=B,V.distanceSq=R}}else{if(R===0)return g[H]=!0,o(I,L,B);n.push(g[H]={feature:I,layer:L,geometry:B,distanceSq:R,callback:o})}},S=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(t,c,A,i,v,S?e.declutter?.[S]?.all().map(I=>I.value):null)}handleFontsChanged(){let t=this.getLayer();t.getVisible()&&this.replayGroup_&&t.changed()}handleStyleImageChange_(t){this.renderIfReadyAndVisible()}prepareFrame(t){let e=this.getLayer(),i=e.getSource();if(!i)return!1;let o=t.viewHints[Qi.ANIMATING],n=t.viewHints[Qi.INTERACTING],c=e.getUpdateWhileAnimating(),A=e.getUpdateWhileInteracting();if(this.ready&&!c&&o||!A&&n)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;let L=t.extent,g=t.viewState,v=g.projection,S=g.resolution,I=t.pixelRatio,B=e.getRevision(),R=e.getRenderBuffer(),H=e.getRenderOrder();H===void 0&&(H=iO);let V=g.center.slice(),G=Fs(L,R*S),e1=G.slice(),i1=[G.slice()],r1=v.getExtent();if(i.getWrapX()&&v.canWrapX()&&!$l(r1,t.extent)){let l2=C6(r1),p2=Math.max(C6(G)/2,l2);G[0]=r1[0]-p2,G[2]=r1[2]+p2,lg(V,v);let J1=vw(i1[0],v);J1[0]<r1[0]&&J1[2]<r1[2]?i1.push([J1[0]+l2,J1[1],J1[2]+l2,J1[3]]):J1[0]>r1[0]&&J1[2]>r1[2]&&i1.push([J1[0]-l2,J1[1],J1[2]-l2,J1[3]])}if(this.ready&&this.renderedResolution_==S&&this.renderedRevision_==B&&this.renderedRenderOrder_==H&&this.renderedFrameDeclutter_===!!t.declutter&&$l(this.wrappedRenderedExtent_,G))return g9(this.renderedExtent_,e1)||(this.hitDetectionImageData_=null,this.renderedExtent_=e1),this.renderedCenter_=V,this.replayGroupChanged=!1,!0;this.replayGroup_=null;let L1=new pO(Yb(S,I),G,S,I),w1=sc(),S1;if(w1){for(let l2=0,p2=i1.length;l2<p2;++l2){let J1=i1[l2],G1=Ds(J1,v);i.loadFeatures(G1,Gz(S,v),w1)}S1=Ba(w1,v)}else for(let l2=0,p2=i1.length;l2<p2;++l2)i.loadFeatures(i1[l2],S,v);let y1=Xb(S,I),C1=!0,H1=(l2,p2)=>{let J1,G1=l2.getStyleFunction()||e.getStyleFunction();if(G1&&(J1=G1(l2,S)),J1){let L2=this.renderFeature(l2,y1,J1,L1,S1,this.getLayer().getDeclutter(),p2);C1=C1&&!L2}},c1=Ds(G,v),g1=i.getFeaturesInExtent(c1);H&&g1.sort(H);for(let l2=0,p2=g1.length;l2<p2;++l2)H1(g1[l2],l2);this.renderedFeatures_=g1,this.ready=C1;let Z1=L1.finish(),V1=new yO(G,S,I,i.getOverlaps(),Z1,e.getRenderBuffer(),!!t.declutter);return this.renderedResolution_=S,this.renderedRevision_=B,this.renderedRenderOrder_=H,this.renderedFrameDeclutter_=!!t.declutter,this.renderedExtent_=e1,this.wrappedRenderedExtent_=G,this.renderedCenter_=V,this.renderedProjection_=v,this.renderedPixelRatio_=I,this.replayGroup_=V1,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(t,e,i,o,n,c,A){if(!i)return!1;let L=!1;if(Array.isArray(i))for(let g=0,v=i.length;g<v;++g)L=Jb(o,t,i[g],e,this.boundHandleStyleImageChange_,n,c,A)||L;else L=Jb(o,t,i,e,this.boundHandleStyleImageChange_,n,c,A);return L}},bO=DM;var gc=0;var v9=1<<gc++,_r=1<<gc++,G9=1<<gc++,r7=1<<gc++,qs=1<<gc++,Zf=1<<gc++,em=Math.pow(2,gc)-1,OM={[v9]:"boolean",[_r]:"number",[G9]:"string",[r7]:"color",[qs]:"number[]",[Zf]:"size"},Fe1=Object.keys(OM).map(Number).sort(A4);function Pe1(r){return r in OM}function Uf(r){let t=[];for(let e of Fe1)Qf(r,e)&&t.push(OM[e]);return t.length===0?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function Qf(r,t){return(r&t)===t}function js(r,t){return r===t}var m6=class{constructor(t,e){if(!Pe1(t))throw new Error(`literal expressions must have a specific type, got ${Uf(t)}`);this.type=t,this.value=e}},kM=class{constructor(t,e,...i){this.type=t,this.operator=e,this.args=i}};function NM(){return{variables:new Set,properties:new Set,featureId:!1,geometryType:!1,mapState:!1}}function h8(r,t,e){switch(typeof r){case"boolean":{if(js(t,G9))return new m6(G9,r?"true":"false");if(!Qf(t,v9))throw new Error(`got a boolean, but expected ${Uf(t)}`);return new m6(v9,r)}case"number":{if(js(t,Zf))return new m6(Zf,So(r));if(js(t,v9))return new m6(v9,!!r);if(js(t,G9))return new m6(G9,r.toString());if(!Qf(t,_r))throw new Error(`got a number, but expected ${Uf(t)}`);return new m6(_r,r)}case"string":{if(js(t,r7))return new m6(r7,Ef(r));if(js(t,v9))return new m6(v9,!!r);if(!Qf(t,G9))throw new Error(`got a string, but expected ${Uf(t)}`);return new m6(G9,r)}default:}if(!Array.isArray(r))throw new Error("expression must be an array or a primitive value");if(r.length===0)throw new Error("empty expression");if(typeof r[0]=="string")return Ve1(r,t,e);for(let i of r)if(typeof i!="number")throw new Error("expected an array of numbers");if(js(t,Zf)){if(r.length!==2)throw new Error(`expected an array of two values for a size, got ${r.length}`);return new m6(Zf,r)}if(js(t,r7)){if(r.length===3)return new m6(r7,[...r,1]);if(r.length===4)return new m6(r7,r);throw new Error(`expected an array of 3 or 4 values for a color, got ${r.length}`)}if(!Qf(t,qs))throw new Error(`got an array of numbers, but expected ${Uf(t)}`);return new m6(qs,r)}var vt={Get:"get",Var:"var",Concat:"concat",GeometryType:"geometry-type",LineMetric:"line-metric",Any:"any",All:"all",Not:"!",Resolution:"resolution",Zoom:"zoom",Time:"time",Equal:"==",NotEqual:"!=",GreaterThan:">",GreaterThanOrEqualTo:">=",LessThan:"<",LessThanOrEqualTo:"<=",Multiply:"*",Divide:"/",Add:"+",Subtract:"-",Clamp:"clamp",Mod:"%",Pow:"^",Abs:"abs",Floor:"floor",Ceil:"ceil",Round:"round",Sin:"sin",Cos:"cos",Atan:"atan",Sqrt:"sqrt",Match:"match",Between:"between",Interpolate:"interpolate",Coalesce:"coalesce",Case:"case",In:"in",Number:"number",String:"string",Array:"array",Color:"color",Id:"id",Band:"band",Palette:"palette",ToString:"to-string",Has:"has"},Re1={[vt.Get]:S5($5(1,1/0),MO),[vt.Var]:S5($5(1,1),De1),[vt.Has]:S5($5(1,1/0),MO),[vt.Id]:S5(ze1,_h),[vt.Concat]:S5($5(2,1/0),f0(G9)),[vt.GeometryType]:S5(ke1,_h),[vt.LineMetric]:S5(_h),[vt.Resolution]:S5(zM,_h),[vt.Zoom]:S5(zM,_h),[vt.Time]:S5(zM,_h),[vt.Any]:S5($5(2,1/0),f0(v9)),[vt.All]:S5($5(2,1/0),f0(v9)),[vt.Not]:S5($5(1,1),f0(v9)),[vt.Equal]:S5($5(2,2),f0(em)),[vt.NotEqual]:S5($5(2,2),f0(em)),[vt.GreaterThan]:S5($5(2,2),f0(_r)),[vt.GreaterThanOrEqualTo]:S5($5(2,2),f0(_r)),[vt.LessThan]:S5($5(2,2),f0(_r)),[vt.LessThanOrEqualTo]:S5($5(2,2),f0(_r)),[vt.Multiply]:S5($5(2,1/0),BO),[vt.Coalesce]:S5($5(2,1/0),BO),[vt.Divide]:S5($5(2,2),f0(_r)),[vt.Add]:S5($5(2,1/0),f0(_r)),[vt.Subtract]:S5($5(2,2),f0(_r)),[vt.Clamp]:S5($5(3,3),f0(_r)),[vt.Mod]:S5($5(2,2),f0(_r)),[vt.Pow]:S5($5(2,2),f0(_r)),[vt.Abs]:S5($5(1,1),f0(_r)),[vt.Floor]:S5($5(1,1),f0(_r)),[vt.Ceil]:S5($5(1,1),f0(_r)),[vt.Round]:S5($5(1,1),f0(_r)),[vt.Sin]:S5($5(1,1),f0(_r)),[vt.Cos]:S5($5(1,1),f0(_r)),[vt.Atan]:S5($5(1,2),f0(_r)),[vt.Sqrt]:S5($5(1,1),f0(_r)),[vt.Match]:S5($5(4,1/0),SO,Ne1),[vt.Between]:S5($5(3,3),f0(_r)),[vt.Interpolate]:S5($5(6,1/0),SO,Ze1),[vt.Case]:S5($5(3,1/0),Oe1,Ue1),[vt.In]:S5($5(2,2),Qe1),[vt.Number]:S5($5(1,1/0),f0(em)),[vt.String]:S5($5(1,1/0),f0(em)),[vt.Array]:S5($5(1,1/0),f0(_r)),[vt.Color]:S5($5(1,4),f0(_r)),[vt.Band]:S5($5(1,3),f0(_r)),[vt.Palette]:S5($5(2,2),He1),[vt.ToString]:S5($5(1,1),f0(v9|_r|G9|r7))};function MO(r,t,e){let i=r.length-1,o=new Array(i);for(let n=0;n<i;++n){let c=r[n+1];switch(typeof c){case"number":{o[n]=new m6(_r,c);break}case"string":{o[n]=new m6(G9,c);break}default:throw new Error(`expected a string key or numeric array index for a get operation, got ${c}`)}n===0&&e.properties.add(String(c))}return o}function De1(r,t,e){let i=r[1];if(typeof i!="string")throw new Error("expected a string argument for var operation");return e.variables.add(i),[new m6(G9,i)]}function ze1(r,t,e){e.featureId=!0}function ke1(r,t,e){e.geometryType=!0}function zM(r,t,e){e.mapState=!0}function _h(r,t,e){let i=r[0];if(r.length!==1)throw new Error(`expected no arguments for ${i} operation`);return[]}function $5(r,t){return function(e,i,o){let n=e[0],c=e.length-1;if(r===t){if(c!==r){let A=r===1?"":"s";throw new Error(`expected ${r} argument${A} for ${n}, got ${c}`)}}else if(c<r||c>t){let A=t===1/0?`${r} or more`:`${r} to ${t}`;throw new Error(`expected ${A} arguments for ${n}, got ${c}`)}}}function BO(r,t,e){let i=r.length-1,o=new Array(i);for(let n=0;n<i;++n){let c=h8(r[n+1],t,e);o[n]=c}return o}function f0(r){return function(t,e,i){let o=t.length-1,n=new Array(o);for(let c=0;c<o;++c){let A=h8(t[c+1],r,i);n[c]=A}return n}}function Oe1(r,t,e){let i=r[0],o=r.length-1;if(o%2===0)throw new Error(`expected an odd number of arguments for ${i}, got ${o} instead`)}function SO(r,t,e){let i=r[0],o=r.length-1;if(o%2===1)throw new Error(`expected an even number of arguments for operation ${i}, got ${o} instead`)}function Ne1(r,t,e){let i=r.length-1,o=G9|_r|v9,n=h8(r[1],o,e),c=h8(r[r.length-1],t,e),A=new Array(i-2);for(let L=0;L<i-2;L+=2){try{let g=h8(r[L+2],n.type,e);A[L]=g}catch(g){throw new Error(`failed to parse argument ${L+1} of match expression: ${g.message}`)}try{let g=h8(r[L+3],c.type,e);A[L+1]=g}catch(g){throw new Error(`failed to parse argument ${L+2} of match expression: ${g.message}`)}}return[n,...A,c]}function Ze1(r,t,e){let i=r[1],o;switch(i[0]){case"linear":o=1;break;case"exponential":let L=i[1];if(typeof L!="number"||L<=0)throw new Error(`expected a number base for exponential interpolation, got ${JSON.stringify(L)} instead`);o=L;break;default:throw new Error(`invalid interpolation type: ${JSON.stringify(i)}`)}let n=new m6(_r,o),c;try{c=h8(r[2],_r,e)}catch(L){throw new Error(`failed to parse argument 1 in interpolate expression: ${L.message}`)}let A=new Array(r.length-3);for(let L=0;L<A.length;L+=2){try{let g=h8(r[L+3],_r,e);A[L]=g}catch(g){throw new Error(`failed to parse argument ${L+2} for interpolate expression: ${g.message}`)}try{let g=h8(r[L+4],t,e);A[L+1]=g}catch(g){throw new Error(`failed to parse argument ${L+3} for interpolate expression: ${g.message}`)}}return[n,c,...A]}function Ue1(r,t,e){let i=h8(r[r.length-1],t,e),o=new Array(r.length-1);for(let n=0;n<o.length-1;n+=2){try{let c=h8(r[n+1],v9,e);o[n]=c}catch(c){throw new Error(`failed to parse argument ${n} of case expression: ${c.message}`)}try{let c=h8(r[n+2],i.type,e);o[n+1]=c}catch(c){throw new Error(`failed to parse argument ${n+1} of case expression: ${c.message}`)}}return o[o.length-1]=i,o}function Qe1(r,t,e){let i=r[2];if(!Array.isArray(i))throw new Error('the second argument for the "in" operator must be an array');let o;if(typeof i[0]=="string"){if(i[0]!=="literal")throw new Error('for the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions');if(!Array.isArray(i[1]))throw new Error('failed to parse "in" expression: the literal operator must be followed by an array');i=i[1],o=G9}else o=_r;let n=new Array(i.length);for(let A=0;A<n.length;A++)try{let L=h8(i[A],o,e);n[A]=L}catch(L){throw new Error(`failed to parse haystack item ${A} for "in" expression: ${L.message}`)}return[h8(r[1],o,e),...n]}function He1(r,t,e){let i;try{i=h8(r[1],_r,e)}catch(c){throw new Error(`failed to parse first argument in palette expression: ${c.message}`)}let o=r[2];if(!Array.isArray(o))throw new Error("the second argument of palette must be an array");let n=new Array(o.length);for(let c=0;c<n.length;c++){let A;try{A=h8(o[c],r7,e)}catch(L){throw new Error(`failed to parse color at index ${c} in palette expression: ${L.message}`)}if(!(A instanceof m6))throw new Error(`the palette color at index ${c} must be a literal value`);n[c]=A}return[i,...n]}function S5(...r){return function(t,e,i){let o=t[0],n;for(let c=0;c<r.length;c++){let A=r[c](t,e,i);if(c==r.length-1){if(!A)throw new Error("expected last argument validator to return the parsed args");n=A}}return new kM(e,o,...n)}}function Ve1(r,t,e){let i=r[0],o=Re1[i];if(!o)throw new Error(`unknown operator: ${i}`);return o(r,t,e)}function ZM(r){if(!r)return"";let t=r.getType();switch(t){case"Point":case"LineString":case"Polygon":return t;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return t.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return ZM(r.getGeometries()[0]);default:return""}}function UM(){return{variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""}}function Io(r,t,e){let i=h8(r,t,e);return w4(i,e)}function w4(r,t){if(r instanceof m6){if(r.type===r7&&typeof r.value=="string"){let i=Ef(r.value);return function(){return i}}return function(){return r.value}}let e=r.operator;switch(e){case vt.Number:case vt.String:case vt.Coalesce:return Ge1(r,t);case vt.Get:case vt.Var:case vt.Has:return je1(r,t);case vt.Id:return i=>i.featureId;case vt.GeometryType:return i=>i.geometryType;case vt.Concat:{let i=r.args.map(o=>w4(o,t));return o=>"".concat(...i.map(n=>n(o).toString()))}case vt.Resolution:return i=>i.resolution;case vt.Any:case vt.All:case vt.Between:case vt.In:case vt.Not:return Ke1(r,t);case vt.Equal:case vt.NotEqual:case vt.LessThan:case vt.LessThanOrEqualTo:case vt.GreaterThan:case vt.GreaterThanOrEqualTo:return qe1(r,t);case vt.Multiply:case vt.Divide:case vt.Add:case vt.Subtract:case vt.Clamp:case vt.Mod:case vt.Pow:case vt.Abs:case vt.Floor:case vt.Ceil:case vt.Round:case vt.Sin:case vt.Cos:case vt.Atan:case vt.Sqrt:return We1(r,t);case vt.Case:return $e1(r,t);case vt.Match:return Xe1(r,t);case vt.Interpolate:return Ye1(r,t);case vt.ToString:return Je1(r,t);default:throw new Error(`Unsupported operator ${e}`)}}function Ge1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.Coalesce:return n=>{for(let c=0;c<i;++c){let A=o[c](n);if(typeof A<"u"&&A!==null)return A}throw new Error("Expected one of the values to be non-null")};case vt.Number:case vt.String:return n=>{for(let c=0;c<i;++c){let A=o[c](n);if(typeof A===e)return A}throw new Error(`Expected one of the values to be a ${e}`)};default:throw new Error(`Unsupported assertion operator ${e}`)}}function je1(r,t){let i=r.args[0].value;switch(r.operator){case vt.Get:return o=>{let n=r.args,c=o.properties[i];for(let A=1,L=n.length;A<L;++A){let v=n[A].value;c=c[v]}return c};case vt.Var:return o=>o.variables[i];case vt.Has:return o=>{let n=r.args;if(!(i in o.properties))return!1;let c=o.properties[i];for(let A=1,L=n.length;A<L;++A){let v=n[A].value;if(!c||!Object.hasOwn(c,v))return!1;c=c[v]}return!0};default:throw new Error(`Unsupported accessor operator ${r.operator}`)}}function qe1(r,t){let e=r.operator,i=w4(r.args[0],t),o=w4(r.args[1],t);switch(e){case vt.Equal:return n=>i(n)===o(n);case vt.NotEqual:return n=>i(n)!==o(n);case vt.LessThan:return n=>i(n)<o(n);case vt.LessThanOrEqualTo:return n=>i(n)<=o(n);case vt.GreaterThan:return n=>i(n)>o(n);case vt.GreaterThanOrEqualTo:return n=>i(n)>=o(n);default:throw new Error(`Unsupported comparison operator ${e}`)}}function Ke1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.Any:return n=>{for(let c=0;c<i;++c)if(o[c](n))return!0;return!1};case vt.All:return n=>{for(let c=0;c<i;++c)if(!o[c](n))return!1;return!0};case vt.Between:return n=>{let c=o[0](n),A=o[1](n),L=o[2](n);return c>=A&&c<=L};case vt.In:return n=>{let c=o[0](n);for(let A=1;A<i;++A)if(c===o[A](n))return!0;return!1};case vt.Not:return n=>!o[0](n);default:throw new Error(`Unsupported logical operator ${e}`)}}function We1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.Multiply:return n=>{let c=1;for(let A=0;A<i;++A)c*=o[A](n);return c};case vt.Divide:return n=>o[0](n)/o[1](n);case vt.Add:return n=>{let c=0;for(let A=0;A<i;++A)c+=o[A](n);return c};case vt.Subtract:return n=>o[0](n)-o[1](n);case vt.Clamp:return n=>{let c=o[0](n),A=o[1](n);if(c<A)return A;let L=o[2](n);return c>L?L:c};case vt.Mod:return n=>o[0](n)%o[1](n);case vt.Pow:return n=>Math.pow(o[0](n),o[1](n));case vt.Abs:return n=>Math.abs(o[0](n));case vt.Floor:return n=>Math.floor(o[0](n));case vt.Ceil:return n=>Math.ceil(o[0](n));case vt.Round:return n=>Math.round(o[0](n));case vt.Sin:return n=>Math.sin(o[0](n));case vt.Cos:return n=>Math.cos(o[0](n));case vt.Atan:return i===2?n=>Math.atan2(o[0](n),o[1](n)):n=>Math.atan(o[0](n));case vt.Sqrt:return n=>Math.sqrt(o[0](n));default:throw new Error(`Unsupported numeric operator ${e}`)}}function $e1(r,t){let e=r.args.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=w4(r.args[o],t);return o=>{for(let n=0;n<e-1;n+=2)if(i[n](o))return i[n+1](o);return i[e-1](o)}}function Xe1(r,t){let e=r.args.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=w4(r.args[o],t);return o=>{let n=i[0](o);for(let c=1;c<e-1;c+=2)if(n===i[c](o))return i[c+1](o);return i[e-1](o)}}function Ye1(r,t){let e=r.args.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=w4(r.args[o],t);return o=>{let n=i[0](o),c=i[1](o),A,L;for(let g=2;g<e;g+=2){let v=i[g](o),S=i[g+1](o),I=Array.isArray(S);if(I&&(S=Vk(S)),v>=c)return g===2?S:I?t51(n,c,A,L,v,S):Hf(n,c,A,L,v,S);A=v,L=S}return L}}function Je1(r,t){let e=r.operator,i=r.args.length,o=new Array(i);for(let n=0;n<i;++n)o[n]=w4(r.args[n],t);switch(e){case vt.ToString:return n=>{let c=o[0](n);return r.args[0].type===r7?Tf(c):c.toString()};default:throw new Error(`Unsupported convert operator ${e}`)}}function Hf(r,t,e,i,o,n){let c=o-e;if(c===0)return i;let A=t-e,L=r===1?A/c:(Math.pow(r,A)-1)/(Math.pow(r,c)-1);return i+L*(n-i)}function t51(r,t,e,i,o,n){if(o-e===0)return i;let A=Hb(i),L=Hb(n),g=L[2]-A[2];g>180?g-=360:g<-180&&(g+=360);let v=[Hf(r,t,e,A[0],o,L[0]),Hf(r,t,e,A[1],o,L[1]),A[2]+Hf(r,t,e,0,o,g),Hf(r,t,e,i[3],o,n[3])];return Gk(v)}function e51(r){return!0}function FO(r){let t=NM(),e=r51(r,t),i=UM();return function(o,n){if(i.properties=o.getPropertiesInternal(),i.resolution=n,t.featureId){let c=o.getId();c!==void 0?i.featureId=c:i.featureId=null}return t.geometryType&&(i.geometryType=ZM(o.getGeometry())),e(i)}}function VM(r){let t=NM(),e=r.length,i=new Array(e);for(let c=0;c<e;++c)i[c]=QM(r[c],t);let o=UM(),n=new Array(e);return function(c,A){if(o.properties=c.getPropertiesInternal(),o.resolution=A,t.featureId){let g=c.getId();g!==void 0?o.featureId=g:o.featureId=null}let L=0;for(let g=0;g<e;++g){let v=i[g](o);v&&(n[L]=v,L+=1)}return n.length=L,n}}function r51(r,t){let e=r.length,i=new Array(e);for(let o=0;o<e;++o){let n=r[o],c="filter"in n?Io(n.filter,v9,t):e51,A;if(Array.isArray(n.style)){let L=n.style.length;A=new Array(L);for(let g=0;g<L;++g)A[g]=QM(n.style[g],t)}else A=[QM(n.style,t)];i[o]={filter:c,styles:A}}return function(o){let n=[],c=!1;for(let A=0;A<e;++A){let L=i[A].filter;if(L(o)&&!(r[A].else&&c)){c=!0;for(let g of i[A].styles){let v=g(o);v&&n.push(v)}}}return n}}function QM(r,t){let e=Vf(r,"",t),i=Gf(r,"",t),o=i51(r,t),n=n51(r,t),c=Sn(r,"z-index",t);if(!e&&!i&&!o&&!n&&!Xn(r))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(r));let A=new J0;return function(L){let g=!0;if(e){let v=e(L);v&&(g=!1),A.setFill(v)}if(i){let v=i(L);v&&(g=!1),A.setStroke(v)}if(o){let v=o(L);v&&(g=!1),A.setText(v)}if(n){let v=n(L);v&&(g=!1),A.setImage(v)}return c&&A.setZIndex(c(L)),g?null:A}}function Vf(r,t,e){let i;if(t+"fill-pattern-src"in r)i=l51(r,t+"fill-",e);else{if(r[t+"fill-color"]==="none")return n=>null;i=GM(r,t+"fill-color",e)}if(!i)return null;let o=new r6;return function(n){let c=i(n);return c===Zg?null:(o.setColor(c),o)}}function Gf(r,t,e){let i=Sn(r,t+"stroke-width",e),o=GM(r,t+"stroke-color",e);if(!i&&!o)return null;let n=Oa(r,t+"stroke-line-cap",e),c=Oa(r,t+"stroke-line-join",e),A=PO(r,t+"stroke-line-dash",e),L=Sn(r,t+"stroke-line-dash-offset",e),g=Sn(r,t+"stroke-miter-limit",e),v=new pi;return function(S){if(o){let I=o(S);if(I===Zg)return null;v.setColor(I)}if(i&&v.setWidth(i(S)),n){let I=n(S);if(I!=="butt"&&I!=="round"&&I!=="square")throw new Error("Expected butt, round, or square line cap");v.setLineCap(I)}if(c){let I=c(S);if(I!=="bevel"&&I!=="round"&&I!=="miter")throw new Error("Expected bevel, round, or miter line join");v.setLineJoin(I)}return A&&v.setLineDash(A(S)),L&&v.setLineDashOffset(L(S)),g&&v.setMiterLimit(g(S)),v}}function i51(r,t){let e="text-",i=Oa(r,e+"value",t);if(!i)return null;let o=Vf(r,e,t),n=Vf(r,e+"background-",t),c=Gf(r,e,t),A=Gf(r,e+"background-",t),L=Oa(r,e+"font",t),g=Sn(r,e+"max-angle",t),v=Sn(r,e+"offset-x",t),S=Sn(r,e+"offset-y",t),I=xh(r,e+"overflow",t),B=Oa(r,e+"placement",t),R=Sn(r,e+"repeat",t),H=nm(r,e+"scale",t),V=xh(r,e+"rotate-with-view",t),G=Sn(r,e+"rotation",t),e1=Oa(r,e+"align",t),i1=Oa(r,e+"justify",t),r1=Oa(r,e+"baseline",t),L1=xh(r,e+"keep-upright",t),w1=PO(r,e+"padding",t),S1=om(r,e+"declutter-mode"),y1=new Ra({declutterMode:S1});return function(C1){if(y1.setText(i(C1)),o&&y1.setFill(o(C1)),n&&y1.setBackgroundFill(n(C1)),c&&y1.setStroke(c(C1)),A&&y1.setBackgroundStroke(A(C1)),L&&y1.setFont(L(C1)),g&&y1.setMaxAngle(g(C1)),v&&y1.setOffsetX(v(C1)),S&&y1.setOffsetY(S(C1)),I&&y1.setOverflow(I(C1)),B){let H1=B(C1);if(H1!=="point"&&H1!=="line")throw new Error("Expected point or line for text-placement");y1.setPlacement(H1)}if(R&&y1.setRepeat(R(C1)),H&&y1.setScale(H(C1)),V&&y1.setRotateWithView(V(C1)),G&&y1.setRotation(G(C1)),e1){let H1=e1(C1);if(H1!=="left"&&H1!=="center"&&H1!=="right"&&H1!=="end"&&H1!=="start")throw new Error("Expected left, right, center, start, or end for text-align");y1.setTextAlign(H1)}if(i1){let H1=i1(C1);if(H1!=="left"&&H1!=="right"&&H1!=="center")throw new Error("Expected left, right, or center for text-justify");y1.setJustify(H1)}if(r1){let H1=r1(C1);if(H1!=="bottom"&&H1!=="top"&&H1!=="middle"&&H1!=="alphabetic"&&H1!=="hanging")throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");y1.setTextBaseline(H1)}return w1&&y1.setPadding(w1(C1)),L1&&y1.setKeepUpright(L1(C1)),y1}}function n51(r,t){return"icon-src"in r?o51(r,t):"shape-points"in r?a51(r,t):"circle-radius"in r?s51(r,t):null}function o51(r,t){let e="icon-",i=e+"src",o=RO(r[i],i),n=rm(r,e+"anchor",t),c=nm(r,e+"scale",t),A=Sn(r,e+"opacity",t),L=rm(r,e+"displacement",t),g=Sn(r,e+"rotation",t),v=xh(r,e+"rotate-with-view",t),S=TO(r,e+"anchor-origin"),I=IO(r,e+"anchor-x-units"),B=IO(r,e+"anchor-y-units"),R=d51(r,e+"color"),H=u51(r,e+"cross-origin"),V=h51(r,e+"offset"),G=TO(r,e+"offset-origin"),e1=im(r,e+"width"),i1=im(r,e+"height"),r1=c51(r,e+"size"),L1=om(r,e+"declutter-mode"),w1=new Bn({src:o,anchorOrigin:S,anchorXUnits:I,anchorYUnits:B,color:R,crossOrigin:H,offset:V,offsetOrigin:G,height:i1,width:e1,size:r1,declutterMode:L1});return function(S1){return A&&w1.setOpacity(A(S1)),L&&w1.setDisplacement(L(S1)),g&&w1.setRotation(g(S1)),v&&w1.setRotateWithView(v(S1)),c&&w1.setScale(c(S1)),n&&w1.setAnchor(n(S1)),w1}}function a51(r,t){let e="shape-",i=e+"points",o=e+"radius",n=HM(r[i],i),c=HM(r[o],o),A=Vf(r,e,t),L=Gf(r,e,t),g=nm(r,e+"scale",t),v=rm(r,e+"displacement",t),S=Sn(r,e+"rotation",t),I=xh(r,e+"rotate-with-view",t),B=im(r,e+"radius2"),R=im(r,e+"angle"),H=om(r,e+"declutter-mode"),V=new $g({points:n,radius:c,radius2:B,angle:R,declutterMode:H});return function(G){return A&&V.setFill(A(G)),L&&V.setStroke(L(G)),v&&V.setDisplacement(v(G)),S&&V.setRotation(S(G)),I&&V.setRotateWithView(I(G)),g&&V.setScale(g(G)),V}}function s51(r,t){let e="circle-",i=Vf(r,e,t),o=Gf(r,e,t),n=Sn(r,e+"radius",t),c=nm(r,e+"scale",t),A=rm(r,e+"displacement",t),L=Sn(r,e+"rotation",t),g=xh(r,e+"rotate-with-view",t),v=om(r,e+"declutter-mode"),S=new V9({radius:5,declutterMode:v});return function(I){return n&&S.setRadius(n(I)),i&&S.setFill(i(I)),o&&S.setStroke(o(I)),A&&S.setDisplacement(A(I)),L&&S.setRotation(L(I)),g&&S.setRotateWithView(g(I)),c&&S.setScale(c(I)),S}}function Sn(r,t,e){if(!(t in r))return;let i=Io(r[t],_r,e);return function(o){return HM(i(o),t)}}function Oa(r,t,e){if(!(t in r))return null;let i=Io(r[t],G9,e);return function(o){return RO(i(o),t)}}function l51(r,t,e){let i=Oa(r,t+"pattern-src",e),o=EO(r,t+"pattern-offset",e),n=EO(r,t+"pattern-size",e),c=GM(r,t+"color",e);return function(A){return{src:i(A),offset:o&&o(A),size:n&&n(A),color:c&&c(A)}}}function xh(r,t,e){if(!(t in r))return null;let i=Io(r[t],v9,e);return function(o){let n=i(o);if(typeof n!="boolean")throw new Error(`Expected a boolean for ${t}`);return n}}function GM(r,t,e){if(!(t in r))return null;let i=Io(r[t],r7,e);return function(o){return DO(i(o),t)}}function PO(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs,e);return function(o){return jf(i(o),t)}}function rm(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs,e);return function(o){let n=jf(i(o),t);if(n.length!==2)throw new Error(`Expected two numbers for ${t}`);return n}}function EO(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs,e);return function(o){return zO(i(o),t)}}function nm(r,t,e){if(!(t in r))return null;let i=Io(r[t],qs|_r,e);return function(o){return A51(i(o),t)}}function im(r,t){let e=r[t];if(e!==void 0){if(typeof e!="number")throw new Error(`Expected a number for ${t}`);return e}}function c51(r,t){let e=r[t];if(e!==void 0){if(typeof e=="number")return So(e);if(!Array.isArray(e))throw new Error(`Expected a number or size array for ${t}`);if(e.length!==2||typeof e[0]!="number"||typeof e[1]!="number")throw new Error(`Expected a number or size array for ${t}`);return e}}function u51(r,t){let e=r[t];if(e!==void 0){if(typeof e!="string")throw new Error(`Expected a string for ${t}`);return e}}function TO(r,t){let e=r[t];if(e!==void 0){if(e!=="bottom-left"&&e!=="bottom-right"&&e!=="top-left"&&e!=="top-right")throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${t}`);return e}}function IO(r,t){let e=r[t];if(e!==void 0){if(e!=="pixels"&&e!=="fraction")throw new Error(`Expected pixels or fraction for ${t}`);return e}}function h51(r,t){let e=r[t];if(e!==void 0)return jf(e,t)}function om(r,t){let e=r[t];if(e!==void 0){if(typeof e!="string")throw new Error(`Expected a string for ${t}`);if(e!=="declutter"&&e!=="obstacle"&&e!=="none")throw new Error(`Expected declutter, obstacle, or none for ${t}`);return e}}function d51(r,t){let e=r[t];if(e!==void 0)return DO(e,t)}function jf(r,t){if(!Array.isArray(r))throw new Error(`Expected an array for ${t}`);let e=r.length;for(let i=0;i<e;++i)if(typeof r[i]!="number")throw new Error(`Expected an array of numbers for ${t}`);return r}function RO(r,t){if(typeof r!="string")throw new Error(`Expected a string for ${t}`);return r}function HM(r,t){if(typeof r!="number")throw new Error(`Expected a number for ${t}`);return r}function DO(r,t){if(typeof r=="string")return r;let e=jf(r,t),i=e.length;if(i<3||i>4)throw new Error(`Expected a color with 3 or 4 values for ${t}`);return e}function zO(r,t){let e=jf(r,t);if(e.length!==2)throw new Error(`Expected an array of two numbers for ${t}`);return e}function A51(r,t){return typeof r=="number"?r:zO(r,t)}var kO={RENDER_ORDER:"renderOrder"},jM=class extends P7{constructor(t){t=t||{};let e=Object.assign({},t);delete e.style,delete e.renderBuffer,delete e.updateWhileAnimating,delete e.updateWhileInteracting,super(e),this.declutter_=t.declutter?String(t.declutter):void 0,this.renderBuffer_=t.renderBuffer!==void 0?t.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(t.style),this.updateWhileAnimating_=t.updateWhileAnimating!==void 0?t.updateWhileAnimating:!1,this.updateWhileInteracting_=t.updateWhileInteracting!==void 0?t.updateWhileInteracting:!1}getDeclutter(){return this.declutter_}getFeatures(t){return super.getFeatures(t)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(kO.RENDER_ORDER)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(t,e){let i=this.getDeclutter();i in t.declutter||(t.declutter[i]=new Cc(9)),this.getRenderer().renderDeclutter(t,e)}setRenderOrder(t){this.set(kO.RENDER_ORDER,t)}setStyle(t){this.style_=t===void 0?fM:t;let e=f51(t);this.styleFunction_=t===null?void 0:cO(e),this.changed()}setDeclutter(t){this.declutter_=t?String(t):void 0,this.changed()}};function f51(r){if(r===void 0)return fM;if(!r)return null;if(typeof r=="function"||r instanceof J0)return r;if(!Array.isArray(r))return VM([r]);if(r.length===0)return[];let t=r.length,e=r[0];if(e instanceof J0){let o=new Array(t);for(let n=0;n<t;++n){let c=r[n];if(!(c instanceof J0))throw new Error("Expected a list of style instances");o[n]=c}return o}if("style"in e){let o=new Array(t);for(let n=0;n<t;++n){let c=r[n];if(!("style"in c))throw new Error("Expected a list of rules with a style property");o[n]=c}return FO(o)}return VM(r)}var am=jM;var qM=class extends am{constructor(t){super(t)}createRenderer(){return new bO(this)}},sm=qM;var wh={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4};var KM=class{constructor(t,e,i){this.decay_=t,this.minVelocity_=e,this.delay_=i,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(t,e){this.points_.push(t,e,Date.now())}end(){if(this.points_.length<6)return!1;let t=Date.now()-this.delay_,e=this.points_.length-3;if(this.points_[e+2]<t)return!1;let i=e-3;for(;i>0&&this.points_[i+2]>t;)i-=3;let o=this.points_[e+2]-this.points_[i+2];if(o<1e3/60)return!1;let n=this.points_[e]-this.points_[i],c=this.points_[e+1]-this.points_[i+1];return this.angle_=Math.atan2(c,n),this.initialVelocity_=Math.sqrt(n*n+c*c)/o,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}},OO=KM;var WM=class extends Ai{constructor(t,e,i){super(t),this.map=e,this.frameState=i!==void 0?i:null}},Ks=WM;var $M=class extends Ks{constructor(t,e,i,o,n,c){super(t,e,n),this.originalEvent=i,this.pixel_=null,this.coordinate_=null,this.dragging=o!==void 0?o:!1,this.activePointers=c}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(t){this.pixel_=t}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(t){this.coordinate_=t}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}},Fo=$M;var A3={SINGLECLICK:"singleclick",CLICK:Ke.CLICK,DBLCLICK:Ke.DBLCLICK,POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var qf={POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"};var XM=class extends th{constructor(t,e){super(t),this.map_=t,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=e===void 0?1:e,this.down_=null;let i=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=i,this.pointerdownListenerKey_=j5(i,qf.POINTERDOWN,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=j5(i,qf.POINTERMOVE,this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(Ke.TOUCHMOVE,this.boundHandleTouchMove_,kg?{passive:!1}:!1)}emulateClick_(t){let e=new Fo(A3.CLICK,this.map_,t);this.dispatchEvent(e),this.clickTimeoutId_!==void 0?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,e=new Fo(A3.DBLCLICK,this.map_,t),this.dispatchEvent(e)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;let i=new Fo(A3.SINGLECLICK,this.map_,t);this.dispatchEvent(i)},250)}updateActivePointers_(t){let e=t,i=e.pointerId;if(e.type==A3.POINTERUP||e.type==A3.POINTERCANCEL){delete this.trackedTouches_[i];for(let o in this.trackedTouches_)if(this.trackedTouches_[o].target!==e.target){delete this.trackedTouches_[o];break}}else(e.type==A3.POINTERDOWN||e.type==A3.POINTERMOVE)&&(this.trackedTouches_[i]=e);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(t){this.updateActivePointers_(t);let e=new Fo(A3.POINTERUP,this.map_,t,void 0,void 0,this.activePointers_);this.dispatchEvent(e),this.emulateClicks_&&!e.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(t)&&this.emulateClick_(this.down_),this.activePointers_.length===0&&(this.dragListenerKeys_.forEach(t0),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(t){return t.button===0}handlePointerDown_(t){this.emulateClicks_=this.activePointers_.length===0,this.updateActivePointers_(t);let e=new Fo(A3.POINTERDOWN,this.map_,t,void 0,void 0,this.activePointers_);if(this.dispatchEvent(e),this.down_=new PointerEvent(t.type,t),Object.defineProperty(this.down_,"target",{writable:!1,value:t.target}),this.dragListenerKeys_.length===0){let i=this.map_.getOwnerDocument();this.dragListenerKeys_.push(j5(i,A3.POINTERMOVE,this.handlePointerMove_,this),j5(i,A3.POINTERUP,this.handlePointerUp_,this),j5(this.element_,A3.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==i&&this.dragListenerKeys_.push(j5(this.element_.getRootNode(),A3.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(t){if(this.isMoving_(t)){this.updateActivePointers_(t),this.dragging_=!0;let e=new Fo(A3.POINTERDRAG,this.map_,t,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(e)}}relayMoveEvent_(t){this.originalPointerMoveEvent_=t;let e=!!(this.down_&&this.isMoving_(t));this.dispatchEvent(new Fo(A3.POINTERMOVE,this.map_,t,e))}handleTouchMove_(t){let e=this.originalPointerMoveEvent_;(!e||e.defaultPrevented)&&(typeof t.cancelable!="boolean"||t.cancelable===!0)&&t.preventDefault()}isMoving_(t){return this.dragging_||Math.abs(t.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(t.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(t0(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(Ke.TOUCHMOVE,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(t0(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(t0),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}},NO=XM;var Q8={LAYERGROUP:"layergroup",SIZE:"size",TARGET:"target",VIEW:"view"};var Kf=1/0,YM=class{constructor(t,e){this.priorityFunction_=t,this.keyFunction_=e,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,yo(this.queuedElements_)}dequeue(){let t=this.elements_,e=this.priorities_,i=t[0];t.length==1?(t.length=0,e.length=0):(t[0]=t.pop(),e[0]=e.pop(),this.siftUp_(0));let o=this.keyFunction_(i);return delete this.queuedElements_[o],i}enqueue(t){jr(!(this.keyFunction_(t)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");let e=this.priorityFunction_(t);return e!=Kf?(this.elements_.push(t),this.priorities_.push(e),this.queuedElements_[this.keyFunction_(t)]=!0,this.siftDown_(0,this.elements_.length-1),!0):!1}getCount(){return this.elements_.length}getLeftChildIndex_(t){return t*2+1}getRightChildIndex_(t){return t*2+2}getParentIndex_(t){return t-1>>1}heapify_(){let t;for(t=(this.elements_.length>>1)-1;t>=0;t--)this.siftUp_(t)}isEmpty(){return this.elements_.length===0}isKeyQueued(t){return t in this.queuedElements_}isQueued(t){return this.isKeyQueued(this.keyFunction_(t))}siftUp_(t){let e=this.elements_,i=this.priorities_,o=e.length,n=e[t],c=i[t],A=t;for(;t<o>>1;){let L=this.getLeftChildIndex_(t),g=this.getRightChildIndex_(t),v=g<o&&i[g]<i[L]?g:L;e[t]=e[v],i[t]=i[v],t=v}e[t]=n,i[t]=c,this.siftDown_(A,t)}siftDown_(t,e){let i=this.elements_,o=this.priorities_,n=i[e],c=o[e];for(;e>t;){let A=this.getParentIndex_(e);if(o[A]>c)i[e]=i[A],o[e]=o[A],e=A;else break}i[e]=n,o[e]=c}reprioritize(){let t=this.priorityFunction_,e=this.elements_,i=this.priorities_,o=0,n=e.length,c,A,L;for(A=0;A<n;++A)c=e[A],L=t(c),L==Kf?delete this.queuedElements_[this.keyFunction_(c)]:(i[o]=L,e[o++]=c);e.length=o,i.length=o,this.heapify_()}},ZO=YM;var JM=class extends ZO{constructor(t,e){super(i=>t.apply(null,i),i=>i[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=e,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(t){let e=super.enqueue(t);return e&&t[0].addEventListener(Ke.CHANGE,this.boundHandleTileChange_),e}getTilesLoading(){return this.tilesLoading_}handleTileChange(t){let e=t.target,i=e.getState();if(i===wh.LOADED||i===wh.ERROR||i===wh.EMPTY){i!==wh.ERROR&&e.removeEventListener(Ke.CHANGE,this.boundHandleTileChange_);let o=e.getKey();o in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[o],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(t,e){let i=0;for(;this.tilesLoading_<t&&i<e&&this.getCount()>0;){let o=this.dequeue()[0],n=o.getKey();o.getState()===wh.IDLE&&!(n in this.tilesLoadingKeys_)&&(this.tilesLoadingKeys_[n]=!0,++this.tilesLoading_,++i,o.load())}}},UO=JM;function QO(r,t,e,i,o){if(!r||!(e in r.wantedTiles))return Kf;if(!r.wantedTiles[e][t.getKey()])return Kf;let n=r.viewState.center,c=i[0]-n[0],A=i[1]-n[1];return 65536*Math.log(o)+Math.sqrt(c*c+A*A)/o}var tB=class extends Jn{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=t.collapsed!==void 0?t.collapsed:!0,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=t.collapsible!==void 0,this.collapsible_=t.collapsible!==void 0?t.collapsible:!0,this.collapsible_||(this.collapsed_=!1),this.attributions_=t.attributions;let e=t.className!==void 0?t.className:"ol-attribution",i=t.tipLabel!==void 0?t.tipLabel:"Attributions",o=t.expandClassName!==void 0?t.expandClassName:e+"-expand",n=t.collapseLabel!==void 0?t.collapseLabel:"\u203A",c=t.collapseClassName!==void 0?t.collapseClassName:e+"-collapse";typeof n=="string"?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=n,this.collapseLabel_.className=c):this.collapseLabel_=n;let A=t.label!==void 0?t.label:"i";typeof A=="string"?(this.label_=document.createElement("span"),this.label_.textContent=A,this.label_.className=o):this.label_=A;let L=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=i,this.toggleButton_.appendChild(L),this.toggleButton_.addEventListener(Ke.CLICK,this.handleClick_.bind(this),!1);let g=e+" "+wo+" "+Lh+(this.collapsed_&&this.collapsible_?" "+qb:"")+(this.collapsible_?"":" ol-uncollapsible"),v=this.element;v.className=g,v.appendChild(this.toggleButton_),v.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(t){let e=this.getMap().getAllLayers(),i=new Set(e.flatMap(o=>o.getAttributions(t)));if(this.attributions_!==void 0&&(Array.isArray(this.attributions_)?this.attributions_.forEach(o=>i.add(o)):i.add(this.attributions_)),!this.overrideCollapsible_){let o=!e.some(n=>n.getSource()?.getAttributionsCollapsible()===!1);this.setCollapsible(o)}return Array.from(i)}async updateElement_(t){if(!t){this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1);return}let e=await Promise.all(this.collectSourceAttributions_(t).map(o=>gz(()=>o))),i=e.length>0;if(this.renderedVisible_!=i&&(this.element.style.display=i?"":"none",this.renderedVisible_=i),!g9(e,this.renderedAttributions_)){Uk(this.ulElement_);for(let o=0,n=e.length;o<n;++o){let c=document.createElement("li");c.innerHTML=e[o],this.ulElement_.appendChild(c)}this.renderedAttributions_=e}}handleClick_(t){t.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(qb),this.collapsed_?zb(this.collapseLabel_,this.label_):zb(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(t){this.collapsible_!==t&&(this.collapsible_=t,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(t){this.userCollapsed_=t,!(!this.collapsible_||this.collapsed_===t)&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(t){this.updateElement_(t.frameState)}},HO=tB;var eB=class extends Jn{constructor(t){t=t||{},super({element:document.createElement("div"),render:t.render,target:t.target});let e=t.className!==void 0?t.className:"ol-rotate",i=t.label!==void 0?t.label:"\u21E7",o=t.compassClassName!==void 0?t.compassClassName:"ol-compass";this.label_=null,typeof i=="string"?(this.label_=document.createElement("span"),this.label_.className=o,this.label_.textContent=i):(this.label_=i,this.label_.classList.add(o));let n=t.tipLabel?t.tipLabel:"Reset rotation",c=document.createElement("button");c.className=e+"-reset",c.setAttribute("type","button"),c.title=n,c.appendChild(this.label_),c.addEventListener(Ke.CLICK,this.handleClick_.bind(this),!1);let A=e+" "+wo+" "+Lh,L=this.element;L.className=A,L.appendChild(c),this.callResetNorth_=t.resetNorth?t.resetNorth:void 0,this.duration_=t.duration!==void 0?t.duration:250,this.autoHide_=t.autoHide!==void 0?t.autoHide:!0,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(Ff)}handleClick_(t){t.preventDefault(),this.callResetNorth_!==void 0?this.callResetNorth_():this.resetNorth_()}resetNorth_(){let e=this.getMap().getView();if(!e)return;let i=e.getRotation();i!==void 0&&(this.duration_>0&&i%(2*Math.PI)!==0?e.animate({rotation:0,duration:this.duration_,easing:F7}):e.setRotation(0))}render(t){let e=t.frameState;if(!e)return;let i=e.viewState.rotation;if(i!=this.rotation_){let o="rotate("+i+"rad)";if(this.autoHide_){let n=this.element.classList.contains(Ff);!n&&i===0?this.element.classList.add(Ff):n&&i!==0&&this.element.classList.remove(Ff)}this.label_.style.transform=o}this.rotation_=i}},VO=eB;var rB=class extends Jn{constructor(t){t=t||{},super({element:document.createElement("div"),target:t.target});let e=t.className!==void 0?t.className:"ol-zoom",i=t.delta!==void 0?t.delta:1,o=t.zoomInClassName!==void 0?t.zoomInClassName:e+"-in",n=t.zoomOutClassName!==void 0?t.zoomOutClassName:e+"-out",c=t.zoomInLabel!==void 0?t.zoomInLabel:"+",A=t.zoomOutLabel!==void 0?t.zoomOutLabel:"\u2013",L=t.zoomInTipLabel!==void 0?t.zoomInTipLabel:"Zoom in",g=t.zoomOutTipLabel!==void 0?t.zoomOutTipLabel:"Zoom out",v=document.createElement("button");v.className=o,v.setAttribute("type","button"),v.title=L,v.appendChild(typeof c=="string"?document.createTextNode(c):c),v.addEventListener(Ke.CLICK,this.handleClick_.bind(this,i),!1);let S=document.createElement("button");S.className=n,S.setAttribute("type","button"),S.title=g,S.appendChild(typeof A=="string"?document.createTextNode(A):A),S.addEventListener(Ke.CLICK,this.handleClick_.bind(this,-i),!1);let I=e+" "+wo+" "+Lh,B=this.element;B.className=I,B.appendChild(v),B.appendChild(S),this.duration_=t.duration!==void 0?t.duration:250}handleClick_(t,e){e.preventDefault(),this.zoomByDelta_(t)}zoomByDelta_(t){let i=this.getMap().getView();if(!i)return;let o=i.getZoom();if(o!==void 0){let n=i.getConstrainedZoom(o+t);this.duration_>0?(i.getAnimating()&&i.cancelAnimations(),i.animate({zoom:n,duration:this.duration_,easing:F7})):i.setZoom(n)}}},GO=rB;function jO(r){r=r||{};let t=new U8;return(r.zoom===void 0||r.zoom)&&t.push(new GO(r.zoomOptions)),(r.rotate===void 0||r.rotate)&&t.push(new VO(r.rotateOptions)),(r.attribution===void 0||r.attribution)&&t.push(new HO(r.attributionOptions)),t}var iB={ACTIVE:"active"};var nB=class extends g6{constructor(t){super(),this.on,this.once,this.un,t&&t.handleEvent&&(this.handleEvent=t.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(iB.ACTIVE)}getMap(){return this.map_}handleEvent(t){return!0}setActive(t){this.set(iB.ACTIVE,t)}setMap(t){this.map_=t}};function qO(r,t,e){let i=r.getCenterInternal();if(i){let o=[i[0]+t[0],i[1]+t[1]];r.animateInternal({duration:e!==void 0?e:250,easing:Pg,center:r.getConstrainedCenter(o)})}}function bh(r,t,e,i){let o=r.getZoom();if(o===void 0)return;let n=r.getConstrainedZoom(o+t),c=r.getResolutionForZoom(n);r.getAnimating()&&r.cancelAnimations(),r.animate({resolution:c,anchor:e,duration:i!==void 0?i:250,easing:F7})}var Po=nB;var oB=class extends Po{constructor(t){super(),t=t||{},this.delta_=t.delta?t.delta:1,this.duration_=t.duration!==void 0?t.duration:250}handleEvent(t){let e=!1;if(t.type==A3.DBLCLICK){let i=t.originalEvent,o=t.map,n=t.coordinate,c=i.shiftKey?-this.delta_:this.delta_,A=o.getView();bh(A,c,n,this.duration_),i.preventDefault(),e=!0}return!e}},KO=oB;function Wf(r){let t=arguments;return function(e){let i=!0;for(let o=0,n=t.length;o<n&&(i=i&&t[o](e),!!i);++o);return i}}var WO=function(r){let t=r.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},p51=function(r){let t=r.map.getTargetElement(),e=t.getRootNode(),i=r.map.getOwnerDocument().activeElement;return e instanceof ShadowRoot?e.host.contains(i):t.contains(i)},lm=function(r){let t=r.map.getTargetElement(),e=t.getRootNode();return(e instanceof ShadowRoot?e.host:t).hasAttribute("tabindex")?p51(r):!0},$O=_a;var cm=function(r){let t=r.originalEvent;return"pointerId"in t&&t.button==0&&!(Ok&&Rb&&t.ctrlKey)};var um=function(r){let t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey};var XO=function(r){let t=r.originalEvent;return Rb?t.metaKey:t.ctrlKey},YO=function(r){let t=r.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},hm=function(r){let t=r.originalEvent,e=t.target.tagName;return e!=="INPUT"&&e!=="SELECT"&&e!=="TEXTAREA"&&!t.target.isContentEditable},dm=function(r){let t=r.originalEvent;return"pointerId"in t&&t.pointerType=="mouse"};var JO=function(r){let t=r.originalEvent;return"pointerId"in t&&t.isPrimary&&t.button===0};var aB=class extends Po{constructor(t){t=t||{},super(t),t.handleDownEvent&&(this.handleDownEvent=t.handleDownEvent),t.handleDragEvent&&(this.handleDragEvent=t.handleDragEvent),t.handleMoveEvent&&(this.handleMoveEvent=t.handleMoveEvent),t.handleUpEvent&&(this.handleUpEvent=t.handleUpEvent),t.stopDown&&(this.stopDown=t.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(t){return!1}handleDragEvent(t){}handleEvent(t){if(!t.originalEvent)return!0;let e=!1;if(this.updateTrackedPointers_(t),this.handlingDownUpSequence){if(t.type==A3.POINTERDRAG)this.handleDragEvent(t),t.originalEvent.preventDefault();else if(t.type==A3.POINTERUP){let i=this.handleUpEvent(t);this.handlingDownUpSequence=i&&this.targetPointers.length>0}}else if(t.type==A3.POINTERDOWN){let i=this.handleDownEvent(t);this.handlingDownUpSequence=i,e=this.stopDown(i)}else t.type==A3.POINTERMOVE&&this.handleMoveEvent(t);return!e}handleMoveEvent(t){}handleUpEvent(t){return!1}stopDown(t){return t}updateTrackedPointers_(t){t.activePointers&&(this.targetPointers=t.activePointers)}};function Mh(r){let t=r.length,e=0,i=0;for(let o=0;o<t;o++)e+=r[o].clientX,i+=r[o].clientY;return{clientX:e/t,clientY:i/t}}var Ro=aB;var sB=class extends Ro{constructor(t){super({stopDown:xa}),t=t||{},this.kinetic_=t.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;let e=t.condition?t.condition:Wf(um,JO);this.condition_=t.onFocusOnly?Wf(lm,e):e,this.noKinetic_=!1}handleDragEvent(t){let e=t.map;this.panning_||(this.panning_=!0,e.getView().beginInteraction());let i=this.targetPointers,o=e.getEventPixel(Mh(i));if(i.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(o[0],o[1]),this.lastCentroid){let n=[this.lastCentroid[0]-o[0],o[1]-this.lastCentroid[1]],A=t.map.getView();_z(n,A.getResolution()),rh(n,A.getRotation()),A.adjustCenterInternal(n)}}else this.kinetic_&&this.kinetic_.begin();this.lastCentroid=o,this.lastPointersCount_=i.length,t.originalEvent.preventDefault()}handleUpEvent(t){let e=t.map,i=e.getView();if(this.targetPointers.length===0){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){let o=this.kinetic_.getDistance(),n=this.kinetic_.getAngle(),c=i.getCenterInternal(),A=e.getPixelFromCoordinateInternal(c),L=e.getCoordinateFromPixelInternal([A[0]-o*Math.cos(n),A[1]-o*Math.sin(n)]);i.animateInternal({center:i.getConstrainedCenter(L),duration:500,easing:F7})}return this.panning_&&(this.panning_=!1,i.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(t){if(this.targetPointers.length>0&&this.condition_(t)){let i=t.map.getView();return this.lastCentroid=null,i.getAnimating()&&i.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}},$f=sB;var lB=class extends Ro{constructor(t){t=t||{},super({stopDown:xa}),this.condition_=t.condition?t.condition:WO,this.lastAngle_=void 0,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){if(!dm(t))return;let e=t.map,i=e.getView();if(i.getConstraints().rotation===Ah)return;let o=e.getSize(),n=t.pixel,c=Math.atan2(o[1]/2-n[1],n[0]-o[0]/2);if(this.lastAngle_!==void 0){let A=c-this.lastAngle_;i.adjustRotationInternal(-A)}this.lastAngle_=c}handleUpEvent(t){return dm(t)?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){return dm(t)&&cm(t)&&this.condition_(t)?(t.map.getView().beginInteraction(),this.lastAngle_=void 0,!0):!1}},tN=lB;var cB=class extends Ju{constructor(t){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+t,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){let t=this.startPixel_,e=this.endPixel_,i="px",o=this.element_.style;o.left=Math.min(t[0],e[0])+i,o.top=Math.min(t[1],e[1])+i,o.width=Math.abs(e[0]-t[0])+i,o.height=Math.abs(e[1]-t[1])+i}setMap(t){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);let e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=t,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(t,e){this.startPixel_=t,this.endPixel_=e,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;let t=this.startPixel_,e=this.endPixel_,o=[t,[t[0],e[1]],e,[e[0],t[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);o[4]=o[0].slice(),this.geometry_?this.geometry_.setCoordinates([o]):this.geometry_=new g4([o])}getGeometry(){return this.geometry_}},eN=cB;var Bh={BOXSTART:"boxstart",BOXDRAG:"boxdrag",BOXEND:"boxend",BOXCANCEL:"boxcancel"},mc=class extends Ai{constructor(t,e,i){super(t),this.coordinate=e,this.mapBrowserEvent=i}},uB=class extends Ro{constructor(t){super(),this.on,this.once,this.un,t=t??{},this.box_=new eN(t.className||"ol-dragbox"),this.minArea_=t.minArea??64,t.onBoxEnd&&(this.onBoxEnd=t.onBoxEnd),this.startPixel_=null,this.condition_=t.condition??cm,this.boxEndCondition_=t.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(t,e,i){let o=i[0]-e[0],n=i[1]-e[1];return o*o+n*n>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(t){this.startPixel_&&(this.box_.setPixels(this.startPixel_,t.pixel),this.dispatchEvent(new mc(Bh.BOXDRAG,t.coordinate,t)))}handleUpEvent(t){if(!this.startPixel_)return!1;let e=this.boxEndCondition_(t,this.startPixel_,t.pixel);return e&&this.onBoxEnd(t),this.dispatchEvent(new mc(e?Bh.BOXEND:Bh.BOXCANCEL,t.coordinate,t)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(t){return this.condition_(t)?(this.startPixel_=t.pixel,this.box_.setMap(t.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new mc(Bh.BOXSTART,t.coordinate,t)),!0):!1}onBoxEnd(t){}setActive(t){t||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new mc(Bh.BOXCANCEL,this.startPixel_,null)),this.startPixel_=null)),super.setActive(t)}setMap(t){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new mc(Bh.BOXCANCEL,this.startPixel_,null)),this.startPixel_=null)),super.setMap(t)}},rN=uB;var hB=class extends rN{constructor(t){t=t||{};let e=t.condition?t.condition:YO;super({condition:e,className:t.className||"ol-dragzoom",minArea:t.minArea}),this.duration_=t.duration!==void 0?t.duration:200,this.out_=t.out!==void 0?t.out:!1}onBoxEnd(t){let i=this.getMap().getView(),o=this.getGeometry();if(this.out_){let n=i.rotatedExtentForGeometry(o),c=i.getResolutionForExtentInternal(n),A=i.getResolution()/c;o=o.clone(),o.scale(A*A)}i.fitInternal(o,{duration:this.duration_,easing:F7})}},iN=hB;var Ws={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown"};var dB=class extends Po{constructor(t){super(),t=t||{},this.defaultCondition_=function(e){return um(e)&&hm(e)},this.condition_=t.condition!==void 0?t.condition:this.defaultCondition_,this.duration_=t.duration!==void 0?t.duration:100,this.pixelDelta_=t.pixelDelta!==void 0?t.pixelDelta:128}handleEvent(t){let e=!1;if(t.type==Ke.KEYDOWN){let i=t.originalEvent,o=i.key;if(this.condition_(t)&&(o==Ws.DOWN||o==Ws.LEFT||o==Ws.RIGHT||o==Ws.UP)){let c=t.map.getView(),A=c.getResolution()*this.pixelDelta_,L=0,g=0;o==Ws.DOWN?g=-A:o==Ws.LEFT?L=-A:o==Ws.RIGHT?L=A:g=A;let v=[L,g];rh(v,c.getRotation()),qO(c,v,this.duration_),i.preventDefault(),e=!0}}return!e}},nN=dB;var AB=class extends Po{constructor(t){super(),t=t||{},this.condition_=t.condition?t.condition:function(e){return!XO(e)&&hm(e)},this.delta_=t.delta?t.delta:1,this.duration_=t.duration!==void 0?t.duration:100}handleEvent(t){let e=!1;if(t.type==Ke.KEYDOWN||t.type==Ke.KEYPRESS){let i=t.originalEvent,o=i.key;if(this.condition_(t)&&(o==="+"||o==="-")){let n=t.map,c=o==="+"?this.delta_:-this.delta_,A=n.getView();bh(A,c,void 0,this.duration_),i.preventDefault(),e=!0}}return!e}},oN=AB;var L51=40,C51=300,fB=class extends Po{constructor(t){t=t||{},super(t),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=t.maxDelta!==void 0?t.maxDelta:1,this.duration_=t.duration!==void 0?t.duration:250,this.timeout_=t.timeout!==void 0?t.timeout:80,this.useAnchor_=t.useAnchor!==void 0?t.useAnchor:!0,this.constrainResolution_=t.constrainResolution!==void 0?t.constrainResolution:!1;let e=t.condition?t.condition:$O;this.condition_=t.onFocusOnly?Wf(lm,e):e,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;let t=this.getMap();if(!t)return;t.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(t){if(!this.condition_(t)||t.type!==Ke.WHEEL)return!0;let i=t.map,o=t.originalEvent;o.preventDefault(),this.useAnchor_&&(this.lastAnchor_=t.pixel);let n=o.deltaY;switch(o.deltaMode){case WheelEvent.DOM_DELTA_LINE:n*=L51;break;case WheelEvent.DOM_DELTA_PAGE:n*=C51;break;default:}if(n===0)return!1;this.lastDelta_=n;let c=Date.now();this.startTime_===void 0&&(this.startTime_=c),(!this.mode_||c-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(n)<4?"trackpad":"wheel");let A=i.getView();if(this.mode_==="trackpad"&&!(A.getConstrainResolution()||this.constrainResolution_))return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(A.getAnimating()&&A.cancelAnimations(),A.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),A.adjustZoom(-n/this.deltaPerZoom_,this.lastAnchor_?i.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=c,!1;this.totalDelta_+=n;let L=Math.max(this.timeout_-(c-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,i),L),!1}handleWheelZoom_(t){let e=t.getView();e.getAnimating()&&e.cancelAnimations();let i=-O0(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(e.getConstrainResolution()||this.constrainResolution_)&&(i=i?i>0?1:-1:0),bh(e,i,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(t){this.useAnchor_=t,t||(this.lastAnchor_=null)}},Sh=fB;var pB=class extends Ro{constructor(t){t=t||{};let e=t;e.stopDown||(e.stopDown=xa),super(e),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=t.threshold!==void 0?t.threshold:.3,this.duration_=t.duration!==void 0?t.duration:250}handleDragEvent(t){let e=0,i=this.targetPointers[0],o=this.targetPointers[1],n=Math.atan2(o.clientY-i.clientY,o.clientX-i.clientX);if(this.lastAngle_!==void 0){let L=n-this.lastAngle_;this.rotationDelta_+=L,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),e=L}this.lastAngle_=n;let c=t.map,A=c.getView();A.getConstraints().rotation!==Ah&&(this.anchor_=c.getCoordinateFromPixelInternal(c.getEventPixel(Mh(this.targetPointers))),this.rotating_&&(c.render(),A.adjustRotationInternal(e,this.anchor_)))}handleUpEvent(t){return this.targetPointers.length<2?(t.map.getView().endInteraction(this.duration_),!1):!0}handleDownEvent(t){if(this.targetPointers.length>=2){let e=t.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}},aN=pB;var LB=class extends Ro{constructor(t){t=t||{};let e=t;e.stopDown||(e.stopDown=xa),super(e),this.anchor_=null,this.duration_=t.duration!==void 0?t.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(t){let e=1,i=this.targetPointers[0],o=this.targetPointers[1],n=i.clientX-o.clientX,c=i.clientY-o.clientY,A=Math.sqrt(n*n+c*c);this.lastDistance_!==void 0&&(e=this.lastDistance_/A),this.lastDistance_=A;let L=t.map,g=L.getView();e!=1&&(this.lastScaleDelta_=e),this.anchor_=L.getCoordinateFromPixelInternal(L.getEventPixel(Mh(this.targetPointers))),L.render(),g.adjustResolutionInternal(e,this.anchor_)}handleUpEvent(t){if(this.targetPointers.length<2){let i=t.map.getView(),o=this.lastScaleDelta_>1?1:-1;return i.endInteraction(this.duration_,o),!1}return!0}handleDownEvent(t){if(this.targetPointers.length>=2){let e=t.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||e.getView().beginInteraction(),!0}return!1}},sN=LB;function lN(r){r=r||{};let t=new U8,e=new OO(-.005,.05,100);return(r.altShiftDragRotate===void 0||r.altShiftDragRotate)&&t.push(new tN),(r.doubleClickZoom===void 0||r.doubleClickZoom)&&t.push(new KO({delta:r.zoomDelta,duration:r.zoomDuration})),(r.dragPan===void 0||r.dragPan)&&t.push(new $f({onFocusOnly:r.onFocusOnly,kinetic:e})),(r.pinchRotate===void 0||r.pinchRotate)&&t.push(new aN),(r.pinchZoom===void 0||r.pinchZoom)&&t.push(new sN({duration:r.zoomDuration})),(r.keyboard===void 0||r.keyboard)&&(t.push(new nN),t.push(new oN({delta:r.zoomDelta,duration:r.zoomDuration}))),(r.mouseWheelZoom===void 0||r.mouseWheelZoom)&&t.push(new Sh({onFocusOnly:r.onFocusOnly,duration:r.zoomDuration})),(r.shiftDragZoom===void 0||r.shiftDragZoom)&&t.push(new iN({duration:r.zoomDuration})),t}var $s={ADDLAYER:"addlayer",REMOVELAYER:"removelayer"},b4=class extends Ai{constructor(t,e){super(t),this.layer=e}},CB={LAYERS:"layers"},gB=class r extends Dg{constructor(t){t=t||{};let e=Object.assign({},t);delete e.layers;let i=t.layers;super(e),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(CB.LAYERS,this.handleLayersChanged_),i?Array.isArray(i)?i=new U8(i.slice(),{unique:!0}):jr(typeof i.getArray=="function","Expected `layers` to be an array or a `Collection`"):i=new U8(void 0,{unique:!0}),this.setLayers(i)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(t0),this.layersListenerKeys_.length=0;let t=this.getLayers();this.layersListenerKeys_.push(j5(t,u8.ADD,this.handleLayersAdd_,this),j5(t,u8.REMOVE,this.handleLayersRemove_,this));for(let i in this.listenerKeys_)this.listenerKeys_[i].forEach(t0);yo(this.listenerKeys_);let e=t.getArray();for(let i=0,o=e.length;i<o;i++){let n=e[i];this.registerLayerListeners_(n),this.dispatchEvent(new b4($s.ADDLAYER,n))}this.changed()}registerLayerListeners_(t){let e=[j5(t,d4.PROPERTYCHANGE,this.handleLayerChange_,this),j5(t,Ke.CHANGE,this.handleLayerChange_,this)];t instanceof r&&e.push(j5(t,$s.ADDLAYER,this.handleLayerGroupAdd_,this),j5(t,$s.REMOVELAYER,this.handleLayerGroupRemove_,this)),this.listenerKeys_[or(t)]=e}handleLayerGroupAdd_(t){this.dispatchEvent(new b4($s.ADDLAYER,t.layer))}handleLayerGroupRemove_(t){this.dispatchEvent(new b4($s.REMOVELAYER,t.layer))}handleLayersAdd_(t){let e=t.element;this.registerLayerListeners_(e),this.dispatchEvent(new b4($s.ADDLAYER,e)),this.changed()}handleLayersRemove_(t){let e=t.element,i=or(e);this.listenerKeys_[i].forEach(t0),delete this.listenerKeys_[i],this.dispatchEvent(new b4($s.REMOVELAYER,e)),this.changed()}getLayers(){return this.get(CB.LAYERS)}setLayers(t){let e=this.getLayers();if(e){let i=e.getArray();for(let o=0,n=i.length;o<n;++o)this.dispatchEvent(new b4($s.REMOVELAYER,i[o]))}this.set(CB.LAYERS,t)}getLayersArray(t){return t=t!==void 0?t:[],this.getLayers().forEach(function(e){e.getLayersArray(t)}),t}getLayerStatesArray(t){let e=t!==void 0?t:[],i=e.length;this.getLayers().forEach(function(c){c.getLayerStatesArray(e)});let o=this.getLayerState(),n=o.zIndex;!t&&o.zIndex===void 0&&(n=0);for(let c=i,A=e.length;c<A;c++){let L=e[c];L.opacity*=o.opacity,L.visible=L.visible&&o.visible,L.maxResolution=Math.min(L.maxResolution,o.maxResolution),L.minResolution=Math.max(L.minResolution,o.minResolution),L.minZoom=Math.max(L.minZoom,o.minZoom),L.maxZoom=Math.min(L.maxZoom,o.maxZoom),o.extent!==void 0&&(L.extent!==void 0?L.extent=tg(L.extent,o.extent):L.extent=o.extent),L.zIndex===void 0&&(L.zIndex=n)}return e}getSourceState(){return"ready"}},Do=gB;var mB=class extends Ju{constructor(t){super(),this.map_=t}dispatchRenderEvent(t,e){$e()}calculateMatrices2D(t){let e=t.viewState,i=t.coordinateToPixelTransform,o=t.pixelToCoordinateTransform;c8(i,t.size[0]/2,t.size[1]/2,1/e.resolution,-1/e.resolution,-e.rotation,-e.center[0],-e.center[1]),Cg(o,i)}forEachFeatureAtCoordinate(t,e,i,o,n,c,A,L){let g,v=e.viewState;function S(r1,L1,w1,S1){return n.call(c,L1,r1?w1:null,S1)}let I=v.projection,B=lg(t.slice(),I),R=[[0,0]];if(I.canWrapX()&&o){let r1=I.getExtent(),L1=C6(r1);R.push([-L1,0],[L1,0])}let H=e.layerStatesArray,V=H.length,G=[],e1=[];for(let r1=0;r1<R.length;r1++)for(let L1=V-1;L1>=0;--L1){let w1=H[L1],S1=w1.layer;if(S1.hasRenderer()&&dc(w1,v)&&A.call(L,S1)){let y1=S1.getRenderer(),C1=S1.getSource();if(y1&&C1){let H1=C1.getWrapX()?B:t,c1=S.bind(null,w1.managed);e1[0]=H1[0]+R[r1][0],e1[1]=H1[1]+R[r1][1],g=y1.forEachFeatureAtCoordinate(e1,e,i,c1,G)}if(g)return g}}if(G.length===0)return;let i1=1/G.length;return G.forEach((r1,L1)=>r1.distanceSq+=L1*i1),G.sort((r1,L1)=>r1.distanceSq-L1.distanceSq),G.some(r1=>g=r1.callback(r1.feature,r1.layer,r1.geometry)),g}hasFeatureAtCoordinate(t,e,i,o,n,c){return this.forEachFeatureAtCoordinate(t,e,i,o,_a,this,n,c)!==void 0}getMap(){return this.map_}renderFrame(t){$e()}scheduleExpireIconCache(t){m9.canExpireCache()&&t.postRenderFunctions.push(g51)}};function g51(r,t){m9.expire()}var cN=mB;var vB=class extends cN{constructor(t){super(t),this.fontChangeListenerKey_=j5(pc,d4.PROPERTYCHANGE,t.redrawText,t),this.element_=xn?Og():document.createElement("div");let e=this.element_.style;e.position="absolute",e.width="100%",e.height="100%",e.zIndex="0",this.element_.className=wo+" ol-layers";let i=t.getViewport();i&&i.insertBefore(this.element_,i.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(t,e){let i=this.getMap();if(i.hasListener(t)){let o=new Jg(t,void 0,e);i.dispatchEvent(o)}}disposeInternal(){t0(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(t){if(!t){this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1);return}this.calculateMatrices2D(t),this.dispatchRenderEvent(Z8.PRECOMPOSE,t);let e=t.layerStatesArray.sort((g,v)=>g.zIndex-v.zIndex);e.some(g=>g.layer instanceof am&&g.layer.getDeclutter())&&(t.declutter={});let o=t.viewState;this.children_.length=0;let n=[],c=null;for(let g=0,v=e.length;g<v;++g){let S=e[g];t.layerIndex=g;let I=S.layer,B=I.getSourceState();if(!dc(S,o)||B!="ready"&&B!="undefined"){I.unrender();continue}let R=I.render(t,c);R&&(R!==c&&(this.children_.push(R),c=R),n.push(S))}this.declutter(t,n),Qk(this.element_,this.children_);let L=this.getMap().getTargetElement();if(y4(L)){let g=L.getContext("2d");for(let v of this.children_){let S=v.firstElementChild||v,I=v.style.backgroundColor;if(I&&(!y4(S)||S.width>0)&&(g.fillStyle=I,g.fillRect(0,0,L.width,L.height)),y4(S)&&S.width>0){let B=v.style.opacity||S.style.opacity;g.globalAlpha=B===""?1:Number(B);let R=S.style.transform;if(R)g.setTransform(...Lg(R));else{let H=parseFloat(S.style.width)/S.width,V=parseFloat(S.style.height)/S.height;g.setTransform(H,0,0,V,0,0)}g.drawImage(S,0,0)}}g.globalAlpha=1,g.setTransform(1,0,0,1,0,0)}this.dispatchRenderEvent(Z8.POSTCOMPOSE,t),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(t)}declutter(t,e){if(t.declutter){for(let i=e.length-1;i>=0;--i){let o=e[i],n=o.layer;n.getDeclutter()&&n.renderDeclutter(t,o)}e.forEach(i=>i.layer.renderDeferred(t))}}},uN=vB;function hN(r){if(r instanceof P7){r.setMapInternal(null);return}r instanceof Do&&r.getLayers().forEach(hN)}function dN(r,t){if(r instanceof P7){r.setMapInternal(t);return}if(r instanceof Do){let e=r.getLayers().getArray();for(let i=0,o=e.length;i<o;++i)dN(e[i],t)}}var yB=class extends g6{constructor(t){super(),t=t||{},this.on,this.once,this.un;let e=m51(t);this.renderComplete_=!1,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=t.maxTilesLoading!==void 0?t.maxTilesLoading:16,this.pixelRatio_=t.pixelRatio!==void 0?t.pixelRatio:zg,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=U6(),this.pixelToCoordinateTransform_=U6(),this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,xn||(this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_)),this.mapBrowserEventHandler_=null,this.moveTolerance_=t.moveTolerance,this.keyboardEventTarget_=e.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,xn||(this.resizeObserver_=new ResizeObserver(()=>this.updateSize())),this.controls=e.controls||(xn?new U8:jO()),this.interactions=e.interactions||(xn?new U8:lN({onFocusOnly:!0})),this.overlays_=e.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new UO(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Q8.LAYERGROUP,this.handleLayerGroupChanged_),this.addChangeListener(Q8.VIEW,this.handleViewChanged_),this.addChangeListener(Q8.SIZE,this.handleSizeChanged_),this.addChangeListener(Q8.TARGET,this.handleTargetChanged_),this.setProperties(e.values);let i=this;t.view&&!(t.view instanceof N8)&&t.view.then(function(o){i.setView(new N8(o))}),this.controls.addEventListener(u8.ADD,o=>{o.element.setMap(this)}),this.controls.addEventListener(u8.REMOVE,o=>{o.element.setMap(null)}),this.interactions.addEventListener(u8.ADD,o=>{o.element.setMap(this)}),this.interactions.addEventListener(u8.REMOVE,o=>{o.element.setMap(null)}),this.overlays_.addEventListener(u8.ADD,o=>{this.addOverlayInternal_(o.element)}),this.overlays_.addEventListener(u8.REMOVE,o=>{let n=o.element.getId();n!==void 0&&delete this.overlayIdIndex_[n.toString()],o.element.setMap(null)}),this.controls.forEach(o=>{o.setMap(this)}),this.interactions.forEach(o=>{o.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(t){this.getControls().push(t)}addInteraction(t){this.getInteractions().push(t)}addLayer(t){this.getLayerGroup().getLayers().push(t)}handleLayerAdd_(t){dN(t.layer,this)}addOverlay(t){this.getOverlays().push(t)}addOverlayInternal_(t){let e=t.getId();e!==void 0&&(this.overlayIdIndex_[e.toString()]=t),t.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_?.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(t,e,i){if(!this.frameState_||!this.renderer_)return;let o=this.getCoordinateFromPixelInternal(t);i=i!==void 0?i:{};let n=i.hitTolerance!==void 0?i.hitTolerance:0,c=i.layerFilter!==void 0?i.layerFilter:_a,A=i.checkWrapped!==!1;return this.renderer_.forEachFeatureAtCoordinate(o,this.frameState_,n,A,e,null,c,null)}getFeaturesAtPixel(t,e){let i=[];return this.forEachFeatureAtPixel(t,function(o){i.push(o)},e),i}getAllLayers(){let t=[];function e(i){i.forEach(function(o){o instanceof Do?e(o.getLayers()):t.push(o)})}return e(this.getLayers()),t}hasFeatureAtPixel(t,e){if(!this.frameState_||!this.renderer_)return!1;let i=this.getCoordinateFromPixelInternal(t);e=e!==void 0?e:{};let o=e.layerFilter!==void 0?e.layerFilter:_a,n=e.hitTolerance!==void 0?e.hitTolerance:0,c=e.checkWrapped!==!1;return this.renderer_.hasFeatureAtCoordinate(i,this.frameState_,n,c,o,null)}getEventCoordinate(t){return this.getCoordinateFromPixel(this.getEventPixel(t))}getEventCoordinateInternal(t){return this.getCoordinateFromPixelInternal(this.getEventPixel(t))}getEventPixel(t){let i=this.viewport_.getBoundingClientRect(),o=this.getSize(),n=i.width/o[0],c=i.height/o[1],A="changedTouches"in t?t.changedTouches[0]:t;return[(A.clientX-i.left)/n,(A.clientY-i.top)/c]}getTarget(){return this.get(Q8.TARGET)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(t){return sf(this.getCoordinateFromPixelInternal(t),this.getView().getProjection())}getCoordinateFromPixelInternal(t){let e=this.frameState_;return e?fi(e.pixelToCoordinateTransform,t.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(t){let e=this.overlayIdIndex_[t.toString()];return e!==void 0?e:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(Q8.LAYERGROUP)}setLayers(t){let e=this.getLayerGroup();if(t instanceof U8){e.setLayers(t);return}let i=e.getLayers();i.clear(),i.extend(t)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){let t=this.getLayerGroup().getLayerStatesArray();for(let e=0,i=t.length;e<i;++e){let o=t[e];if(!o.visible)continue;let n=o.layer.getRenderer();if(n&&!n.ready)return!0;let c=o.layer.getSource();if(c&&c.loading)return!0}return!1}getPixelFromCoordinate(t){let e=L4(t,this.getView().getProjection());return this.getPixelFromCoordinateInternal(e)}getPixelFromCoordinateInternal(t){let e=this.frameState_;return e?fi(e.coordinateToPixelTransform,t.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(Q8.SIZE)}getView(){return this.get(Q8.VIEW)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){let t=this.getTargetElement();return t?t.ownerDocument:document}getTilePriority(t,e,i,o){return QO(this.frameState_,t,e,i,o)}handleBrowserEvent(t,e){e=e||t.type;let i=new Fo(e,this,t);this.handleMapBrowserEvent(i)}handleMapBrowserEvent(t){if(!this.frameState_)return;let e=t.originalEvent,i=e.type;if(i===qf.POINTERDOWN||i===Ke.WHEEL||i===Ke.KEYDOWN){let o=this.getOwnerDocument(),n=this.viewport_.getRootNode?this.viewport_.getRootNode():o,c=e.target,A=n instanceof ShadowRoot?n.host===c?n.host.ownerDocument:n:n===o?o.documentElement:n;if(this.overlayContainerStopEvent_.contains(c)||!A.contains(c))return}if(t.frameState=this.frameState_,this.dispatchEvent(t)!==!1){let o=this.getInteractions().getArray().slice();for(let n=o.length-1;n>=0;n--){let c=o[n];if(c.getMap()!==this||!c.getActive()||!this.getTargetElement())continue;if(!c.handleEvent(t)||t.propagationStopped)break}}}handlePostRender(){let t=this.frameState_,e=this.tileQueue_;if(!e.isEmpty()){let o=this.maxTilesLoading_,n=o;if(t){let c=t.viewHints;if(c[Qi.ANIMATING]||c[Qi.INTERACTING]){let A=Date.now()-t.time>8;o=A?0:8,n=A?0:2}}e.getTilesLoading()<o&&(e.reprioritize(),e.loadMoreTiles(o,n))}t&&this.renderer_&&!t.animate&&(this.renderComplete_?(this.hasListener(Z8.RENDERCOMPLETE)&&this.renderer_.dispatchRenderEvent(Z8.RENDERCOMPLETE,t),this.loaded_===!1&&(this.loaded_=!0,this.dispatchEvent(new Ks(xo.LOADEND,this,t)))):this.loaded_===!0&&(this.loaded_=!1,this.dispatchEvent(new Ks(xo.LOADSTART,this,t))));let i=this.postRenderFunctions_;if(t)for(let o=0,n=i.length;o<n;++o)i[o](this,t);i.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){if(this.mapBrowserEventHandler_){for(let i=0,o=this.targetChangeHandlerKeys_.length;i<o;++i)t0(this.targetChangeHandlerKeys_[i]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(Ke.CONTEXTMENU,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(Ke.WHEEL,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,this.viewport_.remove()}if(this.targetElement_&&!y4(this.targetElement_)){this.resizeObserver_?.unobserve(this.targetElement_);let i=this.targetElement_.getRootNode();i instanceof ShadowRoot&&this.resizeObserver_.unobserve(i.host),this.setSize(void 0)}let t=this.getTarget(),e=typeof t=="string"?document.getElementById(t):t;if(this.targetElement_=e,!e)this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0);else{if(y4(e)||e.appendChild(this.viewport_),this.renderer_||(this.renderer_=new uN(this)),!y4(e)){this.mapBrowserEventHandler_=new NO(this,this.moveTolerance_);for(let o in A3)this.mapBrowserEventHandler_.addEventListener(A3[o],this.handleMapBrowserEvent.bind(this));this.viewport_.addEventListener(Ke.CONTEXTMENU,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(Ke.WHEEL,this.boundHandleBrowserEvent_,kg?{passive:!1}:!1);let i;if(this.keyboardEventTarget_)i=this.keyboardEventTarget_;else{let o=e.getRootNode();i=o instanceof ShadowRoot?o.host:e}if(this.targetChangeHandlerKeys_=[j5(i,Ke.KEYDOWN,this.handleBrowserEvent,this),j5(i,Ke.KEYPRESS,this.handleBrowserEvent,this)],e instanceof HTMLElement){let o=e.getRootNode();o instanceof ShadowRoot&&this.resizeObserver_.observe(o.host),this.resizeObserver_?.observe(e)}}this.updateSize()}}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(t0(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(t0(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);let t=this.getView();t&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=j5(t,d4.PROPERTYCHANGE,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=j5(t,Ke.CHANGE,this.handleViewPropertyChanged_,this),t.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(t0),this.layerGroupPropertyListenerKeys_=null);let t=this.getLayerGroup();t&&(this.handleLayerAdd_(new b4("addlayer",t)),this.layerGroupPropertyListenerKeys_=[j5(t,d4.PROPERTYCHANGE,this.render,this),j5(t,Ke.CHANGE,this.render,this),j5(t,"addlayer",this.handleLayerAdd_,this),j5(t,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){if(!this.frameState_)return;let t=this.frameState_.layerStatesArray;for(let e=0,i=t.length;e<i;++e){let o=t[e].layer;o.hasRenderer()&&o.getRenderer().handleFontsChanged()}}render(){this.renderer_&&this.animationDelayKey_===void 0&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}removeControl(t){return this.getControls().remove(t)}removeInteraction(t){return this.getInteractions().remove(t)}removeLayer(t){return this.getLayerGroup().getLayers().remove(t)}handleLayerRemove_(t){hN(t.layer)}removeOverlay(t){return this.getOverlays().remove(t)}renderFrame_(t){let e=this.getSize(),i=this.getView(),o=this.frameState_,n=null;if(e!==void 0&&cM(e)&&i&&i.isDef()){let c=i.getHints(this.frameState_?this.frameState_.viewHints:void 0),A=i.getState();if(n={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutter:null,extent:of(A.center,A.resolution,A.rotation,e),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:e,tileQueue:this.tileQueue_,time:t,usedTiles:{},viewState:A,viewHints:c,wantedTiles:{},mapId:or(this),renderTargets:{}},A.nextCenter&&A.nextResolution){let L=isNaN(A.nextRotation)?A.rotation:A.nextRotation;n.nextExtent=of(A.nextCenter,A.nextResolution,L,e)}}this.frameState_=n,this.renderer_.renderFrame(n),n&&(n.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,n.postRenderFunctions),o&&(!this.previousExtent_||!ya(this.previousExtent_)&&!Xl(n.extent,this.previousExtent_))&&(this.dispatchEvent(new Ks(xo.MOVESTART,this,o)),this.previousExtent_=va(this.previousExtent_)),this.previousExtent_&&!n.viewHints[Qi.ANIMATING]&&!n.viewHints[Qi.INTERACTING]&&!Xl(n.extent,this.previousExtent_)&&(this.dispatchEvent(new Ks(xo.MOVEEND,this,n)),XC(n.extent,this.previousExtent_))),this.dispatchEvent(new Ks(xo.POSTRENDER,this,n)),this.renderComplete_=(this.hasListener(xo.LOADSTART)||this.hasListener(xo.LOADEND)||this.hasListener(Z8.RENDERCOMPLETE))&&!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(t){let e=this.getLayerGroup();e&&this.handleLayerRemove_(new b4("removelayer",e)),this.set(Q8.LAYERGROUP,t)}setSize(t){this.set(Q8.SIZE,t)}setTarget(t){this.set(Q8.TARGET,t)}setView(t){if(!t||t instanceof N8){this.set(Q8.VIEW,t);return}this.set(Q8.VIEW,new N8);let e=this;t.then(function(i){e.setView(new N8(i))})}updateSize(){let t=this.getTargetElement(),e;if(t){let o,n;if(y4(t))o=t.width,n=t.height;else{let c=getComputedStyle(t);o=t.offsetWidth-parseFloat(c.borderLeftWidth)-parseFloat(c.paddingLeft)-parseFloat(c.paddingRight)-parseFloat(c.borderRightWidth),n=t.offsetHeight-parseFloat(c.borderTopWidth)-parseFloat(c.paddingTop)-parseFloat(c.paddingBottom)-parseFloat(c.borderBottomWidth)}!isNaN(o)&&!isNaN(n)&&(e=[Math.max(0,o),Math.max(0,n)],!cM(e)&&(t.offsetWidth||t.offsetHeight||t.getClientRects().length)&&og("No map visible because the map container's width or height are 0."))}let i=this.getSize();e&&(!i||!g9(e,i))&&(this.setSize(e),this.updateViewportSize_(e))}updateViewportSize_(t){let e=this.getView();e&&e.setViewportSize(t)}};function m51(r){let t=null;r.keyboardEventTarget!==void 0&&(t=typeof r.keyboardEventTarget=="string"?document.getElementById(r.keyboardEventTarget):r.keyboardEventTarget);let e={},i=r.layers&&typeof r.layers.getLayers=="function"?r.layers:new Do({layers:r.layers});e[Q8.LAYERGROUP]=i,e[Q8.TARGET]=r.target,e[Q8.VIEW]=r.view instanceof N8?r.view:new N8;let o;r.controls!==void 0&&(Array.isArray(r.controls)?o=new U8(r.controls.slice()):(jr(typeof r.controls.getArray=="function","Expected `controls` to be an array or an `ol/Collection.js`"),o=r.controls));let n;r.interactions!==void 0&&(Array.isArray(r.interactions)?n=new U8(r.interactions.slice()):(jr(typeof r.interactions.getArray=="function","Expected `interactions` to be an array or an `ol/Collection.js`"),n=r.interactions));let c;return r.overlays!==void 0?Array.isArray(r.overlays)?c=new U8(r.overlays.slice()):(jr(typeof r.overlays.getArray=="function","Expected `overlays` to be an array or an `ol/Collection.js`"),c=r.overlays):c=new U8,{controls:o,interactions:n,keyboardEventTarget:t,overlays:c,values:e}}var vc=yB;var wB="http://www.w3.org/2001/XMLSchema-instance";function Eh(r,t){return Xf().createElementNS(r,t)}function M4(r,t){return AN(r,t,[]).join("")}function AN(r,t,e){if(r.nodeType==Node.CDATA_SECTION_NODE||r.nodeType==Node.TEXT_NODE)t?e.push(String(r.nodeValue).replace(/(\r\n|\r|\n)/g,"")):e.push(r.nodeValue);else{let i;for(i=r.firstChild;i;i=i.nextSibling)AN(i,t,e)}return e}function zo(r){return"documentElement"in r}function i7(r){return new DOMParser().parseFromString(r,"application/xml")}function bB(r,t){return(function(e,i){let o=r.call(t??this,e,i);if(o!==void 0){let n=i[i.length-1];W5(n,o)}})}function Na(r,t){return(function(e,i){let o=r.call(t??this,e,i);o!==void 0&&i[i.length-1].push(o)})}function Am(r,t){return(function(e,i){let o=r.call(t??this,e,i);o!==void 0&&(i[i.length-1]=o)})}function be(r,t,e){return(function(i,o){let n=r.call(e??this,i,o);if(n!==void 0){let c=o[o.length-1],A=t!==void 0?t:i.localName;c[A]=n}})}function s5(r,t){return(function(e,i,o){r.call(t??this,e,i,o),o[o.length-1].node.appendChild(e)})}function ko(r,t){return(function(e,i,o){let c=i[i.length-1].node,A=r;A===void 0&&(A=o);let L=t!==void 0?t:c.namespaceURI;return Eh(L,A)})}var n7=ko();function R7(r,t){let e=t.length,i=new Array(e);for(let o=0;o<e;++o)i[o]=r[t[o]];return i}function Ve(r,t,e){e=e!==void 0?e:{};let i,o;for(i=0,o=r.length;i<o;++i)e[r[i]]=t;return e}function yc(r,t,e,i){let o;for(o=t.firstElementChild;o;o=o.nextElementSibling){let n=r[o.namespaceURI];if(n!==void 0){let c=n[o.localName];c!==void 0&&c.call(i,o,e)}}}function N0(r,t,e,i,o){return i.push(r),yc(t,e,i,o),i.pop()}function v51(r,t,e,i,o,n){let c=(o!==void 0?o:e).length,A,L;for(let g=0;g<c;++g)A=e[g],A!==void 0&&(L=t.call(n,A,i,o!==void 0?o[g]:void 0),L!==void 0&&r[L.namespaceURI][L.localName].call(n,L,A,i))}function v6(r,t,e,i,o,n,c){return o.push(r),v51(t,e,i,o,n,c),o.pop()}var _B;function fN(){return _B===void 0&&typeof XMLSerializer<"u"&&(_B=new XMLSerializer),_B}var xB;function Xf(){return xB===void 0&&typeof document<"u"&&(xB=document.implementation.createDocument("","",null)),xB}var MB=class extends Sg{constructor(){super(),this.xmlSerializer_=fN()}getType(){return"xml"}readFeature(t,e){if(!t)return null;if(typeof t=="string"){let i=i7(t);return this.readFeatureFromDocument(i,e)}return zo(t)?this.readFeatureFromDocument(t,e):this.readFeatureFromNode(t,e)}readFeatureFromDocument(t,e){let i=this.readFeaturesFromDocument(t,e);return i.length>0?i[0]:null}readFeatureFromNode(t,e){return null}readFeatures(t,e){if(!t)return[];if(typeof t=="string"){let i=i7(t);return this.readFeaturesFromDocument(i,e)}return zo(t)?this.readFeaturesFromDocument(t,e):this.readFeaturesFromNode(t,e)}readFeaturesFromDocument(t,e){let i=[];for(let o=t.firstChild;o;o=o.nextSibling)o.nodeType==Node.ELEMENT_NODE&&W5(i,this.readFeaturesFromNode(o,e));return i}readFeaturesFromNode(t,e){return $e()}readGeometry(t,e){if(!t)return null;if(typeof t=="string"){let i=i7(t);return this.readGeometryFromDocument(i,e)}return zo(t)?this.readGeometryFromDocument(t,e):this.readGeometryFromNode(t,e)}readGeometryFromDocument(t,e){return null}readGeometryFromNode(t,e){return null}readProjection(t){if(!t)return null;if(typeof t=="string"){let e=i7(t);return this.readProjectionFromDocument(e)}return zo(t)?this.readProjectionFromDocument(t):this.readProjectionFromNode(t)}readProjectionFromDocument(t){return this.dataProjection}readProjectionFromNode(t){return this.dataProjection}writeFeature(t,e){let i=this.writeFeatureNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeFeatureNode(t,e){return null}writeFeatures(t,e){let i=this.writeFeaturesNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeFeaturesNode(t,e){return null}writeGeometry(t,e){let i=this.writeGeometryNode(t,e);return this.xmlSerializer_.serializeToString(i)}writeGeometryNode(t,e){return null}},pN=MB;function Za(r){let t=M4(r,!1);return y51(t)}function y51(r){let t=/^\s*(true|1)|(false|0)\s*$/.exec(r);if(t)return t[1]!==void 0||!1}function N3(r){let t=M4(r,!1);return _51(t)}function _51(r){let t=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(r);if(t)return parseFloat(t[1])}function H8(r){return M4(r,!1).trim()}function _c(r,t){o7(r,t?"1":"0")}function x51(r,t){r.appendChild(Xf().createCDATASection(t))}function Xs(r,t){let e=t.toPrecision();r.appendChild(Xf().createTextNode(e))}var w51=/^\s/,b51=/\s$/,M51=/(\n|\t|\r|<|&| {2})/;function o7(r,t){typeof t=="string"&&(w51.test(t)||b51.test(t)||M51.test(t))?t.split("]]>").forEach((e,i,o)=>{i<o.length-1&&(e+="]]"),i>0&&(e=">"+e),x51(r,e)}):r.appendChild(Xf().createTextNode(t))}var Ua=["http://www.google.com/kml/ext/2.2"],Oe=[null,"http://earth.google.com/kml/2.0","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.2","http://www.opengis.net/kml/2.2"],B51="http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd",LN={fraction:"fraction",pixels:"pixels",insetPixels:"pixels"},S51=Ve(Oe,{ExtendedData:zN,Region:kN,MultiGeometry:be(PN,"geometry"),LineString:be(IN,"geometry"),LinearRing:be(FN,"geometry"),Point:be(RN,"geometry"),Polygon:be(DN,"geometry"),Style:be(kB),StyleMap:ur1,address:be(H8),description:be(H8),name:be(H8),open:be(Za),phoneNumber:be(H8),styleUrl:be(MN),visibility:be(Za)},Ve(Ua,{MultiTrack:be(X51,"geometry"),Track:be(TN,"geometry")})),E51=Ve(Oe,{ExtendedData:zN,Region:kN,Link:_r1,address:be(H8),description:be(H8),name:be(H8),open:be(Za),phoneNumber:be(H8),visibility:be(Za)}),T51=Ve(Oe,{href:be(bN)}),I51=Ve(Oe,{Altitude:be(N3),Longitude:be(N3),Latitude:be(N3),Tilt:be(N3),AltitudeMode:be(H8),Heading:be(N3),Roll:be(N3)}),_N=Ve(Oe,{LatLonAltBox:pr1,Lod:Cr1}),F51=Ve(Oe,["Document","Placemark"]),P51=Ve(Oe,{Document:s5(Tr1),Placemark:s5(ZN)}),Th,pm=null;var EB,Yf,Jf,tp,Cm,TB=null;var DB,IB=null;var FB,xc=null;var CN=null;var PB=null;function gm(r){return 32/Math.min(r[0],r[1])}function R51(){Th=[255,255,255,1],pm=new r6({color:Th}),EB=[20,2],Yf="pixels",Jf="pixels",tp=[64,64],Cm="https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png",TB=new Bn({anchor:EB,anchorOrigin:"bottom-left",anchorXUnits:Yf,anchorYUnits:Jf,crossOrigin:"anonymous",rotation:0,scale:gm(tp),size:tp,src:Cm}),DB="NO_IMAGE",IB=new pi({color:Th,width:1}),FB=new pi({color:[51,51,51,1],width:2}),xc=new Ra({font:"bold 16px Helvetica",fill:pm,stroke:FB,scale:.8}),CN=new J0({fill:pm,image:TB,text:xc,stroke:IB,zIndex:0}),PB=[CN]}var fm;function D51(r){return r}var RB=class extends pN{constructor(t){super(),t=t||{},PB||R51(),this.dataProjection=e0("EPSG:4326"),this.defaultStyle_=t.defaultStyle?t.defaultStyle:PB,this.extractStyles_=t.extractStyles!==void 0?t.extractStyles:!0,this.writeStyles_=t.writeStyles!==void 0?t.writeStyles:!0,this.sharedStyles_={},this.showPointNames_=t.showPointNames!==void 0?t.showPointNames:!0,this.crossOrigin_=t.crossOrigin!==void 0?t.crossOrigin:"anonymous",this.iconUrlFunction_=t.iconUrlFunction?t.iconUrlFunction:D51,this.supportedMediaTypes=["application/vnd.google-earth.kml+xml"]}readDocumentOrFolder_(t,e){let i=Ve(Oe,{Document:bB(this.readDocumentOrFolder_,this),Folder:bB(this.readDocumentOrFolder_,this),Placemark:Na(this.readPlacemark_,this),Style:this.readSharedStyle_.bind(this),StyleMap:this.readSharedStyleMap_.bind(this)}),o=N0([],i,t,e,this);if(o)return o}readPlacemark_(t,e){let i=N0({geometry:null},S51,t,e,this);if(!i)return;let o=new T7,n=t.getAttribute("id");n!==null&&o.setId(n);let c=e[0],A=i.geometry;if(A&&hc(A,!1,c),o.setGeometry(A),delete i.geometry,this.extractStyles_){let L=i.Style,g=i.styleUrl,v=k51(L,g,this.defaultStyle_,this.sharedStyles_,this.showPointNames_);o.setStyle(v)}return delete i.Style,o.setProperties(i,!0),o}readSharedStyle_(t,e){let i=t.getAttribute("id");if(i!==null){let o=kB.call(this,t,e);if(o){let n,c=t.baseURI;(!c||c=="about:blank")&&(c=window.location.href),c?n=new URL("#"+i,c).href:n="#"+i,this.sharedStyles_[n]=o}}}readSharedStyleMap_(t,e){let i=t.getAttribute("id");if(i===null)return;let o=SN.call(this,t,e);if(!o)return;let n,c=t.baseURI;(!c||c=="about:blank")&&(c=window.location.href),c?n=new URL("#"+i,c).href:n="#"+i,this.sharedStyles_[n]=o}readFeatureFromNode(t,e){if(!Oe.includes(t.namespaceURI))return null;let i=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return i||null}readFeaturesFromNode(t,e){if(!Oe.includes(t.namespaceURI))return[];let i,o=t.localName;if(o=="Document"||o=="Folder")return i=this.readDocumentOrFolder_(t,[this.getReadOptions(t,e)]),i||[];if(o=="Placemark"){let n=this.readPlacemark_(t,[this.getReadOptions(t,e)]);return n?[n]:[]}if(o=="kml"){i=[];for(let n=t.firstElementChild;n;n=n.nextElementSibling){let c=this.readFeaturesFromNode(n,e);c&&W5(i,c)}return i}return[]}readName(t){if(t){if(typeof t=="string"){let e=i7(t);return this.readNameFromDocument(e)}return zo(t)?this.readNameFromDocument(t):this.readNameFromNode(t)}}readNameFromDocument(t){for(let e=t.firstChild;e;e=e.nextSibling)if(e.nodeType==Node.ELEMENT_NODE){let i=this.readNameFromNode(e);if(i)return i}}readNameFromNode(t){for(let e=t.firstElementChild;e;e=e.nextElementSibling)if(Oe.includes(e.namespaceURI)&&e.localName=="name")return H8(e);for(let e=t.firstElementChild;e;e=e.nextElementSibling){let i=e.localName;if(Oe.includes(e.namespaceURI)&&(i=="Document"||i=="Folder"||i=="Placemark"||i=="kml")){let o=this.readNameFromNode(e);if(o)return o}}}readNetworkLinks(t){let e=[];if(typeof t=="string"){let i=i7(t);W5(e,this.readNetworkLinksFromDocument(i))}else zo(t)?W5(e,this.readNetworkLinksFromDocument(t)):W5(e,this.readNetworkLinksFromNode(t));return e}readNetworkLinksFromDocument(t){let e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType==Node.ELEMENT_NODE&&W5(e,this.readNetworkLinksFromNode(i));return e}readNetworkLinksFromNode(t){let e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(Oe.includes(i.namespaceURI)&&i.localName=="NetworkLink"){let o=N0({},E51,i,[]);e.push(o)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){let o=i.localName;Oe.includes(i.namespaceURI)&&(o=="Document"||o=="Folder"||o=="kml")&&W5(e,this.readNetworkLinksFromNode(i))}return e}readRegion(t){let e=[];if(typeof t=="string"){let i=i7(t);W5(e,this.readRegionFromDocument(i))}else zo(t)?W5(e,this.readRegionFromDocument(t)):W5(e,this.readRegionFromNode(t));return e}readRegionFromDocument(t){let e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType==Node.ELEMENT_NODE&&W5(e,this.readRegionFromNode(i));return e}readRegionFromNode(t){let e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(Oe.includes(i.namespaceURI)&&i.localName=="Region"){let o=N0({},_N,i,[]);e.push(o)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){let o=i.localName;Oe.includes(i.namespaceURI)&&(o=="Document"||o=="Folder"||o=="kml")&&W5(e,this.readRegionFromNode(i))}return e}readCamera(t){let e=[];if(typeof t=="string"){let i=i7(t);W5(e,this.readCameraFromDocument(i))}else zo(t)?W5(e,this.readCameraFromDocument(t)):W5(e,this.readCameraFromNode(t));return e}readCameraFromDocument(t){let e=[];for(let i=t.firstChild;i;i=i.nextSibling)i.nodeType===Node.ELEMENT_NODE&&W5(e,this.readCameraFromNode(i));return e}readCameraFromNode(t){let e=[];for(let i=t.firstElementChild;i;i=i.nextElementSibling)if(Oe.includes(i.namespaceURI)&&i.localName==="Camera"){let o=N0({},I51,i,[]);e.push(o)}for(let i=t.firstElementChild;i;i=i.nextElementSibling){let o=i.localName;Oe.includes(i.namespaceURI)&&(o==="Document"||o==="Folder"||o==="Placemark"||o==="kml")&&W5(e,this.readCameraFromNode(i))}return e}writeFeaturesNode(t,e){e=this.adaptOptions(e);let i=Eh(Oe[4],"kml"),o="http://www.w3.org/2000/xmlns/";i.setAttributeNS(o,"xmlns:gx",Ua[0]),i.setAttributeNS(o,"xmlns:xsi",wB),i.setAttributeNS(wB,"xsi:schemaLocation",B51);let n={node:i},c={};t.length>1?c.Document=t:t.length==1&&(c.Placemark=t[0]);let A=F51[i.namespaceURI],L=R7(c,A);return v6(n,P51,n7,L,[e],A,this),i}};function z51(r,t){let e=[0,0],i="start",o=r.getImage();if(o){let A=o.getSize();if(A&&A.length==2){let L=o.getScaleArray(),g=o.getAnchor();e[0]=L[0]*(A[0]-g[0]),e[1]=L[1]*(A[1]/2-g[1]),i="left"}}let n=r.getText();return n?(n=n.clone(),n.setFont(n.getFont()||xc.getFont()),n.setScale(n.getScale()||xc.getScale()),n.setFill(n.getFill()||xc.getFill()),n.setStroke(n.getStroke()||FB)):n=xc.clone(),n.setText(t),n.setOffsetX(e[0]),n.setOffsetY(e[1]),n.setTextAlign(i),new J0({image:o,text:n})}function k51(r,t,e,i,o){return(function(n,c){let A=o,L="",g=[];if(A){let S=n.getGeometry();if(S)if(S instanceof Yn)g=S.getGeometriesArrayRecursive().filter(function(I){let B=I.getType();return B==="Point"||B==="MultiPoint"}),A=g.length>0;else{let I=S.getType();A=I==="Point"||I==="MultiPoint"}}A&&(L=n.get("name"),A=A&&!!L,A&&/&[^&]+;/.test(L)&&(fm||(fm=document.createElement("textarea")),fm.innerHTML=L,L=fm.value));let v=e;if(r?v=r:t&&(v=xN(t,e,i)),A){let S=z51(v[0],L);if(g.length>0){S.setGeometry(new Yn(g));let I=new J0({geometry:v[0].getGeometry(),image:null,fill:v[0].getFill(),stroke:v[0].getStroke(),text:null});return[S,I].concat(v.slice(1))}return S}return v})}function xN(r,t,e){return Array.isArray(r)?r:typeof r=="string"?xN(e[r],t,e):t}function mm(r){let t=M4(r,!1),e=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(t);if(e){let i=e[1];return[parseInt(i.substr(6,2),16),parseInt(i.substr(4,2),16),parseInt(i.substr(2,2),16),parseInt(i.substr(0,2),16)/255]}}function wN(r){let t=M4(r,!1),e=[];t=t.replace(/\s*,\s*/g,",");let i=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?),([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|,|$)(?:([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|$))?\s*/i,o;for(;o=i.exec(t);){let n=parseFloat(o[1]),c=parseFloat(o[2]),A=o[3]?parseFloat(o[3]):0;e.push(n,c,A),t=t.substr(o[0].length)}if(t==="")return e}function bN(r){let t=M4(r,!1).trim(),e=r.baseURI;return(!e||e=="about:blank")&&(e=window.location.href),e?new URL(t,e).href:t}function MN(r){let t=M4(r,!1).trim().replace(/^(?!.*#)/,"#"),e=r.baseURI;return(!e||e=="about:blank")&&(e=window.location.href),e?new URL(t,e).href:t}function O51(r){let t=r.getAttribute("xunits"),e=r.getAttribute("yunits"),i;return t!=="insetPixels"?e!=="insetPixels"?i="bottom-left":i="top-left":e!=="insetPixels"?i="bottom-right":i="top-right",{x:parseFloat(r.getAttribute("x")),xunits:LN[t],y:parseFloat(r.getAttribute("y")),yunits:LN[e],origin:i}}function BN(r){return N3(r)}var N51=Ve(Oe,{Pair:cr1});function SN(r,t){return N0(void 0,N51,r,t,this)}var Z51=Ve(Oe,{Icon:be(tr1),color:be(mm),heading:be(N3),hotSpot:be(O51),scale:be(BN)});function U51(r,t){let e=N0({},Z51,r,t);if(!e)return;let i=t[t.length-1],o="Icon"in e?e.Icon:{},n=!("Icon"in e)||Object.keys(o).length>0,c,A=o.href;A?c=A:n&&(c=Cm);let L,g,v,S="bottom-left",I=e.hotSpot;I?(L=[I.x,I.y],g=I.xunits,v=I.yunits,S=I.origin):/^https?:\/\/maps\.(?:google|gstatic)\.com\//.test(c)&&(c.includes("pushpin")?(L=EB,g=Yf,v=Jf):c.includes("arrow-reverse")?(L=[54,42],g=Yf,v=Jf):c.includes("paddle")&&(L=[32,1],g=Yf,v=Jf));let B,R=o.x,H=o.y;R!==void 0&&H!==void 0&&(B=[R,H]);let V,G=o.w,e1=o.h;G!==void 0&&e1!==void 0&&(V=[G,e1]);let i1,r1=e.heading;r1!==void 0&&(i1=D8(r1));let L1=e.scale,w1=e.color;if(n){c==Cm&&(V=tp);let S1=new Bn({anchor:L,anchorOrigin:S,anchorXUnits:g,anchorYUnits:v,crossOrigin:this.crossOrigin_,offset:B,offsetOrigin:"bottom-left",rotation:i1,scale:L1,size:V,src:this.iconUrlFunction_(c),color:w1}),y1=S1.getScaleArray()[0],C1=S1.getSize();if(C1===null){let H1=S1.getImageState();if(H1===Xe.IDLE||H1===Xe.LOADING){let c1=function(){let g1=S1.getImageState();if(!(g1===Xe.IDLE||g1===Xe.LOADING)){let Z1=S1.getSize();if(Z1&&Z1.length==2){let V1=gm(Z1);S1.setScale(y1*V1)}S1.unlistenImageChange(c1)}};S1.listenImageChange(c1),H1===Xe.IDLE&&S1.load()}}else if(C1.length==2){let H1=gm(C1);S1.setScale(y1*H1)}i.imageStyle=S1}else i.imageStyle=DB}var Q51=Ve(Oe,{color:be(mm),scale:be(BN)});function H51(r,t){let e=N0({},Q51,r,t);if(!e)return;let i=t[t.length-1],o=new Ra({fill:new r6({color:"color"in e?e.color:Th}),scale:e.scale});i.textStyle=o}var V51=Ve(Oe,{color:be(mm),width:be(N3)});function G51(r,t){let e=N0({},V51,r,t);if(!e)return;let i=t[t.length-1],o=new pi({color:"color"in e?e.color:Th,width:"width"in e?e.width:1});i.strokeStyle=o}var j51=Ve(Oe,{color:be(mm),fill:be(Za),outline:be(Za)});function q51(r,t){let e=N0({},j51,r,t);if(!e)return;let i=t[t.length-1],o=new r6({color:"color"in e?e.color:Th});i.fillStyle=o;let n=e.fill;n!==void 0&&(i.fill=n);let c=e.outline;c!==void 0&&(i.outline=c)}var K51=Ve(Oe,{coordinates:Am(wN)});function EN(r,t){return N0(null,K51,r,t)}function W51(r,t){let i=t[t.length-1].coordinates,o=M4(r,!1),c=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(o);if(c){let A=parseFloat(c[1]),L=parseFloat(c[2]),g=parseFloat(c[3]);i.push([A,L,g])}else i.push([])}var $51=Ve(Ua,{Track:Na(TN)});function X51(r,t){let e=N0([],$51,r,t);if(e)return new uh(e)}var Y51=Ve(Oe,{when:xr1},Ve(Ua,{coord:W51}));function TN(r,t){let e=N0({coordinates:[],whens:[]},Y51,r,t);if(!e)return;let i=[],o=e.coordinates,n=e.whens;for(let c=0,A=Math.min(o.length,n.length);c<A;++c)o[c].length==3&&i.push(o[c][0],o[c][1],o[c][2],n[c]);return new C4(i,"XYZM")}var J51=Ve(Oe,{href:be(bN)},Ve(Ua,{x:be(N3),y:be(N3),w:be(N3),h:be(N3)}));function tr1(r,t){let e=N0({},J51,r,t);return e||null}var er1=Ve(Oe,{coordinates:Am(wN)});function zB(r,t){return N0(null,er1,r,t)}var vm=Ve(Oe,{extrude:be(Za),tessellate:be(Za),altitudeMode:be(H8)});function IN(r,t){let e=N0({},vm,r,t),i=zB(r,t);if(i){let o=new C4(i,"XYZ");return o.setProperties(e,!0),o}}function FN(r,t){let e=N0({},vm,r,t),i=zB(r,t);if(i){let o=new g4(i,"XYZ",[i.length]);return o.setProperties(e,!0),o}}var rr1=Ve(Oe,{LineString:Na(IN),LinearRing:Na(FN),MultiGeometry:Na(PN),Point:Na(RN),Polygon:Na(DN)});function PN(r,t){let e=N0([],rr1,r,t);if(!e)return null;if(e.length===0)return new Yn(e);let i,o=!0,n=e[0].getType(),c;for(let A=1,L=e.length;A<L;++A)if(c=e[A],c.getType()!=n){o=!1;break}if(o){let A,L;if(n=="Point"){let g=e[0];A=g.getLayout(),L=g.getFlatCoordinates();for(let v=1,S=e.length;v<S;++v)c=e[v],W5(L,c.getFlatCoordinates());i=new _o(L,A),BB(i,e)}else if(n=="LineString")i=new uh(e),BB(i,e);else if(n=="Polygon")i=new vf(e),BB(i,e);else if(n=="GeometryCollection"||n.startsWith("Multi"))i=new Yn(e);else throw new Error("Unknown geometry type found")}else i=new Yn(e);return i}function RN(r,t){let e=N0({},vm,r,t),i=zB(r,t);if(i){let o=new k8(i,"XYZ");return o.setProperties(e,!0),o}}var ir1=Ve(Oe,{innerBoundaryIs:mr1,outerBoundaryIs:yr1});function DN(r,t){let e=N0({},vm,r,t),i=N0([null],ir1,r,t);if(i&&i[0]){let o=i[0],n=[o.length];for(let A=1,L=i.length;A<L;++A)W5(o,i[A]),n.push(o.length);let c=new g4(o,"XYZ",n);return c.setProperties(e,!0),c}}var nr1=Ve(Oe,{IconStyle:U51,LabelStyle:H51,LineStyle:G51,PolyStyle:q51});function kB(r,t){let e=N0({},nr1,r,t,this);if(!e)return null;let i="fillStyle"in e?e.fillStyle:pm,o=e.fill;o!==void 0&&!o&&(i=null);let n;"imageStyle"in e?e.imageStyle!=DB&&(n=e.imageStyle):n=TB;let c="textStyle"in e?e.textStyle:xc,A="strokeStyle"in e?e.strokeStyle:IB,L=e.outline;return L!==void 0&&!L?[new J0({geometry:function(g){let v=g.getGeometry(),S=v.getType();if(S==="GeometryCollection"){let I=v;return new Yn(I.getGeometriesArrayRecursive().filter(function(B){let R=B.getType();return R!=="Polygon"&&R!=="MultiPolygon"}))}if(S!=="Polygon"&&S!=="MultiPolygon")return v},fill:i,image:n,stroke:A,text:c,zIndex:void 0}),new J0({geometry:function(g){let v=g.getGeometry(),S=v.getType();if(S==="GeometryCollection"){let I=v;return new Yn(I.getGeometriesArrayRecursive().filter(function(B){let R=B.getType();return R==="Polygon"||R==="MultiPolygon"}))}if(S==="Polygon"||S==="MultiPolygon")return v},fill:i,stroke:null,zIndex:void 0})]:[new J0({fill:i,image:n,stroke:A,text:c,zIndex:void 0})]}function BB(r,t){let e=t.length,i=new Array(t.length),o=new Array(t.length),n=new Array(t.length),c,A,L;c=!1,A=!1,L=!1;for(let g=0;g<e;++g){let v=t[g];i[g]=v.get("extrude"),o[g]=v.get("tessellate"),n[g]=v.get("altitudeMode"),c=c||i[g]!==void 0,A=A||o[g]!==void 0,L=L||n[g]}c&&r.set("extrude",i),A&&r.set("tessellate",o),L&&r.set("altitudeMode",n)}var or1=Ve(Oe,{displayName:be(H8),value:be(H8)});function ar1(r,t){let e=r.getAttribute("name");yc(or1,r,t);let i=t[t.length-1];e&&i.displayName?i[e]={value:i.value,displayName:i.displayName,toString:function(){return i.value}}:e!==null?i[e]=i.value:i.displayName!==null&&(i[i.displayName]=i.value),delete i.value}var sr1=Ve(Oe,{Data:ar1,SchemaData:dr1});function zN(r,t){yc(sr1,r,t)}function kN(r,t){yc(_N,r,t)}var lr1=Ve(Oe,{Style:be(kB),key:be(H8),styleUrl:be(MN)});function cr1(r,t){let e=N0({},lr1,r,t,this);if(!e)return;let i=e.key;if(i&&i=="normal"){let o=e.styleUrl;o&&(t[t.length-1]=o);let n=e.Style;n&&(t[t.length-1]=n)}}function ur1(r,t){let e=SN.call(this,r,t);if(!e)return;let i=t[t.length-1];if(Array.isArray(e))i.Style=e;else if(typeof e=="string")i.styleUrl=e;else throw new Error("`styleMapValue` has an unknown type")}var hr1=Ve(Oe,{SimpleData:Ar1});function dr1(r,t){yc(hr1,r,t)}function Ar1(r,t){let e=r.getAttribute("name");if(e!==null){let i=H8(r),o=t[t.length-1];o[e]=i}}var fr1=Ve(Oe,{altitudeMode:be(H8),minAltitude:be(N3),maxAltitude:be(N3),north:be(N3),south:be(N3),east:be(N3),west:be(N3)});function pr1(r,t){let e=N0({},fr1,r,t);if(!e)return;let i=t[t.length-1],o=[parseFloat(e.west),parseFloat(e.south),parseFloat(e.east),parseFloat(e.north)];i.extent=o,i.altitudeMode=e.altitudeMode,i.minAltitude=parseFloat(e.minAltitude),i.maxAltitude=parseFloat(e.maxAltitude)}var Lr1=Ve(Oe,{minLodPixels:be(N3),maxLodPixels:be(N3),minFadeExtent:be(N3),maxFadeExtent:be(N3)});function Cr1(r,t){let e=N0({},Lr1,r,t);if(!e)return;let i=t[t.length-1];i.minLodPixels=parseFloat(e.minLodPixels),i.maxLodPixels=parseFloat(e.maxLodPixels),i.minFadeExtent=parseFloat(e.minFadeExtent),i.maxFadeExtent=parseFloat(e.maxFadeExtent)}var gr1=Ve(Oe,{LinearRing:Na(EN)});function mr1(r,t){let e=N0([],gr1,r,t);e.length>0&&t[t.length-1].push(...e)}var vr1=Ve(Oe,{LinearRing:Am(EN)});function yr1(r,t){let e=N0(void 0,vr1,r,t);if(e){let i=t[t.length-1];i[0]=e}}function _r1(r,t){yc(T51,r,t)}function xr1(r,t){let i=t[t.length-1].whens,o=M4(r,!1),n=Date.parse(o);i.push(isNaN(n)?0:n)}function ym(r,t){let e=t7(t),o=[(e.length==4?e[3]:1)*255,e[2],e[1],e[0]];for(let n=0;n<4;++n){let c=Math.floor(o[n]).toString(16);o[n]=c.length==1?"0"+c:c}o7(r,o.join(""))}function wr1(r,t,e){let i=e[e.length-1],o=i.layout,n=i.stride,c;if(o=="XY"||o=="XYM")c=2;else if(o=="XYZ"||o=="XYZM")c=3;else throw new Error("Invalid geometry layout");let A=t.length,L="";if(A>0){L+=t[0];for(let g=1;g<c;++g)L+=","+t[g];for(let g=n;g<A;g+=n){L+=" "+t[g];for(let v=1;v<c;++v)L+=","+t[g+v]}}o7(r,L)}var Lm=Ve(Oe,{Data:s5(br1),value:s5(Br1),displayName:s5(Mr1)});function br1(r,t,e){r.setAttribute("name",t.name);let i={node:r},o=t.value;typeof o=="object"?(o!==null&&o.displayName&&v6(i,Lm,n7,[o.displayName],e,["displayName"]),o!==null&&o.value&&v6(i,Lm,n7,[o.value],e,["value"])):v6(i,Lm,n7,[o],e,["value"])}function Mr1(r,t){o7(r,t)}function Br1(r,t){o7(r,t)}var Sr1=Ve(Oe,{Placemark:s5(ZN)}),Er1=function(r,t,e){let i=t[t.length-1].node;return Eh(i.namespaceURI,"Placemark")};function Tr1(r,t,e){v6({node:r},Sr1,Er1,t,e,void 0,this)}var Ir1=ko("Data");function Fr1(r,t,e){let i={node:r},o=t.names,n=t.values,c=o.length;for(let A=0;A<c;A++)v6(i,Lm,Ir1,[{name:o[A],value:n[A]}],e)}var gN=Ve(Oe,["href"],Ve(Ua,["x","y","w","h"])),mN=Ve(Oe,{href:s5(o7)},Ve(Ua,{x:s5(Xs),y:s5(Xs),w:s5(Xs),h:s5(Xs)})),Pr1=function(r,t,e){return Eh(Ua[0],"gx:"+e)};function Rr1(r,t,e){let i={node:r},o=e[e.length-1].node,n=gN[o.namespaceURI],c=R7(t,n);v6(i,mN,n7,c,e,n),n=gN[Ua[0]],c=R7(t,n),v6(i,mN,Pr1,c,e,n)}var Dr1=Ve(Oe,["scale","heading","Icon","color","hotSpot"]),zr1=Ve(Oe,{Icon:s5(Rr1),color:s5(ym),heading:s5(Xs),hotSpot:s5(c01),scale:s5(QN)});function kr1(r,t,e){let i={node:r},o={},n=t.getSrc(),c=t.getSize(),A=t.getImageSize(),L={href:n};if(c){L.w=c[0],L.h=c[1];let V=t.getAnchor(),G=t.getOrigin();if(G&&A&&G[0]!==0&&G[1]!==c[1]&&(L.x=G[0],L.y=A[1]-(G[1]+c[1])),V&&(V[0]!==c[0]/2||V[1]!==c[1]/2)){let e1={x:V[0],xunits:"pixels",y:c[1]-V[1],yunits:"pixels"};o.hotSpot=e1}}o.Icon=L;let g=t.getScaleArray()[0],v=c;if(v===null&&(v=tp),v.length==2){let V=gm(v);g=g/V}g!==1&&(o.scale=g);let S=t.getRotation();S!==0&&(o.heading=S);let I=t.getColor();I&&(o.color=I);let B=e[e.length-1].node,R=Dr1[B.namespaceURI],H=R7(o,R);v6(i,zr1,n7,H,e,R)}var Or1=Ve(Oe,["color","scale"]),Nr1=Ve(Oe,{color:s5(ym),scale:s5(QN)});function Zr1(r,t,e){let i={node:r},o={},n=t.getFill();n&&(o.color=n.getColor());let c=t.getScale();c&&c!==1&&(o.scale=c);let A=e[e.length-1].node,L=Or1[A.namespaceURI],g=R7(o,L);v6(i,Nr1,n7,g,e,L)}var Ur1=Ve(Oe,["color","width"]),Qr1=Ve(Oe,{color:s5(ym),width:s5(Xs)});function Hr1(r,t,e){let i={node:r},o={color:t.getColor(),width:Number(t.getWidth())||1},n=e[e.length-1].node,c=Ur1[n.namespaceURI],A=R7(o,c);v6(i,Qr1,n7,A,e,c)}var Vr1={Point:"Point",LineString:"LineString",LinearRing:"LinearRing",Polygon:"Polygon",MultiPoint:"MultiGeometry",MultiLineString:"MultiGeometry",MultiPolygon:"MultiGeometry",GeometryCollection:"MultiGeometry"},ON=function(r,t,e){if(r){let i=t[t.length-1].node;return Eh(i.namespaceURI,Vr1[r.getType()])}},Gr1=ko("Point"),jr1=ko("LineString"),qr1=ko("LinearRing"),Kr1=ko("Polygon"),Wr1=Ve(Oe,{LineString:s5(Ih),Point:s5(Ih),Polygon:s5(UN),GeometryCollection:s5(NN)});function NN(r,t,e){let i={node:r},o=t.getType(),n=[],c;if(o==="GeometryCollection")t.getGeometriesArrayRecursive().forEach(function(A){let L=A.getType();if(L==="MultiPoint")n=n.concat(A.getPoints());else if(L==="MultiLineString")n=n.concat(A.getLineStrings());else if(L==="MultiPolygon")n=n.concat(A.getPolygons());else if(L==="Point"||L==="LineString"||L==="Polygon")n.push(A);else throw new Error("Unknown geometry type")}),c=ON;else if(o==="MultiPoint")n=t.getPoints(),c=Gr1;else if(o==="MultiLineString")n=t.getLineStrings(),c=jr1;else if(o==="MultiPolygon")n=t.getPolygons(),c=Kr1;else throw new Error("Unknown geometry type");v6(i,Wr1,c,n,e)}var $r1=Ve(Oe,{LinearRing:s5(Ih)});function vN(r,t,e){v6({node:r},$r1,qr1,[t],e)}var SB=Ve(Oe,{ExtendedData:s5(Fr1),MultiGeometry:s5(NN),LineString:s5(Ih),LinearRing:s5(Ih),Point:s5(Ih),Polygon:s5(UN),Style:s5(l01),address:s5(o7),description:s5(o7),name:s5(o7),open:s5(_c),phoneNumber:s5(o7),styleUrl:s5(o7),visibility:s5(_c)}),Xr1=Ve(Oe,["name","open","visibility","address","phoneNumber","description","styleUrl","Style"]),Yr1=ko("ExtendedData");function ZN(r,t,e){let i={node:r};t.getId()&&r.setAttribute("id",t.getId());let o=t.getProperties(),n={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};n[t.getGeometryName()]=1;let c=Object.keys(o||{}).sort().filter(function(B){return!n[B]}),A=t.getStyleFunction();if(A){let B=A(t,0);if(B){let R=Array.isArray(B)?B:[B],H=R;if(t.getGeometry()&&(H=R.filter(function(V){let G=V.getGeometryFunction()(t);if(G){let e1=G.getType();return e1==="GeometryCollection"?G.getGeometriesArrayRecursive().filter(function(i1){let r1=i1.getType();return r1==="Point"||r1==="MultiPoint"}).length:e1==="Point"||e1==="MultiPoint"}})),this.writeStyles_){let V=R,G=R;t.getGeometry()&&(V=R.filter(function(e1){let i1=e1.getGeometryFunction()(t);if(i1){let r1=i1.getType();return r1==="GeometryCollection"?i1.getGeometriesArrayRecursive().filter(function(L1){let w1=L1.getType();return w1==="LineString"||w1==="MultiLineString"}).length:r1==="LineString"||r1==="MultiLineString"}}),G=R.filter(function(e1){let i1=e1.getGeometryFunction()(t);if(i1){let r1=i1.getType();return r1==="GeometryCollection"?i1.getGeometriesArrayRecursive().filter(function(L1){let w1=L1.getType();return w1==="Polygon"||w1==="MultiPolygon"}).length:r1==="Polygon"||r1==="MultiPolygon"}})),o.Style={pointStyles:H,lineStyles:V,polyStyles:G}}if(H.length&&o.name===void 0){let V=H[0].getText();V&&(o.name=V.getText())}}}let L=e[e.length-1].node,g=Xr1[L.namespaceURI],v=R7(o,g);if(v6(i,SB,n7,v,e,g),c.length>0){let B=R7(o,c);v6(i,SB,Yr1,[{names:c,values:B}],e)}let S=e[0],I=t.getGeometry();I&&(I=hc(I,!0,S)),v6(i,SB,ON,[I],e)}var Jr1=Ve(Oe,["extrude","tessellate","altitudeMode","coordinates"]),t01=Ve(Oe,{extrude:s5(_c),tessellate:s5(_c),altitudeMode:s5(o7),coordinates:s5(wr1)});function Ih(r,t,e){let i=t.getFlatCoordinates(),o={node:r};o.layout=t.getLayout(),o.stride=t.getStride();let n=t.getProperties();n.coordinates=i;let c=e[e.length-1].node,A=Jr1[c.namespaceURI],L=R7(n,A);v6(o,t01,n7,L,e,A)}var e01=Ve(Oe,["color","fill","outline"]),yN=Ve(Oe,{outerBoundaryIs:s5(vN),innerBoundaryIs:s5(vN)}),r01=ko("innerBoundaryIs"),i01=ko("outerBoundaryIs");function UN(r,t,e){let i=t.getLinearRings(),o=i.shift(),n={node:r};v6(n,yN,r01,i,e),v6(n,yN,i01,[o],e)}var n01=Ve(Oe,{color:s5(ym),fill:s5(_c),outline:s5(_c)});function o01(r,t,e){let i={node:r},o=t.getFill(),n=t.getStroke(),c={color:o?o.getColor():void 0,fill:o?void 0:!1,outline:n?void 0:!1},A=e[e.length-1].node,L=e01[A.namespaceURI],g=R7(c,L);v6(i,n01,n7,g,e,L)}function QN(r,t){Xs(r,Math.round(t*1e6)/1e6)}var a01=Ve(Oe,["IconStyle","LabelStyle","LineStyle","PolyStyle"]),s01=Ve(Oe,{IconStyle:s5(kr1),LabelStyle:s5(Zr1),LineStyle:s5(Hr1),PolyStyle:s5(o01)});function l01(r,t,e){let i={node:r},o={};if(t.pointStyles.length){let L=t.pointStyles[0].getText();L&&(o.LabelStyle=L);let g=t.pointStyles[0].getImage();g&&typeof g.getSrc=="function"&&(o.IconStyle=g)}if(t.lineStyles.length){let L=t.lineStyles[0].getStroke();L&&(o.LineStyle=L)}if(t.polyStyles.length){let L=t.polyStyles[0].getStroke();L&&!o.LineStyle&&(o.LineStyle=L),o.PolyStyle=t.polyStyles[0]}let n=e[e.length-1].node,c=a01[n.namespaceURI],A=R7(o,c);v6(i,s01,n7,A,e,c)}function c01(r,t){r.setAttribute("x",String(t.x)),r.setAttribute("y",String(t.y)),r.setAttribute("xunits",t.xunits),r.setAttribute("yunits",t.yunits)}var OB=RB;var jN=Jr(B4()),f3=()=>{};typeof window<"u"&&new URLSearchParams(window.location.search).get("deprecated")&&(f3=(0,jN.default)(r=>{console.warn(r)},1e3));var B01=(r,t)=>{(t||[]).forEach(e=>{e.set("parent",void 0)}),(r.get("children")||[]).forEach(e=>{e.set("parent",r)})},S01=(r,t)=>{t.properties&&(f3("Deprecated. Don't use properties options. Pass the values directly in options object."),r.setProperties(t.properties)),r.on("propertychange",e=>{if(e.key==="children"&&B01(e.target,e.oldValue),e.key==="map"){let i=e.target.get(e.key);i?(e.target.get("children")||[]).forEach(o=>{i.addLayer(o)}):e.oldValue&&(e.target.get("children")||[]).forEach(o=>{var n;(n=e.oldValue)===null||n===void 0||n.removeLayer(o)})}}),r.set("options",t),r.set("children",[...t.children||[]]),Object.defineProperties(r,{children:{get:()=>(f3("Layer.children is deprecated. Use the Layer.get('children') method instead."),r.get("children")||[]),set:e=>{f3("Layer.children is deprecated. Use the Layer.set('children', children) method instead."),r.set("children",e||[])}},copyrights:{get:()=>(f3("Layer.copyrights is deprecated. Get the attributions from the source object"),r.get("copyrights")),set:e=>{f3("Layer.copyrights is deprecated. Set the attributions to the source object.");let i=e&&!Array.isArray(e)?[e]:e;r.set("copyrights",i||[])}},disabled:{get(){return f3("Layer.disabled is deprecated. Use the Layer.get('disabled') method instead."),r.get("disabled")},set(e){f3("Layer.disabled is deprecated. Use the Layer.set('disabled', newValue) method instead."),r.set("disabled",e)}},group:{get(){return f3("Layer.group is deprecated. Use the Layer.get('group') method instead."),r.get("group")}},hitTolerance:{get(){return f3("Layer.hitTolerance is deprecated. Pass the hitTolerance when you request the features."),r.get("hitTolerance")||5},set(e){f3("Layer.hitTolerance is deprecated. Pass the hitTolerance when you request the features."),r.set("hitTolerance",e)}},key:{get(){return f3('Layer.key is deprecated. Use the Layer.get("key") method instead.'),r.get("key")||r.get("name")}},map:{get(){return f3('Layer.map is deprecated. Use the Layer.get("map") method instead.'),r.getMapInternal()}},name:{get(){return f3("Layer.name is deprecated. Use the Layer.get('name') method instead."),r.get("name")}},olLayer:{get(){return f3("Layer.olLayer is deprecated. mobility-toolbox-js/ol layers inherits now from ol/layer/Layer class. obj getter is only a redirect to the current 'this' object."),r},set(){f3("Layer.olLayer is deprecated. mobility-toolbox-js/ol layers inherits now from ol/layer/Layer class. obj setter has no effect.")}},olListenersKeys:{get(){return f3("Layer.olListenersKeys is deprecated. Use the Layer.olEventsKeys instead."),r.olEventsKeys||[]},set(e){f3("Layer.olListenersKeys is deprecated. Use the Layer.olEventsKeys instead."),r.olEventsKeys=e}},options:{get(){return f3('Layer.options is deprecated. Use the Layer.get("options") method instead.'),r.get("options")},set(e){return f3('Layer.options is deprecated. Use the Layer.set("options", newValue) method instead.'),r.set("options",e)}},parent:{get(){return f3("Layer.parent is deprecated. Use the Layer.get('parent') method instead."),r.get("parent")},set(e){f3("Layer.parent is deprecated. Use the Layer.set('parent', parent) method instead."),r.set("parent",e)}},properties:{get(){return f3("Layer.properties is deprecated. Use the Layer.getProperties() method instead."),r.getProperties()},set(e){f3("Layer.properties is deprecated. Use the Layer.setProperties(newValue) method instead."),r.setProperties(e)}},visible:{get(){return f3("Layer.visible is deprecated. Use the Layer.getVisible() method instead."),r.getVisible()},set(e){f3("Layer.visible is deprecated. Use the Layer.setVisible(newValue) method instead."),r.setVisible(e)}}})},Fh=S01;var WN=Jr(KN(),1);var E01="vectorTileFeature",HB={"EPSG:3857":new Y0({featureProjection:"EPSG:3857"})},Ys=class extends vh{translateZoom;constructor(t,e){super(t),this.translateZoom=e}getFeaturesAtCoordinate(t,e=5){let i=this.getMapLibrePixels(t,e);if(!i)return[];let o=this.getLayer().get("queryRenderedFeaturesOptions")||{};return this.getLayer().mapLibreMap?.queryRenderedFeatures(i,o).map(c=>this.toOlFeature(c))||[]}prepareFrame(){return!0}renderFrame(t){let e=this.getLayer(),{mapLibreMap:i}=e,o=e.getMapInternal();if(!e||!o||!i)return null;let n=i.getCanvas(),{viewState:c}=t;i.jumpTo({center:nc(c.center,c.projection),zoom:(this.translateZoom?this.translateZoom(c.zoom):c.zoom)-1,bearing:Ps(-c.rotation)});let A=e.getOpacity().toString();return n&&A!==n.style.opacity&&(n.style.opacity=A),n.isConnected?T01(n,t)||i.resize():o.render(),i.redraw(),i.getContainer()}getFeatures(t){let e=this.getLayer().getMapInternal()?.getCoordinateFromPixel(t);return Promise.resolve(this.getFeaturesAtCoordinate(e))}forEachFeatureAtCoordinate(t,e,i,o){let n=this.getFeaturesAtCoordinate(t,i);return n.forEach(c=>{let A=c.getGeometry();A instanceof Ui&&o(c,this.getLayer(),A)}),n?.[0]}getMapLibrePixels(t,e){if(!t)return;let i=this.getLayer().mapLibreMap?.project(nc(t));if(i?.x===void 0||i?.y===void 0)return;let o=[i.x,i.y];if(e){let[n,c]=o;o=[[n-e,c-e],[n+e,c+e]]}return o}toOlFeature(t){let o=this.getLayer().getMapInternal()?.getView()?.getProjection()?.getCode()||"EPSG:3857";HB[o]||(HB[o]=new Y0({featureProjection:o}));let n=HB[o].readFeature(t);return n&&n.set(E01,t,!0),n}};function T01(r,t){return r.width===Math.floor(t.size[0]*t.pixelRatio)&&r.height===Math.floor(t.size[1]*t.pixelRatio)}var I01=r=>{if(!r)return[];let{style:t}=r;if(!t)return[];let{sourceCaches:e}=t,i=[];return Object.values(e).forEach(o=>{if(o.used){let{attribution:n}=o.getSource();n&&(i=i.concat(n.replace(/©/g,"\xA9").split(/(<a.*?<\/a>)/)))}}),F01(i)},F01=r=>{let t=r.filter(o=>o!=null&&o.trim&&o.trim()),e=t.map(o=>o.toLowerCase());return[...new Set(e)].map(o=>t.find(n=>n.toLowerCase()===o))},ep=I01;var Ph=class extends P7{mapLibreMap;loaded=!1;olListenersKeys=[];constructor(t){super({source:new _4({attributions:()=>ep(this.mapLibreMap)}),...t})}disposeInternal(){N5(this.olListenersKeys),this.loaded=!1,this.mapLibreMap&&(this.mapLibreMap.triggerRepaint=()=>{},this.mapLibreMap.remove()),super.disposeInternal()}setMapInternal(t){super.setMapInternal(t),t?this.loadMapLibreMap():this.dispose()}loadMapLibreMap(){this.loaded=!1;let t=this.getMapInternal();if(t&&this.olListenersKeys.push(t.on("change:target",this.loadMapLibreMap.bind(this))),!t?.getTargetElement())return;if(!this.getVisible()){this.olListenersKeys.push(this.once("change:visible",this.loadMapLibreMap.bind(this)));return}let e=document.createElement("div");e.style.position="absolute",e.style.width="100%",e.style.height="100%";let i=this.get("mapLibreOptions");this.mapLibreMap=new WN.Map(Object.assign({},i,{container:e,attributionControl:!1,interactive:!1,trackResize:!1})),this.mapLibreMap.on("sourcedata",()=>{this.getSource()?.refresh()}),this.mapLibreMap.once("load",()=>{this.loaded=!0,this.dispatchEvent(new Ai("load"))})}createRenderer(){let t=this.get("translateZoom");return new Ys(this,t)}};var GB=Jr(B4());var rp=class extends Ys{constructor(t,e){super(t,e),this.ignoreNextRender=!1,this.tranaslateZoom2=e,this.setIsReady=this.setIsReady.bind(this),this.ignoreNextRender=!1}prepareFrame(){return!0}renderFrame(t){let e=this.getLayer(),{mapLibreMap:i}=e,o=e.getMapInternal();if(!e||!o||!i)return null;if(this.ready&&this.ignoreNextRender)return this.ignoreNextRender=!1,i?.getContainer();this.ready=!1,this.ignoreNextRender=!1,this.updateReadyState();let n=super.renderFrame(t);return i?.once("idle",this.setIsReady.bind(this)),n}setIsReady(){this.ready||(this.ready=!0,this.ignoreNextRender=!0,this.getLayer().changed())}updateReadyState(){var t,e,i,o;(e=(t=this.getLayer())===null||t===void 0?void 0:t.mapLibreMap)===null||e===void 0||e.off("idle",this.setIsReady.bind(this)),(o=(i=this.getLayer())===null||i===void 0?void 0:i.mapLibreMap)===null||o===void 0||o.once("idle",this.setIsReady.bind(this))}};var $N=(r,t,e,i)=>JA(`${r}/styles/${t}/style.json`,{[i]:e}).toString(),Rh=()=>{};typeof window<"u"&&new URLSearchParams(window.location.search).get("deprecated")&&(Rh=(0,GB.default)(r=>{console.warn(r)},1e3));var VB=class r extends Ph{set apiKey(t){this.set("apiKey",t)}get apiKey(){return this.get("apiKey")}set apiKeyName(t){this.set("apiKeyName",t)}get apiKeyName(){return this.get("apiKeyName")}get maplibreMap(){return Rh("MaplibreLayer.maplibreMap is deprecated. Use layer.mapLibreMap."),this.mapLibreMap}get mbMap(){return Rh("MaplibreLayer.mbMap is deprecated. Use layer.maplibreMap."),this.maplibreMap}get style(){return this.get("style")}set style(t){this.set("style",t)}get url(){return this.get("url")}set url(t){this.set("url",t)}constructor(t){var e,i;t.mapOptions&&!t.mapLibreOptions&&(Rh("MaplibreLayer.mapOptions is deprecated. Use mapLibreOptions instead."),t.mapLibreOptions=t.mapOptions);let o=Object.assign(Object.assign({apiKeyName:"key",style:"travic_v2",url:"https://maps.geops.io"},t||{}),{mapLibreOptions:Object.assign({fadeDuration:10},t.mapLibreOptions||{}),source:(e=t.source)!==null&&e!==void 0?e:new _4({attributions:()=>{var n,c;let A=(n=this.mapLibreMap)===null||n===void 0?void 0:n.style;return this.mapLibreMap&&A&&!A.sourceCaches&&(this.mapLibreMap.style.sourceCaches=(c=this.mapLibreMap.style.tileManagers)!==null&&c!==void 0?c:{}),ep(this.mapLibreMap)}})});!o.mapLibreOptions.style&&(!((i=o.url)===null||i===void 0)&&i.includes("style.json"))?o.mapLibreOptions.style=o.url:!o.mapLibreOptions.style&&o.apiKey&&o.style&&typeof o.style=="string"&&(o.mapLibreOptions.style=$N(o.url,o.style,o.apiKey,o.apiKeyName)),super(o),this.olEventsKeys=[],Fh(this,t),this.set("options",t)}attachToMap(){let t=(0,GB.default)(this.updateMaplibreMap.bind(this),150);t(),this.olEventsKeys.push(this.on("propertychange",e=>{/(url|style|apiKey|apiKeyName)/.test(e.key)&&t()}))}clone(t){return new r(Object.assign(Object.assign({},this.get("options")||{}),t||{}))}createRenderer(){return new rp(this)}detachFromMap(){N5(this.olEventsKeys)}disposeInternal(){let t=this.getSource();super.disposeInternal(),this.mapLibreMap=void 0,this.setSource(t)}getStyle(){var t;if(this.style&&typeof this.style=="object"&&this.style.name&&this.style.version)return this.style;if(this.url.includes("style.json"))return this.url;let e=this.get("options");return!((t=e?.mapLibreOptions)===null||t===void 0)&&t.style?e.mapLibreOptions.style:$N(this.url,this.style,this.apiKey,this.apiKeyName)}setMapInternal(t){t?(super.setMapInternal(t),this.attachToMap()):(this.detachFromMap(),super.setMapInternal(t))}updateMaplibreMap(){var t;try{(t=this.mapLibreMap)===null||t===void 0||t.setStyle(this.getStyle(),{diff:!1})}catch(e){console.error("Error while updating MaplibreMap",e)}}},jB=VB;var XN=Jr(B4());var qB={"EPSG:3857":new Y0({featureProjection:"EPSG:3857"})},ip=class extends vh{forEachFeatureAtCoordinate(t,e,i,o){let n=this.getFeaturesAtCoordinate(t,i);return n.forEach(c=>{o(c,this.layer_,c.getGeometry())}),n?.[0]}getFeatures(t){var e,i;let o=(i=(e=this.getLayer())===null||e===void 0?void 0:e.getMapInternal())===null||i===void 0?void 0:i.getCoordinateFromPixel(t);return Promise.resolve(this.getFeaturesAtCoordinate(o))}getFeaturesAtCoordinate(t,e=5){var i,o,n;if(!t)return[];let c=this.getLayer(),A=c.getMapInternal(),L=(i=c.maplibreLayer)===null||i===void 0?void 0:i.mapLibreMap,g=((n=(o=A?.getView())===null||o===void 0?void 0:o.getProjection())===null||n===void 0?void 0:n.getCode())||"EPSG:3857",v=[];if(qB[g]||(qB[g]=new Y0({featureProjection:g})),L?.isStyleLoaded()){let S=t&&L.project(nc(t));if(S?.x&&S?.y){let I=[S.x,S.y];if(e){let[R,H]=I;I=[[R-e,H-e],[R+e,H+e]]}let B=c.layers||[];c.layersFilter&&(B=L.getStyle().layers.filter(c.layersFilter)),c.queryRenderedLayersFilter&&(B=L.getStyle().layers.filter(c.queryRenderedLayersFilter)),v=L.queryRenderedFeatures(I,{layers:B.map(R=>R.id),validate:!1}).map(R=>{let H=qB[g].readFeature(R);return H&&H.set(WC,R),H})}}return v}prepareFrame(){return!0}renderFrame(t,e){return e??document.createElement("div")}};var j9=()=>{};typeof window<"u"&&new URLSearchParams(window.location.search).get("deprecated")&&(j9=(0,XN.default)((...r)=>{console.warn(...r)},1e3));var KB=class r extends P7{get beforeId(){return this.get("beforeId")}set beforeId(t){this.set("beforeId",t)}get layers(){return this.get("layers")||[]}set layers(t){this.set("layers",t)}get layersFilter(){return this.get("layersFilter")}set layersFilter(t){this.set("layersFilter",t)}get mapboxLayer(){return j9("Deprecated. Use maplibreLayer instead."),this.get("maplibreLayer")}get maplibreLayer(){return this.get("maplibreLayer")}set maplibreLayer(t){this.set("maplibreLayer",t)}get queryRenderedLayersFilter(){return this.get("queryRenderedLayersFilter")}set queryRenderedLayersFilter(t){this.set("queryRenderedLayersFilter",t)}get sources(){return this.get("sources")}set sources(t){this.set("sources",t)}get styleLayer(){return j9("Deprecated. Use MaplibreStyleLayer.layer instead."),this.layers[0]}set styleLayer(t){j9("MaplibreStyleLayer.styleLayer is deprecated. Use MaplibreStyleLayer.layer instead."),this.layers=[t]}get styleLayers(){return j9("MaplibreStyleLayer.styleLayers is deprecated. Use MaplibreStyleLayer.layers instead."),this.layers}set styleLayers(t){j9("MaplibreStyleLayer.styleLayers is deprecated. Use MaplibreStyleLayer.layers instead."),this.layers=t}constructor(t={mapLibreOptions:{style:{layers:[],sources:{},version:8}}}){t.mapboxLayer&&(j9("options.mapboxLayer is deprecated. Use options.maplibreLayer instead."),t.maplibreLayer=t.mapboxLayer,delete t.mapboxLayer),t.styleLayer&&(j9("options.styleLayer is deprecated. Use options.layers instead."),t.layers=[t.styleLayer],delete t.styleLayer),t.styleLayers&&(j9("options.styleLayers is deprecated. Use options.layers instead."),t.layers=t.styleLayers,delete t.styleLayers),t.styleLayersFilter&&(j9("options.styleLayersFilter is deprecated. Use options.layersFilter instead."),t.layersFilter=t.styleLayersFilter,delete t.styleLayersFilter),super(Object.assign({source:new _4({})},t)),this.highlightedFeatures=[],this.olEventsKeys=[],this.selectedFeatures=[],Fh(this,t),this.set("options",t),this.beforeId=t.beforeId,this.onLoad=this.onLoad.bind(this),!this.layersFilter&&this.layers&&(this.layersFilter=e=>!!this.layers.find(i=>e.id===i.id))}addLayers(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!Array.isArray(this.layers))return;let{mapLibreMap:e}=this.maplibreLayer;e&&(this.layers.forEach(i=>{let{id:o,source:n}=i;(!n||n&&e.getSource(n))&&o&&!e.getLayer(o)&&e.addLayer(i,this.beforeId)}),this.applyLayoutVisibility())}addSources(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!this.sources)return;let{mapLibreMap:e}=this.maplibreLayer;e&&Object.entries(this.sources).forEach(([i,o])=>{e.getSource(i)||e.addSource(i,o)})}applyLayoutVisibility(t){var e,i,o,n,c,A;if(!(!((i=(e=this.maplibreLayer)===null||e===void 0?void 0:e.mapLibreMap)===null||i===void 0)&&i.getStyle())||!this.layersFilter)return;let{mapLibreMap:L}=this.maplibreLayer,g=L.getStyle(),v=this.getVisible()?"visible":"none",S=g.layers||[],I=Number.isFinite(this.getMinZoom()),B=Number.isFinite(this.getMaxZoom()),R=I?this.getMinZoom()-1:0,H=B?this.getMaxZoom()-1:24;for(let V=0;V<S.length;V+=1){let G=S[V];if(this.layersFilter(G)){let{id:e1}=G;if(L.getLayer(e1)&&(L.setLayoutProperty(e1,"visibility",v),I||B)){let i1=(n=(o=L.getLayer(e1))===null||o===void 0?void 0:o.minzoom)!==null&&n!==void 0?n:0,r1=(A=(c=L.getLayer(e1))===null||c===void 0?void 0:c.maxzoom)!==null&&A!==void 0?A:24;L.setLayerZoomRange(e1,i1<R?R:i1,r1>H?H:r1)}}}}attachToMap(t){if(!this.getMapInternal()||!this.maplibreLayer)return;let{mapLibreMap:i}=this.maplibreLayer;i&&(i.loaded()?this.onLoad():i.isStyleLoaded()?this.onLoad():i.once("load",this.onLoad)),this.olEventsKeys.push(this.maplibreLayer.on("load",this.onLoad.bind(this)),this.on("change:visible",o=>{this.applyLayoutVisibility(o)}),this.on("propertychange",o=>{/(sources|layers|layersFilter|maplibreLayer|beforeId)/.test(o.key)&&(this.detachFromMap(),this.attachToMap(t))}),this.maplibreLayer.on("propertychange",o=>{if(o.key==="style"){let n=o.target.mapLibreMap;n?.once("styledata",()=>{n?.once("idle",()=>{this.onLoad()})})}}))}clone(t){return new r(Object.assign(Object.assign({},this.get("options")||{}),t||{}))}createRenderer(){return new ip(this)}detachFromMap(){var t;N5(this.olEventsKeys),!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap&&(this.maplibreLayer.mapLibreMap.off("load",this.onLoad),this.removeLayers(),this.removeSources())}highlight(t=[]){var e;j9("Deprecated. Use layer.setFeatureState(features, {hover: true}) instead.");let i=((e=this.highlightedFeatures)===null||e===void 0?void 0:e.filter(o=>!(this.selectedFeatures||[]).map(n=>n.getId()).includes(o.getId())))||[];this.setHoverState(i,!1),this.highlightedFeatures=t,this.setHoverState(this.highlightedFeatures,!0)}onLoad(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap))return;this.addSources(),this.addLayers();let{mapLibreMap:e}=this.maplibreLayer,i=e.getStyle();if(i?.layers&&this.layersFilter){let o=i.layers.filter(this.layersFilter);this.set("disabled",!o.length)}this.applyLayoutVisibility()}removeLayers(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!Array.isArray(this.layers))return;let{mapLibreMap:e}=this.maplibreLayer;e&&this.layers.forEach(i=>{let{id:o}=i;o&&e?.getLayer(o)&&e.removeLayer(o)})}removeSources(){var t;if(!(!((t=this.maplibreLayer)===null||t===void 0)&&t.mapLibreMap)||!this.sources)return;let{mapLibreMap:e}=this.maplibreLayer;e&&Object.keys(this.sources).forEach(i=>{e.getSource(i)&&e.removeSource(i)})}select(t=[]){j9("Deprecated. Use layer.setFeatureState(features, {selected: true}) instead."),this.setHoverState(this.selectedFeatures||[],!1),this.selectedFeatures=t,this.setHoverState(this.selectedFeatures||[],!0)}setFeatureState(t,e){var i;if(!(!((i=this.maplibreLayer)===null||i===void 0)&&i.mapLibreMap)||!t.length)return;let o=this.maplibreLayer.mapLibreMap;t.forEach(n=>{let{source:c,sourceLayer:A}=n.get(WC)||{};if(!c&&!A||!n.getId()){n.getId()||j9("No feature's id found. To use the feature state functionnality, tiles must be generated with --generate-ids. See https://github.com/Maplibre/tippecanoe#adding-calculated-attributes.",n.getProperties());return}c?o.setFeatureState({id:n.getId(),source:c,sourceLayer:A},e):j9("No source found for the feature. To use the feature state functionnality, a source must be defined.",n.getProperties())})}setHoverState(t,e){j9(`Deprecated. Use layer.setFeatureState(features, {hover: ${e}}) instead.`),this.setFeatureState(t,{hover:e})}setMapInternal(t){t?(super.setMapInternal(t),this.attachToMap(t)):(this.detachFromMap(),super.setMapInternal(t))}},M3=KB;var eZ=Jr(YN());var P01=(r=1,t=[235,0,0,1])=>{if(r===1)return t;let e=document.createElement("canvas"),i=zg;e.width=20*i,e.height=20*i;let o={},n=e.getContext("2d");if(n){switch(n.strokeStyle=`rgba(${t.toString()})`,n.fillStyle=`rgba(${t.toString()})`,n.lineWidth=3,r){case 2:n.beginPath(),n.moveTo(0,e.height),n.lineTo(0,e.height-n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,0),n.lineTo(e.width,0),n.lineTo(e.width,n.lineWidth/2),n.lineTo(n.lineWidth/2,e.height),n.lineTo(n.lineWidth/2,e.height),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,0),n.lineTo(0,n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,e.height),n.lineTo(e.width,e.height),n.lineTo(e.width,e.height-n.lineWidth/2),n.lineTo(n.lineWidth/2,0),n.lineTo(0,0),n.fill(),n.closePath(),o=n.createPattern(e,"repeat"),o.canvas=e;break;case 3:n.beginPath(),n.moveTo(0,0),n.lineTo(0,n.lineWidth/2),n.lineTo(n.lineWidth/2,0),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,e.height),n.lineTo(0,e.height-n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,0),n.lineTo(e.width,0),n.lineTo(e.width,n.lineWidth/2),n.lineTo(n.lineWidth/2,e.height),n.lineTo(n.lineWidth/2,e.height),n.fill(),n.closePath(),n.beginPath(),n.moveTo(e.width,e.height),n.lineTo(e.width,e.height-n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,e.height),n.fill(),n.closePath(),o=n.createPattern(e,"repeat"),o.canvas=e;break;case 4:n.beginPath(),n.moveTo(e.width,0),n.lineTo(e.width,n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,0),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,0),n.lineTo(0,n.lineWidth/2),n.lineTo(e.width-n.lineWidth/2,e.height),n.lineTo(e.width,e.height),n.lineTo(e.width,e.height-n.lineWidth/2),n.lineTo(n.lineWidth/2,0),n.lineTo(0,0),n.fill(),n.closePath(),n.beginPath(),n.moveTo(0,e.height),n.lineTo(0,e.height-n.lineWidth/2),n.lineTo(n.lineWidth/2,e.height),n.fill(),n.closePath(),o=n.createPattern(e,"repeat"),o.canvas=e;break;default:}return r===0&&(o.empty=!0),o.id=r,o.color=t,o}},JN=P01;var WB="circleGeometryCenter",$B="circleGeometryRadius",_m=e0("EPSG:4326"),YB=new r6({color:[255,0,0,.7]}),rZ=new pi({color:[255,0,0,1],width:1.5}),R01=new V9({fill:YB,radius:7,stroke:rZ}),D01=new J0({fill:YB,image:R01,stroke:rZ,text:new Ra({fill:YB,font:"normal 16px Helvetica",stroke:new pi({color:[255,255,255,1],width:3})})}),z01=r=>32/Math.min(r[0],r[1]),k01=(r,t)=>{let e=r.getSize()||[48,48],i=r.getScale()||1,o=r.getAnchor()||[e[0]*i/2,e[1]*i/2],n=[i*(e[0]-o[0])+5,i*(e[1]/2-o[1])];t.setOffsetX(n[0]),t.setOffsetY(n[1]),t.setTextAlign("left")},XB=(r,t=!0,e=0)=>{let i=r?.getCoordinates();if(!i)return;let o=i.length-1;return t?i[e]:i[o-e]},tZ=(r,t,e,i=!0)=>{let o=r.getGeometry(),n=XB(o,i,1),c=XB(o,i);if(!n||!c)return new J0;let A=i?n[0]-c[0]:c[0]-n[0],L=i?n[1]-c[1]:c[1]-n[1],g=Math.atan2(L,A);return new J0({geometry:v=>{let S=v.getGeometry();return new k8(XB(S,i))},image:new Bn({color:e,rotateWithView:!0,rotation:-g,scale:t.scale,size:t.size,src:t.url}),zIndex:t.zIndex})},JB=class{constructor(){this.writeDocumentCamera=(t,e)=>{let i=i7(this.removeDocumentCamera(t));if(e){let o=i.createElement("Camera");Object.keys(e).forEach(c=>{let A=i.createElement(`${c.charAt(0).toUpperCase()+c.slice(1)}`);A.innerHTML=e[c],o.appendChild(A)}),i.getElementsByTagName("Document")[0].appendChild(o)}return new XMLSerializer().serializeToString(i)}}readFeatures(t,e,i=!1){let o=new OB().readFeatures(t,{featureProjection:e});return o.forEach(n=>{var c,A;let{[WB]:L,[$B]:g}=n?.getProperties()||{};if(n&&L&&g){let v=new tk(ac(JSON.parse(L),_m,e||_m),parseFloat(g));v.setProperties((A=(c=n?.getGeometry())===null||c===void 0?void 0:c.getProperties())!==null&&A!==void 0?A:{}),n.setGeometry(v)}this.sanitizeFeature(n,i)}),o}removeDocumentCamera(t){let e=i7(t),i=e.getElementsByTagName("Camera")[0];return i&&i.remove(),new XMLSerializer().serializeToString(e)}sanitizeFeature(t,e=!1){var i,o,n,c,A,L,g;let v=t.getGeometry(),S=t.getStyleFunction();t.get("maxZoom")&&t.set("maxZoom",parseFloat(t.get("maxZoom"))),t.get("minZoom")&&t.set("minZoom",parseFloat(t.get("minZoom")));let I=S?.(t,1),B=(i=Array.isArray(I)?I[0]:I)===null||i===void 0?void 0:i.clone(),R=B?.getStroke();if(t.get("lineCap")&&R?.setLineCap(t.get("lineCap")),t.get("lineJoin")&&R?.setLineJoin(t.get("lineJoin")),t.get("lineDash")&&R?.setLineDash((t?.get("lineDash")).split(",").map(H=>parseInt(H,10))),t.get("lineDashOffset")&&R?.setLineDashOffset(parseInt(t.get("lineDashOffset"),10)),t.get("miterLimit")&&R?.setMiterLimit(parseInt(t.get("miterLimit"),10)),R&&R.getWidth()===0&&(R=void 0),t.get("zIndex")&&B?.setZIndex(parseInt(t.get("zIndex"),10)),B&&(v instanceof k8||v instanceof _o)){let H=B.getImage(),V=null,G=B.getFill();if(t.get("name")&&B.getText()&&((o=B.getText())===null||o===void 0?void 0:o.getScale())!==0){H&&H.getScale()===0&&(H=new V9({fill:new r6({color:[0,0,0,0]}),radius:1,stroke:new pi({color:[0,0,0,0]})}));let e1=t.get("name");/\u200B/g.test(e1)&&(e1=e1.replace(/\u200B/g,""),t.set("name",e1));let i1=t.get("textFont")||"normal 16px Arial";if(e1.includes(`
|
|
839
839
|
`)){let r1=[],L1=e1.split(`
|
|
840
840
|
`);L1.forEach((w1,S1)=>{r1.push(w1||"\u200B",w1?i1:""),S1<L1.length-1&&r1.push(`
|
|
841
841
|
`,"")}),e1=r1}else e1=[e1,i1];if(V=new Ra({fill:B.getText().getFill(),font:`${i1.replace(/bold/g,"normal")}, Arial, sans-serif`,rotation:t.get("textRotation")||0,scale:(n=B.getText())===null||n===void 0?void 0:n.getScale(),text:e1}),t.get("textArray"))try{let r1=JSON.parse((0,eZ.replace)(t.get("textArray"),/\r?\n/g,"\\n"));V.setText(r1)}catch(r1){console.error("Error parsing textArray",t.get("textArray"),r1)}t.get("textStrokeColor")&&t.get("textStrokeWidth")&&V.setStroke(new pi({color:t.get("textStrokeColor"),width:parseFloat(t.get("textStrokeWidth"))})),t.get("textAlign")&&V.setTextAlign(t.get("textAlign")),t.get("textOffsetX")&&V.setOffsetX(parseFloat(t.get("textOffsetX"))),t.get("textOffsetY")&&V.setOffsetY(parseFloat(t.get("textOffsetY"))),t.get("textBackgroundFillColor")&&V.setBackgroundFill(new r6({color:t.get("textBackgroundFillColor")})),t.get("textPadding")&&V.setPadding((c=t.get("textPadding"))===null||c===void 0?void 0:c.split(",").map(r1=>parseFloat(r1))),H instanceof Bn&&k01(H,V)}if(H instanceof Bn){if(H.setRotation(parseFloat(t.get("iconRotation"))||0),t.get("iconScale"))H.setScale(parseFloat(t.get("iconScale"))||0);else if(!e&&H.getSize()){let e1=z01(H.getSize());H.setScale(H.getScaleArray()[0]/e1)}}G=null,R=null,S=(e1,i1)=>{var r1;if(e1.get("pictureOptions")){let L1=e1.get("pictureOptions");typeof L1=="string"&&(L1=JSON.parse(L1)),e1.set("pictureOptions",L1),L1.resolution&&H?.setScale(L1.resolution/i1*((r1=L1?.defaultScale)!==null&&r1!==void 0?r1:1))}return new J0({fill:G??void 0,image:H??void 0,stroke:R??void 0,text:V??void 0,zIndex:B.getZIndex()})}}if(!(v instanceof k8||v instanceof _o||v instanceof Yn)){S=[new J0({fill:(A=B?.getFill())!==null&&A!==void 0?A:void 0,image:void 0,stroke:R??void 0,text:void 0,zIndex:B?.getZIndex()})];let H=t.get("fillPattern");if(H){let V=JSON.parse(H);t.set("fillPattern",V),B?.getFill()||S[0].setFill(new r6);let G=V?.empty?[0,0,0,0]:JN(V.id,V.color);(g=(L=S[0])===null||L===void 0?void 0:L.getFill())===null||g===void 0||g.setColor(G)}t.get("lineStartIcon")&&S.push(tZ(t,JSON.parse(t.get("lineStartIcon")),R?.getColor())),t.get("lineEndIcon")&&S.push(tZ(t,JSON.parse(t.get("lineEndIcon")),R?.getColor(),!1))}t.setStyle(S)}writeFeatures(t,e,i){var o,n;let c,A=[];return[...(n=(o=t?.getSource())===null||o===void 0?void 0:o.getFeatures())!==null&&n!==void 0?n:[]].sort((L,g)=>or(L)<=or(g)?-1:1).forEach(L=>{var g,v,S,I,B,R,H,V,G,e1,i1,r1,L1,w1,S1,y1,C1,H1,c1,g1,Z1,V1,l2,p2,J1,G1,L2,D2,M2,f1,R1;let D1=L.clone();if(((g=D1.getGeometry())===null||g===void 0?void 0:g.getType())==="Circle"){let U2=L.getGeometry();D1.setGeometry(fk(U2,100)),D1.set(WB,JSON.stringify(ac(U2.getCenter(),e,_m))),D1.set($B,U2.getRadius())}D1.setId(L.getId()),(v=D1.getGeometry())===null||v===void 0||v.transform(e,_m),Object.keys(L.getProperties()).forEach(U2=>{[WB,$B,"description","geometry","name"].includes(U2)||D1.unset(U2,!0)});let t2;L.getStyleFunction()?t2=(S=L.getStyleFunction())===null||S===void 0?void 0:S(L,i):t?.getStyleFunction()&&(t2=(I=t.getStyleFunction())===null||I===void 0?void 0:I(L,i));let c2=Array.isArray(t2)?t2[0]:t2,o2={fill:(B=c2?.getFill())!==null&&B!==void 0?B:void 0,image:(R=c2?.getImage())!==null&&R!==void 0?R:void 0,stroke:(H=c2?.getStroke())!==null&&H!==void 0?H:void 0,text:(V=c2?.getText())!==null&&V!==void 0?V:void 0,zIndex:(G=c2?.getZIndex())!==null&&G!==void 0?G:void 0};o2.zIndex&&D1.set("zIndex",o2.zIndex);let T2=(e1=o2.text)===null||e1===void 0?void 0:e1.getText();if(T2){let U2="";Array.isArray(T2)&&(D1.set("textArray",JSON.stringify(T2)),U2=T2.map((tt,ft)=>ft%2===0?tt:"").join("").replace(/\u200B/g,"")),U2&&(/^(\s|\n)|(\n|\s)$/g.test(U2)?D1.set("name",`\u200B${U2}\u200B`):D1.set("name",U2))}if(!((i1=o2.text)===null||i1===void 0)&&i1.getRotation()&&D1.set("textRotation",o2.text.getRotation()),!((r1=o2.text)===null||r1===void 0)&&r1.getFont()&&D1.set("textFont",o2.text.getFont()),!((L1=o2.text)===null||L1===void 0)&&L1.getTextAlign()&&D1.set("textAlign",o2.text.getTextAlign()),!((w1=o2.text)===null||w1===void 0)&&w1.getOffsetX()&&D1.set("textOffsetX",o2.text.getOffsetX()),!((S1=o2.text)===null||S1===void 0)&&S1.getOffsetY()&&D1.set("textOffsetY",o2.text.getOffsetY()),!((y1=o2.text)===null||y1===void 0)&&y1.getStroke()&&(!((C1=o2.text.getStroke())===null||C1===void 0)&&C1.getColor()&&D1.set("textStrokeColor",Sf((H1=o2.text.getStroke())===null||H1===void 0?void 0:H1.getColor())),!((c1=o2.text.getStroke())===null||c1===void 0)&&c1.getWidth()&&D1.set("textStrokeWidth",(g1=o2.text.getStroke())===null||g1===void 0?void 0:g1.getWidth())),!((Z1=o2.text)===null||Z1===void 0)&&Z1.getBackgroundFill()&&D1.set("textBackgroundFillColor",Sf((V1=o2.text.getBackgroundFill())===null||V1===void 0?void 0:V1.getColor())),!((l2=o2.text)===null||l2===void 0)&&l2.getPadding()&&D1.set("textPadding",(p2=o2.text.getPadding())===null||p2===void 0?void 0:p2.join()),!((J1=o2.stroke)===null||J1===void 0)&&J1.getLineCap()&&D1.set("lineCap",o2.stroke.getLineCap()),!((G1=o2.stroke)===null||G1===void 0)&&G1.getLineJoin()&&D1.set("lineJoin",o2.stroke.getLineJoin()),!((L2=o2.stroke)===null||L2===void 0)&&L2.getLineDash()&&D1.set("lineDash",(D2=o2.stroke.getLineDash())===null||D2===void 0?void 0:D2.join(",")),!((M2=o2.stroke)===null||M2===void 0)&&M2.getLineDashOffset()&&D1.set("lineDashOffset",o2.stroke.getLineDashOffset()),!((f1=o2.stroke)===null||f1===void 0)&&f1.getMiterLimit()&&D1.set("miterLimit",o2.stroke.getMiterLimit()),o2.image instanceof V9&&(o2.image=void 0),o2.image){let U2=o2.image.getSrc();/(http(s?)):\/\//gi.test(U2)||console.log("Local image source not supported for KML export.Should use remote web server"),o2.image.getRotation()&&D1.set("iconRotation",o2.image.getRotation()),o2.image.getScale()&&D1.set("iconScale",o2.image.getScale()),L.get("pictureOptions")&&D1.set("pictureOptions",JSON.stringify(L.get("pictureOptions")))}L.get("fillPattern")&&(D1.set("fillPattern",JSON.stringify(L.get("fillPattern"))),o2.fill=void 0),L.get("maxZoom")&&D1.set("maxZoom",parseFloat(L.get("maxZoom"))),L.get("minZoom")&&D1.set("minZoom",parseFloat(L.get("minZoom"))),o2.text&&!o2.image&&(o2.image=new Bn({scale:0,src:"noimage"})),(Array.isArray(t2)&&t2.slice(1)||[]).forEach(U2=>{var X2,tt,ft,P1,st,Zt,Ht,$2,It;if(U2&&U2.getImage()instanceof Bn&&U2.getGeometry()){let pt=(tt=(X2=U2?.getGeometry())===null||X2===void 0?void 0:X2(L))===null||tt===void 0?void 0:tt.getCoordinates(),mt=(ft=L.getGeometry())===null||ft===void 0?void 0:ft.getFirstCoordinate();pt?.[0]===mt?.[0]&&pt?.[1]===mt?.[1]?D1.set("lineStartIcon",JSON.stringify({scale:(P1=U2?.getImage())===null||P1===void 0?void 0:P1.getScale(),size:(st=U2?.getImage())===null||st===void 0?void 0:st.getSize(),url:(Zt=U2?.getImage())===null||Zt===void 0?void 0:Zt.getSrc(),zIndex:U2?.getZIndex()})):D1.set("lineEndIcon",JSON.stringify({scale:(Ht=U2.getImage())===null||Ht===void 0?void 0:Ht.getScale(),size:($2=U2.getImage())===null||$2===void 0?void 0:$2.getSize(),url:(It=U2.getImage())===null||It===void 0?void 0:It.getSrc(),zIndex:U2.getZIndex()}))}});let z2=new J0(o2);D1.setStyle(z2),D1.getGeometry()instanceof k8&&z2.getText()&&!(!((R1=z2.getText())===null||R1===void 0)&&R1.getText())||A.push(D1)}),A.length>0&&(A.length===1&&A.push(new T7),c=new OB({defaultStyle:[D01],extractStyles:!0}).writeFeatures(A),c=c.replace(/<Icon>\s*<href>noimage<\/href>\s*<\/Icon>/g,""),c=c.replace(/<Placemark\/>/g,""),t.get("name")&&(c=c.replace(/<Document>/,`<Document><name>${t.get("name")}</name>`))),c}},iZ=JB;var nZ=function(r,t,e,i){function o(n){return n instanceof e?n:new e(function(c){c(n)})}return new(e||(e=Promise))(function(n,c){function A(v){try{g(i.next(v))}catch(S){c(S)}}function L(v){try{g(i.throw(v))}catch(S){c(S)}}function g(v){v.done?n(v.value):o(v.value).then(A,L)}g((i=i.apply(r,t||[])).next())})},tS=function(r,t,e,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!o:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(r,e):o?o.value=e:t.set(r,e),e},xm=function(r,t,e,i){if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?i:e==="a"?i.call(r):i?i.value:t.get(r)},Qa,O01=new iZ,eS=class extends sm{get api(){return this.get("api")}set api(t){this.set("api",t),this.fetchPlans()}get apiKey(){return this.api.apiKey}set apiKey(t){this.api.apiKey!==t&&(this.api.apiKey=t,this.fetchPlans())}get doNotRevert32pxScaling(){return this.get("doNotRevert32pxScaling")}set doNotRevert32pxScaling(t){this.set("doNotRevert32pxScaling",t),this.updateFeatures()}get planId(){return this.get("planId")}set planId(t){this.planId!==t&&(this.set("planId",t),this.fetchPlanById(t))}get plans(){return this.get("plans")}set plans(t){this.set("plans",t),this.updateFeatures()}get tags(){return this.api.tags}set tags(t){var e;((e=this.api.tags)===null||e===void 0?void 0:e.toString())!==t?.toString()&&(this.api.tags=t,this.fetchPlans())}get tenants(){return this.api.tenants}set tenants(t){var e;((e=this.api.tenants)===null||e===void 0?void 0:e.toString())!==t?.toString()&&(this.api.tenants=t,this.fetchPlans())}get timestamp(){return this.get("timestamp")}set timestamp(t){this.timestamp!==t&&(this.set("timestamp",t),this.fetchPlans())}get url(){var t;return(t=this.api)===null||t===void 0?void 0:t.url}set url(t){var e;this.api&&((e=this.api)===null||e===void 0?void 0:e.url)!==t&&(this.api.url=t,this.fetchPlans())}constructor(t){var e,i;super(Object.assign({source:(e=t.source)!==null&&e!==void 0?e:new Pa},t||{})),this.loadAll=!0,this.olEventsKeys=[],Qa.set(this,void 0),this.api=(i=t.api)!==null&&i!==void 0?i:new WD({apiKey:t.apiKey,tags:t.tags,tenants:t.tenants,url:t.url}),tS(this,Qa,new AbortController,"f"),t.loadAll===!1&&(this.loadAll=t.loadAll)}fetchPlanById(t){return nZ(this,void 0,void 0,function*(){var e;if((e=xm(this,Qa,"f"))===null||e===void 0||e.abort(),tS(this,Qa,new AbortController,"f"),!t){this.plans=[];return}let i;try{this.dispatchEvent("featuresloadstart"),i=yield this.api.getPlanById(t,{signal:xm(this,Qa,"f").signal}),this.plans=[i],this.dispatchEvent("featuresloadend")}catch(o){if((o?.name).includes("AbortError"))return;throw console.error("MapsetLayer: Error fetching plan by ID...",o),this.plans=[],this.dispatchEvent("featuresloaderror"),o}})}fetchPlans(){return nZ(this,void 0,void 0,function*(){var t,e,i;if(!this.getVisible())return;let o=(t=this.getMapInternal())===null||t===void 0?void 0:t.getView();if(!o)return;let n=Sa(o.calculateExtent(),o.getProjection(),"EPSG:4326"),c=o.getZoom();if(!c||!n){this.plans=[];return}(e=xm(this,Qa,"f"))===null||e===void 0||e.abort(),tS(this,Qa,new AbortController,"f");let A=[];try{this.dispatchEvent("featuresloadstart"),A=yield this.api.getPlans({bbox:n?.toString(),timestamp:(i=this.timestamp)!==null&&i!==void 0?i:new Date().toISOString(),zoom:c},{signal:xm(this,Qa,"f").signal}),this.plans=A,this.dispatchEvent("featuresloadend")}catch(L){if((L?.name).includes("AbortError"))return[];throw console.error("MapsetLayer: Error fetching plans...",L),this.dispatchEvent("featuresloaderror"),L}})}setMapInternal(t){super.setMapInternal(t),t&&this.loadAll?(this.fetchPlans(),this.olEventsKeys.push(t.on("moveend",()=>{this.fetchPlans()}),this.on("change:visible",()=>{this.fetchPlans()}))):N5(this.olEventsKeys),t&&this.planId&&this.fetchPlanById(this.planId)}updateFeatures(){var t,e,i,o,n;(t=this.getSource())===null||t===void 0||t.clear();let c=this.getMapInternal();if(c&&((e=this.plans)===null||e===void 0?void 0:e.length)!==0){let A=(o=(i=this.plans)===null||i===void 0?void 0:i.flatMap(L=>O01.readFeatures(L.data,c.getView().getProjection(),this.doNotRevert32pxScaling)))!==null&&o!==void 0?o:[];(n=this.getSource())===null||n===void 0||n.addFeatures(A)}this.dispatchEvent("updatefeatures")}};Qa=new WeakMap;var rS=eS;var iS={1:"osm"};function zh(r=0,t=iS){var e;let i=Object.keys(t).map(c=>parseFloat(c)),n=i.reverse().find(c=>c<=Math.floor(r)-1);return n??(n=Math.min(...i)),(e=t[n])!==null&&e!==void 0?e:"osm"}var oZ=function(r,t,e,i){function o(n){return n instanceof e?n:new e(function(c){c(n)})}return new(e||(e=Promise))(function(n,c){function A(v){try{g(i.next(v))}catch(S){c(S)}}function L(v){try{g(i.throw(v))}catch(S){c(S)}}function g(v){v.done?n(v.value):o(v.value).then(A,L)}g((i=i.apply(r,t||[])).next())})},Js=function(r,t,e,i){if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?i:e==="a"?i.call(r):i?i.value:t.get(r)},nS=function(r,t,e,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!o:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(r,e):o?o.value=e:t.set(r,e),e},Ha,Oh,kh="moco",N01="moco",oS=class extends M3{get api(){return this.get("api")}set api(t){this.set("api",t),this.updateData()}get apiKey(){return this.api.apiKey}set apiKey(t){this.api.apiKey=t,this.updateData()}get apiParameters(){return this.get("apiParameters")}set apiParameters(t){this.set("apiParameters",t),this.updateData()}get loadAll(){var t;return(t=this.get("loadAll"))!==null&&t!==void 0?t:!0}set loadAll(t){this.set("loadAll",t),this.updateData()}set publicAt(t){this.set("publicAt",t),this.updateData()}get publicAt(){return this.get("publicAt")}set situations(t){this.loadAll=!1,this.set("situations",t),this.updateData()}get situations(){return this.get("situations")}get tenant(){return this.get("tenant")}set tenant(t){this.set("tenant",t),this.updateData()}get url(){return this.api.url}set url(t){this.api.url=t,this.updateData()}get useGraphs(){return this.get("useGraphs")}constructor(t){super(Object.assign({api:new tf({apiKey:t.apiKey,tenant:t.tenant,url:t.url}),layersFilter:({metadata:e,source:i})=>e?.["general.filter"]===N01||i===kh},t)),Ha.set(this,null),Oh.set(this,{features:[],type:"FeatureCollection"})}attachToMap(t){var e,i;if(super.attachToMap(t),!((i=(e=this.maplibreLayer)===null||e===void 0?void 0:e.mapLibreMap)===null||i===void 0)&&i.getSource(kh)&&this.updateData(),this.useGraphs){let n=this.getMapInternal();n&&this.olEventsKeys.push(n.on("moveend",()=>{this.onZoomEnd()}))}}detachFromMap(){var t,e;super.detachFromMap();let i=(e=(t=this.maplibreLayer)===null||t===void 0?void 0:t.mapLibreMap)===null||e===void 0?void 0:e.getSource(kh);i&&i.setData({features:[],type:"FeatureCollection"}),Js(this,Ha,"f")&&(Js(this,Ha,"f").abort(),nS(this,Ha,null,"f"))}getDataByGraph(t){var e,i,o,n,c;let A=(i=(e=this.getMapInternal())===null||e===void 0?void 0:e.getView())===null||i===void 0?void 0:i.getZoom(),L=(c=((n=(o=this.maplibreLayer)===null||o===void 0?void 0:o.mapLibreMap)===null||n===void 0?void 0:n.getStyle()).metadata)===null||c===void 0?void 0:c.graphs,g=zh(A,L);return{features:(t?.features||[]).filter(S=>{var I;return((I=S.properties)===null||I===void 0?void 0:I.graph)===g}),type:"FeatureCollection"}}loadData(){return oZ(this,void 0,void 0,function*(){var t,e,i,o,n;Js(this,Ha,"f")&&Js(this,Ha,"f").abort(),nS(this,Ha,new AbortController,"f");let c=(i=((e=(t=this.maplibreLayer)===null||t===void 0?void 0:t.mapLibreMap)===null||e===void 0?void 0:e.getStyle()).metadata)===null||i===void 0?void 0:i.graphs,A=c??iS,L=[...new Set(Object.values(A))].join(",");try{return(yield this.api.export(Object.assign({graph:L,hasGeoms:!0,publicAt:(o=this.publicAt)===null||o===void 0?void 0:o.toISOString(),publicNow:!this.publicAt},(n=this.apiParameters)!==null&&n!==void 0?n:{}),{signal:Js(this,Ha,"f").signal})).paginatedSituations.results}catch(g){if(g&&g.name.includes("AbortError"))return[];throw g}})}onLoad(){super.onLoad(),this.updateData()}onZoomEnd(){var t,e;let i=(e=(t=this.maplibreLayer)===null||t===void 0?void 0:t.mapLibreMap)===null||e===void 0?void 0:e.getSource(kh);if(!i||!Js(this,Oh,"f").features.length)return;let o=this.getDataByGraph(Js(this,Oh,"f"));o!==Js(this,Oh,"f")&&i.setData(o)}updateData(){return oZ(this,void 0,void 0,function*(){var t,e,i;if(this.loadAll){let c=yield this.loadData();this.set("situations",c??[])}let o=(e=(t=this.maplibreLayer)===null||t===void 0?void 0:t.mapLibreMap)===null||e===void 0?void 0:e.getSource(kh);if(!o)return console.warn("MocoLayer: No source found for id : ",kh),Promise.reject(new Error("No source found"));let n={features:((i=this.situations)!==null&&i!==void 0?i:[]).flatMap(c=>vk(c).features),type:"FeatureCollection"};return nS(this,Oh,n,"f"),this.useGraphs?o.setData(this.getDataByGraph(n)):o.setData(n),Promise.resolve(!0)})}};Ha=new WeakMap,Oh=new WeakMap;var aS=oS;var dS=Jr(B4());var lS=Jr(B4()),cS=Jr(uZ());var i31=Object.assign({delayDisplay:3e5,delayOutlineColor:"#000",getArrowSize:(r,t,e=0)=>[e*3/4,e],getColor:()=>"#000",getDelayColor:()=>"#000",getDelayFont:(r,t,e)=>`bold ${e}px arial, sans-serif`,getDelayText:()=>"",getDelayTextColor:()=>"#000",getImage:()=>null,getMaxRadiusForStrokeAndDelay:()=>7,getMaxRadiusForText:()=>10,getRadius:()=>5,getText:(r=>{var t,e;return((e=(t=r?.properties)===null||t===void 0?void 0:t.line)===null||e===void 0?void 0:e.name)||"U"}),getTextColor:()=>"#fff",getTextFont:(r,t,e)=>`bold ${e}px arial, sans-serif`,getTextSize:()=>14,showDelayBg:!0,showDelayText:!0,showHeading:!1,useDelayStyle:!1},Cb),uS=class{get mode(){return this._mode}set mode(t){var e,i;t!==this._mode&&(this._mode=t,!((i=(e=this.api)===null||e===void 0?void 0:e.wsApi)===null||i===void 0)&&i.open&&(this.stop(),this.start()))}get speed(){return this._speed}set speed(t){this._speed=t,this.start()}get style(){return this._style}set style(t){this._style=t,this.renderTrajectories()}get time(){return this._time}set time(t){this._time=t?.getTime?t:new Date(t),this.renderTrajectories()}constructor(t){var e,i,o,n,c,A,L,g,v,S,I,B,R,H,V,G,e1;this.isIdle=!1,this.getViewState=()=>({}),this.shouldRender=()=>!0,this._mode=t.mode||R8.TOPOGRAPHIC,this._speed=(e=t.speed)!==null&&e!==void 0?e:1,this._style=(i=t.style)!==null&&i!==void 0?i:KC,this._time=(o=t.time)!==null&&o!==void 0?o:new Date,this.api=(n=t.api)!==null&&n!==void 0?n:new ow(t),this.bboxParameters=t.bboxParameters,this.canvas=(c=t.canvas)!==null&&c!==void 0?c:typeof document<"u"?document.createElement("canvas"):void 0,this.debug=(A=t.debug)!==null&&A!==void 0?A:!1,this.filter=t.filter,this.hoverVehicleId=t.hoverVehicleId,this.live=t.live!==!1,this.minZoomInterpolation=(L=t.minZoomInterpolation)!==null&&L!==void 0?L:8,this.pixelRatio=(g=t.pixelRatio)!==null&&g!==void 0?g:typeof window<"u"?window.devicePixelRatio:1,this.selectedVehicleId=t.selectedVehicleId,this.sort=t.sort,this.styleOptions=Object.assign(Object.assign({},i31),(v=t.styleOptions)!==null&&v!==void 0?v:{}),this.tenant=(S=t.tenant)!==null&&S!==void 0?S:"",this.trajectories={},this.useDebounce=(I=t.useDebounce)!==null&&I!==void 0?I:!1,this.useRequestAnimationFrame=(B=t.useRequestAnimationFrame)!==null&&B!==void 0?B:!1,this.useThrottle=t.useThrottle!==!1,this.getViewState=(R=t.getViewState)!==null&&R!==void 0?R:(()=>({})),this.shouldRender=(H=t.shouldRender)!==null&&H!==void 0?H:(()=>!0),this.getRefreshTimeInMs=(V=t.getRefreshTimeInMs)!==null&&V!==void 0?V:this.getRefreshTimeInMs.bind(this),this.onRender=t.onRender,this.onIdle=t.onIdle,this.onStart=t.onStart,this.onStop=t.onStop,this.format=new Y0,this.motsByZoom=(G=t.motsByZoom)!==null&&G!==void 0?G:[v4,v4,v4,v4,v4,v4,v4,v4,v4,Ig,Ig],this.getMotsByZoom=i1=>t.getMotsByZoom?t.getMotsByZoom(i1,this.motsByZoom):i1>this.motsByZoom.length-1?this.motsByZoom[this.motsByZoom.length-1]:this.motsByZoom[i1],this.generalizationLevelByZoom=t.generalizationLevelByZoom||[],this.getGeneralizationLevelByZoom=i1=>t.getGeneralizationLevelByZoom?t.getGeneralizationLevelByZoom(i1,this.generalizationLevelByZoom):i1>this.generalizationLevelByZoom.length-1?this.generalizationLevelByZoom[this.generalizationLevelByZoom.length-1]:this.generalizationLevelByZoom[i1],this.graphByZoom=(e1=t.graphByZoom)!==null&&e1!==void 0?e1:[],this.getGraphByZoom=i1=>{var r1,L1;return t.getGraphByZoom?t.getGraphByZoom(i1,this.graphByZoom):i1>this.graphByZoom.length-1?(r1=this.graphByZoom)===null||r1===void 0?void 0:r1[this.graphByZoom.length-1]:(L1=this.graphByZoom)===null||L1===void 0?void 0:L1[i1]},this.renderTimeIntervalByZoom=t.renderTimeIntervalByZoom||[1e5,5e4,4e4,3e4,2e4,15e3,1e4,5e3,2e3,1e3,400,300,250,180,90,60,50,50,50,50,50],this.getRenderTimeIntervalByZoom=i1=>t.getRenderTimeIntervalByZoom?t.getRenderTimeIntervalByZoom(i1,this.renderTimeIntervalByZoom):this.renderTimeIntervalByZoom[i1],this.isUpdateBboxOnMoveEnd=t.isUpdateBboxOnMoveEnd!==!1,this.throttleRenderTrajectories=(0,cS.default)(this.renderTrajectoriesInternal,50,{leading:!1,trailing:!0}),this.debounceRenderTrajectories=(0,lS.default)(this.renderTrajectoriesInternal,50,{leading:!0,maxWait:5e3,trailing:!0}),this.renderState={center:[0,0],rotation:0,zoom:void 0},this.onTrajectoryMessage=this.onTrajectoryMessage.bind(this),this.onDeleteTrajectoryMessage=this.onDeleteTrajectoryMessage.bind(this),this.onDocumentVisibilityChange=this.onDocumentVisibilityChange.bind(this)}addTrajectory(t){this.trajectories||(this.trajectories={});let e=t.properties.train_id;e!==void 0&&(this.trajectories[e]=t),this.renderTrajectories()}attachToMap(){document.addEventListener("visibilitychange",this.onDocumentVisibilityChange)}detachFromMap(){if(document.removeEventListener("visibilitychange",this.onDocumentVisibilityChange),this.stop(),this.canvas){let t=this.canvas.getContext("2d");t&&t.clearRect(0,0,this.canvas.width,this.canvas.height)}}getRefreshTimeInMs(){var t,e;let o=(t=this.getViewState().zoom)!==null&&t!==void 0?t:0,n=o!==void 0?Math.round(o):-1,c=this.getRenderTimeIntervalByZoom(n)||25,A=Math.max(25,c/(this.speed||1)),L=Math.min(A,500);if(this.useThrottle?this.throttleRenderTrajectories=(0,cS.default)(this.renderTrajectoriesInternal,L,{leading:!0,trailing:!0}):this.useDebounce&&(this.debounceRenderTrajectories=(0,lS.default)(this.renderTrajectoriesInternal,L,{leading:!0,maxWait:5e3,trailing:!0})),!((e=this.api)===null||e===void 0)&&e.buffer){let[,g]=this.api.buffer;this.api.buffer=[L,g]}return A}getVehicles(t){return this.trajectories&&Object.values(this.trajectories).filter(t)||[]}getVehiclesAtCoordinate(t,e){let{resolution:i}=this.getViewState(),{hitTolerance:o,nb:n}=e||{},c=Fs([...t,...t],(o??5)*(i??1)),A=Object.values(this.trajectories||{});this.sort&&(A=A.sort(this.sort));let L=[];for(let g=0;g<A.length;g+=1){let v=A[g],{coordinate:S}=v.properties;if(S&&Wl(c,S)&&L.push(v),L.length===n)break}return{features:L,type:"FeatureCollection"}}onDeleteTrajectoryMessage(t){t.content&&this.removeTrajectory(t.content)}onDocumentVisibilityChange(){if(document.hidden)this.stop(),this.trajectories={};else{if(!this.getViewState().visible)return;this.start()}}onTrajectoryMessage(t){if(this.updateIdleState(),!t.content)return;let e=t.content,{geometry:i,properties:{raw_coordinates:o,time_since_update:n}}=e;n<0||this.purgeTrajectory(e)||(this.debug&&this.mode===R8.TOPOGRAPHIC&&o?e.properties.olGeometry=this.format.readGeometry({coordinates:ic(o),type:"Point"}):e.properties.olGeometry=this.format.readGeometry(i),e.properties.timeOffset=Date.now()-t.timestamp,this.addTrajectory(e))}onZoomEnd(){this.startUpdateTime()}purgeOutOfDateTrajectories(){Object.entries(this.trajectories||{}).forEach(([t,e])=>{var i;let o=(i=e?.properties)===null||i===void 0?void 0:i.time_intervals;this.time&&o?.length&&o[o.length-1][0]<this.time.getTime()&&this.removeTrajectory(t)})}purgeTrajectory(t){let i=this.getViewState().extent,{bounds:o,type:n}=t.properties;return this.isUpdateBboxOnMoveEnd&&i&&!t6(i,o)||this.mots&&!this.mots.includes(n)?(this.removeTrajectory(t),!0):!1}removeTrajectory(t){var e;let i;typeof t!="string"?i=(e=t?.properties)===null||e===void 0?void 0:e.train_id:i=t,i!==void 0&&this.trajectories&&delete this.trajectories[i]}renderTrajectories(t){let e=this.getViewState();this.requestId&&(cancelAnimationFrame(this.requestId),this.requestId=void 0),!(!e?.center||!e?.extent||!e?.size)&&(!t&&this.useRequestAnimationFrame?this.requestId=requestAnimationFrame(()=>{this.renderTrajectoriesInternal(e,t)}):!t&&this.useDebounce?this.debounceRenderTrajectories(e,t):!t&&this.useThrottle?this.throttleRenderTrajectories(e,t):this.renderTrajectoriesInternal(e,t))}renderTrajectoriesInternal(t,e=!1){var i;if(!this.trajectories||!this.shouldRender())return!1;let o=new Date;this.live?this._time=o:this.time&&(o=this.time);let n=Object.values(this.trajectories);return this.sort&&n.sort(this.sort),!this.canvas||!this.style||(this.renderState=Ek(this.canvas,n,this.style,Object.assign(Object.assign({},t),{pixelRatio:this.pixelRatio||1,time:o.getTime()}),Object.assign(Object.assign({},this.styleOptions),{filter:this.filter,hoverVehicleId:this.hoverVehicleId,noInterpolate:(t.zoom||0)<this.minZoomInterpolation?!0:e,selectedVehicleId:this.selectedVehicleId})),(i=this.onRender)===null||i===void 0||i.call(this,this.renderState,t)),!0}setBbox(){var t;this.updateIdleState();let e=this.getViewState(),i=e.extent,o=(t=e.zoom)!==null&&t!==void 0?t:0;if(!i||Number.isNaN(o))return;if(this.trajectories&&i&&o){let I=Object.keys(this.trajectories);for(let B=I.length-1;B>=0;B-=1)this.purgeTrajectory(this.trajectories[I[B]])}let n=Math.floor(o);if(!i||Number.isNaN(n))return;let[c,A,L,g]=i,v=[Math.floor(c),Math.floor(A),Math.ceil(L),Math.ceil(g),n];this.generalizationLevel=this.getGeneralizationLevelByZoom(n),this.generalizationLevel&&v.push(`gen=${this.generalizationLevel}`),this.mots=this.getMotsByZoom(n),this.mots&&v.push(`mots=${this.mots.toString()}`),this.tenant&&v.push(`tenant=${this.tenant}`),this.mode!=="topographic"&&v.push(`channel_prefix=${this.mode}`);let S=this.getGraphByZoom(n);S&&v.push(`graph=${S}`),this.bboxParameters&&Object.entries(this.bboxParameters).forEach(([I,B])=>{v.push(`${I}=${B}`)}),this.api.bbox=v}start(){this.stop(),this.purgeOutOfDateTrajectories(),this.renderTrajectories(),this.startUpdateTime(),this.api.open(),this.api.subscribeTrajectory(this.mode,this.onTrajectoryMessage,void 0,this.isUpdateBboxOnMoveEnd),this.api.subscribeDeletedVehicles(this.mode,this.onDeleteTrajectoryMessage,void 0,this.isUpdateBboxOnMoveEnd),this.isUpdateBboxOnMoveEnd&&this.setBbox(),this.onStart&&this.onStart(this)}startUpdateTime(){this.stopUpdateTime(),this.updateTimeDelay=this.getRefreshTimeInMs()||0,this.updateTimeInterval=window.setInterval(()=>{this.live?this.time=new Date:this.time&&this.updateTimeDelay&&this.speed&&(this.time=new Date(this.time.getTime()+this.updateTimeDelay*this.speed))},this.updateTimeDelay)}stop(){this.api.unsubscribeTrajectory(this.onTrajectoryMessage),this.api.unsubscribeDeletedVehicles(this.onDeleteTrajectoryMessage),this.api.close(),this.onStop&&this.onStop(this)}stopUpdateTime(){this.updateTimeInterval&&(clearInterval(this.updateTimeInterval),this.updateTimeInterval=void 0)}updateIdleState(){this.isIdle=!1,clearTimeout(this._idleTimeout),this._idleTimeout=window.setTimeout(()=>{var t;this.isIdle=!0,(t=this.onIdle)===null||t===void 0||t.call(this,this)},1e3)}},hZ=uS;var n31=new Y0,op=class extends tm{forEachFeatureAtCoordinate(t,e,i,o){let n=this.getFeaturesAtCoordinate(t,i);return n.forEach(c=>{o(c,this.layer_,c.getGeometry())}),n?.[0]}getData(t){var e;let i;try{let{pixelRatio:o}=this.getLayer(),n=(e=this.canvas)===null||e===void 0?void 0:e.getContext("2d",{willReadFrequently:!0});return i=n?.getImageData(t[0]*(o||1),t[1]*(o||1),1,1).data||null,i}catch(o){console.error("error getting data",o)}return null}getFeatures(t){var e,i;let o=(i=(e=this.getLayer())===null||e===void 0?void 0:e.getMapInternal())===null||i===void 0?void 0:i.getCoordinateFromPixel(t);return Promise.resolve(this.getFeaturesAtCoordinate(o))}getFeaturesAtCoordinate(t,e=5){if(!t)return[];let i=this.getLayer(),o=i.engine.getVehiclesAtCoordinate(t,{hitTolerance:e,nb:i.maxNbFeaturesRequested});return n31.readFeatures(o)}prepareFrame(){return!0}renderFrame(t){var e;let{canvas:i,engine:o,renderedViewState:n}=this.getLayer();if(this.getLayer().engine.pixelRatio=t.pixelRatio,this.ready=!!(!((e=o.renderState)===null||e===void 0)&&e.renderedTrajectories)&&o.isIdle,this.container||(this.container=document.createElement("div"),this.container.className=this.getLayer().getClassName(),this.container.style.position="absolute",this.container.style.width="100%",this.container.style.height="100%",i instanceof HTMLCanvasElement&&(i.style.position="absolute",i.style.top="0",i.style.left="0",i.style.transformOrigin="top left",this.container.appendChild(i))),n){let{center:c,resolution:A,rotation:L}=t.viewState,{center:g,resolution:v,rotation:S}=n;if(v/A>=3){let I=i?.getContext("2d");i?.width&&i?.height&&I?.clearRect(0,0,i.width,i.height)}else{let I=this.getLayer().getMapInternal(),B=I?.getPixelFromCoordinate(g),R=I?.getPixelFromCoordinate(c);B&&R&&(this.container.style.transform=qz(B[0]-R[0],B[1]-R[1],v/A,v/A,L-S,0,0))}}return this.container}};var o31=new J0({image:new V9({fill:new r6({color:"#000000"}),radius:5}),stroke:new pi({color:"#000000",width:6}),zIndex:2}),a31=r=>{let{stroke:t,type:e}=r.getProperties(),i=t||wf(e)||"#000";return i&&!i.startsWith("#")&&(i=`#${i}`),[o31,new J0({image:new V9({fill:new r6({color:i}),radius:4}),stroke:new pi({color:i,width:4}),zIndex:3})]},hS=a31;var bm=function(r,t,e,i){function o(n){return n instanceof e?n:new e(function(c){c(n)})}return new(e||(e=Promise))(function(n,c){function A(v){try{g(i.next(v))}catch(S){c(S)}}function L(v){try{g(i.throw(v))}catch(S){c(S)}}function g(v){v.done?n(v.value):o(v.value).then(A,L)}g((i=i.apply(r,t||[])).next())})},dZ=new Y0,AS=class r extends P7{get api(){return this.engine.api}set api(t){this.engine.api=t}get canvas(){return this.engine.canvas}get filter(){return this.engine.filter}set filter(t){this.engine.filter=t}get hoverVehicleId(){return this.engine.hoverVehicleId}set hoverVehicleId(t){this.engine.hoverVehicleId=t}get mode(){return this.engine.mode}set mode(t){this.engine.mode=t}get pixelRatio(){return this.engine.pixelRatio}get selectedVehicleId(){return this.engine.selectedVehicleId}set selectedVehicleId(t){this.engine.selectedVehicleId=t}get sort(){return this.engine.sort}set sort(t){this.engine.sort=t}get style(){var t;return(t=this.engine)===null||t===void 0?void 0:t.style}set style(t){this.engine&&(this.engine.style=t)}get styleOptions(){return this.engine.styleOptions}set styleOptions(t){this.engine.styleOptions=t}get time(){return this.engine.time||new Date}set time(t){this.engine.time=t}get trajectories(){return this.engine.trajectories}constructor(t){super(Object.assign({minZoom:4,source:new _4({})},t)),this.allowRenderWhenAnimating=!1,this.maxNbFeaturesRequested=100,this.olEventsKeys=[],Fh(this,t),this.engine=new hZ(Object.assign({getViewState:this.getViewState.bind(this),onIdle:this.onRealtimeEngineIdle.bind(this),onRender:this.onRealtimeEngineRender.bind(this),style:nz},t)),this.allowRenderWhenAnimating=!!t.allowRenderWhenAnimating,this.vectorLayer=new sm({minZoom:this.getMinZoom(),source:new Pa({features:[]}),style:(e,i)=>(t.fullTrajectoryStyle||hS)(e,i,this),updateWhileAnimating:this.allowRenderWhenAnimating,updateWhileInteracting:!0}),this.onZoomEndDebounced=(0,dS.default)(this.onZoomEnd,100),this.onMoveEndDebounced=(0,dS.default)(this.onMoveEnd,100)}addTrajectory(t){var e;(e=this.engine)===null||e===void 0||e.addTrajectory(t)}attachToMap(){this.engine.attachToMap();let t=this.getMapInternal();t&&(this.getVisible()&&this.engine.start(),this.olEventsKeys.push(t.on("movestart",()=>{this.engine.isUpdateBboxOnMoveEnd&&this.engine.updateIdleState()}),...t.on(["moveend","change:target"],e=>{let i=(e.map||e.target).getView();if(!i||i?.getAnimating()||i?.getInteracting())return;let o=i.getZoom();this.currentZoom!==o&&this.onZoomEndDebounced(e),this.currentZoom=o,this.onMoveEndDebounced(e)}),this.on("change:visible",e=>{e.target.getVisible()?this.engine.start():this.engine.stop()}),this.on("propertychange",e=>{/(opacity|visible|zIndex|minResolution|maxResolution|minZoom|maxZoom)/.test(e.key)&&this.vectorLayer.set(e.key,e.target.get(e.key))})))}cleanVectorLayer(){var t,e,i;(e=(t=this.vectorLayer)===null||t===void 0?void 0:t.getSource())===null||e===void 0||e.clear(!0),(i=this.vectorLayer.getMapInternal())===null||i===void 0||i.removeLayer(this.vectorLayer)}clone(t){return new r(Object.assign(Object.assign({},this.get("options")),t))}createRenderer(){return new op(this)}detachFromMap(){var t;N5(this.olEventsKeys),(t=this.getMapInternal())===null||t===void 0||t.removeLayer(this.vectorLayer),this.engine.detachFromMap()}getFullTrajectory(t){return bm(this,void 0,void 0,function*(){var e,i,o,n;let c=yield this.engine.api.getFullTrajectory(t,this.engine.mode,this.engine.getGeneralizationLevelByZoom(Math.floor(((i=(e=this.getMapInternal())===null||e===void 0?void 0:e.getView())===null||i===void 0?void 0:i.getZoom())||0)));return!((n=(o=c?.content)===null||o===void 0?void 0:o.features)===null||n===void 0)&&n.length?dZ.readFeatures(c?.content):[]})}getStopSequences(t){return bm(this,void 0,void 0,function*(){let e=yield this.engine.api.getStopSequence(t);return e?.content})}getTrajectoryInfos(t){return bm(this,void 0,void 0,function*(){let e=[this.getStopSequences(t),this.getFullTrajectory(t)],[i,o]=yield Promise.all(e);return{fullTrajectory:o,stopSequences:i}})}getVehicles(t){return this.engine.getVehicles(t)}getViewState(){let t=this.getMapInternal();if(!t?.getView())return{};let e=t.getView(),i=e.calculateExtent(),o=this.getExtent();return o&&(i=tg(i,o),ya(i)&&(i=o)),{center:e.getCenter(),extent:i,pixelRatio:this.engine.pixelRatio,resolution:e.getResolution(),rotation:e.getRotation(),size:t.getSize(),visible:this.getVisible(),zoom:e.getZoom()}}highlight(t){let e=Array.isArray(t)?t[0]:t,i=e?.get("train_id");this.hoverVehicleId!==i&&(this.hoverVehicleId=i,this.engine.renderTrajectories(!0))}highlightTrajectory(t){return bm(this,void 0,void 0,function*(){return new Promise(i=>{this.api.subscribeFullTrajectory(t,this.engine.mode,o=>{var n,c;if(this.selectedVehicleId===t&&o?.content){let A=[];!((c=(n=o?.content)===null||n===void 0?void 0:n.features)===null||c===void 0)&&c.length&&(A=dZ.readFeatures(o?.content)),this.updateHighlightFeatures(A),i(A)}})})})}onMoveEnd(){!this.engine.isUpdateBboxOnMoveEnd||!this.getVisible()||this.engine.setBbox()}onRealtimeEngineIdle(){this.changed()}onRealtimeEngineRender(t,e){this.renderedViewState=Object.assign({},e);let{container:i}=this.getRenderer();i&&(i.style.transform="")}onZoomEnd(){this.engine.onZoomEnd(),!this.engine.isUpdateBboxOnMoveEnd||this.getVisible()}removeTrajectory(t){var e;(e=this.engine)===null||e===void 0||e.removeTrajectory(t)}renderTrajectories(t){Rh("RealtimeLayer.renderTrajectories is deprecated. Use RealtimeLayer.engine.renderTrajectories instead."),this.engine.renderTrajectories(t)}select(t){let e=Array.isArray(t)?t[0]:t,i=e?.get("train_id");this.selectedVehicleId!==i&&(this.selectedVehicleId&&this.api.unsubscribeFullTrajectory(this.selectedVehicleId),this.cleanVectorLayer(),this.selectedVehicleId=i,this.engine.renderTrajectories(!0)),i&&this.highlightTrajectory(i)}setMapInternal(t){t?(super.setMapInternal(t),this.attachToMap()):(this.detachFromMap(),super.setMapInternal(t))}shouldRender(){var t,e;return this.allowRenderWhenAnimating?!1:((t=this.getMapInternal())===null||t===void 0?void 0:t.getView().getAnimating())||((e=this.getMapInternal())===null||e===void 0?void 0:e.getView().getInteracting())}start(){this.engine.start()}stop(){this.engine.stop()}updateHighlightFeatures(t){var e,i,o,n,c,A;this.cleanVectorLayer(),t?.length&&((i=(e=this.vectorLayer)===null||e===void 0?void 0:e.getSource())===null||i===void 0||i.addFeatures(t)),this.vectorLayer.getMapInternal()&&this.vectorLayer.getMapInternal()!==this.getMapInternal()&&((o=this.vectorLayer.getMapInternal())===null||o===void 0||o.removeLayer(this.vectorLayer));let L=this.getZIndex();if(L!==void 0)this.vectorLayer.setZIndex(L-1),this.vectorLayer.getMapInternal()||(n=this.getMapInternal())===null||n===void 0||n.addLayer(this.vectorLayer);else if(!this.vectorLayer.getMapInternal()){let g=((c=this.getMapInternal())===null||c===void 0?void 0:c.getLayers().getArray().indexOf(this))||0;g&&((A=this.getMapInternal())===null||A===void 0||A.getLayers().insertAt(g,this.vectorLayer))}return t}},fS=AS;var AZ=function(r,t,e,i){function o(n){return n instanceof e?n:new e(function(c){c(n)})}return new(e||(e=Promise))(function(n,c){function A(v){try{g(i.next(v))}catch(S){c(S)}}function L(v){try{g(i.throw(v))}catch(S){c(S)}}function g(v){v.done?n(v.value):o(v.value).then(A,L)}g((i=i.apply(r,t||[])).next())})},s31=new Y0,l31=(r,t,e)=>{let i,{coordinate:o,params:n,projection:c,resolution:A}=t;return r&&A&&c&&(i=r.getFeatureInfoUrl(o,A,c,Object.assign({info_format:"application/json",query_layers:r.getParams().layers},n))),fetch(i,{signal:e.signal}).then(L=>L.json()).then(L=>s31.readFeatures(L)).catch(()=>[])},ap={},c31=(r,t,...e)=>AZ(void 0,[r,t,...e],void 0,function*(i,o,n=5,c=!1){Object.values(ap).forEach(g=>{g?.abort()}),ap={};let L=u4(o).map(g=>AZ(void 0,void 0,void 0,function*(){var v,S,I,B;let R=g.getMapInternal(),H=(S=(v=R?.getView())===null||v===void 0?void 0:v.getProjection())===null||S===void 0?void 0:S.getCode(),V={coordinate:i,features:[],layer:g};if(!H)return Promise.resolve(V);let G=g;if(!c&&G.getFeatureInfoAtCoordinate)return G.getFeatureInfoAtCoordinate(i);let e1=G?.getSource();if(e1?.getFeatureInfoUrl){let L1=or(G);(I=ap[L1])===null||I===void 0||I.abort(),ap[L1]=new AbortController;let w1=(B=R?.getView())===null||B===void 0?void 0:B.getResolution(),S1=yield l31(e1,{coordinate:i,params:{info_format:"application/json",query_layers:e1.getParams().layers},projection:H,resolution:w1},ap[L1]).catch(()=>[]),y1={coordinate:i,features:S1,layer:G};return Promise.resolve(y1)}let i1=R?.getPixelFromCoordinate(i);if(!i1)return Promise.resolve(V);let r1=R?.getFeaturesAtPixel(i1,{hitTolerance:G.get("hitTolerance")||n||5,layerFilter:L1=>L1===G});return Promise.resolve({coordinate:i,features:r1,layer:G})}));return Promise.all(L)}),pS=c31;var LS=s8({hasDetails:!1,hasGeolocation:!1,hasLayerTree:!1,hasLnp:!1,hasMapset:!1,hasNotification:!1,hasPermalink:!1,hasPrint:!1,hasRealtime:!1,hasSearch:!1,hasShare:!1,hasStations:!1,hasToolbar:!0,isEmbed:!1,isExportMenuOpen:!1,isFollowing:!1,isLayerTreeOpen:!1,isOverlayOpen:!1,isSearchOpen:!1,isShareMenuOpen:!1,isTracking:!1,notificationLangFallbacks:[],selectedFeatures:[],setBaseLayer:r=>{},setIsFollowing:r=>{},setIsTracking:r=>{},setLinesIds:r=>{},setLinesNetworkPlanLayer:r=>{},setMap:r=>{},setMapsetLayer:r=>{},setNotificationId:r=>{},setNotificationLangFallbacks:r=>{},setNotificationsLayer:r=>{},setPermalinkUrlSearchParams:r=>{},setPreviewNotifications:r=>{},setRealtimeLayer:r=>{},setSelectedFeature:r=>{},setSelectedFeatures:r=>{},setStation:r=>{},setStationId:r=>{},setStationsLayer:r=>{},setTrainId:r=>{}}),u31=()=>{let r=J3(LS);if(!r)throw new Error("useMapContext must be used within a ContextProvider");return r},dt=u31;function h31(r){let{apikey:t,baselayer:e,hasPrint:i,hasShare:o,map:n,mapsurl:c,setBaseLayer:A}=dt(),L=Mt(()=>o||i,[o,i]),g=Mt(()=>{if(!(!e||!t))return new jB({apiKey:t,style:e,url:c,zIndex:0,...r||{},mapLibreOptions:{maxCanvasSize:[2e4,2e4],...r?.mapLibreOptions||{},canvasContextAttributes:{preserveDrawingBuffer:L,...r?.mapLibreOptions?.canvasContextAttributes||{}}}})},[e,t,c,r,L]);return N2(()=>{A(g)},[g,A]),N2(()=>{if(!(!n||!g))return n.addLayer(g),()=>{n.removeLayer(g)}},[n,g]),null}var CS=W2(h31);var fZ="data:image/png;base64,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ADgIAQAAAMBBCAAAAAAOQgAAAABwEAIAAACAgxAAAAAAHIQAAAAA4CAEAAAAAAf5XemjTwURERHd8nfRoYsJIiIiuuXvun43uyAiIqJbEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAREREByUAICIiOigBABER0UEJAIiIiA5KAEBERHRQAgAiIqKDEgAQEREdlACAiIjooAQAROz/Tj1YIjPNJ7FFVpPEhjtIap8jJHPSaMldeq0U7nxAis+9IqV3xkzs2+9L8YHHJbXLX6VrqkH+NhFDLgEAETvSyLTDJfKneSU6eBGJzbOcJNbYUtL7HSW58y+X4sNPSumVNzzf7PZVzzfelfKYj6T82ZdS+eZ7qfw8TqqxhFQzWZFSWXoll5fKV9+aNqLDFycIoFMSABCx9Xo32sj/zSWJdbaR9MHHSe7iqyR/w+1SuON+KTz4uBSfesF7an9ZSi++1n2Df/0dKX/wsblZVyMxkULRvpU3jAaK6MilTG+Cb38RQygBABFbZmSGkZLcYT/zBF988nkpv/dh9009GpdqOiNV74lcSiWRatW+Pzcfb5slL3REhy5GTwA6IQEAEVtidNjiUrj1XimP/aQ9N/ha8PZLeyMiM8/v23/EsEkAQMSmGx25tBTuebgpXfdBUxkXkeiIJX3HgBg2CQCI2FSjQxaV7NmXipQnMRCvA9GZAZE/zOk7FsQwSQBAxOY51SCJL7OeVH74yb7HdjT5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+Kqbdb+SIpxigxIAMBinHWYWPtGnrcwpZ5tVx/oF1arkr77J3Phjo1bixh9mNQjMvWz3d/TvZ/abHgFdiChz7OmSWHMrMxCXGz8GJQEAg9W7OOlFSi+yyR32NdOSOrFXoPT+WMmccKYkdRnieZYzNwffsWA4nXqw9wS9sOkRSO18gBQfebrj1hWopjJSePAJSe64vyTW2KL7dZQuhW0fC2IDEgCweXpP07HF1pDkRjtJctu9zWpkZj33dtQS8J72ql1RSR9yvFlRLr7Kpt3dqAzuc1odPKcDPZOb7SqpHfeT8jtjpKrTXFv9HfW2V83lpHD7/ea3YoLp4mtKl9ac6GW/EYOQAICtcZohEvcuaDqFMLXbQZI94wIpPvdK9+DBZlxsi0Upf/al5K+9RTJHnyrJ7fcxF3kzVcreN0R14FDztJ3cek9J73W4ZE85R4qPPSvVZBN6sPSG77WrT/n6OkJ7IpLb7CnxRVenix9bJgEAW68OHBy6mHkKT+20vxcIDpbU7gebkc2F2++T0hvvmJt35cefzcAnfYXgM56Uyi9dUvn6Oyl/8LFZHlbXLUgf9g/TVmrXA72nqJ0ltuDKEpl5fv8+IE7GyHTDzaus+AobmpoC+p1K73OkZE87Vwo33imlF171vncfmcqDOh2v8sNPfr3/Xf+7fj9Lz7/qhdFbJXP8P7u/n/qd99qNL7ueROjexzZJAMCOUd9zandsYt1tTTd9aod9TXlXc7G01f/dCw/ao5DcZGezPGxs7mUl8oc5fe0iBqIG10ELm6f0xBpbmu+dLgWd3G5vSW2/r8/kdvtIcqs9TBDVfx9bcBXCKHaUBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdFACACIiooMSABARER2UAICIiOigBABEREQHJQAgIiI6KAEAERHRQQkAiIiIDkoAQEREdND/B1ru0Nqnfi4IAAAAAElFTkSuQmCC";var pZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AABdx0lEQVR4XuydBbgVVduGJcVO6lDSSCooBjZ2gB2o2C3qpygqKnaAgYoB2NhiYXd3oEiJCIKggmdmd8fzrXdtUJy9zzk7z9mz57mv6778vx+Y2bNj1jMr3rUWyp1kEkgkUsr/LRJCCCHlxOr2ac32qsxZy/r/KCvkTYzLm8mGnxBCiA1YMwSIZUx5BoA13zw2/IQQQuyGDYJAeQUAm3WfEEIIIbVSxu1a+QQA3d0fL8s3iRBCCMmbMu0NaPgAUKZvDCGEEFJUyqw3oGEDQJm9GYQQQkhJkbbun7avYdu9hgsAfOonhBDiVNZ8AG4g6j8A8KmfEEIIafD2sH4DQBkkHkIIIaSsaKAQUH8BgF3+hBBCSGYa4AG5fgKAXJAs8avndEMIIYTYBmkjVy+HrwdKHwAaqGuDEEIIsR31OC+gdAFg9UVImiGEEEJI9tRDz3lpAkADjGUQQgghFUWJq+MWPwCw8SeEEEKKQwl7AoobAOp5AgMhhBBS8axuW4scAooXAFY/+Rf5BRJCCCGOpwQhoDgBgI0/IYQQUlqK3NYWHgCK/IIIIYQQUgNF7AkoLAAU8YUQQgghJAuK1PbmHwBWP/lzwh8hhBBSvxQhBOQXANj4E0IIIQ3L6nY4zxCQXwBg408IIYQ0PAW0x7kHgNVFCQghhBDS8OQZAnILAHmehBBCCCElJI/2OfsAsPrJP8+xBkIIIYSUiNWTAnMIAdkFAK71J4QQQsqbHENA3QGAjT8hhBBiD3Jos+sOAHmMKxBCCCGkgdBD9hICrH/wX2oPAGz8SaWhUnHi72rEPv8a4YemIXj9BPgvuBy+U86H76RR8J1IHeFJ58F/9sUIXnMLQlMeRvTjz5H4cwVXOJHKIYv2u+YAkEM3AiFlTySC2Mwf9Q3fs8+hcPXZEWa7vjA37wFj464wNuis3II6RvV5b9RFf/5m2z4we20Pz9Bh8F86DtHPv0IyGOS9j9ibLNrwzAFg9T+sIz0QUvbEYojPWwD/5dfCvf1eMFv1QvXa7VDduDWq12pFaUr5PqjvhbFZD7gH7gb/6LGI/TBLB0dCbEsdISBzAGDjTyqApM+HyIw34NnvCBjS8Ddtm37jp9RqkzYwNldBYI9hCE97BknTVeMNlJCyZ3UIyEB6AFjd+PMLT+yK+u4mDRPhB6fBPWh3VLdon36Tp7Qum7eDq88QhO66H4m/VvCeSOxJLT36/w0AdXQXEGIHki4Pwo89A1ffIfppLu3GTmm2Nm4Ns+dghO59AImVf1u/aoTYgxra9v8GgBpSAiF2IRkKIfL2B3AP3pPj/LQ4qu+Rq/9OiDz7EpJen/UrR4g9yDAU8G8AYNc/sTvq+xubPQ/eEaehuhnH+2kRbdIGnv2PQuyr77hUkNiTDEMB/w0AbPyJjZHJWqH7HoKxWbf0GzilBWpsuAWCN92Rmg9AiB2x9AKkAgC7/ondSSQR++4HeA48Wt2sN0+7eVNauC3h3uVARD/5nPdLYl/WaO/XqmlyACF2IhkIIPz4MzA2z/Hpv4myRTsY67SnDlM+9+qmMk+kZfr3ogaNDTvpCYFJj9f6FSTEHqzR5q/Fxp9UAoklyxC4eByqG2V/M5dKgL7jz0Bg3M0I3nA7dZiBa26B7+RRcHXeSn1v0r8fmd0cvlNGIT5/gfUrSIh9WBUCGABIRSDd/96DjkG2T3Nm2956PDc+dz6SwVBqYhd1lMlwBPGFixC6ezLMTgOyDgHuIfsi+uEnvG8S+/JPAOCXmNgd9R2OvvsBXP2GpN2sM7s5/KMuQdJ08yZO9NJR/9jrUd28KsN3JV2z6yBEXn6N8wCIvdFDALwBErujbsSR6TNgbJrd+L+xfnvEvviaN3DyD7Gf5sFosyWqG9VdO0I2Ewo/+nSqJ4EQu6IDACF2R92Iw09Mz+4JTt3gzS5bIfHHX3z6J/8gVf5cW+2UXeXIRq0Quv8RIBq1HoYQW8EAQOyPBIBpz2V585aqbjsiWW0yAJB/kBoSrsG7Z/cdWqslQvc9zABAbA8DALE/DACkQBgAiBNhACD2p1QBQB03UV2NxPI/6sc//tRV5pIrq/VuhrLWPBkON8hchaTXi8SKlUj8+Vf9q96DxIq/kfzb0A1z0h8o+Xg7AwBxIgwAxP6UKAAk3W6EHngE/suuVl5TcgNXXI/gdRMQvPlOhO64H6EHpyHy2tuIff094gsW6gZZL1ksdSBQ70vkrXfV67gDgXE31b/XSF2GOxAcPwmhSQ8g8syLiH36JeJzf9ZzN5KBYNHfAwYA4kQYAIj9KVEASCz9He6hw9S/2xSp8sL1ZUt1La1RvX57mO37wDVgV3gPPwEBFQ4iM15HfM489fqN0jVAqnENXHTFqlUV1tdWjzZqBaN5W723g9lre3j2PxKBsdcj8tJriM/7WQe0YvUMMAAQJ8IAQOxPyQLAMniGHoxUg5ThWPWmFDfaXJetNVr1hGfvQ9XT8UREP/sytTFNJGJ96YUhAWD0VTA37ZHhtTSU8h601O+B2WZLeIYdg9Dkh1NhyOev87OsCwYA4kQYAIj9qfgAYFU1hOtUwdVne/jVk7p0jyfdnuJ1i5dlALDYqCWMjbeA56CjEX76+VQQKqA3gAGAOBEGAGJ/HBcA1rB5W7i33gXB2ychvmSpapRi1svIHTsEgNU2bgVziwEIXHUjEot/yzsEMAAQJ8IAQOyPkwOAKGPlm3aFd+SZiH07s/AhATsFgFUam/eA//xLEV+4OK+eEAYA4kQYAIj9cXoAWG2LdnrSYvTNdwprnGwYAERjs+7wX3CZXlKJ2j/aNBgAiBNhACD2hwHgX9V74Npmd0ReeCWvJ2GNTQOAaFb1RfDa8UgGAtarqhUGAOJEGACI/WEA+K9N1DUOHqp3SMwLGwcAaZzd2++N6JvvWa+qVhgAiBNhACD2hwEg3eZV8Ox5MOI//2K9rLqxdQBoBWO9jvCdfI6uppgtDADEiTAAEPtT9gFg1Tr+f1y1pl1r/bvF09iwM7wjz0DC5bFeWu0UIwA0aqXX7Fe3UJ9JC/nvatX/Xlv9WXN17c3k75biPWgJ91a7IvLia9YrqxEGAOJEGACI/SnbANAyNTHtrEsQvOUuBG9e5U13IXD97fBfcT38510Mzz6HwmjdXTWMbVMNZ9px8lQdy+zYXzVWD+Y2H6AIAcBo1Qv+C8civnjpf120BPH5vyA28ydE3pByw3fBf/4YuLfZDdXrttPr+63Hykdjk27qvR2TKhucBQwAxIkwABD7U8YBwNV1IKIff64bov/oD+gKdkmvTzc+iYWLEHn+FfiOPx1mVW89jp9+vDxsVgX3DvsgPudn6+XVTBECgNmuL4I33KqOlbSYSCnr9SPR1Hsh78HKvxFVgcCz3+Ew1u2QdrycbdxKfXbDsx4CYQAgToQBgNifcg4A3QbpzXzqRDWKyVBY1/iPfvCJXtNvtOypX2/6cXPT2KwHAmOuyb7BKlYAuPE265FrJxxBYtkf8F9wuX6Ctx4zN9V732dHRJ59yXqWjDAAECfCAEDsTyUEgDVIRlINYXD8XXD1GJzdddWmLA3svzPi8xZYT5WZhgoAgvpMEn+sgPfIk2Cs1yntuLlotu+P4E13ZFUdkAGAOBEGAGJ/KiwAaNRrk94AGb939d4R1Y0L6wmQXoDgjbdnNxegIQOAoK49+v7HMLsOKmhOhLFRF/jOvED3rNQFAwBxIgwAxP5UYgBYRdIwdMNtbjGwoMawunk7eHY9EMm/q62nSKehA4BC5kfIMkZ53dZjZ+3a7eA97ITUboF1wABAnAgDALE/FRwAhMRvS+EdeRaM9bfIcI4slRUBVb0ReeUt6+HTKYMAIJ+Nf/RYGJt2Tzt21jZtC+9BI/Qkw7pgACBOhAGA2J8KDwCIJxB+4VW4Bg0tqBfAWL8T/KMuAWJ17BhYDgFAEbz1Lpht+6YdO2ubqQAw/FgVANgDQEgmGACI/an0AKBIrKyG78wLYWxQQC+AeiJ2Ddpdzy2olTIJAKG7p6jj9E87drYa63aE99jTs6oFwABAnAgDALE/DggAsoY+9PATqQmBaefJUtk2uFUPxD790nr0/1ImASB4530wq/qlHTtbjZa9ELhkXFYNNQMAcSIMAMT+OCEAKGJz5sNz0DEFvB7VKG7QCcGJ99d+7WUSAAJX3aAbceuxs7MlzK7bIHT/w7Vf6yoYAIgTYQAg9schASAZDMI/agyMFu0znCs7jbXbwzviNCSjtcwDKIMAIEv3vMNHwFgnz6qAjVrCvd1eiNbV27EKBgDiRBgAiP1xSACQ1xu6836YnbbKcK4sVe+Rq++Q2pfGlUEAiH3xNVy9tst70qMUEfIefwYSK/+2HjojDADEiTAAEPvjlACgiLzwCtzbDM1wriyV5YCbd9e192ukgQNA0uWG/5zRMDbumnbc7GypKyiGpj5a94qHVTAAECfCAEDsj4MCQOzbH+DZ/yh97PTzZaexQUfEvplpPfS/NGAASHo8CN37AMwttkZ14yw+zwzKZkJSSjjbjYAEBgDiRBgAiP1xUABI/LUSvhPOVsfeLMP5stNYtz1CDzxuPfS/NFAAkO2CQxPvg6vPDnoNv/WYWdmolfr3QxB6+HG922C2MAAQJ8IAQOyPgwKArGn3n3lRAa9JBYAW7RC48mbrof+lWAHg+gn6WFLIKN243v0vaboRnzUHkedfhv+8S2G274f8t0JuCbNVL/gvHIvE78utV1UrDADEiTAAEPvjoACAaAz+UZflPTlOu3Y7veVujRQhABgbdYV32AiE7n0os/c8oJ/2g9eOh+/Y0+HqtT2qm+f51L/6nBt3he+4M9T7/V2dn60VBgDiRBgAiP1xUgBQ1xoYcw2qC1gKKBvs+E4/r+brL0IA0Kr3Wj/N12TjlsrN9ZK9tH+bo8bGXeA9bCSi732Y9cS/NWEAIE6EAYDYHycFANU4B6+dAGOTbhnOl6XNquA95sRUN3wmihUA6kNZ1dCqp7qeUxB994Ocxv3XhAGAOBEGAGJ/nBYAJtwFs03vDOfL0qZt4dnn4JqflO0SANZuB7PHtro4Uuyrb2sONFnAAECcCAMAsT9OCgBSDGjywzC7bZPhfFnapC3c2+9Z89NyOQcAGVZorhr+qr7w7HUIQvdM1Z8Tav8o64QBgDgRBgBifxwWAMKPPglX7x0ynC9LG7eBq8/2SIYj1qOnKOMAYGzUBe4d90XgqpsQ+3amLhlcDBgAiBNhACD2x2kB4PFn4Oq7U4bzZal6D8yO/WtuPMs1AMhn12MwgjfcpksFJ5b+nippXEDX/2oYAIgTYQAg9sdpAeCp5+AasEuG82WvsUFnXVMgI+UaALQt9Y6Grq12ge/si9R7MR3xOfOR9HgLCgIMAMSJMAAQ++O4ADC9sAAgPQAte9o0AKypCgMbd4Zn38MRmvIo4r/8imQolNd8AAYA4kQYAIj9YQDITZkDsOVgJMM2GwKoURUENukK71EnI/rme0i6PXV+tlYYAIgTYQAg9sdpAeCJZ+Hqt3OG82Wpep9cW+8MROw3CbBWm6rr6r8TQpOmIGnU/fmuCQMAcSIMAMT+OC0APPKkeoIvYBWA1AHYbX9dVjgjdg0A2pYwO2+N4C13Iul2W6+sRhgAiBNhACD2x2EBIDRpKsxOW2U4X5Y2q4Jn+FE1T5orVgCoqxSwLgcstkn9Xeu/z1sVAroORHDivak5AVnAAECcCAMAsT9OCgBSCfD6W2Fs2j3D+bK0eTt4TzxTHysjxQgALTrA7LsTvEedWrvDj4N7533h6jFo1WZA+b7XFhup937Azoi8+Gqdn7PAAECcCAMAsT8OCwCBy66DsU6HDOfLUtkM6OwLa77+IgQA2dY3eNNt1iOno84lqxESf65A9NMvELj8epjdt9Hj+dZj5qwKFJ4DjkRi+R/Ws6bBAECcCAMAsT8OCgBJ1ej4R12qn3DTz5elsh3w6HHWQ/9LfQaA1chnIT0S6voSi5cgMGYcjJbq/IVseyyvo9NWCE68r+bejlUwABAnwgBA7I+TAoDXB9/pF6hjb5bhfNlptGiHwLW1NM4NEQDWRHoFfD6E7n1AVyy0HjsnZcLj3ociaRjWs/wHBgDiRBgAiP1xUACI//qbXu+e/2tSAWDd9gg//YL10P/S0AFgFVLmN3DxVbpokfX42as+g56DEZa5ALXAAECcCAMAsT8OCgCRN9+De8j++tjp58tOY8MtEF+4yHrofymTACDEF/0Gz27D9JO89RzZamzeQ13PFbUOAzAAECfCAEDsj4MCQPjhxwurAdBINc6teukGr0bKKAAgFkfgqhthtumddo6sbdoGnt2HIekPWI/+DwwAxIkwABD745QAoK7Trxrm6nU7ZjhXlqonafe2e9S8D4BQTgFAEX3jXbj6ye6H+fZ6tIR7q5315MKaYAAgToQBgNgfhwSAxLI/4D36lIJWAMjyQf+ZF6n3rObu8HILAPGff4F7h71R0OfQczBiH39uPfQ/MAAQJ8IAQOyPQwJAZMbrcA/eK8N5stfYsBPC9z9iPfR/KbMAkPj9D3h23g8FfQ5dByI64w3rof+BAYA4EQYAYn+cEAAiEQTGXqcntKWfJ0sbqQDQuidiM2dZj/5fyi0ALFtecACQ/QEiz75sPfQ/MAAQJ8IAQOyPAwJA7NuZ8Ox7RGEV8ppVwa0a0oSrjk1yyiwAxOcXYQigy0BEXqh5KSADAHEiDADE/lR4AJANbQLXjofZrl+Gc2SvscEW8F9ylUoTNewCuJoyCwDR198peBKgq/s2iL71gfXQ/8AAQJwIAwCxP5UcANRrjLz9Pty7HKie4PNfC6+X/7Xri+h7H1nPkE45BQB5LeNuKmwZoHwOvbdH7Luahz4YAIgTYQAg9qeCA0B8zjx4R54FY5NuGY6fgy3aw7PvYUgYpvUU6ZRRAIjPWwDPnofo/Qus58jelnAP3BWJ5X9aD/8PDADEiTAAEPtTiQFAvTZp/PwXjtVP7vK604+fvUbLngjddX/ty/9WUyYBIFltIDD2+gKf/lvp8ODZ/0gkgzXXPmAAIE6EAYDYn0oLAOEwYl99C/+oMTA79Ed14yyuqzZl8t/2+yA+92frmTLT0AFAfS6J35chOOEuuLoPLqgMsCgrJ/wXX6mvqyYYAIgTYQAg9qcSAoB6LUmPV3f5hx+aBu8RJ8Fs2Us1/oU9+YtS+jd47XgVLCLWs2amaAHgduuRaycUVg3/ckReexv+0VfA7Dqo4MZffwY9BiP8wivWs/0HBgDiRBgAiP0p4wBgduiH8BPPIT5rtnLOGsr/no3Y9z8i+vHniKgGKjj+LviOPwuuXtvpMfv04+WuIWP/ex6MmDpn1hQhABgqdPjPG4P4T2tec6br/wHRT9T1z3hDb//rv+ByuIfsB2OjzkUJP9XNq+DZ5zD9WdYGAwBxIgwAxP6UbQBQDeH6neDZ61D4RpyWUe8RJ+oGyj1gFz1OX9A6f6vq/TC7b4vQ1EeASA6NVTECwDod1Pu8c9r1/sdjToX3cLn+w+EaNDQ110Em+zVKP16+mlV9EbhuQp1LHxkAiBNhACD2p4wDQEpZvy7HqEn583zXuNegVP1TgcI/6hIk/lphvbTaKUIASFnXdZfw+kV5+lefnxRRqgsGAOJEGACI/Sn7AFD/StEf78HHIfbN93VeZxpFCwANaOPWuvcjOPH+rOY+MAAQJ8IAQOwPA8B/NNbrqF+3jKsn6+j6zojdA4AUPWrdC/7zL9WTCrOBAYA4EQYAYn8YAP7RWK8TPHsMR+TZF5HM4sk3I3YOADL0sWk3+EaeqScY1vUZr4YBgDgRBgBifxgA9HUZm3TVBW8iL76Sf+Mv2DUAyKTH1luqxv8sxL74Wl9HtjAAECfCAEDsj9MDQLMqmB0HwHfi2Yh+9CmSsbj1UnLDjgGgRTu9fFLqB8R/nF3nZ2uFAYA4EQYAYn+cGgAaq6f+jbvCvcNeCN4yEYnfltZ5TVlhpwDQrK0e7/fsdQhCDz6K5N/V1qvJCgYA4kQYAIj9cVoAaF4FY7MecPXdEb5zRiP2+VfFbYzKPQDIOP96nfQaf/eQfRG8bgLic+br70G+MAAQJ8IAQOxPJQcAKYojT/otOugdAWVvAPcu+yNw5Y26iiAK7e7PRDkFgFXXX928HYyNusBssyXMnoPhPeokhB56vGi9HgwAxIkwABD7U6oA8PtyePY/AsY6qvFZp3092EFXDjQ27KxnskvXttmxH1w9t4X3oKMQuOoGRN79EAnVWJUUCQCXXqufsNNfY6nsoJ/qpX6BNPTGZt1T199Jrn8bePYYBv//LkP4kScR/+XXOiv75QoDAHEiDADE/pQoAOjtaK+7Gd4jT1CeWHqPPRW+cy9CYOzVCN49BZHpMxD/7kf9Ogrp3s4Z9b6Epz0F3ynnpr/GUnncafCffSH8Y65E8PrxCE15DJGX30Ds+1lIVFeX/PoZAIgTYQAg9qdEAYA4BwYA4kQYAIj9YQAgBcIAQJwIAwCxPwwApEAYAIgTYQAg9kcCwOPTYTSvynCzTg8AZucBSCz/kwGA/ENi5d8wVTDMKgA0UgHg/kcYAIjtYQAg9ieRQOTFV2G07pV+s85k45aIvvdxTqViSWUT+/YHGBtukVp2aP2+WJSSy+HHnyv5xERCSg0DALE/6kleSuC6Bg9Nu1lntiW8w45JVY1jL4DjSQaC8B1/ZnZP/0opORx59S1+d4jtYQAgFUHsx9nwHn6SbtytN+yMtmgH7wmpTWOSPl/qaU56BKhjlIZfiin5z7kIxrod0r8jNejefRiin35h/QoSYjsYAEhFkPhzBQJX34LqRtlX7TPW7Qiz20B49jsS3sNOUgHiZOokDxwBs+e2uviS9btRs5vDf/5liC9eYv0KEmI7GABIRZCMRPQ8ALNdnww37VrUZXalEl1H6jRbqKf+xtl1+6/W2Lw7wo89jWQwZP0KEmI7GABIZZBMIj7vZ/hOOBsNWrufVrAt4R1+LGLf/cDxf1IRMACQiiHp9yP89PMwq3pnuHlTWpjGZt0Qmvwokm6P9atHiC1hACCVg3oqSyxeAv/FV6G6edu0GziledukNXwnj0J87vzUJEJCKgAGAFJZRCKIffWt7qqVgi1pN3JKc1V9jzx7HIzoux9y7J9UFAwApOKQoYDIm+/q5VoMAbQg1ffHPWRfRF54hV3/pOJgACCVRzKJpNeLyOtvwztsBKqb5zbTm1Jtk9bqyX84Is+/rPcK4MQ/UmkwAJDKREKAP4DYp1/CP2oMzDZbIusiQdThtoS5eXf4ThmF6NvvI+nxsvEnFQkDAKlsojHEFy5C6MFp8B51CoyW3fVeAOk3fep4G20OY+PO8Bw0AqF7H0xN+AuHrd8oQioGBgDiCJLqRh6bOQuhBx6D/39j4dn7MLgG7AKzde9UIaDm7ajTXLsdzFa94Oq3Ezx7HgL/ORerhv8BxL78FslAgE/9pOJhACDOIp7QWwFHP/4MkRdfQXjqYwjddi9C4ycp76ZOcsI9CE9+BJHnZyD64SdI/LYUiMWs3xhCKhYGAELkSS/DZjG00uUTPnE2DACEEEKIA2EAIIQQQhwIAwAhhBDiQBgACCGEEAfCAEAIIYQ4EAYAQgghxIEwABBCCCEOhAGAEEIIcSAMAIQQQogDYQAghBBCHAgDACGEEOJAGAAIIYQQB8IAQAghhDgQBgBCCCHEgTAAEEIIIQ6EAYAQQghxIAwAhBBCiANhACCEEEIcCAMAIYQQ4kAYAAghhBAHwgBACCGEOBAGAEIIIcSBMAAQQgghDoQBgBBCCHEgayV+Xw5KKaWUOsu1PPseDkoppZQ6y7Wqm7UFpZRSSp3lWtVrtQKllFJKnSUDAKWUUupA16pu3AaUUkopdZYMAJRSSqkD5RAApZRS6kAZACillFIHygBAKaWUOlAGAEoppdSBMgBQSimlDpQBgFJKKXWgDACUUkqpA2UAoJRSSh0oAwCllFLqQBkAKKWUUgfKAEAppZQ6UAYASiml1IEyAFBKKaUOlAGAUkopdaAMAJRSSqkDZQCglFJKHSgDAKWUUupAGQAopZRSB8oAQCmllDpQBgBKKaXUgTIAUEoppQ6UAYBSSil1oAwAlFJKqQNlAKCUUkodKAMApZRS6kAZACillFIHygBAKaWUOlAGAEoppdSBMgBQSimlDpQBgFJKKXWgDACUUkqpA2UAoJRSSh0oAwCllFLqQBkAKKWUUgfKAEAppZQ6UAYASiml1IEyAFBKKaUOlAGAUkopdaAMAJRSSqkDZQCglFJKHSgDAKWUUupAGQAopZRSB8oAQCmllDpQBgBKKaXUgTIAUEoppQ6UAYBSSil1oAwAlFJKqQNlAKCUUkodKAMApZRS6kAZACillFIHygBAKaWUOlAGAEoppdSBMgBQSimlDpQBgFJKKXWgDACUUkqpA2UAoJRSSh0oAwCllFLqQBkAKKWUUgfKAEAppZQ6UAYASiml1IEyAFBKKaUOlAGAUkopdaAMAJRSSqkDZQCglFJKHSgDAKWUUupAGQAopZRSB8oAQCmllDpQBgBKKaXUgTIAUEoppQ6UAYBSSil1oAwAlFJKqQNlAKCUUkodKAMApZRS6kAZACillFIHygBAKaWUOlAGAEoppdSBMgBQSimlDpQBgFJKKXWgDACUUkqpA2UAoJRSSh0oAwCllFLqQBkAKKWUUgfKAEAppZQ6UAYASiml1IEyANDi26g1qpu0QfXa7WG02hLuHfeH95AT4Dv+HPjPuhj+8y+H/4IraDE8fyz8514K/+kXqff3bHiHj4R7pwNhdtkWxjod1efQFtWN28CQz8T6OVFKHS0DAM1f1bBUN28Ps1VvuHc5SDVElyF452RE3v0I8YWLkXR7kAyHgUgEiEZXGQNitKjKe6pd9R6r91ve96TPj8QffyE2cxYiz89A4KY74TvnUngOOAZm6z4wWqiA0LQq/XOllDpCBgCavdLgr9sJrl47wHfcWQjd/QBin32NxF8rdWOTDIZUwxNJNUqJBEgZkEwC8YQOCDoUyGfkDyDpciP+62JEZryJwHW36d4Ds9tgGBt2SYUC9hhQWvEyANDabdoWxiY94NnjEASvvRWx9z5GYtny1NO9akx0Yy+NDLEfEtKkt0ACgduLxMpqxGfNQfjRpxG4aBw8Qw7QPQUylMNAQGnlyQBA01U3e2PjbvDsfggCN0xE9NMvkVj+J5Ier2owomzwK5l4HMlAUPcQJP5cgfgPsxF+7Fn4LxgL93b7wNy8F6qbtUv/zlBKbScDAP1HQz3puXruAP85YxB55S3dRSwNgR5XZqPvTCQQSA/B3wYSi35D9INPELzjPngPOwmuroNhrNdJBcb07xKltPxlAKDqJr6Fnqkvk8RiX3yjJ47p7n02+mRN5PsgQwbSO7Dkd8S+/A7hB5+A/5Tz4eq3q54/wNUGlNpHBgAHKw2/dPOH7pyK2Hc/IvF3dWo2OSHZEIvpYaHE0mWIfaXCwCNP6eWI7v6pMMB5A5SWtwwADtRo0QHunQ5SDf8U3fAnDVN39RKSNzJUIGHgt6WIffoVQpMfhe/EUXpIyVi3U9p3kFLa8DIAOEijSRu4+u6CwPW3I/bFt0hWG2z4SfGJxVPLDBf8iujbHyI4YRK8h54Is8NWqcJEGb6blNL6lwHACTZqrZdz+U69ANE33tOzu9nwk3ohGk0tL/xxNiLPvgz/mGv1fBNjo27p31NKab3KAFDptmivq/SFpjyG+M8LUzP6Calvkkk9sVTmC0Q//AzBu6bCO+JMuDpvkyowZf3eUkpLLgNApdqkDcx2/eE7+xJE3/8ktYafkHIgkUBChgh+movI0y8gcOFVcA/eJzVXgBMHKa03GQAq0ebqqX/Qngje/QDiCxY2fHe/zBb3+5GoNnVBIXkKlMlitAgu+R2J35cj8edfSBimLslsq7oN4bC+BhmaCl5/Ozz7HQ2zTV/OFaC0HmQAqDCNjbrCe9jJiEx/RT9l1RvS4IQjuiGKz/wJ0Xc/RvipFxG6/X4Er56AwJjr4D//CvjPuAi+Uy7QM8RpgZ6kPPl8+E7936pdFq/Q73Ng3HgEx9+N8NRpiLz0hu5yj/0wG3Gp5hgIlmc4kF6BagPRz75CaNKDeq8JV/ftVJhl1UFKSyUDQKXYuA3Mqv7wn32JLuajS/aWmlDq6S320ee6XGzwutv11rQy49u928FwDdhNvaZ+MDbpDmODLrruQLXsQNeiQ6q+PC2O6v2UrX/l/dXv88bdYbbuDVe37XTXumfoYeozOUkPBwWuvBmhOybrgCiNrd61MSihwPrhNhxSeTA+ay7CDz+lAuNouLbag0sJKS2BDACVYLMquHrtqDfric9bUNKd+GQilyzvklLBodvug//Mi+HZ+wi4thyiGx7duHNSV/mpPhOp/2Bs0FmvCHEPHArPfsfAf+oFCFwzAaEp0xB95yPE58xPzRcp4XcoayIRJFRACT/zEvwXXrlq9UBXzhOgtEgyANjd5u3UE9Luela1Xt5XCuJxJJb/oRqIDxGaOFl34bu32xdmq96pLlrekG1qaxgqPEo9f1mj79ltuN4WOHD1eP30Hf3gUyQWLUEy1MBloWMxXZ5aQmdAlhHuOhzGZj35vaO0QBkA7KxqfN1bD0XovoeRMEsw3h+N6qWD8gQWuPhqeNSN12y1pd4iOO210MpQem9adIDZaSA8exyqh5RCd9yPyIw3Eftprt4GusF6B9R5pXhV9O0PEBh7IzxDD02FUPY4UZqXDAB2VRr/gasa/2JP9otEEJ/7M8KPPwff6RelyrnKWDN3fXOeTdroeQUyDu897iwEb7oTkedfRWzmT6kS0g0RBqSmgAoi0Q8/1XMaZI6D2aYPgwClOcoAYEdXLfML3fdIarveYhGLpcb3n34RvlPOh9lxIJdj0X+VLnf13TO7bw/vEacgeONERF56HfFZc5A0XQ0SBpJeH6KffInAVTfrHovUEkIGAUqzkQHAbqoncdc2e+nNVorW+MsSrD9XIPL6O7rL1+y0NW+itG6bVsHVZVv4jj5dTwiNvvm+rjshNR/qOwzIyoHo598gcOVNqaGq1n0YXimtQwYAO6kaf7c0/lMeQ8Llsd4D80LWhce+/QHBG+7QGwVx3TXNR1lhICtB/KdfiPDDTyL22ddILPtDDyfV5wRCCR+xz75C4LLr4R5yIIyWWzLMUlqDDAB2cXXjP3Vaccb89VP/SoSnvwLPASNgrN85/ZyU5qGxYRe4dzoAgcuv15MHZT6JnjxYjxUppUcg9smX8I8elyozvGlPzhGg1CIDgB2UMX9p/B94vDiNv8zuVzdlGcM1Ow1iVyktjep7JYWgvEedqoesYl9+l1qqKr0C9YT0CEglRP+oy/RyWV1HoDGXD1IqMgCUuzLbf9CeCD/0ZOopqkCky1/GSr1HngZj3S3Sz0dpKVynI1zqSTxwxY26nkRi8VL1XQzU21wB2SMh8vaH8J18XmpVCzceopQBoKxt1g6ugUMRfuQpJD0FNv6ydMrrQ+TF1+Dedm8+9Zda6W5uVpWqmcCG5l9ll8r2A+A74VyEp89AfP4vqcqD9TE8IL8Bda7IC6/Bc+gJMDtsnVrean2NlDpEBoByVcr7brU7wo8+U/hWvqvWTYenPQuzbT82SKWycWtdk1+WoklpZvfgfeEeuGeqoZGuZ4auf1XfQWP9LeAeehjCUx5DfPbc1KqWWMz67S0+8nswTPXbeloXE9ITBVncijpQBoBytGkV3NL4PzFdNf4+6+0rN1Y1/qGHnoCxaY/0c9HiqD4zCVde9WQZevAJxL75AfFFS/QTbuS1txC48AodCvTmPdZ/63RV4ys9XcGb70T8ux9SBYbqY0tjdXyZkxCcOBmurffQBY84UZA6SQaAclM9Jbr774rIsy+l9nYvhNVP/g8/yca/lKrPzNVrCIIT7kFixUrrp5AiHEH0k6/g2fMwPm3WZKNWMLtvp2fuRz/5Qm8PXF9BIPbzQn1eV7fBuheHvWTUCTIAlJPq6cPdZ2e9VassYyoIafxdbr0nvLEJG/+SqRotV9dtdSGcpK+OzyweR2zeAl1WN+049D+a7frDd+r/EH33o1SPgAwNlDoIqHNEv/gGvuPOShUSkjkcDAK0gmUAKBfVjca15Y6IvvSGnqlfEOo+mXR7EZ6iGv+NuqWfixZNeVr0nXw+EkuXWz+FzERjiLz8pp7gaT0WTddsuSV8x56JyBvv1lu5YVk6KPsdyB4DqWEBhgBamTIAlIlmj+0RlZtcKGy9H+WMTBrUjf+GXdPOQ4urq8cOehJb1g3Tqglo7h0PSDsWrVljk+7wHn4yIq+8rcNtfZBYWY3QnZPh3nKI3jbZ+pootbsMAGWgbvzf+7goBVKk2z90z0OpJ5cM56LF1bPXEbrsbU5EYvCdeXHasWhdtoaxcTd4hx2nn9B1j0CpUcEu/vMv8P/vSj0swd4AWkkyADSwZs8dVOP/SXGe/KtNhCZO0U9L1vPQ0ugdPhKxn+ZaP4raicX1hEHrsWiWSoXBzXrCe/BIhF94pXibYtWE9NoEAoi+/YE+J3vWaKXIANCAuvrsjOgHnyIZDFlvOTmTlO7K2+9LrWnmxKV6MxUA5lk/jtqJx3VQsx6L5qB8x5u1g9GmD7yHnYSIzJ0p9dBALKaXDUpZY1k2yNUc1O4yADSQuvH/6PPiNP5/rUTo1ntTe6Gz8a9XGQAaWPm+r90BZvut4DvmjNQ8GikxXCp0b0AQ8VlzEbjgilRhLetrotQmMgA0gMVs/BN//oXg+LthVnF8siFkACgTG7fR9f1d3baF/9QLEP1Y/b6iJawqGIvrXjddVlh201yvU/prorTMZQCoZ119VzX+oSI0/sv/RPCmO/XTDyuYNYwMAGWmBIENusCtfmeBC8Yi9t2PpasfIL0BwaCu9hi8+S64thyS/nooLWMZAOpRV/9ddYWzYkz4Syz7I7Wdb8et2fg3oAwAZWqTtnoyrGyjHbjyZsR/WVS6IKA+T6laGH3rfV1ESFYqpL0eSstQBoD6UIr89FON/8dfIhkufKlfYukyBK+7HWangWz8G1gGgDK3aZWeGOveZRiCd0/VK2VKFQSkVy++4FeEJj3AHTepLWQAKLVSJ37roal1/lLXvBBk85LFSxC45laYnbdh418GMgDYxGZVurfMM+w4hJ9+se6yzfmSSOhCT/J79505GmYrrsqh5SsDQClt1g7u7fdF9K0PkCy0yI9q/OO//obAuFtgdmHjXy4yANjMFh3g6r0TfKddiNhHnxWl+FYmkuEw4gsWInTfQ3DvdCAMln6mZSgDQKls3l7/8HXjX2i3vzT+CxcjcNUtcHXZlo1/GckAYEPVE7mxUVcVzvdD8IqbEJ/7s/pMsizlnAurewPe+Qj+cy/VQ3aGbAfNHgFaJjIAlEBDPWW4dx6GyBvvFanxX6Qa/5v1VqXVTdj4l5MMADZWBWmzTR949jsa4QcfR/KvFdnv6ZADcg+QSYiR519B8Lrb4Bt5Ljy7HKSX7koQYUEh2lAyABRZ2R3Os+vBiLz2tu4GLIhEUi8xCoy9kY1/mcoAUAHKPJ1eO6a2H5YeO4+3NBMFI1Ek/lqJ+JyfEfvkC0Sem6H37QhceBW8R58G91Z76G2IjQ06s5eP1osMAEVUioF49jwMkVffLnypnzT+81Tjf+l17PYvYxkAKkdjvS3g3ukgBK+9FbGZPwGF/obrQoYIfH4kfluK2A+zEX3jPYQffUbX9vCfORqeA4/TtQXM1r1hrNuR9wBadBkAiqSx/hbw7H1EqvEv9Mlfuv3lyV81/pztX956Dz4BsdnzrZ9g7TAAlK+NWsGs6qe3Hg4/8pRecitV/+oN2W/AMPWQQfTLb/Wuh6H7HkbgsuvhO+FceHY/RO8eamzeS5dA5nwCWogMAEXQWL8zPPscicgrbxX+5K8b/wUIjFFP/mz8y17voSchPm+B9VOsHQaA8rd5O7j67aK3AY6+/wmSbk9phgWyQO4psglRfM589Vo+Rvjx5xC89R74L7gC3iNPhXuH/fS9Qu8C2qwq/VoorUEGgAKVsqMyiSgy483iNP6qMQlcfA2L/NhEeVKU/eJzggHANhobd1fh/iiE7npA/zYLntRbDFYPHfy+HLEffkL0tXcQnjoNwasnwHfa/+A98Fi9W6HZfgCMDbvwPkJrlAGgAKXx9+5/DCKvFuHJX6G7/UdfDbOD1PZn154dZABwgKoBdXUdDN/pF+levsTK6pKsFiiIWAxJl1vXConJ0MFzMxCcOBmBS66Bb8QZ8Aw9LDWfoG3f1HwC6zVSR8oAkKe68T9ghB7zL0YxkfjPC+GXxl+ldjb+9jHfIYDww0+lHYuWt7LboEdKCk+YhPgPs4uym2fJkOEKdV9K/F2tHyyiH36m5zQEb5oI/9mXwHvIiXAPOUAHG1PmE3DowJEyAOThv43/W0ARugSlfrh/9Dg9+YiTeuyld9jxiP04x/qR1o56eox9/jWMDbumHY+Wuer3abYbAN+JoxB54VU9Nl92vQE1oXcvDKXmE8yer+uUhO59CMErboTvuLPh3e8YuLfaXQ8/SijQ1QsbZXgPaMXIAJCjctOWMbaiPflL43/hVTDa9GHjb0M9ex6O2KdfWj/WOpHuWt+xZ+nVI7zJ2tC128M9eG8Eb75TL+FLBoLWj9gerJ5PsOwP3asReeYlhG67V69Aku+nZ/8RcO94AFy9huhtx1m4qLJkAMhB3firJ77I6+8Wp/FfuBj+/12hdytj429P3QOHIvLcy7nPEJcJnz/OgXfkuXANUE9dXbbVSz5pDXbcGsYmPfTuftbPoMGUJYMquPuOPweRl15H4o+/7NMbUBvxOJL+QKpokQwfvPcxwg89mapPcM4YPXzg2e1gvcOp2XGgnihZVp8LzVoGgCyV2bS68X/jveI0/ot+SzX+m/dk429jZcJmcMI9+X0nZHdH1WiEpSLc3Q8idOcUWoPB8ZPgP+9yePY8QnfBl9WYtfQGDNoTwRtuR+yr73T9/4oIAmsiwwcy0dDr09/Z+MxZiDz7sv7uyz4HUhBL9xT8M9GwE+9rNpABIAv1k//w4xF98/38bvQWEouW6Mbf3LQHfyQ2V2pA+M+6WD8tFYT0INCala7qQBDxWXMRvGYCXAN20w2v9fNoMBvJksFu8Ox1BEJ3TUXsi2/1Mj09NCCvv1KR3gJ1jfL9j333A8JPTNc7lurhg52HwdVnZz23Saos8l5XfjIA1KFu/A89EdF3P9a1vAslsWSpTsx6Ahh/EPZX3fg9exyK6CdfVvaNvoxIer0ITXkUrq12L7/xaNlpcIPOcG+7l17VE376RR0GpKy3DgRSUKg+KwvWN/IbkJ4Cnw+JhYsRnfEWgtffrgLBmXr3RVePHVJDntweuSxkAKhF+SF7DztJL6GRL3WhyA3Af+4YVK/XKe1c1L7K5KjgDRORDNp0IpgNSZpuXbPfbNsv7fMoG6UAz7qdYG4xCJ4DRuhev9CUxxD94FPEZ81BfNES/eSsvzeVHB5lOERdY3zxUkReeA2By2+AZ+8jU70D6vOTDdTS3jtaLzIA1KB0Wclkl9hHnxfe+Ksftyy90Y1/izLqtqTFsUlbvYQqNnNWZd/IywxZSilVOG3TkybDBE3a6PFxd8/t4T3iNN0YyjbBsW9/0PX/E8v/VOHGlRpqrNTvkgzn+AO6iqGsOJAeVj13oE3fVBiwy+dZATIAZNBo0QGeYccj+vEXhTf+6ssuS2z8519eft2VtGjKk0xg7E2pLl5SLyRW/p2aSCsTzjJ8JrZS9h7YZi9dX0Am1kXf/Qjx2fOQWPK7vk5ZqodoNPU0XWnBIB5HYvESXZNAJhPK1ufGZj1TwwQMAyWVAcCqeppz7zIM0bc/SP3gCiGuGv+ly+E/+2J93LRz0YrSPWAPRKa/Wvj3hmSFFLUJqcayrIcB8lUKDm3aA56hh8J31iUITZ2G6KdfIb5gkZ6FL3UkdCVCmU9QSYFABRzZDE2WHOpKhTKBUAIe9zMoiQwAayo/uu7b6Yk7yUDA+tXMDd34L9NlN/nk7wyN5u3h3ecoxL6fpZ9qSGmR/TeCt90Hs6p/2mdRiRrqIUJqIngOHAH/mGsQfuYlxL6bhcSSZUhWm7pbXU9UjldGL0EyFELktXfgG3kOTOkVWL8zH6SKLAPAGkrSDF5/R6q8ZyGw8Xes8h3yHnwCYvMXVt5a8DIjYboRGHtjahvcDJ9F5dsaxjqd4Oq7M7xHnqJn20dff0fvTaEnF8qwgZQqlzCaWLWc0o5I6ezZ89RnfYPeoplBoHgyAKyhZ9+j9GScgn4oMua/5PdVjX8ZFSuh9aZMZJK9ImKz5zIElJCYaui8R5/GceI1lWWIm/SAe7t94DtpFEITJ+uhg8TipXrYQE8ulECwur6CzUgs+k0HHVf/3ThhsAgyAKzS3KibXqJT0CQuafzVD81/xmgmVKcrk7oG743wjNeR5JyA4qPeU/m9mj22T3/v6X+VoYPWfeDd41Bdyjf82DOIzpytezqTRdjMrCGI/7oYgStvhKvbduxlLUAGgFXqTV1m/pR/KpbGX2r7n/I/Nv70H6V72nf2JYjP/ZnzAoqF+q1JbQ75zXJyWJ6qgGp2GgTPfkfBf8EViEyfoTcD0ssQZf6THXqu1L06/v0s+E69IFVcyHqNtE4ZAMRm7RAcfzcSK6utX7HskMb/54Wpxp8Vruiayk5/crPdYqCuZR/98ptUL1O+QdPhSOMUmfEGPHsdrpfrpr3fNHul+1wClDywqO+o1D5x9doR7j0OgW/E6QhOmITIK28hrh6MkjIvSnoLyu17m0jq/QmkBLF7yIHlVR7aBjIAKGWnscjbH+bXVSvLVtTTne/E81DdghWtaA02bq1vTkbLnnonNSkKFX76BV1rIqqeYmLzftFbQ9MMqt9X/Jsf9OYzvlPO12GK82tKpAQC6VJXDzKGup9JKDA27wXXwKHwHnQsAqOvQvjx5xD74hvEly3XKzEaPBTI+SNRxH6crffl0DUErNdFM8oAoHQPPRTxn+ZZv1Z1I43/7Hmq8T+3MoqR0NIrT13NqvQEJmOjbvpmZbTtB7PrdjB77qDckVqVrZKlStzG3XWjxG7/ela+syoUyDJXuc8ZG3VV39m+cA3aU694kdn5YRXOZAg1UW003FCXFBRa9geCd9yvKwtygmDdMgAo/edfoev054pMRNGVyGRZSobjUpqV/3TF0ozKe8ObeXmpQ0GVHoaRrdJlDF42+vHI8MGZo/UEzdiX3yKx4u/6nU8gZYarTT3R0TV4H35v6pABoElbBG+ZhMTfhvWrVCvS9RV+8vnKrEJGKaW5KkFNegk26AKzdW89n0C2Rw5cMBbhp17Qvax6e+RSk0wi6fIg8szLcO90YGr4zfpaqdbxAUDGuMIPP4Wkx2v9GtWKbNwhs7vZHUkppRlU90Zj7Q4wNu4Gs+NAuAftBd8xpyN4272Iffa1nrxXMiQEuFUIePYlXVKYPQGZZQDYuLueXKTLaOZA7KvvUjuRZTgmpZTSNZTVMDKPYP0tYFb1g2urPeA78lSEbr1X30uT4bD1Fls4EgJMF8LTnoV766Hpr4kyAMg67cj0V3Lumop9+iU8uw5POx6llNI6lN6B9VQYaD8A7sF7w3fSeXopXz5zsWpFhQApixy6cyrMDlunvw6HywAgAeD5PALAJyoA7DIs7XiUUkpzsEkbPW/A1XMHeA44Rm+HHJu/oHirCWS11oJf4b/wKq7WssgAwABAKaXloRTNUk/qnn2OQPDGiYjPVUEgFrPefnMmGYmkqkcOPSz9nA6WAYABgFJKy8umbfXwgGf/YxC6+4HU0ECBPQJJw0To3odYNngNGQAYACiltDxVQUA2/JGdDaPvfJjzZO3/IEMBs+bAe8Sp6edxqAwADACUUlrWyoRBz87DEJr8qN7FMN/yw7LcW5Z9G5v1SjuHE2UAYACglNLyt1FruHrvhMB1tyK+6Lf8KgxKL8DMn1I7SVqP70AZABgAKKXUNsrmbYErb0b81/xCgCwLDF4zQU84tB7baTIAMABQSqmtNDsN1EWEEn/8lfNwgJRxj7z2jt5gynpcp8kAwABAKaW2091/N0Smz8h9YqAKDPE58+Hm/ZsBgAGAUkptaKPW8B1/FuI/zc25FyCx7E/4R12WfkyHyQDAAEAppbZU9hUIP/oMkqGQ9RZdK0mXG6FJD8Jw+DwABgAGAEopta3+C65A4rel1lt0rSSDQUReel3f/63Hc5IMAAwAlFJqWz17HYHYp19Zb9G1E43q0sBOnwjIAMAAQCmlttW15RBEXn5TPdZb79K1EI0hqkKDWdU/7XhOkgGAAYBSSm2rsVFXXd0vp4mADABaBgAGAEopta9N2iJ03yO5FQViANAyADAAUEqpfW3cGqF7HgLiDAC5ygDAAEAppfa1kQoAkx7IbbtgBgAtAwADAKWU2lcJAHdO0TP7s4YBQMsAwABAKaX2lQEgbxkAGADSVT+o6qZVMFp0gLFuJxjrd9YzbY2Nuym7p/67kXKDzqk/V39P/r7+d9ZjUUprVn4zzdvBWKej3vPe2KBL6relf2erfmsbdk39BtdRv7W1O+hJb/ytrSEDQN4yADAApFzd4KsbjdmmDzw7HQjfyHMQGD0OwfGTEH7sWYRffB3hGW+m/vvEdIRuv0//ufw9z5AD9b/TNyodCNqmn4NSpysNd7OqVIO/YRfdAHn2Owq+0/6HwOU3qIZsKsLPvozwy2+kfmsvvIbwI08jeP3t8J9/ObxHnQ7X1nvAaLmlDgzVa7dPBQLreZwkA0DeMgA4OQA0bpNq+NVTh2fPwxG4eryujpX4cwUQVO9HLFb32lr581hcvX8h/e+iH36KwLhb1PEO0zc43TPQmE8r1OHKb02e9FVI9h52EoJ33I/YzFlImC4kw+HsZrDLb001XElfAPElv+tw4L/wKrgH7aV/wzp0O7FngAEgbxkAnBoA1I/GPXhvBG+7F/FfFwPhSN2NfbbIcdRNLf7rbwjeeg/c26gblBNvTJQqdcDe+wiEHnsaib9W5jZbvS4SSX3vin31HQKXXANXj+2dFwIYAPKWAcBpAaBZO3gPOQHRjz4DQmHrZZUGFQbkfHJew+ndldQZqkZJdqrznzMGse9n6V6y+iBRbejhOc/OBzlnaIABIG8ZAJwSAJq3008hsc++QlKe9nOpmlUM1PnkvHJ+927D9Tho2muk1O42agWzTW/4z7xId/HrRilRpJ61bJDet3gcSR0EnoN78D6VH7oZAPKWAaDSA0CTNnB13Rbhh59G0usrbvdjPsjNyefXtbtdXbZJjY1aXzOlNlQm9nn3PRKRV95c9Vur55C9JhIEIlHEf1mE4A23w9VpYOUODTAA5C0DQKUGgEYy9tgZvhFnID53AZL11d2fJfJ64nN+hveIU/XrrNibE6181XfX1XkbBMfdgviCX1XDG7F+3RsO6XlzexB9+wN49j8GRiX2vDEA5C0DQCUGAPVUbbYfgOD4u5Fc8XfDP/XXhPQG/LlCLzM02/fnagFqP5u2hXu7fRF+7BkkDLM8f2vJpF5pEP9prl41oAO39TrsLANA3jIAVFoAaKJuSLI/9tMvIunyWF92+SE3J9OF8KPPwNVnp9SyQes1UVqOrt0e3oNPQPSdD/WwVtFW0ZSKWAyJ337XK3/M9lulX49dZQDIWwaASgoAzargHrgnIjPeTN2QbISMmUZeeEUvTZQJi2nXRmkZKcWupABW7PNvkAyGrF/n8iWeQOKvFQg//CTMboPTrsuWym6Akx7MrfeFAUDLAFApAUA1/q5t9041/oGA9eXaAgktkZdeh3v7/RgCaNmqG/8TRum197LE1XbIvIC/DYQffRpm123Trs9uGpv21JVKc+qBYQDQMgBUQgBoqp78B6kn/+dmIOm3Z+O/Gr1C4KkX4B44lMMBtOyUSXTeY05PLacts4m1OZFIIqFCQGjKYzDb9ku7TjvpGXoYoup+nBMMAFoGALsHgMZt4OqzM8IPPI6kx2t9mbYk6XIjdN8jcPXemcsEafnYqLUumR198/2c7xdlSUKGA1YieN3tqX0FrNdrA2XDpOCESbruQU5Eooh+8Knev8R6TCfJACABQJ6cc+w2j33+tUqeh6Ydr76VyTyBq25BcsVK60ssnEgEiT/+QnzOfMS+/l6HHtkrQP4b+3om4vN+SZU2LcGyp8Sff+nrMjtU0GQlamtd/XZF5PHpOqAWm6T81pYuQ2zWXMS++AbRjz5P/dbUU2rsux8RX7BQT5bV+3MUEwkBi5bAf/qFtivOJTsl+s8eg/js+TkXNkv1ND6vNy+zHtdJMgBs2AVh+VHnOGlOGkXf8WenHa8+lR+AHouc+3Nu41+1kPT7EZs9T4+pBa64Cb7jzoZn36N0b4d7x/31+Lz8V/63rCv2nThK/b0bEZ72LGI/zSveEIS6nticn9X1nauv03rtlNanxqY9ELzlbh2Ii/Jbk9Uv6p4T+/YHhB54HIGLr4H3qNN0D4N7pwPh3mG/Vb+1A+De7WB4DzoO/jMuQvCGiYi88hbivy3VoaEoxOOIzfwJHnVO63WXm0aLjnB1G5zaUGnCPYirwKQrm+ZIYsXf+gFDCqVZz+EkHR8Aqpu3R+juB1LpOgd0N7X6d7J3d9ox60OZ8b/rcETeeA/JIjwVyPVE3/0IQfWj8A4/Xg8rmK16w1i3U80/kiZtddeh2bo3XH13Uf9uJALjxuvjSPGRQknKON1r76SGWjgfgDaU6vsvQTSuAm5OM80zoWfhr9STXf2jx8Gz15Fw9dwB5mY9US3baGcqiCX/P9lCWLYPbjcA7m33VsH8LAQnTkbsux+KErqTkaheOmzI68j0GhpQmXQpmxxJox+45la9XbL0iiT+rs6vR0SFL+m99OxzVNq5nCYDgPqyB8bemNoCNxcSCZU+56gn4PMaZPzMtcUgBG++q+C1/vIUIUuZglfeDM/uh8Bs0zf/amHN2sFs2xee3Q7Rx4t9+V1ua3MzkDTdCN50J0x1vWnno7QedPXfFZFX3y5s3F+e+D1eXTPAf/7lermrsUmP/Oa4SJXPdTrC7LKNDt3yIBKfvzC/xnANkm4vfKf8T/+O085Z367dXgWjHVWjf7Lepjyswon0lkh40j0fBfTCyOcYeekN209+LIYMAEpJljLGliuy/lcaT/9Zl8DVZdv8fsx5KD9+35GnIf7jnMJ+CKpxDT/0JLzDjk9NhinWpiHqOHI8KZIiS41y7V35D5LW1XVKyeDqFh3Tz0VpCZUeMHnqLKjrPx5HfPESXazGs8ehqSGtRunnykejeTv9dCzDA9G3Pih4IrAsbZQeifq6l62psba6ll7S6J+ku+fDT76QavRX/q17KPJ+/y0kliyD/7yx7FVciwFA6+q9E2KffJFXgpbxp/j8XxCe/Ci8x56lUrkEgdJ2ocnrDU2dhmQo/wIk8iMI3ninnthkqLRtPUcxNNbuoJ6edkPwhjuQ+P0P60vIGnmPQ5Mfg2vLIWnnoLSUyhh87Itv8+7J0j1sP8zWJXhd3bYrXsheU+kRUKFCdvsMP/K0ajCrrS8je9TrDY69od56NXX3vrqfeQ85UffEylbGsW9/RLLaRDLP97w25J4ZfeM9PcRpfS1OlAFgLZkI2BXhKY/l350u3XuBgB4jlOVrvhFn6u65UoylGet0gm/kuXoMK18Si5cicMk1qRn2NY3vF0vZl6Bdf/gvvgaJpcutLyVrJGTJhES5YaSdg9JSuE5HBG65KzXWnAd6++tvZsJ32oUwN++ljln8+8GaSm+Ae5u91D3oYT3JLV/is+fpRrlkYUW9r7rRP3gkApddj/Djz6n36YdVqxwKnGNRG9Kb+Msi+M+6uGQPPXaTAUBUDbVMqpFGpqBuJvm3wZBeIRC69yF4jz4dZufiBgFXjx0Quv/RvIuQyM0scMm1MFv2KurrqlV1Hllu6VehQ4qP5IV6Mgnd+0jqKcp6fEpLoGvrPRCVan/R3HsG5d/Evp+Vavw37p527JKpAr17q91T94h8h97icT1PwVivU/rx8/SfiXzDjtMPH7J5UuzbmanJwoVOrMySpGGq9+URmB23Tnt9TpUBYJVmp4F51QPIiGQIGRqYtwChSQ/osfCirDdtWqXHx2QGbF6o0CAbgRgtt6y/xn+1EgI27qbOf1/eKV+u23voSRy7o6W3cZtUYJU6F7kiE4R/Xgj/ReP08sG0Y5da9dplpUD4mZfy7kaX+gMu6SEsdDhT5gOpBleWTIenTtNj+nqeQj01+quRiX/R195NrSiq73tfGcsAsNqmbeE7+XzE5y7QZTKLhvoBxmS1wOkXFpyopeGWCUl5TfRRPzipYKbTb0P9ANR5Zdgh+u7HORfuEJJer75+Q3enZjg+pUXSaNUbEan4l0dPm0xaC02c3LBPms3bw7PfMYh9+a315WWFjJV7Dxyh5/GkHTtbm7TRPZaBqyekelfrudFfjXyGsU++0nUWZHVB2ut0sAwAayhrbGUMX+/rXUySSSSWLdfr6wt5epVUH3nx9dyHKaTu95JlepKQ9ZgNoSw3TCz7I/frUEReeFXve2A9JqXFVNaIxxf9lvt3NBJB9HX1pLnTQWnHrG+l98E/6jIdSPJB1zmRugAZjp2NsswucOl1qRUUDYQ8+Utvhu+E84rTC1thMgBYdO92SCr5l2CLz9jHX8Bo0ze/J3DpoTj+HD2skCvJYBChu6aWZlJPHhrq+uXmIsMkuaIrMB57VtlcC61AG7dB8Nrb9DLZnFBZIb5wcWqJWTksWW0k5Yt3QeTJ5/PqcZPVC3q3wHyGAZpVwXPAiNSOiQ2BTMw2XIi88a6ei1VfqxrsJgOAVb3V57nqi/t9XiUma0PG46R8bj69ADKJTgpi5HxTklrf6qYky/2sx2xI3X13QWLxkpxvTEmvT1cbNDboknZMSouhsWE3RNRTfM7d/+p+IWvX9SZWGY7bEEodA59qAGVvjVyRJYzSWyerC6zHrUsZppNlfUlvbiXWi0EyHNZBTOYcSBllbi1eswwAGZTGRZaKyCzeYoeA4A2357WUTWa/hx9+KudxNOnJkLXBefU6lFCjSRtdAz3nWgYq2YcffKJ4lQF1mdV2+jOR5UnUflbLOHXTtkX7jktZaz0XKJ5bONUFZs4fW16b6qj3RMK2TAjMh8BFV8HYqGv6cetQigmFpj6e+xBKvqj7ouytIMM2Et7kc9ArsDK8NvqvDAA1KF963+kX6Uk0utZ2kb7IMsdA37QynLM23bsMR/TtD62Hqx2Ze/DXyrKtee054Fhd8CNXpJyqZ9fhacfLVekWlBuVbMAiqytkkpD3qNOpnTxSfWbDT4B7p4N0KNS/rQKr7HkOPDb32f+JBCJvvK9fh/V4Da1smes7e0xeDzNSyVPKg1uPWZfurffQNftLyqpGP/Hb77pYU3jac6mqrL12LK8QVsYyANSiNBC+I05B9LW3kZSJNHkuX1uT0IRJekcr67nqUsaxZOernIjJLl+zynbyi4Qs2f40114N6Znxqs+lkCc+Kcwi5ZTDz72MxO/LU1say3AEtZ0S0HXtDVlyu/cRMGXpXQHfDSlOk+tmVtLTFrxzCozWZbi/fNO2euvy+IJfrS+7TmQM3+w6OOf3Uwr9SHgo1oPTP8RWNfqydbJ6bVI50H/OGLgHDoWxQXne58pZBoC61IU19kBw/CRdk76gwhWxWGoL4VzHpJpWwaeSbXzxUusRa0VmwIYeeiL9eGWioW5MoQeeyHmTFfnx+8+9NO+UL/UIpBiJLkpU7BsUaTjU70vWmftPOi//XTpVQxeWoakc64Ek/loB/wVX5NxQ1pdSRjs8fYb1ZdeJVBSUIYRc9wYwq/rpEuBSGK1gpNFXIS+x7M/U9slPTofvzNFwbbU7J/cVKANAlspWnJ69jtA16WUmvkxGy3WMUNbCujrnvmmQnFs2x8i1ip7MgvWffUna8cpJ/4VX6q2Ic0HqIATG3ZLaPjXDMWtTJjTJJM9EA0xOIvVAIoHY19/r2vJ5rRRp1g7hl97IeQKgNEz6nNbjlYmyxFl2D80Vmbgsy49zfi+bt9dDNHlXV5XufRXCZCgmNvMnhJ98Hr5T/6f3FqleN/ceVJpZBoAclX0DZMxYSm1KtS89P0C6ImtDlqR4vfDLhJo8nlqluzp067057/utx/+l9kCGY5aLnn2Pzr1ueSSK4C13Q/ZFsB6vVhu3hqvj1ojPznEohdgK6VGS8eB8tns1Nu2J6Eef6+9YLsjEM9k4yHq8clEeIvyqAc2nMfbsdbhu0K3HrEsZOpDKn7pwWTbnlUY/GEJSPejIcGf4CdXon3QeXH13zivs07plAMhTWSng2eMQXVs6vnBRqm5ApiAQi6VqUN89Fcb6+XVXma37qn//IBDO4alE/eDiS5fBvcN+accrJ2WsMLH8T+urr51EEqE7Juf+fqqnO9+Rp+ZX253YCl02+sBj078DdejqoALid7P07zZr1G8tMv0VPVRoPV65KKtcvIednHOwEbwjz8lvHlHjNnANGorQtGdrHjqVORyhsF7eHJ/7M8JPvajrnbi2lIl8OQ6V0pxlAChQY73OcO88TG/+E1+4WD+l6y+0JFmXW9+I/BeMLWisSp5kJGjkelOSOQPuPrukHa+clGvTk/ByJDTpwZzHeWXyZXDCPdZDkQoksWgJ/KMuz3lM3rXFoNRk20yNVU3EEwg/Pj21g16GY5aDsvudd9jxegJdrsiGRtKDYD1mVspuoN0GI3DlzYj9NFcPncrSX63Hq3tRZTdA38izddngnIcaaEEyABRL1bjIRBt5wgxecRP8o8fBs+dhcLUbkPNNyKpZ1R+hKdNyW4WgA8ASuHvtkHa8clKWGMmkvlwJ3fswjE1y22hFiqJI7QFS+ch3SiZ65rrdtavLtnpb79wCQBzhR55JNWAZjlkOGjImf8AIJHKcbyP4TrtID31aj5mLEkBcnbeB96DjEBhzrf5spCia3t0zj8JotDgyANhAmVGbdw+AzODNcMxy0Wzbv357AG6523ooUoEkfv0N/nMvyzl8p3oA5uQYABKIPPE8ewCo7WQAsIFm6z6raufnNgcgsXQ53Dvsn3a8ctLdd1ckludYpnT1HIBch1WaVcF78MjcghSxJbGvZ8K795Hp34E6lC1w85oD8PyrcG89NO145eLqOQD5bA/sy3cOAC17GQBsoKwCkLHrXNO7XgVQxkuTRNkwJPdVABG9pCnniorqadDVpo8ujkQqF/mdSH0JM4+d7GTPjeiHn+U8WU42EHPvdGDa8cpFKZIjM+rzwbv7oXntB0DLXwYAGyjpO3DFTUisrLb+Nmslabr0dqDW45WT/jHXIunKseqa26MnFUm3pvV4ddqkLXzDT2iQTUpIPSB1AD79Ch55+s+x3oa2aRXCL7yWcx2A+E9z4TvmjPTjlYlm+wEIjZ9kfdl1IhsCuQftxcl5FSoDgB2URuuM0YgvWmL9fdaKrEQIPTE9/Xjlorqu0IN5VAL8bWmqwJFsAGM9ZhZKd6iMa+qeh2zWJxN7EIshqhp/76En5bXh1mrDkx/LvebG34ae+JvX1rn1oOxQGHnxdevLrpPEnyvyqgRI7SEDgE2UjWqkFHFOxON6RrOxYXmO30lJXqmqmLF+Qi3oqmvqJp/rBK//nHv9zvDsdgjCDz2RmoSYy6QvUlbIkrKY+m0Er78d7m320qs9rJ93LgZGX517r1Q4jNA9D+kVO9bjNbiyF8Ceh+f8ACFEP/saplQvLeC3RstXBgCb6B5yICJvvGf9fdaOVCBUTybe4SPTjlcOeo84VQ9T5Er0rQ907QXr8XK2eXuYbfropyPP4H10JTdqM3fYH+5Be8LVY/vUmH8Risd49j5CP/nmhPqtRd/9SIXKg9OO19Aam/bQ2+PmUwBLb71djhsc0aLIAGATzS7bptaw5/ikKmOZ4adegFHgFqnF1mjSFpGnXtRPTrki+zHImKb1mHkr3Zsyxinrkan9lM+uiE+oUs8jPjvHWgCKxB9/pWoP5FHuu2Sq98U9YDdEXsq9+1+QOURcAli5MgDYRNk6VyYCJqtN62+0dhIJvV+23tAjw3EbStc2e+sbZq5j8HoCoHofcl4CSGmWyncr8rJsCJTjTnaxGCIvvAb31uVTElhvaT7y3Lx62uThwTPkgPIKNLSoMgDYxSZt9CxjXaUsV9QPOfTQk0XpHi2GhrqW8KPP5LzUSoj9OBveI0/jrGRaOtVTc3DsjXo3zVyR2huBMdehusB5CEVRnv4HDk09/ecYtAWppWB2HlTU3hVaXjIA2Eh5sog8+3LOk+Z0UaA/V8B7qNQEaPgfs+eg41NLGvO4KYWffjG1JWiG41JaLL27HYz4L7/m/luLxhB9/xO9dXhDN5xmq9667G6u222vJnjrPTmX26b2kgHARspWpYErb0Iij+48Gc+MffZ1ql55Q92Y1HllLoPs157zjVUhNzLd/b9J9/RjU1pEZeJcZMabqV0+c0R6DvQ8Falzn+HY9aGu/HfIiYj/ONv68rIi6QvolQP5bANM7SMDgJ1s0lY9PR+H2JffWn+vWZEMRxCe+riuv1/vIUAa/5a9EHroiZwnV61Grls2E2H3Py25jVvDf97lqXkquaLCrezDEbh6vN7sKu3YpbZpW7h3HYbIq28DeZT+FWRFg17SWN/3CVqvMgDYTL0a4K6peT2ZCPJ0ErzxTr3BUL0V91A3EaNVb70Rj94XPA9kQlJo4mSYWwxKPz6lJVA295HCQsk85qrIhEDZ3z4wehzMVlumHbtkNq3SyyPDTz6vt97Nh6R67b7TL4Sxbo6ltqntZACwmbqKnUwGlGVKeSKb7wRvnAhXt8Glf5pWxzc7b4PgzXfmXvN/DaTQi/fIU/Mr/0tpPq7dQT3FT9B7auSFevqWSbuBi6+plwJBcm/w7Howwo9Pz2sC42pi3/0As/v29feAQBtMBgAbKkVPZDvcXEvorol0bYbvfwTu7fdNbapTgjoBclx5GpEKaYkVed5EFclgEKE7p6QCS4bzUFoqZRZ99KPPdU38vJAQMP8XBK67Ha5+u6bqFmQ4T0Gq366xeS94DztJL0NMmvlN+hOkLocUDSqLVQy05DIA2FA9wWf4CYh99X1eM+lXk/R4EXnxNfhOOBdmp62Lt95X3eTkeL4TRyH68pt5d/tr1PXJpEFdzXDt/Ou7U5qP8luT4j6Jpcvy/63F40gs+0MvffUecgKMllsWLXBLyHYN2F2/xtinXyLpL2yTK1nBoEv/8unfETIA2FSphBcYN15vQlIQ8oTy4xyEJt6vG1nXFoPy7mY3pLRup0HwDhuJ0B2TEZ81N7d91TMgywWDV91S3Mp/lOagrJyJPDcj5+24/4OU5VaNc+zzbxC49lY9w96QErt5NrSyl4Wrz846ZIenPYvE4iXqt5bf5FqNvD7DhO+o04v3IEDLXgYAu9qkLdzb7YvI868gmedM3zWRCUOxL75B6K4p8J90Ptzb7wez49b6RiNFiNLOr19DG73PuNlpoK7J7jv5fITunKqO823eE5DWRLpdw+rG695un9LPVaC0JlUj7T38ZMS++7HgQKsrc1Yb+klb5uF4jz5d1/cw2/VHdQsZiqth1n3TKr000dVtOx0eZIVC+NGnEZ8zXw+RFYrezGjKY3qDrrRz04qVAcDGGht00VXx9I0pkWf3pAW5mcQXLtZroIN33A//BWPhPfYsXUTIs9/ReqMUz/4j9G58vuPOVn9+BYITJ+slR/FfFxflZqSRfd3VdemJfxuwFjltWKVhDF55MxJLfs9/KGBN5Inb50ds7gJEnn0JoQn3wH/WxfCpQOA9eCS8+x0Dz75HwXvQsTp8yJN+YOwNCN3/KGIffqaHFJDvvAQrKtTI8IF7q/IpYUzrRwYAm2u26Qf/6KtTY5TFJhzRuwkmfluqlzTFvpmpuzBlO964unHJHgPy5/L3io2cU65LL1fMcN2U1reu7tsjrJ6Sk9UFDrtlQGp0yGqDxKLf9Aof/Vv76jvEZv6E2Pxf9JbVei5NnjU0akS2DJ+3AL6jToNRigmKtKxlALC7jdvoJTvB2+5LNcYVQHLF3wiOv1t3d+Y7Rkpp0W3UCu6dDtITZ4sxxNXgyHCEenCQCYR6JZD1emnFywBQCTZpqycESZW/gmbclwFS7leeslx9d+G4Py0/1VOy98DjEH3rAyT9AevX1z5I4y/1QMZP0kW60q6TOkIGgEqxaVu9zlhmBNs1BCRM1fhPe06vvS6XnQspTVN9N2UOTPTdj+0ZAuLS+P+J0MQpMNtxdY2TZQCoJCUESE/AI08XVAmsIZDhi9DDT8G11e5s/Gn5+//27idEyjoM4DhmRhAURpC4BGGoh6BLQgUGQUWUFkKIpYcOGXiNyEOdLOoUgXWQQOhcUBgJUkSXgliCIELKEiPFIHXc3fHP7OzO7K95fmMHxzY1Xd2d5zPwOem8o4f3ne+8f37PkuWlueGF/pmAhXQ5YLpT769pvbvLlz8CYOjEPQEr1pTWrg//3yCTa/2KUcXxa2Rn79fIygec9mfhuHF5mXhiU2l/srfMnDh5dZ4OmMtXu106+w/UIUV1DYLB/w/pCIBhFJP3Yhb462+Xzm+HrvzZ5bl6TU33l0l97a1zq6PN8gw0zFeLl9WzVq33dpfu4aPzc1/755HDb0fLqa0vl4ZlfjlHAAyxuLN3Yv3mMvXd9/XmunnzCyUOSL1/z/Q3o6X51PPuQGbBi2E/sWZGPCJbLwnMk30tFgmLM2ztj/aU8Uc2iGzOIwCGXVwSGLmvnN35Qen+frg/Rvh6HZzii7/VqsuWxiJDdUKax/wYFjeNlIm16+s9ON0jf9bV9a7bvtbp1lkfU6M/lNOvxEhid/pzIQGQRGPxsjK+dl2Z/HRvXUWshkC3O3jYmJtX73Pi8+pAlD376gRCX/wMq8Ydq0tzy7bS/uLruqZFLPJzzUKg06mn+zsHDpbW+7vLmNX9+A8CIJslI3WJ0cmPP6vLmtYBJ3Hd8mofoGJ7ve3G9mPFwFjTP5YSnnWuAAyTuA/nznvrpM32vq/qDbl1fHes5DcX+1p7ql5Wi9kA8cUfc0Lsa1yMAMgqbl5a83idTBZLjs78dax/gIoYiDMDl3uQir8f74sv/d52ur1fPrHdM2++U8buf6w0bnDtkZwat64o448+W590mf7p59JtnCwzrcn+9L4r2dempvqBfeRojYwYEDS26kFn17hkAoDSuOXuMvHw0+X09h2l/fmXpfPLwdI9fqK/yEkcqOJa5mx6fz5z6kzpHjvee9+v9f1ntr/R294zdbuDnwVpxVmBpatK88nnytkI7xjqc+iPMnNyrJQYojW4bw1qteoNhnE2YfrH/XXRrFPbXq0LgJ24+a4LPw8uQgBwvkW9IFi6soz3frU312+p0/iam16a3catZWLd5jrStHHbPe4yhksVQXD76jpfIFYWvGDfGrTxxXr5bmz1Q/1H+Rb9yzbhMggAAEhIAABAQgIAABISAACQkAAAgIQEAAAkJAAAICEBAAAJCQAASEgAAEBCAgAAEhIAAJCQAACAhAQAACQkAAAgIQEAAAkJAABISAAAQEICAAASEgAAkJAAAICEBAAAJCQAACAhAQAACQkAAEhIAABAQgIAABISAACQkAAAgIQEAAAkJAAAICEBAAAJCQAASEgAAEBCAgAAEhIAAJCQAACAhAQAACQkAAAgIQEAAAkJAABISAAAQEICAAASEgAAkJAAAICEBAAAJCQAACAhAQAACQkAAEhIAABAQgIAABISAACQkAAAgIQEAAAkJAAAICEBAAAJCQAASEgAAEBCAgAAEhIAAJCQAACAhAQAACQkAAAgIQEAAAkJAABISAAAQEICAAASEgAAkJAAAICEBAAAJCQAACAhAQAACQkAAEhIAABAQgIAABISAACQkAAAgIQEAAAkJAAAICEBAAAJCQAASEgAAEBCAgAAEhIAAJCQAACAhAQAACQkAAAgIQEAAAkJAABISAAAQEICAAAS+huE8yR1C95cOwAAAABJRU5ErkJggg==";var LZ="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAFZCAMAAACBhomCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAylpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDkuMS1jMDAxIDc5LjE0NjI4OTk3NzcsIDIwMjMvMDYvMjUtMjM6NTc6MTQgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyNS4zIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJDRUExNTZGQjQ3MDExRUVCNTAyQ0FBN0RBQTk1NUM1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJDRUExNTcwQjQ3MDExRUVCNTAyQ0FBN0RBQTk1NUM1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0ZBNDBFMDRCNDZGMTFFRUI1MDJDQUE3REFBOTU1QzUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkNFQTE1NkVCNDcwMTFFRUI1MDJDQUE3REFBOTU1QzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4EU8R8AAAAYFBMVEUO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";var CZ="data:image/png;base64,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";var gZ="data:image/png;base64,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";var mZ="data:image/png;base64,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PSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOUVENkQ3NENGMEYxMUVFQjdFRUIwMkFBRTcyODRDMiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmNzYwOGJkMy1kYTYxLTQ1NGUtOTlhMy1hNmE2ZGIyYmQ4NDkiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0idXVpZDo2NUU2MzkwNjg2Q0YxMURCQTZFMkQ4ODdDRUFDQjQwNyIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVTdGFtcD0iMTczNzk3NjU1NjkyODE1NSIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjMwIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjk0ZDIxODhlLWY5MjItNDdmNS1hOWFiLTc3M2UwMDNiOTNjMiIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDEtMjdUMTI6MTU6NTYrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8eG1wTU06RGVyaXZlZEZyb20KICAgIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ZDUyZmMwNzctYmM5My00YzExLThmMGQtZTdiZjg2OGNiNjgzIgogICAgc3RSZWY6aW5zdGFuY2VJRD0idXVpZDo3YjU2YTE3Mi1jMTNjLTNjNGMtOTIyMC00ZDQ2Mzk2ZTBmYTAiLz4KICAgPGRjOnRpdGxlPgogICAgPHJkZjpBbHQ+CiAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij5uYXR1cmVuZXJnaWUtTG9nby1XQk1WVi1SR0I8L3JkZjpsaT4KICAgIDwvcmRmOkFsdD4KICAgPC9kYzp0aXRsZT4KICA8L3JkZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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llTXCoSOjNVj29G7WdsxpyB7amw7PiY8bHsnBl6vVCIpmQKw7FaqVkDneKM0GZiGd2NUMBLrx1zxxmQqMFV1Q0q8YM0TX52nu5EdA4xNaoiFSAL1tXOsq91mcvM9gfAgTXMOs3O+Ngb+Q3qLx48BriMMY30ptXMf7sEMIaP1noQHzpVwPt4dpoqUyDns0uxa19zoZm1H1R4oKgATERERkXJveOcn9ET1SOkbLgOOjensK3lcXYGzCFn50nYz3u2qylT7NClSRERERMr1zxSDryPx7pyqHFUI+PbF2E8JmWfTNLeqUX1QthURERERaTljlyMkj0rD01ULvn7vdMK8+zR1UmVSACYiIiIiMicHkt60luszcYQhi+ctKX/LKFUlBWAiIiIiIrMWElYMSPEbPs7Q0X6U8vaVUEsBmIiIiIjIbC1DenO/SHnbpZo35e1/o+qkAExEREREZHZWSHn7W2XoWLdIeftvqzopABMRERERmZ1FU97+rhi7ftWP0tjNgG1T/pY3VZ0UgImIiIiIzE6HCtyr/htjd65i8LULcHfK3/KdArD6oXXARERERKSlxlbgOzoBN2PsAcD5wP14NzHloKsdYcjhYcAfK3CM9+PdNFUnBWAiIiIiIrPzVQW/a534GoexTxPW5XqLMHfqU7yb0MJgqz1hKOVywIrAKsD6QOcKHtttqkr1o+lXm5oAAAINSURBVKAiEBEREZEWBi9LAiMzsjfjga+B74GJwKT4d811ANoBbQlZDRek+gsgDweWjWuNiQIwEREREZHZBmEjgKVVEC22I97drmKoH0rCISIiIiLluExF0GLPAHeoGBSAiYiIiIgUayjwmYqhZOOAvTX0UAGYiIiIiEjxvBsPHKSCKNlgvPtAxVB/WqkIRERERKQsX40YwcK921GZlO214G94d7mKoT6pB0xEREREkjAEuFnFMEfH4t3ZKob6pR4wERERESnfVyMaWbj3vYT1s9ZUgcxgErAP3l2soqhvSkMvIiIiIskydlvgaqCrCgMIa6XtgndeRSEagigiIiIiyfLuHmA54JY6L4lJwFnAigq+pIl6wEREREQkPcauA5wMbFhnR34ncDTefaRKIArARERERKTSgZgBjgS2AdrW6FH+CtwInId37+qkiwIwEREREal2IDYPsCOwGyFZRy1MiXmJkAHyFrz7XidZFICJiIiISBaDse7AJsDmwPrAojnZ87HA08CTwB1495lOpigAExEREZG8BWQLAmsAqxOSePQFelHdXrKpwHDg9fh6HngZ76bohIkCMBERERGptaCsPbA0sDiwENAz/rkg0I2Q6n7u+GpT4tZ/BX6Kr5+Bb4DPgE+a/TkC7ybqRIgCMBERERGR3wdrHfktwUcXZuw5mwr8Ev97It5NUKFJpf0/FH6uD58YhSIAAAAASUVORK5CYII=";var vZ="data:image/png;base64,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";var yZ="data:image/png;base64,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IgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6MWJlOGU5MDktMDVjNS00ZWM4LWI4MDUtY2IzNzFkNDEwYWNhIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmUzZjM3YzIyLTlkZWUtNDIyOS1hNGE3LWFmYjhmNjE0NmQ3OSIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmZiMDU1MWQxLTU3ZTQtNDJhNS05YTBkLWVlMDdlZWRlYWQ0NyIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09IkxpbnV4IgogICBHSU1QOlRpbWVTdGFtcD0iMTczNzk3NTM0MjI5MDAzMSIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjMwIgogICB0aWZmOk9yaWVudGF0aW9uPSIxIgogICB4bXA6Q3JlYXRvclRvb2w9IkdJTVAgMi4xMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmZmOGRjOTFmLTAwZWItNDNhNy05OWI1LWE1YWVhZGMyMjJjZiIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDEtMjdUMTE6NTU6NDIrMDE6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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";var Mm="echtzeit",Bm="haltestellen",Sm="meldungen",_Z="liniennetz",Em="mapset",Va=[7.5,47.7,8.45,48.4],gS=Va,sp=Sa(gS,"EPSG:4326","EPSG:3857");window.fromLonLat=ic;window.toLonLat=nc;var Oo="isExporting",Tt={bikeFrelo:"fahrradfrelo",bikeOthers:"fahrradandere",cargobikeFrelo:"cargobikefrelo",cargobikeOthers:"cargobikeandere",carGrf:"grueneflotte",carNatur:"naturenergie",carOthers:"autoandere",eroller:"e-roller",linesnetworkplan:_Z,mapset:Em,mitfahrpunkte:"mitfahrpunkte",notifications:Sm,pois:"pois",realtime:Mm,sharedMobility:"sharedmobility",stations:Bm,tarifzonen:"tarifzonen",verkaufsstellen:"verkaufsstellen"},iN1=Object.values(Tt),xZ=Object.values(Tt).filter(r=>![Tt.mapset,Tt.mitfahrpunkte,Tt.pois,Tt.stations,Tt.tarifzonen].includes(r)),wZ=[Sm,Em,Mm,Bm,_Z,Tt.tarifzonen,Tt.verkaufsstellen,Tt.pois,Tt.sharedMobility],bZ=Object.values(Tt).filter(r=>r!==Tt.tarifzonen&&r!==Tt.pois&&r!==Tt.realtime);var MZ="sharing_stations",BZ="sharing_vehicles",SZ="sharing_stations",EZ="sharing_freefloat_bicycle",TZ="sharing_freefloat_cargo_bicycle",IZ="sharing_freefloat_car",FZ="sharing_freefloat_scooter",PZ="sharing_select",RZ={features:[],type:"FeatureCollection"};var Tm={callabike_ice:"Call a Bike",flinkster_carsharing:"Flinkster","gruene-flotte_freiburg":`Die Gr\xFCne
|
|
@@ -1547,7 +1547,7 @@ ${String(r)}`)}catch(t){return t}},KY=r=>{if(typeof r!="object"||r===null)throw
|
|
|
1547
1547
|
left: unset;
|
|
1548
1548
|
bottom: unset;
|
|
1549
1549
|
background:unset;
|
|
1550
|
-
}`;function vg1({options:r,...t}){let{map:e}=dt(),[i,o]=lt(),n=Mt(()=>i?new _U({target:i,...r}):null,[r,i]);return N2(()=>{if(!(!e||!n))return e.addControl(n),()=>{e&&n&&e.removeControl(n)}},[e,n]),q("div",{ref:c=>{o(c)},...t,children:q("style",{children:SJ})})}var bR=vg1;function yg1({...r}){let{isSearchOpen:t,setIsSearchOpen:e}=dt(),{t:i}=C5(),o=V5(()=>{e(!t)},[t,e]);return q(t3,{title:i("search_menu_title"),...r,onClick:o,selected:t,children:q(iu,{})})}var MR=W2(yg1);function _g1({...r}){return q("svg",{fill:"none",height:24,stroke:"currentColor",strokeWidth:1.5,viewBox:"0 0 24 24",width:24,xmlns:"http://www.w3.org/2000/svg",...r,children:q("path",{d:"M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z",strokeLinecap:"round",strokeLinejoin:"round"})})}var BR=_g1;function xg1({...r}){let{isShareMenuOpen:t,setIsShareMenuOpen:e}=dt(),{t:i}=C5(),o=V5(()=>{e(!t)},[t,e]);return q(t3,{title:i("share_menu_title"),...r,onClick:o,selected:t,children:q(BR,{})})}var SR=W2(xg1);function wg1(r){let{baseLayer:t,map:e,setStationsLayer:i}=dt(),o=Mt(()=>t?new M3({layersFilter:({metadata:n})=>n?.["tralis.variable"]==="station"||n?.["general.filter"]==="stations"||n?.["geops.filter"]==="netzplan_stops",maplibreLayer:t,name:Bm,...r||{}}):null,[t,r]);return N2(()=>{if(!(!e||!o))return e.addLayer(o),i(o),()=>{e.removeLayer(o)}},[e,i,o]),null}var EJ=W2(wg1);var bg1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations",minZoom:10});function Mg1(r){return q(EJ,{...bg1,...r})}var Qd=W2(Mg1);function Bg1(r){return q("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:q("path",{d:"M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z"})})}var ER=Bg1;function Sg1(r){return q("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:q("path",{d:"M12,4 C12.5522847,4 13,4.44771525 13,5 L13,11 L19,11 C19.5128358,11 19.9355072,11.3860402 19.9932723,11.8833789 L20,12 C20,12.5522847 19.5522847,13 19,13 L13,13 L13,19 C13,19.5128358 12.6139598,19.9355072 12.1166211,19.9932723 L12,20 C11.4477153,20 11,19.5522847 11,19 L11,13 L5,13 C4.48716416,13 4.06449284,12.6139598 4.00672773,12.1166211 L4,12 C4,11.4477153 4.44771525,11 5,11 L11,11 L11,5 C11,4.48716416 11.3860402,4.06449284 11.8833789,4.00672773 Z"})})}var TR=Sg1;function Eg1(){let{map:r}=dt(),[t,e]=lt(!1),[i,o]=lt(!1),{t:n}=C5(),c=V5(()=>{if(!r?.getView())return;let L=r.getView(),g=L.getZoom();L.setZoom(g+1)},[r]),A=V5(()=>{if(!r?.getView())return;let L=r.getView(),g=L.getZoom();L.setZoom(g-1)},[r]);return N2(()=>{let L=r?.on("moveend",()=>{let g=r.getView(),v=g.getZoom(),S=g.getMaxZoom(),I=g.getMinZoom();S&&v===Number(S)?e(!0):e(!1),I&&v===Number(I)?o(!0):o(!1)});return()=>{N5(L)}},[r]),q(Re,{children:[q(t3,{disabled:t,onClick:c,title:n("zoomin"),children:q(TR,{})}),q(t3,{disabled:i,onClick:A,title:n("zoomout"),children:q(ER,{})})]})}var IR=W2(Eg1);var TJ={style:{width:"calc(100% - 60px)"}},Tg1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations"});function Ig1({className:r,...t}){let{hasDetails:e,hasGeolocation:i,hasLayerTree:o,hasPrint:n,hasRealtime:c,hasSearch:A,hasShare:L,hasToolbar:g,isEmbed:v,isOverlayOpen:S,isSearchOpen:I,mainlink:B}=dt();return q("div",{className:Kt("relative flex size-full flex-col text-base @lg/main:flex-row-reverse",r),...t,children:[q(gR,{}),q(Qd,{minZoom:10,...Tg1}),q(wR,{}),q(mR,{}),q(CR,{}),q(xR,{}),q(KS,{className:"relative flex-1 overflow-visible",children:[v&&q(US,{}),B&&q(pR,{className:"absolute inset-x-2 bottom-8 z-10"}),q("div",{className:"pointer-events-none absolute inset-x-2 bottom-2 z-10 flex items-end justify-between gap-2 text-[10px]",children:[q(bR,{className:"bg-slate-50/70"}),q(zm,{className:"pointer-events-auto bg-slate-50/70"})]}),q("div",{className:"absolute top-2 right-2 z-10 flex",children:i&&q(GS,{})}),q("div",{className:"absolute right-2 bottom-10 z-10 flex flex-col justify-between gap-2",children:q(IR,{})}),!g&&A&&q("div",{className:Kt("absolute top-2 right-2 left-2 z-10 max-w-96",S&&"@lg:left-68"),children:q(nu,{})})]}),q("div",{className:"pointer-events-none absolute top-2 bottom-2 left-2 z-10 flex flex-col gap-2",children:[g&&q("div",{className:"pointer-events-none relative z-10 w-fit rounded-2xl bg-black/10 p-0 backdrop-blur-sm *:pointer-events-auto",children:[A&&q("div",{className:Kt("absolute top-12 left-0 w-0 p-0 opacity-0 transition-all @sm:top-0 @sm:left-[calc(100%-43px)] @md:left-[calc(100%-47px)]",I?"w-64 opacity-100":""),children:q(nu,{className:"border-grey @container m-0 h-[40px] rounded-2xl border p-2 px-4 text-base @sm/main:h-[44px] @sm/main:rounded-l-none @sm/main:rounded-r-2xl @md/main:h-[48px]",inputClassName:"h-6 text-base",inputContainerClassName:"border-none",resultClassName:"text-base **:hover:cursor-pointer hover:text-red-500 p-2",resultsContainerClassName:"@container rounded-b-2xl max-h-[200px] overflow-y-auto border border-grey border-t-0 ",withResultsClassName:"text-base !rounded-b-none"})}),q("div",{className:Kt("border-grey relative flex gap-[1px] overflow-hidden rounded-2xl border @sm/main:h-[44px] @md/main:h-[48px]","*:size-[38px] *:rounded-none *:border-none *:@sm/main:size-[42px] *:@md/main:!size-[46px]","*:first:!rounded-l-2xl","*:last:!rounded-r-2xl",I?"@sm:rounded-r-none @sm:border-r-0 @sm:*:last:!rounded-r-none @sm:*:last:border-r-0":""),children:[o&&q(qS,{}),n&&q(HS,{}),L&&q(SR,{}),A&&q(MR,{})]})]}),S&&q("div",{className:Kt("pointer-events-none flex w-0 flex-1 flex-col overflow-hidden rounded-2xl @lg:min-w-[320px]"),style:{containerType:"normal"},children:q(Om,{className:"border-grey @container/overlay pointer-events-auto relative hidden flex-col overflow-hidden rounded-2xl border bg-white text-base shadow-lg @lg:flex",ScrollableHandlerProps:TJ,children:q(V_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:c,hasSearch:!1,hasShare:L})})})]}),S&&q(Om,{className:"absolute bottom-0 z-20 flex max-h-[70%] min-h-[75px] w-full flex-col border-t bg-white @lg:hidden",ScrollableHandlerProps:TJ,children:q(V_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:c,hasSearch:!1,hasShare:L})})]})}var W_=W2(Ig1);var Fg1=(r,t)=>{let e=t?.getView()?.getZoom(),i=r.get("minZoom"),o=r.get("maxZoom");return i>e||e>o};function Pg1(r){let{apikey:t,baseLayer:e,map:i,mapsetplanid:o,mapsettags:n,mapsettenants:c,mapsettimestamp:A,mapseturl:L,setMapsetLayer:g}=dt(),v=Mt(()=>!e||!i?null:new rS({apiKey:t,name:Em,planId:o??void 0,tags:n?.split(",").map(S=>S.trim()),tenants:c?.split(",").map(S=>S.trim()),timestamp:A,url:L,...r||{}}),[e,i,t,L,o,n,c,A,r]);return N2(()=>{g?.(v)},[v,g,i]),N2(()=>{if(!(!i||!v))return i.addLayer(v),()=>{i.removeLayer(v)}},[i,v]),N2(()=>{let S=null;return v&&(S=v.on("updatefeatures",()=>{let I=v.getSource()?.getFeatures();I?.length&&I.forEach(B=>{let R=B.getStyleFunction();R&&B.setStyle((H,V)=>Fg1(H,v.getMapInternal())?null:R(B,V))})})),()=>{N5(S)}},[v]),null}var FR=W2(Pg1);function Rg1(r){let{apikey:t,baseLayer:e,linesNetworkPlanLayer:i,map:o,notificationat:n,notificationtenant:c,notificationurl:A,previewNotifications:L,setNotificationsLayer:g}=dt(),[v,S]=lt(!!i?.getVisible()),I=Mt(()=>{if(!e)return null;let B=new aS({apiKey:t,apiParameters:{contentMedium:!0,isEdited:!0,publicNow:!0},maplibreLayer:e,name:Sm,publicAt:n?new Date(n):void 0,situations:L,tenant:c,url:A,...r||{},loadAll:!L});return L&&!B.getVisible()&&B.setVisible(!0),B},[e,t,n,L,c,A,r]);return N2(()=>{g?.(I)},[I,g]),N2(()=>{if(!(!o||!I))return o.addLayer(I),()=>{o.removeLayer(I)}},[o,I]),N2(()=>{let B=i?.on("change:visible",()=>{let R=i.getVisible();S(R)});return S(i?.getVisible()||!1),()=>{N5(B)}},[i]),N2(()=>{if(!I)return;let B=I.getVisible();return B&&I.setVisible(!1),v?I.layersFilter=R=>R.metadata?.["general.filter"]==="moco.lnp":I.layersFilter=R=>R.metadata?.["general.filter"]==="moco",I.setVisible(B),()=>{I.applyLayoutVisibility()}},[v,I,i]),null}var PR=W2(Rg1);var FJ=Jr(B4(),1);var Dg1=(r,t=new URLSearchParams)=>{let e=r.getView().getZoom(),[i,o]=r.getView().getCenter()||[],n=u4(r.getLayers().getArray()).filter(c=>c.get("name")&&c.getVisible()).map(c=>c.get("name"));return t.set("layers",n.join(",")),i>=0&&t.set("x",i.toFixed(2)),o>=0&&t.set("y",o.toFixed(2)),e>=0&&t.set("z",e.toFixed(1)),t},IJ=Dg1;var zg1=({replaceState:r=!1})=>{let{map:t,setPermalinkUrlSearchParams:e}=dt(),i=Ud(),o=V5(n=>{if(t.get(Oo))return;let c=new URLSearchParams(window.location.search),A=IJ(n,c);e(A)},[t,e]);return N2(()=>{r&&i&&i!==window.location.href&&!i.includes(encodeURIComponent("{{"))&&window.history.replaceState(null,null,i)},[t,i,r]),N2(()=>{let n,c,A,L=(0,FJ.default)(o,1e3);return t&&(L(t),n=t?.on("moveend",g=>{L(g.map)}),c=t.once("loadend",g=>{L(g.map),A=u4(g.map.getLayers().getArray()).map(v=>v.on("change:visible",()=>{L(g.map)}))})),()=>{N5(n),N5(c),N5(A)}},[t,o]),null},RR=W2(zg1);var kg1=async(r,t,e=0,i=!0)=>{if(!r)return Promise.reject(new Error("No vehicle provided"));let{geometry:o,properties:{coordinate:n}}=r,c=t.getView(),A=e||c.getZoom(),L=A>0?c.getResolutionForZoom(A):void 0,g=n?[...n]:null;if(!g&&o){let{coord:S}=yf(Date.now(),r,!0);g=S?[...S]:null}return g?(i&&(g[0]-=320/2*L),c.cancelAnimations(),new Promise(S=>{c.animate({center:g,duration:1e3,easing:Pg,resolution:L},I=>{S(I)})})):Promise.reject(new Error("No center found"))},DR=kg1;var Og1=(r,t,e,i,o)=>i?o?"#dc2626":"#a0a0a0":e===null?"transparent":FL(e,o),PJ=Og1;var Ng1=(r,t,e,i=!1)=>{if(i)return String.fromCodePoint(215);let o=PL(e);return o==="0"?"":`+${o}`},RJ=Ng1;var DJ=16,Zg1=!0,Ug1=new Y0;function Qg1(r){let{apikey:t,baseLayer:e,isFollowing:i,isTracking:o,linesNetworkPlanLayer:n,map:c,mots:A,realtimebboxparameters:L,realtimeurl:g,setIsFollowing:v,setIsTracking:S,setRealtimeLayer:I,tenant:B,trainId:R}=dt(),[H,V]=lt([]),[G,e1]=lt(!1),i1=Mt(()=>!t||!g?null:new fS({apiKey:t,bboxParameters:L?.split(" ").reduce((L1,w1)=>{if(!w1)return L1;let[S1,y1]=w1.split("=");return L1[S1]=y1,L1},{}),getMotsByZoom:A?()=>A.split(","):void 0,isQueryable:!0,minZoom:5,name:Mm,tenant:B,url:g,zIndex:1,...r,styleOptions:{getColor:Id,getDelayColor:PJ,getDelayText:RJ,getText:C_,getTextColor:p_,getTextFont:L_,...r?.styleOptions||{}}}),[t,g,L,A,B,r]);return N2(()=>{if(!(!c||!i1))return c.getView()?.getCenter()?c.addLayer(i1):c.once("moveend",()=>{c.addLayer(i1)}),I(i1),()=>{c.removeLayer(i1),I(null)}},[c,I,i1]),N2(()=>{R||v(!1)},[R,v]),N2(()=>{let r1=[];return o&&v(!1),()=>{N5(r1)}},[o,v]),N2(()=>{if(!c)return;let r1=null;return r1=c.getView().on("change:center",L1=>{L1.target.getInteracting()&&(v(!1),S(!1))}),()=>{N5(r1)}},[c,v,S]),N2(()=>{let r1=null;return i1&&(i1.engine.useThrottle=!i,i1.engine.isUpdateBboxOnMoveEnd=!i,i1.allowRenderWhenAnimating=!!i),!i||!R||!c||!i1?void 0:(S(!1),(async w1=>{let S1=w1&&i1?.trajectories?.[w1];if(!S1){S1=(await i1.api.getTrajectory(R,i1.mode))?.content;let H1=await i1.api.getFullTrajectory(R,i1.mode,void 0);if(H1?.content)try{let c1=Ug1.readFeatures(H1.content),g1=new Pa({features:c1}).getExtent();i1.api.bbox=[...g1,...i1.api.bbox.slice(4)]}catch(c1){console.warn("Error parsing full trajectory feature:",c1,H1?.content)}}await DR(S1,c,DJ)===!0&&(r1=setInterval(()=>{DR(i1?.trajectories?.[R],c,DJ)},1e3))})(R),()=>{clearInterval(r1)})},[i,c,i1,R,S]),N2(()=>{if(!(!R||!i1?.api))return i1.selectedVehicleId=R,i1.highlightTrajectory(R).catch(r1=>{console.error("Error highlighting trajectory:",r1)}),()=>{i1?.selectedVehicleId&&(i1.api?.unsubscribeFullTrajectory(i1.selectedVehicleId),i1.selectedVehicleId=null,i1.vectorLayer.getSource().clear())}},[R,i1,i1?.api]),N2(()=>{if(!c||!e)return;let r1=c.once("rendercomplete",()=>{let L1=e.mapLibreMap?.getStyle()?.metadata,w1=[];for(let S1=0;S1<26;S1++)w1.push(zh(S1,L1?.graphs));V(w1)});return()=>{N5(r1)}},[c,e,i1]),N2(()=>{let r1=n?.on("change:visible",()=>{let L1=n.getVisible();e1(L1)});return e1(n?.getVisible()||!1),()=>{N5(r1)}},[n]),N2(()=>{!i1||!H?.length||(Zg1&&G?i1.engine.graphByZoom=H:i1.engine.graphByZoom=[],i1.engine.setBbox())},[G,i1,H,n]),null}var zJ=W2(Qg1);var Hg1=new J0({image:new V9({fill:new r6({color:"#000000"}),radius:5}),stroke:new pi({color:"#000000",width:6}),zIndex:2}),Vg1=r=>{let t="#ffffff",e=r.get("type"),i=r.get("stroke");return i&&i[0]!=="#"&&(i=`#${i}`),t=i||Td(e,{name:r.get("line_name")}),t=/#ffffff/i.test(t)?"#ff0000":t,[Hg1,new J0({image:new V9({fill:new r6({color:t}),radius:4}),stroke:new pi({color:t,width:4}),zIndex:3})]},kJ=Vg1;var Gg1={0:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],1:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],2:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15],3:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],4:[0,0,0,0,0,2,2,2,2,2,2,3,3,6,7,12,15],5:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],6:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],7:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],8:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],9:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15]},jg1=Gg1,OJ=(r=0,t=0,e=!1)=>{let i=Math.min(Math.floor(t||1),16);try{let o=_n.getTypeIndex(r);return jg1[o][i]*(e?2:1)}catch{return 1}};var NJ='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 42 42" width="42" height="42">%0A <path id="Pfad_1" data-name="Pfad 1" d="M40,20A20,20,0,1,1,20,0,20,20,0,0,1,40,20Z" transform="translate(0 0)" fill="%23353535"/>%0A <path id="Pfad_2" data-name="Pfad 2" d="M25.481,11.843a9.993,9.993,0,0,0-10,9.992c0,7.773,10,14.8,10,14.8s9.992-7.5,9.992-14.8a9.991,9.991,0,0,0-9.992-9.992m0,14.662a4.924,4.924,0,1,1,4.924-4.924A4.93,4.93,0,0,1,25.482,26.5" transform="translate(-5.477 -4.19)" fill="%23fff"/>%0A <path id="Pfad_3" data-name="Pfad 3" d="M12.015,8.124,38.081,34.031,35.4,36.536,9.06,10.527Z" transform="translate(-3.206 -2.874)" fill="%23ec0016"/>%0A <path id="Pfad_4" data-name="Pfad 4" d="M20,3.231A16.769,16.769,0,1,1,3.231,20,16.788,16.788,0,0,1,20,3.231M20,0A20,20,0,1,0,40,20,20,20,0,0,0,20,0" transform="translate(0 0)" fill="%23353535"/>%0A</svg>%0A';var zR={},ZJ=new Image(42,42);ZJ.src=NJ;var Kg1=(r,t)=>{let e=16;r>e&&(e=22);let i=`${e},${t}`;if(!zR[i]){let o=l8(e*t,e*t),n=o.getContext("2d");if(!n)return null;n.drawImage(ZJ,0,0,e*t,e*t),zR[i]=o}return zR[i]},kR={},Wg1=(r,t,e)=>{let i=`${r}, ${t}, ${e}`;if(!kR[i]){let o=l8(r*2,r*2);if(o){let n=o.getContext("2d");if(!n)return null;n.beginPath(),n.arc(r,r,t,0,2*Math.PI,!1),n.fillStyle=e,n.filter="blur(1px)",n.fill(),kR[i]=o}}return kR[i]},OR={},$g1=(r,t,e,i,o="#000",n=1)=>{let c=`${r}, ${e}, ${i}, ${o}, ${n}`;if(!OR[c]){let A=l8(Math.ceil(r.length*t),Math.ceil(t+8*n));if(A){let L=A.getContext("2d");if(!L)return null;L.font=e,L.textAlign="left",L.textBaseline="middle",L.font=e,L.fillStyle=i,L.strokeStyle=o,L.lineWidth=1.5*n,L.strokeText(r,0,t),L.fillText(r,0,t),OR[c]=A}}return OR[c]},NR={},Xg1=(r,t,e,i,o,n)=>{let c=`${r}, ${t}, ${e}, ${i}, ${o}, ${n}`;if(!NR[c]){let A=l8(r*2,r*2);if(A){let L=A.getContext("2d");if(!L)return null;L.fillStyle=e,i&&(L.lineWidth=1*n,L.strokeStyle="#000000"),L.beginPath(),L.arc(r,r,t,0,2*Math.PI,!1),L.fill(),o&&L.setLineDash([5,3]),i&&L.stroke(),NR[c]=A}}return NR[c]},ZR={},Yg1=(r,t,e,i,o,n,c,A,L,g)=>{let v=`${e}, ${i}, ${o}, ${n},${c}, ${A}, ${L}`;if(!ZR[v]){let S=l8(i*2,i*2);if(S){let I=S.getContext("2d");if(!I)return null;A&&(I.save(),I.textBaseline="middle",I.textAlign="center",I.font=g(r,t,o+2,e),I.strokeStyle=c,I.strokeText(e,i,i),I.restore()),I.textBaseline="middle",I.textAlign="center",I.fillStyle=n,I.font=g(r,t,o,e),I.strokeStyle=c,I.strokeText(e,i,i),I.fillText(e,i,i),ZR[v]=S}}return ZR[v]},UR={},Jg1=(r,t,e)=>{let{delayDisplay:i=3e5,delayOutlineColor:o="#000",getColor:n=()=>"#000",getDelayColor:c=()=>"#000",getDelayFont:A=(M2,f1,R1)=>`bold ${R1}px arial, sans-serif`,getDelayText:L=()=>null,getMaxRadiusForStrokeAndDelay:g=()=>7,getMaxRadiusForText:v=()=>10,getRadius:S=()=>0,getText:I=M2=>M2?.properties?.line?.name||"I",getTextColor:B=()=>"#000",getTextFont:R=(M2,f1,R1)=>`bold ${R1}px arial, sans-serif`,getTextSize:H=()=>14,hoverVehicleId:V,selectedVehicleId:G,useDelayStyle:e1}=e,{pixelRatio:i1=1}=t,{type:r1}=r.properties,{delay:L1,has_realtime_journey:w1,line:S1,operator_provides_realtime_journey:y1,state:C1,train_id:H1}=r.properties,{color:c1,name:g1,text_color:Z1}=S1||{};g1=I(r,t);let V1=C1==="JOURNEY_CANCELLED";g1||(g1="I"),Z1=B(r,t),c1=n(r,t),c1&&!c1.startsWith("#")&&(c1=`#${c1}`),Z1.startsWith("#")||(Z1=`#${Z1}`);let l2=!!(V&&V===H1),p2=!!(G&&G===H1),J1=S(r,t)*i1,G1=J1>=g()*i1;(l2||p2)&&(J1=G1?J1+5*i1:14*i1);let L2=J1>v()*i1,D2=`${J1}${l2||p2}${w1}`;if(e1?D2+=`${y1}${L1}${V1}`:(D2+=`${c1||r1}`,G1&&(D2+=`${V1}${L1}`)),L2&&(D2+=`${g1}${Z1}`),!UR[D2]){if(J1===0)return null;let M2=1*i1,f1=J1+2*i1,R1=J1*2,D1=f1*2+M2*2,t2=D1/2,c2=null;G1&&L1!==null&&(c2=Wg1(t2,f1,c(r,t,L1,V1)));let o2=null,T2=0;if(G1&&(l2||(L1||0)>=i||V1)){T2=Math.max(V1?19:14,Math.min(V1?19:17,J1*1.2))*i1;let It=L(r,t,L1,V1);It&&(o2=$g1(It,T2,A(r,t,l2||t.zoom>=13?T2:0,It),c(r,t,L1,V1,!0),o,i1))}let F2=null,z2;e1?z2=c(r,t,L1,V1):z2=c1||n(r,t);let U2=G1||l2||p2,X2=!!G1&&!!e1&&L1===null&&y1==="yes",tt=!!U2&&L2&&!w1&&!V1;tt&&(F2=Kg1(J1,i1));let ft=Xg1(t2,J1,z2,U2,X2,i1),P1=o2?.width||tt&&F2.width/2||0,st=tt&&F2.height/2||0,Zt=D1+P1*2,Ht=D1+st*2,$2=l8(Zt,Ht);if($2){let It=$2.getContext("2d");if(!It)return null;let pt=P1,mt=st;c2&&It.drawImage(c2,pt,mt),ft&&It.drawImage(ft,pt,mt);let bt=null;if(L2){let kt=Math.max(J1,10),Xt=H(r,t,It,R1,g1,kt,R(r,t,kt,g1)),Gt=e1?"#000000":Z1||B(r,t);bt=Yg1(r,t,g1,t2,Xt,Gt,z2,!!e1&&L1===null&&y1==="yes",i1,R)}bt&&It.drawImage(bt,pt,mt),o2&&It.drawImage(o2,pt+Math.ceil(t2+f1)+M2,mt+Math.ceil(t2-T2)),tt&&It.drawImage(F2,pt-F2.width/4,mt-F2.height/4),UR[D2]=$2}}return UR[D2]},UJ=Jg1;var QJ={bus:25,coach:15,train:30,tram:20},tm1={fullTrajectoryStyle:kJ,getMotsByZoom:r=>r<9?["rail"]:null,sort:({properties:{delay:r,type:t}},{properties:{delay:e,type:i}})=>t!==i?QJ[t]<QJ[i]?-1:1:r===e?0:r<e?-1:1,style:UJ,styleOptions:{getColor:r=>Td(r?.properties?.type,r?.properties?.line),getMaxRadiusForStrokeAndDelay:()=>4,getMaxRadiusForText:()=>8,getRadius:(r,t)=>OJ(r?.properties?.type,t?.zoom),getTextColor:r=>f_(r?.properties?.type)}};function em1(r){return q(zJ,{...tm1,...r})}var $_=W2(em1);var HJ=Jr(B4(),1);function rm1({debounceOptions:r,debounceTimeout:t=150,hover:e=!0}){let{map:i,mots:o,queryablelayers:n,setFeaturesInfos:c,setFeaturesInfosHovered:A,setLinesIds:L,setNotificationId:g,setStationId:v,setTrainId:S,stationsLayer:I,tenant:B}=dt(),R=V5(async G=>{let e1=G.map.getAllLayers().filter(r1=>n.split(",").includes(r1.get("name"))),i1=await pS(G.coordinate,e1,5,!0);if(I){let r1=i1?.find(S1=>S1.layer===I),L1=r1?.features||[],[w1]=L1.filter(S1=>{let y1=!1;return o?.split(",")?.length>0&&(y1=!!o.split(",").find(C1=>{if(S1.get(C1.trim().toLowerCase())===1)return!0})),!S1.get("uid")&&S1.get("external_id")&&S1.set("uid",S1.get("external_id")),y1?!!S1.get("tralis_network")?.includes(B):S1.get("network")?S1.get("network").toLowerCase().includes(B):y1});r1&&(r1.features=w1?[w1]:[])}return i1},[o,n,I,B]),H=V5(async G=>{let e1=await R(G);A(e1);let i1=e1.flatMap(r1=>r1.features);G.map.getTargetElement().style.cursor=i1?.length?"pointer":"default"},[R,A]),V=V5(async G=>{let e1=await R(G);c(e1),e1?.flatMap(i1=>i1.features).length===0&&(S(null),v(null),g(null),L(null))},[R,c,L,g,v,S]);return N2(()=>{let G=i?.on("singleclick",V);return()=>{N5(G)}},[i,V]),N2(()=>{let G;if(e){let e1=H;t&&(e1=(0,HJ.default)(H,t,r)),G=i?.on("pointermove",e1)}return()=>{N5(G)}},[r,t,e,i,H]),null}var QR=rm1;var VJ=(r,t)=>{if(!!t.get("name")&&r!=null){let o=r?.split(",")||[],n=t.get("name"),c=o.includes(n);t.getVisible()!==c&&(t.getLayers?t.getLayers().getArray().forEach(A=>{VJ(r,A)}):t.setVisible(c))}t.getLayers&&t.getVisible()&&!t.getLayers()?.getArray().find(o=>o.getVisible())&&t.setVisible(!1)},HR=VJ;var im1=(r,t,e)=>{let i=b3(!1),o=b3(km(e)?.layers);return N2(()=>{if(!r)return;let n=t;o.current!==null&&o.current!==void 0&&!i.current&&(n=o.current,i.current=!0),u4(r.getLayers().getArray()).reverse().forEach(L=>{HR(n,L)});let A=r.getLayers().on("add",L=>{HR(n,L.element)});return()=>{N5(A)}},[r,t]),null},GJ=im1;var jJ=["mwc:permalink","mwc:selectedfeature","mwc:singleclick","mwc:attribute"];function nm1({eventNode:r}){let{setPreviewNotifications:t}=dt();return N2(()=>{let e=i=>{i.data.situations&&t(i.data.situations)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t]),N2(()=>{if(!r)return;let e=i=>{i.type==="mwc:attribute"&&delete i.data.children,i.type==="mwc:selectedfeature"&&i.data?.properties?.olGeometry&&delete i.data.properties.olGeometry,window.parent?.postMessage({data:i.data,type:i.type},"*")};return jJ.forEach(i=>{r.addEventListener(i,e)}),window.parent?.postMessage({data:!0,type:"mwc:messageready"},"*"),()=>{jJ.forEach(i=>{r.removeEventListener(i,e)})}},[r]),null}var VR=W2(nm1);var om1='<a href="https://developer.geops.io/">geOps API key</a>',qJ='<a href="https://developer.geops.io/apis/maps">geOps Maps API</a>',am1='<a href="https://developer.geops.io/apis/stops">geOps Stops API</a>',GR='<a href="https://geops.com/en/solution/disruption-information">geOps MOCO API</a>',X_='<a href="https://geops.com/en/solution/mapset">geOps Mapset API</a>',Y_='<a href="https://developer.geops.io/apis/realtime">geOps Realtime API</a>',sm1={apikey:{defaultValue:"5cc87b12d7c5370001c1d655820abcc37dfd4d968d7bab5b2a74a935",description:`Your ${om1}`,public:!1},baselayer:{defaultValue:"de.rvf_moco",description:`The style's name from the ${qJ}. <br/>Ex: base_dark_v2, base_bright_v2, ...`,public:!1},center:{description:"The center of the map in EPSG:3857 coordinates.<br/>Parameter required if extent is not set.",public:!0},details:{defaultValue:"true",description:"When a feature of a queryable layer is clicked, it displays informations about it.",public:!0,type:"boolean"},embed:{defaultValue:"false",description:"Toggle the embedded navigation mode.<br/>In this mode zooming with mouse wheel is deactivated and, on touch device, you can only navigate with two finger, a warning message is displayed to warn the user.",public:!0,type:"boolean"},extent:{defaultValue:sp.join(","),description:"The map's extent in EPSG:3857 coordinates.<br/>Ex: 831634,5933959,940649,6173660 .<br/>Parameter required if center and zoom are not set.",public:!0},geolocation:{defaultValue:"true",description:"Toggle the display of the geolocation button or not.",public:!0,type:"boolean"},lang:{defaultValue:"de",description:"The language to use for the map. Supported languages are : de, en, fr, it.",public:!0},layers:{defaultValue:null,description:`A comma separated list of layers's name to make visible on load, others are hidden. If empty, all layers will be hidden except the baselayer.<br/>Layers available are ${Object.values(Tt).join(", ")}.`,public:!0},layersconfig:{description:`A JSON string to configure the layers and other components associated to it.<br/>
|
|
1550
|
+
}`;function vg1({options:r,...t}){let{map:e}=dt(),[i,o]=lt(),n=Mt(()=>i?new _U({target:i,...r}):null,[r,i]);return N2(()=>{if(!(!e||!n))return e.addControl(n),()=>{e&&n&&e.removeControl(n)}},[e,n]),q("div",{ref:c=>{o(c)},...t,children:q("style",{children:SJ})})}var bR=vg1;function yg1({...r}){let{isSearchOpen:t,setIsSearchOpen:e}=dt(),{t:i}=C5(),o=V5(()=>{e(!t)},[t,e]);return q(t3,{title:i("search_menu_title"),...r,onClick:o,selected:t,children:q(iu,{})})}var MR=W2(yg1);function _g1({...r}){return q("svg",{fill:"none",height:24,stroke:"currentColor",strokeWidth:1.5,viewBox:"0 0 24 24",width:24,xmlns:"http://www.w3.org/2000/svg",...r,children:q("path",{d:"M7.217 10.907a2.25 2.25 0 1 0 0 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186 9.566-5.314m-9.566 7.5 9.566 5.314m0 0a2.25 2.25 0 1 0 3.935 2.186 2.25 2.25 0 0 0-3.935-2.186Zm0-12.814a2.25 2.25 0 1 0 3.933-2.185 2.25 2.25 0 0 0-3.933 2.185Z",strokeLinecap:"round",strokeLinejoin:"round"})})}var BR=_g1;function xg1({...r}){let{isShareMenuOpen:t,setIsShareMenuOpen:e}=dt(),{t:i}=C5(),o=V5(()=>{e(!t)},[t,e]);return q(t3,{title:i("share_menu_title"),...r,onClick:o,selected:t,children:q(BR,{})})}var SR=W2(xg1);function wg1(r){let{baseLayer:t,map:e,setStationsLayer:i}=dt(),o=Mt(()=>t?new M3({layersFilter:({metadata:n})=>n?.["tralis.variable"]==="station"||n?.["general.filter"]==="stations"||n?.["geops.filter"]==="netzplan_stops",maplibreLayer:t,name:Bm,...r||{}}):null,[t,r]);return N2(()=>{if(!(!e||!o))return e.addLayer(o),i(o),()=>{e.removeLayer(o)}},[e,i,o]),null}var EJ=W2(wg1);var bg1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations",minZoom:10});function Mg1(r){return q(EJ,{...bg1,...r})}var Qd=W2(Mg1);function Bg1(r){return q("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:q("path",{d:"M19,10.9999 C19.5522847,10.9999 20,11.4476153 20,11.9999 C20,12.5521847 19.5522847,12.9999 19,12.9999 L5,12.9999 C4.44771525,12.9999 4,12.5521847 4,11.9999 C4,11.4476153 4.44771525,10.9999 5,10.9999 L19,10.9999 Z"})})}var ER=Bg1;function Sg1(r){return q("svg",{fill:"currentColor",height:"24px",version:"1.1",viewBox:"0 0 24 24",width:"24px",xmlns:"http://www.w3.org/2000/svg",...r,children:q("path",{d:"M12,4 C12.5522847,4 13,4.44771525 13,5 L13,11 L19,11 C19.5128358,11 19.9355072,11.3860402 19.9932723,11.8833789 L20,12 C20,12.5522847 19.5522847,13 19,13 L13,13 L13,19 C13,19.5128358 12.6139598,19.9355072 12.1166211,19.9932723 L12,20 C11.4477153,20 11,19.5522847 11,19 L11,13 L5,13 C4.48716416,13 4.06449284,12.6139598 4.00672773,12.1166211 L4,12 C4,11.4477153 4.44771525,11 5,11 L11,11 L11,5 C11,4.48716416 11.3860402,4.06449284 11.8833789,4.00672773 Z"})})}var TR=Sg1;function Eg1(){let{map:r}=dt(),[t,e]=lt(!1),[i,o]=lt(!1),{t:n}=C5(),c=V5(()=>{if(!r?.getView())return;let L=r.getView(),g=L.getZoom();L.setZoom(g+1)},[r]),A=V5(()=>{if(!r?.getView())return;let L=r.getView(),g=L.getZoom();L.setZoom(g-1)},[r]);return N2(()=>{let L=r?.on("moveend",()=>{let g=r.getView(),v=g.getZoom(),S=g.getMaxZoom(),I=g.getMinZoom();S&&v===Number(S)?e(!0):e(!1),I&&v===Number(I)?o(!0):o(!1)});return()=>{N5(L)}},[r]),q(Re,{children:[q(t3,{disabled:t,onClick:c,title:n("zoomin"),children:q(TR,{})}),q(t3,{disabled:i,onClick:A,title:n("zoomout"),children:q(ER,{})})]})}var IR=W2(Eg1);var TJ={style:{width:"calc(100% - 60px)"}},Tg1=()=>({layersFilter:({metadata:r})=>r?.["general.filter"]==="stations"});function Ig1({className:r,...t}){let{hasDetails:e,hasGeolocation:i,hasLayerTree:o,hasPrint:n,hasRealtime:c,hasSearch:A,hasShare:L,hasToolbar:g,isEmbed:v,isOverlayOpen:S,isSearchOpen:I,mainlink:B}=dt();return q("div",{className:Kt("relative flex size-full flex-col text-base @lg/main:flex-row-reverse",r),...t,children:[q(gR,{}),q(Qd,{...Tg1}),q(wR,{}),q(mR,{}),q(CR,{}),q(xR,{}),q(KS,{className:"relative flex-1 overflow-visible",children:[v&&q(US,{}),B&&q(pR,{className:"absolute inset-x-2 bottom-8 z-10"}),q("div",{className:"pointer-events-none absolute inset-x-2 bottom-2 z-10 flex items-end justify-between gap-2 text-[10px]",children:[q(bR,{className:"bg-slate-50/70"}),q(zm,{className:"pointer-events-auto bg-slate-50/70"})]}),q("div",{className:"absolute top-2 right-2 z-10 flex",children:i&&q(GS,{})}),q("div",{className:"absolute right-2 bottom-10 z-10 flex flex-col justify-between gap-2",children:q(IR,{})}),!g&&A&&q("div",{className:Kt("absolute top-2 right-2 left-2 z-10 max-w-96",S&&"@lg:left-68"),children:q(nu,{})})]}),q("div",{className:"pointer-events-none absolute top-2 bottom-2 left-2 z-10 flex flex-col gap-2",children:[g&&q("div",{className:"pointer-events-none relative z-10 w-fit rounded-2xl bg-black/10 p-0 backdrop-blur-sm *:pointer-events-auto",children:[A&&q("div",{className:Kt("absolute top-12 left-0 w-0 p-0 opacity-0 transition-all @sm:top-0 @sm:left-[calc(100%-43px)] @md:left-[calc(100%-47px)]",I?"w-64 opacity-100":""),children:q(nu,{className:"border-grey @container m-0 h-[40px] rounded-2xl border p-2 px-4 text-base @sm/main:h-[44px] @sm/main:rounded-l-none @sm/main:rounded-r-2xl @md/main:h-[48px]",inputClassName:"h-6 text-base",inputContainerClassName:"border-none",resultClassName:"text-base **:hover:cursor-pointer hover:text-red-500 p-2",resultsContainerClassName:"@container rounded-b-2xl max-h-[200px] overflow-y-auto border border-grey border-t-0 ",withResultsClassName:"text-base !rounded-b-none"})}),q("div",{className:Kt("border-grey relative flex gap-[1px] overflow-hidden rounded-2xl border @sm/main:h-[44px] @md/main:h-[48px]","*:size-[38px] *:rounded-none *:border-none *:@sm/main:size-[42px] *:@md/main:!size-[46px]","*:first:!rounded-l-2xl","*:last:!rounded-r-2xl",I?"@sm:rounded-r-none @sm:border-r-0 @sm:*:last:!rounded-r-none @sm:*:last:border-r-0":""),children:[o&&q(qS,{}),n&&q(HS,{}),L&&q(SR,{}),A&&q(MR,{})]})]}),S&&q("div",{className:Kt("pointer-events-none flex w-0 flex-1 flex-col overflow-hidden rounded-2xl @lg:min-w-[320px]"),style:{containerType:"normal"},children:q(Om,{className:"border-grey @container/overlay pointer-events-auto relative hidden flex-col overflow-hidden rounded-2xl border bg-white text-base shadow-lg @lg:flex",ScrollableHandlerProps:TJ,children:q(V_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:c,hasSearch:!1,hasShare:L})})})]}),S&&q(Om,{className:"absolute bottom-0 z-20 flex max-h-[70%] min-h-[75px] w-full flex-col border-t bg-white @lg:hidden",ScrollableHandlerProps:TJ,children:q(V_,{hasDetails:e,hasLayerTree:o,hasPrint:n,hasRealtime:c,hasSearch:!1,hasShare:L})})]})}var W_=W2(Ig1);var Fg1=(r,t)=>{let e=t?.getView()?.getZoom(),i=r.get("minZoom"),o=r.get("maxZoom");return i>e||e>o};function Pg1(r){let{apikey:t,baseLayer:e,map:i,mapsetplanid:o,mapsettags:n,mapsettenants:c,mapsettimestamp:A,mapseturl:L,setMapsetLayer:g}=dt(),v=Mt(()=>!e||!i?null:new rS({apiKey:t,name:Em,planId:o??void 0,tags:n?.split(",").map(S=>S.trim()),tenants:c?.split(",").map(S=>S.trim()),timestamp:A,url:L,...r||{}}),[e,i,t,L,o,n,c,A,r]);return N2(()=>{g?.(v)},[v,g,i]),N2(()=>{if(!(!i||!v))return i.addLayer(v),()=>{i.removeLayer(v)}},[i,v]),N2(()=>{let S=null;return v&&(S=v.on("updatefeatures",()=>{let I=v.getSource()?.getFeatures();I?.length&&I.forEach(B=>{let R=B.getStyleFunction();R&&B.setStyle((H,V)=>Fg1(H,v.getMapInternal())?null:R(B,V))})})),()=>{N5(S)}},[v]),null}var FR=W2(Pg1);function Rg1(r){let{apikey:t,baseLayer:e,linesNetworkPlanLayer:i,map:o,notificationat:n,notificationtenant:c,notificationurl:A,previewNotifications:L,setNotificationsLayer:g}=dt(),[v,S]=lt(!!i?.getVisible()),I=Mt(()=>{if(!e)return null;let B=new aS({apiKey:t,apiParameters:{contentMedium:!0,isEdited:!0,publicNow:!0},maplibreLayer:e,name:Sm,publicAt:n?new Date(n):void 0,situations:L,tenant:c,url:A,...r||{},loadAll:!L});return L&&!B.getVisible()&&B.setVisible(!0),B},[e,t,n,L,c,A,r]);return N2(()=>{g?.(I)},[I,g]),N2(()=>{if(!(!o||!I))return o.addLayer(I),()=>{o.removeLayer(I)}},[o,I]),N2(()=>{let B=i?.on("change:visible",()=>{let R=i.getVisible();S(R)});return S(i?.getVisible()||!1),()=>{N5(B)}},[i]),N2(()=>{if(!I)return;let B=I.getVisible();return B&&I.setVisible(!1),v?I.layersFilter=R=>R.metadata?.["general.filter"]==="moco.lnp":I.layersFilter=R=>R.metadata?.["general.filter"]==="moco",I.setVisible(B),()=>{I.applyLayoutVisibility()}},[v,I,i]),null}var PR=W2(Rg1);var FJ=Jr(B4(),1);var Dg1=(r,t=new URLSearchParams)=>{let e=r.getView().getZoom(),[i,o]=r.getView().getCenter()||[],n=u4(r.getLayers().getArray()).filter(c=>c.get("name")&&c.getVisible()).map(c=>c.get("name"));return t.set("layers",n.join(",")),i>=0&&t.set("x",i.toFixed(2)),o>=0&&t.set("y",o.toFixed(2)),e>=0&&t.set("z",e.toFixed(1)),t},IJ=Dg1;var zg1=({replaceState:r=!1})=>{let{map:t,setPermalinkUrlSearchParams:e}=dt(),i=Ud(),o=V5(n=>{if(t.get(Oo))return;let c=new URLSearchParams(window.location.search),A=IJ(n,c);e(A)},[t,e]);return N2(()=>{r&&i&&i!==window.location.href&&!i.includes(encodeURIComponent("{{"))&&window.history.replaceState(null,null,i)},[t,i,r]),N2(()=>{let n,c,A,L=(0,FJ.default)(o,1e3);return t&&(L(t),n=t?.on("moveend",g=>{L(g.map)}),c=t.once("loadend",g=>{L(g.map),A=u4(g.map.getLayers().getArray()).map(v=>v.on("change:visible",()=>{L(g.map)}))})),()=>{N5(n),N5(c),N5(A)}},[t,o]),null},RR=W2(zg1);var kg1=async(r,t,e=0,i=!0)=>{if(!r)return Promise.reject(new Error("No vehicle provided"));let{geometry:o,properties:{coordinate:n}}=r,c=t.getView(),A=e||c.getZoom(),L=A>0?c.getResolutionForZoom(A):void 0,g=n?[...n]:null;if(!g&&o){let{coord:S}=yf(Date.now(),r,!0);g=S?[...S]:null}return g?(i&&(g[0]-=320/2*L),c.cancelAnimations(),new Promise(S=>{c.animate({center:g,duration:1e3,easing:Pg,resolution:L},I=>{S(I)})})):Promise.reject(new Error("No center found"))},DR=kg1;var Og1=(r,t,e,i,o)=>i?o?"#dc2626":"#a0a0a0":e===null?"transparent":FL(e,o),PJ=Og1;var Ng1=(r,t,e,i=!1)=>{if(i)return String.fromCodePoint(215);let o=PL(e);return o==="0"?"":`+${o}`},RJ=Ng1;var DJ=16,Zg1=!0,Ug1=new Y0;function Qg1(r){let{apikey:t,baseLayer:e,isFollowing:i,isTracking:o,linesNetworkPlanLayer:n,map:c,mots:A,realtimebboxparameters:L,realtimeurl:g,setIsFollowing:v,setIsTracking:S,setRealtimeLayer:I,tenant:B,trainId:R}=dt(),[H,V]=lt([]),[G,e1]=lt(!1),i1=Mt(()=>!t||!g?null:new fS({apiKey:t,bboxParameters:L?.split(" ").reduce((L1,w1)=>{if(!w1)return L1;let[S1,y1]=w1.split("=");return L1[S1]=y1,L1},{}),getMotsByZoom:A?()=>A.split(","):void 0,isQueryable:!0,minZoom:5,name:Mm,tenant:B,url:g,zIndex:1,...r,styleOptions:{getColor:Id,getDelayColor:PJ,getDelayText:RJ,getText:C_,getTextColor:p_,getTextFont:L_,...r?.styleOptions||{}}}),[t,g,L,A,B,r]);return N2(()=>{if(!(!c||!i1))return c.getView()?.getCenter()?c.addLayer(i1):c.once("moveend",()=>{c.addLayer(i1)}),I(i1),()=>{c.removeLayer(i1),I(null)}},[c,I,i1]),N2(()=>{R||v(!1)},[R,v]),N2(()=>{let r1=[];return o&&v(!1),()=>{N5(r1)}},[o,v]),N2(()=>{if(!c)return;let r1=null;return r1=c.getView().on("change:center",L1=>{L1.target.getInteracting()&&(v(!1),S(!1))}),()=>{N5(r1)}},[c,v,S]),N2(()=>{let r1=null;return i1&&(i1.engine.useThrottle=!i,i1.engine.isUpdateBboxOnMoveEnd=!i,i1.allowRenderWhenAnimating=!!i),!i||!R||!c||!i1?void 0:(S(!1),(async w1=>{let S1=w1&&i1?.trajectories?.[w1];if(!S1){S1=(await i1.api.getTrajectory(R,i1.mode))?.content;let H1=await i1.api.getFullTrajectory(R,i1.mode,void 0);if(H1?.content)try{let c1=Ug1.readFeatures(H1.content),g1=new Pa({features:c1}).getExtent();i1.api.bbox=[...g1,...i1.api.bbox.slice(4)]}catch(c1){console.warn("Error parsing full trajectory feature:",c1,H1?.content)}}await DR(S1,c,DJ)===!0&&(r1=setInterval(()=>{DR(i1?.trajectories?.[R],c,DJ)},1e3))})(R),()=>{clearInterval(r1)})},[i,c,i1,R,S]),N2(()=>{if(!(!R||!i1?.api))return i1.selectedVehicleId=R,i1.highlightTrajectory(R).catch(r1=>{console.error("Error highlighting trajectory:",r1)}),()=>{i1?.selectedVehicleId&&(i1.api?.unsubscribeFullTrajectory(i1.selectedVehicleId),i1.selectedVehicleId=null,i1.vectorLayer.getSource().clear())}},[R,i1,i1?.api]),N2(()=>{if(!c||!e)return;let r1=c.once("rendercomplete",()=>{let L1=e.mapLibreMap?.getStyle()?.metadata,w1=[];for(let S1=0;S1<26;S1++)w1.push(zh(S1,L1?.graphs));V(w1)});return()=>{N5(r1)}},[c,e,i1]),N2(()=>{let r1=n?.on("change:visible",()=>{let L1=n.getVisible();e1(L1)});return e1(n?.getVisible()||!1),()=>{N5(r1)}},[n]),N2(()=>{!i1||!H?.length||(Zg1&&G?i1.engine.graphByZoom=H:i1.engine.graphByZoom=[],i1.engine.setBbox())},[G,i1,H,n]),null}var zJ=W2(Qg1);var Hg1=new J0({image:new V9({fill:new r6({color:"#000000"}),radius:5}),stroke:new pi({color:"#000000",width:6}),zIndex:2}),Vg1=r=>{let t="#ffffff",e=r.get("type"),i=r.get("stroke");return i&&i[0]!=="#"&&(i=`#${i}`),t=i||Td(e,{name:r.get("line_name")}),t=/#ffffff/i.test(t)?"#ff0000":t,[Hg1,new J0({image:new V9({fill:new r6({color:t}),radius:4}),stroke:new pi({color:t,width:4}),zIndex:3})]},kJ=Vg1;var Gg1={0:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],1:[0,0,0,0,0,2,2,2,2,2,3,3,4,4,6,7,7],2:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15],3:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],4:[0,0,0,0,0,2,2,2,2,2,2,3,3,6,7,12,15],5:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],6:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],7:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,7,7],8:[0,0,0,0,0,2,2,2,2,2,2,3,3,4,6,6,6],9:[0,0,0,0,0,2,2,2,2,3,3,4,4,6,7,12,15]},jg1=Gg1,OJ=(r=0,t=0,e=!1)=>{let i=Math.min(Math.floor(t||1),16);try{let o=_n.getTypeIndex(r);return jg1[o][i]*(e?2:1)}catch{return 1}};var NJ='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 42 42" width="42" height="42">%0A <path id="Pfad_1" data-name="Pfad 1" d="M40,20A20,20,0,1,1,20,0,20,20,0,0,1,40,20Z" transform="translate(0 0)" fill="%23353535"/>%0A <path id="Pfad_2" data-name="Pfad 2" d="M25.481,11.843a9.993,9.993,0,0,0-10,9.992c0,7.773,10,14.8,10,14.8s9.992-7.5,9.992-14.8a9.991,9.991,0,0,0-9.992-9.992m0,14.662a4.924,4.924,0,1,1,4.924-4.924A4.93,4.93,0,0,1,25.482,26.5" transform="translate(-5.477 -4.19)" fill="%23fff"/>%0A <path id="Pfad_3" data-name="Pfad 3" d="M12.015,8.124,38.081,34.031,35.4,36.536,9.06,10.527Z" transform="translate(-3.206 -2.874)" fill="%23ec0016"/>%0A <path id="Pfad_4" data-name="Pfad 4" d="M20,3.231A16.769,16.769,0,1,1,3.231,20,16.788,16.788,0,0,1,20,3.231M20,0A20,20,0,1,0,40,20,20,20,0,0,0,20,0" transform="translate(0 0)" fill="%23353535"/>%0A</svg>%0A';var zR={},ZJ=new Image(42,42);ZJ.src=NJ;var Kg1=(r,t)=>{let e=16;r>e&&(e=22);let i=`${e},${t}`;if(!zR[i]){let o=l8(e*t,e*t),n=o.getContext("2d");if(!n)return null;n.drawImage(ZJ,0,0,e*t,e*t),zR[i]=o}return zR[i]},kR={},Wg1=(r,t,e)=>{let i=`${r}, ${t}, ${e}`;if(!kR[i]){let o=l8(r*2,r*2);if(o){let n=o.getContext("2d");if(!n)return null;n.beginPath(),n.arc(r,r,t,0,2*Math.PI,!1),n.fillStyle=e,n.filter="blur(1px)",n.fill(),kR[i]=o}}return kR[i]},OR={},$g1=(r,t,e,i,o="#000",n=1)=>{let c=`${r}, ${e}, ${i}, ${o}, ${n}`;if(!OR[c]){let A=l8(Math.ceil(r.length*t),Math.ceil(t+8*n));if(A){let L=A.getContext("2d");if(!L)return null;L.font=e,L.textAlign="left",L.textBaseline="middle",L.font=e,L.fillStyle=i,L.strokeStyle=o,L.lineWidth=1.5*n,L.strokeText(r,0,t),L.fillText(r,0,t),OR[c]=A}}return OR[c]},NR={},Xg1=(r,t,e,i,o,n)=>{let c=`${r}, ${t}, ${e}, ${i}, ${o}, ${n}`;if(!NR[c]){let A=l8(r*2,r*2);if(A){let L=A.getContext("2d");if(!L)return null;L.fillStyle=e,i&&(L.lineWidth=1*n,L.strokeStyle="#000000"),L.beginPath(),L.arc(r,r,t,0,2*Math.PI,!1),L.fill(),o&&L.setLineDash([5,3]),i&&L.stroke(),NR[c]=A}}return NR[c]},ZR={},Yg1=(r,t,e,i,o,n,c,A,L,g)=>{let v=`${e}, ${i}, ${o}, ${n},${c}, ${A}, ${L}`;if(!ZR[v]){let S=l8(i*2,i*2);if(S){let I=S.getContext("2d");if(!I)return null;A&&(I.save(),I.textBaseline="middle",I.textAlign="center",I.font=g(r,t,o+2,e),I.strokeStyle=c,I.strokeText(e,i,i),I.restore()),I.textBaseline="middle",I.textAlign="center",I.fillStyle=n,I.font=g(r,t,o,e),I.strokeStyle=c,I.strokeText(e,i,i),I.fillText(e,i,i),ZR[v]=S}}return ZR[v]},UR={},Jg1=(r,t,e)=>{let{delayDisplay:i=3e5,delayOutlineColor:o="#000",getColor:n=()=>"#000",getDelayColor:c=()=>"#000",getDelayFont:A=(M2,f1,R1)=>`bold ${R1}px arial, sans-serif`,getDelayText:L=()=>null,getMaxRadiusForStrokeAndDelay:g=()=>7,getMaxRadiusForText:v=()=>10,getRadius:S=()=>0,getText:I=M2=>M2?.properties?.line?.name||"I",getTextColor:B=()=>"#000",getTextFont:R=(M2,f1,R1)=>`bold ${R1}px arial, sans-serif`,getTextSize:H=()=>14,hoverVehicleId:V,selectedVehicleId:G,useDelayStyle:e1}=e,{pixelRatio:i1=1}=t,{type:r1}=r.properties,{delay:L1,has_realtime_journey:w1,line:S1,operator_provides_realtime_journey:y1,state:C1,train_id:H1}=r.properties,{color:c1,name:g1,text_color:Z1}=S1||{};g1=I(r,t);let V1=C1==="JOURNEY_CANCELLED";g1||(g1="I"),Z1=B(r,t),c1=n(r,t),c1&&!c1.startsWith("#")&&(c1=`#${c1}`),Z1.startsWith("#")||(Z1=`#${Z1}`);let l2=!!(V&&V===H1),p2=!!(G&&G===H1),J1=S(r,t)*i1,G1=J1>=g()*i1;(l2||p2)&&(J1=G1?J1+5*i1:14*i1);let L2=J1>v()*i1,D2=`${J1}${l2||p2}${w1}`;if(e1?D2+=`${y1}${L1}${V1}`:(D2+=`${c1||r1}`,G1&&(D2+=`${V1}${L1}`)),L2&&(D2+=`${g1}${Z1}`),!UR[D2]){if(J1===0)return null;let M2=1*i1,f1=J1+2*i1,R1=J1*2,D1=f1*2+M2*2,t2=D1/2,c2=null;G1&&L1!==null&&(c2=Wg1(t2,f1,c(r,t,L1,V1)));let o2=null,T2=0;if(G1&&(l2||(L1||0)>=i||V1)){T2=Math.max(V1?19:14,Math.min(V1?19:17,J1*1.2))*i1;let It=L(r,t,L1,V1);It&&(o2=$g1(It,T2,A(r,t,l2||t.zoom>=13?T2:0,It),c(r,t,L1,V1,!0),o,i1))}let F2=null,z2;e1?z2=c(r,t,L1,V1):z2=c1||n(r,t);let U2=G1||l2||p2,X2=!!G1&&!!e1&&L1===null&&y1==="yes",tt=!!U2&&L2&&!w1&&!V1;tt&&(F2=Kg1(J1,i1));let ft=Xg1(t2,J1,z2,U2,X2,i1),P1=o2?.width||tt&&F2.width/2||0,st=tt&&F2.height/2||0,Zt=D1+P1*2,Ht=D1+st*2,$2=l8(Zt,Ht);if($2){let It=$2.getContext("2d");if(!It)return null;let pt=P1,mt=st;c2&&It.drawImage(c2,pt,mt),ft&&It.drawImage(ft,pt,mt);let bt=null;if(L2){let kt=Math.max(J1,10),Xt=H(r,t,It,R1,g1,kt,R(r,t,kt,g1)),Gt=e1?"#000000":Z1||B(r,t);bt=Yg1(r,t,g1,t2,Xt,Gt,z2,!!e1&&L1===null&&y1==="yes",i1,R)}bt&&It.drawImage(bt,pt,mt),o2&&It.drawImage(o2,pt+Math.ceil(t2+f1)+M2,mt+Math.ceil(t2-T2)),tt&&It.drawImage(F2,pt-F2.width/4,mt-F2.height/4),UR[D2]=$2}}return UR[D2]},UJ=Jg1;var QJ={bus:25,coach:15,train:30,tram:20},tm1={fullTrajectoryStyle:kJ,getMotsByZoom:r=>r<9?["rail"]:null,sort:({properties:{delay:r,type:t}},{properties:{delay:e,type:i}})=>t!==i?QJ[t]<QJ[i]?-1:1:r===e?0:r<e?-1:1,style:UJ,styleOptions:{getColor:r=>Td(r?.properties?.type,r?.properties?.line),getMaxRadiusForStrokeAndDelay:()=>4,getMaxRadiusForText:()=>8,getRadius:(r,t)=>OJ(r?.properties?.type,t?.zoom),getTextColor:r=>f_(r?.properties?.type)}};function em1(r){return q(zJ,{...tm1,...r})}var $_=W2(em1);var HJ=Jr(B4(),1);function rm1({debounceOptions:r,debounceTimeout:t=150,hover:e=!0}){let{map:i,mots:o,queryablelayers:n,setFeaturesInfos:c,setFeaturesInfosHovered:A,setLinesIds:L,setNotificationId:g,setStationId:v,setTrainId:S,stationsLayer:I,tenant:B}=dt(),R=V5(async G=>{let e1=G.map.getAllLayers().filter(r1=>n.split(",").includes(r1.get("name"))),i1=await pS(G.coordinate,e1,5,!0);if(I){let r1=i1?.find(S1=>S1.layer===I),L1=r1?.features||[],[w1]=L1.filter(S1=>{let y1=!1;return o?.split(",")?.length>0&&(y1=!!o.split(",").find(C1=>{if(S1.get(C1.trim().toLowerCase())===1)return!0})),!S1.get("uid")&&S1.get("external_id")&&S1.set("uid",S1.get("external_id")),y1?!!S1.get("tralis_network")?.includes(B):S1.get("network")?S1.get("network").toLowerCase().includes(B):y1});r1&&(r1.features=w1?[w1]:[])}return i1},[o,n,I,B]),H=V5(async G=>{let e1=await R(G);A(e1);let i1=e1.flatMap(r1=>r1.features);G.map.getTargetElement().style.cursor=i1?.length?"pointer":"default"},[R,A]),V=V5(async G=>{let e1=await R(G);c(e1),e1?.flatMap(i1=>i1.features).length===0&&(S(null),v(null),g(null),L(null))},[R,c,L,g,v,S]);return N2(()=>{let G=i?.on("singleclick",V);return()=>{N5(G)}},[i,V]),N2(()=>{let G;if(e){let e1=H;t&&(e1=(0,HJ.default)(H,t,r)),G=i?.on("pointermove",e1)}return()=>{N5(G)}},[r,t,e,i,H]),null}var QR=rm1;var VJ=(r,t)=>{if(!!t.get("name")&&r!=null){let o=r?.split(",")||[],n=t.get("name"),c=o.includes(n);t.getVisible()!==c&&(t.getLayers?t.getLayers().getArray().forEach(A=>{VJ(r,A)}):t.setVisible(c))}t.getLayers&&t.getVisible()&&!t.getLayers()?.getArray().find(o=>o.getVisible())&&t.setVisible(!1)},HR=VJ;var im1=(r,t,e)=>{let i=b3(!1),o=b3(km(e)?.layers);return N2(()=>{if(!r)return;let n=t;o.current!==null&&o.current!==void 0&&!i.current&&(n=o.current,i.current=!0),u4(r.getLayers().getArray()).reverse().forEach(L=>{HR(n,L)});let A=r.getLayers().on("add",L=>{HR(n,L.element)});return()=>{N5(A)}},[r,t]),null},GJ=im1;var jJ=["mwc:permalink","mwc:selectedfeature","mwc:singleclick","mwc:attribute"];function nm1({eventNode:r}){let{setPreviewNotifications:t}=dt();return N2(()=>{let e=i=>{i.data.situations&&t(i.data.situations)};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[t]),N2(()=>{if(!r)return;let e=i=>{i.type==="mwc:attribute"&&delete i.data.children,i.type==="mwc:selectedfeature"&&i.data?.properties?.olGeometry&&delete i.data.properties.olGeometry,window.parent?.postMessage({data:i.data,type:i.type},"*")};return jJ.forEach(i=>{r.addEventListener(i,e)}),window.parent?.postMessage({data:!0,type:"mwc:messageready"},"*"),()=>{jJ.forEach(i=>{r.removeEventListener(i,e)})}},[r]),null}var VR=W2(nm1);var om1='<a href="https://developer.geops.io/">geOps API key</a>',qJ='<a href="https://developer.geops.io/apis/maps">geOps Maps API</a>',am1='<a href="https://developer.geops.io/apis/stops">geOps Stops API</a>',GR='<a href="https://geops.com/en/solution/disruption-information">geOps MOCO API</a>',X_='<a href="https://geops.com/en/solution/mapset">geOps Mapset API</a>',Y_='<a href="https://developer.geops.io/apis/realtime">geOps Realtime API</a>',sm1={apikey:{defaultValue:"5cc87b12d7c5370001c1d655820abcc37dfd4d968d7bab5b2a74a935",description:`Your ${om1}`,public:!1},baselayer:{defaultValue:"de.rvf_moco",description:`The style's name from the ${qJ}. <br/>Ex: base_dark_v2, base_bright_v2, ...`,public:!1},center:{description:"The center of the map in EPSG:3857 coordinates.<br/>Parameter required if extent is not set.",public:!0},details:{defaultValue:"true",description:"When a feature of a queryable layer is clicked, it displays informations about it.",public:!0,type:"boolean"},embed:{defaultValue:"false",description:"Toggle the embedded navigation mode.<br/>In this mode zooming with mouse wheel is deactivated and, on touch device, you can only navigate with two finger, a warning message is displayed to warn the user.",public:!0,type:"boolean"},extent:{defaultValue:sp.join(","),description:"The map's extent in EPSG:3857 coordinates.<br/>Ex: 831634,5933959,940649,6173660 .<br/>Parameter required if center and zoom are not set.",public:!0},geolocation:{defaultValue:"true",description:"Toggle the display of the geolocation button or not.",public:!0,type:"boolean"},lang:{defaultValue:"de",description:"The language to use for the map. Supported languages are : de, en, fr, it.",public:!0},layers:{defaultValue:null,description:`A comma separated list of layers's name to make visible on load, others are hidden. If empty, all layers will be hidden except the baselayer.<br/>Layers available are ${Object.values(Tt).join(", ")}.`,public:!0},layersconfig:{description:`A JSON string to configure the layers and other components associated to it.<br/>
|
|
1551
1551
|
The layers available are : ${bZ.toString()}.<br/>
|
|
1552
1552
|
Definition for a layer :
|
|
1553
1553
|
<pre style="font-size: 12px; overflow: auto;">{
|