@signalk/freeboard-sk 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/package.json +5 -2
  2. package/public/{chunk-RQKGK2KO.js → chunk-3HHS54E4.js} +1 -1
  3. package/public/{chunk-D4A5NW5G.js → chunk-3HSIX7SC.js} +1 -1
  4. package/public/{chunk-4UBQTQSK.js → chunk-3LS56QZI.js} +1 -1
  5. package/public/chunk-4GN5KO3L.js +1 -0
  6. package/public/{chunk-GFDZNVNU.js → chunk-5UXNTYSY.js} +70 -70
  7. package/public/{chunk-OVB2ZLN5.js → chunk-7Z7GI4ZY.js} +1 -1
  8. package/public/{chunk-BCS6VHKX.js → chunk-DBGL657U.js} +1 -1
  9. package/public/{chunk-USYMWMPO.js → chunk-DX34XOH2.js} +1 -1
  10. package/public/chunk-HVGGQ65L.js +1 -0
  11. package/public/{chunk-7OBOGNNY.js → chunk-IAPJVEYW.js} +1 -1
  12. package/public/{chunk-5SYZI253.js → chunk-IQZW2T75.js} +1 -1
  13. package/public/{chunk-6ZXMFU55.js → chunk-IUPTBCPS.js} +1 -1
  14. package/public/{chunk-YB4RBYE2.js → chunk-IWEZGJPC.js} +1 -1
  15. package/public/{chunk-BNCDJR4Z.js → chunk-JWBOMKMB.js} +1 -1
  16. package/public/{chunk-BJKB23AZ.js → chunk-LNNAK44C.js} +1 -1
  17. package/public/{chunk-R7YVRRY3.js → chunk-NO274VZU.js} +1 -1
  18. package/public/chunk-OS23ZF5N.js +1 -0
  19. package/public/chunk-PPBXI4I6.js +1 -0
  20. package/public/{chunk-P57WKW3G.js → chunk-TWWDZIBY.js} +1 -1
  21. package/public/{chunk-RRYFRHFP.js → chunk-VAI3YHUS.js} +1 -1
  22. package/public/{chunk-GBMW6IJP.js → chunk-XUGRUSQE.js} +1 -1
  23. package/public/chunk-YROCNGFN.js +1 -0
  24. package/public/{chunk-XZM7Q5WP.js → chunk-ZU72P2HZ.js} +1 -1
  25. package/public/index.html +1 -1
  26. package/public/{main-LYWXFV5I.js → main-BZXS6MPD.js} +10 -10
  27. package/public/chunk-A2UDMCI5.js +0 -1
  28. package/public/chunk-EDKY4MXN.js +0 -1
  29. package/public/chunk-H54CRRPU.js +0 -1
  30. package/public/chunk-HT6GODHM.js +0 -1
  31. package/public/chunk-XXGLBGHG.js +0 -1
@@ -1,4 +1,4 @@
1
- import{d as lo}from"./chunk-R7YVRRY3.js";import{$ as ki,A as si,B as li,Ba as Zi,C as ci,Ca as Qi,D as pi,Da as Yi,E as di,Ea as Ji,Fa as eo,I as j,J as ui,K as mi,L as _i,M as fi,Ma as to,Na as no,O as hi,P as gi,Pa as io,Q as Ci,Qa as oo,R as vi,Ra as ro,S as bi,T as wi,U as xi,Ua as ao,V as yi,Va as so,W as Ei,Y as Ti,Z as Si,_ as Ai,a as zn,aa as Mi,ba as Pi,c as jn,ca as Ii,da as Ri,e as Mt,ea as Di,f as Pt,fa as Li,ga as Oi,ha as Vi,ia as Ni,ja as Fi,ka as $i,la as Bi,ma as qi,n as Qn,na as Ui,o as Yn,q as Jn,r as ei,ra as zi,s as ti,sa as ji,ta as Gi,ua as Wi,v as ni,va as Hi,w as ii,wa as Ki,x as oi,xa as Xi,y as ri,z as ai}from"./chunk-GFDZNVNU.js";import{c as Zn}from"./chunk-RRYFRHFP.js";import"./chunk-4UBQTQSK.js";import"./chunk-5SYZI253.js";import{a as Xn}from"./chunk-BJKB23AZ.js";import"./chunk-D4A5NW5G.js";import"./chunk-GBMW6IJP.js";import{a as Gn,g as Wn,i as Hn,k as Kn,n as It,q as Rt,u as Dt}from"./chunk-BNCDJR4Z.js";import"./chunk-XZM7Q5WP.js";import"./chunk-USYMWMPO.js";import{$ as oe,$a as Tt,A as bt,Aa as ee,Ac as In,Ba as te,Bc as we,Cc as Rn,Da as ke,Dd as Bn,Ea as h,Fa as g,G as wt,Gc as kt,Gd as qn,Ha as qe,I as Q,Ia as G,Ic as Dn,Ja as W,Ka as x,Kb as be,L as mn,La as a,M as Oe,Ma as s,Md as xe,N as xt,Na as v,Nd as ye,Oa as Cn,P as C,Pa as vn,Qa as Ue,Qb as ce,Qc as Ln,R as u,S as m,Ua as E,Uc as On,V as yt,Va as Ce,Vb as yn,Vd as Xe,W as Ve,Wa as _,Xa as bn,Xb as ze,Y as Ne,Ya as l,Z as Y,Za as ue,Zb as je,Zd as Un,_ as U,_a as X,_d as Ze,ab as Z,ac as En,ba as Fe,bb as F,c as ae,cb as $,da as se,dd as Vn,ea as _n,ec as Tn,fc as Sn,fd as Nn,ga as fn,gb as Me,ha as le,hb as ne,ia as hn,ib as B,ja as c,jb as St,jc as An,ka as Et,kb as wn,kc as kn,kd as He,l as vt,lb as p,lc as pe,ld as Fn,mb as z,mc as Ge,na as $e,nb as me,oa as ge,od as $n,qc as Mn,ra as D,s as pn,sa as Be,sc as At,sd as _e,t as Se,ta as gn,uc as Pn,va as Ae,wb as ve,wd as Ke,xa as J,xb as xn,y as dn,yc as We,z as un,zb as re}from"./chunk-BCS6VHKX.js";import{a as ln,b as cn,d as k,f as _a,g as L}from"./chunk-NCEQPEJE.js";var Ee=k((Tu,ho)=>{"use strict";var Pa="2.0.0",Ia=Number.MAX_SAFE_INTEGER||9007199254740991,Ra=16,Da=250,La=["major","premajor","minor","preminor","patch","prepatch","prerelease"];ho.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Ra,MAX_SAFE_BUILD_LENGTH:Da,MAX_SAFE_INTEGER:Ia,RELEASE_TYPES:La,SEMVER_SPEC_VERSION:Pa,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Pe=k((Su,go)=>{"use strict";var Oa=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...i)=>console.error("SEMVER",...i):()=>{};go.exports=Oa});var Te=k((ie,Co)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Ft,MAX_SAFE_BUILD_LENGTH:Va,MAX_LENGTH:Na}=Ee(),Fa=Pe();ie=Co.exports={};var $a=ie.re=[],Ba=ie.safeRe=[],b=ie.src=[],qa=ie.safeSrc=[],w=ie.t={},Ua=0,$t="[a-zA-Z0-9-]",za=[["\\s",1],["\\d",Na],[$t,Va]],ja=i=>{for(let[t,e]of za)i=i.split(`${t}*`).join(`${t}{0,${e}}`).split(`${t}+`).join(`${t}{1,${e}}`);return i},M=(i,t,e)=>{let n=ja(t),o=Ua++;Fa(i,o,t),w[i]=o,b[o]=t,qa[o]=n,$a[o]=new RegExp(t,e?"g":void 0),Ba[o]=new RegExp(n,e?"g":void 0)};M("NUMERICIDENTIFIER","0|[1-9]\\d*");M("NUMERICIDENTIFIERLOOSE","\\d+");M("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${$t}*`);M("MAINVERSION",`(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})`);M("MAINVERSIONLOOSE",`(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})`);M("PRERELEASEIDENTIFIER",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIER]})`);M("PRERELEASEIDENTIFIERLOOSE",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIERLOOSE]})`);M("PRERELEASE",`(?:-(${b[w.PRERELEASEIDENTIFIER]}(?:\\.${b[w.PRERELEASEIDENTIFIER]})*))`);M("PRERELEASELOOSE",`(?:-?(${b[w.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${b[w.PRERELEASEIDENTIFIERLOOSE]})*))`);M("BUILDIDENTIFIER",`${$t}+`);M("BUILD",`(?:\\+(${b[w.BUILDIDENTIFIER]}(?:\\.${b[w.BUILDIDENTIFIER]})*))`);M("FULLPLAIN",`v?${b[w.MAINVERSION]}${b[w.PRERELEASE]}?${b[w.BUILD]}?`);M("FULL",`^${b[w.FULLPLAIN]}$`);M("LOOSEPLAIN",`[v=\\s]*${b[w.MAINVERSIONLOOSE]}${b[w.PRERELEASELOOSE]}?${b[w.BUILD]}?`);M("LOOSE",`^${b[w.LOOSEPLAIN]}$`);M("GTLT","((?:<|>)?=?)");M("XRANGEIDENTIFIERLOOSE",`${b[w.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);M("XRANGEIDENTIFIER",`${b[w.NUMERICIDENTIFIER]}|x|X|\\*`);M("XRANGEPLAIN",`[v=\\s]*(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:${b[w.PRERELEASE]})?${b[w.BUILD]}?)?)?`);M("XRANGEPLAINLOOSE",`[v=\\s]*(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:${b[w.PRERELEASELOOSE]})?${b[w.BUILD]}?)?)?`);M("XRANGE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAIN]}$`);M("XRANGELOOSE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAINLOOSE]}$`);M("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Ft}})(?:\\.(\\d{1,${Ft}}))?(?:\\.(\\d{1,${Ft}}))?`);M("COERCE",`${b[w.COERCEPLAIN]}(?:$|[^\\d])`);M("COERCEFULL",b[w.COERCEPLAIN]+`(?:${b[w.PRERELEASE]})?(?:${b[w.BUILD]})?(?:$|[^\\d])`);M("COERCERTL",b[w.COERCE],!0);M("COERCERTLFULL",b[w.COERCEFULL],!0);M("LONETILDE","(?:~>?)");M("TILDETRIM",`(\\s*)${b[w.LONETILDE]}\\s+`,!0);ie.tildeTrimReplace="$1~";M("TILDE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAIN]}$`);M("TILDELOOSE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAINLOOSE]}$`);M("LONECARET","(?:\\^)");M("CARETTRIM",`(\\s*)${b[w.LONECARET]}\\s+`,!0);ie.caretTrimReplace="$1^";M("CARET",`^${b[w.LONECARET]}${b[w.XRANGEPLAIN]}$`);M("CARETLOOSE",`^${b[w.LONECARET]}${b[w.XRANGEPLAINLOOSE]}$`);M("COMPARATORLOOSE",`^${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]})$|^$`);M("COMPARATOR",`^${b[w.GTLT]}\\s*(${b[w.FULLPLAIN]})$|^$`);M("COMPARATORTRIM",`(\\s*)${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]}|${b[w.XRANGEPLAIN]})`,!0);ie.comparatorTrimReplace="$1$2$3";M("HYPHENRANGE",`^\\s*(${b[w.XRANGEPLAIN]})\\s+-\\s+(${b[w.XRANGEPLAIN]})\\s*$`);M("HYPHENRANGELOOSE",`^\\s*(${b[w.XRANGEPLAINLOOSE]})\\s+-\\s+(${b[w.XRANGEPLAINLOOSE]})\\s*$`);M("STAR","(<|>)?=?\\s*\\*");M("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");M("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var et=k((Au,vo)=>{"use strict";var Ga=Object.freeze({loose:!0}),Wa=Object.freeze({}),Ha=i=>i?typeof i!="object"?Ga:i:Wa;vo.exports=Ha});var Bt=k((ku,xo)=>{"use strict";var bo=/^[0-9]+$/,wo=(i,t)=>{if(typeof i=="number"&&typeof t=="number")return i===t?0:i<t?-1:1;let e=bo.test(i),n=bo.test(t);return e&&n&&(i=+i,t=+t),i===t?0:e&&!n?-1:n&&!e?1:i<t?-1:1},Ka=(i,t)=>wo(t,i);xo.exports={compareIdentifiers:wo,rcompareIdentifiers:Ka}});var V=k((Mu,Eo)=>{"use strict";var tt=Pe(),{MAX_LENGTH:yo,MAX_SAFE_INTEGER:nt}=Ee(),{safeRe:it,t:ot}=Te(),Xa=et(),{compareIdentifiers:qt}=Bt(),Za=(i,t)=>{let e=t.split(".");if(e.length>i.length)return!1;for(let n=0;n<e.length;n++)if(qt(i[n],e[n])!==0)return!1;return!0},Ut=class i{constructor(t,e){if(e=Xa(e),t instanceof i){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>yo)throw new TypeError(`version is longer than ${yo} characters`);tt("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;let n=t.trim().match(e.loose?it[ot.LOOSE]:it[ot.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>nt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>nt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>nt||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let r=+o;if(r>=0&&r<nt)return r}return o}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(tt("SemVer.compare",this.version,this.options,t),!(t instanceof i)){if(typeof t=="string"&&t===this.version)return 0;t=new i(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof i||(t=new i(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof i||(t=new i(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{let n=this.prerelease[e],o=t.prerelease[e];if(tt("prerelease compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return qt(n,o)}while(++e)}compareBuild(t){t instanceof i||(t=new i(t,this.options));let e=0;do{let n=this.build[e],o=t.build[e];if(tt("build compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return qt(n,o)}while(++e)}inc(t,e,n){if(t.startsWith("pre")){if(!e&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(e){let o=`-${e}`.match(this.options.loose?it[ot.PRERELEASELOOSE]:it[ot.PRERELEASE]);if(!o||o[1]!==e)throw new Error(`invalid identifier: ${e}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,n),this.inc("pre",e,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e,n),this.inc("pre",e,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);if(r===-1){if(e===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(e){let r=[e,o];if(n===!1&&(r=[e]),Za(this.prerelease,e)){let d=this.prerelease[e.split(".").length];isNaN(d)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Eo.exports=Ut});var de=k((Pu,So)=>{"use strict";var To=V(),Qa=(i,t,e=!1)=>{if(i instanceof To)return i;try{return new To(i,t)}catch(n){if(!e)return null;throw n}};So.exports=Qa});var ko=k((Iu,Ao)=>{"use strict";var Ya=de(),Ja=(i,t)=>{let e=Ya(i,t);return e?e.version:null};Ao.exports=Ja});var Po=k((Ru,Mo)=>{"use strict";var es=de(),ts=(i,t)=>{let e=es(i.trim().replace(/^[=v]+/,""),t);return e?e.version:null};Mo.exports=ts});var Do=k((Du,Ro)=>{"use strict";var Io=V(),ns=(i,t,e,n,o)=>{typeof e=="string"&&(o=n,n=e,e=void 0);try{return new Io(i instanceof Io?i.version:i,e).inc(t,n,o).version}catch(r){return null}};Ro.exports=ns});var Vo=k((Lu,Oo)=>{"use strict";var Lo=de(),is=(i,t)=>{let e=Lo(i,null,!0),n=Lo(t,null,!0),o=e.compare(n);if(o===0)return null;let r=o>0,d=r?e:n,f=r?n:e,y=!!d.prerelease.length;if(!!f.prerelease.length&&!y){if(!f.patch&&!f.minor)return"major";if(f.compareMain(d)===0)return f.minor&&!f.patch?"minor":"patch"}let P=y?"pre":"";return e.major!==n.major?P+"major":e.minor!==n.minor?P+"minor":e.patch!==n.patch?P+"patch":"prerelease"};Oo.exports=is});var Fo=k((Ou,No)=>{"use strict";var os=V(),rs=(i,t)=>new os(i,t).major;No.exports=rs});var Bo=k((Vu,$o)=>{"use strict";var as=V(),ss=(i,t)=>new as(i,t).minor;$o.exports=ss});var Uo=k((Nu,qo)=>{"use strict";var ls=V(),cs=(i,t)=>new ls(i,t).patch;qo.exports=cs});var jo=k((Fu,zo)=>{"use strict";var ps=de(),ds=(i,t)=>{let e=ps(i,t);return e&&e.prerelease.length?e.prerelease:null};zo.exports=ds});var H=k(($u,Wo)=>{"use strict";var Go=V(),us=(i,t,e)=>new Go(i,e).compare(new Go(t,e));Wo.exports=us});var Ko=k((Bu,Ho)=>{"use strict";var ms=H(),_s=(i,t,e)=>ms(t,i,e);Ho.exports=_s});var Zo=k((qu,Xo)=>{"use strict";var fs=H(),hs=(i,t)=>fs(i,t,!0);Xo.exports=hs});var rt=k((Uu,Yo)=>{"use strict";var Qo=V(),gs=(i,t,e)=>{let n=new Qo(i,e),o=new Qo(t,e);return n.compare(o)||n.compareBuild(o)};Yo.exports=gs});var er=k((zu,Jo)=>{"use strict";var Cs=rt(),vs=(i,t)=>i.sort((e,n)=>Cs(e,n,t));Jo.exports=vs});var nr=k((ju,tr)=>{"use strict";var bs=rt(),ws=(i,t)=>i.sort((e,n)=>bs(n,e,t));tr.exports=ws});var Ie=k((Gu,ir)=>{"use strict";var xs=H(),ys=(i,t,e)=>xs(i,t,e)>0;ir.exports=ys});var at=k((Wu,or)=>{"use strict";var Es=H(),Ts=(i,t,e)=>Es(i,t,e)<0;or.exports=Ts});var zt=k((Hu,rr)=>{"use strict";var Ss=H(),As=(i,t,e)=>Ss(i,t,e)===0;rr.exports=As});var jt=k((Ku,ar)=>{"use strict";var ks=H(),Ms=(i,t,e)=>ks(i,t,e)!==0;ar.exports=Ms});var st=k((Xu,sr)=>{"use strict";var Ps=H(),Is=(i,t,e)=>Ps(i,t,e)>=0;sr.exports=Is});var lt=k((Zu,lr)=>{"use strict";var Rs=H(),Ds=(i,t,e)=>Rs(i,t,e)<=0;lr.exports=Ds});var Gt=k((Qu,cr)=>{"use strict";var Ls=zt(),Os=jt(),Vs=Ie(),Ns=st(),Fs=at(),$s=lt(),Bs=(i,t,e,n)=>{switch(t){case"===":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i===e;case"!==":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i!==e;case"":case"=":case"==":return Ls(i,e,n);case"!=":return Os(i,e,n);case">":return Vs(i,e,n);case">=":return Ns(i,e,n);case"<":return Fs(i,e,n);case"<=":return $s(i,e,n);default:throw new TypeError(`Invalid operator: ${t}`)}};cr.exports=Bs});var dr=k((Yu,pr)=>{"use strict";var qs=V(),Us=de(),{safeRe:ct,t:pt}=Te(),zs=(i,t)=>{if(i instanceof qs)return i;if(typeof i=="number"&&(i=String(i)),typeof i!="string")return null;t=t||{};let e=null;if(!t.rtl)e=i.match(t.includePrerelease?ct[pt.COERCEFULL]:ct[pt.COERCE]);else{let y=t.includePrerelease?ct[pt.COERCERTLFULL]:ct[pt.COERCERTL],T;for(;(T=y.exec(i))&&(!e||e.index+e[0].length!==i.length);)(!e||T.index+T[0].length!==e.index+e[0].length)&&(e=T),y.lastIndex=T.index+T[1].length+T[2].length;y.lastIndex=-1}if(e===null)return null;let n=e[2],o=e[3]||"0",r=e[4]||"0",d=t.includePrerelease&&e[5]?`-${e[5]}`:"",f=t.includePrerelease&&e[6]?`+${e[6]}`:"";return Us(`${n}.${o}.${r}${d}${f}`,t)};pr.exports=zs});var mr=k((Ju,ur)=>{"use strict";var js=de(),Gs=Ee(),Ws=V(),Hs=(i,t,e)=>{if(!Gs.RELEASE_TYPES.includes(t))return null;let n=Ks(i,e);return n&&Xs(n,t)},Ks=(i,t)=>{let e=i instanceof Ws?i.version:i;return js(e,t)},Xs=(i,t)=>{if(Zs(t))return i.version;switch(i.prerelease=[],t){case"major":i.minor=0,i.patch=0;break;case"minor":i.patch=0;break}return i.format()},Zs=i=>i.startsWith("pre");ur.exports=Hs});var fr=k((em,_r)=>{"use strict";var Wt=class{constructor(){this.max=1e3,this.map=new Map}get(t){let e=this.map.get(t);if(e!==void 0)return this.map.delete(t),this.map.set(t,e),e}delete(t){return this.map.delete(t)}set(t,e){if(!this.delete(t)&&e!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(t,e)}return this}};_r.exports=Wt});var K=k((tm,vr)=>{"use strict";var Qs=/\s+/g,Ht=class i{constructor(t,e){if(e=Js(e),t instanceof i)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new i(t.raw,e);if(t instanceof Kt)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t.trim().replace(Qs," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!gr(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&ll(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let e=this.set[t];for(let n=0;n<e.length;n++)n>0&&(this.formatted+=" "),this.formatted+=e[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){t=t.replace(sl,"");let n=((this.options.includePrerelease&&rl)|(this.options.loose&&al))+":"+t,o=hr.get(n);if(o)return o;let r=this.options.loose,d=r?q[N.HYPHENRANGELOOSE]:q[N.HYPHENRANGE];t=t.replace(d,vl(this.options.includePrerelease)),I("hyphen replace",t),t=t.replace(q[N.COMPARATORTRIM],nl),I("comparator trim",t),t=t.replace(q[N.TILDETRIM],il),I("tilde trim",t),t=t.replace(q[N.CARETTRIM],ol),I("caret trim",t);let f=t.split(" ").map(S=>cl(S,this.options)).join(" ").split(/\s+/).map(S=>Cl(S,this.options));r&&(f=f.filter(S=>(I("loose invalid filter",S,this.options),!!S.match(q[N.COMPARATORLOOSE])))),I("range list",f);let y=new Map,T=f.map(S=>new Kt(S,this.options));for(let S of T){if(gr(S))return[S];y.set(S.value,S)}y.size>1&&y.has("")&&y.delete("");let P=[...y.values()];return hr.set(n,P),P}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Range is required");return this.set.some(n=>Cr(n,e)&&t.set.some(o=>Cr(o,e)&&n.every(r=>o.every(d=>r.intersects(d,e)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new el(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if(bl(this.set[e],t,this.options))return!0;return!1}};vr.exports=Ht;var Ys=fr(),hr=new Ys,Js=et(),Kt=Re(),I=Pe(),el=V(),{safeRe:q,src:tl,t:N,comparatorTrimReplace:nl,tildeTrimReplace:il,caretTrimReplace:ol}=Te(),{FLAG_INCLUDE_PRERELEASE:rl,FLAG_LOOSE:al}=Ee(),sl=new RegExp(tl[N.BUILD],"g"),gr=i=>i.value==="<0.0.0-0",ll=i=>i.value==="",Cr=(i,t)=>{let e=!0,n=i.slice(),o=n.pop();for(;e&&n.length;)e=n.every(r=>o.intersects(r,t)),o=n.pop();return e},cl=(i,t)=>(i=i.replace(q[N.BUILD],""),I("comp",i,t),i=ml(i,t),I("caret",i),i=dl(i,t),I("tildes",i),i=fl(i,t),I("xrange",i),i=gl(i,t),I("stars",i),i),O=i=>!i||i.toLowerCase()==="x"||i==="*",pl=(i,t,e)=>O(i)&&!O(t)||O(t)&&e&&!O(e),dl=(i,t)=>i.trim().split(/\s+/).map(e=>ul(e,t)).join(" "),ul=(i,t)=>{let e=t.loose?q[N.TILDELOOSE]:q[N.TILDE],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,f,y)=>{I("tilde",i,o,r,d,f,y);let T;return O(r)?T="":O(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:O(f)?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:y?(I("replaceTilde pr",y),T=`>=${r}.${d}.${f}-${y} <${r}.${+d+1}.0-0`):T=`>=${r}.${d}.${f} <${r}.${+d+1}.0-0`,I("tilde return",T),T})},ml=(i,t)=>i.trim().split(/\s+/).map(e=>_l(e,t)).join(" "),_l=(i,t)=>{I("caret",i,t);let e=t.loose?q[N.CARETLOOSE]:q[N.CARET],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,f,y)=>{I("caret",i,o,r,d,f,y);let T;return O(r)?T="":O(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:O(f)?r==="0"?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.0${n} <${+r+1}.0.0-0`:y?(I("replaceCaret pr",y),r==="0"?d==="0"?T=`>=${r}.${d}.${f}-${y} <${r}.${d}.${+f+1}-0`:T=`>=${r}.${d}.${f}-${y} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${f}-${y} <${+r+1}.0.0-0`):(I("no pr"),r==="0"?d==="0"?T=`>=${r}.${d}.${f} <${r}.${d}.${+f+1}-0`:T=`>=${r}.${d}.${f} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${f} <${+r+1}.0.0-0`),I("caret return",T),T})},fl=(i,t)=>(I("replaceXRanges",i,t),i.split(/\s+/).map(e=>hl(e,t)).join(" ")),hl=(i,t)=>{i=i.trim();let e=t.loose?q[N.XRANGELOOSE]:q[N.XRANGE];return i.replace(e,(n,o,r,d,f,y)=>{if(I("xRange",i,n,o,r,d,f,y),pl(r,d,f))return i;let T=O(r),P=T||O(d),S=P||O(f),R=S;return o==="="&&R&&(o=""),y=t.includePrerelease?"-0":"",T?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&R?(P&&(d=0),f=0,o===">"?(o=">=",P?(r=+r+1,d=0,f=0):(d=+d+1,f=0)):o==="<="&&(o="<",P?r=+r+1:d=+d+1),o==="<"&&(y="-0"),n=`${o+r}.${d}.${f}${y}`):P?n=`>=${r}.0.0${y} <${+r+1}.0.0-0`:S&&(n=`>=${r}.${d}.0${y} <${r}.${+d+1}.0-0`),I("xRange return",n),n})},gl=(i,t)=>(I("replaceStars",i,t),i.trim().replace(q[N.STAR],"")),Cl=(i,t)=>(I("replaceGTE0",i,t),i.trim().replace(q[t.includePrerelease?N.GTE0PRE:N.GTE0],"")),vl=i=>(t,e,n,o,r,d,f,y,T,P,S,R)=>(O(n)?e="":O(o)?e=`>=${n}.0.0${i?"-0":""}`:O(r)?e=`>=${n}.${o}.0${i?"-0":""}`:d?e=`>=${e}`:e=`>=${e}${i?"-0":""}`,O(T)?y="":O(P)?y=`<${+T+1}.0.0-0`:O(S)?y=`<${T}.${+P+1}.0-0`:R?y=`<=${T}.${P}.${S}-${R}`:i?y=`<${T}.${P}.${+S+1}-0`:y=`<=${y}`,`${e} ${y}`.trim()),bl=(i,t,e)=>{for(let n=0;n<i.length;n++)if(!i[n].test(t))return!1;if(t.prerelease.length&&!e.includePrerelease){for(let n=0;n<i.length;n++)if(I(i[n].semver),i[n].semver!==Kt.ANY&&i[n].semver.prerelease.length>0){let o=i[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var Re=k((nm,Tr)=>{"use strict";var De=Symbol("SemVer ANY"),Qt=class i{static get ANY(){return De}constructor(t,e){if(e=br(e),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Zt("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===De?this.value="":this.value=this.operator+this.semver.version,Zt("comp",this)}parse(t){let e=this.options.loose?wr[xr.COMPARATORLOOSE]:wr[xr.COMPARATOR],n=t.match(e);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new yr(n[2],this.options.loose):this.semver=De}toString(){return this.value}test(t){if(Zt("Comparator.test",t,this.options.loose),this.semver===De||t===De)return!0;if(typeof t=="string")try{t=new yr(t,this.options)}catch(e){return!1}return Xt(t,this.operator,this.semver,this.options)}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Er(t.value,e).test(this.value):t.operator===""?t.value===""?!0:new Er(this.value,e).test(t.semver):(e=br(e),e.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!e.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Xt(this.semver,"<",t.semver,e)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Xt(this.semver,">",t.semver,e)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};Tr.exports=Qt;var br=et(),{safeRe:wr,t:xr}=Te(),Xt=Gt(),Zt=Pe(),yr=V(),Er=K()});var Le=k((im,Sr)=>{"use strict";var wl=K(),xl=(i,t,e)=>{try{t=new wl(t,e)}catch(n){return!1}return t.test(i)};Sr.exports=xl});var kr=k((om,Ar)=>{"use strict";var yl=K(),El=(i,t)=>new yl(i,t).set.map(e=>e.map(n=>n.value).join(" ").trim().split(" "));Ar.exports=El});var Pr=k((rm,Mr)=>{"use strict";var Tl=V(),Sl=K(),Al=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Sl(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===-1)&&(n=d,o=new Tl(n,e))}),n};Mr.exports=Al});var Rr=k((am,Ir)=>{"use strict";var kl=V(),Ml=K(),Pl=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Ml(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===1)&&(n=d,o=new kl(n,e))}),n};Ir.exports=Pl});var Or=k((sm,Lr)=>{"use strict";var Yt=V(),Il=K(),Dr=Ie(),Rl=(i,t)=>{i=new Il(i,t);let e=new Yt("0.0.0");if(i.test(e)||(e=new Yt("0.0.0-0"),i.test(e)))return e;e=null;for(let n=0;n<i.set.length;++n){let o=i.set[n],r=null;o.forEach(d=>{let f=new Yt(d.semver.version);switch(d.operator){case">":f.prerelease.length===0?f.patch++:f.prerelease.push(0),f.raw=f.format();case"":case">=":(!r||Dr(f,r))&&(r=f);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${d.operator}`)}}),r&&(!e||Dr(e,r))&&(e=r)}return e&&i.test(e)?e:null};Lr.exports=Rl});var Nr=k((lm,Vr)=>{"use strict";var Dl=K(),Ll=(i,t)=>{try{return new Dl(i,t).range||"*"}catch(e){return null}};Vr.exports=Ll});var dt=k((cm,qr)=>{"use strict";var Ol=V(),Br=Re(),{ANY:Vl}=Br,Nl=K(),Fl=Le(),Fr=Ie(),$r=at(),$l=lt(),Bl=st(),ql=(i,t,e,n)=>{i=new Ol(i,n),t=new Nl(t,n);let o,r,d,f,y;switch(e){case">":o=Fr,r=$l,d=$r,f=">",y=">=";break;case"<":o=$r,r=Bl,d=Fr,f="<",y="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Fl(i,t,n))return!1;for(let T=0;T<t.set.length;++T){let P=t.set[T],S=null,R=null;if(P.forEach(A=>{A.semver===Vl&&(A=new Br(">=0.0.0")),S=S||A,R=R||A,o(A.semver,S.semver,n)?S=A:d(A.semver,R.semver,n)&&(R=A)}),S.operator===f||S.operator===y||(!R.operator||R.operator===f)&&r(i,R.semver))return!1;if(R.operator===y&&d(i,R.semver))return!1}return!0};qr.exports=ql});var zr=k((pm,Ur)=>{"use strict";var Ul=dt(),zl=(i,t,e)=>Ul(i,t,">",e);Ur.exports=zl});var Gr=k((dm,jr)=>{"use strict";var jl=dt(),Gl=(i,t,e)=>jl(i,t,"<",e);jr.exports=Gl});var Kr=k((um,Hr)=>{"use strict";var Wr=K(),Wl=(i,t,e)=>(i=new Wr(i,e),t=new Wr(t,e),i.intersects(t,e));Hr.exports=Wl});var Zr=k((mm,Xr)=>{"use strict";var Hl=Le(),Kl=H();Xr.exports=(i,t,e)=>{let n=[],o=null,r=null,d=i.sort((P,S)=>Kl(P,S,e));for(let P of d)Hl(P,t,e)?(r=P,o||(o=P)):(r&&n.push([o,r]),r=null,o=null);o&&n.push([o,null]);let f=[];for(let[P,S]of n)P===S?f.push(P):!S&&P===d[0]?f.push("*"):S?P===d[0]?f.push(`<=${S}`):f.push(`${P} - ${S}`):f.push(`>=${P}`);let y=f.join(" || "),T=typeof t.raw=="string"?t.raw:String(t);return y.length<T.length?y:t}});var na=k((_m,ta)=>{"use strict";var Qr=K(),tn=Re(),{ANY:Jt}=tn,en=Le(),nn=H(),Xl=(i,t,e={})=>{if(i===t)return!0;i=new Qr(i,e),t=new Qr(t,e);let n=!1;e:for(let o of i.set){for(let r of t.set){let d=Ql(o,r,e);if(n=n||d!==null,d)continue e}if(n)return!1}return!0},Zl=[new tn(">=0.0.0-0")],Yr=[new tn(">=0.0.0")],Ql=(i,t,e)=>{if(i===t)return!0;if(i.length===1&&i[0].semver===Jt){if(t.length===1&&t[0].semver===Jt)return!0;e.includePrerelease?i=Zl:i=Yr}if(t.length===1&&t[0].semver===Jt){if(e.includePrerelease)return!0;t=Yr}let n=new Set,o,r;for(let A of i)A.operator===">"||A.operator===">="?o=Jr(o,A,e):A.operator==="<"||A.operator==="<="?r=ea(r,A,e):n.add(A.semver);if(n.size>1)return null;let d;if(o&&r){if(d=nn(o.semver,r.semver,e),d>0)return null;if(d===0&&(o.operator!==">="||r.operator!=="<="))return null}for(let A of n){if(o&&!en(A,String(o),e)||r&&!en(A,String(r),e))return null;for(let ma of t)if(!en(A,String(ma),e))return!1;return!0}let f,y,T,P,S=r&&!e.includePrerelease&&r.semver.prerelease.length?r.semver:!1,R=o&&!e.includePrerelease&&o.semver.prerelease.length?o.semver:!1;S&&S.prerelease.length===1&&r.operator==="<"&&S.prerelease[0]===0&&(S=!1);for(let A of t){if(P=P||A.operator===">"||A.operator===">=",T=T||A.operator==="<"||A.operator==="<=",o){if(R&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===R.major&&A.semver.minor===R.minor&&A.semver.patch===R.patch&&(R=!1),A.operator===">"||A.operator===">="){if(f=Jr(o,A,e),f===A&&f!==o)return!1}else if(o.operator===">="&&!A.test(o.semver))return!1}if(r){if(S&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===S.major&&A.semver.minor===S.minor&&A.semver.patch===S.patch&&(S=!1),A.operator==="<"||A.operator==="<="){if(y=ea(r,A,e),y===A&&y!==r)return!1}else if(r.operator==="<="&&!A.test(r.semver))return!1}if(!A.operator&&(r||o)&&d!==0)return!1}return!(o&&T&&!r&&d!==0||r&&P&&!o&&d!==0||R||S)},Jr=(i,t,e)=>{if(!i)return t;let n=nn(i.semver,t.semver,e);return n>0?i:n<0||t.operator===">"&&i.operator===">="?t:i},ea=(i,t,e)=>{if(!i)return t;let n=nn(i.semver,t.semver,e);return n<0?i:n>0||t.operator==="<"&&i.operator==="<="?t:i};ta.exports=Xl});var aa=k((fm,ra)=>{"use strict";var on=Te(),ia=Ee(),Yl=V(),oa=Bt(),Jl=de(),ec=ko(),tc=Po(),nc=Do(),ic=Vo(),oc=Fo(),rc=Bo(),ac=Uo(),sc=jo(),lc=H(),cc=Ko(),pc=Zo(),dc=rt(),uc=er(),mc=nr(),_c=Ie(),fc=at(),hc=zt(),gc=jt(),Cc=st(),vc=lt(),bc=Gt(),wc=dr(),xc=mr(),yc=Re(),Ec=K(),Tc=Le(),Sc=kr(),Ac=Pr(),kc=Rr(),Mc=Or(),Pc=Nr(),Ic=dt(),Rc=zr(),Dc=Gr(),Lc=Kr(),Oc=Zr(),Vc=na();ra.exports={parse:Jl,valid:ec,clean:tc,inc:nc,diff:ic,major:oc,minor:rc,patch:ac,prerelease:sc,compare:lc,rcompare:cc,compareLoose:pc,compareBuild:dc,sort:uc,rsort:mc,gt:_c,lt:fc,eq:hc,neq:gc,gte:Cc,lte:vc,cmp:bc,coerce:wc,truncate:xc,Comparator:yc,Range:Ec,satisfies:Tc,toComparators:Sc,maxSatisfying:Ac,minSatisfying:kc,minVersion:Mc,validRange:Pc,outside:Ic,gtr:Rc,ltr:Dc,intersects:Lc,simplifyRange:Oc,subset:Vc,SemVer:Yl,re:on.re,src:on.src,tokens:on.t,SEMVER_SPEC_VERSION:ia.SEMVER_SPEC_VERSION,RELEASE_TYPES:ia.RELEASE_TYPES,compareIdentifiers:oa.compareIdentifiers,rcompareIdentifiers:oa.rcompareIdentifiers}});var co="mat-badge-content",fa=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["ng-component"]],decls:0,vars:0,template:function(n,o){},styles:[`.mat-badge {
1
+ import{d as lo}from"./chunk-NO274VZU.js";import{$ as ki,A as si,B as li,Ba as Zi,C as ci,Ca as Qi,D as pi,Da as Yi,E as di,Ea as Ji,Fa as eo,I as j,J as ui,K as mi,L as _i,M as fi,Ma as to,Na as no,O as hi,P as gi,Pa as io,Q as Ci,Qa as oo,R as vi,Ra as ro,S as bi,T as wi,U as xi,Ua as ao,V as yi,Va as so,W as Ei,Y as Ti,Z as Si,_ as Ai,a as zn,aa as Mi,ba as Pi,c as jn,ca as Ii,da as Ri,e as Pt,ea as Di,f as It,fa as Li,ga as Oi,ha as Vi,ia as Ni,ja as Fi,ka as $i,la as Bi,ma as qi,n as Qn,na as Ui,o as Yn,q as Jn,r as ei,ra as zi,s as ti,sa as ji,ta as Gi,ua as Wi,v as ni,va as Hi,w as ii,wa as Ki,x as oi,xa as Xi,y as ri,z as ai}from"./chunk-5UXNTYSY.js";import{c as Zn}from"./chunk-VAI3YHUS.js";import"./chunk-3LS56QZI.js";import"./chunk-IQZW2T75.js";import{a as Xn}from"./chunk-LNNAK44C.js";import"./chunk-3HSIX7SC.js";import"./chunk-XUGRUSQE.js";import{a as Gn,g as Wn,i as Hn,k as Kn,n as Rt,q as Dt,u as Lt}from"./chunk-JWBOMKMB.js";import"./chunk-ZU72P2HZ.js";import"./chunk-DX34XOH2.js";import{$ as U,$a as X,$d as Ze,A as bt,Ab as re,Ba as ee,Bc as In,Ca as te,Cc as we,Dc as Rn,Ea as ke,Ed as Bn,Fa as h,Ga as g,H as wt,Hc as Mt,Hd as qn,Ia as qe,J as Q,Ja as G,Jc as Dn,Ka as W,La as x,Lb as be,M as _n,Ma as a,N as Oe,Na as s,Nd as xe,O as xt,Oa as v,Od as ye,Pa as Cn,Q as C,Qa as vn,Ra as Ue,Rb as ce,Rc as Ln,S as u,T as m,Va as E,Vc as On,W as yt,Wa as Ce,Wb as yn,Wd as Xe,X as Ve,Xa as _,Ya as bn,Yb as ze,Z as Ne,Za as l,_ as Y,_a as ue,_b as je,_d as Un,aa as oe,ab as St,bb as Z,bc as En,c as ae,ca as Fe,cb as F,db as $,ea as se,ed as Vn,fa as fn,fc as Tn,gc as Sn,gd as Nn,ha as hn,hb as Me,ia as le,ib as ne,ja as Et,jb as B,ka as c,kb as At,kc as An,l as vt,la as Tt,lb as wn,lc as kn,ld as He,mb as p,mc as pe,md as Fn,nb as z,nc as Ge,oa as $e,ob as me,pa as ge,pd as $n,rc as Mn,s as dn,sa as D,t as Se,ta as Be,tc as kt,td as _e,ua as gn,vc as Pn,wa as Ae,xb as ve,xd as Ke,y as un,ya as J,yb as xn,z as mn,zc as We}from"./chunk-DBGL657U.js";import{a as cn,b as pn,d as k,f as _a,g as L}from"./chunk-NCEQPEJE.js";var Ee=k((Tu,ho)=>{"use strict";var Pa="2.0.0",Ia=Number.MAX_SAFE_INTEGER||9007199254740991,Ra=16,Da=250,La=["major","premajor","minor","preminor","patch","prepatch","prerelease"];ho.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Ra,MAX_SAFE_BUILD_LENGTH:Da,MAX_SAFE_INTEGER:Ia,RELEASE_TYPES:La,SEMVER_SPEC_VERSION:Pa,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Pe=k((Su,go)=>{"use strict";var Oa=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...i)=>console.error("SEMVER",...i):()=>{};go.exports=Oa});var Te=k((ie,Co)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:$t,MAX_SAFE_BUILD_LENGTH:Va,MAX_LENGTH:Na}=Ee(),Fa=Pe();ie=Co.exports={};var $a=ie.re=[],Ba=ie.safeRe=[],b=ie.src=[],qa=ie.safeSrc=[],w=ie.t={},Ua=0,Bt="[a-zA-Z0-9-]",za=[["\\s",1],["\\d",Na],[Bt,Va]],ja=i=>{for(let[t,e]of za)i=i.split(`${t}*`).join(`${t}{0,${e}}`).split(`${t}+`).join(`${t}{1,${e}}`);return i},M=(i,t,e)=>{let n=ja(t),o=Ua++;Fa(i,o,t),w[i]=o,b[o]=t,qa[o]=n,$a[o]=new RegExp(t,e?"g":void 0),Ba[o]=new RegExp(n,e?"g":void 0)};M("NUMERICIDENTIFIER","0|[1-9]\\d*");M("NUMERICIDENTIFIERLOOSE","\\d+");M("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Bt}*`);M("MAINVERSION",`(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})\\.(${b[w.NUMERICIDENTIFIER]})`);M("MAINVERSIONLOOSE",`(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})\\.(${b[w.NUMERICIDENTIFIERLOOSE]})`);M("PRERELEASEIDENTIFIER",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIER]})`);M("PRERELEASEIDENTIFIERLOOSE",`(?:${b[w.NONNUMERICIDENTIFIER]}|${b[w.NUMERICIDENTIFIERLOOSE]})`);M("PRERELEASE",`(?:-(${b[w.PRERELEASEIDENTIFIER]}(?:\\.${b[w.PRERELEASEIDENTIFIER]})*))`);M("PRERELEASELOOSE",`(?:-?(${b[w.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${b[w.PRERELEASEIDENTIFIERLOOSE]})*))`);M("BUILDIDENTIFIER",`${Bt}+`);M("BUILD",`(?:\\+(${b[w.BUILDIDENTIFIER]}(?:\\.${b[w.BUILDIDENTIFIER]})*))`);M("FULLPLAIN",`v?${b[w.MAINVERSION]}${b[w.PRERELEASE]}?${b[w.BUILD]}?`);M("FULL",`^${b[w.FULLPLAIN]}$`);M("LOOSEPLAIN",`[v=\\s]*${b[w.MAINVERSIONLOOSE]}${b[w.PRERELEASELOOSE]}?${b[w.BUILD]}?`);M("LOOSE",`^${b[w.LOOSEPLAIN]}$`);M("GTLT","((?:<|>)?=?)");M("XRANGEIDENTIFIERLOOSE",`${b[w.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);M("XRANGEIDENTIFIER",`${b[w.NUMERICIDENTIFIER]}|x|X|\\*`);M("XRANGEPLAIN",`[v=\\s]*(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:\\.(${b[w.XRANGEIDENTIFIER]})(?:${b[w.PRERELEASE]})?${b[w.BUILD]}?)?)?`);M("XRANGEPLAINLOOSE",`[v=\\s]*(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[w.XRANGEIDENTIFIERLOOSE]})(?:${b[w.PRERELEASELOOSE]})?${b[w.BUILD]}?)?)?`);M("XRANGE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAIN]}$`);M("XRANGELOOSE",`^${b[w.GTLT]}\\s*${b[w.XRANGEPLAINLOOSE]}$`);M("COERCEPLAIN",`(^|[^\\d])(\\d{1,${$t}})(?:\\.(\\d{1,${$t}}))?(?:\\.(\\d{1,${$t}}))?`);M("COERCE",`${b[w.COERCEPLAIN]}(?:$|[^\\d])`);M("COERCEFULL",b[w.COERCEPLAIN]+`(?:${b[w.PRERELEASE]})?(?:${b[w.BUILD]})?(?:$|[^\\d])`);M("COERCERTL",b[w.COERCE],!0);M("COERCERTLFULL",b[w.COERCEFULL],!0);M("LONETILDE","(?:~>?)");M("TILDETRIM",`(\\s*)${b[w.LONETILDE]}\\s+`,!0);ie.tildeTrimReplace="$1~";M("TILDE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAIN]}$`);M("TILDELOOSE",`^${b[w.LONETILDE]}${b[w.XRANGEPLAINLOOSE]}$`);M("LONECARET","(?:\\^)");M("CARETTRIM",`(\\s*)${b[w.LONECARET]}\\s+`,!0);ie.caretTrimReplace="$1^";M("CARET",`^${b[w.LONECARET]}${b[w.XRANGEPLAIN]}$`);M("CARETLOOSE",`^${b[w.LONECARET]}${b[w.XRANGEPLAINLOOSE]}$`);M("COMPARATORLOOSE",`^${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]})$|^$`);M("COMPARATOR",`^${b[w.GTLT]}\\s*(${b[w.FULLPLAIN]})$|^$`);M("COMPARATORTRIM",`(\\s*)${b[w.GTLT]}\\s*(${b[w.LOOSEPLAIN]}|${b[w.XRANGEPLAIN]})`,!0);ie.comparatorTrimReplace="$1$2$3";M("HYPHENRANGE",`^\\s*(${b[w.XRANGEPLAIN]})\\s+-\\s+(${b[w.XRANGEPLAIN]})\\s*$`);M("HYPHENRANGELOOSE",`^\\s*(${b[w.XRANGEPLAINLOOSE]})\\s+-\\s+(${b[w.XRANGEPLAINLOOSE]})\\s*$`);M("STAR","(<|>)?=?\\s*\\*");M("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");M("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var et=k((Au,vo)=>{"use strict";var Ga=Object.freeze({loose:!0}),Wa=Object.freeze({}),Ha=i=>i?typeof i!="object"?Ga:i:Wa;vo.exports=Ha});var qt=k((ku,xo)=>{"use strict";var bo=/^[0-9]+$/,wo=(i,t)=>{if(typeof i=="number"&&typeof t=="number")return i===t?0:i<t?-1:1;let e=bo.test(i),n=bo.test(t);return e&&n&&(i=+i,t=+t),i===t?0:e&&!n?-1:n&&!e?1:i<t?-1:1},Ka=(i,t)=>wo(t,i);xo.exports={compareIdentifiers:wo,rcompareIdentifiers:Ka}});var V=k((Mu,Eo)=>{"use strict";var tt=Pe(),{MAX_LENGTH:yo,MAX_SAFE_INTEGER:nt}=Ee(),{safeRe:it,t:ot}=Te(),Xa=et(),{compareIdentifiers:Ut}=qt(),Za=(i,t)=>{let e=t.split(".");if(e.length>i.length)return!1;for(let n=0;n<e.length;n++)if(Ut(i[n],e[n])!==0)return!1;return!0},zt=class i{constructor(t,e){if(e=Xa(e),t instanceof i){if(t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>yo)throw new TypeError(`version is longer than ${yo} characters`);tt("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;let n=t.trim().match(e.loose?it[ot.LOOSE]:it[ot.FULL]);if(!n)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>nt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>nt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>nt||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){let r=+o;if(r>=0&&r<nt)return r}return o}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(tt("SemVer.compare",this.version,this.options,t),!(t instanceof i)){if(typeof t=="string"&&t===this.version)return 0;t=new i(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof i||(t=new i(t,this.options)),this.major<t.major?-1:this.major>t.major?1:this.minor<t.minor?-1:this.minor>t.minor?1:this.patch<t.patch?-1:this.patch>t.patch?1:0}comparePre(t){if(t instanceof i||(t=new i(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let e=0;do{let n=this.prerelease[e],o=t.prerelease[e];if(tt("prerelease compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Ut(n,o)}while(++e)}compareBuild(t){t instanceof i||(t=new i(t,this.options));let e=0;do{let n=this.build[e],o=t.build[e];if(tt("build compare",e,n,o),n===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(n===void 0)return-1;if(n===o)continue;return Ut(n,o)}while(++e)}inc(t,e,n){if(t.startsWith("pre")){if(!e&&n===!1)throw new Error("invalid increment argument: identifier is empty");if(e){let o=`-${e}`.match(this.options.loose?it[ot.PRERELEASELOOSE]:it[ot.PRERELEASE]);if(!o||o[1]!==e)throw new Error(`invalid identifier: ${e}`)}}switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,n),this.inc("pre",e,n);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",e,n),this.inc("pre",e,n);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let o=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]=="number"&&(this.prerelease[r]++,r=-2);if(r===-1){if(e===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(e){let r=[e,o];if(n===!1&&(r=[e]),Za(this.prerelease,e)){let d=this.prerelease[e.split(".").length];isNaN(d)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Eo.exports=zt});var de=k((Pu,So)=>{"use strict";var To=V(),Qa=(i,t,e=!1)=>{if(i instanceof To)return i;try{return new To(i,t)}catch(n){if(!e)return null;throw n}};So.exports=Qa});var ko=k((Iu,Ao)=>{"use strict";var Ya=de(),Ja=(i,t)=>{let e=Ya(i,t);return e?e.version:null};Ao.exports=Ja});var Po=k((Ru,Mo)=>{"use strict";var es=de(),ts=(i,t)=>{let e=es(i.trim().replace(/^[=v]+/,""),t);return e?e.version:null};Mo.exports=ts});var Do=k((Du,Ro)=>{"use strict";var Io=V(),ns=(i,t,e,n,o)=>{typeof e=="string"&&(o=n,n=e,e=void 0);try{return new Io(i instanceof Io?i.version:i,e).inc(t,n,o).version}catch(r){return null}};Ro.exports=ns});var Vo=k((Lu,Oo)=>{"use strict";var Lo=de(),is=(i,t)=>{let e=Lo(i,null,!0),n=Lo(t,null,!0),o=e.compare(n);if(o===0)return null;let r=o>0,d=r?e:n,f=r?n:e,y=!!d.prerelease.length;if(!!f.prerelease.length&&!y){if(!f.patch&&!f.minor)return"major";if(f.compareMain(d)===0)return f.minor&&!f.patch?"minor":"patch"}let P=y?"pre":"";return e.major!==n.major?P+"major":e.minor!==n.minor?P+"minor":e.patch!==n.patch?P+"patch":"prerelease"};Oo.exports=is});var Fo=k((Ou,No)=>{"use strict";var os=V(),rs=(i,t)=>new os(i,t).major;No.exports=rs});var Bo=k((Vu,$o)=>{"use strict";var as=V(),ss=(i,t)=>new as(i,t).minor;$o.exports=ss});var Uo=k((Nu,qo)=>{"use strict";var ls=V(),cs=(i,t)=>new ls(i,t).patch;qo.exports=cs});var jo=k((Fu,zo)=>{"use strict";var ps=de(),ds=(i,t)=>{let e=ps(i,t);return e&&e.prerelease.length?e.prerelease:null};zo.exports=ds});var H=k(($u,Wo)=>{"use strict";var Go=V(),us=(i,t,e)=>new Go(i,e).compare(new Go(t,e));Wo.exports=us});var Ko=k((Bu,Ho)=>{"use strict";var ms=H(),_s=(i,t,e)=>ms(t,i,e);Ho.exports=_s});var Zo=k((qu,Xo)=>{"use strict";var fs=H(),hs=(i,t)=>fs(i,t,!0);Xo.exports=hs});var rt=k((Uu,Yo)=>{"use strict";var Qo=V(),gs=(i,t,e)=>{let n=new Qo(i,e),o=new Qo(t,e);return n.compare(o)||n.compareBuild(o)};Yo.exports=gs});var er=k((zu,Jo)=>{"use strict";var Cs=rt(),vs=(i,t)=>i.sort((e,n)=>Cs(e,n,t));Jo.exports=vs});var nr=k((ju,tr)=>{"use strict";var bs=rt(),ws=(i,t)=>i.sort((e,n)=>bs(n,e,t));tr.exports=ws});var Ie=k((Gu,ir)=>{"use strict";var xs=H(),ys=(i,t,e)=>xs(i,t,e)>0;ir.exports=ys});var at=k((Wu,or)=>{"use strict";var Es=H(),Ts=(i,t,e)=>Es(i,t,e)<0;or.exports=Ts});var jt=k((Hu,rr)=>{"use strict";var Ss=H(),As=(i,t,e)=>Ss(i,t,e)===0;rr.exports=As});var Gt=k((Ku,ar)=>{"use strict";var ks=H(),Ms=(i,t,e)=>ks(i,t,e)!==0;ar.exports=Ms});var st=k((Xu,sr)=>{"use strict";var Ps=H(),Is=(i,t,e)=>Ps(i,t,e)>=0;sr.exports=Is});var lt=k((Zu,lr)=>{"use strict";var Rs=H(),Ds=(i,t,e)=>Rs(i,t,e)<=0;lr.exports=Ds});var Wt=k((Qu,cr)=>{"use strict";var Ls=jt(),Os=Gt(),Vs=Ie(),Ns=st(),Fs=at(),$s=lt(),Bs=(i,t,e,n)=>{switch(t){case"===":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i===e;case"!==":return typeof i=="object"&&(i=i.version),typeof e=="object"&&(e=e.version),i!==e;case"":case"=":case"==":return Ls(i,e,n);case"!=":return Os(i,e,n);case">":return Vs(i,e,n);case">=":return Ns(i,e,n);case"<":return Fs(i,e,n);case"<=":return $s(i,e,n);default:throw new TypeError(`Invalid operator: ${t}`)}};cr.exports=Bs});var dr=k((Yu,pr)=>{"use strict";var qs=V(),Us=de(),{safeRe:ct,t:pt}=Te(),zs=(i,t)=>{if(i instanceof qs)return i;if(typeof i=="number"&&(i=String(i)),typeof i!="string")return null;t=t||{};let e=null;if(!t.rtl)e=i.match(t.includePrerelease?ct[pt.COERCEFULL]:ct[pt.COERCE]);else{let y=t.includePrerelease?ct[pt.COERCERTLFULL]:ct[pt.COERCERTL],T;for(;(T=y.exec(i))&&(!e||e.index+e[0].length!==i.length);)(!e||T.index+T[0].length!==e.index+e[0].length)&&(e=T),y.lastIndex=T.index+T[1].length+T[2].length;y.lastIndex=-1}if(e===null)return null;let n=e[2],o=e[3]||"0",r=e[4]||"0",d=t.includePrerelease&&e[5]?`-${e[5]}`:"",f=t.includePrerelease&&e[6]?`+${e[6]}`:"";return Us(`${n}.${o}.${r}${d}${f}`,t)};pr.exports=zs});var mr=k((Ju,ur)=>{"use strict";var js=de(),Gs=Ee(),Ws=V(),Hs=(i,t,e)=>{if(!Gs.RELEASE_TYPES.includes(t))return null;let n=Ks(i,e);return n&&Xs(n,t)},Ks=(i,t)=>{let e=i instanceof Ws?i.version:i;return js(e,t)},Xs=(i,t)=>{if(Zs(t))return i.version;switch(i.prerelease=[],t){case"major":i.minor=0,i.patch=0;break;case"minor":i.patch=0;break}return i.format()},Zs=i=>i.startsWith("pre");ur.exports=Hs});var fr=k((em,_r)=>{"use strict";var Ht=class{constructor(){this.max=1e3,this.map=new Map}get(t){let e=this.map.get(t);if(e!==void 0)return this.map.delete(t),this.map.set(t,e),e}delete(t){return this.map.delete(t)}set(t,e){if(!this.delete(t)&&e!==void 0){if(this.map.size>=this.max){let o=this.map.keys().next().value;this.delete(o)}this.map.set(t,e)}return this}};_r.exports=Ht});var K=k((tm,vr)=>{"use strict";var Qs=/\s+/g,Kt=class i{constructor(t,e){if(e=Js(e),t instanceof i)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new i(t.raw,e);if(t instanceof Xt)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease,this.raw=t.trim().replace(Qs," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(o=>!gr(o[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let o of this.set)if(o.length===1&&ll(o[0])){this.set=[o];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<this.set.length;t++){t>0&&(this.formatted+="||");let e=this.set[t];for(let n=0;n<e.length;n++)n>0&&(this.formatted+=" "),this.formatted+=e[n].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(t){t=t.replace(sl,"");let n=((this.options.includePrerelease&&rl)|(this.options.loose&&al))+":"+t,o=hr.get(n);if(o)return o;let r=this.options.loose,d=r?q[N.HYPHENRANGELOOSE]:q[N.HYPHENRANGE];t=t.replace(d,vl(this.options.includePrerelease)),I("hyphen replace",t),t=t.replace(q[N.COMPARATORTRIM],nl),I("comparator trim",t),t=t.replace(q[N.TILDETRIM],il),I("tilde trim",t),t=t.replace(q[N.CARETTRIM],ol),I("caret trim",t);let f=t.split(" ").map(S=>cl(S,this.options)).join(" ").split(/\s+/).map(S=>Cl(S,this.options));r&&(f=f.filter(S=>(I("loose invalid filter",S,this.options),!!S.match(q[N.COMPARATORLOOSE])))),I("range list",f);let y=new Map,T=f.map(S=>new Xt(S,this.options));for(let S of T){if(gr(S))return[S];y.set(S.value,S)}y.size>1&&y.has("")&&y.delete("");let P=[...y.values()];return hr.set(n,P),P}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Range is required");return this.set.some(n=>Cr(n,e)&&t.set.some(o=>Cr(o,e)&&n.every(r=>o.every(d=>r.intersects(d,e)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new el(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if(bl(this.set[e],t,this.options))return!0;return!1}};vr.exports=Kt;var Ys=fr(),hr=new Ys,Js=et(),Xt=Re(),I=Pe(),el=V(),{safeRe:q,src:tl,t:N,comparatorTrimReplace:nl,tildeTrimReplace:il,caretTrimReplace:ol}=Te(),{FLAG_INCLUDE_PRERELEASE:rl,FLAG_LOOSE:al}=Ee(),sl=new RegExp(tl[N.BUILD],"g"),gr=i=>i.value==="<0.0.0-0",ll=i=>i.value==="",Cr=(i,t)=>{let e=!0,n=i.slice(),o=n.pop();for(;e&&n.length;)e=n.every(r=>o.intersects(r,t)),o=n.pop();return e},cl=(i,t)=>(i=i.replace(q[N.BUILD],""),I("comp",i,t),i=ml(i,t),I("caret",i),i=dl(i,t),I("tildes",i),i=fl(i,t),I("xrange",i),i=gl(i,t),I("stars",i),i),O=i=>!i||i.toLowerCase()==="x"||i==="*",pl=(i,t,e)=>O(i)&&!O(t)||O(t)&&e&&!O(e),dl=(i,t)=>i.trim().split(/\s+/).map(e=>ul(e,t)).join(" "),ul=(i,t)=>{let e=t.loose?q[N.TILDELOOSE]:q[N.TILDE],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,f,y)=>{I("tilde",i,o,r,d,f,y);let T;return O(r)?T="":O(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:O(f)?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:y?(I("replaceTilde pr",y),T=`>=${r}.${d}.${f}-${y} <${r}.${+d+1}.0-0`):T=`>=${r}.${d}.${f} <${r}.${+d+1}.0-0`,I("tilde return",T),T})},ml=(i,t)=>i.trim().split(/\s+/).map(e=>_l(e,t)).join(" "),_l=(i,t)=>{I("caret",i,t);let e=t.loose?q[N.CARETLOOSE]:q[N.CARET],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,d,f,y)=>{I("caret",i,o,r,d,f,y);let T;return O(r)?T="":O(d)?T=`>=${r}.0.0${n} <${+r+1}.0.0-0`:O(f)?r==="0"?T=`>=${r}.${d}.0${n} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.0${n} <${+r+1}.0.0-0`:y?(I("replaceCaret pr",y),r==="0"?d==="0"?T=`>=${r}.${d}.${f}-${y} <${r}.${d}.${+f+1}-0`:T=`>=${r}.${d}.${f}-${y} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${f}-${y} <${+r+1}.0.0-0`):(I("no pr"),r==="0"?d==="0"?T=`>=${r}.${d}.${f} <${r}.${d}.${+f+1}-0`:T=`>=${r}.${d}.${f} <${r}.${+d+1}.0-0`:T=`>=${r}.${d}.${f} <${+r+1}.0.0-0`),I("caret return",T),T})},fl=(i,t)=>(I("replaceXRanges",i,t),i.split(/\s+/).map(e=>hl(e,t)).join(" ")),hl=(i,t)=>{i=i.trim();let e=t.loose?q[N.XRANGELOOSE]:q[N.XRANGE];return i.replace(e,(n,o,r,d,f,y)=>{if(I("xRange",i,n,o,r,d,f,y),pl(r,d,f))return i;let T=O(r),P=T||O(d),S=P||O(f),R=S;return o==="="&&R&&(o=""),y=t.includePrerelease?"-0":"",T?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&R?(P&&(d=0),f=0,o===">"?(o=">=",P?(r=+r+1,d=0,f=0):(d=+d+1,f=0)):o==="<="&&(o="<",P?r=+r+1:d=+d+1),o==="<"&&(y="-0"),n=`${o+r}.${d}.${f}${y}`):P?n=`>=${r}.0.0${y} <${+r+1}.0.0-0`:S&&(n=`>=${r}.${d}.0${y} <${r}.${+d+1}.0-0`),I("xRange return",n),n})},gl=(i,t)=>(I("replaceStars",i,t),i.trim().replace(q[N.STAR],"")),Cl=(i,t)=>(I("replaceGTE0",i,t),i.trim().replace(q[t.includePrerelease?N.GTE0PRE:N.GTE0],"")),vl=i=>(t,e,n,o,r,d,f,y,T,P,S,R)=>(O(n)?e="":O(o)?e=`>=${n}.0.0${i?"-0":""}`:O(r)?e=`>=${n}.${o}.0${i?"-0":""}`:d?e=`>=${e}`:e=`>=${e}${i?"-0":""}`,O(T)?y="":O(P)?y=`<${+T+1}.0.0-0`:O(S)?y=`<${T}.${+P+1}.0-0`:R?y=`<=${T}.${P}.${S}-${R}`:i?y=`<${T}.${P}.${+S+1}-0`:y=`<=${y}`,`${e} ${y}`.trim()),bl=(i,t,e)=>{for(let n=0;n<i.length;n++)if(!i[n].test(t))return!1;if(t.prerelease.length&&!e.includePrerelease){for(let n=0;n<i.length;n++)if(I(i[n].semver),i[n].semver!==Xt.ANY&&i[n].semver.prerelease.length>0){let o=i[n].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}});var Re=k((nm,Tr)=>{"use strict";var De=Symbol("SemVer ANY"),Yt=class i{static get ANY(){return De}constructor(t,e){if(e=br(e),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Qt("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===De?this.value="":this.value=this.operator+this.semver.version,Qt("comp",this)}parse(t){let e=this.options.loose?wr[xr.COMPARATORLOOSE]:wr[xr.COMPARATOR],n=t.match(e);if(!n)throw new TypeError(`Invalid comparator: ${t}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new yr(n[2],this.options.loose):this.semver=De}toString(){return this.value}test(t){if(Qt("Comparator.test",t,this.options.loose),this.semver===De||t===De)return!0;if(typeof t=="string")try{t=new yr(t,this.options)}catch(e){return!1}return Zt(t,this.operator,this.semver,this.options)}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Er(t.value,e).test(this.value):t.operator===""?t.value===""?!0:new Er(this.value,e).test(t.semver):(e=br(e),e.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!e.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||Zt(this.semver,"<",t.semver,e)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Zt(this.semver,">",t.semver,e)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};Tr.exports=Yt;var br=et(),{safeRe:wr,t:xr}=Te(),Zt=Wt(),Qt=Pe(),yr=V(),Er=K()});var Le=k((im,Sr)=>{"use strict";var wl=K(),xl=(i,t,e)=>{try{t=new wl(t,e)}catch(n){return!1}return t.test(i)};Sr.exports=xl});var kr=k((om,Ar)=>{"use strict";var yl=K(),El=(i,t)=>new yl(i,t).set.map(e=>e.map(n=>n.value).join(" ").trim().split(" "));Ar.exports=El});var Pr=k((rm,Mr)=>{"use strict";var Tl=V(),Sl=K(),Al=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Sl(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===-1)&&(n=d,o=new Tl(n,e))}),n};Mr.exports=Al});var Rr=k((am,Ir)=>{"use strict";var kl=V(),Ml=K(),Pl=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Ml(t,e)}catch(d){return null}return i.forEach(d=>{r.test(d)&&(!n||o.compare(d)===1)&&(n=d,o=new kl(n,e))}),n};Ir.exports=Pl});var Or=k((sm,Lr)=>{"use strict";var Jt=V(),Il=K(),Dr=Ie(),Rl=(i,t)=>{i=new Il(i,t);let e=new Jt("0.0.0");if(i.test(e)||(e=new Jt("0.0.0-0"),i.test(e)))return e;e=null;for(let n=0;n<i.set.length;++n){let o=i.set[n],r=null;o.forEach(d=>{let f=new Jt(d.semver.version);switch(d.operator){case">":f.prerelease.length===0?f.patch++:f.prerelease.push(0),f.raw=f.format();case"":case">=":(!r||Dr(f,r))&&(r=f);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${d.operator}`)}}),r&&(!e||Dr(e,r))&&(e=r)}return e&&i.test(e)?e:null};Lr.exports=Rl});var Nr=k((lm,Vr)=>{"use strict";var Dl=K(),Ll=(i,t)=>{try{return new Dl(i,t).range||"*"}catch(e){return null}};Vr.exports=Ll});var dt=k((cm,qr)=>{"use strict";var Ol=V(),Br=Re(),{ANY:Vl}=Br,Nl=K(),Fl=Le(),Fr=Ie(),$r=at(),$l=lt(),Bl=st(),ql=(i,t,e,n)=>{i=new Ol(i,n),t=new Nl(t,n);let o,r,d,f,y;switch(e){case">":o=Fr,r=$l,d=$r,f=">",y=">=";break;case"<":o=$r,r=Bl,d=Fr,f="<",y="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Fl(i,t,n))return!1;for(let T=0;T<t.set.length;++T){let P=t.set[T],S=null,R=null;if(P.forEach(A=>{A.semver===Vl&&(A=new Br(">=0.0.0")),S=S||A,R=R||A,o(A.semver,S.semver,n)?S=A:d(A.semver,R.semver,n)&&(R=A)}),S.operator===f||S.operator===y||(!R.operator||R.operator===f)&&r(i,R.semver))return!1;if(R.operator===y&&d(i,R.semver))return!1}return!0};qr.exports=ql});var zr=k((pm,Ur)=>{"use strict";var Ul=dt(),zl=(i,t,e)=>Ul(i,t,">",e);Ur.exports=zl});var Gr=k((dm,jr)=>{"use strict";var jl=dt(),Gl=(i,t,e)=>jl(i,t,"<",e);jr.exports=Gl});var Kr=k((um,Hr)=>{"use strict";var Wr=K(),Wl=(i,t,e)=>(i=new Wr(i,e),t=new Wr(t,e),i.intersects(t,e));Hr.exports=Wl});var Zr=k((mm,Xr)=>{"use strict";var Hl=Le(),Kl=H();Xr.exports=(i,t,e)=>{let n=[],o=null,r=null,d=i.sort((P,S)=>Kl(P,S,e));for(let P of d)Hl(P,t,e)?(r=P,o||(o=P)):(r&&n.push([o,r]),r=null,o=null);o&&n.push([o,null]);let f=[];for(let[P,S]of n)P===S?f.push(P):!S&&P===d[0]?f.push("*"):S?P===d[0]?f.push(`<=${S}`):f.push(`${P} - ${S}`):f.push(`>=${P}`);let y=f.join(" || "),T=typeof t.raw=="string"?t.raw:String(t);return y.length<T.length?y:t}});var na=k((_m,ta)=>{"use strict";var Qr=K(),nn=Re(),{ANY:en}=nn,tn=Le(),on=H(),Xl=(i,t,e={})=>{if(i===t)return!0;i=new Qr(i,e),t=new Qr(t,e);let n=!1;e:for(let o of i.set){for(let r of t.set){let d=Ql(o,r,e);if(n=n||d!==null,d)continue e}if(n)return!1}return!0},Zl=[new nn(">=0.0.0-0")],Yr=[new nn(">=0.0.0")],Ql=(i,t,e)=>{if(i===t)return!0;if(i.length===1&&i[0].semver===en){if(t.length===1&&t[0].semver===en)return!0;e.includePrerelease?i=Zl:i=Yr}if(t.length===1&&t[0].semver===en){if(e.includePrerelease)return!0;t=Yr}let n=new Set,o,r;for(let A of i)A.operator===">"||A.operator===">="?o=Jr(o,A,e):A.operator==="<"||A.operator==="<="?r=ea(r,A,e):n.add(A.semver);if(n.size>1)return null;let d;if(o&&r){if(d=on(o.semver,r.semver,e),d>0)return null;if(d===0&&(o.operator!==">="||r.operator!=="<="))return null}for(let A of n){if(o&&!tn(A,String(o),e)||r&&!tn(A,String(r),e))return null;for(let ma of t)if(!tn(A,String(ma),e))return!1;return!0}let f,y,T,P,S=r&&!e.includePrerelease&&r.semver.prerelease.length?r.semver:!1,R=o&&!e.includePrerelease&&o.semver.prerelease.length?o.semver:!1;S&&S.prerelease.length===1&&r.operator==="<"&&S.prerelease[0]===0&&(S=!1);for(let A of t){if(P=P||A.operator===">"||A.operator===">=",T=T||A.operator==="<"||A.operator==="<=",o){if(R&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===R.major&&A.semver.minor===R.minor&&A.semver.patch===R.patch&&(R=!1),A.operator===">"||A.operator===">="){if(f=Jr(o,A,e),f===A&&f!==o)return!1}else if(o.operator===">="&&!A.test(o.semver))return!1}if(r){if(S&&A.semver.prerelease&&A.semver.prerelease.length&&A.semver.major===S.major&&A.semver.minor===S.minor&&A.semver.patch===S.patch&&(S=!1),A.operator==="<"||A.operator==="<="){if(y=ea(r,A,e),y===A&&y!==r)return!1}else if(r.operator==="<="&&!A.test(r.semver))return!1}if(!A.operator&&(r||o)&&d!==0)return!1}return!(o&&T&&!r&&d!==0||r&&P&&!o&&d!==0||R||S)},Jr=(i,t,e)=>{if(!i)return t;let n=on(i.semver,t.semver,e);return n>0?i:n<0||t.operator===">"&&i.operator===">="?t:i},ea=(i,t,e)=>{if(!i)return t;let n=on(i.semver,t.semver,e);return n<0?i:n>0||t.operator==="<"&&i.operator==="<="?t:i};ta.exports=Xl});var aa=k((fm,ra)=>{"use strict";var rn=Te(),ia=Ee(),Yl=V(),oa=qt(),Jl=de(),ec=ko(),tc=Po(),nc=Do(),ic=Vo(),oc=Fo(),rc=Bo(),ac=Uo(),sc=jo(),lc=H(),cc=Ko(),pc=Zo(),dc=rt(),uc=er(),mc=nr(),_c=Ie(),fc=at(),hc=jt(),gc=Gt(),Cc=st(),vc=lt(),bc=Wt(),wc=dr(),xc=mr(),yc=Re(),Ec=K(),Tc=Le(),Sc=kr(),Ac=Pr(),kc=Rr(),Mc=Or(),Pc=Nr(),Ic=dt(),Rc=zr(),Dc=Gr(),Lc=Kr(),Oc=Zr(),Vc=na();ra.exports={parse:Jl,valid:ec,clean:tc,inc:nc,diff:ic,major:oc,minor:rc,patch:ac,prerelease:sc,compare:lc,rcompare:cc,compareLoose:pc,compareBuild:dc,sort:uc,rsort:mc,gt:_c,lt:fc,eq:hc,neq:gc,gte:Cc,lte:vc,cmp:bc,coerce:wc,truncate:xc,Comparator:yc,Range:Ec,satisfies:Tc,toComparators:Sc,maxSatisfying:Ac,minSatisfying:kc,minVersion:Mc,validRange:Pc,outside:Ic,gtr:Rc,ltr:Dc,intersects:Lc,simplifyRange:Oc,subset:Vc,SemVer:Yl,re:rn.re,src:rn.src,tokens:rn.t,SEMVER_SPEC_VERSION:ia.SEMVER_SPEC_VERSION,RELEASE_TYPES:ia.RELEASE_TYPES,compareIdentifiers:oa.compareIdentifiers,rcompareIdentifiers:oa.rcompareIdentifiers}});var co="mat-badge-content",fa=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["ng-component"]],decls:0,vars:0,template:function(n,o){},styles:[`.mat-badge {
2
2
  position: relative;
3
3
  }
4
4
  .mat-badge.mat-badge {
@@ -282,7 +282,7 @@ import{d as lo}from"./chunk-R7YVRRY3.js";import{$ as ki,A as si,B as li,Ba as Zi
282
282
  .mat-sidenav-fixed {
283
283
  position: fixed;
284
284
  }
285
- `;var ka=new xt("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),Vt=new xt("MAT_DRAWER_CONTAINER"),Qe=(()=>{class i extends we{_platform=C(Ge);_changeDetectorRef=C(ze);_container=C(Ot);constructor(){let e=C(se),n=C(In),o=C(Y);super(e,n,o)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:e,end:n}=this._container;return e!=null&&e.mode!=="over"&&e.opened||n!=null&&n.mode!=="over"&&n.opened}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(n,o){n&2&&(ne("margin-left",o._container._contentMargins.left,"px")("margin-right",o._container._contentMargins.right,"px"),B("mat-drawer-content-hidden",o._shouldBeHidden()))},features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:Je,decls:1,vars:0,template:function(n,o){n&1&&(ue(),X(0))},encapsulation:2,changeDetection:0})}return i})(),Lt=(()=>{class i{_elementRef=C(se);_focusTrapFactory=C(Fn);_focusMonitor=C(Vn);_platform=C(Ge);_ngZone=C(Y);_renderer=C($e);_interactivityChecker=C(He);_doc=C(Ve);_container=C(Vt,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(e){e=e==="end"?"end":"start",e!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=_e(e)}_disableClose=!1;get autoFocus(){let e=this._autoFocus;return e??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(e){(e==="true"||e==="false"||e==null)&&(e=_e(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(_e(e))}_opened=U(!1);_openedVia=null;_animationStarted=new ae;_animationEnd=new ae;openedChange=new Ne(!0);_openedStream=this.openedChange.pipe(Se(e=>e),vt(()=>{}));openedStart=this._animationStarted.pipe(Se(()=>this.opened),bt(void 0));_closedStream=this.openedChange.pipe(Se(e=>!e),vt(()=>{}));closedStart=this._animationStarted.pipe(Se(()=>!this.opened),bt(void 0));_destroyed=new ae;onPositionChanged=new Ne;_content;_modeChanged=new ae;_injector=C(yt);_changeDetectorRef=C(ze);constructor(){this.openedChange.pipe(Q(this._destroyed)).subscribe(e=>{e?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._eventCleanups=this._ngZone.runOutsideAngular(()=>{let e=this._renderer,n=this._elementRef.nativeElement;return[e.listen(n,"keydown",o=>{o.keyCode===27&&!this.disableClose&&!Ln(o)&&this._ngZone.run(()=>{this.close(),o.stopPropagation(),o.preventDefault()})}),e.listen(n,"transitionend",this._handleTransitionEvent),e.listen(n,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(e,n){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{r(),d(),e.removeAttribute("tabindex")},r=this._renderer.listen(e,"blur",o),d=this._renderer.listen(e,"mousedown",o)})),e.focus(n)}_focusByCssSelector(e,n){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,n)}_takeFocus(){if(!this._focusTrap)return;let e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Et(()=>{!this._focusTrap.focusInitialElement()&&typeof e.focus=="function"&&e.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(e){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(e=>e()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,n){e&&n&&(this._openedVia=n);let o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,n,o){return e===this.opened?Promise.resolve(e?"open":"close"):(this._opened.set(e),this._container?._transitionsEnabled?(this._setIsAnimating(!0),setTimeout(()=>this._animationStarted.next())):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",e),!e&&n&&this._restoreFocus(o),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(un(1)).subscribe(d=>r(d?"open":"close"))}))}_setIsAnimating(e){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",e)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&!!this._container?._isShowingBackdrop())}_updatePositionInParent(e){if(!this._platform.isBrowser)return;let n=this._elementRef.nativeElement,o=n.parentNode;e==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,n)),o.appendChild(n)):this._anchor&&this._anchor.parentNode.insertBefore(n,this._anchor)}_handleTransitionEvent=e=>{let n=this._elementRef.nativeElement;e.target===n&&this._ngZone.run(()=>{e.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(e)})};static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["mat-drawer"]],viewQuery:function(n,o){if(n&1&&Z(Ca,5),n&2){let r;F(r=$())&&(o._content=r.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(n,o){n&2&&(ke("align",null)("tabIndex",o.mode!=="side"?"-1":null),ne("visibility",!o._container&&!o.opened?"hidden":null),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:Je,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),X(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),Ot=(()=>{class i{_dir=C(Pn,{optional:!0});_element=C(se);_ngZone=C(Y);_changeDetectorRef=C(ze);_animationDisabled=Ke();_transitionsEnabled=!1;_allDrawers;_drawers=new _n;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=_e(e)}_autosize=C(ka);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:_e(e)}_backdropOverride=null;backdropClick=new Ne;_start=null;_end=null;_left=null;_right=null;_destroyed=new ae;_doCheckSubject=new ae;_contentMargins={left:null,right:null};_contentMarginChanges=new ae;get scrollable(){return this._userContent||this._content}_injector=C(yt);constructor(){let e=C(Ge),n=C(Rn);this._dir?.change.pipe(Q(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),n.change().pipe(Q(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&e.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(wt(this._allDrawers),Q(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(n=>!n._container||n._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(wt(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(dn(10),Q(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,n=0;if(this._left&&this._left.opened){if(this._left.mode=="side")e+=this._left._getWidth();else if(this._left.mode=="push"){let o=this._left._getWidth();e+=o,n-=o}}if(this._right&&this._right.opened){if(this._right.mode=="side")n+=this._right._getWidth();else if(this._right.mode=="push"){let o=this._right._getWidth();n+=o,e-=o}}e=e||null,n=n||null,(e!==this._contentMargins.left||n!==this._contentMargins.right)&&(this._contentMargins={left:e,right:n},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(Q(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(Q(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(Q(this._drawers.changes)).subscribe(()=>{Et({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(Q(pn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){let n=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?n.add(o):n.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{e.position=="end"?(this._end!=null,this._end=e):(this._start!=null,this._start=e)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._drawerHasBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(e){return e!=null&&e.opened}_drawerHasBackdrop(e){return this._backdropOverride==null?!!e&&e.mode!=="side":this._backdropOverride}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(n,o,r){if(n&1&&Tt(r,Qe,5)(r,Lt,5),n&2){let d;F(d=$())&&(o._content=d.first),F(d=$())&&(o._allDrawers=d)}},viewQuery:function(n,o){if(n&1&&Z(Qe,5),n&2){let r;F(r=$())&&(o._userContent=r.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[ve([{provide:Vt,useExisting:i}])],ngContentSelectors:ba,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(va),h(0,wa,1,2,"div",0),X(1),X(2,1),h(3,xa,2,0,"mat-drawer-content")),n&2&&(g(o.hasBackdrop?0:-1),c(3),g(o._content?-1:3))},dependencies:[Qe],styles:[`.mat-drawer-container {
285
+ `;var ka=new xt("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),Nt=new xt("MAT_DRAWER_CONTAINER"),Qe=(()=>{class i extends we{_platform=C(Ge);_changeDetectorRef=C(ze);_container=C(Vt);constructor(){let e=C(se),n=C(In),o=C(Y);super(e,n,o)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:e,end:n}=this._container;return e!=null&&e.mode!=="over"&&e.opened||n!=null&&n.mode!=="over"&&n.opened}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(n,o){n&2&&(ne("margin-left",o._container._contentMargins.left,"px")("margin-right",o._container._contentMargins.right,"px"),B("mat-drawer-content-hidden",o._shouldBeHidden()))},features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:Je,decls:1,vars:0,template:function(n,o){n&1&&(ue(),X(0))},encapsulation:2,changeDetection:0})}return i})(),Ot=(()=>{class i{_elementRef=C(se);_focusTrapFactory=C(Fn);_focusMonitor=C(Vn);_platform=C(Ge);_ngZone=C(Y);_renderer=C($e);_interactivityChecker=C(He);_doc=C(Ve);_container=C(Nt,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached=!1;_anchor=null;get position(){return this._position}set position(e){e=e==="end"?"end":"start",e!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=_e(e)}_disableClose=!1;get autoFocus(){let e=this._autoFocus;return e??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(e){(e==="true"||e==="false"||e==null)&&(e=_e(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(_e(e))}_opened=U(!1);_openedVia=null;_animationStarted=new ae;_animationEnd=new ae;openedChange=new Ne(!0);_openedStream=this.openedChange.pipe(Se(e=>e),vt(()=>{}));openedStart=this._animationStarted.pipe(Se(()=>this.opened),bt(void 0));_closedStream=this.openedChange.pipe(Se(e=>!e),vt(()=>{}));closedStart=this._animationStarted.pipe(Se(()=>!this.opened),bt(void 0));_destroyed=new ae;onPositionChanged=new Ne;_content;_modeChanged=new ae;_injector=C(yt);_changeDetectorRef=C(ze);constructor(){this.openedChange.pipe(Q(this._destroyed)).subscribe(e=>{e?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._eventCleanups=this._ngZone.runOutsideAngular(()=>{let e=this._renderer,n=this._elementRef.nativeElement;return[e.listen(n,"keydown",o=>{o.keyCode===27&&!this.disableClose&&!Ln(o)&&this._ngZone.run(()=>{this.close(),o.stopPropagation(),o.preventDefault()})}),e.listen(n,"transitionend",this._handleTransitionEvent),e.listen(n,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(e,n){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{r(),d(),e.removeAttribute("tabindex")},r=this._renderer.listen(e,"blur",o),d=this._renderer.listen(e,"mousedown",o)})),e.focus(n)}_focusByCssSelector(e,n){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,n)}_takeFocus(){if(!this._focusTrap)return;let e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":Tt(()=>{!this._focusTrap.focusInitialElement()&&typeof e.focus=="function"&&e.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(e){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(e=>e()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,n){e&&n&&(this._openedVia=n);let o=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),o}_setOpen(e,n,o){return e===this.opened?Promise.resolve(e?"open":"close"):(this._opened.set(e),this._container?._transitionsEnabled?(this._setIsAnimating(!0),setTimeout(()=>this._animationStarted.next())):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",e),!e&&n&&this._restoreFocus(o),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(r=>{this.openedChange.pipe(mn(1)).subscribe(d=>r(d?"open":"close"))}))}_setIsAnimating(e){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",e)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=this.opened&&!!this._container?._isShowingBackdrop())}_updatePositionInParent(e){if(!this._platform.isBrowser)return;let n=this._elementRef.nativeElement,o=n.parentNode;e==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),o.insertBefore(this._anchor,n)),o.appendChild(n)):this._anchor&&this._anchor.parentNode.insertBefore(n,this._anchor)}_handleTransitionEvent=e=>{let n=this._elementRef.nativeElement;e.target===n&&this._ngZone.run(()=>{e.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(e)})};static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["mat-drawer"]],viewQuery:function(n,o){if(n&1&&Z(Ca,5),n&2){let r;F(r=$())&&(o._content=r.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(n,o){n&2&&(ke("align",null)("tabIndex",o.mode!=="side"?"-1":null),ne("visibility",!o._container&&!o.opened?"hidden":null),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:Je,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),X(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),Vt=(()=>{class i{_dir=C(Pn,{optional:!0});_element=C(se);_ngZone=C(Y);_changeDetectorRef=C(ze);_animationDisabled=Ke();_transitionsEnabled=!1;_allDrawers;_drawers=new fn;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=_e(e)}_autosize=C(ka);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:_e(e)}_backdropOverride=null;backdropClick=new Ne;_start=null;_end=null;_left=null;_right=null;_destroyed=new ae;_doCheckSubject=new ae;_contentMargins={left:null,right:null};_contentMarginChanges=new ae;get scrollable(){return this._userContent||this._content}_injector=C(yt);constructor(){let e=C(Ge),n=C(Rn);this._dir?.change.pipe(Q(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),n.change().pipe(Q(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&e.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(wt(this._allDrawers),Q(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(n=>!n._container||n._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(wt(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(un(10),Q(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,n=0;if(this._left&&this._left.opened){if(this._left.mode=="side")e+=this._left._getWidth();else if(this._left.mode=="push"){let o=this._left._getWidth();e+=o,n-=o}}if(this._right&&this._right.opened){if(this._right.mode=="side")n+=this._right._getWidth();else if(this._right.mode=="push"){let o=this._right._getWidth();n+=o,e-=o}}e=e||null,n=n||null,(e!==this._contentMargins.left||n!==this._contentMargins.right)&&(this._contentMargins={left:e,right:n},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(Q(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(Q(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(Q(this._drawers.changes)).subscribe(()=>{Tt({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(Q(dn(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){let n=this._element.nativeElement.classList,o="mat-drawer-container-has-open";e?n.add(o):n.remove(o)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{e.position=="end"?(this._end!=null,this._end=e):(this._start!=null,this._start=e)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._drawerHasBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(e){return e!=null&&e.opened}_drawerHasBackdrop(e){return this._backdropOverride==null?!!e&&e.mode!=="side":this._backdropOverride}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=D({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(n,o,r){if(n&1&&St(r,Qe,5)(r,Ot,5),n&2){let d;F(d=$())&&(o._content=d.first),F(d=$())&&(o._allDrawers=d)}},viewQuery:function(n,o){if(n&1&&Z(Qe,5),n&2){let r;F(r=$())&&(o._userContent=r.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[ve([{provide:Nt,useExisting:i}])],ngContentSelectors:ba,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(va),h(0,wa,1,2,"div",0),X(1),X(2,1),h(3,xa,2,0,"mat-drawer-content")),n&2&&(g(o.hasBackdrop?0:-1),c(3),g(o._content?-1:3))},dependencies:[Qe],styles:[`.mat-drawer-container {
286
286
  position: relative;
287
287
  z-index: 1;
288
288
  color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
@@ -456,13 +456,13 @@ import{d as lo}from"./chunk-R7YVRRY3.js";import{$ as ki,A as si,B as li,Ba as Zi
456
456
  .mat-sidenav-fixed {
457
457
  position: fixed;
458
458
  }
459
- `],encapsulation:2,changeDetection:0})}return i})(),Ye=(()=>{class i extends Qe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Fe(i)))(o||i)}})();static \u0275cmp=D({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:Je,decls:1,vars:0,template:function(n,o){n&1&&(ue(),X(0))},encapsulation:2,changeDetection:0})}return i})(),Nt=(()=>{class i extends Lt{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=_e(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=At(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=At(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Fe(i)))(o||i)}})();static \u0275cmp=D({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(n,o){n&2&&(ke("tabIndex",o.mode!=="side"?"-1":null)("align",null),ne("top",o.fixedInViewport?o.fixedTopGap:null,"px")("bottom",o.fixedInViewport?o.fixedBottomGap:null,"px"),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side")("mat-sidenav-fixed",o.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[ve([{provide:Lt,useExisting:i}]),Ae],ngContentSelectors:Je,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),X(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),mo=(()=>{class i extends Ot{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Fe(i)))(o||i)}})();static \u0275cmp=D({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(n,o,r){if(n&1&&Tt(r,Ye,5)(r,Nt,5),n&2){let d;F(d=$())&&(o._content=d.first),F(d=$())&&(o._allDrawers=d)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},exportAs:["matSidenavContainer"],features:[ve([{provide:Vt,useExisting:i},{provide:Ot,useExisting:i}]),Ae],ngContentSelectors:Ea,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(ya),h(0,Ta,1,2,"div",0),X(1),X(2,1),h(3,Sa,2,0,"mat-sidenav-content")),n&2&&(g(o.hasBackdrop?0:-1),c(3),g(o._content?-1:3))},dependencies:[Ye],styles:[Aa],encapsulation:2,changeDetection:0})}return i})(),_o=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=Be({type:i});static \u0275inj=Oe({imports:[kt,We,kt]})}return i})();function fo(i){if(!((i.ctrlKey||i.metaKey)&&!i.shiftKey&&i.key.toLowerCase()==="z"))return!1;let e=i.target,n=e?.tagName;return!(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||e?.isContentEditable)}var ua=_a(aa());function rn(i){let t=[];for(let e of i)for(let n of e.events)t.push(`${e.id}:${n.pr}`);return t}function sa(i,t){if(!Array.isArray(t))return i;let e=new Set(t.filter(n=>typeof n=="string"));return i.filter(n=>!e.has(n))}var la="fb-whats-new-seen",ut=class i{corpus=C(lo);_hasUnseen=U(!1);hasUnseen=this._hasUnseen.asReadonly();init(){return L(this,null,function*(){let t=yield this.corpus.load(),e=sa(rn(t),this.readSeen());this._hasUnseen.set(e.length>0)})}markAllSeen(){return L(this,null,function*(){let t=yield this.corpus.load();this.writeSeen(rn(t)),this._hasUnseen.set(!1)})}readSeen(){try{let t=localStorage.getItem(la);return t===null?null:JSON.parse(t)}catch(t){return null}}writeSeen(t){try{localStorage.setItem(la,JSON.stringify(t))}catch(e){}}static \u0275fac=function(e){return new(e||i)};static \u0275prov=mn({token:i,factory:i.\u0275fac,providedIn:"root"})};var $c=["frame"],mt=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;placed=ce.required();frame;url;detach=null;ngOnInit(){let t=this.service.widgetDef(this.placed().extension,this.placed().widget);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(t?.url?this.service.resolveAssetUrl(t.url):"about:blank"),this.detach=this.service.attachWidget(this.frame.nativeElement,this.placed())}onFrameLoad(){}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-widget"]],viewQuery:function(e,n){if(e&1&&Z($c,7),e&2){let o;F(o=$())&&(n.frame=o.first)}},inputs:{placed:[1,"placed"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"load","src","title"]],template:function(e,n){e&1&&(Cn(0,"iframe",1,0),bn("load",function(){return n.onFrameLoad()}),vn()),e&2&&Ce("src",n.url,le)("title",n.placed().widget)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none;background:transparent}"]})};var Bc=()=>[],qc=(i,t)=>t.type+t.extension,Uc=(i,t)=>t.instanceId;function zc(i,t){if(i&1){let e=E();a(0,"div",3)(1,"mat-icon",4),p(2,"filter_alt"),s(),a(3,"span",5),p(4),s(),a(5,"button",6),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.clearChip(o))}),a(6,"mat-icon"),p(7,"close"),s()()()}if(i&2){let e=t.$implicit;c(4),z(e.label)}}function jc(i,t){if(i&1&&(a(0,"div",2),G(1,zc,8,1,"div",3,qc),s()),i&2){let e=l();B("pe-chips-low",(e.byAnchor().ct??xn(2,Bc)).length>0),c(),W(e.service.filterChips())}}function Gc(i,t){if(i&1&&(a(0,"div",9),v(1,"fb-plotterext-widget",10),s()),i&2){let e=t.$implicit,n=l(2);St(n.cellStyle(e)),c(),x("placed",e)}}function Wc(i,t){if(i&1&&(a(0,"div",7),G(1,Gc,2,3,"div",8,Uc),s()),i&2){let e=t.$implicit,n=l();St(n.anchorStyle(e)),wn("pe-"+e),ke("data-anchor",e),c(),W(n.byAnchor()[e])}}var Hc=1500,ca=8,ft=class i{anchors=It;byAnchor=be(()=>{let t={};for(let e of It)t[e]=[];for(let e of this.service.activeWidgets())t[e.anchor]?.push(e);return t});service=C(j);zone=C(Y);host=C(se);holdTimer=null;downPoint=null;onPointerDown=t=>this.pointerDown(t);onPointerMove=t=>this.pointerMove(t);onPointerEnd=()=>this.cancelHold();unregisterHitTester=null;ngOnInit(){this.unregisterHitTester=this.service.registerHitTester((t,e)=>this.hitTest(t,e)),this.zone.runOutsideAngular(()=>{document.addEventListener("pointerdown",this.onPointerDown,!0),document.addEventListener("pointermove",this.onPointerMove,!0),document.addEventListener("pointerup",this.onPointerEnd,!0),document.addEventListener("pointercancel",this.onPointerEnd,!0)})}ngOnDestroy(){this.cancelHold(),this.unregisterHitTester?.(),this.unregisterHitTester=null,document.removeEventListener("pointerdown",this.onPointerDown,!0),document.removeEventListener("pointermove",this.onPointerMove,!0),document.removeEventListener("pointerup",this.onPointerEnd,!0),document.removeEventListener("pointercancel",this.onPointerEnd,!0)}anchorStyle(t){let e={"grid-template-columns":`repeat(${Rt[t].cols}, var(--pe-cell-w))`};if(t!=="ct"&&t!=="cb")return e;let n=new Set;for(let r of this.byAnchor()[t]??[]){let d=this.service.widgetDef(r.extension,r.widget),{cols:f}=Dt(d?.size??"1x1");for(let y=r.col;y<r.col+f&&y<2;y++)n.add(y)}let o="0px";return n.size===1&&(o=n.has(0)?"calc((var(--pe-cell-w) + var(--pe-gap)) / 2)":"calc((var(--pe-cell-w) + var(--pe-gap)) / -2)"),e["--pe-center-shift"]=o,e}cellStyle(t){let e=this.service.widgetDef(t.extension,t.widget),{cols:n,rows:o}=Dt(e?.size??"1x1");return{"grid-column":`${t.col+1} / span ${n}`,"grid-row":`${t.row+1} / span ${o}`}}clearChip(t){this.service.clearResourceFilter(t.extension,t.type)}pointerDown(t){if(this.cancelHold(),!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||t.target?.closest(".cdk-overlay-container, mat-dialog-container, button, mat-toolbar, .pe-cell, .pe-chips"))return;let n=this.hitTest(t.clientX,t.clientY);n&&(this.service.cellOccupied(n.anchor,n.cell)||(this.downPoint={x:t.clientX,y:t.clientY},this.holdTimer=setTimeout(()=>{this.holdTimer=null,this.zone.run(()=>this.service.openAddWidgetPicker(n.anchor,n.cell))},Hc)))}pointerMove(t){if(!this.holdTimer||!this.downPoint)return;let e=t.clientX-this.downPoint.x,n=t.clientY-this.downPoint.y;e*e+n*n>ca*ca&&this.cancelHold()}cancelHold(){this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=null,this.downPoint=null}hitTest(t,e){let n=this.host.nativeElement.querySelectorAll(".pe-anchor");for(let o of Array.from(n)){let r=o.getBoundingClientRect();if(t<r.left||t>r.right||e<r.top||e>r.bottom)continue;let d=o.dataset.anchor,{cols:f,rows:y}=Rt[d],T=Math.min(f-1,Math.max(0,Math.floor((t-r.left)/r.width*f))),P=Math.min(y-1,Math.max(0,Math.floor((e-r.top)/r.height*y)));return{anchor:d,cell:{col:T,row:P}}}return null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-overlay"]],decls:3,vars:1,consts:[[1,"pe-chips",3,"pe-chips-low"],[1,"pe-anchor",3,"class","style"],[1,"pe-chips"],[1,"pe-chip"],[1,"pe-chip-icon"],[1,"pe-chip-label"],["aria-label","Clear filter",1,"pe-chip-clear",3,"click"],[1,"pe-anchor"],[1,"pe-cell",3,"style"],[1,"pe-cell"],[3,"placed"]],template:function(e,n){e&1&&(h(0,jc,3,3,"div",0),G(1,Wc,3,5,"div",1,qe)),e&2&&(g(n.service.filterChips().length?0:-1),c(),W(n.anchors))},dependencies:[mt,ye,xe],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:2000;pointer-events:none;--pe-cell-w: clamp(96px, 11vw, 150px);--pe-cell-h: clamp(84px, 9.5vw, 124px);--pe-gap: 6px;--pe-margin: 10px}.pe-anchor[_ngcontent-%COMP%]{position:absolute;display:grid;grid-template-rows:repeat(2,var(--pe-cell-h));gap:var(--pe-gap);pointer-events:none}.pe-tr[_ngcontent-%COMP%]{top:0;right:0}.pe-ct[_ngcontent-%COMP%]{top:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-cb[_ngcontent-%COMP%]{bottom:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-bl[_ngcontent-%COMP%]{bottom:0;left:0}.pe-br[_ngcontent-%COMP%]{bottom:0;right:0}.pe-cell[_ngcontent-%COMP%]{pointer-events:auto;overflow:hidden;border-radius:10px;box-shadow:0 1px 5px #00000059}.pe-chips[_ngcontent-%COMP%]{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto;z-index:1}.pe-chips-low[_ngcontent-%COMP%]{top:calc(2 * var(--pe-cell-h) + var(--pe-gap) + 10px)}.pe-chip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;background:#141a20d9;color:#e8edf2;border-radius:16px;padding:3px 6px 3px 10px;font-size:12px;max-width:320px;box-shadow:0 1px 4px #00000059}.pe-chip-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#29b6f6}.pe-chip-label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-chip-clear[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff26;color:#e8edf2;border-radius:50%;width:20px;height:20px;padding:0;cursor:pointer}.pe-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}"]})};var Kc=["frame"],Xc=(i,t)=>t.key;function Zc(i,t){if(i&1&&v(0,"fb-plotterext-runtime",0),i&2){let e=t.$implicit;x("entry",e)}}var an=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;entry=ce.required();frame;url;detach=null;ngOnInit(){let{extension:t,runtime:e}=this.entry();this.url=this.sanitizer.bypassSecurityTrustResourceUrl(e.url?this.service.resolveAssetUrl(e.url):"about:blank"),this.detach=this.service.attachBackground(this.frame.nativeElement,{extension:t,runtime:e})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-runtime"]],viewQuery:function(e,n){if(e&1&&Z(Kc,7),e&2){let o;F(o=$())&&(n.frame=o.first)}},inputs:{entry:[1,"entry"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms","aria-hidden","true",3,"src","title"]],template:function(e,n){e&1&&Ue(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.entry().runtime.id)},styles:["[_nghost-%COMP%]{display:none}"]})},ht=class i{service=C(j);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-runtimes"]],decls:2,vars:0,consts:[[3,"entry"]],template:function(e,n){e&1&&G(0,Zc,1,1,"fb-plotterext-runtime",0,Xc),e&2&&W(n.service.backgroundRuntimes())},dependencies:[an],styles:["[_nghost-%COMP%]{display:none}"]})};var Yc=["frame"],Jc=(i,t)=>t.key;function ep(i,t){if(i&1){let e=E();a(0,"div",1)(1,"span"),p(2),s(),a(3,"button",4),_("click",function(){u(e);let o=l();return m(o.service.closeVisiblePanel())}),a(4,"mat-icon"),p(5,"close"),s()()()}i&2&&(c(2),z(t.panel.title))}function tp(i,t){if(i&1&&(a(0,"div",5),v(1,"fb-plotterext-panel-frame",6),s()),i&2){let e=t.$implicit;B("pe-body-hidden",!e.visible),c(),x("panelKey",e.key)("extension",e.extension)("panel",e.panel)}}var sn=class i{panelKey=ce.required();extension=ce.required();panel=ce.required();frame;url;detach=null;service=C(j);sanitizer=C(pe);ngOnInit(){this.url=this.sanitizer.bypassSecurityTrustResourceUrl(this.panel().url?this.service.resolveAssetUrl(this.panel().url):"about:blank"),this.detach=this.service.attachPanel(this.frame.nativeElement,{extension:this.extension(),panel:this.panel(),close:()=>this.service.closePanel(this.panelKey())})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-panel-frame"]],viewQuery:function(e,n){if(e&1&&Z(Yc,7),e&2){let o;F(o=$())&&(n.frame=o.first)}},inputs:{panelKey:[1,"panelKey"],extension:[1,"extension"],panel:[1,"panel"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"]],template:function(e,n){e&1&&Ue(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.panel().title)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}"]})},gt=class i{service=C(j);isOpen=be(()=>!!this.service.visiblePanel());constructor(){let t=!0;oe(()=>{if(this.isOpen(),t){t=!1;return}this.service.pulseMapResize()})}onTransitionEnd(t){t.propertyName==="width"&&this.service.pulseMapResize(80)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-panel-drawer"]],hostVars:2,hostBindings:function(e,n){e&2&&B("pe-open",n.isOpen())},decls:5,vars:1,consts:[[1,"pe-drawer-inner",3,"transitionend"],[1,"pe-drawer-head"],[1,"pe-drawer-bodies"],[1,"pe-drawer-body",3,"pe-body-hidden"],["mat-icon-button","","aria-label","Close panel",3,"click"],[1,"pe-drawer-body"],[3,"panelKey","extension","panel"]],template:function(e,n){if(e&1&&(a(0,"div",0),_("transitionend",function(r){return n.onTransitionEnd(r)}),h(1,ep,6,1,"div",1),a(2,"div",2),G(3,tp,2,5,"div",3,Jc),s()()),e&2){let o;c(),g((o=n.service.visiblePanel())?1:-1,o),c(2),W(n.service.openPanels())}},dependencies:[Ze,Xe,ye,xe,sn],styles:["[_nghost-%COMP%]{flex:0 0 auto;height:100%;width:0;max-width:92vw;overflow:hidden;background:#1d242b;color:#e8edf2}.pe-open[_nghost-%COMP%]{width:390px;box-shadow:-2px 0 8px #0006}.pe-drawer-inner[_ngcontent-%COMP%]{width:390px;max-width:92vw;height:100%;display:flex;flex-direction:column}.pe-drawer-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.pe-drawer-bodies[_ngcontent-%COMP%]{flex:1;min-height:0;position:relative}.pe-drawer-body[_ngcontent-%COMP%]{position:absolute;inset:0}.pe-body-hidden[_ngcontent-%COMP%]{visibility:hidden;pointer-events:none}"]})};var np=["sideright"],ip=["fbMap"],op=()=>[Oi],rp=()=>[qi],ap=()=>[Di],sp=()=>[vi],lp=()=>[wi],cp=()=>[Li],pp=()=>[Ti],dp=()=>[zi],up=()=>[Wi],mp=(i,t)=>({"dark-theme":i,"app-night":t}),he=(i,t)=>({"button-primary":i,"button-toolbar":t}),_p=(i,t)=>t.extension+"/"+t.button.id,fp=(i,t)=>t[0];function hp(i,t){if(i&1){let e=E();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("resourceGroups",!0))}),a(1,"mat-icon"),p(2,"category"),s(),p(3," \xA0Groups "),s()}}function gp(i,t){if(i&1){let e=E();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.showOverlaysMoved())}),a(1,"mat-icon"),p(2,"layers"),s(),p(3," \xA0Overlays "),s()}}function Cp(i,t){if(i&1){let e=E();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("trackList",!0))}),a(1,"mat-icon",33),p(2,"show_chart"),s(),p(3," \xA0Tracks "),s()}}function vp(i,t){if(i&1){let e=E();a(0,"div")(1,"button",9),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.openExperiment({choice:o,value:null}))}),v(2,"mat-icon",34),p(3),s()()}if(i&2){let e=t.$implicit;c(3),me(" \xA0",e," ")}}function bp(i,t){if(i&1&&(a(0,"div"),G(1,vp,4,1,"div",null,qe),s()),i&2){let e=l();c(),W(e.app.config.resources.paths.sort())}}function wp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearTrail(o.app.data.serverTrail))}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.trailToRoute())}),a(6,"mat-icon"),p(7,"insights"),s(),a(8,"span"),p(9,"Trail to Route"),s()(),v(10,"mat-divider")}if(i&2){let e=l();c(4),me("",e.app.data.serverTrail?"Refresh":"Clear"," Trail")}}function xp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearDestination())}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4,"Stop Navigating"),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.clearCourseData())}),a(6,"mat-icon"),p(7,"clear_all"),s(),a(8,"span"),p(9,"Clear Course Data"),s()(),v(10,"mat-divider")}}function yp(i,t){if(i&1){let e=E();v(0,"mat-divider"),a(1,"a",9),_("click",function(){u(e);let o=l();return m(o.showWeather("forecast"))}),a(2,"mat-icon"),p(3,"air"),s(),a(4,"span"),p(5,"Weather Forecast"),s()()}}function Ep(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.skres.newWaypointAt(o.app.data.vessels.active.position))}),a(1,"mat-icon",11),p(2,"add_location"),s(),a(3,"span"),p(4,"Add Waypoint at Vessel"),s()()}}function Tp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.drawFeature("note"))}),a(1,"mat-icon"),p(2,"local_offer"),s(),a(3,"span"),p(4,"Add Note"),s()()}}function Sp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showLogin(null,!1))}),a(1,"mat-icon",35),p(2," account_circle "),s(),a(3,"span"),p(4),s()(),v(5,"mat-divider")}if(i&2){let e=l();c(),x("matBadgeHidden",e.app.isLoggedIn()),c(3),z(e.app.isLoggedIn()?"Change User":"Login")}}function Ap(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("anchorWatch",!0))}),a(1,"mat-icon"),p(2,"anchor"),s(),a(3,"span"),p(4,"Anchor Watch"),s()()}}function kp(i,t){i&1&&(a(0,"mat-icon",16),p(1,"check_box"),s())}function Mp(i,t){i&1&&v(0,"mat-icon",36)}function Pp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showRadarPanel())}),h(1,kp,2,0,"mat-icon",16)(2,Mp,1,0,"mat-icon",36),a(3,"span"),p(4,"Radar Overlay"),s()()}if(i&2){let e=l();c(),g(e.app.uiCtrl().radarLayer?1:2)}}function Ip(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showPlaybackSettings())}),a(1,"mat-icon"),p(2,"history"),s(),a(3,"span"),p(4,"Playback History"),s()()}}function Rp(i,t){if(i&1){let e=E();a(0,"radar-panel",43),_("connect",function(){u(e);let o=l(2);return m(o.connectRadar())})("disconnect",function(){u(e);let o=l(2);return m(o.disconnectRadar())}),s()}if(i&2){let e=l(2);x("radar",e.infoPanel.item().resource)("id",e.infoPanel.item().id)}}function Dp(i,t){if(i&1){let e=E();a(0,"note-panel",44),_("edit",function(o){u(e);let r=l(2);return m(r.skres.showNoteEditor({id:o}))})("move",function(o){u(e);let r=l(2);return m(r.onNoteMove(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("note",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("interacting",e.isInteracting())}}function Lp(i,t){if(i&1){let e=E();a(0,"region-panel",45),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editRegionInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("region",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Op(i,t){if(i&1){let e=E();a(0,"waypoint-panel",46),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editWaypointInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("waypoint",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Vp(i,t){if(i&1){let e=E();a(0,"route-panel",47),_("edit",function(o){u(e);let r=l(2);return m(r.onRouteInfoEdit(o))})("activate",function(o){u(e);let r=l(2);return m(r.activateRoute(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("route",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Np(i,t){if(i&1){let e=E();a(0,"info-panel",37),_("closed",function(){u(e);let o=l();return m(o.closeDrawer())}),h(1,Rp,1,2,"radar-panel",38),h(2,Dp,1,3,"note-panel",39),h(3,Lp,1,4,"region-panel",40),h(4,Op,1,4,"waypoint-panel",41),h(5,Vp,1,4,"route-panel",42),s()}if(i&2){let e,n,o,r,d,f=l();c(),g(((e=f.infoPanel.item())==null?null:e.type)==="radars"?1:-1),c(),g(((n=f.infoPanel.item())==null?null:n.type)==="notes"?2:-1),c(),g(((o=f.infoPanel.item())==null?null:o.type)==="regions"?3:-1),c(),g(((r=f.infoPanel.item())==null?null:r.type)==="waypoints"?4:-1),c(),g(((d=f.infoPanel.item())==null?null:d.type)==="routes"?5:-1)}}function Fp(i,t){if(i&1){let e=E();a(0,"a",55),_("click",function(){u(e);let o=l(2);return m(o.closeInstrumentPanel())}),a(1,"mat-icon"),p(2,"open_in_new"),s()()}if(i&2){let e=l(2);x("href",e.instUrl(),fn)}}function $p(i,t){if(i&1&&v(0,"iframe",54),i&2){let e=l(2);x("src",e.instUrl(),le)}}function Bp(i,t){if(i&1){let e=E();a(0,"div",22)(1,"mat-nav-list")(2,"a",48)(3,"a",49),_("click",function(){u(e);let o=l();return m(o.closeInstrumentPanel())}),a(4,"mat-icon"),p(5,"arrow_forward"),s()(),p(6," \xA0\xA0\xA0\xA0 "),h(7,Fp,3,1,"a",50),a(8,"a",51),_("click",function(){u(e);let o=l();return m(o.selectPlugin())}),a(9,"mat-icon"),p(10,"arrow_back_ios"),s()(),a(11,"a",52),_("click",function(){u(e);let o=l();return m(o.selectPlugin(!0))}),a(12,"mat-icon"),p(13,"arrow_forward_ios"),s()()(),v(14,"mat-divider"),s(),a(15,"div",53),h(16,$p,1,1,"iframe",54),s()()}if(i&2){let e=l();c(7),g(e.app.config.display.plugins.instruments?7:-1),c(),x("disabled",e.app.config.display.plugins.favourites.length===0),c(3),x("disabled",e.app.config.display.plugins.favourites.length===0),c(5),g(e.app.instrumentPanel().activate?16:-1)}}function qp(i,t){i&1&&(a(0,"div",24),v(1,"mat-progress-bar",56),s())}function Up(i,t){if(i&1){let e=E();a(0,"autopilot-console",57),_("close",function(){u(e);let o=l();return m(o.toggleAutopilotConsole(!1))}),s()}if(i&2){let e=l();x("apData",e.app.data.vessels.self.autopilot)}}function zp(i,t){if(i&1){let e=E();a(0,"route-builder",58),_("save",function(o){u(e);let r=l();return m(r.skres.newRouteAt(o.coordinates,o.meta))})("close",function(){u(e);let o=l();return m(o.toggleRouteBuilderConsole(!1))}),s()}}function jp(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",78),_("click",function(){u(e);let o=l(3);return m(o.showSelectMode())}),a(2,"mat-icon"),p(3,"cancel"),s()()()}}function Gp(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",79),_("click",function(){u(e);let o=l(3);return m(o.openFeatureBrowser())}),a(2,"mat-icon"),p(3,"tips_and_updates"),s()()()}}function Wp(i,t){if(i&1){let e=E();a(0,"div",62)(1,"div",60)(2,"button",69),_("click",function(){u(e);let o=l(2);return m(o.toggleAlertList(!0))}),v(3,"mat-icon",70),s()(),a(4,"div",60)(5,"button",71)(6,"mat-icon"),p(7,"layers"),s()()(),a(8,"div",60)(9,"button",72)(10,"mat-icon"),p(11,"edit"),s()()(),a(12,"div",60)(13,"button",73),_("click",function(){u(e);let o=l(2);return m(o.toggleNorthUp())}),v(14,"mat-icon",74),s()(),a(15,"div",60)(16,"button",75),_("click",function(){u(e);let o=l(2);return m(o.toggleMoveMap())}),v(17,"mat-icon",76),s()(),a(18,"div",60)(19,"button",77)(20,"mat-icon"),p(21,"more_horiz"),s()()(),h(22,jp,4,0,"div",60),h(23,Gp,4,0,"div",60),s()}if(i&2){let e=l(2),n=Me(3),o=Me(41),r=Me(73);c(2),x("matBadge",e.notiMgr.alerts().length)("matBadgeHidden",e.notiMgr.alerts().length===0),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",n),c(4),x("disabled",e.isInteracting())("matMenuTriggerFor",r),c(4),x("ngClass",re(16,he,!e.app.uiConfig().mapNorthUp,e.app.uiConfig().mapNorthUp))("matTooltip",e.app.uiConfig().mapNorthUp?"Show Heading Up":"Show North Up"),c(),x("svgIcon",e.app.uiConfig().mapNorthUp?"heading-n-up":"heading-h-up"),c(2),x("ngClass",re(19,he,e.app.uiConfig().mapMove,!e.app.uiConfig().mapMove))("disabled",!e.app.data.vessels.showSelf)("matTooltip",e.app.uiConfig().mapMove?"Turn off Follow Vessel":"Center & Follow Vessel"),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",o),c(3),g(e.mode===1?22:-1),c(),g(e.whatsNew.hasUnseen()?23:-1)}}function Hp(i,t){if(i&1){let e=E();a(0,"route-list",81),_("activate",function(o){u(e);let r=l(4);return m(r.activateRoute(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("routes",o.id))})("points",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o.id,type:"route"}))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"route",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeRoute",e.app.data.activeRoute)("editingRouteId",e.app.data.editingId)}}function Kp(i,t){i&1&&(J(0,Hp,1,2),ee(1,0,op),te())}function Xp(i,t){if(i&1){let e=E();a(0,"waypoint-list",82),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("waypoints",o.id))})("goto",function(o){u(e);let r=l(4);return m(r.course.navigateToWaypoint(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"waypoint",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeWaypoint",e.app.data.activeWaypoint)("editingWaypointId",e.app.data.editingId)}}function Zp(i,t){i&1&&(J(0,Xp,1,2),ee(1,0,rp),te())}function Qp(i,t){if(i&1){let e=E();a(0,"chart-list",83),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("selectedCharts",e.app.config.selections.charts)}}function Yp(i,t){i&1&&(J(0,Qp,1,1),ee(1,0,ap),te())}function Jp(i,t){if(i&1){let e=E();a(0,"note-list",84),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("notes",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("notes",e.skres.notes())}}function ed(i,t){i&1&&(J(0,Jp,1,1),ee(1,0,sp),te())}function td(i,t){if(i&1){let e=E();a(0,"region-list",85),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("regions",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("regions",e.skres.regions())}}function nd(i,t){i&1&&(J(0,td,1,1),ee(1,0,lp),te())}function id(i,t){if(i&1){let e=E();a(0,"track-list",86),_("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function od(i,t){i&1&&(J(0,id,1,0),ee(1,0,cp),te())}function rd(i,t){if(i&1){let e=E();a(0,"ais-list",87),_("properties",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o,type:"ais"}))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())})("focusVessel",function(o){u(e);let r=l(4);return m(r.switchActiveVessel(o))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(4);x("focusId",e.app.data.vessels.activeId)}}function ad(i,t){i&1&&(J(0,rd,1,1),ee(1,0,pp),te())}function sd(i,t){if(i&1){let e=E();a(0,"group-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function ld(i,t){i&1&&(J(0,sd,1,0),ee(1,0,dp),te())}function cd(i,t){if(i&1){let e=E();a(0,"anchor-watch",88),_("closed",function(){u(e);let o=l(3);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(3);x("showSelf",e.app.data.vessels.showSelf)("radius",e.anchor.radius())("raised",e.anchor.raised())}}function pd(i,t){if(i&1){let e=E();a(0,"weather-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function dd(i,t){i&1&&(J(0,pd,1,0),ee(1,0,up),te())}function ud(i,t){if(i&1&&(a(0,"div",63),h(1,Kp,3,0),h(2,Zp,3,0),h(3,Yp,3,0),h(4,ed,3,0),h(5,nd,3,0),h(6,od,3,0),h(7,ad,3,0),h(8,ld,3,0),h(9,cd,1,3,"anchor-watch",80),h(10,dd,3,0),s()),i&2){let e=l(2);c(),g(e.leftMenuCtrl().routeList?1:-1),c(),g(e.leftMenuCtrl().waypointList?2:-1),c(),g(e.leftMenuCtrl().chartList?3:-1),c(),g(e.leftMenuCtrl().noteList?4:-1),c(),g(e.leftMenuCtrl().regionList?5:-1),c(),g(e.leftMenuCtrl().trackList?6:-1),c(),g(e.leftMenuCtrl().aisList?7:-1),c(),g(e.leftMenuCtrl().resourceGroups?8:-1),c(),g(e.leftMenuCtrl().anchorWatch?9:-1),c(),g(e.leftMenuCtrl().weatherList?10:-1)}}function md(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",89),p(2,"visibility_off "),s()())}function _d(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",90),p(2,"compare_arrows "),s()())}function fd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",91),p(2,"directions_boat "),s()())}function hd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",92),p(2,"local_offer "),s()())}function gd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",93),p(2,"signal_wifi_statusbar_connected_no_internet_4 "),s()())}function Cd(i,t){if(i&1){let e=E();a(0,"button",99),_("click",function(){u(e);let o=l(4);return m(o.openInstrumentPanel())}),a(1,"mat-icon"),p(2,"av_timer"),s()()}}function vd(i,t){if(i&1&&(a(0,"div",95),h(1,Cd,3,0,"button",98),v(2,"br"),p(3,"\xA0"),v(4,"br"),p(5,"\xA0 "),s()),i&2){let e=l(3);c(),g(!e.app.instrumentPanel().open&&!e.infoPanel.opened()&&!e.isInteracting()&&!e.app.data.vessels.activeId?1:-1)}}function bd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",100),_("click",function(){u(e);let o=l(3);return m(o.enableAudio())}),a(2,"mat-icon",33),p(3,"volume_off"),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}}function wd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",101),_("click",function(){u(e);let o=l(3);return m(o.toggleFullscreen())}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(3,he,e.displayFullscreen().active,!e.displayFullscreen().active))("matTooltip",e.displayFullscreen().active?"Exit Fullscreen ":"Go Fullscreen"),c(2),me(" ",e.displayFullscreen().active?"fullscreen_exit ":"fullscreen"," ")}}function xd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"fb-experiments",102),_("selected",function(o){u(e);let r=l(3);return m(r.openExperiment(o))}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}}function yd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"pip-video",103),_("click",function(){u(e);let o=l(3);return m(o.focusMap())}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}if(i&2){let e=l(3);c(),x("src",e.vidUrl())("muted",!0)}}function Ed(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",104),_("click",function(){u(e);let o=l(3);return m(o.toggleAutopilotConsole(!o.app.uiCtrl().autopilotConsole))}),v(2,"mat-icon",105),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(1,he,e.app.data.vessels.self.autopilot.enabled,!e.app.data.vessels.self.autopilot.enabled))}}function Td(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",106),_("click",function(){u(e);let o=l(3);return m(o.toggleRadarPanel())}),v(2,"mat-icon",36),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(2,he,e.app.uiCtrl().radarLayer,!e.app.uiCtrl().radarLayer))("disabled",e.app.instrumentPanel().open)}}function Sd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",107),_("click",function(){let o=u(e).$implicit,r=l(3);return m(r.plotterExt.handleButtonAction(o.extension,o.button))}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=t.$implicit;c(),x("matTooltip",e.button.title),c(2),z(e.button.icon||"extension")}}function Ad(i,t){if(i&1){let e=E();a(0,"div",94),h(1,vd,6,1,"div",95),h(2,bd,7,0,"div",60),h(3,wd,7,6,"div",60),a(4,"div",60)(5,"button",96),_("click",function(){u(e);let o=l(2);return m(o.toggleConstrainMapZoom())}),a(6,"mat-icon"),p(7,"zoom_in_map"),s()(),v(8,"br"),p(9,"\xA0"),v(10,"br"),s(),a(11,"div",60)(12,"button",97),_("click",function(){u(e);let o=l(2);return m(o.invertFeatureLabelColor())}),a(13,"mat-icon"),p(14),s()(),v(15,"br"),p(16,"\xA0"),v(17,"br"),s(),h(18,xd,5,0,"div",60),h(19,yd,5,2,"div",60),h(20,Ed,6,4,"div",60),h(21,Td,6,5,"div",60),G(22,Sd,7,2,"div",60,_p),s()}if(i&2){let e=l(2);ne("top",60+e.plotterExt.toolbarTopOffset(),"px"),c(),g(e.app.instrumentPanelAvailable()&&e.app.config.display.plugins.instruments?1:-1),c(),g(e.audioStatus()!=="running"?2:-1),c(),g(e.app.isTopWindow()&&e.displayFullscreen().enabled?3:-1),c(2),x("ngClass",re(12,he,e.app.uiConfig().mapConstrainZoom,!e.app.uiConfig().mapConstrainZoom)),c(7),x("ngClass",re(15,he,e.app.uiConfig().invertColor,!e.app.uiConfig().invertColor)),c(2),z("invert_colors"),c(4),g(e.app.config.experiments?18:-1),c(),g(e.app.config.resources.video.enable&&e.app.config.resources.video.url?19:-1),c(),g(e.app.featureFlags().autopilotApi&&e.app.data.vessels.self.autopilot.default&&e.app.config.display.fab!=="autopilot"?20:-1),c(),g(e.app.featureFlags().radarApi&&e.radarApi.radarId()&&e.app.config.display.fab!=="radar"?21:-1),c(),W(e.plotterExt.toolbarButtons())}}function kd(i,t){if(i&1){let e=E();a(0,"div",59)(1,"div",60)(2,"button",61)(3,"mat-icon"),p(4,"menu"),s()()()(),h(5,Wp,24,22,"div",62),h(6,ud,11,10,"div",63),a(7,"div",64),h(8,md,3,0,"div",65),h(9,_d,3,0,"div",65),h(10,fd,3,0,"div",65),h(11,hd,3,0,"div",65),h(12,gd,3,0,"div",65),s(),a(13,"div",66)(14,"div",60)(15,"button",67),_("click",function(){u(e);let o=l();return m(o.toggleToolbarButtons())}),a(16,"mat-icon"),p(17),s()()()(),h(18,Ad,24,18,"div",68)}if(i&2){let e=l(),n=Me(109);c(2),x("disabled",e.isInteracting())("matBadgeHidden",e.app.isLoggedIn())("matMenuTriggerFor",n),c(3),g(e.app.uiConfig().toolbarButtons?5:-1),c(),g(e.leftMenuCtrl().leftMenuPanel?6:-1),c(),ne("top",20+e.plotterExt.toolbarTopOffset(),"px"),c(),g(!e.wakeLock.enabled()&&e.wakeLock.isAvailable?8:-1),c(),g(e.app.uiConfig().showCourseData?-1:9),c(),g(e.app.uiConfig().showAisTargets?-1:10),c(),g(e.app.uiConfig().showNotes?-1:11),c(),g(e.stream.watchDogAlarm()?12:-1),c(),ne("top",e.plotterExt.toolbarTopOffset(),"px"),c(2),x("matTooltip",e.app.uiConfig().toolbarButtons?"Hide Toobars":"Show Toobars"),c(2),z(e.app.uiConfig().toolbarButtons?"apps":"apps_outage"),c(),g(e.app.uiConfig().toolbarButtons?18:-1)}}function Md(i,t){if(i&1&&(a(0,"div",30)(1,"div",108)(2,"mat-icon"),p(3,"access_time"),s(),a(4,"b"),p(5,"Playback:"),s()(),a(6,"div",109),p(7),s()()),i&2){let e=l();c(7),z(e.playbackTime())}}function Pd(i,t){if(i&1){let e=E();a(0,"alert-list",113),_("closed",function(){u(e);let o=l(2);return m(o.toggleAlertList(!1))}),s()}if(i&2){let e=l(2);x("alerts",e.notiMgr.alerts())}}function Id(i,t){if(i&1){let e=E();a(0,"span",112)(1,"fb-alert",114),_("nextPoint",function(){u(e);let o=l(2);return m(o.course.coursePointIndex(o.course.courseData().pointIndex+1))})("routeEnd",function(){u(e);let o=l(2);return m(o.clearDestination())}),s()()}if(i&2){let e=t.$implicit,n=l(2);c(),x("audioStatus",n.audioStatus())("alert",e[1])("acknowledged",e[1].acknowledged)("silenced",e[1].silenced)("doNotPlaySound",n.app.config.display.muteSound)}}function Rd(i,t){if(i&1&&(h(0,Pd,1,1,"alert-list",110),a(1,"div",111),G(2,Id,2,5,"span",112,fp),s()),i&2){let e=l();g(e.app.uiCtrl().alertList?0:-1),c(2),W(e.notiMgr.alerts())}}function Dd(i,t){if(i&1){let e=E();a(0,"fb-interact-help",115),_("finish",function(){u(e);let o=l();return m(o.handleInteractionFinish())})("cancel",function(){u(e);let o=l();return m(o.closeInteraction())})("undo",function(){u(e);let o=l();return m(o.handleInteractionUndo())}),s()}}function Ld(i,t){if(i&1){let e=E();a(0,"route-nextpoint",118),_("selected",function(o){u(e);let r=l(2);return m(r.routeNextPoint(o))}),s()}if(i&2){let e=l(2);x("index",e.course.courseData().pointIndex)("total",e.course.courseData().pointTotal)("circular",e.app.data.activeRouteCircular)}}function Od(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","VMG")("value",e.app.formatSpeed(e.course.courseData().vmg,!0))("units",e.app.formattedSpeedUnits)}}function Vd(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","BRG")("value",e.course.courseData().bearing.value.toFixed(1))("units",e.course.courseData().bearing.type==="M"?"deg (M)":"deg (T)")}}function Nd(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","XTE")("value",e.course.courseData().xte>10?e.course.courseData().xte.toFixed(1):e.course.courseData().xte.toFixed(3))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Fd(i,t){if(i&1&&v(0,"ap-dial-text",131),i&2){let e=l(4);x("title","DTG")("value",e.course.courseData().route.dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function $d(i,t){if(i&1&&v(0,"ap-dial-ttg",132),i&2){let e=l(4);x("value",e.course.courseData().route.ttg)}}function Bd(i,t){if(i&1&&v(0,"ap-dial-eta",133),i&2){let e=l(4);x("title","ETA")("value",e.course.courseData().route.eta)}}function qd(i,t){if(i&1&&(h(0,Fd,1,3,"ap-dial-text",131),h(1,$d,1,1,"ap-dial-ttg",132),h(2,Bd,1,2,"ap-dial-eta",133)),i&2){let e=l(3);g(e.course.courseData().route.dtg?0:-1),c(),g(e.course.courseData().route.ttg?1:-1),c(),g(e.course.courseData().route.eta?2:-1)}}function Ud(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","DTG")("value",e.course.courseData().dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function zd(i,t){if(i&1&&v(0,"ap-dial-ttg",129),i&2){let e=l(3);x("value",e.course.courseData().ttg)}}function jd(i,t){if(i&1&&v(0,"ap-dial-eta",130),i&2){let e=l(3);x("title","ETA")("value",e.course.courseData().eta)}}function Gd(i,t){if(i&1){let e=E();a(0,"div",117)(1,"div",119)(2,"div",120)(3,"button",121),_("click",function(){u(e);let o=l(2);return m(o.openCourseSettings())}),v(4,"mat-icon",122),s(),v(5,"br"),a(6,"button",123),_("click",function(){u(e);let o=l(2);return m(o.autopilot.engage())}),v(7,"mat-icon",124),s()(),a(8,"div")(9,"button",125),_("click",function(){u(e);let o=l(2);return m(o.course.courseRestart())}),a(10,"mat-icon"),p(11,"replay"),s()(),v(12,"br"),a(13,"button",126),_("click",function(){u(e);let o=l(2);return m(o.course.courseReverse())}),a(14,"mat-icon",127),p(15," multiple_stop "),s()()()(),h(16,Od,1,3,"ap-dial-text",128),h(17,Vd,1,3,"ap-dial-text",128),h(18,Nd,1,3,"ap-dial-text",128),h(19,qd,3,3),h(20,Ud,1,3,"ap-dial-text",128),h(21,zd,1,1,"ap-dial-ttg",129),h(22,jd,1,2,"ap-dial-eta",130),s()}if(i&2){let e=l(2);c(6),x("disabled",!e.app.featureFlags().autopilotApi||!e.app.data.vessels.self.autopilot.default),c(),x("color",e.navDataPanel().apModeColor),c(6),x("disabled",!e.app.data.activeRoute),c(),x("color",e.app.data.activeRouteReversed?"primary":"none"),c(2),g(e.course.courseData().vmg?16:-1),c(),g(e.course.courseData().bearing.value?17:-1),c(),g(e.course.courseData().xte?18:-1),c(),g(e.app.data.activeRoute?19:-1),c(),g(e.course.courseData().dtg?20:-1),c(),g(e.course.courseData().ttg?21:-1),c(),g(e.course.courseData().eta?22:-1)}}function Wd(i,t){if(i&1&&(a(0,"div",31),h(1,Ld,1,3,"route-nextpoint",116),h(2,Gd,23,11,"div",117),s()),i&2){let e=l();c(),g(e.navDataPanel().nextPointCtrl?1:-1),c(),g(e.app.config.ui.showCourseData&&e.navDataPanel().show?2:-1)}}function Hd(i,t){if(i&1){let e=E();a(0,"mfb-container",134),_("radarClick",function(){u(e);let o=l();return m(o.toggleRadarPanel())}),s()}if(i&2){let e=l();x("action",e.app.config.display.fab)}}var da="fb-track-api-notice-dismissed",Ct=class i{sideright;fbMap;navDataPanel=U({show:!1,nextPointCtrl:!1,apModeColor:"",apModeText:""});playbackTime=U(null);leftMenuCtrl=U({leftMenuPanel:!1,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1});displayFullscreen=U({active:!1,enabled:document.fullscreenEnabled});features={playbackAPI:!0};mode=0;timers=[];trackApiNoticeShown=!1;instUrl=U(null);selFavourite=-1;vidUrl=U(null);convert=Mt;obsList=[];streamOptions={options:null,toMode:null};mapSetFocus=U("");mapCenter=U([0,0]);audioStatus=U("");isInteracting=be(()=>this.mapInteract.isMeasuring()||this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isBoxSelecting());app=C(ao);infoPanel=C(Vi);mapInteract=C(ti);anchor=C(Zi);notiMgr=C(Hi);course=C(gi);stream=C(li);skres=C(_i);gpxExport=C(so);skresOther=C(fi);signalk=C(Jn);dom=C(pe);overlayContainer=C(On);bottomSheet=C(Qn);dialog=C(qn);wakeLock=C(zn);settings=C(io);autopilot=C(Yi);radarApi=C(ci);symbols=C(ei);routeBuffers=C(di);plotterExt=C(j);temporaryRoutes=C(Ni);whatsNew=C(ut);constructor(){this.app.data.vessels.active=this.app.data.vessels.self,oe(()=>{this.app.debug("** skAuthChange Event:",this.app.skAuthChange()),this.handleSKAuthChange()}),oe(()=>{this.app.debug("** kioskMode Event:",this.app.kioskMode()),this.toggleSuppressContextMenu(this.app.kioskMode())}),oe(()=>{this.handleSelectionEnded(this.mapInteract.selection())}),oe(()=>{this.app.uiConfig(),this.handleSettingChangeEvent(void 0)}),oe(()=>{this.infoPanel.opened()||this.app.instrumentPanel().activate?this.sideright?.opened||this.openDrawer():this.sideright?.opened&&this.closeDrawer()}),oe(()=>{let t=this.app.mapMoveRequest();t&&(this.app.uiConfig.update(e=>e.mapMove?cn(ln({},e),{mapMove:!1}):e),this.centerAndZoom(t.center,t.zoom))})}ngAfterViewInit(){setTimeout(()=>{this.app.config.display.disableWakelock||this.wakeLock.enable()},500)}enableAudio(){this.app.audio.context&&this.app.audio.context.resume()}ngOnInit(){this.whatsNew.init(),this.audioStatus.update(()=>this.app.audio.context.state),this.app.debug("audio state:",this.audioStatus()),this.app.audio.context.onstatechange=()=>{this.app.debug("audio statechange:",this.app.audio.context.state),this.audioStatus.update(()=>this.app.audio.context.state)},this.mapCenter.update(()=>this.app.config.map.center),this.app.instrumentPanel.update(t=>Object.assign({},t,{activate:!this.app.config.display.plugins.startOnOpen})),this.setDarkTheme(),this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),this.connectSignalKServer(),this.obsList.push(this.stream.delta$().subscribe(t=>this.onMessage(t))),this.obsList.push(this.stream.connect$().subscribe(t=>this.onConnect(t))),this.obsList.push(this.stream.close$().subscribe(t=>this.onClose(t))),this.obsList.push(this.stream.error$().subscribe(t=>this.onError(t))),this.obsList.push(this.stream.trail$().subscribe(t=>this.handleTrailUpdate(t))),this.obsList.push(this.stream.trackSource$().subscribe(t=>this.handleTrackSource(t))),this.obsList.push(this.settings.change$.subscribe(t=>this.handleSettingChangeEvent(t))),document.addEventListener("fullscreenchange",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!!document.fullscreenElement}))}),document.addEventListener("fullscreenerror",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!1}))})}ngOnDestroy(){this.stopTimers(),this.stream.terminate(),this.signalk.disconnect(),this.obsList.forEach(t=>t.unsubscribe())}getOrientation(){return this.app.uiConfig().mapNorthUp?"rotate(0deg)":"rotate("+(0-this.app.data.vessels.active.orientation)+"rad)"}showRadarPanel(){if(!this.radarApi.hasWebGL){this.radarApi.showNoWebGLMessage();return}this.app.instrumentPanel().open&&this.closeInstrumentPanel(),this.connectRadar(),this.infoPanel.openRadar(this.radarApi.radar()),this.focusMap()}toggleRadarPanel(){this.infoPanel.item()?.type==="radars"?(this.infoPanel.close(),this.closeDrawer()):this.showRadarPanel()}connectRadar(){this.app.uiCtrl().radarLayer||this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!0}))}disconnectRadar(){this.app.uiCtrl().radarLayer&&this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!1}))}toggleMoveMap(t=!1){this.app.uiConfig.update(e=>{let n=t?!1:!e.mapMove;return Object.assign({},e,{mapMove:n})}),this.focusMap()}resumeMoveMap(){this.app.uiConfig.update(t=>Object.assign({},t,{mapMove:!0})),this.focusMap()}toggleNorthUp(){this.app.uiConfig.update(t=>Object.assign({},t,{mapNorthUp:!t.mapNorthUp})),this.focusMap()}toggleToolbarButtons(){this.app.uiConfig.update(t=>Object.assign({},t,{toolbarButtons:!t.toolbarButtons})),this.focusMap()}toggleConstrainMapZoom(){this.app.uiConfig.update(t=>Object.assign({},t,{mapConstrainZoom:!t.mapConstrainZoom})),this.skres.setMapZoomRange(),this.focusMap()}invertFeatureLabelColor(){this.app.uiConfig.update(t=>Object.assign({},t,{invertColor:!t.invertColor})),this.focusMap()}toggleAlertList(t){this.app.uiCtrl.update(e=>Object.assign({},e,{alertList:t}))}toggleAutopilotConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{autopilotConsole:t}))}toggleRouteBuilderConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{routeBuilder:t}))}toggleSuppressContextMenu(t){this.app.uiCtrl.update(e=>Object.assign({},e,{suppressContextMenu:t}))}toggleFullscreen(){let t=document.documentElement,e=t.requestFullscreen||t.webkitRequestFullScreen||t.mozRequestFullscreen||t.msRequestFullscreen;e&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():e.call(t),this.focusMap())}darkThemeApplied;setDarkTheme(){let t=window.matchMedia("(prefers-color-scheme: dark)"),e=this.app.config.display.darkMode.source===0&&t.matches||this.app.config.display.darkMode.source===1&&this.app.data.vessels.self.environment.mode==="night"||this.app.config.display.darkMode.source===-1;if(e===this.darkThemeApplied)return;this.darkThemeApplied=e;let n=this.overlayContainer.getContainerElement();e?n.classList.add("dark-theme"):n.classList.remove("dark-theme"),this.app.config.display.darkMode.enabled=e}formatInstrumentsUrl(){let t=`${this.app.hostDef.url}${this.app.config.display.plugins.instruments}`,e=this.app.config.display.plugins.parameters?this.app.config.display.plugins.parameters.length>0&&this.app.config.display.plugins.parameters[0]!=="?"?`?${this.app.config.display.plugins.parameters}`:this.app.config.display.plugins.parameters:"";return e?`${t}/${e}`:t}selectPlugin(t=!1){t?this.selFavourite===-1?this.selFavourite=0:this.selFavourite===this.app.config.display.plugins.favourites.length-1?this.selFavourite=-1:this.selFavourite++:this.selFavourite===-1?this.selFavourite=this.app.config.display.plugins.favourites.length-1:this.selFavourite===0?this.selFavourite=-1:this.selFavourite--;let e=this.selFavourite===-1?this.formatInstrumentsUrl():`${this.app.hostDef.url}${this.app.config.display.plugins.favourites[this.selFavourite]}`;this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(e))}showOverlaysMoved(){this.app.showMsgBox("Overlays have moved",`Overlays have moved to the Chart list.
459
+ `],encapsulation:2,changeDetection:0})}return i})(),Ye=(()=>{class i extends Qe{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Fe(i)))(o||i)}})();static \u0275cmp=D({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[ve([{provide:we,useExisting:i}]),Ae],ngContentSelectors:Je,decls:1,vars:0,template:function(n,o){n&1&&(ue(),X(0))},encapsulation:2,changeDetection:0})}return i})(),Ft=(()=>{class i extends Ot{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=_e(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=kt(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=kt(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Fe(i)))(o||i)}})();static \u0275cmp=D({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(n,o){n&2&&(ke("tabIndex",o.mode!=="side"?"-1":null)("align",null),ne("top",o.fixedInViewport?o.fixedTopGap:null,"px")("bottom",o.fixedInViewport?o.fixedBottomGap:null,"px"),B("mat-drawer-end",o.position==="end")("mat-drawer-over",o.mode==="over")("mat-drawer-push",o.mode==="push")("mat-drawer-side",o.mode==="side")("mat-sidenav-fixed",o.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[ve([{provide:Ot,useExisting:i}]),Ae],ngContentSelectors:Je,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(ue(),a(0,"div",1,0),X(2),s())},dependencies:[we],encapsulation:2,changeDetection:0})}return i})(),mo=(()=>{class i extends Vt{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Fe(i)))(o||i)}})();static \u0275cmp=D({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(n,o,r){if(n&1&&St(r,Ye,5)(r,Ft,5),n&2){let d;F(d=$())&&(o._content=d.first),F(d=$())&&(o._allDrawers=d)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(n,o){n&2&&B("mat-drawer-container-explicit-backdrop",o._backdropOverride)},exportAs:["matSidenavContainer"],features:[ve([{provide:Nt,useExisting:i},{provide:Vt,useExisting:i}]),Ae],ngContentSelectors:Ea,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(n,o){n&1&&(ue(ya),h(0,Ta,1,2,"div",0),X(1),X(2,1),h(3,Sa,2,0,"mat-sidenav-content")),n&2&&(g(o.hasBackdrop?0:-1),c(3),g(o._content?-1:3))},dependencies:[Ye],styles:[Aa],encapsulation:2,changeDetection:0})}return i})(),_o=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=Be({type:i});static \u0275inj=Oe({imports:[Mt,We,Mt]})}return i})();function fo(i){if(!((i.ctrlKey||i.metaKey)&&!i.shiftKey&&i.key.toLowerCase()==="z"))return!1;let e=i.target,n=e?.tagName;return!(n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||e?.isContentEditable)}var ua=_a(aa());function an(i){let t=[];for(let e of i)for(let n of e.events)t.push(`${e.id}:${n.pr}`);return t}function sa(i,t){if(!Array.isArray(t))return i;let e=new Set(t.filter(n=>typeof n=="string"));return i.filter(n=>!e.has(n))}var la="fb-whats-new-seen",ut=class i{corpus=C(lo);_hasUnseen=U(!1);hasUnseen=this._hasUnseen.asReadonly();init(){return L(this,null,function*(){let t=yield this.corpus.load(),e=sa(an(t),this.readSeen());this._hasUnseen.set(e.length>0)})}markAllSeen(){return L(this,null,function*(){let t=yield this.corpus.load();this.writeSeen(an(t)),this._hasUnseen.set(!1)})}readSeen(){try{let t=localStorage.getItem(la);return t===null?null:JSON.parse(t)}catch(t){return null}}writeSeen(t){try{localStorage.setItem(la,JSON.stringify(t))}catch(e){}}static \u0275fac=function(e){return new(e||i)};static \u0275prov=_n({token:i,factory:i.\u0275fac,providedIn:"root"})};var $c=["frame"],mt=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;placed=ce.required();frame;url;detach=null;ngOnInit(){let t=this.service.widgetDef(this.placed().extension,this.placed().widget);this.url=this.sanitizer.bypassSecurityTrustResourceUrl(t?.url?this.service.resolveAssetUrl(t.url):"about:blank"),this.detach=this.service.attachWidget(this.frame.nativeElement,this.placed())}onFrameLoad(){}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-widget"]],viewQuery:function(e,n){if(e&1&&Z($c,7),e&2){let o;F(o=$())&&(n.frame=o.first)}},inputs:{placed:[1,"placed"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"load","src","title"]],template:function(e,n){e&1&&(Cn(0,"iframe",1,0),bn("load",function(){return n.onFrameLoad()}),vn()),e&2&&Ce("src",n.url,le)("title",n.placed().widget)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none;background:transparent}"]})};var Bc=()=>[],qc=(i,t)=>t.type+t.extension,Uc=(i,t)=>t.instanceId;function zc(i,t){if(i&1){let e=E();a(0,"div",3)(1,"mat-icon",4),p(2,"filter_alt"),s(),a(3,"span",5),p(4),s(),a(5,"button",6),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.clearChip(o))}),a(6,"mat-icon"),p(7,"close"),s()()()}if(i&2){let e=t.$implicit;c(4),z(e.label)}}function jc(i,t){if(i&1&&(a(0,"div",2),G(1,zc,8,1,"div",3,qc),s()),i&2){let e=l();B("pe-chips-low",(e.byAnchor().ct??xn(2,Bc)).length>0),c(),W(e.service.filterChips())}}function Gc(i,t){if(i&1&&(a(0,"div",9),v(1,"fb-plotterext-widget",10),s()),i&2){let e=t.$implicit,n=l(2);At(n.cellStyle(e)),c(),x("placed",e)}}function Wc(i,t){if(i&1&&(a(0,"div",7),G(1,Gc,2,3,"div",8,Uc),s()),i&2){let e=t.$implicit,n=l();At(n.anchorStyle(e)),wn("pe-"+e),ke("data-anchor",e),c(),W(n.byAnchor()[e])}}var Hc=1500,ca=8,ft=class i{anchors=Rt;byAnchor=be(()=>{let t={};for(let e of Rt)t[e]=[];for(let e of this.service.activeWidgets())t[e.anchor]?.push(e);return t});service=C(j);zone=C(Y);host=C(se);holdTimer=null;downPoint=null;onPointerDown=t=>this.pointerDown(t);onPointerMove=t=>this.pointerMove(t);onPointerEnd=()=>this.cancelHold();unregisterHitTester=null;ngOnInit(){this.unregisterHitTester=this.service.registerHitTester((t,e)=>this.hitTest(t,e)),this.zone.runOutsideAngular(()=>{document.addEventListener("pointerdown",this.onPointerDown,!0),document.addEventListener("pointermove",this.onPointerMove,!0),document.addEventListener("pointerup",this.onPointerEnd,!0),document.addEventListener("pointercancel",this.onPointerEnd,!0)})}ngOnDestroy(){this.cancelHold(),this.unregisterHitTester?.(),this.unregisterHitTester=null,document.removeEventListener("pointerdown",this.onPointerDown,!0),document.removeEventListener("pointermove",this.onPointerMove,!0),document.removeEventListener("pointerup",this.onPointerEnd,!0),document.removeEventListener("pointercancel",this.onPointerEnd,!0)}anchorStyle(t){let e={"grid-template-columns":`repeat(${Dt[t].cols}, var(--pe-cell-w))`};if(t!=="ct"&&t!=="cb")return e;let n=new Set;for(let r of this.byAnchor()[t]??[]){let d=this.service.widgetDef(r.extension,r.widget),{cols:f}=Lt(d?.size??"1x1");for(let y=r.col;y<r.col+f&&y<2;y++)n.add(y)}let o="0px";return n.size===1&&(o=n.has(0)?"calc((var(--pe-cell-w) + var(--pe-gap)) / 2)":"calc((var(--pe-cell-w) + var(--pe-gap)) / -2)"),e["--pe-center-shift"]=o,e}cellStyle(t){let e=this.service.widgetDef(t.extension,t.widget),{cols:n,rows:o}=Lt(e?.size??"1x1");return{"grid-column":`${t.col+1} / span ${n}`,"grid-row":`${t.row+1} / span ${o}`}}clearChip(t){this.service.clearResourceFilter(t.extension,t.type)}pointerDown(t){if(this.cancelHold(),!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||t.target?.closest(".cdk-overlay-container, mat-dialog-container, button, mat-toolbar, .pe-cell, .pe-chips"))return;let n=this.hitTest(t.clientX,t.clientY);n&&(this.service.cellOccupied(n.anchor,n.cell)||(this.downPoint={x:t.clientX,y:t.clientY},this.holdTimer=setTimeout(()=>{this.holdTimer=null,this.zone.run(()=>this.service.openAddWidgetPicker(n.anchor,n.cell))},Hc)))}pointerMove(t){if(!this.holdTimer||!this.downPoint)return;let e=t.clientX-this.downPoint.x,n=t.clientY-this.downPoint.y;e*e+n*n>ca*ca&&this.cancelHold()}cancelHold(){this.holdTimer&&clearTimeout(this.holdTimer),this.holdTimer=null,this.downPoint=null}hitTest(t,e){let n=this.host.nativeElement.querySelectorAll(".pe-anchor");for(let o of Array.from(n)){let r=o.getBoundingClientRect();if(t<r.left||t>r.right||e<r.top||e>r.bottom)continue;let d=o.dataset.anchor,{cols:f,rows:y}=Dt[d],T=Math.min(f-1,Math.max(0,Math.floor((t-r.left)/r.width*f))),P=Math.min(y-1,Math.max(0,Math.floor((e-r.top)/r.height*y)));return{anchor:d,cell:{col:T,row:P}}}return null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-overlay"]],decls:3,vars:1,consts:[[1,"pe-chips",3,"pe-chips-low"],[1,"pe-anchor",3,"class","style"],[1,"pe-chips"],[1,"pe-chip"],[1,"pe-chip-icon"],[1,"pe-chip-label"],["aria-label","Clear filter",1,"pe-chip-clear",3,"click"],[1,"pe-anchor"],[1,"pe-cell",3,"style"],[1,"pe-cell"],[3,"placed"]],template:function(e,n){e&1&&(h(0,jc,3,3,"div",0),G(1,Wc,3,5,"div",1,qe)),e&2&&(g(n.service.filterChips().length?0:-1),c(),W(n.anchors))},dependencies:[mt,ye,xe],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:2000;pointer-events:none;--pe-cell-w: clamp(96px, 11vw, 150px);--pe-cell-h: clamp(84px, 9.5vw, 124px);--pe-gap: 6px;--pe-margin: 10px}.pe-anchor[_ngcontent-%COMP%]{position:absolute;display:grid;grid-template-rows:repeat(2,var(--pe-cell-h));gap:var(--pe-gap);pointer-events:none}.pe-tr[_ngcontent-%COMP%]{top:0;right:0}.pe-ct[_ngcontent-%COMP%]{top:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-cb[_ngcontent-%COMP%]{bottom:0;left:50%;transform:translate(calc(-50% + var(--pe-center-shift, 0px)))}.pe-bl[_ngcontent-%COMP%]{bottom:0;left:0}.pe-br[_ngcontent-%COMP%]{bottom:0;right:0}.pe-cell[_ngcontent-%COMP%]{pointer-events:auto;overflow:hidden;border-radius:10px;box-shadow:0 1px 5px #00000059}.pe-chips[_ngcontent-%COMP%]{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;pointer-events:auto;z-index:1}.pe-chips-low[_ngcontent-%COMP%]{top:calc(2 * var(--pe-cell-h) + var(--pe-gap) + 10px)}.pe-chip[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;background:#141a20d9;color:#e8edf2;border-radius:16px;padding:3px 6px 3px 10px;font-size:12px;max-width:320px;box-shadow:0 1px 4px #00000059}.pe-chip-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px;color:#29b6f6}.pe-chip-label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-chip-clear[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;border:none;background:#ffffff26;color:#e8edf2;border-radius:50%;width:20px;height:20px;padding:0;cursor:pointer}.pe-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}"]})};var Kc=["frame"],Xc=(i,t)=>t.key;function Zc(i,t){if(i&1&&v(0,"fb-plotterext-runtime",0),i&2){let e=t.$implicit;x("entry",e)}}var sn=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;entry=ce.required();frame;url;detach=null;ngOnInit(){let{extension:t,runtime:e}=this.entry();this.url=this.sanitizer.bypassSecurityTrustResourceUrl(e.url?this.service.resolveAssetUrl(e.url):"about:blank"),this.detach=this.service.attachBackground(this.frame.nativeElement,{extension:t,runtime:e})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)(ge(j),ge(pe))};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-runtime"]],viewQuery:function(e,n){if(e&1&&Z(Kc,7),e&2){let o;F(o=$())&&(n.frame=o.first)}},inputs:{entry:[1,"entry"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms","aria-hidden","true",3,"src","title"]],template:function(e,n){e&1&&Ue(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.entry().runtime.id)},styles:["[_nghost-%COMP%]{display:none}"]})},ht=class i{service=C(j);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-runtimes"]],decls:2,vars:0,consts:[[3,"entry"]],template:function(e,n){e&1&&G(0,Zc,1,1,"fb-plotterext-runtime",0,Xc),e&2&&W(n.service.backgroundRuntimes())},dependencies:[sn],styles:["[_nghost-%COMP%]{display:none}"]})};var Yc=["frame"],Jc=(i,t)=>t.key;function ep(i,t){if(i&1){let e=E();a(0,"div",1)(1,"span"),p(2),s(),a(3,"button",4),_("click",function(){u(e);let o=l();return m(o.service.closeVisiblePanel())}),a(4,"mat-icon"),p(5,"close"),s()()()}i&2&&(c(2),z(t.panel.title))}function tp(i,t){if(i&1&&(a(0,"div",5),v(1,"fb-plotterext-panel-frame",6),s()),i&2){let e=t.$implicit;B("pe-body-hidden",!e.visible),c(),x("panelKey",e.key)("extension",e.extension)("panel",e.panel)}}var ln=class i{panelKey=ce.required();extension=ce.required();panel=ce.required();frame;url;detach=null;service=C(j);sanitizer=C(pe);ngOnInit(){this.url=this.sanitizer.bypassSecurityTrustResourceUrl(this.panel().url?this.service.resolveAssetUrl(this.panel().url):"about:blank"),this.detach=this.service.attachPanel(this.frame.nativeElement,{extension:this.extension(),panel:this.panel(),close:()=>this.service.closePanel(this.panelKey())})}ngOnDestroy(){this.detach?.(),this.detach=null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-panel-frame"]],viewQuery:function(e,n){if(e&1&&Z(Yc,7),e&2){let o;F(o=$())&&(n.frame=o.first)}},inputs:{panelKey:[1,"panelKey"],extension:[1,"extension"],panel:[1,"panel"]},decls:2,vars:2,consts:[["frame",""],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"]],template:function(e,n){e&1&&Ue(0,"iframe",1,0),e&2&&Ce("src",n.url,le)("title",n.panel().title)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}"]})},gt=class i{service=C(j);isOpen=be(()=>!!this.service.visiblePanel());constructor(){let t=!0;oe(()=>{if(this.isOpen(),t){t=!1;return}this.service.pulseMapResize()})}onTransitionEnd(t){t.propertyName==="width"&&this.service.pulseMapResize(80)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["fb-plotterext-panel-drawer"]],hostVars:2,hostBindings:function(e,n){e&2&&B("pe-open",n.isOpen())},decls:5,vars:1,consts:[[1,"pe-drawer-inner",3,"transitionend"],[1,"pe-drawer-head"],[1,"pe-drawer-bodies"],[1,"pe-drawer-body",3,"pe-body-hidden"],["mat-icon-button","","aria-label","Close panel",3,"click"],[1,"pe-drawer-body"],[3,"panelKey","extension","panel"]],template:function(e,n){if(e&1&&(a(0,"div",0),_("transitionend",function(r){return n.onTransitionEnd(r)}),h(1,ep,6,1,"div",1),a(2,"div",2),G(3,tp,2,5,"div",3,Jc),s()()),e&2){let o;c(),g((o=n.service.visiblePanel())?1:-1,o),c(2),W(n.service.openPanels())}},dependencies:[Ze,Xe,ye,xe,ln],styles:["[_nghost-%COMP%]{flex:0 0 auto;height:100%;width:0;max-width:92vw;overflow:hidden;background:#1d242b;color:#e8edf2}.pe-open[_nghost-%COMP%]{width:390px;box-shadow:-2px 0 8px #0006}.pe-drawer-inner[_ngcontent-%COMP%]{width:390px;max-width:92vw;height:100%;display:flex;flex-direction:column}.pe-drawer-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 4px 14px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.12);flex:0 0 auto}.pe-drawer-bodies[_ngcontent-%COMP%]{flex:1;min-height:0;position:relative}.pe-drawer-body[_ngcontent-%COMP%]{position:absolute;inset:0}.pe-body-hidden[_ngcontent-%COMP%]{visibility:hidden;pointer-events:none}"]})};var np=["sideright"],ip=["fbMap"],op=()=>[Oi],rp=()=>[qi],ap=()=>[Di],sp=()=>[vi],lp=()=>[wi],cp=()=>[Li],pp=()=>[Ti],dp=()=>[zi],up=()=>[Wi],mp=(i,t)=>({"dark-theme":i,"app-night":t}),he=(i,t)=>({"button-primary":i,"button-toolbar":t}),_p=(i,t)=>t.extension+"/"+t.button.id,fp=(i,t)=>t[0];function hp(i,t){if(i&1){let e=E();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("resourceGroups",!0))}),a(1,"mat-icon"),p(2,"category"),s(),p(3," \xA0Groups "),s()}}function gp(i,t){if(i&1){let e=E();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.showOverlaysMoved())}),a(1,"mat-icon"),p(2,"layers"),s(),p(3," \xA0Overlays "),s()}}function Cp(i,t){if(i&1){let e=E();a(0,"button",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("trackList",!0))}),a(1,"mat-icon",33),p(2,"show_chart"),s(),p(3," \xA0Tracks "),s()}}function vp(i,t){if(i&1){let e=E();a(0,"div")(1,"button",9),_("click",function(){let o=u(e).$implicit,r=l(2);return m(r.openExperiment({choice:o,value:null}))}),v(2,"mat-icon",34),p(3),s()()}if(i&2){let e=t.$implicit;c(3),me(" \xA0",e," ")}}function bp(i,t){if(i&1&&(a(0,"div"),G(1,vp,4,1,"div",null,qe),s()),i&2){let e=l();c(),W(e.app.config.resources.paths.sort())}}function wp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearTrail(o.app.data.serverTrail))}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.trailToRoute())}),a(6,"mat-icon"),p(7,"insights"),s(),a(8,"span"),p(9,"Trail to Route"),s()(),v(10,"mat-divider")}if(i&2){let e=l();c(4),me("",e.app.data.serverTrail?"Refresh":"Clear"," Trail")}}function xp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.clearDestination())}),a(1,"mat-icon"),p(2,"clear_all"),s(),a(3,"span"),p(4,"Stop Navigating"),s()(),a(5,"a",9),_("click",function(){u(e);let o=l();return m(o.clearCourseData())}),a(6,"mat-icon"),p(7,"clear_all"),s(),a(8,"span"),p(9,"Clear Course Data"),s()(),v(10,"mat-divider")}}function yp(i,t){if(i&1){let e=E();v(0,"mat-divider"),a(1,"a",9),_("click",function(){u(e);let o=l();return m(o.showWeather("forecast"))}),a(2,"mat-icon"),p(3,"air"),s(),a(4,"span"),p(5,"Weather Forecast"),s()()}}function Ep(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.skres.newWaypointAt(o.app.data.vessels.active.position))}),a(1,"mat-icon",11),p(2,"add_location"),s(),a(3,"span"),p(4,"Add Waypoint at Vessel"),s()()}}function Tp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.drawFeature("note"))}),a(1,"mat-icon"),p(2,"local_offer"),s(),a(3,"span"),p(4,"Add Note"),s()()}}function Sp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showLogin(null,!1))}),a(1,"mat-icon",35),p(2," account_circle "),s(),a(3,"span"),p(4),s()(),v(5,"mat-divider")}if(i&2){let e=l();c(),x("matBadgeHidden",e.app.isLoggedIn()),c(3),z(e.app.isLoggedIn()?"Change User":"Login")}}function Ap(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.displayLeftMenu("anchorWatch",!0))}),a(1,"mat-icon"),p(2,"anchor"),s(),a(3,"span"),p(4,"Anchor Watch"),s()()}}function kp(i,t){i&1&&(a(0,"mat-icon",16),p(1,"check_box"),s())}function Mp(i,t){i&1&&v(0,"mat-icon",36)}function Pp(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showRadarPanel())}),h(1,kp,2,0,"mat-icon",16)(2,Mp,1,0,"mat-icon",36),a(3,"span"),p(4,"Radar Overlay"),s()()}if(i&2){let e=l();c(),g(e.app.uiCtrl().radarLayer?1:2)}}function Ip(i,t){if(i&1){let e=E();a(0,"a",9),_("click",function(){u(e);let o=l();return m(o.showPlaybackSettings())}),a(1,"mat-icon"),p(2,"history"),s(),a(3,"span"),p(4,"Playback History"),s()()}}function Rp(i,t){if(i&1){let e=E();a(0,"radar-panel",43),_("connect",function(){u(e);let o=l(2);return m(o.connectRadar())})("disconnect",function(){u(e);let o=l(2);return m(o.disconnectRadar())}),s()}if(i&2){let e=l(2);x("radar",e.infoPanel.item().resource)("id",e.infoPanel.item().id)}}function Dp(i,t){if(i&1){let e=E();a(0,"note-panel",44),_("edit",function(o){u(e);let r=l(2);return m(r.skres.showNoteEditor({id:o}))})("move",function(o){u(e);let r=l(2);return m(r.onNoteMove(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("note",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("interacting",e.isInteracting())}}function Lp(i,t){if(i&1){let e=E();a(0,"region-panel",45),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editRegionInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("region",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Op(i,t){if(i&1){let e=E();a(0,"waypoint-panel",46),_("edit",function(o){u(e);let r=l(2);return m(r.skres.editWaypointInfo(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("waypoint",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Vp(i,t){if(i&1){let e=E();a(0,"route-panel",47),_("edit",function(o){u(e);let r=l(2);return m(r.onRouteInfoEdit(o))})("activate",function(o){u(e);let r=l(2);return m(r.activateRoute(o))})("panTo",function(o){u(e);let r=l(2);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(2);x("route",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Np(i,t){if(i&1){let e=E();a(0,"info-panel",37),_("closed",function(){u(e);let o=l();return m(o.closeDrawer())}),h(1,Rp,1,2,"radar-panel",38),h(2,Dp,1,3,"note-panel",39),h(3,Lp,1,4,"region-panel",40),h(4,Op,1,4,"waypoint-panel",41),h(5,Vp,1,4,"route-panel",42),s()}if(i&2){let e,n,o,r,d,f=l();c(),g(((e=f.infoPanel.item())==null?null:e.type)==="radars"?1:-1),c(),g(((n=f.infoPanel.item())==null?null:n.type)==="notes"?2:-1),c(),g(((o=f.infoPanel.item())==null?null:o.type)==="regions"?3:-1),c(),g(((r=f.infoPanel.item())==null?null:r.type)==="waypoints"?4:-1),c(),g(((d=f.infoPanel.item())==null?null:d.type)==="routes"?5:-1)}}function Fp(i,t){if(i&1){let e=E();a(0,"a",55),_("click",function(){u(e);let o=l(2);return m(o.closeInstrumentPanel())}),a(1,"mat-icon"),p(2,"open_in_new"),s()()}if(i&2){let e=l(2);x("href",e.instUrl(),hn)}}function $p(i,t){if(i&1&&v(0,"iframe",54),i&2){let e=l(2);x("src",e.instUrl(),le)}}function Bp(i,t){if(i&1){let e=E();a(0,"div",22)(1,"mat-nav-list")(2,"a",48)(3,"a",49),_("click",function(){u(e);let o=l();return m(o.closeInstrumentPanel())}),a(4,"mat-icon"),p(5,"arrow_forward"),s()(),p(6," \xA0\xA0\xA0\xA0 "),h(7,Fp,3,1,"a",50),a(8,"a",51),_("click",function(){u(e);let o=l();return m(o.selectPlugin())}),a(9,"mat-icon"),p(10,"arrow_back_ios"),s()(),a(11,"a",52),_("click",function(){u(e);let o=l();return m(o.selectPlugin(!0))}),a(12,"mat-icon"),p(13,"arrow_forward_ios"),s()()(),v(14,"mat-divider"),s(),a(15,"div",53),h(16,$p,1,1,"iframe",54),s()()}if(i&2){let e=l();c(7),g(e.app.config.display.plugins.instruments?7:-1),c(),x("disabled",e.app.config.display.plugins.favourites.length===0),c(3),x("disabled",e.app.config.display.plugins.favourites.length===0),c(5),g(e.app.instrumentPanel().activate?16:-1)}}function qp(i,t){i&1&&(a(0,"div",24),v(1,"mat-progress-bar",56),s())}function Up(i,t){if(i&1){let e=E();a(0,"autopilot-console",57),_("close",function(){u(e);let o=l();return m(o.toggleAutopilotConsole(!1))}),s()}if(i&2){let e=l();x("apData",e.app.data.vessels.self.autopilot)}}function zp(i,t){if(i&1){let e=E();a(0,"route-builder",58),_("save",function(o){u(e);let r=l();return m(r.skres.newRouteAt(o.coordinates,o.meta))})("close",function(){u(e);let o=l();return m(o.toggleRouteBuilderConsole(!1))}),s()}}function jp(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",78),_("click",function(){u(e);let o=l(3);return m(o.showSelectMode())}),a(2,"mat-icon"),p(3,"cancel"),s()()()}}function Gp(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",79),_("click",function(){u(e);let o=l(3);return m(o.openFeatureBrowser())}),a(2,"mat-icon"),p(3,"tips_and_updates"),s()()()}}function Wp(i,t){if(i&1){let e=E();a(0,"div",62)(1,"div",60)(2,"button",69),_("click",function(){u(e);let o=l(2);return m(o.toggleAlertList(!0))}),v(3,"mat-icon",70),s()(),a(4,"div",60)(5,"button",71)(6,"mat-icon"),p(7,"layers"),s()()(),a(8,"div",60)(9,"button",72)(10,"mat-icon"),p(11,"edit"),s()()(),a(12,"div",60)(13,"button",73),_("click",function(){u(e);let o=l(2);return m(o.toggleNorthUp())}),v(14,"mat-icon",74),s()(),a(15,"div",60)(16,"button",75),_("click",function(){u(e);let o=l(2);return m(o.toggleMoveMap())}),v(17,"mat-icon",76),s()(),a(18,"div",60)(19,"button",77)(20,"mat-icon"),p(21,"more_horiz"),s()()(),h(22,jp,4,0,"div",60),h(23,Gp,4,0,"div",60),s()}if(i&2){let e=l(2),n=Me(3),o=Me(41),r=Me(73);c(2),x("matBadge",e.notiMgr.alerts().length)("matBadgeHidden",e.notiMgr.alerts().length===0),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",n),c(4),x("disabled",e.isInteracting())("matMenuTriggerFor",r),c(4),x("ngClass",re(16,he,!e.app.uiConfig().mapNorthUp,e.app.uiConfig().mapNorthUp))("matTooltip",e.app.uiConfig().mapNorthUp?"Show Heading Up":"Show North Up"),c(),x("svgIcon",e.app.uiConfig().mapNorthUp?"heading-n-up":"heading-h-up"),c(2),x("ngClass",re(19,he,e.app.uiConfig().mapMove,!e.app.uiConfig().mapMove))("disabled",!e.app.data.vessels.showSelf)("matTooltip",e.app.uiConfig().mapMove?"Turn off Follow Vessel":"Center & Follow Vessel"),c(3),x("disabled",e.isInteracting())("matMenuTriggerFor",o),c(3),g(e.mode===1?22:-1),c(),g(e.whatsNew.hasUnseen()?23:-1)}}function Hp(i,t){if(i&1){let e=E();a(0,"route-list",81),_("activate",function(o){u(e);let r=l(4);return m(r.activateRoute(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("routes",o.id))})("points",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o.id,type:"route"}))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"route",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeRoute",e.app.data.activeRoute)("editingRouteId",e.app.data.editingId)}}function Kp(i,t){i&1&&(J(0,Hp,1,2),ee(1,0,op),te())}function Xp(i,t){if(i&1){let e=E();a(0,"waypoint-list",82),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("waypoints",o.id))})("goto",function(o){u(e);let r=l(4);return m(r.course.navigateToWaypoint(o.id))})("deactivate",function(){u(e);let o=l(4);return m(o.clearDestination())})("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("notes",function(o){u(e);let r=l(4);return m(r.skres.showRelatedNotes(o.id,"waypoint",o.readOnly))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("activeWaypoint",e.app.data.activeWaypoint)("editingWaypointId",e.app.data.editingId)}}function Zp(i,t){i&1&&(J(0,Xp,1,2),ee(1,0,rp),te())}function Qp(i,t){if(i&1){let e=E();a(0,"chart-list",83),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("selectedCharts",e.app.config.selections.charts)}}function Yp(i,t){i&1&&(J(0,Qp,1,1),ee(1,0,ap),te())}function Jp(i,t){if(i&1){let e=E();a(0,"note-list",84),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("notes",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("notes",e.skres.notes())}}function ed(i,t){i&1&&(J(0,Jp,1,1),ee(1,0,sp),te())}function td(i,t){if(i&1){let e=E();a(0,"region-list",85),_("select",function(o){u(e);let r=l(4);return m(r.handleResourceInfo("regions",o.id))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(4);x("regions",e.skres.regions())}}function nd(i,t){i&1&&(J(0,td,1,1),ee(1,0,lp),te())}function id(i,t){if(i&1){let e=E();a(0,"track-list",86),_("center",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function od(i,t){i&1&&(J(0,id,1,0),ee(1,0,cp),te())}function rd(i,t){if(i&1){let e=E();a(0,"ais-list",87),_("properties",function(o){u(e);let r=l(4);return m(r.featureProperties({id:o,type:"ais"}))})("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())})("focusVessel",function(o){u(e);let r=l(4);return m(r.switchActiveVessel(o))})("pan",function(o){u(e);let r=l(4);return m(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=l(4);x("focusId",e.app.data.vessels.activeId)}}function ad(i,t){i&1&&(J(0,rd,1,1),ee(1,0,pp),te())}function sd(i,t){if(i&1){let e=E();a(0,"group-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function ld(i,t){i&1&&(J(0,sd,1,0),ee(1,0,dp),te())}function cd(i,t){if(i&1){let e=E();a(0,"anchor-watch",88),_("closed",function(){u(e);let o=l(3);return m(o.displayLeftMenu())}),s()}if(i&2){let e=l(3);x("showSelf",e.app.data.vessels.showSelf)("radius",e.anchor.radius())("raised",e.anchor.raised())}}function pd(i,t){if(i&1){let e=E();a(0,"weather-list",37),_("closed",function(){u(e);let o=l(4);return m(o.displayLeftMenu())}),s()}}function dd(i,t){i&1&&(J(0,pd,1,0),ee(1,0,up),te())}function ud(i,t){if(i&1&&(a(0,"div",63),h(1,Kp,3,0),h(2,Zp,3,0),h(3,Yp,3,0),h(4,ed,3,0),h(5,nd,3,0),h(6,od,3,0),h(7,ad,3,0),h(8,ld,3,0),h(9,cd,1,3,"anchor-watch",80),h(10,dd,3,0),s()),i&2){let e=l(2);c(),g(e.leftMenuCtrl().routeList?1:-1),c(),g(e.leftMenuCtrl().waypointList?2:-1),c(),g(e.leftMenuCtrl().chartList?3:-1),c(),g(e.leftMenuCtrl().noteList?4:-1),c(),g(e.leftMenuCtrl().regionList?5:-1),c(),g(e.leftMenuCtrl().trackList?6:-1),c(),g(e.leftMenuCtrl().aisList?7:-1),c(),g(e.leftMenuCtrl().resourceGroups?8:-1),c(),g(e.leftMenuCtrl().anchorWatch?9:-1),c(),g(e.leftMenuCtrl().weatherList?10:-1)}}function md(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",89),p(2,"visibility_off "),s()())}function _d(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",90),p(2,"compare_arrows "),s()())}function fd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",91),p(2,"directions_boat "),s()())}function hd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",92),p(2,"local_offer "),s()())}function gd(i,t){i&1&&(a(0,"div",65)(1,"mat-icon",93),p(2,"signal_wifi_statusbar_connected_no_internet_4 "),s()())}function Cd(i,t){if(i&1){let e=E();a(0,"button",99),_("click",function(){u(e);let o=l(4);return m(o.openInstrumentPanel())}),a(1,"mat-icon"),p(2,"av_timer"),s()()}}function vd(i,t){if(i&1&&(a(0,"div",95),h(1,Cd,3,0,"button",98),v(2,"br"),p(3,"\xA0"),v(4,"br"),p(5,"\xA0 "),s()),i&2){let e=l(3);c(),g(!e.app.instrumentPanel().open&&!e.infoPanel.opened()&&!e.isInteracting()&&!e.app.data.vessels.activeId?1:-1)}}function bd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",100),_("click",function(){u(e);let o=l(3);return m(o.enableAudio())}),a(2,"mat-icon",33),p(3,"volume_off"),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}}function wd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",101),_("click",function(){u(e);let o=l(3);return m(o.toggleFullscreen())}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(3,he,e.displayFullscreen().active,!e.displayFullscreen().active))("matTooltip",e.displayFullscreen().active?"Exit Fullscreen ":"Go Fullscreen"),c(2),me(" ",e.displayFullscreen().active?"fullscreen_exit ":"fullscreen"," ")}}function xd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"fb-experiments",102),_("selected",function(o){u(e);let r=l(3);return m(r.openExperiment(o))}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}}function yd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"pip-video",103),_("click",function(){u(e);let o=l(3);return m(o.focusMap())}),s(),v(2,"br"),p(3,"\xA0"),v(4,"br"),s()}if(i&2){let e=l(3);c(),x("src",e.vidUrl())("muted",!0)}}function Ed(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",104),_("click",function(){u(e);let o=l(3);return m(o.toggleAutopilotConsole(!o.app.uiCtrl().autopilotConsole))}),v(2,"mat-icon",105),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(1,he,e.app.data.vessels.self.autopilot.enabled,!e.app.data.vessels.self.autopilot.enabled))}}function Td(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",106),_("click",function(){u(e);let o=l(3);return m(o.toggleRadarPanel())}),v(2,"mat-icon",36),s(),v(3,"br"),p(4,"\xA0"),v(5,"br"),s()}if(i&2){let e=l(3);c(),x("ngClass",re(2,he,e.app.uiCtrl().radarLayer,!e.app.uiCtrl().radarLayer))("disabled",e.app.instrumentPanel().open)}}function Sd(i,t){if(i&1){let e=E();a(0,"div",60)(1,"button",107),_("click",function(){let o=u(e).$implicit,r=l(3);return m(r.plotterExt.handleButtonAction(o.extension,o.button))}),a(2,"mat-icon"),p(3),s()(),v(4,"br"),p(5,"\xA0"),v(6,"br"),s()}if(i&2){let e=t.$implicit;c(),x("matTooltip",e.button.title),c(2),z(e.button.icon||"extension")}}function Ad(i,t){if(i&1){let e=E();a(0,"div",94),h(1,vd,6,1,"div",95),h(2,bd,7,0,"div",60),h(3,wd,7,6,"div",60),a(4,"div",60)(5,"button",96),_("click",function(){u(e);let o=l(2);return m(o.toggleConstrainMapZoom())}),a(6,"mat-icon"),p(7,"zoom_in_map"),s()(),v(8,"br"),p(9,"\xA0"),v(10,"br"),s(),a(11,"div",60)(12,"button",97),_("click",function(){u(e);let o=l(2);return m(o.invertFeatureLabelColor())}),a(13,"mat-icon"),p(14),s()(),v(15,"br"),p(16,"\xA0"),v(17,"br"),s(),h(18,xd,5,0,"div",60),h(19,yd,5,2,"div",60),h(20,Ed,6,4,"div",60),h(21,Td,6,5,"div",60),G(22,Sd,7,2,"div",60,_p),s()}if(i&2){let e=l(2);ne("top",60+e.plotterExt.toolbarTopOffset(),"px"),c(),g(e.app.instrumentPanelAvailable()&&e.app.config.display.plugins.instruments?1:-1),c(),g(e.audioStatus()!=="running"?2:-1),c(),g(e.app.isTopWindow()&&e.displayFullscreen().enabled?3:-1),c(2),x("ngClass",re(12,he,e.app.uiConfig().mapConstrainZoom,!e.app.uiConfig().mapConstrainZoom)),c(7),x("ngClass",re(15,he,e.app.uiConfig().invertColor,!e.app.uiConfig().invertColor)),c(2),z("invert_colors"),c(4),g(e.app.config.experiments?18:-1),c(),g(e.app.config.resources.video.enable&&e.app.config.resources.video.url?19:-1),c(),g(e.app.featureFlags().autopilotApi&&e.app.data.vessels.self.autopilot.default&&e.app.config.display.fab!=="autopilot"?20:-1),c(),g(e.app.featureFlags().radarApi&&e.radarApi.radarId()&&e.app.config.display.fab!=="radar"?21:-1),c(),W(e.plotterExt.toolbarButtons())}}function kd(i,t){if(i&1){let e=E();a(0,"div",59)(1,"div",60)(2,"button",61)(3,"mat-icon"),p(4,"menu"),s()()()(),h(5,Wp,24,22,"div",62),h(6,ud,11,10,"div",63),a(7,"div",64),h(8,md,3,0,"div",65),h(9,_d,3,0,"div",65),h(10,fd,3,0,"div",65),h(11,hd,3,0,"div",65),h(12,gd,3,0,"div",65),s(),a(13,"div",66)(14,"div",60)(15,"button",67),_("click",function(){u(e);let o=l();return m(o.toggleToolbarButtons())}),a(16,"mat-icon"),p(17),s()()()(),h(18,Ad,24,18,"div",68)}if(i&2){let e=l(),n=Me(109);c(2),x("disabled",e.isInteracting())("matBadgeHidden",e.app.isLoggedIn())("matMenuTriggerFor",n),c(3),g(e.app.uiConfig().toolbarButtons?5:-1),c(),g(e.leftMenuCtrl().leftMenuPanel?6:-1),c(),ne("top",20+e.plotterExt.toolbarTopOffset(),"px"),c(),g(!e.wakeLock.enabled()&&e.wakeLock.isAvailable?8:-1),c(),g(e.app.uiConfig().showCourseData?-1:9),c(),g(e.app.uiConfig().showAisTargets?-1:10),c(),g(e.app.uiConfig().showNotes?-1:11),c(),g(e.stream.watchDogAlarm()?12:-1),c(),ne("top",e.plotterExt.toolbarTopOffset(),"px"),c(2),x("matTooltip",e.app.uiConfig().toolbarButtons?"Hide Toobars":"Show Toobars"),c(2),z(e.app.uiConfig().toolbarButtons?"apps":"apps_outage"),c(),g(e.app.uiConfig().toolbarButtons?18:-1)}}function Md(i,t){if(i&1&&(a(0,"div",30)(1,"div",108)(2,"mat-icon"),p(3,"access_time"),s(),a(4,"b"),p(5,"Playback:"),s()(),a(6,"div",109),p(7),s()()),i&2){let e=l();c(7),z(e.playbackTime())}}function Pd(i,t){if(i&1){let e=E();a(0,"alert-list",113),_("closed",function(){u(e);let o=l(2);return m(o.toggleAlertList(!1))}),s()}if(i&2){let e=l(2);x("alerts",e.notiMgr.alerts())}}function Id(i,t){if(i&1){let e=E();a(0,"span",112)(1,"fb-alert",114),_("nextPoint",function(){u(e);let o=l(2);return m(o.course.coursePointIndex(o.course.courseData().pointIndex+1))})("routeEnd",function(){u(e);let o=l(2);return m(o.clearDestination())}),s()()}if(i&2){let e=t.$implicit,n=l(2);c(),x("audioStatus",n.audioStatus())("alert",e[1])("acknowledged",e[1].acknowledged)("silenced",e[1].silenced)("doNotPlaySound",n.app.config.display.muteSound)}}function Rd(i,t){if(i&1&&(h(0,Pd,1,1,"alert-list",110),a(1,"div",111),G(2,Id,2,5,"span",112,fp),s()),i&2){let e=l();g(e.app.uiCtrl().alertList?0:-1),c(2),W(e.notiMgr.alerts())}}function Dd(i,t){if(i&1){let e=E();a(0,"fb-interact-help",115),_("finish",function(){u(e);let o=l();return m(o.handleInteractionFinish())})("cancel",function(){u(e);let o=l();return m(o.closeInteraction())})("undo",function(){u(e);let o=l();return m(o.handleInteractionUndo())}),s()}}function Ld(i,t){if(i&1){let e=E();a(0,"route-nextpoint",118),_("selected",function(o){u(e);let r=l(2);return m(r.routeNextPoint(o))}),s()}if(i&2){let e=l(2);x("index",e.course.courseData().pointIndex)("total",e.course.courseData().pointTotal)("circular",e.app.data.activeRouteCircular)}}function Od(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","VMG")("value",e.app.formatSpeed(e.course.courseData().vmg,!0))("units",e.app.formattedSpeedUnits)}}function Vd(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","BRG")("value",e.course.courseData().bearing.value.toFixed(1))("units",e.course.courseData().bearing.type==="M"?"deg (M)":"deg (T)")}}function Nd(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","XTE")("value",e.course.courseData().xte>10?e.course.courseData().xte.toFixed(1):e.course.courseData().xte.toFixed(3))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Fd(i,t){if(i&1&&v(0,"ap-dial-text",131),i&2){let e=l(4);x("title","DTG")("value",e.course.courseData().route.dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function $d(i,t){if(i&1&&v(0,"ap-dial-ttg",132),i&2){let e=l(4);x("value",e.course.courseData().route.ttg)}}function Bd(i,t){if(i&1&&v(0,"ap-dial-eta",133),i&2){let e=l(4);x("title","ETA")("value",e.course.courseData().route.eta)}}function qd(i,t){if(i&1&&(h(0,Fd,1,3,"ap-dial-text",131),h(1,$d,1,1,"ap-dial-ttg",132),h(2,Bd,1,2,"ap-dial-eta",133)),i&2){let e=l(3);g(e.course.courseData().route.dtg?0:-1),c(),g(e.course.courseData().route.ttg?1:-1),c(),g(e.course.courseData().route.eta?2:-1)}}function Ud(i,t){if(i&1&&v(0,"ap-dial-text",128),i&2){let e=l(3);x("title","DTG")("value",e.course.courseData().dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function zd(i,t){if(i&1&&v(0,"ap-dial-ttg",129),i&2){let e=l(3);x("value",e.course.courseData().ttg)}}function jd(i,t){if(i&1&&v(0,"ap-dial-eta",130),i&2){let e=l(3);x("title","ETA")("value",e.course.courseData().eta)}}function Gd(i,t){if(i&1){let e=E();a(0,"div",117)(1,"div",119)(2,"div",120)(3,"button",121),_("click",function(){u(e);let o=l(2);return m(o.openCourseSettings())}),v(4,"mat-icon",122),s(),v(5,"br"),a(6,"button",123),_("click",function(){u(e);let o=l(2);return m(o.autopilot.engage())}),v(7,"mat-icon",124),s()(),a(8,"div")(9,"button",125),_("click",function(){u(e);let o=l(2);return m(o.course.courseRestart())}),a(10,"mat-icon"),p(11,"replay"),s()(),v(12,"br"),a(13,"button",126),_("click",function(){u(e);let o=l(2);return m(o.course.courseReverse())}),a(14,"mat-icon",127),p(15," multiple_stop "),s()()()(),h(16,Od,1,3,"ap-dial-text",128),h(17,Vd,1,3,"ap-dial-text",128),h(18,Nd,1,3,"ap-dial-text",128),h(19,qd,3,3),h(20,Ud,1,3,"ap-dial-text",128),h(21,zd,1,1,"ap-dial-ttg",129),h(22,jd,1,2,"ap-dial-eta",130),s()}if(i&2){let e=l(2);c(6),x("disabled",!e.app.featureFlags().autopilotApi||!e.app.data.vessels.self.autopilot.default),c(),x("color",e.navDataPanel().apModeColor),c(6),x("disabled",!e.app.data.activeRoute),c(),x("color",e.app.data.activeRouteReversed?"primary":"none"),c(2),g(e.course.courseData().vmg?16:-1),c(),g(e.course.courseData().bearing.value?17:-1),c(),g(e.course.courseData().xte?18:-1),c(),g(e.app.data.activeRoute?19:-1),c(),g(e.course.courseData().dtg?20:-1),c(),g(e.course.courseData().ttg?21:-1),c(),g(e.course.courseData().eta?22:-1)}}function Wd(i,t){if(i&1&&(a(0,"div",31),h(1,Ld,1,3,"route-nextpoint",116),h(2,Gd,23,11,"div",117),s()),i&2){let e=l();c(),g(e.navDataPanel().nextPointCtrl?1:-1),c(),g(e.app.config.ui.showCourseData&&e.navDataPanel().show?2:-1)}}function Hd(i,t){if(i&1){let e=E();a(0,"mfb-container",134),_("radarClick",function(){u(e);let o=l();return m(o.toggleRadarPanel())}),s()}if(i&2){let e=l();x("action",e.app.config.display.fab)}}var da="fb-track-api-notice-dismissed",Ct=class i{sideright;fbMap;navDataPanel=U({show:!1,nextPointCtrl:!1,apModeColor:"",apModeText:""});playbackTime=U(null);leftMenuCtrl=U({leftMenuPanel:!1,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1});displayFullscreen=U({active:!1,enabled:document.fullscreenEnabled});features={playbackAPI:!0};mode=0;timers=[];trackApiNoticeShown=!1;instUrl=U(null);selFavourite=-1;vidUrl=U(null);convert=Pt;obsList=[];streamOptions={options:null,toMode:null};mapSetFocus=U("");mapCenter=U([0,0]);audioStatus=U("");isInteracting=be(()=>this.mapInteract.isMeasuring()||this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isBoxSelecting());app=C(ao);infoPanel=C(Vi);mapInteract=C(ti);anchor=C(Zi);notiMgr=C(Hi);course=C(gi);stream=C(li);skres=C(_i);gpxExport=C(so);skresOther=C(fi);signalk=C(Jn);dom=C(pe);overlayContainer=C(On);bottomSheet=C(Qn);dialog=C(qn);wakeLock=C(zn);settings=C(io);autopilot=C(Yi);radarApi=C(ci);symbols=C(ei);routeBuffers=C(di);plotterExt=C(j);temporaryRoutes=C(Ni);whatsNew=C(ut);constructor(){this.app.data.vessels.active=this.app.data.vessels.self,oe(()=>{this.app.debug("** skAuthChange Event:",this.app.skAuthChange()),this.handleSKAuthChange()}),oe(()=>{this.app.debug("** kioskMode Event:",this.app.kioskMode()),this.toggleSuppressContextMenu(this.app.kioskMode())}),oe(()=>{this.handleSelectionEnded(this.mapInteract.selection())}),oe(()=>{this.app.uiConfig(),this.handleSettingChangeEvent(void 0)}),oe(()=>{this.infoPanel.opened()||this.app.instrumentPanel().activate?this.sideright?.opened||this.openDrawer():this.sideright?.opened&&this.closeDrawer()}),oe(()=>{let t=this.app.mapMoveRequest();t&&(this.app.uiConfig.update(e=>e.mapMove?pn(cn({},e),{mapMove:!1}):e),this.centerAndZoom(t.center,t.zoom))})}ngAfterViewInit(){setTimeout(()=>{this.app.config.display.disableWakelock||this.wakeLock.enable()},500)}enableAudio(){this.app.audio.context&&this.app.audio.context.resume()}ngOnInit(){this.whatsNew.init(),this.audioStatus.update(()=>this.app.audio.context.state),this.app.debug("audio state:",this.audioStatus()),this.app.audio.context.onstatechange=()=>{this.app.debug("audio statechange:",this.app.audio.context.state),this.audioStatus.update(()=>this.app.audio.context.state)},this.mapCenter.update(()=>this.app.config.map.center),this.app.instrumentPanel.update(t=>Object.assign({},t,{activate:!this.app.config.display.plugins.startOnOpen})),this.setDarkTheme(),this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),this.connectSignalKServer(),this.obsList.push(this.stream.delta$().subscribe(t=>this.onMessage(t))),this.obsList.push(this.stream.connect$().subscribe(t=>this.onConnect(t))),this.obsList.push(this.stream.close$().subscribe(t=>this.onClose(t))),this.obsList.push(this.stream.error$().subscribe(t=>this.onError(t))),this.obsList.push(this.stream.trail$().subscribe(t=>this.handleTrailUpdate(t))),this.obsList.push(this.stream.trackSource$().subscribe(t=>this.handleTrackSource(t))),this.obsList.push(this.settings.change$.subscribe(t=>this.handleSettingChangeEvent(t))),document.addEventListener("fullscreenchange",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!!document.fullscreenElement}))}),document.addEventListener("fullscreenerror",()=>{this.displayFullscreen.update(t=>Object.assign({},t,{active:!1}))})}ngOnDestroy(){this.stopTimers(),this.stream.terminate(),this.signalk.disconnect(),this.obsList.forEach(t=>t.unsubscribe())}getOrientation(){return this.app.uiConfig().mapNorthUp?"rotate(0deg)":"rotate("+(0-this.app.data.vessels.active.orientation)+"rad)"}showRadarPanel(){if(!this.radarApi.hasWebGL){this.radarApi.showNoWebGLMessage();return}this.app.instrumentPanel().open&&this.closeInstrumentPanel(),this.connectRadar(),this.infoPanel.openRadar(this.radarApi.radar()),this.focusMap()}toggleRadarPanel(){this.infoPanel.item()?.type==="radars"?(this.infoPanel.close(),this.closeDrawer()):this.showRadarPanel()}connectRadar(){this.app.uiCtrl().radarLayer||this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!0}))}disconnectRadar(){this.app.uiCtrl().radarLayer&&this.app.uiCtrl.update(t=>Object.assign({},t,{radarLayer:!1}))}toggleMoveMap(t=!1){this.app.uiConfig.update(e=>{let n=t?!1:!e.mapMove;return Object.assign({},e,{mapMove:n})}),this.focusMap()}resumeMoveMap(){this.app.uiConfig.update(t=>Object.assign({},t,{mapMove:!0})),this.focusMap()}toggleNorthUp(){this.app.uiConfig.update(t=>Object.assign({},t,{mapNorthUp:!t.mapNorthUp})),this.focusMap()}toggleToolbarButtons(){this.app.uiConfig.update(t=>Object.assign({},t,{toolbarButtons:!t.toolbarButtons})),this.focusMap()}toggleConstrainMapZoom(){this.app.uiConfig.update(t=>Object.assign({},t,{mapConstrainZoom:!t.mapConstrainZoom})),this.skres.setMapZoomRange(),this.focusMap()}invertFeatureLabelColor(){this.app.uiConfig.update(t=>Object.assign({},t,{invertColor:!t.invertColor})),this.focusMap()}toggleAlertList(t){this.app.uiCtrl.update(e=>Object.assign({},e,{alertList:t}))}toggleAutopilotConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{autopilotConsole:t}))}toggleRouteBuilderConsole(t){this.app.uiCtrl.update(e=>Object.assign({},e,{routeBuilder:t}))}toggleSuppressContextMenu(t){this.app.uiCtrl.update(e=>Object.assign({},e,{suppressContextMenu:t}))}toggleFullscreen(){let t=document.documentElement,e=t.requestFullscreen||t.webkitRequestFullScreen||t.mozRequestFullscreen||t.msRequestFullscreen;e&&(document.fullscreenElement?document.exitFullscreen&&document.exitFullscreen():e.call(t),this.focusMap())}darkThemeApplied;setDarkTheme(){let t=window.matchMedia("(prefers-color-scheme: dark)"),e=this.app.config.display.darkMode.source===0&&t.matches||this.app.config.display.darkMode.source===1&&this.app.data.vessels.self.environment.mode==="night"||this.app.config.display.darkMode.source===-1;if(e===this.darkThemeApplied)return;this.darkThemeApplied=e;let n=this.overlayContainer.getContainerElement();e?n.classList.add("dark-theme"):n.classList.remove("dark-theme"),this.app.config.display.darkMode.enabled=e}formatInstrumentsUrl(){let t=`${this.app.hostDef.url}${this.app.config.display.plugins.instruments}`,e=this.app.config.display.plugins.parameters?this.app.config.display.plugins.parameters.length>0&&this.app.config.display.plugins.parameters[0]!=="?"?`?${this.app.config.display.plugins.parameters}`:this.app.config.display.plugins.parameters:"";return e?`${t}/${e}`:t}selectPlugin(t=!1){t?this.selFavourite===-1?this.selFavourite=0:this.selFavourite===this.app.config.display.plugins.favourites.length-1?this.selFavourite=-1:this.selFavourite++:this.selFavourite===-1?this.selFavourite=this.app.config.display.plugins.favourites.length-1:this.selFavourite===0?this.selFavourite=-1:this.selFavourite--;let e=this.selFavourite===-1?this.formatInstrumentsUrl():`${this.app.hostDef.url}${this.app.config.display.plugins.favourites[this.selFavourite]}`;this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(e))}showOverlaysMoved(){this.app.showMsgBox("Overlays have moved",`Overlays have moved to the Chart list.
460
460
 
461
- Your existing overlays appear there as charts, with the same Time control and auto-refresh.`)}handleContextMenuSelection(t){switch(t){case"cleartrail":this.clearTrail(this.app.data.serverTrail);break;case"trail2route":this.trailToRoute();break;case"cleardestination":this.clearDestination();break;case"anchor":this.displayLeftMenu("anchorWatch",!0);break;case"weather_forecast":this.showWeather("forecast");break}}trailToRoute(){return L(this,null,function*(){let{Trail2RouteDialog:t}=yield import("./chunk-HT6GODHM.js");this.dialog.open(t,{disableClose:!0,data:{trail:this.app.selfTrail()}}).afterClosed().subscribe(e=>{e.result&&this.skres.newRouteAt(e.data),this.focusMap()})})}showWeather(t){t==="forecast"&&this.bottomSheet.open(oo,{disableClose:!0,data:{title:"Forecast",position:this.app.data.vessels.self.position,subTitle:"Location: Vessel Position"}}).afterDismissed().subscribe(()=>{this.focusMap()})}openExperiment(t){t.choice==="debugCapture"?window.isSecureContext?(navigator.clipboard.writeText(JSON.stringify({data:this.app.data,config:this.app.config})),this.app.showMessage("Debug data catpured to clipboard.")):this.app.showAlert("Feature Unavailable",`This feature is only available in a secure context!
462
- e.g. https, http://localhost, http://127.0.0.1`):this.app.config.resources.paths.includes(t.choice)&&this.bottomSheet.open(ji,{disableClose:!0,data:{path:t.choice}}).afterDismissed().subscribe(()=>{this.focusMap()})}openCourseSettings(){this.bottomSheet.open(hi,{disableClose:!0,data:{title:"Course Settings"}}).afterDismissed().subscribe(()=>{this.focusMap()})}handleSKAuthChange(){this.signalk.getLoginStatus().subscribe(t=>{this.app.data.loginRequired=t.authenticationRequired??!1,this.app.isLoggedIn.update(()=>t.status==="loggedIn"),this.signalk.get("/plugins/freeboard-sk").subscribe(()=>{this.app.debug("User Authenticated"),this.app.isLoggedIn.set(!0)},e=>{e.status===401&&(this.app.debug("User NOT Authenticated"),this.app.isLoggedIn.set(!1))})})}connectSignalKServer(){this.app.data.selfId=null,this.app.data.server=null,this.signalk.proxied=this.app.config.signalk.proxied,this.signalk.connect(this.app.hostDef.name,this.app.hostDef.port,this.app.hostDef.ssl).subscribe({next:()=>{this.signalk.authToken=this.app.getFBToken(),this.app.watchSKLogin(),this.app.loadUserConfigfromServer().finally(()=>{this.loadSymbolsThenFetchResources(),this.plotterExt.init()}),this.getFeatures(),this.app.data.server=this.signalk.server.info,this.openSKStream()},error:()=>{this.app.showMessage("Unable to contact Signal K server! (Retrying in 5 secs)",!1,5e3),setTimeout(()=>this.connectSignalKServer(),5e3)}})}getFeatures(){return L(this,null,function*(){let t={anchorApi:!1,autopilotApi:!1,weatherApi:!1,radarApi:!1,notificationApi:!1,buddyList:!1,tidalApi:!1};this.signalk.get("/signalk/v2/features?enabled=1").subscribe(n=>{t.weatherApi=n.apis.includes("weather"),t.autopilotApi=n.apis.includes("autopilot"),t.radarApi=n.apis.includes("radar"),t.notificationApi=n.apis.includes("notifications");let o={charts:!1,pmTiles:!1};n.plugins.forEach(r=>{r.id==="anchoralarm"&&(this.app.debug("*** found anchoralarm plugin"),t.anchorApi=!0),r.id==="signalk-buddylist-plugin"&&(this.app.debug("*** found buddylist plugin"),t.buddyList=!!ua.satisfies(r.version,">1.2.0")),r.id==="signalk-pmtiles-plugin"&&(this.app.debug("*** found PMTiles plugin"),o.pmTiles=!0),r.id==="signalk-tidal-currents"&&(this.app.debug("*** found signalk-tidal-currents plugin"),t.tidalApi=!0)}),this.app.featureFlags.update(r=>Object.assign({},r,t))},()=>{this.app.debug("*** Features API not present!")}),this.app.fetchUnitPrefsFromSKServer();let e=yield this.skresOther.initCustomCollections();this.app.featureFlags.update(n=>Object.assign({},n,e))})}startTimers(){this.app.debug("Starting Trail logging timer..."),this.timers.push(setInterval(()=>{this.processTrail()},5e3))}stopTimers(){this.app.debug("Stopping timers:"),this.timers.forEach(t=>clearInterval(t)),this.timers=[]}processTrail(t){if(!this.app.config.vessels.trail)return;let e=this.app.selfTrail().slice(-1);if(this.app.data.vessels.showSelf){if(e.length===0){this.app.stampTrailPoint(this.app.data.vessels.self.position),this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r});return}(this.app.data.vessels.self.position[0]!==e[0][0]||this.app.data.vessels.self.position[1]!==e[0][1])&&(this.app.stampTrailPoint(this.app.data.vessels.self.position),this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r}))}if(!t||t.length===0)this.app.selfTrail().length%60===0&&this.app.data.serverTrail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer(),this.app.selfTrail.update(o=>o.slice(-5e3));else{let o=t.slice(-1),r=o.length!==0?o[0].slice(-1):t.length>1?t[t.length-2].slice(-1):[],d=this.app.selfTrailTimed()?.times,f=d?.[d.length-1]?.slice(-1)[0];r[0]&&f&&this.app.stampTrailPoint(r[0],f),this.app.selfTrail.update(()=>r)}let n=this.mode===1?"history":"self";this.app.db.saveTrail(n,this.app.selfTrail())}handleTrackSource(t){this.app.debug("Track source:",t),this.app.config.vessels.trail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer(),this.showTrackApiNotice(t)}showTrackApiNotice(t){if(!(t.api!=="v1"||this.trackApiNoticeShown)){try{if(localStorage.getItem(da))return}catch(e){}this.trackApiNoticeShown=!0,this.app.showAlert("Vessel Tracks",jn(t),"OK","Don't show this message again").subscribe(e=>{if(e?.checked)try{localStorage.setItem(da,"1")}catch(n){}})}}handleTrailUpdate(t){t.action==="get"&&t.mode==="trail"&&(this.app.serverTrailWanted()&&this.app.selfTrailFromServer.update(()=>t.data),this.processTrail(t.data))}handleSettingChangeEvent(t){t?.includes("darkTheme")&&this.setDarkTheme(),t?.includes("headingAttribute")&&(this.app.debug("True / Magnetic selection changed.."),this.app.data.vessels.self.heading=this.app.useMagnetic?this.app.data.vessels.self.headingMagnetic:this.app.data.vessels.self.headingTrue,this.app.data.vessels.self.cog=this.app.useMagnetic?this.app.data.vessels.self.cogMagnetic:this.app.data.vessels.self.cogTrue,this.app.data.vessels.self.wind.direction=this.app.useMagnetic?this.app.data.vessels.self.wind.mwd:this.app.data.vessels.self.wind.twd,this.app.data.vessels.aisTargets.forEach(e=>{e.heading=this.app.useMagnetic?e.headingMagnetic:e.headingTrue,e.cog=this.app.useMagnetic?e.cogMagnetic:e.cogTrue,e.wind.direction=this.app.useMagnetic?e.wind.mwd:e.wind.twd}),this.app.sTrueMagChoice.set(this.app.config.units.headingAttribute)),(t?.includes("pluginParameters")||t?.includes("pluginInstruments")||t?.includes("pluginStartOnOpen"))&&(this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.app.instrumentPanel.update(e=>Object.assign({},e,{activate:this.app.config.display.plugins.startOnOpen?!!e.open:!0}))),t?.includes("videoUrl")&&this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),(t?.includes("vesselTrail")||t?.includes("trailSource"))&&this.app.config.vessels.trail&&(this.app.serverTrailWanted()?this.stream.requestTrailFromServer():this.app.data.serverTrail=!1)}focusMap(){this.mapSetFocus.update(()=>Date().valueOf())}openDrawer(){this.sideright.open()}closeDrawer(){this.sideright.close()}openInstrumentPanel(){this.app.instrumentPanel().open||(this.infoPanel.opened()&&this.infoPanel.close(),this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!0,activate:!0})))}closeInstrumentPanel(){this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!1,activate:this.app.config.display.plugins.startOnOpen?!1:t.activate})),this.focusMap()}displayLeftMenu(t="",e=!1){let n={leftMenuPanel:e,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1};switch(t){case"routeList":n.routeList=e;break;case"waypointList":n.waypointList=e;break;case"chartList":n.chartList=e;break;case"noteList":n.noteList=e;break;case"regionList":n.regionList=e;break;case"trackList":n.trackList=e;break;case"anchorWatch":n.anchorWatch=e;break;case"aisList":n.aisList=e;break;case"resourceGroups":n.resourceGroups=e;break;case"weatherList":n.weatherList=e;break;default:n.leftMenuPanel=!1}this.leftMenuCtrl.update(()=>n),e||this.focusMap()}handleResourceInfo(t,e){t==="notes"&&!this.app.useInfoPanel()?this.skres.noteSelected(e,!1):t==="regions"&&!this.app.useInfoPanel()?this.skres.editRegionInfo(e):t==="waypoints"&&!this.app.useInfoPanel()?this.skres.editWaypointInfo(e):t==="routes"&&!this.app.useInfoPanel()?this.skres.editRouteInfo(e):this.infoPanel.open(t,e)}onNoteMove(t){this.infoPanel.opened()&&(this.infoPanel.close(),this.closeDrawer()),this.skres.startNoteModify(t)}openAbout(){return L(this,null,function*(){let{AboutDialog:t}=yield import("./chunk-EDKY4MXN.js");this.dialog.open(t,{disableClose:!1,data:{name:this.app.name,version:this.app.version,description:this.app.description,logo:this.app.logo,url:this.app.url}}).afterClosed().subscribe(()=>this.focusMap())})}openSettings(){return L(this,null,function*(){let{SettingsDialog:t}=yield import("./chunk-XXGLBGHG.js");this.dialog.open(t,{disableClose:!0,data:{},width:"1000px",maxWidth:"96vw",height:"80vh"}).afterClosed().subscribe(()=>{this.focusMap()})})}openFeatureBrowser(){return L(this,null,function*(){this.whatsNew.markAllSeen();let{FeatureBrowserDialog:t}=yield import("./chunk-7OBOGNNY.js");this.dialog.open(t,{data:{},width:"900px",maxWidth:"96vw"}).afterClosed().subscribe(()=>{this.focusMap()})})}importFile(t){t.data.indexOf("<gpx ")!==-1?this.processGPX(t):t.data.indexOf('"type": "FeatureCollection",')!==-1?this.processGeoJSON(t):this.app.showAlert("Import","File format not supported!"),this.focusMap()}processGPX(t){return L(this,null,function*(){let{GPXImportDialog:e}=yield import("./chunk-P57WKW3G.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{if(typeof n.errCount>"u"||n.errCount<0){this.focusMap();return}this.fetchResources(),n.errCount===0?this.app.showMsgBox("GPX Load","GPX file resources loaded successfully."):this.app.showErrorList(n.errList),this.focusMap()})})}exportToGPX(){return L(this,null,function*(){yield this.gpxExport.exportResources(),this.focusMap()})}processGeoJSON(t){return L(this,null,function*(){let{GeoJSONImportDialog:e}=yield import("./chunk-A2UDMCI5.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{n<0||(this.fetchResources(),n===0?this.app.showMsgBox("GeoJSON Load","GeoJSON features loaded successfully."):this.app.showAlert("GeoJSON Load",`Completed with errors!
463
- Not all features were loaded.`),this.focusMap())})})}importResourceSet(){return L(this,null,function*(){let{ResourceImportDialog:t}=yield import("./chunk-YB4RBYE2.js");this.dialog.open(t,{disableClose:!0,data:{}}).afterClosed().subscribe(e=>{if(e){try{let n=JSON.parse(e.data);this.skres.postToServer(e.path,n)}catch(n){this.app.showAlert("Load Resource",`Resources were not loaded!
464
- Invalid JSON.`)}this.focusMap()}})})}showLogin(t,e=!0,n){return L(this,null,function*(){let{LoginDialog:o}=yield import("./chunk-EDKY4MXN.js");this.dialog.open(o,{disableClose:!0,data:{message:t||"Login to Signal K server."}}).afterClosed().subscribe(r=>{r.cancel?(this.app.hasAuthToken.set(!1),this.signalk.isLoggedIn().subscribe(d=>{this.app.isLoggedIn.set(d)}),n?this.showLogin(null,!1,!0):e&&this.app.showAlert("Login Cancelled:","Update operations are NOT available until you have authenticated to the Signal K server.")):this.signalk.login(r.user,r.pwd).subscribe({next:d=>{this.app.setAuthToken(d.token),this.app.loadUserConfigfromServer().then(f=>{f&&(this.loadSymbolsThenFetchResources(),this.plotterExt.init())}),n&&this.queryAfterConnect(),this.app.isLoggedIn.set(!0)},error:()=>{this.app.setAuthToken(null),this.signalk.isLoggedIn().subscribe(d=>{this.app.isLoggedIn.set(d)}),n?this.app.showConfirm("Invalid Username or Password.","Authentication Failed:","Try Again").subscribe(()=>{this.showLogin(null,!1,!0)}):this.app.showConfirm(`Invalid Username or Password.
465
- Note: Choosing CLOSE may make operations requiring authentication unavailable.`,"Authentication Failed:","Try Again","Close").subscribe(d=>{d&&this.showLogin()})}}),this.focusMap()})})}showPlaybackSettings(){return L(this,null,function*(){let{PlaybackDialog:t}=yield import("./chunk-H54CRRPU.js");this.dialog.open(t,{disableClose:!1}).afterClosed().subscribe(e=>{e.result?this.switchMode(1,e.query):this.switchMode(0),this.focusMap()})})}centerAndZoom(t,e){this.mapCenter.update(()=>t),typeof e=="number"&&(this.app.config.map.zoomLevel=e)}toggleAisTargets(){this.app.config.ui.showAisTargets=!this.app.config.ui.showAisTargets,this.app.config.ui.showAisTargets&&this.stream.aisTargetUpdated(),this.app.saveConfig()}toggleCourseData(){this.app.config.ui.showCourseData=!this.app.config.ui.showCourseData,this.app.saveConfig()}toggleNotes(){this.app.config.ui.showNotes=!this.app.config.ui.showNotes,this.app.saveConfig()}clearTrail(t=!1){let e=()=>{this.app.data.serverTrail?this.app.serverTrailWanted()&&this.stream.requestTrailFromServer():this.app.selfTrail.set([])};t?e():this.app.data.serverTrail||this.app.showConfirm("Clear Vessel Trail","Do you want to delete the vessel trail?").subscribe(n=>{n&&e()})}clearCourseData(){this.course.initCourseData()}clearDestination(){this.course.clearCourse()}activateRoute(t){return L(this,null,function*(){let e=this.routeBuffers.get(t);e?.saved&&e.href&&(t=e.href);let n=this.temporaryRoutes.isDraft(t),o=n?this.routeBuffers.get(t).points.map(f=>f.position):this.skres.fromCache("routes",t)?.[1].feature.geometry.coordinates;if(!o)try{o=(yield this.skres.fromServer("routes",t)).feature.geometry.coordinates}catch(f){this.app.parseHttpErrorResponse(f);return}let r=f=>n?this.temporaryRoutes.start(t,f):this.course.activateRoute(t,f),d=Pt.closestForwardPoint(o,this.app.data.vessels.self.position,Mt.radiansToDegrees(this.app.data.vessels.self.heading));if(d===-1){this.app.showConfirm(`Closest point is behind vessel!
461
+ Your existing overlays appear there as charts, with the same Time control and auto-refresh.`)}handleContextMenuSelection(t){switch(t){case"cleartrail":this.clearTrail(this.app.data.serverTrail);break;case"trail2route":this.trailToRoute();break;case"cleardestination":this.clearDestination();break;case"anchor":this.displayLeftMenu("anchorWatch",!0);break;case"weather_forecast":this.showWeather("forecast");break}}trailToRoute(){return L(this,null,function*(){let{Trail2RouteDialog:t}=yield import("./chunk-HVGGQ65L.js");this.dialog.open(t,{disableClose:!0,data:{trail:this.app.selfTrail()}}).afterClosed().subscribe(e=>{e.result&&this.skres.newRouteAt(e.data),this.focusMap()})})}showWeather(t){t==="forecast"&&this.bottomSheet.open(oo,{disableClose:!0,data:{title:"Forecast",position:this.app.data.vessels.self.position,subTitle:"Location: Vessel Position"}}).afterDismissed().subscribe(()=>{this.focusMap()})}openExperiment(t){t.choice==="debugCapture"?window.isSecureContext?(navigator.clipboard.writeText(JSON.stringify({data:this.app.data,config:this.app.config})),this.app.showMessage("Debug data catpured to clipboard.")):this.app.showAlert("Feature Unavailable",`This feature is only available in a secure context!
462
+ e.g. https, http://localhost, http://127.0.0.1`):this.app.config.resources.paths.includes(t.choice)&&this.bottomSheet.open(ji,{disableClose:!0,data:{path:t.choice}}).afterDismissed().subscribe(()=>{this.focusMap()})}openCourseSettings(){this.bottomSheet.open(hi,{disableClose:!0,data:{title:"Course Settings"}}).afterDismissed().subscribe(()=>{this.focusMap()})}handleSKAuthChange(){this.signalk.getLoginStatus().subscribe(t=>{this.app.data.loginRequired=t.authenticationRequired??!1,this.app.isLoggedIn.update(()=>t.status==="loggedIn"),this.signalk.get("/plugins/freeboard-sk").subscribe(()=>{this.app.debug("User Authenticated"),this.app.isLoggedIn.set(!0)},e=>{e.status===401&&(this.app.debug("User NOT Authenticated"),this.app.isLoggedIn.set(!1))})})}connectSignalKServer(){this.app.data.selfId=null,this.app.data.server=null,this.signalk.proxied=this.app.config.signalk.proxied,this.signalk.connect(this.app.hostDef.name,this.app.hostDef.port,this.app.hostDef.ssl).subscribe({next:()=>{this.signalk.authToken=this.app.getFBToken(),this.app.watchSKLogin(),this.app.loadUserConfigfromServer().finally(()=>{this.loadSymbolsThenFetchResources(),this.plotterExt.init()}),this.getFeatures(),this.app.data.server=this.signalk.server.info,this.openSKStream()},error:()=>{this.app.showMessage("Unable to contact Signal K server! (Retrying in 5 secs)",!1,5e3),setTimeout(()=>this.connectSignalKServer(),5e3)}})}getFeatures(){return L(this,null,function*(){let t={anchorApi:!1,autopilotApi:!1,weatherApi:!1,radarApi:!1,notificationApi:!1,buddyList:!1,tidalApi:!1};this.signalk.get("/signalk/v2/features?enabled=1").subscribe(n=>{t.weatherApi=n.apis.includes("weather"),t.autopilotApi=n.apis.includes("autopilot"),t.radarApi=n.apis.includes("radar"),t.notificationApi=n.apis.includes("notifications");let o={charts:!1,pmTiles:!1};n.plugins.forEach(r=>{r.id==="anchoralarm"&&(this.app.debug("*** found anchoralarm plugin"),t.anchorApi=!0),r.id==="signalk-buddylist-plugin"&&(this.app.debug("*** found buddylist plugin"),t.buddyList=!!ua.satisfies(r.version,">1.2.0")),r.id==="signalk-pmtiles-plugin"&&(this.app.debug("*** found PMTiles plugin"),o.pmTiles=!0),r.id==="signalk-tidal-currents"&&(this.app.debug("*** found signalk-tidal-currents plugin"),t.tidalApi=!0)}),this.app.featureFlags.update(r=>Object.assign({},r,t))},()=>{this.app.debug("*** Features API not present!")}),this.app.fetchUnitPrefsFromSKServer();let e=yield this.skresOther.initCustomCollections();this.app.featureFlags.update(n=>Object.assign({},n,e))})}startTimers(){this.app.debug("Starting Trail logging timer..."),this.timers.push(setInterval(()=>{this.processTrail()},5e3))}stopTimers(){this.app.debug("Stopping timers:"),this.timers.forEach(t=>clearInterval(t)),this.timers=[]}processTrail(t){if(!this.app.config.vessels.trail)return;let e=this.app.selfTrail().slice(-1);if(this.app.data.vessels.showSelf){if(e.length===0){this.app.stampTrailPoint(this.app.data.vessels.self.position),this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r});return}(this.app.data.vessels.self.position[0]!==e[0][0]||this.app.data.vessels.self.position[1]!==e[0][1])&&(this.app.stampTrailPoint(this.app.data.vessels.self.position),this.app.selfTrail.update(o=>{let r=[].concat(o);return r.push(this.app.data.vessels.self.position),r}))}if(!t||t.length===0)this.app.selfTrail().length%60===0&&this.app.data.serverTrail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer(),this.app.selfTrail.update(o=>o.slice(-5e3));else{let o=t.slice(-1),r=o.length!==0?o[0].slice(-1):t.length>1?t[t.length-2].slice(-1):[],d=this.app.selfTrailTimed()?.times,f=d?.[d.length-1]?.slice(-1)[0];r[0]&&f&&this.app.stampTrailPoint(r[0],f),this.app.selfTrail.update(()=>r)}let n=this.mode===1?"history":"self";this.app.db.saveTrail(n,this.app.selfTrail())}handleTrackSource(t){this.app.debug("Track source:",t),this.app.config.vessels.trail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer(),this.showTrackApiNotice(t)}onVisibilityChange(){document.visibilityState==="visible"&&this.mode===0&&this.app.config.vessels.trail&&this.app.serverTrailWanted()&&this.stream.requestTrailFromServer()}showTrackApiNotice(t){if(!(t.api!=="v1"||this.trackApiNoticeShown)){try{if(localStorage.getItem(da))return}catch(e){}this.trackApiNoticeShown=!0,this.app.showAlert("Vessel Tracks",jn(t),"OK","Don't show this message again").subscribe(e=>{if(e?.checked)try{localStorage.setItem(da,"1")}catch(n){}})}}handleTrailUpdate(t){t.action==="get"&&t.mode==="trail"&&(this.app.serverTrailWanted()&&this.app.selfTrailFromServer.update(()=>t.data),this.processTrail(t.data))}handleSettingChangeEvent(t){t?.includes("darkTheme")&&this.setDarkTheme(),t?.includes("headingAttribute")&&(this.app.debug("True / Magnetic selection changed.."),this.app.data.vessels.self.heading=this.app.useMagnetic?this.app.data.vessels.self.headingMagnetic:this.app.data.vessels.self.headingTrue,this.app.data.vessels.self.cog=this.app.useMagnetic?this.app.data.vessels.self.cogMagnetic:this.app.data.vessels.self.cogTrue,this.app.data.vessels.self.wind.direction=this.app.useMagnetic?this.app.data.vessels.self.wind.mwd:this.app.data.vessels.self.wind.twd,this.app.data.vessels.aisTargets.forEach(e=>{e.heading=this.app.useMagnetic?e.headingMagnetic:e.headingTrue,e.cog=this.app.useMagnetic?e.cogMagnetic:e.cogTrue,e.wind.direction=this.app.useMagnetic?e.wind.mwd:e.wind.twd}),this.app.sTrueMagChoice.set(this.app.config.units.headingAttribute)),(t?.includes("pluginParameters")||t?.includes("pluginInstruments")||t?.includes("pluginStartOnOpen"))&&(this.instUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(this.formatInstrumentsUrl())),this.app.instrumentPanel.update(e=>Object.assign({},e,{activate:this.app.config.display.plugins.startOnOpen?!!e.open:!0}))),t?.includes("videoUrl")&&this.vidUrl.update(()=>this.dom.bypassSecurityTrustResourceUrl(`${this.app.config.resources.video.url}`)),(t?.includes("vesselTrail")||t?.includes("trailSource"))&&this.app.config.vessels.trail&&(this.app.serverTrailWanted()?this.stream.requestTrailFromServer():this.app.data.serverTrail=!1)}focusMap(){this.mapSetFocus.update(()=>Date().valueOf())}openDrawer(){this.sideright.open()}closeDrawer(){this.sideright.close()}openInstrumentPanel(){this.app.instrumentPanel().open||(this.infoPanel.opened()&&this.infoPanel.close(),this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!0,activate:!0})))}closeInstrumentPanel(){this.app.instrumentPanel.update(t=>Object.assign({},t,{open:!1,activate:this.app.config.display.plugins.startOnOpen?!1:t.activate})),this.focusMap()}displayLeftMenu(t="",e=!1){let n={leftMenuPanel:e,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1};switch(t){case"routeList":n.routeList=e;break;case"waypointList":n.waypointList=e;break;case"chartList":n.chartList=e;break;case"noteList":n.noteList=e;break;case"regionList":n.regionList=e;break;case"trackList":n.trackList=e;break;case"anchorWatch":n.anchorWatch=e;break;case"aisList":n.aisList=e;break;case"resourceGroups":n.resourceGroups=e;break;case"weatherList":n.weatherList=e;break;default:n.leftMenuPanel=!1}this.leftMenuCtrl.update(()=>n),e||this.focusMap()}handleResourceInfo(t,e){t==="notes"&&!this.app.useInfoPanel()?this.skres.noteSelected(e,!1):t==="regions"&&!this.app.useInfoPanel()?this.skres.editRegionInfo(e):t==="waypoints"&&!this.app.useInfoPanel()?this.skres.editWaypointInfo(e):t==="routes"&&!this.app.useInfoPanel()?this.skres.editRouteInfo(e):this.infoPanel.open(t,e)}onNoteMove(t){this.infoPanel.opened()&&(this.infoPanel.close(),this.closeDrawer()),this.skres.startNoteModify(t)}openAbout(){return L(this,null,function*(){let{AboutDialog:t}=yield import("./chunk-YROCNGFN.js");this.dialog.open(t,{disableClose:!1,data:{name:this.app.name,version:this.app.version,description:this.app.description,logo:this.app.logo,url:this.app.url}}).afterClosed().subscribe(()=>this.focusMap())})}openSettings(){return L(this,null,function*(){let{SettingsDialog:t}=yield import("./chunk-4GN5KO3L.js");this.dialog.open(t,{disableClose:!0,data:{},width:"1000px",maxWidth:"96vw",height:"80vh"}).afterClosed().subscribe(()=>{this.focusMap()})})}openFeatureBrowser(){return L(this,null,function*(){this.whatsNew.markAllSeen();let{FeatureBrowserDialog:t}=yield import("./chunk-IAPJVEYW.js");this.dialog.open(t,{data:{},width:"900px",maxWidth:"96vw"}).afterClosed().subscribe(()=>{this.focusMap()})})}importFile(t){t.data.indexOf("<gpx ")!==-1?this.processGPX(t):t.data.indexOf('"type": "FeatureCollection",')!==-1?this.processGeoJSON(t):this.app.showAlert("Import","File format not supported!"),this.focusMap()}processGPX(t){return L(this,null,function*(){let{GPXImportDialog:e}=yield import("./chunk-TWWDZIBY.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{if(typeof n.errCount>"u"||n.errCount<0){this.focusMap();return}this.fetchResources(),n.errCount===0?this.app.showMsgBox("GPX Load","GPX file resources loaded successfully."):this.app.showErrorList(n.errList),this.focusMap()})})}exportToGPX(){return L(this,null,function*(){yield this.gpxExport.exportResources(),this.focusMap()})}processGeoJSON(t){return L(this,null,function*(){let{GeoJSONImportDialog:e}=yield import("./chunk-PPBXI4I6.js");this.dialog.open(e,{disableClose:!0,data:{fileData:t.data,fileName:t.name}}).afterClosed().subscribe(n=>{n<0||(this.fetchResources(),n===0?this.app.showMsgBox("GeoJSON Load","GeoJSON features loaded successfully."):this.app.showAlert("GeoJSON Load",`Completed with errors!
463
+ Not all features were loaded.`),this.focusMap())})})}importResourceSet(){return L(this,null,function*(){let{ResourceImportDialog:t}=yield import("./chunk-IWEZGJPC.js");this.dialog.open(t,{disableClose:!0,data:{}}).afterClosed().subscribe(e=>{if(e){try{let n=JSON.parse(e.data);this.skres.postToServer(e.path,n)}catch(n){this.app.showAlert("Load Resource",`Resources were not loaded!
464
+ Invalid JSON.`)}this.focusMap()}})})}showLogin(t,e=!0,n){return L(this,null,function*(){let{LoginDialog:o}=yield import("./chunk-YROCNGFN.js");this.dialog.open(o,{disableClose:!0,data:{message:t||"Login to Signal K server."}}).afterClosed().subscribe(r=>{r.cancel?(this.app.hasAuthToken.set(!1),this.signalk.isLoggedIn().subscribe(d=>{this.app.isLoggedIn.set(d)}),n?this.showLogin(null,!1,!0):e&&this.app.showAlert("Login Cancelled:","Update operations are NOT available until you have authenticated to the Signal K server.")):this.signalk.login(r.user,r.pwd).subscribe({next:d=>{this.app.setAuthToken(d.token),this.app.loadUserConfigfromServer().then(f=>{f&&(this.loadSymbolsThenFetchResources(),this.plotterExt.init())}),n&&this.queryAfterConnect(),this.app.isLoggedIn.set(!0)},error:()=>{this.app.setAuthToken(null),this.signalk.isLoggedIn().subscribe(d=>{this.app.isLoggedIn.set(d)}),n?this.app.showConfirm("Invalid Username or Password.","Authentication Failed:","Try Again").subscribe(()=>{this.showLogin(null,!1,!0)}):this.app.showConfirm(`Invalid Username or Password.
465
+ Note: Choosing CLOSE may make operations requiring authentication unavailable.`,"Authentication Failed:","Try Again","Close").subscribe(d=>{d&&this.showLogin()})}}),this.focusMap()})})}showPlaybackSettings(){return L(this,null,function*(){let{PlaybackDialog:t}=yield import("./chunk-OS23ZF5N.js");this.dialog.open(t,{disableClose:!1}).afterClosed().subscribe(e=>{e.result?this.switchMode(1,e.query):this.switchMode(0),this.focusMap()})})}centerAndZoom(t,e){this.mapCenter.update(()=>t),typeof e=="number"&&(this.app.config.map.zoomLevel=e)}toggleAisTargets(){this.app.config.ui.showAisTargets=!this.app.config.ui.showAisTargets,this.app.config.ui.showAisTargets&&this.stream.aisTargetUpdated(),this.app.saveConfig()}toggleCourseData(){this.app.config.ui.showCourseData=!this.app.config.ui.showCourseData,this.app.saveConfig()}toggleNotes(){this.app.config.ui.showNotes=!this.app.config.ui.showNotes,this.app.saveConfig()}clearTrail(t=!1){let e=()=>{this.app.data.serverTrail?this.app.serverTrailWanted()&&this.stream.requestTrailFromServer():this.app.selfTrail.set([])};t?e():this.app.data.serverTrail||this.app.showConfirm("Clear Vessel Trail","Do you want to delete the vessel trail?").subscribe(n=>{n&&e()})}clearCourseData(){this.course.initCourseData()}clearDestination(){this.course.clearCourse()}activateRoute(t){return L(this,null,function*(){let e=this.routeBuffers.get(t);e?.saved&&e.href&&(t=e.href);let n=this.temporaryRoutes.isDraft(t),o=n?this.routeBuffers.get(t).points.map(f=>f.position):this.skres.fromCache("routes",t)?.[1].feature.geometry.coordinates;if(!o)try{o=(yield this.skres.fromServer("routes",t)).feature.geometry.coordinates}catch(f){this.app.parseHttpErrorResponse(f);return}let r=f=>n?this.temporaryRoutes.start(t,f):this.course.activateRoute(t,f),d=It.closestForwardPoint(o,this.app.data.vessels.self.position,Pt.radiansToDegrees(this.app.data.vessels.self.heading));if(d===-1){this.app.showConfirm(`Closest point is behind vessel!
466
466
  Do you want to start from the first point?`,"Start Route").subscribe(f=>{f&&r()});return}r(d)})}routeNextPoint(t){this.course.rejoinRouteAt(t),this.focusMap()}featureProperties(t){return L(this,null,function*(){let e;if(t.type==="route")try{let n=!!t.resource,o;n?o=t.resource[1]:(this.app.sIsFetching.set(!0),o=yield this.skres.fromServer("routes",t.id),this.app.sIsFetching.set(!1)),o&&this.bottomSheet.open(Ci,{disableClose:!0,data:{title:"Route Properties",resource:[t.id,o,!1],type:t.type,noButtons:n}}).afterDismissed().subscribe(r=>{r&&this.clearDestination(),this.focusMap()})}catch(n){this.app.sIsFetching.set(!1),this.app.parseHttpErrorResponse(n)}else if(t.type==="aton"||t.type==="meteo"){let n,o,r;t.type==="meteo"?(e=this.app.data.meteo.get(t.id),n="Meteo Properties",o="air",r=t.type):t.id.slice(0,3)==="sar"?(e=this.app.data.sar.get(t.id),n="SaR Properties",o="tour",r="sar"):(e=this.app.data.atons.get(t.id),n="AtoN Properties",o="beenhere",r="aton"),e&&this.bottomSheet.open(Ai,{disableClose:!0,data:{title:n,target:e,id:t.id,icon:o,type:r}}).afterDismissed().subscribe(()=>this.focusMap())}else if(t.type==="aircraft")e=this.app.data.aircraft.get(t.id),e&&this.bottomSheet.open(ki,{disableClose:!0,data:{title:"Aircraft Properties",target:e,id:t.id}}).afterDismissed().subscribe(()=>this.focusMap());else if(t.type==="alarm")this.notiMgr.showAlertInfo(t.id);else if(t.type==="rset")e=this.skresOther.fromResourceSetCache(t.id),e&&this.bottomSheet.open(Gi,{disableClose:!0,data:{id:t.id,item:e}}).afterDismissed().subscribe(()=>{this.focusMap()});else{let n=t.type==="self"?t.type:t.id.includes("vessels.")?t.id.split(".")[1]:t.id;try{this.app.sIsFetching.set(!0),e=yield this.skres.vesselFromServer(n),this.app.sIsFetching.set(!1),e&&this.bottomSheet.open(Si,{disableClose:!0,data:{title:"Vessel Properties",target:e}}).afterDismissed().subscribe(()=>this.focusMap())}catch(o){this.app.sIsFetching.set(!1),this.app.parseHttpErrorResponse(o)}}})}mapDragOver(t){t.preventDefault()}mapDrop(t){if(t.preventDefault(),t.dataTransfer.files)if(t.dataTransfer.files.length>1)this.app.showAlert("Load Resources",`Multiple files provided!
467
- Please select only one file for processing.`);else{let e=new FileReader;if(e.onerror=()=>{this.app.showAlert("File Load error","There was an error reading the file contents!")},!t.dataTransfer.files[0].name)return;let n=t.dataTransfer.files[0].name;e.onload=()=>{this.processGPX({name:n,data:e.result})},e.readAsText(t.dataTransfer.files[0])}}switchActiveVessel(t=null){if(this.app.data.vessels.activeId=t,!t)this.app.data.vessels.active=this.app.data.vessels.self;else{let e=this.app.data.vessels.aisTargets.get(t);e?(this.app.data.vessels.active=e,this.sideright.close()):(this.app.data.vessels.active=this.app.data.vessels.self,this.app.data.vessels.activeId=null)}this.app.data.activeRoute=null,this.clearCourseData(),this.app.debug(`** Active vessel: ${this.app.data.vessels.activeId} `),this.app.debug(this.app.data.vessels.active)}switchMode(t,e){this.app.debug(`switchMode from: ${this.mode} to ${t}`),t===1?(this.app.db.saveTrail("self",this.app.selfTrail()),this.app.selfTrail.set([])):this.app.db.getTrail("self").then(n=>{this.app.selfTrail.update(()=>n&&n.value?n.value:[])}),this.switchActiveVessel(),this.openSKStream(e,t,!0)}showSelectMode(){this.mode===0?this.app.showConfirm("Do you want to change to History Playback mode?","Switch Mode").subscribe(t=>{t&&this.showPlaybackSettings()}):this.app.showConfirm("Do you want to exit History Playback mode?","Exit History Playback").subscribe(t=>{t&&this.switchMode(0)})}handleSelectionEnded(t){t.mode==="seedChart"&&this.skres.seedChartCache(t.data,t.bbox)}drawFeature(t){this.mapInteract.startDrawing(t)}onRouteInfoEdit(t){let e=this.routeBuffers.get(t);e&&(!e.saved||e.dirty)?this.saveRouteBuffer(t):this.skres.editRouteInfo(t)}saveRouteBuffer(t){return L(this,null,function*(){try{let e=yield this.plotterExt.saveBuffer(t,{dialog:!0,promote:!0});e&&this.infoPanel.open("routes",e.href)}catch(e){}})}handleDrawEnded(t){switch(this.mapInteract.isDrawing(),this.app.data.editingId="",this.mapInteract.draw.resourceType){case"note":{let e={position:t.coordinates};this.mapInteract.draw.properties.group&&(e.group=this.mapInteract.draw.properties.group),this.skres.showNoteEditor(e);break}case"waypoint":this.skres.newWaypointAt(t.coordinates);break;case"route":this.routeBuffers.create({points:t.coordinates.map(e=>({position:e}))});break;case"region":{let e=new ni;e.feature.geometry.coordinates=[Pt.normaliseCoords(t.coordinates)],this.skres.newRegion(e);break}}}handleInteractionFinish(){this.mapInteract.isDrawing()?this.fbMap.finishDrawing():this.closeInteraction(!0)}handleInteractionUndo(){this.fbMap.undoInteraction()}onDocumentKeydown(t){!fo(t)||!this.mapInteract.canUndo()||(t.preventDefault(),this.handleInteractionUndo())}closeInteraction(t=!1){if(this.app.data.editingId="",this.mapInteract.isBoxSelecting()&&this.mapInteract.stopBoxSelection(),this.mapInteract.isMeasuring()&&this.mapInteract.stopMeasuring(),this.mapInteract.isDrawing()&&this.mapInteract.stopDrawing(),this.mapInteract.isModifying()&&(this.mapInteract.stopModifying(),this.app.data.activeRouteIsEditing=!1,this.mapInteract.draw.forSave?.id)){if(this.mapInteract.draw.forSave.id==="anchor"){this.mapInteract.draw.forSave=null,this.focusMap();return}let e=this.mapInteract.draw.forSave.id.split(".");if(e[0]==="route"){this.applyModifyResult(t);return}this.app.showConfirm(`Do you want to save the changes made to ${e[0]}?`,"Save Changes").subscribe(n=>this.applyModifyResult(n))}}applyModifyResult(t){let e=this.mapInteract.draw.forSave.id.split("."),n=this.mapInteract.draw.forSave.coords;if(t){if(e[0]==="route"){let o=this.routeBuffers.get(e[1]);if(o&&!o.saved){let r=this.mapInteract.draw.forSave.coordsMetadata;this.routeBuffers.replace(e[1],pi(n,r))}else this.plotterExt.saveNativeRouteEdit(e[1],n,this.mapInteract.draw.forSave.coordsMetadata)}e[0]==="waypoint"&&(this.skres.updateWaypointPosition(e[1],n),e[1]===this.app.data.activeWaypoint&&this.course.setDestination({latitude:n[1],longitude:n[0]})),e[0]==="note"&&this.skres.updateNotePosition(e[1],n),e[0]==="region"&&this.skres.updateRegionCoords(e[1],n)}else{if(e[0]==="route"){let o=this.routeBuffers.get(e[1]);o&&(!o.saved||o.dirty)?this.routeBuffers.refresh():this.skres.refreshRoutes()}e[0]==="waypoint"&&this.skres.refreshWaypoints(),e[0]==="note"&&this.skres.refreshNotes(),e[0]==="region"&&this.skres.refreshRegions()}this.mapInteract.draw.forSave=null,this.focusMap()}loadSymbolsThenFetchResources(){return L(this,null,function*(){yield this.symbols.load(),Yn(this.symbols),this.fetchResources(!0)})}fetchResources(t=!1){this.skres.refreshRoutes(),this.skres.refreshWaypoints(),this.skres.refreshCharts(),this.skres.refreshRegions(),t&&this.fetchOtherResources()}fetchOtherResources(){this.skres.refreshTracks(),this.skresOther.refreshResourceSetsInBounds()}openSKStream(t=null,e=0,n=!1){if(n){this.streamOptions={options:t,toMode:e},this.stream.close();return}this.stream.sendConfig(this.app.config),this.stream.open(t)}queryAfterConnect(){this.signalk.server.info.version.split(".")[0]==="1"&&this.app.showAlert("Unsupported Server Version:",`The connected Signal K server is not supported by this version of Freeboard-SK.
468
- Signal K server version 2 or later is required!`),this.app.alignCustomResourcesPaths(),this.signalk.api.getSelf().subscribe(t=>{this.stream.post({cmd:"vessel",options:{context:"self",name:t.name}}),this.anchor.queryAnchorStatus(void 0,this.app.data.vessels.self.position),this.radarApi.init()},t=>{t.status&&t.status===401&&this.showLogin(null,!1,!0),this.app.debug("No vessel data available!")})}onConnect(t){this.app.showMessage("Connection Open.",!1,2e3),this.app.debug(t),this.queryAfterConnect(),this.startTimers(),this.temporaryRoutes.sweep()}onClose(t){if(this.app.debug("onClose: STREAM connection closed..."),this.app.debug(t),this.stopTimers(),t.result)this.openSKStream(this.streamOptions.options,this.streamOptions.toMode);else{let e={title:"Connection Closed:",buttonText:"Re-connect",message:""};t.playback?(e.buttonText="OK",e.message="Unable to open Playback connection.",this.app.showAlert(e.message,e.title,e.buttonText).subscribe(()=>{this.mode===0?this.switchMode(this.mode):this.showPlaybackSettings()})):this.reconnecting||(this.reconnecting=!0,setTimeout(()=>{this.reconnecting=!1,this.openSKStream(this.streamOptions.options,this.mode)},5e3))}}reconnecting=!1;onError(t){this.app.showMessage("Connection Error!",!1,2e3),console.warn("Stream Error!",t)}onMessage(t){if(t.action==="hello"){this.app.debug(t),t.playback?this.mode=1:(this.mode=0,this.stream.subscribe()),this.app.data.selfId=t.self;return}else if(t.action==="update"){if(this.mode===1){let e=new Date(t.timestamp);this.playbackTime.update(()=>`${e.toDateString().slice(4)} ${e.toTimeString().slice(0,8)}`)}else this.playbackTime.set(null),this.setDarkTheme();this.updateNavPanel()}}updateNavPanel(){this.navDataPanel.update(()=>({show:!!(this.app.data.activeRoute||this.app.data.activeWaypoint||this.course.courseData().position),nextPointCtrl:!!this.app.data.activeRoute,apModeColor:this.app.data.vessels.self.autopilot.enabled?"primary":"",apModeText:this.app.data.vessels.self.autopilot.default?`Autopilot: ${this.app.data.vessels.self.autopilot.default}`:""}))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["app-root"]],viewQuery:function(e,n){if(e&1&&Z(np,5)(ip,5),e&2){let o;F(o=$())&&(n.sideright=o.first),F(o=$())&&(n.fbMap=o.first)}},hostBindings:function(e,n){e&1&&_("keydown",function(r){return n.onDocumentKeydown(r)},hn)},decls:171,vars:51,consts:[["layersmenu","matMenu"],["settingsmenu","matMenu"],["editmenu","matMenu"],["mainmenu","matMenu"],["sideright",""],["fbMap",""],["northArrow",""],[3,"ngClass"],[1,"appframe","mat-app-background"],["mat-menu-item","",3,"click"],["svgIcon","route",1,"icon-route"],[1,"icon-waypoint"],["mat-menu-item",""],["accept",".gpx,.json",3,"chosen","astext"],["svgIcon","route-import",1,"ob"],["svgIcon","route-export",1,"ob"],[1,"icon-accent"],[1,"icon-route"],["svgIcon","route-planning",1,"icon-route"],["theme-main","",1,"view"],["hasBackdrop","false",1,"pe-view-main"],["mode","side","position","end",3,"disableClose"],[2,"display","flex","flex-direction","column","position","relative"],[2,"overflow","hidden"],[2,"z-index","4700","position","fixed","top","0px","left","0px","width","100%"],[3,"apData"],[2,"display","relative","width","100%","height","100%",3,"dragover","drop"],[3,"drawEnded","activate","deactivate","exitMovingMap","resumeMovingMap","focusVessel","info","menuItemSelected","scaleUnits","setFocus","mapCenter","mapZoom","northUp","movingMap","vesselTrail","activeRoute","dblClickZoom","overZoomTiles","measureMode","drawMode"],[2,"position","absolute","top","60px","left","56px","width","50px"],["src","./assets/img/north_arrow.svg","width","50","height","70"],[1,"playbackPanel","mat-app-background"],[1,"navdataPanel"],[3,"action"],[1,"icon-warn"],["svgIcon","chart-display-settings-iec",1,"ob"],["matBadge","!","matBadgeOverlap","true","matBadgeSize","medium","matBadgePosition","below after","aria-hidden","false",3,"matBadgeHidden"],["svgIcon","radar-iec",1,"ob"],[3,"closed"],[3,"radar","id"],[3,"note","id","interacting"],[3,"region","id","related","interacting"],[3,"waypoint","id","related","interacting"],[3,"route","id","related","interacting"],[3,"connect","disconnect","radar","id"],[3,"edit","move","panTo","note","id","interacting"],[3,"edit","panTo","region","id","related","interacting"],[3,"edit","panTo","waypoint","id","related","interacting"],[3,"edit","activate","panTo","route","id","related","interacting"],["mat-list-item",""],["mat-icon-button","",3,"click"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"href"],["mat-icon-button","","matTooltip","Previous plugin","matTooltipPosition","below",3,"click","disabled"],["mat-icon-button","","matTooltip","Next plugin","matTooltipPosition","below",3,"click","disabled"],[2,"position","fixed","bottom","0","top","48px","overflow","auto","-webkit-overfow-scrolling","touch"],["sandbox","allow-scripts allow-same-origin allow-forms",2,"width","345px","height","100%",3,"src"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"click","href"],["mode","query"],[3,"close","apData"],[3,"save","close"],[1,"leftTop","buttonPanel"],[1,"buttonPanelItem"],["mat-mini-fab","","matBadge","!","matBadgeOverlap","true","matTooltip","Menu","matTooltipPosition","right","aria-hidden","false",1,"button-secondary",3,"disabled","matBadgeHidden","matMenuTriggerFor"],[1,"buttonPanel","left"],[1,"leftMenuPanel"],[1,"statusBar"],[1,"statusBarItem"],[1,"rightTop","buttonPanel"],["mat-mini-fab","","matTooltipPosition","before",1,"button-secondary",3,"click","matTooltip"],[1,"buttonPanel","right",3,"top"],["mat-mini-fab","","matTooltip","Alarms","matTooltipPosition","left","matBadgeOverlap","true","aria-hidden","false",1,"button-warn",3,"click","matBadge","matBadgeHidden"],["svgIcon","alert-list",1,"ob"],["mat-mini-fab","","matTooltip","Routes, Waypoints, Notes, etc.","matTooltipPosition","right",1,"button-accent",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Draw / Measure / Select","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","matTooltip"],[1,"ob",3,"svgIcon"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","disabled","matTooltip"],["svgIcon","cent-iec",1,"ob"],["mat-mini-fab","","matTooltip","More actions","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Exit playback mode","matTooltipPosition","right",1,"button-warn",3,"click"],["mat-mini-fab","","matTooltip","What's New","matTooltipPosition","right",1,"button-accent",3,"click"],[3,"showSelf","radius","raised"],[3,"activate","deactivate","select","points","notes","closed","activeRoute","editingRouteId"],[3,"select","goto","deactivate","center","notes","closed","activeWaypoint","editingWaypointId"],[3,"closed","selectedCharts"],[3,"select","pan","closed","notes"],[3,"select","pan","closed","regions"],[3,"center","closed"],[3,"properties","closed","focusVessel","pan","focusId"],[3,"closed","showSelf","radius","raised"],["matTooltip","WakeLock is turned off","matTooltipPosition","below"],["matTooltip","Course data is hidden","matTooltipPosition","below"],["matTooltip","Vessels are hidden","matTooltipPosition","below"],["matTooltip","Notes are hidden","matTooltipPosition","below"],["matTooltip","No server messages!","matTooltipPosition","below",2,"background-color","red","color","white"],[1,"buttonPanel","right"],[1,"instrumentPanelToggle","buttonPanelItem"],["mat-mini-fab","","matTooltip","Constrain map zoom.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Invert feature text color.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltip","Web Audio off! Click to enable.","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltipPosition","before",3,"click","ngClass","matTooltip"],[3,"selected"],[3,"click","src","muted"],["mat-mini-fab","","matTooltip","Autopilot","matTooltipPosition","before",3,"click","ngClass"],["svgIcon","command-autopilot",1,"ob"],["mat-mini-fab","","matTooltip","Radar","matTooltipPosition","before",3,"click","ngClass","disabled"],["mat-mini-fab","","matTooltipPosition","before",1,"button-toolbar",3,"click","matTooltip"],[2,"border-radius","5px"],[2,"text-align","center"],[3,"alerts"],[1,"alarmPanel"],[2,"margin-bottom","5px"],[3,"closed","alerts"],[3,"nextPoint","routeEnd","audioStatus","alert","acknowledged","silenced","doNotPlaySound"],[3,"finish","cancel","undo"],[3,"index","total","circular"],[2,"display","flex","flex-wrap","nowrap"],[3,"selected","index","total","circular"],[1,"mat-app-background",2,"display","flex"],[2,"width","40px"],["mat-icon-button","","matTooltip","Course Settings",3,"click"],["svgIcon","navigation-route",1,"ob"],["mat-icon-button","","matTooltip","Autopilot Console","matTooltipPosition","above","matTooltip","Engage Autopilot",3,"click","disabled"],["svgIcon","command-autopilot",1,"ob",3,"color"],["mat-icon-button","","matTooltip","Restart XTE",3,"click"],["mat-icon-button","","matTooltip","Reverse route direction","matTooltipPosition","above",3,"click","disabled"],[3,"color"],[3,"title","value","units"],[3,"value"],[3,"title","value"],["subTitle","RT",3,"title","value","units"],["subTitle","RT",3,"value"],["subTitle","RT",3,"title","value"],[3,"radarClick","action"]],template:function(e,n){e&1&&(a(0,"div",7)(1,"div",8)(2,"mat-menu",null,0)(4,"button",9),_("click",function(){return n.displayLeftMenu("routeList",!0)}),v(5,"mat-icon",10),p(6," \xA0Routes "),s(),a(7,"button",9),_("click",function(){return n.displayLeftMenu("waypointList",!0)}),a(8,"mat-icon",11),p(9,"location_on"),s(),p(10," \xA0Waypoints "),s(),a(11,"button",9),_("click",function(){return n.displayLeftMenu("noteList",!0)}),a(12,"mat-icon"),p(13,"local_offer"),s(),p(14," \xA0Notes "),s(),a(15,"button",9),_("click",function(){return n.displayLeftMenu("regionList",!0)}),a(16,"mat-icon"),p(17,"tab_unselected"),s(),p(18," \xA0Regions "),s(),a(19,"button",9),_("click",function(){return n.displayLeftMenu("chartList",!0)}),a(20,"mat-icon"),p(21,"map"),s(),p(22," \xA0Charts "),s(),a(23,"button",9),_("click",function(){return n.displayLeftMenu("weatherList",!0)}),a(24,"mat-icon"),p(25,"cloud"),s(),p(26," \xA0Weather "),s(),h(27,hp,4,0,"button",12),h(28,gp,4,0,"button",12),v(29,"mat-divider"),a(30,"button",12)(31,"ap-file-input",13),_("chosen",function(r){return n.importFile(r)}),v(32,"mat-icon",14),p(33," Import "),s()(),a(34,"button",9),_("click",function(){return n.exportToGPX()}),v(35,"mat-icon",15),p(36," \xA0Export "),s(),v(37,"mat-divider"),h(38,Cp,4,0,"button",12),h(39,bp,3,0,"div"),s(),a(40,"mat-menu",null,1),h(42,wp,11,1),h(43,xp,11,0),a(44,"a",9),_("click",function(){return n.toggleCourseData()}),a(45,"mat-icon"),p(46),s(),a(47,"span"),p(48),s()(),a(49,"a",9),_("click",function(){return n.toggleAisTargets()}),a(50,"mat-icon"),p(51),s(),a(52,"span"),p(53),s()(),a(54,"a",9),_("click",function(){return n.toggleNotes()}),a(55,"mat-icon"),p(56),s(),a(57,"span"),p(58),s()(),h(59,yp,6,0),v(60,"mat-divider"),a(61,"a",9),_("click",function(){return n.openSettings()}),a(62,"mat-icon"),p(63,"settings"),s(),a(64,"span"),p(65,"Settings"),s()(),v(66,"mat-divider"),a(67,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(68,"mat-icon",16),p(69,"tips_and_updates"),s(),a(70,"span"),p(71,"What's New"),s()()(),a(72,"mat-menu",null,2)(74,"a",9),_("click",function(){return n.mapInteract.startMeasuring("LineString")}),a(75,"mat-icon"),p(76,"straighten"),s(),a(77,"span"),p(78,"Measure"),s()(),a(79,"a",9),_("click",function(){return n.mapInteract.startMeasuring("Circle")}),a(80,"mat-icon"),p(81,"swap_vertical_circle"),s(),a(82,"span"),p(83,"Measure Radius"),s()(),v(84,"mat-divider"),a(85,"a",9),_("click",function(){return n.drawFeature("route")}),a(86,"mat-icon",17),p(87,"draw"),s(),a(88,"span"),p(89,"Draw Route"),s()(),a(90,"a",9),_("click",function(){return n.toggleRouteBuilderConsole(!0)}),v(91,"mat-icon",18),a(92,"span"),p(93,"Build Route"),s()(),v(94,"mat-divider"),h(95,Ep,5,0,"a",12),a(96,"a",9),_("click",function(){return n.drawFeature("waypoint")}),a(97,"mat-icon",11),p(98,"add_location_alt"),s(),a(99,"span"),p(100,"Drop Waypoint"),s()(),v(101,"mat-divider"),h(102,Tp,5,0,"a",12),a(103,"a",9),_("click",function(){return n.drawFeature("region")}),a(104,"mat-icon"),p(105,"tab_unselected"),s(),a(106,"span"),p(107,"Draw Region"),s()()(),a(108,"mat-menu",null,3),h(110,Sp,6,2),h(111,Ap,5,0,"a",12),h(112,Pp,5,1,"a",12),a(113,"a",9),_("click",function(){return n.displayLeftMenu("aisList",!0)}),a(114,"mat-icon"),p(115,"directions_boat"),s(),a(116,"span"),p(117,"Vessels"),s()(),a(118,"a",9),_("click",function(){return n.importResourceSet()}),a(119,"mat-icon"),p(120,"upload"),s(),a(121,"span"),p(122,"Resource Sets"),s()(),h(123,Ip,5,0,"a",12),v(124,"mat-divider"),a(125,"a",9),_("click",function(){return n.openSettings()}),a(126,"mat-icon"),p(127,"settings"),s(),a(128,"span"),p(129,"Settings"),s()(),v(130,"mat-divider"),a(131,"a",9),_("click",function(){return n.openAbout()}),a(132,"mat-icon",16),p(133,"info_outline"),s(),a(134,"span"),p(135,"About"),s()(),a(136,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(137,"mat-icon",16),p(138,"tips_and_updates"),s(),a(139,"span"),p(140,"What's New"),s()(),a(141,"button",9),_("click",function(){return n.app.showHelp()}),a(142,"mat-icon",16),p(143,"help"),s(),a(144,"span"),p(145,"Help"),s()()(),a(146,"div",19)(147,"mat-sidenav-container",20)(148,"mat-sidenav",21,4),h(150,Np,6,5,"info-panel")(151,Bp,17,4,"div",22),s(),a(152,"mat-sidenav-content",23),h(153,qp,2,0,"div",24),h(154,Up,1,1,"autopilot-console",25),h(155,zp,1,0,"route-builder"),h(156,kd,19,17),a(157,"div",26),_("dragover",function(r){return n.mapDragOver(r)})("drop",function(r){return n.mapDrop(r)}),a(158,"fb-map",27,5),_("drawEnded",function(r){return n.handleDrawEnded(r)})("activate",function(r){return n.activateRoute(r)})("deactivate",function(){return n.clearDestination()})("exitMovingMap",function(r){return n.toggleMoveMap(r)})("resumeMovingMap",function(){return n.resumeMoveMap()})("focusVessel",function(r){return n.switchActiveVessel(r)})("info",function(r){return n.featureProperties(r)})("menuItemSelected",function(r){return n.handleContextMenuSelection(r)}),s()(),v(160,"fb-plotterext-overlay"),a(161,"div",28),v(162,"img",29,6),s(),h(164,Md,8,1,"div",30),h(165,Rd,4,1),h(166,Dd,1,0,"fb-interact-help"),h(167,Wd,3,2,"div",31),h(168,Hd,1,1,"mfb-container",32),s()(),v(169,"fb-plotterext-panel-drawer")(170,"fb-plotterext-runtimes"),s()()()),e&2&&(x("ngClass",re(48,mp,n.app.config.display.darkMode.enabled,n.stream.selfNightMode()||n.app.uiCtrl().forceNightMode)),c(27),g(n.app.featureFlags().resourceGroups?27:-1),c(),g(n.app.featureFlags().infoLayers?28:-1),c(3),x("astext",!0),c(7),g(n.app.featureFlags().resourceTracks?38:-1),c(),g(n.app.config.resources.paths.length!==0?39:-1),c(3),g(n.app.config.vessels.trail&&n.app.selfTrail().length!==0?42:-1),c(),g(n.course.courseData().position?43:-1),c(3),z(n.app.config.ui.showCourseData?"visibility_off":"compare_arrows"),c(2),me("",n.app.config.ui.showCourseData?"Hide":"Show"," Course Data"),c(3),z(n.app.config.ui.showAisTargets?"visibility_off":"directions_boat"),c(2),me("",n.app.config.ui.showAisTargets?"Hide":"Show"," Vessels"),c(3),z(n.app.config.ui.showNotes?"visibility_off":"local_offer"),c(2),me("",n.app.config.ui.showNotes?"Hide":"Show"," Notes"),c(),g(n.app.featureFlags().weatherApi&&n.app.data.vessels.showSelf?59:-1),c(36),g(n.app.data.vessels.showSelf?95:-1),c(7),g(n.app.config.map.zoomLevel>=n.app.config.resources.notes.minZoom?102:-1),c(8),g(!n.app.hostDef.params.token&&n.app.data.loginRequired?110:-1),c(),g(!n.isInteracting()&&n.app.featureFlags().anchorApi?111:-1),c(),g(!n.isInteracting()&&n.app.featureFlags().radarApi&&n.radarApi.radarId()&&!n.app.instrumentPanel().open&&n.app.data.vessels.showSelf?112:-1),c(11),g(n.features.playbackAPI?123:-1),c(25),ne("width",n.app.instrumentPanel().open?"350px":"250px"),x("disableClose",!1),c(2),g(n.infoPanel.item&&!n.app.instrumentPanel().open?150:151),c(3),g(n.app.sIsFetching()?153:-1),c(),g(n.app.uiCtrl().autopilotConsole?154:-1),c(),g(n.app.uiCtrl().routeBuilder?155:-1),c(),g(!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?156:-1),c(2),x("scaleUnits",n.app.config.units.distance)("setFocus",n.mapSetFocus())("mapCenter",n.mapCenter())("mapZoom",n.app.config.map.zoomLevel)("northUp",n.app.uiConfig().mapNorthUp)("movingMap",n.app.uiConfig().mapMove)("vesselTrail",n.app.selfTrail())("activeRoute",n.app.data.activeRoute)("dblClickZoom",n.app.config.map.doubleClickZoom)("overZoomTiles",n.app.config.map.overZoomTiles)("measureMode",n.mapInteract.isMeasuring())("drawMode",n.mapInteract.isDrawing()),c(4),ne("transform",n.getOrientation()),c(2),g(n.mode===1?164:-1),c(),g(n.app.kioskMode()?-1:165),c(),g(n.isInteracting()?166:-1),c(),g(n.isInteracting()?-1:167),c(),g(!n.isInteracting()&&!n.app.kioskMode()?168:-1))},dependencies:[Ri,Pi,Mi,Ii,_o,Nt,mo,Ye,uo,po,Ze,Un,Xe,Kn,Hn,Wn,Gn,ye,xe,Zn,Xn,Ei,yi,Tn,En,ii,oi,ri,ai,si,ui,mi,to,ro,Qi,Xi,Ki,Ji,Bi,$i,eo,bi,xi,Ui,Fi,no,ft,ht,gt],styles:["mat-sidenav-container[_ngcontent-%COMP%]{height:100%}mat-sidenav[_ngcontent-%COMP%]{width:200px}mat-nav-list[_ngcontent-%COMP%]{padding-top:0}.appframe[_ngcontent-%COMP%]{width:100vw;height:100vh;background-color:#000;color:#fff;overflow:hidden}.view[_ngcontent-%COMP%]{inset:0;overflow:hidden;scrollbar-width:none;position:fixed;border-top:silver 0px solid;display:flex;flex-direction:row}.view[_ngcontent-%COMP%] .pe-view-main[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.leftMenuPanel[_ngcontent-%COMP%]{position:absolute;top:0;left:0;bottom:0;padding-left:0;z-index:5000;background-color:#c8c8c866;width:315px}.statusBar[_ngcontent-%COMP%]{width:max-content;z-index:4800;position:absolute;right:55px;top:20px;padding:1px;overflow:hidden;text-align:right;display:flex}.statusBarItem[_ngcontent-%COMP%]{padding-left:5px}.statusBarItem[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{background-color:#ffffff80;color:#000;border-radius:10px}.buttonPanel[_ngcontent-%COMP%]{width:50px;z-index:4800;position:absolute;padding:5px 2px 2px;overflow:auto;scrollbar-width:none}.buttonPanel.rightTop[_ngcontent-%COMP%]{right:0;top:0;padding:9px 2px 10px}.buttonPanel.leftTop[_ngcontent-%COMP%]{left:0;top:0;padding:9px 2px 10px}.buttonPanel.left[_ngcontent-%COMP%]{top:60px;left:0;bottom:0}.buttonPanel.right[_ngcontent-%COMP%]{top:60px;right:0;bottom:80px}.buttonPanel[_ngcontent-%COMP%] .buttonPanelItem[_ngcontent-%COMP%]{text-align:center;height:48px;padding:5px 0}.mapButton[_ngcontent-%COMP%]{position:fixed;z-index:4900}.alarmPanel[_ngcontent-%COMP%]{position:absolute;z-index:4902;top:55px;left:15%;right:15%}.measurePanel[_ngcontent-%COMP%]{font-family:roboto;font-size:10pt}.playbackPanel[_ngcontent-%COMP%]{position:absolute;z-index:4900;bottom:150px;left:50px;top:auto;width:100px;border:gray 1px solid;border-radius:5px;font-family:roboto;text-align:center}.navdataPanel[_ngcontent-%COMP%]{position:absolute;z-index:4901;bottom:30px;left:10px;max-width:calc(100% - 75px);max-height:100px;text-align:center;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border:gray 1px solid}.bottomSheet[_ngcontent-%COMP%]{position:absolute;z-index:4902;bottom:0;left:15%;min-width:400px;max-width:100%;height:180px;overflow:auto}.bottomSheet[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center;font-family:roboto;font-weight:500;line-height:2.5em}.control[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;margin:20px}.ol-mouse-position[_ngcontent-%COMP%]{position:fixed;bottom:10px;right:45%;color:#1e1e1e;font-family:roboto;background-color:#fafafab3}.ol-zoom[_ngcontent-%COMP%]{position:fixed;top:10px;left:100px;color:#1e1e1e;font-family:roboto;background-color:transparent;height:45px}.instrumentPanelToggle[_ngcontent-%COMP%]{display:block}@media only screen and (max-width:650px){.bottomSheet[_ngcontent-%COMP%]{left:0;min-width:100%}}@media only screen and (max-width:800px){.instrumentPanelToggle[_ngcontent-%COMP%]{display:none}}@media only screen and (max-height:600px){.navdataPanel[_ngcontent-%COMP%]{left:50px;max-width:calc(100% - 115px)}}"]})};Sn(Ct,{providers:[yn({eventCoalescing:!0,runCoalescing:!0}),An(kn())]}).then(i=>{try{if(new URLSearchParams(window.location.search).has("perfprobe")){let t=i.injector.get(Y),e=window;e.__cd=0,t.onMicrotaskEmpty.subscribe(()=>{e.__cd++})}}catch(t){}}).catch(i=>console.error(i));
467
+ Please select only one file for processing.`);else{let e=new FileReader;if(e.onerror=()=>{this.app.showAlert("File Load error","There was an error reading the file contents!")},!t.dataTransfer.files[0].name)return;let n=t.dataTransfer.files[0].name;e.onload=()=>{this.processGPX({name:n,data:e.result})},e.readAsText(t.dataTransfer.files[0])}}switchActiveVessel(t=null){if(this.app.data.vessels.activeId=t,!t)this.app.data.vessels.active=this.app.data.vessels.self;else{let e=this.app.data.vessels.aisTargets.get(t);e?(this.app.data.vessels.active=e,this.sideright.close()):(this.app.data.vessels.active=this.app.data.vessels.self,this.app.data.vessels.activeId=null)}this.app.data.activeRoute=null,this.clearCourseData(),this.app.debug(`** Active vessel: ${this.app.data.vessels.activeId} `),this.app.debug(this.app.data.vessels.active)}switchMode(t,e){this.app.debug(`switchMode from: ${this.mode} to ${t}`),t===1?(this.app.db.saveTrail("self",this.app.selfTrail()),this.app.selfTrail.set([])):this.app.db.getTrail("self").then(n=>{this.app.selfTrail.update(()=>n&&n.value?n.value:[])}),this.switchActiveVessel(),this.openSKStream(e,t,!0)}showSelectMode(){this.mode===0?this.app.showConfirm("Do you want to change to History Playback mode?","Switch Mode").subscribe(t=>{t&&this.showPlaybackSettings()}):this.app.showConfirm("Do you want to exit History Playback mode?","Exit History Playback").subscribe(t=>{t&&this.switchMode(0)})}handleSelectionEnded(t){t.mode==="seedChart"&&this.skres.seedChartCache(t.data,t.bbox)}drawFeature(t){this.mapInteract.startDrawing(t)}onRouteInfoEdit(t){let e=this.routeBuffers.get(t);e&&(!e.saved||e.dirty)?this.saveRouteBuffer(t):this.skres.editRouteInfo(t)}saveRouteBuffer(t){return L(this,null,function*(){try{let e=yield this.plotterExt.saveBuffer(t,{dialog:!0,promote:!0});e&&this.infoPanel.open("routes",e.href)}catch(e){}})}handleDrawEnded(t){switch(this.mapInteract.isDrawing(),this.app.data.editingId="",this.mapInteract.draw.resourceType){case"note":{let e={position:t.coordinates};this.mapInteract.draw.properties.group&&(e.group=this.mapInteract.draw.properties.group),this.skres.showNoteEditor(e);break}case"waypoint":this.skres.newWaypointAt(t.coordinates);break;case"route":this.routeBuffers.create({points:t.coordinates.map(e=>({position:e}))});break;case"region":{let e=new ni;e.feature.geometry.coordinates=[It.normaliseCoords(t.coordinates)],this.skres.newRegion(e);break}}}handleInteractionFinish(){this.mapInteract.isDrawing()?this.fbMap.finishDrawing():this.closeInteraction(!0)}handleInteractionUndo(){this.fbMap.undoInteraction()}onDocumentKeydown(t){!fo(t)||!this.mapInteract.canUndo()||(t.preventDefault(),this.handleInteractionUndo())}closeInteraction(t=!1){if(this.app.data.editingId="",this.mapInteract.isBoxSelecting()&&this.mapInteract.stopBoxSelection(),this.mapInteract.isMeasuring()&&this.mapInteract.stopMeasuring(),this.mapInteract.isDrawing()&&this.mapInteract.stopDrawing(),this.mapInteract.isModifying()&&(this.mapInteract.stopModifying(),this.app.data.activeRouteIsEditing=!1,this.mapInteract.draw.forSave?.id)){if(this.mapInteract.draw.forSave.id==="anchor"){this.mapInteract.draw.forSave=null,this.focusMap();return}let e=this.mapInteract.draw.forSave.id.split(".");if(e[0]==="route"){this.applyModifyResult(t);return}this.app.showConfirm(`Do you want to save the changes made to ${e[0]}?`,"Save Changes").subscribe(n=>this.applyModifyResult(n))}}applyModifyResult(t){let e=this.mapInteract.draw.forSave.id.split("."),n=this.mapInteract.draw.forSave.coords;if(t){if(e[0]==="route"){let o=this.routeBuffers.get(e[1]);if(o&&!o.saved){let r=this.mapInteract.draw.forSave.coordsMetadata;this.routeBuffers.replace(e[1],pi(n,r))}else this.plotterExt.saveNativeRouteEdit(e[1],n,this.mapInteract.draw.forSave.coordsMetadata)}e[0]==="waypoint"&&(this.skres.updateWaypointPosition(e[1],n),e[1]===this.app.data.activeWaypoint&&this.course.setDestination({latitude:n[1],longitude:n[0]})),e[0]==="note"&&this.skres.updateNotePosition(e[1],n),e[0]==="region"&&this.skres.updateRegionCoords(e[1],n)}else{if(e[0]==="route"){let o=this.routeBuffers.get(e[1]);o&&(!o.saved||o.dirty)?this.routeBuffers.refresh():this.skres.refreshRoutes()}e[0]==="waypoint"&&this.skres.refreshWaypoints(),e[0]==="note"&&this.skres.refreshNotes(),e[0]==="region"&&this.skres.refreshRegions()}this.mapInteract.draw.forSave=null,this.focusMap()}loadSymbolsThenFetchResources(){return L(this,null,function*(){yield this.symbols.load(),Yn(this.symbols),this.fetchResources(!0)})}fetchResources(t=!1){this.skres.refreshRoutes(),this.skres.refreshWaypoints(),this.skres.refreshCharts(),this.skres.refreshRegions(),t&&this.fetchOtherResources()}fetchOtherResources(){this.skres.refreshTracks(),this.skresOther.refreshResourceSetsInBounds()}openSKStream(t=null,e=0,n=!1){if(n){this.streamOptions={options:t,toMode:e},this.stream.close();return}this.stream.sendConfig(this.app.config),this.stream.open(t)}queryAfterConnect(){this.signalk.server.info.version.split(".")[0]==="1"&&this.app.showAlert("Unsupported Server Version:",`The connected Signal K server is not supported by this version of Freeboard-SK.
468
+ Signal K server version 2 or later is required!`),this.app.alignCustomResourcesPaths(),this.signalk.api.getSelf().subscribe(t=>{this.stream.post({cmd:"vessel",options:{context:"self",name:t.name}}),this.anchor.queryAnchorStatus(void 0,this.app.data.vessels.self.position),this.radarApi.init()},t=>{t.status&&t.status===401&&this.showLogin(null,!1,!0),this.app.debug("No vessel data available!")})}onConnect(t){this.app.showMessage("Connection Open.",!1,2e3),this.app.debug(t),this.queryAfterConnect(),this.startTimers(),this.temporaryRoutes.sweep()}onClose(t){if(this.app.debug("onClose: STREAM connection closed..."),this.app.debug(t),this.stopTimers(),t.result)this.openSKStream(this.streamOptions.options,this.streamOptions.toMode);else{let e={title:"Connection Closed:",buttonText:"Re-connect",message:""};t.playback?(e.buttonText="OK",e.message="Unable to open Playback connection.",this.app.showAlert(e.message,e.title,e.buttonText).subscribe(()=>{this.mode===0?this.switchMode(this.mode):this.showPlaybackSettings()})):this.reconnecting||(this.reconnecting=!0,setTimeout(()=>{this.reconnecting=!1,this.openSKStream(this.streamOptions.options,this.mode)},5e3))}}reconnecting=!1;onError(t){this.app.showMessage("Connection Error!",!1,2e3),console.warn("Stream Error!",t)}onMessage(t){if(t.action==="hello"){this.app.debug(t),t.playback?this.mode=1:(this.mode=0,this.stream.subscribe()),this.app.data.selfId=t.self;return}else if(t.action==="update"){if(this.mode===1){let e=new Date(t.timestamp);this.playbackTime.update(()=>`${e.toDateString().slice(4)} ${e.toTimeString().slice(0,8)}`)}else this.playbackTime.set(null),this.setDarkTheme();this.updateNavPanel()}}updateNavPanel(){this.navDataPanel.update(()=>({show:!!(this.app.data.activeRoute||this.app.data.activeWaypoint||this.course.courseData().position),nextPointCtrl:!!this.app.data.activeRoute,apModeColor:this.app.data.vessels.self.autopilot.enabled?"primary":"",apModeText:this.app.data.vessels.self.autopilot.default?`Autopilot: ${this.app.data.vessels.self.autopilot.default}`:""}))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=D({type:i,selectors:[["app-root"]],viewQuery:function(e,n){if(e&1&&Z(np,5)(ip,5),e&2){let o;F(o=$())&&(n.sideright=o.first),F(o=$())&&(n.fbMap=o.first)}},hostBindings:function(e,n){e&1&&_("visibilitychange",function(){return n.onVisibilityChange()},Et)("keydown",function(r){return n.onDocumentKeydown(r)},Et)},decls:171,vars:51,consts:[["layersmenu","matMenu"],["settingsmenu","matMenu"],["editmenu","matMenu"],["mainmenu","matMenu"],["sideright",""],["fbMap",""],["northArrow",""],[3,"ngClass"],[1,"appframe","mat-app-background"],["mat-menu-item","",3,"click"],["svgIcon","route",1,"icon-route"],[1,"icon-waypoint"],["mat-menu-item",""],["accept",".gpx,.json",3,"chosen","astext"],["svgIcon","route-import",1,"ob"],["svgIcon","route-export",1,"ob"],[1,"icon-accent"],[1,"icon-route"],["svgIcon","route-planning",1,"icon-route"],["theme-main","",1,"view"],["hasBackdrop","false",1,"pe-view-main"],["mode","side","position","end",3,"disableClose"],[2,"display","flex","flex-direction","column","position","relative"],[2,"overflow","hidden"],[2,"z-index","4700","position","fixed","top","0px","left","0px","width","100%"],[3,"apData"],[2,"display","relative","width","100%","height","100%",3,"dragover","drop"],[3,"drawEnded","activate","deactivate","exitMovingMap","resumeMovingMap","focusVessel","info","menuItemSelected","scaleUnits","setFocus","mapCenter","mapZoom","northUp","movingMap","vesselTrail","activeRoute","dblClickZoom","overZoomTiles","measureMode","drawMode"],[2,"position","absolute","top","60px","left","56px","width","50px"],["src","./assets/img/north_arrow.svg","width","50","height","70"],[1,"playbackPanel","mat-app-background"],[1,"navdataPanel"],[3,"action"],[1,"icon-warn"],["svgIcon","chart-display-settings-iec",1,"ob"],["matBadge","!","matBadgeOverlap","true","matBadgeSize","medium","matBadgePosition","below after","aria-hidden","false",3,"matBadgeHidden"],["svgIcon","radar-iec",1,"ob"],[3,"closed"],[3,"radar","id"],[3,"note","id","interacting"],[3,"region","id","related","interacting"],[3,"waypoint","id","related","interacting"],[3,"route","id","related","interacting"],[3,"connect","disconnect","radar","id"],[3,"edit","move","panTo","note","id","interacting"],[3,"edit","panTo","region","id","related","interacting"],[3,"edit","panTo","waypoint","id","related","interacting"],[3,"edit","activate","panTo","route","id","related","interacting"],["mat-list-item",""],["mat-icon-button","",3,"click"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"href"],["mat-icon-button","","matTooltip","Previous plugin","matTooltipPosition","below",3,"click","disabled"],["mat-icon-button","","matTooltip","Next plugin","matTooltipPosition","below",3,"click","disabled"],[2,"position","fixed","bottom","0","top","48px","overflow","auto","-webkit-overfow-scrolling","touch"],["sandbox","allow-scripts allow-same-origin allow-forms",2,"width","345px","height","100%",3,"src"],["mat-icon-button","","target","_blank","matTooltip","Open Instruments in window.","matTooltipPosition","right",3,"click","href"],["mode","query"],[3,"close","apData"],[3,"save","close"],[1,"leftTop","buttonPanel"],[1,"buttonPanelItem"],["mat-mini-fab","","matBadge","!","matBadgeOverlap","true","matTooltip","Menu","matTooltipPosition","right","aria-hidden","false",1,"button-secondary",3,"disabled","matBadgeHidden","matMenuTriggerFor"],[1,"buttonPanel","left"],[1,"leftMenuPanel"],[1,"statusBar"],[1,"statusBarItem"],[1,"rightTop","buttonPanel"],["mat-mini-fab","","matTooltipPosition","before",1,"button-secondary",3,"click","matTooltip"],[1,"buttonPanel","right",3,"top"],["mat-mini-fab","","matTooltip","Alarms","matTooltipPosition","left","matBadgeOverlap","true","aria-hidden","false",1,"button-warn",3,"click","matBadge","matBadgeHidden"],["svgIcon","alert-list",1,"ob"],["mat-mini-fab","","matTooltip","Routes, Waypoints, Notes, etc.","matTooltipPosition","right",1,"button-accent",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Draw / Measure / Select","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","matTooltip"],[1,"ob",3,"svgIcon"],["mat-mini-fab","","matTooltipPosition","right",3,"click","ngClass","disabled","matTooltip"],["svgIcon","cent-iec",1,"ob"],["mat-mini-fab","","matTooltip","More actions","matTooltipPosition","right",1,"button-toolbar",3,"disabled","matMenuTriggerFor"],["mat-mini-fab","","matTooltip","Exit playback mode","matTooltipPosition","right",1,"button-warn",3,"click"],["mat-mini-fab","","matTooltip","What's New","matTooltipPosition","right",1,"button-accent",3,"click"],[3,"showSelf","radius","raised"],[3,"activate","deactivate","select","points","notes","closed","activeRoute","editingRouteId"],[3,"select","goto","deactivate","center","notes","closed","activeWaypoint","editingWaypointId"],[3,"closed","selectedCharts"],[3,"select","pan","closed","notes"],[3,"select","pan","closed","regions"],[3,"center","closed"],[3,"properties","closed","focusVessel","pan","focusId"],[3,"closed","showSelf","radius","raised"],["matTooltip","WakeLock is turned off","matTooltipPosition","below"],["matTooltip","Course data is hidden","matTooltipPosition","below"],["matTooltip","Vessels are hidden","matTooltipPosition","below"],["matTooltip","Notes are hidden","matTooltipPosition","below"],["matTooltip","No server messages!","matTooltipPosition","below",2,"background-color","red","color","white"],[1,"buttonPanel","right"],[1,"instrumentPanelToggle","buttonPanelItem"],["mat-mini-fab","","matTooltip","Constrain map zoom.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Invert feature text color.","matTooltipPosition","before",3,"click","ngClass"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar"],["mat-mini-fab","","matTooltip","Instruments","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltip","Web Audio off! Click to enable.","matTooltipPosition","before",1,"button-toolbar",3,"click"],["mat-mini-fab","","matTooltipPosition","before",3,"click","ngClass","matTooltip"],[3,"selected"],[3,"click","src","muted"],["mat-mini-fab","","matTooltip","Autopilot","matTooltipPosition","before",3,"click","ngClass"],["svgIcon","command-autopilot",1,"ob"],["mat-mini-fab","","matTooltip","Radar","matTooltipPosition","before",3,"click","ngClass","disabled"],["mat-mini-fab","","matTooltipPosition","before",1,"button-toolbar",3,"click","matTooltip"],[2,"border-radius","5px"],[2,"text-align","center"],[3,"alerts"],[1,"alarmPanel"],[2,"margin-bottom","5px"],[3,"closed","alerts"],[3,"nextPoint","routeEnd","audioStatus","alert","acknowledged","silenced","doNotPlaySound"],[3,"finish","cancel","undo"],[3,"index","total","circular"],[2,"display","flex","flex-wrap","nowrap"],[3,"selected","index","total","circular"],[1,"mat-app-background",2,"display","flex"],[2,"width","40px"],["mat-icon-button","","matTooltip","Course Settings",3,"click"],["svgIcon","navigation-route",1,"ob"],["mat-icon-button","","matTooltip","Autopilot Console","matTooltipPosition","above","matTooltip","Engage Autopilot",3,"click","disabled"],["svgIcon","command-autopilot",1,"ob",3,"color"],["mat-icon-button","","matTooltip","Restart XTE",3,"click"],["mat-icon-button","","matTooltip","Reverse route direction","matTooltipPosition","above",3,"click","disabled"],[3,"color"],[3,"title","value","units"],[3,"value"],[3,"title","value"],["subTitle","RT",3,"title","value","units"],["subTitle","RT",3,"value"],["subTitle","RT",3,"title","value"],[3,"radarClick","action"]],template:function(e,n){e&1&&(a(0,"div",7)(1,"div",8)(2,"mat-menu",null,0)(4,"button",9),_("click",function(){return n.displayLeftMenu("routeList",!0)}),v(5,"mat-icon",10),p(6," \xA0Routes "),s(),a(7,"button",9),_("click",function(){return n.displayLeftMenu("waypointList",!0)}),a(8,"mat-icon",11),p(9,"location_on"),s(),p(10," \xA0Waypoints "),s(),a(11,"button",9),_("click",function(){return n.displayLeftMenu("noteList",!0)}),a(12,"mat-icon"),p(13,"local_offer"),s(),p(14," \xA0Notes "),s(),a(15,"button",9),_("click",function(){return n.displayLeftMenu("regionList",!0)}),a(16,"mat-icon"),p(17,"tab_unselected"),s(),p(18," \xA0Regions "),s(),a(19,"button",9),_("click",function(){return n.displayLeftMenu("chartList",!0)}),a(20,"mat-icon"),p(21,"map"),s(),p(22," \xA0Charts "),s(),a(23,"button",9),_("click",function(){return n.displayLeftMenu("weatherList",!0)}),a(24,"mat-icon"),p(25,"cloud"),s(),p(26," \xA0Weather "),s(),h(27,hp,4,0,"button",12),h(28,gp,4,0,"button",12),v(29,"mat-divider"),a(30,"button",12)(31,"ap-file-input",13),_("chosen",function(r){return n.importFile(r)}),v(32,"mat-icon",14),p(33," Import "),s()(),a(34,"button",9),_("click",function(){return n.exportToGPX()}),v(35,"mat-icon",15),p(36," \xA0Export "),s(),v(37,"mat-divider"),h(38,Cp,4,0,"button",12),h(39,bp,3,0,"div"),s(),a(40,"mat-menu",null,1),h(42,wp,11,1),h(43,xp,11,0),a(44,"a",9),_("click",function(){return n.toggleCourseData()}),a(45,"mat-icon"),p(46),s(),a(47,"span"),p(48),s()(),a(49,"a",9),_("click",function(){return n.toggleAisTargets()}),a(50,"mat-icon"),p(51),s(),a(52,"span"),p(53),s()(),a(54,"a",9),_("click",function(){return n.toggleNotes()}),a(55,"mat-icon"),p(56),s(),a(57,"span"),p(58),s()(),h(59,yp,6,0),v(60,"mat-divider"),a(61,"a",9),_("click",function(){return n.openSettings()}),a(62,"mat-icon"),p(63,"settings"),s(),a(64,"span"),p(65,"Settings"),s()(),v(66,"mat-divider"),a(67,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(68,"mat-icon",16),p(69,"tips_and_updates"),s(),a(70,"span"),p(71,"What's New"),s()()(),a(72,"mat-menu",null,2)(74,"a",9),_("click",function(){return n.mapInteract.startMeasuring("LineString")}),a(75,"mat-icon"),p(76,"straighten"),s(),a(77,"span"),p(78,"Measure"),s()(),a(79,"a",9),_("click",function(){return n.mapInteract.startMeasuring("Circle")}),a(80,"mat-icon"),p(81,"swap_vertical_circle"),s(),a(82,"span"),p(83,"Measure Radius"),s()(),v(84,"mat-divider"),a(85,"a",9),_("click",function(){return n.drawFeature("route")}),a(86,"mat-icon",17),p(87,"draw"),s(),a(88,"span"),p(89,"Draw Route"),s()(),a(90,"a",9),_("click",function(){return n.toggleRouteBuilderConsole(!0)}),v(91,"mat-icon",18),a(92,"span"),p(93,"Build Route"),s()(),v(94,"mat-divider"),h(95,Ep,5,0,"a",12),a(96,"a",9),_("click",function(){return n.drawFeature("waypoint")}),a(97,"mat-icon",11),p(98,"add_location_alt"),s(),a(99,"span"),p(100,"Drop Waypoint"),s()(),v(101,"mat-divider"),h(102,Tp,5,0,"a",12),a(103,"a",9),_("click",function(){return n.drawFeature("region")}),a(104,"mat-icon"),p(105,"tab_unselected"),s(),a(106,"span"),p(107,"Draw Region"),s()()(),a(108,"mat-menu",null,3),h(110,Sp,6,2),h(111,Ap,5,0,"a",12),h(112,Pp,5,1,"a",12),a(113,"a",9),_("click",function(){return n.displayLeftMenu("aisList",!0)}),a(114,"mat-icon"),p(115,"directions_boat"),s(),a(116,"span"),p(117,"Vessels"),s()(),a(118,"a",9),_("click",function(){return n.importResourceSet()}),a(119,"mat-icon"),p(120,"upload"),s(),a(121,"span"),p(122,"Resource Sets"),s()(),h(123,Ip,5,0,"a",12),v(124,"mat-divider"),a(125,"a",9),_("click",function(){return n.openSettings()}),a(126,"mat-icon"),p(127,"settings"),s(),a(128,"span"),p(129,"Settings"),s()(),v(130,"mat-divider"),a(131,"a",9),_("click",function(){return n.openAbout()}),a(132,"mat-icon",16),p(133,"info_outline"),s(),a(134,"span"),p(135,"About"),s()(),a(136,"a",9),_("click",function(){return n.openFeatureBrowser()}),a(137,"mat-icon",16),p(138,"tips_and_updates"),s(),a(139,"span"),p(140,"What's New"),s()(),a(141,"button",9),_("click",function(){return n.app.showHelp()}),a(142,"mat-icon",16),p(143,"help"),s(),a(144,"span"),p(145,"Help"),s()()(),a(146,"div",19)(147,"mat-sidenav-container",20)(148,"mat-sidenav",21,4),h(150,Np,6,5,"info-panel")(151,Bp,17,4,"div",22),s(),a(152,"mat-sidenav-content",23),h(153,qp,2,0,"div",24),h(154,Up,1,1,"autopilot-console",25),h(155,zp,1,0,"route-builder"),h(156,kd,19,17),a(157,"div",26),_("dragover",function(r){return n.mapDragOver(r)})("drop",function(r){return n.mapDrop(r)}),a(158,"fb-map",27,5),_("drawEnded",function(r){return n.handleDrawEnded(r)})("activate",function(r){return n.activateRoute(r)})("deactivate",function(){return n.clearDestination()})("exitMovingMap",function(r){return n.toggleMoveMap(r)})("resumeMovingMap",function(){return n.resumeMoveMap()})("focusVessel",function(r){return n.switchActiveVessel(r)})("info",function(r){return n.featureProperties(r)})("menuItemSelected",function(r){return n.handleContextMenuSelection(r)}),s()(),v(160,"fb-plotterext-overlay"),a(161,"div",28),v(162,"img",29,6),s(),h(164,Md,8,1,"div",30),h(165,Rd,4,1),h(166,Dd,1,0,"fb-interact-help"),h(167,Wd,3,2,"div",31),h(168,Hd,1,1,"mfb-container",32),s()(),v(169,"fb-plotterext-panel-drawer")(170,"fb-plotterext-runtimes"),s()()()),e&2&&(x("ngClass",re(48,mp,n.app.config.display.darkMode.enabled,n.stream.selfNightMode()||n.app.uiCtrl().forceNightMode)),c(27),g(n.app.featureFlags().resourceGroups?27:-1),c(),g(n.app.featureFlags().infoLayers?28:-1),c(3),x("astext",!0),c(7),g(n.app.featureFlags().resourceTracks?38:-1),c(),g(n.app.config.resources.paths.length!==0?39:-1),c(3),g(n.app.config.vessels.trail&&n.app.selfTrail().length!==0?42:-1),c(),g(n.course.courseData().position?43:-1),c(3),z(n.app.config.ui.showCourseData?"visibility_off":"compare_arrows"),c(2),me("",n.app.config.ui.showCourseData?"Hide":"Show"," Course Data"),c(3),z(n.app.config.ui.showAisTargets?"visibility_off":"directions_boat"),c(2),me("",n.app.config.ui.showAisTargets?"Hide":"Show"," Vessels"),c(3),z(n.app.config.ui.showNotes?"visibility_off":"local_offer"),c(2),me("",n.app.config.ui.showNotes?"Hide":"Show"," Notes"),c(),g(n.app.featureFlags().weatherApi&&n.app.data.vessels.showSelf?59:-1),c(36),g(n.app.data.vessels.showSelf?95:-1),c(7),g(n.app.config.map.zoomLevel>=n.app.config.resources.notes.minZoom?102:-1),c(8),g(!n.app.hostDef.params.token&&n.app.data.loginRequired?110:-1),c(),g(!n.isInteracting()&&n.app.featureFlags().anchorApi?111:-1),c(),g(!n.isInteracting()&&n.app.featureFlags().radarApi&&n.radarApi.radarId()&&!n.app.instrumentPanel().open&&n.app.data.vessels.showSelf?112:-1),c(11),g(n.features.playbackAPI?123:-1),c(25),ne("width",n.app.instrumentPanel().open?"350px":"250px"),x("disableClose",!1),c(2),g(n.infoPanel.item&&!n.app.instrumentPanel().open?150:151),c(3),g(n.app.sIsFetching()?153:-1),c(),g(n.app.uiCtrl().autopilotConsole?154:-1),c(),g(n.app.uiCtrl().routeBuilder?155:-1),c(),g(!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?156:-1),c(2),x("scaleUnits",n.app.config.units.distance)("setFocus",n.mapSetFocus())("mapCenter",n.mapCenter())("mapZoom",n.app.config.map.zoomLevel)("northUp",n.app.uiConfig().mapNorthUp)("movingMap",n.app.uiConfig().mapMove)("vesselTrail",n.app.selfTrail())("activeRoute",n.app.data.activeRoute)("dblClickZoom",n.app.config.map.doubleClickZoom)("overZoomTiles",n.app.config.map.overZoomTiles)("measureMode",n.mapInteract.isMeasuring())("drawMode",n.mapInteract.isDrawing()),c(4),ne("transform",n.getOrientation()),c(2),g(n.mode===1?164:-1),c(),g(n.app.kioskMode()?-1:165),c(),g(n.isInteracting()?166:-1),c(),g(n.isInteracting()?-1:167),c(),g(!n.isInteracting()&&!n.app.kioskMode()?168:-1))},dependencies:[Ri,Pi,Mi,Ii,_o,Ft,mo,Ye,uo,po,Ze,Un,Xe,Kn,Hn,Wn,Gn,ye,xe,Zn,Xn,Ei,yi,Tn,En,ii,oi,ri,ai,si,ui,mi,to,ro,Qi,Xi,Ki,Ji,Bi,$i,eo,bi,xi,Ui,Fi,no,ft,ht,gt],styles:["mat-sidenav-container[_ngcontent-%COMP%]{height:100%}mat-sidenav[_ngcontent-%COMP%]{width:200px}mat-nav-list[_ngcontent-%COMP%]{padding-top:0}.appframe[_ngcontent-%COMP%]{width:100vw;height:100vh;background-color:#000;color:#fff;overflow:hidden}.view[_ngcontent-%COMP%]{inset:0;overflow:hidden;scrollbar-width:none;position:fixed;border-top:silver 0px solid;display:flex;flex-direction:row}.view[_ngcontent-%COMP%] .pe-view-main[_ngcontent-%COMP%]{flex:1 1 auto;min-width:0;height:100%}.leftMenuPanel[_ngcontent-%COMP%]{position:absolute;top:0;left:0;bottom:0;padding-left:0;z-index:5000;background-color:#c8c8c866;width:315px}.statusBar[_ngcontent-%COMP%]{width:max-content;z-index:4800;position:absolute;right:55px;top:20px;padding:1px;overflow:hidden;text-align:right;display:flex}.statusBarItem[_ngcontent-%COMP%]{padding-left:5px}.statusBarItem[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{background-color:#ffffff80;color:#000;border-radius:10px}.buttonPanel[_ngcontent-%COMP%]{width:50px;z-index:4800;position:absolute;padding:5px 2px 2px;overflow:auto;scrollbar-width:none}.buttonPanel.rightTop[_ngcontent-%COMP%]{right:0;top:0;padding:9px 2px 10px}.buttonPanel.leftTop[_ngcontent-%COMP%]{left:0;top:0;padding:9px 2px 10px}.buttonPanel.left[_ngcontent-%COMP%]{top:60px;left:0;bottom:0}.buttonPanel.right[_ngcontent-%COMP%]{top:60px;right:0;bottom:80px}.buttonPanel[_ngcontent-%COMP%] .buttonPanelItem[_ngcontent-%COMP%]{text-align:center;height:48px;padding:5px 0}.mapButton[_ngcontent-%COMP%]{position:fixed;z-index:4900}.alarmPanel[_ngcontent-%COMP%]{position:absolute;z-index:4902;top:55px;left:15%;right:15%}.measurePanel[_ngcontent-%COMP%]{font-family:roboto;font-size:10pt}.playbackPanel[_ngcontent-%COMP%]{position:absolute;z-index:4900;bottom:150px;left:50px;top:auto;width:100px;border:gray 1px solid;border-radius:5px;font-family:roboto;text-align:center}.navdataPanel[_ngcontent-%COMP%]{position:absolute;z-index:4901;bottom:30px;left:10px;max-width:calc(100% - 75px);max-height:100px;text-align:center;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;border:gray 1px solid}.bottomSheet[_ngcontent-%COMP%]{position:absolute;z-index:4902;bottom:0;left:15%;min-width:400px;max-width:100%;height:180px;overflow:auto}.bottomSheet[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1 1 auto;text-align:center;font-family:roboto;font-weight:500;line-height:2.5em}.control[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:flex-start;margin:20px}.ol-mouse-position[_ngcontent-%COMP%]{position:fixed;bottom:10px;right:45%;color:#1e1e1e;font-family:roboto;background-color:#fafafab3}.ol-zoom[_ngcontent-%COMP%]{position:fixed;top:10px;left:100px;color:#1e1e1e;font-family:roboto;background-color:transparent;height:45px}.instrumentPanelToggle[_ngcontent-%COMP%]{display:block}@media only screen and (max-width:650px){.bottomSheet[_ngcontent-%COMP%]{left:0;min-width:100%}}@media only screen and (max-width:800px){.instrumentPanelToggle[_ngcontent-%COMP%]{display:none}}@media only screen and (max-height:600px){.navdataPanel[_ngcontent-%COMP%]{left:50px;max-width:calc(100% - 115px)}}"]})};Sn(Ct,{providers:[yn({eventCoalescing:!0,runCoalescing:!0}),An(kn())]}).then(i=>{try{if(new URLSearchParams(window.location.search).has("perfprobe")){let t=i.injector.get(Y),e=window;e.__cd=0,t.onMicrotaskEmpty.subscribe(()=>{e.__cd++})}}catch(t){}}).catch(i=>console.error(i));