@signalk/freeboard-sk 3.3.0 → 3.4.0-beta.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.
- package/package.json +2 -2
- package/public/3rdpartylicenses.txt +37 -37
- package/public/assets/features/split-view-1.jpg +0 -0
- package/public/assets/features/split-view-2.jpg +0 -0
- package/public/assets/features/toolbar-overflow-1.jpg +0 -0
- package/public/assets/features/toolbar-overflow-2.jpg +0 -0
- package/public/assets/features-corpus.json +1 -1
- package/public/assets/help/index.html +32 -1
- package/public/{chunk-YSHHABBQ.js → chunk-5B3P22GG.js} +1 -1
- package/public/{chunk-PD55PKQG.js → chunk-5WUOKMEL.js} +5 -5
- package/public/{chunk-MYBGWSLC.js → chunk-CXU2QR7B.js} +1 -1
- package/public/chunk-D7NY4CGQ.js +1 -0
- package/public/{chunk-62WHV6CJ.js → chunk-DXAIA7TN.js} +4 -4
- package/public/chunk-FESHPCKG.js +106 -0
- package/public/{chunk-PAHYECKY.js → chunk-LZQNRNTA.js} +1 -1
- package/public/chunk-M3QKKNN7.js +1 -0
- package/public/{chunk-X6D4D6EN.js → chunk-M4D7Z434.js} +1 -1
- package/public/chunk-NL5F2VEH.js +4399 -0
- package/public/{chunk-45ZTFAA5.js → chunk-OMAUXPDZ.js} +1 -1
- package/public/{chunk-MX5HWKAH.js → chunk-RABBT5ST.js} +1 -1
- package/public/{chunk-Z5VKGWZC.js → chunk-SU5TGPFJ.js} +1 -1
- package/public/{chunk-ISXARX6U.js → chunk-U7APAW37.js} +1 -1
- package/public/{chunk-X2BSGTPL.js → chunk-W2UT4HJG.js} +1 -1
- package/public/chunk-XHD652B2.js +1 -0
- package/public/{chunk-RG7WQ7O2.js → chunk-XHH2BWBG.js} +1 -1
- package/public/chunk-XIEUBZE5.js +1 -0
- package/public/{chunk-T7ZWMXKZ.js → chunk-XRUZGBPD.js} +1 -1
- package/public/{chunk-YZN4NRWW.js → chunk-XSBLUIEK.js} +1 -1
- package/public/chunk-YP3ILUPZ.js +1 -0
- package/public/chunk-YXEZPMKV.js +1 -0
- package/public/chunk-ZJLAX3N2.js +1 -0
- package/public/index.html +2 -2
- package/public/main-C7W4SDMX.js +358 -0
- package/public/{styles-BRU77GKR.css → styles-ADI62PD5.css} +1 -1
- package/public/worker-KSHRWMJ6.js +3 -0
- package/public/chunk-2KQASZ2P.js +0 -1
- package/public/chunk-6E2BDKCH.js +0 -106
- package/public/chunk-B3ZGKAZU.js +0 -4170
- package/public/chunk-BXGNCKBA.js +0 -1
- package/public/chunk-EGNX7VBY.js +0 -1
- package/public/chunk-I33LU6L4.js +0 -1
- package/public/chunk-I75RV7GQ.js +0 -1
- package/public/chunk-NRPRHL2L.js +0 -1
- package/public/chunk-V2SBXN4Z.js +0 -1
- package/public/main-XWH2CEAU.js +0 -468
- package/public/worker-PCWM7FLK.js +0 -3
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import{d as Cr}from"./chunk-XRUZGBPD.js";import{$ as fn,$a as Ko,A as sn,Ab as Cn,B as Ki,Ba as So,Bb as pr,C as st,Ca as Po,Cb as We,D as lt,Da as Ao,Db as cr,Ea as ko,Eb as gt,Fa as hn,Fb as dr,G as Xi,Ga as _n,Gb as ur,H as Zi,Ha as Io,Hb as mr,I as Qi,Ia as Ro,Ib as fr,J as Yi,Ja as Oo,Jb as hr,K as Ji,Ka as Do,L as pt,La as Lo,Lb as _r,M as ct,Ma as Vo,Mb as gr,N as eo,Na as No,Nb as wn,O as to,Oa as Fo,P as no,Pa as $o,Q as dt,Qa as Bo,Qb as vt,R as dn,Ra as zo,Rb as vr,S as io,Sa as Uo,W as K,Wa as qo,X as oo,Xa as Ho,Y as un,Ya as Wo,Z as mn,Za as Go,_ as ro,_a as jo,a as yi,aa as ut,ab as Xo,b as Ni,ba as ao,ca as so,d as Fi,da as lo,ea as po,eb as Zo,fa as co,fb as Qo,ga as uo,gb as Yo,h as on,ha as mo,hb as Jo,i as rn,ia as fo,ib as er,ja as mt,ka as ft,la as ht,ma as _t,na as ho,oa as _o,pa as go,pb as tr,q as qi,qb as nr,r as Hi,ra as vo,rb as ir,sa as Co,sb as or,t as Wi,ta as wo,tb as gn,u as qe,ua as bo,ub as rr,v as Gi,va as xo,vb as ar,w as an,wa as yo,wb as sr,x as ji,xa as Eo,xb as lr,y as He,ya as To,yb as Ve,z as Le,za as Mo,zb as vn}from"./chunk-NL5F2VEH.js";import{c as De}from"./chunk-U7APAW37.js";import"./chunk-DXAIA7TN.js";import"./chunk-CXU2QR7B.js";import{a as Oe}from"./chunk-FESHPCKG.js";import"./chunk-OMAUXPDZ.js";import"./chunk-M4D7Z434.js";import{a as $i,g as Bi,i as zi,k as Ui,n as ln,q as pn,u as cn}from"./chunk-5WUOKMEL.js";import"./chunk-XSBLUIEK.js";import"./chunk-5B3P22GG.js";import{$ as Ye,$a as li,$b as ot,A as Yn,Aa as et,Ab as Ae,Ac as tn,B as Wt,Ba as ae,Bb as it,Bd as Di,Cb as Jt,Cc as Ti,Db as fi,Ea as se,Fa as le,Gc as Mi,Ha as Q,I as Gt,Ia as g,Ic as Si,Ja as v,Jc as ke,K as oe,Kc as Pi,La as be,Lb as hi,Ld as Li,Ma as q,Na as H,Nb as ve,O as Jn,Oa as w,Ob as D,Oc as nn,P as ei,Pa as a,Q as jt,Qa as s,Ra as T,Rd as ce,S as _,Sa as ai,Sd as de,Ta as si,U as m,Ua as tt,Ub as Y,V as f,Vb as en,Xa as Zt,Y as Kt,Ya as E,Yc as Ai,Z as Qe,Za as Se,Zb as _i,_a as h,_d as Ie,aa as Z,ab as p,ad as at,ba as L,bb as xe,c as _e,ca as B,cb as ie,ce as Vi,db as Qt,de as Re,ea as Je,eb as J,ec as gi,fb as V,fc as vi,ga as ee,gb as N,ha as ti,ib as pi,ic as Ci,ja as ni,jb as ci,jc as wi,ka as re,kb as Pe,la as ii,lb as j,ld as ki,m as $e,ma as ze,mb as F,na as c,nb as Yt,oa as Xt,ob as nt,oc as bi,pb as u,pc as xi,qb as z,qc as pe,qd as Ii,ra as oi,rb as ge,rc as rt,rd as Ri,sa as Me,t as Zn,td as Oi,u as Be,uc as Ei,va as R,wa as ri,wb as di,xb as ui,yb as mi,yd as ye,z as Qn,za as Ue}from"./chunk-XHH2BWBG.js";import{a as he,b as Te,d as P,f as As,g as $}from"./chunk-NCEQPEJE.js";var Ne=P((Km,yr)=>{"use strict";var qs="2.0.0",Hs=Number.MAX_SAFE_INTEGER||9007199254740991,Ws=16,Gs=250,js=["major","premajor","minor","preminor","patch","prepatch","prerelease"];yr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Ws,MAX_SAFE_BUILD_LENGTH:Gs,MAX_SAFE_INTEGER:Hs,RELEASE_TYPES:js,SEMVER_SPEC_VERSION:qs,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ge=P((Xm,Er)=>{"use strict";var Ks=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...i)=>console.error("SEMVER",...i):()=>{};Er.exports=Ks});var Fe=P((ue,Tr)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Tn,MAX_SAFE_BUILD_LENGTH:Xs,MAX_LENGTH:Zs}=Ne(),Qs=Ge();ue=Tr.exports={};var Ys=ue.re=[],Js=ue.safeRe=[],b=ue.src=[],el=ue.safeSrc=[],x=ue.t={},tl=0,Mn="[a-zA-Z0-9-]",nl=[["\\s",1],["\\d",Zs],[Mn,Xs]],il=i=>{for(let[t,e]of nl)i=i.split(`${t}*`).join(`${t}{0,${e}}`).split(`${t}+`).join(`${t}{1,${e}}`);return i},A=(i,t,e)=>{let n=il(t),o=tl++;Qs(i,o,t),x[i]=o,b[o]=t,el[o]=n,Ys[o]=new RegExp(t,e?"g":void 0),Js[o]=new RegExp(n,e?"g":void 0)};A("NUMERICIDENTIFIER","0|[1-9]\\d*");A("NUMERICIDENTIFIERLOOSE","\\d+");A("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Mn}*`);A("MAINVERSION",`(${b[x.NUMERICIDENTIFIER]})\\.(${b[x.NUMERICIDENTIFIER]})\\.(${b[x.NUMERICIDENTIFIER]})`);A("MAINVERSIONLOOSE",`(${b[x.NUMERICIDENTIFIERLOOSE]})\\.(${b[x.NUMERICIDENTIFIERLOOSE]})\\.(${b[x.NUMERICIDENTIFIERLOOSE]})`);A("PRERELEASEIDENTIFIER",`(?:${b[x.NONNUMERICIDENTIFIER]}|${b[x.NUMERICIDENTIFIER]})`);A("PRERELEASEIDENTIFIERLOOSE",`(?:${b[x.NONNUMERICIDENTIFIER]}|${b[x.NUMERICIDENTIFIERLOOSE]})`);A("PRERELEASE",`(?:-(${b[x.PRERELEASEIDENTIFIER]}(?:\\.${b[x.PRERELEASEIDENTIFIER]})*))`);A("PRERELEASELOOSE",`(?:-?(${b[x.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${b[x.PRERELEASEIDENTIFIERLOOSE]})*))`);A("BUILDIDENTIFIER",`${Mn}+`);A("BUILD",`(?:\\+(${b[x.BUILDIDENTIFIER]}(?:\\.${b[x.BUILDIDENTIFIER]})*))`);A("FULLPLAIN",`v?${b[x.MAINVERSION]}${b[x.PRERELEASE]}?${b[x.BUILD]}?`);A("FULL",`^${b[x.FULLPLAIN]}$`);A("LOOSEPLAIN",`[v=\\s]*${b[x.MAINVERSIONLOOSE]}${b[x.PRERELEASELOOSE]}?${b[x.BUILD]}?`);A("LOOSE",`^${b[x.LOOSEPLAIN]}$`);A("GTLT","((?:<|>)?=?)");A("XRANGEIDENTIFIERLOOSE",`${b[x.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);A("XRANGEIDENTIFIER",`${b[x.NUMERICIDENTIFIER]}|x|X|\\*`);A("XRANGEPLAIN",`[v=\\s]*(${b[x.XRANGEIDENTIFIER]})(?:\\.(${b[x.XRANGEIDENTIFIER]})(?:\\.(${b[x.XRANGEIDENTIFIER]})(?:${b[x.PRERELEASE]})?${b[x.BUILD]}?)?)?`);A("XRANGEPLAINLOOSE",`[v=\\s]*(${b[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${b[x.XRANGEIDENTIFIERLOOSE]})(?:${b[x.PRERELEASELOOSE]})?${b[x.BUILD]}?)?)?`);A("XRANGE",`^${b[x.GTLT]}\\s*${b[x.XRANGEPLAIN]}$`);A("XRANGELOOSE",`^${b[x.GTLT]}\\s*${b[x.XRANGEPLAINLOOSE]}$`);A("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Tn}})(?:\\.(\\d{1,${Tn}}))?(?:\\.(\\d{1,${Tn}}))?`);A("COERCE",`${b[x.COERCEPLAIN]}(?:$|[^\\d])`);A("COERCEFULL",b[x.COERCEPLAIN]+`(?:${b[x.PRERELEASE]})?(?:${b[x.BUILD]})?(?:$|[^\\d])`);A("COERCERTL",b[x.COERCE],!0);A("COERCERTLFULL",b[x.COERCEFULL],!0);A("LONETILDE","(?:~>?)");A("TILDETRIM",`(\\s*)${b[x.LONETILDE]}\\s+`,!0);ue.tildeTrimReplace="$1~";A("TILDE",`^${b[x.LONETILDE]}${b[x.XRANGEPLAIN]}$`);A("TILDELOOSE",`^${b[x.LONETILDE]}${b[x.XRANGEPLAINLOOSE]}$`);A("LONECARET","(?:\\^)");A("CARETTRIM",`(\\s*)${b[x.LONECARET]}\\s+`,!0);ue.caretTrimReplace="$1^";A("CARET",`^${b[x.LONECARET]}${b[x.XRANGEPLAIN]}$`);A("CARETLOOSE",`^${b[x.LONECARET]}${b[x.XRANGEPLAINLOOSE]}$`);A("COMPARATORLOOSE",`^${b[x.GTLT]}\\s*(${b[x.LOOSEPLAIN]})$|^$`);A("COMPARATOR",`^${b[x.GTLT]}\\s*(${b[x.FULLPLAIN]})$|^$`);A("COMPARATORTRIM",`(\\s*)${b[x.GTLT]}\\s*(${b[x.LOOSEPLAIN]}|${b[x.XRANGEPLAIN]})`,!0);ue.comparatorTrimReplace="$1$2$3";A("HYPHENRANGE",`^\\s*(${b[x.XRANGEPLAIN]})\\s+-\\s+(${b[x.XRANGEPLAIN]})\\s*$`);A("HYPHENRANGELOOSE",`^\\s*(${b[x.XRANGEPLAINLOOSE]})\\s+-\\s+(${b[x.XRANGEPLAINLOOSE]})\\s*$`);A("STAR","(<|>)?=?\\s*\\*");A("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");A("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var xt=P((Zm,Mr)=>{"use strict";var ol=Object.freeze({loose:!0}),rl=Object.freeze({}),al=i=>i?typeof i!="object"?ol:i:rl;Mr.exports=al});var Sn=P((Qm,Ar)=>{"use strict";var Sr=/^[0-9]+$/,Pr=(i,t)=>{if(typeof i=="number"&&typeof t=="number")return i===t?0:i<t?-1:1;let e=Sr.test(i),n=Sr.test(t);return e&&n&&(i=+i,t=+t),i===t?0:e&&!n?-1:n&&!e?1:i<t?-1:1},sl=(i,t)=>Pr(t,i);Ar.exports={compareIdentifiers:Pr,rcompareIdentifiers:sl}});var W=P((Ym,Ir)=>{"use strict";var yt=Ge(),{MAX_LENGTH:kr,MAX_SAFE_INTEGER:Et}=Ne(),{safeRe:Tt,t:Mt}=Fe(),ll=xt(),{compareIdentifiers:Pn}=Sn(),pl=(i,t)=>{let e=t.split(".");if(e.length>i.length)return!1;for(let n=0;n<e.length;n++)if(Pn(i[n],e[n])!==0)return!1;return!0},An=class i{constructor(t,e){if(e=ll(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>kr)throw new TypeError(`version is longer than ${kr} characters`);yt("SemVer",t,e),this.options=e,this.loose=!!e.loose,this.includePrerelease=!!e.includePrerelease;let n=t.trim().match(e.loose?Tt[Mt.LOOSE]:Tt[Mt.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>Et||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Et||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Et||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<Et)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(yt("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(yt("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 Pn(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(yt("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 Pn(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?Tt[Mt.PRERELEASELOOSE]:Tt[Mt.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]),pl(this.prerelease,e)){let l=this.prerelease[e.split(".").length];isNaN(l)&&(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}};Ir.exports=An});var Ce=P((Jm,Or)=>{"use strict";var Rr=W(),cl=(i,t,e=!1)=>{if(i instanceof Rr)return i;try{return new Rr(i,t)}catch(n){if(!e)return null;throw n}};Or.exports=cl});var Lr=P((ef,Dr)=>{"use strict";var dl=Ce(),ul=(i,t)=>{let e=dl(i,t);return e?e.version:null};Dr.exports=ul});var Nr=P((tf,Vr)=>{"use strict";var ml=Ce(),fl=(i,t)=>{let e=ml(i.trim().replace(/^[=v]+/,""),t);return e?e.version:null};Vr.exports=fl});var Br=P((nf,$r)=>{"use strict";var Fr=W(),hl=(i,t,e,n,o)=>{typeof e=="string"&&(o=n,n=e,e=void 0);try{return new Fr(i instanceof Fr?i.version:i,e).inc(t,n,o).version}catch(r){return null}};$r.exports=hl});var qr=P((of,Ur)=>{"use strict";var zr=Ce(),_l=(i,t)=>{let e=zr(i,null,!0),n=zr(t,null,!0),o=e.compare(n);if(o===0)return null;let r=o>0,l=r?e:n,d=r?n:e,C=!!l.prerelease.length;if(!!d.prerelease.length&&!C){if(!d.patch&&!d.minor)return"major";if(d.compareMain(l)===0)return d.minor&&!d.patch?"minor":"patch"}let k=C?"pre":"";return e.major!==n.major?k+"major":e.minor!==n.minor?k+"minor":e.patch!==n.patch?k+"patch":"prerelease"};Ur.exports=_l});var Wr=P((rf,Hr)=>{"use strict";var gl=W(),vl=(i,t)=>new gl(i,t).major;Hr.exports=vl});var jr=P((af,Gr)=>{"use strict";var Cl=W(),wl=(i,t)=>new Cl(i,t).minor;Gr.exports=wl});var Xr=P((sf,Kr)=>{"use strict";var bl=W(),xl=(i,t)=>new bl(i,t).patch;Kr.exports=xl});var Qr=P((lf,Zr)=>{"use strict";var yl=Ce(),El=(i,t)=>{let e=yl(i,t);return e&&e.prerelease.length?e.prerelease:null};Zr.exports=El});var te=P((pf,Jr)=>{"use strict";var Yr=W(),Tl=(i,t,e)=>new Yr(i,e).compare(new Yr(t,e));Jr.exports=Tl});var ta=P((cf,ea)=>{"use strict";var Ml=te(),Sl=(i,t,e)=>Ml(t,i,e);ea.exports=Sl});var ia=P((df,na)=>{"use strict";var Pl=te(),Al=(i,t)=>Pl(i,t,!0);na.exports=Al});var St=P((uf,ra)=>{"use strict";var oa=W(),kl=(i,t,e)=>{let n=new oa(i,e),o=new oa(t,e);return n.compare(o)||n.compareBuild(o)};ra.exports=kl});var sa=P((mf,aa)=>{"use strict";var Il=St(),Rl=(i,t)=>i.sort((e,n)=>Il(e,n,t));aa.exports=Rl});var pa=P((ff,la)=>{"use strict";var Ol=St(),Dl=(i,t)=>i.sort((e,n)=>Ol(n,e,t));la.exports=Dl});var je=P((hf,ca)=>{"use strict";var Ll=te(),Vl=(i,t,e)=>Ll(i,t,e)>0;ca.exports=Vl});var Pt=P((_f,da)=>{"use strict";var Nl=te(),Fl=(i,t,e)=>Nl(i,t,e)<0;da.exports=Fl});var kn=P((gf,ua)=>{"use strict";var $l=te(),Bl=(i,t,e)=>$l(i,t,e)===0;ua.exports=Bl});var In=P((vf,ma)=>{"use strict";var zl=te(),Ul=(i,t,e)=>zl(i,t,e)!==0;ma.exports=Ul});var At=P((Cf,fa)=>{"use strict";var ql=te(),Hl=(i,t,e)=>ql(i,t,e)>=0;fa.exports=Hl});var kt=P((wf,ha)=>{"use strict";var Wl=te(),Gl=(i,t,e)=>Wl(i,t,e)<=0;ha.exports=Gl});var Rn=P((bf,_a)=>{"use strict";var jl=kn(),Kl=In(),Xl=je(),Zl=At(),Ql=Pt(),Yl=kt(),Jl=(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 jl(i,e,n);case"!=":return Kl(i,e,n);case">":return Xl(i,e,n);case">=":return Zl(i,e,n);case"<":return Ql(i,e,n);case"<=":return Yl(i,e,n);default:throw new TypeError(`Invalid operator: ${t}`)}};_a.exports=Jl});var va=P((xf,ga)=>{"use strict";var ep=W(),tp=Ce(),{safeRe:It,t:Rt}=Fe(),np=(i,t)=>{if(i instanceof ep)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?It[Rt.COERCEFULL]:It[Rt.COERCE]);else{let C=t.includePrerelease?It[Rt.COERCERTLFULL]:It[Rt.COERCERTL],y;for(;(y=C.exec(i))&&(!e||e.index+e[0].length!==i.length);)(!e||y.index+y[0].length!==e.index+e[0].length)&&(e=y),C.lastIndex=y.index+y[1].length+y[2].length;C.lastIndex=-1}if(e===null)return null;let n=e[2],o=e[3]||"0",r=e[4]||"0",l=t.includePrerelease&&e[5]?`-${e[5]}`:"",d=t.includePrerelease&&e[6]?`+${e[6]}`:"";return tp(`${n}.${o}.${r}${l}${d}`,t)};ga.exports=np});var wa=P((yf,Ca)=>{"use strict";var ip=Ce(),op=Ne(),rp=W(),ap=(i,t,e)=>{if(!op.RELEASE_TYPES.includes(t))return null;let n=sp(i,e);return n&&lp(n,t)},sp=(i,t)=>{let e=i instanceof rp?i.version:i;return ip(e,t)},lp=(i,t)=>{if(pp(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()},pp=i=>i.startsWith("pre");Ca.exports=ap});var xa=P((Ef,ba)=>{"use strict";var On=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}};ba.exports=On});var ne=P((Tf,Ma)=>{"use strict";var cp=/\s+/g,Dn=class i{constructor(t,e){if(e=up(e),t instanceof i)return t.loose===!!e.loose&&t.includePrerelease===!!e.includePrerelease?t:new i(t.raw,e);if(t instanceof Ln)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(cp," "),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=>!Ea(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&&bp(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(wp,"");let n=((this.options.includePrerelease&&vp)|(this.options.loose&&Cp))+":"+t,o=ya.get(n);if(o)return o;let r=this.options.loose,l=r?X[G.HYPHENRANGELOOSE]:X[G.HYPHENRANGE];t=t.replace(l,Rp(this.options.includePrerelease)),O("hyphen replace",t),t=t.replace(X[G.COMPARATORTRIM],hp),O("comparator trim",t),t=t.replace(X[G.TILDETRIM],_p),O("tilde trim",t),t=t.replace(X[G.CARETTRIM],gp),O("caret trim",t);let d=t.split(" ").map(M=>xp(M,this.options)).join(" ").split(/\s+/).map(M=>Ip(M,this.options));r&&(d=d.filter(M=>(O("loose invalid filter",M,this.options),!!M.match(X[G.COMPARATORLOOSE])))),O("range list",d);let C=new Map,y=d.map(M=>new Ln(M,this.options));for(let M of y){if(Ea(M))return[M];C.set(M.value,M)}C.size>1&&C.has("")&&C.delete("");let k=[...C.values()];return ya.set(n,k),k}intersects(t,e){if(!(t instanceof i))throw new TypeError("a Range is required");return this.set.some(n=>Ta(n,e)&&t.set.some(o=>Ta(o,e)&&n.every(r=>o.every(l=>r.intersects(l,e)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new mp(t,this.options)}catch(e){return!1}for(let e=0;e<this.set.length;e++)if(Op(this.set[e],t,this.options))return!0;return!1}};Ma.exports=Dn;var dp=xa(),ya=new dp,up=xt(),Ln=Ke(),O=Ge(),mp=W(),{safeRe:X,src:fp,t:G,comparatorTrimReplace:hp,tildeTrimReplace:_p,caretTrimReplace:gp}=Fe(),{FLAG_INCLUDE_PRERELEASE:vp,FLAG_LOOSE:Cp}=Ne(),wp=new RegExp(fp[G.BUILD],"g"),Ea=i=>i.value==="<0.0.0-0",bp=i=>i.value==="",Ta=(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},xp=(i,t)=>(i=i.replace(X[G.BUILD],""),O("comp",i,t),i=Mp(i,t),O("caret",i),i=Ep(i,t),O("tildes",i),i=Pp(i,t),O("xrange",i),i=kp(i,t),O("stars",i),i),U=i=>!i||i.toLowerCase()==="x"||i==="*",yp=(i,t,e)=>U(i)&&!U(t)||U(t)&&e&&!U(e),Ep=(i,t)=>i.trim().split(/\s+/).map(e=>Tp(e,t)).join(" "),Tp=(i,t)=>{let e=t.loose?X[G.TILDELOOSE]:X[G.TILDE],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,l,d,C)=>{O("tilde",i,o,r,l,d,C);let y;return U(r)?y="":U(l)?y=`>=${r}.0.0${n} <${+r+1}.0.0-0`:U(d)?y=`>=${r}.${l}.0${n} <${r}.${+l+1}.0-0`:C?(O("replaceTilde pr",C),y=`>=${r}.${l}.${d}-${C} <${r}.${+l+1}.0-0`):y=`>=${r}.${l}.${d} <${r}.${+l+1}.0-0`,O("tilde return",y),y})},Mp=(i,t)=>i.trim().split(/\s+/).map(e=>Sp(e,t)).join(" "),Sp=(i,t)=>{O("caret",i,t);let e=t.loose?X[G.CARETLOOSE]:X[G.CARET],n=t.includePrerelease?"-0":"";return i.replace(e,(o,r,l,d,C)=>{O("caret",i,o,r,l,d,C);let y;return U(r)?y="":U(l)?y=`>=${r}.0.0${n} <${+r+1}.0.0-0`:U(d)?r==="0"?y=`>=${r}.${l}.0${n} <${r}.${+l+1}.0-0`:y=`>=${r}.${l}.0${n} <${+r+1}.0.0-0`:C?(O("replaceCaret pr",C),r==="0"?l==="0"?y=`>=${r}.${l}.${d}-${C} <${r}.${l}.${+d+1}-0`:y=`>=${r}.${l}.${d}-${C} <${r}.${+l+1}.0-0`:y=`>=${r}.${l}.${d}-${C} <${+r+1}.0.0-0`):(O("no pr"),r==="0"?l==="0"?y=`>=${r}.${l}.${d} <${r}.${l}.${+d+1}-0`:y=`>=${r}.${l}.${d} <${r}.${+l+1}.0-0`:y=`>=${r}.${l}.${d} <${+r+1}.0.0-0`),O("caret return",y),y})},Pp=(i,t)=>(O("replaceXRanges",i,t),i.split(/\s+/).map(e=>Ap(e,t)).join(" ")),Ap=(i,t)=>{i=i.trim();let e=t.loose?X[G.XRANGELOOSE]:X[G.XRANGE];return i.replace(e,(n,o,r,l,d,C)=>{if(O("xRange",i,n,o,r,l,d,C),yp(r,l,d))return i;let y=U(r),k=y||U(l),M=k||U(d),I=M;return o==="="&&I&&(o=""),C=t.includePrerelease?"-0":"",y?o===">"||o==="<"?n="<0.0.0-0":n="*":o&&I?(k&&(l=0),d=0,o===">"?(o=">=",k?(r=+r+1,l=0,d=0):(l=+l+1,d=0)):o==="<="&&(o="<",k?r=+r+1:l=+l+1),o==="<"&&(C="-0"),n=`${o+r}.${l}.${d}${C}`):k?n=`>=${r}.0.0${C} <${+r+1}.0.0-0`:M&&(n=`>=${r}.${l}.0${C} <${r}.${+l+1}.0-0`),O("xRange return",n),n})},kp=(i,t)=>(O("replaceStars",i,t),i.trim().replace(X[G.STAR],"")),Ip=(i,t)=>(O("replaceGTE0",i,t),i.trim().replace(X[t.includePrerelease?G.GTE0PRE:G.GTE0],"")),Rp=i=>(t,e,n,o,r,l,d,C,y,k,M,I)=>(U(n)?e="":U(o)?e=`>=${n}.0.0${i?"-0":""}`:U(r)?e=`>=${n}.${o}.0${i?"-0":""}`:l?e=`>=${e}`:e=`>=${e}${i?"-0":""}`,U(y)?C="":U(k)?C=`<${+y+1}.0.0-0`:U(M)?C=`<${y}.${+k+1}.0-0`:I?C=`<=${y}.${k}.${M}-${I}`:i?C=`<${y}.${k}.${+M+1}-0`:C=`<=${C}`,`${e} ${C}`.trim()),Op=(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(O(i[n].semver),i[n].semver!==Ln.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 Ke=P((Mf,Ra)=>{"use strict";var Xe=Symbol("SemVer ANY"),Fn=class i{static get ANY(){return Xe}constructor(t,e){if(e=Sa(e),t instanceof i){if(t.loose===!!e.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),Nn("comparator",t,e),this.options=e,this.loose=!!e.loose,this.parse(t),this.semver===Xe?this.value="":this.value=this.operator+this.semver.version,Nn("comp",this)}parse(t){let e=this.options.loose?Pa[Aa.COMPARATORLOOSE]:Pa[Aa.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 ka(n[2],this.options.loose):this.semver=Xe}toString(){return this.value}test(t){if(Nn("Comparator.test",t,this.options.loose),this.semver===Xe||t===Xe)return!0;if(typeof t=="string")try{t=new ka(t,this.options)}catch(e){return!1}return Vn(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 Ia(t.value,e).test(this.value):t.operator===""?t.value===""?!0:new Ia(this.value,e).test(t.semver):(e=Sa(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("=")||Vn(this.semver,"<",t.semver,e)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||Vn(this.semver,">",t.semver,e)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};Ra.exports=Fn;var Sa=xt(),{safeRe:Pa,t:Aa}=Fe(),Vn=Rn(),Nn=Ge(),ka=W(),Ia=ne()});var Ze=P((Sf,Oa)=>{"use strict";var Dp=ne(),Lp=(i,t,e)=>{try{t=new Dp(t,e)}catch(n){return!1}return t.test(i)};Oa.exports=Lp});var La=P((Pf,Da)=>{"use strict";var Vp=ne(),Np=(i,t)=>new Vp(i,t).set.map(e=>e.map(n=>n.value).join(" ").trim().split(" "));Da.exports=Np});var Na=P((Af,Va)=>{"use strict";var Fp=W(),$p=ne(),Bp=(i,t,e)=>{let n=null,o=null,r=null;try{r=new $p(t,e)}catch(l){return null}return i.forEach(l=>{r.test(l)&&(!n||o.compare(l)===-1)&&(n=l,o=new Fp(n,e))}),n};Va.exports=Bp});var $a=P((kf,Fa)=>{"use strict";var zp=W(),Up=ne(),qp=(i,t,e)=>{let n=null,o=null,r=null;try{r=new Up(t,e)}catch(l){return null}return i.forEach(l=>{r.test(l)&&(!n||o.compare(l)===1)&&(n=l,o=new zp(n,e))}),n};Fa.exports=qp});var Ua=P((If,za)=>{"use strict";var $n=W(),Hp=ne(),Ba=je(),Wp=(i,t)=>{i=new Hp(i,t);let e=new $n("0.0.0");if(i.test(e)||(e=new $n("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(l=>{let d=new $n(l.semver.version);switch(l.operator){case">":d.prerelease.length===0?d.patch++:d.prerelease.push(0),d.raw=d.format();case"":case">=":(!r||Ba(d,r))&&(r=d);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${l.operator}`)}}),r&&(!e||Ba(e,r))&&(e=r)}return e&&i.test(e)?e:null};za.exports=Wp});var Ha=P((Rf,qa)=>{"use strict";var Gp=ne(),jp=(i,t)=>{try{return new Gp(i,t).range||"*"}catch(e){return null}};qa.exports=jp});var Ot=P((Of,Ka)=>{"use strict";var Kp=W(),ja=Ke(),{ANY:Xp}=ja,Zp=ne(),Qp=Ze(),Wa=je(),Ga=Pt(),Yp=kt(),Jp=At(),ec=(i,t,e,n)=>{i=new Kp(i,n),t=new Zp(t,n);let o,r,l,d,C;switch(e){case">":o=Wa,r=Yp,l=Ga,d=">",C=">=";break;case"<":o=Ga,r=Jp,l=Wa,d="<",C="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Qp(i,t,n))return!1;for(let y=0;y<t.set.length;++y){let k=t.set[y],M=null,I=null;if(k.forEach(S=>{S.semver===Xp&&(S=new ja(">=0.0.0")),M=M||S,I=I||S,o(S.semver,M.semver,n)?M=S:l(S.semver,I.semver,n)&&(I=S)}),M.operator===d||M.operator===C||(!I.operator||I.operator===d)&&r(i,I.semver))return!1;if(I.operator===C&&l(i,I.semver))return!1}return!0};Ka.exports=ec});var Za=P((Df,Xa)=>{"use strict";var tc=Ot(),nc=(i,t,e)=>tc(i,t,">",e);Xa.exports=nc});var Ya=P((Lf,Qa)=>{"use strict";var ic=Ot(),oc=(i,t,e)=>ic(i,t,"<",e);Qa.exports=oc});var ts=P((Vf,es)=>{"use strict";var Ja=ne(),rc=(i,t,e)=>(i=new Ja(i,e),t=new Ja(t,e),i.intersects(t,e));es.exports=rc});var is=P((Nf,ns)=>{"use strict";var ac=Ze(),sc=te();ns.exports=(i,t,e)=>{let n=[],o=null,r=null,l=i.sort((k,M)=>sc(k,M,e));for(let k of l)ac(k,t,e)?(r=k,o||(o=k)):(r&&n.push([o,r]),r=null,o=null);o&&n.push([o,null]);let d=[];for(let[k,M]of n)k===M?d.push(k):!M&&k===l[0]?d.push("*"):M?k===l[0]?d.push(`<=${M}`):d.push(`${k} - ${M}`):d.push(`>=${k}`);let C=d.join(" || "),y=typeof t.raw=="string"?t.raw:String(t);return C.length<y.length?C:t}});var ps=P((Ff,ls)=>{"use strict";var os=ne(),Un=Ke(),{ANY:Bn}=Un,zn=Ze(),qn=te(),lc=(i,t,e={})=>{if(i===t)return!0;i=new os(i,e),t=new os(t,e);let n=!1;e:for(let o of i.set){for(let r of t.set){let l=cc(o,r,e);if(n=n||l!==null,l)continue e}if(n)return!1}return!0},pc=[new Un(">=0.0.0-0")],rs=[new Un(">=0.0.0")],cc=(i,t,e)=>{if(i===t)return!0;if(i.length===1&&i[0].semver===Bn){if(t.length===1&&t[0].semver===Bn)return!0;e.includePrerelease?i=pc:i=rs}if(t.length===1&&t[0].semver===Bn){if(e.includePrerelease)return!0;t=rs}let n=new Set,o,r;for(let S of i)S.operator===">"||S.operator===">="?o=as(o,S,e):S.operator==="<"||S.operator==="<="?r=ss(r,S,e):n.add(S.semver);if(n.size>1)return null;let l;if(o&&r){if(l=qn(o.semver,r.semver,e),l>0)return null;if(l===0&&(o.operator!==">="||r.operator!=="<="))return null}for(let S of n){if(o&&!zn(S,String(o),e)||r&&!zn(S,String(r),e))return null;for(let Ht of t)if(!zn(S,String(Ht),e))return!1;return!0}let d,C,y,k,M=r&&!e.includePrerelease&&r.semver.prerelease.length?r.semver:!1,I=o&&!e.includePrerelease&&o.semver.prerelease.length?o.semver:!1;M&&M.prerelease.length===1&&r.operator==="<"&&M.prerelease[0]===0&&(M=!1);for(let S of t){if(k=k||S.operator===">"||S.operator===">=",y=y||S.operator==="<"||S.operator==="<=",o){if(I&&S.semver.prerelease&&S.semver.prerelease.length&&S.semver.major===I.major&&S.semver.minor===I.minor&&S.semver.patch===I.patch&&(I=!1),S.operator===">"||S.operator===">="){if(d=as(o,S,e),d===S&&d!==o)return!1}else if(o.operator===">="&&!S.test(o.semver))return!1}if(r){if(M&&S.semver.prerelease&&S.semver.prerelease.length&&S.semver.major===M.major&&S.semver.minor===M.minor&&S.semver.patch===M.patch&&(M=!1),S.operator==="<"||S.operator==="<="){if(C=ss(r,S,e),C===S&&C!==r)return!1}else if(r.operator==="<="&&!S.test(r.semver))return!1}if(!S.operator&&(r||o)&&l!==0)return!1}return!(o&&y&&!r&&l!==0||r&&k&&!o&&l!==0||I||M)},as=(i,t,e)=>{if(!i)return t;let n=qn(i.semver,t.semver,e);return n>0?i:n<0||t.operator===">"&&i.operator===">="?t:i},ss=(i,t,e)=>{if(!i)return t;let n=qn(i.semver,t.semver,e);return n<0?i:n>0||t.operator==="<"&&i.operator==="<="?t:i};ls.exports=lc});var ms=P(($f,us)=>{"use strict";var Hn=Fe(),cs=Ne(),dc=W(),ds=Sn(),uc=Ce(),mc=Lr(),fc=Nr(),hc=Br(),_c=qr(),gc=Wr(),vc=jr(),Cc=Xr(),wc=Qr(),bc=te(),xc=ta(),yc=ia(),Ec=St(),Tc=sa(),Mc=pa(),Sc=je(),Pc=Pt(),Ac=kn(),kc=In(),Ic=At(),Rc=kt(),Oc=Rn(),Dc=va(),Lc=wa(),Vc=Ke(),Nc=ne(),Fc=Ze(),$c=La(),Bc=Na(),zc=$a(),Uc=Ua(),qc=Ha(),Hc=Ot(),Wc=Za(),Gc=Ya(),jc=ts(),Kc=is(),Xc=ps();us.exports={parse:uc,valid:mc,clean:fc,inc:hc,diff:_c,major:gc,minor:vc,patch:Cc,prerelease:wc,compare:bc,rcompare:xc,compareLoose:yc,compareBuild:Ec,sort:Tc,rsort:Mc,gt:Sc,lt:Pc,eq:Ac,neq:kc,gte:Ic,lte:Rc,cmp:Oc,coerce:Dc,truncate:Lc,Comparator:Vc,Range:Nc,satisfies:Fc,toComparators:$c,maxSatisfying:Bc,minSatisfying:zc,minVersion:Uc,validRange:qc,outside:Hc,gtr:Wc,ltr:Gc,intersects:jc,simplifyRange:Kc,subset:Xc,SemVer:dc,re:Hn.re,src:Hn.src,tokens:Hn.t,SEMVER_SPEC_VERSION:cs.SEMVER_SPEC_VERSION,RELEASE_TYPES:cs.RELEASE_TYPES,compareIdentifiers:ds.compareIdentifiers,rcompareIdentifiers:ds.rcompareIdentifiers}});var bt=["*"],Is=["content"],Rs=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],Os=["mat-drawer","mat-drawer-content","*"];function Ds(i,t){if(i&1){let e=E();a(0,"div",1),h("click",function(){m(e);let o=p();return f(o._onBackdropClicked())}),s()}if(i&2){let e=p();F("mat-drawer-shown",e._isShowingBackdrop())}}function Ls(i,t){i&1&&(a(0,"mat-drawer-content"),ie(1,2),s())}var Vs=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],Ns=["mat-sidenav","mat-sidenav-content","*"];function Fs(i,t){if(i&1){let e=E();a(0,"div",1),h("click",function(){m(e);let o=p();return f(o._onBackdropClicked())}),s()}if(i&2){let e=p();F("mat-drawer-shown",e._isShowingBackdrop())}}function $s(i,t){i&1&&(a(0,"mat-sidenav-content"),ie(1,2),s())}var Bs=`.mat-drawer-container {
|
|
2
|
+
position: relative;
|
|
3
|
+
z-index: 1;
|
|
4
|
+
color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
|
|
5
|
+
background-color: var(--mat-sidenav-content-background-color, var(--mat-sys-background));
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
display: block;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
}
|
|
10
|
+
.mat-drawer-container[fullscreen] {
|
|
11
|
+
top: 0;
|
|
12
|
+
left: 0;
|
|
13
|
+
right: 0;
|
|
14
|
+
bottom: 0;
|
|
15
|
+
position: absolute;
|
|
16
|
+
}
|
|
17
|
+
.mat-drawer-container[fullscreen].mat-drawer-container-has-open {
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
}
|
|
20
|
+
.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side {
|
|
21
|
+
z-index: 3;
|
|
22
|
+
}
|
|
23
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,
|
|
24
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-content, .ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,
|
|
25
|
+
.ng-animate-disabled .mat-drawer-container .mat-drawer-content {
|
|
26
|
+
transition: none;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.mat-drawer-backdrop {
|
|
30
|
+
top: 0;
|
|
31
|
+
left: 0;
|
|
32
|
+
right: 0;
|
|
33
|
+
bottom: 0;
|
|
34
|
+
position: absolute;
|
|
35
|
+
display: block;
|
|
36
|
+
z-index: 3;
|
|
37
|
+
visibility: hidden;
|
|
38
|
+
}
|
|
39
|
+
.mat-drawer-backdrop.mat-drawer-shown {
|
|
40
|
+
visibility: visible;
|
|
41
|
+
background-color: var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent));
|
|
42
|
+
}
|
|
43
|
+
.mat-drawer-transition .mat-drawer-backdrop {
|
|
44
|
+
transition-duration: 400ms;
|
|
45
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
46
|
+
transition-property: background-color, visibility;
|
|
47
|
+
}
|
|
48
|
+
@media (forced-colors: active) {
|
|
49
|
+
.mat-drawer-backdrop {
|
|
50
|
+
opacity: 0.5;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.mat-drawer-content {
|
|
55
|
+
position: relative;
|
|
56
|
+
z-index: 1;
|
|
57
|
+
display: block;
|
|
58
|
+
height: 100%;
|
|
59
|
+
overflow: auto;
|
|
60
|
+
}
|
|
61
|
+
.mat-drawer-content.mat-drawer-content-hidden {
|
|
62
|
+
opacity: 0;
|
|
63
|
+
}
|
|
64
|
+
.mat-drawer-transition .mat-drawer-content {
|
|
65
|
+
transition-duration: 400ms;
|
|
66
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
67
|
+
transition-property: transform, margin-left, margin-right;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.mat-drawer {
|
|
71
|
+
position: relative;
|
|
72
|
+
z-index: 4;
|
|
73
|
+
color: var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));
|
|
74
|
+
box-shadow: var(--mat-sidenav-container-elevation-shadow, none);
|
|
75
|
+
background-color: var(--mat-sidenav-container-background-color, var(--mat-sys-surface));
|
|
76
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
77
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
78
|
+
width: var(--mat-sidenav-container-width, 360px);
|
|
79
|
+
display: block;
|
|
80
|
+
position: absolute;
|
|
81
|
+
top: 0;
|
|
82
|
+
bottom: 0;
|
|
83
|
+
z-index: 3;
|
|
84
|
+
outline: 0;
|
|
85
|
+
box-sizing: border-box;
|
|
86
|
+
overflow-y: auto;
|
|
87
|
+
transform: translate3d(-100%, 0, 0);
|
|
88
|
+
}
|
|
89
|
+
@media (forced-colors: active) {
|
|
90
|
+
.mat-drawer, [dir=rtl] .mat-drawer.mat-drawer-end {
|
|
91
|
+
border-right: solid 1px currentColor;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
@media (forced-colors: active) {
|
|
95
|
+
[dir=rtl] .mat-drawer, .mat-drawer.mat-drawer-end {
|
|
96
|
+
border-left: solid 1px currentColor;
|
|
97
|
+
border-right: none;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
.mat-drawer.mat-drawer-side {
|
|
101
|
+
z-index: 2;
|
|
102
|
+
}
|
|
103
|
+
.mat-drawer.mat-drawer-end {
|
|
104
|
+
right: 0;
|
|
105
|
+
transform: translate3d(100%, 0, 0);
|
|
106
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
107
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
108
|
+
border-top-right-radius: 0;
|
|
109
|
+
border-bottom-right-radius: 0;
|
|
110
|
+
}
|
|
111
|
+
[dir=rtl] .mat-drawer {
|
|
112
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
113
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
114
|
+
border-top-right-radius: 0;
|
|
115
|
+
border-bottom-right-radius: 0;
|
|
116
|
+
transform: translate3d(100%, 0, 0);
|
|
117
|
+
}
|
|
118
|
+
[dir=rtl] .mat-drawer.mat-drawer-end {
|
|
119
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
120
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
121
|
+
border-top-left-radius: 0;
|
|
122
|
+
border-bottom-left-radius: 0;
|
|
123
|
+
left: 0;
|
|
124
|
+
right: auto;
|
|
125
|
+
transform: translate3d(-100%, 0, 0);
|
|
126
|
+
}
|
|
127
|
+
.mat-drawer-transition .mat-drawer {
|
|
128
|
+
transition: transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
129
|
+
}
|
|
130
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) {
|
|
131
|
+
visibility: hidden;
|
|
132
|
+
box-shadow: none;
|
|
133
|
+
}
|
|
134
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container {
|
|
135
|
+
display: none;
|
|
136
|
+
}
|
|
137
|
+
.mat-drawer.mat-drawer-opened.mat-drawer-opened {
|
|
138
|
+
transform: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.mat-drawer-side {
|
|
142
|
+
box-shadow: none;
|
|
143
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
144
|
+
border-right-width: 1px;
|
|
145
|
+
border-right-style: solid;
|
|
146
|
+
}
|
|
147
|
+
.mat-drawer-side.mat-drawer-end {
|
|
148
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
149
|
+
border-left-width: 1px;
|
|
150
|
+
border-left-style: solid;
|
|
151
|
+
border-right: none;
|
|
152
|
+
}
|
|
153
|
+
[dir=rtl] .mat-drawer-side {
|
|
154
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
155
|
+
border-left-width: 1px;
|
|
156
|
+
border-left-style: solid;
|
|
157
|
+
border-right: none;
|
|
158
|
+
}
|
|
159
|
+
[dir=rtl] .mat-drawer-side.mat-drawer-end {
|
|
160
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
161
|
+
border-right-width: 1px;
|
|
162
|
+
border-right-style: solid;
|
|
163
|
+
border-left: none;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.mat-drawer-inner-container {
|
|
167
|
+
width: 100%;
|
|
168
|
+
height: 100%;
|
|
169
|
+
overflow: auto;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.mat-sidenav-fixed {
|
|
173
|
+
position: fixed;
|
|
174
|
+
}
|
|
175
|
+
`;var zs=new jt("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:()=>!1}),yn=new jt("MAT_DRAWER_CONTAINER"),Ct=(()=>{class i extends ke{_platform=_(rt);_changeDetectorRef=_(ot);_container=_(xn);constructor(){let e=_(ee),n=_(Si),o=_(Z);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=R({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(n,o){n&2&&(j("margin-left",o._container._contentMargins.left,"px")("margin-right",o._container._contentMargins.right,"px"),F("mat-drawer-content-hidden",o._shouldBeHidden()))},features:[Ae([{provide:ke,useExisting:i}]),Ue],ngContentSelectors:bt,decls:1,vars:0,template:function(n,o){n&1&&(xe(),ie(0))},encapsulation:2,changeDetection:0})}return i})(),bn=(()=>{class i{_elementRef=_(ee);_focusTrapFactory=_(Ri);_focusMonitor=_(ki);_platform=_(rt);_ngZone=_(Z);_renderer=_(oi);_interactivityChecker=_(Ii);_doc=_(Qe);_container=_(yn,{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=ye(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=ye(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(ye(e))}_opened=L(!1);_openedVia=null;_animationStarted=new _e;_animationEnd=new _e;openedChange=new Ye(!0);_openedStream=this.openedChange.pipe(Be(e=>e),$e(()=>{}));openedStart=this._animationStarted.pipe(Be(()=>this.opened),Wt(void 0));_closedStream=this.openedChange.pipe(Be(e=>!e),$e(()=>{}));closedStart=this._animationStarted.pipe(Be(()=>!this.opened),Wt(void 0));_destroyed=new _e;onPositionChanged=new Ye;_content;_modeChanged=new _e;_injector=_(Kt);_changeDetectorRef=_(ot);constructor(){this.openedChange.pipe(oe(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&&!Ai(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(),l(),e.removeAttribute("tabindex")},r=this._renderer.listen(e,"blur",o),l=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":Xt(()=>{!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(Yn(1)).subscribe(l=>r(l?"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=R({type:i,selectors:[["mat-drawer"]],viewQuery:function(n,o){if(n&1&&J(Is,5),n&2){let r;V(r=N())&&(o._content=r.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(n,o){n&2&&(Q("align",null)("tabIndex",o.mode!=="side"?"-1":null),j("visibility",!o._container&&!o.opened?"hidden":null),F("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:bt,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(xe(),a(0,"div",1,0),ie(2),s())},dependencies:[ke],encapsulation:2,changeDetection:0})}return i})(),xn=(()=>{class i{_dir=_(Ti,{optional:!0});_element=_(ee);_ngZone=_(Z);_changeDetectorRef=_(ot);_animationDisabled=Di();_transitionsEnabled=!1;_allDrawers;_drawers=new ti;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=ye(e)}_autosize=_(zs);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:ye(e)}_backdropOverride=null;backdropClick=new Ye;_start=null;_end=null;_left=null;_right=null;_destroyed=new _e;_doCheckSubject=new _e;_contentMargins={left:null,right:null};_contentMarginChanges=new _e;get scrollable(){return this._userContent||this._content}_injector=_(Kt);constructor(){let e=_(rt),n=_(Pi);this._dir?.change.pipe(oe(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),n.change().pipe(oe(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(Gt(this._allDrawers),oe(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(n=>!n._container||n._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(Gt(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(Qn(10),oe(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(oe(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(oe(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(oe(this._drawers.changes)).subscribe(()=>{Xt({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(oe(Zn(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=R({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(n,o,r){if(n&1&&Qt(r,Ct,5)(r,bn,5),n&2){let l;V(l=N())&&(o._content=l.first),V(l=N())&&(o._allDrawers=l)}},viewQuery:function(n,o){if(n&1&&J(Ct,5),n&2){let r;V(r=N())&&(o._userContent=r.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(n,o){n&2&&F("mat-drawer-container-explicit-backdrop",o._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[Ae([{provide:yn,useExisting:i}])],ngContentSelectors:Os,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&&(xe(Rs),g(0,Ds,1,2,"div",0),ie(1),ie(2,1),g(3,Ls,2,0,"mat-drawer-content")),n&2&&(v(o.hasBackdrop?0:-1),c(3),v(o._content?-1:3))},dependencies:[Ct],styles:[`.mat-drawer-container {
|
|
176
|
+
position: relative;
|
|
177
|
+
z-index: 1;
|
|
178
|
+
color: var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));
|
|
179
|
+
background-color: var(--mat-sidenav-content-background-color, var(--mat-sys-background));
|
|
180
|
+
box-sizing: border-box;
|
|
181
|
+
display: block;
|
|
182
|
+
overflow: hidden;
|
|
183
|
+
}
|
|
184
|
+
.mat-drawer-container[fullscreen] {
|
|
185
|
+
top: 0;
|
|
186
|
+
left: 0;
|
|
187
|
+
right: 0;
|
|
188
|
+
bottom: 0;
|
|
189
|
+
position: absolute;
|
|
190
|
+
}
|
|
191
|
+
.mat-drawer-container[fullscreen].mat-drawer-container-has-open {
|
|
192
|
+
overflow: hidden;
|
|
193
|
+
}
|
|
194
|
+
.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side {
|
|
195
|
+
z-index: 3;
|
|
196
|
+
}
|
|
197
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,
|
|
198
|
+
.mat-drawer-container.ng-animate-disabled .mat-drawer-content, .ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,
|
|
199
|
+
.ng-animate-disabled .mat-drawer-container .mat-drawer-content {
|
|
200
|
+
transition: none;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.mat-drawer-backdrop {
|
|
204
|
+
top: 0;
|
|
205
|
+
left: 0;
|
|
206
|
+
right: 0;
|
|
207
|
+
bottom: 0;
|
|
208
|
+
position: absolute;
|
|
209
|
+
display: block;
|
|
210
|
+
z-index: 3;
|
|
211
|
+
visibility: hidden;
|
|
212
|
+
}
|
|
213
|
+
.mat-drawer-backdrop.mat-drawer-shown {
|
|
214
|
+
visibility: visible;
|
|
215
|
+
background-color: var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent));
|
|
216
|
+
}
|
|
217
|
+
.mat-drawer-transition .mat-drawer-backdrop {
|
|
218
|
+
transition-duration: 400ms;
|
|
219
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
220
|
+
transition-property: background-color, visibility;
|
|
221
|
+
}
|
|
222
|
+
@media (forced-colors: active) {
|
|
223
|
+
.mat-drawer-backdrop {
|
|
224
|
+
opacity: 0.5;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.mat-drawer-content {
|
|
229
|
+
position: relative;
|
|
230
|
+
z-index: 1;
|
|
231
|
+
display: block;
|
|
232
|
+
height: 100%;
|
|
233
|
+
overflow: auto;
|
|
234
|
+
}
|
|
235
|
+
.mat-drawer-content.mat-drawer-content-hidden {
|
|
236
|
+
opacity: 0;
|
|
237
|
+
}
|
|
238
|
+
.mat-drawer-transition .mat-drawer-content {
|
|
239
|
+
transition-duration: 400ms;
|
|
240
|
+
transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
241
|
+
transition-property: transform, margin-left, margin-right;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.mat-drawer {
|
|
245
|
+
position: relative;
|
|
246
|
+
z-index: 4;
|
|
247
|
+
color: var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));
|
|
248
|
+
box-shadow: var(--mat-sidenav-container-elevation-shadow, none);
|
|
249
|
+
background-color: var(--mat-sidenav-container-background-color, var(--mat-sys-surface));
|
|
250
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
251
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
252
|
+
width: var(--mat-sidenav-container-width, 360px);
|
|
253
|
+
display: block;
|
|
254
|
+
position: absolute;
|
|
255
|
+
top: 0;
|
|
256
|
+
bottom: 0;
|
|
257
|
+
z-index: 3;
|
|
258
|
+
outline: 0;
|
|
259
|
+
box-sizing: border-box;
|
|
260
|
+
overflow-y: auto;
|
|
261
|
+
transform: translate3d(-100%, 0, 0);
|
|
262
|
+
}
|
|
263
|
+
@media (forced-colors: active) {
|
|
264
|
+
.mat-drawer, [dir=rtl] .mat-drawer.mat-drawer-end {
|
|
265
|
+
border-right: solid 1px currentColor;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
@media (forced-colors: active) {
|
|
269
|
+
[dir=rtl] .mat-drawer, .mat-drawer.mat-drawer-end {
|
|
270
|
+
border-left: solid 1px currentColor;
|
|
271
|
+
border-right: none;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
.mat-drawer.mat-drawer-side {
|
|
275
|
+
z-index: 2;
|
|
276
|
+
}
|
|
277
|
+
.mat-drawer.mat-drawer-end {
|
|
278
|
+
right: 0;
|
|
279
|
+
transform: translate3d(100%, 0, 0);
|
|
280
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
281
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
282
|
+
border-top-right-radius: 0;
|
|
283
|
+
border-bottom-right-radius: 0;
|
|
284
|
+
}
|
|
285
|
+
[dir=rtl] .mat-drawer {
|
|
286
|
+
border-top-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
287
|
+
border-bottom-left-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
288
|
+
border-top-right-radius: 0;
|
|
289
|
+
border-bottom-right-radius: 0;
|
|
290
|
+
transform: translate3d(100%, 0, 0);
|
|
291
|
+
}
|
|
292
|
+
[dir=rtl] .mat-drawer.mat-drawer-end {
|
|
293
|
+
border-top-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
294
|
+
border-bottom-right-radius: var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));
|
|
295
|
+
border-top-left-radius: 0;
|
|
296
|
+
border-bottom-left-radius: 0;
|
|
297
|
+
left: 0;
|
|
298
|
+
right: auto;
|
|
299
|
+
transform: translate3d(-100%, 0, 0);
|
|
300
|
+
}
|
|
301
|
+
.mat-drawer-transition .mat-drawer {
|
|
302
|
+
transition: transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
|
|
303
|
+
}
|
|
304
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) {
|
|
305
|
+
visibility: hidden;
|
|
306
|
+
box-shadow: none;
|
|
307
|
+
}
|
|
308
|
+
.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container {
|
|
309
|
+
display: none;
|
|
310
|
+
}
|
|
311
|
+
.mat-drawer.mat-drawer-opened.mat-drawer-opened {
|
|
312
|
+
transform: none;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
.mat-drawer-side {
|
|
316
|
+
box-shadow: none;
|
|
317
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
318
|
+
border-right-width: 1px;
|
|
319
|
+
border-right-style: solid;
|
|
320
|
+
}
|
|
321
|
+
.mat-drawer-side.mat-drawer-end {
|
|
322
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
323
|
+
border-left-width: 1px;
|
|
324
|
+
border-left-style: solid;
|
|
325
|
+
border-right: none;
|
|
326
|
+
}
|
|
327
|
+
[dir=rtl] .mat-drawer-side {
|
|
328
|
+
border-left-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
329
|
+
border-left-width: 1px;
|
|
330
|
+
border-left-style: solid;
|
|
331
|
+
border-right: none;
|
|
332
|
+
}
|
|
333
|
+
[dir=rtl] .mat-drawer-side.mat-drawer-end {
|
|
334
|
+
border-right-color: var(--mat-sidenav-container-divider-color, transparent);
|
|
335
|
+
border-right-width: 1px;
|
|
336
|
+
border-right-style: solid;
|
|
337
|
+
border-left: none;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.mat-drawer-inner-container {
|
|
341
|
+
width: 100%;
|
|
342
|
+
height: 100%;
|
|
343
|
+
overflow: auto;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.mat-sidenav-fixed {
|
|
347
|
+
position: fixed;
|
|
348
|
+
}
|
|
349
|
+
`],encapsulation:2,changeDetection:0})}return i})(),wt=(()=>{class i extends Ct{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Je(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[Ae([{provide:ke,useExisting:i}]),Ue],ngContentSelectors:bt,decls:1,vars:0,template:function(n,o){n&1&&(xe(),ie(0))},encapsulation:2,changeDetection:0})}return i})(),En=(()=>{class i extends bn{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=ye(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=tn(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=tn(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Je(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(n,o){n&2&&(Q("tabIndex",o.mode!=="side"?"-1":null)("align",null),j("top",o.fixedInViewport?o.fixedTopGap:null,"px")("bottom",o.fixedInViewport?o.fixedBottomGap:null,"px"),F("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:[Ae([{provide:bn,useExisting:i}]),Ue],ngContentSelectors:bt,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(n,o){n&1&&(xe(),a(0,"div",1,0),ie(2),s())},dependencies:[ke],encapsulation:2,changeDetection:0})}return i})(),wr=(()=>{class i extends xn{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Je(i)))(o||i)}})();static \u0275cmp=R({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(n,o,r){if(n&1&&Qt(r,wt,5)(r,En,5),n&2){let l;V(l=N())&&(o._content=l.first),V(l=N())&&(o._allDrawers=l)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(n,o){n&2&&F("mat-drawer-container-explicit-backdrop",o._backdropOverride)},exportAs:["matSidenavContainer"],features:[Ae([{provide:yn,useExisting:i},{provide:xn,useExisting:i}]),Ue],ngContentSelectors:Ns,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&&(xe(Vs),g(0,Fs,1,2,"div",0),ie(1),ie(2,1),g(3,$s,2,0,"mat-sidenav-content")),n&2&&(v(o.hasBackdrop?0:-1),c(3),v(o._content?-1:3))},dependencies:[wt],styles:[Bs],encapsulation:2,changeDetection:0})}return i})(),br=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=ri({type:i});static \u0275inj=ei({imports:[nn,Mi,nn]})}return i})();function xr(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 Kn=As(ms());function Wn(i){let t=[];for(let e of i)for(let n of e.events)t.push(`${e.id}:${n.pr}`);return t}function fs(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 hs="fb-whats-new-seen",Dt=class i{corpus=_(Cr);_hasUnseen=L(!1);hasUnseen=this._hasUnseen.asReadonly();init(){return $(this,null,function*(){let t=yield this.corpus.load(),e=fs(Wn(t),this.readSeen());this._hasUnseen.set(e.length>0)})}markAllSeen(){return $(this,null,function*(){let t=yield this.corpus.load();this.writeSeen(Wn(t)),this._hasUnseen.set(!1)})}readSeen(){try{let t=localStorage.getItem(hs);return t===null?null:JSON.parse(t)}catch(t){return null}}writeSeen(t){try{localStorage.setItem(hs,JSON.stringify(t))}catch(e){}}static \u0275fac=function(e){return new(e||i)};static \u0275prov=Jn({token:i,factory:i.\u0275fac,providedIn:"root"})};var Yc=["frame"],Lt=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;placed=Y.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)(Me(K),Me(pe))};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-widget"]],viewQuery:function(e,n){if(e&1&&J(Yc,7),e&2){let o;V(o=N())&&(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&&(ai(0,"iframe",1,0),li("load",function(){return n.onFrameLoad()}),si()),e&2&&Se("src",n.url,re)("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 Jc=()=>[],ed=(i,t)=>t.type+t.extension,td=(i,t)=>t.instanceId;function nd(i,t){if(i&1){let e=E();a(0,"div",3)(1,"mat-icon",4),u(2,"filter_alt"),s(),a(3,"span",5),u(4),s(),a(5,"button",6),h("click",function(){let o=m(e).$implicit,r=p(2);return f(r.clearChip(o))}),a(6,"mat-icon"),u(7,"close"),s()()()}if(i&2){let e=t.$implicit;c(4),z(e.label)}}function id(i,t){if(i&1&&(a(0,"div",2),q(1,nd,8,1,"div",3,ed),s()),i&2){let e=p();F("pe-chips-low",(e.byAnchor().ct??it(2,Jc)).length>0),c(),H(e.service.filterChips())}}function od(i,t){if(i&1&&(a(0,"div",9),T(1,"fb-plotterext-widget",10),s()),i&2){let e=t.$implicit,n=p(2);Yt(n.cellStyle(e)),c(),w("placed",e)}}function rd(i,t){if(i&1&&(a(0,"div",7),q(1,od,2,3,"div",8,td),s()),i&2){let e=t.$implicit,n=p();Yt(n.anchorStyle(e)),nt("pe-"+e),Q("data-anchor",e),c(),H(n.byAnchor()[e])}}var ad=1500,_s=8,Vt=class i{anchors=ln;byAnchor=D(()=>{let t={};for(let e of ln)t[e]=[];for(let e of this.service.activeWidgets())t[e.anchor]?.push(e);return t});service=_(K);zone=_(Z);host=_(ee);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(${pn[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 l=this.service.widgetDef(r.extension,r.widget),{cols:d}=cn(l?.size??"1x1");for(let C=r.col;C<r.col+d&&C<2;C++)n.add(C)}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}=cn(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, .fb-pe-window, .fb-pe-window-backdrop"))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))},ad)))}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>_s*_s&&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 l=o.dataset.anchor,{cols:d,rows:C}=pn[l],y=Math.min(d-1,Math.max(0,Math.floor((t-r.left)/r.width*d))),k=Math.min(C-1,Math.max(0,Math.floor((e-r.top)/r.height*C)));return{anchor:l,cell:{col:y,row:k}}}return null}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({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&&(g(0,id,3,3,"div",0),q(1,rd,3,5,"div",1,be)),e&2&&(v(n.service.filterChips().length?0:-1),c(),H(n.anchors))},dependencies:[Lt,de,ce],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 sd=["frame"],ld=(i,t)=>t.key;function pd(i,t){if(i&1&&T(0,"fb-plotterext-runtime",0),i&2){let e=t.$implicit;w("entry",e)}}var Gn=class i{constructor(t,e){this.service=t;this.sanitizer=e}service;sanitizer;entry=Y.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)(Me(K),Me(pe))};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-runtime"]],viewQuery:function(e,n){if(e&1&&J(sd,7),e&2){let o;V(o=N())&&(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&&tt(0,"iframe",1,0),e&2&&Se("src",n.url,re)("title",n.entry().runtime.id)},styles:["[_nghost-%COMP%]{display:none}"]})},Ft=class i{service=_(K);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-plotterext-runtimes"]],decls:2,vars:0,consts:[[3,"entry"]],template:function(e,n){e&1&&q(0,pd,1,1,"fb-plotterext-runtime",0,ld),e&2&&H(n.service.backgroundRuntimes())},dependencies:[Gn],styles:["[_nghost-%COMP%]{display:none}"]})};var cd=["frame"],dd=(i,t)=>t.key;function ud(i,t){if(i&1){let e=E();a(0,"div",1)(1,"span"),u(2),s(),a(3,"button",4),h("click",function(){m(e);let o=p();return f(o.service.closeVisiblePanel())}),a(4,"mat-icon"),u(5,"close"),s()()()}i&2&&(c(2),z(t.panel.title))}function md(i,t){if(i&1&&(a(0,"div",5),T(1,"fb-plotterext-panel-frame",6),s()),i&2){let e=t.$implicit;F("pe-body-hidden",!e.visible),c(),w("panelKey",e.key)("extension",e.extension)("panel",e.panel)}}var jn=class i{panelKey=Y.required();extension=Y.required();panel=Y.required();frame;url;detach=null;service=_(K);sanitizer=_(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=R({type:i,selectors:[["fb-plotterext-panel-frame"]],viewQuery:function(e,n){if(e&1&&J(cd,7),e&2){let o;V(o=N())&&(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&&tt(0,"iframe",1,0),e&2&&Se("src",n.url,re)("title",n.panel().title)},styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:none}"]})},$t=class i{service=_(K);isOpen=D(()=>!!this.service.visiblePanel());constructor(){let t=!0;B(()=>{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=R({type:i,selectors:[["fb-plotterext-panel-drawer"]],hostVars:2,hostBindings:function(e,n){e&2&&F("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),h("transitionend",function(r){return n.onTransitionEnd(r)}),g(1,ud,6,1,"div",1),a(2,"div",2),q(3,md,2,5,"div",3,dd),s()()),e&2){let o;c(),v((o=n.service.visiblePanel())?1:-1,o),c(2),H(n.service.openPanels())}},dependencies:[Re,Ie,de,ce,jn],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 hd=["frame"];function _d(i,t){if(i&1){let e=E();a(0,"button",10),h("pointerenter",function(o){m(e);let r=p();return f(r.onHoverReveal(o))})("pointerdown",function(o){m(e);let r=p();return r.revealBar(),f(r.startGesture(o,"move"))})("click",function(){m(e);let o=p();return f(o.revealBar())}),s()}if(i&2){let e=p();Q("tabindex",e.barShown()?-1:0)}}function gd(i,t){if(i&1){let e=E();a(0,"button",5),h("click",function(){m(e);let o=p();return f(o.toggleCollapsed())}),a(1,"mat-icon"),u(2),s()(),a(3,"button",11),h("menuOpened",function(){m(e);let o=p();return f(o.holdBar("menu"))})("menuClosed",function(){m(e);let o=p();return f(o.releaseBar("menu"))}),a(4,"mat-icon"),u(5,"more_vert"),s()()}if(i&2){let e=p(),n=Pe(9);w("matTooltip",e.def().collapsed?"Expand":"Collapse"),Q("aria-label",e.def().collapsed?"Expand":"Collapse"),c(2),z(e.def().collapsed?"expand_more":"expand_less"),c(),w("matMenuTriggerFor",n)}}function vd(i,t){if(i&1){let e=E();a(0,"button",12),h("click",function(){let o=m(e).$implicit,r=p();return f(r.windows.setOpacity(r.def().id,o))}),a(1,"mat-icon"),u(2),s(),a(3,"span"),u(4),s()()}if(i&2){let e=t.$implicit,n=p();Q("aria-checked",n.def().opacity===e),c(2),z(n.def().opacity===e?"radio_button_checked":"radio_button_unchecked"),c(2),ge("Opacity ",e*100,"%")}}function Cd(i,t){if(i&1){let e=E();a(0,"div",14),h("pointerenter",function(o){let r=m(e).$implicit,l=p(2);return f(r.includes("n")&&l.onHoverReveal(o))})("pointerdown",function(o){let r=m(e).$implicit,l=p(2);return f(l.startGesture(o,r))}),s()}if(i&2){let e=t.$implicit;Q("data-mode",e)}}function wd(i,t){if(i&1&&q(0,Cd,1,1,"div",13,be),i&2){let e=p();H(e.resizeModes)}}var bd=to.barH,vs=3e3,xd=1e3,Bt=class i{def=Y.required();frame;resizeModes=["n","s","e","w","ne","nw","se","sw"];opacities=[1,.8,.6,.4];windows=_(dt);host=_(K);sanitizer=_(pe);zone=_(Z);el=_(ee).nativeElement;src;detach=null;z=D(()=>(this.windows.zOrder().indexOf(this.def().id)+1)*2);front=D(()=>this.windows.zOrder().at(-1)===this.def().id);presentation=D(()=>this.windows.presentation(this.def(),this.windows.area()));floating=D(()=>this.presentation()==="floating");movable=D(()=>this.floating()&&this.def().movable);resizable=D(()=>this.floating()&&this.def().resizable&&!this.def().collapsed);hides=D(()=>this.def().userClose==="hide"&&!this.def().modal);rect=D(()=>this.windows.rectOf(this.def(),this.windows.area()));drawn=D(()=>{let t=this.rect();return this.def().collapsed?Te(he({},t),{h:bd}):t});autoHide=D(()=>this.def().titleBar==="autoHide"&&!this.def().collapsed);barShown=L(!0);barHolds=new Set;barTimer;gesture=null;frameReq=0;constructor(){B(()=>{this.autoHide()&&ve(()=>this.revealBar())}),B(()=>{let t=this.drawn();this.gesture||this.applyRect(t)})}ngOnInit(){let t=this.def().panel.url;this.src=this.sanitizer.bypassSecurityTrustResourceUrl(t?this.host.resolveAssetUrl(t):"about:blank"),this.detach=this.host.attachWindow(this.frame.nativeElement,this.def()),this.frame.nativeElement.addEventListener("load",this.watchEscape)}watchEscape=()=>{try{this.frame.nativeElement.contentWindow?.addEventListener("keydown",t=>{t.key==="Escape"&&this.def().modal&&this.zone.run(()=>this.windows.close(this.def().id,"user"))})}catch(t){}};ngOnDestroy(){this.frame.nativeElement.removeEventListener("load",this.watchEscape),this.endGesture(),clearTimeout(this.barTimer),this.detach?.(),this.detach=null}revealBar(){this.barShown.set(!0),this.scheduleBarHide(vs)}holdBar(t){this.barHolds.add(t),clearTimeout(this.barTimer),this.barShown.set(!0)}releaseBar(t,e=vs){this.barHolds.delete(t)&&this.scheduleBarHide(e)}scheduleBarHide(t){clearTimeout(this.barTimer),!this.barHolds.size&&(this.barTimer=setTimeout(()=>this.barShown.set(!1),t))}isHover(t){return t.pointerType==="mouse"||t.pointerType==="pen"}onHoverReveal(t){this.autoHide()&&this.isHover(t)&&this.revealBar()}onBarEnter(t){this.isHover(t)&&this.holdBar("hover")}onBarLeave(t){this.isHover(t)&&this.releaseBar("hover",xd)}onFocusIn(t){let e=t.target;e.closest(".fb-pe-window__bar, .fb-pe-window__grip")&&e.matches(":focus-visible")&&this.holdBar("focus")}startGesture(t,e){if(this.gesture||!t.isPrimary||t.pointerType==="mouse"&&t.button!==0||(e==="move"?!this.movable():!this.resizable()))return;let n=t.currentTarget,o=t.target.closest("a, button");if(e==="move"&&o&&o!==n)return;t.preventDefault();let r=this.drawn();this.gesture={pointerId:t.pointerId,mode:e,startX:t.clientX,startY:t.clientY,start:r,current:r,target:n},n.setPointerCapture(t.pointerId),this.holdBar("gesture"),this.windows.gestureActive.set(!0),this.zone.runOutsideAngular(()=>{n.addEventListener("pointermove",this.onMove),n.addEventListener("pointerup",this.onEnd),n.addEventListener("pointercancel",this.onEnd),n.addEventListener("lostpointercapture",this.onEnd)})}onMove=t=>{let e=this.gesture;!e||t.pointerId!==e.pointerId||(e.current=no(e.start,e.mode,t.clientX-e.startX,t.clientY-e.startY,this.windows.area()),this.frameReq||(this.frameReq=requestAnimationFrame(()=>{this.frameReq=0,this.gesture&&this.applyRect(this.gesture.current)})))};onEnd=t=>{this.gesture&&t.pointerId===this.gesture.pointerId&&this.zone.run(()=>this.endGesture(!0))};endGesture(t=!1){let e=this.gesture;if(e){if(this.gesture=null,this.frameReq&&(cancelAnimationFrame(this.frameReq),this.frameReq=0),e.target.removeEventListener("pointermove",this.onMove),e.target.removeEventListener("pointerup",this.onEnd),e.target.removeEventListener("pointercancel",this.onEnd),e.target.removeEventListener("lostpointercapture",this.onEnd),e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId),this.windows.gestureActive.set(!1),this.releaseBar("gesture"),t&&e.current!==e.start){let{w:n,h:o}=this.def().collapsed?this.rect():e.current;this.windows.setRectFromGesture(this.def().id,{x:e.current.x,y:e.current.y,w:n,h:o})}this.applyRect(t?e.current:this.drawn())}}toggleCollapsed(){this.windows.setCollapsed(this.def().id,!this.def().collapsed)}onBarDoubleClick(t){this.def().modal||t.target.closest("a, button")||this.toggleCollapsed()}applyRect(t){this.el.style.transform=`translate(${Math.round(t.x)}px, ${Math.round(t.y)}px)`,this.el.style.width=`${Math.round(t.w)}px`,this.el.style.height=`${Math.round(t.h)}px`}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-pe-window"]],viewQuery:function(e,n){if(e&1&&J(hd,7),e&2){let o;V(o=N())&&(n.frame=o.first)}},hostAttrs:[1,"fb-pe-window"],hostVars:19,hostBindings:function(e,n){e&1&&h("pointerdown",function(){return n.windows.focus(n.def().id)})("focusin",function(r){return n.onFocusIn(r)})("focusout",function(){return n.releaseBar("focus")}),e&2&&(Q("data-window-id",n.def().id),j("z-index",n.z())("opacity",n.def().opacity),F("collapsed",n.def().collapsed)("hidden",!n.def().visible)("modal",n.def().modal)("fullscreen",n.presentation()==="fullscreen")("fixed-place",!n.movable())("bar-overlay",n.autoHide())("bar-hidden",n.autoHide()&&!n.barShown()))},inputs:{def:[1,"def"]},decls:16,vars:12,consts:[["moremenu","matMenu"],["frame",""],["aria-label","Show title bar",1,"fb-pe-window__grip"],[1,"fb-pe-window__bar",3,"pointerenter","pointerleave","pointerdown","dblclick"],[1,"fb-pe-window__title",3,"title"],["mat-icon-button","",1,"fb-pe-window__btn",3,"click","matTooltip"],["xPosition","before"],["mat-menu-item","","role","menuitemradio"],[1,"fb-pe-window__body"],["sandbox","allow-scripts allow-same-origin allow-forms",3,"src","title"],["aria-label","Show title bar",1,"fb-pe-window__grip",3,"pointerenter","pointerdown","click"],["mat-icon-button","","matTooltip","More","aria-label","More",1,"fb-pe-window__btn",3,"menuOpened","menuClosed","matMenuTriggerFor"],["mat-menu-item","","role","menuitemradio",3,"click"],[1,"fb-pe-window__handle"],[1,"fb-pe-window__handle",3,"pointerenter","pointerdown"]],template:function(e,n){if(e&1){let o=E();g(0,_d,1,1,"button",2),a(1,"div",3),h("pointerenter",function(l){return n.onBarEnter(l)})("pointerleave",function(l){return n.onBarLeave(l)})("pointerdown",function(l){return m(o),n.revealBar(),f(n.startGesture(l,"move"))})("dblclick",function(l){return n.onBarDoubleClick(l)}),a(2,"span",4),u(3),s(),g(4,gd,6,4),a(5,"button",5),h("click",function(){return n.windows.userClose(n.def().id)}),a(6,"mat-icon"),u(7),s()()(),a(8,"mat-menu",6,0),q(10,vd,5,3,"button",7,be),s(),a(12,"div",8),T(13,"iframe",9,1),s(),g(15,wd,2,0)}e&2&&(v(n.autoHide()?0:-1),c(),F("front",n.front()),c(),w("title",n.def().title),c(),z(n.def().title),c(),v(n.def().modal?-1:4),c(),w("matTooltip",n.hides()?"Hide":"Close"),Q("aria-label",n.hides()?"Hide":"Close"),c(2),z(n.hides()?"remove":"close"),c(3),H(n.opacities),c(3),w("src",n.src,re)("title",n.def().title),c(2),v(n.resizable()?15:-1))},dependencies:[Re,Ie,de,ce,_t,ft,mt,ht,De,Oe],styles:['[_nghost-%COMP%]{position:absolute;top:0;left:0;display:flex;flex-direction:column;pointer-events:auto;box-sizing:border-box;background:#fafafa;border:1px solid rgba(0,0,0,.3);border-radius:6px;box-shadow:0 4px 16px #00000059;overflow:visible}.dark-theme[_nghost-%COMP%], .dark-theme [_nghost-%COMP%]{background:#303030;border-color:#ffffff40}.fb-pe-window__bar[_ngcontent-%COMP%]{flex:0 0 32px;height:32px;display:flex;align-items:center;gap:2px;padding-left:8px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px 6px 0 0;background:#e0e0e0;color:#000000de}.fb-pe-window__bar.front[_ngcontent-%COMP%]{background:#c5cae9}.dark-theme[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{background:#424242;color:#fff}.dark-theme[_nghost-%COMP%] .fb-pe-window__bar.front[_ngcontent-%COMP%], .dark-theme [_nghost-%COMP%] .fb-pe-window__bar.front[_ngcontent-%COMP%]{background:#3949ab}.fb-pe-window__title[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500}.fb-pe-window__btn[_ngcontent-%COMP%]{--mat-icon-button-state-layer-size: 28px;width:28px;height:28px;padding:2px;cursor:pointer}.fb-pe-window__btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.fb-pe-window__body[_ngcontent-%COMP%]{position:relative;flex:1 1 auto;min-height:0;border-radius:0 0 6px 6px;overflow:hidden}.fb-pe-window__body[_ngcontent-%COMP%] iframe[_ngcontent-%COMP%]{display:block;width:100%;height:100%;border:0;background:#fff}.bar-overlay[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{position:absolute;top:0;left:0;right:0;z-index:2;transition:opacity .15s ease-out,transform .15s ease-out}.bar-overlay[_nghost-%COMP%] .fb-pe-window__body[_ngcontent-%COMP%]{border-radius:6px}.bar-hidden[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{opacity:0;transform:translateY(-6px);visibility:hidden;transition:opacity .3s ease-in,transform .3s ease-in,visibility 0s linear .3s}.fb-pe-window__grip[_ngcontent-%COMP%]{position:absolute;top:0;left:50%;z-index:1;width:64px;height:16px;margin:0 0 0 -32px;padding:0;border:0;background:transparent;cursor:grab;touch-action:none;transition:opacity .15s ease-out}.fb-pe-window__grip[_ngcontent-%COMP%]:before{content:"";position:absolute;top:5px;left:14px;right:14px;height:5px;border-radius:3px;background:#00000073;box-shadow:0 0 0 1px #fff9}[_nghost-%COMP%]:not(.bar-hidden) .fb-pe-window__grip[_ngcontent-%COMP%]{opacity:0}@media(pointer:coarse){.fb-pe-window__grip[_ngcontent-%COMP%]{width:96px;height:24px;margin-left:-48px}.fb-pe-window__grip[_ngcontent-%COMP%]:before{top:9px;left:24px;right:24px}}@media(prefers-reduced-motion:reduce){.fb-pe-window__bar[_ngcontent-%COMP%], .fb-pe-window__grip[_ngcontent-%COMP%]{transition:none!important}}.collapsed[_nghost-%COMP%] .fb-pe-window__body[_ngcontent-%COMP%]{visibility:hidden}.collapsed[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{border-radius:6px}.collapsed[_nghost-%COMP%] .fb-pe-window__handle[_ngcontent-%COMP%]{display:none}.fb-pe-window__handle[_ngcontent-%COMP%]{position:absolute;z-index:3;touch-action:none;--edge: 10px;--out: calc(var(--edge) / -2)}@media(pointer:coarse){.fb-pe-window__handle[_ngcontent-%COMP%]{--edge: 16px}}.fb-pe-window__handle[data-mode*=n][_ngcontent-%COMP%]{top:var(--out)}.fb-pe-window__handle[data-mode*=s][_ngcontent-%COMP%]{bottom:var(--out)}.fb-pe-window__handle[data-mode*=e][_ngcontent-%COMP%]{right:var(--out)}.fb-pe-window__handle[data-mode*=w][_ngcontent-%COMP%]{left:var(--out)}.fb-pe-window__handle[data-mode=n][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=s][_ngcontent-%COMP%]{left:var(--edge);right:var(--edge);height:var(--edge);cursor:ns-resize}.fb-pe-window__handle[data-mode=e][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=w][_ngcontent-%COMP%]{top:var(--edge);bottom:var(--edge);width:var(--edge);cursor:ew-resize}.fb-pe-window__handle[data-mode=ne][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=nw][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=se][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=sw][_ngcontent-%COMP%]{width:calc(var(--edge) * 1.5);height:calc(var(--edge) * 1.5)}.fb-pe-window__handle[data-mode=ne][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=sw][_ngcontent-%COMP%]{cursor:nesw-resize}.fb-pe-window__handle[data-mode=nw][_ngcontent-%COMP%], .fb-pe-window__handle[data-mode=se][_ngcontent-%COMP%]{cursor:nwse-resize}.hidden[_nghost-%COMP%]{display:none}.fullscreen[_nghost-%COMP%]{border-radius:0}.fullscreen[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%], .fullscreen[_nghost-%COMP%] .fb-pe-window__body[_ngcontent-%COMP%]{border-radius:0;cursor:default}.fixed-place[_nghost-%COMP%] .fb-pe-window__bar[_ngcontent-%COMP%]{cursor:default}'],changeDetection:0})};var yd=(i,t)=>t.id;function Ed(i,t){i&1&&(a(0,"div",2),h("pointerdown",function(n){return n.stopPropagation()}),s()),i&2&&j("z-index",t)}function Td(i,t){if(i&1&&T(0,"fb-pe-window",1),i&2){let e=t.$implicit;w("def",e)}}var Md="fb-pe-window-gesture",zt=class i{inset=Y(0);service=_(dt);overlays=_(at);document=_(Qe);el=_(ee).nativeElement;zone=_(Z);observer=null;backdropZ=D(()=>{let t=this.service.activeModal();return t?(this.service.zOrder().indexOf(t.id)+1)*2-1:0});constructor(){B(()=>{this.document.body.classList.toggle(Md,this.service.gestureActive())})}ngAfterViewInit(){this.measure(),!(typeof ResizeObserver>"u")&&(this.observer=new ResizeObserver(()=>this.zone.run(()=>this.measure())),this.observer.observe(this.el))}ngOnDestroy(){this.observer?.disconnect()}measure(){let t=this.el.getBoundingClientRect();t.width>0&&t.height>0&&this.service.setArea({w:t.width,h:t.height})}onEscape(t){if(t.defaultPrevented||this.overlays.getContainerElement().querySelector(".cdk-overlay-pane"))return;let e=this.service.activeModal();e&&this.service.close(e.id,"user")}onWindowBlur(){setTimeout(()=>{let t=this.document.activeElement;if(t?.tagName!=="IFRAME")return;let e=t.closest("[data-window-id]")?.getAttribute("data-window-id");e&&this.service.focus(e)})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-pe-window-layer"]],hostVars:4,hostBindings:function(e,n){e&1&&h("blur",function(){return n.onWindowBlur()},ii)("keydown.escape",function(r){return n.onEscape(r)},ze),e&2&&j("left",n.inset(),"px")("right",n.inset(),"px")},inputs:{inset:[1,"inset"]},decls:3,vars:1,consts:[[1,"fb-pe-window-backdrop",3,"z-index"],[3,"def"],[1,"fb-pe-window-backdrop",3,"pointerdown"]],template:function(e,n){if(e&1&&(g(0,Ed,1,2,"div",0),q(1,Td,1,1,"fb-pe-window",1,yd)),e&2){let o;v((o=n.backdropZ())?0:-1,o),c(),H(n.service.windows())}},dependencies:[Bt],styles:["[_nghost-%COMP%]{position:absolute;inset:0;z-index:4850;pointer-events:none;overflow:hidden}.fb-pe-window-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;pointer-events:auto;background:#00000052}"],changeDetection:0})};var bs=new Set(["map","layers",fn]),ws=new WeakSet;function Sd(i){let t=document.createElement("div"),e=null;return new He({source:i.getSource(),render:n=>{let o=e?.style.cssText,r=i.render(n,null);return r instanceof HTMLElement&&(e=r,t.className=r.className,t.style.cssText=r.style.cssText,o!==void 0?r.style.cssText=o:i.changed()),t}})}function Pd(i){if(i instanceof st){let n=new st;return{twin:n,stopChildren:xs(i.getLayers(),n.getLayers())}}let t=i.getClassName(),e=i instanceof Le?{declutter:i.getDeclutter(),renderBuffer:i.getRenderBuffer(),updateWhileAnimating:i.getUpdateWhileAnimating(),updateWhileInteracting:i.getUpdateWhileInteracting()}:{};return i instanceof _n?{twin:new _n(Te(he({className:t},e),{renderMode:i.getRenderMode()}))}:i instanceof sn?{twin:new sn(he({className:t},e))}:i instanceof gn?{twin:new gn({className:t,source:i.getSource()})}:i instanceof un?{twin:new un({className:t})}:i instanceof hn?i.getSource()instanceof Io?null:{twin:new hn({className:t})}:Object.getPrototypeOf(i)===He.prototype?{twin:Sd(i)}:null}function Ad(i,t){let e=he({},i.getProperties());bs.forEach(n=>delete e[n]),t.setProperties(e)}function kd(i){let t=null,e=[],n,o=()=>{qe(e),t?.stopChildren?.(),n?.()};try{if(t=Pd(i),!t)return ws.has(i)||(ws.add(i),console.warn("Split view: a layer of this kind is not shown in the second pane",i)),null;let{twin:r}=t;Ad(i,r);let l=i.getBackground();return l&&r.setBackground(l),e.push(i.on("propertychange",d=>{bs.has(d.key)||r.set(d.key,i.get(d.key))})),r instanceof He&&(e.push(...Ro(r)),n=i.get(fn)?.(r),i instanceof Le&&r instanceof Le&&r.setStyle(i.getStyle()),e.push(i.on("change",()=>{let d=i.getBackground()||void 0;r.getBackground()!==d&&r.setBackground(d),i instanceof Le&&r instanceof Le&&r.getStyle()!==i.getStyle()?r.setStyle(i.getStyle()):r.changed()}))),{layer:r,stop:o}}catch(r){return o(),t?.twin.dispose(),console.warn("Split view: a layer could not be shown in both panes",r),null}}function xs(i,t){let e=new Map,n=l=>{if(e.has(l))return;let d=kd(l);if(!d)return;e.set(l,d);let C=i.getArray().filter(y=>e.has(y)).indexOf(l);t.insertAt(C<0?t.getLength():C,d.layer)},o=l=>{let d=e.get(l);if(!d)return;t.remove(d.layer),d.stop();let C=d.layer;C instanceof He&&(C.setSource(null),ao(C)),setTimeout(()=>C.dispose(),0),e.delete(l)};i.forEach(n);let r=[i.on("add",l=>n(l.element)),i.on("remove",l=>o(l.element))];return()=>{qe(r),[...e.keys()].forEach(o)}}function ys(i,t){let e=new st;t.addLayer(e);let n=xs(i.getLayers(),e.getLayers());return()=>{n(),t.removeLayer(e),e.dispose()}}var Es=100;function Ts(i){return getComputedStyle(i).position!=="static"?[i]:[...i.children].flatMap(Ts)}var Ut=class i{app=_(vt);skstream=_(ct);split=_(gt);mapInteract=_(lt);host=_(ee);interactionList=[];interactionsFor;olControls=mr;scaleUnits=Y("");zoom=L(10);center=L([0,0]);heading=L(0);rotation=D(()=>this.split.northUp()?0:0-this.heading());footprint=L(null);map;mainMap;stopMirror;stopUseWatch=[];panelSize;gripFrame=0;gripRatio=null;vessels;commands;pressedAt=0;gripRect=null;gripPanel=null;gripStacked=!1;gripStart=0;gripOffset=0;overscans=[];endDrag=null;zone=_(Z);announcer=_(Oi);dragging=L(!1);tabbed=!1;documentListeners=[];constructor(){B(()=>{this.split.follow()&&ve(()=>this.centerOnVessel())}),B(()=>{let e=this.scaleUnits();ve(()=>this.setScaleUnits(e))}),B(()=>{this.interacting()&&ve(()=>this.split.activate("main"))});let t;B(()=>{let e=this.split.secondaryActive();t!==void 0&&e!==t&&this.announcer.announce(e?"Second chart active":"Main chart active"),t=e})}ngOnInit(){this.heading.set(this.app.data.vessels.active.orientation??0);let{min:t,max:e}=this.app.MAP_ZOOM_EXTENT,n=this.split.lastView();this.zoom.set(Math.min(e,Math.max(t,n.zoom??this.app.config.map.zoomLevel-3))),!this.split.follow()&&n.center?this.center.set(n.center):this.centerOnVessel()||this.center.set(n.center??[...this.app.config.map.center]),this.vessels=this.skstream.vessels$().subscribe(()=>this.onVessels()),this.commands=this.split.commands$.subscribe(o=>this.onCommand(o))}ngAfterViewInit(){this.documentListeners=[["keydown",e=>this.onDocumentKey(e)],["pointerdown",()=>this.onDocumentPress()]],this.zone.runOutsideAngular(()=>this.documentListeners.forEach(([e,n])=>document.addEventListener(e,n,!0)));let t=this.host.nativeElement.parentElement;t&&(this.panelSize=new ResizeObserver(()=>{let[e,n]=[t.clientWidth,t.clientHeight];this.split.setPanelSize(e,n);let o=this.gripPanel;o&&(o[0]!==e||o[1]!==n)&&this.zone.run(()=>this.gripUp())}),this.panelSize.observe(t))}ngOnDestroy(){this.documentListeners.forEach(([t,e])=>document.removeEventListener(t,e,!0)),this.vessels?.unsubscribe(),this.commands?.unsubscribe(),this.split.flush(),this.panelSize?.disconnect(),cancelAnimationFrame(this.gripFrame),this.endDrag?.(),this.stopMirror?.(),this.stopUseWatch.forEach(t=>t()),this.mainMap?.un("moveend",this.onMainMoved),this.split.setSecondaryMap(null)}onMapReady(t){this.map=t.map,this.mainMap=t.mapService.getMaps().find(e=>e!==t.map),this.mainMap&&(this.stopMirror=ys(this.mainMap,t.map),this.mainMap.on("moveend",this.onMainMoved),this.stopUseWatch.push(this.activateOnUse(this.mainMap,"main"),this.nameChart(this.mainMap,"Main chart"))),this.stopUseWatch.push(this.activateOnUse(t.map,"secondary"),this.nameChart(t.map,"Second chart")),this.updateFootprint(),this.setScaleUnits(this.scaleUnits()),this.split.rememberView(this.zoom(),this.center(),!1),this.split.setSecondaryMap(t.map)}activateOnUse(t,e){let n=t.getViewport(),o=d=>!t.getOverlayContainerStopEvent().contains(d.target),r=d=>{o(d)&&this.split.activate(e)},l=d=>{o(d)&&this.tabbed&&this.split.activate(e)};return n.addEventListener("pointerdown",r),t.getTargetElement()?.addEventListener("focusin",l),()=>{n.removeEventListener("pointerdown",r),t.getTargetElement()?.removeEventListener("focusin",l)}}onDocumentKey(t){this.tabbed=t.key==="Tab"}onDocumentPress(){this.tabbed=!1}nameChart(t,e){let n=t.getTargetElement();if(!n)return()=>{};let o=n.tabIndex;return n.tabIndex=0,n.setAttribute("role","region"),n.setAttribute("aria-label",e),()=>{n.tabIndex=o,n.removeAttribute("role"),n.removeAttribute("aria-label")}}interacting(){return this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isMeasuring()||this.mapInteract.isBoxSelecting()}onPress(){this.pressedAt=Date.now()}onPointerMove(t){this.split.forwardPointer(t.lonlat)}onTap(t){this.map&&!this.interacting()&&this.split.forwardTap({kind:"click",event:t,map:this.map,pressedAt:this.pressedAt})}onContextMenu(t){t.preventDefault();let e=this.map;if(!e||this.interacting())return;let n=e.getEventCoordinate(t),o=an(e.getView().getProjection().getExtent());this.split.forwardTap({kind:"contextmenu",event:t,features:e.getFeaturesAtPixel(e.getEventPixel(t),{hitTolerance:ro(t.pointerType,so,lo)}),lonlat:ji(n),worldOffset:mn(n[0],o),map:e,zoom:e.getView().getZoom()??this.zoom()})}onMoveEnd(t){if(this.zoom.set(t.zoom),t.map?.get(ut))return;let e=this.split.follow()&&t.zoom===this.split.zoom();this.split.rememberView(t.zoom,[t.lonlat[0],t.lonlat[1]],!e)}setScaleUnits(t){this.map?.getControls().getArray().find(n=>n instanceof nr)?.setUnits(dr(t))}onDrag(){this.split.follow()&&this.split.setFollow(!1)}interactions(){let t=!!this.app.config.map.doubleClickZoom;return t!==this.interactionsFor&&(this.interactionsFor=t,this.interactionList=ur(t)),this.interactionList}onKeydown(t){this.map?.getOverlayContainerStopEvent().contains(t.target)||this.split.activate("secondary");let e=sr(t);e?(t.preventDefault(),this.onCommand({kind:"zoom",step:e==="in"?1:-1})):lr(t)&&this.onDrag()}onCommand(t){let{min:e,max:n}=this.app.MAP_ZOOM_EXTENT,o=r=>Math.min(n,Math.max(e,r));if(t.kind==="zoom"){this.zoom.set(o(this.zoom()+t.step));return}this.split.follow()&&this.split.setFollow(!1),this.center.set([...t.position]),typeof t.zoom=="number"&&t.zoom>this.zoom()&&this.zoom.set(o(t.zoom))}centerOnVessel(){let t=this.app.data.vessels.active;return!t?.positionReceived||!Array.isArray(t.position)?!1:(this.center.set([...t.position]),!0)}splitPercent(){return this.percent(this.split.shownRatio())}percent(t){return Math.round(t*100)}gripDown(t){let e=this.host.nativeElement.parentElement;if(!e||this.endDrag||!t.isPrimary||t.button!==0)return;this.gripRect=e.getBoundingClientRect(),this.gripPanel=[e.clientWidth,e.clientHeight],this.gripStacked=this.split.stacked(),this.gripRatio=null;let n=t.currentTarget;n.setPointerCapture?.(t.pointerId),t.preventDefault(),this.dragging.set(!0);let o=this.gripStacked?this.gripRect.height:this.gripRect.width,r=this.split.shownRatio();this.gripStart=r,this.gripOffset=this.gripStacked?t.clientY-(this.gripRect.top+r*o):t.clientX-(this.gripRect.left+r*o),this.zone.runOutsideAngular(()=>{let l=y=>this.gripMove(y),d=()=>this.zone.run(()=>this.gripUp()),C=["pointerup","pointercancel","lostpointercapture"];n.addEventListener("pointermove",l),C.forEach(y=>n.addEventListener(y,d)),this.endDrag=()=>{n.removeEventListener("pointermove",l),C.forEach(y=>n.removeEventListener(y,d)),cancelAnimationFrame(this.gripFrame),this.overscans.forEach(y=>this.release(y)),this.overscans=[],e.style.removeProperty(Ve)}}),this.overscan(this.mainMap,(We(Cn,o)-r)*o,1),this.overscan(this.map,(r-We(vn,o))*o,-1)}gripMove(t){let e=this.host.nativeElement.parentElement;if(!this.gripRect||!e)return;let n=pr(this.gripRect,t.clientX-(this.gripStacked?0:this.gripOffset),t.clientY-(this.gripStacked?this.gripOffset:0),this.gripStacked);if(n===null)return;this.gripRatio=n;let o=this.gripStacked?this.gripRect.height:this.gripRect.width,r=We(n,o),l=(r-this.gripStart)*o;cancelAnimationFrame(this.gripFrame),this.gripFrame=requestAnimationFrame(()=>{e.style.setProperty(Ve,`${r*100}%`),this.overscans.forEach(d=>this.shift(d,d.shown+d.grows*l))})}gripUp(){let t=this.gripRect;if(t){if(this.gripRect=null,this.gripPanel=null,this.gripRatio!==null){let e=this.gripStacked?t.height:t.width;this.host.nativeElement.parentElement?.style.setProperty(Ve,`${We(this.gripRatio,e)*100}%`),this.split.setRatio(this.gripRatio),this.gripRatio=null}this.endDrag?.(),this.endDrag=null,this.dragging.set(!1),this.updateFootprint()}}overscan(t,e,n){let o=t?.getTargetElement();if(!t||!o)return;let r=this.gripStacked?"height":"width",l=o.getBoundingClientRect()[r],d=Math.round(l+Math.max(0,e)),{width:C,height:y,transform:k,willChange:M}=o.style,I=[...t.getOverlayContainerStopEvent()?.children??[]].filter(we=>!we.classList.contains("ol-overlay-container")).flatMap(Ts),S=we=>{let fe=we.getBoundingClientRect();return this.gripStacked?fe.top+fe.height/2:fe.left+fe.width/2},Ht=I.map(S);o.style[r]=`${l+Es}px`;let Ps=I.map((we,fe)=>(S(we)-Ht[fe])/Es);o.style[r]=`${d}px`;let Xn={map:t,target:o,shown:l,max:d,grows:n,controls:I.map((we,fe)=>({el:we,k:Ps[fe]})),style:{width:C,height:y,transform:k,willChange:M}};this.overscans.push(Xn),o.style.willChange="transform",this.shift(Xn,l),t.set(ut,!0),t.updateSize(),t.renderSync()}shift(t,e){let n=Math.round((e-t.max)/2);t.target.style.transform=this.gripStacked?`translateY(${n}px)`:`translateX(${n}px)`,t.controls.forEach(({el:o,k:r})=>{let l=Math.round((2*r-1)*n);o.style.translate=this.gripStacked?`0 ${l}px`:`${l}px 0`})}release(t){if(Object.assign(t.target.style,t.style),t.controls.forEach(({el:o})=>o.style.translate=""),t.map.set(ut,!1),!t.map.getTargetElement())return;let e=!1,n=t.map.once("moveend",()=>e=!0);t.map.updateSize(),t.map.renderSync(),qe(n),e||t.map.dispatchEvent(new Ki("moveend",t.map))}gripKey(t){let e=this.split.stacked(),n=e?"ArrowUp":"ArrowLeft",o=e?"ArrowDown":"ArrowRight",r=t.key==="Home"?vn:t.key==="End"?Cn:t.key===n?this.split.shownRatio()-.05:t.key===o?this.split.shownRatio()+.05:null;r!==null&&(t.preventDefault(),this.split.setRatio(r))}onVessels(){this.split.follow()&&this.centerOnVessel();let t=this.app.data.vessels.active;typeof t.orientation=="number"&&this.heading.set(t.orientation)}onMainMoved=()=>{this.dragging()||this.updateFootprint()};updateFootprint(){let t=this.mainMap,e=t?cr(t):null;if(!t||!e){this.footprint.set(null);return}let n=t.getView(),o=mn(n.getCenter()[0],an(n.getProjection().getExtent()));this.footprint.set(e.map(([r,l])=>[r-o,l]))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=R({type:i,selectors:[["fb-split-map"]],hostVars:4,hostBindings:function(e,n){e&2&&F("active-pane",n.split.secondaryActive())("stacked",n.split.stacked())},inputs:{scaleUnits:[1,"scaleUnits"]},decls:5,vars:17,consts:[["role","separator","tabindex","0","aria-label","Main chart","aria-controls","fb-main-chart","matTooltip","Drag, or use the arrow keys, to resize",1,"split-grip",3,"pointerdown","contextmenu","keydown","matTooltipDisabled"],["olView","",1,"split-ol-map",3,"mapReady","mapMoveEnd","mapPointerDown","mapPointerDrag","mapPointerMove","mapSingleClick","mapContextMenu","contextmenu","keydown","secondary","logo","olInteractions","olControls","zoom","center","rotation","minZoom","maxZoom","enableAnimation"],[3,"ring","zIndex"]],template:function(e,n){e&1&&(a(0,"div",0),h("pointerdown",function(r){return n.gripDown(r)})("contextmenu",function(r){return r.preventDefault()})("keydown",function(r){return n.gripKey(r)}),a(1,"mat-icon"),u(2,"drag_indicator"),s()(),a(3,"ol-map",1),h("mapReady",function(r){return n.onMapReady(r)})("mapMoveEnd",function(r){return n.onMoveEnd(r)})("mapPointerDown",function(){return n.onPress()})("mapPointerDrag",function(){return n.onDrag()})("mapPointerMove",function(r){return n.onPointerMove(r)})("mapSingleClick",function(r){return n.onTap(r)})("mapContextMenu",function(r){return n.onContextMenu(r)})("contextmenu",function(r){return n.onContextMenu(r)})("keydown",function(r){return n.onKeydown(r)}),T(4,"fb-view-footprint",2),s()),e&2&&(w("matTooltipDisabled",n.dragging()),Q("aria-orientation",n.split.stacked()?"horizontal":"vertical")("aria-valuenow",n.splitPercent())("aria-valuemin",n.percent(n.split.shownRange().min))("aria-valuemax",n.percent(n.split.shownRange().max)),c(3),w("secondary",!0)("logo",!1)("olInteractions",n.interactions())("olControls",n.olControls)("zoom",n.zoom())("center",n.center())("rotation",n.rotation())("minZoom",n.app.MAP_ZOOM_EXTENT.min)("maxZoom",n.app.MAP_ZOOM_EXTENT.max)("enableAnimation",!1),c(),w("ring",n.footprint())("zIndex",950))},dependencies:[ar,ir,tr,po,or,rr,de,ce,De,Oe],styles:['[_nghost-%COMP%]{position:relative;display:block;flex:1 1 0;min-width:0;min-height:0;box-sizing:border-box;border-left:8px solid #2b3846}.split-ol-map[_ngcontent-%COMP%]{display:block;width:100%;height:100%;overflow:hidden}.active-pane[_nghost-%COMP%]:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 3px #367abe}@media(forced-colors:active){.active-pane[_nghost-%COMP%]:after{box-shadow:none;outline:3px solid Highlight;outline-offset:-3px}}.split-grip[_ngcontent-%COMP%]{position:absolute;top:50%;left:-4px;transform:translate(-50%,-50%);z-index:3;width:28px;height:56px;padding:0;border:1px solid #8c95bd;border-radius:14px;background-color:#e0e0ff;color:#2b3846;display:flex;align-items:center;justify-content:center;cursor:col-resize;touch-action:none}.split-grip[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:-10px}.split-grip[_ngcontent-%COMP%]:focus-visible{outline:3px solid rgb(54,122,190);outline-offset:2px}.stacked[_nghost-%COMP%]{border-left:0;border-top:8px solid #2b3846}.stacked[_nghost-%COMP%] .split-grip[_ngcontent-%COMP%]{top:-4px;left:75%;width:56px;height:28px;cursor:row-resize}.stacked[_nghost-%COMP%] .split-grip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{transform:rotate(90deg)}']})};var Id=["leftToolbar"],Rd=["sideright"],Od=["fbMap"],Dd=["layersmenu"],Ld=["editmenu"],Vd=["settingsmenu"],Nd=()=>[Lo],Fd=()=>[zo],$d=()=>[Oo],Bd=()=>[bo],zd=()=>[yo],Ud=()=>[Do],qd=()=>[So],Hd=()=>[qo],Wd=()=>[Go],Gd=(i,t)=>({"dark-theme":i,"app-night":t}),jd=()=>[],Ss=i=>({$implicit:i}),Kd=(i,t)=>t.id,Xd=(i,t)=>t[0];function Zd(i,t){if(i&1){let e=E();a(0,"button",11),h("click",function(){m(e);let o=p();return f(o.displayLeftMenu("resourceGroups",!0))}),a(1,"mat-icon"),u(2,"category"),s(),u(3," \xA0Groups "),s()}}function Qd(i,t){if(i&1){let e=E();a(0,"button",11),h("click",function(){m(e);let o=p();return f(o.showOverlaysMoved())}),a(1,"mat-icon"),u(2,"layers"),s(),u(3," \xA0Overlays "),s()}}function Yd(i,t){if(i&1){let e=E();a(0,"button",11),h("click",function(){m(e);let o=p();return f(o.displayLeftMenu("trackList",!0))}),a(1,"mat-icon",40),u(2,"show_chart"),s(),u(3," \xA0Tracks "),s()}}function Jd(i,t){if(i&1){let e=E();a(0,"div")(1,"button",11),h("click",function(){let o=m(e).$implicit,r=p(2);return f(r.openExperiment({choice:o,value:null}))}),T(2,"mat-icon",41),u(3),s()()}if(i&2){let e=t.$implicit;c(3),ge(" \xA0",e," ")}}function eu(i,t){if(i&1&&(a(0,"div"),q(1,Jd,4,1,"div",null,be),s()),i&2){let e=p();c(),H(e.app.config.resources.paths.sort())}}function tu(i,t){i&1&&Zt(0)}function nu(i,t){if(i&1&&(a(0,"button",42),et(1,tu,1,0,"ng-container",44),a(2,"span"),u(3),s()()),i&2){let e=p().$implicit,n=p(),o=Pe(49);w("disabled",e.disabled)("matMenuTriggerFor",e.menu),c(),w("ngTemplateOutlet",o)("ngTemplateOutletContext",Jt(5,Ss,e)),c(2),z(n.toolbarMenuLabel(e))}}function iu(i,t){i&1&&Zt(0)}function ou(i,t){if(i&1){let e=E();a(0,"button",45),h("click",function(){let o;m(e);let r=p().$implicit,l=p();return f((o=l.leftToolbar())==null?null:o.run(r))}),et(1,iu,1,0,"ng-container",44),a(2,"span"),u(3),s()()}if(i&2){let e=p().$implicit,n=p(),o=Pe(49);w("disabled",e.disabled),c(),w("ngTemplateOutlet",o)("ngTemplateOutletContext",Jt(4,Ss,e)),c(2),z(n.toolbarMenuLabel(e))}}function ru(i,t){if(i&1&&g(0,nu,4,7,"button",42)(1,ou,4,6,"button",43),i&2){let e=t.$implicit;v(e.menu?0:1)}}function au(i,t){i&1&&T(0,"mat-divider")}function su(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p(2);return f(o.clearTrail(o.app.data.serverTrail))}),a(1,"mat-icon"),u(2,"clear_all"),s(),a(3,"span"),u(4),s()(),a(5,"a",11),h("click",function(){m(e);let o=p(2);return f(o.trailToRoute())}),a(6,"mat-icon"),u(7,"insights"),s(),a(8,"span"),u(9,"Trail to Route"),s()(),T(10,"mat-divider")}if(i&2){let e=p(2);c(4),ge("",e.app.data.serverTrail?"Refresh":"Clear"," Trail")}}function lu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p(2);return f(o.clearDestination())}),a(1,"mat-icon"),u(2,"clear_all"),s(),a(3,"span"),u(4,"Stop Navigating"),s()(),a(5,"a",11),h("click",function(){m(e);let o=p(2);return f(o.clearCourseData())}),a(6,"mat-icon"),u(7,"clear_all"),s(),a(8,"span"),u(9,"Clear Course Data"),s()(),T(10,"mat-divider")}}function pu(i,t){if(i&1){let e=E();T(0,"mat-divider"),a(1,"a",11),h("click",function(){m(e);let o=p(2);return f(o.showWeather("forecast"))}),a(2,"mat-icon"),u(3,"air"),s(),a(4,"span"),u(5,"Weather Forecast"),s()()}}function cu(i,t){if(i&1){let e=E();T(0,"mat-divider"),a(1,"a",11),h("click",function(){m(e);let o=p(2);return f(o.openFeatureBrowser())}),a(2,"mat-icon",22),u(3,"tips_and_updates"),s(),a(4,"span"),u(5,"What's New"),s()()}}function du(i,t){if(i&1){let e=E();g(0,su,11,1),g(1,lu,11,0),a(2,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleCourseData())}),a(3,"mat-icon"),u(4),s(),a(5,"span"),u(6),s()(),a(7,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleAisTargets())}),a(8,"mat-icon"),u(9),s(),a(10,"span"),u(11),s()(),a(12,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleNotes())}),a(13,"mat-icon"),u(14),s(),a(15,"span"),u(16),s()(),g(17,pu,6,0),T(18,"mat-divider"),a(19,"a",11),h("click",function(){m(e);let o=p();return f(o.openSettings())}),a(20,"mat-icon"),u(21,"settings"),s(),a(22,"span"),u(23,"Settings"),s()(),g(24,cu,6,0)}if(i&2){let e=p(),n=mi(43);v(e.app.config.vessels.trail&&e.app.selfTrail().length!==0?0:-1),c(),v(e.course.courseData().position?1:-1),c(3),z(e.app.config.ui.showCourseData?"visibility_off":"compare_arrows"),c(2),ge("",e.app.config.ui.showCourseData?"Hide":"Show"," Course Data"),c(3),z(e.app.config.ui.showAisTargets?"visibility_off":"directions_boat"),c(2),ge("",e.app.config.ui.showAisTargets?"Hide":"Show"," Vessels"),c(3),z(e.app.config.ui.showNotes?"visibility_off":"local_offer"),c(2),ge("",e.app.config.ui.showNotes?"Hide":"Show"," Notes"),c(),v(e.app.featureFlags().weatherApi&&e.app.data.vessels.showSelf?17:-1),c(7),v(e.overflowHas(n,"whatsNew")?-1:24)}}function uu(i,t){if(i&1&&(a(0,"mat-icon",46),u(1),s()),i&2){let e=t.$implicit;nt((e.iconClass??"")+(e.active?" icon-primary":"")),w("svgIcon",e.svgIcon),c(),z(e.svgIcon?"":e.icon)}}function mu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.skres.newWaypointAt(o.app.data.vessels.active.position))}),a(1,"mat-icon",13),u(2,"add_location"),s(),a(3,"span"),u(4,"Add Waypoint at Vessel"),s()()}}function fu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.drawFeature("note"))}),a(1,"mat-icon"),u(2,"local_offer"),s(),a(3,"span"),u(4,"Add Note"),s()()}}function hu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.showLogin(null,!1))}),a(1,"mat-icon",47),u(2," account_circle "),s(),a(3,"span"),u(4),s()(),T(5,"mat-divider")}if(i&2){let e=p();c(),w("matBadgeHidden",e.app.isLoggedIn()),c(3),z(e.app.isLoggedIn()?"Change User":"Login")}}function _u(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.displayLeftMenu("anchorWatch",!0))}),a(1,"mat-icon"),u(2,"anchor"),s(),a(3,"span"),u(4,"Anchor Watch"),s()()}}function gu(i,t){i&1&&(a(0,"mat-icon",22),u(1,"check_box"),s())}function vu(i,t){i&1&&T(0,"mat-icon",48)}function Cu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.toggleRadarOverlay())}),g(1,gu,2,0,"mat-icon",22)(2,vu,1,0,"mat-icon",48),a(3,"span"),u(4,"Radar Overlay"),s()()}if(i&2){let e=p();c(),v(e.app.uiCtrl().radarLayer?1:2)}}function wu(i,t){if(i&1){let e=E();a(0,"a",11),h("click",function(){m(e);let o=p();return f(o.showPlaybackSettings())}),a(1,"mat-icon"),u(2,"history"),s(),a(3,"span"),u(4,"Playback History"),s()()}}function bu(i,t){if(i&1){let e=E();a(0,"radar-panel",54),h("connect",function(){m(e);let o=p(2);return f(o.connectRadar())})("disconnect",function(){m(e);let o=p(2);return f(o.disconnectRadar())}),s()}}function xu(i,t){if(i&1){let e=E();a(0,"note-panel",55),h("edit",function(o){m(e);let r=p(2);return f(r.skres.showNoteEditor({id:o}))})("move",function(o){m(e);let r=p(2);return f(r.onNoteMove(o))})("panTo",function(o){m(e);let r=p(2);return f(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=p(2);w("note",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("interacting",e.isInteracting())}}function yu(i,t){if(i&1){let e=E();a(0,"region-panel",56),h("edit",function(o){m(e);let r=p(2);return f(r.skres.editRegionInfo(o))})("panTo",function(o){m(e);let r=p(2);return f(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=p(2);w("region",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Eu(i,t){if(i&1){let e=E();a(0,"waypoint-panel",57),h("edit",function(o){m(e);let r=p(2);return f(r.skres.editWaypointInfo(o))})("panTo",function(o){m(e);let r=p(2);return f(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=p(2);w("waypoint",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Tu(i,t){if(i&1){let e=E();a(0,"route-panel",58),h("edit",function(o){m(e);let r=p(2);return f(r.onRouteInfoEdit(o))})("activate",function(o){m(e);let r=p(2);return f(r.activateRoute(o))})("panTo",function(o){m(e);let r=p(2);return f(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=p(2);w("route",e.infoPanel.item().resource)("id",e.infoPanel.item().id)("related",e.infoPanel.related())("interacting",e.isInteracting())}}function Mu(i,t){if(i&1){let e=E();a(0,"info-panel",49),h("closed",function(){m(e);let o=p();return f(o.closeDrawer())}),g(1,bu,1,0,"radar-panel"),g(2,xu,1,3,"note-panel",50),g(3,yu,1,4,"region-panel",51),g(4,Eu,1,4,"waypoint-panel",52),g(5,Tu,1,4,"route-panel",53),s()}if(i&2){let e,n,o,r,l,d=p();c(),v(((e=d.infoPanel.item())==null?null:e.type)==="radars"?1:-1),c(),v(((n=d.infoPanel.item())==null?null:n.type)==="notes"?2:-1),c(),v(((o=d.infoPanel.item())==null?null:o.type)==="regions"?3:-1),c(),v(((r=d.infoPanel.item())==null?null:r.type)==="waypoints"?4:-1),c(),v(((l=d.infoPanel.item())==null?null:l.type)==="routes"?5:-1)}}function Su(i,t){if(i&1){let e=E();a(0,"a",66),h("click",function(){m(e);let o=p(2);return f(o.closeInstrumentPanel())}),a(1,"mat-icon"),u(2,"open_in_new"),s()()}if(i&2){let e=p(2);w("href",e.instUrl(),ni)}}function Pu(i,t){if(i&1&&T(0,"iframe",65),i&2){let e=p(2);w("src",e.instUrl(),re)}}function Au(i,t){if(i&1){let e=E();a(0,"div",26)(1,"mat-nav-list")(2,"a",59)(3,"a",60),h("click",function(){m(e);let o=p();return f(o.closeInstrumentPanel())}),a(4,"mat-icon"),u(5,"arrow_forward"),s()(),u(6," \xA0\xA0\xA0\xA0 "),g(7,Su,3,1,"a",61),a(8,"a",62),h("click",function(){m(e);let o=p();return f(o.selectPlugin())}),a(9,"mat-icon"),u(10,"arrow_back_ios"),s()(),a(11,"a",63),h("click",function(){m(e);let o=p();return f(o.selectPlugin(!0))}),a(12,"mat-icon"),u(13,"arrow_forward_ios"),s()()(),T(14,"mat-divider"),s(),a(15,"div",64),g(16,Pu,1,1,"iframe",65),s()()}if(i&2){let e=p();c(7),v(e.app.config.display.plugins.instruments?7:-1),c(),w("disabled",e.app.config.display.plugins.favourites.length===0),c(3),w("disabled",e.app.config.display.plugins.favourites.length===0),c(5),v(e.app.instrumentPanel().activate?16:-1)}}function ku(i,t){i&1&&(a(0,"div",28),T(1,"mat-progress-bar",67),s())}function Iu(i,t){if(i&1){let e=E();a(0,"autopilot-console",68),h("close",function(){m(e);let o=p();return f(o.toggleAutopilotConsole(!1))}),s()}if(i&2){let e=p();w("apData",e.app.data.vessels.self.autopilot)}}function Ru(i,t){if(i&1){let e=E();a(0,"route-builder",69),h("save",function(o){m(e);let r=p();return f(r.skres.newRouteAt(o.coordinates,o.meta))})("close",function(){m(e);let o=p();return f(o.toggleRouteBuilderConsole(!1))}),s()}}function Ou(i,t){if(i&1&&T(0,"fb-map-toolbar",73,8),i&2){let e=p(2);w("items",e.leftToolbarItems())}}function Du(i,t){if(i&1){let e=E();a(0,"route-list",80),h("activate",function(o){m(e);let r=p(4);return f(r.activateRoute(o.id))})("deactivate",function(){m(e);let o=p(4);return f(o.clearDestination())})("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("routes",o.id))})("points",function(o){m(e);let r=p(4);return f(r.featureProperties({id:o.id,type:"route"}))})("notes",function(o){m(e);let r=p(4);return f(r.skres.showRelatedNotes(o.id,"route",o.readOnly))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}if(i&2){let e=p(4);w("activeRoute",e.app.data.activeRoute)("editingRouteId",e.app.data.editingId)}}function Lu(i,t){i&1&&(ae(0,Du,1,2),se(1,0,Nd),le())}function Vu(i,t){if(i&1){let e=E();a(0,"waypoint-list",81),h("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("waypoints",o.id))})("goto",function(o){m(e);let r=p(4);return f(r.course.navigateToWaypoint(o.id))})("deactivate",function(){m(e);let o=p(4);return f(o.clearDestination())})("center",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o))})("notes",function(o){m(e);let r=p(4);return f(r.skres.showRelatedNotes(o.id,"waypoint",o.readOnly))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}if(i&2){let e=p(4);w("activeWaypoint",e.app.data.activeWaypoint)("editingWaypointId",e.app.data.editingId)}}function Nu(i,t){i&1&&(ae(0,Vu,1,2),se(1,0,Fd),le())}function Fu(i,t){if(i&1){let e=E();a(0,"chart-list",82),h("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}if(i&2){let e=p(4);w("selectedCharts",e.app.config.selections.charts)}}function $u(i,t){i&1&&(ae(0,Fu,1,1),se(1,0,$d),le())}function Bu(i,t){if(i&1){let e=E();a(0,"note-list",83),h("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("notes",o.id))})("pan",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}if(i&2){let e=p(4);w("notes",e.skres.notes())}}function zu(i,t){i&1&&(ae(0,Bu,1,1),se(1,0,Bd),le())}function Uu(i,t){if(i&1){let e=E();a(0,"region-list",84),h("select",function(o){m(e);let r=p(4);return f(r.handleResourceInfo("regions",o.id))})("pan",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o.center,o.zoomLevel))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}if(i&2){let e=p(4);w("regions",e.skres.regions())}}function qu(i,t){i&1&&(ae(0,Uu,1,1),se(1,0,zd),le())}function Hu(i,t){if(i&1){let e=E();a(0,"track-list",85),h("center",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}}function Wu(i,t){i&1&&(ae(0,Hu,1,0),se(1,0,Ud),le())}function Gu(i,t){if(i&1){let e=E();a(0,"ais-list",86),h("properties",function(o){m(e);let r=p(4);return f(r.featureProperties({id:o,type:"ais"}))})("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())})("focusVessel",function(o){m(e);let r=p(4);return f(r.switchActiveVessel(o))})("pan",function(o){m(e);let r=p(4);return f(r.centerAndZoom(o.center,o.zoomLevel))}),s()}if(i&2){let e=p(4);w("focusId",e.app.data.vessels.activeId)}}function ju(i,t){i&1&&(ae(0,Gu,1,1),se(1,0,qd),le())}function Ku(i,t){if(i&1){let e=E();a(0,"group-list",49),h("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}}function Xu(i,t){i&1&&(ae(0,Ku,1,0),se(1,0,Hd),le())}function Zu(i,t){if(i&1){let e=E();a(0,"anchor-watch",87),h("closed",function(){m(e);let o=p(3);return f(o.displayLeftMenu())}),s()}if(i&2){let e=p(3);w("showSelf",e.app.data.vessels.showSelf)("radius",e.anchor.radius())("raised",e.anchor.raised())}}function Qu(i,t){if(i&1){let e=E();a(0,"weather-list",49),h("closed",function(){m(e);let o=p(4);return f(o.displayLeftMenu())}),s()}}function Yu(i,t){i&1&&(ae(0,Qu,1,0),se(1,0,Wd),le())}function Ju(i,t){if(i&1&&(a(0,"div",74),g(1,Lu,3,0),g(2,Nu,3,0),g(3,$u,3,0),g(4,zu,3,0),g(5,qu,3,0),g(6,Wu,3,0),g(7,ju,3,0),g(8,Xu,3,0),g(9,Zu,1,3,"anchor-watch",79),g(10,Yu,3,0),s()),i&2){let e=p(2);c(),v(e.leftMenuCtrl().routeList?1:-1),c(),v(e.leftMenuCtrl().waypointList?2:-1),c(),v(e.leftMenuCtrl().chartList?3:-1),c(),v(e.leftMenuCtrl().noteList?4:-1),c(),v(e.leftMenuCtrl().regionList?5:-1),c(),v(e.leftMenuCtrl().trackList?6:-1),c(),v(e.leftMenuCtrl().aisList?7:-1),c(),v(e.leftMenuCtrl().resourceGroups?8:-1),c(),v(e.leftMenuCtrl().anchorWatch?9:-1),c(),v(e.leftMenuCtrl().weatherList?10:-1)}}function em(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",88),u(2,"visibility_off "),s()())}function tm(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",89),u(2,"compare_arrows "),s()())}function nm(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",90),u(2,"directions_boat "),s()())}function im(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",91),u(2,"local_offer "),s()())}function om(i,t){i&1&&(a(0,"div",76)(1,"mat-icon",92),u(2,"signal_wifi_statusbar_connected_no_internet_4 "),s()())}function rm(i,t){if(i&1){let e=E();a(0,"pip-video",95),h("click",function(){m(e);let o=p(3);return f(o.focusMap())}),s()}if(i&2){let e=p(3);w("src",e.vidUrl())("muted",!0)}}function am(i,t){if(i&1&&(T(0,"fb-map-toolbar",93),g(1,rm,1,2,"pip-video",94)),i&2){let e=p(2);j("top",60+e.plotterExt.toolbarTopOffset(),"px")("bottom",e.rightToolbarBottom(),"px"),w("items",e.rightToolbarItems()),c(),v(e.app.config.resources.video.enable&&e.app.config.resources.video.url?1:-1)}}function sm(i,t){if(i&1){let e=E();a(0,"div",70)(1,"div",71)(2,"button",72)(3,"mat-icon"),u(4,"menu"),s()()()(),g(5,Ou,2,1,"fb-map-toolbar",73),g(6,Ju,11,10,"div",74),a(7,"div",75),g(8,em,3,0,"div",76),g(9,tm,3,0,"div",76),g(10,nm,3,0,"div",76),g(11,im,3,0,"div",76),g(12,om,3,0,"div",76),s(),a(13,"div",77)(14,"div",71)(15,"button",78),h("click",function(){m(e);let o=p();return f(o.toggleToolbarButtons())}),a(16,"mat-icon"),u(17),s()()()(),g(18,am,2,6)}if(i&2){let e=p(),n=Pe(86);c(2),w("disabled",e.isInteracting())("matBadgeHidden",e.app.isLoggedIn())("matMenuTriggerFor",n),c(3),v(e.app.uiConfig().toolbarButtons?5:-1),c(),v(e.leftMenuCtrl().leftMenuPanel?6:-1),c(),j("top",20+e.plotterExt.toolbarTopOffset(),"px"),c(),v(!e.wakeLock.enabled()&&e.wakeLock.isAvailable?8:-1),c(),v(e.app.uiConfig().showCourseData?-1:9),c(),v(e.app.uiConfig().showAisTargets?-1:10),c(),v(e.app.uiConfig().showNotes?-1:11),c(),v(e.stream.watchDogAlarm()?12:-1),c(),j("top",e.plotterExt.toolbarTopOffset(),"px"),c(2),w("matTooltip",e.app.uiConfig().toolbarButtons?"Hide Toolbars":"Show Toolbars"),c(2),z(e.app.uiConfig().toolbarButtons?"apps":"apps_outage"),c(),v(e.app.uiConfig().toolbarButtons?18:-1)}}function lm(i,t){if(i&1&&T(0,"fb-split-map",33),i&2){let e=p();w("scaleUnits",e.app.config.units.distance)}}function pm(i,t){if(i&1&&(a(0,"div",37)(1,"div",96)(2,"mat-icon"),u(3,"access_time"),s(),a(4,"b"),u(5,"Playback:"),s()(),a(6,"div",97),u(7),s()()),i&2){let e=p();c(7),z(e.playbackTime())}}function cm(i,t){if(i&1){let e=E();a(0,"alert-list",101),h("closed",function(){m(e);let o=p(2);return f(o.toggleAlertList(!1))}),s()}if(i&2){let e=p(2);w("alerts",e.notiMgr.alerts())}}function dm(i,t){if(i&1){let e=E();a(0,"span",100)(1,"fb-alert",102),h("nextPoint",function(){m(e);let o=p(2);return f(o.course.coursePointIndex(o.course.courseData().pointIndex+1))})("routeEnd",function(){m(e);let o=p(2);return f(o.clearDestination())}),s()()}if(i&2){let e=t.$implicit,n=p(2);c(),w("audioStatus",n.audioStatus())("alert",e[1])("acknowledged",e[1].acknowledged)("silenced",e[1].silenced)("doNotPlaySound",n.app.config.display.muteSound)}}function um(i,t){if(i&1&&(g(0,cm,1,1,"alert-list",98),a(1,"div",99),q(2,dm,2,5,"span",100,Xd),s()),i&2){let e=p();v(e.app.uiCtrl().alertList?0:-1),c(2),H(e.notiMgr.alerts())}}function mm(i,t){if(i&1){let e=E();a(0,"fb-interact-help",103),h("finish",function(){m(e);let o=p();return f(o.handleInteractionFinish())})("cancel",function(){m(e);let o=p();return f(o.closeInteraction())})("undo",function(){m(e);let o=p();return f(o.handleInteractionUndo())}),s()}}function fm(i,t){if(i&1){let e=E();a(0,"route-nextpoint",106),h("selected",function(o){m(e);let r=p(2);return f(r.routeNextPoint(o))}),s()}if(i&2){let e=p(2);w("index",e.course.courseData().pointIndex)("total",e.course.courseData().pointTotal)("circular",e.app.data.activeRouteCircular)}}function hm(i,t){if(i&1&&T(0,"ap-dial-text",116),i&2){let e=p(3);w("title","VMG")("value",e.app.formatSpeed(e.course.courseData().vmg,!0))("units",e.app.formattedSpeedUnits)}}function _m(i,t){if(i&1&&T(0,"ap-dial-text",116),i&2){let e=p(3);w("title","BRG")("value",e.course.courseData().bearing.value.toFixed(1))("units",e.course.courseData().bearing.type==="M"?"deg (M)":"deg (T)")}}function gm(i,t){if(i&1&&T(0,"ap-dial-text",116),i&2){let e=p(3);w("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 vm(i,t){if(i&1&&T(0,"ap-dial-text",119),i&2){let e=p(4);w("title","DTG")("value",e.course.courseData().route.dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function Cm(i,t){if(i&1&&T(0,"ap-dial-ttg",120),i&2){let e=p(4);w("value",e.course.courseData().route.ttg)}}function wm(i,t){if(i&1&&T(0,"ap-dial-eta",121),i&2){let e=p(4);w("title","ETA")("value",e.course.courseData().route.eta)}}function bm(i,t){if(i&1&&(g(0,vm,1,3,"ap-dial-text",119),g(1,Cm,1,1,"ap-dial-ttg",120),g(2,wm,1,2,"ap-dial-eta",121)),i&2){let e=p(3);v(e.course.courseData().route.dtg?0:-1),c(),v(e.course.courseData().route.ttg?1:-1),c(),v(e.course.courseData().route.eta?2:-1)}}function xm(i,t){if(i&1&&T(0,"ap-dial-text",116),i&2){let e=p(3);w("title","DTG")("value",e.course.courseData().dtg.toFixed(1))("units",e.convert.getSymbol(e.app.config.units.distance))}}function ym(i,t){if(i&1&&T(0,"ap-dial-ttg",117),i&2){let e=p(3);w("value",e.course.courseData().ttg)}}function Em(i,t){if(i&1&&T(0,"ap-dial-eta",118),i&2){let e=p(3);w("title","ETA")("value",e.course.courseData().eta)}}function Tm(i,t){if(i&1){let e=E();a(0,"div",105)(1,"div",107)(2,"div",108)(3,"button",109),h("click",function(){m(e);let o=p(2);return f(o.openCourseSettings())}),T(4,"mat-icon",110),s(),T(5,"br"),a(6,"button",111),h("click",function(){m(e);let o=p(2);return f(o.autopilot.engage())}),T(7,"mat-icon",112),s()(),a(8,"div")(9,"button",113),h("click",function(){m(e);let o=p(2);return f(o.course.courseRestart())}),a(10,"mat-icon"),u(11,"replay"),s()(),T(12,"br"),a(13,"button",114),h("click",function(){m(e);let o=p(2);return f(o.course.courseReverse())}),a(14,"mat-icon",115),u(15," multiple_stop "),s()()()(),g(16,hm,1,3,"ap-dial-text",116),g(17,_m,1,3,"ap-dial-text",116),g(18,gm,1,3,"ap-dial-text",116),g(19,bm,3,3),g(20,xm,1,3,"ap-dial-text",116),g(21,ym,1,1,"ap-dial-ttg",117),g(22,Em,1,2,"ap-dial-eta",118),s()}if(i&2){let e=p(2);c(6),w("disabled",!e.app.featureFlags().autopilotApi||!e.app.data.vessels.self.autopilot.default),c(),w("color",e.navDataPanel().apModeColor),c(6),w("disabled",!e.app.data.activeRoute),c(),w("color",e.app.data.activeRouteReversed?"primary":"none"),c(2),v(e.course.courseData().vmg?16:-1),c(),v(e.course.courseData().bearing.value?17:-1),c(),v(e.course.courseData().xte?18:-1),c(),v(e.app.data.activeRoute?19:-1),c(),v(e.course.courseData().dtg?20:-1),c(),v(e.course.courseData().ttg?21:-1),c(),v(e.course.courseData().eta?22:-1)}}function Mm(i,t){if(i&1&&(a(0,"div",38),g(1,fm,1,3,"route-nextpoint",104),g(2,Tm,23,11,"div",105),s()),i&2){let e=p();c(),v(e.navDataPanel().nextPointCtrl?1:-1),c(),v(e.app.config.ui.showCourseData&&e.navDataPanel().show?2:-1)}}function Sm(i,t){if(i&1){let e=E();a(0,"mfb-container",122),h("radarClick",function(){m(e);let o=p();return f(o.toggleRadarPanel())}),s()}if(i&2){let e=p();w("action",e.app.config.display.fab)}}var Ms="fb-track-api-notice-dismissed",qt=class i{sideright;fbMap;layersMenu;editMenu;settingsMenu;experiments;pipVideo=en(pt);leftToolbar=en("leftToolbar");navDataPanel=L({show:!1,nextPointCtrl:!1,apModeColor:"",apModeText:""});playbackTime=L(null);leftMenuCtrl=L({leftMenuPanel:!1,routeList:!1,waypointList:!1,chartList:!1,noteList:!1,regionList:!1,trackList:!1,aisList:!1,resourceGroups:!1,anchorWatch:!1,weatherList:!1});displayFullscreen=L({active:!1,enabled:document.fullscreenEnabled});features={playbackAPI:!0};mode=0;timers=[];trackApiNoticeShown=!1;instUrl=L(null);selFavourite=-1;vidUrl=L(null);convert=on;toolbarMenuLabel=uo;obsList=[];streamOptions={options:null,toMode:null};mapSetFocus=L("");mapCenter=L([0,0]);audioStatus=L("");isInteracting=D(()=>this.mapInteract.isMeasuring()||this.mapInteract.isDrawing()||this.mapInteract.isModifying()||this.mapInteract.isBoxSelecting());app=_(vt);splitView=_(gt);viewNorthUp=D(()=>this.splitView.secondaryActive()?this.splitView.northUp():this.app.uiConfig().mapNorthUp);infoPanel=_(Vo);mapInteract=_(lt);anchor=_(Zo);notiMgr=_(jo);course=_(Co);stream=_(ct);skres=_(_o);gpxExport=_(vr);skresOther=_(go);signalk=_(Wi);dom=_(pe);overlayContainer=_(at);bottomSheet=_(qi);dialog=_(Li);wakeLock=_(Ni);settings=_(_r);autopilot=_(Yo);radarApi=_(eo);symbols=_(Gi);routeBuffers=_(io);plotterExt=_(K);temporaryRoutes=_(No);whatsNew=_(Dt);narrowScreen=yi(_(Ei).observe("(max-width: 800px)").pipe($e(t=>t.matches)),{initialValue:!1});rightToolbarBottom=D(()=>{let t=this.plotterExt.actionButtonLift();return(t>0?t:23)+57});constructor(){this.app.data.vessels.active=this.app.data.vessels.self,B(()=>{this.app.debug("** skAuthChange Event:",this.app.skAuthChange()),this.handleSKAuthChange()}),B(()=>{this.app.debug("** kioskMode Event:",this.app.kioskMode()),this.toggleSuppressContextMenu(this.app.kioskMode())}),B(()=>{this.handleSelectionEnded(this.mapInteract.selection())}),B(()=>{this.app.uiConfig(),this.handleSettingChangeEvent(void 0)}),B(()=>{this.infoPanel.opened()||this.app.instrumentPanel().activate?this.sideright?.opened||this.openDrawer():this.sideright?.opened&&this.closeDrawer()}),B(()=>{let t=this.app.mapMoveRequest();t&&ve(()=>this.applyMapMove(t))})}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}))}toggleRadarOverlay(){this.app.uiCtrl().radarLayer?this.disconnectRadar():this.showRadarPanel()}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()}toggleFollow(){if(this.splitView.secondaryActive()){this.splitView.setFollow(!this.splitView.follow()),this.focusMap();return}this.toggleMoveMap()}toggleNorthUp(){if(this.splitView.secondaryActive()){this.splitView.setNorthUp(!this.splitView.northUp()),this.focusMap();return}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()}leftToolbarItems(){let t=this.isInteracting(),e=this.viewNorthUp(),n=this.app.activePaneFollows(),o=[{id:"alarms",svgIcon:"alert-list",iconClass:"ob",tooltip:"Alarms",buttonClass:"button-warn",badge:this.notiMgr.alerts().length,action:()=>this.toggleAlertList(!0)},{id:"layers",icon:"layers",tooltip:"Routes, Waypoints, Notes, etc.",buttonClass:"button-accent",disabled:t,menu:this.layersMenu},{id:"draw",icon:"edit",tooltip:"Draw / Measure / Select",disabled:t,menu:this.editMenu},{id:"northUp",svgIcon:e?"heading-n-up":"heading-h-up",iconClass:"ob",tooltip:e?"Show Heading Up":"Show North Up",active:!e,action:()=>this.toggleNorthUp()},{id:"follow",svgIcon:"cent-iec",iconClass:"ob",tooltip:n?"Turn off Follow Vessel":"Center & Follow Vessel",active:n,disabled:!this.app.data.vessels.showSelf,action:()=>this.toggleFollow()},{id:"more",icon:"more_horiz",tooltip:"More actions",disabled:t,menu:this.settingsMenu,overflowAnchor:!0}];return this.mode===1&&o.push({id:"exitPlayback",icon:"cancel",tooltip:"Exit playback mode",buttonClass:"button-warn",active:!0,action:()=>this.showSelectMode()}),this.whatsNew.hasUnseen()&&o.push({id:"whatsNew",icon:"tips_and_updates",tooltip:"What's New",buttonClass:"button-accent",active:!0,action:()=>this.openFeatureBrowser()}),o}overflowHas(t,e){return t.some(n=>n.id===e)}rightToolbarItems(){let t=[],e=this.app.uiConfig();if(this.app.instrumentPanelAvailable()&&this.app.config.display.plugins.instruments&&!this.narrowScreen()&&t.push({id:"instruments",icon:"av_timer",tooltip:"Instruments",disabled:this.app.instrumentPanel().open||this.infoPanel.opened()||this.isInteracting()||!!this.app.data.vessels.activeId,action:()=>this.openInstrumentPanel()}),this.audioStatus()!=="running"&&t.push({id:"audio",icon:"volume_off",iconClass:"icon-warn",tooltip:"Web Audio off! Click to enable.",buttonClass:"button-toolbar",active:!0,action:()=>this.enableAudio()}),this.app.isTopWindow()&&this.displayFullscreen().enabled){let n=this.displayFullscreen().active;t.push({id:"fullscreen",icon:n?"fullscreen_exit":"fullscreen",tooltip:n?"Exit Fullscreen":"Go Fullscreen",active:n,action:()=>this.toggleFullscreen()})}if(t.push({id:"constrainZoom",icon:"zoom_in_map",tooltip:"Constrain map zoom",active:e.mapConstrainZoom,action:()=>this.toggleConstrainMapZoom()},{id:"invertColor",icon:"invert_colors",tooltip:"Invert feature text color",active:e.invertColor,action:()=>this.invertFeatureLabelColor()}),this.app.config.display.splitView){let n=this.splitView.enabled();t.push({id:"splitView",icon:"vertical_split",tooltip:n?"Close split view":"Split view: a second chart",active:n,action:()=>this.splitView.toggle()})}this.app.config.experiments&&t.push({id:"experiments",icon:"science",tooltip:"Experiments",menu:this.experiments.menu}),this.app.config.resources.video.enable&&this.app.config.resources.video.url&&t.push({id:"pip",icon:"videocam",tooltip:"Show Video",disabled:!this.pipVideo()?.canStart(),action:()=>this.pipVideo()?.initPiP()}),this.app.featureFlags().autopilotApi&&this.app.data.vessels.self.autopilot.default&&this.app.config.display.fab!=="autopilot"&&t.push({id:"autopilot",svgIcon:"command-autopilot",iconClass:"ob",tooltip:"Autopilot",active:this.app.data.vessels.self.autopilot.enabled,action:()=>this.toggleAutopilotConsole(!this.app.uiCtrl().autopilotConsole)}),this.app.featureFlags().radarApi&&this.radarApi.radarId()&&this.app.config.display.fab!=="radar"&&t.push({id:"radar",svgIcon:"radar-iec",iconClass:"ob",tooltip:"Radar",active:this.app.uiCtrl().radarLayer,disabled:this.app.instrumentPanel().open,action:()=>this.toggleRadarPanel()});for(let n of this.plotterExt.toolbarButtons())t.push({id:`ext:${n.extension}/${n.button.id}`,icon:n.button.icon||"extension",tooltip:n.button.title||n.extensionName,action:()=>this.plotterExt.handleButtonAction(n.extension,n.button)});return t}splitActive(){return!!this.app.config.display.splitView&&!this.app.kioskMode()&&this.splitView.enabled()}mainShare=D(()=>`var(${Ve}, ${this.splitView.shownRatio()*100}%)`);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.
|
|
350
|
+
|
|
351
|
+
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 $(this,null,function*(){let{Trail2RouteDialog:t}=yield import("./chunk-XHD652B2.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(gr,{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!
|
|
352
|
+
e.g. https, http://localhost, http://127.0.0.1`):this.app.config.resources.paths.includes(t.choice)&&this.bottomSheet.open(Ho,{disableClose:!0,data:{path:t.choice}}).afterDismissed().subscribe(()=>{this.focusMap()})}openCourseSettings(){this.bottomSheet.open(vo,{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 $(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,anchorAlarm:!1,hoekensAnchorAlarm:!1};n.plugins.forEach(r=>{r.id==="anchoralarm"&&(this.app.debug("*** found anchoralarm plugin"),t.anchorApi=!0,o.anchorAlarm=!0),r.id==="hoekens-anchor-alarm"&&Kn.satisfies(r.version,">=2.12.0")&&(this.app.debug("*** found hoekens-anchor-alarm plugin"),t.anchorApi=!0,o.hoekensAnchorAlarm=!0),r.id==="signalk-buddylist-plugin"&&(this.app.debug("*** found buddylist plugin"),t.buddyList=!!Kn.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.anchor.setPlugin(o.hoekensAnchorAlarm&&!o.anchorAlarm?"hoekens-anchor-alarm":"anchoralarm"),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):[],l=this.app.selfTrailTimed()?.times,d=l?.[l.length-1]?.slice(-1)[0];r[0]&&d&&this.app.stampTrailPoint(r[0],d),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(Ms))return}catch(e){}this.trackApiNoticeShown=!0,this.app.showAlert("Vessel Tracks",Fi(t),"OK","Don't show this message again").subscribe(e=>{if(e?.checked)try{localStorage.setItem(Ms,"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(){let t=this.splitView.secondaryActive()?this.splitView.secondaryMap():null;if(t){t.getTargetElement()?.focus();return}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 $(this,null,function*(){let{AboutDialog:t}=yield import("./chunk-XIEUBZE5.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 $(this,null,function*(){let{SettingsDialog:t}=yield import("./chunk-D7NY4CGQ.js");this.dialog.open(t,{disableClose:!0,data:{},width:"1000px",maxWidth:"96vw",height:"80vh"}).afterClosed().subscribe(()=>{this.focusMap()})})}openFeatureBrowser(){return $(this,null,function*(){this.whatsNew.markAllSeen();let{FeatureBrowserDialog:t}=yield import("./chunk-RABBT5ST.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 $(this,null,function*(){let{GPXImportDialog:e}=yield import("./chunk-W2UT4HJG.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 $(this,null,function*(){yield this.gpxExport.exportResources(),this.focusMap()})}processGeoJSON(t){return $(this,null,function*(){let{GeoJSONImportDialog:e}=yield import("./chunk-YP3ILUPZ.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!
|
|
353
|
+
Not all features were loaded.`),this.focusMap())})})}importResourceSet(){return $(this,null,function*(){let{ResourceImportDialog:t}=yield import("./chunk-SU5TGPFJ.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!
|
|
354
|
+
Invalid JSON.`)}this.focusMap()}})})}showLogin(t,e=!0,n){return $(this,null,function*(){let{LoginDialog:o}=yield import("./chunk-XIEUBZE5.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(l=>{this.app.isLoggedIn.set(l)}),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:l=>{this.app.setAuthToken(l.token),this.app.loadUserConfigfromServer().then(d=>{d&&(this.loadSymbolsThenFetchResources(),this.plotterExt.init())}),n&&this.queryAfterConnect(),this.app.isLoggedIn.set(!0)},error:()=>{this.app.setAuthToken(null),this.signalk.isLoggedIn().subscribe(l=>{this.app.isLoggedIn.set(l)}),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.
|
|
355
|
+
Note: Choosing CLOSE may make operations requiring authentication unavailable.`,"Authentication Failed:","Try Again","Close").subscribe(l=>{l&&this.showLogin()})}}),this.focusMap()})})}showPlaybackSettings(){return $(this,null,function*(){let{PlaybackDialog:t}=yield import("./chunk-YXEZPMKV.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){if(this.splitView.secondaryActive()){this.splitView.centerOn(t,e);return}this.centerMainChart(t,typeof e=="number"&&e>this.app.config.map.zoomLevel?e:void 0)}applyMapMove(t){if(t.activePane&&this.splitView.secondaryActive()){this.splitView.centerOn(t.center,t.zoom);return}this.app.uiConfig.update(e=>e.mapMove?Te(he({},e),{mapMove:!1}):e),this.centerMainChart(t.center,t.zoom)}centerMainChart(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 $(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(d=>d.position):this.skres.fromCache("routes",t)?.[1].feature.geometry.coordinates;if(!o)try{o=(yield this.skres.fromServer("routes",t)).feature.geometry.coordinates}catch(d){this.app.parseHttpErrorResponse(d);return}let r=d=>n?this.temporaryRoutes.start(t,d):this.course.activateRoute(t,d),l=rn.closestForwardPoint(o,this.app.data.vessels.self.position,on.radiansToDegrees(this.app.data.vessels.self.heading));if(l===-1){this.app.showConfirm(`Closest point is behind vessel!
|
|
356
|
+
Do you want to start from the first point?`,"Start Route").subscribe(d=>{d&&r()});return}r(l)})}routeNextPoint(t){this.course.rejoinRouteAt(t),this.focusMap()}featureProperties(t){return $(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(wo,{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(Ao,{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(ko,{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(Wo,{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(Po,{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!
|
|
357
|
+
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.getForRoute(t);e&&(!e.saved||e.dirty)?this.saveRouteBuffer(e.routeId):this.skres.editRouteInfo(t)}saveRouteBuffer(t){return $(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:dn(t.coordinates,t.coordsMetadata)});break;case"region":{let e=new Xi;e.feature.geometry.coordinates=[rn.normaliseCoords(t.coordinates)],this.skres.newRegion(e);break}}}handleInteractionFinish(){this.mapInteract.isDrawing()?this.fbMap.finishDrawing():this.closeInteraction(!0)}handleInteractionUndo(){this.fbMap.undoInteraction()}onDocumentKeydown(t){!xr(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],dn(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 $(this,null,function*(){yield this.symbols.load(),Hi(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.
|
|
358
|
+
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=R({type:i,selectors:[["app-root"]],viewQuery:function(e,n){if(e&1&&(pi(n.pipVideo,pt,5)(n.leftToolbar,Id,5),J(Rd,5)(Od,5)(Dd,7)(Ld,7)(Vd,7)(wn,7)),e&2){ci(2);let o;V(o=N())&&(n.sideright=o.first),V(o=N())&&(n.fbMap=o.first),V(o=N())&&(n.layersMenu=o.first),V(o=N())&&(n.editMenu=o.first),V(o=N())&&(n.settingsMenu=o.first),V(o=N())&&(n.experiments=o.first)}},hostBindings:function(e,n){e&1&&h("visibilitychange",function(){return n.onVisibilityChange()},ze)("keydown",function(r){return n.onDocumentKeydown(r)},ze)},decls:151,vars:56,consts:[["layersmenu","matMenu"],["settingsmenu","matMenu"],["toolbarMenuIcon",""],["editmenu","matMenu"],["mainmenu","matMenu"],["sideright",""],["fbMap",""],["northArrow",""],["leftToolbar",""],[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"],[3,"selected"],["svgIcon","bearing-distance"],[1,"icon-route"],["svgIcon","route-planning",1,"icon-route"],[1,"icon-accent"],["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"],[1,"mapPanel",3,"dragover","drop"],["id","fb-main-chart",1,"mapMain"],[3,"drawEnded","activate","deactivate","exitMovingMap","resumeMovingMap","focusVessel","info","menuItemSelected","scaleUnits","setFocus","mapCenter","mapZoom","northUp","movingMap","vesselTrail","activeRoute","dblClickZoom","overZoomTiles","measureMode","drawMode"],[3,"scaleUnits"],[3,"inset"],[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"],["mat-menu-item","",3,"disabled","matMenuTriggerFor"],["mat-menu-item","",3,"disabled"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["mat-menu-item","",3,"click","disabled"],[3,"svgIcon"],["matBadge","!","matBadgeOverlap","true","matBadgeSize","medium","matBadgePosition","below after","aria-hidden","false",3,"matBadgeHidden"],["svgIcon","radar-iec",1,"ob"],[3,"closed"],[3,"note","id","interacting"],[3,"region","id","related","interacting"],[3,"waypoint","id","related","interacting"],[3,"route","id","related","interacting"],[3,"connect","disconnect"],[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"],["side","left",2,"top","60px","bottom","0",3,"items"],[1,"leftMenuPanel"],[1,"statusBar"],[1,"statusBarItem"],[1,"rightTop","buttonPanel"],["mat-mini-fab","","matTooltipPosition","before",1,"button-secondary",3,"click","matTooltip"],[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"],["side","right",3,"items"],[3,"src","muted"],[3,"click","src","muted"],[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){if(e&1&&(a(0,"div",9)(1,"div",10)(2,"mat-menu",null,0)(4,"button",11),h("click",function(){return n.displayLeftMenu("routeList",!0)}),T(5,"mat-icon",12),u(6," \xA0Routes "),s(),a(7,"button",11),h("click",function(){return n.displayLeftMenu("waypointList",!0)}),a(8,"mat-icon",13),u(9,"location_on"),s(),u(10," \xA0Waypoints "),s(),a(11,"button",11),h("click",function(){return n.displayLeftMenu("noteList",!0)}),a(12,"mat-icon"),u(13,"local_offer"),s(),u(14," \xA0Notes "),s(),a(15,"button",11),h("click",function(){return n.displayLeftMenu("regionList",!0)}),a(16,"mat-icon"),u(17,"tab_unselected"),s(),u(18," \xA0Regions "),s(),a(19,"button",11),h("click",function(){return n.displayLeftMenu("chartList",!0)}),a(20,"mat-icon"),u(21,"map"),s(),u(22," \xA0Charts "),s(),a(23,"button",11),h("click",function(){return n.displayLeftMenu("weatherList",!0)}),a(24,"mat-icon"),u(25,"cloud"),s(),u(26," \xA0Weather "),s(),g(27,Zd,4,0,"button",14),g(28,Qd,4,0,"button",14),T(29,"mat-divider"),a(30,"button",14)(31,"ap-file-input",15),h("chosen",function(r){return n.importFile(r)}),T(32,"mat-icon",16),u(33," Import "),s()(),a(34,"button",11),h("click",function(){return n.exportToGPX()}),T(35,"mat-icon",17),u(36," \xA0Export "),s(),T(37,"mat-divider"),g(38,Yd,4,0,"button",14),g(39,eu,3,0,"div"),s(),a(40,"fb-experiments",18),h("selected",function(r){return n.openExperiment(r)}),s(),a(41,"mat-menu",null,1),di(43),q(44,ru,2,1,null,null,Kd),g(46,au,1,0,"mat-divider"),g(47,du,25,10),s(),et(48,uu,2,4,"ng-template",null,2,hi),a(50,"mat-menu",null,3)(52,"a",11),h("click",function(){return n.mapInteract.startMeasuring("LineString")}),a(53,"mat-icon"),u(54,"straighten"),s(),a(55,"span"),u(56,"Measure"),s()(),a(57,"a",11),h("click",function(){return n.mapInteract.startMeasuring("BearingDistance")}),T(58,"mat-icon",19),a(59,"span"),u(60,"Bearing & Distance"),s()(),T(61,"mat-divider"),a(62,"a",11),h("click",function(){return n.drawFeature("route")}),a(63,"mat-icon",20),u(64,"draw"),s(),a(65,"span"),u(66,"Draw Route"),s()(),a(67,"a",11),h("click",function(){return n.toggleRouteBuilderConsole(!0)}),T(68,"mat-icon",21),a(69,"span"),u(70,"Build Route"),s()(),T(71,"mat-divider"),g(72,mu,5,0,"a",14),a(73,"a",11),h("click",function(){return n.drawFeature("waypoint")}),a(74,"mat-icon",13),u(75,"add_location_alt"),s(),a(76,"span"),u(77,"Drop Waypoint"),s()(),T(78,"mat-divider"),g(79,fu,5,0,"a",14),a(80,"a",11),h("click",function(){return n.drawFeature("region")}),a(81,"mat-icon"),u(82,"tab_unselected"),s(),a(83,"span"),u(84,"Draw Region"),s()()(),a(85,"mat-menu",null,4),g(87,hu,6,2),g(88,_u,5,0,"a",14),g(89,Cu,5,1,"a",14),a(90,"a",11),h("click",function(){return n.displayLeftMenu("aisList",!0)}),a(91,"mat-icon"),u(92,"directions_boat"),s(),a(93,"span"),u(94,"Vessels"),s()(),a(95,"a",11),h("click",function(){return n.importResourceSet()}),a(96,"mat-icon"),u(97,"upload"),s(),a(98,"span"),u(99,"Resource Sets"),s()(),g(100,wu,5,0,"a",14),T(101,"mat-divider"),a(102,"a",11),h("click",function(){return n.openSettings()}),a(103,"mat-icon"),u(104,"settings"),s(),a(105,"span"),u(106,"Settings"),s()(),T(107,"mat-divider"),a(108,"a",11),h("click",function(){return n.openAbout()}),a(109,"mat-icon",22),u(110,"info_outline"),s(),a(111,"span"),u(112,"About"),s()(),a(113,"a",11),h("click",function(){return n.openFeatureBrowser()}),a(114,"mat-icon",22),u(115,"tips_and_updates"),s(),a(116,"span"),u(117,"What's New"),s()(),a(118,"button",11),h("click",function(){return n.app.showHelp()}),a(119,"mat-icon",22),u(120,"help"),s(),a(121,"span"),u(122,"Help"),s()()(),a(123,"div",23)(124,"mat-sidenav-container",24)(125,"mat-sidenav",25,5),g(127,Mu,6,5,"info-panel")(128,Au,17,4,"div",26),s(),a(129,"mat-sidenav-content",27),g(130,ku,2,0,"div",28),g(131,Iu,1,1,"autopilot-console",29),g(132,Ru,1,0,"route-builder"),g(133,sm,19,17),a(134,"div",30),h("dragover",function(r){return n.mapDragOver(r)})("drop",function(r){return n.mapDrop(r)}),a(135,"div",31)(136,"fb-map",32,6),h("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()(),g(138,lm,1,1,"fb-split-map",33),s(),T(139,"fb-plotterext-overlay")(140,"fb-pe-window-layer",34),a(141,"div",35),T(142,"img",36,7),s(),g(144,pm,8,1,"div",37),g(145,um,4,1),g(146,mm,1,0,"fb-interact-help"),g(147,Mm,3,2,"div",38),g(148,Sm,1,1,"mfb-container",39),s()(),T(149,"fb-plotterext-panel-drawer")(150,"fb-plotterext-runtimes"),s()()()),e&2){let o;w("ngClass",fi(52,Gd,n.app.config.display.darkMode.enabled,n.stream.selfNightMode()||n.app.uiCtrl().forceNightMode)),c(27),v(n.app.featureFlags().resourceGroups?27:-1),c(),v(n.app.featureFlags().infoLayers?28:-1),c(3),w("astext",!0),c(7),v(n.app.featureFlags().resourceTracks?38:-1),c(),v(n.app.config.resources.paths.length!==0?39:-1),c(4);let r=ui(((o=n.leftToolbar())==null?null:o.overflow())??it(55,jd));c(),H(r),c(2),v(r.length!==0?46:-1),c(),v(n.isInteracting()?-1:47),c(25),v(n.app.data.vessels.showSelf?72:-1),c(7),v(n.app.config.map.zoomLevel>=n.app.config.resources.notes.minZoom?79:-1),c(8),v(!n.app.hostDef.params.token&&n.app.data.loginRequired?87:-1),c(),v(!n.isInteracting()&&n.app.featureFlags().anchorApi?88:-1),c(),v(!n.isInteracting()&&n.app.featureFlags().radarApi&&n.radarApi.radarId()&&!n.app.instrumentPanel().open&&n.app.data.vessels.showSelf?89:-1),c(11),v(n.features.playbackAPI?100:-1),c(25),j("width",n.app.instrumentPanel().open?"350px":"250px"),w("disableClose",!1),c(2),v(n.infoPanel.item&&!n.app.instrumentPanel().open?127:128),c(3),v(n.app.sIsFetching()?130:-1),c(),v(n.app.uiCtrl().autopilotConsole?131:-1),c(),v(n.app.uiCtrl().routeBuilder?132:-1),c(),v(!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?133:-1),c(),F("split",n.splitActive())("stacked",n.splitActive()&&n.splitView.stacked()),c(),j("flex-basis",n.splitActive()?n.mainShare():"100%"),F("active-pane",n.splitActive()&&!n.splitView.secondaryActive()),c(),w("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(2),v(n.splitActive()?138:-1),c(2),w("inset",!n.app.kioskMode()&&!n.app.uiCtrl().suppressContextMenu?54:0),c(2),j("transform",n.getOrientation()),c(2),v(n.mode===1?144:-1),c(),v(n.app.kioskMode()?-1:145),c(),v(n.isInteracting()?146:-1),c(),v(n.isInteracting()?-1:147),c(),v(!n.isInteracting()&&!n.app.kioskMode()?148:-1)}},dependencies:[_t,ft,mt,ht,br,En,wr,wt,fo,mo,Re,Vi,Ie,Ui,zi,Bi,$i,de,ce,De,Oe,Mo,To,Ci,gi,vi,Zi,Qi,Yi,Ji,pt,ho,oo,co,fr,wn,Qo,Xo,Ko,Jo,Bo,$o,er,xo,Eo,Uo,Fo,hr,Vt,Ft,$t,zt,Ut],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)}}"]})};wi(qt,{providers:[_i({eventCoalescing:!0,runCoalescing:!0}),bi(xi())]}).then(i=>{try{if(new URLSearchParams(window.location.search).has("perfprobe")){let t=i.injector.get(Z),e=window;e.__cd=0,t.onMicrotaskEmpty.subscribe(()=>{e.__cd++})}}catch(t){}}).catch(i=>console.error(i));
|