@idmwx/idmui-gl4 3.9.6 → 3.9.7
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/dist/{chunk-3VYIPD3A-24ad3023.js → chunk-3VYIPD3A-ed4bf68b.js} +1 -1
- package/dist/{chunk-ANSXOGKI-a767a2ef.js → chunk-ANSXOGKI-d35685a0.js} +1 -1
- package/dist/{chunk-T4JIPPZO-2877877c.js → chunk-T4JIPPZO-5edd0671.js} +1 -1
- package/dist/{download-ab84e805.js → download-0b42c1b2.js} +3 -3
- package/dist/{index-f5930426.js → index-e1b323d5.js} +20 -19
- package/dist/index.js +1 -1
- package/dist/index.umd.cjs +2 -2
- package/dist/mapbox/src/components/timePicker/timePicker.vue.d.ts +3 -1
- package/dist/{rasterize-JS5G2XHH-ef4de766.js → rasterize-JS5G2XHH-f5dd9913.js} +3 -3
- package/dist/{toBlob-c01e1e2b.js → toBlob-269352b2.js} +3 -3
- package/dist/{toCanvas-cb314a1f.js → toCanvas-5adb25d5.js} +2 -2
- package/dist/{toImg-27ca69b4.js → toImg-451b355c.js} +3 -3
- package/package.json +1 -1
package/dist/index.umd.cjs
CHANGED
|
@@ -634,7 +634,7 @@ ${a==="fragment"?`out vec4 fragColor;
|
|
|
634
634
|
<path
|
|
635
635
|
d="M420.66666667 959.17a16.08 16.08 0 0 1-15.91-13.49A15.89 15.89 0 0 1 415.50666667 928c1.49-0.55 38.88-14.76 72.79-65.52A354.55 354.55 0 0 1 162.66666667 509.17a450.14 450.14 0 0 1 450.5-450.5 16.07 16.07 0 0 1 15.91 13.48 15.88 15.88 0 0 1-10.75 17.66c-1.58 0.58-39.13 14.9-73.07 65.95A354.22 354.22 0 0 1 871.66666667 509.17a16 16 0 0 1-0.52 4.05A450.14 450.14 0 0 1 420.66666667 959.17zM554.80666667 94.72C351.57666667 123.2 194.66666667 298.21 194.66666667 509.17c0 177.08 144.06 321.74 321.13 322.48a16 16 0 0 1 14.07 23.49c-16.11 30.42-34.27 52.37-50.85 68C682.25666667 894.63 839.16666667 719.63 839.16666667 508.67a15.94 15.94 0 0 1 0.47-3.86C837.30666667 329.33 693.82666667 187 517.80666667 186.67A16 16 0 0 1 503.66666667 163.21c16.21-30.69 34.47-52.79 51.14-68.49z"
|
|
636
636
|
fill="#ffffff" p-id="18386"></path>
|
|
637
|
-
</svg>`,he=document.createElement("div");he.className="idm-tropical-gl4-hourly-marker",he.innerHTML=`<div class="${V.geometry.coordinates[1]>=0?"center north":"center south"}">${ee}</div>`;const ge=new pe.Marker(he).setLngLat(V.geometry.coordinates).addTo(this.map);this.interpolateMarkers.push(ge)}this.handleUpdateMarkerVisibility(),this.$emit("tropicalCenterPoints",K)}else(S=this.map)!=null&&S.getSource(this.interpolateSource)&&((Z=this.map)==null||Z.getSource(this.interpolateSource).setData(this.empty))},handleClick(t){var i,l,n,s,c,m,d,g,u,y,p,h,f,x,v,b,k;const e=t.features[0],a=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(A=>{var L;return A.geometry.type==="LineString"&&A.properties.type==="forecast"&&A.properties.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)}),r=(s=(n=this.tropicals)==null?void 0:n.data)==null?void 0:s.features.filter(A=>{var L;return A.geometry.type==="LineString"&&A.properties.type==="history"&&A.properties.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)});this.activeTropicals={name:((c=e==null?void 0:e.properties)==null?void 0:c.name)||"-",nameCn:((m=e==null?void 0:e.properties)==null?void 0:m.nameCn)||((d=e==null?void 0:e.properties)==null?void 0:d.name)||"-",Name:((g=e==null?void 0:e.properties)==null?void 0:g.Name)||"-",forecasts:a.map(A=>A.properties),history:(u=r[0])==null?void 0:u.properties,showCircle:(p=(y=a[0])==null?void 0:y.properties)==null?void 0:p.showCircle,checked:(x=(f=(h=this.tropicals)==null?void 0:h.list)==null?void 0:f.find(A=>{var L;return A.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)}))==null?void 0:x.checked,tropicalId:(k=(b=(v=this.tropicals)==null?void 0:v.list)==null?void 0:b.find(A=>{var L;return A.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)}))==null?void 0:k.id},this.showTropicalsInfo=!0,this.simple||this.drawTropicalsInfoMaker([t.lngLat.lng,t.lngLat.lat])},drawTropicalsInfoMaker(t){this.$nextTick(()=>{const e=document.getElementById("idm-tropical-gl4-info");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat(t).setOffset([220,0]):this.activeTropicalsMarker=new pe.Marker(e).setLngLat(t).setOffset([220,0]).addTo(this.map)})},handleCloseInfoMarker(){this.showTropicalsInfo=!1,this.$nextTick(()=>{var t;(t=this.activeTropicalsMarker)==null||t.remove(),this.activeTropicalsMarker=void 0})},handleForecastToggle(t){var r,i,l,n,s,c;t.disabled=!t.disabled;const e=`${t.name}-${t.model}`,a=(i=(r=this.map)==null?void 0:r.getSource(this.source)._data)==null?void 0:i.features;a.forEach(m=>{m.properties.category===e&&(m.properties.disabled=t.disabled)}),this.interpolateData.forEach(m=>{m.properties.category===e&&(m.properties.disabled=t.disabled)}),(n=(l=this.map)==null?void 0:l.getSource(this.source))==null||n.setData(E.featureCollection(a)),(c=(s=this.map)==null?void 0:s.getSource(this.clusterSource))==null||c.setData(E.featureCollection(a)),this.handleDateChange()},handleReport(t){this.$emit("tropicalReport",t)},handleToggleCircles(t){var e,a;t.showCircle=!t.showCircle,(a=(e=this.tropicals.data)==null?void 0:e.features)==null||a.forEach(r=>{r.properties.name===t.name&&(r.properties.showCircle=t.showCircle)}),this.handleRender()},handleComputePolygons(t){const e=[];for(const a of t){const r=a.properties.wind,i={ne:r.r7ne>=0?r.r7ne:void 0,se:r.r7se>=0?r.r7se:void 0,sw:r.r7sw>=0?r.r7sw:void 0,nw:r.r7nw>=0?r.r7nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});e.push(l);const n={ne:r.r10ne>=0?r.r10ne:void 0,se:r.r10se>=0?r.r10se:void 0,sw:r.r10sw>=0?r.r10sw:void 0,nw:r.r10nw>=0?r.r10nw:void 0},s=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});e.push(s)}return e},handleComputeArc(t,e,a){var l;const r=[];for(const n in e){const s=e[n]??0;let c;switch(n){case"ne":c=E.lineArc(t,s,0,90,{steps:s>0?32:1,units:"nauticalmiles"});break;case"se":c=E.lineArc(t,s,90,180,{steps:s>0?32:1,units:"nauticalmiles"});break;case"sw":c=E.lineArc(t,s,180,270,{steps:s>0?32:1,units:"nauticalmiles"});break;case"nw":c=E.lineArc(t,s,270,360,{steps:s>0?32:1,units:"nauticalmiles"});break}r.push(...(l=c==null?void 0:c.geometry)==null?void 0:l.coordinates)}const i=E.lineString(r);return E.lineToPolygon(i,{properties:a})},handleHover(t){var i,l,n,s,c;this.map.getCanvas().style.cursor="pointer";const a=this.map.queryRenderedFeatures(t.point,{layers:[this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]})[0];this.hoverPoint=a==null?void 0:a.properties;const r=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(m=>{var d;return m.geometry.type==="LineString"&&m.properties.type==="forecast"&&m.properties.name===((d=a==null?void 0:a.properties)==null?void 0:d.name)});this.hoverPoint&&(this.hoverPoint.lng=a.geometry.coordinates[0],this.hoverPoint.lat=a.geometry.coordinates[1],this.hoverPoint.update=(s=(n=r==null?void 0:r[0])==null?void 0:n.properties)==null?void 0:s.date,(c=this.hoverMarker)==null||c.remove(),this.showHoverPoint=!0,this.$nextTick(()=>{const m=document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);this.hoverMarker=new pe.Marker(m).setLngLat(a.geometry.coordinates).setOffset([160,0]).addTo(this.map)}))},handleLeave(){var t;this.map.getCanvas().style.cursor="grab",this.showHoverPoint=!1,(t=this.hoverMarker)==null||t.remove(),this.hoverMarker=void 0},handleCheck(){var e,a;const t=(e=this.activeTropicals)==null?void 0:e.tropicalId;t&&de.put(`${this.gateway}/api/arc/meteo2/tropicals/${t}`,{checked:!((a=this.activeTropicals)!=null&&a.checked)},{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(r=>{var i,l,n;((i=r.data)==null?void 0:i.code)===0&&(this.activeTropicals.checked=(n=(l=r.data)==null?void 0:l.data)==null?void 0:n.checked)})}}},Gd={class:"idm-tropical-gl4"},jd={class:"pb-1"},Wd={class:"text-h5 font-weight-600"},Zd={key:0,class:"text-h5 font-weight-600"},Hd={class:"text-body-1"},Xd={class:"text-label"},Od={class:"d-flex justify-space-between align-center"},Yd={class:"w-60"},Ud={class:"text-label pr-1"},Jd={class:"flex-1-1-0"},Kd={class:"text-label pr-1"},Qd={class:"py-2 d-flex justify-space-between align-center"},qd={class:"w-60"},$d={class:"text-label pr-1"},eh={class:"flex-1-1-0"},th={class:"text-label pr-1"},oh={class:"d-flex align-center flex-1-1-100 justify-start mt-n1"},ah={class:"text-label pr-1",style:{width:"70px"}},ih={class:"model-box d-flex justify-end align-center flex-wrap ga-1 pa-1"},rh={key:0,class:"w-100 d-flex justify-space-between align-center px-2"},lh={class:"pa-1"},nh={class:"legend d-flex justify-start align-center py-2"},sh={class:"label"},ch={class:"legend d-flex justify-start align-center py-2"},mh={class:"label"},dh={class:"legend d-flex justify-start align-center py-2"},hh={class:"label"},ph={class:"pa-1"},uh={class:"legend d-flex justify-start align-center py-2"},gh={class:"label"},fh={class:"legend d-flex justify-start align-center py-2"},yh={class:"label"},bh={class:"legend d-flex justify-start align-center py-2"},wh={class:"label"},xh={class:"pa-1"},kh={class:"w-100 legend d-flex justify-start align-center py-2 ga-2"},Ah={class:"label"},Lh={class:"label"},vh={class:"w-100 legend d-flex justify-start align-center py-2"},Ch={class:"label"},_h={class:"w-100 legend d-flex justify-start align-center py-2"},zh={class:"label"},Sh={key:1,class:"my-3 w-100",style:{height:"80px"}},Ph={class:"w-100 d-flex justify-space-between align-center"},Mh={class:"legend d-flex justify-start align-center"},Th={class:"label"},Nh={class:"legend d-flex justify-start align-center"},Eh={class:"label"},Vh={class:"legend d-flex justify-start align-center"},Rh={class:"label"},Dh={class:"legend d-flex justify-start align-center"},Bh={class:"label"},Ih={class:"legend d-flex justify-start align-center"},Fh={class:"label"},Gh={class:"legend d-flex justify-start align-center"},jh={class:"label"},Wh={class:"w-100 d-flex justify-space-between align-center"},Zh={class:"legend d-flex justify-start align-center"},Hh={class:"label"},Xh={class:"legend d-flex justify-start align-center"},Oh={class:"label"},Yh={class:"legend d-flex justify-start align-center"},Uh={class:"label"},Jh={class:"legend d-flex justify-start align-center"},Kh={class:"label"},Qh={class:"d-flex justify-star align-center"},qh={class:"font-weight-600 mr-1"},$h={class:""},ep={class:"d-flex flex-column justify-center align-start ga-2"},tp={key:0,class:"d-flex justify-start align-center"},op={class:"text-label pr-1"},ap={key:1,class:"d-flex justify-start align-center"},ip={class:"text-label pr-1"},rp={key:2,class:"d-flex justify-start align-center"},lp={class:"text-label pr-1"},np={key:3,class:"d-flex justify-start align-center"},sp={class:"text-label pr-1"},cp={key:4,class:"d-flex justify-start align-center"},mp={class:"text-label pr-1"},dp={key:5,class:"d-flex justify-start align-center"},hp={class:"text-label pr-1"},pp={class:"d-flex justify-start align-center"},up={class:"text-label pr-1"},gp={key:6,class:"d-flex justify-start align-center"},fp={class:"text-label pr-1"},yp={key:7,class:"d-flex justify-start align-center"},bp={class:"text-label pr-1"},wp={class:"d-flex justify-start align-center"},xp={class:"text-label pr-1"};function kp(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip"),c=o.resolveComponent("VCardText"),m=o.resolveComponent("VDivider"),d=o.resolveComponent("VIcon"),g=o.resolveComponent("VCardActions"),u=o.resolveComponent("VCard"),y=o.resolveComponent("VCardTitle");return o.openBlock(),o.createElementBlock("div",Gd,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+86+"px",right:i.right+"px"})},[o.createVNode(s,{text:t.$t("tropical.tropicals"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:p})=>[o.createVNode(n,o.mergeProps(p,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>e[3]||(e[3]=[o.createElementVNode("i",{class:"iconfont icon-Tropical text-h4"},null,-1)])),_:2,__:[3]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showTropicalsInfo&&!t.$attrs.hideTropicalsLegend?(o.openBlock(),o.createElementBlock("div",{key:0,id:"idm-tropical-gl4-info",ref:"tropicalsInfo",class:o.normalizeClass(["idm-tropical-gl4-info",a.simple?"page":"dialog"])},[o.createVNode(u,{class:o.normalizeClass(["w-100",a.simple?"rounded-t-4 bg-none":""]),elevation:a.simple?0:16},{default:o.withCtx(()=>[o.createVNode(c,null,{default:o.withCtx(()=>{var p,h,f,x,v,b,k,A,L,C,z,M;return[o.createElementVNode("div",jd,[o.createElementVNode("span",Wd,o.toDisplayString(a.locale==="en"?(p=i.activeTropicals)==null?void 0:p.Name:((h=i.activeTropicals)==null?void 0:h.nameCn)||((f=i.activeTropicals)==null?void 0:f.Name)||"-"),1),(v=(x=i.activeTropicals)==null?void 0:x.history)!=null&&v.levelI18n?(o.openBlock(),o.createElementBlock("span",Zd," , "+o.toDisplayString(t.$t("tropical."+((k=(b=i.activeTropicals)==null?void 0:b.history)==null?void 0:k.levelI18n))),1)):o.createCommentVNode("",!0)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:o.withModifiers(l.handleCloseInfoMarker,["stop"])},{default:o.withCtx(()=>e[4]||(e[4]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[4]},8,["onClick"]),o.createElementVNode("div",Hd,[o.createElementVNode("span",Xd,o.toDisplayString(t.$t("actions.lastUpdate"))+": ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTime(((L=(A=i.activeTropicals)==null?void 0:A.history)==null?void 0:L.updated)||((M=(z=(C=i.activeTropicals)==null?void 0:C.forecasts)==null?void 0:z.filter(T=>!T.disabled)[0])==null?void 0:M.date),a.timeZone)),1)])]}),_:1}),o.createVNode(m),o.createVNode(c,{class:"text-body-1 py-3"},{default:o.withCtx(()=>{var p,h,f,x,v,b,k,A,L;return[o.createElementVNode("div",Od,[o.createElementVNode("div",Yd,[o.createElementVNode("label",Ud,o.toDisplayString(t.$t("weather.windSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((h=(p=i.activeTropicals)==null?void 0:p.history)==null?void 0:h.kts)||"-")+" kts",1),o.createElementVNode("span",null,", BF "+o.toDisplayString(l.computeBF(((x=(f=i.activeTropicals)==null?void 0:f.history)==null?void 0:x.kts)||"-")),1)]),o.createElementVNode("div",Jd,[o.createElementVNode("label",Kd,o.toDisplayString(t.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((b=(v=i.activeTropicals)==null?void 0:v.history)==null?void 0:b.pressure)||"-")+" hPa",1)])]),o.createElementVNode("div",Qd,[o.createElementVNode("div",qd,[o.createElementVNode("label",$d,o.toDisplayString(t.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((k=l.computeMovement(i.activeTropicals))==null?void 0:k.kts)||"-")+" kts",1)]),o.createElementVNode("div",eh,[o.createElementVNode("label",th,o.toDisplayString(t.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((A=l.computeMovement(i.activeTropicals))==null?void 0:A.deg)||"-")+"°",1)])]),o.createElementVNode("div",oh,[o.createElementVNode("label",ah,o.toDisplayString(t.$t("tropical.models"))+" : ",1),o.createElementVNode("div",ih,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((L=i.activeTropicals)==null?void 0:L.forecasts,(C,z)=>(o.openBlock(),o.createBlock(n,{key:z,density:"compact",variant:C.disabled?"text":"flat",color:C.disabled?"":"primary","min-width":30,class:o.normalizeClass(["model text-none text-body-1 px-1",C.disabled?"btn-border-1 btn-bg-1":""]),onClick:o.withModifiers(M=>l.handleForecastToggle(C),["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(C.model),1)]),_:2},1032,["variant","color","class","onClick"]))),128))])])]}),_:1}),o.createVNode(m),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(g,{key:0,class:"d-flex justify-space-between"},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact","prepend-icon":"",variant:"text",color:i.showLegend?"primary":"",class:"text-none text-body-1",onClick:e[0]||(e[0]=o.withModifiers(p=>i.showLegend=!i.showLegend,["stop"]))},{prepend:o.withCtx(()=>e[5]||(e[5]=[o.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(t.$t("weather.legend")),1)]),_:1},8,["color"]),a.platform==="ops"?(o.openBlock(),o.createBlock(n,{key:0,variant:"text",density:"compact",class:"text-none text-body-1","prepend-icon":"",onClick:e[1]||(e[1]=o.withModifiers(p=>l.handleCheck(),["stop"]))},{prepend:o.withCtx(()=>[i.activeTropicals.checked?(o.openBlock(),o.createBlock(d,{key:0,color:"primary"},{default:o.withCtx(()=>e[6]||(e[6]=[o.createTextVNode("mdi-checkbox-marked",-1)])),_:1,__:[6]})):(o.openBlock(),o.createBlock(d,{key:1,class:"text-label"},{default:o.withCtx(()=>e[7]||(e[7]=[o.createTextVNode("mdi-checkbox-blank-outline",-1)])),_:1,__:[7]}))]),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("status.checked"))+" ",1)]),_:1})):o.createCommentVNode("",!0),o.createVNode(n,{variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:e[2]||(e[2]=o.withModifiers(p=>l.handleReport(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.viewReport")),1)]),_:1})]),_:1}))]),_:1},8,["class","elevation"]),a.simple?(o.openBlock(),o.createElementBlock("div",rh,[o.createElementVNode("div",lh,[o.createElementVNode("div",nh,[e[8]||(e[8]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",sh,o.toDisplayString(t.$t("tropical.td")),1)]),o.createElementVNode("div",ch,[e[9]||(e[9]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",mh,o.toDisplayString(t.$t("tropical.sts")),1)]),o.createElementVNode("div",dh,[e[10]||(e[10]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",hh,o.toDisplayString(t.$t("tropical.sty")),1)])]),o.createElementVNode("div",ph,[o.createElementVNode("div",uh,[e[11]||(e[11]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",gh,o.toDisplayString(t.$t("tropical.ts")),1)]),o.createElementVNode("div",fh,[e[12]||(e[12]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",yh,o.toDisplayString(t.$t("tropical.ty")),1)]),o.createElementVNode("div",bh,[e[13]||(e[13]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",wh,o.toDisplayString(t.$t("tropical.superTy")),1)])]),o.createElementVNode("div",xh,[o.createElementVNode("div",kh,[e[14]||(e[14]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",Ah,o.toDisplayString(t.$t("tropical.history")),1),e[15]||(e[15]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Lh,o.toDisplayString(t.$t("tropical.forecast")),1)]),o.createElementVNode("div",vh,[e[16]||(e[16]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Ch,"35kts "+o.toDisplayString(t.$t("tropical.radii")),1)]),o.createElementVNode("div",_h,[e[17]||(e[17]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",zh,"50kts "+o.toDisplayString(t.$t("tropical.radii")),1)])])])):(o.openBlock(),o.createElementBlock("div",Sh,[o.withDirectives(o.createVNode(u,{elevation:"16"},{default:o.withCtx(()=>[o.createVNode(c,null,{default:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",{class:o.normalizeClass(["w-100 d-flex flex-column justify-space-between align-center",a.locale==="zhHans"?" ga-2":" ga-3"])},[o.createElementVNode("div",Ph,[o.createElementVNode("div",Mh,[e[18]||(e[18]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",Th,o.toDisplayString(t.$t("tropical.td")),1)]),o.createElementVNode("div",Nh,[e[19]||(e[19]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",Eh,o.toDisplayString(t.$t("tropical.ts")),1)]),o.createElementVNode("div",Vh,[e[20]||(e[20]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",Rh,o.toDisplayString(t.$t("tropical.sts")),1)]),o.createElementVNode("div",Dh,[e[21]||(e[21]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",Bh,o.toDisplayString(t.$t("tropical.ty")),1)]),o.createElementVNode("div",Ih,[e[22]||(e[22]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",Fh,o.toDisplayString(t.$t("tropical.sty")),1)]),o.createElementVNode("div",Gh,[e[23]||(e[23]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",jh,o.toDisplayString(t.$t("tropical.superTy")),1)])]),o.createElementVNode("div",Wh,[o.createElementVNode("div",Zh,[e[24]||(e[24]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",Hh,o.toDisplayString(t.$t("tropical.history")),1)]),o.createElementVNode("div",Xh,[e[25]||(e[25]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Oh,o.toDisplayString(t.$t("tropical.forecast")),1)]),o.createElementVNode("div",Yh,[e[26]||(e[26]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Uh,"35kts "+o.toDisplayString(t.$t("tropical.radii")),1)]),o.createElementVNode("div",Jh,[e[27]||(e[27]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",Kh,"50kts "+o.toDisplayString(t.$t("tropical.radii")),1)])])],2),[[o.vShow,i.showLegend]])]),_:1})]),_:1},512),[[o.vShow,i.showLegend]])]))],2)):o.createCommentVNode("",!0),o.withDirectives(o.createVNode(u,{id:"tropicalHoverMarkerInfo",elevation:"16","max-width":"290"},{default:o.withCtx(()=>[o.createVNode(y,null,{default:o.withCtx(()=>{var p,h,f,x;return[o.createElementVNode("div",Qh,[o.createElementVNode("span",qh,o.toDisplayString(a.locale==="en"?(p=i.hoverPoint)==null?void 0:p.Name:((h=i.hoverPoint)==null?void 0:h.nameCn)||((f=i.hoverPoint)==null?void 0:f.Name)),1),o.createElementVNode("span",$h," ["+o.toDisplayString(t.$t("tropical."+((x=i.hoverPoint)==null?void 0:x.levelI18n)))+"]",1)])]}),_:1}),o.createVNode(m),o.createVNode(c,{class:"text-body-1"},{default:o.withCtx(()=>{var p,h,f,x,v,b,k,A,L,C,z,M,T,N,F,O,q,$,le,S;return[o.createElementVNode("div",ep,[((p=i.hoverPoint)==null?void 0:p.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",tp,[o.createElementVNode("label",op,o.toDisplayString(t.$t("tropical.updated"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((h=i.hoverPoint)==null?void 0:h.update,a.timeZone)),1)])):o.createCommentVNode("",!0),((f=i.hoverPoint)==null?void 0:f.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",ap,[o.createElementVNode("label",ip,o.toDisplayString(t.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((x=i.hoverPoint)==null?void 0:x.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((v=i.hoverPoint)==null?void 0:v.type)==="history"?(o.openBlock(),o.createElementBlock("div",rp,[o.createElementVNode("label",lp,o.toDisplayString(t.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((b=i.hoverPoint)==null?void 0:b.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((k=i.hoverPoint)==null?void 0:k.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",np,[o.createElementVNode("label",sp,o.toDisplayString(t.$t("tropical.model"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((A=i.hoverPoint)==null?void 0:A.model)??"-"),1)])):o.createCommentVNode("",!0),((L=i.hoverPoint)==null?void 0:L.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",cp,[o.createElementVNode("label",mp,o.toDisplayString(t.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((z=JSON.parse(((C=i.hoverPoint)==null?void 0:C.wind)||"{}"))==null?void 0:z.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((M=i.hoverPoint)==null?void 0:M.type)==="history"?(o.openBlock(),o.createElementBlock("div",dp,[o.createElementVNode("label",hp,o.toDisplayString(t.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((T=i.hoverPoint)==null?void 0:T.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",pp,[o.createElementVNode("label",up,o.toDisplayString(t.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((N=i.hoverPoint)==null?void 0:N.pressure)??"-")+" hPa",1)]),((F=i.hoverPoint)==null?void 0:F.type)==="history"?(o.openBlock(),o.createElementBlock("div",gp,[o.createElementVNode("label",fp,o.toDisplayString(t.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((q=JSON.parse(((O=i.hoverPoint)==null?void 0:O.movement)||"{}"))==null?void 0:q.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),(($=i.hoverPoint)==null?void 0:$.type)==="history"?(o.openBlock(),o.createElementBlock("div",yp,[o.createElementVNode("label",bp,o.toDisplayString(t.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((S=JSON.parse(((le=i.hoverPoint)==null?void 0:le.movement)||"{}"))==null?void 0:S.deg)??"-")+" °",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",wp,[o.createElementVNode("label",xp,o.toDisplayString(t.$t("tropical.position"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computePosition(i.hoverPoint)),1)])])]}),_:1})]),_:1},512),[[o.vShow,i.showHoverPoint]])])}const ta=Q(Fd,[["render",kp]]),Zb="",Ap={name:"DateTimePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},bgClass:{type:String,default:""},locale:{type:String,default:"en"},style:{type:Object,default:{}},intervalHour:{type:Number,default:3},timeZone:{type:Number},dateTime:{type:String},dayAbout:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emits:["dateTime","currentTimestamp","currentRealTime","minTimestamp","maxTimestamp"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,minTimestamp:void 0,maxTimestamp:void 0,currentDate:void 0,currentTime:void 0,currentTimestamp:void 0,currentDateTimeZ:void 0,currentDateTime:void 0,currentRealTime:void 0,timer:null}},computed:{getStyle(){const t=this.width||220;return this.position==="top"?{bottom:"40px",left:`-${(420-t)/2}px`}:this.position==="bottom"?{top:"40px",left:`-${(420-t)/2}px`}:this.position==="left"?{bottom:"-140px",left:"-428px"}:this.position==="right"?{bottom:"-140px",right:"-428px"}:{bottom:"40px",left:`-${(420-t)/2}px`}},hourOptions(){const t=[];for(let e=0;e<24;e++)t.push(e<10?`0${e}:00`:`${e}:00`);return t.filter((e,a)=>(a-this.timeZone)%this.intervalHour===0)},timeZoneNames(){return _.tz.names()},timeZoneName(){var t;return(t=this.timeZoneNames.filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"}},watch:{timeZone:{handler(t,e){t!==e&&(this.handleResetDateTime(this.dateTime),this.handleResetMinMax())}},dateTime:{handler(t,e){t&&this.handleResetDateTime(this.dateTime)},immediate:!0},currentTimestamp:{handler(){this.currentDateTimeZ=_(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("dateTime",this.currentDateTimeZ),this.$emit("currentTimestamp",this.currentTimestamp),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},currentRealTime:{handler(t,e){t!==e&&this.$emit("currentRealTime",this.currentRealTime)}}},mounted(){this.timer=setInterval(()=>{this.currentRealTime=`${_.tz(_().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},100),document.addEventListener("click",this.handleClickOutside)},unmounted(){clearInterval(this.timer),this.handleCancelDate(),document.removeEventListener("click",this.handleClickOutside)},methods:{handleReset(){this.handleResetDateTime(),this.handleResetMinMax()},handleResetDateTime(t){var i;const e=_(t).utc().date(),a=Math.ceil(_(t).utc().hour()/this.intervalHour)*this.intervalHour;this.currentTimestamp=((i=_(t))==null?void 0:i.utc().set({date:e,hour:a,minute:0,second:0,millisecond:0}).unix())*1e3;const r=_.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=r.clone().format("YYYY-MM-DD"),this.currentTime=r.clone().format("HH:00"),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`,this.currentRealTime=`${_.tz(_().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},handleResetMinMax(){var i,l,n,s,c;if(this.dayAbout.h==null||this.dayAbout.f==null)return;const t=_().utc().date(),e=Math.ceil(_().utc().hour()/this.intervalHour)*this.intervalHour,a=((i=_())==null?void 0:i.utc().set({date:t,hour:e,minute:0,second:0,millisecond:0}).unix())*1e3,r=_.tz(a,this.timeZoneName).clone();this.minDate=r.clone().add(this.dayAbout.h,"day").format("yyyy-MM-DD"),this.maxDate=r.clone().add(this.dayAbout.f,"day").format("yyyy-MM-DD"),this.minTimestamp=((n=(l=_())==null?void 0:l.utc())==null?void 0:n.set({date:t+this.dayAbout.h,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.maxTimestamp=((c=(s=_())==null?void 0:s.utc())==null?void 0:c.set({date:t+this.dayAbout.f,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.$emit("minTimestamp",this.minTimestamp),this.$emit("maxTimestamp",this.maxTimestamp)},handleOpenDatePicker(){this.disabled||(this.showDatePicker=!this.showDatePicker)},handleUpdateMonth(t){const e=t||_.tz(this.currentTimestamp,this.timeZoneName).clone().month(),a=this.locale==="en"?_.tz(this.currentTimestamp,this.timeZoneName).set({month:e}).clone().format("MMM"):_.tz(this.currentTimestamp,this.timeZoneName).set({month:e}).clone().format("M月");this.$nextTick(()=>{const r=document.querySelector(".v-date-picker-controls__month-btn");r.innerText=a})},handleConfirmDate(){const t=_(this.currentDate).format("yyyy-MM-DD"),e=this.currentTime,a=`${t} ${e}`,r=_.tz(a,"YYYY-MM-DD HH:00",this.timeZoneName).clone().tz(this.localTimeZoneName);this.currentTimestamp=r.unix()*1e3,this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1;const t=_.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=t.clone().format("YYYY-MM-DD"),this.currentTime=t.clone().format("HH:00")},handleClickOutside(t){const e=this.$refs.idmGl4Timepicker;e&&!e.contains(t.target)&&(this.showDatePicker=!1)}}},Lp={ref:"idmGl4Timepicker",class:"idm-gl4-time-picker"},vp={class:"pa-0",style:{width:"320px"}},Cp={class:"h-100 pa-0 d-flex flex-column justify-start align-center",style:{width:"100px"}},_p={class:"d-flex justify-center align-center text-body-2",style:{height:"44px"}};function zp(t,e,a,r,i,l){const n=o.resolveComponent("VDatePicker"),s=o.resolveComponent("VDivider"),c=o.resolveComponent("VListItemTitle"),m=o.resolveComponent("VListItem"),d=o.resolveComponent("VList"),g=o.resolveComponent("VCardText"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VCardActions"),p=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",Lp,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:o.normalizeClass([[a.bgClass,{"cursor-pointer":!a.disabled}],"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-center px-2"]),onClick:e[0]||(e[0]=(...h)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...h))},o.toDisplayString(i.currentDateTime)+" | UTC "+o.toDisplayString(a.timeZone<0?a.timeZone:"+"+a.timeZone),7),i.showDatePicker?(o.openBlock(),o.createBlock(p,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(g,{class:"w-100 flex-1-1-0 d-flex pa-0 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",vp,[o.createVNode(n,{modelValue:i.currentDate,"onUpdate:modelValue":e[1]||(e[1]=h=>i.currentDate=h),min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":""},null,8,["modelValue","min","max"])]),o.createVNode(s,{class:"h-100",vertical:""}),o.createElementVNode("div",Cp,[o.createElementVNode("div",_p,o.toDisplayString(t.$t("time.time")),1),o.createVNode(d,{class:"pa-0 flex-1-1-0 scroll"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.hourOptions,(h,f)=>(o.openBlock(),o.createBlock(m,{key:f,value:h,color:"primary",active:i.currentTime===h,rounded:"",height:"26","min-height":"26",class:"rounded-xl",variant:i.currentTime===h?"flat":"text"},{default:o.withCtx(()=>[o.createVNode(c,{class:"text-body-2 font-weight-600 text-center",onClick:x=>i.currentTime=h},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(h),1)]),_:2},1032,["onClick"])]),_:2},1032,["value","active","variant"]))),128))]),_:1})])]),_:1}),o.createVNode(s),o.createVNode(y,{class:"w-100 d-flex justify-end align-center px-4 ga-4",style:{height:"50px"}},{default:o.withCtx(()=>[o.createVNode(u,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const bo=Q(Ap,[["render",zp]]),Hb="",Sp={name:"IdmPoint",components:{DateTimePicker:bo},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},token:{type:String},defaultMeteoToken:{type:String},theme:{type:String,default:"zh"},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},gateway:{type:String},timeZone:{type:Number},forecastModel:{type:String},realTime:{type:String},followList:{type:Array,default:()=>[]}},emits:["meteoMore","follow","cancelFollow","login"],data(){return{right:10,toggle:!1,showForm:!1,showMeteo:!1,loading:!1,form:{lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:""},formRules:{lngDegree:[t=>t!=null&&t!==""||"required",t=>/^\d{1,3}$/.test(t)||"number",t=>parseInt(t)>=0&&parseInt(t)<=180||"0 ~ 180"],lngMinute:[t=>t===void 0||t===null&&t===""||/^\d{1,2}(\.\d+)?$/.test(t)||"number",t=>t===void 0||t===null&&t===""||parseInt(t)>=0&&parseInt(t)<=59||"0 ~ 59"],latDegree:[t=>t!=null&&t!==""||"required",t=>/^\d{1,2}$/.test(t)||"number",t=>parseInt(t)>=0&&parseInt(t)<=90||"0 ~ 90"],latMinute:[t=>t===void 0||t===null&&t===""||/^\d{1,2}(\.\d+)?$/.test(t)||"number",t=>t===void 0||t===null&&t===""||parseInt(t)>=0&&parseInt(t)<=59||"0 ~ 59"]},meteoData:void 0,currentHourData:{},positionOffset:void 0,positionGmt:void 0,positionMarker:void 0,meteoInfoMarker:void 0}},computed:{timeZoneNames(){return _.tz.names()},timeZoneName(){var t;return(t=this.timeZoneNames.filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},computedTzTime(){return t=>_.tz(_(t),this.timeZoneName).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(this.timeZone>=0?"+":"")+this.timeZone+")"},computedLocalTime(){return t=>{var r,i,l;const e=Number((r=this.positionOffset)==null?void 0:r.slice(1,3))*(((i=this.positionOffset)==null?void 0:i.slice(0,1))==="+"?1:-1),a=(l=this.timeZoneNames.filter(n=>_.tz(_(),n).utcOffset()===e*60))==null?void 0:l[0];return t?_.tz(_(t),a).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(e>=0?"+":"")+e+")":"-"}},computePosition(){return function(t){return!t||t.lng===null||t.lng===void 0||isNaN(t.lng)||t.lat===null||t.lat===void 0||isNaN(t.lat)?"-":P.LngLatHelper.lat2pretty(t==null?void 0:t.lat,2).pretty+" / "+P.LngLatHelper.lng2pretty(t==null?void 0:t.lng,2).pretty}},computeRoundPrecision(){return function(t,e=4){return t==null||isNaN(t)||isNaN(e)?"-":P.LngLatHelper.roundPrecision(t,e)}}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){this.toggle?this.showForm=!0:(this.showForm=!1,this.showMeteo=!1),this.map&&this.handleBind()},immediate:!0},map:{handler(){this.map&&this.toggle&&this.handleBind()}},showForm:{handler(){this.showForm?(this.realTime&&(this.form.dateTime=this.realTime),this.$nextTick(()=>{var t;(t=this.$refs.spotForm)==null||t.resetValidation()})):this.handleCloseForm()}},showMeteo:{handler(){var t,e,a,r,i,l;this.showMeteo?((a=(e=(t=this.$parent)==null?void 0:t.$refs)==null?void 0:e.idmBottomBar)==null||a.handleToggle("spot",!0),this.simple&&this.$nextTick(()=>{var n,s;this.$parent.playerBottom=((s=(n=this.$refs.spotMeteo)==null?void 0:n.$el)==null?void 0:s.clientHeight)+10})):((l=(i=(r=this.$parent)==null?void 0:r.$refs)==null?void 0:i.idmBottomBar)==null||l.handleToggle("spot",!1),this.simple&&(this.$parent.playerBottom=30))}},realTime:{handler(){this.realTime&&(this.form.dateTime=this.realTime,this.showMeteo&&this.fetchData())}},forecastModel:{handler(){this.form.forecastModel=this.forecastModel},immediate:!0},"form.forecastModel":{handler(t,e){!t&&e&&(this.form.forecastModel=e==="GFS"?"ECMWF":"GFS")}}},methods:{handleMenuToggle(){this.isLogin?this.toggle=!this.toggle:this.$emit("login")},submitForm(){this.handleCloseMeteo(),this.$refs.spotForm.validate().then(async t=>{t!=null&&t.valid&&this.fetchData()})},cancelForm(){var t;(t=this.$refs.spotForm)==null||t.reset(),this.form={lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:this.forecastModel}},handleCloseForm(){this.showForm=!1,this.cancelForm(),this.toggle=!1},async fetchData(){var a;this.form.lat=(Number(this.form.latDegree??0)+Number(this.form.latMinute??0)/60)*(this.form.latDirection==="N"?1:-1),this.form.lng=(Number(this.form.lngDegree??0)+Number(this.form.lngMinute??0)/60)*(this.form.lngDirection==="E"?1:-1);const t=_();((a=_(this.realTime))==null?void 0:a.diff(t,"d",!0))>=0?await this.fetchForecastData(this.form):await this.fetchHistoryData(this.form)},async fetchForecastData(t){this.loading=!0,this.showMeteo=!0,this.form.lng=t.lng,this.form.lat=t.lat,this.form.followId=t.followId,this.handleDrawInfoMarker([t.lng,t.lat]),this.meteoData=[];const{weatherModels:e,marineModels:a}=$t.Meteo2Assist.autoPickMeteoModel(t.forecastModel);let r={lat:t.lat,lng:t.lng,datetime:_(t.dateTime).utc().format(),forecastDays:t.day??3,weatherModels:e,marineModels:a};await de.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=t.lng,this.meteoData.lat=t.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1})},async fetchHistoryData(t){this.loading=!0,this.showMeteo=!0,this.form.lng=t.lng,this.form.lat=t.lat,this.form.followId=t.followId,this.handleDrawInfoMarker([t.lng,t.lat]),this.meteoData=[];const{weatherModels:e,marineModels:a}=$t.Meteo2Assist.autoPickMeteoModel(t.forecastModel),r={lat:t.lat,lng:t.lng,datetime:_(t.dateTime).utc().format(),forecastDays:2,pastDays:1,weatherModels:e,marineModels:a};await de.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=t.lng,this.meteoData.lat=t.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1}),this.loading=!1},initTableData(t){var a,r,i,l,n,s,c,m,d,g,u,y,p,h,f,x,v,b,k,A,L,C,z,M,T,N,F,O,q,$,le,S,Z,H,te,W,I,K,V,Y,ee,he,ge;this.currentHourData={},this.positionGmt=(r=(a=t==null?void 0:t.weather)==null?void 0:a[0])==null?void 0:r.timezone,this.positionOffset=(l=(i=t==null?void 0:t.weather)==null?void 0:i[0])==null?void 0:l.offset;const e=((n=$t.Meteo2Assist.pickHourly(t,_(this.form.dateTime)))==null?void 0:n[0])||{};this.currentHourData.utc=e.utc,this.currentHourData.lat=t.lat,this.currentHourData.lng=t.lng,this.currentHourData.temp=this.computeRoundPrecision((s=e==null?void 0:e.weather)==null?void 0:s.temp,0)??"-",this.currentHourData.precipProbability=this.computeRoundPrecision((m=(c=e==null?void 0:e.weather)==null?void 0:c.precip)==null?void 0:m.probability,0)??"-",this.currentHourData.precip1h=this.computeRoundPrecision((g=(d=e==null?void 0:e.weather)==null?void 0:d.precip)==null?void 0:g.sum,0)??"-",this.currentHourData.visibility=this.computeRoundPrecision((u=e==null?void 0:e.weather)==null?void 0:u.visibility,0)??"-",this.currentHourData.windSpeed=this.computeRoundPrecision((p=(y=e==null?void 0:e.weather)==null?void 0:y.wind)==null?void 0:p.kts,1)??"-",this.currentHourData.windDir=((f=(h=e==null?void 0:e.weather)==null?void 0:h.wind)==null?void 0:f.direction)??"-",this.currentHourData.windLevel=this.computeRoundPrecision((v=(x=e==null?void 0:e.weather)==null?void 0:x.wind)==null?void 0:v.scale,0)??"-",this.currentHourData.windGust=this.computeRoundPrecision((k=(b=e==null?void 0:e.weather)==null?void 0:b.wind)==null?void 0:k.gusts,1)??"-",this.currentHourData.sigwaveHeight=this.computeRoundPrecision((L=(A=e==null?void 0:e.wave)==null?void 0:A.sig)==null?void 0:L.height,1)??"-",this.currentHourData.sigwaveDir=(z=(C=e==null?void 0:e.wave)==null?void 0:C.sig)==null?void 0:z.direction,this.currentHourData.sigwavePeriod=this.computeRoundPrecision((T=(M=e==null?void 0:e.wave)==null?void 0:M.sig)==null?void 0:T.period,1)??"-",this.currentHourData.windwaveHeight=this.computeRoundPrecision((F=(N=e==null?void 0:e.wave)==null?void 0:N.wd)==null?void 0:F.height,1)??"-",this.currentHourData.windwaveDir=(q=(O=e==null?void 0:e.wave)==null?void 0:O.wd)==null?void 0:q.direction,this.currentHourData.windwavePeriod=this.computeRoundPrecision((le=($=e==null?void 0:e.wave)==null?void 0:$.wd)==null?void 0:le.period,1)??"-",this.currentHourData.swellHeight=this.computeRoundPrecision((Z=(S=e==null?void 0:e.wave)==null?void 0:S.swell)==null?void 0:Z.height,1)??"-",this.currentHourData.swellDir=(te=(H=e==null?void 0:e.wave)==null?void 0:H.swell)==null?void 0:te.direction,this.currentHourData.swellPeriod=this.computeRoundPrecision((I=(W=e==null?void 0:e.wave)==null?void 0:W.swell)==null?void 0:I.period,1)??"-",this.currentHourData.currentSpeed=this.computeRoundPrecision((K=e==null?void 0:e.current)==null?void 0:K.speed,1)??"-",this.currentHourData.currentDir=(V=e==null?void 0:e.current)==null?void 0:V.direction,this.currentHourData.currentSpeed=this.computeRoundPrecision((Y=e==null?void 0:e.current)==null?void 0:Y.speed,1)??"-",this.currentHourData.seaLevel=this.computeRoundPrecision(e==null?void 0:e.height,1)??"-",this.currentHourData.seaTemp=this.computeRoundPrecision(e==null?void 0:e.sst,0)??"-",this.currentHourData.weatherUrls=(ee=e==null?void 0:e.weather)==null?void 0:ee.url,this.currentHourData.sit=(he=e==null?void 0:e.ice)==null?void 0:he.sit,this.currentHourData.sic=this.computeRoundPrecision(((ge=e==null?void 0:e.ice)==null?void 0:ge.sic)*100,0)??"-",this.currentHourData.showIce=t.lat>=65||t.lat<=-65},handleBind(){var t,e;this.toggle?((t=this.map)==null||t.on("click",this.handleClick),this.map&&(this.map.getCanvas().style.cursor="crosshair")):((e=this.map)==null||e.off("click",this.handleClick),this.handleCloseMeteo(),this.map&&(this.map.getCanvas().style.cursor="grab"))},handleClick(t){if(t.originalEvent.stopPropagation(),t.originalEvent.target.className==="mapboxgl-canvas")this.handleGetPosition(t.lngLat),this.$nextTick(()=>{this.fetchData()});else return!1},handleGetPosition(t){if(isNaN(t.lat)||isNaN(t.lng))return!1;this.form.latDegree=Number(P.LngLatHelper.lat2pretty(t.lat).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(t.lat).minute),this.form.latDirection=P.LngLatHelper.lat2pretty(t.lat).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(t.lng).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(t.lng).minute),this.form.lngDirection=P.LngLatHelper.lng2pretty(t.lng).direction},handleDrawInfoMarker(t){this.drawPositionMarker(t),this.simple||this.drawMeteoInfoMarker(t)},drawPositionMarker(t){t&&(this.map.flyTo({center:t,duration:300}),this.$nextTick(()=>{var a,r;(a=this.positionMarker)==null||a.remove();const e=(r=document.getElementById("idm-position-icon"))==null?void 0:r.cloneNode(!0);this.positionMarker=new pe.Marker(e).setLngLat(t).setOffset([0,-15]).addTo(this.map)}))},drawMeteoInfoMarker(t){this.$nextTick(()=>{var a;const e=document.getElementById("idm-gl4-spot-meteo");this.meteoInfoMarker?(a=this.meteoInfoMarker)==null||a.setLngLat(t):this.meteoInfoMarker=new pe.Marker(e).setLngLat(t).setOffset([0,-190]).addTo(this.map)})},handleMeteoMore(){this.form.forecastModel=this.forecastModel,this.$emit("meteoMore",this.form)},handleCloseMeteo(){this.showMeteo=!1,this.$nextTick(()=>{var t,e;(t=this.positionMarker)==null||t.remove(),this.positionMarker=void 0,(e=this.meteoInfoMarker)==null||e.remove(),this.meteoInfoMarker=void 0})},handleFollow(){this.$emit("follow",this.form)},handleCancelFollow(){var e,a,r;const t=((e=this.form)==null?void 0:e.followId)||((r=(a=this.followList)==null?void 0:a.find(i=>{var l,n;return(i==null?void 0:i.id)===this.form.followId||((l=i==null?void 0:i.coordinate)==null?void 0:l.lng)===this.form.lng&&((n=i==null?void 0:i.coordinate)==null?void 0:n.lat)===this.form.lat}))==null?void 0:r.id);this.$emit("cancelFollow",t)}}},Pp={class:"idm-gl4-spot"},Mp={class:"d-flex justify-start align-center"},Tp={class:"text-h6 font-weight-600"},Np={class:"d-flex justify-start align-center ga-1 mb-2"},Ep={class:"text-label"},Vp={class:"w-100 d-flex ma-0"},Rp={class:"w-30 pa-0 d-flex"},Dp={class:"flex-1-1-0 pa-0 d-flex"},Bp={class:"pa-0"},Ip={class:"d-flex justify-start align-center ga-1 mb-2"},Fp={class:"text-label"},Gp={class:"w-100 d-flex ma-0"},jp={class:"w-30 pa-0 d-flex"},Wp={class:"flex-1-1-0 pa-0 d-flex"},Zp={class:"pa-0"},Hp={class:"d-flex justify-start align-center ga-1 mb-2"},Xp={class:"text-label"},Op={class:"d-flex justify-start align-center ga-1 mb-2"},Yp={class:"text-label"},Up={class:"d-flex justify-start align-center"},Jp={class:"mx-2"},Kp={class:"mx-0 py-2 d-flex align-center justify-start"},Qp={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},qp={class:"pa-0 px-0"},$p={class:"mx-0 py-2 d-flex align-center justify-start"},eu={cols:"9",class:"pa-0 px-0"},tu={class:"mx-0 py-2 d-flex align-center justify-start"},ou={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},au={style:{width:"150px"},class:"pa-0 text-left"},iu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},ru={cols:"3",class:"pa-0 px-0 text-left"},lu={class:"mx-0 py-2 d-flex align-center justify-start"},nu={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},su={style:{width:"150px"},class:"pa-0 text-left"},cu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},mu={cols:"3",class:"pa-0 text-left"},du={class:"mx-0 py-2 d-flex align-center justify-start"},hu={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},pu={style:{width:"150px"},class:"pa-0 text-left"},uu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},gu={class:"pa-0 text-left"},fu={key:0,class:"mx-0 py-2 d-flex align-center justify-start"},yu={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},bu={style:{width:"150px"},class:"pa-0 text-left"},wu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},xu={class:"pa-0 text-left"},ku={class:"d-flex justify-space-between align-center"},Au={class:"d-flex justify-start align-center"},Lu={class:"mx-1"},vu={class:"d-flex justify-end align-center"},Cu={class:"mx-0 py-1 d-flex align-center justify-start"},_u={style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},zu={class:"pa-0 px-0"},Su={class:"mx-0 py-1 d-flex align-center justify-start"},Pu={class:"pa-0 px-0"},Mu={class:"gray-bg-2 mx-4 my-2 py-3 px-2 rounded text-font-13 d-flex align-center justify-space-between"},Tu={class:"d-flex flex-column align-start justify-center ga-3"},Nu={class:"text-label pr-2"},Eu={class:"text-label pr-2"},Vu={class:"text-label pr-2"},Ru={key:0},Du={class:"text-label pr-2"},Bu={class:"d-flex flex-column align-start justify-center ga-3"},Iu={class:"text-label pr-2"},Fu={class:"text-label pr-2"},Gu={class:"text-label pr-2"},ju={key:0},Wu={class:"text-label pr-2"},Zu={id:"idm-position-icon"},Hu={class:"multi-color-icon",style:{height:"30px",width:"30px"},"aria-hidden":"true"},Xu=["xlink:href"];function Ou(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip"),c=o.resolveComponent("VCardTitle"),m=o.resolveComponent("VDivider"),d=o.resolveComponent("VTextField"),g=o.resolveComponent("DateTimePicker"),u=o.resolveComponent("VCol"),y=o.resolveComponent("VRow"),p=o.resolveComponent("VBtnToggle"),h=o.resolveComponent("VCardText"),f=o.resolveComponent("VCardActions"),x=o.resolveComponent("VForm"),v=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",Pp,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+"px"})},[o.createVNode(s,{text:t.$t("spot.spotsMeteo"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:b})=>[o.createVNode(n,o.mergeProps(b,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>e[8]||(e[8]=[o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h4"},null,-1)])),_:2,__:[8]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showForm&&!a.simple?(o.openBlock(),o.createBlock(v,{key:0,class:"spot-form-card",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+50+"px"})},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",Mp,[o.createElementVNode("div",Tp,o.toDisplayString(t.$t("spot.spotWeather")),1)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleCloseForm},{default:o.withCtx(()=>e[9]||(e[9]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),o.createVNode(m),o.createVNode(x,{ref:"spotForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.submitForm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-body-1 pa-4 py-2"},{default:o.withCtx(()=>[o.createElementVNode("div",Np,[o.createElementVNode("div",Ep,[o.createTextVNode(o.toDisplayString(t.$t("spot.lat")),1),e[10]||(e[10]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createElementVNode("div",Vp,[o.createElementVNode("div",Rp,[o.createVNode(d,{modelValue:i.form.latDegree,"onUpdate:modelValue":e[0]||(e[0]=b=>i.form.latDegree=b),rules:i.formRules.latDegree,label:"",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),e[11]||(e[11]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),o.createElementVNode("div",Dp,[o.createVNode(d,{modelValue:i.form.latMinute,"onUpdate:modelValue":e[1]||(e[1]=b=>i.form.latMinute=b),rules:i.formRules.latMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[12]||(e[12]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),o.createElementVNode("div",Bp,[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:e[2]||(e[2]=b=>i.form.latDirection=i.form.latDirection==="N"?"S":"N")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDirection),1)]),_:1})])]),o.createElementVNode("div",Ip,[o.createElementVNode("div",Fp,[o.createTextVNode(o.toDisplayString(t.$t("spot.lng")),1),e[13]||(e[13]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createElementVNode("div",Gp,[o.createElementVNode("div",jp,[o.createVNode(d,{modelValue:i.form.lngDegree,"onUpdate:modelValue":e[3]||(e[3]=b=>i.form.lngDegree=b),rules:i.formRules.lngDegree,density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[14]||(e[14]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),o.createElementVNode("div",Wp,[o.createVNode(d,{modelValue:i.form.lngMinute,"onUpdate:modelValue":e[4]||(e[4]=b=>i.form.lngMinute=b),rules:i.formRules.lngMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[15]||(e[15]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),o.createElementVNode("div",Zp,[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:e[5]||(e[5]=b=>i.form.lngDirection=i.form.lngDirection==="E"?"W":"E")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDirection),1)]),_:1})])]),o.createElementVNode("div",Hp,[o.createElementVNode("div",Xp,[o.createTextVNode(o.toDisplayString(t.$t("spot.dateTime")),1),e[16]||(e[16]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(y,{class:"ma-0 mb-4"},{default:o.withCtx(()=>[o.createVNode(u,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(g,o.mergeProps({"date-time":i.form.dateTime,"time-zone":a.timeZone},t.$attrs,{onDateTime:e[6]||(e[6]=b=>i.form.dateTime=b)}),null,16,["date-time","time-zone"])]),_:1})]),_:1}),o.createElementVNode("div",Op,[o.createElementVNode("div",Yp,[o.createTextVNode(o.toDisplayString(t.$t("weather.forecastModel")),1),e[17]||(e[17]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(y,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(u,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(p,{modelValue:i.form.forecastModel,"onUpdate:modelValue":e[7]||(e[7]=b=>i.form.forecastModel=b),class:"w-100",rounded:"",height:"30",density:"compact",group:"",mandatory:""},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact",height:"30",value:"GFS",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="GFS"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="GFS"?"primary":"","base-color":""},{default:o.withCtx(()=>e[18]||(e[18]=[o.createTextVNode(" NOAA ",-1)])),_:1,__:[18]},8,["class","color"]),o.createVNode(n,{density:"compact",height:"30",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="ECMWF"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:o.withCtx(()=>e[19]||(e[19]=[o.createTextVNode(" ECMWF ",-1)])),_:1,__:[19]},8,["class","color"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o.createVNode(m),o.createVNode(f,{class:"d-flex justify-end align-center ga-4 pa-4 py-2"},{default:o.withCtx(()=>[o.createVNode(n,{size:"small",variant:"tonal",class:"text-none text-body-1 btn-bg-1",onClick:l.cancelForm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{ref:"submitSpot",loading:i.loading,size:"small",variant:"flat",color:"primary",type:"submit",class:"text-none text-body-1"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1},8,["style"])):o.createCommentVNode("",!0),i.showMeteo&&!a.simple?(o.openBlock(),o.createBlock(v,{key:1,id:"idm-gl4-spot-meteo",class:"spot-meteo",style:{width:"490px","z-index":"9"}},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",Up,[e[20]||(e[20]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Jp,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>e[21]||(e[21]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[21]},8,["onClick"])]),_:1}),o.createVNode(m),o.createVNode(h,{class:"text-body-1 px-0 py-1"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",Kp,[o.createElementVNode("div",Qp,o.toDisplayString(t.$t("time.time")),1),o.createElementVNode("div",qp,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",$p,[e[22]||(e[22]=o.createElementVNode("div",{style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",eu,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",tu,[o.createElementVNode("div",ou,o.toDisplayString(t.$t("weather.wind")),1),o.createElementVNode("div",au,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1),o.createElementVNode("div",iu,o.toDisplayString(t.$t("weather.sigWave")),1),o.createElementVNode("div",ru,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s ",1)]),o.createElementVNode("div",lu,[o.createElementVNode("div",nu,o.toDisplayString(t.$t("weather.windWave")),1),o.createElementVNode("div",su,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s ",1),o.createElementVNode("div",cu,o.toDisplayString(t.$t("weather.swell")),1),o.createElementVNode("div",mu,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s ",1)]),o.createElementVNode("div",du,[o.createElementVNode("div",hu,o.toDisplayString(t.$t("weather.current")),1),o.createElementVNode("div",pu,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1),o.createElementVNode("div",uu,o.toDisplayString(t.$t("weather.visibility")),1),o.createElementVNode("div",gu,o.toDisplayString(i.currentHourData.visibility??"-")+"nm",1)]),i.currentHourData.showIce?(o.openBlock(),o.createElementBlock("div",fu,[o.createElementVNode("div",yu,o.toDisplayString(t.$t("weather.sit")),1),o.createElementVNode("div",bu,o.toDisplayString(i.currentHourData.sit??"-")+"m",1),o.createElementVNode("div",wu,o.toDisplayString(t.$t("weather.sic")),1),o.createElementVNode("div",xu,o.toDisplayString(i.currentHourData.sic??"-")+"%",1)])):o.createCommentVNode("",!0)]}),_:1}),o.createVNode(m),o.createVNode(f,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var b;return[(b=a.followList)!=null&&b.some(k=>{var A,L;return(k==null?void 0:k.id)===i.form.followId||((A=k==null?void 0:k.coordinate)==null?void 0:A.lng)===i.form.lng&&((L=k==null?void 0:k.coordinate)==null?void 0:L.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,id:"idm-gl4-spot-meteo-follow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{prepend:o.withCtx(()=>e[23]||(e[23]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h6 text-warning"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(t.$t("actions.unfollow")),1)]),_:1},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,id:"idm-gl4-spot-meteo-unfollow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleFollow,["stop"])},{prepend:o.withCtx(()=>e[24]||(e[24]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h6"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.follow"))+" ",1)]),_:1},8,["onClick"])),o.createVNode(n,{height:"32",variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:o.withModifiers(l.handleMeteoMore,["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("spot.forecast")),1)]),_:1},8,["onClick"])]}),_:1})]),_:1})):o.createCommentVNode("",!0),i.showMeteo&&a.simple?(o.openBlock(),o.createBlock(v,{key:2,ref:"spotMeteo",class:"position-absolute bottom-0 rounded-t-4",style:{width:"100vw","z-index":"1001"}},{default:o.withCtx(()=>[o.createVNode(c,null,{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",ku,[o.createElementVNode("div",Au,[e[25]||(e[25]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Lu,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createElementVNode("div",vu,[(b=a.followList)!=null&&b.some(k=>{var A,L;return(k==null?void 0:k.id)===i.form.followId||((A=k==null?void 0:k.coordinate)==null?void 0:A.lng)===i.form.lng&&((L=k==null?void 0:k.coordinate)==null?void 0:L.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{default:o.withCtx(()=>e[26]||(e[26]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h4 text-warning"},null,-1)])),_:1,__:[26]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,class:"text-none text-body-1 rounded-circle",variant:"plain",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleFollow,["stop"])},{default:o.withCtx(()=>e[27]||(e[27]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h4"},null,-1)])),_:1,__:[27]},8,["onClick"])),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>e[28]||(e[28]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[28]},8,["onClick"])])]),e[29]||(e[29]=o.createElementVNode("div",{class:"px-5 py-0 text-label text-body-1"},"Spot Weather",-1))]}),_:1,__:[29]}),o.createVNode(m),o.createVNode(h,{class:"text-body-1 px-0 py-2"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",Cu,[o.createElementVNode("div",_u,o.toDisplayString(t.$t("time.time")),1),o.createElementVNode("div",zu,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",Su,[e[30]||(e[30]=o.createElementVNode("div",{style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",Pu,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",Mu,[o.createElementVNode("div",Tu,[o.createElementVNode("div",null,[o.createElementVNode("span",Nu,o.toDisplayString(t.$t("weather.wind")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Eu,o.toDisplayString(t.$t("weather.sigWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Vu,o.toDisplayString(t.$t("weather.windWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1)]),i.currentHourData.showIce?(o.openBlock(),o.createElementBlock("div",Ru,[o.createElementVNode("span",Du,o.toDisplayString(t.$t("weather.sit")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sit??"-")+"m",1)])):o.createCommentVNode("",!0)]),o.createElementVNode("div",Bu,[o.createElementVNode("div",null,[o.createElementVNode("span",Iu,o.toDisplayString(t.$t("weather.swell")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Fu,o.toDisplayString(t.$t("weather.current")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Gu,o.toDisplayString(t.$t("weather.visibility")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)]),i.currentHourData.showIce?(o.openBlock(),o.createElementBlock("div",ju,[o.createElementVNode("span",Wu,o.toDisplayString(t.$t("weather.sic")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sic??"-")+"%",1)])):o.createCommentVNode("",!0)])])]}),_:1})]),_:1},512)):o.createCommentVNode("",!0),o.withDirectives(o.createElementVNode("div",Zu,[(o.openBlock(),o.createElementBlock("svg",Hu,[o.createElementVNode("use",{"xlink:href":`#icon-spot-${a.theme}`},null,8,Xu)]))],512),[[o.vShow,i.showMeteo]])])}const Yu=Q(Sp,[["render",Ou]]),Xb="",Uu={name:"IdmMeasure",props:{simple:{type:Boolean,default:!1},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:be.useTheme()}},data(){return{right:10,toggle:!1,geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",sumLayer:"measure-suml-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL",currentLineIndex:1}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){var t,e,a;if(this.toggle)this.handleBind();else{(t=this.map)==null||t.getCanvas().removeEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),this.map&&(this.map.getCanvas().style.cursor="grab");let r=this.geojson.find(i=>!i.closed);r&&this.handleClear(r,!0),this.geojson=this.geojson.filter(i=>!!i.closed),r=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(r)}},immediate:!0},map:{handler(){this.map&&(this.toggle?this.handleBind():this.handleUnbind())}}},methods:{handleMenuToggle(){this.toggle=!this.toggle},handleBind(){var t,e,a,r,i;(t=this.map)==null||t.getCanvas().addEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(r=this.map)==null||r.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair")},handleUnbind(){var t,e,a,r,i;(t=this.map)==null||t.getCanvas().removeEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),(r=this.map)==null||r.off("click",this.handleClick),(i=this.map)==null||i.off("contextmenu",this.handleContextmenu);for(const l of this.geojson)this.handleClear(l,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")},handleKeydown(t){if(t.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const e=this.geojson.at(-1),a=e.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&(a.at(-1).properties.mode=this.navigation),this.handleRender(e)}},handleDrag(t){var a,r,i,l,n,s,c,m,d,g;const e=(r=(a=t.target)==null?void 0:a._element)==null?void 0:r.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(f=>f.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(f=>{var x;return((x=f._element)==null?void 0:x.id)===e})[0].setLngLat([(l=(i=t.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(s=(n=t.target)==null?void 0:n._lngLat)==null?void 0:s.lat]);let p;u.features.forEach((f,x)=>{if(f.geometry.type==="Point"&&f.properties.id===e.split("-")[1]){p=x;return}});const h=u.features.filter(f=>f.geometry.type==="Point");this.handleTmpPointUpdate(u,h[p-1],{lng:(m=(c=t.target)==null?void 0:c._lngLat)==null?void 0:m.lng,lat:(g=(d=t.target)==null?void 0:d._lngLat)==null?void 0:g.lat,properties:h[p].properties},p===h.length-1?void 0:h[p+1])}},handleDragEnd(t){var a,r,i,l,n,s,c,m,d,g;const e=(r=(a=t.target)==null?void 0:a._element)==null?void 0:r.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(h=>h.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(h=>{var f;return((f=h._element)==null?void 0:f.id)===e})[0].setLngLat([(l=(i=t.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(s=(n=t.target)==null?void 0:n._lngLat)==null?void 0:s.lat]);const p=u.features.filter(h=>h.geometry.type==="Point"&&h.properties.id===e.split("-")[1])[0];p.geometry.coordinates=[(m=(c=t.target)==null?void 0:c._lngLat)==null?void 0:m.lng,(g=(d=t.target)==null?void 0:d._lngLat)==null?void 0:g.lat],u.features=u.features.filter(h=>h.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(t){var a,r,i,l;t.preventDefault(),(a=this.contextmenu)==null||a.remove();const e=(l=(i=(r=t.originalEvent)==null?void 0:r.target)==null?void 0:i.parentElement)==null?void 0:l.id;if((e==null?void 0:e.split("-").length)===2){const s=this.geojson.filter(c=>c.id===e.split("-")[0])[0].features.filter(c=>c.geometry.type==="Point");if(s.length>2&&s.filter(m=>m.properties.id===(e==null?void 0:e.split("-")[1]))[0]){const m=document.createElement("div");m.className="idm-gl4-measure-contextmenu-marker",m.innerHTML=`<span id="del-${e}" class="del-point">${this.$t("actions.detele")}</span>`,this.contextmenu=new pe.Marker(m).setOffset([24,0]).setLngLat([t.lngLat.lng,t.lngLat.lat]).addTo(this.map)}}},handleClick(t){var a,r,i,l,n,s;(a=this.contextmenu)==null||a.remove();const e=t.originalEvent.target.className;if(e==="marker-close"){const c=(i=(r=t.originalEvent)==null?void 0:r.srcElement)==null?void 0:i.id,m=this.geojson.filter(d=>d.id===c)[0];m&&this.handleClear(m,!0),this.geojson=this.geojson.filter(d=>d.id!==c),!this.toggle&&!((l=this.geojson)!=null&&l.some(d=>d.closed))&&this.handleUnbind()}else if(e==="del-point"){const c=(s=(n=t.originalEvent.target.id)==null?void 0:n.replace("del-",""))==null?void 0:s.split("-"),m=this.geojson.filter(d=>d.id===c[0])[0];m.features=m.features.filter(d=>d.geometry.type==="Point"&&d.properties.id!==c[1]),this.handlePointUpdate(m)}else if(e!=="marker-label"&&this.toggle){let c=this.geojson.at(-1);c||(c=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(c)),c.features=c.features.filter(d=>d.geometry.type==="Point");const m=E.feature({type:"Point",coordinates:[t.lngLat.lng,t.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation,sumLabel:"Start"});c.features.push(m),this.handlePointUpdate(c)}},handlePointUpdate(t){const e=t.features;if(e.length>1){let a=0;const r=[];for(let i=1;i<e.length;i++){const l=e[i-1],n=e[i],s=l.properties,c={lng:l.geometry.coordinates[0],lat:l.geometry.coordinates[1]},m={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},d=P.LaneHelper.calculateDistance(c,m,s.mode==="RL",4),g=P.LaneHelper.calculateBearing(c,m,s.mode==="RL",2);a=P.LngLatHelper.roundPrecision(a+d,4);let u;s.mode==="RL"?u=P.LngLatHelper.convertToMonotonicLng([c,m]):u=P.LngLatHelper.convertToMonotonicLng(P.LaneHelper.interpolateCoordinates(c,m,200));const y=E.lineString(u.map(h=>[h.lng,h.lat]));y.properties.dist=d,y.properties.bearing=g,y.properties.total=a,y.properties.name="Line "+this.currentLineIndex,r.push(y);const p=e[i];p.properties.totalDist=P.LngLatHelper.roundPrecision((s.totalDist?s.totalDist:0)+d,4),p.properties.sumLabel=p.properties.totalDist+" nm"}e.push(...r),t.total=a}return this.handleRender(t),t},handleTmpPointUpdate(t,e,a,r){const i=E.featureCollection([]);let l,n;if(e){const c=e.properties,m={lng:e.geometry.coordinates[0],lat:e.geometry.coordinates[1]},d={lng:a.lng,lat:a.lat};l=P.LaneHelper.calculateDistance(m,d,c.mode==="RL",4),n=P.LaneHelper.calculateBearing(m,d,c.mode==="RL",2);let g;c.mode==="RL"?g=P.LngLatHelper.convertToMonotonicLng([m,d]):g=P.LngLatHelper.convertToMonotonicLng(P.LaneHelper.interpolateCoordinates(m,d,200));const u=E.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}if(r){const c=a.properties,m=a,d={lng:r.geometry.coordinates[0],lat:r.geometry.coordinates[1]};l=P.LaneHelper.calculateDistance(m,d,c.mode==="RL",4),n=P.LaneHelper.calculateBearing(m,d,c.mode==="RL",2);let g;c.mode==="RL"?g=P.LngLatHelper.convertToMonotonicLng([m,d]):g=P.LngLatHelper.convertToMonotonicLng(P.LaneHelper.interpolateCoordinates(m,d,200));const u=E.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist}nm / {bearing}°","text-rotation-alignment":"map","text-size":11,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});let s;if(r)s=`<div class="marker-label">${this.$t("measure.dragTips")}</div>`;else{const c=P.LngLatHelper.roundPrecision((t.total??0)+l,1);s=`<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${c}</b>nm, ${this.$t("measure.bearing")}: <b>${n}</b>°</div><div class="marker-label"> ${this.$t("measure.mode")}${this.navigation==="RL"?"RL":"GC"}, ${this.$t("measure.switchTips")}</div><div class="marker-label">${this.$t("measure.clickTips")}</div>`}if(this.tipMarker)this.tipMarker._element.innerHTML=s,this.tipMarker.setLngLat([a.lng,a.lat]);else{const c=document.createElement("div");c.className="idm-gl4-measure-tip-marker",c.innerHTML=s,this.tipMarker=new pe.Marker(c).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(t){this.map.getCanvas().style.cursor="crosshair";let e=this.geojson.at(-1);e||(e=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e));const a=e.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(e,a.at(-1),{lng:t.lngLat.lng,lat:t.lngLat.lat})},handleDblClick(t){t.preventDefault();let e=this.geojson.at(-1);e.closed=!0,this.handleRender(e),e=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e),this.currentLineIndex++},handleRender(t){var e;if((e=t==null?void 0:t.features)!=null&&e.length){const a=`${t.id}-${this.source}`,r=`${t.id}-${this.layer}`,i=`${t.id}-${this.labelLayer}`,l=`${t.id}-${this.sumLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(t):this.map.addSource(a,{type:"geojson",data:t}),this.handleClear(t,!1),this.map.addLayer({id:r,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist}nm / {bearing}°","text-rotation-alignment":"map","text-size":11,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}}),this.map.addLayer({id:l,type:"symbol",source:a,filter:["==","$type","Point"],layout:{"text-field":"{sumLabel}","text-rotation-alignment":"map","text-size":12,"text-offset":[0,1.5]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});const n=t.features.filter(s=>s.geometry.type==="Point");for(const s of n){const c=document.createElement("div");c.id=`${t.id}-${s.properties.id}`,c.className=`${t.closed?"idm-gl4-measure-marker closed":"idm-gl4-measure-marker"}`,c.innerHTML='<div class="marker-circle"></div>';const m=new pe.Marker({element:c,draggable:!0,contextmenu:!0}).setLngLat(s.geometry.coordinates).addTo(this.map);m.on("drag",this.handleDrag),m.on("dragend",this.handleDragEnd),this.pointMarkers[t.id]?this.pointMarkers[t.id].push(m):this.pointMarkers[t.id]=[m]}if(t.closed){const s=n.at(-1),m=t.features.filter(g=>g.geometry.type==="LineString").at(-1),d=document.createElement("div");d.className="idm-gl4-measure-summary-marker",d.innerHTML=`<div class="marker-label">${m.properties.name}</div><div id="${t.id}" class="marker-close">X</div>`,this.closeMarkers[t.id]=new pe.Marker(d).setOffset([0,-30]).setLngLat(s.geometry.coordinates).addTo(this.map)}}},handleClear(t,e=!0){var n,s,c,m,d,g,u,y,p,h;const a=`${t.id}-${this.source}`,r=`${t.id}-${this.layer}`,i=`${t.id}-${this.labelLayer}`,l=`${t.id}-${this.sumLayer}`;(n=this.map)!=null&&n.getLayer(r)&&this.map.removeLayer(r),(s=this.map)!=null&&s.getLayer(i)&&this.map.removeLayer(i),(c=this.map)!=null&&c.getLayer(l)&&this.map.removeLayer(l),(m=this.map)!=null&&m.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(d=this.map)!=null&&d.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(g=this.closeMarkers[t.id])==null||g.remove(),this.closeMarkers[t.id]=void 0,(u=this.pointMarkers[t.id])==null||u.forEach(f=>{f==null||f.remove()}),this.pointMarkers[t.id]=[],(y=this.tipMarker)==null||y.remove(),this.tipMarker=void 0,e&&((p=this.map)!=null&&p.getSource(a))&&this.map.removeSource(a),e&&((h=this.map)!=null&&h.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}},Ju={class:"idm-gl4-measure"};function Ku(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",Ju,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+166+"px",right:i.right+"px"})},[o.createVNode(s,{text:t.$t("measure.measure"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:c})=>[o.createVNode(n,o.mergeProps(c,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>e[0]||(e[0]=[o.createElementVNode("i",{class:"iconfont icon-a-Measuredistance text-h4"},null,-1)])),_:2,__:[0]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4)])}const Qu=Q(Uu,[["render",Ku]]),Ob="",qu={name:"IdmDrawMarker",props:{map:{type:Object},gateway:{type:String},token:{type:String},simple:{type:Boolean,default:!1},top:{type:Number,default:60},paddingTop:{type:Number,default:48},right:{type:Number,default:10},menuToggle:{type:Object,default:()=>({})},editLayer:{type:Object,default:null},group:{type:Object,default:()=>({})}},emits:["close","save","hideLayer"],setup(){return{Theme:be.useTheme()}},data(){var t;return{markerType:"Point",form:{latDegree:"",latMinute:"",latDir:"N",lngDegree:"",lngMinute:"",lngDir:"E",areaType:"Polygon",color:(t=this.Theme.current.value.colors)==null?void 0:t["map-green"],name:""},formRules:{lngDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,3}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=180||"0 ~ 180"],lngMinute:[e=>e==null||e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e==null||e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],latDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,2}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=90||"0 ~ 90"],latMinute:[e=>e==null||e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e==null||e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],color:[e=>e!=null&&e!==""||"required"],name:[e=>e!=null&&e!==""||"required"]},saving:!1,drawSource:"draw-marker-source",drawPointLayer:"draw-marker-point-layer",drawLineLayer:"draw-marker-line-layer",drawFillLayer:"draw-marker-fill-layer",drawTmpSource:"draw-marker-tmp-source",drawTmpLayer:"draw-marker-tmp-layer",drawCoords:[],rectCornerMarkers:[],polygonVertexMarkers:[],circleMarkers:[],drawRadiusSource:"draw-marker-radius-source",drawRadiusLayer:"draw-marker-radius-layer",tipMarker:null,pointMarker:null,pointHighlightMarker:null,editMarkers:[],deleteBtn:null,originalProperties:{}}},watch:{markerType:{handler(){var t;(t=this.editLayer)!=null&&t.id||(this.markerType==="Area"?this.form.name=`${this.form.areaType} 1`:this.form.name=`${this.markerType} 1`,this.handleClearDraw())},immediate:!0},"form.areaType"(){var t;(t=this.editLayer)!=null&&t.id||(this.markerType==="Area"?this.form.name=`${this.form.areaType} 1`:this.form.name=`${this.markerType} 1`,this.handleClearDraw())},map:{handler(){var t;this.map&&(this.handleBindMap(),(t=this.editLayer)!=null&&t.id&&this.loadEditLayer())},immediate:!0},"form.color":{handler(){this.handleChangePoint(),this.handleUpdateLayerColors()},immediate:!0}},beforeUnmount(){this.handleClearDraw(!0),this.handleUnbindMap()},methods:{handleClose(){this.handleClearDraw(!0),this.handleUnbindMap(),this.$emit("close")},handleBindMap(){var t,e;this.map&&(this.markerType==="Point"?(this.map.on("click",this.handleMapClickPoint),this.map.getCanvas().style.cursor="crosshair"):this.markerType==="Line"&&!((t=this.editLayer)!=null&&t.id)?(this.map.on("click",this.handleMapClickLine),this.map.on("mousemove",this.handleMapMoveLine),this.map.on("dblclick",this.handleMapDblClickLine),this.map.getCanvas().style.cursor="crosshair"):this.markerType==="Area"&&!((e=this.editLayer)!=null&&e.id)&&(this.form.areaType==="Polygon"?(this.map.on("click",this.handleMapClickPolygon),this.map.on("mousemove",this.handleMapMovePolygon),this.map.on("dblclick",this.handleMapDblClickPolygon)):this.form.areaType==="Circle"?(this.map.on("click",this.handleMapClickCircle),this.map.on("mousemove",this.handleMapMoveCircle)):this.form.areaType==="Rect"&&(this.map.on("click",this.handleMapClickRect),this.map.on("mousemove",this.handleMapMoveRect)),this.map.getCanvas().style.cursor="crosshair"))},handleUnbindMap(){this.map&&(this.map.off("click",this.handleMapClickPoint),this.map.off("click",this.handleMapClickLine),this.map.off("mousemove",this.handleMapMoveLine),this.map.off("dblclick",this.handleMapDblClickLine),this.map.off("click",this.handleMapClickPolygon),this.map.off("mousemove",this.handleMapMovePolygon),this.map.off("dblclick",this.handleMapDblClickPolygon),this.map.off("click",this.handleMapClickCircle),this.map.off("mousemove",this.handleMapMoveCircle),this.map.off("click",this.handleMapClickRect),this.map.off("mousemove",this.handleMapMoveRect),this.map.getCanvas().style.cursor="grab")},handleRebindMap(){this.handleUnbindMap(),this.handleBindMap()},loadEditLayer(){var i,l,n,s,c,m;if(!((i=this.editLayer)!=null&&i.extend)||!this.map)return;const t=typeof this.editLayer.extend=="string"?JSON.parse(this.editLayer.extend):this.editLayer.extend;if(!t)return;const a=(t.features||(t.type==="Feature"?[t]:[]))[0];if(!a)return;this.originalProperties=a.properties||{},this.form.name=this.editLayer.name||"",this.form.color=this.editLayer.color||((l=this.originalProperties)==null?void 0:l.color)||((n=this.Theme.current.value.colors)==null?void 0:n["map-green"])||"#4CAF50";const r=(s=a.geometry)==null?void 0:s.type;if(r==="Point"){this.markerType="Point";const[d,g]=a.geometry.coordinates;this.drawCoords=[[d,g]],this.form.latDegree=Number(P.LngLatHelper.lat2pretty(g).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(g).minute),this.form.latDir=P.LngLatHelper.lat2pretty(g).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(d).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(d).minute),this.form.lngDir=P.LngLatHelper.lng2pretty(d).direction,this.handleRenderPoint(this.drawCoords,this.form.color),this.setupPointEdit()}else r==="LineString"?(this.markerType="Line",this.$nextTick(()=>{this.handlerRenderEditLine(a),this.setupLineEdit(),this.handleUnbindMap()})):r==="Polygon"&&(this.markerType="Area",this.form.areaType=(m=(c=this.originalProperties)==null?void 0:c.shape)==null?void 0:m.toLowerCase(),this.$nextTick(()=>{this.handlerRenderEditPolygon(t),this.setupPolygonEdit(a),this.handleUnbindMap()}));this.$emit("hideLayer",this.editLayer.id)},setupPointEdit(){var a;if(!this.pointMarker)return;this.pointMarker.setDraggable(!0),this.pointMarker.off("drag",this.handlePointDrag),this.pointMarker.on("drag",this.handlePointDrag),this.pointMarker.off("dragend",this.handlePointDrag),this.pointMarker.on("dragend",this.handlePointDrag),(a=this.pointHighlightMarker)==null||a.remove();const t=document.createElement("div");t.className="idm-gl4-point-center-ring";const e=this.pointMarker.getLngLat();this.pointHighlightMarker=new pe.Marker({element:t,anchor:"center",offset:[0,0]}).setLngLat(e).addTo(this.map),this.pointMarker.on("drag",()=>{var r;(r=this.pointHighlightMarker)==null||r.setLngLat(this.pointMarker.getLngLat())})},handlePointDrag(){const{lng:t,lat:e}=this.pointMarker.getLngLat();this.drawCoords=[[t,e]],this.form.latDegree=Number(P.LngLatHelper.lat2pretty(e).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(e).minute),this.form.latDir=P.LngLatHelper.lat2pretty(e).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(t).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(t).minute),this.form.lngDir=P.LngLatHelper.lng2pretty(t).direction},clearEditMarkers(){this.editMarkers.forEach(t=>t.remove()),this.editMarkers=[],this._edgeContextMenuHandler&&this.map&&(this.map.off("contextmenu",this._edgeContextMenuHandler),this._edgeContextMenuHandler=null)},handlerRenderEditLine(t){this.drawCoords=t.geometry.coordinates.map(r=>[...r]);const e=E.featureCollection([t,...this.drawCoords.map(r=>E.point(r))]);this.handleSetDrawSource(e);const a=3;this.map.getLayer(this.drawLineLayer)||this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":a}})},setupLineEdit(){this.clearEditMarkers(),this.drawCoords.forEach((e,a)=>{const r=document.createElement("div");r.className="idm-gl4-edit-vertex",r.style.backgroundColor=this.form.color;const i=new pe.Marker({element:r,draggable:!0}).setLngLat(e).addTo(this.map);i.on("dragstart",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:l,lat:n}=i.getLngLat();this.handleRenderVertexLabel([l,n],40)}),i.on("drag",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:l,lat:n}=i.getLngLat();this.handleUpdateVertexLabel([l,n]),this.drawCoords[a]=[l,n],this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color}))}),i.on("dragend",()=>{this.map.getCanvas().style.cursor="grab";const{lng:l,lat:n}=i.getLngLat();this.drawCoords[a]=[l,n],this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.handleClearVertexLabels()}),r.addEventListener("contextmenu",l=>{l.preventDefault(),l.stopPropagation(),this.drawCoords.length>2&&this.showDeleteButton(e,()=>{this.drawCoords.splice(a,1),this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.setupLineEdit()})}),this.editMarkers.push(i)});const t=e=>{e.preventDefault();const{lng:a,lat:r}=e.lngLat,i=E.point([a,r]),l=E.lineString(this.drawCoords),n=E.nearestPointOnLine(l,i);if(n){const s=n.properties.index;this.showDeleteButton([a,r],()=>{this.drawCoords.splice(s+1,0,[a,r]),this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.setupLineEdit()},this.$t("actions.add")||"新增","add")}};this.map.on("contextmenu",t),this._edgeContextMenuHandler=t},showDeleteButton(t,e,a,r="delete"){this.hideDeleteButton();const i=this.map.getContainer(),l=document.createElement("button");l.textContent=a||this.$t("actions.delete"),l.className=r==="add"?"idm-gl4-edit-add-btn":"idm-gl4-edit-delete-btn";const n=this.map.project(t);l.style.left=`${n.x}px`,l.style.top=`${n.y}px`;const s=c=>{c.stopPropagation(),e(),this.hideDeleteButton()};l.addEventListener("click",s),i.appendChild(l),this.deleteBtn=l,this.map.once("click",()=>this.hideDeleteButton())},hideDeleteButton(){this.deleteBtn&&(this.deleteBtn.remove(),this.deleteBtn=null)},handlerRenderEditPolygon(t){this.handleSetDrawSource(t);const e=3;this.map.getLayer(this.drawFillLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-width",e),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":e}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},setupPolygonEdit(t){this.clearEditMarkers();const e=t.geometry.coordinates[0].slice(0,-1);this.drawCoords=e.map(r=>[...r]),this.drawCoords.forEach((r,i)=>{const l=document.createElement("div");l.className="idm-gl4-edit-vertex",l.style.backgroundColor=this.form.color;const n=new pe.Marker({element:l,draggable:!0}).setLngLat(r).addTo(this.map);n.on("dragstart",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:s,lat:c}=n.getLngLat();this.handleRenderVertexLabel([s,c])}),n.on("drag",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:s,lat:c}=n.getLngLat();this.handleUpdateVertexLabel([s,c]),this.drawCoords[i]=[s,c],this.handleRenderPolygonFill(this.drawCoords)}),n.on("dragend",()=>{this.map.getCanvas().style.cursor="grab";const{lng:s,lat:c}=n.getLngLat();this.drawCoords[i]=[s,c],this.handleRenderPolygonFill(this.drawCoords),this.handleClearVertexLabels()}),l.addEventListener("contextmenu",s=>{s.preventDefault(),s.stopPropagation(),this.drawCoords.length>3&&this.showDeleteButton(r,()=>{this.drawCoords.splice(i,1),this.handleRenderPolygonFill(this.drawCoords),this.handleClearVertexLabels(),this.setupPolygonEdit({geometry:{type:"Polygon",coordinates:[[...this.drawCoords,this.drawCoords[0]]]},properties:this.originalProperties})})}),this.editMarkers.push(n)});const a=r=>{r.preventDefault();const{lng:i,lat:l}=r.lngLat,n=E.point([i,l]),s=E.lineString([...this.drawCoords,this.drawCoords[0]]),c=E.nearestPointOnLine(s,n);if(c){const m=c.properties.index,d=m>=this.drawCoords.length-1?this.drawCoords.length-1:m;this.showDeleteButton([i,l],()=>{this.drawCoords.splice(d+1,0,[i,l]),this.handleRenderPolygonFill(this.drawCoords),this.handleClearVertexLabels(),this.setupPolygonEdit({geometry:{type:"Polygon",coordinates:[[...this.drawCoords,this.drawCoords[0]]]},properties:this.originalProperties})},this.$t("actions.add")||"新增","add")}};this.map.on("contextmenu",a),this._edgeContextMenuHandler=a},handleMapClickPoint(t){var r;const{lng:e,lat:a}=t.lngLat;this.drawCoords=[[e,a]],this.form.latDegree=Number(P.LngLatHelper.lat2pretty(a).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(a).minute),this.form.latDir=P.LngLatHelper.lat2pretty(a).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(e).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(e).minute),this.form.lngDir=P.LngLatHelper.lng2pretty(e).direction,this.handleRenderPoint(this.drawCoords,this.form.color),(r=this.editLayer)!=null&&r.id&&this.setupPointEdit()},handleChangePoint(){var u;const{latDegree:t,latMinute:e,latDir:a,lngDegree:r,lngMinute:i,lngDir:l}=this.form,n=parseFloat(t),s=parseFloat(e),c=parseFloat(r),m=parseFloat(i);if(isNaN(n)||isNaN(c))return;const d=(n+(isNaN(s)?0:s)/60)*(a==="S"?-1:1),g=(c+(isNaN(m)?0:m)/60)*(l==="W"?-1:1);this.drawCoords=[[g,d]],this.handleRenderPoint(this.drawCoords,this.form.color),(u=this.editLayer)!=null&&u.id&&this.setupPointEdit()},handleRenderPoint(t,e){var i;if((i=this.pointMarker)==null||i.remove(),!t||!t.length)return;const[a,r]=t[0];this.pointMarker=new pe.Marker({color:e}).setLngLat([a,r]).addTo(this.map)},handleMapClickLine(t){var r;const{lng:e,lat:a}=t.lngLat;this.drawCoords.push([e,a]),this.handleRenderLine(this.drawCoords),(r=this.editLayer)!=null&&r.id&&this.setupLineEdit()},handleMapMoveLine(t){if(!this.drawCoords.length)return;const{lng:e,lat:a}=t.lngLat;this.handleRenderTmpLine(this.drawCoords.at(-1),[e,a])},handleMapDblClickLine(t){t.preventDefault(),this.drawCoords.length>1&&this.drawCoords.pop(),this.handleRenderLine(this.drawCoords),this.handleClearTmp(),this.map.off("click",this.handleMapClickLine),this.map.off("mousemove",this.handleMapMoveLine),this.map.off("dblclick",this.handleMapDblClickLine)},handleRenderLine(t){if(!t||t.length<1)return;const e=[];t==null||t.forEach((i,l)=>{e.push(P.GeoJsonHelper.drawPoint(i==null?void 0:i[1],i==null?void 0:i[0]))}),(t==null?void 0:t.length)>=2&&e.push(P.GeoJsonHelper.drawLine(t));const a=2,r=E.featureCollection(e);this.handleSetDrawSource(r),this.map.getLayer(this.drawLineLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-color",this.form.color),this.map.setPaintProperty(this.drawLineLayer,"line-width",a),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":a}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},handleRenderTmpLine(t,e){const a=P.GeoJsonHelper.drawLine([t,e]),r=E.featureCollection([a]);this.map.getSource(this.drawTmpSource)?this.map.getSource(this.drawTmpSource).setData(r):this.map.addSource(this.drawTmpSource,{type:"geojson",data:r}),this.map.getLayer(this.drawTmpLayer)||this.map.addLayer({id:this.drawTmpLayer,type:"line",source:this.drawTmpSource,layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":2,"line-dasharray":[3,2]}});const i={lng:t[0],lat:t[1]},l={lng:e[0],lat:e[1]},n=P.LaneHelper.calculateDistance(i,l,!0,2),s=P.LaneHelper.calculateBearing(i,l,!0,2);let c=0;for(let d=1;d<this.drawCoords.length;d++){const g={lng:this.drawCoords[d-1][0],lat:this.drawCoords[d-1][1]},u={lng:this.drawCoords[d][0],lat:this.drawCoords[d][1]};c+=P.LaneHelper.calculateDistance(g,u,!0,4)}c=P.LngLatHelper.roundPrecision(c+n,1);const m=`
|
|
637
|
+
</svg>`,he=document.createElement("div");he.className="idm-tropical-gl4-hourly-marker",he.innerHTML=`<div class="${V.geometry.coordinates[1]>=0?"center north":"center south"}">${ee}</div>`;const ge=new pe.Marker(he).setLngLat(V.geometry.coordinates).addTo(this.map);this.interpolateMarkers.push(ge)}this.handleUpdateMarkerVisibility(),this.$emit("tropicalCenterPoints",K)}else(S=this.map)!=null&&S.getSource(this.interpolateSource)&&((Z=this.map)==null||Z.getSource(this.interpolateSource).setData(this.empty))},handleClick(t){var i,l,n,s,c,m,d,g,u,y,p,h,f,x,v,b,k;const e=t.features[0],a=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(A=>{var L;return A.geometry.type==="LineString"&&A.properties.type==="forecast"&&A.properties.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)}),r=(s=(n=this.tropicals)==null?void 0:n.data)==null?void 0:s.features.filter(A=>{var L;return A.geometry.type==="LineString"&&A.properties.type==="history"&&A.properties.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)});this.activeTropicals={name:((c=e==null?void 0:e.properties)==null?void 0:c.name)||"-",nameCn:((m=e==null?void 0:e.properties)==null?void 0:m.nameCn)||((d=e==null?void 0:e.properties)==null?void 0:d.name)||"-",Name:((g=e==null?void 0:e.properties)==null?void 0:g.Name)||"-",forecasts:a.map(A=>A.properties),history:(u=r[0])==null?void 0:u.properties,showCircle:(p=(y=a[0])==null?void 0:y.properties)==null?void 0:p.showCircle,checked:(x=(f=(h=this.tropicals)==null?void 0:h.list)==null?void 0:f.find(A=>{var L;return A.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)}))==null?void 0:x.checked,tropicalId:(k=(b=(v=this.tropicals)==null?void 0:v.list)==null?void 0:b.find(A=>{var L;return A.name===((L=e==null?void 0:e.properties)==null?void 0:L.name)}))==null?void 0:k.id},this.showTropicalsInfo=!0,this.simple||this.drawTropicalsInfoMaker([t.lngLat.lng,t.lngLat.lat])},drawTropicalsInfoMaker(t){this.$nextTick(()=>{const e=document.getElementById("idm-tropical-gl4-info");this.activeTropicalsMarker?this.activeTropicalsMarker.setLngLat(t).setOffset([220,0]):this.activeTropicalsMarker=new pe.Marker(e).setLngLat(t).setOffset([220,0]).addTo(this.map)})},handleCloseInfoMarker(){this.showTropicalsInfo=!1,this.$nextTick(()=>{var t;(t=this.activeTropicalsMarker)==null||t.remove(),this.activeTropicalsMarker=void 0})},handleForecastToggle(t){var r,i,l,n,s,c;t.disabled=!t.disabled;const e=`${t.name}-${t.model}`,a=(i=(r=this.map)==null?void 0:r.getSource(this.source)._data)==null?void 0:i.features;a.forEach(m=>{m.properties.category===e&&(m.properties.disabled=t.disabled)}),this.interpolateData.forEach(m=>{m.properties.category===e&&(m.properties.disabled=t.disabled)}),(n=(l=this.map)==null?void 0:l.getSource(this.source))==null||n.setData(E.featureCollection(a)),(c=(s=this.map)==null?void 0:s.getSource(this.clusterSource))==null||c.setData(E.featureCollection(a)),this.handleDateChange()},handleReport(t){this.$emit("tropicalReport",t)},handleToggleCircles(t){var e,a;t.showCircle=!t.showCircle,(a=(e=this.tropicals.data)==null?void 0:e.features)==null||a.forEach(r=>{r.properties.name===t.name&&(r.properties.showCircle=t.showCircle)}),this.handleRender()},handleComputePolygons(t){const e=[];for(const a of t){const r=a.properties.wind,i={ne:r.r7ne>=0?r.r7ne:void 0,se:r.r7se>=0?r.r7se:void 0,sw:r.r7sw>=0?r.r7sw:void 0,nw:r.r7nw>=0?r.r7nw:void 0},l=this.handleComputeArc(a.geometry.coordinates,i,{...a.properties,level:7});e.push(l);const n={ne:r.r10ne>=0?r.r10ne:void 0,se:r.r10se>=0?r.r10se:void 0,sw:r.r10sw>=0?r.r10sw:void 0,nw:r.r10nw>=0?r.r10nw:void 0},s=this.handleComputeArc(a.geometry.coordinates,n,{...a.properties,level:10});e.push(s)}return e},handleComputeArc(t,e,a){var l;const r=[];for(const n in e){const s=e[n]??0;let c;switch(n){case"ne":c=E.lineArc(t,s,0,90,{steps:s>0?32:1,units:"nauticalmiles"});break;case"se":c=E.lineArc(t,s,90,180,{steps:s>0?32:1,units:"nauticalmiles"});break;case"sw":c=E.lineArc(t,s,180,270,{steps:s>0?32:1,units:"nauticalmiles"});break;case"nw":c=E.lineArc(t,s,270,360,{steps:s>0?32:1,units:"nauticalmiles"});break}r.push(...(l=c==null?void 0:c.geometry)==null?void 0:l.coordinates)}const i=E.lineString(r);return E.lineToPolygon(i,{properties:a})},handleHover(t){var i,l,n,s,c;this.map.getCanvas().style.cursor="pointer";const a=this.map.queryRenderedFeatures(t.point,{layers:[this.pointCircleLayer,this.pointCircleLayer+"-border",this.historyPointCircleLayer,this.historyPointCircleLayer+"-border",this.historyPointCircleLayer+"-inner"]})[0];this.hoverPoint=a==null?void 0:a.properties;const r=(l=(i=this.tropicals)==null?void 0:i.data)==null?void 0:l.features.filter(m=>{var d;return m.geometry.type==="LineString"&&m.properties.type==="forecast"&&m.properties.name===((d=a==null?void 0:a.properties)==null?void 0:d.name)});this.hoverPoint&&(this.hoverPoint.lng=a.geometry.coordinates[0],this.hoverPoint.lat=a.geometry.coordinates[1],this.hoverPoint.update=(s=(n=r==null?void 0:r[0])==null?void 0:n.properties)==null?void 0:s.date,(c=this.hoverMarker)==null||c.remove(),this.showHoverPoint=!0,this.$nextTick(()=>{const m=document.getElementById("tropicalHoverMarkerInfo").cloneNode(!0);this.hoverMarker=new pe.Marker(m).setLngLat(a.geometry.coordinates).setOffset([160,0]).addTo(this.map)}))},handleLeave(){var t;this.map.getCanvas().style.cursor="grab",this.showHoverPoint=!1,(t=this.hoverMarker)==null||t.remove(),this.hoverMarker=void 0},handleCheck(){var e,a;const t=(e=this.activeTropicals)==null?void 0:e.tropicalId;t&&de.put(`${this.gateway}/api/arc/meteo2/tropicals/${t}`,{checked:!((a=this.activeTropicals)!=null&&a.checked)},{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(r=>{var i,l,n;((i=r.data)==null?void 0:i.code)===0&&(this.activeTropicals.checked=(n=(l=r.data)==null?void 0:l.data)==null?void 0:n.checked)})}}},Gd={class:"idm-tropical-gl4"},jd={class:"pb-1"},Wd={class:"text-h5 font-weight-600"},Zd={key:0,class:"text-h5 font-weight-600"},Hd={class:"text-body-1"},Xd={class:"text-label"},Od={class:"d-flex justify-space-between align-center"},Yd={class:"w-60"},Ud={class:"text-label pr-1"},Jd={class:"flex-1-1-0"},Kd={class:"text-label pr-1"},Qd={class:"py-2 d-flex justify-space-between align-center"},qd={class:"w-60"},$d={class:"text-label pr-1"},eh={class:"flex-1-1-0"},th={class:"text-label pr-1"},oh={class:"d-flex align-center flex-1-1-100 justify-start mt-n1"},ah={class:"text-label pr-1",style:{width:"70px"}},ih={class:"model-box d-flex justify-end align-center flex-wrap ga-1 pa-1"},rh={key:0,class:"w-100 d-flex justify-space-between align-center px-2"},lh={class:"pa-1"},nh={class:"legend d-flex justify-start align-center py-2"},sh={class:"label"},ch={class:"legend d-flex justify-start align-center py-2"},mh={class:"label"},dh={class:"legend d-flex justify-start align-center py-2"},hh={class:"label"},ph={class:"pa-1"},uh={class:"legend d-flex justify-start align-center py-2"},gh={class:"label"},fh={class:"legend d-flex justify-start align-center py-2"},yh={class:"label"},bh={class:"legend d-flex justify-start align-center py-2"},wh={class:"label"},xh={class:"pa-1"},kh={class:"w-100 legend d-flex justify-start align-center py-2 ga-2"},Ah={class:"label"},Lh={class:"label"},vh={class:"w-100 legend d-flex justify-start align-center py-2"},Ch={class:"label"},_h={class:"w-100 legend d-flex justify-start align-center py-2"},zh={class:"label"},Sh={key:1,class:"my-3 w-100",style:{height:"80px"}},Ph={class:"w-100 d-flex justify-space-between align-center"},Mh={class:"legend d-flex justify-start align-center"},Th={class:"label"},Nh={class:"legend d-flex justify-start align-center"},Eh={class:"label"},Vh={class:"legend d-flex justify-start align-center"},Rh={class:"label"},Dh={class:"legend d-flex justify-start align-center"},Bh={class:"label"},Ih={class:"legend d-flex justify-start align-center"},Fh={class:"label"},Gh={class:"legend d-flex justify-start align-center"},jh={class:"label"},Wh={class:"w-100 d-flex justify-space-between align-center"},Zh={class:"legend d-flex justify-start align-center"},Hh={class:"label"},Xh={class:"legend d-flex justify-start align-center"},Oh={class:"label"},Yh={class:"legend d-flex justify-start align-center"},Uh={class:"label"},Jh={class:"legend d-flex justify-start align-center"},Kh={class:"label"},Qh={class:"d-flex justify-star align-center"},qh={class:"font-weight-600 mr-1"},$h={class:""},ep={class:"d-flex flex-column justify-center align-start ga-2"},tp={key:0,class:"d-flex justify-start align-center"},op={class:"text-label pr-1"},ap={key:1,class:"d-flex justify-start align-center"},ip={class:"text-label pr-1"},rp={key:2,class:"d-flex justify-start align-center"},lp={class:"text-label pr-1"},np={key:3,class:"d-flex justify-start align-center"},sp={class:"text-label pr-1"},cp={key:4,class:"d-flex justify-start align-center"},mp={class:"text-label pr-1"},dp={key:5,class:"d-flex justify-start align-center"},hp={class:"text-label pr-1"},pp={class:"d-flex justify-start align-center"},up={class:"text-label pr-1"},gp={key:6,class:"d-flex justify-start align-center"},fp={class:"text-label pr-1"},yp={key:7,class:"d-flex justify-start align-center"},bp={class:"text-label pr-1"},wp={class:"d-flex justify-start align-center"},xp={class:"text-label pr-1"};function kp(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip"),c=o.resolveComponent("VCardText"),m=o.resolveComponent("VDivider"),d=o.resolveComponent("VIcon"),g=o.resolveComponent("VCardActions"),u=o.resolveComponent("VCard"),y=o.resolveComponent("VCardTitle");return o.openBlock(),o.createElementBlock("div",Gd,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+86+"px",right:i.right+"px"})},[o.createVNode(s,{text:t.$t("tropical.tropicals"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:p})=>[o.createVNode(n,o.mergeProps(p,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>e[3]||(e[3]=[o.createElementVNode("i",{class:"iconfont icon-Tropical text-h4"},null,-1)])),_:2,__:[3]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showTropicalsInfo&&!t.$attrs.hideTropicalsLegend?(o.openBlock(),o.createElementBlock("div",{key:0,id:"idm-tropical-gl4-info",ref:"tropicalsInfo",class:o.normalizeClass(["idm-tropical-gl4-info",a.simple?"page":"dialog"])},[o.createVNode(u,{class:o.normalizeClass(["w-100",a.simple?"rounded-t-4 bg-none":""]),elevation:a.simple?0:16},{default:o.withCtx(()=>[o.createVNode(c,null,{default:o.withCtx(()=>{var p,h,f,x,v,b,k,A,L,C,z,M;return[o.createElementVNode("div",jd,[o.createElementVNode("span",Wd,o.toDisplayString(a.locale==="en"?(p=i.activeTropicals)==null?void 0:p.Name:((h=i.activeTropicals)==null?void 0:h.nameCn)||((f=i.activeTropicals)==null?void 0:f.Name)||"-"),1),(v=(x=i.activeTropicals)==null?void 0:x.history)!=null&&v.levelI18n?(o.openBlock(),o.createElementBlock("span",Zd," , "+o.toDisplayString(t.$t("tropical."+((k=(b=i.activeTropicals)==null?void 0:b.history)==null?void 0:k.levelI18n))),1)):o.createCommentVNode("",!0)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"close",onClick:o.withModifiers(l.handleCloseInfoMarker,["stop"])},{default:o.withCtx(()=>e[4]||(e[4]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[4]},8,["onClick"]),o.createElementVNode("div",Hd,[o.createElementVNode("span",Xd,o.toDisplayString(t.$t("actions.lastUpdate"))+": ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTime(((L=(A=i.activeTropicals)==null?void 0:A.history)==null?void 0:L.updated)||((M=(z=(C=i.activeTropicals)==null?void 0:C.forecasts)==null?void 0:z.filter(T=>!T.disabled)[0])==null?void 0:M.date),a.timeZone)),1)])]}),_:1}),o.createVNode(m),o.createVNode(c,{class:"text-body-1 py-3"},{default:o.withCtx(()=>{var p,h,f,x,v,b,k,A,L;return[o.createElementVNode("div",Od,[o.createElementVNode("div",Yd,[o.createElementVNode("label",Ud,o.toDisplayString(t.$t("weather.windSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((h=(p=i.activeTropicals)==null?void 0:p.history)==null?void 0:h.kts)||"-")+" kts",1),o.createElementVNode("span",null,", BF "+o.toDisplayString(l.computeBF(((x=(f=i.activeTropicals)==null?void 0:f.history)==null?void 0:x.kts)||"-")),1)]),o.createElementVNode("div",Jd,[o.createElementVNode("label",Kd,o.toDisplayString(t.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((b=(v=i.activeTropicals)==null?void 0:v.history)==null?void 0:b.pressure)||"-")+" hPa",1)])]),o.createElementVNode("div",Qd,[o.createElementVNode("div",qd,[o.createElementVNode("label",$d,o.toDisplayString(t.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((k=l.computeMovement(i.activeTropicals))==null?void 0:k.kts)||"-")+" kts",1)]),o.createElementVNode("div",eh,[o.createElementVNode("label",th,o.toDisplayString(t.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((A=l.computeMovement(i.activeTropicals))==null?void 0:A.deg)||"-")+"°",1)])]),o.createElementVNode("div",oh,[o.createElementVNode("label",ah,o.toDisplayString(t.$t("tropical.models"))+" : ",1),o.createElementVNode("div",ih,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((L=i.activeTropicals)==null?void 0:L.forecasts,(C,z)=>(o.openBlock(),o.createBlock(n,{key:z,density:"compact",variant:C.disabled?"text":"flat",color:C.disabled?"":"primary","min-width":30,class:o.normalizeClass(["model text-none text-body-1 px-1",C.disabled?"btn-border-1 btn-bg-1":""]),onClick:o.withModifiers(M=>l.handleForecastToggle(C),["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(C.model),1)]),_:2},1032,["variant","color","class","onClick"]))),128))])])]}),_:1}),o.createVNode(m),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(g,{key:0,class:"d-flex justify-space-between"},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact","prepend-icon":"",variant:"text",color:i.showLegend?"primary":"",class:"text-none text-body-1",onClick:e[0]||(e[0]=o.withModifiers(p=>i.showLegend=!i.showLegend,["stop"]))},{prepend:o.withCtx(()=>e[5]||(e[5]=[o.createElementVNode("i",{class:"iconfont icon-Legend text-h4"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(t.$t("weather.legend")),1)]),_:1},8,["color"]),a.platform==="ops"?(o.openBlock(),o.createBlock(n,{key:0,variant:"text",density:"compact",class:"text-none text-body-1","prepend-icon":"",onClick:e[1]||(e[1]=o.withModifiers(p=>l.handleCheck(),["stop"]))},{prepend:o.withCtx(()=>[i.activeTropicals.checked?(o.openBlock(),o.createBlock(d,{key:0,color:"primary"},{default:o.withCtx(()=>e[6]||(e[6]=[o.createTextVNode("mdi-checkbox-marked",-1)])),_:1,__:[6]})):(o.openBlock(),o.createBlock(d,{key:1,class:"text-label"},{default:o.withCtx(()=>e[7]||(e[7]=[o.createTextVNode("mdi-checkbox-blank-outline",-1)])),_:1,__:[7]}))]),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("status.checked"))+" ",1)]),_:1})):o.createCommentVNode("",!0),o.createVNode(n,{variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:e[2]||(e[2]=o.withModifiers(p=>l.handleReport(i.activeTropicals),["stop"]))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.viewReport")),1)]),_:1})]),_:1}))]),_:1},8,["class","elevation"]),a.simple?(o.openBlock(),o.createElementBlock("div",rh,[o.createElementVNode("div",lh,[o.createElementVNode("div",nh,[e[8]||(e[8]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",sh,o.toDisplayString(t.$t("tropical.td")),1)]),o.createElementVNode("div",ch,[e[9]||(e[9]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",mh,o.toDisplayString(t.$t("tropical.sts")),1)]),o.createElementVNode("div",dh,[e[10]||(e[10]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",hh,o.toDisplayString(t.$t("tropical.sty")),1)])]),o.createElementVNode("div",ph,[o.createElementVNode("div",uh,[e[11]||(e[11]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",gh,o.toDisplayString(t.$t("tropical.ts")),1)]),o.createElementVNode("div",fh,[e[12]||(e[12]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",yh,o.toDisplayString(t.$t("tropical.ty")),1)]),o.createElementVNode("div",bh,[e[13]||(e[13]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",wh,o.toDisplayString(t.$t("tropical.superTy")),1)])]),o.createElementVNode("div",xh,[o.createElementVNode("div",kh,[e[14]||(e[14]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",Ah,o.toDisplayString(t.$t("tropical.history")),1),e[15]||(e[15]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Lh,o.toDisplayString(t.$t("tropical.forecast")),1)]),o.createElementVNode("div",vh,[e[16]||(e[16]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Ch,"35kts "+o.toDisplayString(t.$t("tropical.radii")),1)]),o.createElementVNode("div",_h,[e[17]||(e[17]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",zh,"50kts "+o.toDisplayString(t.$t("tropical.radii")),1)])])])):(o.openBlock(),o.createElementBlock("div",Sh,[o.withDirectives(o.createVNode(u,{elevation:"16"},{default:o.withCtx(()=>[o.createVNode(c,null,{default:o.withCtx(()=>[o.withDirectives(o.createElementVNode("div",{class:o.normalizeClass(["w-100 d-flex flex-column justify-space-between align-center",a.locale==="zhHans"?" ga-2":" ga-3"])},[o.createElementVNode("div",Ph,[o.createElementVNode("div",Mh,[e[18]||(e[18]=o.createElementVNode("div",{class:"icon td"},null,-1)),o.createElementVNode("div",Th,o.toDisplayString(t.$t("tropical.td")),1)]),o.createElementVNode("div",Nh,[e[19]||(e[19]=o.createElementVNode("div",{class:"icon ts"},null,-1)),o.createElementVNode("div",Eh,o.toDisplayString(t.$t("tropical.ts")),1)]),o.createElementVNode("div",Vh,[e[20]||(e[20]=o.createElementVNode("div",{class:"icon sts"},null,-1)),o.createElementVNode("div",Rh,o.toDisplayString(t.$t("tropical.sts")),1)]),o.createElementVNode("div",Dh,[e[21]||(e[21]=o.createElementVNode("div",{class:"icon ty"},null,-1)),o.createElementVNode("div",Bh,o.toDisplayString(t.$t("tropical.ty")),1)]),o.createElementVNode("div",Ih,[e[22]||(e[22]=o.createElementVNode("div",{class:"icon sty"},null,-1)),o.createElementVNode("div",Fh,o.toDisplayString(t.$t("tropical.sty")),1)]),o.createElementVNode("div",Gh,[e[23]||(e[23]=o.createElementVNode("div",{class:"icon supper-ty"},null,-1)),o.createElementVNode("div",jh,o.toDisplayString(t.$t("tropical.superTy")),1)])]),o.createElementVNode("div",Wh,[o.createElementVNode("div",Zh,[e[24]||(e[24]=o.createElementVNode("div",{class:"icon history"},null,-1)),o.createElementVNode("div",Hh,o.toDisplayString(t.$t("tropical.history")),1)]),o.createElementVNode("div",Xh,[e[25]||(e[25]=o.createElementVNode("div",{class:"icon forecast"},null,-1)),o.createElementVNode("div",Oh,o.toDisplayString(t.$t("tropical.forecast")),1)]),o.createElementVNode("div",Yh,[e[26]||(e[26]=o.createElementVNode("div",{class:"icon r7"},null,-1)),o.createElementVNode("div",Uh,"35kts "+o.toDisplayString(t.$t("tropical.radii")),1)]),o.createElementVNode("div",Jh,[e[27]||(e[27]=o.createElementVNode("div",{class:"icon r10"},null,-1)),o.createElementVNode("div",Kh,"50kts "+o.toDisplayString(t.$t("tropical.radii")),1)])])],2),[[o.vShow,i.showLegend]])]),_:1})]),_:1},512),[[o.vShow,i.showLegend]])]))],2)):o.createCommentVNode("",!0),o.withDirectives(o.createVNode(u,{id:"tropicalHoverMarkerInfo",elevation:"16","max-width":"290"},{default:o.withCtx(()=>[o.createVNode(y,null,{default:o.withCtx(()=>{var p,h,f,x;return[o.createElementVNode("div",Qh,[o.createElementVNode("span",qh,o.toDisplayString(a.locale==="en"?(p=i.hoverPoint)==null?void 0:p.Name:((h=i.hoverPoint)==null?void 0:h.nameCn)||((f=i.hoverPoint)==null?void 0:f.Name)),1),o.createElementVNode("span",$h," ["+o.toDisplayString(t.$t("tropical."+((x=i.hoverPoint)==null?void 0:x.levelI18n)))+"]",1)])]}),_:1}),o.createVNode(m),o.createVNode(c,{class:"text-body-1"},{default:o.withCtx(()=>{var p,h,f,x,v,b,k,A,L,C,z,M,T,N,F,O,q,$,le,S;return[o.createElementVNode("div",ep,[((p=i.hoverPoint)==null?void 0:p.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",tp,[o.createElementVNode("label",op,o.toDisplayString(t.$t("tropical.updated"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((h=i.hoverPoint)==null?void 0:h.update,a.timeZone)),1)])):o.createCommentVNode("",!0),((f=i.hoverPoint)==null?void 0:f.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",ap,[o.createElementVNode("label",ip,o.toDisplayString(t.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((x=i.hoverPoint)==null?void 0:x.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((v=i.hoverPoint)==null?void 0:v.type)==="history"?(o.openBlock(),o.createElementBlock("div",rp,[o.createElementVNode("label",lp,o.toDisplayString(t.$t("tropical.forecast"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computeTzTime((b=i.hoverPoint)==null?void 0:b.date,a.timeZone)),1)])):o.createCommentVNode("",!0),((k=i.hoverPoint)==null?void 0:k.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",np,[o.createElementVNode("label",sp,o.toDisplayString(t.$t("tropical.model"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((A=i.hoverPoint)==null?void 0:A.model)??"-"),1)])):o.createCommentVNode("",!0),((L=i.hoverPoint)==null?void 0:L.type)==="forecast"?(o.openBlock(),o.createElementBlock("div",cp,[o.createElementVNode("label",mp,o.toDisplayString(t.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((z=JSON.parse(((C=i.hoverPoint)==null?void 0:C.wind)||"{}"))==null?void 0:z.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),((M=i.hoverPoint)==null?void 0:M.type)==="history"?(o.openBlock(),o.createElementBlock("div",dp,[o.createElementVNode("label",hp,o.toDisplayString(t.$t("weather.wind"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((T=i.hoverPoint)==null?void 0:T.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",pp,[o.createElementVNode("label",up,o.toDisplayString(t.$t("weather.pressure"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((N=i.hoverPoint)==null?void 0:N.pressure)??"-")+" hPa",1)]),((F=i.hoverPoint)==null?void 0:F.type)==="history"?(o.openBlock(),o.createElementBlock("div",gp,[o.createElementVNode("label",fp,o.toDisplayString(t.$t("tropical.moveSpeed"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((q=JSON.parse(((O=i.hoverPoint)==null?void 0:O.movement)||"{}"))==null?void 0:q.kts)??"-")+" kts",1)])):o.createCommentVNode("",!0),(($=i.hoverPoint)==null?void 0:$.type)==="history"?(o.openBlock(),o.createElementBlock("div",yp,[o.createElementVNode("label",bp,o.toDisplayString(t.$t("tropical.moveDir"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(((S=JSON.parse(((le=i.hoverPoint)==null?void 0:le.movement)||"{}"))==null?void 0:S.deg)??"-")+" °",1)])):o.createCommentVNode("",!0),o.createElementVNode("div",wp,[o.createElementVNode("label",xp,o.toDisplayString(t.$t("tropical.position"))+" : ",1),o.createElementVNode("span",null,o.toDisplayString(l.computePosition(i.hoverPoint)),1)])])]}),_:1})]),_:1},512),[[o.vShow,i.showHoverPoint]])])}const ta=Q(Fd,[["render",kp]]),Zb="",Ap={name:"DateTimePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},bgClass:{type:String,default:""},locale:{type:String,default:"en"},style:{type:Object,default:{}},intervalHour:{type:Number,default:3},timeZone:{type:Number},dateTime:{type:String},dayAbout:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1}},emits:["dateTime","currentTimestamp","currentRealTime","minTimestamp","maxTimestamp"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,minTimestamp:void 0,maxTimestamp:void 0,currentDate:void 0,currentTime:void 0,currentTimestamp:void 0,currentDateTimeZ:void 0,currentDateTime:void 0,currentRealTime:void 0,timer:null}},computed:{getStyle(){const t=this.width||220;return this.position==="top"?{bottom:"40px",left:`-${(420-t)/2}px`}:this.position==="bottom"?{top:"40px",left:`-${(420-t)/2}px`}:this.position==="left"?{bottom:"-140px",left:"-428px"}:this.position==="right"?{bottom:"-140px",right:"-428px"}:{bottom:"40px",left:`-${(420-t)/2}px`}},hourOptions(){const t=[];for(let e=0;e<24;e++)t.push(e<10?`0${e}:00`:`${e}:00`);return t.filter((e,a)=>(a-this.timeZone)%this.intervalHour===0)},timeZoneNames(){return _.tz.names()},timeZoneName(){var t;return(t=this.timeZoneNames.filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"}},watch:{timeZone:{handler(t,e){t!==e&&(this.handleResetDateTime(this.dateTime),this.handleResetMinMax())}},dateTime:{handler(t,e){t&&this.handleResetDateTime(this.dateTime)},immediate:!0},currentTimestamp:{handler(){this.currentDateTimeZ=_(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("dateTime",this.currentDateTimeZ),this.$emit("currentTimestamp",this.currentTimestamp),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},currentRealTime:{handler(t,e){t!==e&&this.$emit("currentRealTime",this.currentRealTime)},immediate:!0}},mounted(){this.timer=setInterval(()=>{this.currentRealTime=`${_.tz(_().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},1e3),document.addEventListener("click",this.handleClickOutside)},unmounted(){clearInterval(this.timer),this.handleCancelDate(),document.removeEventListener("click",this.handleClickOutside)},methods:{handleReset(){this.handleResetDateTime(),this.handleResetMinMax()},handleResetDateTime(t){var i;const e=_(t).utc().date(),a=Math.ceil(_(t).utc().hour()/this.intervalHour)*this.intervalHour;this.currentTimestamp=((i=_(t))==null?void 0:i.utc().set({date:e,hour:a,minute:0,second:0,millisecond:0}).unix())*1e3;const r=_.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=r.clone().format("YYYY-MM-DD"),this.currentTime=r.clone().format("HH:00"),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`,this.currentRealTime=`${_.tz(_().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},handleResetMinMax(){var i,l,n,s,c;if(this.dayAbout.h==null||this.dayAbout.f==null)return;const t=_().utc().date(),e=Math.ceil(_().utc().hour()/this.intervalHour)*this.intervalHour,a=((i=_())==null?void 0:i.utc().set({date:t,hour:e,minute:0,second:0,millisecond:0}).unix())*1e3,r=_.tz(a,this.timeZoneName).clone();this.minDate=r.clone().add(this.dayAbout.h,"day").format("yyyy-MM-DD"),this.maxDate=r.clone().add(this.dayAbout.f,"day").format("yyyy-MM-DD"),this.minTimestamp=((n=(l=_())==null?void 0:l.utc())==null?void 0:n.set({date:t+this.dayAbout.h,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.maxTimestamp=((c=(s=_())==null?void 0:s.utc())==null?void 0:c.set({date:t+this.dayAbout.f,hour:0,minute:0,second:0,millisecond:0}).unix())*1e3,this.$emit("minTimestamp",this.minTimestamp),this.$emit("maxTimestamp",this.maxTimestamp)},handleOpenDatePicker(){this.disabled||(this.showDatePicker=!this.showDatePicker)},handleUpdateMonth(t){const e=t||_.tz(this.currentTimestamp,this.timeZoneName).clone().month(),a=this.locale==="en"?_.tz(this.currentTimestamp,this.timeZoneName).set({month:e}).clone().format("MMM"):_.tz(this.currentTimestamp,this.timeZoneName).set({month:e}).clone().format("M月");this.$nextTick(()=>{const r=document.querySelector(".v-date-picker-controls__month-btn");r.innerText=a})},handleConfirmDate(){const t=_(this.currentDate).format("yyyy-MM-DD"),e=this.currentTime,a=`${t} ${e}`,r=_.tz(a,"YYYY-MM-DD HH:00",this.timeZoneName).clone().tz(this.localTimeZoneName);this.currentTimestamp=r.unix()*1e3,this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1;const t=_.tz(this.currentTimestamp,this.timeZoneName).clone();this.currentDate=t.clone().format("YYYY-MM-DD"),this.currentTime=t.clone().format("HH:00")},handleClickOutside(t){const e=this.$refs.idmGl4Timepicker;e&&!e.contains(t.target)&&(this.showDatePicker=!1)}}},Lp={ref:"idmGl4Timepicker",class:"idm-gl4-time-picker"},vp={class:"pa-0",style:{width:"320px"}},Cp={class:"h-100 pa-0 d-flex flex-column justify-start align-center",style:{width:"100px"}},_p={class:"d-flex justify-center align-center text-body-2",style:{height:"44px"}};function zp(t,e,a,r,i,l){const n=o.resolveComponent("VDatePicker"),s=o.resolveComponent("VDivider"),c=o.resolveComponent("VListItemTitle"),m=o.resolveComponent("VListItem"),d=o.resolveComponent("VList"),g=o.resolveComponent("VCardText"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VCardActions"),p=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",Lp,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:o.normalizeClass([[a.bgClass,{"cursor-pointer":!a.disabled}],"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-center px-2"]),onClick:e[0]||(e[0]=(...h)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...h))},o.toDisplayString(i.currentDateTime)+" | UTC "+o.toDisplayString(a.timeZone<0?a.timeZone:"+"+a.timeZone),7),i.showDatePicker?(o.openBlock(),o.createBlock(p,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(g,{class:"w-100 flex-1-1-0 d-flex pa-0 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",vp,[o.createVNode(n,{modelValue:i.currentDate,"onUpdate:modelValue":e[1]||(e[1]=h=>i.currentDate=h),min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":""},null,8,["modelValue","min","max"])]),o.createVNode(s,{class:"h-100",vertical:""}),o.createElementVNode("div",Cp,[o.createElementVNode("div",_p,o.toDisplayString(t.$t("time.time")),1),o.createVNode(d,{class:"pa-0 flex-1-1-0 scroll"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.hourOptions,(h,f)=>(o.openBlock(),o.createBlock(m,{key:f,value:h,color:"primary",active:i.currentTime===h,rounded:"",height:"26","min-height":"26",class:"rounded-xl",variant:i.currentTime===h?"flat":"text"},{default:o.withCtx(()=>[o.createVNode(c,{class:"text-body-2 font-weight-600 text-center",onClick:x=>i.currentTime=h},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(h),1)]),_:2},1032,["onClick"])]),_:2},1032,["value","active","variant"]))),128))]),_:1})])]),_:1}),o.createVNode(s),o.createVNode(y,{class:"w-100 d-flex justify-end align-center px-4 ga-4",style:{height:"50px"}},{default:o.withCtx(()=>[o.createVNode(u,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(u,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["onClick"])]),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const bo=Q(Ap,[["render",zp]]),Hb="",Sp={name:"IdmPoint",components:{DateTimePicker:bo},props:{simple:{type:Boolean,default:!1},isLogin:{type:Boolean,default:!1},token:{type:String},defaultMeteoToken:{type:String},theme:{type:String,default:"zh"},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}},gateway:{type:String},timeZone:{type:Number},forecastModel:{type:String},realTime:{type:String},followList:{type:Array,default:()=>[]}},emits:["meteoMore","follow","cancelFollow","login"],data(){return{right:10,toggle:!1,showForm:!1,showMeteo:!1,loading:!1,form:{lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:""},formRules:{lngDegree:[t=>t!=null&&t!==""||"required",t=>/^\d{1,3}$/.test(t)||"number",t=>parseInt(t)>=0&&parseInt(t)<=180||"0 ~ 180"],lngMinute:[t=>t===void 0||t===null&&t===""||/^\d{1,2}(\.\d+)?$/.test(t)||"number",t=>t===void 0||t===null&&t===""||parseInt(t)>=0&&parseInt(t)<=59||"0 ~ 59"],latDegree:[t=>t!=null&&t!==""||"required",t=>/^\d{1,2}$/.test(t)||"number",t=>parseInt(t)>=0&&parseInt(t)<=90||"0 ~ 90"],latMinute:[t=>t===void 0||t===null&&t===""||/^\d{1,2}(\.\d+)?$/.test(t)||"number",t=>t===void 0||t===null&&t===""||parseInt(t)>=0&&parseInt(t)<=59||"0 ~ 59"]},meteoData:void 0,currentHourData:{},positionOffset:void 0,positionGmt:void 0,positionMarker:void 0,meteoInfoMarker:void 0}},computed:{timeZoneNames(){return _.tz.names()},timeZoneName(){var t;return(t=this.timeZoneNames.filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},computedTzTime(){return t=>_.tz(_(t),this.timeZoneName).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(this.timeZone>=0?"+":"")+this.timeZone+")"},computedLocalTime(){return t=>{var r,i,l;const e=Number((r=this.positionOffset)==null?void 0:r.slice(1,3))*(((i=this.positionOffset)==null?void 0:i.slice(0,1))==="+"?1:-1),a=(l=this.timeZoneNames.filter(n=>_.tz(_(),n).utcOffset()===e*60))==null?void 0:l[0];return t?_.tz(_(t),a).clone().format("YYYY-MM-DD HHmm")+" (UTC "+(e>=0?"+":"")+e+")":"-"}},computePosition(){return function(t){return!t||t.lng===null||t.lng===void 0||isNaN(t.lng)||t.lat===null||t.lat===void 0||isNaN(t.lat)?"-":P.LngLatHelper.lat2pretty(t==null?void 0:t.lat,2).pretty+" / "+P.LngLatHelper.lng2pretty(t==null?void 0:t.lng,2).pretty}},computeRoundPrecision(){return function(t,e=4){return t==null||isNaN(t)||isNaN(e)?"-":P.LngLatHelper.roundPrecision(t,e)}}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){this.toggle?this.showForm=!0:(this.showForm=!1,this.showMeteo=!1),this.map&&this.handleBind()},immediate:!0},map:{handler(){this.map&&this.toggle&&this.handleBind()}},showForm:{handler(){this.showForm?(this.realTime&&(this.form.dateTime=this.realTime),this.$nextTick(()=>{var t;(t=this.$refs.spotForm)==null||t.resetValidation()})):this.handleCloseForm()}},showMeteo:{handler(){var t,e,a,r,i,l;this.showMeteo?((a=(e=(t=this.$parent)==null?void 0:t.$refs)==null?void 0:e.idmBottomBar)==null||a.handleToggle("spot",!0),this.simple&&this.$nextTick(()=>{var n,s;this.$parent.playerBottom=((s=(n=this.$refs.spotMeteo)==null?void 0:n.$el)==null?void 0:s.clientHeight)+10})):((l=(i=(r=this.$parent)==null?void 0:r.$refs)==null?void 0:i.idmBottomBar)==null||l.handleToggle("spot",!1),this.simple&&(this.$parent.playerBottom=30))}},realTime:{handler(){this.realTime&&(this.form.dateTime=this.realTime,this.showMeteo&&this.fetchData())}},forecastModel:{handler(){this.form.forecastModel=this.forecastModel},immediate:!0},"form.forecastModel":{handler(t,e){!t&&e&&(this.form.forecastModel=e==="GFS"?"ECMWF":"GFS")}}},methods:{handleMenuToggle(){this.isLogin?this.toggle=!this.toggle:this.$emit("login")},submitForm(){this.handleCloseMeteo(),this.$refs.spotForm.validate().then(async t=>{t!=null&&t.valid&&this.fetchData()})},cancelForm(){var t;(t=this.$refs.spotForm)==null||t.reset(),this.form={lng:void 0,lngDegree:void 0,lngMinute:void 0,lngDirection:"E",lat:void 0,latDegree:void 0,latMinute:void 0,latDirection:"N",dateTime:void 0,forecastModel:this.forecastModel}},handleCloseForm(){this.showForm=!1,this.cancelForm(),this.toggle=!1},async fetchData(){var a;this.form.lat=(Number(this.form.latDegree??0)+Number(this.form.latMinute??0)/60)*(this.form.latDirection==="N"?1:-1),this.form.lng=(Number(this.form.lngDegree??0)+Number(this.form.lngMinute??0)/60)*(this.form.lngDirection==="E"?1:-1);const t=_();((a=_(this.realTime))==null?void 0:a.diff(t,"d",!0))>=0?await this.fetchForecastData(this.form):await this.fetchHistoryData(this.form)},async fetchForecastData(t){this.loading=!0,this.showMeteo=!0,this.form.lng=t.lng,this.form.lat=t.lat,this.form.followId=t.followId,this.handleDrawInfoMarker([t.lng,t.lat]),this.meteoData=[];const{weatherModels:e,marineModels:a}=$t.Meteo2Assist.autoPickMeteoModel(t.forecastModel);let r={lat:t.lat,lng:t.lng,datetime:_(t.dateTime).utc().format(),forecastDays:t.day??3,weatherModels:e,marineModels:a};await de.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=t.lng,this.meteoData.lat=t.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1})},async fetchHistoryData(t){this.loading=!0,this.showMeteo=!0,this.form.lng=t.lng,this.form.lat=t.lat,this.form.followId=t.followId,this.handleDrawInfoMarker([t.lng,t.lat]),this.meteoData=[];const{weatherModels:e,marineModels:a}=$t.Meteo2Assist.autoPickMeteoModel(t.forecastModel),r={lat:t.lat,lng:t.lng,datetime:_(t.dateTime).utc().format(),forecastDays:2,pastDays:1,weatherModels:e,marineModels:a};await de.post(`${this.gateway}/api/arc/meteo2/spot/forecast`,r,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(i=>{(i==null?void 0:i.data.code)===0?(this.meteoData=i==null?void 0:i.data.data,this.meteoData.lng=t.lng,this.meteoData.lat=t.lat,this.initTableData(this.meteoData),this.loading=!1):this.loading=!1}).catch(()=>{this.loading=!1}),this.loading=!1},initTableData(t){var a,r,i,l,n,s,c,m,d,g,u,y,p,h,f,x,v,b,k,A,L,C,z,M,T,N,F,O,q,$,le,S,Z,H,te,W,I,K,V,Y,ee,he,ge;this.currentHourData={},this.positionGmt=(r=(a=t==null?void 0:t.weather)==null?void 0:a[0])==null?void 0:r.timezone,this.positionOffset=(l=(i=t==null?void 0:t.weather)==null?void 0:i[0])==null?void 0:l.offset;const e=((n=$t.Meteo2Assist.pickHourly(t,_(this.form.dateTime)))==null?void 0:n[0])||{};this.currentHourData.utc=e.utc,this.currentHourData.lat=t.lat,this.currentHourData.lng=t.lng,this.currentHourData.temp=this.computeRoundPrecision((s=e==null?void 0:e.weather)==null?void 0:s.temp,0)??"-",this.currentHourData.precipProbability=this.computeRoundPrecision((m=(c=e==null?void 0:e.weather)==null?void 0:c.precip)==null?void 0:m.probability,0)??"-",this.currentHourData.precip1h=this.computeRoundPrecision((g=(d=e==null?void 0:e.weather)==null?void 0:d.precip)==null?void 0:g.sum,0)??"-",this.currentHourData.visibility=this.computeRoundPrecision((u=e==null?void 0:e.weather)==null?void 0:u.visibility,0)??"-",this.currentHourData.windSpeed=this.computeRoundPrecision((p=(y=e==null?void 0:e.weather)==null?void 0:y.wind)==null?void 0:p.kts,1)??"-",this.currentHourData.windDir=((f=(h=e==null?void 0:e.weather)==null?void 0:h.wind)==null?void 0:f.direction)??"-",this.currentHourData.windLevel=this.computeRoundPrecision((v=(x=e==null?void 0:e.weather)==null?void 0:x.wind)==null?void 0:v.scale,0)??"-",this.currentHourData.windGust=this.computeRoundPrecision((k=(b=e==null?void 0:e.weather)==null?void 0:b.wind)==null?void 0:k.gusts,1)??"-",this.currentHourData.sigwaveHeight=this.computeRoundPrecision((L=(A=e==null?void 0:e.wave)==null?void 0:A.sig)==null?void 0:L.height,1)??"-",this.currentHourData.sigwaveDir=(z=(C=e==null?void 0:e.wave)==null?void 0:C.sig)==null?void 0:z.direction,this.currentHourData.sigwavePeriod=this.computeRoundPrecision((T=(M=e==null?void 0:e.wave)==null?void 0:M.sig)==null?void 0:T.period,1)??"-",this.currentHourData.windwaveHeight=this.computeRoundPrecision((F=(N=e==null?void 0:e.wave)==null?void 0:N.wd)==null?void 0:F.height,1)??"-",this.currentHourData.windwaveDir=(q=(O=e==null?void 0:e.wave)==null?void 0:O.wd)==null?void 0:q.direction,this.currentHourData.windwavePeriod=this.computeRoundPrecision((le=($=e==null?void 0:e.wave)==null?void 0:$.wd)==null?void 0:le.period,1)??"-",this.currentHourData.swellHeight=this.computeRoundPrecision((Z=(S=e==null?void 0:e.wave)==null?void 0:S.swell)==null?void 0:Z.height,1)??"-",this.currentHourData.swellDir=(te=(H=e==null?void 0:e.wave)==null?void 0:H.swell)==null?void 0:te.direction,this.currentHourData.swellPeriod=this.computeRoundPrecision((I=(W=e==null?void 0:e.wave)==null?void 0:W.swell)==null?void 0:I.period,1)??"-",this.currentHourData.currentSpeed=this.computeRoundPrecision((K=e==null?void 0:e.current)==null?void 0:K.speed,1)??"-",this.currentHourData.currentDir=(V=e==null?void 0:e.current)==null?void 0:V.direction,this.currentHourData.currentSpeed=this.computeRoundPrecision((Y=e==null?void 0:e.current)==null?void 0:Y.speed,1)??"-",this.currentHourData.seaLevel=this.computeRoundPrecision(e==null?void 0:e.height,1)??"-",this.currentHourData.seaTemp=this.computeRoundPrecision(e==null?void 0:e.sst,0)??"-",this.currentHourData.weatherUrls=(ee=e==null?void 0:e.weather)==null?void 0:ee.url,this.currentHourData.sit=(he=e==null?void 0:e.ice)==null?void 0:he.sit,this.currentHourData.sic=this.computeRoundPrecision(((ge=e==null?void 0:e.ice)==null?void 0:ge.sic)*100,0)??"-",this.currentHourData.showIce=t.lat>=65||t.lat<=-65},handleBind(){var t,e;this.toggle?((t=this.map)==null||t.on("click",this.handleClick),this.map&&(this.map.getCanvas().style.cursor="crosshair")):((e=this.map)==null||e.off("click",this.handleClick),this.handleCloseMeteo(),this.map&&(this.map.getCanvas().style.cursor="grab"))},handleClick(t){if(t.originalEvent.stopPropagation(),t.originalEvent.target.className==="mapboxgl-canvas")this.handleGetPosition(t.lngLat),this.$nextTick(()=>{this.fetchData()});else return!1},handleGetPosition(t){if(isNaN(t.lat)||isNaN(t.lng))return!1;this.form.latDegree=Number(P.LngLatHelper.lat2pretty(t.lat).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(t.lat).minute),this.form.latDirection=P.LngLatHelper.lat2pretty(t.lat).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(t.lng).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(t.lng).minute),this.form.lngDirection=P.LngLatHelper.lng2pretty(t.lng).direction},handleDrawInfoMarker(t){this.drawPositionMarker(t),this.simple||this.drawMeteoInfoMarker(t)},drawPositionMarker(t){t&&(this.map.flyTo({center:t,duration:300}),this.$nextTick(()=>{var a,r;(a=this.positionMarker)==null||a.remove();const e=(r=document.getElementById("idm-position-icon"))==null?void 0:r.cloneNode(!0);this.positionMarker=new pe.Marker(e).setLngLat(t).setOffset([0,-15]).addTo(this.map)}))},drawMeteoInfoMarker(t){this.$nextTick(()=>{var a;const e=document.getElementById("idm-gl4-spot-meteo");this.meteoInfoMarker?(a=this.meteoInfoMarker)==null||a.setLngLat(t):this.meteoInfoMarker=new pe.Marker(e).setLngLat(t).setOffset([0,-190]).addTo(this.map)})},handleMeteoMore(){this.form.forecastModel=this.forecastModel,this.$emit("meteoMore",this.form)},handleCloseMeteo(){this.showMeteo=!1,this.$nextTick(()=>{var t,e;(t=this.positionMarker)==null||t.remove(),this.positionMarker=void 0,(e=this.meteoInfoMarker)==null||e.remove(),this.meteoInfoMarker=void 0})},handleFollow(){this.$emit("follow",this.form)},handleCancelFollow(){var e,a,r;const t=((e=this.form)==null?void 0:e.followId)||((r=(a=this.followList)==null?void 0:a.find(i=>{var l,n;return(i==null?void 0:i.id)===this.form.followId||((l=i==null?void 0:i.coordinate)==null?void 0:l.lng)===this.form.lng&&((n=i==null?void 0:i.coordinate)==null?void 0:n.lat)===this.form.lat}))==null?void 0:r.id);this.$emit("cancelFollow",t)}}},Pp={class:"idm-gl4-spot"},Mp={class:"d-flex justify-start align-center"},Tp={class:"text-h6 font-weight-600"},Np={class:"d-flex justify-start align-center ga-1 mb-2"},Ep={class:"text-label"},Vp={class:"w-100 d-flex ma-0"},Rp={class:"w-30 pa-0 d-flex"},Dp={class:"flex-1-1-0 pa-0 d-flex"},Bp={class:"pa-0"},Ip={class:"d-flex justify-start align-center ga-1 mb-2"},Fp={class:"text-label"},Gp={class:"w-100 d-flex ma-0"},jp={class:"w-30 pa-0 d-flex"},Wp={class:"flex-1-1-0 pa-0 d-flex"},Zp={class:"pa-0"},Hp={class:"d-flex justify-start align-center ga-1 mb-2"},Xp={class:"text-label"},Op={class:"d-flex justify-start align-center ga-1 mb-2"},Yp={class:"text-label"},Up={class:"d-flex justify-start align-center"},Jp={class:"mx-2"},Kp={class:"mx-0 py-2 d-flex align-center justify-start"},Qp={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},qp={class:"pa-0 px-0"},$p={class:"mx-0 py-2 d-flex align-center justify-start"},eu={cols:"9",class:"pa-0 px-0"},tu={class:"mx-0 py-2 d-flex align-center justify-start"},ou={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},au={style:{width:"150px"},class:"pa-0 text-left"},iu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},ru={cols:"3",class:"pa-0 px-0 text-left"},lu={class:"mx-0 py-2 d-flex align-center justify-start"},nu={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},su={style:{width:"150px"},class:"pa-0 text-left"},cu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},mu={cols:"3",class:"pa-0 text-left"},du={class:"mx-0 py-2 d-flex align-center justify-start"},hu={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},pu={style:{width:"150px"},class:"pa-0 text-left"},uu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},gu={class:"pa-0 text-left"},fu={key:0,class:"mx-0 py-2 d-flex align-center justify-start"},yu={style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},bu={style:{width:"150px"},class:"pa-0 text-left"},wu={style:{width:"80px"},class:"pa-0 pr-2 text-right opacity-50"},xu={class:"pa-0 text-left"},ku={class:"d-flex justify-space-between align-center"},Au={class:"d-flex justify-start align-center"},Lu={class:"mx-1"},vu={class:"d-flex justify-end align-center"},Cu={class:"mx-0 py-1 d-flex align-center justify-start"},_u={style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},zu={class:"pa-0 px-0"},Su={class:"mx-0 py-1 d-flex align-center justify-start"},Pu={class:"pa-0 px-0"},Mu={class:"gray-bg-2 mx-4 my-2 py-3 px-2 rounded text-font-13 d-flex align-center justify-space-between"},Tu={class:"d-flex flex-column align-start justify-center ga-3"},Nu={class:"text-label pr-2"},Eu={class:"text-label pr-2"},Vu={class:"text-label pr-2"},Ru={key:0},Du={class:"text-label pr-2"},Bu={class:"d-flex flex-column align-start justify-center ga-3"},Iu={class:"text-label pr-2"},Fu={class:"text-label pr-2"},Gu={class:"text-label pr-2"},ju={key:0},Wu={class:"text-label pr-2"},Zu={id:"idm-position-icon"},Hu={class:"multi-color-icon",style:{height:"30px",width:"30px"},"aria-hidden":"true"},Xu=["xlink:href"];function Ou(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip"),c=o.resolveComponent("VCardTitle"),m=o.resolveComponent("VDivider"),d=o.resolveComponent("VTextField"),g=o.resolveComponent("DateTimePicker"),u=o.resolveComponent("VCol"),y=o.resolveComponent("VRow"),p=o.resolveComponent("VBtnToggle"),h=o.resolveComponent("VCardText"),f=o.resolveComponent("VCardActions"),x=o.resolveComponent("VForm"),v=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",Pp,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+"px"})},[o.createVNode(s,{text:t.$t("spot.spotsMeteo"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:b})=>[o.createVNode(n,o.mergeProps(b,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>e[8]||(e[8]=[o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h4"},null,-1)])),_:2,__:[8]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4),i.showForm&&!a.simple?(o.openBlock(),o.createBlock(v,{key:0,class:"spot-form-card",style:o.normalizeStyle({top:a.top+a.paddingTop+126+"px",right:i.right+50+"px"})},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",Mp,[o.createElementVNode("div",Tp,o.toDisplayString(t.$t("spot.spotWeather")),1)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleCloseForm},{default:o.withCtx(()=>e[9]||(e[9]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),o.createVNode(m),o.createVNode(x,{ref:"spotForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.submitForm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(h,{class:"text-body-1 pa-4 py-2"},{default:o.withCtx(()=>[o.createElementVNode("div",Np,[o.createElementVNode("div",Ep,[o.createTextVNode(o.toDisplayString(t.$t("spot.lat")),1),e[10]||(e[10]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createElementVNode("div",Vp,[o.createElementVNode("div",Rp,[o.createVNode(d,{modelValue:i.form.latDegree,"onUpdate:modelValue":e[0]||(e[0]=b=>i.form.latDegree=b),rules:i.formRules.latDegree,label:"",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),e[11]||(e[11]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),o.createElementVNode("div",Dp,[o.createVNode(d,{modelValue:i.form.latMinute,"onUpdate:modelValue":e[1]||(e[1]=b=>i.form.latMinute=b),rules:i.formRules.latMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[12]||(e[12]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),o.createElementVNode("div",Bp,[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:e[2]||(e[2]=b=>i.form.latDirection=i.form.latDirection==="N"?"S":"N")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDirection),1)]),_:1})])]),o.createElementVNode("div",Ip,[o.createElementVNode("div",Fp,[o.createTextVNode(o.toDisplayString(t.$t("spot.lng")),1),e[13]||(e[13]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createElementVNode("div",Gp,[o.createElementVNode("div",jp,[o.createVNode(d,{modelValue:i.form.lngDegree,"onUpdate:modelValue":e[3]||(e[3]=b=>i.form.lngDegree=b),rules:i.formRules.lngDegree,density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[14]||(e[14]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),o.createElementVNode("div",Wp,[o.createVNode(d,{modelValue:i.form.lngMinute,"onUpdate:modelValue":e[4]||(e[4]=b=>i.form.lngMinute=b),rules:i.formRules.lngMinute,label:"",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[15]||(e[15]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),o.createElementVNode("div",Zp,[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:e[5]||(e[5]=b=>i.form.lngDirection=i.form.lngDirection==="E"?"W":"E")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDirection),1)]),_:1})])]),o.createElementVNode("div",Hp,[o.createElementVNode("div",Xp,[o.createTextVNode(o.toDisplayString(t.$t("spot.dateTime")),1),e[16]||(e[16]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(y,{class:"ma-0 mb-4"},{default:o.withCtx(()=>[o.createVNode(u,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(g,o.mergeProps({"date-time":i.form.dateTime,"time-zone":a.timeZone},t.$attrs,{onDateTime:e[6]||(e[6]=b=>i.form.dateTime=b)}),null,16,["date-time","time-zone"])]),_:1})]),_:1}),o.createElementVNode("div",Op,[o.createElementVNode("div",Yp,[o.createTextVNode(o.toDisplayString(t.$t("weather.forecastModel")),1),e[17]||(e[17]=o.createElementVNode("span",{class:"text-danger"},"*",-1))])]),o.createVNode(y,{class:"ma-0"},{default:o.withCtx(()=>[o.createVNode(u,{cols:"12",class:"pa-0"},{default:o.withCtx(()=>[o.createVNode(p,{modelValue:i.form.forecastModel,"onUpdate:modelValue":e[7]||(e[7]=b=>i.form.forecastModel=b),class:"w-100",rounded:"",height:"30",density:"compact",group:"",mandatory:""},{default:o.withCtx(()=>[o.createVNode(n,{density:"compact",height:"30",value:"GFS",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="GFS"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="GFS"?"primary":"","base-color":""},{default:o.withCtx(()=>e[18]||(e[18]=[o.createTextVNode(" NOAA ",-1)])),_:1,__:[18]},8,["class","color"]),o.createVNode(n,{density:"compact",height:"30",class:o.normalizeClass(["text-none flex-1-1-0",i.form.forecastModel==="ECMWF"?"":"btn-border-1 btn-bg-1"]),color:i.form.forecastModel==="ECMWF"?"primary":"","base-color":"",value:"ECMWF"},{default:o.withCtx(()=>e[19]||(e[19]=[o.createTextVNode(" ECMWF ",-1)])),_:1,__:[19]},8,["class","color"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o.createVNode(m),o.createVNode(f,{class:"d-flex justify-end align-center ga-4 pa-4 py-2"},{default:o.withCtx(()=>[o.createVNode(n,{size:"small",variant:"tonal",class:"text-none text-body-1 btn-bg-1",onClick:l.cancelForm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{ref:"submitSpot",loading:i.loading,size:"small",variant:"flat",color:"primary",type:"submit",class:"text-none text-body-1"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1},8,["style"])):o.createCommentVNode("",!0),i.showMeteo&&!a.simple?(o.openBlock(),o.createBlock(v,{key:1,id:"idm-gl4-spot-meteo",class:"spot-meteo",style:{width:"490px","z-index":"9"}},{default:o.withCtx(()=>[o.createVNode(c,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("div",Up,[e[20]||(e[20]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Jp,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>e[21]||(e[21]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[21]},8,["onClick"])]),_:1}),o.createVNode(m),o.createVNode(h,{class:"text-body-1 px-0 py-1"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",Kp,[o.createElementVNode("div",Qp,o.toDisplayString(t.$t("time.time")),1),o.createElementVNode("div",qp,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",$p,[e[22]||(e[22]=o.createElementVNode("div",{style:{width:"100px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",eu,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",tu,[o.createElementVNode("div",ou,o.toDisplayString(t.$t("weather.wind")),1),o.createElementVNode("div",au,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1),o.createElementVNode("div",iu,o.toDisplayString(t.$t("weather.sigWave")),1),o.createElementVNode("div",ru,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s ",1)]),o.createElementVNode("div",lu,[o.createElementVNode("div",nu,o.toDisplayString(t.$t("weather.windWave")),1),o.createElementVNode("div",su,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s ",1),o.createElementVNode("div",cu,o.toDisplayString(t.$t("weather.swell")),1),o.createElementVNode("div",mu,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s ",1)]),o.createElementVNode("div",du,[o.createElementVNode("div",hu,o.toDisplayString(t.$t("weather.current")),1),o.createElementVNode("div",pu,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1),o.createElementVNode("div",uu,o.toDisplayString(t.$t("weather.visibility")),1),o.createElementVNode("div",gu,o.toDisplayString(i.currentHourData.visibility??"-")+"nm",1)]),i.currentHourData.showIce?(o.openBlock(),o.createElementBlock("div",fu,[o.createElementVNode("div",yu,o.toDisplayString(t.$t("weather.sit")),1),o.createElementVNode("div",bu,o.toDisplayString(i.currentHourData.sit??"-")+"m",1),o.createElementVNode("div",wu,o.toDisplayString(t.$t("weather.sic")),1),o.createElementVNode("div",xu,o.toDisplayString(i.currentHourData.sic??"-")+"%",1)])):o.createCommentVNode("",!0)]}),_:1}),o.createVNode(m),o.createVNode(f,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var b;return[(b=a.followList)!=null&&b.some(k=>{var A,L;return(k==null?void 0:k.id)===i.form.followId||((A=k==null?void 0:k.coordinate)==null?void 0:A.lng)===i.form.lng&&((L=k==null?void 0:k.coordinate)==null?void 0:L.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,id:"idm-gl4-spot-meteo-follow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{prepend:o.withCtx(()=>e[23]||(e[23]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h6 text-warning"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(" "+o.toDisplayString(t.$t("actions.unfollow")),1)]),_:1},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,id:"idm-gl4-spot-meteo-unfollow",class:"text-none text-body-1",variant:"text",density:"compact",height:"32",onClick:o.withModifiers(l.handleFollow,["stop"])},{prepend:o.withCtx(()=>e[24]||(e[24]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h6"},null,-1)])),default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.follow"))+" ",1)]),_:1},8,["onClick"])),o.createVNode(n,{height:"32",variant:"text",density:"compact","append-icon":"mdi-chevron-right",class:"text-none text-body-1",onClick:o.withModifiers(l.handleMeteoMore,["stop"])},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("spot.forecast")),1)]),_:1},8,["onClick"])]}),_:1})]),_:1})):o.createCommentVNode("",!0),i.showMeteo&&a.simple?(o.openBlock(),o.createBlock(v,{key:2,ref:"spotMeteo",class:"position-absolute bottom-0 rounded-t-4",style:{width:"100vw","z-index":"1001"}},{default:o.withCtx(()=>[o.createVNode(c,null,{default:o.withCtx(()=>{var b;return[o.createElementVNode("div",ku,[o.createElementVNode("div",Au,[e[25]||(e[25]=o.createElementVNode("i",{class:"iconfont icon-a-Spotweather text-h5 map-icon-aqua"},null,-1)),o.createElementVNode("div",Lu,o.toDisplayString(l.computePosition(i.form||i.currentHourData)),1)]),o.createElementVNode("div",vu,[(b=a.followList)!=null&&b.some(k=>{var A,L;return(k==null?void 0:k.id)===i.form.followId||((A=k==null?void 0:k.coordinate)==null?void 0:A.lng)===i.form.lng&&((L=k==null?void 0:k.coordinate)==null?void 0:L.lat)===i.form.lat})?(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1 rounded-circle",variant:"text",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleCancelFollow,["stop"])},{default:o.withCtx(()=>e[26]||(e[26]=[o.createElementVNode("i",{class:"iconfont icon-yishoucang text-h4 text-warning"},null,-1)])),_:1,__:[26]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,class:"text-none text-body-1 rounded-circle",variant:"plain",density:"compact",height:"32",width:"28","min-width":"28",onClick:o.withModifiers(l.handleFollow,["stop"])},{default:o.withCtx(()=>e[27]||(e[27]=[o.createElementVNode("i",{class:"iconfont icon-weishoucang text-h4"},null,-1)])),_:1,__:[27]},8,["onClick"])),o.createVNode(n,{class:"mr-n2",density:"comfortable",icon:"",variant:"plain",onClick:o.withModifiers(l.handleCloseMeteo,["stop"])},{default:o.withCtx(()=>e[28]||(e[28]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[28]},8,["onClick"])])]),e[29]||(e[29]=o.createElementVNode("div",{class:"px-5 py-0 text-label text-body-1"},"Spot Weather",-1))]}),_:1,__:[29]}),o.createVNode(m),o.createVNode(h,{class:"text-body-1 px-0 py-2"},{default:o.withCtx(()=>{var b,k;return[o.createElementVNode("div",Cu,[o.createElementVNode("div",_u,o.toDisplayString(t.$t("time.time")),1),o.createElementVNode("div",zu,o.toDisplayString(l.computedTzTime((b=i.currentHourData)==null?void 0:b.utc)),1)]),o.createElementVNode("div",Su,[e[30]||(e[30]=o.createElementVNode("div",{style:{width:"60px"},class:"pa-0 pr-2 text-right opacity-50"},"LT",-1)),o.createElementVNode("div",Pu,o.toDisplayString(l.computedLocalTime((k=i.currentHourData)==null?void 0:k.utc)),1)]),o.createElementVNode("div",Mu,[o.createElementVNode("div",Tu,[o.createElementVNode("div",null,[o.createElementVNode("span",Nu,o.toDisplayString(t.$t("weather.wind")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windDir??"-")+"/"+o.toDisplayString(i.currentHourData.windSpeed??"-")+"kts/BF"+o.toDisplayString(i.currentHourData.windLevel??"-"),1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Eu,o.toDisplayString(t.$t("weather.sigWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sigwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.sigwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.sigwavePeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Vu,o.toDisplayString(t.$t("weather.windWave")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.windwaveDir??"-")+"/"+o.toDisplayString(i.currentHourData.windwaveHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.windwavePeriod??"-")+"s",1)]),i.currentHourData.showIce?(o.openBlock(),o.createElementBlock("div",Ru,[o.createElementVNode("span",Du,o.toDisplayString(t.$t("weather.sit")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sit??"-")+"m",1)])):o.createCommentVNode("",!0)]),o.createElementVNode("div",Bu,[o.createElementVNode("div",null,[o.createElementVNode("span",Iu,o.toDisplayString(t.$t("weather.swell")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.swellDir??"-")+"/"+o.toDisplayString(i.currentHourData.swellHeight??"-")+"m/"+o.toDisplayString(i.currentHourData.swellPeriod??"-")+"s",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Fu,o.toDisplayString(t.$t("weather.current")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.currentDir??"-")+"/"+o.toDisplayString(i.currentHourData.currentSpeed??"-")+"kts",1)]),o.createElementVNode("div",null,[o.createElementVNode("span",Gu,o.toDisplayString(t.$t("weather.visibility")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.visibility??"-")+" nm",1)]),i.currentHourData.showIce?(o.openBlock(),o.createElementBlock("div",ju,[o.createElementVNode("span",Wu,o.toDisplayString(t.$t("weather.sic")),1),o.createElementVNode("span",null,o.toDisplayString(i.currentHourData.sic??"-")+"%",1)])):o.createCommentVNode("",!0)])])]}),_:1})]),_:1},512)):o.createCommentVNode("",!0),o.withDirectives(o.createElementVNode("div",Zu,[(o.openBlock(),o.createElementBlock("svg",Hu,[o.createElementVNode("use",{"xlink:href":`#icon-spot-${a.theme}`},null,8,Xu)]))],512),[[o.vShow,i.showMeteo]])])}const Yu=Q(Sp,[["render",Ou]]),Xb="",Uu={name:"IdmMeasure",props:{simple:{type:Boolean,default:!1},map:{type:Object},top:{type:Number,default:60},paddingTop:{type:Number,default:48},menuToggle:{type:Object,default:{}}},setup(){return{Theme:be.useTheme()}},data(){return{right:10,toggle:!1,geojson:[],source:"measure-source",layer:"measure-layer",labelLayer:"measure-label-layer",sumLayer:"measure-suml-layer",tmpSource:"measure-tmp-source",tmpLayer:"measure-tmp-layer",tmpLabelLayer:"measure-tmp-label-layer",closeMarkers:{},pointMarkers:{},tipMarker:void 0,contextmenu:void 0,navigation:"RL",currentLineIndex:1}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})},immediate:!0},toggle:{handler(){var t,e,a;if(this.toggle)this.handleBind();else{(t=this.map)==null||t.getCanvas().removeEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),this.map&&(this.map.getCanvas().style.cursor="grab");let r=this.geojson.find(i=>!i.closed);r&&this.handleClear(r,!0),this.geojson=this.geojson.filter(i=>!!i.closed),r=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(r)}},immediate:!0},map:{handler(){this.map&&(this.toggle?this.handleBind():this.handleUnbind())}}},methods:{handleMenuToggle(){this.toggle=!this.toggle},handleBind(){var t,e,a,r,i;(t=this.map)==null||t.getCanvas().addEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.on("mousemove",this.handleMove),(a=this.map)==null||a.on("dblclick",this.handleDblClick),(r=this.map)==null||r.on("click",this.handleClick),(i=this.map)==null||i.on("contextmenu",this.handleContextmenu),this.map&&(this.map.getCanvas().style.cursor="crosshair")},handleUnbind(){var t,e,a,r,i;(t=this.map)==null||t.getCanvas().removeEventListener("keydown",this.handleKeydown),(e=this.map)==null||e.off("mousemove",this.handleMove),(a=this.map)==null||a.off("dblclick",this.handleDblClick),(r=this.map)==null||r.off("click",this.handleClick),(i=this.map)==null||i.off("contextmenu",this.handleContextmenu);for(const l of this.geojson)this.handleClear(l,!0);this.geojson=[],this.map&&(this.map.getCanvas().style.cursor="grab")},handleKeydown(t){if(t.key==="Shift"){this.navigation=this.navigation==="RL"?"GC":"RL";const e=this.geojson.at(-1),a=e.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&(a.at(-1).properties.mode=this.navigation),this.handleRender(e)}},handleDrag(t){var a,r,i,l,n,s,c,m,d,g;const e=(r=(a=t.target)==null?void 0:a._element)==null?void 0:r.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(f=>f.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(f=>{var x;return((x=f._element)==null?void 0:x.id)===e})[0].setLngLat([(l=(i=t.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(s=(n=t.target)==null?void 0:n._lngLat)==null?void 0:s.lat]);let p;u.features.forEach((f,x)=>{if(f.geometry.type==="Point"&&f.properties.id===e.split("-")[1]){p=x;return}});const h=u.features.filter(f=>f.geometry.type==="Point");this.handleTmpPointUpdate(u,h[p-1],{lng:(m=(c=t.target)==null?void 0:c._lngLat)==null?void 0:m.lng,lat:(g=(d=t.target)==null?void 0:d._lngLat)==null?void 0:g.lat,properties:h[p].properties},p===h.length-1?void 0:h[p+1])}},handleDragEnd(t){var a,r,i,l,n,s,c,m,d,g;const e=(r=(a=t.target)==null?void 0:a._element)==null?void 0:r.id;if((e==null?void 0:e.split("-").length)===2){const u=this.geojson.filter(h=>h.id===e.split("-")[0])[0];this.pointMarkers[u.id].filter(h=>{var f;return((f=h._element)==null?void 0:f.id)===e})[0].setLngLat([(l=(i=t.target)==null?void 0:i._lngLat)==null?void 0:l.lng,(s=(n=t.target)==null?void 0:n._lngLat)==null?void 0:s.lat]);const p=u.features.filter(h=>h.geometry.type==="Point"&&h.properties.id===e.split("-")[1])[0];p.geometry.coordinates=[(m=(c=t.target)==null?void 0:c._lngLat)==null?void 0:m.lng,(g=(d=t.target)==null?void 0:d._lngLat)==null?void 0:g.lat],u.features=u.features.filter(h=>h.geometry.type==="Point"),this.handlePointUpdate(u)}},handleContextmenu(t){var a,r,i,l;t.preventDefault(),(a=this.contextmenu)==null||a.remove();const e=(l=(i=(r=t.originalEvent)==null?void 0:r.target)==null?void 0:i.parentElement)==null?void 0:l.id;if((e==null?void 0:e.split("-").length)===2){const s=this.geojson.filter(c=>c.id===e.split("-")[0])[0].features.filter(c=>c.geometry.type==="Point");if(s.length>2&&s.filter(m=>m.properties.id===(e==null?void 0:e.split("-")[1]))[0]){const m=document.createElement("div");m.className="idm-gl4-measure-contextmenu-marker",m.innerHTML=`<span id="del-${e}" class="del-point">${this.$t("actions.detele")}</span>`,this.contextmenu=new pe.Marker(m).setOffset([24,0]).setLngLat([t.lngLat.lng,t.lngLat.lat]).addTo(this.map)}}},handleClick(t){var a,r,i,l,n,s;(a=this.contextmenu)==null||a.remove();const e=t.originalEvent.target.className;if(e==="marker-close"){const c=(i=(r=t.originalEvent)==null?void 0:r.srcElement)==null?void 0:i.id,m=this.geojson.filter(d=>d.id===c)[0];m&&this.handleClear(m,!0),this.geojson=this.geojson.filter(d=>d.id!==c),!this.toggle&&!((l=this.geojson)!=null&&l.some(d=>d.closed))&&this.handleUnbind()}else if(e==="del-point"){const c=(s=(n=t.originalEvent.target.id)==null?void 0:n.replace("del-",""))==null?void 0:s.split("-"),m=this.geojson.filter(d=>d.id===c[0])[0];m.features=m.features.filter(d=>d.geometry.type==="Point"&&d.properties.id!==c[1]),this.handlePointUpdate(m)}else if(e!=="marker-label"&&this.toggle){let c=this.geojson.at(-1);c||(c=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(c)),c.features=c.features.filter(d=>d.geometry.type==="Point");const m=E.feature({type:"Point",coordinates:[t.lngLat.lng,t.lngLat.lat]},{id:new Date().getTime().toString(),mode:this.navigation,sumLabel:"Start"});c.features.push(m),this.handlePointUpdate(c)}},handlePointUpdate(t){const e=t.features;if(e.length>1){let a=0;const r=[];for(let i=1;i<e.length;i++){const l=e[i-1],n=e[i],s=l.properties,c={lng:l.geometry.coordinates[0],lat:l.geometry.coordinates[1]},m={lng:n.geometry.coordinates[0],lat:n.geometry.coordinates[1]},d=P.LaneHelper.calculateDistance(c,m,s.mode==="RL",4),g=P.LaneHelper.calculateBearing(c,m,s.mode==="RL",2);a=P.LngLatHelper.roundPrecision(a+d,4);let u;s.mode==="RL"?u=P.LngLatHelper.convertToMonotonicLng([c,m]):u=P.LngLatHelper.convertToMonotonicLng(P.LaneHelper.interpolateCoordinates(c,m,200));const y=E.lineString(u.map(h=>[h.lng,h.lat]));y.properties.dist=d,y.properties.bearing=g,y.properties.total=a,y.properties.name="Line "+this.currentLineIndex,r.push(y);const p=e[i];p.properties.totalDist=P.LngLatHelper.roundPrecision((s.totalDist?s.totalDist:0)+d,4),p.properties.sumLabel=p.properties.totalDist+" nm"}e.push(...r),t.total=a}return this.handleRender(t),t},handleTmpPointUpdate(t,e,a,r){const i=E.featureCollection([]);let l,n;if(e){const c=e.properties,m={lng:e.geometry.coordinates[0],lat:e.geometry.coordinates[1]},d={lng:a.lng,lat:a.lat};l=P.LaneHelper.calculateDistance(m,d,c.mode==="RL",4),n=P.LaneHelper.calculateBearing(m,d,c.mode==="RL",2);let g;c.mode==="RL"?g=P.LngLatHelper.convertToMonotonicLng([m,d]):g=P.LngLatHelper.convertToMonotonicLng(P.LaneHelper.interpolateCoordinates(m,d,200));const u=E.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}if(r){const c=a.properties,m=a,d={lng:r.geometry.coordinates[0],lat:r.geometry.coordinates[1]};l=P.LaneHelper.calculateDistance(m,d,c.mode==="RL",4),n=P.LaneHelper.calculateBearing(m,d,c.mode==="RL",2);let g;c.mode==="RL"?g=P.LngLatHelper.convertToMonotonicLng([m,d]):g=P.LngLatHelper.convertToMonotonicLng(P.LaneHelper.interpolateCoordinates(m,d,200));const u=E.lineString(g.map(y=>[y.lng,y.lat]));u.properties.dist=l,u.properties.bearing=n,i.features.push(u)}this.map.getSource(this.tmpSource)?this.map.getSource(this.tmpSource).setData(i):this.map.addSource(this.tmpSource,{type:"geojson",data:i}),this.map.getLayer(this.tmpLayer)||this.map.addLayer({id:this.tmpLayer,type:"line",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2,"line-opacity":1,"line-dasharray":[3,2]}}),this.map.getLayer(this.tmpLabelLayer)||this.map.addLayer({id:this.tmpLabelLayer,type:"symbol",source:this.tmpSource,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist}nm / {bearing}°","text-rotation-alignment":"map","text-size":11,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});let s;if(r)s=`<div class="marker-label">${this.$t("measure.dragTips")}</div>`;else{const c=P.LngLatHelper.roundPrecision((t.total??0)+l,1);s=`<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${c}</b>nm, ${this.$t("measure.bearing")}: <b>${n}</b>°</div><div class="marker-label"> ${this.$t("measure.mode")}${this.navigation==="RL"?"RL":"GC"}, ${this.$t("measure.switchTips")}</div><div class="marker-label">${this.$t("measure.clickTips")}</div>`}if(this.tipMarker)this.tipMarker._element.innerHTML=s,this.tipMarker.setLngLat([a.lng,a.lat]);else{const c=document.createElement("div");c.className="idm-gl4-measure-tip-marker",c.innerHTML=s,this.tipMarker=new pe.Marker(c).setOffset([140,0]).setLngLat([a.lng,a.lat]).addTo(this.map)}},handleMove(t){this.map.getCanvas().style.cursor="crosshair";let e=this.geojson.at(-1);e||(e=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e));const a=e.features.filter(r=>r.geometry.type==="Point");a!=null&&a.length&&this.handleTmpPointUpdate(e,a.at(-1),{lng:t.lngLat.lng,lat:t.lngLat.lat})},handleDblClick(t){t.preventDefault();let e=this.geojson.at(-1);e.closed=!0,this.handleRender(e),e=E.featureCollection([],{id:new Date().getTime().toString()}),this.geojson.push(e),this.currentLineIndex++},handleRender(t){var e;if((e=t==null?void 0:t.features)!=null&&e.length){const a=`${t.id}-${this.source}`,r=`${t.id}-${this.layer}`,i=`${t.id}-${this.labelLayer}`,l=`${t.id}-${this.sumLayer}`;this.map.getSource(a)?this.map.getSource(a).setData(t):this.map.addSource(a,{type:"geojson",data:t}),this.handleClear(t,!1),this.map.addLayer({id:r,type:"line",source:a,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.Theme.current.value.colors["map-orange"],"line-width":2}}),this.map.addLayer({id:i,type:"symbol",source:a,filter:["==","$type","LineString"],layout:{"symbol-placement":"line-center","text-field":"{dist}nm / {bearing}°","text-rotation-alignment":"map","text-size":11,"text-offset":[0,-1]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}}),this.map.addLayer({id:l,type:"symbol",source:a,filter:["==","$type","Point"],layout:{"text-field":"{sumLabel}","text-rotation-alignment":"map","text-size":12,"text-offset":[0,1.5]},paint:{"text-opacity":1,"text-color":this.Theme.current.value.colors["on-surface"]}});const n=t.features.filter(s=>s.geometry.type==="Point");for(const s of n){const c=document.createElement("div");c.id=`${t.id}-${s.properties.id}`,c.className=`${t.closed?"idm-gl4-measure-marker closed":"idm-gl4-measure-marker"}`,c.innerHTML='<div class="marker-circle"></div>';const m=new pe.Marker({element:c,draggable:!0,contextmenu:!0}).setLngLat(s.geometry.coordinates).addTo(this.map);m.on("drag",this.handleDrag),m.on("dragend",this.handleDragEnd),this.pointMarkers[t.id]?this.pointMarkers[t.id].push(m):this.pointMarkers[t.id]=[m]}if(t.closed){const s=n.at(-1),m=t.features.filter(g=>g.geometry.type==="LineString").at(-1),d=document.createElement("div");d.className="idm-gl4-measure-summary-marker",d.innerHTML=`<div class="marker-label">${m.properties.name}</div><div id="${t.id}" class="marker-close">X</div>`,this.closeMarkers[t.id]=new pe.Marker(d).setOffset([0,-30]).setLngLat(s.geometry.coordinates).addTo(this.map)}}},handleClear(t,e=!0){var n,s,c,m,d,g,u,y,p,h;const a=`${t.id}-${this.source}`,r=`${t.id}-${this.layer}`,i=`${t.id}-${this.labelLayer}`,l=`${t.id}-${this.sumLayer}`;(n=this.map)!=null&&n.getLayer(r)&&this.map.removeLayer(r),(s=this.map)!=null&&s.getLayer(i)&&this.map.removeLayer(i),(c=this.map)!=null&&c.getLayer(l)&&this.map.removeLayer(l),(m=this.map)!=null&&m.getLayer(this.tmpLayer)&&this.map.removeLayer(this.tmpLayer),(d=this.map)!=null&&d.getLayer(this.tmpLabelLayer)&&this.map.removeLayer(this.tmpLabelLayer),(g=this.closeMarkers[t.id])==null||g.remove(),this.closeMarkers[t.id]=void 0,(u=this.pointMarkers[t.id])==null||u.forEach(f=>{f==null||f.remove()}),this.pointMarkers[t.id]=[],(y=this.tipMarker)==null||y.remove(),this.tipMarker=void 0,e&&((p=this.map)!=null&&p.getSource(a))&&this.map.removeSource(a),e&&((h=this.map)!=null&&h.getSource(this.tmpSource))&&this.map.removeSource(this.tmpSource)}}},Ju={class:"idm-gl4-measure"};function Ku(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",Ju,[o.createElementVNode("div",{class:"menu-bar-box transition pa-1",style:o.normalizeStyle({top:a.top+a.paddingTop+166+"px",right:i.right+"px"})},[o.createVNode(s,{text:t.$t("measure.measure"),location:"left",interactive:!0,"open-on-click":!1,"open-on-focus":!a.simple,"open-on-hover":!a.simple},{activator:o.withCtx(({props:c})=>[o.createVNode(n,o.mergeProps(c,{"min-width":"32",width:"32",height:"32",class:["text-none pa-0",i.toggle?"bg-primary active-border":""],onClick:l.handleMenuToggle}),{default:o.withCtx(()=>e[0]||(e[0]=[o.createElementVNode("i",{class:"iconfont icon-a-Measuredistance text-h4"},null,-1)])),_:2,__:[0]},1040,["class","onClick"])]),_:1},8,["text","open-on-focus","open-on-hover"])],4)])}const Qu=Q(Uu,[["render",Ku]]),Ob="",qu={name:"IdmDrawMarker",props:{map:{type:Object},gateway:{type:String},token:{type:String},simple:{type:Boolean,default:!1},top:{type:Number,default:60},paddingTop:{type:Number,default:48},right:{type:Number,default:10},menuToggle:{type:Object,default:()=>({})},editLayer:{type:Object,default:null},group:{type:Object,default:()=>({})}},emits:["close","save","hideLayer"],setup(){return{Theme:be.useTheme()}},data(){var t;return{markerType:"Point",form:{latDegree:"",latMinute:"",latDir:"N",lngDegree:"",lngMinute:"",lngDir:"E",areaType:"Polygon",color:(t=this.Theme.current.value.colors)==null?void 0:t["map-green"],name:""},formRules:{lngDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,3}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=180||"0 ~ 180"],lngMinute:[e=>e==null||e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e==null||e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],latDegree:[e=>e!=null&&e!==""||"required",e=>/^\d{1,2}$/.test(e)||"number",e=>parseInt(e)>=0&&parseInt(e)<=90||"0 ~ 90"],latMinute:[e=>e==null||e===""||/^\d{1,2}(\.\d+)?$/.test(e)||"number",e=>e==null||e===""||parseInt(e)>=0&&parseInt(e)<=59||"0 ~ 59"],color:[e=>e!=null&&e!==""||"required"],name:[e=>e!=null&&e!==""||"required"]},saving:!1,drawSource:"draw-marker-source",drawPointLayer:"draw-marker-point-layer",drawLineLayer:"draw-marker-line-layer",drawFillLayer:"draw-marker-fill-layer",drawTmpSource:"draw-marker-tmp-source",drawTmpLayer:"draw-marker-tmp-layer",drawCoords:[],rectCornerMarkers:[],polygonVertexMarkers:[],circleMarkers:[],drawRadiusSource:"draw-marker-radius-source",drawRadiusLayer:"draw-marker-radius-layer",tipMarker:null,pointMarker:null,pointHighlightMarker:null,editMarkers:[],deleteBtn:null,originalProperties:{}}},watch:{markerType:{handler(){var t;(t=this.editLayer)!=null&&t.id||(this.markerType==="Area"?this.form.name=`${this.form.areaType} 1`:this.form.name=`${this.markerType} 1`,this.handleClearDraw())},immediate:!0},"form.areaType"(){var t;(t=this.editLayer)!=null&&t.id||(this.markerType==="Area"?this.form.name=`${this.form.areaType} 1`:this.form.name=`${this.markerType} 1`,this.handleClearDraw())},map:{handler(){var t;this.map&&(this.handleBindMap(),(t=this.editLayer)!=null&&t.id&&this.loadEditLayer())},immediate:!0},"form.color":{handler(){this.handleChangePoint(),this.handleUpdateLayerColors()},immediate:!0}},beforeUnmount(){this.handleClearDraw(!0),this.handleUnbindMap()},methods:{handleClose(){this.handleClearDraw(!0),this.handleUnbindMap(),this.$emit("close")},handleBindMap(){var t,e;this.map&&(this.markerType==="Point"?(this.map.on("click",this.handleMapClickPoint),this.map.getCanvas().style.cursor="crosshair"):this.markerType==="Line"&&!((t=this.editLayer)!=null&&t.id)?(this.map.on("click",this.handleMapClickLine),this.map.on("mousemove",this.handleMapMoveLine),this.map.on("dblclick",this.handleMapDblClickLine),this.map.getCanvas().style.cursor="crosshair"):this.markerType==="Area"&&!((e=this.editLayer)!=null&&e.id)&&(this.form.areaType==="Polygon"?(this.map.on("click",this.handleMapClickPolygon),this.map.on("mousemove",this.handleMapMovePolygon),this.map.on("dblclick",this.handleMapDblClickPolygon)):this.form.areaType==="Circle"?(this.map.on("click",this.handleMapClickCircle),this.map.on("mousemove",this.handleMapMoveCircle)):this.form.areaType==="Rect"&&(this.map.on("click",this.handleMapClickRect),this.map.on("mousemove",this.handleMapMoveRect)),this.map.getCanvas().style.cursor="crosshair"))},handleUnbindMap(){this.map&&(this.map.off("click",this.handleMapClickPoint),this.map.off("click",this.handleMapClickLine),this.map.off("mousemove",this.handleMapMoveLine),this.map.off("dblclick",this.handleMapDblClickLine),this.map.off("click",this.handleMapClickPolygon),this.map.off("mousemove",this.handleMapMovePolygon),this.map.off("dblclick",this.handleMapDblClickPolygon),this.map.off("click",this.handleMapClickCircle),this.map.off("mousemove",this.handleMapMoveCircle),this.map.off("click",this.handleMapClickRect),this.map.off("mousemove",this.handleMapMoveRect),this.map.getCanvas().style.cursor="grab")},handleRebindMap(){this.handleUnbindMap(),this.handleBindMap()},loadEditLayer(){var i,l,n,s,c,m;if(!((i=this.editLayer)!=null&&i.extend)||!this.map)return;const t=typeof this.editLayer.extend=="string"?JSON.parse(this.editLayer.extend):this.editLayer.extend;if(!t)return;const a=(t.features||(t.type==="Feature"?[t]:[]))[0];if(!a)return;this.originalProperties=a.properties||{},this.form.name=this.editLayer.name||"",this.form.color=this.editLayer.color||((l=this.originalProperties)==null?void 0:l.color)||((n=this.Theme.current.value.colors)==null?void 0:n["map-green"])||"#4CAF50";const r=(s=a.geometry)==null?void 0:s.type;if(r==="Point"){this.markerType="Point";const[d,g]=a.geometry.coordinates;this.drawCoords=[[d,g]],this.form.latDegree=Number(P.LngLatHelper.lat2pretty(g).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(g).minute),this.form.latDir=P.LngLatHelper.lat2pretty(g).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(d).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(d).minute),this.form.lngDir=P.LngLatHelper.lng2pretty(d).direction,this.handleRenderPoint(this.drawCoords,this.form.color),this.setupPointEdit()}else r==="LineString"?(this.markerType="Line",this.$nextTick(()=>{this.handlerRenderEditLine(a),this.setupLineEdit(),this.handleUnbindMap()})):r==="Polygon"&&(this.markerType="Area",this.form.areaType=(m=(c=this.originalProperties)==null?void 0:c.shape)==null?void 0:m.toLowerCase(),this.$nextTick(()=>{this.handlerRenderEditPolygon(t),this.setupPolygonEdit(a),this.handleUnbindMap()}));this.$emit("hideLayer",this.editLayer.id)},setupPointEdit(){var a;if(!this.pointMarker)return;this.pointMarker.setDraggable(!0),this.pointMarker.off("drag",this.handlePointDrag),this.pointMarker.on("drag",this.handlePointDrag),this.pointMarker.off("dragend",this.handlePointDrag),this.pointMarker.on("dragend",this.handlePointDrag),(a=this.pointHighlightMarker)==null||a.remove();const t=document.createElement("div");t.className="idm-gl4-point-center-ring";const e=this.pointMarker.getLngLat();this.pointHighlightMarker=new pe.Marker({element:t,anchor:"center",offset:[0,0]}).setLngLat(e).addTo(this.map),this.pointMarker.on("drag",()=>{var r;(r=this.pointHighlightMarker)==null||r.setLngLat(this.pointMarker.getLngLat())})},handlePointDrag(){const{lng:t,lat:e}=this.pointMarker.getLngLat();this.drawCoords=[[t,e]],this.form.latDegree=Number(P.LngLatHelper.lat2pretty(e).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(e).minute),this.form.latDir=P.LngLatHelper.lat2pretty(e).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(t).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(t).minute),this.form.lngDir=P.LngLatHelper.lng2pretty(t).direction},clearEditMarkers(){this.editMarkers.forEach(t=>t.remove()),this.editMarkers=[],this._edgeContextMenuHandler&&this.map&&(this.map.off("contextmenu",this._edgeContextMenuHandler),this._edgeContextMenuHandler=null)},handlerRenderEditLine(t){this.drawCoords=t.geometry.coordinates.map(r=>[...r]);const e=E.featureCollection([t,...this.drawCoords.map(r=>E.point(r))]);this.handleSetDrawSource(e);const a=3;this.map.getLayer(this.drawLineLayer)||this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":a}})},setupLineEdit(){this.clearEditMarkers(),this.drawCoords.forEach((e,a)=>{const r=document.createElement("div");r.className="idm-gl4-edit-vertex",r.style.backgroundColor=this.form.color;const i=new pe.Marker({element:r,draggable:!0}).setLngLat(e).addTo(this.map);i.on("dragstart",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:l,lat:n}=i.getLngLat();this.handleRenderVertexLabel([l,n],40)}),i.on("drag",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:l,lat:n}=i.getLngLat();this.handleUpdateVertexLabel([l,n]),this.drawCoords[a]=[l,n],this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color}))}),i.on("dragend",()=>{this.map.getCanvas().style.cursor="grab";const{lng:l,lat:n}=i.getLngLat();this.drawCoords[a]=[l,n],this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.handleClearVertexLabels()}),r.addEventListener("contextmenu",l=>{l.preventDefault(),l.stopPropagation(),this.drawCoords.length>2&&this.showDeleteButton(e,()=>{this.drawCoords.splice(a,1),this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.setupLineEdit()})}),this.editMarkers.push(i)});const t=e=>{e.preventDefault();const{lng:a,lat:r}=e.lngLat,i=E.point([a,r]),l=E.lineString(this.drawCoords),n=E.nearestPointOnLine(l,i);if(n){const s=n.properties.index;this.showDeleteButton([a,r],()=>{this.drawCoords.splice(s+1,0,[a,r]),this.handlerRenderEditLine(E.lineString(this.drawCoords,{type:"Line",color:this.form.color})),this.setupLineEdit()},this.$t("actions.add")||"新增","add")}};this.map.on("contextmenu",t),this._edgeContextMenuHandler=t},showDeleteButton(t,e,a,r="delete"){this.hideDeleteButton();const i=this.map.getContainer(),l=document.createElement("button");l.textContent=a||this.$t("actions.delete"),l.className=r==="add"?"idm-gl4-edit-add-btn":"idm-gl4-edit-delete-btn";const n=this.map.project(t);l.style.left=`${n.x}px`,l.style.top=`${n.y}px`;const s=c=>{c.stopPropagation(),e(),this.hideDeleteButton()};l.addEventListener("click",s),i.appendChild(l),this.deleteBtn=l,this.map.once("click",()=>this.hideDeleteButton())},hideDeleteButton(){this.deleteBtn&&(this.deleteBtn.remove(),this.deleteBtn=null)},handlerRenderEditPolygon(t){this.handleSetDrawSource(t);const e=3;this.map.getLayer(this.drawFillLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-width",e),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":e}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},setupPolygonEdit(t){this.clearEditMarkers();const e=t.geometry.coordinates[0].slice(0,-1);this.drawCoords=e.map(r=>[...r]),this.drawCoords.forEach((r,i)=>{const l=document.createElement("div");l.className="idm-gl4-edit-vertex",l.style.backgroundColor=this.form.color;const n=new pe.Marker({element:l,draggable:!0}).setLngLat(r).addTo(this.map);n.on("dragstart",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:s,lat:c}=n.getLngLat();this.handleRenderVertexLabel([s,c])}),n.on("drag",()=>{this.map.getCanvas().style.cursor="pointer";const{lng:s,lat:c}=n.getLngLat();this.handleUpdateVertexLabel([s,c]),this.drawCoords[i]=[s,c],this.handleRenderPolygonFill(this.drawCoords)}),n.on("dragend",()=>{this.map.getCanvas().style.cursor="grab";const{lng:s,lat:c}=n.getLngLat();this.drawCoords[i]=[s,c],this.handleRenderPolygonFill(this.drawCoords),this.handleClearVertexLabels()}),l.addEventListener("contextmenu",s=>{s.preventDefault(),s.stopPropagation(),this.drawCoords.length>3&&this.showDeleteButton(r,()=>{this.drawCoords.splice(i,1),this.handleRenderPolygonFill(this.drawCoords),this.handleClearVertexLabels(),this.setupPolygonEdit({geometry:{type:"Polygon",coordinates:[[...this.drawCoords,this.drawCoords[0]]]},properties:this.originalProperties})})}),this.editMarkers.push(n)});const a=r=>{r.preventDefault();const{lng:i,lat:l}=r.lngLat,n=E.point([i,l]),s=E.lineString([...this.drawCoords,this.drawCoords[0]]),c=E.nearestPointOnLine(s,n);if(c){const m=c.properties.index,d=m>=this.drawCoords.length-1?this.drawCoords.length-1:m;this.showDeleteButton([i,l],()=>{this.drawCoords.splice(d+1,0,[i,l]),this.handleRenderPolygonFill(this.drawCoords),this.handleClearVertexLabels(),this.setupPolygonEdit({geometry:{type:"Polygon",coordinates:[[...this.drawCoords,this.drawCoords[0]]]},properties:this.originalProperties})},this.$t("actions.add")||"新增","add")}};this.map.on("contextmenu",a),this._edgeContextMenuHandler=a},handleMapClickPoint(t){var r;const{lng:e,lat:a}=t.lngLat;this.drawCoords=[[e,a]],this.form.latDegree=Number(P.LngLatHelper.lat2pretty(a).degree),this.form.latMinute=Number(P.LngLatHelper.lat2pretty(a).minute),this.form.latDir=P.LngLatHelper.lat2pretty(a).direction,this.form.lngDegree=Number(P.LngLatHelper.lng2pretty(e).degree),this.form.lngMinute=Number(P.LngLatHelper.lng2pretty(e).minute),this.form.lngDir=P.LngLatHelper.lng2pretty(e).direction,this.handleRenderPoint(this.drawCoords,this.form.color),(r=this.editLayer)!=null&&r.id&&this.setupPointEdit()},handleChangePoint(){var u;const{latDegree:t,latMinute:e,latDir:a,lngDegree:r,lngMinute:i,lngDir:l}=this.form,n=parseFloat(t),s=parseFloat(e),c=parseFloat(r),m=parseFloat(i);if(isNaN(n)||isNaN(c))return;const d=(n+(isNaN(s)?0:s)/60)*(a==="S"?-1:1),g=(c+(isNaN(m)?0:m)/60)*(l==="W"?-1:1);this.drawCoords=[[g,d]],this.handleRenderPoint(this.drawCoords,this.form.color),(u=this.editLayer)!=null&&u.id&&this.setupPointEdit()},handleRenderPoint(t,e){var i;if((i=this.pointMarker)==null||i.remove(),!t||!t.length)return;const[a,r]=t[0];this.pointMarker=new pe.Marker({color:e}).setLngLat([a,r]).addTo(this.map)},handleMapClickLine(t){var r;const{lng:e,lat:a}=t.lngLat;this.drawCoords.push([e,a]),this.handleRenderLine(this.drawCoords),(r=this.editLayer)!=null&&r.id&&this.setupLineEdit()},handleMapMoveLine(t){if(!this.drawCoords.length)return;const{lng:e,lat:a}=t.lngLat;this.handleRenderTmpLine(this.drawCoords.at(-1),[e,a])},handleMapDblClickLine(t){t.preventDefault(),this.drawCoords.length>1&&this.drawCoords.pop(),this.handleRenderLine(this.drawCoords),this.handleClearTmp(),this.map.off("click",this.handleMapClickLine),this.map.off("mousemove",this.handleMapMoveLine),this.map.off("dblclick",this.handleMapDblClickLine)},handleRenderLine(t){if(!t||t.length<1)return;const e=[];t==null||t.forEach((i,l)=>{e.push(P.GeoJsonHelper.drawPoint(i==null?void 0:i[1],i==null?void 0:i[0]))}),(t==null?void 0:t.length)>=2&&e.push(P.GeoJsonHelper.drawLine(t));const a=2,r=E.featureCollection(e);this.handleSetDrawSource(r),this.map.getLayer(this.drawLineLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-color",this.form.color),this.map.setPaintProperty(this.drawLineLayer,"line-width",a),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":a}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},handleRenderTmpLine(t,e){const a=P.GeoJsonHelper.drawLine([t,e]),r=E.featureCollection([a]);this.map.getSource(this.drawTmpSource)?this.map.getSource(this.drawTmpSource).setData(r):this.map.addSource(this.drawTmpSource,{type:"geojson",data:r}),this.map.getLayer(this.drawTmpLayer)||this.map.addLayer({id:this.drawTmpLayer,type:"line",source:this.drawTmpSource,layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":2,"line-dasharray":[3,2]}});const i={lng:t[0],lat:t[1]},l={lng:e[0],lat:e[1]},n=P.LaneHelper.calculateDistance(i,l,!0,2),s=P.LaneHelper.calculateBearing(i,l,!0,2);let c=0;for(let d=1;d<this.drawCoords.length;d++){const g={lng:this.drawCoords[d-1][0],lat:this.drawCoords[d-1][1]},u={lng:this.drawCoords[d][0],lat:this.drawCoords[d][1]};c+=P.LaneHelper.calculateDistance(g,u,!0,4)}c=P.LngLatHelper.roundPrecision(c+n,1);const m=`
|
|
638
638
|
<div class="marker-label">${this.$t("measure.totalDistance")}: <b>${c}</b>nm, ${this.$t("measure.bearing")}: <b>${s}</b>°</div>
|
|
639
639
|
<div class="marker-label"> ${this.$t("measure.clickTips")}</div>`;if(this.tipMarker)this.tipMarker._element.innerHTML=m,this.tipMarker.setLngLat([e[0],e[1]]);else{const d=document.createElement("div");d.className="idm-gl4-draw-tip-marker",d.innerHTML=m,this.tipMarker=new pe.Marker(d).setOffset([140,0]).setLngLat([e[0],e[1]]).addTo(this.map)}},handleRefreshLine(){this.drawCoords.length>=1&&this.handleRenderLine(this.drawCoords)},handleMapClickPolygon(t){var r;const{lng:e,lat:a}=t.lngLat;this.drawCoords.push([e,a]),this.drawCoords.length>=3&&this.handleRenderPolygonFill(this.drawCoords),this.handleRenderAllVertexLabels(this.drawCoords),(r=this.editLayer)!=null&&r.id&&this.setupPolygonEdit()},handleMapMovePolygon(t){if(!this.drawCoords.length)return;const{lng:e,lat:a}=t.lngLat,r=[...this.drawCoords,[e,a]];r.length>=1&&this.handleRenderPolygonFill(r),this.handleRenderAllVertexLabels(r)},handleMapDblClickPolygon(t){t.preventDefault(),this.drawCoords.length>=1&&this.drawCoords.pop(),this.drawCoords.length>=1&&this.handleRenderPolygonFill(this.drawCoords),this.handleRenderAllVertexLabels(this.drawCoords),this.map.off("click",this.handleMapClickPolygon),this.map.off("mousemove",this.handleMapMovePolygon),this.map.off("dblclick",this.handleMapDblClickPolygon)},handleRenderPolygonFill(t){var i;let e=[];if(t==null||t.forEach((l,n)=>{e.push(E.point(l))}),(t==null?void 0:t.length)>2){const l=[...t,t[0]];e.push(P.GeoJsonHelper.drawPolygon(l,{...this.originalProperties}))}const a=E.featureCollection(e);this.handleSetDrawSource(a);const r=(i=this.editLayer)!=null&&i.id?3:2;this.map.getLayer(this.drawFillLayer)?(this.map.setPaintProperty(this.drawLineLayer,"line-width",r),this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",this.form.color)):(this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":r}}),this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}))},handleRenderVertexLabel(t,e=8){this.handleClearVertexLabels();const a=P.LngLatHelper.lat2pretty(t[1],4).pretty,r=P.LngLatHelper.lng2pretty(t[0],4).pretty,i=document.createElement("div");i.className="idm-gl4-draw-corner-label center",i.innerHTML=`<span class="corner-text">${a} <br/> ${r}</span>`;const l=new pe.Marker(i,{anchor:"bottom",offset:[0,e]}).setLngLat(t).addTo(this.map);this.polygonVertexMarkers.push(l)},handleRenderAllVertexLabels(t){this.handleClearVertexLabels();const e=t.reduce((a,r)=>[a[0]+r[0],a[1]+r[1]],[0,0]);e[0]/=t.length,e[1]/=t.length,t.forEach(a=>{const r=a[0]-e[0],i=a[1]-e[1];let l="center";i>=0&&r>=0?l="bottom-left":i>=0&&r<0?l="bottom-right":i<0&&r>=0?l="top-left":l="top-right";const n=P.LngLatHelper.lat2pretty(a[1],4).pretty,s=P.LngLatHelper.lng2pretty(a[0],4).pretty,c=document.createElement("div");c.className="idm-gl4-draw-corner-label "+l,c.innerHTML=`<span class="corner-text">${n} <br/> ${s}</span>`;const m=new pe.Marker(c,{anchor:l}).setLngLat(a).addTo(this.map);this.polygonVertexMarkers.push(m)})},handleUpdateVertexLabel(t){if(!this.polygonVertexMarkers.length)return;const e=this.polygonVertexMarkers[0];e.setLngLat(t);const a=P.LngLatHelper.lat2pretty(t[1],4).pretty,r=P.LngLatHelper.lng2pretty(t[0],4).pretty,i=e.getElement().querySelector(".corner-text");i&&(i.innerHTML=`${a} <br/> ${r}`)},handleClearVertexLabels(){this.polygonVertexMarkers.forEach(t=>t.remove()),this.polygonVertexMarkers=[]},handleMapClickCircle(t){const{lng:e,lat:a}=t.lngLat;if(this.drawCoords.length===0){this.drawCoords.push([e,a]);const r=E.featureCollection([E.point([e,a])]);this.handleSetDrawSource(r),this.map.getLayer(this.drawPointLayer)||this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}}),this.handleRenderCircleCenterLabel([e,a])}else{const r=this.drawCoords[0],i=[e,a],l=E.distance(E.point(r),E.point(i),{units:"nauticalmiles"}),n=P.GeoJsonHelper.drawCircle(r[0],r[1],l),s=E.featureCollection([E.point(r),n]);this.handleSetDrawSource(s),this.handleRenderAreaLayers(),this.handleRenderRadiusLine(r,i,l),this.drawCoords=[r,i],this.map.off("click",this.handleMapClickCircle),this.map.off("mousemove",this.handleMapMoveCircle)}},handleMapMoveCircle(t){if(this.drawCoords.length!==1)return;const e=this.drawCoords[0],a=[t.lngLat.lng,t.lngLat.lat],r=E.distance(E.point(e),E.point(a),{units:"nauticalmiles"}),i=P.GeoJsonHelper.drawCircle(e[0],e[1],r),l=E.featureCollection([E.point(e),i]);this.handleSetDrawSource(l),this.map.getLayer(this.drawFillLayer)||this.handleRenderAreaLayers(),this.handleRenderRadiusLine(e,a,r)},handleRenderCircleCenterLabel(t){const e=P.LngLatHelper.lat2pretty(t[1],4).pretty,a=P.LngLatHelper.lng2pretty(t[0],4).pretty,r=document.createElement("div");r.className="idm-gl4-draw-corner-label bottom-right",r.innerHTML=`<span class="corner-text">${e} <br/> ${a}</span>`;const i=new pe.Marker(r,{anchor:"bottom-right"}).setLngLat(t).addTo(this.map);this.circleMarkers.push(i)},handleRenderRadiusLine(t,e,a){const r=P.LngLatHelper.roundPrecision(a,2),i=E.featureCollection([E.lineString([t,e])]);this.map.getSource(this.drawRadiusSource)?this.map.getSource(this.drawRadiusSource).setData(i):this.map.addSource(this.drawRadiusSource,{type:"geojson",data:i}),this.map.getLayer(this.drawRadiusLayer)||this.map.addLayer({id:this.drawRadiusLayer,type:"line",source:this.drawRadiusSource,layout:{"line-cap":"round"},paint:{"line-color":this.form.color,"line-width":1.5,"line-dasharray":[4,3]}});const l=[(t[0]+e[0])/2,(t[1]+e[1])/2],n=this.map.project(t),s=this.map.project(e),c=s.x-n.x,m=s.y-n.y;let d=Math.atan2(m,c)*180/Math.PI;d>90&&(d-=180),d<-90&&(d+=180);const g=16,u=(d-90)*Math.PI/180,y=Math.round(Math.cos(u)*g),p=Math.round(Math.sin(u)*g);this.circleMarkers.length>1&&(this.circleMarkers[1].remove(),this.circleMarkers.splice(1,1));const h=document.createElement("div"),f=document.createElement("span");f.className="idm-gl4-draw-radius-label",f.style.transform=`rotate(${d}deg)`,f.style.transformOrigin="center",f.style.display="inline-block",f.textContent=`${r} nm`,h.appendChild(f);const x=new pe.Marker(h,{anchor:"center",offset:[y,p]}).setLngLat(l).addTo(this.map);this.circleMarkers.push(x)},handleClearCircleLabels(){var t,e;this.circleMarkers.forEach(a=>a.remove()),this.circleMarkers=[],(t=this.map)!=null&&t.getLayer(this.drawRadiusLayer)&&this.map.removeLayer(this.drawRadiusLayer),(e=this.map)!=null&&e.getSource(this.drawRadiusSource)&&this.map.removeSource(this.drawRadiusSource)},buildRectFeatureCollection(t,e){const a=Math.min(t[0],e[0]),r=Math.max(t[0],e[0]),i=Math.min(t[1],e[1]),l=Math.max(t[1],e[1]);return[[a,l],[r,l],[r,i],[a,i]]},handleMapClickRect(t){const{lng:e,lat:a}=t.lngLat;if(this.drawCoords.length===0)this.drawCoords.push([e,a]);else{const r=this.drawCoords[0],i=[e,a],l=P.GeoJsonHelper.drawRect(r,i);delete l.bbox;const n=this.buildRectFeatureCollection(r,i),s=E.featureCollection([l,...n.map(c=>E.point(c))]);this.handleSetDrawSource(s),this.handleRenderRectLayers(),this.handleRenderRectCorners(r,i),this.drawCoords=[r,i],this.map.off("click",this.handleMapClickRect),this.map.off("mousemove",this.handleMapMoveRect)}},handleMapMoveRect(t){if(this.drawCoords.length!==1)return;const e=this.drawCoords[0],a=[t.lngLat.lng,t.lngLat.lat],r=P.GeoJsonHelper.drawRect(e,a),i=this.buildRectFeatureCollection(e,a),l=E.featureCollection([r,...i.map(n=>E.point(n))]);this.handleSetDrawSource(l),this.map.getLayer(this.drawFillLayer)||this.handleRenderRectLayers(),this.handleRenderRectCorners(e,a)},handleRenderRectLayers(){var e;const t=(e=this.editLayer)!=null&&e.id?3:2;this.map.getLayer(this.drawFillLayer)||this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.getLayer(this.drawLineLayer)?this.map.setPaintProperty(this.drawLineLayer,"line-width",t):this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":t}}),this.map.getLayer(this.drawPointLayer)||this.map.addLayer({id:this.drawPointLayer,type:"circle",source:this.drawSource,filter:["==","$type","Point"],paint:{"circle-radius":3,"circle-color":this.form.color,"circle-stroke-width":2,"circle-stroke-color":"#ffffff"}})},handleRenderRectCorners(t,e){const a=Math.min(t[0],e[0]),r=Math.max(t[0],e[0]),i=Math.min(t[1],e[1]),l=Math.max(t[1],e[1]),n=[{coord:[a,l],anchor:"bottom-right"},{coord:[r,l],anchor:"bottom-left"},{coord:[r,i],anchor:"top-left"},{coord:[a,i],anchor:"top-right"}];this.handleClearRectCorners(),n.forEach(({coord:s,anchor:c})=>{const m=P.LngLatHelper.lat2pretty(s[1],4).pretty,d=P.LngLatHelper.lng2pretty(s[0],4).pretty,g=document.createElement("div");g.className="idm-gl4-draw-corner-label "+c,g.innerHTML=`<span class="corner-text">${m} <br/> ${d}</span>`;const u=new pe.Marker(g,{anchor:c}).setLngLat(s).addTo(this.map);this.rectCornerMarkers.push(u)})},handleClearRectCorners(){this.rectCornerMarkers.forEach(t=>t.remove()),this.rectCornerMarkers=[]},handleRenderAreaLayers(){var e;const t=(e=this.editLayer)!=null&&e.id?3:2;this.map.getLayer(this.drawFillLayer)||this.map.addLayer({id:this.drawFillLayer,type:"fill",source:this.drawSource,filter:["==","$type","Polygon"],paint:{"fill-color":this.form.color,"fill-opacity":.35}}),this.map.getLayer(this.drawLineLayer)?this.map.setPaintProperty(this.drawLineLayer,"line-width",t):this.map.addLayer({id:this.drawLineLayer,type:"line",source:this.drawSource,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":this.form.color,"line-width":t}})},handleSetDrawSource(t){this.map.getSource(this.drawSource)?this.map.getSource(this.drawSource).setData(t):this.map.addSource(this.drawSource,{type:"geojson",data:t})},handleClearTmp(){var t,e,a;(t=this.map)!=null&&t.getLayer(this.drawTmpLayer)&&this.map.removeLayer(this.drawTmpLayer),(e=this.map)!=null&&e.getSource(this.drawTmpSource)&&this.map.removeSource(this.drawTmpSource),(a=this.tipMarker)==null||a.remove(),this.tipMarker=null},handleUpdateLayerColors(){if(!this.map)return;const t=this.form.color;this.map.getLayer(this.drawPointLayer)&&this.map.setPaintProperty(this.drawPointLayer,"circle-color",t),this.map.getLayer(this.drawLineLayer)&&this.map.setPaintProperty(this.drawLineLayer,"line-color",t),this.map.getLayer(this.drawFillLayer)&&this.map.setPaintProperty(this.drawFillLayer,"fill-color",t),this.map.getLayer(this.drawRadiusLayer)&&this.map.setPaintProperty(this.drawRadiusLayer,"line-color",t),this.map.getLayer(this.drawTmpLayer)&&this.map.setPaintProperty(this.drawTmpLayer,"line-color",t),this.editMarkers.forEach(e=>{e.getElement()&&(e.getElement().style.backgroundColor=t)})},handleClearDraw(t=!1){var a,r,i,l,n;this.handleClearTmp(),this.hideDeleteButton();const e=[this.drawPointLayer,this.drawLineLayer,this.drawFillLayer];for(const s of e)(a=this.map)!=null&&a.getLayer(s)&&((r=this.map)==null||r.removeLayer(s));(i=this.map)!=null&&i.getSource(this.drawSource)&&this.map.removeSource(this.drawSource),this.drawCoords=[],this.originalProperties={},this.handleClearRectCorners(),this.handleClearVertexLabels(),this.handleClearCircleLabels(),(l=this.pointMarker)==null||l.remove(),this.pointMarker=null,(n=this.pointHighlightMarker)==null||n.remove(),this.pointHighlightMarker=null,this.clearEditMarkers(),this.handleRebindMap()},async handleSave(){var r,i;let t=null;if(this.markerType==="Point"?await this.$refs.pointForm.validate().then(l=>{var n;if(l!=null&&l.valid){if(!this.drawCoords.length)return;const[s,c]=this.drawCoords[0];t=E.featureCollection([P.GeoJsonHelper.drawPoint(c,s,{...this.originalProperties,color:this.form.color,name:this.form.name})]),(n=t.features)==null||n.forEach(m=>{m.properties.color=this.form.color,m.properties.name=this.form.name})}}):this.markerType==="Line"?await this.$refs.lineForm.validate().then(l=>{if(l!=null&&l.valid){if(this.drawCoords.length<2)return;const n=[],s=P.LaneHelper.generateRouteAccordingToWaypoints(this.drawCoords.map(c=>({lng:c==null?void 0:c[0],lat:c==null?void 0:c[1]})));for(const c of s)c.length>1&&n.push(P.GeoJsonHelper.drawLine(c,{properties:{...this.originalProperties,color:this.form.color,name:this.form.name}}));t=E.featureCollection(n)}}):this.markerType==="Area"&&await this.$refs.areaForm.validate().then(l=>{var n,s,c;if(l!=null&&l.valid){const m=(n=this.map)==null?void 0:n.getSource(this.drawSource);if(!m)return;const d=m._data;if(!((s=d==null?void 0:d.features)!=null&&s.length))return;let g=((c=d.features)==null?void 0:c.filter(u=>u.geometry.type==="Polygon"))||[];if(g=g==null?void 0:g.map(u=>(u.properties.name=this.form.name,u.properties.color=this.form.color,u)),!g.length)return;t=E.featureCollection(g)}}),!t)return!1;const e={name:this.form.name,format:"geojson",color:this.form.color,extend:t};this.saving=!0,await((r=this.editLayer)!=null&&r.id?de.put(`${this.gateway}/api/arc/layers/${this.editLayer.id}`,e,{headers:{Authorization:this.token||this.defaultMeteoToken}}):de.post(`${this.gateway}/api/arc/lygroups/${(i=this.group)==null?void 0:i.id}/layers`,e,{headers:{Authorization:this.token||this.defaultMeteoToken}})).then(l=>{var n,s,c,m;((n=l.data)==null?void 0:n.code)===0&&this.$emit("save",{...e,id:((s=this.editLayer)==null?void 0:s.id)||((m=(c=l.data)==null?void 0:c.data)==null?void 0:m.id)}),this.saving=!1}).catch(l=>{console.error("save marker error",l),this.saving=!1})}}},$u={class:"text-h6 font-weight-600"},eg={class:"text-label mb-1"},tg={class:"text-label mb-1"},og={class:"mb-1"},ag={class:"text-label mb-1"},ig={class:"w-100 d-flex ma-0"},rg={class:"w-30 pa-0 d-flex"},lg={class:"flex-1-1-0 pa-0 d-flex"},ng={cols:"2",class:"pa-0"},sg={class:"mb-1"},cg={class:"text-label mb-1"},mg={class:"w-100 d-flex ma-0"},dg={class:"w-30 pa-0 d-flex"},hg={class:"flex-1-1-0 pa-0 d-flex"},pg={class:"pa-0"},ug={class:"mb-1"},gg={class:"text-label mb-1"},fg={class:"color-picker-row d-flex align-start ga-2"},yg=["value"],bg={class:"mb-n2"},wg={class:"text-label mb-1"},xg={class:"mb-1"},kg={class:"text-label mb-1"},Ag={class:"color-picker-row d-flex align-start ga-2"},Lg=["value"],vg={class:"mb-n2"},Cg={class:"text-label mb-1"},_g={key:0,class:"mb-3"},zg={class:"text-label mb-1"},Sg={class:"mb-1"},Pg={class:"text-label mb-1"},Mg={class:"color-picker-row d-flex align-start ga-2"},Tg=["value"],Ng={class:"mb-n2"},Eg={class:"text-label mb-1"};function Vg(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VCardTitle"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VTextField"),d=o.resolveComponent("VCardText"),g=o.resolveComponent("VBtnToggle"),u=o.resolveComponent("VCardActions"),y=o.resolveComponent("VForm"),p=o.resolveComponent("VCard");return o.openBlock(),o.createBlock(p,{class:"idm-gl4-draw-dialog-card transition",elevation:"4",style:o.normalizeStyle({top:a.top+a.paddingTop+60+"px",right:a.right+50+"px"})},{default:o.withCtx(()=>{var h;return[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>{var f;return[o.createElementVNode("span",$u,o.toDisplayString((f=a.editLayer)!=null&&f.id?t.$t("actions.edit"):t.$t("actions.addMarker")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>e[21]||(e[21]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[21]},8,["onClick"])]}),_:1}),o.createVNode(c),o.createVNode(d,{class:"text-body-1 px-4 pb-0"},{default:o.withCtx(()=>{var f;return[o.createElementVNode("div",eg,o.toDisplayString(t.$t("marker.group")),1),o.createVNode(m,{"model-value":(f=a.group)==null?void 0:f.name,density:"compact",variant:"outlined","hide-details":"",disabled:"",class:"input-btn-bg-1"},null,8,["model-value"])]}),_:1}),(h=a.editLayer)!=null&&h.id?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(d,{key:0,class:"text-body-1 px-4 pb-0"},{default:o.withCtx(()=>{var f;return[o.createElementVNode("div",tg,[o.createTextVNode(o.toDisplayString(t.$t("marker.markerType")),1),e[22]||(e[22]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(g,{modelValue:i.markerType,"onUpdate:modelValue":e[0]||(e[0]=x=>i.markerType=x),mandatory:"",group:"",density:"compact",variant:"flat",class:"w-100",disabled:!!((f=a.editLayer)!=null&&f.id)},{default:o.withCtx(()=>[o.createVNode(n,{value:"Point",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Point"?"":"btn-border-1 btn-bg-1"]),color:i.markerType==="Point"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("marker.point")),1)]),_:1},8,["class","color"]),o.createVNode(n,{value:"Line",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Line"?"":"btn-border-1 btn-bg-1"]),style:{"border-left":"0 !important","border-right":"0 !important"},color:i.markerType==="Line"?"primary":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("marker.line")),1)]),_:1},8,["class","color"]),o.createVNode(n,{value:"Area",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.markerType==="Area"?"":"btn-border-1 btn-bg-1"]),color:i.markerType==="Area"?"primary":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("marker.area")),1)]),_:1},8,["class","color"])]),_:1},8,["modelValue","disabled"])]}),_:1})),i.markerType==="Point"?(o.openBlock(),o.createBlock(y,{key:1,ref:"pointForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",og,[o.createElementVNode("div",ag,[o.createTextVNode(o.toDisplayString(t.$t("marker.lat")),1),e[23]||(e[23]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",ig,[o.createElementVNode("div",rg,[o.createVNode(m,{modelValue:i.form.latDegree,"onUpdate:modelValue":[e[1]||(e[1]=f=>i.form.latDegree=f),e[2]||(e[2]=f=>l.handleChangePoint())],rules:i.formRules.latDegree,label:"",autocomplete:"off",density:"compact",variant:"outlined",height:"32px","min-height":"32px",required:"",dense:"",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),e[24]||(e[24]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),o.createElementVNode("div",lg,[o.createVNode(m,{modelValue:i.form.latMinute,"onUpdate:modelValue":[e[3]||(e[3]=f=>i.form.latMinute=f),e[4]||(e[4]=f=>l.handleChangePoint())],rules:i.formRules.latMinute,label:"",height:"32px","min-height":"32px",autocomplete:"off",density:"compact",variant:"outlined",class:"text-body-1 input-btn-bg-1",required:"",dense:""},null,8,["modelValue","rules"]),e[25]||(e[25]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),o.createElementVNode("div",ng,[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:e[5]||(e[5]=f=>{i.form.latDir=i.form.latDir==="N"?"S":"N",l.handleChangePoint()})},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.latDir),1)]),_:1})])])]),o.createElementVNode("div",sg,[o.createElementVNode("div",cg,[o.createTextVNode(o.toDisplayString(t.$t("marker.lng")),1),e[26]||(e[26]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",mg,[o.createElementVNode("div",dg,[o.createVNode(m,{modelValue:i.form.lngDegree,"onUpdate:modelValue":[e[6]||(e[6]=f=>i.form.lngDegree=f),e[7]||(e[7]=f=>l.handleChangePoint())],rules:i.formRules.lngDegree,density:"compact",variant:"outlined",autocomplete:"off",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),e[27]||(e[27]=o.createElementVNode("span",{class:"px-1"},"°",-1))]),o.createElementVNode("div",hg,[o.createVNode(m,{modelValue:i.form.lngMinute,"onUpdate:modelValue":[e[8]||(e[8]=f=>i.form.lngMinute=f),e[9]||(e[9]=f=>l.handleChangePoint())],rules:i.formRules.lngMinute,density:"compact",variant:"outlined",autocomplete:"off",class:"text-body-1 input-btn-bg-1"},null,8,["modelValue","rules"]),e[28]||(e[28]=o.createElementVNode("span",{class:"px-1"},"'",-1))]),o.createElementVNode("div",pg,[o.createVNode(n,{variant:"outlined",density:"compact",width:"32","min-width":"32",height:"32",class:"text-body-1 bg-primary",style:{border:"1px solid rgba(var(--v-theme-on-surface), 0.38)"},onClick:e[10]||(e[10]=f=>{i.form.lngDir=i.form.lngDir==="E"?"W":"E",l.handleChangePoint()})},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.form.lngDir),1)]),_:1})])])]),o.createElementVNode("div",ug,[o.createElementVNode("div",gg,[o.createTextVNode(o.toDisplayString(t.$t("marker.color")),1),e[29]||(e[29]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",fg,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:e[11]||(e[11]=f=>i.form.color=f.target.value)},null,40,yg),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":e[12]||(e[12]=f=>i.form.color=f),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0 input-btn-bg-1"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",bg,[o.createElementVNode("div",wg,[o.createTextVNode(o.toDisplayString(t.$t("marker.name")),1),e[30]||(e[30]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":e[13]||(e[13]=f=>i.form.name=f),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]),_:1}),o.createVNode(c),o.createVNode(u,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(n,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0),i.markerType==="Line"?(o.openBlock(),o.createBlock(y,{key:2,ref:"lineForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",xg,[o.createElementVNode("div",kg,[o.createTextVNode(o.toDisplayString(t.$t("marker.color")),1),e[31]||(e[31]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Ag,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:e[14]||(e[14]=f=>i.form.color=f.target.value)},null,40,Lg),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":e[15]||(e[15]=f=>i.form.color=f),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0 input-btn-bg-1"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",vg,[o.createElementVNode("div",Cg,[o.createTextVNode(o.toDisplayString(t.$t("marker.name")),1),e[32]||(e[32]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":e[16]||(e[16]=f=>i.form.name=f),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]),_:1}),o.createVNode(c),o.createVNode(u,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(n,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.clear")),1)]),_:1},8,["onClick"]),o.createVNode(n,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.save")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0),i.markerType==="Area"?(o.openBlock(),o.createBlock(y,{key:3,ref:"areaForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleSave,["prevent"])},{default:o.withCtx(()=>[o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>{var f,x;return[(f=a.editLayer)!=null&&f.id?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",_g,[o.createElementVNode("div",zg,[o.createTextVNode(o.toDisplayString(t.$t("marker.areaType")),1),e[33]||(e[33]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(g,{modelValue:i.form.areaType,"onUpdate:modelValue":e[17]||(e[17]=v=>i.form.areaType=v),mandatory:"",group:"",density:"compact",variant:"flat",color:"primary",class:"w-100",disabled:!!((x=a.editLayer)!=null&&x.id)},{default:o.withCtx(()=>[o.createVNode(n,{value:"Polygon",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Polygon"?"":"btn-border-1 btn-bg-1"]),color:i.form.areaType==="Polygon"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("marker.polygon")),1)]),_:1},8,["class","color"]),o.createVNode(n,{value:"Circle",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Circle"?"":"btn-border-1 btn-bg-1"]),style:{"border-left":"0 !important","border-right":"0 !important"},color:i.form.areaType==="Circle"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("marker.circle")),1)]),_:1},8,["class","color"]),o.createVNode(n,{value:"Rect",class:o.normalizeClass(["flex-1-1-0 text-none text-body-1",i.form.areaType==="Rect"?"":"btn-border-1 btn-bg-1"]),color:i.form.areaType==="Rect"?"primary":"","base-color":"",height:"32px","min-height":"32px"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("marker.rect")),1)]),_:1},8,["class","color"])]),_:1},8,["modelValue","disabled"])])),o.createElementVNode("div",Sg,[o.createElementVNode("div",Pg,[o.createTextVNode(o.toDisplayString(t.$t("marker.color")),1),e[34]||(e[34]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Mg,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:e[18]||(e[18]=v=>i.form.color=v.target.value)},null,40,Tg),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":e[19]||(e[19]=v=>i.form.color=v),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0 input-btn-bg-1"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",Ng,[o.createElementVNode("div",Eg,[o.createTextVNode(o.toDisplayString(t.$t("marker.name")),1),e[35]||(e[35]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.name,"onUpdate:modelValue":e[20]||(e[20]=v=>i.form.name=v),density:"compact",variant:"outlined",rules:i.formRules.name,autocomplete:"off",class:"input-btn-bg-1"},null,8,["modelValue","rules"])])]}),_:1}),o.createVNode(c),o.createVNode(u,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>{var f;return[(f=a.editLayer)!=null&&f.id?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(n,{key:0,class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClearDraw},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.clear")),1)]),_:1},8,["onClick"])),o.createVNode(n,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.saving},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.save")),1)]),_:1},8,["loading"])]}),_:1})]),_:1},8,["onSubmit"])):o.createCommentVNode("",!0)]}),_:1},8,["style"])}const Rg=Q(qu,[["render",Vg]]),Yb="",Dg={name:"IdmImportMarker",props:{map:{type:Object},gateway:{type:String},token:{type:String},defaultMeteoToken:{type:String},group:{type:Object,default:null}},emits:["close","import"],setup(){return{Theme:be.useTheme()}},data(){var t;return{form:{groupName:"",name:"",file:null,format:"",extend:void 0,color:(t=this.Theme.current.value.colors)==null?void 0:t["map-green"]},formRules:{groupName:[e=>e!=null&&e!==""||"required"],color:[e=>e!=null&&e!==""||"required"]},isDragOver:!1,uploading:!1,fileError:"",previewSourceId:"__import_preview__",previewMarkers:[]}},watch:{"form.color":{handler(t){var e;(e=this.form.extend)!=null&&e.features&&this.form.extend.features.forEach(a=>{a.properties.color=t}),this.handleDrawLayers()},immediate:!0}},mounted(){var t;this.form.groupName=((t=this.group)==null?void 0:t.name)||"Import layer 1"},beforeUnmount(){this.handleClearPreview()},methods:{handleClose(){this.$emit("close")},handleReset(){var t;this.form={groupName:((t=this.group)==null?void 0:t.name)||"Import layer 1",file:null,format:"",extend:void 0},this.fileError=""},handleSelectFile(){this.$refs.fileInput.click()},handleFileChange(t){const e=t.target.files[0];e&&this.onUpload(e)},handleDrop(t){this.isDragOver=!1;const e=t.dataTransfer.files[0];e&&this.onUpload(e)},async onUpload(t){var r,i,l,n;if(t.size>10485760){this.fileError=this.$t("marker.fileTooLarge");return}this.form.file=t,this.fileError="",this.form.name=(r=t.name.split("."))==null?void 0:r[0];const a=(i=t.name.split(".").pop())==null?void 0:i.toLowerCase();try{let s;if(a==="json"||a==="geojson"){const c=await t.text();s=JSON.parse(c)}else if(a==="kml"){const c=await t.text();s=await P.GeoJsonHelper.convertKML2GeoJSON(c)}else if(a==="kmz"){const c=await t.arrayBuffer();s=await P.GeoJsonHelper.convertKMZ2GeoJSON(c)}else if(a==="zip"||a==="shp"){const c=await t.arrayBuffer();s=await P.GeoJsonHelper.convertZIP2GeoJSON(c)}else{this.fileError="Unsupported format: "+a;return}this.form.extend=s,this.form.format="geojson",(n=(l=this.form.extend)==null?void 0:l.features)==null||n.forEach(c=>{c.properties.color=this.form.color}),this.handleDrawLayers()}catch{this.fileError="Failed to parse file",this.form.file=null}},handleRemoveFile(){this.form.file=null,this.$refs.fileInput.value="",this.handleClearPreview()},async handleConfirm(){const{valid:t}=await this.$refs.importForm.validate();if(!t)return;if(!this.form.file){this.fileError=this.$t("marker.fileRequired");return}this.uploading=!0;let e=this.group.id;if(e||await de.post(`${this.gateway}/api/arc/lygroups`,{name:this.form.groupName},{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(r=>{var i,l;((i=r.data)==null?void 0:i.code)===0&&(e=(l=r.data.data)==null?void 0:l.id)}),!e){this.uploading=!1;return}const a={format:this.form.format,extend:this.form.extend};de.post(`${this.gateway}/api/arc/lygroups/${e}/layers`,a,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(r=>{var i;((i=r.data)==null?void 0:i.code)===0&&(this.$emit("import"),this.uploading=!1)}).catch(r=>{this.uploading=!1})},handleDrawLayers(){if(!this.map||!this.form.extend)return;const t=this.form.extend,e=this.previewSourceId,a=t.features||(t.type==="Feature"?[t]:[]);a.forEach(i=>{var n,s,c;const l=((n=i==null?void 0:i.properties)==null?void 0:n.color)||((s=this.Theme.current.value.colors)==null?void 0:s["map-green"]);if(((c=i.geometry)==null?void 0:c.type)==="Point"){const[m,d]=i.geometry.coordinates;this.previewMarkers.push(new pe.Marker({color:l}).setLngLat([m,d]).addTo(this.map))}i.properties.color||(i.properties.color=l)}),this.map.getSource(e)?this.map.getSource(e).setData(t):this.map.addSource(e,{type:"geojson",data:t});const r=new Set(a.map(i=>{var l;return(l=i.geometry)==null?void 0:l.type}));(r.has("LineString")||r.has("MultiLineString"))&&!this.map.getLayer(`${e}-line`)&&this.map.addLayer({id:`${e}-line`,type:"line",source:e,filter:["==","$type","LineString"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["get","color"],"line-width":2}}),(r.has("Polygon")||r.has("MultiPolygon"))&&(this.map.getLayer(`${e}-fill`)||this.map.addLayer({id:`${e}-fill`,type:"fill",source:e,filter:["==","$type","Polygon"],paint:{"fill-color":["get","color"],"fill-opacity":.35}}),this.map.getLayer(`${e}-outline`)||this.map.addLayer({id:`${e}-outline`,type:"line",source:e,filter:["==","$type","Polygon"],layout:{"line-cap":"round","line-join":"round"},paint:{"line-color":["get","color"],"line-width":2}}))},handleClearPreview(){if(!this.map)return;this.previewMarkers.forEach(a=>a.remove()),this.previewMarkers=[];const t=this.previewSourceId;[`${t}-vertex`,`${t}-point`,`${t}-line`,`${t}-fill`,`${t}-outline`].forEach(a=>{this.map.getLayer(a)&&this.map.removeLayer(a)}),this.map.getSource(t)&&this.map.removeSource(t)}}},Bg={class:"text-h6 font-weight-600"},Ig={class:"mb-4"},Fg={class:"text-label mb-1"},Gg={class:"mb-1"},jg={class:"text-label mb-1"},Wg={class:"color-picker-row d-flex align-start ga-2"},Zg=["value"],Hg={class:"text-body-2 text-center text-label"},Xg={class:"text-body-1 text-primary mt-2 cursor-pointer"},Og={class:"text-body-2 text-left text-label mt-1"},Yg={key:0,class:"text-body-2 text-left text-danger mt-1"},Ug={key:1,class:"file-item d-flex align-center justify-space-between mt-2 gray-bg-1 pa-1"},Jg={class:"text-body-2 text-truncate"};function Kg(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VCardTitle"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VTextField"),d=o.resolveComponent("VIcon"),g=o.resolveComponent("VCardText"),u=o.resolveComponent("VCardActions"),y=o.resolveComponent("VForm"),p=o.resolveComponent("VCard");return o.openBlock(),o.createBlock(p,{class:"idm-gl4-import-dialog-card",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("span",Bg,o.toDisplayString(t.$t("marker.importLayer")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>e[9]||(e[9]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[9]},8,["onClick"])]),_:1}),o.createVNode(c),o.createVNode(y,{ref:"importForm",autocomplete:"off",class:"form-box",onSubmit:o.withModifiers(l.handleConfirm,["prevent"])},{default:o.withCtx(()=>[o.createVNode(g,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",Ig,[o.createElementVNode("div",Fg,[o.createTextVNode(o.toDisplayString(t.$t("marker.group")),1),e[10]||(e[10]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.form.groupName,"onUpdate:modelValue":e[0]||(e[0]=h=>i.form.groupName=h),density:"compact",variant:"outlined","hide-details":"",class:"input-btn-bg-1"},null,8,["modelValue"])]),o.createElementVNode("div",Gg,[o.createElementVNode("div",jg,[o.createTextVNode(o.toDisplayString(t.$t("marker.color")),1),e[11]||(e[11]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createElementVNode("div",Wg,[o.createElementVNode("input",{type:"color",value:i.form.color,class:"native-color-picker cursor-pointer",onInput:e[1]||(e[1]=h=>i.form.color=h.target.value)},null,40,Zg),o.createVNode(m,{modelValue:i.form.color,"onUpdate:modelValue":e[2]||(e[2]=h=>i.form.color=h),rules:i.formRules.color,density:"compact",variant:"outlined",class:"flex-1-1-0 input-btn-bg-1"},null,8,["modelValue","rules"])])]),o.createElementVNode("div",{class:o.normalizeClass(["upload-area btn-bg-1 d-flex flex-column justify-center align-center pa-4",{"drag-over":i.isDragOver,"upload-error":i.fileError}]),onDragenter:e[4]||(e[4]=o.withModifiers(h=>i.isDragOver=!0,["prevent"])),onDragleave:e[5]||(e[5]=o.withModifiers(h=>i.isDragOver=!1,["prevent"])),onDragover:e[6]||(e[6]=o.withModifiers(()=>{},["prevent"])),onDrop:e[7]||(e[7]=o.withModifiers((...h)=>l.handleDrop&&l.handleDrop(...h),["prevent"])),onClick:e[8]||(e[8]=(...h)=>l.handleSelectFile&&l.handleSelectFile(...h))},[o.createVNode(d,{size:"36",color:"grey",class:"mb-2"},{default:o.withCtx(()=>e[12]||(e[12]=[o.createTextVNode("mdi-cloud-upload-outline",-1)])),_:1,__:[12]}),o.createElementVNode("div",Hg,o.toDisplayString(t.$t("marker.uploadHint")),1),o.createElementVNode("div",Xg,o.toDisplayString(t.$t("marker.selectFile")),1),o.createElementVNode("input",{ref:"fileInput",type:"file",style:{display:"none"},accept:".json,.geojson,.zip,.shp,.kml,.kmz",onChange:e[3]||(e[3]=(...h)=>l.handleFileChange&&l.handleFileChange(...h))},null,544)],34),o.createElementVNode("div",Og,o.toDisplayString(t.$t("marker.uploadLimit")),1),i.fileError?(o.openBlock(),o.createElementBlock("div",Yg,o.toDisplayString(i.fileError),1)):o.createCommentVNode("",!0),i.form.file?(o.openBlock(),o.createElementBlock("div",Ug,[o.createElementVNode("span",Jg,[o.createVNode(d,{size:"16",color:"success",class:"mr-1"},{default:o.withCtx(()=>e[13]||(e[13]=[o.createTextVNode("mdi-check-circle",-1)])),_:1,__:[13]}),o.createTextVNode(" "+o.toDisplayString(i.form.file.name),1)]),o.createVNode(n,{icon:"",density:"compact",variant:"plain",size:"small",class:"file-remove-btn",onClick:l.handleRemoveFile},{default:o.withCtx(()=>[o.createVNode(d,{size:"16"},{default:o.withCtx(()=>e[14]||(e[14]=[o.createTextVNode("mdi-close",-1)])),_:1,__:[14]})]),_:1},8,["onClick"])])):o.createCommentVNode("",!0)]),_:1}),o.createVNode(c),o.createVNode(u,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(n,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleReset},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.reset")),1)]),_:1},8,["onClick"]),o.createVNode(n,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",type:"submit",loading:i.uploading},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1},8,["onSubmit"])]),_:1})}const Qg=Q(Dg,[["render",Kg]]),Ub="",qg={name:"IdmGroupDialog",props:{modelValue:{type:Boolean,default:!1},group:{type:Object,default:null},gateway:{type:String},token:{type:String},defaultMeteoToken:{type:String}},emits:["update:modelValue","saved"],data(){return{localName:"",saving:!1}},watch:{group:{handler(t){this.localName=(t==null?void 0:t.name)||""},immediate:!0}},methods:{handleClose(){this.$emit("update:modelValue",!1)},async handleConfirm(){var t;!this.group||!((t=this.localName)!=null&&t.trim())||(this.saving=!0,await de.put(`${this.gateway}/api/arc/lygroups/${this.group.id}`,{name:this.localName},{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(e=>{var a;((a=e.data)==null?void 0:a.code)===0&&this.$emit("saved")}).finally(()=>{this.saving=!1}))}}},$g={class:"text-h6 font-weight-600"},ef={class:"text-label mb-2"};function tf(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VCardTitle"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VTextField"),d=o.resolveComponent("VCardText"),g=o.resolveComponent("VCardActions"),u=o.resolveComponent("VCard"),y=o.resolveComponent("VDialog");return o.openBlock(),o.createBlock(y,{"model-value":a.modelValue,"max-width":"320",persistent:"","onUpdate:modelValue":e[1]||(e[1]=p=>t.$emit("update:modelValue",p))},{default:o.withCtx(()=>[o.createVNode(u,{class:"",elevation:"4"},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex justify-space-between align-center"},{default:o.withCtx(()=>[o.createElementVNode("span",$g,o.toDisplayString(t.$t("actions.editGroup")),1),o.createVNode(n,{icon:"",density:"compact",variant:"plain",class:"mr-n2",onClick:l.handleClose},{default:o.withCtx(()=>e[2]||(e[2]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[2]},8,["onClick"])]),_:1}),o.createVNode(c),o.createVNode(d,{class:"px-4 text-body-1"},{default:o.withCtx(()=>[o.createElementVNode("div",ef,[o.createTextVNode(o.toDisplayString(t.$t("marker.groupName")),1),e[3]||(e[3]=o.createElementVNode("span",{class:"text-danger"},"*",-1))]),o.createVNode(m,{modelValue:i.localName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.localName=p),density:"compact",variant:"outlined","hide-details":"",autocomplete:"off",height:"32px","min-height":"32px",class:"input-btn-bg-1"},null,8,["modelValue"])]),_:1}),o.createVNode(c),o.createVNode(g,{class:"w-100 d-flex justify-end align-center ga-4 pa-4"},{default:o.withCtx(()=>[o.createVNode(n,{class:"text-none text-body-1",variant:"tonal",density:"comfortable",onClick:l.handleClose},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(n,{class:"text-none text-body-1",variant:"flat",color:"primary",density:"comfortable",loading:i.saving,onClick:l.handleConfirm},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"])}const of=Q(qg,[["render",tf]]),af={name:"DeleteDialog",props:{title:{type:String},tips:{type:String},loading:{type:Boolean,default:!1}},emits:["close","delete"],data(){return{showDialog:!1}},methods:{handleClose(){this.showDialog=!1},handleDelete(){this.$emit("delete")},open(){this.showDialog=!0}}},rf={class:"text-body-1 pb-1"},lf={class:"text-body-1"};function nf(t,e,a,r,i,l){const n=o.resolveComponent("VIcon"),s=o.resolveComponent("VBtn"),c=o.resolveComponent("VCardTitle"),m=o.resolveComponent("VCardText"),d=o.resolveComponent("VCardActions"),g=o.resolveComponent("VCard"),u=o.resolveComponent("VDialog");return o.openBlock(),o.createBlock(u,{modelValue:i.showDialog,"onUpdate:modelValue":e[0]||(e[0]=y=>i.showDialog=y),width:"500","min-width":"500","max-width":"500"},{default:o.withCtx(()=>[o.createVNode(g,{class:""},{default:o.withCtx(()=>[o.createVNode(c,{class:"text-h6 font-weight-600 d-flex justify-center align-center py-4"},{default:o.withCtx(()=>[o.createVNode(n,{color:"warning",icon:"mdi-alert-circle",size:"small",class:"mr-2"}),o.createElementVNode("div",null,o.toDisplayString(a.title),1),o.createVNode(s,{icon:"",density:"compact",variant:"plain",class:"position-absolute top-0 right-0 mt-2 mr-2",onClick:l.handleClose},{default:o.withCtx(()=>e[1]||(e[1]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"])]),_:1}),o.createVNode(m,{class:"py-4 text-center"},{default:o.withCtx(()=>[o.createElementVNode("p",rf,o.toDisplayString(a.tips),1),o.createElementVNode("p",lf,o.toDisplayString(t.$t("tips.doYouWantToContinue")),1)]),_:1}),o.createVNode(d,{class:"w-100 d-flex justify-center align-center ga-8 py-6"},{default:o.withCtx(()=>[o.createVNode(s,{variant:"tonal",class:"text-none text-body-1",height:"32",onClick:l.handleClose},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(s,{loading:a.loading,variant:"flat",color:"danger",class:"text-none text-body-1",height:"32",onClick:l.handleDelete},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.delete")),1)]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const sf=Q(af,[["render",nf]]),Jb="",Kb="",cf={name:"IdmMarker",components:{IdmDrawMarker:Rg,IdmImportMarker:Qg,IdmGroupDialog:of,DeleteDialog:sf},props:{simple:{type:Boolean,default:!1},map:{type:Object},theme:{type:String},token:{type:String},isLogin:{type:Boolean,default:!1},defaultMeteoToken:{type:String},gateway:{type:String},top:{type:Number,default:0},paddingTop:{type:Number,default:8},menuToggle:{type:Object,default:{}}},emits:["map","menuToggle","theme","login"],setup(){return{Theme:be.useTheme()}},data(){return{right:10,toggle:!1,autoActive:localStorage.getItem("autoActiveMarkersGL4")==="true"||void 0,keyword:"",drawDialog:!1,importDialog:!1,loading:!1,deleteDialog:!1,deleteLoading:!1,deleteType:void 0,layerGroup:[],layers:[],groupIndex:0,currentLayer:void 0,drawnLayerIds:[],layerMarkers:{},groupDialog:!1,currentGroup:void 0}},computed:{listStyle(){return this.simple?{top:this.top+"px",left:this.toggle?"0px":"-280px",height:"calc(100vh - "+this.top+"px)"}:{top:this.top+"px",right:this.toggle?"0px":"-280px",height:"calc(100vh - "+this.top+"px)"}}},watch:{"menuToggle.v":{handler(){this.toggle=this.menuToggle.markerLayers,this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})},immediate:!0},toggle:{async handler(){this.toggle&&(localStorage.getItem("autoActiveMarkersGL4")||(this.autoActive=!0))}},autoActive:{async handler(){(this.autoActive===!0||this.autoActive===!1)&&localStorage.setItem("autoActiveMarkersGL4",this.autoActive),this.layerGroup.length===0&&await this.fetchAllLayers(),this.autoActive?this.handleDrawAllLayers():this.handleClearAllLayers()},immediate:!0},map:{handler(){this.map&&(this.handleDrawAllLayers(),this.map.on("zoom",this.handleZoomChange))}}},methods:{handleMenuToggle(){this.isLogin?(this.toggle=!this.toggle,this.$emit("menuToggle","markerLayers")):this.$emit("login")},handleEditGroup(t){this.drawDialog=!1,this.importDialog=!1,this.currentGroup=t,this.groupDialog=!0},handleSaveGroup(){this.fetchAllLayers(),this.groupDialog=!1,this.currentGroup=void 0},handleOpenDelete(t,e){this.deleteType=t,this.currentLayer=void 0,this.currentGroup=void 0,t==="group"?this.currentGroup=e:t==="layer"&&(this.currentLayer=e),this.$refs.deleteDialog.open()},confirmDelete(){this.$nextTick(()=>{var t,e,a,r;this.deleteType==="group"&&((t=this.currentGroup)!=null&&t.id)?this.handleDeleteGroup((e=this.currentGroup)==null?void 0:e.id):this.deleteType==="layer"&&((a=this.currentLayer)!=null&&a.id)&&this.handleDeleteLayer((r=this.currentLayer)==null?void 0:r.id)})},async handleDeleteGroup(t){t&&(this.deleteLoading=!0,await de.delete(`${this.gateway}/api/arc/lygroups/${t}`,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(e=>{var a;((a=e.data)==null?void 0:a.code)===0&&(this.fetchAllLayers(),this.currentGroup=void 0,this.$refs.deleteDialog.handleClose(),this.deleteLoading=!1)}).catch(()=>{this.deleteLoading=!1}))},handleOpenDrawMarkers(t){this.handleCloseDraw(),this.currentGroup=t||this.layerGroup.find(e=>e.name==="Custom Layers"),this.importDialog=!1,this.drawDialog=!0},handleOpenImportDialog(t){this.drawDialog=!1,this.handleCloseDraw(),this.currentGroup=t||void 0,this.importDialog=!0},handleImportLayer(t){this.fetchAllLayers(),this.importDialog=!1},handleSaveMarker(t){this.fetchAllLayers(),this.drawDialog=!1,this.currentLayer=null},handleCloseDraw(){this.drawDialog=!1,this.currentLayer=null,this.autoActive&&this.handleDrawAllLayers(),this.currentGroup=void 0},handleEditLayer(t,e){var a;this.importDialog=!1,this.drawDialog&&((a=this.currentLayer)!=null&&a.id)&&this.currentLayer.id!==e.id&&this.autoActive&&this.handleDrawAllLayers(),this.currentGroup=t,this.currentLayer=e,this.drawDialog=!0},handleLayerClick(t,e){var m,d,g,u;if(!this.autoActive||(this.currentLayer=e,this.currentGroup=t,!this.map||!(e!=null&&e.extend)||!((m=e.extend)!=null&&m.geometry)))return;const a=typeof e.extend=="string"?JSON.parse(e.extend):e.extend;if(((d=a==null?void 0:a.geometry)==null?void 0:d.type)==="Point"){this.map.flyTo({center:a.geometry.coordinates,zoom:Math.max(this.map.getZoom(),4),duration:800});return}if(((g=a==null?void 0:a.geometry)==null?void 0:g.type)==="LineString"){const y=Math.floor(((u=a.geometry.coordinates)==null?void 0:u.length)/2);this.map.flyTo({center:a.geometry.coordinates[y],zoom:Math.max(this.map.getZoom(),4),duration:800});return}let r=[];if((a==null?void 0:a.type)==="Feature"?r=[a]:(a==null?void 0:a.type)==="FeatureCollection"&&(r=[...a.features]),!r)return;let i=1/0,l=-1/0,n=1/0,s=-1/0;const c=y=>{const[p,h]=y;p<i&&(i=p),p>l&&(l=p),h<n&&(n=h),h>s&&(s=h)};for(const y of r){const p=y.geometry;p&&(p.type==="MultiPoint"?p.coordinates.forEach(c):p.type==="MultiLineString"?p.coordinates.forEach(f=>f.forEach(c)):(p.type==="Polygon"||p.type==="MultiPolygon")&&(p.type==="MultiPolygon"?p.coordinates:[p.coordinates]).forEach(f=>f.forEach(x=>x.forEach(c))))}isFinite(i)&&(i===l&&n===s?this.map.flyTo({center:[i,n],zoom:Math.max(this.map.getZoom(),4),duration:800}):this.map.fitBounds([[i,n],[l,s]],{padding:80,duration:800}))},async fetchAllLayers(){this.loading=!0,this.layerGroup=[],await de.get(`${this.gateway}/api/arc/lygroups/my`,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(t=>{var e,a,r,i,l,n;if(((e=t.data)==null?void 0:e.code)===0){this.loading=!1,this.layerGroup=((i=(r=(a=t.data)==null?void 0:a.data)==null?void 0:r.rows)==null?void 0:i.reverse())||[];const s=[];(l=this.layerGroup)==null||l.forEach(c=>{var m;c.show=!0,(m=c.layers)==null||m.forEach(d=>{var u;d.layerGroupId=c.id;const g=typeof d.extend=="string"?JSON.parse(d.extend):d.extend;(u=g==null?void 0:g.features)==null||u.forEach(y=>{y.properties.lgId=c.id,y.properties.layerId=d.id,y.properties.name||(y.properties.name=d.name)}),s.push(d)})}),this.layers=s,this.handleDrawAllLayers(),(n=this.$refs.drawDialog)==null||n.handleClearDraw()}}).catch(()=>{this.loading=!1})},async handleDeleteLayer(t){this.deleteLoading=!0,await de.delete(`${this.gateway}/api/arc/layers/${t}`,{headers:{Authorization:this.token||this.defaultMeteoToken}}).then(e=>{var a;((a=e.data)==null?void 0:a.code)===0&&(this.deleteLoading=!1,this.fetchAllLayers(),this.$refs.deleteDialog.handleClose())}).catch(()=>{this.deleteLoading=!1})},handleRenderLayer(t){if(!this.map||!(t!=null&&t.extend))return;const e=typeof t.extend=="string"?JSON.parse(t.extend):t.extend;if(!e)return;const a=`marker-layer-${t.id}`;this.handleClearLayerMarkers(t.id);const r=e.features||(e.type==="Feature"?[e]:[]);if(r.some(s=>{var c,m;return(((c=s.geometry)==null?void 0:c.type)==="Point"||((m=s.geometry)==null?void 0:m.type)==="MultiPoint")&&s.properties.shape==="point"})){const s=[];r.forEach(c=>{var u,y,p,h;const m=(u=c.geometry)==null?void 0:u.type,d=((y=c.properties)==null?void 0:y.name)||"",g=((p=c.properties)==null?void 0:p.color)||t.color||((h=this.Theme.current.value.colors)==null?void 0:h["map-green"]);if(m==="Point"){const[f,x]=c.geometry.coordinates,v=`<div style="font-size:12px;line-height:1.5;">
|
|
640
640
|
<div style="font-weight:600;">${d}</div>
|
|
@@ -651,4 +651,4 @@ ${h}
|
|
|
651
651
|
`}catch{}}catch{}return e}function H0(t,e,a){if(!e)return;let r=document.createElement("style");r.setAttribute("data-sd",a),r.textContent=e,t.insertBefore(r,t.firstChild||null)}function X0(t,e){try{let a=t.currentSrc||t.src||"";if(!a)return;e.setAttribute("src",a),e.removeAttribute("srcset"),e.removeAttribute("sizes"),e.loading="eager",e.decoding="sync"}catch{}}function O0(t){let e=new Set;if(!t)return e;let a=/var\(\s*(--[A-Za-z0-9_-]+)\b/g,r;for(;r=a.exec(t);)e.add(r[1]);return e}function Y0(t,e){try{let a=getComputedStyle(t).getPropertyValue(e).trim();if(a)return a}catch{}try{let a=getComputedStyle(document.documentElement).getPropertyValue(e).trim();if(a)return a}catch{}return""}function U0(t,e,a){let r=[];for(let i of e){let l=Y0(t,i);l&&r.push(`${i}: ${l};`)}return r.length?`${a}{${r.join("")}}
|
|
652
652
|
`:""}function J0(t){t&&(t.nodeType===Node.ELEMENT_NODE&&t.setAttribute("data-sd-slotted",""),t.querySelectorAll&&t.querySelectorAll("*").forEach(e=>e.setAttribute("data-sd-slotted","")))}async function K0(t,e=3){let a=()=>{var l;try{return t.contentDocument||((l=t.contentWindow)==null?void 0:l.document)||null}catch{return null}},r=a(),i=0;for(;i<e&&(!r||!r.body&&!r.documentElement);)await new Promise(l=>setTimeout(l,0)),r=a(),i++;return r&&(r.body||r.documentElement)?r:null}function Q0(t){let e=t.getBoundingClientRect(),a=0,r=0,i=0,l=0;try{let c=getComputedStyle(t);a=parseFloat(c.borderLeftWidth)||0,r=parseFloat(c.borderRightWidth)||0,i=parseFloat(c.borderTopWidth)||0,l=parseFloat(c.borderBottomWidth)||0}catch{}let n=Math.max(0,Math.round(e.width-(a+r))),s=Math.max(0,Math.round(e.height-(i+l)));return{contentWidth:n,contentHeight:s,rect:e}}function q0(t,e,a){let r=t.createElement("style");return r.setAttribute("data-sd-iframe-pin",""),r.textContent=`html, body {margin: 0 !important;padding: 0 !important;width: ${e}px !important;height: ${a}px !important;min-width: ${e}px !important;min-height: ${a}px !important;box-sizing: border-box !important;overflow: hidden !important;background-clip: border-box !important;}`,(t.head||t.documentElement).appendChild(r),()=>{try{r.remove()}catch{}}}async function $0(t,e,a){let r=await K0(t,3);if(!r)throw new Error("iframe document not accessible/ready");let{contentWidth:i,contentHeight:l,rect:n}=Q0(t),s=a==null?void 0:a.snap;if(!s||typeof s.toPng!="function")throw new Error("snapdom.toPng not available in iframe or window");let c={...a,scale:1},m=q0(r,i,l),d;try{d=await s.toPng(r.documentElement,c)}finally{m()}d.style.display="block",d.style.width=`${i}px`,d.style.height=`${l}px`;let g=document.createElement("div");return e.nodeMap.set(g,t),so(t,g,e,a),g.style.overflow="hidden",g.style.display="block",g.style.width||(g.style.width=`${Math.round(n.width)}px`),g.style.height||(g.style.height=`${Math.round(n.height)}px`),g.appendChild(d),g}var ko=new Map;async function Ao(t){var a;if((a=D.resource)!=null&&a.has(t))return D.resource.get(t);if(ko.has(t))return ko.get(t);let e=(async()=>{var i;let r=await Yt(t,{as:"dataURL",silent:!0});if(!r.ok||typeof r.data!="string")throw new Error(`[snapDOM] Failed to read blob URL: ${t}`);return(i=D.resource)==null||i.set(t,r.data),r.data})();ko.set(t,e);try{let r=await e;return ko.set(t,r),r}catch(r){throw ko.delete(t),r}}var ey=/\bblob:[^)"'\s]+/g;async function Ya(t){if(!t||t.indexOf("blob:")===-1)return t;let e=Array.from(new Set(t.match(ey)||[]));if(e.length===0)return t;let a=t;for(let r of e)try{let i=await Ao(r);a=a.split(r).join(i)}catch{}return a}function Uo(t){return typeof t=="string"&&t.startsWith("blob:")}function ty(t){return(t||"").split(",").map(e=>e.trim()).filter(Boolean).map(e=>{let a=e.match(/^(\S+)(\s+.+)?$/);return a?{url:a[1],desc:a[2]||""}:null}).filter(Boolean)}function oy(t){return t.map(e=>e.desc?`${e.url} ${e.desc.trim()}`:e.url).join(", ")}async function ay(t){var n,s;if(!t)return;let e=t.querySelectorAll?t.querySelectorAll("img"):[];for(let c of e)try{let m=c.getAttribute("src")||c.currentSrc||"";if(Uo(m)){let g=await Ao(m);c.setAttribute("src",g)}let d=c.getAttribute("srcset");if(d&&d.includes("blob:")){let g=ty(d),u=!1;for(let y of g)if(Uo(y.url))try{y.url=await Ao(y.url),u=!0}catch{}u&&c.setAttribute("srcset",oy(g))}}catch{}let a=t.querySelectorAll?t.querySelectorAll("image"):[];for(let c of a)try{let m="http://www.w3.org/1999/xlink",d=c.getAttribute("href")||((n=c.getAttributeNS)==null?void 0:n.call(c,m,"href"));if(Uo(d)){let g=await Ao(d);c.setAttribute("href",g),(s=c.removeAttributeNS)==null||s.call(c,m,"href")}}catch{}let r=t.querySelectorAll?t.querySelectorAll("[style*='blob:']"):[];for(let c of r)try{let m=c.getAttribute("style");if(m&&m.includes("blob:")){let d=await Ya(m);c.setAttribute("style",d)}}catch{}let i=t.querySelectorAll?t.querySelectorAll("style"):[];for(let c of i)try{let m=c.textContent||"";m.includes("blob:")&&(c.textContent=await Ya(m))}catch{}let l=["poster"];for(let c of l){let m=t.querySelectorAll?t.querySelectorAll(`[${c}^='blob:']`):[];for(let d of m)try{let g=d.getAttribute(c);Uo(g)&&d.setAttribute(c,await Ao(g))}catch{}}}async function Jo(t,e,a){var m,d,g,u,y,p;if(!t)throw new Error("Invalid node");let r=new Set,i=null,l=null;if(t.nodeType===Node.ELEMENT_NODE){let h=(t.localName||t.tagName||"").toLowerCase();if(t.id==="snapdom-sandbox"||t.hasAttribute("data-snapdom-sandbox")||Wf.has(h))return null}if(t.nodeType===Node.TEXT_NODE||t.nodeType!==Node.ELEMENT_NODE)return t.cloneNode(!0);if(t.getAttribute("data-capture")==="exclude"){if(a.excludeMode==="hide"){let h=document.createElement("div"),f=t.getBoundingClientRect();return h.style.cssText=`display:inline-block;width:${f.width}px;height:${f.height}px;visibility:hidden;`,h}else if(a.excludeMode==="remove")return null}if(a.exclude&&Array.isArray(a.exclude))for(let h of a.exclude)try{if((m=t.matches)!=null&&m.call(t,h)){if(a.excludeMode==="hide"){let f=document.createElement("div"),x=t.getBoundingClientRect();return f.style.cssText=`display:inline-block;width:${x.width}px;height:${x.height}px;visibility:hidden;`,f}else if(a.excludeMode==="remove")return null}}catch(f){console.warn(`Invalid selector in exclude option: ${h}`,f)}if(typeof a.filter=="function")try{if(!a.filter(t)){if(a.filterMode==="hide"){let h=document.createElement("div"),f=t.getBoundingClientRect();return h.style.cssText=`display:inline-block;width:${f.width}px;height:${f.height}px;visibility:hidden;`,h}else if(a.filterMode==="remove")return null}}catch(h){console.warn("Error in filter function:",h)}if(t.tagName==="IFRAME"){let h=!1;try{h=!!(t.contentDocument||(d=t.contentWindow)!=null&&d.document)}catch{h=!1}if(h)try{return await $0(t,e,a)}catch(f){console.warn("[SnapDOM] iframe rasterization failed, fallback:",f)}if(a.placeholders){let f=document.createElement("div");return f.style.cssText=`width:${t.offsetWidth}px;height:${t.offsetHeight}px;background-image:repeating-linear-gradient(45deg,#ddd,#ddd 5px,#f9f9f9 5px,#f9f9f9 10px);display:flex;align-items:center;justify-content:center;font-size:12px;color:#555;border:1px solid #aaa;`,so(t,f,e,a),f}else{let f=t.getBoundingClientRect(),x=document.createElement("div");return x.style.cssText=`display:inline-block;width:${f.width}px;height:${f.height}px;visibility:hidden;`,so(t,x,e,a),x}}if(t.getAttribute("data-capture")==="placeholder"){let h=t.cloneNode(!1);e.nodeMap.set(h,t),so(t,h,e,a);let f=document.createElement("div");return f.textContent=t.getAttribute("data-placeholder-text")||"",f.style.cssText="color:#666;font-size:12px;text-align:center;line-height:1.4;padding:0.5em;box-sizing:border-box;",h.appendChild(f),h}if(t.tagName==="CANVAS"){let h="";try{let x=t.getContext("2d",{willReadFrequently:!0});try{x&&x.getImageData(0,0,1,1)}catch{}if(await new Promise(v=>requestAnimationFrame(v)),h=t.toDataURL("image/png"),!h||h==="data:,"){try{x&&x.getImageData(0,0,1,1)}catch{}if(await new Promise(v=>requestAnimationFrame(v)),h=t.toDataURL("image/png"),!h||h==="data:,"){let v=document.createElement("canvas");v.width=t.width,v.height=t.height;let b=v.getContext("2d");b&&(b.drawImage(t,0,0),h=v.toDataURL("image/png"))}}}catch{}let f=document.createElement("img");try{f.decoding="sync",f.loading="eager"}catch{}h&&(f.src=h),f.width=t.width,f.height=t.height;try{let x=getComputedStyle(t);x.width&&(f.style.width=x.width),x.height&&(f.style.height=x.height)}catch{}return e.nodeMap.set(f,t),so(t,f,e,a),f}let n;try{if(n=t.cloneNode(!1),I0(t,n),e.nodeMap.set(n,t),t.tagName==="IMG"){X0(t,n);try{let h=t.getBoundingClientRect(),f=Math.round(h.width||0),x=Math.round(h.height||0);if(!f||!x){let v=window.getComputedStyle(t),b=parseFloat(v.width)||0,k=parseFloat(v.height)||0,A=parseInt(t.getAttribute("width")||"",10)||0,L=parseInt(t.getAttribute("height")||"",10)||0,C=t.width||t.naturalWidth||0,z=t.height||t.naturalHeight||0;f=Math.round(f||b||A||C||0),x=Math.round(x||k||L||z||0)}f&&(n.dataset.snapdomWidth=String(f)),x&&(n.dataset.snapdomHeight=String(x))}catch{}try{let h=t.getAttribute("style")||"",f=window.getComputedStyle(t),x=L=>{let C=h.match(new RegExp(`${L}\\s*:\\s*([^;]+)`,"i")),z=C?C[1].trim():f.getPropertyValue(L);return/%|auto/i.test(String(z||""))},v=parseInt(n.dataset.snapdomWidth||"0",10),b=parseInt(n.dataset.snapdomHeight||"0",10),k=x("width")||!v,A=x("height")||!b;k&&v&&(n.style.width=`${v}px`),A&&b&&(n.style.height=`${b}px`),v&&(n.style.minWidth=`${v}px`),b&&(n.style.minHeight=`${b}px`)}catch{}}}catch(h){throw console.error("[Snapdom] Failed to clone node:",t,h),h}if(t instanceof HTMLTextAreaElement){let h=t.getBoundingClientRect();n.style.width=`${h.width}px`,n.style.height=`${h.height}px`}if(t instanceof HTMLInputElement&&(n.value=t.value,n.setAttribute("value",t.value),t.checked!==void 0&&(n.checked=t.checked,t.checked&&n.setAttribute("checked",""),t.indeterminate&&(n.indeterminate=t.indeterminate))),t instanceof HTMLSelectElement&&(i=t.value),t instanceof HTMLTextAreaElement&&(l=t.value),so(t,n,e,a),t.shadowRoot){let h=function(z,M){if(z.nodeType===Node.ELEMENT_NODE&&z.tagName==="STYLE")return M(null);Jo(z,e,a).then(T=>{M(T||null)}).catch(()=>{M(null)})};try{let z=t.shadowRoot.querySelectorAll("slot");for(let M of z){let T=[];try{T=((g=M.assignedNodes)==null?void 0:g.call(M,{flatten:!0}))||((u=M.assignedNodes)==null?void 0:u.call(M))||[]}catch{T=((y=M.assignedNodes)==null?void 0:y.call(M))||[]}for(let N of T)r.add(N)}}catch{}let f=W0(e),x=`[data-sd="${f}"]`;try{n.setAttribute("data-sd",f)}catch{}let v=Z0(t.shadowRoot),b=j0(v,x),k=O0(v),A=U0(t,k,x);H0(n,A+b,f);let L=document.createDocumentFragment(),C=await da(Array.from(t.shadowRoot.childNodes),h,a.fast);L.append(...C.filter(z=>!!z)),n.appendChild(L)}if(t.tagName==="SLOT"){let h=function(k,A){Jo(k,e,a).then(L=>{L&&J0(L),A(L||null)}).catch(()=>{A(null)})},f=((p=t.assignedNodes)==null?void 0:p.call(t,{flatten:!0}))||[],x=f.length>0?f:Array.from(t.childNodes),v=document.createDocumentFragment(),b=await da(Array.from(x),h,a.fast);return v.append(...b.filter(k=>!!k)),v}function s(h,f){if(r.has(h))return f(null);Jo(h,e,a).then(x=>{f(x||null)}).catch(()=>{f(null)})}let c=await da(Array.from(t.childNodes),s,a.fast);if(n.append(...c.filter(h=>!!h)),i!==null&&n instanceof HTMLSelectElement){n.value=i;for(let h of n.options)h.value===i?h.setAttribute("selected",""):h.removeAttribute("selected")}return l!==null&&n instanceof HTMLTextAreaElement&&(n.textContent=l),n}function iy(t){return/\bcounter\s*\(|\bcounters\s*\(/.test(t||"")}function ry(t){return(t||"").replace(/"([^"]*)"/g,"$1")}function Ua(t,e=!1){let a="",r=Math.max(1,t);for(;r>0;)r--,a=String.fromCharCode(97+r%26)+a,r=Math.floor(r/26);return e?a.toUpperCase():a}function Ja(t,e=!0){let a=[[1e3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50,"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]],r=Math.max(1,Math.min(3999,t)),i="";for(let[l,n]of a)for(;r>=l;)i+=n,r-=l;return e?i:i.toLowerCase()}function Ka(t,e){switch((e||"decimal").toLowerCase()){case"decimal":return String(Math.max(0,t));case"decimal-leading-zero":return(t<10?"0":"")+String(Math.max(0,t));case"lower-alpha":return Ua(t,!1);case"upper-alpha":return Ua(t,!0);case"lower-roman":return Ja(t,!1);case"upper-roman":return Ja(t,!0);default:return String(Math.max(0,t))}}function ly(t){let e=()=>{var u;return((u=D==null?void 0:D.session)==null?void 0:u.__counterEpoch)??0},a=e(),r=new WeakMap,i=t instanceof Document?t.documentElement:t,l=u=>u&&u.tagName==="LI",n=u=>{let y=0,p=u==null?void 0:u.parentElement;if(!p)return 0;for(let h of p.children){if(h===u)break;h.tagName==="LI"&&y++}return y},s=u=>{let y=new Map;for(let[p,h]of u)y.set(p,h.slice());return y},c=(u,y,p)=>{var v,b;let h=s(u),f;try{f=((v=p.style)==null?void 0:v.counterReset)||getComputedStyle(p).counterReset}catch{}if(f&&f!=="none")for(let k of f.split(",")){let A=k.trim().split(/\s+/),L=A[0],C=Number.isFinite(Number(A[1]))?Number(A[1]):0;if(!L)continue;let z=y.get(L);if(z&&z.length){let M=z.slice();M.push(C),h.set(L,M)}else h.set(L,[C])}let x;try{x=((b=p.style)==null?void 0:b.counterIncrement)||getComputedStyle(p).counterIncrement}catch{}if(x&&x!=="none")for(let k of x.split(",")){let A=k.trim().split(/\s+/),L=A[0],C=Number.isFinite(Number(A[1]))?Number(A[1]):1;if(!L)continue;let z=h.get(L)||[];z.length===0&&z.push(0),z[z.length-1]+=C,h.set(L,z)}try{if(getComputedStyle(p).display==="list-item"&&l(p)){let k=p.parentElement,A=1;if(k&&k.tagName==="OL"){let C=k.getAttribute("start"),z=Number.isFinite(Number(C))?Number(C):1,M=n(p),T=p.getAttribute("value");A=Number.isFinite(Number(T))?Number(T):z+M}else A=1+n(p);let L=h.get("list-item")||[];L.length===0&&L.push(0),L[L.length-1]=A,h.set("list-item",L)}}catch{}return h},m=(u,y,p)=>{let h=c(p,y,u);r.set(u,h);let f=h;for(let x of u.children)f=m(x,h,f);return h},d=new Map;m(i,d,d);function g(){let u=e();if(u!==a){a=u;let y=new Map;m(i,y,y)}}return{get(u,y){var h;g();let p=(h=r.get(u))==null?void 0:h.get(y);return p&&p.length?p[p.length-1]:0},getStack(u,y){var h;g();let p=(h=r.get(u))==null?void 0:h.get(y);return p?p.slice():[]}}}function ny(t,e,a){if(!t||t==="none")return t;try{let r=/\b(counter|counters)\s*\(([^)]+)\)/g,i=t.replace(r,(l,n,s)=>{var m,d,g;let c=String(s).split(",").map(u=>u.trim());if(n==="counter"){let u=(m=c[0])==null?void 0:m.replace(/^["']|["']$/g,""),y=(c[1]||"decimal").toLowerCase(),p=a.get(e,u);return Ka(p,y)}else{let u=(d=c[0])==null?void 0:d.replace(/^["']|["']$/g,""),y=((g=c[1])==null?void 0:g.replace(/^["']|["']$/g,""))??"",p=(c[2]||"decimal").toLowerCase(),h=a.getStack(e,u);return h.length?h.map(f=>Ka(f,p)).join(y):""}});return ry(i)}catch{return"- "}}var co=new WeakMap,Qa=300;function sy(t,e){let a=qa(t);return e?(e.__pseudoPreflightFp!==a&&(e.__pseudoPreflight=ei(t),e.__pseudoPreflightFp=a),!!e.__pseudoPreflight):ei(t)}function ha(t){try{return t&&t.cssRules?t.cssRules:null}catch{return null}}function qa(t){let e=t.querySelectorAll('style,link[rel~="stylesheet"]'),a=`n:${e.length}|`,r=0;for(let l=0;l<e.length;l++){let n=e[l];if(n.tagName==="STYLE"){let s=n.textContent?n.textContent.length:0;a+=`S${s}|`;let c=n.sheet,m=c?ha(c):null;m&&(r+=m.length)}else{let s=n.getAttribute("href")||"",c=n.getAttribute("media")||"all";a+=`L${s}|m:${c}|`;let m=n.sheet,d=m?ha(m):null;d&&(r+=d.length)}}let i=t.adoptedStyleSheets;return a+=`ass:${Array.isArray(i)?i.length:0}|tr:${r}`,a}function $a(t,e,a){let r=ha(t);if(!r)return!1;for(let i=0;i<r.length;i++){if(a.budget<=0)return!1;let l=r[i],n=l&&l.cssText?l.cssText:"";a.budget--;for(let s of e)if(n.includes(s))return!0;if(l&&l.cssRules&&l.cssRules.length)for(let s=0;s<l.cssRules.length&&a.budget>0;s++){let c=l.cssRules[s],m=c&&c.cssText?c.cssText:"";a.budget--;for(let d of e)if(m.includes(d))return!0}if(a.budget<=0)return!1}return!1}function ei(t=document){let e=qa(t),a=co.get(t);if(a&&a.fingerprint===e)return a.result;let r=["::before","::after","::first-letter",":before",":after",":first-letter","counter(","counters(","counter-increment","counter-reset"],i=t.querySelectorAll("style");for(let n=0;n<i.length;n++){let s=i[n].textContent||"";for(let c of r)if(s.includes(c))return co.set(t,{fingerprint:e,result:!0}),!0}let l=t.adoptedStyleSheets;if(Array.isArray(l)&&l.length){let n={budget:Qa};try{for(let s of l)if($a(s,r,n))return co.set(t,{fingerprint:e,result:!0}),!0}catch{}}{let n=t.querySelectorAll('style,link[rel~="stylesheet"]'),s={budget:Qa};for(let c=0;c<n.length&&s.budget>0;c++){let m=n[c],d=null;if(m.tagName,d=m.sheet||null,d&&$a(d,r,s))return co.set(t,{fingerprint:e,result:!0}),!0}}return t.querySelector('[style*="counter("], [style*="counters("]')?(co.set(t,{fingerprint:e,result:!0}),!0):(co.set(t,{fingerprint:e,result:!1}),!1)}var mo=new WeakMap,ti=-1;function cy(t){return(t||"").replace(/"([^"]*)"/g,"$1")}function my(t){if(!t)return"";let e=[],a=/"([^"]*)"/g,r;for(;r=a.exec(t);)e.push(r[1]);return e.length?e.join(""):cy(t)}function pa(t,e){let a=t.parentElement,r=a?mo.get(a):null;return r?{get(i,l){let n=e.get(i,l),s=r.get(l);return typeof s=="number"?Math.max(n,s):n},getStack(i,l){let n=e.getStack(i,l);if(!n.length)return n;let s=r.get(l);if(typeof s=="number"){let c=n.slice();return c[c.length-1]=Math.max(c[c.length-1],s),c}return n}}:e}function ua(t,e,a){let r=new Map;function i(c){let m=[];if(!c||c==="none")return m;for(let d of String(c).split(",")){let g=d.trim().split(/\s+/),u=g[0],y=Number.isFinite(Number(g[1]))?Number(g[1]):void 0;u&&m.push({name:u,num:y})}return m}let l=i(e==null?void 0:e.counterReset),n=i(e==null?void 0:e.counterIncrement);function s(c){if(r.has(c))return r.get(c).slice();let m=a.getStack(t,c);m=m.length?m.slice():[];let d=l.find(u=>u.name===c);if(d){let u=Number.isFinite(d.num)?d.num:0;m=m.length?[...m,u]:[u]}let g=n.find(u=>u.name===c);if(g){let u=Number.isFinite(g.num)?g.num:1;m.length===0&&(m=[0]),m[m.length-1]+=u}return r.set(c,m.slice()),m}return{get(c,m){let d=s(m);return d.length?d[d.length-1]:0},getStack(c,m){return s(m)},__incs:n}}function dy(t,e,a){let r;try{r=getComputedStyle(t,e)}catch{}let i=r==null?void 0:r.content;if(!i||i==="none"||i==="normal")return{text:"",incs:[]};let l=pa(t,a),n=ua(t,r,l),s=iy(i)?ny(i,t,n):i;return{text:my(s),incs:n.__incs||[]}}async function oi(t,e,a,r){var m,d,g;if(!(t instanceof Element)||!(e instanceof Element))return;let i=t.ownerDocument||document;if(!sy(i,a))return;let l=((m=D==null?void 0:D.session)==null?void 0:m.__counterEpoch)??0;if(ti!==l&&(mo=new WeakMap,a&&(a.__counterCtx=null),ti=l),!a.__counterCtx)try{a.__counterCtx=ly(t.ownerDocument||document)}catch{}let n=a.__counterCtx;for(let u of["::before","::after","::first-letter"])try{let y=Pa(t,u);if(!y||y.content==="none"&&y.backgroundImage==="none"&&y.backgroundColor==="transparent"&&(y.borderStyle==="none"||parseFloat(y.borderWidth)===0)&&(!y.transform||y.transform==="none")&&y.display==="inline")continue;if(u==="::first-letter"){let W=getComputedStyle(t);if(!(y.color!==W.color||y.fontSize!==W.fontSize||y.fontWeight!==W.fontWeight))continue;let I=Array.from(e.childNodes).find(ue=>{var ye;return ue.nodeType===Node.TEXT_NODE&&((ye=ue.textContent)==null?void 0:ye.trim().length)>0});if(!I)continue;let K=I.textContent,V=(d=K.match(/^([^\p{L}\p{N}\s]*[\p{L}\p{N}](?:['’])?)/u))==null?void 0:d[0],Y=K.slice((V==null?void 0:V.length)||0);if(!V||/[\uD800-\uDFFF]/.test(V))continue;let ee=document.createElement("span");ee.textContent=V,ee.dataset.snapdomPseudo="::first-letter";let he=Ma(y),ge=ra(he,"span");a.styleMap.set(ee,ge);let re=document.createTextNode(Y);e.replaceChild(re,I),e.insertBefore(ee,re);continue}let p=y.content??"",h=p===""||p==="none"||p==="normal",{text:f,incs:x}=dy(t,u,n),v=y.backgroundImage,b=y.backgroundColor,k=y.fontFamily,A=parseInt(y.fontSize)||32,L=parseInt(y.fontWeight)||!1,C=y.color||"#000",z=y.borderStyle,M=parseFloat(y.borderWidth),T=y.transform,N=Jt(k),F=!h&&f!=="",O=v&&v!=="none",q=b&&b!=="transparent"&&b!=="rgba(0, 0, 0, 0)",$=z&&z!=="none"&&M>0,le=T&&T!=="none";if(!(F||O||q||$||le)){if(x&&x.length&&t.parentElement){let W=mo.get(t.parentElement)||new Map;for(let{name:I}of x){if(!I)continue;let K=pa(t,n),V=ua(t,getComputedStyle(t,u),K).get(t,I);W.set(I,V)}mo.set(t.parentElement,W)}continue}let S=document.createElement("span");S.dataset.snapdomPseudo=u,S.style.pointerEvents="none";let Z=Ma(y),H=ra(Z,"span");if(a.styleMap.set(S,H),N&&f&&f.length===1){let{dataUrl:W,width:I,height:K}=await r0(f,k,L,A,C),V=document.createElement("img");V.src=W,V.style=`height:${A}px;width:${I/K*A}px;object-fit:contain;`,S.appendChild(V),e.dataset.snapdomHasIcon="true"}else if(f&&f.startsWith("url(")){let W=oa(f);if(W!=null&&W.trim())try{let I=document.createElement("img"),K=await Yt(Wo(W),{as:"dataURL",useProxy:r.useProxy});I.src=K.data,I.style=`width:${A}px;height:auto;object-fit:contain;`,S.appendChild(I)}catch(I){console.error(`[snapdom] Error in pseudo ${u} for`,t,I)}}else!N&&F&&(S.textContent=f);S.style.backgroundImage="none","maskImage"in S.style&&(S.style.maskImage="none"),"webkitMaskImage"in S.style&&(S.style.webkitMaskImage="none");try{S.style.backgroundRepeat=y.backgroundRepeat,S.style.backgroundSize=y.backgroundSize,y.backgroundPositionX&&y.backgroundPositionY?(S.style.backgroundPositionX=y.backgroundPositionX,S.style.backgroundPositionY=y.backgroundPositionY):S.style.backgroundPosition=y.backgroundPosition,S.style.backgroundOrigin=y.backgroundOrigin,S.style.backgroundClip=y.backgroundClip,S.style.backgroundAttachment=y.backgroundAttachment,S.style.backgroundBlendMode=y.backgroundBlendMode}catch{}if(O)try{let W=Ta(v),I=await Promise.all(W.map(za));S.style.backgroundImage=I.join(", ")}catch(W){console.warn(`[snapdom] Failed to inline background-image for ${u}`,W)}q&&(S.style.backgroundColor=b);let te=S.childNodes.length>0||((g=S.textContent)==null?void 0:g.trim())!==""||O||q||$||le;if(x&&x.length&&t.parentElement){let W=mo.get(t.parentElement)||new Map,I=pa(t,n),K=ua(t,getComputedStyle(t,u),I);for(let{name:V}of x){if(!V)continue;let Y=K.get(t,V);W.set(V,Y)}mo.set(t.parentElement,W)}if(!te)continue;u==="::before"?e.insertBefore(S,e.firstChild):e.appendChild(S)}catch(y){console.warn(`[snapdom] Failed to capture ${u} for`,t,y)}let s=Array.from(t.children),c=Array.from(e.children).filter(u=>!u.dataset.snapdomPseudo);for(let u=0;u<Math.min(s.length,c.length);u++)await oi(s[u],c[u],a,r)}function hy(t,e){var k,A;if(!t||!(t instanceof Element))return;let a=t.ownerDocument||document,r=e||a,i=t instanceof SVGSVGElement?[t]:Array.from(t.querySelectorAll("svg"));if(i.length===0)return;let l=/url\(\s*#([^)]+)\)/g,n=["fill","stroke","filter","clip-path","mask","marker","marker-start","marker-mid","marker-end"],s=L=>window.CSS&&CSS.escape?CSS.escape(L):L.replace(/[^a-zA-Z0-9_-]/g,"\\$&"),c="http://www.w3.org/1999/xlink",m=L=>{if(!L||!L.getAttribute)return null;let C=L.getAttribute("href")||L.getAttribute("xlink:href")||(typeof L.getAttributeNS=="function"?L.getAttributeNS(c,"href"):null);if(C)return C;let z=L.attributes;if(!z)return null;for(let M=0;M<z.length;M++){let T=z[M];if(!T||!T.name)continue;if(T.name==="href")return T.value;let N=T.name.indexOf(":");if(N!==-1&&T.name.slice(N+1)==="href")return T.value}return null},d=new Set(Array.from(t.querySelectorAll("[id]")).map(L=>L.id)),g=new Set,u=!1,y=(L,C=null)=>{if(!L)return;l.lastIndex=0;let z;for(;z=l.exec(L);){u=!0;let M=(z[1]||"").trim();M&&(d.has(M)||(g.add(M),C&&!C.has(M)&&C.add(M)))}},p=L=>{let C=L.querySelectorAll("use");for(let M of C){let T=m(M);if(!T||!T.startsWith("#"))continue;u=!0;let N=T.slice(1).trim();N&&!d.has(N)&&g.add(N)}let z=L.querySelectorAll('*[style*="url("],*[fill^="url("], *[stroke^="url("],*[filter^="url("],*[clip-path^="url("],*[mask^="url("],*[marker^="url("],*[marker-start^="url("],*[marker-mid^="url("],*[marker-end^="url("]');for(let M of z){y(M.getAttribute("style")||"");for(let T of n)y(M.getAttribute(T))}};for(let L of i)p(L);if(!u)return;let h=t.querySelector("svg.inline-defs-container");h||(h=a.createElementNS("http://www.w3.org/2000/svg","svg"),h.classList.add("inline-defs-container"),h.setAttribute("aria-hidden","true"),h.setAttribute("style","position:absolute;width:0;height:0;overflow:hidden"),t.insertBefore(h,t.firstChild||null));let f=h.querySelector("defs")||null,x=L=>{if(!L||d.has(L))return null;let C=s(L),z=M=>{let T=r.querySelector(M);return T&&!t.contains(T)?T:null};return z(`svg defs > *#${C}`)||z(`svg > symbol#${C}`)||z(`*#${C}`)};if(!g.size)return;let v=new Set(g),b=new Set;for(;v.size;){let L=v.values().next().value;if(v.delete(L),!L||d.has(L)||b.has(L))continue;let C=x(L);if(!C){b.add(L);continue}f||(f=a.createElementNS("http://www.w3.org/2000/svg","defs"),h.appendChild(f));let z=C.cloneNode(!0);z.id||z.setAttribute("id",L),f.appendChild(z),b.add(L),d.add(L);let M=[z,...z.querySelectorAll("*")];for(let T of M){let N=m(T);if(N&&N.startsWith("#")){let O=N.slice(1).trim();O&&!d.has(O)&&!b.has(O)&&v.add(O)}let F=((k=T.getAttribute)==null?void 0:k.call(T,"style"))||"";F&&y(F,v);for(let O of n){let q=(A=T.getAttribute)==null?void 0:A.call(T,O);q&&y(q,v)}}}}function py(t,e){var s;if(!t||!e)return;let a=t.scrollTop||0;if(!a)return;getComputedStyle(e).position==="static"&&(e.style.position="relative");let r=t.getBoundingClientRect(),i=t.clientHeight,l="data-snap-ph",n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;n.nextNode();){let c=n.currentNode,m=getComputedStyle(c),d=m.position;if(d!=="sticky"&&d!=="-webkit-sticky")continue;let g=ai(m.top),u=ai(m.bottom);if(g==null&&u==null)continue;let y=uy(c,t),p=gy(e,y,l);if(!p)continue;let h=c.getBoundingClientRect(),f=h.width,x=h.height,v=h.left-r.left;if(!(f>0&&x>0)||!Number.isFinite(v))continue;let b=g!=null?g+a:a+(i-x-u);if(!Number.isFinite(b))continue;let k=Number.parseInt(m.zIndex,10),A=Number.isFinite(k),L=A?Math.max(k,1)+1:2,C=A?k-1:0,z=p.cloneNode(!1);z.setAttribute(l,"1"),z.style.position="sticky",z.style.left=`${v}px`,z.style.top=`${b}px`,z.style.width=`${f}px`,z.style.height=`${x}px`,z.style.visibility="hidden",z.style.zIndex=String(C),z.style.overflow="hidden",z.style.background="transparent",z.style.boxShadow="none",z.style.filter="none",(s=p.parentElement)==null||s.insertBefore(z,p),p.style.position="absolute",p.style.left=`${v}px`,p.style.top=`${b}px`,p.style.bottom="auto",p.style.zIndex=String(L),p.style.pointerEvents="none"}}function ai(t){if(!t||t==="auto")return null;let e=Number.parseFloat(t);return Number.isFinite(e)?e:null}function uy(t,e){let a=[];for(let r=t;r&&r!==e;){let i=r.parentElement;if(!i)break;a.push(Array.prototype.indexOf.call(i.children,r)),r=i}return a.reverse()}function gy(t,e,a){let r=t;for(let i=0;i<e.length;i++)if(r=fy(r,a)[e[i]],!r)return null;return r instanceof HTMLElement?r:null}function fy(t,e){let a=[],r=t.children;for(let i=0;i<r.length;i++){let l=r[i];l.hasAttribute(e)||a.push(l)}return a}function yy(t){let e=getComputedStyle(t),a=e.outlineStyle,r=e.outlineWidth,i=e.borderStyle,l=e.borderWidth,n=a!=="none"&&parseFloat(r)>0,s=i==="none"||parseFloat(l)===0;n&&s&&(t.style.border=`${r} solid transparent`)}async function by(t,e={}){var c,m;let a={styleMap:D.session.styleMap,styleCache:D.session.styleCache,nodeMap:D.session.nodeMap},r,i="",l="";yy(t);try{hy(t)}catch(d){console.warn("inlineExternal defs or symbol failed:",d)}try{r=await Jo(t,a,e,t)}catch(d){throw console.warn("deepClone failed:",d),d}try{await oi(t,r,a,e)}catch(d){console.warn("inlinePseudoElements failed:",d)}await ay(r);try{let d=r.querySelectorAll("style[data-sd]");for(let g of d)l+=g.textContent||"",g.remove()}catch{}let n=Jf(a.styleMap);i=Array.from(n.entries()).map(([d,g])=>`.${g}{${d}}`).join(""),i=l+i;for(let[d,g]of a.styleMap.entries()){if(d.tagName==="STYLE")continue;if(d.getRootNode&&d.getRootNode()instanceof ShadowRoot){d.setAttribute("style",g.replace(/;/g,"; "));continue}let u=n.get(g);u&&d.classList.add(u);let y=(c=d.style)==null?void 0:c.backgroundImage,p=(m=d.dataset)==null?void 0:m.snapdomHasIcon;y&&y!=="none"&&(d.style.backgroundImage=y),p&&(d.style.verticalAlign="middle",d.style.display="inline")}for(let[d,g]of a.nodeMap.entries()){let u=g.scrollLeft,y=g.scrollTop;if((u||y)&&d instanceof HTMLElement){d.style.overflow="hidden",d.style.scrollbarWidth="none",d.style.msOverflowStyle="none";let p=document.createElement("div");for(p.style.transform=`translate(${-u}px, ${-y}px)`,p.style.willChange="transform",p.style.display="inline-block",p.style.width="100%";d.firstChild;)p.appendChild(d.firstChild);d.appendChild(p)}}let s=r instanceof HTMLElement&&r.firstElementChild instanceof HTMLElement?r.firstElementChild:r;if(py(t,s),t===a.nodeMap.get(r)){let d=a.styleCache.get(t)||window.getComputedStyle(t);a.styleCache.set(t,d);let g=Rf(d.transform);r.style.margin="0",r.style.top="auto",r.style.left="auto",r.style.right="auto",r.style.bottom="auto",r.style.animation="none",r.style.transition="none",r.style.willChange="auto",r.style.float="none",r.style.clear="none",r.style.transform=g||""}for(let[d,g]of a.nodeMap.entries())g.tagName==="PRE"&&(d.style.marginTop="0",d.style.marginBlockStart="0");return{clone:r,classCSS:i,styleCache:a.styleCache}}function wy(t){var m,d,g,u;let e=parseInt(((m=t.dataset)==null?void 0:m.snapdomWidth)||"",10)||0,a=parseInt(((d=t.dataset)==null?void 0:d.snapdomHeight)||"",10)||0,r=parseInt(t.getAttribute("width")||"",10)||0,i=parseInt(t.getAttribute("height")||"",10)||0,l=parseFloat(((g=t.style)==null?void 0:g.width)||"")||0,n=parseFloat(((u=t.style)==null?void 0:u.height)||"")||0,s=e||l||r||t.width||t.naturalWidth||100,c=a||n||i||t.height||t.naturalHeight||100;return{width:s,height:c}}async function xy(t,e={}){let a=Array.from(t.querySelectorAll("img")),r=async i=>{if(!i.getAttribute("src")){let d=i.currentSrc||i.src||"";d&&i.setAttribute("src",d)}i.removeAttribute("srcset"),i.removeAttribute("sizes");let l=i.src||"";if(!l)return;let n=await Yt(l,{as:"dataURL",useProxy:e.useProxy});if(n.ok&&typeof n.data=="string"&&n.data.startsWith("data:")){i.src=n.data,i.width||(i.width=i.naturalWidth||100),i.height||(i.height=i.naturalHeight||100);return}let{width:s,height:c}=wy(i),{fallbackURL:m}=e||{};if(m)try{let d=typeof m=="function"?await m({width:s,height:c,src:l,element:i}):m;if(d){let g=await Yt(d,{as:"dataURL",useProxy:e.useProxy});i.src=g.data,i.width||(i.width=s),i.height||(i.height=c);return}}catch{}if(e.placeholders!==!1){let d=document.createElement("div");d.style.cssText=[`width:${s}px`,`height:${c}px`,"background:#ccc","display:inline-block","text-align:center",`line-height:${c}px`,"color:#666","font-size:12px","overflow:hidden"].join(";"),d.textContent="img",i.replaceWith(d)}else{let d=document.createElement("div");d.style.cssText=`display:inline-block;width:${s}px;height:${c}px;visibility:hidden;`,i.replaceWith(d)}};for(let i=0;i<a.length;i+=4){let l=a.slice(i,i+4).map(r);await Promise.allSettled(l)}}function ky(t){if(!t)return()=>{};let e=Ay(t);if(e<=0)return()=>{};if(!Cy(t))return()=>{};let a=getComputedStyle(t),r=Math.round(Ly(a)*e+vy(a)),i=t.textContent??"",l=i;if(t.scrollHeight<=r+.5)return()=>{};let n=0,s=i.length,c=-1;for(;n<=s;){let m=n+s>>1;t.textContent=i.slice(0,m)+"…",t.scrollHeight<=r+.5?(c=m,n=m+1):s=m-1}return t.textContent=(c>=0?i.slice(0,c):"")+"…",()=>{t.textContent=l}}function Ay(t){let e=getComputedStyle(t),a=e.getPropertyValue("-webkit-line-clamp")||e.getPropertyValue("line-clamp");a=(a||"").trim();let r=parseInt(a,10);return Number.isFinite(r)&&r>0?r:0}function Ly(t){let e=(t.lineHeight||"").trim(),a=parseFloat(t.fontSize)||16;return!e||e==="normal"?Math.round(a*1.2):e.endsWith("px")?parseFloat(e):/^\d+(\.\d+)?$/.test(e)?Math.round(parseFloat(e)*a):e.endsWith("%")?Math.round(parseFloat(e)/100*a):Math.round(a*1.2)}function vy(t){return(parseFloat(t.paddingTop)||0)+(parseFloat(t.paddingBottom)||0)}function Cy(t){return t.childElementCount>0?!1:Array.from(t.childNodes).some(e=>e.nodeType===Node.TEXT_NODE)}function _y(t,e){if(!t||!e||!e.style)return;let a=getComputedStyle(t);try{e.style.boxShadow="none"}catch{}try{e.style.textShadow="none"}catch{}try{e.style.outline="none"}catch{}let r=(a.filter||"").replace(/\bblur\([^()]*\)\s*/gi,"").replace(/\bdrop-shadow\([^()]*\)\s*/gi,"").trim().replace(/\s+/g," ");try{e.style.filter=r.length?r:"none"}catch{}}function zy(t){let e=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT),a=[];for(;e.nextNode();)a.push(e.currentNode);for(let r of a)r.remove()}function Sy(t,e={}){let{stripFrameworkDirectives:a=!0}=e,r=new Set(["xml","xlink"]),i=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;i.nextNode();){let l=i.currentNode;for(let n of Array.from(l.attributes)){let s=n.name;if(s.includes("@")){l.removeAttribute(s);continue}if(s.includes(":")){let c=s.split(":",1)[0];if(!r.has(c)){l.removeAttribute(s);continue}}if(a&&(s.startsWith("x-")||s.startsWith("v-")||s.startsWith(":")||s.startsWith("on:")||s.startsWith("bind:")||s.startsWith("let:")||s.startsWith("class:"))){l.removeAttribute(s);continue}}}}function Py(t,e={}){t&&(Sy(t,e),zy(t))}function My(t){var e;try{let a=((e=t.getAttribute)==null?void 0:e.call(t,"style"))||"";return/\b(height|width|block-size|inline-size)\s*:/.test(a)}catch{return!1}}function Ty(t){return t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof HTMLIFrameElement||t instanceof SVGElement||t instanceof HTMLObjectElement||t instanceof HTMLEmbedElement}function Ny(t,e){if(!(t instanceof Element)||My(t)||Ty(t))return!1;let a=e.position;if(a==="absolute"||a==="fixed"||a==="sticky")return!1;let r=e.display||"";return!(r.includes("flex")||r.includes("grid")||r.startsWith("table")||e.transform&&e.transform!=="none")}function Ey(t,e,a=new Map){function r(i,l){if(!(i instanceof Element)||!(l instanceof Element))return;let n=i.childElementCount>l.childElementCount,s=a.get(i)||getComputedStyle(i);if(a.has(i)||a.set(i,s),n&&Ny(i,s)){l.style.height||(l.style.height="auto"),l.style.width||(l.style.width="auto"),l.style.removeProperty("block-size"),l.style.removeProperty("inline-size"),l.style.minHeight||(l.style.minHeight="0"),l.style.minWidth||(l.style.minWidth="0"),l.style.maxHeight||(l.style.maxHeight="none"),l.style.maxWidth||(l.style.maxWidth="none");let d=s.overflowY||s.overflowBlock||"visible",g=s.overflowX||s.overflowInline||"visible";(d!=="visible"||g!=="visible")&&(l.style.overflow="visible")}let c=Array.from(i.children),m=Array.from(l.children);for(let d=0;d<Math.min(c.length,m.length);d++)r(c[d],m[d])}r(t,e)}function Vy(t){let e=getComputedStyle(t);return!(e.display==="none"||e.position==="absolute"||e.position==="fixed"||e.position==="sticky"||(e.cssFloat||e.float||"none")!=="none"||e.transform&&e.transform!=="none")}function Ry(t,e){if(!(t instanceof Element))return!1;if(t.getAttribute("data-capture")==="exclude"&&(e==null?void 0:e.excludeMode)==="remove")return!0;if(Array.isArray(e==null?void 0:e.exclude))for(let a of e.exclude)try{if(t.matches(a))return e.excludeMode==="remove"}catch{}return!1}function Dy(t,e){let a=getComputedStyle(t),r=t.getBoundingClientRect(),i=1/0,l=-1/0,n=!1,s=Array.from(t.children);for(let y of s){if(Ry(y,e)||!Vy(y))continue;let p=y.getBoundingClientRect(),h=p.top-r.top,f=p.bottom-r.top;f<=h||(h<i&&(i=h),f>l&&(l=f),n=!0)}let c=n?Math.max(0,l-i):0,m=parseFloat(a.borderTopWidth)||0,d=parseFloat(a.borderBottomWidth)||0,g=parseFloat(a.paddingTop)||0,u=parseFloat(a.paddingBottom)||0;return m+d+g+u+c}var ae=(t,e=3)=>Number.isFinite(t)?Math.round(t*10**e)/10**e:t;function By(t){var s;let e=t.boxShadow||"";if(!e||e==="none")return{top:0,right:0,bottom:0,left:0};let a=e.split(/\),(?=(?:[^()]*\([^()]*\))*[^()]*$)/).map(c=>c.trim()),r=0,i=0,l=0,n=0;for(let c of a){let m=((s=c.match(/-?\d+(\.\d+)?px/g))==null?void 0:s.map(f=>parseFloat(f)))||[];if(m.length<2)continue;let[d,g,u=0,y=0]=m,p=Math.abs(d)+u+y,h=Math.abs(g)+u+y;i=Math.max(i,p+Math.max(d,0)),n=Math.max(n,p+Math.max(-d,0)),l=Math.max(l,h+Math.max(g,0)),r=Math.max(r,h+Math.max(-g,0))}return{top:Math.ceil(r),right:Math.ceil(i),bottom:Math.ceil(l),left:Math.ceil(n)}}function Iy(t){let e=(t.filter||"").match(/blur\(\s*([0-9.]+)px\s*\)/),a=e?Math.ceil(parseFloat(e[1])||0):0;return{top:a,right:a,bottom:a,left:a}}function Fy(t){if((t.outlineStyle||"none")==="none")return{top:0,right:0,bottom:0,left:0};let e=Math.ceil(parseFloat(t.outlineWidth||"0")||0);return{top:e,right:e,bottom:e,left:e}}function Gy(t){var c;let e=`${t.filter||""} ${t.webkitFilter||""}`.trim();if(!e||e==="none")return{bleed:{top:0,right:0,bottom:0,left:0},has:!1};let a=e.match(/drop-shadow\((?:[^()]|\([^()]*\))*\)/gi)||[],r=0,i=0,l=0,n=0,s=!1;for(let m of a){s=!0;let d=((c=m.match(/-?\d+(?:\.\d+)?px/gi))==null?void 0:c.map(f=>parseFloat(f)))||[],[g=0,u=0,y=0]=d,p=Math.abs(g)+y,h=Math.abs(u)+y;i=Math.max(i,p+Math.max(g,0)),n=Math.max(n,p+Math.max(-g,0)),l=Math.max(l,h+Math.max(u,0)),r=Math.max(r,h+Math.max(-u,0))}return{bleed:{top:ae(r),right:ae(i),bottom:ae(l),left:ae(n)},has:s}}function jy(t,e){if(!t||!e||!e.style)return null;let a=getComputedStyle(t);try{e.style.transformOrigin="0 0"}catch{}try{"translate"in e.style&&(e.style.translate="none"),"rotate"in e.style&&(e.style.rotate="none")}catch{}let r=a.transform||"none";if(!r||r==="none")try{let l=ri(t);if(l.a===1&&l.b===0&&l.c===0&&l.d===1)return e.style.transform="none",{a:1,b:0,c:0,d:1}}catch{}let i=r.match(/^matrix\(\s*([^)]+)\)$/i);if(i){let l=i[1].split(",").map(n=>parseFloat(n.trim()));if(l.length===6&&l.every(Number.isFinite)){let[n,s,c,m]=l,d=Math.sqrt(n*n+s*s)||0,g=0,u=0,y=0,p=0,h=0,f=0;d>0&&(g=n/d,u=s/d,y=g*c+u*m,p=c-g*y,h=m-u*y,f=Math.sqrt(p*p+h*h)||0,f>0?y=y/f:y=0);let x=d,v=0,b=y*f,k=f;try{e.style.transform=`matrix(${x}, ${v}, ${b}, ${k}, 0, 0)`}catch{}return{a:x,b:v,c:b,d:k}}}try{let l=String(r).trim();return e.style.transform=l+" translate(0px, 0px) rotate(0deg)",null}catch{return null}}function ii(t,e,a,r,i){let l=a.a,n=a.b,s=a.c,c=a.d,m=a.e||0,d=a.f||0;function g(x,v){let b=x-r,k=v-i,A=l*b+s*k,L=n*b+c*k;return A+=r+m,L+=i+d,[A,L]}let u=[g(0,0),g(t,0),g(0,e),g(t,e)],y=1/0,p=1/0,h=-1/0,f=-1/0;for(let[x,v]of u)x<y&&(y=x),v<p&&(p=v),x>h&&(h=x),v>f&&(f=v);return{minX:y,minY:p,maxX:h,maxY:f,width:h-y,height:f-p}}function Wy(t,e,a){let r=(t.transformOrigin||"0 0").trim().split(/\s+/),[i,l]=[r[0]||"0",r[1]||"0"],n=(s,c)=>{let m=s.toLowerCase();return m==="left"||m==="top"?0:m==="center"?c/2:m==="right"||m==="bottom"?c:m.endsWith("px")?parseFloat(m)||0:m.endsWith("%")?(parseFloat(m)||0)*c/100:/^-?\d+(\.\d+)?$/.test(m)&&parseFloat(m)||0};return{ox:n(i,e),oy:n(l,a)}}function Zy(t){var i,l,n,s,c,m,d,g;let e={rotate:"0deg",scale:null,translate:null},a=typeof t.computedStyleMap=="function"?t.computedStyleMap():null;if(a){let u=f=>{try{return typeof a.has=="function"&&!a.has(f)||typeof a.get!="function"?null:a.get(f)}catch{return null}},y=u("rotate");if(y)if(y.angle){let f=y.angle;e.rotate=f.unit==="rad"?f.value*180/Math.PI+"deg":f.value+f.unit}else y.unit?e.rotate=y.unit==="rad"?y.value*180/Math.PI+"deg":y.value+y.unit:e.rotate=String(y);else{let f=getComputedStyle(t);e.rotate=f.rotate&&f.rotate!=="none"?f.rotate:"0deg"}let p=u("scale");if(p){let f="x"in p&&((i=p.x)==null?void 0:i.value)!=null?p.x.value:Array.isArray(p)?(l=p[0])==null?void 0:l.value:Number(p)||1,x="y"in p&&((n=p.y)==null?void 0:n.value)!=null?p.y.value:Array.isArray(p)?(s=p[1])==null?void 0:s.value:f;e.scale=`${f} ${x}`}else{let f=getComputedStyle(t);e.scale=f.scale&&f.scale!=="none"?f.scale:null}let h=u("translate");if(h){let f="x"in h&&"value"in h.x?h.x.value:Array.isArray(h)?(c=h[0])==null?void 0:c.value:0,x="y"in h&&"value"in h.y?h.y.value:Array.isArray(h)?(m=h[1])==null?void 0:m.value:0,v="x"in h&&((d=h.x)!=null&&d.unit)?h.x.unit:"px",b="y"in h&&((g=h.y)!=null&&g.unit)?h.y.unit:"px";e.translate=`${f}${v} ${x}${b}`}else{let f=getComputedStyle(t);e.translate=f.translate&&f.translate!=="none"?f.translate:null}return e}let r=getComputedStyle(t);return e.rotate=r.rotate&&r.rotate!=="none"?r.rotate:"0deg",e.scale=r.scale&&r.scale!=="none"?r.scale:null,e.translate=r.translate&&r.translate!=="none"?r.translate:null,e}var ga=null;function Hy(){if(ga)return ga;let t=document.createElement("div");return t.id="snapdom-measure-slot",t.setAttribute("aria-hidden","true"),Object.assign(t.style,{position:"absolute",left:"-99999px",top:"0px",width:"0px",height:"0px",overflow:"hidden",opacity:"0",pointerEvents:"none",contain:"size layout style"}),document.documentElement.appendChild(t),ga=t,t}function Xy(t){let e=Hy(),a=document.createElement("div");a.style.transformOrigin="0 0",t.baseTransform&&(a.style.transform=t.baseTransform),t.rotate&&(a.style.rotate=t.rotate),t.scale&&(a.style.scale=t.scale),t.translate&&(a.style.translate=t.translate),e.appendChild(a);let r=ri(a);return e.removeChild(a),r}function Oy(t){let e=getComputedStyle(t),a=e.transform||"none";if(a!=="none"&&!/^matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*,\s*0\s*,\s*0\s*\)$/i.test(a))return!0;let r=e.rotate&&e.rotate!=="none"&&e.rotate!=="0deg",i=e.scale&&e.scale!=="none"&&e.scale!=="1",l=e.translate&&e.translate!=="none"&&e.translate!=="0px 0px";return!!(r||i||l)}function ri(t){let e=getComputedStyle(t).transform;if(!e||e==="none")return new DOMMatrix;try{return new DOMMatrix(e)}catch{return new WebKitCSSMatrix(e)}}async function li(t,e){var v;if(!t)throw new Error("Element cannot be null or undefined");Vf(e.cache);let a=e.fast,r=e.outerTransforms!==!1,i=!!e.outerShadows,l={element:t,options:e,plugins:e.plugins},n,s,c,m="",d="",g,u,y=null;await Qt("beforeSnap",l),await Qt("beforeClone",l);let p=ky(l.element);try{({clone:n,classCSS:s,styleCache:c}=await by(l.element,l.options)),!r&&n&&(y=jy(l.element,n)),!i&&n&&_y(l.element,n)}finally{p()}if(l={clone:n,classCSS:s,styleCache:c,...l},await Qt("afterClone",l),Py(l.clone),((v=l.options)==null?void 0:v.excludeMode)==="remove")try{Ey(l.element,l.clone,l.styleCache)}catch(b){console.warn("[snapdom] shrink pass failed:",b)}try{await i0(l.clone,l.element)}catch{}await new Promise(b=>{no(async()=>{await xy(l.clone,l.options),b()},{fast:a})}),await new Promise(b=>{no(async()=>{await A0(l.element,l.clone,l.styleCache,l.options),b()},{fast:a})}),e.embedFonts&&await new Promise(b=>{no(async()=>{let k=w0(l.element),A=x0(l.element);if(oo()){let L=new Set(Array.from(k).map(C=>String(C).split("__")[0]).filter(Boolean));await k0(L,1)}m=await b0({required:k,usedCodepoints:A,preCached:!1,exclude:l.options.excludeFonts,useProxy:l.options.useProxy}),b()},{fast:a})});let h=Yf(l.clone).sort(),f=h.join(",");D.baseStyle.has(f)?d=D.baseStyle.get(f):await new Promise(b=>{no(()=>{d=Uf(h),D.baseStyle.set(f,d),b()},{fast:a})}),l={fontsCSS:m,baseCSS:d,...l},await Qt("beforeRender",l),await new Promise(b=>{no(()=>{var Be;let k=getComputedStyle(l.element),A=l.element.getBoundingClientRect(),L=Math.max(1,ae(l.element.offsetWidth||parseFloat(k.width)||A.width||1)),C=Math.max(1,ae(l.element.offsetHeight||parseFloat(k.height)||A.height||1));if(((Be=l.options)==null?void 0:Be.excludeMode)==="remove"){let xe=Dy(l.element,l.options);Number.isFinite(xe)&&xe>0&&(C=Math.max(1,Math.min(C,ae(xe+1))))}let z=(xe,ke=NaN)=>{let _e=typeof xe=="string"?parseFloat(xe):xe;return Number.isFinite(_e)?_e:ke},M=z(l.options.width),T=z(l.options.height),N=L,F=C,O=Number.isFinite(M),q=Number.isFinite(T),$=C>0?L/C:1;O&&q?(N=Math.max(1,ae(M)),F=Math.max(1,ae(T))):O?(N=Math.max(1,ae(M)),F=Math.max(1,ae(N/($||1)))):q?(F=Math.max(1,ae(T)),N=Math.max(1,ae(F*($||1)))):(N=L,F=C);let le=0,S=0,Z=L,H=C;if(!r&&y&&Number.isFinite(y.a)){let xe={a:y.a,b:y.b||0,c:y.c||0,d:y.d||1,e:0,f:0},ke=ii(L,C,xe,0,0);le=ae(ke.minX),S=ae(ke.minY),Z=ae(ke.maxX),H=ae(ke.maxY)}else if(r&&Yy(l.element)){let xe=k.transform&&k.transform!=="none"?k.transform:"",ke=Zy(l.element),_e=Xy({baseTransform:xe,rotate:ke.rotate||"0deg",scale:ke.scale,translate:ke.translate}),{ox:He,oy:Xe}=Wy(k,L,C),Oe=_e.is2D?_e:new DOMMatrix(_e.toString()),Pe=ii(L,C,Oe,He,Xe);le=ae(Pe.minX),S=ae(Pe.minY),Z=ae(Pe.maxX),H=ae(Pe.maxY)}let te=By(k),W=Iy(k),I=Fy(k),K=Gy(k),V=i?{top:ae(te.top+W.top+I.top+K.bleed.top),right:ae(te.right+W.right+I.right+K.bleed.right),bottom:ae(te.bottom+W.bottom+I.bottom+K.bleed.bottom),left:ae(te.left+W.left+I.left+K.bleed.left)}:{top:0,right:0,bottom:0,left:0};le=ae(le-V.left),S=ae(S-V.top),Z=ae(Z+V.right),H=ae(H+V.bottom);let Y=Math.max(1,ae(Z-le)),ee=Math.max(1,ae(H-S)),he=O||q?ae(N/L):1,ge=q||O?ae(F/C):1,re=Math.max(1,ae(Y*he)),ue=Math.max(1,ae(ee*ge)),ye="http://www.w3.org/2000/svg",ze=oo()?1:0,J=ae(ze+(r?0:1)),ne=document.createElementNS(ye,"foreignObject"),Fe=ae(le),Ge=ae(S);ne.setAttribute("x",String(ae(-(Fe-J)))),ne.setAttribute("y",String(ae(-(Ge-J)))),ne.setAttribute("width",String(ae(L+J*2))),ne.setAttribute("height",String(ae(C+J*2))),ne.style.overflow="visible";let Re=document.createElement("style");Re.textContent=l.baseCSS+l.fontsCSS+"svg{overflow:visible;} foreignObject{overflow:visible;}"+l.classCSS,ne.appendChild(Re);let Ce=document.createElement("div");Ce.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),Ce.style.width=`${ae(L)}px`,Ce.style.height=`${ae(C)}px`,Ce.style.overflow="visible",l.clone.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),Ce.appendChild(l.clone),ne.appendChild(Ce);let je=new XMLSerializer().serializeToString(ne),Ne=ae(Y+J*2),Ee=ae(ee+J*2),De=O||q;e.meta={w0:L,h0:C,vbW:Ne,vbH:Ee,targetW:N,targetH:F};let We=oo()&&De?Ne:ae(re+J*2),Ze=oo()&&De?Ee:ae(ue+J*2);u=`<svg xmlns="${ye}" width="${We}" height="${Ze}" viewBox="0 0 ${Ne} ${Ee}">`+je+"</svg>",g=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,l={svgString:u,dataURL:g,...l},b()},{fast:a})}),await Qt("afterRender",l);let x=document.getElementById("snapdom-sandbox");return x&&x.style.position==="absolute"&&x.remove(),l.dataURL}function Yy(t){return Oy(t)}function Uy(t){if(typeof t=="string"){let e=t.toLowerCase().trim();if(e==="disabled"||e==="full"||e==="auto"||e==="soft")return e}return"soft"}function Jy(t={}){let e=t.format??"png";e==="jpg"&&(e="jpeg");let a=Uy(t.cache);return{debug:t.debug??!1,fast:t.fast??!0,scale:t.scale??1,exclude:t.exclude??[],excludeMode:t.excludeMode??"hide",filter:t.filter??null,filterMode:t.filterMode??"hide",placeholders:t.placeholders!==!1,embedFonts:t.embedFonts??!1,iconFonts:Array.isArray(t.iconFonts)?t.iconFonts:t.iconFonts?[t.iconFonts]:[],localFonts:Array.isArray(t.localFonts)?t.localFonts:[],excludeFonts:t.excludeFonts??void 0,fallbackURL:t.fallbackURL??void 0,cache:a,useProxy:typeof t.useProxy=="string"?t.useProxy:"",width:t.width??null,height:t.height??null,format:e,type:t.type??"svg",quality:t.quality??.92,dpr:t.dpr??(window.devicePixelRatio||1),backgroundColor:t.backgroundColor??(["jpeg","webp"].includes(e)?"#ffffff":null),filename:t.filename??"snapDOM",outerTransforms:t.outerTransforms??!0,outerShadows:t.outerShadows??!1}}function Ky(...t){return L0(...t),we}var we=Object.assign(Qy,{plugins:Ky}),ni=Symbol("snapdom.internal"),qt=Symbol("snapdom.internal.silent"),fa=!1;async function Qy(t,e){if(!t)throw new Error("Element cannot be null or undefined");let a=Jy(e);if(_0(a,e&&e.plugins),oo()&&(a.embedFonts===!0||$y(t)))for(let r=0;r<3;r++)try{await qy(t,e),fa=!1}catch{}return a.iconFonts&&a.iconFonts.length>0&&Qf(a.iconFonts),a.snap||(a.snap={toPng:(r,i)=>we.toPng(r,i),toSvg:(r,i)=>we.toSvg(r,i)}),we.capture(t,a,ni)}we.capture=async(t,e,a)=>{if(a!==ni)throw new Error("[snapdom.capture] is internal. Use snapdom(...) instead.");let r=await li(t,e),i={img:async(p,h)=>{let{toImg:f}=await Promise.resolve().then(()=>Qo);return f(r,{...p,...h||{}})},svg:async(p,h)=>{let{toSvg:f}=await Promise.resolve().then(()=>Qo);return f(r,{...p,...h||{}})},canvas:async(p,h)=>{let{toCanvas:f}=await Promise.resolve().then(()=>gi);return f(r,{...p,...h||{}})},blob:async(p,h)=>{let{toBlob:f}=await Promise.resolve().then(()=>yi);return f(r,{...p,...h||{}})},png:async(p,h)=>{let{rasterize:f}=await Promise.resolve().then(()=>ao);return f(r,{...p,...h||{},format:"png"})},jpeg:async(p,h)=>{let{rasterize:f}=await Promise.resolve().then(()=>ao);return f(r,{...p,...h||{},format:"jpeg"})},webp:async(p,h)=>{let{rasterize:f}=await Promise.resolve().then(()=>ao);return f(r,{...p,...h||{},format:"webp"})},download:async(p,h)=>{let{download:f}=await Promise.resolve().then(()=>Ab);return f(r,{...p,...h||{}})}},l={...e,export:{url:r},exports:{svg:async p=>{let{toSvg:h}=await Promise.resolve().then(()=>Qo);return h(r,{...e,...p||{},[qt]:!0})},canvas:async p=>{let{toCanvas:h}=await Promise.resolve().then(()=>gi);return h(r,{...e,...p||{},[qt]:!0})},png:async p=>{let{rasterize:h}=await Promise.resolve().then(()=>ao);return h(r,{...e,...p||{},format:"png",[qt]:!0})},jpeg:async p=>{let{rasterize:h}=await Promise.resolve().then(()=>ao);return h(r,{...e,...p||{},format:"jpeg",[qt]:!0})},jpg:async p=>{let{rasterize:h}=await Promise.resolve().then(()=>ao);return h(r,{...e,...p||{},format:"jpeg",[qt]:!0})},webp:async p=>{let{rasterize:h}=await Promise.resolve().then(()=>ao);return h(r,{...e,...p||{},format:"webp",[qt]:!0})},blob:async p=>{let{toBlob:h}=await Promise.resolve().then(()=>yi);return h(r,{...e,...p||{},[qt]:!0})},img:async p=>{let{toImg:h}=await Promise.resolve().then(()=>Qo);return h(r,{...e,...p||{},[qt]:!0})}}},n=await v0("defineExports",l),s=Object.assign({},...n.filter(p=>p&&typeof p=="object")),c={...i,...s};c.jpeg&&!c.jpg&&(c.jpg=(p,h)=>c.jpeg(p,h));function m(p,h){let f={...e,...h||{}};return(p==="jpeg"||p==="jpg")&&(f.backgroundColor==null||f.backgroundColor==="transparent")&&(f.backgroundColor="#ffffff"),f}let d=!1,g=Promise.resolve();async function u(p,h){let f=async()=>{let x=c[p];if(!x)throw new Error(`[snapdom] Unknown export type: ${p}`);let v=m(p,h),b={...e,export:{type:p,options:v,url:r}};await Qt("beforeExport",b);let k=await x(b,v);return await Qt("afterExport",b,k),d||(d=!0,await Qt("afterSnap",e)),k};return g=g.then(f)}let y={url:r,toRaw:()=>r,to:(p,h)=>u(p,h),toImg:p=>u("img",p),toSvg:p=>u("svg",p),toCanvas:p=>u("canvas",p),toBlob:p=>u("blob",p),toPng:p=>u("png",p),toJpg:p=>u("jpg",p),toWebp:p=>u("webp",p),download:p=>u("download",p)};for(let p of Object.keys(c)){let h="to"+p.charAt(0).toUpperCase()+p.slice(1);y[h]||(y[h]=f=>u(p,f))}return y},we.toRaw=(t,e)=>we(t,e).then(a=>a.toRaw()),we.toImg=(t,e)=>we(t,e).then(a=>a.toImg()),we.toSvg=(t,e)=>we(t,e).then(a=>a.toSvg()),we.toCanvas=(t,e)=>we(t,e).then(a=>a.toCanvas()),we.toBlob=(t,e)=>we(t,e).then(a=>a.toBlob()),we.toPng=(t,e)=>we(t,{...e,format:"png"}).then(a=>a.toPng()),we.toJpg=(t,e)=>we(t,{...e,format:"jpeg"}).then(a=>a.toJpg()),we.toWebp=(t,e)=>we(t,{...e,format:"webp"}).then(a=>a.toWebp()),we.download=(t,e)=>we(t,e).then(a=>a.download());async function qy(t,e){if(fa)return;let a={...e,fast:!0,embedFonts:!0,scale:.2},r;try{r=await li(t,a)}catch{}await new Promise(i=>requestAnimationFrame(()=>requestAnimationFrame(i))),r&&await new Promise(i=>{let l=new Image;try{l.decoding="sync",l.loading="eager"}catch{}l.style.cssText="position:fixed;left:0px;top:0px;width:10px;height:10px;opacity:0.01;pointer-events:none;",l.src=r,document.body.appendChild(l),(async()=>{try{typeof l.decode=="function"&&await l.decode()}catch{}let n=performance.now();for(;!(l.complete&&l.naturalWidth>0)&&performance.now()-n<900;)await new Promise(s=>setTimeout(s,200));await new Promise(s=>requestAnimationFrame(s));try{l.remove()}catch{}i()})()}),t.querySelectorAll("canvas").forEach(i=>{try{let l=i.getContext("2d",{willReadFrequently:!0});l&&l.getImageData(0,0,1,1)}catch{}}),fa=!0}function $y(t){let e=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();){let a=e.currentNode,r=getComputedStyle(a),i=r.backgroundImage&&r.backgroundImage!=="none",l=r.maskImage&&r.maskImage!=="none"||r.webkitMaskImage&&r.webkitMaskImage!=="none";if(i||l||a.tagName==="CANVAS")return!0}return!1}class e1{constructor(){R(this,"frames",[]);R(this,"captureRect",null);R(this,"_isRecording",!1);R(this,"_frameDelay",1e3);R(this,"canvas",null);R(this,"ctx",null);R(this,"pixelRatio",1);R(this,"logoImage",null);R(this,"logoLoaded",!1);R(this,"videoCancellations",new Set)}setArea(e){this.captureRect={...e};const a=Math.max(1,window.devicePixelRatio||1);this.pixelRatio=a,this.canvas=document.createElement("canvas"),this.canvas.width=Math.max(1,Math.round(e.width*a)),this.canvas.height=Math.max(1,Math.round(e.height*a)),this.ctx=this.canvas.getContext("2d"),this.ctx.scale(a,a),this.ctx.imageSmoothingEnabled=!1,this.loadLogo()}loadLogo(){this.logoImage&&this.logoLoaded||(this.logoImage=new Image,this.logoImage.onload=()=>{this.logoLoaded=!0,console.log("[GifRecorder] Logo 加载完成")},this.logoImage.onerror=e=>{console.error("[GifRecorder] Logo 加载失败:",e)},this.logoImage.src="data:image/png;base64,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")}setFrameDelay(e){this._frameDelay=e}getArea(){return this.captureRect}startRecording(){this._isRecording=!0,this.frames=[]}stopRecording(){this._isRecording=!1}async captureFrame(e,a){var i,l;if(!this._isRecording||!this.captureRect||!this.canvas||!this.ctx){console.log("[GifRecorder] captureFrame 跳过:",{isRecording:this._isRecording,hasRect:!!this.captureRect,hasCanvas:!!this.canvas});return}const r=e||document.body;try{console.log("[GifRecorder] 开始 snapdom 截图(全屏模式)..."),await((i=document.fonts)==null?void 0:i.ready);const n=r.getBoundingClientRect();if(!n.width||!n.height)return;const c=await(await we(r,{dpr:this.pixelRatio,scale:1,embedFonts:!0,filter:m=>!(m instanceof HTMLElement&&m.classList.contains("capture-exclude"))})).toPng();if(console.log("[GifRecorder] snapdom 截图完成, img:",(l=c==null?void 0:c.src)==null?void 0:l.length),!c||!c.src){console.error("[GifRecorder] snapdom 返回空图片");return}await new Promise((m,d)=>{c.complete&&c.naturalWidth>0?(console.log("[GifRecorder] 图片已加载, 开始裁剪区域"),this.processImage(c,a,n),m()):(c.onload=()=>{console.log("[GifRecorder] 图片加载完成, 开始裁剪区域"),this.processImage(c,a,n),m()},c.onerror=g=>{console.error("[GifRecorder] 图片加载失败:",g),d(g)})})}catch(n){console.error("[GifRecorder] 截图失败:",n)}}processImage(e,a,r){if(!this.canvas||!this.ctx||!this.captureRect)return;const i=this.pixelRatio,l=e.naturalWidth/r.width,n=e.naturalHeight/r.height,s=Math.round((this.captureRect.x-r.left)*l),c=Math.round((this.captureRect.y-r.top)*n),m=Math.max(1,Math.round(this.captureRect.width*l)),d=Math.max(1,Math.round(this.captureRect.height*n));this.ctx.clearRect(0,0,this.canvas.width/i,this.canvas.height/i),this.ctx.drawImage(e,s,c,m,d,0,0,this.canvas.width/i,this.canvas.height/i);const g=a,u=Math.max(this.captureRect.width/48,this.captureRect.height/48),y=8,p=12;this.ctx.font=`bold ${u}px Arial, sans-serif`,this.ctx.textAlign="center",this.ctx.textBaseline="top";const f=this.ctx.measureText(g).width,x=u,v=(this.captureRect.width-f)/2-y*2,b=p,k=f+y*4,A=x+y*2;if(this.ctx.fillStyle="rgba(0, 0, 0, 0.6)",this.ctx.beginPath(),this.ctx.roundRect(v,b,k,A,16),this.ctx.fill(),this.ctx.fillStyle="#ffffff",this.ctx.fillText(g,this.captureRect.width/2,p+y),this.logoImage&&this.logoLoaded){const z=Math.max(this.captureRect.height/8,40),M=this.logoImage.naturalWidth/this.logoImage.naturalHeight;let T=z,N=T*M;const F=this.captureRect.width/4;N>F&&(N=F,T=N/M);const O=this.captureRect.width-N-12,q=p,$=this.ctx.imageSmoothingEnabled,le=this.ctx.imageSmoothingQuality;this.ctx.imageSmoothingEnabled=!0,this.ctx.imageSmoothingQuality="high",this.ctx.drawImage(this.logoImage,O,q,N,T),this.ctx.imageSmoothingEnabled=$,this.ctx.imageSmoothingQuality=le}const L=this.ctx.getImageData(0,0,this.canvas.width,this.canvas.height);this.frames.push(L),console.log("[GifRecorder] 帧添加成功, 当前帧数:",this.frames.length)}getFrameCount(){return this.frames.length}async generateGif(){return this.frames.length===0?(console.warn("[GifRecorder] 没有可用的帧"),null):new Promise((e,a)=>{const r=new ul({workers:4,quality:1,width:this.frames[0].width,height:this.frames[0].height,workerScript:new URL("data:application/javascript;base64,Ly8gZ2lmLndvcmtlci5qcyAwLjIuMCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qbm9yZGJlcmcvZ2lmLmpzCihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK28rIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09ImZ1bmN0aW9uIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkoezE6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBOZXVRdWFudD1yZXF1aXJlKCIuL1R5cGVkTmV1UXVhbnQuanMiKTt2YXIgTFpXRW5jb2Rlcj1yZXF1aXJlKCIuL0xaV0VuY29kZXIuanMiKTtmdW5jdGlvbiBCeXRlQXJyYXkoKXt0aGlzLnBhZ2U9LTE7dGhpcy5wYWdlcz1bXTt0aGlzLm5ld1BhZ2UoKX1CeXRlQXJyYXkucGFnZVNpemU9NDA5NjtCeXRlQXJyYXkuY2hhck1hcD17fTtmb3IodmFyIGk9MDtpPDI1NjtpKyspQnl0ZUFycmF5LmNoYXJNYXBbaV09U3RyaW5nLmZyb21DaGFyQ29kZShpKTtCeXRlQXJyYXkucHJvdG90eXBlLm5ld1BhZ2U9ZnVuY3Rpb24oKXt0aGlzLnBhZ2VzWysrdGhpcy5wYWdlXT1uZXcgVWludDhBcnJheShCeXRlQXJyYXkucGFnZVNpemUpO3RoaXMuY3Vyc29yPTB9O0J5dGVBcnJheS5wcm90b3R5cGUuZ2V0RGF0YT1mdW5jdGlvbigpe3ZhciBydj0iIjtmb3IodmFyIHA9MDtwPHRoaXMucGFnZXMubGVuZ3RoO3ArKyl7Zm9yKHZhciBpPTA7aTxCeXRlQXJyYXkucGFnZVNpemU7aSsrKXtydis9Qnl0ZUFycmF5LmNoYXJNYXBbdGhpcy5wYWdlc1twXVtpXV19fXJldHVybiBydn07Qnl0ZUFycmF5LnByb3RvdHlwZS53cml0ZUJ5dGU9ZnVuY3Rpb24odmFsKXtpZih0aGlzLmN1cnNvcj49Qnl0ZUFycmF5LnBhZ2VTaXplKXRoaXMubmV3UGFnZSgpO3RoaXMucGFnZXNbdGhpcy5wYWdlXVt0aGlzLmN1cnNvcisrXT12YWx9O0J5dGVBcnJheS5wcm90b3R5cGUud3JpdGVVVEZCeXRlcz1mdW5jdGlvbihzdHJpbmcpe2Zvcih2YXIgbD1zdHJpbmcubGVuZ3RoLGk9MDtpPGw7aSsrKXRoaXMud3JpdGVCeXRlKHN0cmluZy5jaGFyQ29kZUF0KGkpKX07Qnl0ZUFycmF5LnByb3RvdHlwZS53cml0ZUJ5dGVzPWZ1bmN0aW9uKGFycmF5LG9mZnNldCxsZW5ndGgpe2Zvcih2YXIgbD1sZW5ndGh8fGFycmF5Lmxlbmd0aCxpPW9mZnNldHx8MDtpPGw7aSsrKXRoaXMud3JpdGVCeXRlKGFycmF5W2ldKX07ZnVuY3Rpb24gR0lGRW5jb2Rlcih3aWR0aCxoZWlnaHQpe3RoaXMud2lkdGg9fn53aWR0aDt0aGlzLmhlaWdodD1+fmhlaWdodDt0aGlzLnRyYW5zcGFyZW50PW51bGw7dGhpcy50cmFuc0luZGV4PTA7dGhpcy5yZXBlYXQ9LTE7dGhpcy5kZWxheT0wO3RoaXMuaW1hZ2U9bnVsbDt0aGlzLnBpeGVscz1udWxsO3RoaXMuaW5kZXhlZFBpeGVscz1udWxsO3RoaXMuY29sb3JEZXB0aD1udWxsO3RoaXMuY29sb3JUYWI9bnVsbDt0aGlzLm5ldVF1YW50PW51bGw7dGhpcy51c2VkRW50cnk9bmV3IEFycmF5O3RoaXMucGFsU2l6ZT03O3RoaXMuZGlzcG9zZT0tMTt0aGlzLmZpcnN0RnJhbWU9dHJ1ZTt0aGlzLnNhbXBsZT0xMDt0aGlzLmRpdGhlcj1mYWxzZTt0aGlzLmdsb2JhbFBhbGV0dGU9ZmFsc2U7dGhpcy5vdXQ9bmV3IEJ5dGVBcnJheX1HSUZFbmNvZGVyLnByb3RvdHlwZS5zZXREZWxheT1mdW5jdGlvbihtaWxsaXNlY29uZHMpe3RoaXMuZGVsYXk9TWF0aC5yb3VuZChtaWxsaXNlY29uZHMvMTApfTtHSUZFbmNvZGVyLnByb3RvdHlwZS5zZXRGcmFtZVJhdGU9ZnVuY3Rpb24oZnBzKXt0aGlzLmRlbGF5PU1hdGgucm91bmQoMTAwL2Zwcyl9O0dJRkVuY29kZXIucHJvdG90eXBlLnNldERpc3Bvc2U9ZnVuY3Rpb24oZGlzcG9zYWxDb2RlKXtpZihkaXNwb3NhbENvZGU+PTApdGhpcy5kaXNwb3NlPWRpc3Bvc2FsQ29kZX07R0lGRW5jb2Rlci5wcm90b3R5cGUuc2V0UmVwZWF0PWZ1bmN0aW9uKHJlcGVhdCl7dGhpcy5yZXBlYXQ9cmVwZWF0fTtHSUZFbmNvZGVyLnByb3RvdHlwZS5zZXRUcmFuc3BhcmVudD1mdW5jdGlvbihjb2xvcil7dGhpcy50cmFuc3BhcmVudD1jb2xvcn07R0lGRW5jb2Rlci5wcm90b3R5cGUuYWRkRnJhbWU9ZnVuY3Rpb24oaW1hZ2VEYXRhKXt0aGlzLmltYWdlPWltYWdlRGF0YTt0aGlzLmNvbG9yVGFiPXRoaXMuZ2xvYmFsUGFsZXR0ZSYmdGhpcy5nbG9iYWxQYWxldHRlLnNsaWNlP3RoaXMuZ2xvYmFsUGFsZXR0ZTpudWxsO3RoaXMuZ2V0SW1hZ2VQaXhlbHMoKTt0aGlzLmFuYWx5emVQaXhlbHMoKTtpZih0aGlzLmdsb2JhbFBhbGV0dGU9PT10cnVlKXRoaXMuZ2xvYmFsUGFsZXR0ZT10aGlzLmNvbG9yVGFiO2lmKHRoaXMuZmlyc3RGcmFtZSl7dGhpcy53cml0ZUxTRCgpO3RoaXMud3JpdGVQYWxldHRlKCk7aWYodGhpcy5yZXBlYXQ+PTApe3RoaXMud3JpdGVOZXRzY2FwZUV4dCgpfX10aGlzLndyaXRlR3JhcGhpY0N0cmxFeHQoKTt0aGlzLndyaXRlSW1hZ2VEZXNjKCk7aWYoIXRoaXMuZmlyc3RGcmFtZSYmIXRoaXMuZ2xvYmFsUGFsZXR0ZSl0aGlzLndyaXRlUGFsZXR0ZSgpO3RoaXMud3JpdGVQaXhlbHMoKTt0aGlzLmZpcnN0RnJhbWU9ZmFsc2V9O0dJRkVuY29kZXIucHJvdG90eXBlLmZpbmlzaD1mdW5jdGlvbigpe3RoaXMub3V0LndyaXRlQnl0ZSg1OSl9O0dJRkVuY29kZXIucHJvdG90eXBlLnNldFF1YWxpdHk9ZnVuY3Rpb24ocXVhbGl0eSl7aWYocXVhbGl0eTwxKXF1YWxpdHk9MTt0aGlzLnNhbXBsZT1xdWFsaXR5fTtHSUZFbmNvZGVyLnByb3RvdHlwZS5zZXREaXRoZXI9ZnVuY3Rpb24oZGl0aGVyKXtpZihkaXRoZXI9PT10cnVlKWRpdGhlcj0iRmxveWRTdGVpbmJlcmciO3RoaXMuZGl0aGVyPWRpdGhlcn07R0lGRW5jb2Rlci5wcm90b3R5cGUuc2V0R2xvYmFsUGFsZXR0ZT1mdW5jdGlvbihwYWxldHRlKXt0aGlzLmdsb2JhbFBhbGV0dGU9cGFsZXR0ZX07R0lGRW5jb2Rlci5wcm90b3R5cGUuZ2V0R2xvYmFsUGFsZXR0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdsb2JhbFBhbGV0dGUmJnRoaXMuZ2xvYmFsUGFsZXR0ZS5zbGljZSYmdGhpcy5nbG9iYWxQYWxldHRlLnNsaWNlKDApfHx0aGlzLmdsb2JhbFBhbGV0dGV9O0dJRkVuY29kZXIucHJvdG90eXBlLndyaXRlSGVhZGVyPWZ1bmN0aW9uKCl7dGhpcy5vdXQud3JpdGVVVEZCeXRlcygiR0lGODlhIil9O0dJRkVuY29kZXIucHJvdG90eXBlLmFuYWx5emVQaXhlbHM9ZnVuY3Rpb24oKXtpZighdGhpcy5jb2xvclRhYil7dGhpcy5uZXVRdWFudD1uZXcgTmV1UXVhbnQodGhpcy5waXhlbHMsdGhpcy5zYW1wbGUpO3RoaXMubmV1UXVhbnQuYnVpbGRDb2xvcm1hcCgpO3RoaXMuY29sb3JUYWI9dGhpcy5uZXVRdWFudC5nZXRDb2xvcm1hcCgpfWlmKHRoaXMuZGl0aGVyKXt0aGlzLmRpdGhlclBpeGVscyh0aGlzLmRpdGhlci5yZXBsYWNlKCItc2VycGVudGluZSIsIiIpLHRoaXMuZGl0aGVyLm1hdGNoKC8tc2VycGVudGluZS8pIT09bnVsbCl9ZWxzZXt0aGlzLmluZGV4UGl4ZWxzKCl9dGhpcy5waXhlbHM9bnVsbDt0aGlzLmNvbG9yRGVwdGg9ODt0aGlzLnBhbFNpemU9NztpZih0aGlzLnRyYW5zcGFyZW50IT09bnVsbCl7dGhpcy50cmFuc0luZGV4PXRoaXMuZmluZENsb3Nlc3QodGhpcy50cmFuc3BhcmVudCx0cnVlKX19O0dJRkVuY29kZXIucHJvdG90eXBlLmluZGV4UGl4ZWxzPWZ1bmN0aW9uKGltZ3Epe3ZhciBuUGl4PXRoaXMucGl4ZWxzLmxlbmd0aC8zO3RoaXMuaW5kZXhlZFBpeGVscz1uZXcgVWludDhBcnJheShuUGl4KTt2YXIgaz0wO2Zvcih2YXIgaj0wO2o8blBpeDtqKyspe3ZhciBpbmRleD10aGlzLmZpbmRDbG9zZXN0UkdCKHRoaXMucGl4ZWxzW2srK10mMjU1LHRoaXMucGl4ZWxzW2srK10mMjU1LHRoaXMucGl4ZWxzW2srK10mMjU1KTt0aGlzLnVzZWRFbnRyeVtpbmRleF09dHJ1ZTt0aGlzLmluZGV4ZWRQaXhlbHNbal09aW5kZXh9fTtHSUZFbmNvZGVyLnByb3RvdHlwZS5kaXRoZXJQaXhlbHM9ZnVuY3Rpb24oa2VybmVsLHNlcnBlbnRpbmUpe3ZhciBrZXJuZWxzPXtGYWxzZUZsb3lkU3RlaW5iZXJnOltbMy84LDEsMF0sWzMvOCwwLDFdLFsyLzgsMSwxXV0sRmxveWRTdGVpbmJlcmc6W1s3LzE2LDEsMF0sWzMvMTYsLTEsMV0sWzUvMTYsMCwxXSxbMS8xNiwxLDFdXSxTdHVja2k6W1s4LzQyLDEsMF0sWzQvNDIsMiwwXSxbMi80MiwtMiwxXSxbNC80MiwtMSwxXSxbOC80MiwwLDFdLFs0LzQyLDEsMV0sWzIvNDIsMiwxXSxbMS80MiwtMiwyXSxbMi80MiwtMSwyXSxbNC80MiwwLDJdLFsyLzQyLDEsMl0sWzEvNDIsMiwyXV0sQXRraW5zb246W1sxLzgsMSwwXSxbMS84LDIsMF0sWzEvOCwtMSwxXSxbMS84LDAsMV0sWzEvOCwxLDFdLFsxLzgsMCwyXV19O2lmKCFrZXJuZWx8fCFrZXJuZWxzW2tlcm5lbF0pe3Rocm93IlVua25vd24gZGl0aGVyaW5nIGtlcm5lbDogIitrZXJuZWx9dmFyIGRzPWtlcm5lbHNba2VybmVsXTt2YXIgaW5kZXg9MCxoZWlnaHQ9dGhpcy5oZWlnaHQsd2lkdGg9dGhpcy53aWR0aCxkYXRhPXRoaXMucGl4ZWxzO3ZhciBkaXJlY3Rpb249c2VycGVudGluZT8tMToxO3RoaXMuaW5kZXhlZFBpeGVscz1uZXcgVWludDhBcnJheSh0aGlzLnBpeGVscy5sZW5ndGgvMyk7Zm9yKHZhciB5PTA7eTxoZWlnaHQ7eSsrKXtpZihzZXJwZW50aW5lKWRpcmVjdGlvbj1kaXJlY3Rpb24qLTE7Zm9yKHZhciB4PWRpcmVjdGlvbj09MT8wOndpZHRoLTEseGVuZD1kaXJlY3Rpb249PTE/d2lkdGg6MDt4IT09eGVuZDt4Kz1kaXJlY3Rpb24pe2luZGV4PXkqd2lkdGgreDt2YXIgaWR4PWluZGV4KjM7dmFyIHIxPWRhdGFbaWR4XTt2YXIgZzE9ZGF0YVtpZHgrMV07dmFyIGIxPWRhdGFbaWR4KzJdO2lkeD10aGlzLmZpbmRDbG9zZXN0UkdCKHIxLGcxLGIxKTt0aGlzLnVzZWRFbnRyeVtpZHhdPXRydWU7dGhpcy5pbmRleGVkUGl4ZWxzW2luZGV4XT1pZHg7aWR4Kj0zO3ZhciByMj10aGlzLmNvbG9yVGFiW2lkeF07dmFyIGcyPXRoaXMuY29sb3JUYWJbaWR4KzFdO3ZhciBiMj10aGlzLmNvbG9yVGFiW2lkeCsyXTt2YXIgZXI9cjEtcjI7dmFyIGVnPWcxLWcyO3ZhciBlYj1iMS1iMjtmb3IodmFyIGk9ZGlyZWN0aW9uPT0xPzA6ZHMubGVuZ3RoLTEsZW5kPWRpcmVjdGlvbj09MT9kcy5sZW5ndGg6MDtpIT09ZW5kO2krPWRpcmVjdGlvbil7dmFyIHgxPWRzW2ldWzFdO3ZhciB5MT1kc1tpXVsyXTtpZih4MSt4Pj0wJiZ4MSt4PHdpZHRoJiZ5MSt5Pj0wJiZ5MSt5PGhlaWdodCl7dmFyIGQ9ZHNbaV1bMF07aWR4PWluZGV4K3gxK3kxKndpZHRoO2lkeCo9MztkYXRhW2lkeF09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsZGF0YVtpZHhdK2VyKmQpKTtkYXRhW2lkeCsxXT1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxkYXRhW2lkeCsxXStlZypkKSk7ZGF0YVtpZHgrMl09TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsZGF0YVtpZHgrMl0rZWIqZCkpfX19fX07R0lGRW5jb2Rlci5wcm90b3R5cGUuZmluZENsb3Nlc3Q9ZnVuY3Rpb24oYyx1c2VkKXtyZXR1cm4gdGhpcy5maW5kQ2xvc2VzdFJHQigoYyYxNjcxMTY4MCk+PjE2LChjJjY1MjgwKT4+OCxjJjI1NSx1c2VkKX07R0lGRW5jb2Rlci5wcm90b3R5cGUuZmluZENsb3Nlc3RSR0I9ZnVuY3Rpb24ocixnLGIsdXNlZCl7aWYodGhpcy5jb2xvclRhYj09PW51bGwpcmV0dXJuLTE7aWYodGhpcy5uZXVRdWFudCYmIXVzZWQpe3JldHVybiB0aGlzLm5ldVF1YW50Lmxvb2t1cFJHQihyLGcsYil9dmFyIGM9YnxnPDw4fHI8PDE2O3ZhciBtaW5wb3M9MDt2YXIgZG1pbj0yNTYqMjU2KjI1Njt2YXIgbGVuPXRoaXMuY29sb3JUYWIubGVuZ3RoO2Zvcih2YXIgaT0wLGluZGV4PTA7aTxsZW47aW5kZXgrKyl7dmFyIGRyPXItKHRoaXMuY29sb3JUYWJbaSsrXSYyNTUpO3ZhciBkZz1nLSh0aGlzLmNvbG9yVGFiW2krK10mMjU1KTt2YXIgZGI9Yi0odGhpcy5jb2xvclRhYltpKytdJjI1NSk7dmFyIGQ9ZHIqZHIrZGcqZGcrZGIqZGI7aWYoKCF1c2VkfHx0aGlzLnVzZWRFbnRyeVtpbmRleF0pJiZkPGRtaW4pe2RtaW49ZDttaW5wb3M9aW5kZXh9fXJldHVybiBtaW5wb3N9O0dJRkVuY29kZXIucHJvdG90eXBlLmdldEltYWdlUGl4ZWxzPWZ1bmN0aW9uKCl7dmFyIHc9dGhpcy53aWR0aDt2YXIgaD10aGlzLmhlaWdodDt0aGlzLnBpeGVscz1uZXcgVWludDhBcnJheSh3KmgqMyk7dmFyIGRhdGE9dGhpcy5pbWFnZTt2YXIgc3JjUG9zPTA7dmFyIGNvdW50PTA7Zm9yKHZhciBpPTA7aTxoO2krKyl7Zm9yKHZhciBqPTA7ajx3O2orKyl7dGhpcy5waXhlbHNbY291bnQrK109ZGF0YVtzcmNQb3MrK107dGhpcy5waXhlbHNbY291bnQrK109ZGF0YVtzcmNQb3MrK107dGhpcy5waXhlbHNbY291bnQrK109ZGF0YVtzcmNQb3MrK107c3JjUG9zKyt9fX07R0lGRW5jb2Rlci5wcm90b3R5cGUud3JpdGVHcmFwaGljQ3RybEV4dD1mdW5jdGlvbigpe3RoaXMub3V0LndyaXRlQnl0ZSgzMyk7dGhpcy5vdXQud3JpdGVCeXRlKDI0OSk7dGhpcy5vdXQud3JpdGVCeXRlKDQpO3ZhciB0cmFuc3AsZGlzcDtpZih0aGlzLnRyYW5zcGFyZW50PT09bnVsbCl7dHJhbnNwPTA7ZGlzcD0wfWVsc2V7dHJhbnNwPTE7ZGlzcD0yfWlmKHRoaXMuZGlzcG9zZT49MCl7ZGlzcD1kaXNwb3NlJjd9ZGlzcDw8PTI7dGhpcy5vdXQud3JpdGVCeXRlKDB8ZGlzcHwwfHRyYW5zcCk7dGhpcy53cml0ZVNob3J0KHRoaXMuZGVsYXkpO3RoaXMub3V0LndyaXRlQnl0ZSh0aGlzLnRyYW5zSW5kZXgpO3RoaXMub3V0LndyaXRlQnl0ZSgwKX07R0lGRW5jb2Rlci5wcm90b3R5cGUud3JpdGVJbWFnZURlc2M9ZnVuY3Rpb24oKXt0aGlzLm91dC53cml0ZUJ5dGUoNDQpO3RoaXMud3JpdGVTaG9ydCgwKTt0aGlzLndyaXRlU2hvcnQoMCk7dGhpcy53cml0ZVNob3J0KHRoaXMud2lkdGgpO3RoaXMud3JpdGVTaG9ydCh0aGlzLmhlaWdodCk7aWYodGhpcy5maXJzdEZyYW1lfHx0aGlzLmdsb2JhbFBhbGV0dGUpe3RoaXMub3V0LndyaXRlQnl0ZSgwKX1lbHNle3RoaXMub3V0LndyaXRlQnl0ZSgxMjh8MHwwfDB8dGhpcy5wYWxTaXplKX19O0dJRkVuY29kZXIucHJvdG90eXBlLndyaXRlTFNEPWZ1bmN0aW9uKCl7dGhpcy53cml0ZVNob3J0KHRoaXMud2lkdGgpO3RoaXMud3JpdGVTaG9ydCh0aGlzLmhlaWdodCk7dGhpcy5vdXQud3JpdGVCeXRlKDEyOHwxMTJ8MHx0aGlzLnBhbFNpemUpO3RoaXMub3V0LndyaXRlQnl0ZSgwKTt0aGlzLm91dC53cml0ZUJ5dGUoMCl9O0dJRkVuY29kZXIucHJvdG90eXBlLndyaXRlTmV0c2NhcGVFeHQ9ZnVuY3Rpb24oKXt0aGlzLm91dC53cml0ZUJ5dGUoMzMpO3RoaXMub3V0LndyaXRlQnl0ZSgyNTUpO3RoaXMub3V0LndyaXRlQnl0ZSgxMSk7dGhpcy5vdXQud3JpdGVVVEZCeXRlcygiTkVUU0NBUEUyLjAiKTt0aGlzLm91dC53cml0ZUJ5dGUoMyk7dGhpcy5vdXQud3JpdGVCeXRlKDEpO3RoaXMud3JpdGVTaG9ydCh0aGlzLnJlcGVhdCk7dGhpcy5vdXQud3JpdGVCeXRlKDApfTtHSUZFbmNvZGVyLnByb3RvdHlwZS53cml0ZVBhbGV0dGU9ZnVuY3Rpb24oKXt0aGlzLm91dC53cml0ZUJ5dGVzKHRoaXMuY29sb3JUYWIpO3ZhciBuPTMqMjU2LXRoaXMuY29sb3JUYWIubGVuZ3RoO2Zvcih2YXIgaT0wO2k8bjtpKyspdGhpcy5vdXQud3JpdGVCeXRlKDApfTtHSUZFbmNvZGVyLnByb3RvdHlwZS53cml0ZVNob3J0PWZ1bmN0aW9uKHBWYWx1ZSl7dGhpcy5vdXQud3JpdGVCeXRlKHBWYWx1ZSYyNTUpO3RoaXMub3V0LndyaXRlQnl0ZShwVmFsdWU+PjgmMjU1KX07R0lGRW5jb2Rlci5wcm90b3R5cGUud3JpdGVQaXhlbHM9ZnVuY3Rpb24oKXt2YXIgZW5jPW5ldyBMWldFbmNvZGVyKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQsdGhpcy5pbmRleGVkUGl4ZWxzLHRoaXMuY29sb3JEZXB0aCk7ZW5jLmVuY29kZSh0aGlzLm91dCl9O0dJRkVuY29kZXIucHJvdG90eXBlLnN0cmVhbT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm91dH07bW9kdWxlLmV4cG9ydHM9R0lGRW5jb2Rlcn0seyIuL0xaV0VuY29kZXIuanMiOjIsIi4vVHlwZWROZXVRdWFudC5qcyI6M31dLDI6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBFT0Y9LTE7dmFyIEJJVFM9MTI7dmFyIEhTSVpFPTUwMDM7dmFyIG1hc2tzPVswLDEsMyw3LDE1LDMxLDYzLDEyNywyNTUsNTExLDEwMjMsMjA0Nyw0MDk1LDgxOTEsMTYzODMsMzI3NjcsNjU1MzVdO2Z1bmN0aW9uIExaV0VuY29kZXIod2lkdGgsaGVpZ2h0LHBpeGVscyxjb2xvckRlcHRoKXt2YXIgaW5pdENvZGVTaXplPU1hdGgubWF4KDIsY29sb3JEZXB0aCk7dmFyIGFjY3VtPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIGh0YWI9bmV3IEludDMyQXJyYXkoSFNJWkUpO3ZhciBjb2RldGFiPW5ldyBJbnQzMkFycmF5KEhTSVpFKTt2YXIgY3VyX2FjY3VtLGN1cl9iaXRzPTA7dmFyIGFfY291bnQ7dmFyIGZyZWVfZW50PTA7dmFyIG1heGNvZGU7dmFyIGNsZWFyX2ZsZz1mYWxzZTt2YXIgZ19pbml0X2JpdHMsQ2xlYXJDb2RlLEVPRkNvZGU7ZnVuY3Rpb24gY2hhcl9vdXQoYyxvdXRzKXthY2N1bVthX2NvdW50KytdPWM7aWYoYV9jb3VudD49MjU0KWZsdXNoX2NoYXIob3V0cyl9ZnVuY3Rpb24gY2xfYmxvY2sob3V0cyl7Y2xfaGFzaChIU0laRSk7ZnJlZV9lbnQ9Q2xlYXJDb2RlKzI7Y2xlYXJfZmxnPXRydWU7b3V0cHV0KENsZWFyQ29kZSxvdXRzKX1mdW5jdGlvbiBjbF9oYXNoKGhzaXplKXtmb3IodmFyIGk9MDtpPGhzaXplOysraSlodGFiW2ldPS0xfWZ1bmN0aW9uIGNvbXByZXNzKGluaXRfYml0cyxvdXRzKXt2YXIgZmNvZGUsYyxpLGVudCxkaXNwLGhzaXplX3JlZyxoc2hpZnQ7Z19pbml0X2JpdHM9aW5pdF9iaXRzO2NsZWFyX2ZsZz1mYWxzZTtuX2JpdHM9Z19pbml0X2JpdHM7bWF4Y29kZT1NQVhDT0RFKG5fYml0cyk7Q2xlYXJDb2RlPTE8PGluaXRfYml0cy0xO0VPRkNvZGU9Q2xlYXJDb2RlKzE7ZnJlZV9lbnQ9Q2xlYXJDb2RlKzI7YV9jb3VudD0wO2VudD1uZXh0UGl4ZWwoKTtoc2hpZnQ9MDtmb3IoZmNvZGU9SFNJWkU7ZmNvZGU8NjU1MzY7ZmNvZGUqPTIpKytoc2hpZnQ7aHNoaWZ0PTgtaHNoaWZ0O2hzaXplX3JlZz1IU0laRTtjbF9oYXNoKGhzaXplX3JlZyk7b3V0cHV0KENsZWFyQ29kZSxvdXRzKTtvdXRlcl9sb29wOndoaWxlKChjPW5leHRQaXhlbCgpKSE9RU9GKXtmY29kZT0oYzw8QklUUykrZW50O2k9Yzw8aHNoaWZ0XmVudDtpZihodGFiW2ldPT09ZmNvZGUpe2VudD1jb2RldGFiW2ldO2NvbnRpbnVlfWVsc2UgaWYoaHRhYltpXT49MCl7ZGlzcD1oc2l6ZV9yZWctaTtpZihpPT09MClkaXNwPTE7ZG97aWYoKGktPWRpc3ApPDApaSs9aHNpemVfcmVnO2lmKGh0YWJbaV09PT1mY29kZSl7ZW50PWNvZGV0YWJbaV07Y29udGludWUgb3V0ZXJfbG9vcH19d2hpbGUoaHRhYltpXT49MCl9b3V0cHV0KGVudCxvdXRzKTtlbnQ9YztpZihmcmVlX2VudDwxPDxCSVRTKXtjb2RldGFiW2ldPWZyZWVfZW50Kys7aHRhYltpXT1mY29kZX1lbHNle2NsX2Jsb2NrKG91dHMpfX1vdXRwdXQoZW50LG91dHMpO291dHB1dChFT0ZDb2RlLG91dHMpfWZ1bmN0aW9uIGVuY29kZShvdXRzKXtvdXRzLndyaXRlQnl0ZShpbml0Q29kZVNpemUpO3JlbWFpbmluZz13aWR0aCpoZWlnaHQ7Y3VyUGl4ZWw9MDtjb21wcmVzcyhpbml0Q29kZVNpemUrMSxvdXRzKTtvdXRzLndyaXRlQnl0ZSgwKX1mdW5jdGlvbiBmbHVzaF9jaGFyKG91dHMpe2lmKGFfY291bnQ+MCl7b3V0cy53cml0ZUJ5dGUoYV9jb3VudCk7b3V0cy53cml0ZUJ5dGVzKGFjY3VtLDAsYV9jb3VudCk7YV9jb3VudD0wfX1mdW5jdGlvbiBNQVhDT0RFKG5fYml0cyl7cmV0dXJuKDE8PG5fYml0cyktMX1mdW5jdGlvbiBuZXh0UGl4ZWwoKXtpZihyZW1haW5pbmc9PT0wKXJldHVybiBFT0Y7LS1yZW1haW5pbmc7dmFyIHBpeD1waXhlbHNbY3VyUGl4ZWwrK107cmV0dXJuIHBpeCYyNTV9ZnVuY3Rpb24gb3V0cHV0KGNvZGUsb3V0cyl7Y3VyX2FjY3VtJj1tYXNrc1tjdXJfYml0c107aWYoY3VyX2JpdHM+MCljdXJfYWNjdW18PWNvZGU8PGN1cl9iaXRzO2Vsc2UgY3VyX2FjY3VtPWNvZGU7Y3VyX2JpdHMrPW5fYml0czt3aGlsZShjdXJfYml0cz49OCl7Y2hhcl9vdXQoY3VyX2FjY3VtJjI1NSxvdXRzKTtjdXJfYWNjdW0+Pj04O2N1cl9iaXRzLT04fWlmKGZyZWVfZW50Pm1heGNvZGV8fGNsZWFyX2ZsZyl7aWYoY2xlYXJfZmxnKXttYXhjb2RlPU1BWENPREUobl9iaXRzPWdfaW5pdF9iaXRzKTtjbGVhcl9mbGc9ZmFsc2V9ZWxzZXsrK25fYml0cztpZihuX2JpdHM9PUJJVFMpbWF4Y29kZT0xPDxCSVRTO2Vsc2UgbWF4Y29kZT1NQVhDT0RFKG5fYml0cyl9fWlmKGNvZGU9PUVPRkNvZGUpe3doaWxlKGN1cl9iaXRzPjApe2NoYXJfb3V0KGN1cl9hY2N1bSYyNTUsb3V0cyk7Y3VyX2FjY3VtPj49ODtjdXJfYml0cy09OH1mbHVzaF9jaGFyKG91dHMpfX10aGlzLmVuY29kZT1lbmNvZGV9bW9kdWxlLmV4cG9ydHM9TFpXRW5jb2Rlcn0se31dLDM6W2Z1bmN0aW9uKHJlcXVpcmUsbW9kdWxlLGV4cG9ydHMpe3ZhciBuY3ljbGVzPTEwMDt2YXIgbmV0c2l6ZT0yNTY7dmFyIG1heG5ldHBvcz1uZXRzaXplLTE7dmFyIG5ldGJpYXNzaGlmdD00O3ZhciBpbnRiaWFzc2hpZnQ9MTY7dmFyIGludGJpYXM9MTw8aW50Ymlhc3NoaWZ0O3ZhciBnYW1tYXNoaWZ0PTEwO3ZhciBnYW1tYT0xPDxnYW1tYXNoaWZ0O3ZhciBiZXRhc2hpZnQ9MTA7dmFyIGJldGE9aW50Ymlhcz4+YmV0YXNoaWZ0O3ZhciBiZXRhZ2FtbWE9aW50Ymlhczw8Z2FtbWFzaGlmdC1iZXRhc2hpZnQ7dmFyIGluaXRyYWQ9bmV0c2l6ZT4+Mzt2YXIgcmFkaXVzYmlhc3NoaWZ0PTY7dmFyIHJhZGl1c2JpYXM9MTw8cmFkaXVzYmlhc3NoaWZ0O3ZhciBpbml0cmFkaXVzPWluaXRyYWQqcmFkaXVzYmlhczt2YXIgcmFkaXVzZGVjPTMwO3ZhciBhbHBoYWJpYXNzaGlmdD0xMDt2YXIgaW5pdGFscGhhPTE8PGFscGhhYmlhc3NoaWZ0O3ZhciBhbHBoYWRlYzt2YXIgcmFkYmlhc3NoaWZ0PTg7dmFyIHJhZGJpYXM9MTw8cmFkYmlhc3NoaWZ0O3ZhciBhbHBoYXJhZGJzaGlmdD1hbHBoYWJpYXNzaGlmdCtyYWRiaWFzc2hpZnQ7dmFyIGFscGhhcmFkYmlhcz0xPDxhbHBoYXJhZGJzaGlmdDt2YXIgcHJpbWUxPTQ5OTt2YXIgcHJpbWUyPTQ5MTt2YXIgcHJpbWUzPTQ4Nzt2YXIgcHJpbWU0PTUwMzt2YXIgbWlucGljdHVyZWJ5dGVzPTMqcHJpbWU0O2Z1bmN0aW9uIE5ldVF1YW50KHBpeGVscyxzYW1wbGVmYWMpe3ZhciBuZXR3b3JrO3ZhciBuZXRpbmRleDt2YXIgYmlhczt2YXIgZnJlcTt2YXIgcmFkcG93ZXI7ZnVuY3Rpb24gaW5pdCgpe25ldHdvcms9W107bmV0aW5kZXg9bmV3IEludDMyQXJyYXkoMjU2KTtiaWFzPW5ldyBJbnQzMkFycmF5KG5ldHNpemUpO2ZyZXE9bmV3IEludDMyQXJyYXkobmV0c2l6ZSk7cmFkcG93ZXI9bmV3IEludDMyQXJyYXkobmV0c2l6ZT4+Myk7dmFyIGksdjtmb3IoaT0wO2k8bmV0c2l6ZTtpKyspe3Y9KGk8PG5ldGJpYXNzaGlmdCs4KS9uZXRzaXplO25ldHdvcmtbaV09bmV3IEZsb2F0NjRBcnJheShbdix2LHYsMF0pO2ZyZXFbaV09aW50Ymlhcy9uZXRzaXplO2JpYXNbaV09MH19ZnVuY3Rpb24gdW5iaWFzbmV0KCl7Zm9yKHZhciBpPTA7aTxuZXRzaXplO2krKyl7bmV0d29ya1tpXVswXT4+PW5ldGJpYXNzaGlmdDtuZXR3b3JrW2ldWzFdPj49bmV0Ymlhc3NoaWZ0O25ldHdvcmtbaV1bMl0+Pj1uZXRiaWFzc2hpZnQ7bmV0d29ya1tpXVszXT1pfX1mdW5jdGlvbiBhbHRlcnNpbmdsZShhbHBoYSxpLGIsZyxyKXtuZXR3b3JrW2ldWzBdLT1hbHBoYSoobmV0d29ya1tpXVswXS1iKS9pbml0YWxwaGE7bmV0d29ya1tpXVsxXS09YWxwaGEqKG5ldHdvcmtbaV1bMV0tZykvaW5pdGFscGhhO25ldHdvcmtbaV1bMl0tPWFscGhhKihuZXR3b3JrW2ldWzJdLXIpL2luaXRhbHBoYX1mdW5jdGlvbiBhbHRlcm5laWdoKHJhZGl1cyxpLGIsZyxyKXt2YXIgbG89TWF0aC5hYnMoaS1yYWRpdXMpO3ZhciBoaT1NYXRoLm1pbihpK3JhZGl1cyxuZXRzaXplKTt2YXIgaj1pKzE7dmFyIGs9aS0xO3ZhciBtPTE7dmFyIHAsYTt3aGlsZShqPGhpfHxrPmxvKXthPXJhZHBvd2VyW20rK107aWYoajxoaSl7cD1uZXR3b3JrW2orK107cFswXS09YSoocFswXS1iKS9hbHBoYXJhZGJpYXM7cFsxXS09YSoocFsxXS1nKS9hbHBoYXJhZGJpYXM7cFsyXS09YSoocFsyXS1yKS9hbHBoYXJhZGJpYXN9aWYoaz5sbyl7cD1uZXR3b3JrW2stLV07cFswXS09YSoocFswXS1iKS9hbHBoYXJhZGJpYXM7cFsxXS09YSoocFsxXS1nKS9hbHBoYXJhZGJpYXM7cFsyXS09YSoocFsyXS1yKS9hbHBoYXJhZGJpYXN9fX1mdW5jdGlvbiBjb250ZXN0KGIsZyxyKXt2YXIgYmVzdGQ9figxPDwzMSk7dmFyIGJlc3RiaWFzZD1iZXN0ZDt2YXIgYmVzdHBvcz0tMTt2YXIgYmVzdGJpYXNwb3M9YmVzdHBvczt2YXIgaSxuLGRpc3QsYmlhc2Rpc3QsYmV0YWZyZXE7Zm9yKGk9MDtpPG5ldHNpemU7aSsrKXtuPW5ldHdvcmtbaV07ZGlzdD1NYXRoLmFicyhuWzBdLWIpK01hdGguYWJzKG5bMV0tZykrTWF0aC5hYnMoblsyXS1yKTtpZihkaXN0PGJlc3RkKXtiZXN0ZD1kaXN0O2Jlc3Rwb3M9aX1iaWFzZGlzdD1kaXN0LShiaWFzW2ldPj5pbnRiaWFzc2hpZnQtbmV0Ymlhc3NoaWZ0KTtpZihiaWFzZGlzdDxiZXN0Ymlhc2Qpe2Jlc3RiaWFzZD1iaWFzZGlzdDtiZXN0Ymlhc3Bvcz1pfWJldGFmcmVxPWZyZXFbaV0+PmJldGFzaGlmdDtmcmVxW2ldLT1iZXRhZnJlcTtiaWFzW2ldKz1iZXRhZnJlcTw8Z2FtbWFzaGlmdH1mcmVxW2Jlc3Rwb3NdKz1iZXRhO2JpYXNbYmVzdHBvc10tPWJldGFnYW1tYTtyZXR1cm4gYmVzdGJpYXNwb3N9ZnVuY3Rpb24gaW54YnVpbGQoKXt2YXIgaSxqLHAscSxzbWFsbHBvcyxzbWFsbHZhbCxwcmV2aW91c2NvbD0wLHN0YXJ0cG9zPTA7Zm9yKGk9MDtpPG5ldHNpemU7aSsrKXtwPW5ldHdvcmtbaV07c21hbGxwb3M9aTtzbWFsbHZhbD1wWzFdO2ZvcihqPWkrMTtqPG5ldHNpemU7aisrKXtxPW5ldHdvcmtbal07aWYocVsxXTxzbWFsbHZhbCl7c21hbGxwb3M9ajtzbWFsbHZhbD1xWzFdfX1xPW5ldHdvcmtbc21hbGxwb3NdO2lmKGkhPXNtYWxscG9zKXtqPXFbMF07cVswXT1wWzBdO3BbMF09ajtqPXFbMV07cVsxXT1wWzFdO3BbMV09ajtqPXFbMl07cVsyXT1wWzJdO3BbMl09ajtqPXFbM107cVszXT1wWzNdO3BbM109an1pZihzbWFsbHZhbCE9cHJldmlvdXNjb2wpe25ldGluZGV4W3ByZXZpb3VzY29sXT1zdGFydHBvcytpPj4xO2ZvcihqPXByZXZpb3VzY29sKzE7ajxzbWFsbHZhbDtqKyspbmV0aW5kZXhbal09aTtwcmV2aW91c2NvbD1zbWFsbHZhbDtzdGFydHBvcz1pfX1uZXRpbmRleFtwcmV2aW91c2NvbF09c3RhcnRwb3MrbWF4bmV0cG9zPj4xO2ZvcihqPXByZXZpb3VzY29sKzE7ajwyNTY7aisrKW5ldGluZGV4W2pdPW1heG5ldHBvc31mdW5jdGlvbiBpbnhzZWFyY2goYixnLHIpe3ZhciBhLHAsZGlzdDt2YXIgYmVzdGQ9MWUzO3ZhciBiZXN0PS0xO3ZhciBpPW5ldGluZGV4W2ddO3ZhciBqPWktMTt3aGlsZShpPG5ldHNpemV8fGo+PTApe2lmKGk8bmV0c2l6ZSl7cD1uZXR3b3JrW2ldO2Rpc3Q9cFsxXS1nO2lmKGRpc3Q+PWJlc3RkKWk9bmV0c2l6ZTtlbHNle2krKztpZihkaXN0PDApZGlzdD0tZGlzdDthPXBbMF0tYjtpZihhPDApYT0tYTtkaXN0Kz1hO2lmKGRpc3Q8YmVzdGQpe2E9cFsyXS1yO2lmKGE8MClhPS1hO2Rpc3QrPWE7aWYoZGlzdDxiZXN0ZCl7YmVzdGQ9ZGlzdDtiZXN0PXBbM119fX19aWYoaj49MCl7cD1uZXR3b3JrW2pdO2Rpc3Q9Zy1wWzFdO2lmKGRpc3Q+PWJlc3RkKWo9LTE7ZWxzZXtqLS07aWYoZGlzdDwwKWRpc3Q9LWRpc3Q7YT1wWzBdLWI7aWYoYTwwKWE9LWE7ZGlzdCs9YTtpZihkaXN0PGJlc3RkKXthPXBbMl0tcjtpZihhPDApYT0tYTtkaXN0Kz1hO2lmKGRpc3Q8YmVzdGQpe2Jlc3RkPWRpc3Q7YmVzdD1wWzNdfX19fX1yZXR1cm4gYmVzdH1mdW5jdGlvbiBsZWFybigpe3ZhciBpO3ZhciBsZW5ndGhjb3VudD1waXhlbHMubGVuZ3RoO3ZhciBhbHBoYWRlYz0zMCsoc2FtcGxlZmFjLTEpLzM7dmFyIHNhbXBsZXBpeGVscz1sZW5ndGhjb3VudC8oMypzYW1wbGVmYWMpO3ZhciBkZWx0YT1+fihzYW1wbGVwaXhlbHMvbmN5Y2xlcyk7dmFyIGFscGhhPWluaXRhbHBoYTt2YXIgcmFkaXVzPWluaXRyYWRpdXM7dmFyIHJhZD1yYWRpdXM+PnJhZGl1c2JpYXNzaGlmdDtpZihyYWQ8PTEpcmFkPTA7Zm9yKGk9MDtpPHJhZDtpKyspcmFkcG93ZXJbaV09YWxwaGEqKChyYWQqcmFkLWkqaSkqcmFkYmlhcy8ocmFkKnJhZCkpO3ZhciBzdGVwO2lmKGxlbmd0aGNvdW50PG1pbnBpY3R1cmVieXRlcyl7c2FtcGxlZmFjPTE7c3RlcD0zfWVsc2UgaWYobGVuZ3RoY291bnQlcHJpbWUxIT09MCl7c3RlcD0zKnByaW1lMX1lbHNlIGlmKGxlbmd0aGNvdW50JXByaW1lMiE9PTApe3N0ZXA9MypwcmltZTJ9ZWxzZSBpZihsZW5ndGhjb3VudCVwcmltZTMhPT0wKXtzdGVwPTMqcHJpbWUzfWVsc2V7c3RlcD0zKnByaW1lNH12YXIgYixnLHIsajt2YXIgcGl4PTA7aT0wO3doaWxlKGk8c2FtcGxlcGl4ZWxzKXtiPShwaXhlbHNbcGl4XSYyNTUpPDxuZXRiaWFzc2hpZnQ7Zz0ocGl4ZWxzW3BpeCsxXSYyNTUpPDxuZXRiaWFzc2hpZnQ7cj0ocGl4ZWxzW3BpeCsyXSYyNTUpPDxuZXRiaWFzc2hpZnQ7aj1jb250ZXN0KGIsZyxyKTthbHRlcnNpbmdsZShhbHBoYSxqLGIsZyxyKTtpZihyYWQhPT0wKWFsdGVybmVpZ2gocmFkLGosYixnLHIpO3BpeCs9c3RlcDtpZihwaXg+PWxlbmd0aGNvdW50KXBpeC09bGVuZ3RoY291bnQ7aSsrO2lmKGRlbHRhPT09MClkZWx0YT0xO2lmKGklZGVsdGE9PT0wKXthbHBoYS09YWxwaGEvYWxwaGFkZWM7cmFkaXVzLT1yYWRpdXMvcmFkaXVzZGVjO3JhZD1yYWRpdXM+PnJhZGl1c2JpYXNzaGlmdDtpZihyYWQ8PTEpcmFkPTA7Zm9yKGo9MDtqPHJhZDtqKyspcmFkcG93ZXJbal09YWxwaGEqKChyYWQqcmFkLWoqaikqcmFkYmlhcy8ocmFkKnJhZCkpfX19ZnVuY3Rpb24gYnVpbGRDb2xvcm1hcCgpe2luaXQoKTtsZWFybigpO3VuYmlhc25ldCgpO2lueGJ1aWxkKCl9dGhpcy5idWlsZENvbG9ybWFwPWJ1aWxkQ29sb3JtYXA7ZnVuY3Rpb24gZ2V0Q29sb3JtYXAoKXt2YXIgbWFwPVtdO3ZhciBpbmRleD1bXTtmb3IodmFyIGk9MDtpPG5ldHNpemU7aSsrKWluZGV4W25ldHdvcmtbaV1bM11dPWk7dmFyIGs9MDtmb3IodmFyIGw9MDtsPG5ldHNpemU7bCsrKXt2YXIgaj1pbmRleFtsXTttYXBbaysrXT1uZXR3b3JrW2pdWzBdO21hcFtrKytdPW5ldHdvcmtbal1bMV07bWFwW2srK109bmV0d29ya1tqXVsyXX1yZXR1cm4gbWFwfXRoaXMuZ2V0Q29sb3JtYXA9Z2V0Q29sb3JtYXA7dGhpcy5sb29rdXBSR0I9aW54c2VhcmNofW1vZHVsZS5leHBvcnRzPU5ldVF1YW50fSx7fV0sNDpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIEdJRkVuY29kZXIscmVuZGVyRnJhbWU7R0lGRW5jb2Rlcj1yZXF1aXJlKCIuL0dJRkVuY29kZXIuanMiKTtyZW5kZXJGcmFtZT1mdW5jdGlvbihmcmFtZSl7dmFyIGVuY29kZXIscGFnZSxzdHJlYW0sdHJhbnNmZXI7ZW5jb2Rlcj1uZXcgR0lGRW5jb2RlcihmcmFtZS53aWR0aCxmcmFtZS5oZWlnaHQpO2lmKGZyYW1lLmluZGV4PT09MCl7ZW5jb2Rlci53cml0ZUhlYWRlcigpfWVsc2V7ZW5jb2Rlci5maXJzdEZyYW1lPWZhbHNlfWVuY29kZXIuc2V0VHJhbnNwYXJlbnQoZnJhbWUudHJhbnNwYXJlbnQpO2VuY29kZXIuc2V0UmVwZWF0KGZyYW1lLnJlcGVhdCk7ZW5jb2Rlci5zZXREZWxheShmcmFtZS5kZWxheSk7ZW5jb2Rlci5zZXRRdWFsaXR5KGZyYW1lLnF1YWxpdHkpO2VuY29kZXIuc2V0RGl0aGVyKGZyYW1lLmRpdGhlcik7ZW5jb2Rlci5zZXRHbG9iYWxQYWxldHRlKGZyYW1lLmdsb2JhbFBhbGV0dGUpO2VuY29kZXIuYWRkRnJhbWUoZnJhbWUuZGF0YSk7aWYoZnJhbWUubGFzdCl7ZW5jb2Rlci5maW5pc2goKX1pZihmcmFtZS5nbG9iYWxQYWxldHRlPT09dHJ1ZSl7ZnJhbWUuZ2xvYmFsUGFsZXR0ZT1lbmNvZGVyLmdldEdsb2JhbFBhbGV0dGUoKX1zdHJlYW09ZW5jb2Rlci5zdHJlYW0oKTtmcmFtZS5kYXRhPXN0cmVhbS5wYWdlcztmcmFtZS5jdXJzb3I9c3RyZWFtLmN1cnNvcjtmcmFtZS5wYWdlU2l6ZT1zdHJlYW0uY29uc3RydWN0b3IucGFnZVNpemU7aWYoZnJhbWUuY2FuVHJhbnNmZXIpe3RyYW5zZmVyPWZ1bmN0aW9uKCl7dmFyIGksbGVuLHJlZixyZXN1bHRzO3JlZj1mcmFtZS5kYXRhO3Jlc3VsdHM9W107Zm9yKGk9MCxsZW49cmVmLmxlbmd0aDtpPGxlbjtpKyspe3BhZ2U9cmVmW2ldO3Jlc3VsdHMucHVzaChwYWdlLmJ1ZmZlcil9cmV0dXJuIHJlc3VsdHN9KCk7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2UoZnJhbWUsdHJhbnNmZXIpfWVsc2V7cmV0dXJuIHNlbGYucG9zdE1lc3NhZ2UoZnJhbWUpfX07c2VsZi5vbm1lc3NhZ2U9ZnVuY3Rpb24oZXZlbnQpe3JldHVybiByZW5kZXJGcmFtZShldmVudC5kYXRhKX19LHsiLi9HSUZFbmNvZGVyLmpzIjoxfV19LHt9LFs0XSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWdpZi53b3JrZXIuanMubWFwCg==",self.location).href});for(const i of this.frames)r.addFrame(i,{delay:this._frameDelay});r.on("finished",i=>{e(i)}),r.on("error",i=>{console.error("[GifRecorder] GIF 合成失败:",i),a(i)}),r.render()})}async generateMp4(){if(this.frames.length===0)return null;if(typeof MediaRecorder>"u")throw new Error("Video recording is not supported by this browser.");const a=["video/mp4;codecs=avc1.640033","video/mp4;codecs=avc1.4d0033","video/mp4;codecs=h264","video/mp4"].filter(d=>MediaRecorder.isTypeSupported(d));if(!a.length)throw new Error("MP4 encoding is not supported by this browser.");const r=this.frames.slice(),i=Number.isFinite(this._frameDelay)&&this._frameDelay>0?this._frameDelay:1e3,l=30,n=document.createElement("canvas");n.width=Math.ceil(r[0].width/2)*2,n.height=Math.ceil(r[0].height/2)*2;const s=n.getContext("2d",{alpha:!1});if(!s)throw new Error("Unable to create the video rendering context.");s.fillStyle="#ffffff",s.fillRect(0,0,n.width,n.height),s.putImageData(r[0],0,0);const c=Math.min(3e8,Math.max(1e8,Math.round(n.width*n.height*l))),m=n.captureStream(l);return m.getVideoTracks().forEach(d=>{d.contentHint="text"}),new Promise((d,g)=>{let u,y,p=!1;const h=[],f=()=>{clearTimeout(y),m.getTracks().forEach(b=>b.stop()),this.videoCancellations.delete(v),n.width=n.height=0},x=b=>{p||(p=!0,u&&u.state!=="inactive"&&u.stop(),f(),g(b))},v=()=>x(new Error("Video export was canceled."));this.videoCancellations.add(v);try{for(const k of a)try{u=new MediaRecorder(m,{mimeType:k,videoBitsPerSecond:c});break}catch{}if(!u)throw new Error("Unable to initialize the MP4 encoder.");const b=u;console.info("[GifRecorder] Video quality settings",{format:"mp4",width:n.width,height:n.height,mimeType:b.mimeType,requestedBitsPerSecond:c,encoderBitsPerSecond:b.videoBitsPerSecond}),b.ondataavailable=k=>{k.data.size>0&&h.push(k.data)},b.onerror=()=>x(new Error("MP4 encoding failed.")),b.onstop=()=>{if(p)return;const k=new Blob(h,{type:b.mimeType});if(!k.size){x(new Error("MP4 encoding produced an empty file."));return}p=!0,f(),d(k)},b.onstart=()=>{let k=performance.now(),A=0;const L=()=>{if(!p)try{const C=performance.now();if(C-k>=i){if(A++,A===r.length){b.stop();return}k=C}s.putImageData(r[A],0,0);const z=i-(performance.now()-k);y=setTimeout(L,Math.max(1,Math.min(1e3/l,z)))}catch(C){x(C)}};L()},b.start()}catch(b){x(b)}})}downloadGif(e,a="ORM-Record"){const r=a.endsWith(".gif")?a:`${a}.gif`,i=URL.createObjectURL(e),l=document.createElement("a");l.href=i,l.download=r,l.style.display="none",document.body.appendChild(l),l.click(),setTimeout(()=>{document.body.removeChild(l),URL.revokeObjectURL(i)},100)}downloadMp4(e,a="ORM-Record"){const r=a.endsWith(".mp4")?a:`${a}.mp4`,i=URL.createObjectURL(e),l=document.createElement("a");l.href=i,l.download=r,l.style.display="none",document.body.appendChild(l),l.click(),setTimeout(()=>{document.body.removeChild(l),URL.revokeObjectURL(i)},100)}async saveAsFile(e){const r=`weather-animation-${new Date().toISOString().replace(/[:.]/g,"-").slice(0,19)}.gif`;if(window.showSaveFilePicker)try{const l=await(await window.showSaveFilePicker({suggestedName:r,types:[{description:"GIF Images",accept:{"image/gif":[".gif"]}}]})).createWritable();await l.write(e),await l.close(),console.log("文件保存成功");return}catch(i){console.log("用户取消了文件保存或发生错误:",i)}}reset(){this.videoCancellations.forEach(e=>e()),this.frames=[],this.captureRect=null,this._isRecording=!1,this.canvas=null,this.ctx=null}get isRecording(){return this._isRecording}get frameDelay(){return this._frameDelay}}const Qb="",t1={name:"IdmCapture",props:{isPlaying:{type:Boolean,default:!1},enabled:{type:Boolean,default:!1},frequency:{type:Number,default:1e3},currentTimestamp:{type:Number,default:void 0},token:{type:String,default:""},uploadEnabled:{type:Boolean,default:!1}},emits:["closeRecord","preview","frameCount"],data(){return{recorder:null,actionStatus:0,startX:0,startY:0,selection:{x:0,y:0,width:0,height:0},frameCount:0,gifBlob:null,mp4Blob:null,gifUrl:"",mp4Url:"",exportErrors:[],generating:!1,generationTimer:null,showFormatDialog:!1,exportFormats:["mp4"],exporting:!1}},computed:{selectionStyle(){return{left:`${this.selection.x}px`,top:`${this.selection.y}px`,width:`${this.selection.width}px`,height:`${this.selection.height}px`}},computedUTCTime(){return t=>_(t).utc().format("yyyy-MM-DD HH:mm[Z]")}},watch:{frameCount:{handler(t){t&&this.$emit("frameCount",this.frameCount)}},enabled:{handler(t){t?this.actionStatus=1:this.recorder?this.actionStatus=5:this.actionStatus=0}},actionStatus:{handler(t){this.actionStatus===4&&this.startRecord(),this.actionStatus===5&&this.recorder&&this.createExports(),this.actionStatus===6&&(this.uploadEnabled?this.uploadRecordings():this.saveRecordingsToLocal()),this.actionStatus===7&&this.$emit("preview",this.gifUrl,this.mp4Url)}}},beforeUnmount(){var t;clearTimeout(this.generationTimer),(t=this.recorder)==null||t.reset(),this.recorder=null},methods:{handleMouseDown(t){this.actionStatus>=2&&t.clientX>=this.selection.x&&t.clientX<=this.selection.x+this.selection.width&&t.clientY>=this.selection.y&&t.clientY<=this.selection.y+this.selection.height||(this.actionStatus=2,this.startX=t.clientX,this.startY=t.clientY,this.selection={x:t.clientX,y:t.clientY,width:0,height:0})},handleMouseMove(t){if(this.actionStatus===3)return;const e=t.clientX,a=t.clientY;this.selection={x:Math.min(this.startX,e),y:Math.min(this.startY,a),width:Math.abs(e-this.startX),height:Math.abs(a-this.startY)}},handleMouseUp(){var t,e;((t=this.selection)==null?void 0:t.width)>20&&((e=this.selection)==null?void 0:e.height)>20?this.actionStatus=3:this.actionStatus=1},handleConfirm(){this.actionStatus=4},handleCancel(){this.actionStatus=1,this.recorder=null,this.selection={x:0,y:0,width:0,height:0}},handleExitRecord(){this.actionStatus=0,this.clear()},startRecord(){var t,e,a;this.frameCount=0,this.recorder=new e1,(t=this.recorder)==null||t.setArea(this.selection),(e=this.recorder)==null||e.setFrameDelay(this.frequency),(a=this.recorder)==null||a.startRecording(),console.log("[BottomBar] 录制准备就绪")},async captureCurrentFrame(){var t,e,a;if(!(!this.recorder||this.actionStatus!==4)){console.log("[BottomBar] 开始截第"+(this.frameCount+1)+"帧截图");try{const r=(t=document.getElementsByClassName("gif-container"))==null?void 0:t[0];r&&(await((e=this.recorder)==null?void 0:e.captureFrame(r,this.computedUTCTime(this.currentTimestamp))),this.frameCount=(a=this.recorder)==null?void 0:a.getFrameCount(),console.log("[BottomBar] 截图总帧数:",this.frameCount))}catch(r){console.error("[BottomBar] 截图失败:",r)}}},createExports(){if(!this.recorder||this.generating)return;const t=this.recorder;this.generating=!0,this.exportErrors=[],this.gifBlob=this.mp4Blob=null,this.gifUrl=this.mp4Url="",this.generationTimer=setTimeout(async()=>{if(this.generationTimer=null,this.recorder!==t)return;t.stopRecording();const e=[{name:"gif",generate:()=>t.generateGif()},{name:"mp4",generate:()=>t.generateMp4()}],a=await Promise.allSettled(e.map(({generate:r})=>r()));this.recorder===t&&(this.generating=!1,a.forEach((r,i)=>{var n,s;const l=e[i].name;if(r.status==="fulfilled"&&((n=r.value)!=null&&n.size))this[`${l}Blob`]=r.value;else{const c=r.status==="rejected"?((s=r.reason)==null?void 0:s.message)||String(r.reason):"No frames were captured.";this.exportErrors.push(`${l.toUpperCase()} export failed: ${c}`)}}),this.gifBlob||this.mp4Blob?this.actionStatus=6:(t.reset(),this.recorder=null,this.actionStatus=0,this.$emit("closeRecord")))},2e3)},clear(){var t;clearTimeout(this.generationTimer),this.generationTimer=null,this.generating=!1,this.exportErrors=[],this.actionStatus=0,this.frameCount=0,this.gifBlob=null,this.mp4Blob=null,this.gifUrl="",this.mp4Url="",this.recorder&&((t=this.recorder)==null||t.reset(),this.recorder=null),this.$emit("closeRecord"),console.log("[BottomBar] 关闭录制功能,清空数据")},async uploadRecordings(){console.log("[BottomBar] 开始上传");const t=[];if(this.gifBlob&&t.push({stream:this.gifBlob,ext:"gif"}),this.mp4Blob&&t.push({stream:this.mp4Blob,ext:"mp4"}),t.length===0){console.warn("[BottomBar] 没有可上传的文件");return}const e=this.recorder;try{const a=await gl.AliOssSTSClient.create(this.token);if(this.recorder!==e)return;const r=await(a==null?void 0:a.put2HZ("/share",t));if(this.recorder!==e)return;if(r&&r.length>0)for(const i of r)i.url&&(i.url.endsWith(".gif")?this.gifUrl=i.url:i.url.endsWith(".mp4")&&(this.mp4Url=i.url));console.log("[Capture] Upload complete",this.gifUrl,this.mp4Url),this.actionStatus=7}catch(a){console.error("[BottomBar] 上传失败:",a)}},saveRecordingsToLocal(){console.log("[BottomBar] 不上传,保存到本地"),this.showFormatDialog=!0},handleConfirmExport(){var e,a;if(this.exporting||!this.exportFormats.length)return;const t=_().format("yyyyMMDD-HHmm");this.exporting=!0;try{this.exportFormats.includes("gif")&&this.gifBlob&&((e=this.recorder)==null||e.downloadGif(this.gifBlob,`ORM-Record-${t}.gif`)),this.exportFormats.includes("mp4")&&this.mp4Blob&&((a=this.recorder)==null||a.downloadMp4(this.mp4Blob,`ORM-Record-${t}.mp4`))}finally{this.handleCloseDialog()}},handleCloseDialog(t){this.exporting=!1,this.clear(),this.showFormatDialog=!1},handleDownloadGif(){const e=`ORM-Record-${_().format("yyyyMMDD-HHmm")}.gif`;this.recorder.downloadGif(this.gifBlob,e)},handleDownloadMp4(){const e=`ORM-Record-${_().format("yyyyMMDD-HHmm")}.mp4`;this.recorder.downloadMp4(this.mp4Blob,e)}}},o1={key:0,role:"alert",class:"export-errors bg-background text-danger pa-3 rounded"},a1={key:0,class:"drag-tips text-h4"},i1={class:"size-hint mt-2 ml-2 text-body-2 px-2 py-1 rounded font-weight-bold bg-background"},r1={class:"size-hint mt-2 ml-2 text-body-2 px-2 py-1 rounded font-weight-bold bg-background"},l1={class:"text-body-2"},n1={key:0,class:"py-1 px-2 d-flex align-center justify-center ga-2"},s1={class:"text-body-2"},c1={key:1,class:"py-1 px-2 d-flex align-center justify-center ga-2"},m1={class:"text-body-2"},d1={class:"mt-2"},h1={class:"d-flex flex-column"};function p1(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VCardTitle"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VCheckbox"),d=o.resolveComponent("VCardText"),g=o.resolveComponent("VCardActions"),u=o.resolveComponent("VCard"),y=o.resolveComponent("VDialog");return o.openBlock(),o.createElementBlock("div",{class:"capture-container",onContextmenu:e[10]||(e[10]=o.withModifiers((...p)=>l.handleExitRecord&&l.handleExitRecord(...p),["prevent"]))},[i.exportErrors.length?(o.openBlock(),o.createElementBlock("div",o1,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.exportErrors,p=>(o.openBlock(),o.createElementBlock("div",{key:p},o.toDisplayString(p),1))),128))])):o.createCommentVNode("",!0),i.actionStatus>0&&i.actionStatus<4?(o.openBlock(),o.createElementBlock("div",{key:1,class:"capture-selector",onMousedown:e[2]||(e[2]=(...p)=>l.handleMouseDown&&l.handleMouseDown(...p)),onMousemove:e[3]||(e[3]=(...p)=>l.handleMouseMove&&l.handleMouseMove(...p)),onMouseup:e[4]||(e[4]=(...p)=>l.handleMouseUp&&l.handleMouseUp(...p))},[i.actionStatus===1?(o.openBlock(),o.createElementBlock("div",a1,o.toDisplayString(t.$t("tips.crossHairText")),1)):o.createCommentVNode("",!0),i.actionStatus>=2?(o.openBlock(),o.createElementBlock("div",{key:1,class:"selection-box",style:o.normalizeStyle(l.selectionStyle)},[o.createElementVNode("div",i1,o.toDisplayString(Math.round(i.selection.width))+" × "+o.toDisplayString(Math.round(i.selection.height)),1),i.actionStatus===3?(o.openBlock(),o.createElementBlock("div",{key:0,class:"action-buttons px-2 rounded font-weight-bold bg-background d-flex justify-end ga-4",onMousedown:e[0]||(e[0]=o.withModifiers(()=>{},["stop"])),onMouseup:e[1]||(e[1]=o.withModifiers(()=>{},["stop"]))},[o.createVNode(n,{icon:"mdi-check",density:"compact",variant:"plain",class:"text-none text-body-1",onClick:o.withModifiers(l.handleConfirm,["stop"])},null,8,["onClick"]),o.createVNode(n,{icon:"mdi-close",density:"compact",variant:"plain",class:"text-none text-body-1",onClick:o.withModifiers(l.handleCancel,["stop"])},null,8,["onClick"])],32)):o.createCommentVNode("",!0)],4)):o.createCommentVNode("",!0)],32)):o.createCommentVNode("",!0),i.actionStatus>=4&&i.actionStatus<=6?(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["capture-frame",{recording:i.actionStatus===5}]),style:o.normalizeStyle(l.selectionStyle)},[o.createElementVNode("div",r1,[o.createElementVNode("div",l1,o.toDisplayString(i.selection.width)+" × "+o.toDisplayString(i.selection.height),1)]),o.createElementVNode("div",{class:"action-status mt-2 px-2 rounded font-weight-bold bg-background d-flex align-center justify-end ga-4",onMousedown:e[5]||(e[5]=o.withModifiers(()=>{},["stop"])),onMouseup:e[6]||(e[6]=o.withModifiers(()=>{},["stop"]))},[i.actionStatus===4?(o.openBlock(),o.createElementBlock("div",n1,[e[11]||(e[11]=o.createElementVNode("div",{class:"dot bg-danger"},null,-1)),o.createElementVNode("div",s1,o.toDisplayString(t.$t("tips.recordingText")),1)])):o.createCommentVNode("",!0),i.actionStatus===5||i.actionStatus===6?(o.openBlock(),o.createElementBlock("div",c1,[e[12]||(e[12]=o.createElementVNode("div",{class:"dot bg-success"},null,-1)),o.createElementVNode("div",m1,o.toDisplayString(t.$t("tips.savingText")),1)])):o.createCommentVNode("",!0)],32)],6)):o.createCommentVNode("",!0),o.createVNode(y,{modelValue:i.showFormatDialog,"onUpdate:modelValue":e[9]||(e[9]=p=>i.showFormatDialog=p),"max-width":"360",persistent:""},{default:o.withCtx(()=>[o.createVNode(u,{class:""},{default:o.withCtx(()=>[o.createVNode(s,{class:"d-flex align-center justify-space-between text-h6 py-3"},{default:o.withCtx(()=>[o.createElementVNode("div",null,o.toDisplayString(t.$t("actions.export")),1),o.createVNode(n,{class:"mr-n2",density:"compact",icon:"",variant:"plain",onClick:l.handleCloseDialog},{default:o.withCtx(()=>e[13]||(e[13]=[o.createElementVNode("i",{class:"iconfont icon-close text-h4"},null,-1)])),_:1,__:[13]},8,["onClick"])]),_:1}),o.createVNode(c),o.createVNode(d,{class:"d-flex align-start justify-start ga-4"},{default:o.withCtx(()=>[o.createElementVNode("div",d1,o.toDisplayString(t.$t("actions.format"))+" :",1),o.createElementVNode("div",h1,[o.createVNode(m,{modelValue:i.exportFormats,"onUpdate:modelValue":e[7]||(e[7]=p=>i.exportFormats=p),label:"MP4",value:"mp4",color:"primary",density:"compact",class:"mb-2","hide-details":"",disabled:i.exporting},null,8,["modelValue","disabled"]),o.createVNode(m,{modelValue:i.exportFormats,"onUpdate:modelValue":e[8]||(e[8]=p=>i.exportFormats=p),label:"GIF",value:"gif",color:"primary",density:"compact","hide-details":"",disabled:i.exporting},null,8,["modelValue","disabled"])])]),_:1}),o.createVNode(c),o.createVNode(g,{class:"w-100 d-flex align-center justify-center ga-8 pa-4"},{default:o.withCtx(()=>[o.createVNode(n,{class:"text-none text-body-1",height:"32",variant:"tonal",onClick:l.handleCloseDialog},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(n,{color:"primary",variant:"flat",class:"text-body-1",height:"32",loading:i.exporting,disabled:i.exporting||!i.exportFormats.length,onClick:l.handleConfirmExport},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["loading","disabled","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],32)}const u1=Q(t1,[["render",p1],["__scopeId","data-v-516595c5"]]),qb="",g1={name:"IdmBottomBar",components:{DateTimePicker:bo,IdmCapture:u1},props:{menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array}},emits:["forecastModel","realTime","timeZone"],data(){return{right:10,show:{weather:!1,spot:!1,tropical:!1,ship:!1},dayAbout:{h:-7,f:14},currentDateTimeZ:void 0,currentTimestamp:void 0,currentDateTime:void 0,currentRealTime:void 0,minTimestamp:void 0,maxTimestamp:void 0,animation:void 0,startAnimate:0,step:0,frequency:1e3,paused:!0,intervalHour:3,intervalOptions:[3,6,12,24],showTimezone:!1,timeZone:localStorage.getItem("idm-timeZone-gl4")?Number(localStorage.getItem("idm-timeZone-gl4")):_().utcOffset()/60,offsets:[-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12],source:localStorage.getItem("forecastModelCacheGL4")==="GFS"?"GFS":"ECMWF",gifEnabled:!1,frameCount:0}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10})},immediate:!0},source:{handler(t,e){t&&t!==e&&(this.$emit("forecastModel",t),localStorage.setItem("forecastModelCacheGL4",t))},immediate:!0},step:{handler(t,e){if(!isNaN(t)&&!isNaN(e)&&t!==e){const a=t-e;let r=this.currentTimestamp;r=r+a*this.intervalHour*3600*1e3,r<=this.minTimestamp||r>=this.maxTimestamp?this.paused?this.currentTimestamp=a<0?this.minTimestamp:this.maxTimestamp:this.handleReset():this.currentTimestamp=r}}},currentTimestamp:{handler(){this.currentDateTimeZ=_(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("realTime",this.currentDateTimeZ),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},timeZone:{handler(t,e){t!==e&&(this.$emit("timeZone",this.timeZone),localStorage.setItem("idm-timeZone-gl4",this.timeZone),this.showTimezone=!1)},immediate:!0},show:{handler(){var t;Object.values(this.show).includes(!0)||(t=this.$refs.dateTimePicker)==null||t.handleCancelDate()},deep:!0},gifEnabled:{handler(t,e){t||this.handlePause()},immediate:!0}},mounted(){this.handleReset()},methods:{handleReset(){var t;this.handlePause(),this.startAnimate=0,(t=this.$refs.dateTimePicker)==null||t.handleReset()},changeDayAbout(t,e){this.dayAbout={h:t??-7,f:e??14},this.$nextTick(()=>{var a;(a=this.$refs.dateTimePicker)==null||a.handleResetMinMax()})},handleToggle(t,e){this.show[t]=e},handleBackward(){this.handlePause(),this.step-=1},handleForward(){this.handlePause(),this.step+=1},handlePlay(){this.paused=!1,this.step=0,this.animateSpeeds()},async handlePause(){this.animation&&cancelAnimationFrame(this.animation),this.paused=!0},animateSpeeds(t){const e=t-this.startAnimate;this.step=Math.floor(e/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)},handleClickFastWeather(t){this.$parent.$refs.idmWeatherLayers.handleFastWeatherToggle(t)},handleClickFastMore(){this.$parent.$refs.idmWeatherLayers.handleMenuToggle()},handleCloseRecord(){this.gifEnabled=!1,this.paused=!0}}},f1={class:"idm-bottom-bar-gl4"},y1={class:"interval-box d-flex ga-2 mr-2"},b1={class:"play-btns-box d-flex justify-center align-center cursor-pointer ga-1"},w1={class:"fast-weathers-box d-flex justify-center align-center ga-2 cursor-pointer"},x1={class:"model-box d-flex justify-center align-center ga-2 my-2"},k1={key:0,class:"list d-flex flex-wrap pa-2 rounded ga-2"},A1=["onClick"],L1={class:"btn-box d-flex flex-column justify-space-around align-center rounded ga-0 py-1 px-3"},v1={class:"text-body-2"};function C1(t,e,a,r,i,l){const n=o.resolveComponent("IdmCapture"),s=o.resolveComponent("DateTimePicker"),c=o.resolveComponent("VListItemTitle"),m=o.resolveComponent("VListItem"),d=o.resolveComponent("VList"),g=o.resolveComponent("VMenu"),u=o.resolveComponent("VBtn"),y=o.resolveComponent("VDivider"),p=o.resolveComponent("VTooltip");return o.openBlock(),o.createElementBlock("div",f1,[o.createVNode(n,o.mergeProps({ref:"capture","is-playing":!i.paused,enabled:i.gifEnabled,frequency:i.frequency,"current-timestamp":i.currentTimestamp},t.$attrs,{onCloseRecord:l.handleCloseRecord,onFrameCount:e[0]||(e[0]=h=>i.frameCount=h)}),null,16,["is-playing","enabled","frequency","current-timestamp","onCloseRecord"]),o.createElementVNode("div",{class:"time-box px-2 d-flex justify-start align-center rounded",style:o.normalizeStyle({right:i.right+250+"px",bottom:Object.values(i.show).includes(!0)?"10px":"-100px"})},[o.createElementVNode("div",y1,[o.createVNode(s,o.mergeProps({ref:"dateTimePicker","date-time":i.currentDateTimeZ,"time-zone":i.timeZone,"day-about":i.dayAbout,"interval-hour":i.intervalHour,width:230},t.$attrs,{onCurrentTimestamp:e[1]||(e[1]=h=>i.currentTimestamp=h),onCurrentRealTime:e[2]||(e[2]=h=>i.currentRealTime=h),onMinTimestamp:e[3]||(e[3]=h=>i.minTimestamp=h),onMaxTimestamp:e[4]||(e[4]=h=>i.maxTimestamp=h)}),null,16,["date-time","time-zone","day-about","interval-hour"]),o.createVNode(u,{text:"",height:"30",class:"text-none elevation-0 btn-border-1 btn-bg-1 text-body-1","min-width":"30"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.intervalHour)+" h ",1),o.createVNode(g,{activator:"parent"},{default:o.withCtx(()=>[o.createVNode(d,{class:"pa-1"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.intervalOptions,(h,f)=>(o.openBlock(),o.createBlock(m,{key:f,value:h,variant:i.intervalHour===h?"tonal":"text",color:"primary",rounded:"",active:i.intervalHour===h,height:"30","min-height":"30","min-width":"30",class:"pa-0 text-center text-body-1"},{default:o.withCtx(()=>[o.createVNode(c,{onClick:x=>i.intervalHour=h},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(h)+"h",1)]),_:2},1032,["onClick"])]),_:2},1032,["value","variant","active"]))),128))]),_:1})]),_:1})]),_:1})]),o.createVNode(y,{vertical:"",class:"mx-2 my-3",style:{height:"16px"}}),o.createElementVNode("div",b1,[o.createVNode(p,{text:i.gifEnabled?t.$t("actions.stop"):t.$t("actions.record"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:h})=>[i.gifEnabled?(o.openBlock(),o.createBlock(u,o.mergeProps({key:1,disabled:i.frameCount<1},h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:e[6]||(e[6]=f=>i.gifEnabled=!i.gifEnabled)}),{default:o.withCtx(()=>e[14]||(e[14]=[o.createElementVNode("i",{class:"iconfont icon-stop-record text-danger"},null,-1)])),_:2,__:[14]},1040,["disabled"])):(o.openBlock(),o.createBlock(u,o.mergeProps({key:0},h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:e[5]||(e[5]=f=>i.gifEnabled=!i.gifEnabled)}),{default:o.withCtx(()=>e[13]||(e[13]=[o.createElementVNode("i",{class:"iconfont icon-record"},null,-1)])),_:2,__:[13]},1040))]),_:1},8,["text"]),o.createVNode(p,{text:t.$t("actions.reset"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:h})=>[o.createVNode(u,o.mergeProps(h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleReset}),{default:o.withCtx(()=>e[15]||(e[15]=[o.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:2,__:[15]},1040,["onClick"])]),_:1},8,["text"]),o.createVNode(p,{text:t.$t("actions.backward"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:h})=>[o.createVNode(u,o.mergeProps(h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleBackward}),{default:o.withCtx(()=>e[16]||(e[16]=[o.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:2,__:[16]},1040,["onClick"])]),_:1},8,["text"]),o.createVNode(p,{text:t.$t("actions.play"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:h})=>[i.paused?(o.openBlock(),o.createBlock(u,o.mergeProps({key:0},h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePlay}),{default:o.withCtx(()=>e[17]||(e[17]=[o.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:2,__:[17]},1040,["onClick"])):o.createCommentVNode("",!0)]),_:1},8,["text"]),o.createVNode(p,{text:t.$t("actions.pause"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:h})=>[i.paused?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(u,o.mergeProps({key:0},h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePause}),{default:o.withCtx(()=>e[18]||(e[18]=[o.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:2,__:[18]},1040,["onClick"]))]),_:1},8,["text"]),o.createVNode(p,{text:t.$t("actions.forward"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:h})=>[o.createVNode(u,o.mergeProps(h,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleForward}),{default:o.withCtx(()=>e[19]||(e[19]=[o.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:2,__:[19]},1040,["onClick"])]),_:1},8,["text"])]),o.createVNode(y,{vertical:"",class:"mx-2 my-3",style:{height:"16px"}}),o.createElementVNode("div",w1,[o.createVNode(p,{text:t.$t("weather.windBarbs"),location:"top"},{activator:o.withCtx(({props:h})=>{var f,x;return[o.createVNode(u,o.mergeProps(h,{class:"pa-1 d-flex",color:(f=a.weatherCheckList)!=null&&f.includes("wind")?"primary":"",variant:(x=a.weatherCheckList)!=null&&x.includes("wind")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:e[7]||(e[7]=v=>l.handleClickFastWeather("wind"))}),{default:o.withCtx(()=>e[20]||(e[20]=[o.createElementVNode("i",{class:"iconfont icon-a-WindLevel"},null,-1)])),_:2,__:[20]},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(p,{text:t.$t("weather.sigWaveHeight"),location:"top"},{activator:o.withCtx(({props:h})=>{var f,x;return[o.createVNode(u,o.mergeProps(h,{class:"pa-1 d-flex",color:(f=a.weatherCheckList)!=null&&f.includes("sig-wave-height")?"primary":"",variant:(x=a.weatherCheckList)!=null&&x.includes("sig-wave-height")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:e[8]||(e[8]=v=>l.handleClickFastWeather("sig-wave-height"))}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(h,{class:"iconfont icon-a-WaveHeight"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(p,{text:t.$t("weather.currentDirection"),location:"top"},{activator:o.withCtx(({props:h})=>{var f,x;return[o.createVNode(u,o.mergeProps(h,{class:"pa-1 d-flex",color:(f=a.weatherCheckList)!=null&&f.includes("current-direction")?"primary":"",variant:(x=a.weatherCheckList)!=null&&x.includes("current-direction")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:e[9]||(e[9]=v=>l.handleClickFastWeather("current-direction"))}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(h,{class:"iconfont icon-Current"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(p,{text:t.$t("weather.weatherLayers"),location:"top"},{activator:o.withCtx(({props:h})=>[o.createVNode(u,o.mergeProps(h,{class:"pa-1 d-flex",variant:"text",height:"24",width:"24","min-width":"24",onClick:l.handleClickFastMore}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(h,{class:"iconfont icon-dots-align"}),null,16)]),_:2},1040,["onClick"])]),_:1},8,["text"])]),o.createVNode(y,{vertical:"",class:"mx-2 mr-3 my-3",style:{height:"16px"}}),o.createElementVNode("div",x1,[o.createVNode(u,{text:"",height:"30",class:o.normalizeClass(["px-2 elevation-0 text-body-1 btn-border-2",i.source==="GFS"?"bg-primary":"btn-bg-2"]),color:i.source==="GFS"?"primary":"",onClick:e[10]||(e[10]=h=>i.source="GFS")},{default:o.withCtx(()=>e[21]||(e[21]=[o.createTextVNode(" NOAA ",-1)])),_:1,__:[21]},8,["color","class"]),o.createVNode(u,{text:"",height:"30",class:o.normalizeClass(["px-2 elevation-0 text-body-1 btn-border-2",i.source==="ECMWF"?"bg-primary":"btn-bg-2"]),color:i.source==="ECMWF"?"primary":"",onClick:e[11]||(e[11]=h=>i.source="ECMWF")},{default:o.withCtx(()=>e[22]||(e[22]=[o.createTextVNode(" ECMWF ",-1)])),_:1,__:[22]},8,["class","color"])])],4),o.createElementVNode("div",{class:"timezone-box d-flex flex-column justify-space-between align-end",style:o.normalizeStyle({right:i.right+150+"px"})},[i.showTimezone?(o.openBlock(),o.createElementBlock("div",k1,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.offsets,h=>(o.openBlock(),o.createElementBlock("div",{key:h,class:"item rounded text-body-2 hover-active",onClick:f=>i.timeZone=h},o.toDisplayString(h<0?h:"+"+h),9,A1))),128))])):o.createCommentVNode("",!0),o.createElementVNode("div",L1,[o.createElementVNode("div",v1,o.toDisplayString(i.currentRealTime),1),o.createVNode(u,{text:"",variant:"flat",height:"28",class:"pa-1 text-body-1",color:"primary",onClick:e[12]||(e[12]=h=>i.showTimezone=!i.showTimezone)},{default:o.withCtx(()=>[o.createTextVNode(" UTC "+o.toDisplayString(i.timeZone<0?i.timeZone:"+"+i.timeZone),1)]),_:1})])],4)])}const _1=Q(g1,[["render",C1]]),$b="",z1={name:"IdmTimePlayer",components:{DateTimePicker:bo},props:{menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array},playerBottom:{type:Number,default:30}},emits:["realTime","timeZone"],data(){return{right:10,show:{weather:!1,spot:!1,tropical:!1,ship:!1},dayAbout:{h:-7,f:14},currentDateTimeZ:void 0,currentTimestamp:void 0,currentDateTime:void 0,currentRealTime:void 0,minTimestamp:void 0,maxTimestamp:void 0,animation:void 0,startAnimate:0,step:0,frequency:1e3,paused:!0,intervalHour:3,intervalOptions:[3,6,12,24],showTimezone:!1,timeZone:_().utcOffset()/60,offsets:[-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12]}},watch:{step:{handler(t,e){if(!isNaN(t)&&!isNaN(e)&&t!==e){const a=t-e;let r=this.currentTimestamp;r=r+a*this.intervalHour*3600*1e3,r<=this.minTimestamp||r>=this.maxTimestamp?this.paused?this.currentTimestamp=a<0?this.minTimestamp:this.maxTimestamp:this.handleReset():this.currentTimestamp=r}}},currentTimestamp:{handler(){this.currentDateTimeZ=_(this.currentTimestamp).utc().format("yyyy-MM-DD HH:00[Z]"),this.$emit("realTime",this.currentDateTimeZ),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`},immediate:!0},timeZone:{handler(t,e){t!==e&&(this.$emit("timeZone",this.timeZone),this.showTimezone=!1)},immediate:!0},show:{handler(){var t;Object.values(this.show).includes(!0)||(t=this.$refs.dateTimePicker)==null||t.handleCancelDate()},deep:!0}},mounted(){this.handleReset()},methods:{handleReset(){var t;this.handlePause(),this.startAnimate=0,(t=this.$refs.dateTimePicker)==null||t.handleReset()},changeDayAbout(t,e){this.dayAbout={h:t??-7,f:e??14}},handleToggle(t,e){this.show[t]=e},handleBackward(){this.handlePause(),this.step-=1},handleForward(){this.handlePause(),this.step+=1},handlePlay(){this.paused=!1,this.step=0,this.animateSpeeds()},handlePause(){this.animation&&cancelAnimationFrame(this.animation),this.paused=!0},animateSpeeds(t){const e=t-this.startAnimate;this.step=Math.floor(e/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)}}},S1={class:"w-100 timeline-box d-flex justify-space-around align-center rounded px-2"};function P1(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("DateTimePicker");return o.openBlock(),o.createElementBlock("div",{class:"idm-time-player-gl4 d-flex justify-center align-center",style:o.normalizeStyle({bottom:Object.values(i.show).includes(!0)?a.playerBottom+"px":"-100px"})},[o.createElementVNode("div",S1,[o.createVNode(n,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleReset},{default:o.withCtx(()=>e[4]||(e[4]=[o.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:1,__:[4]},8,["onClick"]),o.createVNode(n,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleBackward},{default:o.withCtx(()=>e[5]||(e[5]=[o.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:1,__:[5]},8,["onClick"]),o.createVNode(s,o.mergeProps({ref:"dateTimePicker","date-time":i.currentDateTimeZ,"time-zone":i.timeZone,"day-about":i.dayAbout,"interval-hour":i.intervalHour,height:32},t.$attrs,{onCurrentTimestamp:e[0]||(e[0]=c=>i.currentTimestamp=c),onCurrentRealTime:e[1]||(e[1]=c=>i.currentRealTime=c),onMinTimestamp:e[2]||(e[2]=c=>i.minTimestamp=c),onMaxTimestamp:e[3]||(e[3]=c=>i.maxTimestamp=c)}),null,16,["date-time","time-zone","day-about","interval-hour"]),o.createVNode(n,{size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handleForward},{default:o.withCtx(()=>e[6]||(e[6]=[o.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:1,__:[6]},8,["onClick"]),i.paused?(o.openBlock(),o.createBlock(n,{key:0,size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handlePlay},{default:o.withCtx(()=>e[7]||(e[7]=[o.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:1,__:[7]},8,["onClick"])):(o.openBlock(),o.createBlock(n,{key:1,size:"small",density:"compact",class:"px-1 bg-background btn-border-1",width:"30","min-width":"30",height:"30",onClick:l.handlePause},{default:o.withCtx(()=>e[8]||(e[8]=[o.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:1,__:[8]},8,["onClick"]))])],4)}const ya=Q(z1,[["render",P1]]);class M1{constructor(){R(this,"mediaRecorder",null);R(this,"recordedChunks",[]);R(this,"stream",null);R(this,"_isRecording",!1);R(this,"_isStreamReady",!1);R(this,"_frameRate",15);R(this,"_onStreamEnd",null)}async initStream(e=15,a){if(this._isStreamReady||this.stream)return console.warn("[MapRecorder] 流已初始化"),!0;this._frameRate=e,this._onStreamEnd=a||null;try{return this.stream=await navigator.mediaDevices.getDisplayMedia({video:{frameRate:{ideal:e,max:30},displaySurface:"window"},audio:!1}),this.stream.getVideoTracks()[0].onended=()=>{var r;this._isStreamReady=!1,(r=this._onStreamEnd)==null||r.call(this)},this._isStreamReady=!0,await this.enterFullscreen(),!0}catch(r){return console.error("[MapRecorder] 初始化屏幕共享失败:",r),!1}}async startRecording(){if(!this._isStreamReady||!this.stream){console.warn("[MapRecorder] 流未初始化,请先调用 initStream");return}if(this._isRecording){console.warn("[MapRecorder] 已在录制中");return}this.recordedChunks=[];try{const e=this.stream.getVideoTracks()[0];e&&"contentHint"in e&&(e.contentHint="detail");const a=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:a,videoBitsPerSecond:this.getVideoBitsPerSecond()}),this.mediaRecorder.ondataavailable=r=>{r.data.size>0&&this.recordedChunks.push(r.data)},this.mediaRecorder.start(100),this._isRecording=!0}catch(e){throw console.error("[MapRecorder] 录制启动失败:",e),e}}async enterFullscreen(){try{const e=document.documentElement;e.requestFullscreen?await e.requestFullscreen():e.webkitRequestFullscreen&&await e.webkitRequestFullscreen()}catch(e){console.warn("[MapRecorder] 无法进入全屏:",e)}}async exitFullscreen(){try{(document.fullscreenElement||document.webkitFullscreenElement)&&(document.exitFullscreen?await document.exitFullscreen():document.webkitExitFullscreen&&await document.webkitExitFullscreen())}catch(e){console.warn("[MapRecorder] 无法退出全屏:",e)}}async stopSharing(){this._isRecording&&this.mediaRecorder&&(this._isRecording=!1,this.mediaRecorder.stop(),this.mediaRecorder=null,this.recordedChunks=[]),this.stream&&(this.stream.getTracks().forEach(e=>e.stop()),this.stream=null),this._isStreamReady=!1,await this.exitFullscreen()}get isStreamReady(){return this._isStreamReady}getVideoBitsPerSecond(){var n,s;const e=((s=(n=this.stream)==null?void 0:n.getVideoTracks()[0])==null?void 0:s.getSettings())||{},a=e.width||1920,r=e.height||1080,i=e.frameRate||this._frameRate||30,l=Math.round(a*r*i*.12);return Math.min(Math.max(l,4e6),3e7)}getSupportedMimeType(){const e=["video/mp4;codecs=h264","video/mp4","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const a of e)if(MediaRecorder.isTypeSupported(a))return a;return"video/webm"}async stop(){return!this._isRecording||!this.mediaRecorder?null:(this._isRecording=!1,new Promise(e=>{if(!this.mediaRecorder){e(null);return}this.mediaRecorder.onstop=()=>{var i;const a=((i=this.mediaRecorder)==null?void 0:i.mimeType)||"video/webm",r=new Blob(this.recordedChunks,{type:a});this.recordedChunks=[],this.mediaRecorder=null,e(r)},this.mediaRecorder.stop()}))}download(e){const a=e.type.includes("mp4")?"mp4":"webm",i=`ORM-Record-${_().format("yyyyMMDD-HHmm")}.${a}`,l=URL.createObjectURL(e),n=document.createElement("a");n.href=l,n.download=i,n.style.display="none",document.body.appendChild(n),n.click(),setTimeout(()=>{document.body.removeChild(n),URL.revokeObjectURL(l)},100)}get isRecording(){return this._isRecording}}const e2="",T1={name:"IdmBottomTimeLine",props:{realTime:{type:String},menuToggle:{type:Object,default:{}},weatherCheckList:{type:Array}},emits:["forecastModel","realTime","timeZone"],data(){return{right:10,show:{weather:!1,spot:!1,tropical:!1,ship:!1},dayAbout:{h:0,f:14},currentDateTimeZ:void 0,currentTimestamp:void 0,currentDateTime:void 0,currentRealTime:void 0,animation:void 0,startAnimate:0,step:0,frequency:1e3,paused:!0,intervalHour:3,intervalOptions:[3,6,12,24],timer:void 0,showTimezone:!1,timeZone:localStorage.getItem("idm-timeZone-gl4")?Number(localStorage.getItem("idm-timeZone-gl4")):_().utcOffset()/60,offsets:[-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12],source:localStorage.getItem("forecastModelCacheGL4")==="GFS"?"GFS":"ECMWF",isRecording:!1,recorder:null,isDragging:!1,dragStartX:0,dragScrollLeft:0,hasDragged:!1,bubblePosition:null}},computed:{realTimeTimestamp(){return this.realTime?_(this.realTime,_.ISO_8601,!0).valueOf():NaN},computedUTCTime(){return t=>_(t).utc().format("yyyy-MM-DD HH:mm[Z]")},minTimestamp(){return _.tz(_().add(this.dayAbout.h,"days"),this.timeZoneName).startOf("day").valueOf()},maxTimestamp(){const t=_.tz(_().add(this.dayAbout.f,"days"),this.timeZoneName).endOf("day").valueOf(),e=Math.max(t,...[this.realTimeTimestamp,this.currentTimestamp].filter(Number.isFinite));return _.tz(e,this.timeZoneName).endOf("day").valueOf()},timelineStartDate(){return _.tz(this.minTimestamp,this.timeZoneName).startOf("day")},timelineEndDate(){return _.tz(this.maxTimestamp,this.timeZoneName).startOf("day")},timelineTotalHours(){return this.timelineEndDate.diff(this.timelineStartDate,"hours")+24},hourWidth(){const t=Math.ceil(24/this.intervalHour),e=this.timelineTotalHours/24*t;return Math.max(32,Math.ceil(600/Math.min(e,7*t)))},timeZoneName(){var t;return(t=_.tz.names().filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},playBubbleText(){return this.currentTimestamp?_.tz(this.currentTimestamp,this.timeZoneName).format("MM-DD HH:00")+" ( UTC "+(this.timeZone>=0?"+":"-")+this.timeZone+" )":""},timelineDays(){const t=[],e=this.timeZoneName,a=(this.timeZone%this.intervalHour+this.intervalHour)%this.intervalHour;let r=_.tz(this.minTimestamp,e).startOf("day");const i=_.tz(this.maxTimestamp,e).startOf("day");for(;r.isSameOrBefore(i);){const l=[];for(let n=a;n<24;n+=this.intervalHour){const s=r.clone().add(n,"hours").valueOf();s<this.minTimestamp||s>this.maxTimestamp||l.push({key:`${r.format("YYYY-MM-DD")}-${n}`,timestamp:s,isActive:s<(this.currentTimestamp||Date.now()),isCurrent:this.currentTimestamp>=s&&this.currentTimestamp<s+this.intervalHour*36e5,label:String(n).padStart(2,"0")})}l.length&&t.push({key:r.format("YYYY-MM-DD"),label:r.format("MMM-DD")+" "+r.format("ddd"),hours:l}),r.add(1,"day")}return t}},watch:{intervalHour(t,e){t===e||!Number.isFinite(t)||t<=0||!Number.isFinite(this.currentTimestamp)||(this.currentTimestamp=this.getNearestTimelineTimestamp(this.currentTimestamp),this.$nextTick(this.scrollToCurrentTime))},timelineDays(){this.$nextTick(this.updatePlayBubblePosition)},realTimeTimestamp:{handler(t){if(!Number.isFinite(t)||t===this.currentTimestamp)return;const e=this.getNearestTimelineTimestamp(t);if(e===this.currentTimestamp){this.$emit("realTime",_(e).utc().format("yyyy-MM-DD HH:mm[Z]"));return}this.handlePause(),this.currentTimestamp=e,this.$nextTick(this.scrollToCurrentTime)},immediate:!0},"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10})},immediate:!0},source:{handler(t,e){t&&t!==e&&(this.$emit("forecastModel",t),localStorage.setItem("forecastModelCacheGL4",t))},immediate:!0},step:{handler(t,e){if(!isNaN(t)&&!isNaN(e)&&t!==e){const a=t-e;let r=this.currentTimestamp;r=r+a*this.intervalHour*3600*1e3,r<=this.minTimestamp||r>=this.maxTimestamp?this.paused?this.currentTimestamp=a<0?this.minTimestamp:this.maxTimestamp:this.handleReset():this.currentTimestamp=r}}},dayAbout:{handler(){this.initCurrentTimestamp()},deep:!0},currentTimestamp:{handler(){Number.isFinite(this.currentTimestamp)&&(this.currentDateTimeZ=_(this.currentTimestamp).utc().format("yyyy-MM-DD HH:mm[Z]"),this.currentTimestamp!==this.realTimeTimestamp&&this.$emit("realTime",this.currentDateTimeZ),this.currentDateTime=`${_.tz(this.currentTimestamp,this.timeZoneName).clone().format("yyyy-MM-DD : HH:00")}`,this.paused||this.$nextTick(()=>{const t=this.$refs.timelineScroll;if(!t||!this.currentTimestamp)return;const e=this.timeZoneName,a=_.tz(this.currentTimestamp,e),l=(a.clone().startOf("day").diff(this.timelineStartDate,"hours")+a.hour())/this.intervalHour*this.hourWidth,n=l+this.hourWidth,s=t.scrollLeft,c=s+t.clientWidth;n>c?t.scrollLeft=n-t.clientWidth:l<s&&(t.scrollLeft=l)}))},immediate:!0},timeZone:{handler(t,e){t!==e&&(this.$emit("timeZone",this.timeZone),localStorage.setItem("idm-timeZone-gl4",this.timeZone),this.showTimezone=!1)},immediate:!0},isRecording:{handler(t){t||this.handlePause()},immediate:!0}},mounted(){if(typeof ResizeObserver<"u"){this.bubbleResizeObserver=new ResizeObserver(this.updatePlayBubblePosition);for(const t of[this.$refs.timelineBox,this.$refs.timelineScroll,this.$refs.timelineTrack])t&&this.bubbleResizeObserver.observe(t)}window.addEventListener("resize",this.updatePlayBubblePosition),this.$nextTick(this.updatePlayBubblePosition),Number.isFinite(this.currentTimestamp)?this.$nextTick(this.scrollToCurrentTime):this.initCurrentTimestamp(),this.timer=setInterval(()=>{this.currentRealTime=`${_.tz(_().unix()*1e3,this.timeZoneName).clone().format("HH:mm")}`},100)},unmounted(){var t;clearInterval(this.timer),(t=this.bubbleResizeObserver)==null||t.disconnect(),window.removeEventListener("resize",this.updatePlayBubblePosition),this.recorder&&this.stopSharing()},methods:{getNearestTimelineTimestamp(t){const e=Math.max(t,this.minTimestamp),a=this.timelineDays.flatMap(s=>s.hours),r=a.find(s=>s.timestamp>=e),i=a.reverse().find(s=>s.timestamp<=e),l=(this.timeZone%this.intervalHour+this.intervalHour)%this.intervalHour,n=(r==null?void 0:r.timestamp)??_.tz(e,this.timeZoneName).add(1,"day").startOf("day").add(l,"hours").valueOf();return i&&e-i.timestamp<n-e?i.timestamp:n},updatePlayBubblePosition(){var m,d;const t=this.$refs.timelineBox,e=this.$refs.timelineScroll,a=e==null?void 0:e.querySelector(".timeline-hour.is-current");if(!t||!e||!a){this.bubblePosition=null;return}const r=a.getBoundingClientRect(),i=e.getBoundingClientRect(),l=r.left+a.clientLeft;if(!i.width||l<i.left||l>i.right){this.bubblePosition=null;return}const n=t.getBoundingClientRect(),s=`${l-n.left-t.clientLeft}px`,c=`${r.top-n.top-t.clientTop-2}px`;(((m=this.bubblePosition)==null?void 0:m.left)!==s||((d=this.bubblePosition)==null?void 0:d.top)!==c)&&(this.bubblePosition={left:s,top:c})},scrollToCurrentTime(){const t=this.$refs.timelineScroll,e=t==null?void 0:t.querySelector(".timeline-hour.is-current");if(!e)return;const a=e.getBoundingClientRect(),r=t.getBoundingClientRect();t.scrollLeft=Math.max(0,t.scrollLeft+a.left+e.clientLeft-(r.left+r.width/2)),this.updatePlayBubblePosition()},initCurrentTimestamp(){var c,m;const t=Date.now(),e=this.timeZoneName,a=_.tz(t,e),r=(this.timeZone%this.intervalHour+this.intervalHour)%this.intervalHour,i=a.hour(),l=i-((i-r)%this.intervalHour+this.intervalHour)%this.intervalHour,n=a.clone().set({minute:0,second:0,millisecond:0,hour:l}).valueOf(),s=((m=(c=this.timelineDays[0])==null?void 0:c.hours[0])==null?void 0:m.timestamp)??this.minTimestamp;this.currentTimestamp=Math.max(s,Math.min(n,this.maxTimestamp)),this.step=0,this.startAnimate=0,this.$nextTick(()=>{const d=this.$refs.timelineScroll;if(!d)return;const g=_.tz(this.currentTimestamp,e),u=g.clone().startOf("day").diff(this.timelineStartDate,"hours")+g.hour();Math.max(0,u*this.hourWidth-d.clientWidth/2),d.scrollLeft=0,this.updatePlayBubblePosition()})},handleTimelineClick(t,e){var r,i,l,n,s,c,m,d;if(this.hasDragged)return;this.handlePause();const a=e<24/this.intervalHour-1?(n=(l=(i=(r=this.timelineDays)==null?void 0:r[t])==null?void 0:i.hours)==null?void 0:l[e+1])==null?void 0:n.timestamp:(d=(m=(c=(s=this.timelineDays)==null?void 0:s[t+1])==null?void 0:c.hours)==null?void 0:m[0])==null?void 0:d.timestamp;this.currentTimestamp=Math.max(this.minTimestamp,Math.min(a,this.maxTimestamp))},handleDateClick(t,e){var l,n,s,c;if(this.hasDragged)return;const a=e.currentTarget.getBoundingClientRect(),r=e.clientX-a.left-2,i=Math.min(Math.floor(r/this.hourWidth),((n=(l=this.timelineDays)==null?void 0:l[t])==null?void 0:n.hours.length)-1);i>=0&&i<((c=(s=this.timelineDays)==null?void 0:s[t])==null?void 0:c.hours.length)&&this.handleTimelineClick(t,i)},handleDragStart(t){var e;this.isDragging=!0,this.hasDragged=!1,this.dragStartX=t.clientX,this.dragScrollLeft=((e=this.$refs.timelineScroll)==null?void 0:e.scrollLeft)||0},handleDragMove(t){if(!this.isDragging)return;const e=t.clientX-this.dragStartX;Math.abs(e)>3&&(this.hasDragged=!0),this.$refs.timelineScroll&&(this.$refs.timelineScroll.scrollLeft=this.dragScrollLeft-e)},handleDragEnd(){this.isDragging=!1},handleReset(){this.handlePause(),this.startAnimate=0,this.step=0,this.initCurrentTimestamp()},changeDayAbout(t,e){this.dayAbout={h:t??0,f:e??14},this.$nextTick(()=>{this.initCurrentTimestamp()})},handleToggle(t,e){this.show[t]=e},handleBackward(){this.handlePause(),this.step-=1},handleForward(){this.handlePause(),this.step+=1},handlePlay(){this.paused=!1,this.step=0,this.animateSpeeds()},async handlePause(){this.animation&&cancelAnimationFrame(this.animation),this.paused=!0},animateSpeeds(t){const e=t-this.startAnimate;this.step=Math.floor(e/this.frequency),this.animation=requestAnimationFrame(this.animateSpeeds)},handleClickFastWeather(t){this.$parent.$refs.idmWeatherLayers.handleFastWeatherToggle(t)},handleClickFastMore(){this.$parent.$refs.idmWeatherLayers.handleMenuToggle()},async handleStartRecord(){if(this.isRecording||this.recorder)return;const t=o.markRaw(new M1);this.recorder=t;try{if(!await t.initStream(30,()=>{this.isRecording=!1,this.recorder===t&&(this.recorder=null),t.exitFullscreen()})){this.recorder=null;return}await new Promise(a=>setTimeout(a,800)),await this.startRecord()}catch(e){console.error("[IdmBottomTimeLine] 初始化共享流失败:",e),await this.stopSharing()}},async startRecord(){var t;if((t=this.recorder)!=null&&t.isStreamReady)try{await this.recorder.startRecording(),this.isRecording=!0}catch(e){console.error("[IdmBottomTimeLine] 录制启动失败:",e),this.isRecording=!1,await this.stopSharing()}},async handleStopRecord(){await this.stopRecord(),await this.stopSharing()},async stopRecord(){const t=this.recorder;if(!(!this.isRecording||!t))try{const e=await t.stop();e&&t.download(e)}catch(e){console.error("[IdmBottomTimeLine] 录制停止失败:",e)}finally{this.isRecording=!1}},async stopSharing(){const t=this.recorder;try{t&&await t.stopSharing()}catch(e){console.error("[IdmBottomTimeLine] 停止共享失败:",e)}finally{this.recorder===t&&(this.recorder=null)}}}},N1={class:"idm-bottom-timeline-gl4"},E1={class:"bubble-text"},V1={class:"play-btns-box d-flex justify-center align-center cursor-pointer ga-1"},R1={class:"interval-box d-flex ga-2"},D1={class:"hour-box d-flex ga-2 flex-1-1-0 h-100 overflow-hidden"},B1={ref:"timelineTrack",class:"timeline-track"},I1=["onClick"],F1={class:"timeline-hours"},G1=["onClick"],j1={class:"fast-weathers-box d-flex justify-center align-center ga-2 cursor-pointer"},W1={class:"model-box d-flex justify-center align-center ga-2 my-2"},Z1={key:0,class:"list d-flex flex-wrap pa-2 rounded ga-2"},H1=["onClick"],X1={class:"btn-box d-flex flex-column justify-space-around align-center rounded py-1 px-3"},O1={class:"text-body-2"},Y1={key:0,class:"record-logo"},U1={style:{padding:"6px 16px",margin:"auto",background:"#3468f5",color:"var(--idm-white, #fff)","border-radius":"6px","font-size":"20px","font-weight":"bold"}};function J1(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VTooltip"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VListItemTitle"),d=o.resolveComponent("VListItem"),g=o.resolveComponent("VList"),u=o.resolveComponent("VMenu");return o.openBlock(),o.createElementBlock("div",N1,[o.createElementVNode("div",{ref:"timelineBox",class:"timeline-box px-2 d-flex justify-start align-center rounded",style:o.normalizeStyle({right:i.right+250+"px",bottom:Object.values(i.show).includes(!0)?"10px":"-100px"})},[i.bubblePosition?(o.openBlock(),o.createElementBlock("div",{key:0,class:"play-bubble",style:o.normalizeStyle(i.bubblePosition)},[o.createElementVNode("span",E1,o.toDisplayString(l.playBubbleText),1),e[11]||(e[11]=o.createElementVNode("span",{class:"bubble-arrow"},null,-1))],4)):o.createCommentVNode("",!0),o.createElementVNode("div",V1,[o.createVNode(s,{text:i.isRecording?t.$t("actions.stop"):t.$t("actions.record"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:y})=>[i.isRecording?(o.openBlock(),o.createBlock(n,o.mergeProps({key:1},y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleStopRecord}),{default:o.withCtx(()=>e[13]||(e[13]=[o.createElementVNode("i",{class:"iconfont icon-stop-record text-danger"},null,-1)])),_:2,__:[13]},1040,["onClick"])):(o.openBlock(),o.createBlock(n,o.mergeProps({key:0},y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleStartRecord}),{default:o.withCtx(()=>e[12]||(e[12]=[o.createElementVNode("i",{class:"iconfont icon-record"},null,-1)])),_:2,__:[12]},1040,["onClick"]))]),_:1},8,["text"]),o.createVNode(s,{text:t.$t("actions.reset"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:y})=>[o.createVNode(n,o.mergeProps(y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleReset}),{default:o.withCtx(()=>e[14]||(e[14]=[o.createElementVNode("i",{class:"iconfont icon-Reset"},null,-1)])),_:2,__:[14]},1040,["onClick"])]),_:1},8,["text"]),o.createVNode(s,{text:t.$t("actions.backward"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:y})=>[o.createVNode(n,o.mergeProps(y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleBackward}),{default:o.withCtx(()=>e[15]||(e[15]=[o.createElementVNode("i",{class:"iconfont icon-Backward"},null,-1)])),_:2,__:[15]},1040,["onClick"])]),_:1},8,["text"]),o.createVNode(s,{text:t.$t("actions.play"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:y})=>[i.paused?(o.openBlock(),o.createBlock(n,o.mergeProps({key:0},y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePlay}),{default:o.withCtx(()=>e[16]||(e[16]=[o.createElementVNode("i",{class:"iconfont icon-Play"},null,-1)])),_:2,__:[16]},1040,["onClick"])):o.createCommentVNode("",!0)]),_:1},8,["text"]),o.createVNode(s,{text:t.$t("actions.pause"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:y})=>[i.paused?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(n,o.mergeProps({key:0},y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handlePause}),{default:o.withCtx(()=>e[17]||(e[17]=[o.createElementVNode("i",{class:"iconfont icon-Pause"},null,-1)])),_:2,__:[17]},1040,["onClick"]))]),_:1},8,["text"]),o.createVNode(s,{text:t.$t("actions.forward"),location:"top",interactive:!0,"open-on-click":!1},{activator:o.withCtx(({props:y})=>[o.createVNode(n,o.mergeProps(y,{icon:"",size:"small",density:"comfortable",variant:"text",onClick:l.handleForward}),{default:o.withCtx(()=>e[18]||(e[18]=[o.createElementVNode("i",{class:"iconfont icon-Forward"},null,-1)])),_:2,__:[18]},1040,["onClick"])]),_:1},8,["text"])]),o.createVNode(c,{vertical:"",class:"mx-2 my-4"}),o.createElementVNode("div",R1,[o.createVNode(n,{text:"",height:"30",class:"text-none elevation-0 btn-border-1 btn-bg-1 text-body-1","min-width":"30"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(i.intervalHour)+" h ",1),o.createVNode(u,{activator:"parent"},{default:o.withCtx(()=>[o.createVNode(g,{class:"pa-1"},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.intervalOptions,(y,p)=>(o.openBlock(),o.createBlock(d,{key:p,value:y,variant:i.intervalHour===y?"tonal":"text",color:"primary",rounded:"",active:i.intervalHour===y,height:"30","min-height":"30","min-width":"30",class:"pa-0 text-center text-body-1"},{default:o.withCtx(()=>[o.createVNode(m,{onClick:h=>i.intervalHour=y},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(y)+"h",1)]),_:2},1032,["onClick"])]),_:2},1032,["value","variant","active"]))),128))]),_:1})]),_:1})]),_:1})]),o.createVNode(c,{vertical:"",class:"mx-2 my-4"}),o.createElementVNode("div",D1,[o.createElementVNode("div",{ref:"timelineScroll",class:o.normalizeClass(["timeline-scroll",{dragging:i.isDragging}]),onScrollPassive:e[0]||(e[0]=(...y)=>l.updatePlayBubblePosition&&l.updatePlayBubblePosition(...y)),onMousedown:e[1]||(e[1]=(...y)=>l.handleDragStart&&l.handleDragStart(...y)),onMousemove:e[2]||(e[2]=(...y)=>l.handleDragMove&&l.handleDragMove(...y)),onMouseup:e[3]||(e[3]=(...y)=>l.handleDragEnd&&l.handleDragEnd(...y)),onMouseleave:e[4]||(e[4]=(...y)=>l.handleDragEnd&&l.handleDragEnd(...y))},[o.createElementVNode("div",B1,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(l.timelineDays,(y,p)=>(o.openBlock(),o.createElementBlock("div",{key:y.key,class:"timeline-day"},[o.createElementVNode("div",{class:"timeline-date",onClick:h=>l.handleDateClick(p,h)},o.toDisplayString(y.label),9,I1),o.createElementVNode("div",F1,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(y.hours,(h,f)=>(o.openBlock(),o.createElementBlock("div",{key:h.key,class:o.normalizeClass(["timeline-hour",{active:h.isActive,"is-current":h.isCurrent}]),style:o.normalizeStyle({width:l.hourWidth+"px"}),onClick:x=>l.handleTimelineClick(p,f)},[o.createElementVNode("span",{class:"hour-label",style:o.normalizeStyle({left:i.intervalHour===24?"-43px":i.intervalHour===12?"-21px":"-16px"})},o.toDisplayString(h.label),5)],14,G1))),128))])]))),128))],512)],34)]),o.createVNode(c,{vertical:"",class:"mx-2 my-4"}),o.createElementVNode("div",j1,[o.createVNode(s,{text:t.$t("weather.windBarbs"),location:"top"},{activator:o.withCtx(({props:y})=>{var p,h;return[o.createVNode(n,o.mergeProps(y,{class:"pa-1 d-flex",color:(p=a.weatherCheckList)!=null&&p.includes("wind")?"primary":"",variant:(h=a.weatherCheckList)!=null&&h.includes("wind")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:e[5]||(e[5]=f=>l.handleClickFastWeather("wind"))}),{default:o.withCtx(()=>e[19]||(e[19]=[o.createElementVNode("i",{class:"iconfont icon-a-WindLevel"},null,-1)])),_:2,__:[19]},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(s,{text:t.$t("weather.sigWaveHeight"),location:"top"},{activator:o.withCtx(({props:y})=>{var p,h;return[o.createVNode(n,o.mergeProps(y,{class:"pa-1 d-flex",color:(p=a.weatherCheckList)!=null&&p.includes("sig-wave-height")?"primary":"",variant:(h=a.weatherCheckList)!=null&&h.includes("sig-wave-height")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:e[6]||(e[6]=f=>l.handleClickFastWeather("sig-wave-height"))}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(y,{class:"iconfont icon-a-WaveHeight"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(s,{text:t.$t("weather.currentDirection"),location:"top"},{activator:o.withCtx(({props:y})=>{var p,h;return[o.createVNode(n,o.mergeProps(y,{class:"pa-1 d-flex",color:(p=a.weatherCheckList)!=null&&p.includes("current-direction")?"primary":"",variant:(h=a.weatherCheckList)!=null&&h.includes("current-direction")?"elevated":"text",height:"24",width:"24","min-width":"24",onClick:e[7]||(e[7]=f=>l.handleClickFastWeather("current-direction"))}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(y,{class:"iconfont icon-Current"}),null,16)]),_:2},1040,["color","variant"])]}),_:1},8,["text"]),o.createVNode(s,{text:t.$t("weather.weatherLayers"),location:"top"},{activator:o.withCtx(({props:y})=>[o.createVNode(n,o.mergeProps(y,{class:"pa-1 d-flex",variant:"text",height:"24",width:"24","min-width":"24",onClick:l.handleClickFastMore}),{default:o.withCtx(()=>[o.createElementVNode("i",o.mergeProps(y,{class:"iconfont icon-dots-align"}),null,16)]),_:2},1040,["onClick"])]),_:1},8,["text"])]),o.createVNode(c,{vertical:"",class:"mx-2 mr-3 my-4"}),o.createElementVNode("div",W1,[o.createVNode(n,{text:"",height:"30",class:o.normalizeClass(["px-2 elevation-0 text-body-1 btn-border-2",i.source==="GFS"?"bg-primary":"btn-bg-2"]),color:i.source==="GFS"?"primary":"",onClick:e[8]||(e[8]=y=>i.source="GFS")},{default:o.withCtx(()=>e[20]||(e[20]=[o.createTextVNode(" NOAA ",-1)])),_:1,__:[20]},8,["color","class"]),o.createVNode(n,{text:"",height:"30",class:o.normalizeClass(["px-2 elevation-0 text-body-1 btn-border-2",i.source==="ECMWF"?"bg-primary":"btn-bg-2"]),color:i.source==="ECMWF"?"primary":"",onClick:e[9]||(e[9]=y=>i.source="ECMWF")},{default:o.withCtx(()=>e[21]||(e[21]=[o.createTextVNode(" ECMWF ",-1)])),_:1,__:[21]},8,["class","color"])])],4),o.createElementVNode("div",{class:"timezone-box d-flex flex-column justify-space-between align-end",style:o.normalizeStyle({right:i.right+150+"px"})},[i.showTimezone?(o.openBlock(),o.createElementBlock("div",Z1,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.offsets,y=>(o.openBlock(),o.createElementBlock("div",{key:y,class:"item rounded text-body-2 hover-active",onClick:p=>i.timeZone=y},o.toDisplayString(y<0?y:"+"+y),9,H1))),128))])):o.createCommentVNode("",!0),o.createElementVNode("div",X1,[o.createVNode(n,{text:"",variant:"flat",height:"28",class:"pa-1 text-body-1",color:"primary",onClick:e[10]||(e[10]=y=>i.showTimezone=!i.showTimezone)},{default:o.withCtx(()=>[o.createTextVNode(" UTC "+o.toDisplayString(i.timeZone<0?i.timeZone:"+"+i.timeZone),1)]),_:1}),o.createElementVNode("div",O1,o.toDisplayString(i.currentRealTime),1)])],4),i.recorder?(o.openBlock(),o.createElementBlock("div",Y1,[e[22]||(e[22]=o.createElementVNode("div",{class:"d-flex justify-center align-center"},[o.createElementVNode("img",{src:"https://ossimg.ormwx.com/asset/logo/logo_984x984.png",style:{height:"64px",width:"auto"}}),o.createElementVNode("div",{style:{"margin-left":"8px","font-size":"20px","font-style":"italic","font-weight":"600",width:"auto"}},"Weather Routing")],-1)),o.createElementVNode("div",U1,o.toDisplayString(l.computedUTCTime(a.realTime)),1)])):o.createCommentVNode("",!0)])}const K1={name:"IdmGL4",components:{IdmOtherLayer:Sc,IdmWeatherLayer:Id,IdmTropicals:ta,IdmMeasure:Qu,IdmSpot:Yu,IdmMarker:Ef,IdmBottomBar:_1,IdmBottomTimeLine:Q(T1,[["render",J1]]),IdmBottomTimePlayer:ya},props:{map:{type:Object},token:{type:String},beforeLayer:{type:String,default:""},forecastModel:{type:String},mapFeather:{type:String},nautical:{type:String},simple:{type:Boolean,default:!1},showTimeline:{type:Boolean,default:!1}},data(){return{weatherCheckList:[],otherCheckList:[],layerVersion:0,autoActive:!0,tropicals:void 0,playerBottom:30,gateway:"https://cbe.ormwx.com",assistGateway:["https://assist0.ormwx.com","https://assist1.ormwx.com"],defaultMeteoToken:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNtZWliMDg2dTAwMDdmdnV4ZHRhcmFoODIiLCJyb2xlIjoyLCJuYW1lIjoiY2hlbmhlbmdAb3Jtd3guY29tIiwicGxhdElkIjoiZ2QwbXQxZCIsImNvbXBhbnkiOnsiaWQiOm51bGwsImNoaWxkcmVuIjpbXX0sImlhdCI6MTc1NTg1NzQ0NiwiZXhwIjozOTYzMzc3NDQ2fQ.nll8PA8tZEFONV2ydX4Rx_Xya7nMzJQ6vPSL_Sg2dVU"}},computed:{hasRampLayer(){return this.autoActive&&this.weatherCheckList.some(t=>["wind-particle","sig-wave-particle","swell-particle","current-particle","water-temp","temp"].some(e=>e===t))},hasColorLayer(){return this.autoActive&&this.weatherCheckList.some(t=>["wind-particle","sig-wave-particle","swell-particle","current-particle","water-temp","temp","sig-wave-height","swell-direction-contour","current-direction"].some(e=>e===t))},hasOtherLayer(){let t=["navareas","eca-zones","eca-zones","load-lines","voluntary-reporting-area","war-zones","gmdss-areas","special-area","ice-areas"];return(this.nautical==="hi"||this.nautical==="i4"||this.mapFeather==="satellite")&&(t=t.filter(e=>e!=="eca-zones")),this.otherCheckList.some(e=>t.some(a=>a===e))}},watch:{nautical:{handler(t){this.layerVersion=this.layerVersion+1}},layerVersion:{handler(){var t,e,a,r,i,l,n,s,c,m,d,g,u,y,p,h,f,x,v,b,k,A,L,C,z,M,T;if(this.map){const N=this.hasRampLayer,F=this.hasColorLayer,O=this.hasOtherLayer;N||this.nautical!=="hi"&&this.nautical!=="i4"&&this.mapFeather!=="satellite"?(this.nautical==="hi"&&((t=this.map)!=null&&t.getLayer("hi"))&&this.map.setLayoutProperty("hi","visibility","none"),this.nautical==="i4"&&((e=this.map)!=null&&e.getLayer("i4"))&&this.map.setLayoutProperty("i4","visibility","none"),(a=this.map)!=null&&a.getLayer("admin-0-boundary-bg")&&this.map.setLayoutProperty("admin-0-boundary-bg","visibility","visible"),(r=this.map)!=null&&r.getLayer("admin-0-boundary")&&this.map.setLayoutProperty("admin-0-boundary","visibility","visible"),(i=this.map)!=null&&i.getLayer("admin-0-boundary-disputed")&&this.map.setLayoutProperty("admin-0-boundary-disputed","visibility","visible"),(l=this.map)!=null&&l.getLayer("country-label")&&this.map.setLayoutProperty("country-label","visibility","visible"),(n=this.map)!=null&&n.getLayer("continent-label")&&this.map.setLayoutProperty("continent-label","visibility","visible"),(s=this.map)!=null&&s.getLayer("water-outline")&&this.map.setLayoutProperty("water-outline","visibility","visible")):(this.nautical==="hi"&&((c=this.map)!=null&&c.getLayer("hi"))&&this.map.setLayoutProperty("hi","visibility","visible"),this.nautical==="i4"&&((m=this.map)!=null&&m.getLayer("i4"))&&this.map.setLayoutProperty("i4","visibility","visible"),(d=this.map)!=null&&d.getLayer("admin-0-boundary-bg")&&this.map.setLayoutProperty("admin-0-boundary-bg","visibility","none"),(g=this.map)!=null&&g.getLayer("admin-0-boundary")&&this.map.setLayoutProperty("admin-0-boundary","visibility","none"),(u=this.map)!=null&&u.getLayer("admin-0-boundary-disputed")&&this.map.setLayoutProperty("admin-0-boundary-disputed","visibility","none"),(y=this.map)!=null&&y.getLayer("country-label")&&this.map.setLayoutProperty("country-label","visibility","none"),(p=this.map)!=null&&p.getLayer("continent-label")&&this.map.setLayoutProperty("continent-label","visibility","none"),(h=this.map)!=null&&h.getLayer("water-outline")&&this.map.setLayoutProperty("water-outline","visibility","none")),F||O?((f=this.map)!=null&&f.getLayer("admin-0-boundary-bg")&&this.map.setLayoutProperty("admin-0-boundary-bg","visibility","visible"),(x=this.map)!=null&&x.getLayer("admin-0-boundary")&&this.map.setLayoutProperty("admin-0-boundary","visibility","visible"),(v=this.map)!=null&&v.getLayer("admin-0-boundary-disputed")&&this.map.setLayoutProperty("admin-0-boundary-disputed","visibility","visible"),(b=this.map)!=null&&b.getLayer("water-outline")&&this.map.setLayoutProperty("water-outline","visibility","visible"),(k=this.map)!=null&&k.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","visible"),(A=this.map)!=null&&A.getLayer("water-outline2")&&this.map.setLayoutProperty("water-outline2","visibility","visible")):((L=this.map)!=null&&L.getLayer("country-boundaries")&&this.map.setLayoutProperty("country-boundaries","visibility","none"),(C=this.map)!=null&&C.getLayer("water-outline2")&&this.map.setLayoutProperty("water-outline2","visibility","none")),F?((z=this.map)!=null&&z.getLayer("ramp-color-layer")&&this.map.moveLayer("ramp-color-layer","empty-layer-0"),(M=this.map)!=null&&M.getLayer("particle-layer")&&this.map.moveLayer("particle-layer","empty-layer-0"),setTimeout(()=>{var $,le;($=this.map)!=null&&$.getLayer("sig-wave-height-layer")&&this.map.moveLayer("sig-wave-height-layer","empty-layer-0"),(le=this.map)!=null&&le.getLayer("sig-wave-height-label-layer")&&this.map.moveLayer("sig-wave-height-label-layer","empty-layer-0")},1e3)):(T=this.map)!=null&&T.getLayer("ramp-color-layer")&&this.map.moveLayer("ramp-color-layer","empty-layer-2")}}}},methods:{handleChangeOtherChecklist(t){this.otherCheckList=t,this.layerVersion=this.layerVersion+1},handleChangeAutoActive(t){this.autoActive=t,this.layerVersion=this.layerVersion+1},handleChangeWeatherChecklist(t){this.weatherCheckList=t,this.layerVersion=this.layerVersion+1}}},Q1={id:"map-gl4-home",ref:"mapHomeGl4",class:"map-gl4-home"};function q1(t,e,a,r,i,l){const n=o.resolveComponent("IdmOtherLayer"),s=o.resolveComponent("IdmWeatherLayer"),c=o.resolveComponent("IdmTropicals"),m=o.resolveComponent("IdmSpot"),d=o.resolveComponent("IdmMeasure"),g=o.resolveComponent("IdmMarker"),u=o.resolveComponent("IdmBottomBar"),y=o.resolveComponent("IdmBottomTimeLine"),p=o.resolveComponent("IdmBottomTimePlayer");return o.openBlock(),o.createElementBlock("div",Q1,[o.createVNode(n,o.mergeProps({ref:"idmOtherLayers",simple:a.simple,token:a.token,"default-meteo-token":i.defaultMeteoToken,map:a.map,"before-layer":"empty-layer-1",gateway:i.gateway,"assist-gateway":i.assistGateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},t.$attrs,{onOtherCheckList:l.handleChangeOtherChecklist}),null,16,["simple","token","default-meteo-token","map","gateway","assist-gateway","forecast-model","map-feather","onOtherCheckList"]),o.createVNode(s,o.mergeProps({ref:"idmWeatherLayers",simple:a.simple,map:a.map,"before-layer":"empty-layer-2",token:a.token,"default-meteo-token":i.defaultMeteoToken,gateway:i.gateway,"assist-gateway":i.assistGateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather,"has-ramp-layer":l.hasRampLayer,nautical:a.nautical},t.$attrs,{onAutoActive:l.handleChangeAutoActive,onWeatherCheckList:l.handleChangeWeatherChecklist,onRampLayersReady:e[0]||(e[0]=h=>i.layerVersion+=1)}),null,16,["simple","map","token","default-meteo-token","gateway","assist-gateway","forecast-model","map-feather","has-ramp-layer","nautical","onAutoActive","onWeatherCheckList"]),o.createVNode(c,o.mergeProps({ref:"idmTropicals",simple:a.simple,map:a.map,token:a.token,"default-meteo-token":i.defaultMeteoToken,tropicals:i.tropicals,"before-layer":"empty-layer-4",gateway:i.gateway,"assist-gateway":i.assistGateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},t.$attrs),null,16,["simple","map","token","default-meteo-token","tropicals","gateway","assist-gateway","forecast-model","map-feather"]),o.createVNode(m,o.mergeProps({ref:"idmSpot",simple:a.simple,map:a.map,token:a.token,"default-meteo-token":i.defaultMeteoToken,gateway:i.gateway,"forecast-model":a.forecastModel,"map-feather":a.mapFeather},t.$attrs),null,16,["simple","map","token","default-meteo-token","gateway","forecast-model","map-feather"]),o.createVNode(d,o.mergeProps({simple:a.simple,map:a.map,"map-feather":a.mapFeather},t.$attrs),null,16,["simple","map","map-feather"]),a.simple?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(g,o.mergeProps({key:0,simple:a.simple,map:a.map,"map-feather":a.mapFeather,gateway:i.gateway,"default-meteo-token":i.defaultMeteoToken,token:a.token},t.$attrs),null,16,["simple","map","map-feather","gateway","default-meteo-token","token"])),!a.simple&&!a.showTimeline?(o.openBlock(),o.createBlock(u,o.mergeProps({key:1,ref:"idmBottomBar","forecast-model":a.forecastModel,"weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather,gateway:i.gateway,"default-meteo-token":i.defaultMeteoToken,token:a.token},t.$attrs),null,16,["forecast-model","weather-check-list","map-feather","gateway","default-meteo-token","token"])):o.createCommentVNode("",!0),!a.simple&&a.showTimeline?(o.openBlock(),o.createBlock(y,o.mergeProps({key:2,ref:"idmBottomBar","forecast-model":a.forecastModel,"weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather,gateway:i.gateway,"default-meteo-token":i.defaultMeteoToken,token:a.token},t.$attrs),null,16,["forecast-model","weather-check-list","map-feather","gateway","default-meteo-token","token"])):o.createCommentVNode("",!0),a.simple?(o.openBlock(),o.createBlock(p,o.mergeProps({key:3,ref:"idmBottomBar","player-bottom":i.playerBottom,"bg-class":a.simple?"bg-background":"","weather-check-list":i.weatherCheckList,"map-feather":a.mapFeather,disabled:!0},t.$attrs),null,16,["player-bottom","bg-class","weather-check-list","map-feather"])):o.createCommentVNode("",!0)],512)}const si=Q(K1,[["render",q1]]),o2="";class ci{constructor(e="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImNsYmY5M3I0YTAwMDE4Ymx0NWJ4emFwNWMiLCJyb2xlIjoyMDQ3LCJpYXQiOjE2NzA1NTM0NzAsImV4cCI6Mzg3ODA3MzQ3MH0.MxTv0yLGarZCtOSCZfJHMqrXNMNN0-OL4gBGKGcYcc8",{hifleet:a=!1}={}){R(this,"originStyle");R(this,"mapboxStyle");R(this,"i4");R(this,"hi");R(this,"td");R(this,"windy");var r,i,l,n,s,c,m,d,g,u,y,p,h,f,x,v,b,k,A,L,C,z,M,T,N,F,O,q,$,le,S,Z,H,te,W,I,K,V,Y,ee,he,ge,re,ue,ye,ze,J,ne,Fe,Ge,Re,Ce,je,Ne,Ee,De,We,Ze,Be,xe,ke,_e,He,Xe,Oe,Pe,rt,lt,nt,st,ct,mt,dt,ht,pt,ut,gt,ft,yt,bt,wt,xt,kt,At,Lt,vt,Ct,_t,zt,St,Pt,Mt,Tt,Nt,Et,Vt,Rt,Dt,Bt,It,Ft,Gt,jt,Wt,Zt,Me,Ve,Ht,Ye,Xt,et,Ae,Ue,ie,Le,U,X,Je,Ie,Se,G,Ot,oe,ve,Ke,tt,ot,B,Qe,j,qe,Ut,se,io,me,Lo,vo,Co,_o,zo,So,Po,Mo,To,No,Eo,Vo,Ro,Do,Bo,Io,bi,wi,xi,ki,Ai,Li,vi,Ci,_i,zi,Si,Pi,Mi,Ti,Ni,Ei,Vi,Ri,Di,Bi,Ii,Fi,Gi,ji,Wi,Zi,Hi,Xi,Oi,Yi,Ui,Ji,Ki,Qi,qi,$i,er,tr,or,ar,ir,rr,lr,nr,sr,cr,mr,dr,hr,pr,ur,gr,fr,yr,br,wr,xr,kr,Ar,Lr,vr,Cr,_r,zr,Sr,Pr,Mr,Tr,Nr,Er,Vr,Rr,Dr,Br,Ir,Fr,Gr,jr,Wr,Zr,Hr,Xr,Or,Yr,Ur,Jr,Kr,Qr,qr,$r,el,tl,ol,al,il,rl,ll,nl,sl,cl,ml;this.i4={source:{type:"raster",tiles:["https://ossimg.ormwx.com/nautical/{z}/{x}/{y}.png"],tileSize:256},layer:{id:"i4",type:"raster",source:"i4",minzoom:1,maxzoom:18,layout:{visibility:"none"}}},this.hi={source:{type:"raster",tiles:[`https://assist0.ormwx.com/api/arc/hifleets/{z}/{y}/{x}/nauticalmap?tk=${e}`,`https://assist1.ormwx.com/api/arc/hifleets/{z}/{y}/{x}/nauticalmap?tk=${e}`],tileSize:256},layer:{id:"hi",type:"raster",source:"hi",minzoom:1,maxzoom:18,layout:{visibility:"none"}}},this.originStyle={light:{version:8,name:"light",metadata:{"mapbox:print":{width:8.5,height:11,units:"in",format:"png",resolution:300},"mapbox:type":"default","mapbox:trackposition":!0,"mapbox:autocomposite":!0,"mapbox:sdk-support":{android:"11.0.0",ios:"11.0.0",js:"3.0.0"},"mapbox:origin":"outdoors-v12","mapbox:groups":{"Terrain, terrain-labels":{name:"Terrain, terrain-labels",collapsed:!0},"Administrative boundaries, admin":{name:"Administrative boundaries, admin",collapsed:!0},"Land & water, built":{name:"Land & water, built",collapsed:!0},"Terrain, surface":{name:"Terrain, surface",collapsed:!0},"Land & water, land":{name:"Land & water, land",collapsed:!1},"Natural features, natural-labels":{name:"Natural features, natural-labels",collapsed:!0},e9bb8e77353431519f7918998e9079d9:{name:"Group",collapsed:!1},"Walking, cycling, etc., barriers-bridges":{name:"Walking, cycling, etc., barriers-bridges",collapsed:!0},"Place labels, place-labels":{name:"Place labels, place-labels",collapsed:!1},"Transit, ferries":{name:"Transit, ferries",collapsed:!0},"Transit, elevated":{name:"Transit, elevated",collapsed:!0},"Walking, cycling, etc., tunnels":{name:"Walking, cycling, etc., tunnels",collapsed:!0},"Terrain, land":{name:"Terrain, land",collapsed:!0},"Road network, tunnels-case":{name:"Road network, tunnels-case",collapsed:!0},"Walking, cycling, etc., walking-cycling-labels":{name:"Walking, cycling, etc., walking-cycling-labels",collapsed:!0},"Walking, cycling, etc., surface":{name:"Walking, cycling, etc., surface",collapsed:!0},"Road network, surface-icons":{name:"Road network, surface-icons",collapsed:!0},"Land & water, water":{name:"Land & water, water",collapsed:!1}}},center:[104.01743114258029,17.078999978347557],zoom:1.9133216316430233,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:{composite:{url:"mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2,mapbox.mapbox-bathymetry-v2,mapbox.country-boundaries-v1,neatchenheng.d44z21eg,neatchenheng.82kqbc1q,neatchenheng.a4ifbysm,neatchenheng.27issko0,neatchenheng.9uwc9x7l,neatchenheng.7y3kpvvv,neatchenheng.dlkkohie,neatchenheng.em5174yi0b3k",type:"vector"},i4:this.i4.source,hi:this.hi.source},sprite:"mapbox://sprites/neatchenheng/cmd894dwn036m01rf7anc0k0d/bph0p8ithotzwly53az7lwdmv",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"land",type:"background",layout:{},paint:{"background-color":"#e9ebed"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},maxzoom:12,type:"fill",source:"composite",id:"landcover",paint:{"fill-color":["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","crop","hsla(68, 55%, 70%, 0.6)","grass","hsla(98, 50%, 74%, 0.6)","snow","hsl(205, 45%, 95%)","hsl(98, 48%, 67%)"],"fill-opacity":["interpolate",["exponential",1.5],["zoom"],8,.8,12,0],"fill-antialias":!1},"source-layer":"landcover"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"fill",source:"composite",id:"national-park",paint:{"fill-color":"hsl(98, 38%, 68%)","fill-opacity":["interpolate",["linear"],["zoom"],5,0,6,.6,12,.2]},"source-layer":"landuse_overlay"},{minzoom:9,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"line",source:"composite",id:"national-park_tint-band",paint:{"line-color":"hsl(98, 38%, 68%)","line-width":["interpolate",["exponential",1.5],["zoom"],9,1,14,8],"line-blur":["interpolate",["exponential",1.5],["zoom"],9,1,14,8]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["all",[">=",["to-number",["get","sizerank"]],0],["match",["get","class"],["agriculture","wood","grass","scrub","glacier","pitch","sand"],["step",["zoom"],!1,11,!0],"residential",["step",["zoom"],!0,10,!1],["park","airport"],["step",["zoom"],!1,8,["case",["==",["get","sizerank"],1],!0,!1],10,!0],["facility","industrial"],["step",["zoom"],!1,12,!0],"rock",["step",["zoom"],!1,11,!0],"cemetery",["step",["zoom"],!1,11,!0],"school",["step",["zoom"],!1,11,!0],"hospital",["step",["zoom"],!1,11,!0],"commercial_area",["step",["zoom"],!1,11,!0],!1],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14]],type:"fill",source:"composite",id:"landuse",paint:{"fill-color":["interpolate",["linear"],["zoom"],15,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsl(60, 0%, 85%)","school","hsl(40, 45%, 78%)","commercial_area","hsl(55, 45%, 85%)","residential","hsl(60, 7%, 87%)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"],16,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsla(60, 0%, 85%, 0.5)","school","hsl(40, 45%, 78%)","commercial_area","hsla(55, 45%, 85%, 0.5)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"]],"fill-opacity":["interpolate",["linear"],["zoom"],8,["match",["get","class"],"residential",.8,.2],10,["match",["get","class"],"residential",0,1]],"fill-antialias":!1},"source-layer":"landuse"},{minzoom:15,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"pitch"],type:"line",source:"composite",id:"pitch-outline",paint:{"line-color":"hsl(0, 0%, 69%)"},"source-layer":"landuse"},{id:"waterway-shadow",type:"line",source:"composite","source-layer":"waterway",minzoom:10,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"],visibility:"none"},paint:{"line-color":"hsl(224, 79%, 69%)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"line-translate-anchor":"viewport","line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water-shadow",type:"fill",source:"composite","source-layer":"water",minzoom:10,layout:{visibility:"none"},paint:{"fill-color":"hsl(224, 79%, 69%)","fill-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"fill-translate-anchor":"viewport"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"waterway",type:"line",source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"]},paint:{"line-color":"hsl(198, 100%, 37%)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water",type:"fill",source:"composite","source-layer":"water",layout:{},paint:{"fill-color":"hsl(215, 92%, 81%)"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},maxzoom:8,type:"fill",source:"composite",id:"water-depth",paint:{"fill-antialias":!1,"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0.35)",200,"hsla(205, 75%, 63%, 0.35)",7e3,"hsla(205, 75%, 56%, 0.35)"],8,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0)",200,"hsla(205, 75%, 63%, 0)",7e3,"hsla(205, 75%, 53%, 0)"]]},"source-layer":"depth"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,.25,10.5,.15]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland-pattern",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,0,10.5,1],"fill-pattern":"wetland","fill-translate-anchor":"viewport"},"source-layer":"landuse_overlay"},{minzoom:13,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"Polygon"]],type:"fill",source:"composite",id:"land-structure-polygon",paint:{"fill-color":"hsl(0, 0%, 69%)"},"source-layer":"structure"},{minzoom:13,layout:{"line-cap":"square",visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"LineString"]],type:"line",source:"composite",id:"land-structure-line",paint:{"line-width":["interpolate",["exponential",1.99],["zoom"],14,.75,20,40],"line-color":"hsl(60, 20%, 85%)"},"source-layer":"structure"},{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"country-boundaries",type:"fill",source:"composite","source-layer":"country_boundaries",paint:{"fill-color":"rgb(200, 200, 200)"},layout:{visibility:"none"}},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline2",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgb(150, 150, 150)"},layout:{visibility:"none"},source:"composite","source-layer":"water"},{id:"water-outline",type:"line",paint:{"line-color":"hsl(0, 0%, 70%)","line-width":["interpolate",["linear"],["zoom"],0,1.5,4,1]},source:"composite","source-layer":"water"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-bg",paint:{"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":"rgb(173, 169, 170)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary",paint:{"line-color":"rgb(143, 143, 143)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-disputed",paint:{"line-color":"rgb(95, 93, 94)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},"source-layer":"admin"},{minzoom:13,layout:{"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"waterway-label",paint:{"text-color":"hsl(205, 43%, 90%)","text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"natural-line-label",paint:{"text-halo-width":.5,"text-halo-color":"hsl(60, 17%, 84%)","text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["get","maki_beta"]],["image",["get","maki"]]],["image",["get","maki"]]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.8]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.8]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"natural-point-label",paint:{"icon-opacity":["step",["zoom"],["step",["get","sizerank"],0,5,1],17,["step",["get","sizerank"],0,13,1]],"text-halo-color":"hsl(60, 20%, 98%)","text-halo-width":.5,"text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"water-line-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(205, 71%, 90%)","hsl(205, 43%, 90%)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"water-point-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(205, 71%, 90%)","hsl(205, 43%, 90%)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:10,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",11,10.5],15,["match",["get","type"],"suburb",15,14]],visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["match",["get","class"],["settlement_subdivision","disputed_settlement_subdivision"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],3],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-subdivision-label",paint:{"text-halo-color":"hsla(60, 25%, 100%, 0.75)","text-halo-width":1,"text-color":"hsl(230, 29%, 36%)","text-halo-blur":.5},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-justify":"auto",visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-minor-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-major-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:3,layout:{"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":["DIN Pro Bold","Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"state-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-opacity":.5},"source-layer":"place_label"},{minzoom:1,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],12.100000000000001,4,9.9,5,8.8],9,["step",["get","symbolrank"],24.200000000000003,4,20.900000000000002,5,18.700000000000003]]},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"country-label",paint:{"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":"hsl(0, 0.00%, 13.70%)","text-halo-color":["interpolate",["linear"],["zoom"],2,"hsla(60, 25%, 100%, 0.75)",3,"hsl(60, 25%, 100%)"],"text-halo-width":1.25},"source-layer":"place_label"},{minzoom:.75,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:3,filter:["==",["get","class"],"continent"],type:"symbol",source:"composite",id:"continent-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":["interpolate",["linear"],["zoom"],0,"hsla(60, 25%, 100%, 0.75)",3,"hsl(60, 25%, 100%)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,.8,1.5,.5,2.5,0]},"source-layer":"natural_label"},{id:"world-12nm-v4-20231025",minzoom:3,type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2],"line-translate":[0,0]},source:"composite","source-layer":"eez_12nm_new1-6jzkww",layout:{"line-join":"round",visibility:"none"}},{id:"china-taiwan",type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2]},layout:{"line-join":"round",visibility:"none"},source:"composite","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"hsl(172, 0%, 33%)"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv",layout:{visibility:"none"}},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-color":"hsl(0, 0%, 100%)","text-halo-width":1,"text-halo-blur":1},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(40, 175, 81, 1)","line-width":2},source:"composite","source-layer":"china_route-bdtx5d",layout:{visibility:"none"}},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(40, 175, 81, 1)","fill-opacity":.2},source:"composite","source-layer":"china_route-bdtx5d",filter:["match",["geometry-type"],["Polygon"],!0,!1],layout:{visibility:"none"}},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgba(0, 0, 0, 1)"},source:"composite","source-layer":"china_route-bdtx5d",layout:{"text-field":["to-string",["get","route_name"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"}},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"composite","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(152, 187, 185, 1)"},layout:{visibility:"none"},source:"composite","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"composite","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"nsr-flll",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-opacity":.8,"fill-color":"rgba(118, 239, 156, 0.45)"},layout:{visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"},{id:"nsr-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-opacity":1,"line-color":"rgba(40, 175, 81, 1)","line-width":2},layout:{"line-sort-key":["get","nsr_zone"],visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"},{id:"nsr-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-opacity":.8,"text-color":"rgb(0, 0, 0)"},layout:{"symbol-sort-key":["get","nsr_zone"],"text-field":["concat","[",["get","nsr_zone"],"] ",["get","name_en"]],"text-size":11,visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"}],created:"2025-07-18T03:20:31.079Z",modified:"2025-07-31T03:57:21.238Z",id:"cmd894dwn036m01rf7anc0k0d",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1},dark:{version:8,name:"dark",metadata:{"mapbox:print":{width:8.5,height:11,units:"in",format:"png",resolution:300},"mapbox:type":"default","mapbox:trackposition":!0,"mapbox:autocomposite":!0,"mapbox:sdk-support":{android:"11.0.0",ios:"11.0.0",js:"3.0.0"},"mapbox:origin":"outdoors-v12","mapbox:groups":{"Terrain, terrain-labels":{name:"Terrain, terrain-labels",collapsed:!0},"Administrative boundaries, admin":{name:"Administrative boundaries, admin",collapsed:!1},"Land & water, built":{name:"Land & water, built",collapsed:!0},"Terrain, surface":{name:"Terrain, surface",collapsed:!0},"Land & water, land":{name:"Land & water, land",collapsed:!1},"Natural features, natural-labels":{name:"Natural features, natural-labels",collapsed:!0},e9bb8e77353431519f7918998e9079d9:{name:"Group",collapsed:!1},"Walking, cycling, etc., barriers-bridges":{name:"Walking, cycling, etc., barriers-bridges",collapsed:!0},"Place labels, place-labels":{name:"Place labels, place-labels",collapsed:!1},"Transit, ferries":{name:"Transit, ferries",collapsed:!0},"Transit, elevated":{name:"Transit, elevated",collapsed:!0},"Walking, cycling, etc., tunnels":{name:"Walking, cycling, etc., tunnels",collapsed:!0},"Terrain, land":{name:"Terrain, land",collapsed:!0},"Road network, tunnels-case":{name:"Road network, tunnels-case",collapsed:!0},"Walking, cycling, etc., walking-cycling-labels":{name:"Walking, cycling, etc., walking-cycling-labels",collapsed:!0},"Walking, cycling, etc., surface":{name:"Walking, cycling, etc., surface",collapsed:!0},"Road network, surface-icons":{name:"Road network, surface-icons",collapsed:!0},"Land & water, water":{name:"Land & water, water",collapsed:!1}}},center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:{composite:{url:"mapbox://mapbox.mapbox-streets-v8,mapbox.mapbox-terrain-v2,mapbox.mapbox-bathymetry-v2,mapbox.country-boundaries-v1,neatchenheng.d44z21eg,neatchenheng.82kqbc1q,neatchenheng.a4ifbysm,neatchenheng.27issko0,neatchenheng.9uwc9x7l,neatchenheng.7y3kpvvv,neatchenheng.dlkkohie,neatchenheng.em5174yi0b3k",type:"vector"},i4:this.i4.source,hi:this.hi.source},sprite:"mapbox://sprites/neatchenheng/cmdqwez32005b01re2w0k3zk4/3w0qcixxrxxonxutm2qkollqi",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"land",type:"background",layout:{},paint:{"background-color":["interpolate",["linear"],["zoom"],9,"rgb(2, 43, 59)",11,"rgb(36, 36, 36)"]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},maxzoom:12,type:"fill",source:"composite",id:"landcover",paint:{"fill-color":["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","crop","hsla(68, 55%, 70%, 0.6)","grass","hsla(98, 50%, 74%, 0.6)","snow","hsl(205, 45%, 95%)","hsl(98, 48%, 67%)"],"fill-opacity":["interpolate",["exponential",1.5],["zoom"],8,.8,12,0],"fill-antialias":!1},"source-layer":"landcover"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"fill",source:"composite",id:"national-park",paint:{"fill-color":"hsl(98, 38%, 68%)","fill-opacity":["interpolate",["linear"],["zoom"],5,0,6,.6,12,.2]},"source-layer":"landuse_overlay"},{minzoom:9,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"national_park"],type:"line",source:"composite",id:"national-park_tint-band",paint:{"line-color":"hsl(98, 38%, 68%)","line-width":["interpolate",["exponential",1.5],["zoom"],9,1,14,8],"line-blur":["interpolate",["exponential",1.5],["zoom"],9,1,14,8]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["all",[">=",["to-number",["get","sizerank"]],0],["match",["get","class"],["agriculture","wood","grass","scrub","glacier","pitch","sand"],["step",["zoom"],!1,11,!0],"residential",["step",["zoom"],!0,10,!1],["park","airport"],["step",["zoom"],!1,8,["case",["==",["get","sizerank"],1],!0,!1],10,!0],["facility","industrial"],["step",["zoom"],!1,12,!0],"rock",["step",["zoom"],!1,11,!0],"cemetery",["step",["zoom"],!1,11,!0],"school",["step",["zoom"],!1,11,!0],"hospital",["step",["zoom"],!1,11,!0],"commercial_area",["step",["zoom"],!1,11,!0],!1],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14]],type:"fill",source:"composite",id:"landuse",paint:{"fill-color":["interpolate",["linear"],["zoom"],15,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsl(60, 0%, 85%)","school","hsl(40, 45%, 78%)","commercial_area","hsl(55, 45%, 85%)","residential","hsl(60, 7%, 87%)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"],16,["match",["get","class"],"wood","hsla(103, 50%, 60%, 0.8)","scrub","hsla(98, 47%, 68%, 0.6)","agriculture","hsla(98, 50%, 74%, 0.6)","park",["match",["get","type"],["garden","playground","zoo"],"hsl(98, 38%, 68%)","hsl(98, 55%, 70%)"],"grass","hsla(98, 50%, 74%, 0.6)","airport","hsl(230, 40%, 82%)","cemetery","hsl(98, 45%, 75%)","glacier","hsl(205, 45%, 95%)","hospital","hsl(20, 45%, 82%)","pitch","hsl(88, 65%, 75%)","sand","hsl(69, 60%, 72%)","rock","hsla(60, 0%, 85%, 0.5)","school","hsl(40, 45%, 78%)","commercial_area","hsla(55, 45%, 85%, 0.5)",["facility","industrial"],"hsl(230, 20%, 85%)","hsl(60, 12%, 72%)"]],"fill-opacity":["interpolate",["linear"],["zoom"],8,["match",["get","class"],"residential",.8,.2],10,["match",["get","class"],"residential",0,1]],"fill-antialias":!1},"source-layer":"landuse"},{minzoom:15,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, land"},filter:["==",["get","class"],"pitch"],type:"line",source:"composite",id:"pitch-outline",paint:{"line-color":"hsl(0, 0%, 69%)"},"source-layer":"landuse"},{id:"waterway-shadow",type:"line",source:"composite","source-layer":"waterway",minzoom:10,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"],visibility:"none"},paint:{"line-color":"hsl(224, 79%, 69%)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"line-translate-anchor":"viewport","line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water-shadow",type:"fill",source:"composite","source-layer":"water",minzoom:10,layout:{visibility:"none"},paint:{"fill-color":"hsl(224, 79%, 69%)","fill-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"fill-translate-anchor":"viewport"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"waterway",type:"line",source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":["step",["zoom"],"miter",11,"round"],visibility:"none"},paint:{"line-color":"rgb(20, 66, 92)","line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{id:"water",type:"fill",source:"composite","source-layer":"water",layout:{},paint:{"fill-color":"rgb(20, 66, 92)"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"}},{layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},maxzoom:8,type:"fill",source:"composite",id:"water-depth",paint:{"fill-antialias":!1,"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0.35)",200,"hsla(205, 75%, 63%, 0.35)",7e3,"hsla(205, 75%, 56%, 0.35)"],8,["interpolate",["linear"],["get","min_depth"],0,"hsla(205, 75%, 70%, 0)",200,"hsla(205, 75%, 63%, 0)",7e3,"hsla(205, 75%, 53%, 0)"]]},"source-layer":"depth"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,.25,10.5,.15]},"source-layer":"landuse_overlay"},{minzoom:5,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, water"},filter:["match",["get","class"],["wetland","wetland_noveg"],!0,!1],type:"fill",source:"composite",id:"wetland-pattern",paint:{"fill-color":"hsl(194, 38%, 74%)","fill-opacity":["interpolate",["linear"],["zoom"],10,0,10.5,1],"fill-pattern":"wetland","fill-translate-anchor":"viewport"},"source-layer":"landuse_overlay"},{minzoom:13,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"Polygon"]],type:"fill",source:"composite",id:"land-structure-polygon",paint:{"fill-color":"hsl(0, 0%, 69%)"},"source-layer":"structure"},{minzoom:13,layout:{"line-cap":"square",visibility:"none"},metadata:{"mapbox:featureComponent":"land-and-water","mapbox:group":"Land & water, built"},filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"LineString"]],type:"line",source:"composite",id:"land-structure-line",paint:{"line-width":["interpolate",["exponential",1.99],["zoom"],14,.75,20,40],"line-color":"hsl(60, 20%, 85%)"},"source-layer":"structure"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-bg",paint:{"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":"rgb(0, 96, 107)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary",paint:{"line-color":"rgb(0, 96, 107)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]]},"source-layer":"admin"},{minzoom:1,layout:{},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-disputed",paint:{"line-color":"rgb(0, 96, 107)","line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},"source-layer":"admin"},{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"country-boundaries",type:"fill",source:"composite","source-layer":"country_boundaries",paint:{"fill-color":["interpolate",["linear"],["zoom"],0,"rgb(2, 45, 62)",22,"rgb(2, 45, 62)"]},layout:{visibility:"none"}},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(0, 96, 107)","line-width":["interpolate",["linear"],["zoom"],0,1.5,4,1]},source:"composite","source-layer":"water"},{minzoom:13,layout:{"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"waterway-label",paint:{"text-color":"hsl(205, 43%, 90%)","text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"natural-line-label",paint:{"text-halo-width":.5,"text-halo-color":"hsl(60, 17%, 84%)","text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:4,layout:{"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["get","maki_beta"]],["image",["get","maki"]]],["image",["get","maki"]]],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.8]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.8]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"natural-point-label",paint:{"icon-opacity":["step",["zoom"],["step",["get","sizerank"],0,5,1],17,["step",["get","sizerank"],0,13,1]],"text-halo-color":"hsl(60, 20%, 98%)","text-halo-width":.5,"text-halo-blur":.5,"text-color":"hsl(340, 10%, 38%)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"LineString"]],type:"symbol",source:"composite",id:"water-line-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"rgb(1, 121, 137)","rgb(1, 121, 137)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:1,layout:{"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":["DIN Pro Italic","Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},metadata:{"mapbox:featureComponent":"natural-features","mapbox:group":"Natural features, natural-labels"},filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],1],60,["<",["distance-from-center"],1.5],70,["<",["distance-from-center"],2]],["==",["geometry-type"],"Point"]],type:"symbol",source:"composite",id:"water-point-label",paint:{"text-color":["match",["get","class"],["bay","ocean","sea"],"rgb(3, 117, 129)","rgb(3, 117, 129)"],"text-halo-color":"hsla(60, 17%, 84%, 0.5)"},"source-layer":"natural_label"},{minzoom:10,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",11,10.5],15,["match",["get","type"],"suburb",15,14]],visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["match",["get","class"],["settlement_subdivision","disputed_settlement_subdivision"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],3],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-subdivision-label",paint:{"text-halo-color":"hsla(60, 25%, 100%, 0.75)","text-halo-width":1,"text-color":"hsl(230, 29%, 36%)","text-halo-blur":.5},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],"text-justify":"auto",visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-minor-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-major-label",paint:{"text-color":"hsl(230, 29%, 0%)","text-halo-color":"hsl(60, 25%, 100%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:3,layout:{"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":["DIN Pro Bold","Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"state-label",paint:{"text-color":"rgb(0, 170, 189)","text-halo-color":"rgb(3, 3, 3)","text-halo-width":1,"text-opacity":.5},"source-layer":"place_label"},{minzoom:1,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],12.100000000000001,4,9.9,5,8.8],9,["step",["get","symbolrank"],24.200000000000003,4,20.900000000000002,5,18.700000000000003]]},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"country-label",paint:{"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":"rgb(2, 141, 156)","text-halo-color":["interpolate",["linear"],["zoom"],2,"rgb(252, 252, 252)",3,"rgb(250, 250, 250)"]},"source-layer":"place_label"},{minzoom:.75,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:3,filter:["==",["get","class"],"continent"],type:"symbol",source:"composite",id:"continent-label",paint:{"text-color":"rgb(0, 170, 189)","text-halo-color":["interpolate",["linear"],["zoom"],0,"rgba(0, 0, 0, 0.75)",3,"rgb(5, 5, 5)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,.8,1.5,.5,2.5,0]},"source-layer":"natural_label"},{id:"world-12nm-v4-20231025",minzoom:3,type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2],"line-translate":[0,0]},source:"composite","source-layer":"eez_12nm_new1-6jzkww",layout:{"line-join":"round",visibility:"none"}},{id:"china-taiwan",type:"line",paint:{"line-color":"hsl(2, 88%, 55%)","line-opacity":.62,"line-width":["interpolate",["linear"],["zoom"],0,2,22,2]},layout:{"line-join":"round",visibility:"none"},source:"composite","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(1, 119, 132)"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv",layout:{visibility:"none"}},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-color":"hsl(0, 0%, 100%)","text-halo-width":0,"text-halo-blur":0,"text-color":"rgb(1, 119, 132)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},source:"composite","source-layer":"china_route-bdtx5d",layout:{visibility:"none"}},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},source:"composite","source-layer":"china_route-bdtx5d",filter:["match",["geometry-type"],["Polygon"],!0,!1],layout:{visibility:"none"}},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},source:"composite","source-layer":"china_route-bdtx5d",layout:{"text-field":["to-string",["get","route_name"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"}},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"composite","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(167, 211, 208, 0.7)"},layout:{visibility:"none"},source:"composite","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"composite","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"nsr-flll",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-opacity":.8,"fill-color":"rgba(118, 239, 156, 0.45)"},layout:{visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"},{id:"nsr-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-opacity":1,"line-color":"rgb(119, 239, 157)","line-width":2},layout:{"line-sort-key":["get","nsr_zone"],visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"},{id:"nsr-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-opacity":.8,"text-color":"rgb(255, 255, 255)"},layout:{"symbol-sort-key":["get","nsr_zone"],"text-field":["concat","[",["get","nsr_zone"],"] ",["get","name_en"]],"text-size":11,visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"}],created:"2025-07-31T04:32:27.422Z",modified:"2025-07-31T04:43:38.610Z",id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1},satellite:{version:8,name:"satellite",metadata:{"mapbox:type":"default","mapbox:autocomposite":!0,"mapbox:sdk-support":{js:"3.14.0",android:"11.14.0",ios:"11.14.0"},"mapbox:origin":"satellite-streets-v12","mapbox:uiExpandedImports":["basemap"],"mapbox:groups":{"Satellite imagery, land":{name:"Satellite imagery, land",collapsed:!1},"Administrative boundaries, admin":{name:"Administrative boundaries, admin",collapsed:!0},"Place labels, place-labels":{name:"Place labels, place-labels",collapsed:!1}}},center:[55.13,25.12],zoom:12,fog:{range:[1,10],color:["interpolate",["exponential",1.2],["zoom"],5.5,"hsl(240, 12%, 70%)",6,"hsl(0, 0%, 100%)"],"high-color":["interpolate",["exponential",1.2],["zoom"],5.5,"hsl(240, 12%, 7%)",6,"hsl(38, 63%, 84%)"],"space-color":["interpolate",["exponential",1.2],["zoom"],5.5,"hsl(240, 12%, 9%)",6,"hsl(199, 61%, 80%)"],"horizon-blend":["interpolate",["exponential",1.2],["zoom"],5.5,.008,6,.15],"star-intensity":["interpolate",["exponential",1.2],["zoom"],5.5,.1,6,0]},imports:[{id:"basemap",url:"mapbox://styles/mapbox/standard-satellite",config:{lightPreset:"day"},data:{version:8,name:"Mapbox Standard Satellite",metadata:{"mapbox:compatibility":{android:"11.9.0",ios:"11.9.0",js:"3.9.0"},"mapbox:autocomposite":!0,"mapbox:groups":{"road & transit labels":{name:"Road & Transit labels",collapsed:!0},"land & water":{name:"Land & water",collapsed:!0},"road shields":{name:"Road shields",collapsed:!0},"building labels":{name:"Building labels",collapsed:!0},"transit labels":{name:"Transit labels",collapsed:!0},"poi labels":{name:"Poi labels",collapsed:!0},"natural labels":{name:"Natural labels",collapsed:!0},"place labels":{name:"Place labels",collapsed:!0},"administrative boudaries":{name:"Administrative boudaries",collapsed:!0},"roads & transit network":{name:"Roads & transit network",collapsed:!0}}},center:[15.07,48.72],zoom:3.3,bearing:0,pitch:0,lights:[{id:"ambient",type:"ambient",properties:{color:["match",["config","lightPreset"],"dawn","hsl(28, 98%, 93%)","day","hsl(0, 0%, 100%)","dusk","hsl(228, 27%, 29%)","night","hsl(217, 100%, 11%)","hsl(0, 0%, 100%)"],intensity:["match",["config","lightPreset"],"dawn",.75,"day",.8,"dusk",.8,"night",.5,.8]}},{id:"directional",type:"directional",properties:{direction:["match",["config","lightPreset"],"dawn",["literal",[120,50]],"day",["literal",[180,20]],"dusk",["literal",[240,80]],"night",["literal",[270,20]],["literal",[180,20]]],color:["match",["config","lightPreset"],"dawn","hsl(33, 98%, 77%)","day","hsl(0, 0%, 100%)","dusk","hsl(30, 98%, 76%)","night","hsl(0, 0%, 29%)","hsl(0, 0%, 100%)"],intensity:["interpolate",["linear"],["zoom"],12,["match",["config","lightPreset"],"dawn",.5,"day",.2,"dusk",0,"night",0,.2],14,["match",["config","lightPreset"],"dawn",.5,"day",.2,"dusk",.2,"night",.5,.2]],"cast-shadows":!0,"shadow-intensity":["match",["config","lightPreset"],"night",.5,1]}}],terrain:{source:"mapbox-dem",exaggeration:["interpolate",["linear"],["zoom"],6,0,7,1,12,1,13.7,0]},fog:{"vertical-range":[30,120],range:["interpolate",["linear"],["zoom"],13,["literal",[1,20]],15,["literal",[1,4]]],color:["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,"hsla(240, 9%, 55%, 0.2)",.4,"hsla(0, 0%, 100%, 0.2)"],7,["interpolate",["linear"],["measure-light","brightness"],.02,"hsla(213, 63%, 20%, 0.9)",.03,"hsla(30, 65%, 60%, 0.5)",.4,"hsla(10, 79%, 88%, 0.8)",.45,"hsla(200, 60%, 98%, 0.9)"]],"high-color":["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,"hsla(215, 60%, 20%, 1)",.4,"hsla(215, 100%, 80%, 1)"],7,["interpolate",["linear"],["measure-light","brightness"],0,"hsla(228, 38%, 20%, 1)",.05,"hsla(360, 100%, 85%, 1)",.2,"hsla(205, 88%, 86%, 1)",.4,"hsla(270, 65%, 85%, 1)",.45,"hsla(0, 0%, 100%, 1)"]],"space-color":["interpolate",["exponential",1.2],["zoom"],5,"hsl(211, 84%, 0%)",7,["interpolate",["linear"],["measure-light","brightness"],0,"hsl(210, 84%, 5%)",.2,"hsl(210, 40%, 30%)",.4,"hsl(210, 45%, 30%)",.45,"hsl(210, 100%, 80%)"]],"horizon-blend":["interpolate",["exponential",1.2],["zoom"],5,.004,7,["interpolate",["exponential",1.2],["measure-light","brightness"],.35,.03,.4,.07,.45,.03]],"star-intensity":["interpolate",["exponential",1.2],["zoom"],5,.4,7,["interpolate",["exponential",1.2],["measure-light","brightness"],.1,.2,.3,0]]},camera:{"camera-projection":"orthographic"},schema:{roadsBrightness:{default:.7,type:"number",metadata:{"mapbox:title":"Roads brightness","mapbox:description":"Control how bright road network appear in dark styles","mapbox:group":!1}},colorPlaceLabelHighlight:{default:"hsl(5, 80%, 75%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Place label color used when setting highlight state.","mapbox:group":!1}},colorPlaceLabelSelect:{default:"hsl(5, 95%, 70%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Place label color used when setting select state.","mapbox:group":!1}},colorMotorways:{default:"hsl(214, 23%, 80%)",type:"color",metadata:{"mapbox:title":"Motorways","mapbox:description":"Set a custom color for motorway roads.","mapbox:group":"Color"}},colorTrunks:{default:"hsl(235, 20%, 80%)",type:"color",metadata:{"mapbox:title":"Trunk roads","mapbox:description":"Set a custom color for trunk roads.","mapbox:group":"Color"}},colorRoads:{default:"hsl(224, 25%, 75%)",type:"color",metadata:{"mapbox:title":"Roads","mapbox:description":"Set a custom color for roads.","mapbox:group":"Color"}},showPlaceLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Place labels","mapbox:description":"Shows and hides place label layers.","mapbox:group":"Visibility"}},showRoadsAndTransit:{default:!0,type:"boolean",metadata:{"mapbox:title":"Roads and transit network","mapbox:description":"Shows and hides all roads and transit networks.","mapbox:group":"Visibility"}},showPedestrianRoads:{default:!1,type:"boolean",metadata:{"mapbox:title":"Pedestrian roads, paths, trails","mapbox:description":"Shows and hides all pedestrian roads, paths, trails.","mapbox:group":"Visibility"}},showRoadLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Road labels","mapbox:description":"Shows and hides all road labels, including road shields.","mapbox:group":"Visibility"}},showPointOfInterestLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"POI labels","mapbox:description":"Shows or hides all POI icons and text.","mapbox:group":"Visibility"}},showTransitLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Transit labels","mapbox:description":"Shows or hides all transit icons and text.","mapbox:group":"Visibility"}},lightPreset:{default:"day",type:"string",values:["dawn","day","dusk","night"],metadata:{"mapbox:title":"Light preset","mapbox:description":"Switch between 4 time-of-day states: dusk, dawn, day and night.","mapbox:group":"Basemap"}},font:{default:"DIN Pro",type:"string",values:["Alegreya","Alegreya SC","Asap","Barlow","DIN Pro","EB Garamond","Faustina","Frank Ruhl Libre","Heebo","Inter","Lato","League Mono","Montserrat","Manrope","Noto Sans CJK JP","Open Sans","Poppins","Raleway","Roboto","Roboto Mono","Rubik","Source Code Pro","Source Sans Pro","Spectral","Ubuntu"],metadata:{"mapbox:title":"Font","mapbox:description":"Defines font family for the style from predefined options.","mapbox:group":"Typography"}}},sources:{"mapbox-dem":{url:"mapbox://mapbox.mapbox-terrain-dem-v1",type:"raster-dem",tileSize:512},"mapbox://mapbox.satellite":{url:"mapbox://mapbox.satellite",type:"raster",tileSize:256},composite:{url:"mapbox://mapbox.mapbox-bathymetry-v2,mapbox.mapbox-streets-v8-lite,mapbox.mapbox-poi-v2",type:"vector"}},sprite:"mapbox://sprites/mapbox/standard-satellite/46l64mrox16m5svqgseryp8fm",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"globe"},layers:[{id:"mapbox-satellite",type:"raster",source:"mapbox://mapbox.satellite",layout:{},paint:{"raster-emissive-strength":.5}},{id:"water",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"water",layout:{},paint:{"fill-color":"hsl(200, 35%, 28%)","fill-emissive-strength":.4,"fill-opacity":["interpolate",["linear"],["zoom"],10,.8,16,0]}},{id:"water-depth",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"depth",maxzoom:8,layout:{},paint:{"fill-emissive-strength":.4,"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,"hsla(200, 35%, 23%, 0.35)",200,"hsla(200, 35%, 20%, 0.35)",7e3,"hsla(200, 35%, 15%, 0.35)"],8,["interpolate",["linear"],["get","min_depth"],0,"hsla(200, 35%, 30%, 0)",200,"hsla(200, 35%, 25%, 0)",7e3,"hsla(200, 35%, 20%, 0)"]]}},{id:"bottom",type:"slot",metadata:{"mapbox:description":"Above polygons (land, landuse, water, etc.)"}},{id:"tunnel-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":[10,0]}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-emissive-strength":.6,"line-opacity":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"tunnel-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"pedestrian"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"tunnel-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"tunnel-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"tunnel-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,.5],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"ferry",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry"],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.8,"line-color":"hsl(210, 40%, 55%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1],"line-dasharray":["step",["zoom"],["literal",[1,0]],13,["literal",[12,4]]]}},{id:"ferry-auto",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry_auto"],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.8,"line-color":"hsl(210, 40%, 55%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1]}},{id:"road-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["-",["config","roadsBrightness"],.3],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,1],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-opacity":["step",["zoom"],1,14,1,14.5,0]}},{id:"road-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["-",["config","roadsBrightness"],.3],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,1],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-opacity":["step",["zoom"],0,11,1,14,1,14.5,0]}},{id:"road-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:3,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["-",["config","roadsBrightness"],.3],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,1],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],30]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,1,14,1,14.5,0]}},{id:"road-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"road-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":.6,"line-opacity":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"road-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"road-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"pedestrian"],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"golf-hole-line",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["==",["get","class"],"golf"],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-color":"hsl(110, 29%, 70%)"}},{id:"road-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"road-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"road-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:3,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,1,14,1,15,0]}},{id:"road-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"road-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"road-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"bridge-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":.6,"line-opacity":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"bridge-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-opacity":.6,"line-emissive-strength":.6,"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":"round"},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":"round"},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-major-link-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":"round"},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-motorway-trunk-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"],"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["config","roadsBrightness"],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],14,1,15,0]}},{id:"bridge-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":.6,"line-color":"hsl(125, 50%, 60%)","line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"bridge-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"bridge-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-color":"hsl(0, 0%, 20%)","line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"aerialway",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"aerialway"],["match",["get","type"],["aerialway:zip_line"],["step",["zoom"],!1,15,!0],!0]],layout:{visibility:["case",["config","showRoadsAndTransit"],"visible","none"]},paint:{"line-emissive-strength":1,"line-color":"hsl(225, 60%, 58%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,1,20,2],"line-dasharray":[4,1]}},{id:"admin-1-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:7,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-width":["interpolate",["linear"],["zoom"],3,3,12,6],"line-color":"hsl(345, 100%, 0%)","line-opacity":["interpolate",["linear"],["zoom"],5,0,6,.1],"line-dasharray":[1,0],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]}},{id:"admin-0-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":"hsl(345, 100%, 0%)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.1],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]}},{id:"admin-1-boundary",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:2,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],layout:{},paint:{"line-emissive-strength":1,"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]],"line-width":["interpolate",["linear"],["zoom"],3,.5,12,1.5],"line-opacity":["interpolate",["linear"],["zoom"],2,0,3,1],"line-color":"hsl(345, 100%, 75%)"}},{id:"admin-0-boundary",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],layout:{},paint:{"line-emissive-strength":1,"line-color":"hsl(345, 100%, 70%)","line-width":["interpolate",["linear"],["zoom"],3,.8,12,2],"line-dasharray":[10,0]}},{id:"admin-0-boundary-disputed",type:"line",metadata:{"mapbox:group":"administrative boudaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-color":"hsl(345, 100%, 70%)","line-width":["interpolate",["linear"],["zoom"],3,.8,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]}},{id:"middle",type:"slot",metadata:{"mapbox:description":"Above lines (roads, etc.) and behind 3D buildings"}},{id:"road-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:10,filter:["all",["has","name"],["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],12,["match",["get","class"],["motorway","trunk","primary","secondary"],!0,!1],13,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary","street","street_limited"],!0,!1],15,["match",["get","class"],["path","pedestrian","golf","ferry","aerialway"],!1,!0]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],9,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],8,6.5],18,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],16,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,visibility:["case",["config","showRoadLabels"],"visible","none"],"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15},paint:{"text-color":"hsl(0, 0%, 100%)","text-halo-color":"hsl(0, 0%, 20%)","text-halo-width":1.5,"text-halo-blur":1}},{id:"path-pedestrian-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["case",["has","layer"],[">=",["get","layer"],0],!0],["step",["zoom"],["match",["get","class"],["pedestrian"],!0,!1],15,["match",["get","class"],["path","pedestrian"],!0,!1]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],"pedestrian",9,6.5],18,["match",["get","class"],"pedestrian",14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,visibility:["case",["config","showRoadLabels"],"visible","none"],"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01},paint:{"text-color":"hsl(0, 0%, 100%)","text-halo-color":"hsl(0, 0%, 20%)","text-halo-width":1.5,"text-halo-blur":1}},{id:"golf-hole-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","class"],"golf"],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":12},paint:{"text-emissive-strength":.8,"text-halo-color":"hsl(110, 70%, 28%)","text-halo-width":.5,"text-halo-blur":.5,"text-color":"hsl(110, 40%, 65%)"}},{id:"ferry-aerialway-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],"aerialway",!0,"ferry",!0,!1],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{"text-size":["interpolate",["linear"],["zoom"],10,6.5,18,13],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,visibility:["case",["config","showTransitLabels"],"visible","none"],"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01},paint:{"text-emissive-strength":.8,"text-color":"hsl(200, 40%, 60%)","text-halo-color":"hsl(225, 60%, 20%)","text-halo-width":1.5,"text-halo-blur":1}},{id:"waterway-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:13,filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-emissive-strength":.8,"text-color":"hsl(210, 96%, 75%)"}},{id:"natural-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-halo-width":1,"text-halo-color":"hsl(210, 20%,20%)","text-halo-blur":.5,"text-color":"hsl(0, 0%, 95%)"}},{id:"natural-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["image",["string",["get","maki"]]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.75]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.75]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-color":"hsl(210, 20%,20%)","text-color":"hsl(0, 0%, 95%)","text-halo-width":1}},{id:"water-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-emissive-strength":.8,"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(210, 96%, 65%)","hsl(210, 96%, 75%)"]}},{id:"water-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"],["!=",["id"],1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},paint:{"text-emissive-strength":.8,"text-color":["match",["get","class"],["bay","ocean","sea"],"hsl(210, 96%, 65%)","hsl(210, 96%, 75%)"]}},{id:"road-intersection",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"intersection"],["has","name"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"icon-image":"intersection","icon-text-fit":"both","icon-text-fit-padding":[1,2,1,2],"text-size":["interpolate",["exponential",1.2],["zoom"],15,9,18,12],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":"hsl(230, 57%, 64%)"}},{id:"road-number-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["has","reflen"],["<=",["get","reflen"],6],["match",["get","class"],["pedestrian","service"],!1,!0],["step",["zoom"],["==",["geometry-type"],"Point"],11,[">",["coalesce",["get","len"],0],5e3],12,[">",["coalesce",["get","len"],0],2500],13,[">",["coalesce",["get","len"],0],1e3],14,!0],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{"text-size":9,"icon-image":["case",["has","shield_beta"],["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],["image",["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],["image",["concat","default-",["to-string",["get","reflen"]]]]],["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],"icon-rotation-alignment":"viewport","text-max-angle":38,"symbol-spacing":["interpolate",["linear"],["zoom"],11,400,14,600],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"symbol-placement":["step",["zoom"],"point",11,"line"],visibility:["case",["config","showRoadLabels"],"visible","none"],"text-rotation-alignment":"viewport","text-field":["get","ref"],"text-letter-spacing":.05},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":["case",["has","shield_beta"],["case",["all",["has","shield_text_color_beta"],["to-boolean",["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],""]]],["match",["get","shield_text_color_beta"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"],"hsl(230, 18%, 13%)"],["match",["get","shield_text_color"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"]]}},{id:"road-exit-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"motorway_junction",minzoom:14,filter:["all",["has","reflen"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["get","ref"],"text-size":9,"icon-image":["concat","motorway-exit-",["to-string",["get","reflen"]]],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":"hsl(0, 0%, 100%)","text-translate":[0,0]}},{id:"gate-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:17,filter:["all",["==",["get","class"],"gate"],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<=",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<",["distance-from-center"],-.05]]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"icon-image":["match",["get","type"],"gate","gate","lift_gate","lift-gate",""]},paint:{"icon-emissive-strength":.8}},{id:"building-entrance",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:18,filter:["all",["==",["get","class"],"entrance"],["case",["<=",["pitch"],40],!0,!1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"marker","text-field":["get","ref"],"text-size":10,"text-offset":[0,-.5],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"]},paint:{"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)","icon-opacity":.4}},{id:"building-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"housenum_label",minzoom:17,filter:["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.4]]],layout:{"symbol-z-elevate":!0,visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","house_num"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":10,"text-size":10,"text-padding":20},paint:{"text-emissive-strength":1.4,"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"block-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"place_label",minzoom:16,filter:["all",["==",["get","class"],"settlement_subdivision"],["==",["get","type"],"block"],["case",["<=",["pitch"],60],!0,["<=",["distance-from-center"],.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","name"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":7,"text-size":11},paint:{"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"poi-label",type:"symbol",metadata:{"mapbox:group":"poi labels"},source:"composite","source-layer":"poi",minzoom:6,filter:["all",["has","sub_category"],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","category"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","category"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["match",["get","category"],["sport_and_leisure","visitor_amenities","commercial_services","general"],[">",["get","reality_score"],.95],["building","lodging","medical","store_like","food_and_drink","food_and_drink_stores","motorist","industrial","education"],[">",["get","reality_score"],.85],!0]],layout:{"text-size":13,"icon-image":["image",["string",["get","icon"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","icon"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","category"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","icon"],["literal",["communications-tower","museum","zoo"]]],["in",["get","category"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","icon"],"car-repair"],["in",["get","category"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","icon"],"picnic-site"],["==",["get","category"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","icon"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"symbol-z-elevate":!0,"text-offset":["case",["match",["get","category"],["building","general","place_like"],!0,!1],["literal",[0,-.6]],["literal",[0,.8]]],"text-anchor":["case",["match",["get","category"],["building","general","place_like"],!0,!1],"bottom","top"],"text-field":["format",["get","name"],{}]},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-opacity":1,"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1,"text-halo-color":"hsl(0, 0%, 15%)","text-color":["match",["get","category"],"food_and_drink","hsl(40, 100%, 75%)","park_like","hsl(110, 65%, 65%)","education","hsl(30, 100%, 70%)","medical","hsl(0, 100%, 85%)","sport_and_leisure","hsl(190, 60%, 75%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 80%)",["commercial_services","motorist","lodging"],"hsl(260, 100%, 85%)",["arts_and_entertainment","historic","landmark"],"hsl(320, 90%, 85%)",["match",["get","maki_beta"],"terminal","hsl(220, 100%, 80%)","hsl(0, 0%, 90%)"]]}},{id:"poi-label-osm",type:"symbol",metadata:{"mapbox:group":"poi labels"},source:"composite","source-layer":"poi",minzoom:6,filter:["all",["!",["has","sub_category"]],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","class"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],1,16,2,18,3],["match",["get","class"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["all",["match",["get","type"],"Toilets",[">=",["zoom"],17],!0]]],layout:{"text-size":["step",["zoom"],["step",["number",["get","sizerank"]],18,5,13],17,["step",["number",["get","sizerank"]],18,13,13]],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["string",["get","maki_beta"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","maki_beta"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","class"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","maki_beta"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}],["image",["string",["get","maki"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","maki"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","class"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","maki"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}]],["image",["string",["get","maki"]],{params:{"background-stroke":"hsl(0, 0%, 0%)",icon:["case",["==",["get","maki"],"marker"],"hsla(0, 0%, 0%, 0)","hsl(0, 0%, 0%)"],background:["match",["get","class"],"food_and_drink","hsl(40, 100%, 70%)","education","hsl(30, 100%, 65%)","medical","hsl(0, 100%, 80%)","sport_and_leisure","hsl(190, 60%, 70%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 75%)",["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],"hsl(320, 90%, 80%)",["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],"hsl(260, 100%, 80%)",["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],"hsl(110, 65%, 60%)",["==",["get","maki"],"terminal"],"hsl(220, 100%, 70%)","hsl(0, 0%, 90%)"]],"icon-stroke":"hsla(0, 0%, 0%, 0)"}}]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"symbol-z-elevate":!0,"text-offset":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],5,["literal",[0,.8]]]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],13,["literal",[0,.8]]]]],"text-anchor":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",5,"top"]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",13,"top"]]],"text-field":["format",["coalesce",["get","name_en"],["get","name"]],{}]},paint:{"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1.2,"text-halo-color":"hsl(0, 0%, 15%)","text-color":["match",["get","class"],"food_and_drink","hsl(40, 100%, 75%)","park_like","hsl(110, 65%, 65%)","education","hsl(30, 100%, 70%)","medical","hsl(0, 100%, 85%)","sport_and_leisure","hsl(190, 60%, 75%)",["store_like","food_and_drink_stores"],"hsl(210, 100%, 80%)",["commercial_services","motorist","lodging"],"hsl(260, 100%, 85%)",["arts_and_entertainment","historic","landmark"],"hsl(320, 90%, 85%)",["match",["get","maki_beta"],"terminal","hsl(220, 100%, 80%)","hsl(0, 0%, 90%)"]]}},{id:"top",type:"slot",metadata:{"mapbox:description":"Above POI labels and behind Place and Transit labels"}},{id:"transit-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"transit_stop_label",minzoom:12,filter:["all",["step",["zoom"],["all",["!=",["get","mode"],"bus"],["!=",["get","stop_type"],"entrance"]],17,["!=",["get","stop_type"],"entrance"],19,!0],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],50,["<",["distance-from-center"],.8],55,["<",["distance-from-center"],.4],60,["<=",["distance-from-center"],-.1]]]],layout:{"text-size":13,"icon-image":["image",["string",["get","network"]],{params:{background:"hsl(220, 100%, 70%)","background-stroke":"hsl(0, 0%, 0%)",icon:"hsl(0, 0%, 0%)"}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["match",["get","stop_type"],"entrance","left","center"],visibility:["case",["config","showTransitLabels"],"visible","none"],"text-offset":["match",["get","stop_type"],"entrance",["literal",[1,0]],["literal",[0,.6]]],"text-anchor":["match",["get","stop_type"],"entrance","left","top"],"text-field":["step",["zoom"],["format","",{}],13,["match",["get","mode"],["metro_rail","rail"],["format",["coalesce",["get","name_en"],["get","name"]],{}],["format","",{}]],14,["match",["get","mode"],["bicycle","bus"],["format","",{}],["format",["coalesce",["get","name_en"],["get","name"]],{}]],18,["format",["coalesce",["get","name_en"],["get","name"]],{}]],"text-letter-spacing":.01,"text-max-width":["match",["get","stop_type"],"entrance",15,9]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-halo-width":1.2,"text-halo-color":"hsl(0, 0%, 10%)","text-color":["match",["get","network"],"tokyo-metro","hsl(180, 50%, 30%)","mexico-city-metro","hsl(25, 100%, 63%)",["barcelona-metro","delhi-metro","hong-kong-mtr","milan-metro","osaka-subway"],"hsl(0, 90%, 47%)",["boston-t","washington-metro"],"hsl(230, 18%, 20%)",["chongqing-rail-transit","kiev-metro","singapore-mrt","taipei-metro"],"hsl(140, 90%, 25%)","hsl(225, 100%, 82%)"]}},{id:"airport-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"airport_label",minzoom:8,filter:["all",["match",["get","class"],["military","civil","disputed_military","disputed_civil"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["step",["get","sizerank"],18,9,13],"icon-image":["image",["string",["get","maki"]],{params:{background:"hsl(220, 100%, 70%)","background-stroke":"hsl(0, 0%, 0%)",icon:"hsl(0, 0%, 0%)"}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],visibility:["case",["config","showTransitLabels"],"visible","none"],"text-offset":[0,.8],"text-rotation-alignment":"viewport","text-anchor":"top","text-field":["step",["get","sizerank"],["case",["has","ref"],["concat",["get","ref"],` -
|
|
653
653
|
`,["coalesce",["get","name_en"],["get","name"]]],["coalesce",["get","name_en"],["get","name"]]],15,["get","ref"]],"text-letter-spacing":.01,"text-max-width":9},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-emissive-strength":.8,"text-emissive-strength":.9,"text-color":"hsl(225, 100%, 82%)","text-halo-color":"hsl(0, 0%, 10%)","text-halo-width":1.2}},{id:"settlement-subdivision-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:10,maxzoom:15,filter:["all",["match",["get","class"],["disputed_settlement_subdivision","settlement_subdivision"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["number",["get","filterrank"]],3],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12,11.5],15,["match",["get","type"],"suburb",16,15]]},paint:{"text-emissive-strength":["case",["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.5,"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1]}},{id:"settlement-minor-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],9,["image","dot-10",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],11,["image","dot-9",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}]]],8,""],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"],"text-justify":"auto",visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.02,"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.25}},{id:"settlement-major-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],9,["image","dot-10",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}],11,["image","dot-9",{params:{"color-primary":"hsl(0, 0%, 100%)","color-secondary":"hsl(0, 0%, 0%)"}}]]],8,""],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.02,"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.25}},{id:"state-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:3,maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},paint:{"text-emissive-strength":["case",["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.5,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]}},{id:"country-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:1,maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],11,4,9,5,8],9,["step",["get","symbolrank"],22,4,19,5,17]],"text-radial-offset":["step",["zoom"],.6,8,0],"icon-image":"","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":6},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["case",["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.25}},{id:"continent-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"natural_label",minzoom:.75,maxzoom:3,filter:["all",["==",["get","class"],"continent"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},paint:{"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],"hsl(0, 0%, 100%)"],"text-halo-color":["case",["to-boolean",["feature-state","select"]],"hsl(0, 0%, 15%)",["to-boolean",["feature-state","highlight"]],"hsl(0, 0%, 15%)","hsl(0, 0%, 25%)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],1.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5],2.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]]}}],models:{"maple2-lod1":"mapbox://models/mapbox/maple2-lod1.glb","palm1-lod3":"mapbox://models/mapbox/palm1-lod3.glb","maple1-lod1":"mapbox://models/mapbox/maple1-lod1.glb","maple2-lod2":"mapbox://models/mapbox/maple2-lod2.glb","palm1-lod4":"mapbox://models/mapbox/palm1-lod4.glb","maple1-lod2":"mapbox://models/mapbox/maple1-lod2.glb","maple2-lod3":"mapbox://models/mapbox/maple2-lod3.glb","turbinetower-lod1":"mapbox://models/mapbox/turbinetower-lod1.glb","maple1-lod3":"mapbox://models/mapbox/maple1-lod3.glb","maple2-lod4":"mapbox://models/mapbox/maple2-lod4.glb","turbinetower-lod2":"mapbox://models/mapbox/turbinetower-lod2.glb","maple1-lod4":"mapbox://models/mapbox/maple1-lod4.glb","oak2-lod1":"mapbox://models/mapbox/oak2-lod1.glb","oak1-lod1":"mapbox://models/mapbox/oak1-lod1.glb","oak2-lod2":"mapbox://models/mapbox/oak2-lod2.glb","oak1-lod2":"mapbox://models/mapbox/oak1-lod2.glb","oak2-lod3":"mapbox://models/mapbox/oak2-lod3.glb","oak1-lod3":"mapbox://models/mapbox/oak1-lod3.glb","oak2-lod4":"mapbox://models/mapbox/oak2-lod4.glb","oak1-lod4":"mapbox://models/mapbox/oak1-lod4.glb","turbinerotor-lod1":"mapbox://models/mapbox/turbinerotor-lod1.glb","turbinerotor-lod2":"mapbox://models/mapbox/turbinerotor-lod2.glb","pine2-lod1":"mapbox://models/mapbox/pine2-lod1.glb","pine1-lod1":"mapbox://models/mapbox/pine1-lod1.glb","pine2-lod2":"mapbox://models/mapbox/pine2-lod2.glb","pine1-lod2":"mapbox://models/mapbox/pine1-lod2.glb","pine2-lod3":"mapbox://models/mapbox/pine2-lod3.glb","pine1-lod3":"mapbox://models/mapbox/pine1-lod3.glb","palm1-lod1":"mapbox://models/mapbox/palm1-lod1.glb","pine2-lod4":"mapbox://models/mapbox/pine2-lod4.glb","pine1-lod4":"mapbox://models/mapbox/pine1-lod4.glb","palm1-lod2":"mapbox://models/mapbox/palm1-lod2.glb"},featuresets:{poi:{metadata:{"mapbox:title":"Points of interest","mapbox:description":"A point of interest.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the icon and text. Use this state when displaying a custom annotation on top.",importConfigs:[]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the point of interest."},{name:"group",type:"string",doc:"A high-level category, like POI, airport, transit, etc."},{name:"class",type:"string",doc:"A broad category of point of interest."},{name:"maki",type:"string",doc:"An icon identifier, designed to assign icons using the Maki icon project or other icons that follow the same naming scheme."},{name:"transit_mode",type:"string",doc:"Mode of transport served by a stop/station. Expected to be null for non-transit points of interest."},{name:"transit_stop_type",type:"string",doc:"A type of transit stop. Expected to be null for non-transit points of interest."},{name:"transit_network",type:"string",doc:"A rail station network identifier that is part of specific local or regional transit systems. Expected to be null for non-transit points of interest."},{name:"airport_ref",type:"string",doc:"A short identifier code of the airport. Expected to be null for non-airport points of interest"}]},selectors:[{layer:"poi-label-osm",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"poi"},featureNamespace:"poi-A"},{layer:"poi-label",properties:{name:["get","name"],class:["get","category"],maki:["get","icon"],group:"poi"},featureNamespace:"poi-A"},{layer:"transit-label",properties:{name:["get","name"],transit_mode:["get","mode"],transit_stop_type:["get","stop_type"],transit_network:["get","network"],group:"transit"},featureNamespace:"poi-B"},{layer:"airport-label",properties:{name:["get","name"],class:["get","class"],maki:["get","maki"],airport_ref:["get","ref"],group:"airport"},featureNamespace:"poi-C"},{layer:"natural-point-label",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"natural-point"},featureNamespace:"poi-D"}]},"place-labels":{metadata:{"mapbox:title":"Place labels","mapbox:description":"Points for labeling places including countries, states, cities, towns, and neighborhoods.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the label. Use this state when displaying a custom annotation on top.",importConfigs:[]},{id:"highlight",type:"boolean",doc:"When `true`, the feature is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorPlaceLabelHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the feature is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorPlaceLabelSelect"]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the place label."},{name:"class",type:"string",doc:"Provides a broad distinction between place types."}]},selectors:[{layer:"continent-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-A"},{layer:"country-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"state-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-major-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-minor-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-subdivision-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"}]}},created:"2024-07-26T16:01:36.908Z",modified:"2025-07-22T16:17:01.022Z",id:"standard-satellite",owner:"mapbox",visibility:"public",protected:!0,draft:!1}}],sources:{"mapbox://mapbox.satellite":{url:"mapbox://mapbox.satellite",type:"raster",tileSize:256},composite:{url:"mapbox://mapbox.mapbox-streets-v8,mapbox.country-boundaries-v1,neatchenheng.82kqbc1q,neatchenheng.d44z21eg,neatchenheng.a4ifbysm,neatchenheng.27issko0,neatchenheng.9uwc9x7l,neatchenheng.7y3kpvvv,neatchenheng.dlkkohie,neatchenheng.em5174yi0b3k",type:"vector"},i4:this.i4.source,hi:this.hi.source},sprite:"mapbox://sprites/neatchenheng/cmdiadnej03n101r485bs2m6a/3ypt5l12v7es7ihchvsclc3i2",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"background",type:"background",layout:{},paint:{"background-color":"hsl(222, 56%, 4%)"},metadata:{"mapbox:featureComponent":"satellite","mapbox:group":"Satellite imagery, land"}},{id:"satellite",type:"raster",source:"mapbox://mapbox.satellite",layout:{},paint:{},metadata:{"mapbox:featureComponent":"satellite","mapbox:group":"Satellite imagery, land"}},{minzoom:7,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-1-boundary-bg",paint:{"line-color":"hsl(260, 45%, 0%)","line-width":["interpolate",["linear"],["zoom"],3,3,12,6],"line-opacity":["interpolate",["linear"],["zoom"],7,0,8,.5],"line-dasharray":[1,0],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]},"source-layer":"admin"},{minzoom:1,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-bg",paint:{"line-width":["interpolate",["linear"],["zoom"],3,6,12,12],"line-color":"hsl(260, 45%, 0%)","line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]},"source-layer":"admin"},{minzoom:2,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-1-boundary",paint:{"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]],"line-width":["interpolate",["linear"],["zoom"],3,.3,12,1.5],"line-opacity":["interpolate",["linear"],["zoom"],2,0,3,1],"line-color":"hsl(260, 15%, 85%)"},"source-layer":"admin"},{minzoom:1,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary",paint:{"line-color":"hsl(260, 15%, 80%)","line-width":["interpolate",["linear"],["zoom"],3,.75,12,3],"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]]},"source-layer":"admin"},{minzoom:1,layout:{visibility:"none"},metadata:{"mapbox:featureComponent":"admin-boundaries","mapbox:group":"Administrative boundaries, admin"},filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["match",["get","worldview"],["all","CN"],!0,!1]],type:"line",source:"composite",id:"admin-0-boundary-disputed",paint:{"line-color":"hsl(260, 15%, 80%)","line-width":["interpolate",["linear"],["zoom"],3,.75,12,3],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},"source-layer":"admin"},{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{type:"fill",source:"composite",id:"country-boundaries",paint:{"fill-color":"rgb(2, 45, 62)"},slot:"","source-layer":"country_boundaries",layout:{visibility:"none"}},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{minzoom:10,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12.100000000000001,11.55],15,["match",["get","type"],"suburb",16.5,15.400000000000002]],visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["match",["get","class"],["settlement_subdivision","disputed_settlement_subdivision"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["<=",["get","filterrank"],4],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-subdivision-label",paint:{"text-halo-color":"hsla(0, 5%, 0%, 0.75)","text-halo-width":1,"text-color":"hsl(0, 0%, 100%)","text-halo-blur":.5},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],12.100000000000001,9,11],6,["step",["get","symbolrank"],15.400000000000002,9,13.200000000000001,12,11],8,["step",["get","symbolrank"],17.6,9,15.400000000000002,12,13.200000000000001,15,11],13,["step",["get","symbolrank"],24.200000000000003,9,22,12,17.6,15,15.400000000000002]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":"auto",visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-minor-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":"hsl(0, 5%, 0%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:2,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],14.3,6,12.100000000000001],6,["step",["get","symbolrank"],19.8,6,17.6,7,15.400000000000002],8,["step",["get","symbolrank"],22,9,17.6,10,15.400000000000002],15,["step",["get","symbolrank"],26.400000000000002,9,22,12,17.6,15,15.400000000000002]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],"border-dot-13",["step",["get","symbolrank"],"dot-11",9,"dot-10",11,"dot-9"]],8,""],"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],visibility:"none","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"settlement-major-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":"hsl(0, 5%, 0%)","text-halo-width":1,"text-halo-blur":1},"source-layer":"place_label"},{minzoom:3,layout:{"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9.9,6,8.8,7,7.700000000000001],9,["step",["get","symbolrank"],23.1,6,17.6,7,15.400000000000002]],"text-transform":"uppercase","text-font":["DIN Pro Bold","Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6,visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"state-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":"hsl(0, 5%, 0%)","text-halo-width":1,"text-opacity":.5},"source-layer":"place_label"},{minzoom:1,layout:{"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],12.100000000000001,4,9.9,5,8.8],9,["step",["get","symbolrank"],24.200000000000003,4,20.900000000000002,5,18.700000000000003]],"text-radial-offset":["step",["zoom"],.6,8,0],"icon-image":"","text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],visibility:"none","text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":6},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["match",["get","worldview"],["all","CN"],!0,!1],!1],["step",["pitch"],!0,50,["<",["distance-from-center"],3],60,["<",["distance-from-center"],4],70,["<",["distance-from-center"],5]]],type:"symbol",source:"composite",id:"country-label",paint:{"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":"hsl(0, 0%, 95%)","text-halo-color":["interpolate",["linear"],["zoom"],2,"hsla(0, 5%, 0%, 0.75)",3,"hsl(0, 5%, 0%)"],"text-halo-width":1.25},"source-layer":"place_label"},{minzoom:.75,layout:{"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":["DIN Pro Medium","Arial Unicode MS Regular"],"text-size":["interpolate",["exponential",.5],["zoom"],0,11,2.5,16.5],"text-transform":"uppercase","text-letter-spacing":.05,visibility:"none"},metadata:{"mapbox:featureComponent":"place-labels","mapbox:group":"Place labels, place-labels"},maxzoom:3,filter:["==",["get","class"],"continent"],type:"symbol",source:"composite",id:"continent-label",paint:{"text-color":"hsl(0, 0%, 95%)","text-halo-color":["interpolate",["linear"],["zoom"],0,"hsla(0, 5%, 0%, 0.75)",3,"hsl(0, 5%, 0%)"],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,.8,1.5,.5,2.5,0]},"source-layer":"natural_label"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(0, 96, 107)"},layout:{visibility:"none"},source:"composite","source-layer":"water"},{id:"world-12nm-v4-20231025",minzoom:3,type:"line",paint:{"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"composite","source-layer":"eez_12nm_new1-6jzkww"},{id:"china-taiwan",minzoom:3,type:"line",paint:{"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"composite","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(115, 115, 115)"},layout:{visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"ne-10m-label",type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"composite","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(119, 239, 157, 1)","line-width":2},layout:{visibility:"none"},source:"composite","source-layer":"china_route-bdtx5d"},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(119, 239, 157, 1)","fill-opacity":.2},layout:{visibility:"none"},source:"composite",filter:["match",["geometry-type"],["Polygon"],!0,!1],"source-layer":"china_route-bdtx5d"},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","route_name"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"},source:"composite","source-layer":"china_route-bdtx5d"},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(199, 239, 236, 0.7)"},source:"composite","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(167, 211, 208, 0.7)"},layout:{visibility:"none"},source:"composite","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"composite","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"composite","source-layer":"loadlines-b6mgr8"},{id:"nsr-flll",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-opacity":.8,"fill-color":"rgba(118, 239, 156, 0.45)"},layout:{visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"},{id:"nsr-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-opacity":1,"line-color":"rgb(119, 239, 157)","line-width":2},layout:{"line-sort-key":["get","nsr_zone"],visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"},{id:"nsr-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-opacity":.8,"text-color":"rgb(255, 255, 255)"},layout:{"symbol-sort-key":["get","nsr_zone"],"text-field":["concat","[",["get","nsr_zone"],"] ",["get","name_en"]],"text-size":10,visibility:"none"},source:"composite","source-layer":"67254ae0b5b8c2a16c6b"}],created:"2025-07-25T03:53:24.667Z",modified:"2025-07-31T05:04:42.779Z",id:"cmdiadnej03n101r485bs2m6a",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1},nautical:{version:8,name:"nautical",metadata:{"mapbox:autocomposite":!1,"mapbox:sdk-support":{js:"3.14.0",android:"11.14.0",ios:"11.14.0"},"mapbox:uiExpandedImports":["basemap"],"mapbox:groups":{}},center:[-34,38],zoom:2,terrain:null,imports:[{id:"basemap",url:"mapbox://styles/neatchenheng/cmg0ale3r008801rhdey4f0go",config:{theme:"faded",lightPreset:"dawn",showLandmarkIcons:!1,showRoadLabels:!1,showPedestrianRoads:!1,showTransitLabels:!1,showPointOfInterestLabels:!1,showPlaceLabels:!0},data:{version:8,name:"Mapbox Standard",metadata:{"mapbox:compatibility":{android:"11.11.0",ios:"11.11.0",js:"3.14.0"},"mapbox:autocomposite":!1,"mapbox:configGroups":[{name:"Basemap",properties:["theme","theme-data","lightPreset"]},{name:"Typography",properties:["font"]},{name:"Places & boundaries",properties:["showPlaceLabels","colorPlaceLabels","showAdminBoundaries","colorAdminBoundaries"]},{name:"Land & water",properties:["colorGreenspace","colorWater"]},{name:"Road & transit network",properties:["showRoadLabels","colorRoadLabels","showTransitLabels","colorMotorways","colorTrunks","colorRoads","showPedestrianRoads"]},{name:"Points of interest",properties:["showPointOfInterestLabels","densityPointOfInterestLabels","backgroundPointOfInterestLabels","colorModePointOfInterestLabels","colorPointOfInterestLabels","showLandmarkIcons","showLandmarkIconLabels"]},{name:"3d models",properties:["show3dObjects"]}],"mapbox:groups":{"land & water":{name:"Land & water",collapsed:!0},"natural labels":{name:"Natural labels",collapsed:!0},"place labels":{name:"Place labels",collapsed:!0},"poi labels":{name:"Poi labels",collapsed:!0},"administrative boundaries":{name:"Administrative boundaries",collapsed:!0},"road & transit labels":{name:"Road & Transit labels",collapsed:!0},"roads & transit network":{name:"Roads & transit network",collapsed:!0},"building labels":{name:"Building labels",collapsed:!0},"3d models":{name:"3d models",collapsed:!0},"3d buildings":{name:"3d buildings",collapsed:!0},buildings:{name:"Buildings",collapsed:!0},"landmark icons":{name:"Landmark Icons",collapsed:!0},"transit labels":{name:"Transit labels",collapsed:!0},"road shields":{name:"Road shields",collapsed:!0}}},center:[-10,30],zoom:1.5,bearing:0,pitch:0,lights:[{id:"ambient",type:"ambient",properties:{color:["match",["config","lightPreset"],"dawn","hsl(28, 98%, 93%)","day","hsl(0, 0%, 100%)","dusk","hsl(228, 27%, 29%)","night",["match",["config","theme"],"monochrome","hsl(217, 100%, 0%)","hsl(217, 100%, 11%)"],"hsl(0, 0%, 100%)"],intensity:["match",["config","lightPreset"],"dawn",.75,"day",["match",["config","theme"],"monochrome",.85,.8],"dusk",["match",["config","theme"],"monochrome",.1,.8],"night",["match",["config","theme"],"monochrome",0,.5],.8]}},{id:"directional",type:"directional",properties:{direction:["match",["config","lightPreset"],"dawn",["match",["config","theme"],"monochrome",["literal",[120,40]],["literal",[120,50]]],"day",["literal",[180,20]],"dusk",["match",["config","theme"],"monochrome",["literal",[240,30]],["literal",[240,80]]],"night",["literal",[270,20]],["literal",[180,20]]],color:["match",["config","lightPreset"],"dawn","hsl(33, 98%, 77%)","day","hsl(0, 0%, 100%)","dusk",["match",["config","theme"],"monochrome","hsl(30, 0%, 50%)","hsl(30, 98%, 76%)"],"night",["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(225, 15%, 29%)"],"hsl(0, 0%, 100%)"],intensity:["interpolate",["linear"],["zoom"],12,["match",["config","lightPreset"],"dawn",.5,"day",["match",["config","theme"],"monochrome",.3,.2],"dusk",0,"night",["match",["config","theme"],"monochrome",.01,0],.2],13,["match",["config","lightPreset"],"night",["match",["config","theme"],"monochrome",.01,0],.2],14,["match",["config","lightPreset"],"dawn",["match",["config","theme"],"monochrome",.35,.5],"day",.2,"dusk",["match",["config","theme"],"monochrome",.15,.2],"night",["match",["config","theme"],"monochrome",.25,.5],.2]],"cast-shadows":!0,"shadow-intensity":["match",["config","lightPreset"],"night",.5,1],"shadow-quality":.5}}],terrain:{source:"mapbox-dem",exaggeration:["interpolate",["linear"],["zoom"],6,0,7,1,12,1,13.7,0]},fog:{"vertical-range":[30,120],range:["interpolate",["linear"],["zoom"],13,["literal",[1,10]],15,["literal",[1,4]],22,["literal",[14,20]]],color:["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,["match",["config","theme"],"monochrome","hsla(0, 0%, 20%, 1)","hsla(240, 9%, 55%, 1)"],.4,"hsla(0, 0%, 100%, 1)"],7,["interpolate",["linear"],["measure-light","brightness"],.02,"hsla(213, 63%, 20%, 0.9)",.03,"hsla(30, 65%, 60%, 0.5)",.4,"hsla(10, 79%, 88%, 0.95)",.45,"hsla(200, 60%, 98%, 0.9)"]],"high-color":["interpolate",["exponential",1.2],["zoom"],5,["interpolate",["linear"],["measure-light","brightness"],.1,"hsla(215, 100%, 20%, 1)",.4,"hsla(215, 100%, 51%, 1)"],7,["interpolate",["linear"],["measure-light","brightness"],0,"hsla(228, 38%, 20%, 1)",.05,"hsla(360, 100%, 85%, 1)",.2,"hsla(205, 88%, 86%, 1)",.4,"hsla(270, 65%, 85%, 1)",.45,"hsla(0, 0%, 100%, 1)"]],"space-color":["interpolate",["exponential",1.2],["zoom"],5,["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(211, 84%, 9%)"],7,["interpolate",["linear"],["measure-light","brightness"],0,["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(211, 84%, 17%)"],.2,"hsl(210, 40%, 30%)",.4,"hsl(270, 45%, 98%)",.45,"hsl(210, 100%, 80%)"]],"horizon-blend":["interpolate",["exponential",1.2],["zoom"],5,["match",["config","theme"],"monochrome",.001,.01],7,["interpolate",["exponential",1.2],["measure-light","brightness"],.35,.03,.4,.1,.45,.03]],"star-intensity":["interpolate",["exponential",1.2],["zoom"],5,.4,7,["interpolate",["exponential",1.2],["measure-light","brightness"],.1,.2,.3,0]]},camera:{"camera-projection":"orthographic"},"color-theme":{data:["match",["config","theme"],"faded","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","monochrome","iVBORw0KGgoAAAANSUhEUgAABAAAAAAgCAAAAACplVV6AAAcTUlEQVR4AbyStxrUMBCEVzr31NTUlFDT0tOQc84555zeh0fgCXgAenpbku/Y2RGnYGhZW3u+b37NrIPb4513K+9XbtC2snPAz6BLr77NaS3iV3qgQUYbrCnzfU4pigCxA9vowfZjTjHCQsSZORa98Tv8THNMMQDQwnYsFkJ+zXPUAlARCCcyJgSEEA1Amcr5wWB/CjUgK5YxOzB/jFOOYDlGYP/OOWE+PaYgpfyf+9+lOgBUlKqy/+7sbwapBpwRe+kfosph4gj1neyr/BXYSGexfw17GKgapiht+QPJ8k3GmTrgEPLxfDDiNPUjyHHLx3bsBtHqp3l/MEC+nm3CefirDoB6aBKuqL6dL44gmoQb6p9or8Qy4Q7yE+Nj1uun9LB+vnqOqtcJT6v7hzQiZSwjvuL9Ix4BWtCLwTt+n1OM8IWIKiN+qt+/qgTKiF/b9wdiDCMM/o/unTYsNK7tRfnvtLSBdljOizgKpgFjeWW2kNe1cQQywpLSyBOQvN17OJHAIlgIytbsDvIVy3uhigUztBoQCkYYLKSklEpYADe2vR6SxUyGUfWdzhKedJSlg4BhFJim8n6msxaA9cJIW0ylyMcqfTGbw7glsKFm0l8NTIf5dtRe9/kWi74kUCR6gHP9+yH85sUMt1zVQShck2ggM+//tkcv7HzL1K7+vcOp1LjZAEGyTme7BfrT4CI4XX70SVKEkQQJbk//C8PsgZMdwjZ98Jd71LcIulGWf4gXt72GNCld973kLN1Hyk98PHRew39ymeosNsZxLJtxX7K+tsBHL3sfyASx+gl+uullq4fPED/uyyLijyGDFxaO85FKfD20nJ6wWPmNVIov+769sNAD0X3Az2dH4kRxWYSH4If1pOxsaOsD2D34LvQnKI1dLbsNBP/sSBGsNB71+5C4cpRsbFjg8k5E5UiQw8HBFKdOkCwiv2rhXg48izIikIVfhWLUrkcElUr9xE9NkQjx6Yr8lA9cPC7t8wOvxm7TtRBqkJDfChDKHrj8EwBpC1/94+XKKKQ48T7YXSRtVop6/3DNq0WKj/ocG2Xq9zaDA1G/jPcH/pyeFPsjvMTSWqvzX427KVqn7O3w3q33o7+JxfLQs+s8y/gJ+U0leazO66xfwV/w4DuLbxbyr8X4sJCGr/XhYAjx/1Xx00AWzwQu8VntdVlIK/82tIxrVA3/EvHrSt9KjF3HXh4u8ke6Jpcg1F+x12fX2B3jNxaZs/CVExMeQe74V+WWCBuzPas+/13wccD8KU/646Dodp8wQzj5STIrL+uEoT9PUQQOU+E3nRrW/FXlB04G0wGi/Nb+YLM/8HF752LCwdsnTopPPhA32mbh2t9HeLXGwKn/l9ylpNsTX9GffVL/ePqU9id4MQ/ZG7/uS0W4LcXdzI5yY7chP8L1/84eNuuaCjnP2OLdh7ulGh6X2YhvKY8Er0u4Pno48jvNAg/4dbXh8EE9ZYwx+a/gmyjTQo7wdgYuPpw39x4q/C9+rnHAt6X/M/L3BQQPM/lPg+YuhyHK4+mf+nBwfNb/4b+3ri2aRYxL/nEoOcquIEqC+IPixKp5gMS97IN/XhBI3bac/vf4zXVvbO2h6Sf+7J9hbvnU6jxA3vtDQVM6Z9DKT3gopHHCRPxXeGjmTgbUUDhhLOmBU76qSptIUVInHgzoijKUomTu7xDXJbNGAz9V/6JLMoUGn/13WZCBqinC6S+eMZM+PnGbEIlQ45f+6U4O/gAv3s3cDv1Jjj99SQoqQHfrAQTM/OsuVC584rUIwiAtMJs7WPzbgHtIJhh4rPXR9poLXC/otTH3MjIBeQP/DP9qocgUK2XzBRIfzrjdu/jnzV/DKzE90wAJV+7K3mR2H0DCmRDBATz9X0VIrjGhfgYA/6kQfLnhn/1YuJEj+/MYABXOMSX6Vdf8KNL7/ucEF+Ursvwcfsef/ROoDiqPfR0g9Meg83qVegzweAPAB3joQ8dDxhe/KikapPv2Ki1iRH4pVRlT4axtHiD0P3DotHGMxgHy1r/V15Qyf+LoBNucXZtJhzYGeNZXVntkopsqnP7imSjrjPnWfyyU4rf+ZZvStv8BXsi2a7ibxpY5lrSZrAVeKlDT5LO2+4QQqQCUaVZq70GOf/Gs6VPrvPiRcalDVzG9HmotszrV9WIHjTfbZXg3Av5msp8WEl7F4KuD6g5kUPFf8GUt8rABeh8wgfOC44Qb4ZJNsDzgfw1IJvDigRA8aBXByV8PEfkWY/kXj8ogDw4oTaAecvh8HiDnpifA7BLxmWBoZjeX+ODi3LIOEOJDl1szwd/xFLT6OxN4KeA6HAPlAD51ApGfjMhPB4jw6xU4GzQS1x4f+6N/8ORCttZaB9f+EdwGBbi9yiFc+0fy4pLp/ir7pfR4f9aLO283DaD2n/4jGOyBf+mfpVbA7X/HC6/r8J2Jr3yjA1JlY+INpHElnp/ga7ksUC6DL3zUEfIfLWe03agOQ9EUjA33/7+X3mp7Ly0FZx6jBjeToyPLJsaSoDP6EQWFfhz9QLpH6z1WB6eAWpbVx1mpYRr5AoXSoLwSqBWl+QYUfnDRqBI57pyjQX1EDWuYYT8Uoo9eKpt4EUfYV8H+g61p7etApwYlQieYCCoH/XtkO7/g1X5waxHTL3jgMgCzSFr7D9gilN5H/05At0vhaENn0vGvujffBl7GL50kfJ0f/IEXiI7ov/5pYvou3+7xzyHWel04n7jTAmJXgTq/UrRNrdnxFf+idweArr07/4ozTARj945f25fTP7yAwvf80ziGsy/nj+5zHPu38W1kyn7MLZxja5vB/BgBR3MEFihAvI8GMk3bNNC2TTUiBIqGn/g0wCPaiBowoRNEJBthQ8jej6P9vRqvaJAc4H1EXHMqEQfiGCffQsQYRUMBNVEOL9UYYQD8Vwn7ohfQACfFQekAeNonQonmdVRsKg7sv7QvAOIbd1A8bHyYQ7C3GWLff+1xzQ8Fbej8FW0b85Ohjv4RIUUb9pM6og0CdGa4gQ3b5NfxM3Hh47g+z8+ZY/Ct/uOfXaea9m9Gd2PfU5MyEn/4bzvK+QPHdVww16Tv6t9IOhLYK3q4GyRE9hn8PEGHRIafQzDCDPuOSw9s1vOHeeHv49t18hPAkSH83jKEDzWjtiM+VswUGrjSJzuVWMmmCP/kazukf6ghgOuCMYpe1seFNBWxBDKGTe+5wCgVnf8tIXSeYEptaNQQPXfgX0tlsB9FOK9ADgUpITgLKOxjGIROskaR9mcAfEpGJb/glCrN8EPFKh90+g//ymwa2LkAQw7gcKHUMPIC+FbKshSSNRLwRsdgNUVQGD9s5ubj/NQimvxA9K/VIlqmCKBYOIREc351T/8BA58DNELB/9MUGEwlUNyXH2iJ0vMCGfPHkASd47xAxvybONZU7zPOGBjtev70zZP8bXw7xzj5GcMVzOFu3tjhA4zmqBGC7wIJFWOIQFTh2AE0cggs/JN2ZAzSNtWoIYBFe+jWXkKIU374eGiz+Ttan6XhV+9nH/EzBk3/k3KCXy3O/XuUMPyCWopSioo5aLR3FETEbA0R/QbuIk5Y3YGQFsBVVUZcwbV/Yx+keBi8GWG82OO94KaJsgD1vwY4dYe771Zdpy93cGWvG9i4+JUXSMZf6B/nJ+0qdQFqf5ROyNEdIf7LBI1XWYD4X+WqEQoCfsleIpC7+qdGiRD1/1JjjUBe2E9QvFxAfz/MD/zH+Ss64+v4NurNu/ZpgasQzbGE8FuONH4O4ThcqUBjJJ+fyg/Eawx80ea7ybftWo+XEYopBiJf40QJW/YfeBcJvs0Mkf0O7mMJQzOC8AzWJRxtIIEhzaVxrSkAVuTXFKXY9woSCPgVjV8fV4hcc5XQpW8X8N0EVXsuwLBfoGEKEOwXfrRC1pAL0P4zPq4LoI5fcJmfiku9lgV4N9f/skBYYPJrnlJThPiGF2ZeABH9rwnIVS/AnIOX9ksaVC+QXoEEfVciFOdXGTUFUMCvijP+5fwxDYNk4tv4NktJl3e4RgmrLfK9KfSElQZGA7+JptqF3cJv73yMQ46X9tWKVtOaAP9UZLSUOZKK1P5R6cuTjsRkGRUNgZT24qvx175CDi1lk0WgOLjh+niSkc2RF1Fo1rkoFoGLcjQ+oxCnJkh+w4KvivVIUBWIkgMuRUxQ2RHFCmcZUO/U2EGBP/Z/XHqXRcTn+JNoF4nTiJdaHmhwwY+sckpnfiTH+P08XQCXDI5pkMTTQOClBnaVIqoK6Z+F0CyiehxXghd2HJ89eH7hBsz4IRbcU2s1O5D1/F1Bphj5bTxSADdRo/BHCH4CAYZiX3forOLBh5eJRA3RV/4W/CKDGAI0+z/pOPEelmsMIkIDvwmoEUCx0TNA0IiAgn0AeygpysC+1PjBkxKis0dcjyKbO/ztJoS/7C0W0soOFM32TDHM4ZXEM0QuF5CQ/apb+FV2SMzf22OPrjWKeLeDAn3sf9f7jECe4w+s+p94zUJKuVTzTEH1b6w7OOOP2dUF5H0B3j9BHwUvEUoMdMO2LrwVUbHwKv7RlCLuYw83lagRJOdXsBSZQxIvGIqBLOevnKFv45uRkBnVaSXuWaSDgcIRcHli4ISFFq/RADLEhsVr4ZfnCOZpjdewBhlHWBqcKZ0O/8KoLoZqfFPkhp1rbGG3piDAmdd2P99sLHGOywnpG+6nfwGWQuSTb9AKjJ0jepceKhkCKm19ECp3IM7Qo4goN62IA4eJxxf83iOaKY8sZJHMPgh5liJm6d86n/2XGoJZRJCyEvhIUchifI7G5zQKfoNbCasPemXvjA+y9dpYYEWBGCimGxfCxnMBWknEdB1fzsBe5vZRRJ24kd1puQxAbI5f2z6rWS+QZClBAjTFKCFAOX968N+5nj/ru8q38W1YYMt9+vjXbUBXyPG8DYiAhpxtvQ2I+ZVPI+tEyRik3gbErj7wvtcagPaHdPnu4RiSXu1valT+mfzeyg5fawi+mlSOZ4Tg+KSHIfEpYevIyeMC8diBIg+vieyyAEoejeG3GgVRtph4KZK5QkfJ8TNH1YoxQC1ilhoCbVsjDHN0VMJ/ZssIp+boVvJEaOsFzjpI6fxcF9jvLup1X1yp+LUUUe+s1H0sokYb44e4RHClEqhc4AG9X8FHLSSWIrPjl2zz6fyNhL+PbzPHjtZc+nrPo4GvqjCAmpm0u4VqpY6gBewDVz4v+fLQkV9rEACAmuiJhkwAIgf8IvJAp4Ge9Pbga38CNpKE2XUFa41E8yH23x41Co/rOb95czhsz9B1b1OwsSyAyNN9ziaamgK4h5pizrZWoVG424Q0IQrmN9i/eis5tlC4ELh0dMTl4t9F8mutoiwdLSz4w8AuMud8WWDk8fRtDaS6V/E5wGeEgv/lr1khehgDkOIH6PhrCOD8wr7WGkrgW3DxPRQl1/HRcZm/4oA49uccfxvfvINGa6Ie9+vzNtqZ+btq3O+vO7RMoBN+rQG4Ay58VOQr9gT/EWGIG6VDtzmrTH4X1f8FPwTd4fm81hF62cA3P85Jss6RdyFy8hxB1imMcfwspzDvdrapUe2r1x07mcxYcPzLGKqGeD75vZU9rN7GU+5t1Cr5XWsUcw+86m3CV6kh0Bd7bObBjxQl9Oo5Eb+f+JC/hMD4j1hjeEQg5PGg3iasC3CqidOuEYoxgrLukOB+Web4MWAkhX/Sr7WGAv+npJ1D/LbG4vhHzt96gbp/6l2Cb+NbZuclke+u4NikBEMCZ6c6tvbIwSV60kapAYj9m2+KD4Sp4GcNADwT+Pm6es3hs0AxROcKUaPwHcM7v2UsKR4O9FIDyLkB4hd8/XN8Ys7EkfRS49C8/ucF9N2+I2lMvvPns3uJnvDL/BmNp97ZyzNS6wKkFp8P+vy+hwDm+f41ZsVrDFD+quyZopjnCpvCBFbxU/h63kUJkZ81iGcEEv6BMmmPIiZ97WLgS4QS/uepWndI+YFFLzB1Dxz/GQDj/3CBfO1ipQbh4fjEolkvUJMv/HV86+Ps8cOzMb1HO6KQN+Xnp8fHbkCBnr33s20/+aDOCS0gGo6SZvceaA9+gPBH5U/OCLNpYAeEP1lD0YvyoI/9jh4uJj+7f/DVbvBp5rDl60cXjGbCDALBQIupmRrBxfHA7OBs9P7zp6J9NBwq48P5On5nCFszBPlBQft9aJ8mAKfI8XEC1Xs7f7jsEJFQDNvOIXtb3eG4WziyMrPUEOLVsvIyXn9oiv+QjzxzdLooeJDiJfNFKv6GrwvsDz8Tf/0DR2WNUGgbIPgSgZAlVf+FSlv9e0QoL2wUXFpSl/HV5yDQqvz+dXymAPljQD8ySG8Z2QKpMwBrEYxXHudaJBwqAcvf4EOyGVpoyUcfqjgmdsBoZY7sAskQvobQ2k4+TcERccBoAl2yiNEyCi9FSBBw7be99q+XtJmibGXo2mH8WYSUoePq6V8czg+Qeo/zlzNsq39OcD/6cfS/tnfezN9HViE+LsBfrCHlPr7JfDTABDfLAuQ1AkSWHBwZ9TbiusB+e8aDa4qAfcOt5Taj7gw7GEsKQBevEXRMwK7u8RuQBtbzAnLX8T0iGKSDR+OcSk++8Pfx7frPH2twxibH8teAKlhRyyqWeCnycRz5oI7Uha+BpMpXo2URLXnZw9K/n1YDYKFReJYB0WjSm3yPfJ/+6bjw1NC+4xO2mZ4856dWCZ1fC4UBCIOqeUhvD/sOpdovA7CL5/mja/tXq9jPOQfUxgG5rRcwX/3gKnEc6wJDzvkczbWmCMh9lr/2m3yaVBjlrykfVT6URlgPnTVFQP5w5sQi5qJwRoEwjjUFEKfGWv9WIi3k3z5+LlI6/gATF17wK8df6ODCX8c3o2IiUINljhmkkgL0oYhGc+YOneGpYeZpFO4Wawi98kHhSwLLgD6LaHxkeAw0s4jdEHic8jMSn11I32CMIiplBBLWMC2qDelbBv8jf6Gd43PmMgew2UwBlhDdLMMdeE0RtDJTgL3ax0/AXuff+VHkl/NXB8aLZMkIaUPdM1NToR8yiCUFGsPff1ieX5nCSNpfUgTFbs74UMwIueLneN5GjDfgoJ9ThHibKUyNQOYLBeHxoYiK6llSAI9s9Q/5HKHc4vCfKQ7yOQUIVD4D6F/HI8TNR33mb2tyhpBW8FRQOQp2xqBZbrHhiJdFKotc/+SDSLKZTswQGL6mVfSf3kVIPk1xwOcEsrrmMNMJnxMQps0uQrKIWQ2oFH3u+GdFWCXfopoPEhX7tDqyFiG1owGLiGuR0H85f86corF6/uy5jgCO/hWnnUJHZASx9u94rGMKCaONDO0/58cu0v/5jHVZ/75+dWq5j+8Cu43oPhUpEf+Hlk8RCgb0taQAoKHHpcZY6PGkIW/dw/FgjVDUgY39BUfDsKymUKL4Av/6Pr7lMzrj/9rOcMl9EwbiRgJM+v7P2/lP9IMdYZyPR9Oa3kqLwIeFkbjslbXTpgQahfnmuyahAuEgwEE01wBo/tZfPwUK5cnDoeEt0QZyqPoWJtvShRCMGQ4OBvvCu/sZZkMiKn1lKmJvsn42R/8mkgQmwwwGogs/yCIIdQPNlmEC/KbxAxeb7EOcIrF0/2ZvEj9NzDXAyxJ/Ntfx8O/tq/+mXqXhiw/85x4HuO4/9iX7ZSLbwK+bdOHG3xKd5OSFv7wCUC5c0pbqy345LRaehFumIXVe+wlmfp4rFPn6Qod+rVAm/2d/QKV9ksKj86/xrwdRIA8/v5xBVxhsJIHkxPFgeIhbBKDs9FU8ID/P+vfSz7nJiEqs4+E/DLRg+cjbzG15MGCgKUUsYPdw+B+u/QizyT4FI58rDAiwsSvMmM4AL7E8PvAl/w3BjQdGYPPQcPIWgqz4F7js8318ENrvH+TZNAhISJr9yyANwW/IJhwrxK/OyXgq8HsdT5yr7r/GB0HBjM8e5tSt1f131xcv6Nw3tavUM9OQDyuMy+bfEzg9OPPYCJNuSwAEkCnffGVwCMRAsc/4uUIR/nlkgmp+cmzg73Er5rwF5l16Lh0P1L11LRDWRQk7eLt+evjBPoC8QiipvvR9qMj/oU37lmH5KUpEywJ46E+KpihE7hWgDv5IVxc5wWbPFQYMi6u/Jfrw3zw+A1z0yQdmD4yOeIg1pPFR07K/nYeV8hgwfmeikcYo2w8NcrTO+FYANNCXtd3O/tMH8fuB8wm+Zs8V2hbyYR9DnIFk/eD3jO/8JHxt30RDWd/nUe9+349UXznoOPy8H5fOHpyk6fdEp7UK8M+vFQrFUxTl2CVE/+9xm99BNad4fgXgWAACpXZuT57goxGn9wJDmsCIVjMPyWYIAD/0p4S1dBthafoFDGN6mh4hkcJs31I1Q+el8QqhST0fU+KvRybesg28ue9hvqf9X/1HQVL9O5fAa3yw/wzzYS+4bWcRnhMI+47nA20vnIYFpSbgX41tDwjksO9snyr9f48STH4cwBsOXzvOaiBEc+RDHa9QSb/akQm6lVZj/F8ecFTr4w/G6Dqr4+73/69hRvbW2/h8zkQbKuuPkP16Rfji7TyLgDL06P8xbtcsRQuB9KBn/m8CeYLf5r4JaILOirvdvSHCQ+LQ53xPQaDp1wExTZDuq4U8wYYpDj+6B8EWkR+eJ1C36/K+cPTXBNE5pXqPjGuCKEm4Z/vPOH/LBHfw7yuA/u0CMth3FEwMAvjVocTD1ez1HX+k+yfXScF4/gl+8KOI/7X9yRP6Z/v5/p94TifRA2Q/k44MMzzbc1j4+wGBwUcquQrNur3uwYjAqvNMSI8JrpS7922XXS/aM/g25hL8+oWPoT/oAhxgwj9/jWv+Mr/i7Ty96rtfT4EcNPhknIXC0kTEvSSYGbpA9HvbRGyaAMeId/BeLbVwhy7wx41M2yoO6yNQmrH1jt1rkYkj0MjPNYt6SLhMnARffk+hgW4aBPZNsG+ezf9Waiagf5MfBiggiEHeU5VjzvMcnBbQPsrUPs0gmFv12lXAjEjktraGKEURKGFqrf1LDj9E+6Hrtgi8Hu2zf9Lpk9m5h0BPxP/EZxs3/E4/zz0ERuURRQhaPmi58PuBo7CnklPnw8/OPZgsze/HW/9mr4ZX82JWlLlarBD+9JnH+czFpyy3PBONFrxAlf/+HLdrL8ZSX8tEv06BkY4I7/rMj+wnpK+Ck33XlwkLHtXPFmpHPexj/XA8ZZYvCQ+h2S8Tk35cdw5rOsO8rTBUIAh+Td3RbCMAz0vg7skCfih+SrdEEHj28KKAAPufvq2VzQI/MgFpo9TJ/+JBY7SMhchbJmK0UVpU/cxE1GILfszKOEaw3DOgYw+he4nXUn+8QqX3J2uMz69S6w0/1Mcewmh93OceDB9G+x62rXzUCdl6rJD0v2jMhK15oZDkVqPWjiiEluhxGX+NnxOwkETuZqWYlesUKOZIFCvgezFbWSTm11uxUD30VQIkj+Z6J1hNlAuJ00TzsP/68rxZwKO6XB5ULy0wAFcxqgdBdBAcpr1Y8TAQ/iDZcUa5wB+iiQMCTABGfifgq14tPvFv7iodZCjDjqBKVsCPB3MHzEYE8aN9FCTgutNYGzV6qjFCbcctt+DGvaYtOMu6CdFN1DCQniKhrtN7OMoUgABOjOACj0c3vvwe9F5sDTcmRjcgc/VzKqtj6y5P4+KCXMHSckEK8ILT0d/F/hr/B+mhM34UN50QAAAAAElFTkSuQmCC","custom",["config","theme-data"],"default","",""]},iconsets:{landmarks:{type:"source",source:"mapbox-landmarks"}},schema:{theme:{default:"default",values:["default","faded","monochrome","custom"],metadata:{"mapbox:title":"Color theme","mapbox:description":"Switch between predefined themes or set a custom theme."}},"theme-data":{default:"",type:"string",metadata:{"mapbox:title":"Color theme","mapbox:description":"Set a custom theme based on a look-up table (LUT).","mapbox:auxiliary":["theme","custom"]}},lightPreset:{default:"day",type:"string",values:["dawn","day","dusk","night"],metadata:{"mapbox:title":"Light preset","mapbox:description":"Switch between 4 time-of-day states: dusk, dawn, day and night."}},showPlaceLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Place labels","mapbox:description":"Show or hide place labels."}},colorPlaceLabels:{default:"hsl(0, 0%, 0%)",type:"color",metadata:{"mapbox:title":"Place labels color","mapbox:description":"Set a custom color for place labels.","mapbox:auxiliary":["showPlaceLabels",!0]}},showAdminBoundaries:{default:!0,type:"boolean",metadata:{"mapbox:title":"Administrative boundaries","mapbox:description":"Show or hide administrative boundaries."}},colorAdminBoundaries:{default:"hsl(345, 100%, 70%)",type:"color",metadata:{"mapbox:title":"Administrative boundaries color","mapbox:description":"Set a custom color for administrative boundaries.","mapbox:auxiliary":["showAdminBoundaries",!0]}},colorGreenspace:{default:"hsl(115, 60%, 84%)",type:"color",metadata:{"mapbox:title":"Greenspace color","mapbox:description":"Set a custom color for greenspaces such as forests, parks, and woods."}},colorWater:{default:"hsl(200, 100%, 80%)",type:"color",metadata:{"mapbox:title":"Water color","mapbox:description":"Set a custom color for water."}},showRoadLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Road labels","mapbox:description":"Show or hide road labels including road shields."}},colorRoadLabels:{default:"hsl(0, 0%, 25%)",type:"color",metadata:{"mapbox:title":"Road labels color","mapbox:description":"Set a custom color for road labels.","mapbox:auxiliary":["showRoadLabels",!0]}},showTransitLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Transit labels","mapbox:description":"Show or hide transit labels."}},colorMotorways:{default:"hsl(214, 23%, 70%)",type:"color",metadata:{"mapbox:title":"Motorways color","mapbox:description":"Set a custom color for motorway roads."}},colorTrunks:{default:"hsl(235, 20%, 70%)",type:"color",metadata:{"mapbox:title":"Trunk roads color","mapbox:description":"Set a custom color for trunk roads."}},colorRoads:{default:"hsl(224, 25%, 80%)",type:"color",metadata:{"mapbox:title":"Other roads color","mapbox:description":"Set a custom color for other roads."}},showPedestrianRoads:{default:!0,type:"boolean",metadata:{"mapbox:title":"Pedestrian paths","mapbox:description":"Show or hide pedestrian roads, paths, and trails."}},roadsBrightness:{default:.4,type:"number",metadata:{"mapbox:title":"Roads brightness","mapbox:description":"Control how bright roads appear in dark styles."}},showPointOfInterestLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"POI labels","mapbox:description":"Show or hide POI labels."}},densityPointOfInterestLabels:{type:"number",default:3,minValue:1,maxValue:5,stepValue:1,metadata:{"mapbox:title":"POI density","mapbox:description":"Set the density of POI labels.","mapbox:auxiliary":["showPointOfInterestLabels",!0]}},backgroundPointOfInterestLabels:{default:"circle",type:"string",values:["circle","none"],metadata:{"mapbox:title":"POI background","mapbox:description":"Set background shape for POI labels.","mapbox:auxiliary":["showPointOfInterestLabels",!0]}},colorModePointOfInterestLabels:{type:"string",default:"default",values:["default","single"],metadata:{"mapbox:title":"POI color mode","mapbox:description":"Use the default categorical colors or set a single custom color for POI labels.","mapbox:auxiliary":["showPointOfInterestLabels",!0]}},colorPointOfInterestLabels:{default:"#848e94",type:"color",metadata:{"mapbox:title":"POI color","mapbox:description":"Set a custom color for POI labels.","mapbox:auxiliary":[["showPointOfInterestLabels",!0],["colorModePointOfInterestLabels","single"]]}},showLandmarkIcons:{default:!1,type:"boolean",metadata:{"mapbox:title":"Landmark icons","mapbox:description":"Show or hide Landmark icons."}},showLandmarkIconLabels:{default:!0,type:"boolean",metadata:{"mapbox:title":"Landmark icon labels","mapbox:description":"Show or hide Landmark icon labels.","mapbox:auxiliary":["showLandmarkIcons",!0]}},show3dObjects:{default:!0,type:"boolean",metadata:{"mapbox:title":"3d buildings and trees","mapbox:description":"Show or hide 3d objects (buildings, landmarks, trees, etc.) including shadows, ambient occlusion, and flood lights."}},colorPlaceLabelHighlight:{default:"hsl(4, 43%, 55%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for place labels when setting highlight state."}},colorPlaceLabelSelect:{default:"hsl(4, 53%, 42%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for place labels when setting select state."}},colorBuildingHighlight:{default:"hsl(34, 30%, 93%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for building fill extrusion when setting highlight state."}},colorBuildingSelect:{default:"hsl(214, 82%, 63%)",type:"color",metadata:{"mapbox:title":"Color","mapbox:description":"Set a custom color for building fill extrusion when setting select state."}},font:{default:"DIN Pro",type:"string",metadata:{"mapbox:title":"Font","mapbox:description":"Set the text font family. The basemap uses Medium, Bold, Italic and Regular. Falls back to Arial Unicode MS if a weight is missing."}}},sources:{composite:{url:"mapbox://mapbox.mapbox-bathymetry-v2,mapbox.mapbox-streets-v8-lite,mapbox.mapbox-terrain-v3,mapbox.mapbox-models-v1,mapbox.mapbox-poi-v2",type:"vector",promoteId:{building:["coalesce",["get","building_id"],["id"]]},data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a> <a href="https://www.openstreetmap.org/copyright/" target="_blank" title="OpenStreetMap" aria-label="OpenStreetMap">© OpenStreetMap</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85,180,85],cacheControl:"max-age=43200,s-maxage=7200",center:[0,0,0],constituents:[{maxzoom:7,minzoom:0,source:"mapbox.mapbox-bathymetry-v2"},{maxzoom:16,minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{maxzoom:15,minzoom:0,source:"mapbox.mapbox-terrain-v3"},{maxzoom:16,minzoom:13,source:"mapbox.mapbox-models-v1"},{maxzoom:16,minzoom:6,source:"mapbox.mapbox-poi-v2"}],format:"pbf",language_options:{all:"Every available language",ar:"Arabic",bg:"Bulgarian",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Farsi",fi:"Finnish",fr:"French",he:"Hebrew",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ka:"Georgian",ko:"Korean",local:"Renderable local language",lv:"Latvian",ms:"Malay",nb:"Norwegian Bokmål",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sq:"Albanian",sr:"Serbian",sv:"Swedish",th:"Thai",tl:"Tagalog",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese","zh-Hans":"Simplified Chinese","zh-Hant":"Traditional Chinese"},mapbox_logo:!0,maxzoom:16,minzoom:0,name:"Mapbox POI v2 + Mapbox Models v1 + Mapbox Terrain v3 + Mapbox Streets v8 Lite + Mapbox Bathymetry v2",scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.mapbox-bathymetry-v2,mapbox.mapbox-streets-v8-lite,mapbox.mapbox-terrain-v3,mapbox.mapbox-models-v1,mapbox.mapbox-poi-v2/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"depth",maxzoom:7,minzoom:0,source:"mapbox.mapbox-bathymetry-v2"},{id:"landuse",minzoom:5,source:"mapbox.mapbox-streets-v8-lite"},{id:"waterway",minzoom:7,source:"mapbox.mapbox-streets-v8-lite"},{id:"water",minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{id:"aeroway",minzoom:9,source:"mapbox.mapbox-streets-v8-lite"},{id:"structure",minzoom:13,source:"mapbox.mapbox-streets-v8-lite"},{id:"building",minzoom:15,source:"mapbox.mapbox-streets-v8-lite"},{id:"landuse_overlay",minzoom:5,source:"mapbox.mapbox-streets-v8-lite"},{id:"road",minzoom:3,source:"mapbox.mapbox-streets-v8-lite"},{id:"admin",minzoom:1,source:"mapbox.mapbox-streets-v8-lite"},{id:"place_label",minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{id:"airport_label",minzoom:8,source:"mapbox.mapbox-streets-v8-lite"},{id:"transit_stop_label",minzoom:5,source:"mapbox.mapbox-streets-v8-lite"},{id:"natural_label",minzoom:0,source:"mapbox.mapbox-streets-v8-lite"},{id:"poi_label",minzoom:6,source:"mapbox.mapbox-streets-v8-lite"},{id:"motorway_junction",minzoom:9,source:"mapbox.mapbox-streets-v8-lite"},{id:"housenum_label",minzoom:16,source:"mapbox.mapbox-streets-v8-lite"},{id:"hillshade",maxzoom:22,minzoom:0,source:"mapbox.mapbox-terrain-v3"},{id:"landcover",maxzoom:12,minzoom:0,source:"mapbox.mapbox-terrain-v3"},{id:"tree",minzoom:15,source:"mapbox.mapbox-models-v1"},{id:"wind_turbine",minzoom:13,source:"mapbox.mapbox-models-v1"},{id:"poi",maxzoom:16,minzoom:6,source:"mapbox.mapbox-poi-v2"}],worldview_default:"CN",worldview_options:{ALL:"Every available worldview",AR:"Argentina",CN:"China",IN:"India",JP:"Japan",MA:"Morocco",RS:"Serbia",RU:"Russia",TR:"Turkey",US:"United States",VN:"Vietnam"}}},"3dbuildings":{url:"mapbox://mapbox.mapbox-3dbuildings-v1",type:"batched-model",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a>',bounds:[-180,-85,180,85],capabilities:["draco"],center:[0,0,3],created:1683634017088,description:"Public tileset - Mapbox 3D buildings",format:"glb",id:"mapbox.mapbox-3dbuildings-v1",mapbox_logo:!0,maxzoom:14,minzoom:14,modified:1719240021306,name:"Mapbox 3D landmark buildings v1",private:!1,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://3dtiles/mapbox.mapbox-3dbuildings-v1/{z}/{x}/{y}.glb"],variants:[{capabilities:["meshopt"],tiles:["mapbox://3dtiles/mapbox.mapbox-3dbuildings-v1-meshopt/{z}/{x}/{y}.glb"]}],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-3dbuildings-v1"}},"mapbox-dem":{url:"mapbox://mapbox.mapbox-terrain-dem-v1",type:"raster-dem",tileSize:514,data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a>',autoscale:!0,bounds:[-180,-85,180,85],cacheControl:"max-age=43200,s-maxage=604800",center:[0,0,3],created:1604614692e3,description:"png or webp file extension must be used. height = -10000 + ((R * 256 * 256 + G * 256 + B) * 0.1)",encoding:"mapbox",filesize:0,format:"png",id:"mapbox.mapbox-terrain-dem-v1",mapbox_logo:!0,maxzoom:14,minzoom:0,modified:160583357e4,name:"Mapbox Terrain-DEM v1",packs:{scheme:[{indexzoom:0,maxzoom:5,minzoom:0},{indexzoom:6,maxzoom:9,minzoom:6},{indexzoom:10,maxzoom:12,minzoom:10},{indexzoom:11,maxzoom:14,minzoom:13}]},private:!1,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://raster/mapbox.mapbox-terrain-dem-v1/{z}/{x}/{y}.png"],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-terrain-dem-v1"}},"mapbox-landmark-pois":{url:"mapbox://mapbox.mapbox-landmark-pois-v1",type:"vector",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a>',bounds:[-180,-85,180,85],center:[0,0,0],created:1742999403069,description:"POIs for Landmarks",filesize:0,format:"pbf",id:"mapbox.mapbox-landmark-pois-v1",mapbox_logo:!0,maxzoom:17,minzoom:10,modified:1754404415e3,name:"Mapbox Landmark POIs v1",private:!1,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.mapbox-landmark-pois-v1/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"landmarks_poi",minzoom:10,source:"mapbox.mapbox-landmark-pois-v1"}],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-landmark-pois-v1"}},"mapbox-landmarks":{url:"mapbox://mapbox.mapbox-landmark-icons-v1",type:"raster-array",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85,180,85],cacheControl:"max-age=43200,s-maxage=604800",capabilities:[],center:[0,0,3],created:1739202188782,description:"External tileset used for production - Mapbox Landmark Icons v1",extra_bounds:[[-18.716583,34.608345,48.080292,73.128931],[122.871094,26.431228,158.730469,46.800059],[-129.550781,19.642588,-64.335938,53.540307],[-46.7563,-23.6582,-43.1526,-22.8737],[76.948907,28.403519,77.385614,28.811024],[100.221813,13.570897,100.739887,13.954299]],format:"mrt",id:"mapbox.mapbox-landmark-icons-v1",mapbox_logo:!0,maxzoom:10,minzoom:10,name:"Mapbox Landmark Icons v1 - Production",private:!1,raster_layers:[{fields:{current_job_id:"2025-08-04"},id:"landmark-icons"}],scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://rasterarrays/mapbox.mapbox-landmark-icons-v1/{z}/{x}/{y}.mrt?jobid=2025-08-04"],webpage:"https://studio.mapbox.com/tilesets/mapbox.mapbox-landmark-icons-v1"}}},sprite:"mapbox://sprites/mapbox/standard/cearqi1fcr4p9hhmnba1yy3fr",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"globe"},layers:[{id:"land",type:"background",metadata:{"mapbox:group":"land & water"},paint:{"background-color":["match",["config","lightPreset"],"night","hsl(230, 30%, 95%)","hsl(20, 20%, 95%)"],"background-emissive-strength":["interpolate",["linear"],["zoom"],13,.1,14,["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25]]}},{id:"landcover",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landcover",maxzoom:12,paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",.1,.2],"fill-color":["match",["get","class"],"snow","hsl(0, 0%, 100%)",["scrub"],["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],12]]],["flooded"],["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],2]]],"wood",["config","colorGreenspace"],["crop"],["hsl",["max",0,["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],13]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],2]]],["range"],["hsl",["max",0,["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],25]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],5]]],["bare"],"hsl(55, 60%, 94%)",["built-up"],"hsl(20, 100%, 97%)","hsl(20, 20%, 95%)"],"fill-opacity":["interpolate",["linear"],["zoom"],10,1,12,0],"fill-antialias":!1}},{id:"national-park",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse_overlay",minzoom:5,paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",.08,.2],"fill-color":["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["*",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],.5]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]]],"fill-opacity":["interpolate",["linear"],["zoom"],5,0,6,.5],"fill-antialias":!1}},{id:"road-pedestrian-polygon-fill",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["match",["get","class"],["path","pedestrian"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"Polygon"]],paint:{"fill-color":"hsl(0, 20%, 97%)","fill-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25],"fill-antialias":!1}},{id:"landuse",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse",minzoom:8,filter:["all",[">=",["to-number",["get","sizerank"]],0],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14],["match",["get","type"],["skateboard","playground","parking","surface","sand"],!1,!0]],paint:{"fill-emissive-strength":["interpolate",["linear"],["zoom"],12,["match",["config","theme"],"monochrome",.05,.25],14,["match",["config","theme"],"monochrome",0,.25]],"fill-color":["interpolate",["linear"],["measure-light","brightness"],.1,["match",["get","class"],"wood",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],10]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.2]]],"scrub",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],["agriculture","grass"],["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],3]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],"park",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],4]]],"airport","hsl(225, 35%, 70%)","cemetery",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],30]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],9]]],"glacier","hsl(200, 70%, 95%)","hospital","hsl(0, 30%, 70%)","pitch",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],10]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]]],"sand","hsl(52, 65%, 75%)","school","hsl(40, 10%, 60%)","commercial_area","hsl(324, 27%, 70%)","residential","hsl(20, 7%, 97%)",["facility","industrial"],"hsl(230, 20%, 70%)","hsl(20, 22%, 86%)"],.4,["match",["get","class"],"wood",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],10]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.2]]],"scrub",["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],["agriculture","grass"],["hsla",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],3]],["max",0,["-",["to-number",["at",3,["to-hsla",["config","colorGreenspace"]]]],.4]]],"park",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],4]]],"airport","hsl(225, 60%, 92%)","cemetery",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],10]],["at",2,["to-hsla",["config","colorGreenspace"]]]],"glacier","hsl(200, 70%, 90%)","hospital","hsl(0, 50%, 92%)","pitch",["hsl",["max",0,["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],12]],["min",100,["+",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],10]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],2]]],"sand","hsl(52, 65%, 86%)","school","hsl(40, 50%, 88%)","commercial_area","hsl(24, 100%, 94%)","residential","hsl(20, 7%, 97%)",["facility","industrial"],"hsl(230, 15%, 92%)","hsl(20, 22%, 86%)"]],"fill-opacity":["interpolate",["linear"],["zoom"],9,["match",["get","class"],["airport"],.8,.2],10,["match",["config","theme"],"monochrome",["match",["get","class"],["residential","industrial","hospital","parking","school","facility","commercial_area"],0,["grass","scrub","glacier","pitch","sand","airport"],1,["interpolate",["linear"],["measure-light","brightness"],.1,.8,.4,1]],["match",["get","class"],["residential"],0,["grass","scrub","glacier","pitch","sand","airport"],1,["interpolate",["linear"],["measure-light","brightness"],.1,.8,.4,1]]]],"fill-antialias":!1}},{id:"recreation-polygon",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse",minzoom:14,filter:["all",[">=",["to-number",["get","sizerank"]],0],["<=",["-",["to-number",["get","sizerank"]],["interpolate",["exponential",1.5],["zoom"],12,0,18,14]],14],["match",["get","type"],["skateboard","playground","parking","surface","sand"],!0,!1]],paint:{"fill-emissive-strength":["interpolate",["linear"],["zoom"],12,["match",["config","theme"],"monochrome",.05,.25],14,["match",["config","theme"],"monochrome",0,.25]],"fill-opacity":["interpolate",["linear"],["zoom"],14,0,15,1],"fill-color":["interpolate",["linear"],["measure-light","brightness"],.1,["match",["get","type"],["parking","playground","skateboard","surface"],"hsla(20, 3%, 90%, 0.2)","hsl(52, 65%, 75%)"],.4,["match",["get","type"],["parking","playground","skateboard","surface"],"hsl(20, 3%, 92%)","hsl(52, 65%, 86%)"]],"fill-antialias":!1}},{id:"3d-hillshade",type:"hillshade",metadata:{"mapbox:group":"land & water"},source:"mapbox-dem",minzoom:6,maxzoom:14.49,paint:{"hillshade-exaggeration":["interpolate",["exponential",1.5],["zoom"],12,.4,14,0],"hillshade-illumination-anchor":"map","hillshade-shadow-color":["interpolate",["exponential",1.5],["zoom"],7,["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 10%, 0%, 0.2)",.3,"hsla(0, 100%, 0%,0.2)"],10,["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 10%, 0%, 0.3)",.3,"hsla(0, 100%, 0%,0.2)"]],"hillshade-highlight-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 20%, 85%, 0.2)",.3,"hsla(0, 100%, 100%, 0.8)"],"hillshade-accent-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(235, 30%, 30%, 1)",.3,"hsla(0, 100%, 100%, 1)"]}},{id:"hillshade",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"hillshade",maxzoom:16,paint:{"fill-emissive-strength":["interpolate",["exponential",1.5],["zoom"],5.9,0,6,["match",["config","theme"],"monochrome",0,.2]],"fill-color":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["get","class"],"shadow","hsla(235, 10%, 10%, 0.1)","hsla(235, 20%, 80%, 0)"],.3,["match",["get","class"],"shadow","hsla(40, 20%, 20%, 0.04)","hsla(20, 20%, 100%, 0.12)"]],"fill-opacity":["interpolate",["linear"],["zoom"],10,1,12,.8,16,0],"fill-antialias":!1}},{id:"pitch-outline",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"landuse",minzoom:15,filter:["any",["==",["get","class"],"pitch"],["==",["get","type"],"playground"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-color":["match",["get","type"],["playground","skateboard"],"hsl(0, 0%, 85%)",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],10]]]]}},{id:"waterway-shadow",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":"round"},paint:{"line-color":["hsla",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],19]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],1]],["to-number",["at",3,["to-hsla",["config","colorWater"]]]]],"line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-translate":["interpolate",["exponential",1.2],["zoom"],7,["literal",[0,0]],16,["literal",[-1,-1]]],"line-translate-anchor":"viewport","line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]}},{id:"waterway",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"waterway",minzoom:8,layout:{"line-cap":["step",["zoom"],"butt",11,"round"],"line-join":"round"},paint:{"line-color":["config","colorWater"],"line-width":["interpolate",["exponential",1.3],["zoom"],9,["match",["get","class"],["canal","river"],.1,0],20,["match",["get","class"],["canal","river"],8,3]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,8.5,1]}},{id:"water",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"water",paint:{"fill-color":["interpolate",["linear"],["zoom"],13,["config","colorWater"],14,["interpolate",["linear"],["measure-light","brightness"],0,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],55]],["to-number",["at",3,["to-hsla",["config","colorWater"]]]]],.02,["config","colorWater"]]],"fill-emissive-strength":["interpolate",["linear"],["zoom"],5,["match",["config","theme"],"monochrome",.05,.1],7,0],"fill-antialias":!1}},{id:"water-depth",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"depth",maxzoom:8,paint:{"fill-color":["interpolate",["linear"],["zoom"],6,["interpolate",["linear"],["get","min_depth"],0,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["to-number",["at",2,["to-hsla",["config","colorWater"]]]],.35],200,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],8]],.35],7e3,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],16]],.35]],8,["interpolate",["linear"],["get","min_depth"],0,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["to-number",["at",2,["to-hsla",["config","colorWater"]]]],0],200,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],8]],0],7e3,["hsla",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],16]],0]]],"fill-antialias":!1}},{id:"land-structure-polygon",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"structure",minzoom:13,filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"Polygon"]],paint:{"fill-color":"hsl(20, 20%, 95%)","fill-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25],"fill-antialias":!1}},{id:"land-structure-line",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"structure",minzoom:13,filter:["all",["==",["get","class"],"land"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"square"},paint:{"line-width":["interpolate",["exponential",1.99],["zoom"],14,.75,20,40],"line-color":"hsl(20, 20%, 95%)","line-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome",.05,0],.3,.25]}},{id:"aeroway-polygon",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"aeroway",minzoom:11,filter:["==",["geometry-type"],"Polygon"],paint:{"fill-emissive-strength":.15,"fill-color":"hsl(225, 52%, 87%)","fill-opacity":["interpolate",["linear"],["zoom"],10,0,11,1],"fill-antialias":!1}},{id:"aeroway-line",type:"line",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"aeroway",minzoom:9,filter:["==",["geometry-type"],"LineString"],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.3,.8],"line-color":["interpolate",["linear"],["measure-light","brightness"],0,"hsl(238, 16%, 40%)",.2,"hsl(225, 52%, 87%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],9,["match",["get","type"],"runway",1,.5],18,["match",["get","type"],"runway",80,20]],"line-opacity":["interpolate",["linear"],["zoom"],10,0,11,1]}},{id:"building-underground",type:"fill",metadata:{"mapbox:group":"land & water"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["==",["get","underground"],"true"],["==",["geometry-type"],"Polygon"]],paint:{"fill-color":["case",["to-boolean",["feature-state","select"]],["config","colorBuildingSelect"],["to-boolean",["feature-state","highlight"]],["config","colorBuildingHighlight"],"hsl(240, 60%, 92%)"],"fill-opacity":["interpolate",["linear"],["zoom"],15,0,16,.5],"fill-antialias":!1}},{id:"bottom",type:"slot",metadata:{"mapbox:description":"Above polygons (land, landuse, water, etc.)"}},{id:"tunnel-path-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-dasharray":[3,1]}},{id:"tunnel-pedestrian-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","type"],["pedestrian"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-dasharray":[3,1]}},{id:"tunnel-steps-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 10%, 93%)"}},{id:"tunnel-minor-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-dasharray":[3,3]}},{id:"tunnel-street-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1],"line-dasharray":[3,3]}},{id:"tunnel-minor-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"tunnel"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1],"line-dasharray":[3,3]}},{id:"tunnel-secondary-tertiary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-dasharray":[3,3]}},{id:"tunnel-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-dasharray":[3,3]}},{id:"tunnel-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-dasharray":[3,3]}},{id:"tunnel-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],85],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-dasharray":[3,3]}},{id:"tunnel-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":[10,0]}},{id:"tunnel-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)","line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"tunnel-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","type"],"pedestrian"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":"round","line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.05,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(295, 11%, 95%)"}},{id:"tunnel-construction",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"construction"],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,18,20,22,200],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]],"line-dasharray":[.2,.1]}},{id:"tunnel-minor",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-minor-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"tunnel"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],["motorway_link"],["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]],.2]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]],.2]]]}},{id:"tunnel-street",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]],"line-opacity":["step",["zoom"],0,14,1]}},{id:"tunnel-street-low",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,maxzoom:14,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-secondary-tertiary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorRoads"]]]],.2]]}},{id:"tunnel-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.3],["-",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]],.2]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10],98],["-",["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]],.2]]]}},{id:"tunnel-oneway-arrow",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["==",["get","oneway"],"true"],["step",["zoom"],["match",["get","class"],["primary","secondary","street","street_limited","tertiary"],!0,!1],16,["match",["get","class"],["primary","secondary","tertiary","street","street_limited","primary_link","secondary_link","tertiary_link","service","track"],!0,!1]]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"tunnel-oneway-arrow-trunk",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["trunk","trunk_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"tunnel-oneway-arrow-motorway",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["motorway","motorway_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"tunnel-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"tunnel"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.2],"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,.5],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"ferry",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry"],paint:{"line-emissive-strength":["interpolate",["linear"],["zoom"],13,["match",["config","theme"],"monochrome",.2,.3],14,["match",["config","theme"],"monochrome",.4,.5]],"line-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],50]],50],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]]]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,17,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1],"line-dasharray":["step",["zoom"],["literal",[1,0]],13,["literal",[12,4]]]}},{id:"ferry-auto",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["==",["get","type"],"ferry_auto"],paint:{"line-emissive-strength":["interpolate",["linear"],["zoom"],13,["match",["config","theme"],"monochrome",.15,.3],14,["match",["config","theme"],"monochrome",.3,.5]],"line-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],50]],50],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],20]]]]],"line-opacity":["interpolate",["linear"],["zoom"],8,0,17,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,20,1]}},{id:"road-path-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"road-steps-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":"hsl(0, 10%, 80%)"}},{id:"road-pedestrian-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","class"],"pedestrian"],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"road-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"road-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"road-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-join":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"road-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"pedestrian"],["match",["get","structure"],["none","ford"],!0,!1],["case",["has","layer"],[">=",["get","layer"],0],!0],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"],"line-join":["step",["zoom"],"miter",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"golf-hole-line",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["==",["get","class"],"golf"],paint:{"line-emissive-strength":.2,"line-color":["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],30]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],14]]]}},{id:"gate-fence-hedge-shade",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"structure",minzoom:17,filter:["match",["get","class"],["gate","fence","hedge"],!0,!1],paint:{"line-width":["interpolate",["linear"],["zoom"],16,1,20,3],"line-opacity":["match",["get","class"],"gate",.5,1],"line-translate":[1.5,1.5],"line-color":["match",["get","class"],"hedge",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],25]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],14]]],"hsl(221, 0%, 70%)"]}},{id:"gate-fence-hedge",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"structure",minzoom:16,filter:["match",["get","class"],["gate","fence","hedge"],!0,!1],paint:{"line-color":["match",["get","class"],"hedge",["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],25]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],14]]],"hsl(221, 0%, 85%)"],"line-width":["interpolate",["linear"],["zoom"],16,1,20,3],"line-opacity":["match",["get","class"],"gate",.5,1]}},{id:"road-minor-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100]}},{id:"road-street-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1]}},{id:"road-minor-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1]}},{id:"road-secondary-tertiary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["secondary","tertiary"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260]}},{id:"road-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280]}},{id:"road-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-opacity":["step",["zoom"],0,11,1]}},{id:"road-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,1]}},{id:"turning-feature",type:"circle",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["turning_circle","turning_loop"],!0,!1],["==",["geometry-type"],"Point"]],paint:{"circle-emissive-strength":["match",["config","theme"],"monochrome",.2,.35],"circle-radius":["interpolate",["exponential",1.5],["zoom"],15,4.5,16,8,18,20,22,200],"circle-color":["config","colorRoads"],"circle-pitch-alignment":"map"}},{id:"road-polygon-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["street","street_limited","primary","trunk_link","secondary_link","tertiary_link","tertiary","secondary","trunk","primary_link","motorway_link"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-opacity":["step",["zoom"],0,14,1],"line-color":["match",["get","class"],["motorway","motorway_link"],["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["trunk","trunk_link"],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-offset":["interpolate",["exponential",1.5],["zoom"],14,.4,22,-1]}},{id:"road-others-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["config","colorRoads"],"fill-antialias":!1}},{id:"road-secondary-tertiary-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["secondary_link","tertiary_link","tertiary","secondary"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["config","colorRoads"],"fill-antialias":!1}},{id:"road-primary-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["primary","primary_link"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["config","colorRoads"],"fill-antialias":!1}},{id:"road-motorway-trunk-polygon-fill",type:"fill",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["motorway","trunk","trunk_link","motorway_link"],!0,!1],["match",["geometry-type"],["Polygon"],!0,!1],["match",["get","type"],["service"],!1,!0]],layout:{},paint:{"fill-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"fill-opacity":["interpolate",["linear"],["zoom"],13,0,14,1],"fill-color":["match",["get","class"],["motorway","motorway_link"],["config","colorMotorways"],["config","colorTrunks"]],"fill-antialias":!1}},{id:"road-construction",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","class"],"construction"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,18,20,22,200],"line-color":["config","colorRoads"],"line-dasharray":[.2,.1]}},{id:"road-minor",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-color":["config","colorRoads"]}},{id:"road-minor-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-color":["config","colorRoads"]}},{id:"road-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],"motorway_link",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"road-street",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"],"line-opacity":["step",["zoom"],0,14,1]}},{id:"road-street-low",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:11,maxzoom:14,filter:["all",["match",["get","class"],["street","street_limited"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"]}},{id:"road-secondary-tertiary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:8,filter:["all",["match",["get","class"],["secondary","tertiary"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-color":["config","colorRoads"]}},{id:"road-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["==",["get","class"],"primary"],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"]}},{id:"road-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:3,filter:["all",["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],5,["all",["match",["get","class"],["motorway","trunk"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]]],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",13,"round"],"line-join":["step",["zoom"],"miter",13,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]],"line-opacity":["interpolate",["linear"],["zoom"],3,0,3.5,["match",["config","theme"],"monochrome",0,1],5,["match",["config","theme"],"monochrome",1,1]]}},{id:"road-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["match",["get","structure"],["none","ford"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.5,.6],"line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-color":"hsl(125, 50%, 60%)","line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"road-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],paint:{"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"road-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["major_rail","minor_rail"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],paint:{"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"road-oneway-arrow",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","oneway"],"true"],["step",["zoom"],["match",["get","class"],["primary","secondary","tertiary","street","street_limited"],!0,!1],16,["match",["get","class"],["primary","secondary","tertiary","street","street_limited","primary_link","secondary_link","tertiary_link","service","track"],!0,!1]],["match",["get","structure"],["none","ford"],!0,!1]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"road-oneway-arrow-trunk",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","oneway"],"true"],["match",["get","class"],["trunk","trunk_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"road-oneway-arrow-motorway",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","oneway"],"true"],["match",["get","class"],["motorway","motorway_link"],!0,!1],["match",["get","structure"],["none","ford"],!0,!1]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"crosswalks",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"structure",minzoom:17,filter:["all",["==",["get","class"],"crosswalk"],["==",["geometry-type"],"Point"]],layout:{"icon-size":["interpolate",["linear"],["zoom"],16,.1,18,.2,19,.5,22,1.5],"icon-image":["step",["zoom"],["image","crosswalk-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","crosswalk-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"icon-rotate":["get","direction"],"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"bridge-path-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["step",["zoom"],["!",["match",["get","type"],["steps","sidewalk","crossing"],!0,!1]],16,["!=",["get","type"],"steps"]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"bridge-steps-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],15,2,17,4.6,18,7],"line-color":"hsl(0, 10%, 80%)"}},{id:"bridge-pedestrian-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",0,.15],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,18,1,22,2],"line-color":"hsl(0, 10%, 80%)","line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80]}},{id:"bridge-path-trail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["match",["get","type"],["hiking","mountain_bike","trail"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":[10,0]}},{id:"bridge-path",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"path"],["!=",["get","type"],"steps"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-steps",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","type"],"steps"],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"],"line-dasharray":["step",["zoom"],["literal",[1,0]],17,["literal",[.2,.2]],19,["literal",[.1,.1]]]}},{id:"bridge-pedestrian",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"pedestrian"],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"],"line-cap":["step",["zoom"],"butt",16,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.1,.25],"line-width":["interpolate",["exponential",1.5],["zoom"],12,0,18,6,22,80],"line-color":["interpolate",["linear"],["zoom"],15,"hsl(295, 10%, 97%)",16,"hsl(295, 10%, 93%)"]}},{id:"bridge-minor-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-blur":10}},{id:"bridge-minor-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100]}},{id:"bridge-street-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1],"line-blur":10}},{id:"bridge-street-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-opacity":["step",["zoom"],0,14,1]}},{id:"bridge-minor-link-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1],"line-blur":10}},{id:"bridge-minor-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-opacity":["step",["zoom"],0,11,1]}},{id:"bridge-secondary-tertiary-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-opacity":["step",["zoom"],0,10,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-secondary-tertiary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-opacity":["step",["zoom"],0,10,1]}},{id:"bridge-primary-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-opacity":["step",["zoom"],0,10,1],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-primary-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorRoads"]]]],["to-number",["at",1,["to-hsla",["config","colorRoads"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorRoads"]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-opacity":["step",["zoom"],0,10,1]}},{id:"bridge-major-link-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-blur":10}},{id:"bridge-major-link-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200]}},{id:"bridge-motorway-trunk-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-motorway-trunk-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300]}},{id:"bridge-construction",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"construction"],["==",["geometry-type"],"LineString"]],paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,18,20,22,200],"line-color":["config","colorRoads"],"line-dasharray":[.2,.1]}},{id:"bridge-minor",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["track"],!0,"service",["step",["zoom"],!1,14,!0],!1],["match",["get","type"],["piste"],!1,!0],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,18,10,22,100],"line-color":["config","colorRoads"]}},{id:"bridge-minor-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["match",["get","class"],["primary_link","secondary_link","tertiary_link"],!0,!1],["==",["get","structure"],"bridge"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.4,18,18,22,180],"line-color":["config","colorRoads"]}},{id:"bridge-major-link",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],"motorway_link",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-street",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"],"line-opacity":["step",["zoom"],0,14,1]}},{id:"bridge-street-low",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,maxzoom:14,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["street","street_limited"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"],"line-join":["step",["zoom"],"miter",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.5,18,20,22,200],"line-color":["config","colorRoads"]}},{id:"bridge-secondary-tertiary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["secondary","tertiary"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,0,18,26,22,260],"line-color":["config","colorRoads"]}},{id:"bridge-primary",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["==",["get","class"],"primary"],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.2],["config","roadsBrightness"]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,28,22,280],"line-color":["config","colorRoads"]}},{id:"bridge-motorway-trunk",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","trunk"],!0,!1],["<=",["get","layer"],1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-major-link-2-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-blur":10}},{id:"bridge-major-link-2-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,.8,22,2],"line-color":["match",["get","class"],"motorway_link",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200]}},{id:"bridge-motorway-trunk-2-shadow",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],20]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-width":["interpolate",["exponential",1.5],["zoom"],14,2,22,10],"line-blur":10}},{id:"bridge-motorway-trunk-2-case",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],paint:{"line-width":["interpolate",["exponential",1.5],["zoom"],14,1,22,2],"line-color":["match",["get","class"],"motorway",["hsla",["to-number",["at",0,["to-hsla",["config","colorMotorways"]]]],["to-number",["at",1,["to-hsla",["config","colorMotorways"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorMotorways"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorTrunks"]]]],["to-number",["at",1,["to-hsla",["config","colorTrunks"]]]],["abs",["-",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],10]],["to-number",["at",3,["to-hsla",["config","colorTrunks"]]]]]],"line-gap-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300]}},{id:"bridge-major-link-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway_link","trunk_link"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":"round"},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],12,.8,18,20,22,200],"line-color":["match",["get","class"],"motorway_link",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-motorway-trunk-2",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],[">=",["get","layer"],2],["match",["get","class"],["motorway","trunk"],!0,!1],["==",["geometry-type"],"LineString"]],layout:{"line-cap":["step",["zoom"],"butt",14,"round"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",["-",["config","roadsBrightness"],.1],["+",["config","roadsBrightness"],.2]],"line-width":["interpolate",["exponential",1.5],["zoom"],3,.8,18,30,22,300],"line-color":["match",["get","class"],"motorway",["config","colorMotorways"],["config","colorTrunks"]]}},{id:"bridge-oneway-arrow",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["==",["get","oneway"],"true"],["step",["zoom"],["match",["get","class"],["primary","secondary","tertiary","street","street_limited"],!0,!1],16,["match",["get","class"],["primary","secondary","tertiary","street","street_limited","primary_link","secondary_link","tertiary_link","service","track"],!0,!1]]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoads"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.7],.5,1]}},{id:"bridge-oneway-arrow-trunk",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["trunk","trunk_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorTrunks"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"bridge-oneway-arrow-motorway",type:"symbol",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["motorway","motorway_link"],!0,!1],["==",["get","oneway"],"true"]],layout:{"symbol-placement":"line","icon-image":["step",["zoom"],["image","oneway-small",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}],18,["image","oneway-large",{params:{color:["case",[">=",["to-number",["at",2,["to-hsla",["config","colorMotorways"]]]],92],"hsl(0, 0%, 85%)","hsl(0, 0%, 100%)"]}}]],"symbol-spacing":200,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"icon-ignore-placement":!0},paint:{"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1]}},{id:"bridge-path-cycleway-piste",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:14,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["path","track"],!0,!1],["match",["get","type"],"cycleway",["step",["zoom"],!1,15,!0],"piste",!0,!1],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPedestrianRoads"],"visible","none"]},paint:{"line-emissive-strength":["match",["config","theme"],"monochrome",.5,.6],"line-color":"hsl(125, 50%, 60%)","line-width":["interpolate",["linear"],["zoom"],12,["match",["get","type"],["piste"],.5,0],18,["match",["get","type"],["piste"],4,2],22,["match",["get","type"],["piste"],40,20]],"line-translate":[0,0],"line-offset":["interpolate",["linear"],["zoom"],12,0,18,["match",["get","type"],["piste"],0,-2],22,["match",["get","type"],["piste"],0,-20]],"line-opacity":["interpolate",["linear"],["zoom"],15,["match",["get","type"],["piste"],1,0],16,1],"line-dasharray":["step",["zoom"],["literal",[1]],16,["literal",[1,1]]]}},{id:"bridge-rail",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],paint:{"line-gap-width":["interpolate",["linear"],["zoom"],15,0,16,1,18,2,22,20],"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],14,.5,22,2]}},{id:"bridge-rail-tracks",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:13,filter:["all",["==",["get","structure"],"bridge"],["match",["get","class"],["major_rail","minor_rail"],!0,!1]],paint:{"line-color":["interpolate",["linear"],["measure-light","brightness"],.1,"hsl(0, 0%, 30%)",.4,"hsl(0, 0%, 65%)"],"line-width":["interpolate",["exponential",1.5],["zoom"],16,2,18,6,20,16,22,32],"line-dasharray":["step",["zoom"],["literal",[.1,15]],16,["literal",[.1,1]],18,["literal",[.05,.5]]],"line-opacity":["interpolate",["linear"],["zoom"],13.75,0,14,1]}},{id:"aerialway",type:"line",metadata:{"mapbox:group":"roads & transit network"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["==",["get","class"],"aerialway"],["match",["get","type"],["aerialway:zip_line"],["step",["zoom"],!1,15,!0],!0]],paint:{"line-emissive-strength":1,"line-color":"hsl(225, 60%, 58%)","line-width":["interpolate",["exponential",1.5],["zoom"],14,1,20,2],"line-dasharray":[4,1]}},{id:"2d-building",type:"fill-extrusion",metadata:{"mapbox:group":"buildings"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["!=",["get","type"],"building:part"],["==",["get","underground"],"false"]],layout:{visibility:["case",["config","show3dObjects"],"none","visible"]},paint:{"fill-extrusion-emissive-strength":["case",["to-boolean",["feature-state","select"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingSelect"]]],50,.6,90,.4],["to-boolean",["feature-state","highlight"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingHighlight"]]],50,.6,90,.4],.25],"fill-extrusion-cutoff-fade-range":.5,"fill-extrusion-color":["case",["to-boolean",["feature-state","select"]],["config","colorBuildingSelect"],["to-boolean",["feature-state","highlight"]],["config","colorBuildingHighlight"],["interpolate",["linear"],["measure-light","brightness"],0,["match",["config","theme"],"monochrome","hsl(0, 0%, 5%)","hsl(235, 8%, 42%)"],.02,"hsl(235, 8%, 42%)",.03,"hsl(280, 8%, 58%)",.4,"hsl(25, 20%, 91%)"]],"fill-extrusion-opacity":1,"fill-extrusion-base":0}},{id:"2d-building-outline",type:"line",metadata:{"mapbox:group":"buildings"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["!=",["get","type"],"building:part"],["==",["get","underground"],"false"]],layout:{visibility:["case",["config","show3dObjects"],"none","visible"]},paint:{"line-width":.5,"line-emissive-strength":.25,"line-color":["interpolate",["linear"],["zoom"],14,"hsla(0, 0%, 100%, 0)",16,["interpolate",["linear"],["measure-light","brightness"],0,["match",["config","theme"],"monochrome","hsl(0, 0%, 0%)","hsl(235, 8%, 22%)"],.02,"hsl(235, 8%, 22%)",.03,"hsl(280, 8%, 50%)",.4,"hsl(25, 10%, 76%)"]]}},{id:"admin-1-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:7,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-color":["hsla",345,100,100,["to-number",["at",3,["to-hsla",["config","colorAdminBoundaries"]]]]],"line-width":["interpolate",["linear"],["zoom"],3,3,12,6],"line-opacity":["interpolate",["linear"],["zoom"],7,0,8,.5],"line-dasharray":[1,0],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,3]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-0-boundary-bg",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-width":["interpolate",["linear"],["zoom"],3,4,12,8],"line-color":["hsla",345,100,100,["to-number",["at",3,["to-hsla",["config","colorAdminBoundaries"]]]]],"line-opacity":["interpolate",["linear"],["zoom"],3,0,4,.5],"line-blur":["interpolate",["linear"],["zoom"],3,0,12,2]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-1-boundary",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:2,filter:["all",["==",["get","admin_level"],1],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":.5,"line-dasharray":["step",["zoom"],["literal",[2,0]],7,["literal",[2,2,6,2]]],"line-width":["interpolate",["linear"],["zoom"],3,.3,12,1.5],"line-opacity":["interpolate",["linear"],["zoom"],2,0,3,1],"line-color":["hsla",["to-number",["at",0,["to-hsla",["config","colorAdminBoundaries"]]]],["to-number",["at",1,["to-hsla",["config","colorAdminBoundaries"]]]],["min",100,["+",5,["to-number",["at",2,["to-hsla",["config","colorAdminBoundaries"]]]]]],["to-number",["at",3,["to-hsla",["config","colorAdminBoundaries"]]]]]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-0-boundary",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","admin_level"],0],["==",["get","disputed"],"false"],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":1,"line-color":["config","colorAdminBoundaries"],"line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":[10,0]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"admin-0-boundary-disputed",type:"line",metadata:{"mapbox:group":"administrative boundaries"},source:"composite","source-layer":"admin",minzoom:1,filter:["all",["==",["get","disputed"],"true"],["==",["get","admin_level"],0],["==",["get","maritime"],"false"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]]],paint:{"line-emissive-strength":.8,"line-color":["config","colorAdminBoundaries"],"line-width":["interpolate",["linear"],["zoom"],3,.5,12,2],"line-dasharray":["step",["zoom"],["literal",[3,2,5]],7,["literal",[2,1.5]]]},layout:{visibility:["case",["config","showAdminBoundaries"],"visible","none"]}},{id:"middle",type:"slot",metadata:{"mapbox:description":"Above lines (roads, etc.) and behind 3D buildings"}},{id:"trees",type:"model",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"tree",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"model-id":["step",["zoom"],["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod4","pine2-lod4"],"palm","palm1-lod4",["case",["==",["%",["number",["id"]],4],0],"oak1-lod4",["==",["%",["number",["id"]],4],1],"oak2-lod4",["==",["%",["number",["id"]],4],2],"maple1-lod4","maple2-lod4"]],15.8,["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod3","pine2-lod3"],"palm","palm1-lod3",["case",["==",["%",["number",["id"]],4],0],"oak1-lod3",["==",["%",["number",["id"]],4],1],"oak2-lod3",["==",["%",["number",["id"]],4],2],"maple1-lod3","maple2-lod3"]],16.8,["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod2","pine2-lod2"],"palm","palm1-lod2",["case",["==",["%",["number",["id"]],4],0],"oak1-lod2",["==",["%",["number",["id"]],4],1],"oak2-lod2",["==",["%",["number",["id"]],4],2],"maple1-lod2","maple2-lod2"]],17.5,["match",["get","leaf_type"],"needleleaved",["case",["==",["%",["number",["id"]],2],0],"pine1-lod1","pine2-lod1"],"palm","palm1-lod1",["case",["==",["%",["number",["id"]],4],0],"oak1-lod1",["==",["%",["number",["id"]],4],1],"oak2-lod1",["==",["%",["number",["id"]],4],2],"maple1-lod1","maple2-lod1"]]]},paint:{"model-cutoff-fade-range":.5,"model-color":["hsl",["random",["max",["-",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],20],0],["min",["+",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],40],360],["id"]],50,["random",["max",["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],20],0],["min",["+",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],5],90],["id"]]],"model-color-mix-intensity":.4,"model-opacity":["interpolate",["linear"],["zoom"],15,0,16,1],"model-rotation":[0,0,["random",0,360,["id"]]],"model-scale":["match",["%",["number",["id"]],5],0,["literal",[.8,.8,.8]],1,["literal",[.8,.8,.8]],2,["literal",[.9,.9,.9]],["literal",[1,1,1]]]}},{id:"wind-turbine-shadow",type:"circle",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"wind_turbine",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"]},paint:{"circle-pitch-alignment":"map","circle-blur":2,"circle-radius":["interpolate",["exponential",1.6],["zoom"],16,2,22,260],"circle-color":"hsl(0, 0%, 60%)","circle-opacity":["interpolate",["exponential",1.8],["zoom"],15,0,15.5,1]}},{id:"wind-turbine-towers",type:"model",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"wind_turbine",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"model-id":["step",["zoom"],"turbinetower-lod2",18,"turbinetower-lod1"]},paint:{"model-opacity":["interpolate",["exponential",1.8],["zoom"],15,0,15.5,1],"model-color":"hsl(0, 0%, 85%)","model-color-mix-intensity":.5,"model-cast-shadows":!1,"model-emissive-strength":.1}},{id:"wind-turbine-rotors",type:"model",metadata:{"mapbox:group":"3d models"},source:"composite","source-layer":"wind_turbine",minzoom:15,layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"model-id":["step",["zoom"],"turbinerotor-lod2",18,"turbinerotor-lod1"]},paint:{"model-opacity":["interpolate",["exponential",1.8],["zoom"],15,0,15.5,1],"model-color":"hsl(0, 0%, 85%)","model-color-mix-intensity":.5,"model-cast-shadows":!1,"model-translation":[0,0,54.46344],"model-rotation":["interpolate",["linear"],["zoom"],15,[["random",0,45,["id"]],6,0],20,[["random",45,720,["id"]],6,0]],"model-emissive-strength":.1}},{id:"3d-building",type:"fill-extrusion",metadata:{"mapbox:group":"3d buildings"},source:"composite","source-layer":"building",minzoom:15,filter:["all",["==",["get","extrude"],"true"],["==",["get","underground"],"false"]],layout:{visibility:["case",["config","show3dObjects"],"visible","none"],"fill-extrusion-edge-radius":.4},paint:{"fill-extrusion-emissive-strength":["case",["to-boolean",["feature-state","select"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingSelect"]]],50,.6,90,.4],["to-boolean",["feature-state","highlight"]],["interpolate",["linear"],["at",2,["to-hsla",["config","colorBuildingHighlight"]]],50,.6,90,.4],0],"fill-extrusion-cutoff-fade-range":.5,"fill-extrusion-ambient-occlusion-intensity":.15,"fill-extrusion-color":["case",["to-boolean",["feature-state","select"]],["config","colorBuildingSelect"],["to-boolean",["feature-state","highlight"]],["config","colorBuildingHighlight"],["interpolate",["linear"],["get","height"],0,"hsl(40, 43%, 93%)",200,"hsl(23, 100%, 97%)"]],"fill-extrusion-ambient-occlusion-ground-radius":["interpolate",["linear"],["zoom"],17,0,17.8,8],"fill-extrusion-height":["case",["all",["==",["get","height"],3],["in",["get","type"],["literal",["beach_hut","boathouse","bunker","cabin","carport","garage","garages","greenhouse","houseboat","hut","service","stable","toilets"]]]],2,["all",["==",["get","height"],3],["==",["get","type"],"bungalow"]],4,["all",["==",["get","height"],3],["in",["get","type"],["literal",["apartments","church","civic","college","commercial","hangar","hotel","mosque","office","school","university","warehouse"]]]],["random",18,20,["id"]],["==",["get","height"],3],["random",5,7,["id"]],["case",["to-boolean",["feature-state","select"]],["+",["number",["get","height"]],1],["to-boolean",["feature-state","highlight"]],["+",["number",["get","height"]],1],["number",["get","height"]]]],"fill-extrusion-opacity":["interpolate",["linear"],["zoom"],15,0,15.3,1],"fill-extrusion-base":["case",[">=",["number",["get","min_height"]],0],["get","min_height"],0],"fill-extrusion-flood-light-intensity":["interpolate",["linear"],["measure-light","brightness"],.015,["match",["config","theme"],"monochrome",0,.3],.026,0],"fill-extrusion-vertical-scale":["interpolate",["linear"],["zoom"],15,0,15.3,1],"fill-extrusion-flood-light-wall-radius":["case",[">",["number",["get","height"]],200],["/",["number",["get","height"]],3],0],"fill-extrusion-flood-light-ground-radius":["step",["number",["get","height"]],0,30,["random",30,100,["id"]]],"fill-extrusion-flood-light-color":"hsl(30, 79%, 81%)"}},{id:"building-models",type:"model",metadata:{"mapbox:group":"3d buildings"},source:"3dbuildings",minzoom:14,layout:{visibility:["case",["config","show3dObjects"],"visible","none"]},paint:{"model-ambient-occlusion-intensity":["match",["config","theme"],"monochrome",.3,.75],"model-color":["match",["get","part"],"roof",["hsl",22,82,90],"wall",["interpolate",["linear"],["measure-light","brightness"],0,["hsl",29,93,77],.2,["hsl",0,0,100]],"window",["interpolate",["linear"],["measure-light","brightness"],0,["hsl",["random",0,90,["id"]],["random",20,100,["id"]],87],.15,["hsl",["random",200,215,["id"]],100,["random",70,80,["id"]]]],["interpolate",["linear"],["measure-light","brightness"],.16,["hsla",["random",10,70,["id"]],55,["random",80,90,["id"]],1],.4,"hsl(0, 100%, 100%)"]],"model-color-mix-intensity":["match",["get","part"],"logo",["interpolate",["linear"],["measure-light","brightness"],.2,0,.4,.3],1],"model-emissive-strength":["match",["get","part"],"door",["interpolate",["linear"],["measure-light","brightness"],.2,["match",["config","theme"],"monochrome",.2,1.5],.4,2.5],"logo",.6,"wall",["interpolate",["linear"],["measure-light","brightness"],.45,.1,.5,.8],"window",["interpolate",["linear"],["measure-light","brightness"],.2,["match",["config","theme"],"monochrome",["random",.1,.4,["id"]],["random",.5,.8,["id"]]],.4,.4],0],"model-height-based-emissive-strength-multiplier":["match",["get","part"],"wall",["interpolate",["linear"],["measure-light","brightness"],.2,["match",["config","theme"],"monochrome",["literal",[.5,0,0,.5,.8]],["literal",[.5,0,0,1,.8]]],.4,["literal",[0,1,0,1,.6]]],"window",["literal",[0,.9,0,1,.5]],["literal",[1,1,1,1,1]]],"model-opacity":["interpolate",["linear"],["zoom"],14.2,0,14.6,1],"model-roughness":["match",["get","part"],"window",0,1],"model-scale":["interpolate",["linear"],["zoom"],14.2,[1,1,0],14.6,[1,1,1]]}},{id:"path-pedestrian-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:12,filter:["all",["case",["has","layer"],[">=",["get","layer"],0],!0],["step",["zoom"],["match",["get","class"],["pedestrian"],!0,!1],15,["match",["get","class"],["path","pedestrian"],!0,!1]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{visibility:["case",["all",["config","showRoadLabels"],["config","showPedestrianRoads"]],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],"pedestrian",9,6.5],18,["match",["get","class"],"pedestrian",14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],90,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["config","colorRoadLabels"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],30,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoadLabels"]]]],75],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],65,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],95,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]]]],"text-halo-width":1}},{id:"road-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:10,filter:["all",["has","name"],["step",["zoom"],["match",["get","class"],["motorway","trunk"],!0,!1],12,["match",["get","class"],["motorway","trunk","primary","secondary"],!0,!1],13,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary","street","street_limited"],!0,!1],15,["match",["get","class"],["path","pedestrian","golf","ferry","aerialway"],!1,!0]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.2]]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],10,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],9,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],8,6.5],18,["match",["get","class"],["motorway","trunk","primary","secondary","tertiary"],16,["motorway_link","trunk_link","primary_link","secondary_link","tertiary_link","street","street_limited"],14,13]],"text-max-angle":30,"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],90,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["config","colorRoadLabels"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],30,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],.3,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorRoadLabels"]]]],75],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],65,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]],["hsla",["to-number",["at",0,["to-hsla",["config","colorRoadLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorRoadLabels"]]]],95,["to-number",["at",3,["to-hsla",["config","colorRoadLabels"]]]]]]],"text-halo-width":1}},{id:"golf-hole-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:16,filter:["all",["==",["get","class"],"golf"],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":12},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.5,.7],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],54]]],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],20]]]],"text-halo-width":.5,"text-halo-blur":.5,"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],20]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],20]]],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorGreenspace"]]]],["to-number",["at",1,["to-hsla",["config","colorGreenspace"]]]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorGreenspace"]]]],54]]]]}},{id:"ferry-aerialway-label",type:"symbol",metadata:{"mapbox:group":"road & transit labels"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["match",["get","class"],"aerialway",!0,"ferry",!0,!1],["case",["<=",["pitch"],40],!0,["<=",["distance-from-center"],0]]],layout:{visibility:["case",["config","showTransitLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],10,6.5,18,13],"text-max-angle":30,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line","text-padding":1,"text-rotation-alignment":"map","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.01,"text-transform":"uppercase"},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],50]],60],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["min",360,["+",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],9]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],30]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],30]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],30]]]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,["config","colorWater"]],"text-halo-width":1,"text-halo-blur":1}},{id:"waterway-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:13,filter:["all",["match",["get","class"],["canal","river","stream","disputed_canal","disputed_river","disputed_stream"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-max-angle":30,"symbol-spacing":["interpolate",["linear",1],["zoom"],15,250,17,400],"text-size":["interpolate",["linear"],["zoom"],13,12,18,18],"symbol-placement":"line","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-occlusion-opacity":0,"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["min",100,["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],60]]],["min",100,["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]]],.4,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["min",100,["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],4]]],["min",100,["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]]]]}},{id:"natural-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["glacier","landform","disputed_glacier","disputed_landform"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"text-max-angle":30,"text-field":["coalesce",["get","name_en"],["get","name"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"symbol-placement":"line-center","text-pitch-alignment":"viewport"},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-halo-width":.5,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-blur":.5,"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome","hsl(0, 0%, 60%)","hsl(210, 20%, 80%)"],.3,"hsl(210, 20%, 46%)"]}},{id:"natural-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:4,filter:["all",["match",["get","class"],["dock","glacier","landform","water_feature","wetland","disputed_dock","disputed_glacier","disputed_landform","disputed_water_feature","disputed_wetland"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["get","filterrank"],2],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["get","sizerank"],18,5,12],17,["step",["get","sizerank"],18,13,12]],"icon-image":["image",["string",["get","maki"]]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-offset":["step",["zoom"],["step",["get","sizerank"],["literal",[0,0]],5,["literal",[0,.75]]],17,["step",["get","sizerank"],["literal",[0,0]],13,["literal",[0,.75]]]],"text-anchor":["step",["zoom"],["step",["get","sizerank"],"center",5,"top"],17,["step",["get","sizerank"],"center",13,"top"]],"text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"icon-occlusion-opacity":0,"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.7],.5,1],"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(20, 20%, 100%)"],"text-color":["interpolate",["linear"],["measure-light","brightness"],.28,["match",["config","theme"],"monochrome","hsl(0, 0%, 60%)","hsl(210, 20%, 80%)"],.3,"hsl(210, 20%, 46%)"],"text-halo-width":.5,"text-halo-blur":.5}},{id:"water-line-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"LineString"]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-max-angle":30,"text-letter-spacing":["match",["get","class"],"ocean",.25,["sea","bay"],.15,0],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"symbol-placement":"line-center","text-pitch-alignment":"viewport","text-field":["coalesce",["get","name_en"],["get","name"]]},paint:{"text-occlusion-opacity":0,"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],60]],44],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],4]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],25]]]]]}},{id:"water-point-label",type:"symbol",metadata:{"mapbox:group":"natural labels"},source:"composite","source-layer":"natural_label",minzoom:1,filter:["all",["match",["get","class"],["bay","ocean","reservoir","sea","water","disputed_bay","disputed_ocean","disputed_reservoir","disputed_sea","disputed_water"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],0]],["==",["geometry-type"],"Point"],["!=",["id"],1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.3,"text-size":["interpolate",["linear"],["zoom"],0,["*",["-",16,["sqrt",["get","sizerank"]]],1],22,["*",["-",22,["sqrt",["get","sizerank"]]],1]],"text-font":[["concat",["config","font"]," Italic"],"Arial Unicode MS Regular"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":["match",["get","class"],"ocean",.25,["bay","sea"],.15,.01],"text-max-width":["match",["get","class"],"ocean",4,"sea",5,["bay","water"],7,10]},paint:{"text-occlusion-opacity":0,"text-color":["interpolate",["linear"],["measure-light","brightness"],.3,["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],60]],44],.4,["case",[">=",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],50],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["max",0,["-",["to-number",["at",1,["to-hsla",["config","colorWater"]]]],4]],["max",0,["-",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],36]]],["hsl",["to-number",["at",0,["to-hsla",["config","colorWater"]]]],["to-number",["at",1,["to-hsla",["config","colorWater"]]]],["min",100,["+",["to-number",["at",2,["to-hsla",["config","colorWater"]]]],25]]]]]}},{id:"road-intersection",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:15,filter:["all",["==",["get","class"],"intersection"],["has","name"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"icon-image":"intersection","icon-text-fit":"both","icon-text-fit-padding":[1,2,1,2],"text-size":["interpolate",["exponential",1.2],["zoom"],15,9,18,12],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-occlusion-opacity":.1,"text-occlusion-opacity":.1,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.6,.75],.3,1],"text-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.45,.75],.3,1],"text-color":"hsl(230, 57%, 64%)"}},{id:"road-number-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"road",minzoom:6,filter:["all",["has","reflen"],["<=",["get","reflen"],6],["match",["get","class"],["pedestrian","service"],!1,!0],["step",["zoom"],["==",["geometry-type"],"Point"],11,[">",["coalesce",["get","len"],0],5e3],12,[">",["coalesce",["get","len"],0],2500],13,[">",["coalesce",["get","len"],0],1e3],14,!0],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-size":9,"icon-image":["case",["has","shield_beta"],["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],["image",["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],["image",["concat","default-",["to-string",["get","reflen"]]]]],["concat",["get","shield"],"-",["to-string",["get","reflen"]]]],"icon-rotation-alignment":"viewport","text-max-angle":38,"symbol-spacing":["interpolate",["linear"],["zoom"],11,400,14,600],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"symbol-placement":["step",["zoom"],"point",11,"line"],"text-rotation-alignment":"viewport","text-field":["get","ref"],"text-letter-spacing":.05},paint:{"icon-occlusion-opacity":.1,"text-occlusion-opacity":.1,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.75],.3,1],"text-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.75],.3,1],"text-color":["case",["has","shield_beta"],["case",["all",["has","shield_text_color_beta"],["to-boolean",["coalesce",["image",["concat",["get","shield_beta"],"-",["to-string",["get","reflen"]]]],""]]],["match",["get","shield_text_color_beta"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"],"hsl(230, 18%, 13%)"],["match",["get","shield_text_color"],"white","hsl(0, 0%, 100%)","yellow","hsl(50, 100%, 70%)","orange","hsl(25, 100%, 75%)","blue","hsl(230, 57%, 44%)","red","hsl(0, 87%, 59%)","green","hsl(140, 74%, 37%)","hsl(230, 18%, 13%)"]]}},{id:"road-exit-shield",type:"symbol",metadata:{"mapbox:group":"road shields"},source:"composite","source-layer":"motorway_junction",minzoom:14,filter:["all",["has","reflen"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"text-field":["get","ref"],"text-size":9,"icon-image":["concat","motorway-exit-",["to-string",["get","reflen"]]],"text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"]},paint:{"icon-occlusion-opacity":.1,"text-occlusion-opacity":.1,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.75],.3,1],"text-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.5,.75],.3,1],"text-color":"hsl(0, 0%, 100%)","text-translate":[0,0]}},{id:"gate-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:17,filter:["all",["==",["get","class"],"gate"],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<=",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<",["distance-from-center"],-.05]]]],layout:{visibility:["case",["config","showRoadLabels"],"visible","none"],"icon-image":["match",["get","type"],"gate","gate","lift_gate","lift-gate",""]},paint:{"icon-occlusion-opacity":0,"text-occlusion-opacity":0,"icon-emissive-strength":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome",.4,.5],.3,1]}},{id:"building-entrance",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"structure",minzoom:18,filter:["all",["==",["get","class"],"entrance"],["case",["<=",["pitch"],40],!0,!1]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"marker","text-field":["get","ref"],"text-size":10,"text-offset":[0,-.5],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"]},paint:{"icon-occlusion-opacity":0,"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)","icon-opacity":.4}},{id:"building-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"housenum_label",minzoom:17,filter:["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],.4],50,["<",["distance-from-center"],.2],55,["<",["distance-from-center"],0],60,["<=",["distance-from-center"],-.4]]],layout:{"symbol-z-elevate":!0,visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","house_num"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":10,"text-size":10,"text-padding":20},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"block-number-label",type:"symbol",metadata:{"mapbox:group":"building labels"},source:"composite","source-layer":"place_label",minzoom:16,filter:["all",["==",["get","class"],"settlement_subdivision"],["==",["get","type"],"block"],["case",["<=",["pitch"],60],!0,["<=",["distance-from-center"],.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["get","name"],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-max-width":7,"text-size":11},paint:{"text-occlusion-opacity":0,"text-emissive-strength":["match",["config","theme"],"monochrome",.5,1],"text-color":"hsl(20, 0%, 60%)","text-halo-color":"hsl(20, 17%, 100%)"}},{id:"poi-label",type:"symbol",metadata:{"mapbox:group":"poi labels"},source:"composite","source-layer":"poi",minzoom:6,filter:["all",["has","sub_category"],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","category"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2],["config","densityPointOfInterestLabels"]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","category"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2],["config","densityPointOfInterestLabels"]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["match",["get","category"],["sport_and_leisure","visitor_amenities","commercial_services","general"],[">",["get","reality_score"],.95],["building","lodging","medical","store_like","food_and_drink","food_and_drink_stores","motorist","industrial","education"],[">",["get","reality_score"],.85],!0]],layout:{"icon-size":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],1,1.15],"text-size":13,"icon-image":["image",["string",["get","icon"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","icon"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","category"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","icon"],["literal",["communications-tower","museum","zoo"]]],["in",["get","category"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","icon"],"car-repair"],["in",["get","category"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","icon"],"picnic-site"],["==",["get","category"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","category"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","icon"],["literal",["communications-tower","museum","zoo"]]],["in",["get","category"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","icon"],"car-repair"],["in",["get","category"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","icon"],"picnic-site"],["==",["get","category"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"symbol-z-elevate":!0,"text-offset":["case",["match",["get","category"],["building","general","place_like"],!0,!1],["literal",[0,-.6]],["literal",[0,.8]]],"text-anchor":["case",["match",["get","category"],["building","general","place_like"],!0,!1],"bottom","top"],"text-field":["format",["get","name"],{}]},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"text-opacity":1,"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome","#000000",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"]],.3,["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"hsl(0, 0%, 100%)"]],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"#999999",.3,"#A6A6A6"],["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],10],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","category"],"food_and_drink",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(40, 95%, 70%)",.3,"hsl(30, 100%, 48%)"],"education",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(30, 50%, 70%)",.3,"hsl(30, 50%, 38%)"],"medical",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 70%, 70%)",.3,"hsl(0, 90%, 60%)"],"sport_and_leisure",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(190, 60%, 70%)",.3,"hsl(190, 75%, 38%)"],["store_like","food_and_drink_stores"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 70%, 75%)",.3,"hsl(210, 75%, 53%)"],["arts_and_entertainment","historic","landmark"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(320, 70%, 75%)",.3,"hsl(320, 85%, 60%)"],["commercial_services","motorist","lodging"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(260, 70%, 75%)",.3,"hsl(250, 75%, 60%)"],"park_like",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(110, 55%, 65%)",.3,"hsl(110, 70%, 28%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 20%, 70%)",.3,"hsl(210, 20%, 43%)"]]]]}},{id:"poi-label-osm",type:"symbol",source:"composite","source-layer":"poi",minzoom:6,filter:["all",["!",["has","sub_category"]],["case",["<=",["pitch"],15],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","class"],"park_like",4,"visitor_amenities",2,"store_like",3,"lodging",1,2],["config","densityPointOfInterestLabels"]]],["<=",["number",["get","filterrank"]],["+",["step",["zoom"],-2,16,-1,18,0],["match",["get","class"],"park_like",4,["food_and_drink","visitor_amenities","lodging"],1,"religion",0,2],["config","densityPointOfInterestLabels"]]]],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1.2],50,["<",["distance-from-center"],1],55,["<",["distance-from-center"],.8],60,["<=",["distance-from-center"],.6]]],["all",["match",["get","type"],"Toilets",[">=",["zoom"],17],!0]]],layout:{"icon-size":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],1,1.15],"symbol-z-elevate":!0,visibility:["case",["config","showPointOfInterestLabels"],"visible","none"],"text-size":["step",["zoom"],["step",["number",["get","sizerank"]],18,5,13],17,["step",["number",["get","sizerank"]],18,13,13]],"text-field":["format",["coalesce",["get","name_en"],["get","name"]],{}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-padding":["interpolate",["linear"],["zoom"],16,6,17,4],"icon-image":["case",["has","maki_beta"],["coalesce",["image",["string",["get","maki_beta"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","maki_beta"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki_beta"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki_beta"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki_beta"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}],["image",["string",["get","maki"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","maki"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}]],["image",["string",["get","maki"]],{params:{"background-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"hsla(0, 0, 0, 0)"],icon:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["case",["==",["get","maki"],"marker"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],5],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]]],background:["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],["match",["config","theme"],"monochrome","#A6A6A6",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["match",["config","lightPreset"],["dusk","night"],"#FBCB6A","#F93"],"education",["match",["config","lightPreset"],["dusk","night"],"#D9B38C","#BF8040"],"medical",["match",["config","lightPreset"],["dusk","night"],"#E87D7D","#FB7474"],"sport_and_leisure",["match",["config","lightPreset"],["dusk","night"],"#85D1E0","#20BFDF"],["store_like","food_and_drink_stores"],["match",["config","lightPreset"],["dusk","night"],"#93C0EC","#63A6E9"],["case",["any",["in",["get","maki"],["literal",["communications-tower","museum","zoo"]]],["in",["get","class"],["literal",["arts_and_entertainment","historic","landmark"]]]],["match",["config","lightPreset"],["dusk","night"],"#EC93CE","#F47BCB"],["any",["==",["get","maki"],"car-repair"],["in",["get","class"],["literal",["commercial_services","motorist","lodging"]]]],["match",["config","lightPreset"],["dusk","night"],"#A17DE8","#9482ED"],["any",["==",["get","maki"],"picnic-site"],["==",["get","class"],"park_like"]],["match",["config","lightPreset"],["dusk","night"],"#85D775","#36AD1F"],["match",["config","lightPreset"],["dusk","night"],"#A3B3C2","#7594A3"]]]]],"hsla(0,0, 0, 0)"],"icon-stroke":["case",["==",["config","backgroundPointOfInterestLabels"],"circle"],"hsla(0, 0, 0, 0)",["match",["config","lightPreset"],["dusk","night"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"],["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]]]}}]],"text-offset":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],5,["literal",[0,.8]]]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],["literal",[0,-.6]],["step",["number",["get","sizerank"]],["literal",[0,0]],13,["literal",[0,.8]]]]],"text-anchor":["step",["zoom"],["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",5,"top"]],17,["case",["all",["!=",["get","maki_beta"],"terminal"],["match",["get","class"],["building","general","place_like"],!0,!1]],"bottom",["step",["number",["get","sizerank"]],"center",13,"top"]]]},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,.9],"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["step",["zoom"],["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,5,1]],17,["case",["to-boolean",["feature-state","hide"]],0,["step",["number",["get","sizerank"]],0,13,1]]],"text-halo-width":1,"text-halo-blur":0,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,["match",["config","theme"],"monochrome","#000000",["case",["==",["config","colorModePointOfInterestLabels"],"single"],["hsla",0,0,5,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],"#0D0D0D"]],.3,["case",["all",["==",["config","colorModePointOfInterestLabels"],"single"],["!=",["config","theme"],"monochrome"]],["case",[">=",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],80],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],40,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["hsla",0,0,100,["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]]],"#FFFFFF"]],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"#999999",.3,"#A6A6A6"],["case",["==",["config","colorModePointOfInterestLabels"],"single"],["match",["config","lightPreset"],["dusk","night"],["hsla",["to-number",["at",0,["to-hsla",["config","colorPointOfInterestLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPointOfInterestLabels"]]]],["min",["+",["max",["to-number",["at",2,["to-hsla",["config","colorPointOfInterestLabels"]]]],10],20],100],["to-number",["at",3,["to-hsla",["config","colorPointOfInterestLabels"]]]]],["config","colorPointOfInterestLabels"]],["match",["get","class"],"food_and_drink",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(40, 95%, 70%)",.3,"hsl(30, 100%, 48%)"],"education",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(30, 50%, 70%)",.3,"hsl(30, 50%, 38%)"],"medical",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 70%, 70%)",.3,"hsl(0, 90%, 60%)"],"sport_and_leisure",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(190, 60%, 70%)",.3,"hsl(190, 75%, 38%)"],["store_like","food_and_drink_stores"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 70%, 75%)",.3,"hsl(210, 75%, 53%)"],["arts_and_entertainment","historic","landmark"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(320, 70%, 75%)",.3,"hsl(320, 85%, 60%)"],["commercial_services","motorist","lodging"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(260, 70%, 75%)",.3,"hsl(250, 75%, 60%)"],"park_like",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(110, 55%, 65%)",.3,"hsl(110, 70%, 28%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(210, 20%, 70%)",.3,"hsl(210, 20%, 43%)"]]]]},metadata:{"mapbox:group":"poi labels"}},{id:"top",type:"slot",metadata:{"mapbox:description":"Above POI labels and behind Place and Transit labels"}},{id:"transit-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"transit_stop_label",minzoom:12,filter:["all",["step",["zoom"],["all",["!=",["get","mode"],"bus"],["!=",["get","stop_type"],"entrance"]],17,["!=",["get","stop_type"],"entrance"],19,!0],["case",["<=",["pitch"],40],!0,["step",["pitch"],!0,40,["<",["distance-from-center"],1],50,["<",["distance-from-center"],.8],55,["<",["distance-from-center"],.4],60,["<=",["distance-from-center"],-.1]]]],layout:{visibility:["case",["config","showTransitLabels"],"visible","none"],"text-size":13,"icon-image":["image",["string",["get","network"]],{params:{background:["match",["config","lightPreset"],["dusk","night"],"hsl(225, 60%, 60%)","hsl(225, 60%, 58%)"],"background-stroke":["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"],icon:["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"]}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["match",["get","stop_type"],"entrance","left","center"],"text-offset":["case",["==",["get","network"],"entrance"],["literal",[1,0]],["==",["get","stop_type"],"entrance"],["literal",[1.8,0]],["literal",[0,.8]]],"text-anchor":["match",["get","stop_type"],"entrance","left","top"],"text-field":["step",["zoom"],["format","",{}],13,["match",["get","mode"],["metro_rail","rail"],["format",["coalesce",["get","name_en"],["get","name"]],{}],["format","",{}]],14,["match",["get","mode"],["bicycle","bus"],["format","",{}],["format",["coalesce",["get","name_en"],["get","name"]],{}]],18,["format",["coalesce",["get","name_en"],["get","name"]],{}]],"text-letter-spacing":.01,"text-max-width":["match",["get","stop_type"],"entrance",15,9]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1.5],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-halo-width":1,"text-halo-blur":0,"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 70%)",.3,"hsl(0, 0%, 40%)"],["match",["get","network"],"tokyo-metro",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(180, 50%, 80%)",.3,"hsl(180, 50%, 30%)"],"mexico-city-metro",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(25, 100%, 80%)",.3,"hsl(25, 100%, 63%)"],["barcelona-metro","delhi-metro","hong-kong-mtr","milan-metro","osaka-subway"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 90%, 65%)",.3,"hsl(0, 90%, 47%)"],["boston-t","washington-metro"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(230, 18%, 80%)",.3,"hsl(230, 18%, 20%)"],["chongqing-rail-transit","kiev-metro","singapore-mrt","taipei-metro"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(140, 90%, 85%)",.3,"hsl(140, 90%, 25%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(225, 60%, 60%)",.3,"hsl(225, 60%, 50%)"]]]}},{id:"airport-label",type:"symbol",metadata:{"mapbox:group":"transit labels"},source:"composite","source-layer":"airport_label",minzoom:8,filter:["all",["match",["get","class"],["military","civil","disputed_military","disputed_civil"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showTransitLabels"],"visible","none"],"text-line-height":1.1,"text-size":["step",["get","sizerank"],18,9,13],"icon-image":["image",["string",["get","maki"]],{params:{background:["match",["config","lightPreset"],["dusk","night"],"hsl(225, 60%, 60%)","hsl(225, 60%, 58%)"],"background-stroke":["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"],icon:["match",["config","lightPreset"],["dusk","night"],"hsl(0, 0%, 0%)","hsl(0, 0%, 100%)"]}}],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-offset":[0,.8],"text-rotation-alignment":"viewport","text-anchor":"top","text-field":["step",["get","sizerank"],["case",["has","ref"],["concat",["get","ref"],` -
|
|
654
|
-
`,["coalesce",["get","name_en"],["get","name"]]],["coalesce",["get","name_en"],["get","name"]]],15,["get","ref"]],"text-letter-spacing":.01,"text-max-width":9},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1.5],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 70%)",.3,"hsl(0, 0%, 40%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(225, 60%, 60%)",.3,"hsl(225, 60%, 50%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1}},{id:"settlement-subdivision-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:10,maxzoom:15,filter:["all",["match",["get","class"],["disputed_settlement_subdivision","settlement_subdivision"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["number",["get","filterrank"]],3],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12,11.5],15,["match",["get","type"],"suburb",16,15]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1.2],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 0.5)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 80%, 1)"]],"text-halo-width":1.3,"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],85,.6],.3,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],.6]]]}},{id:"settlement-minor-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"],"text-justify":"auto","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"landmark-icon",type:"symbol",metadata:{"mapbox:group":"Landmark icons"},source:"mapbox-landmark-pois","source-layer":"landmarks_poi",minzoom:10,maxzoom:17,filter:["all",["has","local_rank"],["<=",["get","local_rank"],1],["step",["zoom"],["==",["geometry-type"],"Point"],10,[">=",["get","local_rank"],.9],11,[">=",["get","local_rank"],.8],12,[">=",["get","local_rank"],.7],13,[">=",["get","local_rank"],.5],13.5,[">=",["get","local_rank"],.3],14,[">=",["get","local_rank"],.1],15.5,["case",[">",["pitch"],1],[">",["get","local_rank"],1],[">=",["get","local_rank"],.1]]],["case",["<=",["pitch"],45],!0,["all",["<=",["distance-from-center"],2],[">",["pitch"],45]],!0,!1]],paint:{"symbol-z-offset":["interpolate",["linear"],["zoom"],14,0,15,["case",["config","show3dObjects"],["+",["to-number",["get","height"]],10],0]],"icon-image-cross-fade":["interpolate",["linear"],["measure-light","brightness"],.25,0,.3,1],"icon-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,1,16.7,1,17,0],"icon-emissive-strength":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,.5,.3,1],1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 40%)",.3,"hsl(0, 0%, 35%)"],["interpolate",["linear"],["measure-light","brightness"],.28,"hsl(240, 15%, 75%)",.3,"hsl(0, 0%, 35%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1,"text-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],16.7,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],17,0]},layout:{visibility:["case",["config","showLandmarkIcons"],"visible","none"],"text-field":["to-string",["get","short_name_en"]],"icon-allow-overlap":!1,"icon-padding":30,"symbol-sort-key":["-",1,["get","local_rank"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"icon-image":["image",["concat","landmark-icons","/",["get","icon_name"],"-dark"],{iconset:{id:"landmarks"}},["concat","landmark-icons","/",["get","icon_name"]],{iconset:{id:"landmarks"}}],"icon-size":["interpolate",["linear"],["zoom"],12,.8,14,1],"symbol-placement":"point","text-size":["interpolate",["linear"],["zoom"],12,12,14,14],"text-padding":20,"text-anchor":"top","text-offset":[0,1.8]}},{id:"settlement-major-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"state-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:3,maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]}},{id:"country-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:1,maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"","text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],11,4,9,5,8],9,["step",["get","symbolrank"],22,4,19,5,17]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,.8],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.25}},{id:"continent-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"natural_label",minzoom:.75,maxzoom:3,filter:["all",["==",["get","class"],"continent"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],1.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5],2.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]]}}],models:{"maple1-lod1":"mapbox://models/mapbox/maple1-v4-lod1.glb","maple1-lod2":"mapbox://models/mapbox/maple1-v4-lod2.glb","maple1-lod3":"mapbox://models/mapbox/maple1-v4-lod3.glb","maple1-lod4":"mapbox://models/mapbox/maple1-v4-lod4.glb","maple2-lod1":"mapbox://models/mapbox/maple2-v4-lod1.glb","maple2-lod2":"mapbox://models/mapbox/maple2-v4-lod2.glb","maple2-lod3":"mapbox://models/mapbox/maple2-v4-lod3.glb","maple2-lod4":"mapbox://models/mapbox/maple2-v4-lod4.glb","oak1-lod1":"mapbox://models/mapbox/oak1-v4-lod1.glb","oak1-lod2":"mapbox://models/mapbox/oak1-v4-lod2.glb","oak1-lod3":"mapbox://models/mapbox/oak1-v4-lod3.glb","oak1-lod4":"mapbox://models/mapbox/oak1-v4-lod4.glb","oak2-lod1":"mapbox://models/mapbox/oak2-v4-lod1.glb","oak2-lod2":"mapbox://models/mapbox/oak2-v4-lod2.glb","oak2-lod3":"mapbox://models/mapbox/oak2-v4-lod3.glb","oak2-lod4":"mapbox://models/mapbox/oak2-v4-lod4.glb","palm1-lod1":"mapbox://models/mapbox/palm1-v4-lod1.glb","palm1-lod2":"mapbox://models/mapbox/palm1-v4-lod2.glb","palm1-lod3":"mapbox://models/mapbox/palm1-v4-lod3.glb","palm1-lod4":"mapbox://models/mapbox/palm1-v4-lod4.glb","pine1-lod1":"mapbox://models/mapbox/pine1-v4-lod1.glb","pine1-lod2":"mapbox://models/mapbox/pine1-v4-lod2.glb","pine1-lod3":"mapbox://models/mapbox/pine1-v4-lod3.glb","pine1-lod4":"mapbox://models/mapbox/pine1-v4-lod4.glb","pine2-lod1":"mapbox://models/mapbox/pine2-v4-lod1.glb","pine2-lod2":"mapbox://models/mapbox/pine2-v4-lod2.glb","pine2-lod3":"mapbox://models/mapbox/pine2-v4-lod3.glb","pine2-lod4":"mapbox://models/mapbox/pine2-v4-lod4.glb","turbinetower-lod1":"mapbox://models/mapbox/turbinetower1-lod1.glb","turbinerotor-lod1":"mapbox://models/mapbox/turbinerotor1-lod1.glb","turbinetower-lod2":"mapbox://models/mapbox/turbinetower1-lod2.glb","turbinerotor-lod2":"mapbox://models/mapbox/turbinerotor1-lod2.glb"},featuresets:{poi:{metadata:{"mapbox:title":"Points of interest","mapbox:description":"A point of interest.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the icon and text. Use this state when displaying a custom annotation on top.",importConfigs:[]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the point of interest."},{name:"group",type:"string",doc:"A high-level category, like POI, airport, transit, etc."},{name:"class",type:"string",doc:"A broad category of point of interest."},{name:"maki",type:"string",doc:"An icon identifier, designed to assign icons using the Maki icon project or other icons that follow the same naming scheme."},{name:"transit_mode",type:"string",doc:"Mode of transport served by a stop/station. Expected to be null for non-transit points of interest."},{name:"transit_stop_type",type:"string",doc:"A type of transit stop. Expected to be null for non-transit points of interest."},{name:"transit_network",type:"string",doc:"A rail station network identifier that is part of specific local or regional transit systems. Expected to be null for non-transit points of interest."},{name:"airport_ref",type:"string",doc:"A short identifier code of the airport. Expected to be null for non-airport points of interest"}]},selectors:[{layer:"poi-label-osm",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"poi"},featureNamespace:"poi-A"},{layer:"poi-label",properties:{name:["get","name"],class:["get","category"],maki:["get","icon"],group:"poi"},featureNamespace:"poi-A"},{layer:"transit-label",properties:{name:["get","name"],transit_mode:["get","mode"],transit_stop_type:["get","stop_type"],transit_network:["get","network"],group:"transit"},featureNamespace:"poi-B"},{layer:"airport-label",properties:{name:["get","name"],class:["get","class"],maki:["get","maki"],airport_ref:["get","ref"],group:"airport"},featureNamespace:"poi-C"},{layer:"natural-point-label",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"natural-point"},featureNamespace:"poi-D"}]},"place-labels":{metadata:{"mapbox:title":"Place labels","mapbox:description":"Points for labeling places including countries, states, cities, towns, and neighborhoods.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the label. Use this state when displaying a custom annotation on top.",importConfigs:[]},{id:"highlight",type:"boolean",doc:"When `true`, the feature is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorPlaceLabelHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the feature is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorPlaceLabelSelect"]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the place label."},{name:"class",type:"string",doc:"Provides a broad distinction between place types."}]},selectors:[{layer:"continent-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-A"},{layer:"country-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"state-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-major-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-minor-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-subdivision-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"}]},buildings:{metadata:{"mapbox:title":"Buildings","mapbox:description":"Featureset describing the buildings.","mapbox:states":[{id:"highlight",type:"boolean",doc:"When `true`, the building is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorBuildingHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the building is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorBuildingSelect"]}],"mapbox:properties":[{name:"group",type:"string",doc:"A high-level building group like building-2d, building-3d, etc."}]},selectors:[{layer:"3d-building",properties:{group:"building-3d"},featureNamespace:"building-A",_uniqueFeatureID:!0},{layer:"2d-building",properties:{group:"building-2d"},featureNamespace:"building-A",_uniqueFeatureID:!0}]},"landmark-icons":{metadata:{"mapbox:title":"Landmark Icons","mapbox:description":"Icons for landmark buildings","mapbox:properties":[{name:"id",type:"string",doc:"Unique landmark ID."},{name:"name",type:"string",doc:"Name of the Landmark in local language."},{name:"name_en",type:"string",doc:"Name of the Landmark in English."},{name:"short_name",type:"string",doc:"Short name of the Landmark in local language."},{name:"short_name_en",type:"string",doc:"Short name of the Landmark in English."},{name:"type",type:"string",doc:"Landmark type or building use."}]},selectors:[{layer:"landmark-icon",properties:{id:["get","id"],name:["get","name"],name_en:["get","name_en"],short_name:["get","short_name"],short_name_en:["get","short_name_en"],type:["get","type"]}}]}},created:"2023-10-26T16:35:57.777Z",modified:"2025-08-06T22:58:42.731Z",id:"standard",owner:"mapbox",visibility:"public",protected:!0,draft:!1}}],sources:{composite:{url:"mapbox://mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8",type:"vector",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a> <a href="https://www.openstreetmap.org/copyright/" target="_blank" title="OpenStreetMap" aria-label="OpenStreetMap">© OpenStreetMap</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85.051129,180,85],center:[0,-.025564500000001544,0],constituents:[{maxzoom:12,minzoom:0,source:"mapbox.country-boundaries-v1"},{maxzoom:16,minzoom:0,source:"mapbox.mapbox-streets-v8"}],description:"Global polygon tileset of country boundaries and disputed areas",fillzoom:8,format:"pbf",language_options:{all:"Every available language",ar:"Arabic",bg:"Bulgarian",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Farsi",fi:"Finnish",fr:"French",he:"Hebrew",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ka:"Georgian",ko:"Korean",local:"Renderable local language",lv:"Latvian",ms:"Malay",nb:"Norwegian Bokmål",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sq:"Albanian",sr:"Serbian",sv:"Swedish",th:"Thai",tl:"Tagalog",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese","zh-Hans":"Simplified Chinese","zh-Hant":"Traditional Chinese"},mapbox_logo:!0,maxzoom:16,minzoom:0,mts:!0,name:"Mapbox Streets v8 + Mapbox Countries v1",scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"country_boundaries",maxzoom:22,minzoom:0,source:"mapbox.country-boundaries-v1"},{id:"landuse",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"waterway",minzoom:7,source:"mapbox.mapbox-streets-v8"},{id:"water",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"aeroway",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"structure",minzoom:13,source:"mapbox.mapbox-streets-v8"},{id:"building",minzoom:12,source:"mapbox.mapbox-streets-v8"},{id:"landuse_overlay",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"road",minzoom:3,source:"mapbox.mapbox-streets-v8"},{id:"admin",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"place_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"airport_label",minzoom:8,source:"mapbox.mapbox-streets-v8"},{id:"transit_stop_label",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"natural_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"poi_label",minzoom:6,source:"mapbox.mapbox-streets-v8"},{id:"motorway_junction",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"housenum_label",minzoom:16,source:"mapbox.mapbox-streets-v8"}],worldview_default:"CN",worldview_options:{ALL:"Every available worldview",AR:"Argentina",CN:"China",IN:"India",JP:"Japan",MA:"Morocco",RS:"Serbia",RU:"Russia",TR:"Turkey",US:"United States",VN:"Vietnam"}}},"mapbox://neatchenheng.7y3kpvvv":{url:"mapbox://neatchenheng.7y3kpvvv",type:"vector",data:{bounds:[-179.798,-69.008,179.195,82.49],center:[-.3015000000000043,6.741,0],created:1756267632047,created_by_client:"studio",filesize:587124,format:"pbf",id:"neatchenheng.7y3kpvvv",mapbox_logo:!0,maxzoom:10,minzoom:0,modified:1756267631830,name:"tide_station_cn-8xvt91",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.7y3kpvvv/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetgd2xo142e1oqnwmn6owp2",vector_layers:[{id:"tide_station_cn-8xvt91",maxzoom:22,minzoom:0,source:"neatchenheng.7y3kpvvv"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.7y3kpvvv"}},"mapbox://neatchenheng.9uwc9x7l":{url:"mapbox://neatchenheng.9uwc9x7l",type:"vector",data:{bounds:[-180,-89.999999,180,87.948427],center:[0,-1.0257860000000036,0],created:1756258790178,created_by_client:"studio",filesize:21891,format:"pbf",id:"neatchenheng.9uwc9x7l",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1756258789958,name:"ICE_AREA-6oqazd",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.9uwc9x7l/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetb4f0d12lt1mma92qeqhea",vector_layers:[{id:"ICE_AREA-6oqazd",maxzoom:22,minzoom:0,source:"neatchenheng.9uwc9x7l"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.9uwc9x7l"}},"mapbox://neatchenheng.bbqlsheu":{url:"mapbox://neatchenheng.bbqlsheu",type:"vector",data:{bounds:[-180,-56.7252897416281,180,83.8746022304263],center:[0,13.574656244399101,3],created:1734949386768,created_by_client:"studio",filesize:71176884,format:"pbf",id:"neatchenheng.bbqlsheu",mapbox_logo:!0,maxzoom:9,minzoom:3,modified:1734949386547,name:"World_12NM_v4_20231025-4rlzig",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.bbqlsheu/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50vf2t1fbcu1pqgik3s6iuf",vector_layers:[{id:"World_12NM_v4_20231025-4rlzig",maxzoom:22,minzoom:0,source:"neatchenheng.bbqlsheu"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.bbqlsheu"}},"mapbox://neatchenheng.d44z21eg":{url:"mapbox://neatchenheng.d44z21eg",type:"vector",data:{bounds:[114.23736254035865,17.26387530490726,123.54476074541262,26.931359896042608],center:[118.89106164288563,22.097617600474933,0],created:1734952431828,created_by_client:"studio",filesize:88540,format:"pbf",id:"neatchenheng.d44z21eg",mapbox_logo:!0,maxzoom:9,minzoom:0,modified:1734952431589,name:"eez-d4udtm",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.d44z21eg/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50xvcov1c0b1ony6ujyjdxy",vector_layers:[{id:"eez-d4udtm",maxzoom:22,minzoom:0,source:"neatchenheng.d44z21eg"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.d44z21eg"}},"mapbox://neatchenheng.a4ifbysm":{url:"mapbox://neatchenheng.a4ifbysm",type:"vector",data:{bounds:[-180,-85.19206064243458,179.99989708894586,89.99999999999996],center:[-5145552707119805e-20,2.403969678782687,0],created:1747207518572,created_by_client:"studio",filesize:957976,format:"pbf",id:"neatchenheng.a4ifbysm",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1747207518355,name:"ne_10m_geography_marine_polys-3968bv",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.a4ifbysm/{z}/{x}/{y}.vector.pbf"],upload_id:"cmanm83zc5ykk1tpgdupzbhb5",vector_layers:[{id:"ne_10m_geography_marine_polys-3968bv",maxzoom:22,minzoom:0,source:"neatchenheng.a4ifbysm"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.a4ifbysm"}},"mapbox://neatchenheng.27issko0":{url:"mapbox://neatchenheng.27issko0",type:"vector",data:{bounds:[108.09,20.116666666666667,123.31291651780737,30.871605632915227],center:[115.70145825890368,25.494136149790947,0],created:1747623775149,created_by_client:"studio",filesize:57724,format:"pbf",id:"neatchenheng.27issko0",mapbox_logo:!0,maxzoom:8,minzoom:0,modified:1747897418131,name:"china_route-bdtx5d",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.27issko0/{z}/{x}/{y}.vector.pbf"],upload_id:"cmaz0zckd20bi1onv2xqfrzcv",vector_layers:[{id:"china_route-bdtx5d",maxzoom:22,minzoom:0,source:"neatchenheng.27issko0"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.27issko0"}},"mapbox://neatchenheng.dlkkohie":{url:"mapbox://neatchenheng.dlkkohie",type:"vector",data:{bounds:[-180.0443283402411,-80,180.00284240174312,90],center:[-.020742969248985332,5,0],created:1756711198438,created_by_client:"studio",filesize:38990,format:"pbf",id:"neatchenheng.dlkkohie",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1758161205109,name:"loadlines-b6mgr8",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.dlkkohie/{z}/{x}/{y}.vector.pbf"],upload_id:"cmforrscu3fwp1pqw2ibccowm",vector_layers:[{id:"loadlines-b6mgr8",maxzoom:22,minzoom:0,source:"neatchenheng.dlkkohie"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.dlkkohie"}},i4:this.i4.source,hi:this.hi.source},sprite:"mapbox://sprites/neatchenheng/cmddwkooj003i01ptch7p9gvz/8ej8fh7bqw5mhdjot66571v26",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"country-boundaries",type:"fill",paint:{"fill-color":"rgb(200, 200, 200)"},layout:{visibility:"none"},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(176, 180, 181)"},layout:{},source:"composite","source-layer":"water",metadata:{"mapbox:featureStateHandler":{}},slot:""},{layout:{visibility:"none"},type:"line",source:"mapbox://neatchenheng.bbqlsheu",id:"world-12nm-v4-20231025",paint:{"line-color":"rgb(241, 46, 39)","line-width":2},slot:"","source-layer":"World_12NM_v4_20231025-4rlzig"},{id:"china-taiwan",type:"line",paint:{"line-width":2,"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.d44z21eg","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(84, 84, 84)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-width":1,"text-halo-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(40, 175, 81, 1)","line-width":2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(40, 175, 81, 1)","fill-opacity":.2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0",filter:["match",["geometry-type"],["Polygon"],!0,!1],"source-layer":"china_route-bdtx5d"},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","route_name"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(167, 211, 208, 0.7)"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"mapbox://neatchenheng.7y3kpvvv","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"}],created:"2025-07-22T02:15:53.587Z",modified:"2025-08-07T10:15:43.870Z",id:"cmddwkooj003i01ptch7p9gvz",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1}},this.mapboxStyle={light:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:this.originStyle.light.sources,layers:[(i=(r=this.originStyle)==null?void 0:r.light.layers)==null?void 0:i.find(w=>w.id==="land"),(n=(l=this.originStyle)==null?void 0:l.light.layers)==null?void 0:n.find(w=>w.id==="water"),...a?[this.hi.layer]:[],this.i4.layer,(c=(s=this.originStyle)==null?void 0:s.light.layers)==null?void 0:c.find(w=>w.id==="loadlines-label"),(d=(m=this.originStyle)==null?void 0:m.light.layers)==null?void 0:d.find(w=>w.id==="loadlines-fill"),(u=(g=this.originStyle)==null?void 0:g.light.layers)==null?void 0:u.find(w=>w.id==="ice-area-fill"),(p=(y=this.originStyle)==null?void 0:y.light.layers)==null?void 0:p.find(w=>w.id==="ice-area-line"),(f=(h=this.originStyle)==null?void 0:h.light.layers)==null?void 0:f.find(w=>w.id==="empty-layer-0"),(v=(x=this.originStyle)==null?void 0:x.light.layers)==null?void 0:v.find(w=>w.id==="empty-layer-1"),(k=(b=this.originStyle)==null?void 0:b.light.layers)==null?void 0:k.find(w=>w.id==="country-boundaries"),(L=(A=this.originStyle)==null?void 0:A.light.layers)==null?void 0:L.find(w=>w.id==="water-outline"),(z=(C=this.originStyle)==null?void 0:C.light.layers)==null?void 0:z.find(w=>w.id==="water-outline2"),(T=(M=this.originStyle)==null?void 0:M.light.layers)==null?void 0:T.find(w=>w.id==="empty-layer-2"),(F=(N=this.originStyle)==null?void 0:N.light.layers)==null?void 0:F.find(w=>w.id==="water-line-label"),(q=(O=this.originStyle)==null?void 0:O.light.layers)==null?void 0:q.find(w=>w.id==="water-point-label"),(le=($=this.originStyle)==null?void 0:$.light.layers)==null?void 0:le.find(w=>w.id==="world-12nm-v4-20231025"),(Z=(S=this.originStyle)==null?void 0:S.light.layers)==null?void 0:Z.find(w=>w.id==="nsr-flll"),(te=(H=this.originStyle)==null?void 0:H.light.layers)==null?void 0:te.find(w=>w.id==="nsr-line"),(I=(W=this.originStyle)==null?void 0:W.light.layers)==null?void 0:I.find(w=>w.id==="nsr-label"),(V=(K=this.originStyle)==null?void 0:K.light.layers)==null?void 0:V.find(w=>w.id==="ne-10m-outline"),(ee=(Y=this.originStyle)==null?void 0:Y.light.layers)==null?void 0:ee.find(w=>w.id==="ne-10m-label"),(ge=(he=this.originStyle)==null?void 0:he.light.layers)==null?void 0:ge.find(w=>w.id==="china-route-line"),(ue=(re=this.originStyle)==null?void 0:re.light.layers)==null?void 0:ue.find(w=>w.id==="china-route-fill"),(ze=(ye=this.originStyle)==null?void 0:ye.light.layers)==null?void 0:ze.find(w=>w.id==="china-route-label"),(ne=(J=this.originStyle)==null?void 0:J.light.layers)==null?void 0:ne.find(w=>w.id==="admin-0-boundary-bg"),(Ge=(Fe=this.originStyle)==null?void 0:Fe.light.layers)==null?void 0:Ge.find(w=>w.id==="admin-0-boundary"),(Ce=(Re=this.originStyle)==null?void 0:Re.light.layers)==null?void 0:Ce.find(w=>w.id==="admin-0-boundary-disputed"),(Ne=(je=this.originStyle)==null?void 0:je.light.layers)==null?void 0:Ne.find(w=>w.id==="country-label"),(De=(Ee=this.originStyle)==null?void 0:Ee.light.layers)==null?void 0:De.find(w=>w.id==="continent-label"),(Ze=(We=this.originStyle)==null?void 0:We.light.layers)==null?void 0:Ze.find(w=>w.id==="tide-stations"),(xe=(Be=this.originStyle)==null?void 0:Be.light.layers)==null?void 0:xe.find(w=>w.id==="empty-layer-3"),(_e=(ke=this.originStyle)==null?void 0:ke.light.layers)==null?void 0:_e.find(w=>w.id==="empty-layer-4")]},dark:{version:8,name:"dark",metadata:(He=this.originStyle)==null?void 0:He.dark.metadata,center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:(Xe=this.originStyle)==null?void 0:Xe.dark.sources,sprite:(Oe=this.originStyle)==null?void 0:Oe.dark.sprite,glyphs:(Pe=this.originStyle)==null?void 0:Pe.dark.glyphs,projection:(rt=this.originStyle)==null?void 0:rt.dark.projection,id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(nt=(lt=this.originStyle)==null?void 0:lt.dark.layers)==null?void 0:nt.find(w=>w.id==="land"),(ct=(st=this.originStyle)==null?void 0:st.dark.layers)==null?void 0:ct.find(w=>w.id==="water"),...a?[this.hi.layer]:[],this.i4.layer,(dt=(mt=this.originStyle)==null?void 0:mt.dark.layers)==null?void 0:dt.find(w=>w.id==="loadlines-label"),(pt=(ht=this.originStyle)==null?void 0:ht.dark.layers)==null?void 0:pt.find(w=>w.id==="loadlines-fill"),(gt=(ut=this.originStyle)==null?void 0:ut.dark.layers)==null?void 0:gt.find(w=>w.id==="ice-area-fill"),(yt=(ft=this.originStyle)==null?void 0:ft.dark.layers)==null?void 0:yt.find(w=>w.id==="ice-area-line"),(wt=(bt=this.originStyle)==null?void 0:bt.dark.layers)==null?void 0:wt.find(w=>w.id==="empty-layer-0"),(kt=(xt=this.originStyle)==null?void 0:xt.dark.layers)==null?void 0:kt.find(w=>w.id==="empty-layer-1"),(Lt=(At=this.originStyle)==null?void 0:At.dark.layers)==null?void 0:Lt.find(w=>w.id==="country-boundaries"),(Ct=(vt=this.originStyle)==null?void 0:vt.dark.layers)==null?void 0:Ct.find(w=>w.id==="water-outline"),(zt=(_t=this.originStyle)==null?void 0:_t.dark.layers)==null?void 0:zt.find(w=>w.id==="empty-layer-2"),(Pt=(St=this.originStyle)==null?void 0:St.dark.layers)==null?void 0:Pt.find(w=>w.id==="water-line-label"),(Tt=(Mt=this.originStyle)==null?void 0:Mt.dark.layers)==null?void 0:Tt.find(w=>w.id==="water-point-label"),(Et=(Nt=this.originStyle)==null?void 0:Nt.dark.layers)==null?void 0:Et.find(w=>w.id==="world-12nm-v4-20231025"),(Rt=(Vt=this.originStyle)==null?void 0:Vt.dark.layers)==null?void 0:Rt.find(w=>w.id==="nsr-flll"),(Bt=(Dt=this.originStyle)==null?void 0:Dt.dark.layers)==null?void 0:Bt.find(w=>w.id==="nsr-line"),(Ft=(It=this.originStyle)==null?void 0:It.dark.layers)==null?void 0:Ft.find(w=>w.id==="nsr-label"),(jt=(Gt=this.originStyle)==null?void 0:Gt.dark.layers)==null?void 0:jt.find(w=>w.id==="ne-10m-outline"),(Zt=(Wt=this.originStyle)==null?void 0:Wt.dark.layers)==null?void 0:Zt.find(w=>w.id==="ne-10m-label"),(Ve=(Me=this.originStyle)==null?void 0:Me.dark.layers)==null?void 0:Ve.find(w=>w.id==="china-route-line"),(Ye=(Ht=this.originStyle)==null?void 0:Ht.dark.layers)==null?void 0:Ye.find(w=>w.id==="china-route-fill"),(et=(Xt=this.originStyle)==null?void 0:Xt.dark.layers)==null?void 0:et.find(w=>w.id==="china-route-label"),(Ue=(Ae=this.originStyle)==null?void 0:Ae.dark.layers)==null?void 0:Ue.find(w=>w.id==="admin-0-boundary-bg"),(Le=(ie=this.originStyle)==null?void 0:ie.dark.layers)==null?void 0:Le.find(w=>w.id==="admin-0-boundary"),(X=(U=this.originStyle)==null?void 0:U.dark.layers)==null?void 0:X.find(w=>w.id==="admin-0-boundary-disputed"),(Ie=(Je=this.originStyle)==null?void 0:Je.dark.layers)==null?void 0:Ie.find(w=>w.id==="country-label"),(G=(Se=this.originStyle)==null?void 0:Se.dark.layers)==null?void 0:G.find(w=>w.id==="continent-label"),(oe=(Ot=this.originStyle)==null?void 0:Ot.dark.layers)==null?void 0:oe.find(w=>w.id==="tide-stations"),(Ke=(ve=this.originStyle)==null?void 0:ve.dark.layers)==null?void 0:Ke.find(w=>w.id==="empty-layer-3"),(ot=(tt=this.originStyle)==null?void 0:tt.dark.layers)==null?void 0:ot.find(w=>w.id==="empty-layer-4")]},satellite:{version:8,name:"Satellite Streets",metadata:(B=this.originStyle)==null?void 0:B.satellite.metadata,center:[55.13,25.12],zoom:12,fog:(Qe=this.originStyle)==null?void 0:Qe.satellite.fog,imports:(j=this.originStyle)==null?void 0:j.satellite.imports,sources:(qe=this.originStyle)==null?void 0:qe.satellite.sources,sprite:(Ut=this.originStyle)==null?void 0:Ut.satellite.sprite,glyphs:(se=this.originStyle)==null?void 0:se.satellite.glyphs,projection:(io=this.originStyle)==null?void 0:io.satellite.projection,created:"2025-07-25T03:53:24.667Z",modified:"2025-07-28T06:47:35.471Z",id:"cmdiadnej03n101r485bs2m6a",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(Lo=(me=this.originStyle)==null?void 0:me.satellite.layers)==null?void 0:Lo.find(w=>w.id==="background"),(Co=(vo=this.originStyle)==null?void 0:vo.satellite.layers)==null?void 0:Co.find(w=>w.id==="satellite"),...a?[this.hi.layer]:[],this.i4.layer,(zo=(_o=this.originStyle)==null?void 0:_o.satellite.layers)==null?void 0:zo.find(w=>w.id==="loadlines-label"),(Po=(So=this.originStyle)==null?void 0:So.satellite.layers)==null?void 0:Po.find(w=>w.id==="loadlines-fill"),(To=(Mo=this.originStyle)==null?void 0:Mo.satellite.layers)==null?void 0:To.find(w=>w.id==="ice-area-fill"),(Eo=(No=this.originStyle)==null?void 0:No.satellite.layers)==null?void 0:Eo.find(w=>w.id==="ice-area-line"),(Ro=(Vo=this.originStyle)==null?void 0:Vo.satellite.layers)==null?void 0:Ro.find(w=>w.id==="empty-layer-0"),(Bo=(Do=this.originStyle)==null?void 0:Do.satellite.layers)==null?void 0:Bo.find(w=>w.id==="empty-layer-1"),(bi=(Io=this.originStyle)==null?void 0:Io.satellite.layers)==null?void 0:bi.find(w=>w.id==="country-boundaries"),(xi=(wi=this.originStyle)==null?void 0:wi.satellite.layers)==null?void 0:xi.find(w=>w.id==="water-outline"),(Ai=(ki=this.originStyle)==null?void 0:ki.satellite.layers)==null?void 0:Ai.find(w=>w.id==="empty-layer-2"),(vi=(Li=this.originStyle)==null?void 0:Li.satellite.layers)==null?void 0:vi.find(w=>w.id==="world-12nm-v4-20231025"),(_i=(Ci=this.originStyle)==null?void 0:Ci.satellite.layers)==null?void 0:_i.find(w=>w.id==="nsr-flll"),(Si=(zi=this.originStyle)==null?void 0:zi.satellite.layers)==null?void 0:Si.find(w=>w.id==="nsr-line"),(Mi=(Pi=this.originStyle)==null?void 0:Pi.satellite.layers)==null?void 0:Mi.find(w=>w.id==="nsr-label"),(Ni=(Ti=this.originStyle)==null?void 0:Ti.satellite.layers)==null?void 0:Ni.find(w=>w.id==="ne-10m-outline"),(Vi=(Ei=this.originStyle)==null?void 0:Ei.satellite.layers)==null?void 0:Vi.find(w=>w.id==="ne-10m-label"),(Di=(Ri=this.originStyle)==null?void 0:Ri.satellite.layers)==null?void 0:Di.find(w=>w.id==="china-route-line"),(Ii=(Bi=this.originStyle)==null?void 0:Bi.satellite.layers)==null?void 0:Ii.find(w=>w.id==="china-route-fill"),(Gi=(Fi=this.originStyle)==null?void 0:Fi.satellite.layers)==null?void 0:Gi.find(w=>w.id==="china-route-label"),(Wi=(ji=this.originStyle)==null?void 0:ji.dark.layers)==null?void 0:Wi.find(w=>w.id==="admin-0-boundary-bg"),(Hi=(Zi=this.originStyle)==null?void 0:Zi.dark.layers)==null?void 0:Hi.find(w=>w.id==="admin-0-boundary"),(Oi=(Xi=this.originStyle)==null?void 0:Xi.dark.layers)==null?void 0:Oi.find(w=>w.id==="admin-0-boundary-disputed"),(Ui=(Yi=this.originStyle)==null?void 0:Yi.dark.layers)==null?void 0:Ui.find(w=>w.id==="country-label"),(Ki=(Ji=this.originStyle)==null?void 0:Ji.dark.layers)==null?void 0:Ki.find(w=>w.id==="continent-label"),(qi=(Qi=this.originStyle)==null?void 0:Qi.satellite.layers)==null?void 0:qi.find(w=>w.id==="tide-stations"),(er=($i=this.originStyle)==null?void 0:$i.satellite.layers)==null?void 0:er.find(w=>w.id==="empty-layer-3"),(or=(tr=this.originStyle)==null?void 0:tr.satellite.layers)==null?void 0:or.find(w=>w.id==="empty-layer-4")]},nautical:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:this.originStyle.light.sources,layers:[(ir=(ar=this.originStyle)==null?void 0:ar.light.layers)==null?void 0:ir.find(w=>w.id==="land"),(lr=(rr=this.originStyle)==null?void 0:rr.light.layers)==null?void 0:lr.find(w=>w.id==="water"),...a?[this.hi.layer]:[],this.i4.layer,(sr=(nr=this.originStyle)==null?void 0:nr.light.layers)==null?void 0:sr.find(w=>w.id==="loadlines-label"),(mr=(cr=this.originStyle)==null?void 0:cr.light.layers)==null?void 0:mr.find(w=>w.id==="loadlines-fill"),(hr=(dr=this.originStyle)==null?void 0:dr.light.layers)==null?void 0:hr.find(w=>w.id==="ice-area-fill"),(ur=(pr=this.originStyle)==null?void 0:pr.light.layers)==null?void 0:ur.find(w=>w.id==="ice-area-line"),(fr=(gr=this.originStyle)==null?void 0:gr.light.layers)==null?void 0:fr.find(w=>w.id==="empty-layer-0"),(br=(yr=this.originStyle)==null?void 0:yr.light.layers)==null?void 0:br.find(w=>w.id==="empty-layer-1"),(xr=(wr=this.originStyle)==null?void 0:wr.light.layers)==null?void 0:xr.find(w=>w.id==="country-boundaries"),(Ar=(kr=this.originStyle)==null?void 0:kr.light.layers)==null?void 0:Ar.find(w=>w.id==="water-outline"),(vr=(Lr=this.originStyle)==null?void 0:Lr.light.layers)==null?void 0:vr.find(w=>w.id==="water-outline2"),(_r=(Cr=this.originStyle)==null?void 0:Cr.light.layers)==null?void 0:_r.find(w=>w.id==="empty-layer-2"),(Sr=(zr=this.originStyle)==null?void 0:zr.light.layers)==null?void 0:Sr.find(w=>w.id==="water-line-label"),(Mr=(Pr=this.originStyle)==null?void 0:Pr.light.layers)==null?void 0:Mr.find(w=>w.id==="water-point-label"),(Nr=(Tr=this.originStyle)==null?void 0:Tr.light.layers)==null?void 0:Nr.find(w=>w.id==="world-12nm-v4-20231025"),(Vr=(Er=this.originStyle)==null?void 0:Er.light.layers)==null?void 0:Vr.find(w=>w.id==="nsr-flll"),(Dr=(Rr=this.originStyle)==null?void 0:Rr.light.layers)==null?void 0:Dr.find(w=>w.id==="nsr-line"),(Ir=(Br=this.originStyle)==null?void 0:Br.light.layers)==null?void 0:Ir.find(w=>w.id==="nsr-label"),(Gr=(Fr=this.originStyle)==null?void 0:Fr.light.layers)==null?void 0:Gr.find(w=>w.id==="ne-10m-outline"),(Wr=(jr=this.originStyle)==null?void 0:jr.light.layers)==null?void 0:Wr.find(w=>w.id==="ne-10m-label"),(Hr=(Zr=this.originStyle)==null?void 0:Zr.light.layers)==null?void 0:Hr.find(w=>w.id==="china-route-line"),(Or=(Xr=this.originStyle)==null?void 0:Xr.light.layers)==null?void 0:Or.find(w=>w.id==="china-route-fill"),(Ur=(Yr=this.originStyle)==null?void 0:Yr.light.layers)==null?void 0:Ur.find(w=>w.id==="china-route-label"),(Kr=(Jr=this.originStyle)==null?void 0:Jr.light.layers)==null?void 0:Kr.find(w=>w.id==="admin-0-boundary-bg"),(qr=(Qr=this.originStyle)==null?void 0:Qr.light.layers)==null?void 0:qr.find(w=>w.id==="admin-0-boundary"),(el=($r=this.originStyle)==null?void 0:$r.light.layers)==null?void 0:el.find(w=>w.id==="admin-0-boundary-disputed"),(ol=(tl=this.originStyle)==null?void 0:tl.light.layers)==null?void 0:ol.find(w=>w.id==="country-label"),(il=(al=this.originStyle)==null?void 0:al.light.layers)==null?void 0:il.find(w=>w.id==="continent-label"),(ll=(rl=this.originStyle)==null?void 0:rl.light.layers)==null?void 0:ll.find(w=>w.id==="tide-stations"),(sl=(nl=this.originStyle)==null?void 0:nl.light.layers)==null?void 0:sl.find(w=>w.id==="empty-layer-3"),(ml=(cl=this.originStyle)==null?void 0:cl.light.layers)==null?void 0:ml.find(w=>w.id==="empty-layer-4")]}}}}const a2="",$1={name:"MapInitial",props:{token:{type:String,default:""},height:{type:String,default:"100vh"},width:{type:String,default:"100vw"},top:{type:Number,default:0},menuHeight:{type:Number,default:248},simple:{type:Boolean,default:!1},mapFeather:{type:String},nautical:{type:String},menuToggle:{type:Object,default:{}},platform:{type:String},projection:{type:String}},emits:["map","menuToggle","nautical","projection"],data(){return{map:void 0,mapInstance:void 0,mapRequestId:0,mapDisposed:!1,mapView:void 0,beforeLayer:"",helper:void 0,zoom:2,defaultZoom:2,maxZoom:22,right:10,vendorKeys:["hi","i4"],vendor:void 0,projections:[{value:"mercator",label:"2D"},{value:"globe",label:"3D"}]}},computed:{computeYear(){const t=new Date().getFullYear();return t>2023?t:2023}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})}},mapFeather:{handler(){return this.platform!=="ops"&&(this.mapFeather==="nautical"?this.vendor="i4":this.vendor=""),this.initOnlineMap()},immediate:!0},map:{handler(){this.$emit("map",this.map)},immediate:!0},nautical:{handler(t,e){this.vendor=t},immediate:!0},vendor:{handler(t,e){this.handleNauticalToggle(t,e),this.$emit("nautical",t)}}},mounted(){this.defaultZoom=this.simple?1:2},async beforeUnmount(){var t;this.mapDisposed=!0,this.mapRequestId+=1,this.map=void 0,await this.$nextTick(),(t=this.mapInstance)==null||t.remove(),this.mapInstance=void 0},methods:{async initOnlineMap(t){if(this.mapDisposed)return;const e=++this.mapRequestId,a=this.mapInstance||this.map,r=a?{zoom:a.getZoom(),center:a.getCenter().toArray(),pitch:a.getPitch(),bearing:a.getBearing()}:this.mapView,i=Number.isFinite(t==null?void 0:t.zoom)?t.zoom:(r==null?void 0:r.zoom)??this.defaultZoom,l=Array.isArray(t==null?void 0:t.center)?[...t.center]:(r==null?void 0:r.center)??[120,30],n=Number.isFinite(t==null?void 0:t.pitch)?t.pitch:(r==null?void 0:r.pitch)??(this.projection==="globe"?60:0),s=Number.isFinite(t==null?void 0:t.bearing)?t.bearing:(r==null?void 0:r.bearing)??0;if(this.mapView={zoom:i,center:l,pitch:n,bearing:s},this.map=void 0,await this.$nextTick(),this.mapDisposed||e!==this.mapRequestId||(this.mapInstance=void 0,a==null||a.remove(),!this.mapFeather))return;const c=this.projection==="globe"?"globe":"mercator";this.helper=new ci(this.token,{hifleet:this.platform==="ops"}),pe.accessToken="pk.eyJ1IjoibmVhdGNoZW5oZW5nIiwiYSI6ImNsdXM3cnBmODBsemgycW1vaXc1bjV6bXMifQ.w6fqHGRbhNhLvm0LnX4ZVw";const m=new pe.Map({container:"map",style:this.helper.mapboxStyle[this.mapFeather],minZoom:this.defaultZoom,maxZoom:this.maxZoom,zoom:i,center:l,pitch:n,bearing:s,dragRotate:!1,pitchWithRotate:!1,touchZoomRotate:{enabled:!0,rotate:!1},projection:c,optimizeForTerrain:!1,preserveDrawingBuffer:!0,fadeDuration:300});this.mapInstance=o.markRaw(m),m.dragRotate.disable(),m.touchZoomRotate.disableRotation(),m.on("load",()=>{this.mapDisposed||e!==this.mapRequestId||this.mapInstance!==m||(this.zoom=m.getZoom(),this.map=m,this.handleNauticalToggle(this.vendor),this.$emit("menuToggle"),this.addScaleControl(),c==="globe"&&(m.dragRotate.enable(),m.touchZoomRotate.enableRotation()))}),m.on("move",()=>{this.mapDisposed||e!==this.mapRequestId||this.map!==m||(this.zoom=m.getZoom())})},addScaleControl(){var e;this.map.addControl(new pe.ScaleControl({maxWidth:120,unit:"nautical"}),"bottom-left");const t=(e=document.getElementsByClassName("mapboxgl-ctrl-scale"))==null?void 0:e[0];t&&(t.className="mapboxgl-ctrl-scale "+this.mapFeather)},handleZoomIn(){var t;this.zoom<=22&&(this.zoom=Math.floor(this.zoom)+1,(t=this.map)==null||t.flyTo({zoom:this.zoom,duration:500}))},handleZoomOut(){var t;this.zoom>2&&(this.zoom=Math.floor(this.zoom)-1,(t=this.map)==null||t.flyTo({zoom:this.zoom,duration:500}))},handleNauticalToggle(t,e){var a;if(this.map){for(const r of this.vendorKeys)this.map.getLayer(r)&&this.map.setLayoutProperty(r,"visibility","none");this.vendorKeys.includes(t)&&(a=this.map)!=null&&a.getLayer(t)&&this.map.setLayoutProperty(t,"visibility","visible")}},async toggle3d(){const t=this.map;if(!t)return;const e=this.projection==="mercator"?"globe":"mercator";if(this.$emit("projection",e),await this.$nextTick(),this.map!==t)return;t.setProjection(e),e==="globe"?t.setZoom(this.defaultZoom):(t.setZoom(this.defaultZoom),t.easeTo({pitch:0,bearing:0,duration:600}))}}},eb={class:"v-btn--variant-elevated rounded"},tb={class:"v-btn--variant-elevated rounded"},ob={class:"zoom font-weight-600"},ab={class:"position-absolute bottom-0 mb-1 text-caption text-label opacity-70",style:{left:"140px"}};function ib(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VBtnGroup"),c=o.resolveComponent("VBtnToggle");return o.openBlock(),o.createElementBlock("div",{id:"mapbox-initial-gl4",class:"mapbox-initial-gl4 gif-container",style:o.normalizeStyle({height:a.height,width:a.width})},[e[7]||(e[7]=o.createElementVNode("div",{id:"map"},null,-1)),a.simple?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column pa-1 simple",style:o.normalizeStyle({top:a.top+446+"px",right:i.right+"px",height:"40px"})},[o.createElementVNode("div",eb,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.initOnlineMap},{default:o.withCtx(()=>e[1]||(e[1]=[o.createElementVNode("i",{class:"iconfont icon-shuaxin text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"])])],4),o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column simple",style:o.normalizeStyle({top:a.top+290+"px",right:i.right+"px",height:"80px"})},[o.createVNode(s,{direction:"vertical",density:"compact",divided:"",group:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.projections,m=>(o.openBlock(),o.createBlock(n,{key:m,value:m.value,"min-width":"32",width:"32",height:"32",class:"text-none pa-0 elevation-0 text-body-1 font-weight-700",color:a.projection===m.value?"primary":"",onClick:l.toggle3d},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(m.label),1)]),_:2},1032,["value","color","onClick"]))),128))]),_:1})],4)],64)):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+a.menuHeight+20+"px",right:i.right+"px",height:"112px"})},[o.createElementVNode("div",tb,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",variant:"text",disabled:i.zoom>=i.maxZoom,onClick:l.handleZoomIn},{default:o.withCtx(()=>e[2]||(e[2]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomin text-h4"},null,-1)])),_:1,__:[2]},8,["disabled","onClick"]),o.createElementVNode("div",ob,o.toDisplayString(i.zoom?Math.floor(i.zoom):0),1),o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"elevation-0 pa-0",variant:"text",disabled:i.zoom<=i.defaultZoom,onClick:l.handleZoomOut},{default:o.withCtx(()=>e[3]||(e[3]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomout text-h4"},null,-1)])),_:1,__:[3]},8,["disabled","onClick"])])],4),o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+a.menuHeight+142+"px",right:i.right+"px",height:"80px"})},[o.createVNode(s,{direction:"vertical",density:"compact",divided:"",group:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.projections,m=>(o.openBlock(),o.createBlock(n,{key:m,value:m.value,"min-width":"32",width:"32",height:"32",class:"text-none pa-0 elevation-0 text-body-1 font-weight-700",color:a.projection===m.value?"primary":"",onClick:l.toggle3d},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(m.label),1)]),_:2},1032,["value","color","onClick"]))),128))]),_:1})],4),a.platform==="ops"?(o.openBlock(),o.createElementBlock("div",{key:0,class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+a.menuHeight+232+"px",right:i.right+"px",height:"80px"})},[o.createVNode(c,{modelValue:i.vendor,"onUpdate:modelValue":e[0]||(e[0]=m=>i.vendor=m),class:"v-btn--variant-elevated rounded elevation-0",direction:"vertical",density:"compact",divided:"",group:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.vendorKeys,m=>(o.openBlock(),o.createBlock(n,{key:m,value:m,"min-width":"32",width:"32",height:"32",class:"text-none pa-0 elevation-0 text-h6 font-weight-600",color:i.vendor===m?"primary":""},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(m),1)]),_:2},1032,["value","color"]))),128))]),_:1},8,["modelValue"])],4)):o.createCommentVNode("",!0),o.createElementVNode("div",ab,[e[4]||(e[4]=o.createElementVNode("span",null,"© 2023",-1)),o.createElementVNode("span",null,"-"+o.toDisplayString(l.computeYear),1),e[5]||(e[5]=o.createElementVNode("span",{class:"text-uppercase ma-2"},"ormwx.com",-1)),e[6]||(e[6]=o.createElementVNode("a",{class:"text-decoration-underline cursor-pointer text-label",href:"https://beian.miit.gov.cn/",target:"_blank"},"沪ICP备18039043号-6",-1))])],64))],4)}const mi=Q($1,[["render",ib]]),i2="",rb={name:"DateRangePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},locale:{type:String,default:"en"},timeZone:{type:Number},defaultRange:{type:Array,default:()=>[]},dayAbout:{type:Object,default:()=>({})},fastPick:{type:Object,default:()=>({show:!1,allows:["past7day","past14day","past1month","past3month","past6month","past1mear","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]})}},emits:["dateRange"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,dateRange:[],dateRangeStr:void 0,activeFastPick:"",fastPickOptions:["past7day","past14day","past1month","past3month","past6month","past1year","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]}},computed:{getStyle(){const t=this.width||226;return this.position==="top"?{bottom:"40px",left:`-${(630-t)/2}px`}:this.position==="bottom"?{top:"40px",left:`-${(630-t)/2}px`}:this.position==="left"?{bottom:"-140px",left:"-636px"}:this.position==="right"?{bottom:"-140px",right:"-636px"}:{bottom:"40px",left:`-${(630-t)/2}px`}},timeZoneNames(){return _.tz.names()},timeZoneName(){var t;return(t=this.timeZoneNames.filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"},computeTzSimple(){return(t,e,a="yyyy-MM-DD")=>{var r,i;if(t){const l=e||0;return(i=(r=_(t))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a)}return"-"}}},watch:{timeZone:{handler(t,e){t!==e&&(this.handleResetDateRange(),this.handleResetMinMax())}},defaultRange:{handler(t,e){((t==null?void 0:t[0])!==(e==null?void 0:e[0])||(t==null?void 0:t[1])!==(e==null?void 0:e[1]))&&this.handleResetDateRange()},deep:!0}},mounted(){this.handleReset()},unmounted(){this.handleCancelDate()},methods:{handleReset(){this.handleResetDateRange(),this.handleResetMinMax()},handleResetDateRange(){var t;((t=this.defaultRange)==null?void 0:t.length)===2&&(this.dateRange=this.defaultRange,this.dateRangeStr=`${_.tz(this.dateRange[0],this.timeZoneName).format("yyyy-MM-DD")} ~ ${_.tz(this.dateRange[1],this.timeZoneName).format("yyyy-MM-DD")}`,this.$emit("dateRange",[_.tz(this.dateRange[0],this.timeZoneName).set({hour:0,minute:0,second:0,millisecond:0}).format(),_.tz(this.dateRange[1],this.timeZoneName).set({hour:23,minute:59,second:59,millisecond:59}).format()]))},handleResetMinMax(){const t=_.tz(_().format(),this.timeZoneName).clone(),{h:e,f:a}=this.dayAbout;e!=null&&typeof Number(e)=="number"&&!isNaN(e)&&(this.minDate=t.clone().add(e,"day").format("yyyy-MM-DD")),a!=null&&typeof Number(a)=="number"&&!isNaN(a)&&(this.maxDate=t.clone().add(a,"day").format("yyyy-MM-DD"))},handleOpenDatePicker(){this.showDatePicker=!this.showDatePicker},handleFastPick(t){if(t.dateRange){const e=[];switch(t.dateRange){case"past7day":e.push(_.tz(_(),this.timeZoneName).clone().subtract(7,"day").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past14day":e.push(_.tz(_(),this.timeZoneName).clone().subtract(14,"day").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past1month":e.push(_.tz(_(),this.timeZoneName).clone().add(-1,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past3month":e.push(_.tz(_(),this.timeZoneName).clone().add(-3,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past6month":e.push(_.tz(_(),this.timeZoneName).clone().add(-6,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past1year":e.push(_.tz(_(),this.timeZoneName).clone().add(-12,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"lastMonth":e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"month").startOf("month").format()),e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"month").endOf("month").format());break;case"lastSeason":e.push(_.tz(_(),this.timeZoneName).clone().startOf("quarter").subtract(3,"months").startOf("month").format()),e.push(_.tz(_(),this.timeZoneName).clone().startOf("quarter").subtract(1,"day").endOf("month").format());break;case"lastYear":e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"year").startOf("year").format()),e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"year").endOf("year").format());break;case"forward7day":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(7,"day").format());break;case"forward14day":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(14,"day").format());break;case"forward1month":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(1,"month").format());break;case"forward3month":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(3,"month").format());break}this.dateRange=e,this.activeFastPick=t.dateRange}},handleConfirmDate(){var e;const t=[this.dateRange[0],this.dateRange[((e=this.dateRange)==null?void 0:e.length)-1]];this.dateRangeStr=`${_(t[0]).format("yyyy-MM-DD")} ~ ${_(t[1]).format("yyyy-MM-DD")}`,this.$emit("dateRange",[_.tz(t[0],this.timeZoneName).set({year:_(t[0]).year(),month:_(t[0]).month(),date:_(t[0]).date(),hour:0,minute:0,second:0,millisecond:0}).format(),_.tz(t[1],this.timeZoneName).set({year:_(t[1]).year(),month:_(t[1]).month(),date:_(t[1]).date(),hour:23,minute:59,second:59,millisecond:59}).format()]),this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1},handleClickOutside(t){const e=this.$refs.idmGl4Timepicker;e&&!e.contains(t.target)&&(this.showDatePicker=!1)},handleClearDate(){this.dateRange=[],this.dateRangeStr="",this.$emit("dateRange",[])}}},lb={ref:"idmGl4DatePicker",class:"idm-gl4-date-picker"},nb={class:"flex-1-1-0"},sb={class:"pa-0 w-100 d-flex justify-space-between align-center ga-4"},cb={key:0,class:"d-flex justify-start align-center flex-wrap ga-3 ml-n2"},mb={class:"flex-1-1-0 d-flex justify-end align-center ga-4"};function db(t,e,a,r,i,l){const n=o.resolveComponent("VIcon"),s=o.resolveComponent("VDatePicker"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VCardText"),d=o.resolveComponent("VBtn"),g=o.resolveComponent("VCardActions"),u=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",lb,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-space-between px-2 cursor-pointer",onClick:e[0]||(e[0]=(...y)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...y))},[o.createElementVNode("span",nb,o.toDisplayString(i.dateRangeStr),1),i.dateRangeStr?(o.openBlock(),o.createBlock(n,{key:0,class:"text-h5",icon:"mdi-close-circle",style:{opacity:"0.4"},onClick:o.withModifiers(l.handleClearDate,["stop"])},null,8,["onClick"])):o.createCommentVNode("",!0)],4),i.showDatePicker?(o.openBlock(),o.createBlock(u,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(m,{class:"w-100 flex-1-1-0 d-flex pa-0"},{default:o.withCtx(()=>[o.createElementVNode("div",sb,[o.createVNode(s,{modelValue:i.dateRange[0],"onUpdate:modelValue":[e[1]||(e[1]=y=>i.dateRange[0]=y),e[2]||(e[2]=y=>i.activeFastPick=void 0)],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"]),o.createVNode(c,{vertical:"",class:"my-2"}),o.createVNode(s,{modelValue:i.dateRange[1],"onUpdate:modelValue":[e[3]||(e[3]=y=>i.dateRange[1]=y),e[4]||(e[4]=y=>i.activeFastPick=void 0)],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"])])]),_:1}),o.createVNode(c),o.createVNode(g,{class:"w-100 d-flex justify-space-between align-center pa-0 px-4",style:{height:"50px"}},{default:o.withCtx(()=>{var y,p;return[(y=a.fastPick)!=null&&y.show?(o.openBlock(),o.createElementBlock("div",cb,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((p=i.fastPickOptions)==null?void 0:p.filter(h=>a.fastPick.allows.some(f=>f===h)),h=>(o.openBlock(),o.createBlock(d,{key:h,size:"small",color:i.activeFastPick===h?"primary":"",variant:i.activeFastPick===h?"tonal":"text",class:"text-none text-body-2 px-1",onClick:f=>l.handleFastPick({dateRange:h})},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("time."+h)),1)]),_:2},1032,["color","variant","onClick"]))),128))])):o.createCommentVNode("",!0),o.createElementVNode("div",mb,[o.createVNode(d,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(d,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const di=Q(rb,[["render",db]]),hb={install(t){t.component("MapInitial",mi),t.component("MapboxGL",si),t.component("TropicalGL",ta),t.component("LatLngGL",qo),t.component("DateTimePicker",bo),t.component("DateRangePicker",di),t.component("PortDetail",Go),t.component("BottomTimePlayer",ya)}};function pb(t){return typeof t=="string"&&/^data:image\/svg\+xml/i.test(t)}function ub(t){let e=t.indexOf(",");return e>=0?decodeURIComponent(t.slice(e+1)):""}function gb(t){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}function fb(t){let e=[],a="",r=0;for(let i=0;i<t.length;i++){let l=t[i];l==="("&&r++,l===")"&&(r=Math.max(0,r-1)),l===";"&&r===0?(e.push(a),a=""):a+=l}return a.trim()&&e.push(a),e.map(i=>i.trim()).filter(Boolean)}function yb(t){let e=[],a="",r=0;for(let l=0;l<t.length;l++){let n=t[l];n==="("&&r++,n===")"&&(r=Math.max(0,r-1)),n===","&&r===0?(e.push(a.trim()),a=""):a+=n}a.trim()&&e.push(a.trim());let i=[];for(let l of e){if(/\binset\b/i.test(l))continue;let n=l.match(/-?\d+(?:\.\d+)?px/gi)||[],[s="0px",c="0px",m="0px"]=n,d=l.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),g=!!d&&d!==",";i.push(`drop-shadow(${s} ${c} ${m}${g?` ${d}`:""})`)}return i.join(" ")}function hi(t){let e=fb(t),a=null,r=null,i=null,l=[];for(let s of e){let c=s.indexOf(":");if(c<0)continue;let m=s.slice(0,c).trim().toLowerCase(),d=s.slice(c+1).trim();m==="box-shadow"?i=d:m==="filter"?a=d:m==="-webkit-filter"?r=d:l.push([m,d])}if(i){let s=yb(i);s&&(a=a?`${a} ${s}`:s,r=r?`${r} ${s}`:s)}let n=[...l];return a&&n.push(["filter",a]),r&&n.push(["-webkit-filter",r]),n.map(([s,c])=>`${s}:${c}`).join(";")}function bb(t){return t.replace(/([^{}]+)\{([^}]*)\}/g,(e,a,r)=>`${a}{${hi(r)}}`)}function wb(t){return t=t.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(e,a)=>e.replace(a,bb(a))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(e,a,r)=>`style=${a}${hi(r)}${a}`),t}function xb(t){if(!oo()||!pb(t))return t;try{let e=ub(t),a=wb(e);return gb(a)}catch{return t}}async function Ko(t,e){let{width:a,height:r,scale:i=1,dpr:l=1,meta:n={},backgroundColor:s}=e;t=xb(t);let c=new Image;c.loading="eager",c.decoding="sync",c.crossOrigin="anonymous",c.src=t,await c.decode();let m=c.naturalWidth,d=c.naturalHeight,g=Number.isFinite(n.w0)?n.w0:m,u=Number.isFinite(n.h0)?n.h0:d,y,p,h=Number.isFinite(a),f=Number.isFinite(r);if(h&&f)y=Math.max(1,a),p=Math.max(1,r);else if(h){let b=a/Math.max(1,g);y=a,p=u*b}else if(f){let b=r/Math.max(1,u);p=r,y=g*b}else y=m,p=d;y=y*i,p=p*i;let x=document.createElement("canvas");x.width=y*l,x.height=p*l,x.style.width=`${y}px`,x.style.height=`${p}px`;let v=x.getContext("2d");return l!==1&&v.scale(l,l),s&&(v.save(),v.fillStyle=s,v.fillRect(0,0,y,p),v.restore()),v.drawImage(c,0,0,y,p),x}async function pi(t,e){let a=await Ko(t,e),r=new Image;return r.src=a.toDataURL(`image/${e.format}`,e.quality),await r.decode(),r.style.width=`${a.width/e.dpr}px`,r.style.height=`${a.height/e.dpr}px`,r}async function ui(t,e){let{scale:a=1,width:r,height:i,meta:l={}}=e,n=Number.isFinite(r),s=Number.isFinite(i),c=Number.isFinite(a)&&a!==1||n||s;if(oo()&&c)return await pi(t,{...e,format:"png",quality:1,meta:l});let m=new Image;if(m.decoding="sync",m.loading="eager",m.src=t,await m.decode(),n&&s)m.style.width=`${r}px`,m.style.height=`${i}px`;else if(n){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,g=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=r/Math.max(1,d);m.style.width=`${r}px`,m.style.height=`${Math.round(g*u)}px`}else if(s){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,g=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=i/Math.max(1,g);m.style.height=`${i}px`,m.style.width=`${Math.round(d*u)}px`}else{let d=Math.round(m.naturalWidth*a),g=Math.round(m.naturalHeight*a);if(m.style.width=`${d}px`,m.style.height=`${g}px`,typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let u=decodeURIComponent(t.split(",")[1]).replace(/width="[^"]*"/,`width="${d}"`).replace(/height="[^"]*"/,`height="${g}"`);t=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,m.src=t}catch{}}return m}const Qo=Object.freeze(Object.defineProperty({__proto__:null,toImg:ui,toSvg:ui},Symbol.toStringTag,{value:"Module"})),gi=Object.freeze(Object.defineProperty({__proto__:null,toCanvas:Ko},Symbol.toStringTag,{value:"Module"}));async function fi(t,e){let a=e.type;if(a==="svg"){let i=decodeURIComponent(t.split(",")[1]);return new Blob([i],{type:"image/svg+xml"})}let r=await Ko(t,e);return new Promise(i=>r.toBlob(l=>i(l),`image/${a}`,e.quality))}const yi=Object.freeze(Object.defineProperty({__proto__:null,toBlob:fi},Symbol.toStringTag,{value:"Module"})),ao=Object.freeze(Object.defineProperty({__proto__:null,rasterize:pi},Symbol.toStringTag,{value:"Module"}));async function kb(t,e){let a=((e==null?void 0:e.format)||(e==null?void 0:e.type)||"").toLowerCase(),r=a==="jpg"?"jpeg":a||"png",i=(e==null?void 0:e.filename)||`snapdom.${r}`,l={...e||{},format:r,type:r};if(l.dpr=1,r==="svg"){let c=await fi(t,{...l,type:"svg"}),m=URL.createObjectURL(c),d=document.createElement("a");d.href=m,d.download=i,d.click(),URL.revokeObjectURL(m);return}let n=await Ko(t,l),s=document.createElement("a");s.href=n.toDataURL(`image/${r}`,e==null?void 0:e.quality),s.download=i,s.click()}const Ab=Object.freeze(Object.defineProperty({__proto__:null,download:kb},Symbol.toStringTag,{value:"Module"}));ce.BottomTimePlayer=ya,ce.DateRangePicker=di,ce.DateTimePicker=bo,ce.LatLngGL=qo,ce.MapInitial=mi,ce.MapboxGL=si,ce.MapboxGLPlugin=hb,ce.MapboxStyleHelper=ci,ce.ParticleSchema=at,ce.PortDetail=Go,ce.SigWaveParticleSchema=go,ce.TropicalGL=ta,ce.Viewport=to,ce.Viewport3D=eo,ce.WebGL=$e,ce.WebGLSchema=fe,Object.defineProperty(ce,Symbol.toStringTag,{value:"Module"})});
|
|
654
|
+
`,["coalesce",["get","name_en"],["get","name"]]],["coalesce",["get","name_en"],["get","name"]]],15,["get","ref"]],"text-letter-spacing":.01,"text-max-width":9},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.7,1.5],"icon-emissive-strength":["match",["config","theme"],"monochrome",.7,1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 70%)",.3,"hsl(0, 0%, 40%)"],["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(225, 60%, 60%)",.3,"hsl(225, 60%, 50%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1}},{id:"settlement-subdivision-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:10,maxzoom:15,filter:["all",["match",["get","class"],["disputed_settlement_subdivision","settlement_subdivision"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["<=",["number",["get","filterrank"]],3],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],1.5]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-letter-spacing":["match",["get","type"],"suburb",.15,.05],"text-max-width":7,"text-padding":3,"text-size":["interpolate",["cubic-bezier",.5,0,1,1],["zoom"],11,["match",["get","type"],"suburb",12,11.5],15,["match",["get","type"],"suburb",16,15]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1.2],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 0.5)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 80%, 1)"]],"text-halo-width":1.3,"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],85,.6],.3,["hsla",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],.6]]]}},{id:"settlement-minor-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:13,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],[">",["get","symbolrank"],6],4,[">=",["get","symbolrank"],7],6,[">=",["get","symbolrank"],8],7,[">=",["get","symbolrank"],10],10,[">=",["get","symbolrank"],11],11,[">=",["get","symbolrank"],13],12,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],11,9,10],6,["step",["get","symbolrank"],14,9,12,12,10],8,["step",["get","symbolrank"],16,9,14,12,12,15,10],13,["step",["get","symbolrank"],22,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Regular"],"Arial Unicode MS Regular"],"text-justify":"auto","text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"landmark-icon",type:"symbol",metadata:{"mapbox:group":"Landmark icons"},source:"mapbox-landmark-pois","source-layer":"landmarks_poi",minzoom:10,maxzoom:17,filter:["all",["has","local_rank"],["<=",["get","local_rank"],1],["step",["zoom"],["==",["geometry-type"],"Point"],10,[">=",["get","local_rank"],.9],11,[">=",["get","local_rank"],.8],12,[">=",["get","local_rank"],.7],13,[">=",["get","local_rank"],.5],13.5,[">=",["get","local_rank"],.3],14,[">=",["get","local_rank"],.1],15.5,["case",[">",["pitch"],1],[">",["get","local_rank"],1],[">=",["get","local_rank"],.1]]],["case",["<=",["pitch"],45],!0,["all",["<=",["distance-from-center"],2],[">",["pitch"],45]],!0,!1]],paint:{"symbol-z-offset":["interpolate",["linear"],["zoom"],14,0,15,["case",["config","show3dObjects"],["+",["to-number",["get","height"]],10],0]],"icon-image-cross-fade":["interpolate",["linear"],["measure-light","brightness"],.25,0,.3,1],"icon-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,1,16.7,1,17,0],"icon-emissive-strength":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,.5,.3,1],1],"text-color":["match",["config","theme"],"monochrome",["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 40%)",.3,"hsl(0, 0%, 35%)"],["interpolate",["linear"],["measure-light","brightness"],.28,"hsl(240, 15%, 75%)",.3,"hsl(0, 0%, 35%)"]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.25,"hsl(0, 0%, 0%)",.3,"hsl(0, 0%, 100%)"],"text-halo-width":1,"text-opacity":["interpolate",["linear"],["zoom"],10,0,10.3,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],16.7,["case",["==",["config","showLandmarkIconLabels"],!0],1,0],17,0]},layout:{visibility:["case",["config","showLandmarkIcons"],"visible","none"],"text-field":["to-string",["get","short_name_en"]],"icon-allow-overlap":!1,"icon-padding":30,"symbol-sort-key":["-",1,["get","local_rank"]],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"icon-image":["image",["concat","landmark-icons","/",["get","icon_name"],"-dark"],{iconset:{id:"landmarks"}},["concat","landmark-icons","/",["get","icon_name"]],{iconset:{id:"landmarks"}}],"icon-size":["interpolate",["linear"],["zoom"],12,.8,14,1],"symbol-placement":"point","text-size":["interpolate",["linear"],["zoom"],12,12,14,14],"text-padding":20,"text-anchor":"top","text-offset":[0,1.8]}},{id:"settlement-major-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:2,maxzoom:15,filter:["all",["<=",["get","filterrank"],3],["match",["get","class"],["settlement","disputed_settlement"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["step",["zoom"],!1,2,["<=",["get","symbolrank"],6],4,["<",["get","symbolrank"],7],6,["<",["get","symbolrank"],8],7,["<",["get","symbolrank"],10],10,["<",["get","symbolrank"],11],11,["<",["get","symbolrank"],13],12,["<",["get","symbolrank"],15],13,[">=",["get","symbolrank"],11],14,[">=",["get","symbolrank"],15]],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-line-height":1.1,"text-size":["interpolate",["cubic-bezier",.2,0,.9,1],["zoom"],3,["step",["get","symbolrank"],13,6,11],6,["step",["get","symbolrank"],18,6,16,7,14],8,["step",["get","symbolrank"],20,9,16,10,14],15,["step",["get","symbolrank"],24,9,20,12,16,15,14]],"text-radial-offset":["step",["zoom"],["match",["get","capital"],2,.6,.55],8,0],"symbol-sort-key":["get","symbolrank"],"icon-image":["step",["zoom"],["case",["==",["get","capital"],2],["image","border-dot-13",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],["step",["get","symbolrank"],["image","dot-11",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],9,["image","dot-10",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}],11,["image","dot-9",{params:{"color-primary":["match",["config","lightPreset"],["dusk","night"],["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],["config","colorPlaceLabels"]],"color-secondary":["match",["config","lightPreset"],["dusk","night"],"hsla(0, 0%, 20%, 1)",["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]]}}]]],8,""],"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],8,"center"],"text-anchor":["step",["zoom"],["get","text_anchor"],8,"center"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-max-width":7},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"icon-opacity":["case",["to-boolean",["feature-state","hide"]],0,1],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-halo-blur":1}},{id:"state-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:3,maxzoom:9,filter:["all",["match",["get","class"],["state","disputed_state"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-size":["interpolate",["cubic-bezier",.85,.7,.65,1],["zoom"],4,["step",["get","symbolrank"],9,6,8,7,7],9,["step",["get","symbolrank"],21,6,16,7,14]],"text-transform":"uppercase","text-font":[["concat",["config","font"]," Bold"],"Arial Unicode MS Bold"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-letter-spacing":.15,"text-max-width":6},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1,"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]}},{id:"country-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"place_label",minzoom:1,maxzoom:10,filter:["all",["match",["get","class"],["country","disputed_country"],["case",["has","$localized"],!0,["match",["get","worldview"],["all","CN"],!0,!1]],!1],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"icon-image":"","text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-radial-offset":["step",["zoom"],.6,8,0],"text-justify":["step",["zoom"],["match",["get","text_anchor"],["left","bottom-left","top-left"],"left",["right","bottom-right","top-right"],"right","center"],7,"auto"],"text-size":["interpolate",["cubic-bezier",.2,0,.7,1],["zoom"],1,["step",["get","symbolrank"],11,4,9,5,8],9,["step",["get","symbolrank"],22,4,19,5,17]]},paint:{"text-opacity":["case",["to-boolean",["feature-state","hide"]],0,.8],"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"icon-opacity":["step",["zoom"],["case",["has","text_anchor"],1,0],7,0],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.25}},{id:"continent-label",type:"symbol",metadata:{"mapbox:group":"place labels"},source:"composite","source-layer":"natural_label",minzoom:.75,maxzoom:3,filter:["all",["==",["get","class"],"continent"],["case",["<=",["pitch"],45],!0,["<=",["distance-from-center"],2]]],layout:{visibility:["case",["config","showPlaceLabels"],"visible","none"],"text-field":["coalesce",["get","name_en"],["get","name"]],"text-line-height":1.1,"text-max-width":6,"text-font":[["concat",["config","font"]," Medium"],"Arial Unicode MS Bold"],"text-size":["interpolate",["exponential",.5],["zoom"],0,10,2.5,15],"text-transform":"uppercase","text-letter-spacing":.05},paint:{"text-emissive-strength":["match",["config","theme"],"monochrome",.6,1],"text-color":["case",["to-boolean",["feature-state","select"]],["config","colorPlaceLabelSelect"],["to-boolean",["feature-state","highlight"]],["config","colorPlaceLabelHighlight"],["interpolate",["linear"],["measure-light","brightness"],.28,["hsl",["to-number",["at",0,["to-hsla",["config","colorPlaceLabels"]]]],["to-number",["at",1,["to-hsla",["config","colorPlaceLabels"]]]],80],.3,["config","colorPlaceLabels"]]],"text-halo-color":["interpolate",["linear"],["measure-light","brightness"],.28,"hsla(0, 0%, 20%, 1)",.3,["step",["to-number",["at",2,["to-hsla",["config","colorPlaceLabels"]]]],"hsla(0, 0%, 100%, 1)",90,"hsla(0, 0%, 60%, 1)"]],"text-halo-width":1.5,"text-opacity":["interpolate",["linear"],["zoom"],0,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.8],1.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5],2.5,["case",["to-boolean",["feature-state","hide"]],0,["to-boolean",["feature-state","select"]],1,["to-boolean",["feature-state","highlight"]],1,.5]]}}],models:{"maple1-lod1":"mapbox://models/mapbox/maple1-v4-lod1.glb","maple1-lod2":"mapbox://models/mapbox/maple1-v4-lod2.glb","maple1-lod3":"mapbox://models/mapbox/maple1-v4-lod3.glb","maple1-lod4":"mapbox://models/mapbox/maple1-v4-lod4.glb","maple2-lod1":"mapbox://models/mapbox/maple2-v4-lod1.glb","maple2-lod2":"mapbox://models/mapbox/maple2-v4-lod2.glb","maple2-lod3":"mapbox://models/mapbox/maple2-v4-lod3.glb","maple2-lod4":"mapbox://models/mapbox/maple2-v4-lod4.glb","oak1-lod1":"mapbox://models/mapbox/oak1-v4-lod1.glb","oak1-lod2":"mapbox://models/mapbox/oak1-v4-lod2.glb","oak1-lod3":"mapbox://models/mapbox/oak1-v4-lod3.glb","oak1-lod4":"mapbox://models/mapbox/oak1-v4-lod4.glb","oak2-lod1":"mapbox://models/mapbox/oak2-v4-lod1.glb","oak2-lod2":"mapbox://models/mapbox/oak2-v4-lod2.glb","oak2-lod3":"mapbox://models/mapbox/oak2-v4-lod3.glb","oak2-lod4":"mapbox://models/mapbox/oak2-v4-lod4.glb","palm1-lod1":"mapbox://models/mapbox/palm1-v4-lod1.glb","palm1-lod2":"mapbox://models/mapbox/palm1-v4-lod2.glb","palm1-lod3":"mapbox://models/mapbox/palm1-v4-lod3.glb","palm1-lod4":"mapbox://models/mapbox/palm1-v4-lod4.glb","pine1-lod1":"mapbox://models/mapbox/pine1-v4-lod1.glb","pine1-lod2":"mapbox://models/mapbox/pine1-v4-lod2.glb","pine1-lod3":"mapbox://models/mapbox/pine1-v4-lod3.glb","pine1-lod4":"mapbox://models/mapbox/pine1-v4-lod4.glb","pine2-lod1":"mapbox://models/mapbox/pine2-v4-lod1.glb","pine2-lod2":"mapbox://models/mapbox/pine2-v4-lod2.glb","pine2-lod3":"mapbox://models/mapbox/pine2-v4-lod3.glb","pine2-lod4":"mapbox://models/mapbox/pine2-v4-lod4.glb","turbinetower-lod1":"mapbox://models/mapbox/turbinetower1-lod1.glb","turbinerotor-lod1":"mapbox://models/mapbox/turbinerotor1-lod1.glb","turbinetower-lod2":"mapbox://models/mapbox/turbinetower1-lod2.glb","turbinerotor-lod2":"mapbox://models/mapbox/turbinerotor1-lod2.glb"},featuresets:{poi:{metadata:{"mapbox:title":"Points of interest","mapbox:description":"A point of interest.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the icon and text. Use this state when displaying a custom annotation on top.",importConfigs:[]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the point of interest."},{name:"group",type:"string",doc:"A high-level category, like POI, airport, transit, etc."},{name:"class",type:"string",doc:"A broad category of point of interest."},{name:"maki",type:"string",doc:"An icon identifier, designed to assign icons using the Maki icon project or other icons that follow the same naming scheme."},{name:"transit_mode",type:"string",doc:"Mode of transport served by a stop/station. Expected to be null for non-transit points of interest."},{name:"transit_stop_type",type:"string",doc:"A type of transit stop. Expected to be null for non-transit points of interest."},{name:"transit_network",type:"string",doc:"A rail station network identifier that is part of specific local or regional transit systems. Expected to be null for non-transit points of interest."},{name:"airport_ref",type:"string",doc:"A short identifier code of the airport. Expected to be null for non-airport points of interest"}]},selectors:[{layer:"poi-label-osm",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"poi"},featureNamespace:"poi-A"},{layer:"poi-label",properties:{name:["get","name"],class:["get","category"],maki:["get","icon"],group:"poi"},featureNamespace:"poi-A"},{layer:"transit-label",properties:{name:["get","name"],transit_mode:["get","mode"],transit_stop_type:["get","stop_type"],transit_network:["get","network"],group:"transit"},featureNamespace:"poi-B"},{layer:"airport-label",properties:{name:["get","name"],class:["get","class"],maki:["get","maki"],airport_ref:["get","ref"],group:"airport"},featureNamespace:"poi-C"},{layer:"natural-point-label",properties:{name:["get","name"],class:["get","class"],maki:["coalesce",["get","maki_beta"],["get","maki"]],group:"natural-point"},featureNamespace:"poi-D"}]},"place-labels":{metadata:{"mapbox:title":"Place labels","mapbox:description":"Points for labeling places including countries, states, cities, towns, and neighborhoods.","mapbox:states":[{id:"hide",type:"boolean",doc:"When `true`, hides the label. Use this state when displaying a custom annotation on top.",importConfigs:[]},{id:"highlight",type:"boolean",doc:"When `true`, the feature is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorPlaceLabelHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the feature is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorPlaceLabelSelect"]}],"mapbox:properties":[{name:"name",type:"string",doc:"Name of the place label."},{name:"class",type:"string",doc:"Provides a broad distinction between place types."}]},selectors:[{layer:"continent-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-A"},{layer:"country-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"state-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-major-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-minor-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"},{layer:"settlement-subdivision-label",properties:{name:["get","name"],class:["get","class"]},featureNamespace:"place-B"}]},buildings:{metadata:{"mapbox:title":"Buildings","mapbox:description":"Featureset describing the buildings.","mapbox:states":[{id:"highlight",type:"boolean",doc:"When `true`, the building is highlighted. Use this state to create a temporary effect (e.g. hover).",importConfigs:["colorBuildingHighlight"]},{id:"select",type:"boolean",doc:"When `true`, the building is selected. Use this state to create a permanent effect. Note: the `select` state has a higher priority than `highlight`.",importConfigs:["colorBuildingSelect"]}],"mapbox:properties":[{name:"group",type:"string",doc:"A high-level building group like building-2d, building-3d, etc."}]},selectors:[{layer:"3d-building",properties:{group:"building-3d"},featureNamespace:"building-A",_uniqueFeatureID:!0},{layer:"2d-building",properties:{group:"building-2d"},featureNamespace:"building-A",_uniqueFeatureID:!0}]},"landmark-icons":{metadata:{"mapbox:title":"Landmark Icons","mapbox:description":"Icons for landmark buildings","mapbox:properties":[{name:"id",type:"string",doc:"Unique landmark ID."},{name:"name",type:"string",doc:"Name of the Landmark in local language."},{name:"name_en",type:"string",doc:"Name of the Landmark in English."},{name:"short_name",type:"string",doc:"Short name of the Landmark in local language."},{name:"short_name_en",type:"string",doc:"Short name of the Landmark in English."},{name:"type",type:"string",doc:"Landmark type or building use."}]},selectors:[{layer:"landmark-icon",properties:{id:["get","id"],name:["get","name"],name_en:["get","name_en"],short_name:["get","short_name"],short_name_en:["get","short_name_en"],type:["get","type"]}}]}},created:"2023-10-26T16:35:57.777Z",modified:"2025-08-06T22:58:42.731Z",id:"standard",owner:"mapbox",visibility:"public",protected:!0,draft:!1}}],sources:{composite:{url:"mapbox://mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8",type:"vector",data:{attribution:'<a href="https://www.mapbox.com/about/maps/" target="_blank" title="Mapbox" aria-label="Mapbox">© Mapbox</a> <a href="https://www.openstreetmap.org/copyright/" target="_blank" title="OpenStreetMap" aria-label="OpenStreetMap">© OpenStreetMap</a> <a class="mapbox-improve-map" href="https://www.mapbox.com/contribute/" target="_blank" title="Improve this map" aria-label="Improve this map">Improve this map</a>',bounds:[-180,-85.051129,180,85],center:[0,-.025564500000001544,0],constituents:[{maxzoom:12,minzoom:0,source:"mapbox.country-boundaries-v1"},{maxzoom:16,minzoom:0,source:"mapbox.mapbox-streets-v8"}],description:"Global polygon tileset of country boundaries and disputed areas",fillzoom:8,format:"pbf",language_options:{all:"Every available language",ar:"Arabic",bg:"Bulgarian",ca:"Catalan",cs:"Czech",da:"Danish",de:"German",el:"Greek",en:"English",es:"Spanish",et:"Estonian",fa:"Farsi",fi:"Finnish",fr:"French",he:"Hebrew",hr:"Croatian",hu:"Hungarian",id:"Indonesian",it:"Italian",ja:"Japanese",ka:"Georgian",ko:"Korean",local:"Renderable local language",lv:"Latvian",ms:"Malay",nb:"Norwegian Bokmål",nl:"Dutch",no:"Norwegian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sk:"Slovak",sl:"Slovenian",sq:"Albanian",sr:"Serbian",sv:"Swedish",th:"Thai",tl:"Tagalog",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese","zh-Hans":"Simplified Chinese","zh-Hant":"Traditional Chinese"},mapbox_logo:!0,maxzoom:16,minzoom:0,mts:!0,name:"Mapbox Streets v8 + Mapbox Countries v1",scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/mapbox.country-boundaries-v1,mapbox.mapbox-streets-v8/{z}/{x}/{y}.vector.pbf"],vector_layers:[{id:"country_boundaries",maxzoom:22,minzoom:0,source:"mapbox.country-boundaries-v1"},{id:"landuse",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"waterway",minzoom:7,source:"mapbox.mapbox-streets-v8"},{id:"water",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"aeroway",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"structure",minzoom:13,source:"mapbox.mapbox-streets-v8"},{id:"building",minzoom:12,source:"mapbox.mapbox-streets-v8"},{id:"landuse_overlay",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"road",minzoom:3,source:"mapbox.mapbox-streets-v8"},{id:"admin",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"place_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"airport_label",minzoom:8,source:"mapbox.mapbox-streets-v8"},{id:"transit_stop_label",minzoom:5,source:"mapbox.mapbox-streets-v8"},{id:"natural_label",minzoom:0,source:"mapbox.mapbox-streets-v8"},{id:"poi_label",minzoom:6,source:"mapbox.mapbox-streets-v8"},{id:"motorway_junction",minzoom:9,source:"mapbox.mapbox-streets-v8"},{id:"housenum_label",minzoom:16,source:"mapbox.mapbox-streets-v8"}],worldview_default:"CN",worldview_options:{ALL:"Every available worldview",AR:"Argentina",CN:"China",IN:"India",JP:"Japan",MA:"Morocco",RS:"Serbia",RU:"Russia",TR:"Turkey",US:"United States",VN:"Vietnam"}}},"mapbox://neatchenheng.7y3kpvvv":{url:"mapbox://neatchenheng.7y3kpvvv",type:"vector",data:{bounds:[-179.798,-69.008,179.195,82.49],center:[-.3015000000000043,6.741,0],created:1756267632047,created_by_client:"studio",filesize:587124,format:"pbf",id:"neatchenheng.7y3kpvvv",mapbox_logo:!0,maxzoom:10,minzoom:0,modified:1756267631830,name:"tide_station_cn-8xvt91",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.7y3kpvvv/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetgd2xo142e1oqnwmn6owp2",vector_layers:[{id:"tide_station_cn-8xvt91",maxzoom:22,minzoom:0,source:"neatchenheng.7y3kpvvv"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.7y3kpvvv"}},"mapbox://neatchenheng.9uwc9x7l":{url:"mapbox://neatchenheng.9uwc9x7l",type:"vector",data:{bounds:[-180,-89.999999,180,87.948427],center:[0,-1.0257860000000036,0],created:1756258790178,created_by_client:"studio",filesize:21891,format:"pbf",id:"neatchenheng.9uwc9x7l",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1756258789958,name:"ICE_AREA-6oqazd",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.9uwc9x7l/{z}/{x}/{y}.vector.pbf"],upload_id:"cmetb4f0d12lt1mma92qeqhea",vector_layers:[{id:"ICE_AREA-6oqazd",maxzoom:22,minzoom:0,source:"neatchenheng.9uwc9x7l"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.9uwc9x7l"}},"mapbox://neatchenheng.bbqlsheu":{url:"mapbox://neatchenheng.bbqlsheu",type:"vector",data:{bounds:[-180,-56.7252897416281,180,83.8746022304263],center:[0,13.574656244399101,3],created:1734949386768,created_by_client:"studio",filesize:71176884,format:"pbf",id:"neatchenheng.bbqlsheu",mapbox_logo:!0,maxzoom:9,minzoom:3,modified:1734949386547,name:"World_12NM_v4_20231025-4rlzig",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.bbqlsheu/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50vf2t1fbcu1pqgik3s6iuf",vector_layers:[{id:"World_12NM_v4_20231025-4rlzig",maxzoom:22,minzoom:0,source:"neatchenheng.bbqlsheu"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.bbqlsheu"}},"mapbox://neatchenheng.d44z21eg":{url:"mapbox://neatchenheng.d44z21eg",type:"vector",data:{bounds:[114.23736254035865,17.26387530490726,123.54476074541262,26.931359896042608],center:[118.89106164288563,22.097617600474933,0],created:1734952431828,created_by_client:"studio",filesize:88540,format:"pbf",id:"neatchenheng.d44z21eg",mapbox_logo:!0,maxzoom:9,minzoom:0,modified:1734952431589,name:"eez-d4udtm",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.d44z21eg/{z}/{x}/{y}.vector.pbf"],upload_id:"cm50xvcov1c0b1ony6ujyjdxy",vector_layers:[{id:"eez-d4udtm",maxzoom:22,minzoom:0,source:"neatchenheng.d44z21eg"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.d44z21eg"}},"mapbox://neatchenheng.a4ifbysm":{url:"mapbox://neatchenheng.a4ifbysm",type:"vector",data:{bounds:[-180,-85.19206064243458,179.99989708894586,89.99999999999996],center:[-5145552707119805e-20,2.403969678782687,0],created:1747207518572,created_by_client:"studio",filesize:957976,format:"pbf",id:"neatchenheng.a4ifbysm",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1747207518355,name:"ne_10m_geography_marine_polys-3968bv",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.a4ifbysm/{z}/{x}/{y}.vector.pbf"],upload_id:"cmanm83zc5ykk1tpgdupzbhb5",vector_layers:[{id:"ne_10m_geography_marine_polys-3968bv",maxzoom:22,minzoom:0,source:"neatchenheng.a4ifbysm"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.a4ifbysm"}},"mapbox://neatchenheng.27issko0":{url:"mapbox://neatchenheng.27issko0",type:"vector",data:{bounds:[108.09,20.116666666666667,123.31291651780737,30.871605632915227],center:[115.70145825890368,25.494136149790947,0],created:1747623775149,created_by_client:"studio",filesize:57724,format:"pbf",id:"neatchenheng.27issko0",mapbox_logo:!0,maxzoom:8,minzoom:0,modified:1747897418131,name:"china_route-bdtx5d",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.27issko0/{z}/{x}/{y}.vector.pbf"],upload_id:"cmaz0zckd20bi1onv2xqfrzcv",vector_layers:[{id:"china_route-bdtx5d",maxzoom:22,minzoom:0,source:"neatchenheng.27issko0"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.27issko0"}},"mapbox://neatchenheng.dlkkohie":{url:"mapbox://neatchenheng.dlkkohie",type:"vector",data:{bounds:[-180.0443283402411,-80,180.00284240174312,90],center:[-.020742969248985332,5,0],created:1756711198438,created_by_client:"studio",filesize:38990,format:"pbf",id:"neatchenheng.dlkkohie",mapbox_logo:!0,maxzoom:6,minzoom:0,modified:1758161205109,name:"loadlines-b6mgr8",private:!0,scheme:"xyz",tilejson:"3.0.0",tiles:["mapbox://tiles/neatchenheng.dlkkohie/{z}/{x}/{y}.vector.pbf"],upload_id:"cmforrscu3fwp1pqw2ibccowm",vector_layers:[{id:"loadlines-b6mgr8",maxzoom:22,minzoom:0,source:"neatchenheng.dlkkohie"}],version:"1.0.0",webpage:"https://studio.mapbox.com/tilesets/neatchenheng.dlkkohie"}},i4:this.i4.source,hi:this.hi.source},sprite:"mapbox://sprites/neatchenheng/cmddwkooj003i01ptch7p9gvz/8ej8fh7bqw5mhdjot66571v26",glyphs:"mapbox://fonts/mapbox/{fontstack}/{range}.pbf",projection:{name:"equirectangular"},layers:[{id:"empty-layer-0",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"empty-layer-1",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"country-boundaries",type:"fill",paint:{"fill-color":"rgb(200, 200, 200)"},layout:{visibility:"none"},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-2",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-3",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries",slot:""},{id:"empty-layer-4",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(0, 0, 0, 0)"},layout:{},source:"composite","source-layer":"country_boundaries"},{id:"water-outline",type:"line",paint:{"line-color":"rgb(176, 180, 181)"},layout:{},source:"composite","source-layer":"water",metadata:{"mapbox:featureStateHandler":{}},slot:""},{layout:{visibility:"none"},type:"line",source:"mapbox://neatchenheng.bbqlsheu",id:"world-12nm-v4-20231025",paint:{"line-color":"rgb(241, 46, 39)","line-width":2},slot:"","source-layer":"World_12NM_v4_20231025-4rlzig"},{id:"china-taiwan",type:"line",paint:{"line-width":2,"line-color":"rgb(241, 46, 39)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.d44z21eg","source-layer":"eez-d4udtm"},{id:"ne-10m-outline",type:"line",paint:{"line-color":"rgb(84, 84, 84)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"ne-10m-label",type:"symbol",paint:{"text-halo-width":1,"text-halo-color":"rgb(255, 255, 255)"},layout:{"text-field":["to-string",["get","name"]],"text-size":12,visibility:"none"},source:"mapbox://neatchenheng.a4ifbysm","source-layer":"ne_10m_geography_marine_polys-3968bv"},{id:"china-route-line",type:"line",paint:{"line-color":"rgba(40, 175, 81, 1)","line-width":2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"china-route-fill",type:"fill",paint:{"fill-color":"rgba(40, 175, 81, 1)","fill-opacity":.2},layout:{visibility:"none"},source:"mapbox://neatchenheng.27issko0",filter:["match",["geometry-type"],["Polygon"],!0,!1],"source-layer":"china_route-bdtx5d"},{id:"china-route-label",type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","route_name"]],"text-size":10,"text-offset":[0,1.6],visibility:"none"},source:"mapbox://neatchenheng.27issko0","source-layer":"china_route-bdtx5d"},{id:"ice-area-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":"rgba(167, 211, 208, 0.7)"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd",layout:{visibility:"none"}},{id:"ice-area-line",minzoom:0,maxzoom:22,type:"line",paint:{"line-color":"rgba(199, 239, 236, 1)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.9uwc9x7l","source-layer":"ICE_AREA-6oqazd"},{id:"tide-stations",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)","text-opacity":["step",["zoom"],0,4,1]},layout:{visibility:"none","text-field":["to-string",["get","Location_EN"]],"text-size":10,"icon-image":"tide","icon-size":1,"icon-offset":[0,-13],"text-offset":[0,1.6],"text-font":["DIN Pro Regular","Arial Unicode MS Regular"]},source:"mapbox://neatchenheng.7y3kpvvv","source-layer":"tide_station_cn-8xvt91"},{id:"loadlines-label",minzoom:0,maxzoom:22,type:"symbol",paint:{"text-color":"rgb(0, 0, 0)"},layout:{"text-field":["to-string",["get","name"]],"text-size":10,"text-font":["DIN Pro Regular","Arial Unicode MS Regular"],visibility:"none","text-offset":[0,1]},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"},{id:"loadlines-fill",minzoom:0,maxzoom:22,type:"fill",paint:{"fill-color":["match",["get","val"],["LLGreen"],"rgba(164, 214, 217, 0.6)",["LLBlue"],"rgba(53, 121, 194, 0.6)",["LLRed"],"rgba(217, 150, 151, 0.6)",["LLSUMMER"],"rgba(111, 110, 212, 0.6)","rgba(255, 255, 255, 0.6)"],"fill-outline-color":"rgba(255, 255, 255, 0.3)"},layout:{visibility:"none"},source:"mapbox://neatchenheng.dlkkohie","source-layer":"loadlines-b6mgr8"}],created:"2025-07-22T02:15:53.587Z",modified:"2025-08-07T10:15:43.870Z",id:"cmddwkooj003i01ptch7p9gvz",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1}},this.mapboxStyle={light:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:this.originStyle.light.sources,layers:[(i=(r=this.originStyle)==null?void 0:r.light.layers)==null?void 0:i.find(w=>w.id==="land"),(n=(l=this.originStyle)==null?void 0:l.light.layers)==null?void 0:n.find(w=>w.id==="water"),...a?[this.hi.layer]:[],this.i4.layer,(c=(s=this.originStyle)==null?void 0:s.light.layers)==null?void 0:c.find(w=>w.id==="loadlines-label"),(d=(m=this.originStyle)==null?void 0:m.light.layers)==null?void 0:d.find(w=>w.id==="loadlines-fill"),(u=(g=this.originStyle)==null?void 0:g.light.layers)==null?void 0:u.find(w=>w.id==="ice-area-fill"),(p=(y=this.originStyle)==null?void 0:y.light.layers)==null?void 0:p.find(w=>w.id==="ice-area-line"),(f=(h=this.originStyle)==null?void 0:h.light.layers)==null?void 0:f.find(w=>w.id==="empty-layer-0"),(v=(x=this.originStyle)==null?void 0:x.light.layers)==null?void 0:v.find(w=>w.id==="empty-layer-1"),(k=(b=this.originStyle)==null?void 0:b.light.layers)==null?void 0:k.find(w=>w.id==="country-boundaries"),(L=(A=this.originStyle)==null?void 0:A.light.layers)==null?void 0:L.find(w=>w.id==="water-outline"),(z=(C=this.originStyle)==null?void 0:C.light.layers)==null?void 0:z.find(w=>w.id==="water-outline2"),(T=(M=this.originStyle)==null?void 0:M.light.layers)==null?void 0:T.find(w=>w.id==="empty-layer-2"),(F=(N=this.originStyle)==null?void 0:N.light.layers)==null?void 0:F.find(w=>w.id==="water-line-label"),(q=(O=this.originStyle)==null?void 0:O.light.layers)==null?void 0:q.find(w=>w.id==="water-point-label"),(le=($=this.originStyle)==null?void 0:$.light.layers)==null?void 0:le.find(w=>w.id==="world-12nm-v4-20231025"),(Z=(S=this.originStyle)==null?void 0:S.light.layers)==null?void 0:Z.find(w=>w.id==="nsr-flll"),(te=(H=this.originStyle)==null?void 0:H.light.layers)==null?void 0:te.find(w=>w.id==="nsr-line"),(I=(W=this.originStyle)==null?void 0:W.light.layers)==null?void 0:I.find(w=>w.id==="nsr-label"),(V=(K=this.originStyle)==null?void 0:K.light.layers)==null?void 0:V.find(w=>w.id==="ne-10m-outline"),(ee=(Y=this.originStyle)==null?void 0:Y.light.layers)==null?void 0:ee.find(w=>w.id==="ne-10m-label"),(ge=(he=this.originStyle)==null?void 0:he.light.layers)==null?void 0:ge.find(w=>w.id==="china-route-line"),(ue=(re=this.originStyle)==null?void 0:re.light.layers)==null?void 0:ue.find(w=>w.id==="china-route-fill"),(ze=(ye=this.originStyle)==null?void 0:ye.light.layers)==null?void 0:ze.find(w=>w.id==="china-route-label"),(ne=(J=this.originStyle)==null?void 0:J.light.layers)==null?void 0:ne.find(w=>w.id==="admin-0-boundary-bg"),(Ge=(Fe=this.originStyle)==null?void 0:Fe.light.layers)==null?void 0:Ge.find(w=>w.id==="admin-0-boundary"),(Ce=(Re=this.originStyle)==null?void 0:Re.light.layers)==null?void 0:Ce.find(w=>w.id==="admin-0-boundary-disputed"),(Ne=(je=this.originStyle)==null?void 0:je.light.layers)==null?void 0:Ne.find(w=>w.id==="country-label"),(De=(Ee=this.originStyle)==null?void 0:Ee.light.layers)==null?void 0:De.find(w=>w.id==="continent-label"),(Ze=(We=this.originStyle)==null?void 0:We.light.layers)==null?void 0:Ze.find(w=>w.id==="tide-stations"),(xe=(Be=this.originStyle)==null?void 0:Be.light.layers)==null?void 0:xe.find(w=>w.id==="empty-layer-3"),(_e=(ke=this.originStyle)==null?void 0:ke.light.layers)==null?void 0:_e.find(w=>w.id==="empty-layer-4")]},dark:{version:8,name:"dark",metadata:(He=this.originStyle)==null?void 0:He.dark.metadata,center:[90.22129259388525,-3.2084663486364606],zoom:1.2556266457717493,bearing:0,pitch:0,lights:[],fog:{range:[.5,10]},sources:(Xe=this.originStyle)==null?void 0:Xe.dark.sources,sprite:(Oe=this.originStyle)==null?void 0:Oe.dark.sprite,glyphs:(Pe=this.originStyle)==null?void 0:Pe.dark.glyphs,projection:(rt=this.originStyle)==null?void 0:rt.dark.projection,id:"cmdqwez32005b01re2w0k3zk4",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(nt=(lt=this.originStyle)==null?void 0:lt.dark.layers)==null?void 0:nt.find(w=>w.id==="land"),(ct=(st=this.originStyle)==null?void 0:st.dark.layers)==null?void 0:ct.find(w=>w.id==="water"),...a?[this.hi.layer]:[],this.i4.layer,(dt=(mt=this.originStyle)==null?void 0:mt.dark.layers)==null?void 0:dt.find(w=>w.id==="loadlines-label"),(pt=(ht=this.originStyle)==null?void 0:ht.dark.layers)==null?void 0:pt.find(w=>w.id==="loadlines-fill"),(gt=(ut=this.originStyle)==null?void 0:ut.dark.layers)==null?void 0:gt.find(w=>w.id==="ice-area-fill"),(yt=(ft=this.originStyle)==null?void 0:ft.dark.layers)==null?void 0:yt.find(w=>w.id==="ice-area-line"),(wt=(bt=this.originStyle)==null?void 0:bt.dark.layers)==null?void 0:wt.find(w=>w.id==="empty-layer-0"),(kt=(xt=this.originStyle)==null?void 0:xt.dark.layers)==null?void 0:kt.find(w=>w.id==="empty-layer-1"),(Lt=(At=this.originStyle)==null?void 0:At.dark.layers)==null?void 0:Lt.find(w=>w.id==="country-boundaries"),(Ct=(vt=this.originStyle)==null?void 0:vt.dark.layers)==null?void 0:Ct.find(w=>w.id==="water-outline"),(zt=(_t=this.originStyle)==null?void 0:_t.dark.layers)==null?void 0:zt.find(w=>w.id==="empty-layer-2"),(Pt=(St=this.originStyle)==null?void 0:St.dark.layers)==null?void 0:Pt.find(w=>w.id==="water-line-label"),(Tt=(Mt=this.originStyle)==null?void 0:Mt.dark.layers)==null?void 0:Tt.find(w=>w.id==="water-point-label"),(Et=(Nt=this.originStyle)==null?void 0:Nt.dark.layers)==null?void 0:Et.find(w=>w.id==="world-12nm-v4-20231025"),(Rt=(Vt=this.originStyle)==null?void 0:Vt.dark.layers)==null?void 0:Rt.find(w=>w.id==="nsr-flll"),(Bt=(Dt=this.originStyle)==null?void 0:Dt.dark.layers)==null?void 0:Bt.find(w=>w.id==="nsr-line"),(Ft=(It=this.originStyle)==null?void 0:It.dark.layers)==null?void 0:Ft.find(w=>w.id==="nsr-label"),(jt=(Gt=this.originStyle)==null?void 0:Gt.dark.layers)==null?void 0:jt.find(w=>w.id==="ne-10m-outline"),(Zt=(Wt=this.originStyle)==null?void 0:Wt.dark.layers)==null?void 0:Zt.find(w=>w.id==="ne-10m-label"),(Ve=(Me=this.originStyle)==null?void 0:Me.dark.layers)==null?void 0:Ve.find(w=>w.id==="china-route-line"),(Ye=(Ht=this.originStyle)==null?void 0:Ht.dark.layers)==null?void 0:Ye.find(w=>w.id==="china-route-fill"),(et=(Xt=this.originStyle)==null?void 0:Xt.dark.layers)==null?void 0:et.find(w=>w.id==="china-route-label"),(Ue=(Ae=this.originStyle)==null?void 0:Ae.dark.layers)==null?void 0:Ue.find(w=>w.id==="admin-0-boundary-bg"),(Le=(ie=this.originStyle)==null?void 0:ie.dark.layers)==null?void 0:Le.find(w=>w.id==="admin-0-boundary"),(X=(U=this.originStyle)==null?void 0:U.dark.layers)==null?void 0:X.find(w=>w.id==="admin-0-boundary-disputed"),(Ie=(Je=this.originStyle)==null?void 0:Je.dark.layers)==null?void 0:Ie.find(w=>w.id==="country-label"),(G=(Se=this.originStyle)==null?void 0:Se.dark.layers)==null?void 0:G.find(w=>w.id==="continent-label"),(oe=(Ot=this.originStyle)==null?void 0:Ot.dark.layers)==null?void 0:oe.find(w=>w.id==="tide-stations"),(Ke=(ve=this.originStyle)==null?void 0:ve.dark.layers)==null?void 0:Ke.find(w=>w.id==="empty-layer-3"),(ot=(tt=this.originStyle)==null?void 0:tt.dark.layers)==null?void 0:ot.find(w=>w.id==="empty-layer-4")]},satellite:{version:8,name:"Satellite Streets",metadata:(B=this.originStyle)==null?void 0:B.satellite.metadata,center:[55.13,25.12],zoom:12,fog:(Qe=this.originStyle)==null?void 0:Qe.satellite.fog,imports:(j=this.originStyle)==null?void 0:j.satellite.imports,sources:(qe=this.originStyle)==null?void 0:qe.satellite.sources,sprite:(Ut=this.originStyle)==null?void 0:Ut.satellite.sprite,glyphs:(se=this.originStyle)==null?void 0:se.satellite.glyphs,projection:(io=this.originStyle)==null?void 0:io.satellite.projection,created:"2025-07-25T03:53:24.667Z",modified:"2025-07-28T06:47:35.471Z",id:"cmdiadnej03n101r485bs2m6a",owner:"neatchenheng",visibility:"private",protected:!1,draft:!1,layers:[(Lo=(me=this.originStyle)==null?void 0:me.satellite.layers)==null?void 0:Lo.find(w=>w.id==="background"),(Co=(vo=this.originStyle)==null?void 0:vo.satellite.layers)==null?void 0:Co.find(w=>w.id==="satellite"),...a?[this.hi.layer]:[],this.i4.layer,(zo=(_o=this.originStyle)==null?void 0:_o.satellite.layers)==null?void 0:zo.find(w=>w.id==="loadlines-label"),(Po=(So=this.originStyle)==null?void 0:So.satellite.layers)==null?void 0:Po.find(w=>w.id==="loadlines-fill"),(To=(Mo=this.originStyle)==null?void 0:Mo.satellite.layers)==null?void 0:To.find(w=>w.id==="ice-area-fill"),(Eo=(No=this.originStyle)==null?void 0:No.satellite.layers)==null?void 0:Eo.find(w=>w.id==="ice-area-line"),(Ro=(Vo=this.originStyle)==null?void 0:Vo.satellite.layers)==null?void 0:Ro.find(w=>w.id==="empty-layer-0"),(Bo=(Do=this.originStyle)==null?void 0:Do.satellite.layers)==null?void 0:Bo.find(w=>w.id==="empty-layer-1"),(bi=(Io=this.originStyle)==null?void 0:Io.satellite.layers)==null?void 0:bi.find(w=>w.id==="country-boundaries"),(xi=(wi=this.originStyle)==null?void 0:wi.satellite.layers)==null?void 0:xi.find(w=>w.id==="water-outline"),(Ai=(ki=this.originStyle)==null?void 0:ki.satellite.layers)==null?void 0:Ai.find(w=>w.id==="empty-layer-2"),(vi=(Li=this.originStyle)==null?void 0:Li.satellite.layers)==null?void 0:vi.find(w=>w.id==="world-12nm-v4-20231025"),(_i=(Ci=this.originStyle)==null?void 0:Ci.satellite.layers)==null?void 0:_i.find(w=>w.id==="nsr-flll"),(Si=(zi=this.originStyle)==null?void 0:zi.satellite.layers)==null?void 0:Si.find(w=>w.id==="nsr-line"),(Mi=(Pi=this.originStyle)==null?void 0:Pi.satellite.layers)==null?void 0:Mi.find(w=>w.id==="nsr-label"),(Ni=(Ti=this.originStyle)==null?void 0:Ti.satellite.layers)==null?void 0:Ni.find(w=>w.id==="ne-10m-outline"),(Vi=(Ei=this.originStyle)==null?void 0:Ei.satellite.layers)==null?void 0:Vi.find(w=>w.id==="ne-10m-label"),(Di=(Ri=this.originStyle)==null?void 0:Ri.satellite.layers)==null?void 0:Di.find(w=>w.id==="china-route-line"),(Ii=(Bi=this.originStyle)==null?void 0:Bi.satellite.layers)==null?void 0:Ii.find(w=>w.id==="china-route-fill"),(Gi=(Fi=this.originStyle)==null?void 0:Fi.satellite.layers)==null?void 0:Gi.find(w=>w.id==="china-route-label"),(Wi=(ji=this.originStyle)==null?void 0:ji.dark.layers)==null?void 0:Wi.find(w=>w.id==="admin-0-boundary-bg"),(Hi=(Zi=this.originStyle)==null?void 0:Zi.dark.layers)==null?void 0:Hi.find(w=>w.id==="admin-0-boundary"),(Oi=(Xi=this.originStyle)==null?void 0:Xi.dark.layers)==null?void 0:Oi.find(w=>w.id==="admin-0-boundary-disputed"),(Ui=(Yi=this.originStyle)==null?void 0:Yi.dark.layers)==null?void 0:Ui.find(w=>w.id==="country-label"),(Ki=(Ji=this.originStyle)==null?void 0:Ji.dark.layers)==null?void 0:Ki.find(w=>w.id==="continent-label"),(qi=(Qi=this.originStyle)==null?void 0:Qi.satellite.layers)==null?void 0:qi.find(w=>w.id==="tide-stations"),(er=($i=this.originStyle)==null?void 0:$i.satellite.layers)==null?void 0:er.find(w=>w.id==="empty-layer-3"),(or=(tr=this.originStyle)==null?void 0:tr.satellite.layers)==null?void 0:or.find(w=>w.id==="empty-layer-4")]},nautical:{version:8,name:"origin",lights:[],fog:this.originStyle.light.fog,bearing:0,pitch:1,sprite:this.originStyle.light.sprite,glyphs:this.originStyle.light.glyphs,projection:this.originStyle.light.projection,sources:this.originStyle.light.sources,layers:[(ir=(ar=this.originStyle)==null?void 0:ar.light.layers)==null?void 0:ir.find(w=>w.id==="land"),(lr=(rr=this.originStyle)==null?void 0:rr.light.layers)==null?void 0:lr.find(w=>w.id==="water"),...a?[this.hi.layer]:[],this.i4.layer,(sr=(nr=this.originStyle)==null?void 0:nr.light.layers)==null?void 0:sr.find(w=>w.id==="loadlines-label"),(mr=(cr=this.originStyle)==null?void 0:cr.light.layers)==null?void 0:mr.find(w=>w.id==="loadlines-fill"),(hr=(dr=this.originStyle)==null?void 0:dr.light.layers)==null?void 0:hr.find(w=>w.id==="ice-area-fill"),(ur=(pr=this.originStyle)==null?void 0:pr.light.layers)==null?void 0:ur.find(w=>w.id==="ice-area-line"),(fr=(gr=this.originStyle)==null?void 0:gr.light.layers)==null?void 0:fr.find(w=>w.id==="empty-layer-0"),(br=(yr=this.originStyle)==null?void 0:yr.light.layers)==null?void 0:br.find(w=>w.id==="empty-layer-1"),(xr=(wr=this.originStyle)==null?void 0:wr.light.layers)==null?void 0:xr.find(w=>w.id==="country-boundaries"),(Ar=(kr=this.originStyle)==null?void 0:kr.light.layers)==null?void 0:Ar.find(w=>w.id==="water-outline"),(vr=(Lr=this.originStyle)==null?void 0:Lr.light.layers)==null?void 0:vr.find(w=>w.id==="water-outline2"),(_r=(Cr=this.originStyle)==null?void 0:Cr.light.layers)==null?void 0:_r.find(w=>w.id==="empty-layer-2"),(Sr=(zr=this.originStyle)==null?void 0:zr.light.layers)==null?void 0:Sr.find(w=>w.id==="water-line-label"),(Mr=(Pr=this.originStyle)==null?void 0:Pr.light.layers)==null?void 0:Mr.find(w=>w.id==="water-point-label"),(Nr=(Tr=this.originStyle)==null?void 0:Tr.light.layers)==null?void 0:Nr.find(w=>w.id==="world-12nm-v4-20231025"),(Vr=(Er=this.originStyle)==null?void 0:Er.light.layers)==null?void 0:Vr.find(w=>w.id==="nsr-flll"),(Dr=(Rr=this.originStyle)==null?void 0:Rr.light.layers)==null?void 0:Dr.find(w=>w.id==="nsr-line"),(Ir=(Br=this.originStyle)==null?void 0:Br.light.layers)==null?void 0:Ir.find(w=>w.id==="nsr-label"),(Gr=(Fr=this.originStyle)==null?void 0:Fr.light.layers)==null?void 0:Gr.find(w=>w.id==="ne-10m-outline"),(Wr=(jr=this.originStyle)==null?void 0:jr.light.layers)==null?void 0:Wr.find(w=>w.id==="ne-10m-label"),(Hr=(Zr=this.originStyle)==null?void 0:Zr.light.layers)==null?void 0:Hr.find(w=>w.id==="china-route-line"),(Or=(Xr=this.originStyle)==null?void 0:Xr.light.layers)==null?void 0:Or.find(w=>w.id==="china-route-fill"),(Ur=(Yr=this.originStyle)==null?void 0:Yr.light.layers)==null?void 0:Ur.find(w=>w.id==="china-route-label"),(Kr=(Jr=this.originStyle)==null?void 0:Jr.light.layers)==null?void 0:Kr.find(w=>w.id==="admin-0-boundary-bg"),(qr=(Qr=this.originStyle)==null?void 0:Qr.light.layers)==null?void 0:qr.find(w=>w.id==="admin-0-boundary"),(el=($r=this.originStyle)==null?void 0:$r.light.layers)==null?void 0:el.find(w=>w.id==="admin-0-boundary-disputed"),(ol=(tl=this.originStyle)==null?void 0:tl.light.layers)==null?void 0:ol.find(w=>w.id==="country-label"),(il=(al=this.originStyle)==null?void 0:al.light.layers)==null?void 0:il.find(w=>w.id==="continent-label"),(ll=(rl=this.originStyle)==null?void 0:rl.light.layers)==null?void 0:ll.find(w=>w.id==="tide-stations"),(sl=(nl=this.originStyle)==null?void 0:nl.light.layers)==null?void 0:sl.find(w=>w.id==="empty-layer-3"),(ml=(cl=this.originStyle)==null?void 0:cl.light.layers)==null?void 0:ml.find(w=>w.id==="empty-layer-4")]}}}}const a2="",$1={name:"MapInitial",props:{token:{type:String,default:""},height:{type:String,default:"100vh"},width:{type:String,default:"100vw"},top:{type:Number,default:0},menuHeight:{type:Number,default:248},simple:{type:Boolean,default:!1},mapFeather:{type:String},nautical:{type:String},menuToggle:{type:Object,default:{}},platform:{type:String},projection:{type:String}},emits:["map","menuToggle","nautical","projection"],data(){return{map:void 0,mapInstance:void 0,mapRequestId:0,mapDisposed:!1,mapView:void 0,beforeLayer:"",helper:void 0,zoom:2,defaultZoom:2,maxZoom:22,right:10,vendorKeys:["hi","i4"],vendor:void 0,projections:[{value:"mercator",label:"2D"},{value:"globe",label:"3D"}]}},computed:{computeYear(){const t=new Date().getFullYear();return t>2023?t:2023}},watch:{"menuToggle.v":{handler(){this.$nextTick(()=>{var t;this.simple||(this.right=(((t=document.getElementsByClassName("right-bar")[0])==null?void 0:t.clientWidth)||0)+10)})}},mapFeather:{handler(){return this.platform!=="ops"&&(this.mapFeather==="nautical"?this.vendor="i4":this.vendor=""),this.initOnlineMap()},immediate:!0},map:{handler(){this.$emit("map",this.map)},immediate:!0},nautical:{handler(t,e){this.vendor=t},immediate:!0},vendor:{handler(t,e){this.handleNauticalToggle(t,e),this.$emit("nautical",t)}}},mounted(){this.defaultZoom=this.simple?1:2},async beforeUnmount(){var t;this.mapDisposed=!0,this.mapRequestId+=1,this.map=void 0,await this.$nextTick(),(t=this.mapInstance)==null||t.remove(),this.mapInstance=void 0},methods:{async initOnlineMap(t){if(this.mapDisposed)return;const e=++this.mapRequestId,a=this.mapInstance||this.map,r=a?{zoom:a.getZoom(),center:a.getCenter().toArray(),pitch:a.getPitch(),bearing:a.getBearing()}:this.mapView,i=Number.isFinite(t==null?void 0:t.zoom)?t.zoom:(r==null?void 0:r.zoom)??this.defaultZoom,l=Array.isArray(t==null?void 0:t.center)?[...t.center]:(r==null?void 0:r.center)??[120,30],n=Number.isFinite(t==null?void 0:t.pitch)?t.pitch:(r==null?void 0:r.pitch)??(this.projection==="globe"?60:0),s=Number.isFinite(t==null?void 0:t.bearing)?t.bearing:(r==null?void 0:r.bearing)??0;if(this.mapView={zoom:i,center:l,pitch:n,bearing:s},this.map=void 0,await this.$nextTick(),this.mapDisposed||e!==this.mapRequestId||(this.mapInstance=void 0,a==null||a.remove(),!this.mapFeather))return;const c=this.projection==="globe"?"globe":"mercator";this.helper=new ci(this.token,{hifleet:this.platform==="ops"}),pe.accessToken="pk.eyJ1IjoibmVhdGNoZW5oZW5nIiwiYSI6ImNsdXM3cnBmODBsemgycW1vaXc1bjV6bXMifQ.w6fqHGRbhNhLvm0LnX4ZVw";const m=new pe.Map({container:"map",style:this.helper.mapboxStyle[this.mapFeather],minZoom:this.defaultZoom,maxZoom:this.maxZoom,zoom:i,center:l,pitch:n,bearing:s,dragRotate:!1,pitchWithRotate:!1,touchZoomRotate:{enabled:!0,rotate:!1},projection:c,optimizeForTerrain:!1,preserveDrawingBuffer:!0,fadeDuration:300});this.mapInstance=o.markRaw(m),m.dragRotate.disable(),m.touchZoomRotate.disableRotation(),m.on("load",()=>{this.mapDisposed||e!==this.mapRequestId||this.mapInstance!==m||(this.zoom=m.getZoom(),this.map=m,this.handleNauticalToggle(this.vendor),this.$emit("menuToggle"),this.addScaleControl(),c==="globe"&&(m.dragRotate.enable(),m.touchZoomRotate.enableRotation()))}),m.on("move",()=>{this.mapDisposed||e!==this.mapRequestId||this.map!==m||(this.zoom=m.getZoom())})},addScaleControl(){var e;this.map.addControl(new pe.ScaleControl({maxWidth:120,unit:"nautical"}),"bottom-left");const t=(e=document.getElementsByClassName("mapboxgl-ctrl-scale"))==null?void 0:e[0];t&&(t.className="mapboxgl-ctrl-scale "+this.mapFeather)},handleZoomIn(){var t;this.zoom<=22&&(this.zoom=Math.floor(this.zoom)+1,(t=this.map)==null||t.flyTo({zoom:this.zoom,duration:500}))},handleZoomOut(){var t;this.zoom>2&&(this.zoom=Math.floor(this.zoom)-1,(t=this.map)==null||t.flyTo({zoom:this.zoom,duration:500}))},handleNauticalToggle(t,e){var a;if(this.map){for(const r of this.vendorKeys)this.map.getLayer(r)&&this.map.setLayoutProperty(r,"visibility","none");this.vendorKeys.includes(t)&&(a=this.map)!=null&&a.getLayer(t)&&this.map.setLayoutProperty(t,"visibility","visible")}},async toggle3d(){const t=this.map;if(!t)return;const e=this.projection==="mercator"?"globe":"mercator";if(this.$emit("projection",e),await this.$nextTick(),this.map!==t)return;t.setProjection(e),e==="globe"?t.setZoom(this.defaultZoom):(t.setZoom(this.defaultZoom),t.easeTo({pitch:0,bearing:0,duration:600}))}}},eb={class:"v-btn--variant-elevated rounded"},tb={class:"v-btn--variant-elevated rounded"},ob={class:"zoom font-weight-600"},ab={class:"position-absolute bottom-0 mb-1 text-caption text-label opacity-70",style:{left:"140px"}};function ib(t,e,a,r,i,l){const n=o.resolveComponent("VBtn"),s=o.resolveComponent("VBtnGroup"),c=o.resolveComponent("VBtnToggle");return o.openBlock(),o.createElementBlock("div",{id:"mapbox-initial-gl4",class:"mapbox-initial-gl4 gif-container",style:o.normalizeStyle({height:a.height,width:a.width})},[e[7]||(e[7]=o.createElementVNode("div",{id:"map"},null,-1)),a.simple?(o.openBlock(),o.createElementBlock(o.Fragment,{key:0},[o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column pa-1 simple",style:o.normalizeStyle({top:a.top+446+"px",right:i.right+"px",height:"40px"})},[o.createElementVNode("div",eb,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",onClick:l.initOnlineMap},{default:o.withCtx(()=>e[1]||(e[1]=[o.createElementVNode("i",{class:"iconfont icon-shuaxin text-h4"},null,-1)])),_:1,__:[1]},8,["onClick"])])],4),o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column simple",style:o.normalizeStyle({top:a.top+290+"px",right:i.right+"px",height:"80px"})},[o.createVNode(s,{direction:"vertical",density:"compact",divided:"",group:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.projections,m=>(o.openBlock(),o.createBlock(n,{key:m,value:m.value,"min-width":"32",width:"32",height:"32",class:"text-none pa-0 elevation-0 text-body-1 font-weight-700",color:a.projection===m.value?"primary":"",onClick:l.toggle3d},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(m.label),1)]),_:2},1032,["value","color","onClick"]))),128))]),_:1})],4)],64)):(o.openBlock(),o.createElementBlock(o.Fragment,{key:1},[o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+a.menuHeight+20+"px",right:i.right+"px",height:"112px"})},[o.createElementVNode("div",tb,[o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"pa-0 elevation-0",variant:"text",disabled:i.zoom>=i.maxZoom,onClick:l.handleZoomIn},{default:o.withCtx(()=>e[2]||(e[2]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomin text-h4"},null,-1)])),_:1,__:[2]},8,["disabled","onClick"]),o.createElementVNode("div",ob,o.toDisplayString(i.zoom?Math.floor(i.zoom):0),1),o.createVNode(n,{"min-width":"32",width:"32",height:"32",class:"elevation-0 pa-0",variant:"text",disabled:i.zoom<=i.defaultZoom,onClick:l.handleZoomOut},{default:o.withCtx(()=>e[3]||(e[3]=[o.createElementVNode("i",{class:"iconfont icon-a-Zoomout text-h4"},null,-1)])),_:1,__:[3]},8,["disabled","onClick"])])],4),o.createElementVNode("div",{class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+a.menuHeight+142+"px",right:i.right+"px",height:"80px"})},[o.createVNode(s,{direction:"vertical",density:"compact",divided:"",group:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.projections,m=>(o.openBlock(),o.createBlock(n,{key:m,value:m.value,"min-width":"32",width:"32",height:"32",class:"text-none pa-0 elevation-0 text-body-1 font-weight-700",color:a.projection===m.value?"primary":"",onClick:l.toggle3d},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(m.label),1)]),_:2},1032,["value","color","onClick"]))),128))]),_:1})],4),a.platform==="ops"?(o.openBlock(),o.createElementBlock("div",{key:0,class:"menu-bar-box transition px-1 rounded d-flex flex-column",style:o.normalizeStyle({top:a.top+a.menuHeight+232+"px",right:i.right+"px",height:"80px"})},[o.createVNode(c,{modelValue:i.vendor,"onUpdate:modelValue":e[0]||(e[0]=m=>i.vendor=m),class:"v-btn--variant-elevated rounded elevation-0",direction:"vertical",density:"compact",divided:"",group:""},{default:o.withCtx(()=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.vendorKeys,m=>(o.openBlock(),o.createBlock(n,{key:m,value:m,"min-width":"32",width:"32",height:"32",class:"text-none pa-0 elevation-0 text-h6 font-weight-600",color:i.vendor===m?"primary":""},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(m),1)]),_:2},1032,["value","color"]))),128))]),_:1},8,["modelValue"])],4)):o.createCommentVNode("",!0),o.createElementVNode("div",ab,[e[4]||(e[4]=o.createElementVNode("span",null,"© 2023",-1)),o.createElementVNode("span",null,"-"+o.toDisplayString(l.computeYear),1),e[5]||(e[5]=o.createElementVNode("span",{class:"text-uppercase ma-2"},"ormwx.com",-1)),e[6]||(e[6]=o.createElementVNode("a",{class:"text-decoration-underline cursor-pointer text-label",href:"https://beian.miit.gov.cn/",target:"_blank"},"沪ICP备18039043号-6",-1))])],64))],4)}const mi=Q($1,[["render",ib]]),i2="",rb={name:"DateRangePicker",props:{width:{type:Number,default:null},height:{type:Number,default:30},position:{type:String,default:"top"},locale:{type:String,default:"en"},timeZone:{type:Number},defaultRange:{type:Array,default:()=>[]},dayAbout:{type:Object,default:()=>({})},fastPick:{type:Object,default:()=>({show:!1,allows:["past7day","past14day","past1month","past3month","past6month","past1mear","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]})}},emits:["dateRange"],data(){return{showDatePicker:!1,minDate:void 0,maxDate:void 0,dateRange:[],dateRangeStr:void 0,activeFastPick:"",fastPickOptions:["past7day","past14day","past1month","past3month","past6month","past1year","lastMonth","lastSeason","lastYear","forward7day","forward14day","forward1month","forward3month"]}},computed:{getStyle(){const t=this.width||226;return this.position==="top"?{bottom:"40px",left:`-${(630-t)/2}px`}:this.position==="bottom"?{top:"40px",left:`-${(630-t)/2}px`}:this.position==="left"?{bottom:"-140px",left:"-636px"}:this.position==="right"?{bottom:"-140px",right:"-636px"}:{bottom:"40px",left:`-${(630-t)/2}px`}},timeZoneNames(){return _.tz.names()},timeZoneName(){var t;return(t=this.timeZoneNames.filter(e=>_.tz(_(),e).utcOffset()===this.timeZone*60))==null?void 0:t[0]},utcTimeZoneName(){return"Africa/Abidjan"},localTimeZoneName(){return Intl.DateTimeFormat().resolvedOptions().timeZone||"Asia/Shanghai"},computeTzSimple(){return(t,e,a="yyyy-MM-DD")=>{var r,i;if(t){const l=Number(e)||0;return(i=(r=_(t))==null?void 0:r.utcOffset(l))==null?void 0:i.format(a)}return"-"}}},watch:{timeZone:{handler(t,e){t!==e&&(this.handleResetDateRange(),this.handleResetMinMax())}},defaultRange:{handler(t,e){((t==null?void 0:t[0])!==(e==null?void 0:e[0])||(t==null?void 0:t[1])!==(e==null?void 0:e[1]))&&this.handleResetDateRange()},deep:!0}},mounted(){this.handleReset()},unmounted(){this.handleCancelDate()},methods:{handleReset(){this.handleResetDateRange(),this.handleResetMinMax()},handleResetDateRange(){var t;((t=this.defaultRange)==null?void 0:t.length)===2&&(this.dateRange=this.defaultRange,this.dateRangeStr=`${_.tz(this.dateRange[0],this.timeZoneName).format("yyyy-MM-DD")} ~ ${_.tz(this.dateRange[1],this.timeZoneName).format("yyyy-MM-DD")}`,this.$emit("dateRange",[_.tz(this.dateRange[0],this.timeZoneName).set({hour:0,minute:0,second:0,millisecond:0}).format(),_.tz(this.dateRange[1],this.timeZoneName).set({hour:23,minute:59,second:59,millisecond:59}).format()]))},handleResetMinMax(){const t=_.tz(_().format(),this.timeZoneName).clone(),{h:e,f:a}=this.dayAbout;e!=null&&typeof Number(e)=="number"&&!isNaN(e)&&(this.minDate=t.clone().add(e,"day").format("yyyy-MM-DD")),a!=null&&typeof Number(a)=="number"&&!isNaN(a)&&(this.maxDate=t.clone().add(a,"day").format("yyyy-MM-DD"))},handleOpenDatePicker(){this.showDatePicker=!this.showDatePicker},handleFastPick(t){if(t.dateRange){const e=[];switch(t.dateRange){case"past7day":e.push(_.tz(_(),this.timeZoneName).clone().subtract(7,"day").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past14day":e.push(_.tz(_(),this.timeZoneName).clone().subtract(14,"day").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past1month":e.push(_.tz(_(),this.timeZoneName).clone().add(-1,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past3month":e.push(_.tz(_(),this.timeZoneName).clone().add(-3,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past6month":e.push(_.tz(_(),this.timeZoneName).clone().add(-6,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"past1year":e.push(_.tz(_(),this.timeZoneName).clone().add(-12,"month").format()),e.push(_.tz(_(),this.timeZoneName).clone().format());break;case"lastMonth":e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"month").startOf("month").format()),e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"month").endOf("month").format());break;case"lastSeason":e.push(_.tz(_(),this.timeZoneName).clone().startOf("quarter").subtract(3,"months").startOf("month").format()),e.push(_.tz(_(),this.timeZoneName).clone().startOf("quarter").subtract(1,"day").endOf("month").format());break;case"lastYear":e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"year").startOf("year").format()),e.push(_.tz(_(),this.timeZoneName).clone().subtract(1,"year").endOf("year").format());break;case"forward7day":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(7,"day").format());break;case"forward14day":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(14,"day").format());break;case"forward1month":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(1,"month").format());break;case"forward3month":e.push(_.tz(_(),this.timeZoneName).clone().format()),e.push(_.tz(_(),this.timeZoneName).clone().add(3,"month").format());break}this.dateRange=e,this.activeFastPick=t.dateRange}},handleConfirmDate(){var e;const t=[this.dateRange[0],this.dateRange[((e=this.dateRange)==null?void 0:e.length)-1]];this.dateRangeStr=`${_(t[0]).format("yyyy-MM-DD")} ~ ${_(t[1]).format("yyyy-MM-DD")}`,this.$emit("dateRange",[_.tz(t[0],this.timeZoneName).set({year:_(t[0]).year(),month:_(t[0]).month(),date:_(t[0]).date(),hour:0,minute:0,second:0,millisecond:0}).format(),_.tz(t[1],this.timeZoneName).set({year:_(t[1]).year(),month:_(t[1]).month(),date:_(t[1]).date(),hour:23,minute:59,second:59,millisecond:59}).format()]),this.showDatePicker=!1},handleCancelDate(){this.showDatePicker=!1},handleClickOutside(t){const e=this.$refs.idmGl4Timepicker;e&&!e.contains(t.target)&&(this.showDatePicker=!1)},handleClearDate(){this.dateRange=[],this.dateRangeStr="",this.$emit("dateRange",[])}}},lb={ref:"idmGl4DatePicker",class:"idm-gl4-date-picker"},nb={class:"flex-1-1-0"},sb={class:"pa-0 w-100 d-flex justify-space-between align-center ga-4"},cb={key:0,class:"d-flex justify-start align-center flex-wrap ga-3 ml-n2"},mb={class:"flex-1-1-0 d-flex justify-end align-center ga-4"};function db(t,e,a,r,i,l){const n=o.resolveComponent("VIcon"),s=o.resolveComponent("VDatePicker"),c=o.resolveComponent("VDivider"),m=o.resolveComponent("VCardText"),d=o.resolveComponent("VBtn"),g=o.resolveComponent("VCardActions"),u=o.resolveComponent("VCard");return o.openBlock(),o.createElementBlock("div",lb,[o.createElementVNode("div",{style:o.normalizeStyle({height:a.height+"px",width:a.width?a.width+"px":"auto"}),class:"rounded text-body-1 btn-border-1 btn-bg-1 d-flex align-center justify-space-between px-2 cursor-pointer",onClick:e[0]||(e[0]=(...y)=>l.handleOpenDatePicker&&l.handleOpenDatePicker(...y))},[o.createElementVNode("span",nb,o.toDisplayString(i.dateRangeStr),1),i.dateRangeStr?(o.openBlock(),o.createBlock(n,{key:0,class:"text-h5",icon:"mdi-close-circle",style:{opacity:"0.4"},onClick:o.withModifiers(l.handleClearDate,["stop"])},null,8,["onClick"])):o.createCommentVNode("",!0)],4),i.showDatePicker?(o.openBlock(),o.createBlock(u,{key:0,class:"card-box d-flex flex-column border elevation-12",style:o.normalizeStyle(l.getStyle)},{default:o.withCtx(()=>[o.createVNode(m,{class:"w-100 flex-1-1-0 d-flex pa-0"},{default:o.withCtx(()=>[o.createElementVNode("div",sb,[o.createVNode(s,{modelValue:i.dateRange[0],"onUpdate:modelValue":[e[1]||(e[1]=y=>i.dateRange[0]=y),e[2]||(e[2]=y=>i.activeFastPick=void 0)],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"]),o.createVNode(c,{vertical:"",class:"my-2"}),o.createVNode(s,{modelValue:i.dateRange[1],"onUpdate:modelValue":[e[3]||(e[3]=y=>i.dateRange[1]=y),e[4]||(e[4]=y=>i.activeFastPick=void 0)],min:i.minDate,max:i.maxDate,"weekday-format":"narrow",color:"primary",density:"compact",class:"w-100","hide-header":"","no-month-picker":!0},null,8,["modelValue","min","max"])])]),_:1}),o.createVNode(c),o.createVNode(g,{class:"w-100 d-flex justify-space-between align-center pa-0 px-4",style:{height:"50px"}},{default:o.withCtx(()=>{var y,p;return[(y=a.fastPick)!=null&&y.show?(o.openBlock(),o.createElementBlock("div",cb,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList((p=i.fastPickOptions)==null?void 0:p.filter(h=>a.fastPick.allows.some(f=>f===h)),h=>(o.openBlock(),o.createBlock(d,{key:h,size:"small",color:i.activeFastPick===h?"primary":"",variant:i.activeFastPick===h?"tonal":"text",class:"text-none text-body-2 px-1",onClick:f=>l.handleFastPick({dateRange:h})},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("time."+h)),1)]),_:2},1032,["color","variant","onClick"]))),128))])):o.createCommentVNode("",!0),o.createElementVNode("div",mb,[o.createVNode(d,{size:"small",variant:"tonal",class:"text-none text-body-1 px-4",onClick:l.handleCancelDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.cancel")),1)]),_:1},8,["onClick"]),o.createVNode(d,{size:"small",variant:"flat",color:"primary",class:"text-none text-body-1 px-4",onClick:l.handleConfirmDate},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(t.$t("actions.confirm")),1)]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["style"])):o.createCommentVNode("",!0)],512)}const di=Q(rb,[["render",db]]),hb={install(t){t.component("MapInitial",mi),t.component("MapboxGL",si),t.component("TropicalGL",ta),t.component("LatLngGL",qo),t.component("DateTimePicker",bo),t.component("DateRangePicker",di),t.component("PortDetail",Go),t.component("BottomTimePlayer",ya)}};function pb(t){return typeof t=="string"&&/^data:image\/svg\+xml/i.test(t)}function ub(t){let e=t.indexOf(",");return e>=0?decodeURIComponent(t.slice(e+1)):""}function gb(t){return`data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`}function fb(t){let e=[],a="",r=0;for(let i=0;i<t.length;i++){let l=t[i];l==="("&&r++,l===")"&&(r=Math.max(0,r-1)),l===";"&&r===0?(e.push(a),a=""):a+=l}return a.trim()&&e.push(a),e.map(i=>i.trim()).filter(Boolean)}function yb(t){let e=[],a="",r=0;for(let l=0;l<t.length;l++){let n=t[l];n==="("&&r++,n===")"&&(r=Math.max(0,r-1)),n===","&&r===0?(e.push(a.trim()),a=""):a+=n}a.trim()&&e.push(a.trim());let i=[];for(let l of e){if(/\binset\b/i.test(l))continue;let n=l.match(/-?\d+(?:\.\d+)?px/gi)||[],[s="0px",c="0px",m="0px"]=n,d=l.replace(/-?\d+(?:\.\d+)?px/gi,"").replace(/\binset\b/ig,"").trim().replace(/\s{2,}/g," "),g=!!d&&d!==",";i.push(`drop-shadow(${s} ${c} ${m}${g?` ${d}`:""})`)}return i.join(" ")}function hi(t){let e=fb(t),a=null,r=null,i=null,l=[];for(let s of e){let c=s.indexOf(":");if(c<0)continue;let m=s.slice(0,c).trim().toLowerCase(),d=s.slice(c+1).trim();m==="box-shadow"?i=d:m==="filter"?a=d:m==="-webkit-filter"?r=d:l.push([m,d])}if(i){let s=yb(i);s&&(a=a?`${a} ${s}`:s,r=r?`${r} ${s}`:s)}let n=[...l];return a&&n.push(["filter",a]),r&&n.push(["-webkit-filter",r]),n.map(([s,c])=>`${s}:${c}`).join(";")}function bb(t){return t.replace(/([^{}]+)\{([^}]*)\}/g,(e,a,r)=>`${a}{${hi(r)}}`)}function wb(t){return t=t.replace(/<style[^>]*>([\s\S]*?)<\/style>/gi,(e,a)=>e.replace(a,bb(a))),t=t.replace(/style=(['"])([\s\S]*?)\1/gi,(e,a,r)=>`style=${a}${hi(r)}${a}`),t}function xb(t){if(!oo()||!pb(t))return t;try{let e=ub(t),a=wb(e);return gb(a)}catch{return t}}async function Ko(t,e){let{width:a,height:r,scale:i=1,dpr:l=1,meta:n={},backgroundColor:s}=e;t=xb(t);let c=new Image;c.loading="eager",c.decoding="sync",c.crossOrigin="anonymous",c.src=t,await c.decode();let m=c.naturalWidth,d=c.naturalHeight,g=Number.isFinite(n.w0)?n.w0:m,u=Number.isFinite(n.h0)?n.h0:d,y,p,h=Number.isFinite(a),f=Number.isFinite(r);if(h&&f)y=Math.max(1,a),p=Math.max(1,r);else if(h){let b=a/Math.max(1,g);y=a,p=u*b}else if(f){let b=r/Math.max(1,u);p=r,y=g*b}else y=m,p=d;y=y*i,p=p*i;let x=document.createElement("canvas");x.width=y*l,x.height=p*l,x.style.width=`${y}px`,x.style.height=`${p}px`;let v=x.getContext("2d");return l!==1&&v.scale(l,l),s&&(v.save(),v.fillStyle=s,v.fillRect(0,0,y,p),v.restore()),v.drawImage(c,0,0,y,p),x}async function pi(t,e){let a=await Ko(t,e),r=new Image;return r.src=a.toDataURL(`image/${e.format}`,e.quality),await r.decode(),r.style.width=`${a.width/e.dpr}px`,r.style.height=`${a.height/e.dpr}px`,r}async function ui(t,e){let{scale:a=1,width:r,height:i,meta:l={}}=e,n=Number.isFinite(r),s=Number.isFinite(i),c=Number.isFinite(a)&&a!==1||n||s;if(oo()&&c)return await pi(t,{...e,format:"png",quality:1,meta:l});let m=new Image;if(m.decoding="sync",m.loading="eager",m.src=t,await m.decode(),n&&s)m.style.width=`${r}px`,m.style.height=`${i}px`;else if(n){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,g=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=r/Math.max(1,d);m.style.width=`${r}px`,m.style.height=`${Math.round(g*u)}px`}else if(s){let d=Number.isFinite(l.w0)?l.w0:m.naturalWidth,g=Number.isFinite(l.h0)?l.h0:m.naturalHeight,u=i/Math.max(1,g);m.style.height=`${i}px`,m.style.width=`${Math.round(d*u)}px`}else{let d=Math.round(m.naturalWidth*a),g=Math.round(m.naturalHeight*a);if(m.style.width=`${d}px`,m.style.height=`${g}px`,typeof t=="string"&&t.startsWith("data:image/svg+xml"))try{let u=decodeURIComponent(t.split(",")[1]).replace(/width="[^"]*"/,`width="${d}"`).replace(/height="[^"]*"/,`height="${g}"`);t=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(u)}`,m.src=t}catch{}}return m}const Qo=Object.freeze(Object.defineProperty({__proto__:null,toImg:ui,toSvg:ui},Symbol.toStringTag,{value:"Module"})),gi=Object.freeze(Object.defineProperty({__proto__:null,toCanvas:Ko},Symbol.toStringTag,{value:"Module"}));async function fi(t,e){let a=e.type;if(a==="svg"){let i=decodeURIComponent(t.split(",")[1]);return new Blob([i],{type:"image/svg+xml"})}let r=await Ko(t,e);return new Promise(i=>r.toBlob(l=>i(l),`image/${a}`,e.quality))}const yi=Object.freeze(Object.defineProperty({__proto__:null,toBlob:fi},Symbol.toStringTag,{value:"Module"})),ao=Object.freeze(Object.defineProperty({__proto__:null,rasterize:pi},Symbol.toStringTag,{value:"Module"}));async function kb(t,e){let a=((e==null?void 0:e.format)||(e==null?void 0:e.type)||"").toLowerCase(),r=a==="jpg"?"jpeg":a||"png",i=(e==null?void 0:e.filename)||`snapdom.${r}`,l={...e||{},format:r,type:r};if(l.dpr=1,r==="svg"){let c=await fi(t,{...l,type:"svg"}),m=URL.createObjectURL(c),d=document.createElement("a");d.href=m,d.download=i,d.click(),URL.revokeObjectURL(m);return}let n=await Ko(t,l),s=document.createElement("a");s.href=n.toDataURL(`image/${r}`,e==null?void 0:e.quality),s.download=i,s.click()}const Ab=Object.freeze(Object.defineProperty({__proto__:null,download:kb},Symbol.toStringTag,{value:"Module"}));ce.BottomTimePlayer=ya,ce.DateRangePicker=di,ce.DateTimePicker=bo,ce.LatLngGL=qo,ce.MapInitial=mi,ce.MapboxGL=si,ce.MapboxGLPlugin=hb,ce.MapboxStyleHelper=ci,ce.ParticleSchema=at,ce.PortDetail=Go,ce.SigWaveParticleSchema=go,ce.TropicalGL=ta,ce.Viewport=to,ce.Viewport3D=eo,ce.WebGL=$e,ce.WebGLSchema=fe,Object.defineProperty(ce,Symbol.toStringTag,{value:"Module"})});
|