@maptiler/geocoding-control 3.0.0-rc.4 → 3.0.0-rc.5

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.
@@ -249,7 +249,7 @@
249
249
  @mouseenter=${()=>{R(this,k,Xi).call(this,t)}}
250
250
  @select=${()=>{R(this,k,Yi).call(this,e)}}
251
251
  .missingIconsCache=${re(this,jt)}
252
- .iconsBaseUrl=${this.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.4/icons/"}
252
+ .iconsBaseUrl=${this.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.5/icons/"}
253
253
  >
254
254
  ${e.place_name}
255
255
  </maptiler-geocoder-feature-item>
@@ -272,5 +272,5 @@
272
272
  </svg>
273
273
  `}},$.MaptilerGeocodeMarkerElement.styles=Le`
274
274
  ${at(As)}
275
- `,$.MaptilerGeocodeMarkerElement=Cs([$e("maptiler-geocode-marker")],$.MaptilerGeocodeMarkerElement);const ks="@maptiler/geocoding-control",Os="3.0.0-rc.4";function Je(i,e,t={}){const r={type:"Feature"};return(t.id===0||t.id)&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.properties=e||{},r.geometry=i,r}function Jt(i,e,t={}){for(const s of i){if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(s[s.length-1].length!==s[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<s[s.length-1].length;n++)if(s[s.length-1][n]!==s[0][n])throw new Error("First and last Position are not equivalent.")}return Je({type:"Polygon",coordinates:i},e,t)}function et(i,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=i,t}function er(i,e,t={}){return Je({type:"MultiPolygon",coordinates:i},e,t)}var Ns=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ei=Math.ceil,ae=Math.floor,se="[BigNumber Error] ",tr=se+"Number primitive has more than 15 significant digits: ",fe=1e14,P=14,ti=9007199254740991,ii=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Ae=1e7,X=1e9;function ir(i){var e,t,r,s=L.prototype={constructor:L,toString:null,valueOf:null},n=new L(1),o=20,l=4,u=-7,f=21,x=-1e7,w=1e7,_=!1,M=1,A=0,G={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},N="0123456789abcdefghijklmnopqrstuvwxyz",W=!0;function L(a,c){var h,v,p,g,E,d,m,b,y=this;if(!(y instanceof L))return new L(a,c);if(c==null){if(a&&a._isBigNumber===!0){y.s=a.s,!a.c||a.e>w?y.c=y.e=null:a.e<x?y.c=[y.e=0]:(y.e=a.e,y.c=a.c.slice());return}if((d=typeof a=="number")&&a*0==0){if(y.s=1/a<0?(a=-a,-1):1,a===~~a){for(g=0,E=a;E>=10;E/=10,g++);g>w?y.c=y.e=null:(y.e=g,y.c=[a]);return}b=String(a)}else{if(!Ns.test(b=String(a)))return r(y,b,d);y.s=b.charCodeAt(0)==45?(b=b.slice(1),-1):1}(g=b.indexOf("."))>-1&&(b=b.replace(".","")),(E=b.search(/e/i))>0?(g<0&&(g=E),g+=+b.slice(E+1),b=b.substring(0,E)):g<0&&(g=b.length)}else{if(q(c,2,N.length,"Base"),c==10&&W)return y=new L(a),ue(y,o+y.e+1,l);if(b=String(a),d=typeof a=="number"){if(a*0!=0)return r(y,b,d,c);if(y.s=1/a<0?(b=b.slice(1),-1):1,L.DEBUG&&b.replace(/^0\.0*|\./,"").length>15)throw Error(tr+a)}else y.s=b.charCodeAt(0)===45?(b=b.slice(1),-1):1;for(h=N.slice(0,c),g=E=0,m=b.length;E<m;E++)if(h.indexOf(v=b.charAt(E))<0){if(v=="."){if(E>g){g=m;continue}}else if(!p&&(b==b.toUpperCase()&&(b=b.toLowerCase())||b==b.toLowerCase()&&(b=b.toUpperCase()))){p=!0,E=-1,g=0;continue}return r(y,String(a),d,c)}d=!1,b=t(b,c,10,y.s),(g=b.indexOf("."))>-1?b=b.replace(".",""):g=b.length}for(E=0;b.charCodeAt(E)===48;E++);for(m=b.length;b.charCodeAt(--m)===48;);if(b=b.slice(E,++m)){if(m-=E,d&&L.DEBUG&&m>15&&(a>ti||a!==ae(a)))throw Error(tr+y.s*a);if((g=g-E-1)>w)y.c=y.e=null;else if(g<x)y.c=[y.e=0];else{if(y.e=g,y.c=[],E=(g+1)%P,g<0&&(E+=P),E<m){for(E&&y.c.push(+b.slice(0,E)),m-=P;E<m;)y.c.push(+b.slice(E,E+=P));E=P-(b=b.slice(E)).length}else E-=m;for(;E--;b+="0");y.c.push(+b)}}else y.c=[y.e=0]}L.clone=ir,L.ROUND_UP=0,L.ROUND_DOWN=1,L.ROUND_CEIL=2,L.ROUND_FLOOR=3,L.ROUND_HALF_UP=4,L.ROUND_HALF_DOWN=5,L.ROUND_HALF_EVEN=6,L.ROUND_HALF_CEIL=7,L.ROUND_HALF_FLOOR=8,L.EUCLID=9,L.config=L.set=function(a){var c,h;if(a!=null)if(typeof a=="object"){if(a.hasOwnProperty(c="DECIMAL_PLACES")&&(h=a[c],q(h,0,X,c),o=h),a.hasOwnProperty(c="ROUNDING_MODE")&&(h=a[c],q(h,0,8,c),l=h),a.hasOwnProperty(c="EXPONENTIAL_AT")&&(h=a[c],h&&h.pop?(q(h[0],-X,0,c),q(h[1],0,X,c),u=h[0],f=h[1]):(q(h,-X,X,c),u=-(f=h<0?-h:h))),a.hasOwnProperty(c="RANGE"))if(h=a[c],h&&h.pop)q(h[0],-X,-1,c),q(h[1],1,X,c),x=h[0],w=h[1];else if(q(h,-X,X,c),h)x=-(w=h<0?-h:h);else throw Error(se+c+" cannot be zero: "+h);if(a.hasOwnProperty(c="CRYPTO"))if(h=a[c],h===!!h)if(h)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))_=h;else throw _=!h,Error(se+"crypto unavailable");else _=h;else throw Error(se+c+" not true or false: "+h);if(a.hasOwnProperty(c="MODULO_MODE")&&(h=a[c],q(h,0,9,c),M=h),a.hasOwnProperty(c="POW_PRECISION")&&(h=a[c],q(h,0,X,c),A=h),a.hasOwnProperty(c="FORMAT"))if(h=a[c],typeof h=="object")G=h;else throw Error(se+c+" not an object: "+h);if(a.hasOwnProperty(c="ALPHABET"))if(h=a[c],typeof h=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(h))W=h.slice(0,10)=="0123456789",N=h;else throw Error(se+c+" invalid: "+h)}else throw Error(se+"Object expected: "+a);return{DECIMAL_PLACES:o,ROUNDING_MODE:l,EXPONENTIAL_AT:[u,f],RANGE:[x,w],CRYPTO:_,MODULO_MODE:M,POW_PRECISION:A,FORMAT:G,ALPHABET:N}},L.isBigNumber=function(a){if(!a||a._isBigNumber!==!0)return!1;if(!L.DEBUG)return!0;var c,h,v=a.c,p=a.e,g=a.s;e:if({}.toString.call(v)=="[object Array]"){if((g===1||g===-1)&&p>=-X&&p<=X&&p===ae(p)){if(v[0]===0){if(p===0&&v.length===1)return!0;break e}if(c=(p+1)%P,c<1&&(c+=P),String(v[0]).length==c){for(c=0;c<v.length;c++)if(h=v[c],h<0||h>=fe||h!==ae(h))break e;if(h!==0)return!0}}}else if(v===null&&p===null&&(g===null||g===1||g===-1))return!0;throw Error(se+"Invalid BigNumber: "+a)},L.maximum=L.max=function(){return ne(arguments,-1)},L.minimum=L.min=function(){return ne(arguments,1)},L.random=(function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return ae(Math.random()*a)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(h){var v,p,g,E,d,m=0,b=[],y=new L(n);if(h==null?h=o:q(h,0,X),E=ei(h/P),_)if(crypto.getRandomValues){for(v=crypto.getRandomValues(new Uint32Array(E*=2));m<E;)d=v[m]*131072+(v[m+1]>>>11),d>=9e15?(p=crypto.getRandomValues(new Uint32Array(2)),v[m]=p[0],v[m+1]=p[1]):(b.push(d%1e14),m+=2);m=E/2}else if(crypto.randomBytes){for(v=crypto.randomBytes(E*=7);m<E;)d=(v[m]&31)*281474976710656+v[m+1]*1099511627776+v[m+2]*4294967296+v[m+3]*16777216+(v[m+4]<<16)+(v[m+5]<<8)+v[m+6],d>=9e15?crypto.randomBytes(7).copy(v,m):(b.push(d%1e14),m+=7);m=E/7}else throw _=!1,Error(se+"crypto unavailable");if(!_)for(;m<E;)d=c(),d<9e15&&(b[m++]=d%1e14);for(E=b[--m],h%=P,E&&h&&(d=ii[P-h],b[m]=ae(E/d)*d);b[m]===0;b.pop(),m--);if(m<0)b=[g=0];else{for(g=-1;b[0]===0;b.splice(0,1),g-=P);for(m=1,d=b[0];d>=10;d/=10,m++);m<P&&(g-=P-m)}return y.e=g,y.c=b,y}})(),L.sum=function(){for(var a=1,c=arguments,h=new L(c[0]);a<c.length;)h=h.plus(c[a++]);return h},t=(function(){var a="0123456789";function c(h,v,p,g){for(var E,d=[0],m,b=0,y=h.length;b<y;){for(m=d.length;m--;d[m]*=v);for(d[0]+=g.indexOf(h.charAt(b++)),E=0;E<d.length;E++)d[E]>p-1&&(d[E+1]==null&&(d[E+1]=0),d[E+1]+=d[E]/p|0,d[E]%=p)}return d.reverse()}return function(h,v,p,g,E){var d,m,b,y,S,T,C,D,H=h.indexOf("."),K=o,U=l;for(H>=0&&(y=A,A=0,h=h.replace(".",""),D=new L(v),T=D.pow(h.length-H),A=y,D.c=c(Ee(he(T.c),T.e,"0"),10,p,a),D.e=D.c.length),C=c(h,v,p,E?(d=N,a):(d=a,N)),b=y=C.length;C[--y]==0;C.pop());if(!C[0])return d.charAt(0);if(H<0?--b:(T.c=C,T.e=b,T.s=g,T=e(T,D,K,U,p),C=T.c,S=T.r,b=T.e),m=b+K+1,H=C[m],y=p/2,S=S||m<0||C[m+1]!=null,S=U<4?(H!=null||S)&&(U==0||U==(T.s<0?3:2)):H>y||H==y&&(U==4||S||U==6&&C[m-1]&1||U==(T.s<0?8:7)),m<1||!C[0])h=S?Ee(d.charAt(1),-K,d.charAt(0)):d.charAt(0);else{if(C.length=m,S)for(--p;++C[--m]>p;)C[m]=0,m||(++b,C=[1].concat(C));for(y=C.length;!C[--y];);for(H=0,h="";H<=y;h+=d.charAt(C[H++]));h=Ee(h,b,d.charAt(0))}return h}})(),e=(function(){function a(v,p,g){var E,d,m,b,y=0,S=v.length,T=p%Ae,C=p/Ae|0;for(v=v.slice();S--;)m=v[S]%Ae,b=v[S]/Ae|0,E=C*m+b*T,d=T*m+E%Ae*Ae+y,y=(d/g|0)+(E/Ae|0)+C*b,v[S]=d%g;return y&&(v=[y].concat(v)),v}function c(v,p,g,E){var d,m;if(g!=E)m=g>E?1:-1;else for(d=m=0;d<g;d++)if(v[d]!=p[d]){m=v[d]>p[d]?1:-1;break}return m}function h(v,p,g,E){for(var d=0;g--;)v[g]-=d,d=v[g]<p[g]?1:0,v[g]=d*E+v[g]-p[g];for(;!v[0]&&v.length>1;v.splice(0,1));}return function(v,p,g,E,d){var m,b,y,S,T,C,D,H,K,U,F,J,Tt,ci,hi,ve,nt,de=v.s==p.s?1:-1,te=v.c,j=p.c;if(!te||!te[0]||!j||!j[0])return new L(!v.s||!p.s||(te?j&&te[0]==j[0]:!j)?NaN:te&&te[0]==0||!j?de*0:de/0);for(H=new L(de),K=H.c=[],b=v.e-p.e,de=g+b+1,d||(d=fe,b=ce(v.e/P)-ce(p.e/P),de=de/P|0),y=0;j[y]==(te[y]||0);y++);if(j[y]>(te[y]||0)&&b--,de<0)K.push(1),S=!0;else{for(ci=te.length,ve=j.length,y=0,de+=2,T=ae(d/(j[0]+1)),T>1&&(j=a(j,T,d),te=a(te,T,d),ve=j.length,ci=te.length),Tt=ve,U=te.slice(0,ve),F=U.length;F<ve;U[F++]=0);nt=j.slice(),nt=[0].concat(nt),hi=j[0],j[1]>=d/2&&hi++;do{if(T=0,m=c(j,U,ve,F),m<0){if(J=U[0],ve!=F&&(J=J*d+(U[1]||0)),T=ae(J/hi),T>1)for(T>=d&&(T=d-1),C=a(j,T,d),D=C.length,F=U.length;c(C,U,D,F)==1;)T--,h(C,ve<D?nt:j,D,d),D=C.length,m=1;else T==0&&(m=T=1),C=j.slice(),D=C.length;if(D<F&&(C=[0].concat(C)),h(U,C,F,d),F=U.length,m==-1)for(;c(j,U,ve,F)<1;)T++,h(U,ve<F?nt:j,F,d),F=U.length}else m===0&&(T++,U=[0]);K[y++]=T,U[0]?U[F++]=te[Tt]||0:(U=[te[Tt]],F=1)}while((Tt++<ci||U[0]!=null)&&de--);S=U[0]!=null,K[0]||K.splice(0,1)}if(d==fe){for(y=1,de=K[0];de>=10;de/=10,y++);ue(H,g+(H.e=y+b*P-1)+1,E,S)}else H.e=b,H.r=+S;return H}})();function Q(a,c,h,v){var p,g,E,d,m;if(h==null?h=l:q(h,0,8),!a.c)return a.toString();if(p=a.c[0],E=a.e,c==null)m=he(a.c),m=v==1||v==2&&(E<=u||E>=f)?St(m,E):Ee(m,E,"0");else if(a=ue(new L(a),c,h),g=a.e,m=he(a.c),d=m.length,v==1||v==2&&(c<=g||g<=u)){for(;d<c;m+="0",d++);m=St(m,g)}else if(c-=E+(v===2&&g>E),m=Ee(m,g,"0"),g+1>d){if(--c>0)for(m+=".";c--;m+="0");}else if(c+=g-d,c>0)for(g+1==d&&(m+=".");c--;m+="0");return a.s<0&&p?"-"+m:m}function ne(a,c){for(var h,v,p=1,g=new L(a[0]);p<a.length;p++)v=new L(a[p]),(!v.s||(h=Ie(g,v))===c||h===0&&g.s===c)&&(g=v);return g}function ye(a,c,h){for(var v=1,p=c.length;!c[--p];c.pop());for(p=c[0];p>=10;p/=10,v++);return(h=v+h*P-1)>w?a.c=a.e=null:h<x?a.c=[a.e=0]:(a.e=h,a.c=c),a}r=(function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,h=/^\.([^.]+)$/,v=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,d,m){var b,y=d?E:E.replace(p,"");if(v.test(y))g.s=isNaN(y)?null:y<0?-1:1;else{if(!d&&(y=y.replace(a,function(S,T,C){return b=(C=C.toLowerCase())=="x"?16:C=="b"?2:8,!m||m==b?T:S}),m&&(b=m,y=y.replace(c,"$1").replace(h,"0.$1")),E!=y))return new L(y,b);if(L.DEBUG)throw Error(se+"Not a"+(m?" base "+m:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function ue(a,c,h,v){var p,g,E,d,m,b,y,S=a.c,T=ii;if(S){e:{for(p=1,d=S[0];d>=10;d/=10,p++);if(g=c-p,g<0)g+=P,E=c,m=S[b=0],y=ae(m/T[p-E-1]%10);else if(b=ei((g+1)/P),b>=S.length)if(v){for(;S.length<=b;S.push(0));m=y=0,p=1,g%=P,E=g-P+1}else break e;else{for(m=d=S[b],p=1;d>=10;d/=10,p++);g%=P,E=g-P+p,y=E<0?0:ae(m/T[p-E-1]%10)}if(v=v||c<0||S[b+1]!=null||(E<0?m:m%T[p-E-1]),v=h<4?(y||v)&&(h==0||h==(a.s<0?3:2)):y>5||y==5&&(h==4||v||h==6&&(g>0?E>0?m/T[p-E]:0:S[b-1])%10&1||h==(a.s<0?8:7)),c<1||!S[0])return S.length=0,v?(c-=a.e+1,S[0]=T[(P-c%P)%P],a.e=-c||0):S[0]=a.e=0,a;if(g==0?(S.length=b,d=1,b--):(S.length=b+1,d=T[P-g],S[b]=E>0?ae(m/T[p-E]%T[E])*d:0),v)for(;;)if(b==0){for(g=1,E=S[0];E>=10;E/=10,g++);for(E=S[0]+=d,d=1;E>=10;E/=10,d++);g!=d&&(a.e++,S[0]==fe&&(S[0]=1));break}else{if(S[b]+=d,S[b]!=fe)break;S[b--]=0,d=1}for(g=S.length;S[--g]===0;S.pop());}a.e>w?a.c=a.e=null:a.e<x&&(a.c=[a.e=0])}return a}function xe(a){var c,h=a.e;return h===null?a.toString():(c=he(a.c),c=h<=u||h>=f?St(c,h):Ee(c,h,"0"),a.s<0?"-"+c:c)}return s.absoluteValue=s.abs=function(){var a=new L(this);return a.s<0&&(a.s=1),a},s.comparedTo=function(a,c){return Ie(this,new L(a,c))},s.decimalPlaces=s.dp=function(a,c){var h,v,p,g=this;if(a!=null)return q(a,0,X),c==null?c=l:q(c,0,8),ue(new L(g),a+g.e+1,c);if(!(h=g.c))return null;if(v=((p=h.length-1)-ce(this.e/P))*P,p=h[p])for(;p%10==0;p/=10,v--);return v<0&&(v=0),v},s.dividedBy=s.div=function(a,c){return e(this,new L(a,c),o,l)},s.dividedToIntegerBy=s.idiv=function(a,c){return e(this,new L(a,c),0,1)},s.exponentiatedBy=s.pow=function(a,c){var h,v,p,g,E,d,m,b,y,S=this;if(a=new L(a),a.c&&!a.isInteger())throw Error(se+"Exponent not an integer: "+xe(a));if(c!=null&&(c=new L(c)),d=a.e>14,!S.c||!S.c[0]||S.c[0]==1&&!S.e&&S.c.length==1||!a.c||!a.c[0])return y=new L(Math.pow(+xe(S),d?a.s*(2-xt(a)):+xe(a))),c?y.mod(c):y;if(m=a.s<0,c){if(c.c?!c.c[0]:!c.s)return new L(NaN);v=!m&&S.isInteger()&&c.isInteger(),v&&(S=S.mod(c))}else{if(a.e>9&&(S.e>0||S.e<-1||(S.e==0?S.c[0]>1||d&&S.c[1]>=24e7:S.c[0]<8e13||d&&S.c[0]<=9999975e7)))return g=S.s<0&&xt(a)?-0:0,S.e>-1&&(g=1/g),new L(m?1/g:g);A&&(g=ei(A/P+2))}for(d?(h=new L(.5),m&&(a.s=1),b=xt(a)):(p=Math.abs(+xe(a)),b=p%2),y=new L(n);;){if(b){if(y=y.times(S),!y.c)break;g?y.c.length>g&&(y.c.length=g):v&&(y=y.mod(c))}if(p){if(p=ae(p/2),p===0)break;b=p%2}else if(a=a.times(h),ue(a,a.e+1,1),a.e>14)b=xt(a);else{if(p=+xe(a),p===0)break;b=p%2}S=S.times(S),g?S.c&&S.c.length>g&&(S.c.length=g):v&&(S=S.mod(c))}return v?y:(m&&(y=n.div(y)),c?y.mod(c):g?ue(y,A,l,E):y)},s.integerValue=function(a){var c=new L(this);return a==null?a=l:q(a,0,8),ue(c,c.e+1,a)},s.isEqualTo=s.eq=function(a,c){return Ie(this,new L(a,c))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(a,c){return Ie(this,new L(a,c))>0},s.isGreaterThanOrEqualTo=s.gte=function(a,c){return(c=Ie(this,new L(a,c)))===1||c===0},s.isInteger=function(){return!!this.c&&ce(this.e/P)>this.c.length-2},s.isLessThan=s.lt=function(a,c){return Ie(this,new L(a,c))<0},s.isLessThanOrEqualTo=s.lte=function(a,c){return(c=Ie(this,new L(a,c)))===-1||c===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(a,c){var h,v,p,g,E=this,d=E.s;if(a=new L(a,c),c=a.s,!d||!c)return new L(NaN);if(d!=c)return a.s=-c,E.plus(a);var m=E.e/P,b=a.e/P,y=E.c,S=a.c;if(!m||!b){if(!y||!S)return y?(a.s=-c,a):new L(S?E:NaN);if(!y[0]||!S[0])return S[0]?(a.s=-c,a):new L(y[0]?E:l==3?-0:0)}if(m=ce(m),b=ce(b),y=y.slice(),d=m-b){for((g=d<0)?(d=-d,p=y):(b=m,p=S),p.reverse(),c=d;c--;p.push(0));p.reverse()}else for(v=(g=(d=y.length)<(c=S.length))?d:c,d=c=0;c<v;c++)if(y[c]!=S[c]){g=y[c]<S[c];break}if(g&&(p=y,y=S,S=p,a.s=-a.s),c=(v=S.length)-(h=y.length),c>0)for(;c--;y[h++]=0);for(c=fe-1;v>d;){if(y[--v]<S[v]){for(h=v;h&&!y[--h];y[h]=c);--y[h],y[v]+=fe}y[v]-=S[v]}for(;y[0]==0;y.splice(0,1),--b);return y[0]?ye(a,y,b):(a.s=l==3?-1:1,a.c=[a.e=0],a)},s.modulo=s.mod=function(a,c){var h,v,p=this;return a=new L(a,c),!p.c||!a.s||a.c&&!a.c[0]?new L(NaN):!a.c||p.c&&!p.c[0]?new L(p):(M==9?(v=a.s,a.s=1,h=e(p,a,0,3),a.s=v,h.s*=v):h=e(p,a,0,M),a=p.minus(h.times(a)),!a.c[0]&&M==1&&(a.s=p.s),a)},s.multipliedBy=s.times=function(a,c){var h,v,p,g,E,d,m,b,y,S,T,C,D,H,K,U=this,F=U.c,J=(a=new L(a,c)).c;if(!F||!J||!F[0]||!J[0])return!U.s||!a.s||F&&!F[0]&&!J||J&&!J[0]&&!F?a.c=a.e=a.s=null:(a.s*=U.s,!F||!J?a.c=a.e=null:(a.c=[0],a.e=0)),a;for(v=ce(U.e/P)+ce(a.e/P),a.s*=U.s,m=F.length,S=J.length,m<S&&(D=F,F=J,J=D,p=m,m=S,S=p),p=m+S,D=[];p--;D.push(0));for(H=fe,K=Ae,p=S;--p>=0;){for(h=0,T=J[p]%K,C=J[p]/K|0,E=m,g=p+E;g>p;)b=F[--E]%K,y=F[E]/K|0,d=C*b+y*T,b=T*b+d%K*K+D[g]+h,h=(b/H|0)+(d/K|0)+C*y,D[g--]=b%H;D[g]=h}return h?++v:D.splice(0,1),ye(a,D,v)},s.negated=function(){var a=new L(this);return a.s=-a.s||null,a},s.plus=function(a,c){var h,v=this,p=v.s;if(a=new L(a,c),c=a.s,!p||!c)return new L(NaN);if(p!=c)return a.s=-c,v.minus(a);var g=v.e/P,E=a.e/P,d=v.c,m=a.c;if(!g||!E){if(!d||!m)return new L(p/0);if(!d[0]||!m[0])return m[0]?a:new L(d[0]?v:p*0)}if(g=ce(g),E=ce(E),d=d.slice(),p=g-E){for(p>0?(E=g,h=m):(p=-p,h=d),h.reverse();p--;h.push(0));h.reverse()}for(p=d.length,c=m.length,p-c<0&&(h=m,m=d,d=h,c=p),p=0;c;)p=(d[--c]=d[c]+m[c]+p)/fe|0,d[c]=fe===d[c]?0:d[c]%fe;return p&&(d=[p].concat(d),++E),ye(a,d,E)},s.precision=s.sd=function(a,c){var h,v,p,g=this;if(a!=null&&a!==!!a)return q(a,1,X),c==null?c=l:q(c,0,8),ue(new L(g),a,c);if(!(h=g.c))return null;if(p=h.length-1,v=p*P+1,p=h[p]){for(;p%10==0;p/=10,v--);for(p=h[0];p>=10;p/=10,v++);}return a&&g.e+1>v&&(v=g.e+1),v},s.shiftedBy=function(a){return q(a,-ti,ti),this.times("1e"+a)},s.squareRoot=s.sqrt=function(){var a,c,h,v,p,g=this,E=g.c,d=g.s,m=g.e,b=o+4,y=new L("0.5");if(d!==1||!E||!E[0])return new L(!d||d<0&&(!E||E[0])?NaN:E?g:1/0);if(d=Math.sqrt(+xe(g)),d==0||d==1/0?(c=he(E),(c.length+m)%2==0&&(c+="0"),d=Math.sqrt(+c),m=ce((m+1)/2)-(m<0||m%2),d==1/0?c="5e"+m:(c=d.toExponential(),c=c.slice(0,c.indexOf("e")+1)+m),h=new L(c)):h=new L(d+""),h.c[0]){for(m=h.e,d=m+b,d<3&&(d=0);;)if(p=h,h=y.times(p.plus(e(g,p,b,1))),he(p.c).slice(0,d)===(c=he(h.c)).slice(0,d))if(h.e<m&&--d,c=c.slice(d-3,d+1),c=="9999"||!v&&c=="4999"){if(!v&&(ue(p,p.e+o+2,0),p.times(p).eq(g))){h=p;break}b+=4,d+=4,v=1}else{(!+c||!+c.slice(1)&&c.charAt(0)=="5")&&(ue(h,h.e+o+2,1),a=!h.times(h).eq(g));break}}return ue(h,h.e+o+1,l,a)},s.toExponential=function(a,c){return a!=null&&(q(a,0,X),a++),Q(this,a,c,1)},s.toFixed=function(a,c){return a!=null&&(q(a,0,X),a=a+this.e+1),Q(this,a,c)},s.toFormat=function(a,c,h){var v,p=this;if(h==null)a!=null&&c&&typeof c=="object"?(h=c,c=null):a&&typeof a=="object"?(h=a,a=c=null):h=G;else if(typeof h!="object")throw Error(se+"Argument not an object: "+h);if(v=p.toFixed(a,c),p.c){var g,E=v.split("."),d=+h.groupSize,m=+h.secondaryGroupSize,b=h.groupSeparator||"",y=E[0],S=E[1],T=p.s<0,C=T?y.slice(1):y,D=C.length;if(m&&(g=d,d=m,m=g,D-=g),d>0&&D>0){for(g=D%d||d,y=C.substr(0,g);g<D;g+=d)y+=b+C.substr(g,d);m>0&&(y+=b+C.slice(g)),T&&(y="-"+y)}v=S?y+(h.decimalSeparator||"")+((m=+h.fractionGroupSize)?S.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(h.fractionGroupSeparator||"")):S):y}return(h.prefix||"")+v+(h.suffix||"")},s.toFraction=function(a){var c,h,v,p,g,E,d,m,b,y,S,T,C=this,D=C.c;if(a!=null&&(d=new L(a),!d.isInteger()&&(d.c||d.s!==1)||d.lt(n)))throw Error(se+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+xe(d));if(!D)return new L(C);for(c=new L(n),b=h=new L(n),v=m=new L(n),T=he(D),g=c.e=T.length-C.e-1,c.c[0]=ii[(E=g%P)<0?P+E:E],a=!a||d.comparedTo(c)>0?g>0?c:b:d,E=w,w=1/0,d=new L(T),m.c[0]=0;y=e(d,c,0,1),p=h.plus(y.times(v)),p.comparedTo(a)!=1;)h=v,v=p,b=m.plus(y.times(p=b)),m=p,c=d.minus(y.times(p=c)),d=p;return p=e(a.minus(h),v,0,1),m=m.plus(p.times(b)),h=h.plus(p.times(v)),m.s=b.s=C.s,g=g*2,S=e(b,v,g,l).minus(C).abs().comparedTo(e(m,h,g,l).minus(C).abs())<1?[b,v]:[m,h],w=E,S},s.toNumber=function(){return+xe(this)},s.toPrecision=function(a,c){return a!=null&&q(a,1,X),Q(this,a,c,2)},s.toString=function(a){var c,h=this,v=h.s,p=h.e;return p===null?v?(c="Infinity",v<0&&(c="-"+c)):c="NaN":(a==null?c=p<=u||p>=f?St(he(h.c),p):Ee(he(h.c),p,"0"):a===10&&W?(h=ue(new L(h),o+p+1,l),c=Ee(he(h.c),h.e,"0")):(q(a,2,N.length,"Base"),c=t(Ee(he(h.c),p,"0"),10,a,v,!0)),v<0&&h.c[0]&&(c="-"+c)),c},s.valueOf=s.toJSON=function(){return xe(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,i!=null&&L.set(i),L}function ce(i){var e=i|0;return i>0||i===e?e:e-1}function he(i){for(var e,t,r=1,s=i.length,n=i[0]+"";r<s;){for(e=i[r++]+"",t=P-e.length;t--;e="0"+e);n+=e}for(s=n.length;n.charCodeAt(--s)===48;);return n.slice(0,s+1||1)}function Ie(i,e){var t,r,s=i.c,n=e.c,o=i.s,l=e.s,u=i.e,f=e.e;if(!o||!l)return null;if(t=s&&!s[0],r=n&&!n[0],t||r)return t?r?0:-l:o;if(o!=l)return o;if(t=o<0,r=u==f,!s||!n)return r?0:!s^t?1:-1;if(!r)return u>f^t?1:-1;for(l=(u=s.length)<(f=n.length)?u:f,o=0;o<l;o++)if(s[o]!=n[o])return s[o]>n[o]^t?1:-1;return u==f?0:u>f^t?1:-1}function q(i,e,t,r){if(i<e||i>t||i!==ae(i))throw Error(se+(r||"Argument")+(typeof i=="number"?i<e||i>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(i))}function xt(i){var e=i.c.length-1;return ce(i.e/P)==e&&i.c[e]%2!=0}function St(i,e){return(i.length>1?i.charAt(0)+"."+i.slice(1):i)+(e<0?"e":"e+")+e}function Ee(i,e,t){var r,s;if(e<0){for(s=t+".";++e;s+=t);i=s+i}else if(r=i.length,++e>r){for(s=t,e-=r;--e;s+=t);i+=s}else e<r&&(i=i.slice(0,e)+"."+i.slice(e));return i}var me=ir(),Is=class{key;left=null;right=null;constructor(i){this.key=i}},tt=class extends Is{constructor(i){super(i)}},Rs=class{size=0;modificationCount=0;splayCount=0;splay(i){const e=this.root;if(e==null)return this.compare(i,i),-1;let t=null,r=null,s=null,n=null,o=e;const l=this.compare;let u;for(;;)if(u=l(o.key,i),u>0){let f=o.left;if(f==null||(u=l(f.key,i),u>0&&(o.left=f.right,f.right=o,o=f,f=o.left,f==null)))break;t==null?r=o:t.left=o,t=o,o=f}else if(u<0){let f=o.right;if(f==null||(u=l(f.key,i),u<0&&(o.right=f.left,f.left=o,o=f,f=o.right,f==null)))break;s==null?n=o:s.right=o,s=o,o=f}else break;return s!=null&&(s.right=o.left,o.left=n),t!=null&&(t.left=o.right,o.right=r),this.root!==o&&(this.root=o,this.splayCount++),u}splayMin(i){let e=i,t=e.left;for(;t!=null;){const r=t;e.left=r.right,r.right=e,e=r,t=e.left}return e}splayMax(i){let e=i,t=e.right;for(;t!=null;){const r=t;e.right=r.left,r.left=e,e=r,t=e.right}return e}_delete(i){if(this.root==null||this.splay(i)!=0)return null;let t=this.root;const r=t,s=t.left;if(this.size--,s==null)this.root=t.right;else{const n=t.right;t=this.splayMax(s),t.right=n,this.root=t}return this.modificationCount++,r}addNewRoot(i,e){this.size++,this.modificationCount++;const t=this.root;if(t==null){this.root=i;return}e<0?(i.left=t,i.right=t.right,t.right=null):(i.right=t,i.left=t.left,t.left=null),this.root=i}_first(){const i=this.root;return i==null?null:(this.root=this.splayMin(i),this.root)}_last(){const i=this.root;return i==null?null:(this.root=this.splayMax(i),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(i){return this.validKey(i)&&this.splay(i)==0}defaultCompare(){return(i,e)=>i<e?-1:i>e?1:0}wrap(){return{getRoot:()=>this.root,setRoot:i=>{this.root=i},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:i=>{this.splayCount=i},splay:i=>this.splay(i),has:i=>this.has(i)}}},Lt=class ot extends Rs{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(r=>r!=null&&r!=null)}delete(e){return this.validKey(e)?this._delete(e)!=null:!1}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let r;for(;r=t.next(),!r.done;)e(r.value,r.value,this)}add(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this}addAndReturn(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)<0)return this.root.key;let r=this.root.left;if(r==null)return null;let s=r.right;for(;s!=null;)r=s,s=r.right;return r.key}firstAfter(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)>0)return this.root.key;let r=this.root.right;if(r==null)return null;let s=r.left;for(;s!=null;)r=s,s=r.left;return r.key}retainAll(e){const t=new ot(this.compare,this.validKey),r=this.modificationCount;for(const s of e){if(r!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(s)&&this.splay(s)==0&&t.add(this.root.key)}t.size!=this.size&&(this.root=t.root,this.size=t.size,this.modificationCount++)}lookup(e){return!this.validKey(e)||this.splay(e)!=0?null:this.root.key}intersection(e){const t=new ot(this.compare,this.validKey);for(const r of this)e.has(r)&&t.add(r);return t}difference(e){const t=new ot(this.compare,this.validKey);for(const r of this)e.has(r)||t.add(r);return t}union(e){const t=this.clone();return t.addAll(e),t}clone(){const e=new ot(this.compare,this.validKey);return e.size=this.size,e.root=this.copyNode(this.root),e}copyNode(e){if(e==null)return null;function t(s,n){let o,l;do{if(o=s.left,l=s.right,o!=null){const u=new tt(o.key);n.left=u,t(o,u)}if(l!=null){const u=new tt(l.key);n.right=u,s=l,n=u}}while(l!=null)}const r=new tt(e.key);return t(e,r),r}toSet(){return this.clone()}entries(){return new Gs(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[Symbol.iterator](){return new Ps(this.wrap())}[Symbol.toStringTag]="[object Set]"},rr=class{tree;path=new Array;modificationCount=null;splayCount;constructor(i){this.tree=i,this.splayCount=i.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const i=this.path[this.path.length-1];return this.getValue(i)}rebuildPath(i){this.path.splice(0,this.path.length),this.tree.splay(i),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(i){for(;i!=null;)this.path.push(i),i=i.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let t=this.tree.getRoot();for(;t!=null;)this.path.push(t),t=t.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let i=this.path[this.path.length-1],e=i.right;if(e!=null){for(;e!=null;)this.path.push(e),e=e.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===i;)i=this.path.pop();return this.path.length>0}},Ps=class extends rr{getValue(i){return i.key}},Gs=class extends rr{getValue(i){return[i.key,i.key]}},sr=i=>()=>i,ri=i=>{const e=i?(t,r)=>r.minus(t).abs().isLessThanOrEqualTo(i):sr(!1);return(t,r)=>e(t,r)?0:t.comparedTo(r)};function Us(i){const e=i?(t,r,s,n,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(n.minus(r).exponentiatedBy(2).plus(o.minus(s).exponentiatedBy(2)).times(i)):sr(!1);return(t,r,s)=>{const n=t.x,o=t.y,l=s.x,u=s.y,f=o.minus(u).times(r.x.minus(l)).minus(n.minus(l).times(r.y.minus(u)));return e(f,n,o,l,u)?0:f.comparedTo(0)}}var Bs=i=>i,Ds=i=>{if(i){const e=new Lt(ri(i)),t=new Lt(ri(i)),r=(n,o)=>o.addAndReturn(n),s=n=>({x:r(n.x,e),y:r(n.y,t)});return s({x:new me(0),y:new me(0)}),s}return Bs},si=i=>({set:e=>{we=si(e)},reset:()=>si(i),compare:ri(i),snap:Ds(i),orient:Us(i)}),we=si(),it=(i,e)=>i.ll.x.isLessThanOrEqualTo(e.x)&&e.x.isLessThanOrEqualTo(i.ur.x)&&i.ll.y.isLessThanOrEqualTo(e.y)&&e.y.isLessThanOrEqualTo(i.ur.y),ni=(i,e)=>{if(e.ur.x.isLessThan(i.ll.x)||i.ur.x.isLessThan(e.ll.x)||e.ur.y.isLessThan(i.ll.y)||i.ur.y.isLessThan(e.ll.y))return null;const t=i.ll.x.isLessThan(e.ll.x)?e.ll.x:i.ll.x,r=i.ur.x.isLessThan(e.ur.x)?i.ur.x:e.ur.x,s=i.ll.y.isLessThan(e.ll.y)?e.ll.y:i.ll.y,n=i.ur.y.isLessThan(e.ur.y)?i.ur.y:e.ur.y;return{ll:{x:t,y:s},ur:{x:r,y:n}}},_t=(i,e)=>i.x.times(e.y).minus(i.y.times(e.x)),nr=(i,e)=>i.x.times(e.x).plus(i.y.times(e.y)),$t=i=>nr(i,i).sqrt(),Fs=(i,e,t)=>{const r={x:e.x.minus(i.x),y:e.y.minus(i.y)},s={x:t.x.minus(i.x),y:t.y.minus(i.y)};return _t(s,r).div($t(s)).div($t(r))},Ws=(i,e,t)=>{const r={x:e.x.minus(i.x),y:e.y.minus(i.y)},s={x:t.x.minus(i.x),y:t.y.minus(i.y)};return nr(s,r).div($t(s)).div($t(r))},or=(i,e,t)=>e.y.isZero()?null:{x:i.x.plus(e.x.div(e.y).times(t.minus(i.y))),y:t},lr=(i,e,t)=>e.x.isZero()?null:{x:t,y:i.y.plus(e.y.div(e.x).times(t.minus(i.x)))},zs=(i,e,t,r)=>{if(e.x.isZero())return lr(t,r,i.x);if(r.x.isZero())return lr(i,e,t.x);if(e.y.isZero())return or(t,r,i.y);if(r.y.isZero())return or(i,e,t.y);const s=_t(e,r);if(s.isZero())return null;const n={x:t.x.minus(i.x),y:t.y.minus(i.y)},o=_t(n,e).div(s),l=_t(n,r).div(s),u=i.x.plus(l.times(e.x)),f=t.x.plus(o.times(r.x)),x=i.y.plus(l.times(e.y)),w=t.y.plus(o.times(r.y)),_=u.plus(f).div(2),M=x.plus(w).div(2);return{x:_,y:M}},ge=class vr{point;isLeft;segment;otherSE;consumedBy;static compare(e,t){const r=vr.comparePoints(e.point,t.point);return r!==0?r:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:At.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let r=0,s=t.length;r<s;r++){const n=t[r];this.point.events.push(n),n.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const r=this.point.events[t];if(r.segment.consumedBy===void 0)for(let s=t+1;s<e;s++){const n=this.point.events[s];n.consumedBy===void 0&&r.otherSE.point.events===n.otherSE.point.events&&r.segment.consume(n.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,r=this.point.events.length;t<r;t++){const s=this.point.events[t];s!==this&&!s.segment.ringOut&&s.segment.isInResult()&&e.push(s)}return e}getLeftmostComparator(e){const t=new Map,r=s=>{const n=s.otherSE;t.set(s,{sine:Fs(this.point,e.point,n.point),cosine:Ws(this.point,e.point,n.point)})};return(s,n)=>{t.has(s)||r(s),t.has(n)||r(n);const{sine:o,cosine:l}=t.get(s),{sine:u,cosine:f}=t.get(n);return o.isGreaterThanOrEqualTo(0)&&u.isGreaterThanOrEqualTo(0)?l.isLessThan(f)?1:l.isGreaterThan(f)?-1:0:o.isLessThan(0)&&u.isLessThan(0)?l.isLessThan(f)?-1:l.isGreaterThan(f)?1:0:u.isLessThan(o)?-1:u.isGreaterThan(o)?1:0}}},qs=class ui{events;poly;_isExteriorRing;_enclosingRing;static factory(e){const t=[];for(let r=0,s=e.length;r<s;r++){const n=e[r];if(!n.isInResult()||n.ringOut)continue;let o=null,l=n.leftSE,u=n.rightSE;const f=[l],x=l.point,w=[];for(;o=l,l=u,f.push(l),l.point!==x;)for(;;){const _=l.getAvailableLinkedEvents();if(_.length===0){const G=f[0].point,N=f[f.length-1].point;throw new Error(`Unable to complete output ring starting at [${G.x}, ${G.y}]. Last matching segment found ends at [${N.x}, ${N.y}].`)}if(_.length===1){u=_[0].otherSE;break}let M=null;for(let G=0,N=w.length;G<N;G++)if(w[G].point===l.point){M=G;break}if(M!==null){const G=w.splice(M)[0],N=f.splice(G.index);N.unshift(N[0].otherSE),t.push(new ui(N.reverse()));continue}w.push({index:f.length,point:l.point});const A=l.getLeftmostComparator(o);u=_.sort(A)[0].otherSE;break}t.push(new ui(f))}return t}constructor(e){this.events=e;for(let t=0,r=e.length;t<r;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let f=1,x=this.events.length-1;f<x;f++){const w=this.events[f].point,_=this.events[f+1].point;we.orient(w,e,_)!==0&&(t.push(w),e=w)}if(t.length===1)return null;const r=t[0],s=t[1];we.orient(r,e,s)===0&&t.shift(),t.push(t[0]);const n=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,l=this.isExteriorRing()?t.length:-1,u=[];for(let f=o;f!=l;f+=n)u.push([t[f].x.toNumber(),t[f].y.toNumber()]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let s=1,n=this.events.length;s<n;s++){const o=this.events[s];ge.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),r=t?t.prevInResult():null;for(;;){if(!t)return null;if(!r)return t.ringOut;if(r.ringOut!==t.ringOut)return r.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=r.prevInResult(),r=t?t.prevInResult():null}}},ar=class{exteriorRing;interiorRings;constructor(i){this.exteriorRing=i,i.poly=this,this.interiorRings=[]}addInterior(i){this.interiorRings.push(i),i.poly=this}getGeom(){const i=this.exteriorRing.getGeom();if(i===null)return null;const e=[i];for(let t=0,r=this.interiorRings.length;t<r;t++){const s=this.interiorRings[t].getGeom();s!==null&&e.push(s)}return e}},Hs=class{rings;polys;constructor(i){this.rings=i,this.polys=this._composePolys(i)}getGeom(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const r=this.polys[e].getGeom();r!==null&&i.push(r)}return i}_composePolys(i){const e=[];for(let t=0,r=i.length;t<r;t++){const s=i[t];if(!s.poly)if(s.isExteriorRing())e.push(new ar(s));else{const n=s.enclosingRing();n?.poly||e.push(new ar(n)),n?.poly?.addInterior(s)}}return e}},js=class{queue;tree;segments;constructor(i,e=At.compare){this.queue=i,this.tree=new Lt(e),this.segments=[]}process(i){const e=i.segment,t=[];if(i.consumedBy)return i.isLeft?this.queue.delete(i.otherSE):this.tree.delete(e),t;i.isLeft&&this.tree.add(e);let r=e,s=e;do r=this.tree.lastBefore(r);while(r!=null&&r.consumedBy!=null);do s=this.tree.firstAfter(s);while(s!=null&&s.consumedBy!=null);if(i.isLeft){let n=null;if(r){const l=r.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(n=l),!r.isAnEndpoint(l))){const u=this._splitSafely(r,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}let o=null;if(s){const l=s.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(o=l),!s.isAnEndpoint(l))){const u=this._splitSafely(s,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}if(n!==null||o!==null){let l=null;n===null?l=o:o===null?l=n:l=ge.comparePoints(n,o)<=0?n:o,this.queue.delete(e.rightSE),t.push(e.rightSE);const u=e.split(l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}t.length>0?(this.tree.delete(e),t.push(i)):(this.segments.push(e),e.prev=r)}else{if(r&&s){const n=r.getIntersection(s);if(n!==null){if(!r.isAnEndpoint(n)){const o=this._splitSafely(r,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}if(!s.isAnEndpoint(n)){const o=this._splitSafely(s,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}}}this.tree.delete(e)}return t}_splitSafely(i,e){this.tree.delete(i);const t=i.rightSE;this.queue.delete(t);const r=i.split(e);return r.push(t),i.consumedBy===void 0&&this.tree.add(i),r}},Vs=class{type;numMultiPolys;run(i,e,t){rt.type=i;const r=[new hr(e,!0)];for(let f=0,x=t.length;f<x;f++)r.push(new hr(t[f],!1));if(rt.numMultiPolys=r.length,rt.type==="difference"){const f=r[0];let x=1;for(;x<r.length;)ni(r[x].bbox,f.bbox)!==null?x++:r.splice(x,1)}if(rt.type==="intersection")for(let f=0,x=r.length;f<x;f++){const w=r[f];for(let _=f+1,M=r.length;_<M;_++)if(ni(w.bbox,r[_].bbox)===null)return[]}const s=new Lt(ge.compare);for(let f=0,x=r.length;f<x;f++){const w=r[f].getSweepEvents();for(let _=0,M=w.length;_<M;_++)s.add(w[_])}const n=new js(s);let o=null;for(s.size!=0&&(o=s.first(),s.delete(o));o;){const f=n.process(o);for(let x=0,w=f.length;x<w;x++){const _=f[x];_.consumedBy===void 0&&s.add(_)}s.size!=0?(o=s.first(),s.delete(o)):o=null}we.reset();const l=qs.factory(n.segments);return new Hs(l).getGeom()}},rt=new Vs,Mt=rt,Zs=0,At=class Ct{id;leftSE;rightSE;rings;windings;ringOut;consumedBy;prev;_prevInResult;_beforeState;_afterState;_isInResult;static compare(e,t){const r=e.leftSE.point.x,s=t.leftSE.point.x,n=e.rightSE.point.x,o=t.rightSE.point.x;if(o.isLessThan(r))return 1;if(n.isLessThan(s))return-1;const l=e.leftSE.point.y,u=t.leftSE.point.y,f=e.rightSE.point.y,x=t.rightSE.point.y;if(r.isLessThan(s)){if(u.isLessThan(l)&&u.isLessThan(f))return 1;if(u.isGreaterThan(l)&&u.isGreaterThan(f))return-1;const w=e.comparePoint(t.leftSE.point);if(w<0)return 1;if(w>0)return-1;const _=t.comparePoint(e.rightSE.point);return _!==0?_:-1}if(r.isGreaterThan(s)){if(l.isLessThan(u)&&l.isLessThan(x))return-1;if(l.isGreaterThan(u)&&l.isGreaterThan(x))return 1;const w=t.comparePoint(e.leftSE.point);if(w!==0)return w;const _=e.comparePoint(t.rightSE.point);return _<0?1:_>0?-1:1}if(l.isLessThan(u))return-1;if(l.isGreaterThan(u))return 1;if(n.isLessThan(o)){const w=t.comparePoint(e.rightSE.point);if(w!==0)return w}if(n.isGreaterThan(o)){const w=e.comparePoint(t.rightSE.point);if(w<0)return 1;if(w>0)return-1}if(!n.eq(o)){const w=f.minus(l),_=n.minus(r),M=x.minus(u),A=o.minus(s);if(w.isGreaterThan(_)&&M.isLessThan(A))return 1;if(w.isLessThan(_)&&M.isGreaterThan(A))return-1}return n.isGreaterThan(o)?1:n.isLessThan(o)||f.isLessThan(x)?-1:f.isGreaterThan(x)?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,r,s){this.id=++Zs,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=r,this.windings=s}static fromRing(e,t,r){let s,n,o;const l=ge.comparePoints(e,t);if(l<0)s=e,n=t,o=1;else if(l>0)s=t,n=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new ge(s,!0),f=new ge(n,!1);return new Ct(u,f,[r],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return we.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),r=e.bbox(),s=ni(t,r);if(s===null)return null;const n=this.leftSE.point,o=this.rightSE.point,l=e.leftSE.point,u=e.rightSE.point,f=it(t,l)&&this.comparePoint(l)===0,x=it(r,n)&&e.comparePoint(n)===0,w=it(t,u)&&this.comparePoint(u)===0,_=it(r,o)&&e.comparePoint(o)===0;if(x&&f)return _&&!w?o:!_&&w?u:null;if(x)return w&&n.x.eq(u.x)&&n.y.eq(u.y)?null:n;if(f)return _&&o.x.eq(l.x)&&o.y.eq(l.y)?null:l;if(_&&w)return null;if(_)return o;if(w)return u;const M=zs(n,this.vector(),l,e.vector());return M===null||!it(s,M)?null:we.snap(M)}split(e){const t=[],r=e.events!==void 0,s=new ge(e,!0),n=new ge(e,!1),o=this.rightSE;this.replaceRightSE(n),t.push(n),t.push(s);const l=new Ct(s,o,this.rings.slice(),this.windings.slice());return ge.comparePoints(l.leftSE.point,l.rightSE.point)>0&&l.swapEvents(),ge.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(s.checkForConsuming(),n.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,r=this.windings.length;t<r;t++)this.windings[t]*=-1}consume(e){let t=this,r=e;for(;t.consumedBy;)t=t.consumedBy;for(;r.consumedBy;)r=r.consumedBy;const s=Ct.compare(t,r);if(s!==0){if(s>0){const n=t;t=r,r=n}if(t.prev===r){const n=t;t=r,r=n}for(let n=0,o=r.rings.length;n<o;n++){const l=r.rings[n],u=r.windings[n],f=t.rings.indexOf(l);f===-1?(t.rings.push(l),t.windings.push(u)):t.windings[f]+=u}r.rings=null,r.windings=null,r.consumedBy=t,r.leftSE.consumedBy=t.leftSE,r.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,r=this._afterState.windings,s=this._afterState.multiPolys;for(let l=0,u=this.rings.length;l<u;l++){const f=this.rings[l],x=this.windings[l],w=t.indexOf(f);w===-1?(t.push(f),r.push(x)):r[w]+=x}const n=[],o=[];for(let l=0,u=t.length;l<u;l++){if(r[l]===0)continue;const f=t[l],x=f.poly;if(o.indexOf(x)===-1)if(f.isExterior)n.push(x);else{o.indexOf(x)===-1&&o.push(x);const w=n.indexOf(f.poly);w!==-1&&n.splice(w,1)}}for(let l=0,u=n.length;l<u;l++){const f=n[l].multiPoly;s.indexOf(f)===-1&&s.push(f)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(Mt.type){case"union":{const r=e.length===0,s=t.length===0;this._isInResult=r!==s;break}case"intersection":{let r,s;e.length<t.length?(r=e.length,s=t.length):(r=t.length,s=e.length),this._isInResult=s===Mt.numMultiPolys&&r<s;break}case"xor":{const r=Math.abs(e.length-t.length);this._isInResult=r%2===1;break}case"difference":{const r=s=>s.length===1&&s[0].isSubject;this._isInResult=r(e)!==r(t);break}}return this._isInResult}},cr=class{poly;isExterior;segments;bbox;constructor(i,e,t){if(!Array.isArray(i)||i.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=t,this.segments=[],typeof i[0][0]!="number"||typeof i[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const r=we.snap({x:new me(i[0][0]),y:new me(i[0][1])});this.bbox={ll:{x:r.x,y:r.y},ur:{x:r.x,y:r.y}};let s=r;for(let n=1,o=i.length;n<o;n++){if(typeof i[n][0]!="number"||typeof i[n][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const l=we.snap({x:new me(i[n][0]),y:new me(i[n][1])});l.x.eq(s.x)&&l.y.eq(s.y)||(this.segments.push(At.fromRing(s,l,this)),l.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=l.x),l.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=l.y),l.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=l.x),l.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=l.y),s=l)}(!r.x.eq(s.x)||!r.y.eq(s.y))&&this.segments.push(At.fromRing(s,r,this))}getSweepEvents(){const i=[];for(let e=0,t=this.segments.length;e<t;e++){const r=this.segments[e];i.push(r.leftSE),i.push(r.rightSE)}return i}},Ks=class{multiPoly;exteriorRing;interiorRings;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new cr(i[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let t=1,r=i.length;t<r;t++){const s=new cr(i[t],this,!1);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=e}getSweepEvents(){const i=this.exteriorRing.getSweepEvents();for(let e=0,t=this.interiorRings.length;e<t;e++){const r=this.interiorRings[e].getSweepEvents();for(let s=0,n=r.length;s<n;s++)i.push(r[s])}return i}},hr=class{isSubject;polys;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof i[0][0][0]=="number"&&(i=[i])}catch{}this.polys=[],this.bbox={ll:{x:new me(Number.POSITIVE_INFINITY),y:new me(Number.POSITIVE_INFINITY)},ur:{x:new me(Number.NEGATIVE_INFINITY),y:new me(Number.NEGATIVE_INFINITY)}};for(let t=0,r=i.length;t<r;t++){const s=new Ks(i[t],this);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=e}getSweepEvents(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const r=this.polys[e].getSweepEvents();for(let s=0,n=r.length;s<n;s++)i.push(r[s])}return i}},Ys=(i,...e)=>Mt.run("union",i,e),Xs=(i,...e)=>Mt.run("difference",i,e);we.set;function ur(i,e,t){if(i!==null)for(var r,s,n,o,l,u,f,x=0,w=0,_,M=i.type,A=M==="FeatureCollection",G=M==="Feature",N=A?i.features.length:1,W=0;W<N;W++){f=A?i.features[W].geometry:G?i.geometry:i,_=f?f.type==="GeometryCollection":!1,l=_?f.geometries.length:1;for(var L=0;L<l;L++){var Q=0,ne=0;if(o=_?f.geometries[L]:f,o!==null){u=o.coordinates;var ye=o.type;switch(x=0,ye){case null:break;case"Point":if(e(u,w,W,Q,ne)===!1)return!1;w++,Q++;break;case"LineString":case"MultiPoint":for(r=0;r<u.length;r++){if(e(u[r],w,W,Q,ne)===!1)return!1;w++,ye==="MultiPoint"&&Q++}ye==="LineString"&&Q++;break;case"Polygon":case"MultiLineString":for(r=0;r<u.length;r++){for(s=0;s<u[r].length-x;s++){if(e(u[r][s],w,W,Q,ne)===!1)return!1;w++}ye==="MultiLineString"&&Q++,ye==="Polygon"&&ne++}ye==="Polygon"&&Q++;break;case"MultiPolygon":for(r=0;r<u.length;r++){for(ne=0,s=0;s<u[r].length;s++){for(n=0;n<u[r][s].length-x;n++){if(e(u[r][s][n],w,W,Q,ne)===!1)return!1;w++}ne++}Q++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(ur(o.geometries[r],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function oi(i,e){var t,r,s,n,o,l,u,f,x,w,_=0,M=i.type==="FeatureCollection",A=i.type==="Feature",G=M?i.features.length:1;for(t=0;t<G;t++){for(l=M?i.features[t].geometry:A?i.geometry:i,f=M?i.features[t].properties:A?i.properties:{},x=M?i.features[t].bbox:A?i.bbox:void 0,w=M?i.features[t].id:A?i.id:void 0,u=l?l.type==="GeometryCollection":!1,o=u?l.geometries.length:1,s=0;s<o;s++){if(n=u?l.geometries[s]:l,n===null){if(e(null,_,f,x,w)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,_,f,x,w)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<n.geometries.length;r++)if(e(n.geometries[r],_,f,x,w)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}_++}}function Qs(i,e){oi(i,function(t,r,s,n,o){var l=t===null?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return e(Je(t,s,{bbox:n,id:o}),r,0)===!1?!1:void 0}var u;switch(l){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var f=0;f<t.coordinates.length;f++){var x=t.coordinates[f],w={type:u,coordinates:x};if(e(Je(w,s),r,f)===!1)return!1}})}function Js(i,e={}){const t=[];if(oi(i,s=>{t.push(s.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const r=Ys(t[0],...t.slice(1));return r.length===0?null:r.length===1?Jt(r[0],e.properties):er(r,e.properties)}var dr=Js;function en(i,e={}){if(i.bbox!=null&&e.recompute!==!0)return i.bbox;const t=[1/0,1/0,-1/0,-1/0];return ur(i,r=>{t[0]>r[0]&&(t[0]=r[0]),t[1]>r[1]&&(t[1]=r[1]),t[2]<r[0]&&(t[2]=r[0]),t[3]<r[1]&&(t[3]=r[1])}),t}var fr=en;function tn(i){const e=[];if(oi(i,s=>{e.push(s.coordinates)}),e.length<2)throw new Error("Must have at least two features");const t=i.features[0].properties||{},r=Xs(e[0],...e.slice(1));return r.length===0?null:r.length===1?Jt(r[0],t):er(r,t)}var rn=tn;function sn(i){if(!i)throw new Error("geojson is required");var e=[];return Qs(i,function(t){e.push(t)}),et(e)}var nn=sn;function pr(i){const e=rn(et([Jt([[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]]),i]));if(!e)return;e.properties={isMask:!0};const t=pt(fr(i)),r=(t[2]-t[0])/360/1e3,s=t[0]<-180,n=t[2]>180,o=nn(i);if(o.features.length>1&&(s||n))for(const l of o.features){const u=pt(fr(l));if(n&&u[0]<-180+r)for(const f of l.geometry.coordinates)for(const x of f)x[0]+=360-r;if(s&&u[2]>180-r)for(const f of l.geometry.coordinates)for(const x of f)x[0]-=360-r}return et([o.features.length<2?i:dr(o)??i,e])}const mr={continental_marine:4,country:4,major_landform:8,region:5,subregion:6,county:7,joint_municipality:8,joint_submunicipality:9,municipality:10,municipal_district:11,locality:12,neighbourhood:13,place:14,postal_code:14,road:16,poi:17,address:18,"poi.peak":15,"poi.shop":18,"poi.cafe":18,"poi.restaurant":18,"poi.aerodrome":13},gr={fill:{paint:{"fill-color":"#000","fill-opacity":.1},filter:["all",["==",["geometry-type"],"Polygon"],["has","isMask"]]},line:{layout:{"line-cap":"square"},paint:{"line-width":["case",["==",["geometry-type"],"Polygon"],2,3],"line-dasharray":[1,1],"line-color":"#3170fe"},filter:["!",["has","isMask"]]}},st="mtlr-gc-full-geom",li="mtlr-gc-full-geom-fill",ai="mtlr-gc-full-geom-line",on=Se.Evented,ln=Se.Marker,an=Se.Popup;class cn extends on{#e={};#t;#i;constructor(e={}){super(),this.setOptions(e)}onAdd(e){this.#t=e,this.#i=e._container.ownerDocument.createElement("maptiler-geocoder"),this.#i.classList.add("maplibregl-geocoder"),this.#v(),this.#x();const t=e._container.ownerDocument.createElement("div");return t.classList.add("maplibregl-ctrl-geocoder","maplibregl-ctrl","maplibregl-ctrl-group"),t.style.position="relative",t.style.zIndex="3",t.appendChild(this.#i),setTimeout(()=>this.#i?.setOptions({openListOnTop:t.matches(".maplibregl-ctrl-bottom-left *, .maplibregl-ctrl-bottom-right *")})),t}onRemove(){this.#S(),this.#t=void 0,this.#i=void 0}getOptions(){return{...this.#e}}setOptions(e){Object.assign(this.#e,e),this.#v()}setQuery(e){this.#i?.setQuery(e)}submitQuery(e){this.#i?.submitQuery(e)}clearMap(){this.#n=[],this.#u(void 0,void 0)}clearList(){this.#i?.clearList()}setReverseMode(e){this.setOptions({reverseActive:e})}focus(e){this.#i?.focus(e)}blur(){this.#i?.blur()}#l=new Map;#c;#s;#n;#o;#m;#g={reversetoggle:e=>{const t=this.#t?.getCanvasContainer();t&&(t.style.cursor=e.detail.reverse?"crosshair":""),this.#r("reversetoggle",e.detail)},querychange:e=>{const t=e.detail.reverseCoords;this.#w(t?[t.decimalLongitude,t.decimalLatitude]:void 0),this.#r("querychange",e.detail)},queryclear:()=>{this.#w(void 0),this.#r("queryclear")},request:e=>{this.#r("request",e.detail)},response:e=>{this.#r("response",e.detail)},select:e=>{const t=e.detail.feature;t&&this.#d&&this.#e.flyToSelected&&this.#b(t.center,this.#h(t)),this.#n&&t&&this.#A(t),this.#r("select",e.detail)},pick:e=>{const t=e.detail.feature;t&&t.id!==this.#m&&this.#d&&(this.#L(t),this.#u(this.#n,t)),this.#m=t?.id,this.#r("pick",e.detail)},featuresshow:()=>{this.#r("featuresshow")},featureshide:()=>{this.#r("featureshide")},featureslisted:e=>{const t=e.detail.features;this.#n=t,this.#u(this.#n,void 0),this.#_(t),this.#r("featureslisted",e.detail)},featuresclear:()=>{this.#n=void 0,this.#u(void 0,void 0),this.#r("featuresclear")},focusin:()=>{this.#r("focusin")},focusout:()=>{this.#r("focusout")}};#y={render:()=>{const e=this.#t?.getZoom(),t=this.#t?.getCenter();this.#i?.handleMapChange(e&&t?[e,t.lng,t.lat]:void 0)},click:e=>{this.#i?.handleMapClick([e.lngLat.lng,e.lngLat.lat])},styledata:()=>{setTimeout(()=>{this.#o&&this.#f()})}};#v(){this.#i&&(this.#i.setOptions(this.#e),this.#i.fetchFullGeometryOnPick=this.#e.pickedResultStyle!=="marker-only")}#x(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.addEventListener(e,t);for(const[e,t]of Object.entries(this.#y))this.#t.on(e,t)}}#S(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.removeEventListener(e,t);for(const[e,t]of Object.entries(this.#y))this.#t.off(e,t)}}#r(e,t){return super.fire({type:e,...t??{}})}#L(e){e.bbox[0]===e.bbox[2]&&e.bbox[1]===e.bbox[3]?this.#b(e.center,this.#h(e)):this.#E(pt(e.bbox),50,this.#h(e))}#_(e){if(!e||e.length===0||!this.#d)return;const t=e.every(n=>n.matching_text),r=e.reduce((n,o)=>t||!o.matching_text?[Math.min(n[0],o.bbox[0]),Math.min(n[1],o.bbox[1]),Math.max(n[2],o.bbox[2]),Math.max(n[3],o.bbox[3])]:n,[180,90,-180,-90]),s=e.map(n=>this.#h(n)).filter(n=>n!==void 0).reduce((n,o)=>n===void 0?o:Math.max(n,o),void 0);this.#E(pt(r),50,s)}#h(e){if(e.bbox[0]!==e.bbox[2]||e.bbox[1]!==e.bbox[3])return;const t=e.id.replace(/\..*/,""),r=this.#e.zoom??mr;return(Array.isArray(e.properties?.categories)?e.properties.categories.reduce((s,n)=>{const o=r[t+"."+n];return s===void 0?o:o===void 0?s:Math.max(s,o)},void 0):void 0)??r[t]}get#d(){return!!this.#e.flyTo||this.#e.flyTo===void 0}get#$(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}get#M(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}#b(e,t){this.#t?.flyTo({center:e,...t?{zoom:t}:{},...this.#$})}#E(e,t,r){this.#t?.fitBounds([[e[0],e[1]],[e[2],e[3]]],{padding:t,...r?{maxZoom:r}:{},...this.#M})}#w(e){if(!(this.#e.marker===!1||this.#e.marker===null||!this.#t)){if(!e){this.#s?.remove(),this.#s=void 0;return}this.#s||(this.#e.marker instanceof Function?this.#s=this.#e.marker(this.#t)??void 0:(this.#s=this.#p(this.#e.marker).setLngLat(e).addTo(this.#t),this.#s.getElement().classList.add("marker-reverse"))),this.#s?.setLngLat(e)}}#u(e,t){if(!this.#t)return;for(const s of this.#l.values())s.remove();this.#l=new Map,this.#a(void 0);const r=()=>{if(!t||!this.#t||this.#e.marker===!1||this.#e.marker===null)return;const s=this.#e.marker instanceof Function?this.#e.marker(this.#t,t):this.#p(this.#e.marker).setLngLat(t.center).addTo(this.#t);s&&this.#l.set(t,s)};if(t?.geometry.type==="GeometryCollection"){const s=t.geometry.geometries.filter(n=>n.type==="Polygon"||n.type==="MultiPolygon");if(s.length>0){const n=dr(et(s.map(o=>Je(o))));if(n){const o=pr({...t,geometry:n.geometry});o&&this.#a(o)}}else{const n=t.geometry.geometries.filter(o=>o.type==="LineString"||o.type==="MultiLineString");n.length>0&&this.#a({...t,geometry:{type:"GeometryCollection",geometries:n}})}}else if(t?.geometry.type.endsWith("Polygon")){const s=pr(t);s&&this.#a(s),this.#e.pickedResultStyle==="full-geometry-including-polygon-center-marker"&&r()}else t?.geometry.type.endsWith("LineString")?this.#a(t):t?.geometry.type.endsWith("Point")&&r();if(this.#e.showResultMarkers!==!1&&this.#e.showResultMarkers!==null)for(const s of e??[]){if(s.id===t?.id||s.place_type.includes("reverse"))continue;let n;if(this.#e.showResultMarkers instanceof Function){if(n=this.#e.showResultMarkers(this.#t,s),!n)continue}else n=this.#p(this.#e.showResultMarkers).setLngLat(s.center).setPopup(new an({offset:[1,-27],closeButton:!1,closeOnMove:!0,className:"maptiler-gc-popup"}).setText(s.place_type[0]==="reverse"?s.place_name:s.place_name.replace(/,.*/,""))).addTo(this.#t),n.getElement().classList.add("marker-interactive");const o=n.getElement();o.addEventListener("click",l=>{l.stopPropagation(),this.#r("markerclick",{feature:s,marker:n})}),o.addEventListener("mouseenter",()=>{this.#r("markermouseenter",{feature:s,marker:n}),n.togglePopup()}),o.addEventListener("mouseleave",()=>{this.#r("markermouseleave",{feature:s,marker:n}),n.togglePopup()}),o.classList.toggle("marker-fuzzy",!!s.matching_text),this.#l.set(s,n)}}#A(e){this.#c?.getElement().classList.toggle("marker-selected",!1),this.#c=void 0,this.#e.markerOnSelected!==!1&&(this.#c=this.#l.get(e),this.#c?.getElement().classList.toggle("marker-selected",!0))}#f(){if(!this.#t?.loaded){this.#t?.once("load",()=>{this.#f()});return}const e=this.#T(),t=this.#t.getSource(st);!e?.fill&&!e?.line||!t&&!this.#o||(t?t.setData(this.#o??et([])):this.#o&&this.#t.addSource(st,{type:"geojson",data:this.#o}),!this.#t.getLayer(li)&&e.fill&&this.#t.addLayer({...e.fill,id:li,type:"fill",source:st}),!this.#t.getLayer(ai)&&e.line&&this.#t.addLayer({...e.line,id:ai,type:"line",source:st}))}#a(e){this.#o=e,this.#f()}#p(e){return typeof e!="object"&&(e={element:this.#t?._container.ownerDocument.createElement("maptiler-geocode-marker"),offset:[1,-13]}),new ln(e)}#T(){const{fullGeometryStyle:e}=this.#e;if(e===!0||e===void 0)return gr;if(!(e===!1||e===null))return e}}class yr extends cn{#e;constructor(e={}){super(e)}onAdd(e){this.#e=e,e.telemetry.registerModule(ks,Os);const t=this.getOptions(),{primaryLanguage:r,apiKey:s}=e.getSdkConfig();if(t.apiKey===void 0&&this.setOptions({apiKey:s}),t.language===void 0){const o=r.code?.match(/^([a-z]{2,3})($|_|-)/);o&&this.setOptions({language:o[1]})}const n=super.onAdd(e);return n.classList.add("maptiler-ctrl-geocoder"),n.querySelector("maptiler-geocoder")?.classList.add("maptiler-geocoder"),n}onRemove(){super.onRemove(),this.#e=void 0}setOptions(e){const t=e.adjustUrl;super.setOptions({...e,adjustUrl:r=>{t?.(r);const s=this.getOptions();(Se.config.session?e.session!==!1:e.session===!0)&&this.#e&&(!s.apiUrl||new URL(s.apiUrl).host===new URL("https://api.maptiler.com/geocoding").host)&&r.searchParams.append("mtsid",this.#e.getMaptilerSessionId())}})}}$.DEFAULT_GEOMETRY_STYLE=gr,$.GeocodingControl=yr,$.MaptilerGeocodingControl=yr,$.RESULT_LAYER_FILL=li,$.RESULT_LAYER_LINE=ai,$.RESULT_SOURCE=st,$.ZOOM_DEFAULTS=mr,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
275
+ `,$.MaptilerGeocodeMarkerElement=Cs([$e("maptiler-geocode-marker")],$.MaptilerGeocodeMarkerElement);const ks="@maptiler/geocoding-control",Os="3.0.0-rc.5";function Je(i,e,t={}){const r={type:"Feature"};return(t.id===0||t.id)&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.properties=e||{},r.geometry=i,r}function Jt(i,e,t={}){for(const s of i){if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(s[s.length-1].length!==s[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<s[s.length-1].length;n++)if(s[s.length-1][n]!==s[0][n])throw new Error("First and last Position are not equivalent.")}return Je({type:"Polygon",coordinates:i},e,t)}function et(i,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=i,t}function er(i,e,t={}){return Je({type:"MultiPolygon",coordinates:i},e,t)}var Ns=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ei=Math.ceil,ae=Math.floor,se="[BigNumber Error] ",tr=se+"Number primitive has more than 15 significant digits: ",fe=1e14,P=14,ti=9007199254740991,ii=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Ae=1e7,X=1e9;function ir(i){var e,t,r,s=L.prototype={constructor:L,toString:null,valueOf:null},n=new L(1),o=20,l=4,u=-7,f=21,x=-1e7,w=1e7,_=!1,M=1,A=0,G={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},N="0123456789abcdefghijklmnopqrstuvwxyz",W=!0;function L(a,c){var h,v,p,g,E,d,m,b,y=this;if(!(y instanceof L))return new L(a,c);if(c==null){if(a&&a._isBigNumber===!0){y.s=a.s,!a.c||a.e>w?y.c=y.e=null:a.e<x?y.c=[y.e=0]:(y.e=a.e,y.c=a.c.slice());return}if((d=typeof a=="number")&&a*0==0){if(y.s=1/a<0?(a=-a,-1):1,a===~~a){for(g=0,E=a;E>=10;E/=10,g++);g>w?y.c=y.e=null:(y.e=g,y.c=[a]);return}b=String(a)}else{if(!Ns.test(b=String(a)))return r(y,b,d);y.s=b.charCodeAt(0)==45?(b=b.slice(1),-1):1}(g=b.indexOf("."))>-1&&(b=b.replace(".","")),(E=b.search(/e/i))>0?(g<0&&(g=E),g+=+b.slice(E+1),b=b.substring(0,E)):g<0&&(g=b.length)}else{if(q(c,2,N.length,"Base"),c==10&&W)return y=new L(a),ue(y,o+y.e+1,l);if(b=String(a),d=typeof a=="number"){if(a*0!=0)return r(y,b,d,c);if(y.s=1/a<0?(b=b.slice(1),-1):1,L.DEBUG&&b.replace(/^0\.0*|\./,"").length>15)throw Error(tr+a)}else y.s=b.charCodeAt(0)===45?(b=b.slice(1),-1):1;for(h=N.slice(0,c),g=E=0,m=b.length;E<m;E++)if(h.indexOf(v=b.charAt(E))<0){if(v=="."){if(E>g){g=m;continue}}else if(!p&&(b==b.toUpperCase()&&(b=b.toLowerCase())||b==b.toLowerCase()&&(b=b.toUpperCase()))){p=!0,E=-1,g=0;continue}return r(y,String(a),d,c)}d=!1,b=t(b,c,10,y.s),(g=b.indexOf("."))>-1?b=b.replace(".",""):g=b.length}for(E=0;b.charCodeAt(E)===48;E++);for(m=b.length;b.charCodeAt(--m)===48;);if(b=b.slice(E,++m)){if(m-=E,d&&L.DEBUG&&m>15&&(a>ti||a!==ae(a)))throw Error(tr+y.s*a);if((g=g-E-1)>w)y.c=y.e=null;else if(g<x)y.c=[y.e=0];else{if(y.e=g,y.c=[],E=(g+1)%P,g<0&&(E+=P),E<m){for(E&&y.c.push(+b.slice(0,E)),m-=P;E<m;)y.c.push(+b.slice(E,E+=P));E=P-(b=b.slice(E)).length}else E-=m;for(;E--;b+="0");y.c.push(+b)}}else y.c=[y.e=0]}L.clone=ir,L.ROUND_UP=0,L.ROUND_DOWN=1,L.ROUND_CEIL=2,L.ROUND_FLOOR=3,L.ROUND_HALF_UP=4,L.ROUND_HALF_DOWN=5,L.ROUND_HALF_EVEN=6,L.ROUND_HALF_CEIL=7,L.ROUND_HALF_FLOOR=8,L.EUCLID=9,L.config=L.set=function(a){var c,h;if(a!=null)if(typeof a=="object"){if(a.hasOwnProperty(c="DECIMAL_PLACES")&&(h=a[c],q(h,0,X,c),o=h),a.hasOwnProperty(c="ROUNDING_MODE")&&(h=a[c],q(h,0,8,c),l=h),a.hasOwnProperty(c="EXPONENTIAL_AT")&&(h=a[c],h&&h.pop?(q(h[0],-X,0,c),q(h[1],0,X,c),u=h[0],f=h[1]):(q(h,-X,X,c),u=-(f=h<0?-h:h))),a.hasOwnProperty(c="RANGE"))if(h=a[c],h&&h.pop)q(h[0],-X,-1,c),q(h[1],1,X,c),x=h[0],w=h[1];else if(q(h,-X,X,c),h)x=-(w=h<0?-h:h);else throw Error(se+c+" cannot be zero: "+h);if(a.hasOwnProperty(c="CRYPTO"))if(h=a[c],h===!!h)if(h)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))_=h;else throw _=!h,Error(se+"crypto unavailable");else _=h;else throw Error(se+c+" not true or false: "+h);if(a.hasOwnProperty(c="MODULO_MODE")&&(h=a[c],q(h,0,9,c),M=h),a.hasOwnProperty(c="POW_PRECISION")&&(h=a[c],q(h,0,X,c),A=h),a.hasOwnProperty(c="FORMAT"))if(h=a[c],typeof h=="object")G=h;else throw Error(se+c+" not an object: "+h);if(a.hasOwnProperty(c="ALPHABET"))if(h=a[c],typeof h=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(h))W=h.slice(0,10)=="0123456789",N=h;else throw Error(se+c+" invalid: "+h)}else throw Error(se+"Object expected: "+a);return{DECIMAL_PLACES:o,ROUNDING_MODE:l,EXPONENTIAL_AT:[u,f],RANGE:[x,w],CRYPTO:_,MODULO_MODE:M,POW_PRECISION:A,FORMAT:G,ALPHABET:N}},L.isBigNumber=function(a){if(!a||a._isBigNumber!==!0)return!1;if(!L.DEBUG)return!0;var c,h,v=a.c,p=a.e,g=a.s;e:if({}.toString.call(v)=="[object Array]"){if((g===1||g===-1)&&p>=-X&&p<=X&&p===ae(p)){if(v[0]===0){if(p===0&&v.length===1)return!0;break e}if(c=(p+1)%P,c<1&&(c+=P),String(v[0]).length==c){for(c=0;c<v.length;c++)if(h=v[c],h<0||h>=fe||h!==ae(h))break e;if(h!==0)return!0}}}else if(v===null&&p===null&&(g===null||g===1||g===-1))return!0;throw Error(se+"Invalid BigNumber: "+a)},L.maximum=L.max=function(){return ne(arguments,-1)},L.minimum=L.min=function(){return ne(arguments,1)},L.random=(function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return ae(Math.random()*a)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(h){var v,p,g,E,d,m=0,b=[],y=new L(n);if(h==null?h=o:q(h,0,X),E=ei(h/P),_)if(crypto.getRandomValues){for(v=crypto.getRandomValues(new Uint32Array(E*=2));m<E;)d=v[m]*131072+(v[m+1]>>>11),d>=9e15?(p=crypto.getRandomValues(new Uint32Array(2)),v[m]=p[0],v[m+1]=p[1]):(b.push(d%1e14),m+=2);m=E/2}else if(crypto.randomBytes){for(v=crypto.randomBytes(E*=7);m<E;)d=(v[m]&31)*281474976710656+v[m+1]*1099511627776+v[m+2]*4294967296+v[m+3]*16777216+(v[m+4]<<16)+(v[m+5]<<8)+v[m+6],d>=9e15?crypto.randomBytes(7).copy(v,m):(b.push(d%1e14),m+=7);m=E/7}else throw _=!1,Error(se+"crypto unavailable");if(!_)for(;m<E;)d=c(),d<9e15&&(b[m++]=d%1e14);for(E=b[--m],h%=P,E&&h&&(d=ii[P-h],b[m]=ae(E/d)*d);b[m]===0;b.pop(),m--);if(m<0)b=[g=0];else{for(g=-1;b[0]===0;b.splice(0,1),g-=P);for(m=1,d=b[0];d>=10;d/=10,m++);m<P&&(g-=P-m)}return y.e=g,y.c=b,y}})(),L.sum=function(){for(var a=1,c=arguments,h=new L(c[0]);a<c.length;)h=h.plus(c[a++]);return h},t=(function(){var a="0123456789";function c(h,v,p,g){for(var E,d=[0],m,b=0,y=h.length;b<y;){for(m=d.length;m--;d[m]*=v);for(d[0]+=g.indexOf(h.charAt(b++)),E=0;E<d.length;E++)d[E]>p-1&&(d[E+1]==null&&(d[E+1]=0),d[E+1]+=d[E]/p|0,d[E]%=p)}return d.reverse()}return function(h,v,p,g,E){var d,m,b,y,S,T,C,D,H=h.indexOf("."),K=o,U=l;for(H>=0&&(y=A,A=0,h=h.replace(".",""),D=new L(v),T=D.pow(h.length-H),A=y,D.c=c(Ee(he(T.c),T.e,"0"),10,p,a),D.e=D.c.length),C=c(h,v,p,E?(d=N,a):(d=a,N)),b=y=C.length;C[--y]==0;C.pop());if(!C[0])return d.charAt(0);if(H<0?--b:(T.c=C,T.e=b,T.s=g,T=e(T,D,K,U,p),C=T.c,S=T.r,b=T.e),m=b+K+1,H=C[m],y=p/2,S=S||m<0||C[m+1]!=null,S=U<4?(H!=null||S)&&(U==0||U==(T.s<0?3:2)):H>y||H==y&&(U==4||S||U==6&&C[m-1]&1||U==(T.s<0?8:7)),m<1||!C[0])h=S?Ee(d.charAt(1),-K,d.charAt(0)):d.charAt(0);else{if(C.length=m,S)for(--p;++C[--m]>p;)C[m]=0,m||(++b,C=[1].concat(C));for(y=C.length;!C[--y];);for(H=0,h="";H<=y;h+=d.charAt(C[H++]));h=Ee(h,b,d.charAt(0))}return h}})(),e=(function(){function a(v,p,g){var E,d,m,b,y=0,S=v.length,T=p%Ae,C=p/Ae|0;for(v=v.slice();S--;)m=v[S]%Ae,b=v[S]/Ae|0,E=C*m+b*T,d=T*m+E%Ae*Ae+y,y=(d/g|0)+(E/Ae|0)+C*b,v[S]=d%g;return y&&(v=[y].concat(v)),v}function c(v,p,g,E){var d,m;if(g!=E)m=g>E?1:-1;else for(d=m=0;d<g;d++)if(v[d]!=p[d]){m=v[d]>p[d]?1:-1;break}return m}function h(v,p,g,E){for(var d=0;g--;)v[g]-=d,d=v[g]<p[g]?1:0,v[g]=d*E+v[g]-p[g];for(;!v[0]&&v.length>1;v.splice(0,1));}return function(v,p,g,E,d){var m,b,y,S,T,C,D,H,K,U,F,J,Tt,ci,hi,ve,nt,de=v.s==p.s?1:-1,te=v.c,j=p.c;if(!te||!te[0]||!j||!j[0])return new L(!v.s||!p.s||(te?j&&te[0]==j[0]:!j)?NaN:te&&te[0]==0||!j?de*0:de/0);for(H=new L(de),K=H.c=[],b=v.e-p.e,de=g+b+1,d||(d=fe,b=ce(v.e/P)-ce(p.e/P),de=de/P|0),y=0;j[y]==(te[y]||0);y++);if(j[y]>(te[y]||0)&&b--,de<0)K.push(1),S=!0;else{for(ci=te.length,ve=j.length,y=0,de+=2,T=ae(d/(j[0]+1)),T>1&&(j=a(j,T,d),te=a(te,T,d),ve=j.length,ci=te.length),Tt=ve,U=te.slice(0,ve),F=U.length;F<ve;U[F++]=0);nt=j.slice(),nt=[0].concat(nt),hi=j[0],j[1]>=d/2&&hi++;do{if(T=0,m=c(j,U,ve,F),m<0){if(J=U[0],ve!=F&&(J=J*d+(U[1]||0)),T=ae(J/hi),T>1)for(T>=d&&(T=d-1),C=a(j,T,d),D=C.length,F=U.length;c(C,U,D,F)==1;)T--,h(C,ve<D?nt:j,D,d),D=C.length,m=1;else T==0&&(m=T=1),C=j.slice(),D=C.length;if(D<F&&(C=[0].concat(C)),h(U,C,F,d),F=U.length,m==-1)for(;c(j,U,ve,F)<1;)T++,h(U,ve<F?nt:j,F,d),F=U.length}else m===0&&(T++,U=[0]);K[y++]=T,U[0]?U[F++]=te[Tt]||0:(U=[te[Tt]],F=1)}while((Tt++<ci||U[0]!=null)&&de--);S=U[0]!=null,K[0]||K.splice(0,1)}if(d==fe){for(y=1,de=K[0];de>=10;de/=10,y++);ue(H,g+(H.e=y+b*P-1)+1,E,S)}else H.e=b,H.r=+S;return H}})();function Q(a,c,h,v){var p,g,E,d,m;if(h==null?h=l:q(h,0,8),!a.c)return a.toString();if(p=a.c[0],E=a.e,c==null)m=he(a.c),m=v==1||v==2&&(E<=u||E>=f)?St(m,E):Ee(m,E,"0");else if(a=ue(new L(a),c,h),g=a.e,m=he(a.c),d=m.length,v==1||v==2&&(c<=g||g<=u)){for(;d<c;m+="0",d++);m=St(m,g)}else if(c-=E+(v===2&&g>E),m=Ee(m,g,"0"),g+1>d){if(--c>0)for(m+=".";c--;m+="0");}else if(c+=g-d,c>0)for(g+1==d&&(m+=".");c--;m+="0");return a.s<0&&p?"-"+m:m}function ne(a,c){for(var h,v,p=1,g=new L(a[0]);p<a.length;p++)v=new L(a[p]),(!v.s||(h=Ie(g,v))===c||h===0&&g.s===c)&&(g=v);return g}function ye(a,c,h){for(var v=1,p=c.length;!c[--p];c.pop());for(p=c[0];p>=10;p/=10,v++);return(h=v+h*P-1)>w?a.c=a.e=null:h<x?a.c=[a.e=0]:(a.e=h,a.c=c),a}r=(function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,h=/^\.([^.]+)$/,v=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,d,m){var b,y=d?E:E.replace(p,"");if(v.test(y))g.s=isNaN(y)?null:y<0?-1:1;else{if(!d&&(y=y.replace(a,function(S,T,C){return b=(C=C.toLowerCase())=="x"?16:C=="b"?2:8,!m||m==b?T:S}),m&&(b=m,y=y.replace(c,"$1").replace(h,"0.$1")),E!=y))return new L(y,b);if(L.DEBUG)throw Error(se+"Not a"+(m?" base "+m:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function ue(a,c,h,v){var p,g,E,d,m,b,y,S=a.c,T=ii;if(S){e:{for(p=1,d=S[0];d>=10;d/=10,p++);if(g=c-p,g<0)g+=P,E=c,m=S[b=0],y=ae(m/T[p-E-1]%10);else if(b=ei((g+1)/P),b>=S.length)if(v){for(;S.length<=b;S.push(0));m=y=0,p=1,g%=P,E=g-P+1}else break e;else{for(m=d=S[b],p=1;d>=10;d/=10,p++);g%=P,E=g-P+p,y=E<0?0:ae(m/T[p-E-1]%10)}if(v=v||c<0||S[b+1]!=null||(E<0?m:m%T[p-E-1]),v=h<4?(y||v)&&(h==0||h==(a.s<0?3:2)):y>5||y==5&&(h==4||v||h==6&&(g>0?E>0?m/T[p-E]:0:S[b-1])%10&1||h==(a.s<0?8:7)),c<1||!S[0])return S.length=0,v?(c-=a.e+1,S[0]=T[(P-c%P)%P],a.e=-c||0):S[0]=a.e=0,a;if(g==0?(S.length=b,d=1,b--):(S.length=b+1,d=T[P-g],S[b]=E>0?ae(m/T[p-E]%T[E])*d:0),v)for(;;)if(b==0){for(g=1,E=S[0];E>=10;E/=10,g++);for(E=S[0]+=d,d=1;E>=10;E/=10,d++);g!=d&&(a.e++,S[0]==fe&&(S[0]=1));break}else{if(S[b]+=d,S[b]!=fe)break;S[b--]=0,d=1}for(g=S.length;S[--g]===0;S.pop());}a.e>w?a.c=a.e=null:a.e<x&&(a.c=[a.e=0])}return a}function xe(a){var c,h=a.e;return h===null?a.toString():(c=he(a.c),c=h<=u||h>=f?St(c,h):Ee(c,h,"0"),a.s<0?"-"+c:c)}return s.absoluteValue=s.abs=function(){var a=new L(this);return a.s<0&&(a.s=1),a},s.comparedTo=function(a,c){return Ie(this,new L(a,c))},s.decimalPlaces=s.dp=function(a,c){var h,v,p,g=this;if(a!=null)return q(a,0,X),c==null?c=l:q(c,0,8),ue(new L(g),a+g.e+1,c);if(!(h=g.c))return null;if(v=((p=h.length-1)-ce(this.e/P))*P,p=h[p])for(;p%10==0;p/=10,v--);return v<0&&(v=0),v},s.dividedBy=s.div=function(a,c){return e(this,new L(a,c),o,l)},s.dividedToIntegerBy=s.idiv=function(a,c){return e(this,new L(a,c),0,1)},s.exponentiatedBy=s.pow=function(a,c){var h,v,p,g,E,d,m,b,y,S=this;if(a=new L(a),a.c&&!a.isInteger())throw Error(se+"Exponent not an integer: "+xe(a));if(c!=null&&(c=new L(c)),d=a.e>14,!S.c||!S.c[0]||S.c[0]==1&&!S.e&&S.c.length==1||!a.c||!a.c[0])return y=new L(Math.pow(+xe(S),d?a.s*(2-xt(a)):+xe(a))),c?y.mod(c):y;if(m=a.s<0,c){if(c.c?!c.c[0]:!c.s)return new L(NaN);v=!m&&S.isInteger()&&c.isInteger(),v&&(S=S.mod(c))}else{if(a.e>9&&(S.e>0||S.e<-1||(S.e==0?S.c[0]>1||d&&S.c[1]>=24e7:S.c[0]<8e13||d&&S.c[0]<=9999975e7)))return g=S.s<0&&xt(a)?-0:0,S.e>-1&&(g=1/g),new L(m?1/g:g);A&&(g=ei(A/P+2))}for(d?(h=new L(.5),m&&(a.s=1),b=xt(a)):(p=Math.abs(+xe(a)),b=p%2),y=new L(n);;){if(b){if(y=y.times(S),!y.c)break;g?y.c.length>g&&(y.c.length=g):v&&(y=y.mod(c))}if(p){if(p=ae(p/2),p===0)break;b=p%2}else if(a=a.times(h),ue(a,a.e+1,1),a.e>14)b=xt(a);else{if(p=+xe(a),p===0)break;b=p%2}S=S.times(S),g?S.c&&S.c.length>g&&(S.c.length=g):v&&(S=S.mod(c))}return v?y:(m&&(y=n.div(y)),c?y.mod(c):g?ue(y,A,l,E):y)},s.integerValue=function(a){var c=new L(this);return a==null?a=l:q(a,0,8),ue(c,c.e+1,a)},s.isEqualTo=s.eq=function(a,c){return Ie(this,new L(a,c))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(a,c){return Ie(this,new L(a,c))>0},s.isGreaterThanOrEqualTo=s.gte=function(a,c){return(c=Ie(this,new L(a,c)))===1||c===0},s.isInteger=function(){return!!this.c&&ce(this.e/P)>this.c.length-2},s.isLessThan=s.lt=function(a,c){return Ie(this,new L(a,c))<0},s.isLessThanOrEqualTo=s.lte=function(a,c){return(c=Ie(this,new L(a,c)))===-1||c===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(a,c){var h,v,p,g,E=this,d=E.s;if(a=new L(a,c),c=a.s,!d||!c)return new L(NaN);if(d!=c)return a.s=-c,E.plus(a);var m=E.e/P,b=a.e/P,y=E.c,S=a.c;if(!m||!b){if(!y||!S)return y?(a.s=-c,a):new L(S?E:NaN);if(!y[0]||!S[0])return S[0]?(a.s=-c,a):new L(y[0]?E:l==3?-0:0)}if(m=ce(m),b=ce(b),y=y.slice(),d=m-b){for((g=d<0)?(d=-d,p=y):(b=m,p=S),p.reverse(),c=d;c--;p.push(0));p.reverse()}else for(v=(g=(d=y.length)<(c=S.length))?d:c,d=c=0;c<v;c++)if(y[c]!=S[c]){g=y[c]<S[c];break}if(g&&(p=y,y=S,S=p,a.s=-a.s),c=(v=S.length)-(h=y.length),c>0)for(;c--;y[h++]=0);for(c=fe-1;v>d;){if(y[--v]<S[v]){for(h=v;h&&!y[--h];y[h]=c);--y[h],y[v]+=fe}y[v]-=S[v]}for(;y[0]==0;y.splice(0,1),--b);return y[0]?ye(a,y,b):(a.s=l==3?-1:1,a.c=[a.e=0],a)},s.modulo=s.mod=function(a,c){var h,v,p=this;return a=new L(a,c),!p.c||!a.s||a.c&&!a.c[0]?new L(NaN):!a.c||p.c&&!p.c[0]?new L(p):(M==9?(v=a.s,a.s=1,h=e(p,a,0,3),a.s=v,h.s*=v):h=e(p,a,0,M),a=p.minus(h.times(a)),!a.c[0]&&M==1&&(a.s=p.s),a)},s.multipliedBy=s.times=function(a,c){var h,v,p,g,E,d,m,b,y,S,T,C,D,H,K,U=this,F=U.c,J=(a=new L(a,c)).c;if(!F||!J||!F[0]||!J[0])return!U.s||!a.s||F&&!F[0]&&!J||J&&!J[0]&&!F?a.c=a.e=a.s=null:(a.s*=U.s,!F||!J?a.c=a.e=null:(a.c=[0],a.e=0)),a;for(v=ce(U.e/P)+ce(a.e/P),a.s*=U.s,m=F.length,S=J.length,m<S&&(D=F,F=J,J=D,p=m,m=S,S=p),p=m+S,D=[];p--;D.push(0));for(H=fe,K=Ae,p=S;--p>=0;){for(h=0,T=J[p]%K,C=J[p]/K|0,E=m,g=p+E;g>p;)b=F[--E]%K,y=F[E]/K|0,d=C*b+y*T,b=T*b+d%K*K+D[g]+h,h=(b/H|0)+(d/K|0)+C*y,D[g--]=b%H;D[g]=h}return h?++v:D.splice(0,1),ye(a,D,v)},s.negated=function(){var a=new L(this);return a.s=-a.s||null,a},s.plus=function(a,c){var h,v=this,p=v.s;if(a=new L(a,c),c=a.s,!p||!c)return new L(NaN);if(p!=c)return a.s=-c,v.minus(a);var g=v.e/P,E=a.e/P,d=v.c,m=a.c;if(!g||!E){if(!d||!m)return new L(p/0);if(!d[0]||!m[0])return m[0]?a:new L(d[0]?v:p*0)}if(g=ce(g),E=ce(E),d=d.slice(),p=g-E){for(p>0?(E=g,h=m):(p=-p,h=d),h.reverse();p--;h.push(0));h.reverse()}for(p=d.length,c=m.length,p-c<0&&(h=m,m=d,d=h,c=p),p=0;c;)p=(d[--c]=d[c]+m[c]+p)/fe|0,d[c]=fe===d[c]?0:d[c]%fe;return p&&(d=[p].concat(d),++E),ye(a,d,E)},s.precision=s.sd=function(a,c){var h,v,p,g=this;if(a!=null&&a!==!!a)return q(a,1,X),c==null?c=l:q(c,0,8),ue(new L(g),a,c);if(!(h=g.c))return null;if(p=h.length-1,v=p*P+1,p=h[p]){for(;p%10==0;p/=10,v--);for(p=h[0];p>=10;p/=10,v++);}return a&&g.e+1>v&&(v=g.e+1),v},s.shiftedBy=function(a){return q(a,-ti,ti),this.times("1e"+a)},s.squareRoot=s.sqrt=function(){var a,c,h,v,p,g=this,E=g.c,d=g.s,m=g.e,b=o+4,y=new L("0.5");if(d!==1||!E||!E[0])return new L(!d||d<0&&(!E||E[0])?NaN:E?g:1/0);if(d=Math.sqrt(+xe(g)),d==0||d==1/0?(c=he(E),(c.length+m)%2==0&&(c+="0"),d=Math.sqrt(+c),m=ce((m+1)/2)-(m<0||m%2),d==1/0?c="5e"+m:(c=d.toExponential(),c=c.slice(0,c.indexOf("e")+1)+m),h=new L(c)):h=new L(d+""),h.c[0]){for(m=h.e,d=m+b,d<3&&(d=0);;)if(p=h,h=y.times(p.plus(e(g,p,b,1))),he(p.c).slice(0,d)===(c=he(h.c)).slice(0,d))if(h.e<m&&--d,c=c.slice(d-3,d+1),c=="9999"||!v&&c=="4999"){if(!v&&(ue(p,p.e+o+2,0),p.times(p).eq(g))){h=p;break}b+=4,d+=4,v=1}else{(!+c||!+c.slice(1)&&c.charAt(0)=="5")&&(ue(h,h.e+o+2,1),a=!h.times(h).eq(g));break}}return ue(h,h.e+o+1,l,a)},s.toExponential=function(a,c){return a!=null&&(q(a,0,X),a++),Q(this,a,c,1)},s.toFixed=function(a,c){return a!=null&&(q(a,0,X),a=a+this.e+1),Q(this,a,c)},s.toFormat=function(a,c,h){var v,p=this;if(h==null)a!=null&&c&&typeof c=="object"?(h=c,c=null):a&&typeof a=="object"?(h=a,a=c=null):h=G;else if(typeof h!="object")throw Error(se+"Argument not an object: "+h);if(v=p.toFixed(a,c),p.c){var g,E=v.split("."),d=+h.groupSize,m=+h.secondaryGroupSize,b=h.groupSeparator||"",y=E[0],S=E[1],T=p.s<0,C=T?y.slice(1):y,D=C.length;if(m&&(g=d,d=m,m=g,D-=g),d>0&&D>0){for(g=D%d||d,y=C.substr(0,g);g<D;g+=d)y+=b+C.substr(g,d);m>0&&(y+=b+C.slice(g)),T&&(y="-"+y)}v=S?y+(h.decimalSeparator||"")+((m=+h.fractionGroupSize)?S.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(h.fractionGroupSeparator||"")):S):y}return(h.prefix||"")+v+(h.suffix||"")},s.toFraction=function(a){var c,h,v,p,g,E,d,m,b,y,S,T,C=this,D=C.c;if(a!=null&&(d=new L(a),!d.isInteger()&&(d.c||d.s!==1)||d.lt(n)))throw Error(se+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+xe(d));if(!D)return new L(C);for(c=new L(n),b=h=new L(n),v=m=new L(n),T=he(D),g=c.e=T.length-C.e-1,c.c[0]=ii[(E=g%P)<0?P+E:E],a=!a||d.comparedTo(c)>0?g>0?c:b:d,E=w,w=1/0,d=new L(T),m.c[0]=0;y=e(d,c,0,1),p=h.plus(y.times(v)),p.comparedTo(a)!=1;)h=v,v=p,b=m.plus(y.times(p=b)),m=p,c=d.minus(y.times(p=c)),d=p;return p=e(a.minus(h),v,0,1),m=m.plus(p.times(b)),h=h.plus(p.times(v)),m.s=b.s=C.s,g=g*2,S=e(b,v,g,l).minus(C).abs().comparedTo(e(m,h,g,l).minus(C).abs())<1?[b,v]:[m,h],w=E,S},s.toNumber=function(){return+xe(this)},s.toPrecision=function(a,c){return a!=null&&q(a,1,X),Q(this,a,c,2)},s.toString=function(a){var c,h=this,v=h.s,p=h.e;return p===null?v?(c="Infinity",v<0&&(c="-"+c)):c="NaN":(a==null?c=p<=u||p>=f?St(he(h.c),p):Ee(he(h.c),p,"0"):a===10&&W?(h=ue(new L(h),o+p+1,l),c=Ee(he(h.c),h.e,"0")):(q(a,2,N.length,"Base"),c=t(Ee(he(h.c),p,"0"),10,a,v,!0)),v<0&&h.c[0]&&(c="-"+c)),c},s.valueOf=s.toJSON=function(){return xe(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,i!=null&&L.set(i),L}function ce(i){var e=i|0;return i>0||i===e?e:e-1}function he(i){for(var e,t,r=1,s=i.length,n=i[0]+"";r<s;){for(e=i[r++]+"",t=P-e.length;t--;e="0"+e);n+=e}for(s=n.length;n.charCodeAt(--s)===48;);return n.slice(0,s+1||1)}function Ie(i,e){var t,r,s=i.c,n=e.c,o=i.s,l=e.s,u=i.e,f=e.e;if(!o||!l)return null;if(t=s&&!s[0],r=n&&!n[0],t||r)return t?r?0:-l:o;if(o!=l)return o;if(t=o<0,r=u==f,!s||!n)return r?0:!s^t?1:-1;if(!r)return u>f^t?1:-1;for(l=(u=s.length)<(f=n.length)?u:f,o=0;o<l;o++)if(s[o]!=n[o])return s[o]>n[o]^t?1:-1;return u==f?0:u>f^t?1:-1}function q(i,e,t,r){if(i<e||i>t||i!==ae(i))throw Error(se+(r||"Argument")+(typeof i=="number"?i<e||i>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(i))}function xt(i){var e=i.c.length-1;return ce(i.e/P)==e&&i.c[e]%2!=0}function St(i,e){return(i.length>1?i.charAt(0)+"."+i.slice(1):i)+(e<0?"e":"e+")+e}function Ee(i,e,t){var r,s;if(e<0){for(s=t+".";++e;s+=t);i=s+i}else if(r=i.length,++e>r){for(s=t,e-=r;--e;s+=t);i+=s}else e<r&&(i=i.slice(0,e)+"."+i.slice(e));return i}var me=ir(),Is=class{key;left=null;right=null;constructor(i){this.key=i}},tt=class extends Is{constructor(i){super(i)}},Rs=class{size=0;modificationCount=0;splayCount=0;splay(i){const e=this.root;if(e==null)return this.compare(i,i),-1;let t=null,r=null,s=null,n=null,o=e;const l=this.compare;let u;for(;;)if(u=l(o.key,i),u>0){let f=o.left;if(f==null||(u=l(f.key,i),u>0&&(o.left=f.right,f.right=o,o=f,f=o.left,f==null)))break;t==null?r=o:t.left=o,t=o,o=f}else if(u<0){let f=o.right;if(f==null||(u=l(f.key,i),u<0&&(o.right=f.left,f.left=o,o=f,f=o.right,f==null)))break;s==null?n=o:s.right=o,s=o,o=f}else break;return s!=null&&(s.right=o.left,o.left=n),t!=null&&(t.left=o.right,o.right=r),this.root!==o&&(this.root=o,this.splayCount++),u}splayMin(i){let e=i,t=e.left;for(;t!=null;){const r=t;e.left=r.right,r.right=e,e=r,t=e.left}return e}splayMax(i){let e=i,t=e.right;for(;t!=null;){const r=t;e.right=r.left,r.left=e,e=r,t=e.right}return e}_delete(i){if(this.root==null||this.splay(i)!=0)return null;let t=this.root;const r=t,s=t.left;if(this.size--,s==null)this.root=t.right;else{const n=t.right;t=this.splayMax(s),t.right=n,this.root=t}return this.modificationCount++,r}addNewRoot(i,e){this.size++,this.modificationCount++;const t=this.root;if(t==null){this.root=i;return}e<0?(i.left=t,i.right=t.right,t.right=null):(i.right=t,i.left=t.left,t.left=null),this.root=i}_first(){const i=this.root;return i==null?null:(this.root=this.splayMin(i),this.root)}_last(){const i=this.root;return i==null?null:(this.root=this.splayMax(i),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(i){return this.validKey(i)&&this.splay(i)==0}defaultCompare(){return(i,e)=>i<e?-1:i>e?1:0}wrap(){return{getRoot:()=>this.root,setRoot:i=>{this.root=i},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:i=>{this.splayCount=i},splay:i=>this.splay(i),has:i=>this.has(i)}}},Lt=class ot extends Rs{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(r=>r!=null&&r!=null)}delete(e){return this.validKey(e)?this._delete(e)!=null:!1}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let r;for(;r=t.next(),!r.done;)e(r.value,r.value,this)}add(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this}addAndReturn(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)<0)return this.root.key;let r=this.root.left;if(r==null)return null;let s=r.right;for(;s!=null;)r=s,s=r.right;return r.key}firstAfter(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)>0)return this.root.key;let r=this.root.right;if(r==null)return null;let s=r.left;for(;s!=null;)r=s,s=r.left;return r.key}retainAll(e){const t=new ot(this.compare,this.validKey),r=this.modificationCount;for(const s of e){if(r!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(s)&&this.splay(s)==0&&t.add(this.root.key)}t.size!=this.size&&(this.root=t.root,this.size=t.size,this.modificationCount++)}lookup(e){return!this.validKey(e)||this.splay(e)!=0?null:this.root.key}intersection(e){const t=new ot(this.compare,this.validKey);for(const r of this)e.has(r)&&t.add(r);return t}difference(e){const t=new ot(this.compare,this.validKey);for(const r of this)e.has(r)||t.add(r);return t}union(e){const t=this.clone();return t.addAll(e),t}clone(){const e=new ot(this.compare,this.validKey);return e.size=this.size,e.root=this.copyNode(this.root),e}copyNode(e){if(e==null)return null;function t(s,n){let o,l;do{if(o=s.left,l=s.right,o!=null){const u=new tt(o.key);n.left=u,t(o,u)}if(l!=null){const u=new tt(l.key);n.right=u,s=l,n=u}}while(l!=null)}const r=new tt(e.key);return t(e,r),r}toSet(){return this.clone()}entries(){return new Gs(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[Symbol.iterator](){return new Ps(this.wrap())}[Symbol.toStringTag]="[object Set]"},rr=class{tree;path=new Array;modificationCount=null;splayCount;constructor(i){this.tree=i,this.splayCount=i.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const i=this.path[this.path.length-1];return this.getValue(i)}rebuildPath(i){this.path.splice(0,this.path.length),this.tree.splay(i),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(i){for(;i!=null;)this.path.push(i),i=i.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let t=this.tree.getRoot();for(;t!=null;)this.path.push(t),t=t.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let i=this.path[this.path.length-1],e=i.right;if(e!=null){for(;e!=null;)this.path.push(e),e=e.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===i;)i=this.path.pop();return this.path.length>0}},Ps=class extends rr{getValue(i){return i.key}},Gs=class extends rr{getValue(i){return[i.key,i.key]}},sr=i=>()=>i,ri=i=>{const e=i?(t,r)=>r.minus(t).abs().isLessThanOrEqualTo(i):sr(!1);return(t,r)=>e(t,r)?0:t.comparedTo(r)};function Us(i){const e=i?(t,r,s,n,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(n.minus(r).exponentiatedBy(2).plus(o.minus(s).exponentiatedBy(2)).times(i)):sr(!1);return(t,r,s)=>{const n=t.x,o=t.y,l=s.x,u=s.y,f=o.minus(u).times(r.x.minus(l)).minus(n.minus(l).times(r.y.minus(u)));return e(f,n,o,l,u)?0:f.comparedTo(0)}}var Bs=i=>i,Ds=i=>{if(i){const e=new Lt(ri(i)),t=new Lt(ri(i)),r=(n,o)=>o.addAndReturn(n),s=n=>({x:r(n.x,e),y:r(n.y,t)});return s({x:new me(0),y:new me(0)}),s}return Bs},si=i=>({set:e=>{we=si(e)},reset:()=>si(i),compare:ri(i),snap:Ds(i),orient:Us(i)}),we=si(),it=(i,e)=>i.ll.x.isLessThanOrEqualTo(e.x)&&e.x.isLessThanOrEqualTo(i.ur.x)&&i.ll.y.isLessThanOrEqualTo(e.y)&&e.y.isLessThanOrEqualTo(i.ur.y),ni=(i,e)=>{if(e.ur.x.isLessThan(i.ll.x)||i.ur.x.isLessThan(e.ll.x)||e.ur.y.isLessThan(i.ll.y)||i.ur.y.isLessThan(e.ll.y))return null;const t=i.ll.x.isLessThan(e.ll.x)?e.ll.x:i.ll.x,r=i.ur.x.isLessThan(e.ur.x)?i.ur.x:e.ur.x,s=i.ll.y.isLessThan(e.ll.y)?e.ll.y:i.ll.y,n=i.ur.y.isLessThan(e.ur.y)?i.ur.y:e.ur.y;return{ll:{x:t,y:s},ur:{x:r,y:n}}},_t=(i,e)=>i.x.times(e.y).minus(i.y.times(e.x)),nr=(i,e)=>i.x.times(e.x).plus(i.y.times(e.y)),$t=i=>nr(i,i).sqrt(),Fs=(i,e,t)=>{const r={x:e.x.minus(i.x),y:e.y.minus(i.y)},s={x:t.x.minus(i.x),y:t.y.minus(i.y)};return _t(s,r).div($t(s)).div($t(r))},Ws=(i,e,t)=>{const r={x:e.x.minus(i.x),y:e.y.minus(i.y)},s={x:t.x.minus(i.x),y:t.y.minus(i.y)};return nr(s,r).div($t(s)).div($t(r))},or=(i,e,t)=>e.y.isZero()?null:{x:i.x.plus(e.x.div(e.y).times(t.minus(i.y))),y:t},lr=(i,e,t)=>e.x.isZero()?null:{x:t,y:i.y.plus(e.y.div(e.x).times(t.minus(i.x)))},zs=(i,e,t,r)=>{if(e.x.isZero())return lr(t,r,i.x);if(r.x.isZero())return lr(i,e,t.x);if(e.y.isZero())return or(t,r,i.y);if(r.y.isZero())return or(i,e,t.y);const s=_t(e,r);if(s.isZero())return null;const n={x:t.x.minus(i.x),y:t.y.minus(i.y)},o=_t(n,e).div(s),l=_t(n,r).div(s),u=i.x.plus(l.times(e.x)),f=t.x.plus(o.times(r.x)),x=i.y.plus(l.times(e.y)),w=t.y.plus(o.times(r.y)),_=u.plus(f).div(2),M=x.plus(w).div(2);return{x:_,y:M}},ge=class vr{point;isLeft;segment;otherSE;consumedBy;static compare(e,t){const r=vr.comparePoints(e.point,t.point);return r!==0?r:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:At.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let r=0,s=t.length;r<s;r++){const n=t[r];this.point.events.push(n),n.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const r=this.point.events[t];if(r.segment.consumedBy===void 0)for(let s=t+1;s<e;s++){const n=this.point.events[s];n.consumedBy===void 0&&r.otherSE.point.events===n.otherSE.point.events&&r.segment.consume(n.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,r=this.point.events.length;t<r;t++){const s=this.point.events[t];s!==this&&!s.segment.ringOut&&s.segment.isInResult()&&e.push(s)}return e}getLeftmostComparator(e){const t=new Map,r=s=>{const n=s.otherSE;t.set(s,{sine:Fs(this.point,e.point,n.point),cosine:Ws(this.point,e.point,n.point)})};return(s,n)=>{t.has(s)||r(s),t.has(n)||r(n);const{sine:o,cosine:l}=t.get(s),{sine:u,cosine:f}=t.get(n);return o.isGreaterThanOrEqualTo(0)&&u.isGreaterThanOrEqualTo(0)?l.isLessThan(f)?1:l.isGreaterThan(f)?-1:0:o.isLessThan(0)&&u.isLessThan(0)?l.isLessThan(f)?-1:l.isGreaterThan(f)?1:0:u.isLessThan(o)?-1:u.isGreaterThan(o)?1:0}}},qs=class ui{events;poly;_isExteriorRing;_enclosingRing;static factory(e){const t=[];for(let r=0,s=e.length;r<s;r++){const n=e[r];if(!n.isInResult()||n.ringOut)continue;let o=null,l=n.leftSE,u=n.rightSE;const f=[l],x=l.point,w=[];for(;o=l,l=u,f.push(l),l.point!==x;)for(;;){const _=l.getAvailableLinkedEvents();if(_.length===0){const G=f[0].point,N=f[f.length-1].point;throw new Error(`Unable to complete output ring starting at [${G.x}, ${G.y}]. Last matching segment found ends at [${N.x}, ${N.y}].`)}if(_.length===1){u=_[0].otherSE;break}let M=null;for(let G=0,N=w.length;G<N;G++)if(w[G].point===l.point){M=G;break}if(M!==null){const G=w.splice(M)[0],N=f.splice(G.index);N.unshift(N[0].otherSE),t.push(new ui(N.reverse()));continue}w.push({index:f.length,point:l.point});const A=l.getLeftmostComparator(o);u=_.sort(A)[0].otherSE;break}t.push(new ui(f))}return t}constructor(e){this.events=e;for(let t=0,r=e.length;t<r;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let f=1,x=this.events.length-1;f<x;f++){const w=this.events[f].point,_=this.events[f+1].point;we.orient(w,e,_)!==0&&(t.push(w),e=w)}if(t.length===1)return null;const r=t[0],s=t[1];we.orient(r,e,s)===0&&t.shift(),t.push(t[0]);const n=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,l=this.isExteriorRing()?t.length:-1,u=[];for(let f=o;f!=l;f+=n)u.push([t[f].x.toNumber(),t[f].y.toNumber()]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let s=1,n=this.events.length;s<n;s++){const o=this.events[s];ge.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),r=t?t.prevInResult():null;for(;;){if(!t)return null;if(!r)return t.ringOut;if(r.ringOut!==t.ringOut)return r.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=r.prevInResult(),r=t?t.prevInResult():null}}},ar=class{exteriorRing;interiorRings;constructor(i){this.exteriorRing=i,i.poly=this,this.interiorRings=[]}addInterior(i){this.interiorRings.push(i),i.poly=this}getGeom(){const i=this.exteriorRing.getGeom();if(i===null)return null;const e=[i];for(let t=0,r=this.interiorRings.length;t<r;t++){const s=this.interiorRings[t].getGeom();s!==null&&e.push(s)}return e}},Hs=class{rings;polys;constructor(i){this.rings=i,this.polys=this._composePolys(i)}getGeom(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const r=this.polys[e].getGeom();r!==null&&i.push(r)}return i}_composePolys(i){const e=[];for(let t=0,r=i.length;t<r;t++){const s=i[t];if(!s.poly)if(s.isExteriorRing())e.push(new ar(s));else{const n=s.enclosingRing();n?.poly||e.push(new ar(n)),n?.poly?.addInterior(s)}}return e}},js=class{queue;tree;segments;constructor(i,e=At.compare){this.queue=i,this.tree=new Lt(e),this.segments=[]}process(i){const e=i.segment,t=[];if(i.consumedBy)return i.isLeft?this.queue.delete(i.otherSE):this.tree.delete(e),t;i.isLeft&&this.tree.add(e);let r=e,s=e;do r=this.tree.lastBefore(r);while(r!=null&&r.consumedBy!=null);do s=this.tree.firstAfter(s);while(s!=null&&s.consumedBy!=null);if(i.isLeft){let n=null;if(r){const l=r.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(n=l),!r.isAnEndpoint(l))){const u=this._splitSafely(r,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}let o=null;if(s){const l=s.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(o=l),!s.isAnEndpoint(l))){const u=this._splitSafely(s,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}if(n!==null||o!==null){let l=null;n===null?l=o:o===null?l=n:l=ge.comparePoints(n,o)<=0?n:o,this.queue.delete(e.rightSE),t.push(e.rightSE);const u=e.split(l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}t.length>0?(this.tree.delete(e),t.push(i)):(this.segments.push(e),e.prev=r)}else{if(r&&s){const n=r.getIntersection(s);if(n!==null){if(!r.isAnEndpoint(n)){const o=this._splitSafely(r,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}if(!s.isAnEndpoint(n)){const o=this._splitSafely(s,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}}}this.tree.delete(e)}return t}_splitSafely(i,e){this.tree.delete(i);const t=i.rightSE;this.queue.delete(t);const r=i.split(e);return r.push(t),i.consumedBy===void 0&&this.tree.add(i),r}},Vs=class{type;numMultiPolys;run(i,e,t){rt.type=i;const r=[new hr(e,!0)];for(let f=0,x=t.length;f<x;f++)r.push(new hr(t[f],!1));if(rt.numMultiPolys=r.length,rt.type==="difference"){const f=r[0];let x=1;for(;x<r.length;)ni(r[x].bbox,f.bbox)!==null?x++:r.splice(x,1)}if(rt.type==="intersection")for(let f=0,x=r.length;f<x;f++){const w=r[f];for(let _=f+1,M=r.length;_<M;_++)if(ni(w.bbox,r[_].bbox)===null)return[]}const s=new Lt(ge.compare);for(let f=0,x=r.length;f<x;f++){const w=r[f].getSweepEvents();for(let _=0,M=w.length;_<M;_++)s.add(w[_])}const n=new js(s);let o=null;for(s.size!=0&&(o=s.first(),s.delete(o));o;){const f=n.process(o);for(let x=0,w=f.length;x<w;x++){const _=f[x];_.consumedBy===void 0&&s.add(_)}s.size!=0?(o=s.first(),s.delete(o)):o=null}we.reset();const l=qs.factory(n.segments);return new Hs(l).getGeom()}},rt=new Vs,Mt=rt,Zs=0,At=class Ct{id;leftSE;rightSE;rings;windings;ringOut;consumedBy;prev;_prevInResult;_beforeState;_afterState;_isInResult;static compare(e,t){const r=e.leftSE.point.x,s=t.leftSE.point.x,n=e.rightSE.point.x,o=t.rightSE.point.x;if(o.isLessThan(r))return 1;if(n.isLessThan(s))return-1;const l=e.leftSE.point.y,u=t.leftSE.point.y,f=e.rightSE.point.y,x=t.rightSE.point.y;if(r.isLessThan(s)){if(u.isLessThan(l)&&u.isLessThan(f))return 1;if(u.isGreaterThan(l)&&u.isGreaterThan(f))return-1;const w=e.comparePoint(t.leftSE.point);if(w<0)return 1;if(w>0)return-1;const _=t.comparePoint(e.rightSE.point);return _!==0?_:-1}if(r.isGreaterThan(s)){if(l.isLessThan(u)&&l.isLessThan(x))return-1;if(l.isGreaterThan(u)&&l.isGreaterThan(x))return 1;const w=t.comparePoint(e.leftSE.point);if(w!==0)return w;const _=e.comparePoint(t.rightSE.point);return _<0?1:_>0?-1:1}if(l.isLessThan(u))return-1;if(l.isGreaterThan(u))return 1;if(n.isLessThan(o)){const w=t.comparePoint(e.rightSE.point);if(w!==0)return w}if(n.isGreaterThan(o)){const w=e.comparePoint(t.rightSE.point);if(w<0)return 1;if(w>0)return-1}if(!n.eq(o)){const w=f.minus(l),_=n.minus(r),M=x.minus(u),A=o.minus(s);if(w.isGreaterThan(_)&&M.isLessThan(A))return 1;if(w.isLessThan(_)&&M.isGreaterThan(A))return-1}return n.isGreaterThan(o)?1:n.isLessThan(o)||f.isLessThan(x)?-1:f.isGreaterThan(x)?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,r,s){this.id=++Zs,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=r,this.windings=s}static fromRing(e,t,r){let s,n,o;const l=ge.comparePoints(e,t);if(l<0)s=e,n=t,o=1;else if(l>0)s=t,n=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new ge(s,!0),f=new ge(n,!1);return new Ct(u,f,[r],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return we.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),r=e.bbox(),s=ni(t,r);if(s===null)return null;const n=this.leftSE.point,o=this.rightSE.point,l=e.leftSE.point,u=e.rightSE.point,f=it(t,l)&&this.comparePoint(l)===0,x=it(r,n)&&e.comparePoint(n)===0,w=it(t,u)&&this.comparePoint(u)===0,_=it(r,o)&&e.comparePoint(o)===0;if(x&&f)return _&&!w?o:!_&&w?u:null;if(x)return w&&n.x.eq(u.x)&&n.y.eq(u.y)?null:n;if(f)return _&&o.x.eq(l.x)&&o.y.eq(l.y)?null:l;if(_&&w)return null;if(_)return o;if(w)return u;const M=zs(n,this.vector(),l,e.vector());return M===null||!it(s,M)?null:we.snap(M)}split(e){const t=[],r=e.events!==void 0,s=new ge(e,!0),n=new ge(e,!1),o=this.rightSE;this.replaceRightSE(n),t.push(n),t.push(s);const l=new Ct(s,o,this.rings.slice(),this.windings.slice());return ge.comparePoints(l.leftSE.point,l.rightSE.point)>0&&l.swapEvents(),ge.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(s.checkForConsuming(),n.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,r=this.windings.length;t<r;t++)this.windings[t]*=-1}consume(e){let t=this,r=e;for(;t.consumedBy;)t=t.consumedBy;for(;r.consumedBy;)r=r.consumedBy;const s=Ct.compare(t,r);if(s!==0){if(s>0){const n=t;t=r,r=n}if(t.prev===r){const n=t;t=r,r=n}for(let n=0,o=r.rings.length;n<o;n++){const l=r.rings[n],u=r.windings[n],f=t.rings.indexOf(l);f===-1?(t.rings.push(l),t.windings.push(u)):t.windings[f]+=u}r.rings=null,r.windings=null,r.consumedBy=t,r.leftSE.consumedBy=t.leftSE,r.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,r=this._afterState.windings,s=this._afterState.multiPolys;for(let l=0,u=this.rings.length;l<u;l++){const f=this.rings[l],x=this.windings[l],w=t.indexOf(f);w===-1?(t.push(f),r.push(x)):r[w]+=x}const n=[],o=[];for(let l=0,u=t.length;l<u;l++){if(r[l]===0)continue;const f=t[l],x=f.poly;if(o.indexOf(x)===-1)if(f.isExterior)n.push(x);else{o.indexOf(x)===-1&&o.push(x);const w=n.indexOf(f.poly);w!==-1&&n.splice(w,1)}}for(let l=0,u=n.length;l<u;l++){const f=n[l].multiPoly;s.indexOf(f)===-1&&s.push(f)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch(Mt.type){case"union":{const r=e.length===0,s=t.length===0;this._isInResult=r!==s;break}case"intersection":{let r,s;e.length<t.length?(r=e.length,s=t.length):(r=t.length,s=e.length),this._isInResult=s===Mt.numMultiPolys&&r<s;break}case"xor":{const r=Math.abs(e.length-t.length);this._isInResult=r%2===1;break}case"difference":{const r=s=>s.length===1&&s[0].isSubject;this._isInResult=r(e)!==r(t);break}}return this._isInResult}},cr=class{poly;isExterior;segments;bbox;constructor(i,e,t){if(!Array.isArray(i)||i.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=t,this.segments=[],typeof i[0][0]!="number"||typeof i[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const r=we.snap({x:new me(i[0][0]),y:new me(i[0][1])});this.bbox={ll:{x:r.x,y:r.y},ur:{x:r.x,y:r.y}};let s=r;for(let n=1,o=i.length;n<o;n++){if(typeof i[n][0]!="number"||typeof i[n][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const l=we.snap({x:new me(i[n][0]),y:new me(i[n][1])});l.x.eq(s.x)&&l.y.eq(s.y)||(this.segments.push(At.fromRing(s,l,this)),l.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=l.x),l.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=l.y),l.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=l.x),l.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=l.y),s=l)}(!r.x.eq(s.x)||!r.y.eq(s.y))&&this.segments.push(At.fromRing(s,r,this))}getSweepEvents(){const i=[];for(let e=0,t=this.segments.length;e<t;e++){const r=this.segments[e];i.push(r.leftSE),i.push(r.rightSE)}return i}},Ks=class{multiPoly;exteriorRing;interiorRings;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new cr(i[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let t=1,r=i.length;t<r;t++){const s=new cr(i[t],this,!1);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=e}getSweepEvents(){const i=this.exteriorRing.getSweepEvents();for(let e=0,t=this.interiorRings.length;e<t;e++){const r=this.interiorRings[e].getSweepEvents();for(let s=0,n=r.length;s<n;s++)i.push(r[s])}return i}},hr=class{isSubject;polys;bbox;constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof i[0][0][0]=="number"&&(i=[i])}catch{}this.polys=[],this.bbox={ll:{x:new me(Number.POSITIVE_INFINITY),y:new me(Number.POSITIVE_INFINITY)},ur:{x:new me(Number.NEGATIVE_INFINITY),y:new me(Number.NEGATIVE_INFINITY)}};for(let t=0,r=i.length;t<r;t++){const s=new Ks(i[t],this);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=e}getSweepEvents(){const i=[];for(let e=0,t=this.polys.length;e<t;e++){const r=this.polys[e].getSweepEvents();for(let s=0,n=r.length;s<n;s++)i.push(r[s])}return i}},Ys=(i,...e)=>Mt.run("union",i,e),Xs=(i,...e)=>Mt.run("difference",i,e);we.set;function ur(i,e,t){if(i!==null)for(var r,s,n,o,l,u,f,x=0,w=0,_,M=i.type,A=M==="FeatureCollection",G=M==="Feature",N=A?i.features.length:1,W=0;W<N;W++){f=A?i.features[W].geometry:G?i.geometry:i,_=f?f.type==="GeometryCollection":!1,l=_?f.geometries.length:1;for(var L=0;L<l;L++){var Q=0,ne=0;if(o=_?f.geometries[L]:f,o!==null){u=o.coordinates;var ye=o.type;switch(x=0,ye){case null:break;case"Point":if(e(u,w,W,Q,ne)===!1)return!1;w++,Q++;break;case"LineString":case"MultiPoint":for(r=0;r<u.length;r++){if(e(u[r],w,W,Q,ne)===!1)return!1;w++,ye==="MultiPoint"&&Q++}ye==="LineString"&&Q++;break;case"Polygon":case"MultiLineString":for(r=0;r<u.length;r++){for(s=0;s<u[r].length-x;s++){if(e(u[r][s],w,W,Q,ne)===!1)return!1;w++}ye==="MultiLineString"&&Q++,ye==="Polygon"&&ne++}ye==="Polygon"&&Q++;break;case"MultiPolygon":for(r=0;r<u.length;r++){for(ne=0,s=0;s<u[r].length;s++){for(n=0;n<u[r][s].length-x;n++){if(e(u[r][s][n],w,W,Q,ne)===!1)return!1;w++}ne++}Q++}break;case"GeometryCollection":for(r=0;r<o.geometries.length;r++)if(ur(o.geometries[r],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function oi(i,e){var t,r,s,n,o,l,u,f,x,w,_=0,M=i.type==="FeatureCollection",A=i.type==="Feature",G=M?i.features.length:1;for(t=0;t<G;t++){for(l=M?i.features[t].geometry:A?i.geometry:i,f=M?i.features[t].properties:A?i.properties:{},x=M?i.features[t].bbox:A?i.bbox:void 0,w=M?i.features[t].id:A?i.id:void 0,u=l?l.type==="GeometryCollection":!1,o=u?l.geometries.length:1,s=0;s<o;s++){if(n=u?l.geometries[s]:l,n===null){if(e(null,_,f,x,w)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,_,f,x,w)===!1)return!1;break}case"GeometryCollection":{for(r=0;r<n.geometries.length;r++)if(e(n.geometries[r],_,f,x,w)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}_++}}function Qs(i,e){oi(i,function(t,r,s,n,o){var l=t===null?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return e(Je(t,s,{bbox:n,id:o}),r,0)===!1?!1:void 0}var u;switch(l){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var f=0;f<t.coordinates.length;f++){var x=t.coordinates[f],w={type:u,coordinates:x};if(e(Je(w,s),r,f)===!1)return!1}})}function Js(i,e={}){const t=[];if(oi(i,s=>{t.push(s.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const r=Ys(t[0],...t.slice(1));return r.length===0?null:r.length===1?Jt(r[0],e.properties):er(r,e.properties)}var dr=Js;function en(i,e={}){if(i.bbox!=null&&e.recompute!==!0)return i.bbox;const t=[1/0,1/0,-1/0,-1/0];return ur(i,r=>{t[0]>r[0]&&(t[0]=r[0]),t[1]>r[1]&&(t[1]=r[1]),t[2]<r[0]&&(t[2]=r[0]),t[3]<r[1]&&(t[3]=r[1])}),t}var fr=en;function tn(i){const e=[];if(oi(i,s=>{e.push(s.coordinates)}),e.length<2)throw new Error("Must have at least two features");const t=i.features[0].properties||{},r=Xs(e[0],...e.slice(1));return r.length===0?null:r.length===1?Jt(r[0],t):er(r,t)}var rn=tn;function sn(i){if(!i)throw new Error("geojson is required");var e=[];return Qs(i,function(t){e.push(t)}),et(e)}var nn=sn;function pr(i){const e=rn(et([Jt([[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]]),i]));if(!e)return;e.properties={isMask:!0};const t=pt(fr(i)),r=(t[2]-t[0])/360/1e3,s=t[0]<-180,n=t[2]>180,o=nn(i);if(o.features.length>1&&(s||n))for(const l of o.features){const u=pt(fr(l));if(n&&u[0]<-180+r)for(const f of l.geometry.coordinates)for(const x of f)x[0]+=360-r;if(s&&u[2]>180-r)for(const f of l.geometry.coordinates)for(const x of f)x[0]-=360-r}return et([o.features.length<2?i:dr(o)??i,e])}const mr={continental_marine:4,country:4,major_landform:8,region:5,subregion:6,county:7,joint_municipality:8,joint_submunicipality:9,municipality:10,municipal_district:11,locality:12,neighbourhood:13,place:14,postal_code:14,road:16,poi:17,address:18,"poi.peak":15,"poi.shop":18,"poi.cafe":18,"poi.restaurant":18,"poi.aerodrome":13},gr={fill:{paint:{"fill-color":"#000","fill-opacity":.1},filter:["all",["==",["geometry-type"],"Polygon"],["has","isMask"]]},line:{layout:{"line-cap":"square"},paint:{"line-width":["case",["==",["geometry-type"],"Polygon"],2,3],"line-dasharray":[1,1],"line-color":"#3170fe"},filter:["!",["has","isMask"]]}},st="mtlr-gc-full-geom",li="mtlr-gc-full-geom-fill",ai="mtlr-gc-full-geom-line",on=Se.Evented,ln=Se.Marker,an=Se.Popup;class cn extends on{#e={};#t;#i;constructor(e={}){super(),this.setOptions(e)}onAdd(e){this.#t=e,this.#i=e._container.ownerDocument.createElement("maptiler-geocoder"),this.#i.classList.add("maplibregl-geocoder"),this.#v(),this.#x();const t=e._container.ownerDocument.createElement("div");return t.classList.add("maplibregl-ctrl-geocoder","maplibregl-ctrl","maplibregl-ctrl-group"),t.style.position="relative",t.style.zIndex="3",t.appendChild(this.#i),setTimeout(()=>this.#i?.setOptions({openListOnTop:t.matches(".maplibregl-ctrl-bottom-left *, .maplibregl-ctrl-bottom-right *")})),t}onRemove(){this.#S(),this.#t=void 0,this.#i=void 0}getOptions(){return{...this.#e}}setOptions(e){Object.assign(this.#e,e),this.#v()}setQuery(e){this.#i?.setQuery(e)}submitQuery(e){this.#i?.submitQuery(e)}clearMap(){this.#n=[],this.#u(void 0,void 0)}clearList(){this.#i?.clearList()}setReverseMode(e){this.setOptions({reverseActive:e})}focus(e){this.#i?.focus(e)}blur(){this.#i?.blur()}#l=new Map;#c;#s;#n;#o;#m;#g={reversetoggle:e=>{const t=this.#t?.getCanvasContainer();t&&(t.style.cursor=e.detail.reverse?"crosshair":""),this.#r("reversetoggle",e.detail)},querychange:e=>{const t=e.detail.reverseCoords;this.#w(t?[t.decimalLongitude,t.decimalLatitude]:void 0),this.#r("querychange",e.detail)},queryclear:()=>{this.#w(void 0),this.#r("queryclear")},request:e=>{this.#r("request",e.detail)},response:e=>{this.#r("response",e.detail)},select:e=>{const t=e.detail.feature;t&&this.#d&&this.#e.flyToSelected&&this.#b(t.center,this.#h(t)),this.#n&&t&&this.#A(t),this.#r("select",e.detail)},pick:e=>{const t=e.detail.feature;t&&t.id!==this.#m&&this.#d&&(this.#L(t),this.#u(this.#n,t)),this.#m=t?.id,this.#r("pick",e.detail)},featuresshow:()=>{this.#r("featuresshow")},featureshide:()=>{this.#r("featureshide")},featureslisted:e=>{const t=e.detail.features;this.#n=t,this.#u(this.#n,void 0),this.#_(t),this.#r("featureslisted",e.detail)},featuresclear:()=>{this.#n=void 0,this.#u(void 0,void 0),this.#r("featuresclear")},focusin:()=>{this.#r("focusin")},focusout:()=>{this.#r("focusout")}};#y={render:()=>{const e=this.#t?.getZoom(),t=this.#t?.getCenter();this.#i?.handleMapChange(e&&t?[e,t.lng,t.lat]:void 0)},click:e=>{this.#i?.handleMapClick([e.lngLat.lng,e.lngLat.lat])},styledata:()=>{setTimeout(()=>{this.#o&&this.#f()})}};#v(){this.#i&&(this.#i.setOptions(this.#e),this.#i.fetchFullGeometryOnPick=this.#e.pickedResultStyle!=="marker-only")}#x(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.addEventListener(e,t);for(const[e,t]of Object.entries(this.#y))this.#t.on(e,t)}}#S(){if(!(!this.#i||!this.#t)){for(const[e,t]of Object.entries(this.#g))this.#i.removeEventListener(e,t);for(const[e,t]of Object.entries(this.#y))this.#t.off(e,t)}}#r(e,t){return super.fire({type:e,...t??{}})}#L(e){e.bbox[0]===e.bbox[2]&&e.bbox[1]===e.bbox[3]?this.#b(e.center,this.#h(e)):this.#E(pt(e.bbox),50,this.#h(e))}#_(e){if(!e||e.length===0||!this.#d)return;const t=e.every(n=>n.matching_text),r=e.reduce((n,o)=>t||!o.matching_text?[Math.min(n[0],o.bbox[0]),Math.min(n[1],o.bbox[1]),Math.max(n[2],o.bbox[2]),Math.max(n[3],o.bbox[3])]:n,[180,90,-180,-90]),s=e.map(n=>this.#h(n)).filter(n=>n!==void 0).reduce((n,o)=>n===void 0?o:Math.max(n,o),void 0);this.#E(pt(r),50,s)}#h(e){if(e.bbox[0]!==e.bbox[2]||e.bbox[1]!==e.bbox[3])return;const t=e.id.replace(/\..*/,""),r=this.#e.zoom??mr;return(Array.isArray(e.properties?.categories)?e.properties.categories.reduce((s,n)=>{const o=r[t+"."+n];return s===void 0?o:o===void 0?s:Math.max(s,o)},void 0):void 0)??r[t]}get#d(){return!!this.#e.flyTo||this.#e.flyTo===void 0}get#$(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}get#M(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}#b(e,t){this.#t?.flyTo({center:e,...t?{zoom:t}:{},...this.#$})}#E(e,t,r){this.#t?.fitBounds([[e[0],e[1]],[e[2],e[3]]],{padding:t,...r?{maxZoom:r}:{},...this.#M})}#w(e){if(!(this.#e.marker===!1||this.#e.marker===null||!this.#t)){if(!e){this.#s?.remove(),this.#s=void 0;return}this.#s||(this.#e.marker instanceof Function?this.#s=this.#e.marker(this.#t)??void 0:(this.#s=this.#p(this.#e.marker).setLngLat(e).addTo(this.#t),this.#s.getElement().classList.add("marker-reverse"))),this.#s?.setLngLat(e)}}#u(e,t){if(!this.#t)return;for(const s of this.#l.values())s.remove();this.#l=new Map,this.#a(void 0);const r=()=>{if(!t||!this.#t||this.#e.marker===!1||this.#e.marker===null)return;const s=this.#e.marker instanceof Function?this.#e.marker(this.#t,t):this.#p(this.#e.marker).setLngLat(t.center).addTo(this.#t);s&&this.#l.set(t,s)};if(t?.geometry.type==="GeometryCollection"){const s=t.geometry.geometries.filter(n=>n.type==="Polygon"||n.type==="MultiPolygon");if(s.length>0){const n=dr(et(s.map(o=>Je(o))));if(n){const o=pr({...t,geometry:n.geometry});o&&this.#a(o)}}else{const n=t.geometry.geometries.filter(o=>o.type==="LineString"||o.type==="MultiLineString");n.length>0&&this.#a({...t,geometry:{type:"GeometryCollection",geometries:n}})}}else if(t?.geometry.type.endsWith("Polygon")){const s=pr(t);s&&this.#a(s),this.#e.pickedResultStyle==="full-geometry-including-polygon-center-marker"&&r()}else t?.geometry.type.endsWith("LineString")?this.#a(t):t?.geometry.type.endsWith("Point")&&r();if(this.#e.showResultMarkers!==!1&&this.#e.showResultMarkers!==null)for(const s of e??[]){if(s.id===t?.id||s.place_type.includes("reverse"))continue;let n;if(this.#e.showResultMarkers instanceof Function){if(n=this.#e.showResultMarkers(this.#t,s),!n)continue}else n=this.#p(this.#e.showResultMarkers).setLngLat(s.center).setPopup(new an({offset:[1,-27],closeButton:!1,closeOnMove:!0,className:"maptiler-gc-popup"}).setText(s.place_type[0]==="reverse"?s.place_name:s.place_name.replace(/,.*/,""))).addTo(this.#t),n.getElement().classList.add("marker-interactive");const o=n.getElement();o.addEventListener("click",l=>{l.stopPropagation(),this.#r("markerclick",{feature:s,marker:n})}),o.addEventListener("mouseenter",()=>{this.#r("markermouseenter",{feature:s,marker:n}),n.togglePopup()}),o.addEventListener("mouseleave",()=>{this.#r("markermouseleave",{feature:s,marker:n}),n.togglePopup()}),o.classList.toggle("marker-fuzzy",!!s.matching_text),this.#l.set(s,n)}}#A(e){this.#c?.getElement().classList.toggle("marker-selected",!1),this.#c=void 0,this.#e.markerOnSelected!==!1&&(this.#c=this.#l.get(e),this.#c?.getElement().classList.toggle("marker-selected",!0))}#f(){if(!this.#t?.loaded){this.#t?.once("load",()=>{this.#f()});return}const e=this.#T(),t=this.#t.getSource(st);!e?.fill&&!e?.line||!t&&!this.#o||(t?t.setData(this.#o??et([])):this.#o&&this.#t.addSource(st,{type:"geojson",data:this.#o}),!this.#t.getLayer(li)&&e.fill&&this.#t.addLayer({...e.fill,id:li,type:"fill",source:st}),!this.#t.getLayer(ai)&&e.line&&this.#t.addLayer({...e.line,id:ai,type:"line",source:st}))}#a(e){this.#o=e,this.#f()}#p(e){return typeof e!="object"&&(e={element:this.#t?._container.ownerDocument.createElement("maptiler-geocode-marker"),offset:[1,-13]}),new ln(e)}#T(){const{fullGeometryStyle:e}=this.#e;if(e===!0||e===void 0)return gr;if(!(e===!1||e===null))return e}}class yr extends cn{#e;constructor(e={}){super(e)}onAdd(e){this.#e=e,e.telemetry.registerModule(ks,Os);const t=this.getOptions(),{primaryLanguage:r,apiKey:s}=e.getSdkConfig();if(t.apiKey===void 0&&this.setOptions({apiKey:s}),t.language===void 0){const o=r.code?.match(/^([a-z]{2,3})($|_|-)/);o&&this.setOptions({language:o[1]})}const n=super.onAdd(e);return n.classList.add("maptiler-ctrl-geocoder"),n.querySelector("maptiler-geocoder")?.classList.add("maptiler-geocoder"),n}onRemove(){super.onRemove(),this.#e=void 0}setOptions(e){const t=e.adjustUrl;super.setOptions({...e,adjustUrl:r=>{t?.(r);const s=this.getOptions();(Se.config.session?e.session!==!1:e.session===!0)&&this.#e&&(!s.apiUrl||new URL(s.apiUrl).host===new URL("https://api.maptiler.com/geocoding").host)&&r.searchParams.append("mtsid",this.#e.getMaptilerSessionId())}})}}$.DEFAULT_GEOMETRY_STYLE=gr,$.GeocodingControl=yr,$.MaptilerGeocodingControl=yr,$.RESULT_LAYER_FILL=li,$.RESULT_LAYER_LINE=ai,$.RESULT_SOURCE=st,$.ZOOM_DEFAULTS=mr,Object.defineProperty($,Symbol.toStringTag,{value:"Module"})}));
276
276
  //# sourceMappingURL=maptilersdk.umd.js.map