@mxtommy/kip 4.8.5 → 4.9.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 +78 -78
- package/public/assets/help-docs/kiosk.md +4 -2
- package/public/{chunk-ByFzHU1s.js → chunk-5jtM3b20.js} +1 -1
- package/public/{chunk-Co8V0LUu.js → chunk-B1H8b4W3.js} +1 -1
- package/public/{chunk-DufX2AHa.js → chunk-BJObkbow.js} +1 -1
- package/public/{chunk-CuPmfpgh.js → chunk-BLEfD_P7.js} +1 -1
- package/public/{chunk-Fy40z1B2.js → chunk-BO34LrGA.js} +1 -1
- package/public/{chunk-BZG04c3j.js → chunk-BSNfaGK3.js} +1 -1
- package/public/{chunk-DxS7HN4G.js → chunk-BbE36LU3.js} +1 -1
- package/public/{chunk-6MiGh2Ts.js → chunk-BoY2UDvb.js} +1 -1
- package/public/{chunk-BTv5PhTr.js → chunk-BrjwTjz7.js} +1 -1
- package/public/{chunk-Bp1YVCJL.js → chunk-BufDbUf3.js} +1 -1
- package/public/{chunk-DiDkZnhZ.js → chunk-C11zYqw7.js} +1 -1
- package/public/{chunk-BwYOFdBA.js → chunk-C8uxDv1M.js} +1 -1
- package/public/{chunk-7QXXQf2h.js → chunk-CDG3g9Eq.js} +1 -1
- package/public/{chunk-BAVmyVwG.js → chunk-CEtt0kr-.js} +1 -1
- package/public/{chunk-DN39qO63.js → chunk-CKnQ07BR.js} +1 -1
- package/public/{chunk-BaGEtCmz.js → chunk-COM48ir-.js} +1 -1
- package/public/{chunk-CQtqkz1Y.js → chunk-CSCVkGWE.js} +1 -1
- package/public/{chunk-MakCt36b.js → chunk-C_mCGLT_.js} +1 -1
- package/public/{chunk-CLIWxVhS.js → chunk-CnVELVOx.js} +1 -1
- package/public/{chunk-Cj0AJQ8U.js → chunk-Csxy6yVz.js} +1 -1
- package/public/{chunk-TdI_E-cf.js → chunk-CvG4thmf.js} +1 -1
- package/public/{chunk-Be5KcT7R.js → chunk-CxOyBrqL.js} +1 -1
- package/public/{chunk-Bbyk4dOu.js → chunk-CzY2nk08.js} +1 -1
- package/public/{chunk-Bx77STup.js → chunk-CzquTNBp.js} +1 -1
- package/public/{chunk-CteyWXZ_.js → chunk-D59G2Xua.js} +1 -1
- package/public/chunk-D8CQ-x45.js +1 -0
- package/public/{chunk-CJhkckXA.js → chunk-DA2JBQHi.js} +1 -1
- package/public/chunk-DCdZRAXa.js +1 -0
- package/public/{chunk-YZWhRxa9.js → chunk-DES7U9G6.js} +1 -1
- package/public/{chunk-CRy9Da7a.js → chunk-DHj2hm9r.js} +1 -1
- package/public/{chunk-CzEDfe2A.js → chunk-DJVnrrxC.js} +1 -1
- package/public/{chunk-C7ax8Sqz.js → chunk-DN6HP97P.js} +1 -1
- package/public/{chunk-ByC_hFSP.js → chunk-DTznNQod.js} +1 -1
- package/public/{chunk-DNbLx4NZ.js → chunk-DZQzZeIV.js} +1 -1
- package/public/{chunk-D63LEt5t.js → chunk-DakdT7bi.js} +1 -1
- package/public/{chunk-DonRL_4T.js → chunk-DizMY7FW.js} +1 -1
- package/public/{chunk-MO2v041V.js → chunk-DjPkdMGz.js} +1 -1
- package/public/{chunk-BOlUTHo6.js → chunk-DlLiKS0n.js} +1 -1
- package/public/{chunk-B4Wxwb2y.js → chunk-Dt2HCrSr.js} +1 -1
- package/public/{chunk-Dddd8rAh.js → chunk-Duhmjpm9.js} +1 -1
- package/public/{chunk-CkFpNfxN.js → chunk-DulH4zwM.js} +1 -1
- package/public/{chunk-Cn9j0-tJ.js → chunk-DwAXe6Wn.js} +1 -1
- package/public/{chunk-C89yhdsn.js → chunk-DxD20B-E.js} +1 -1
- package/public/{chunk-CwGTKplC.js → chunk-DzQ_fUpO.js} +1 -1
- package/public/{chunk-tbyiK3Ur.js → chunk-GyA81uXZ.js} +1 -1
- package/public/{chunk-0ijGpqkR.js → chunk-GzqVKhHm.js} +1 -1
- package/public/{chunk-CdNfAZ0G.js → chunk-MPbL1AwE.js} +1 -1
- package/public/{chunk-_toW-rHA.js → chunk-Qlya07CF.js} +1 -1
- package/public/{chunk-BzH86te1.js → chunk-VshNFG3q.js} +1 -1
- package/public/{chunk-D1Yncgg5.js → chunk-YBp9CH_2.js} +1 -1
- package/public/{chunk-DRPjASjZ.js → chunk-_S08GvV8.js} +1 -1
- package/public/{chunk-TneLdWrI.js → chunk-dvm9QV-B.js} +1 -1
- package/public/{chunk-urAQA4U_.js → chunk-ipFM9wbJ.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-F7NMHHV4.js → main-IINF7HD6.js} +473 -473
- package/public/chunk-CcaPRVAZ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import {v,R,S}from'./chunk-CQNVyz8q.js';import {d1 as Hj,w,du as p,dv as rt$1,D as Dt,v as vt,F as Fa,dn as ge,aI as ms,J as JD,c as $h,B as Bh,$ as $j,ao as ue,dz as es,cn as wd,ci as dl,cp as Uh,cj as fl,_ as _w,T as TT,bD as HT,e as EE,M as Mw,d as ig,an as Hh,aA as gg,dA as UT,f as eg,K as Kw}from'./main-F7NMHHV4.js';var nt=["rotatingDial"],it=["awaIndicator"],at=["twaIndicator"],ot=["wptIndicator"],rt=["setIndicator"],st=["cogIndicator"];function lt(m,b){m&1&&(wd(),dl(0,"g",69)(1,"text",100)(2,"tspan",101),TT(3,"330"),fl()(),dl(4,"text",102)(5,"tspan",103),TT(6,"300"),fl()(),dl(7,"text",104)(8,"tspan",105),TT(9,"W"),fl()(),dl(10,"text",106)(11,"tspan",107),TT(12,"240"),fl()(),dl(13,"text",108)(14,"tspan",109),TT(15,"210"),fl()(),dl(16,"text",110)(17,"tspan",111),TT(18,"S"),fl()(),dl(19,"text",112)(20,"tspan",113),TT(21,"150"),fl()(),dl(22,"text",114)(23,"tspan",115),TT(24,"120"),fl()(),dl(25,"text",116)(26,"tspan",117),TT(27,"E"),fl()(),dl(28,"text",118)(29,"tspan",119),TT(30,"60"),fl()(),dl(31,"text",120)(32,"tspan",121),TT(33,"30"),fl()(),dl(34,"text",122)(35,"tspan",123),TT(36,"N"),fl()()());}function dt(m,b){m&1&&(wd(),dl(0,"g",70)(1,"text",100)(2,"tspan",101),TT(3,"30"),fl()(),dl(4,"text",102)(5,"tspan",103),TT(6,"60"),fl()(),dl(7,"text",104)(8,"tspan",105),TT(9,"90"),fl()(),dl(10,"text",106)(11,"tspan",107),TT(12,"120"),fl()(),dl(13,"text",108)(14,"tspan",109),TT(15,"150"),fl()(),dl(16,"text",110)(17,"tspan",111),TT(18,"180"),fl()(),dl(19,"text",112)(20,"tspan",113),TT(21,"150"),fl()(),dl(22,"text",114)(23,"tspan",115),TT(24,"120"),fl()(),dl(25,"text",116)(26,"tspan",117),TT(27,"90"),fl()(),dl(28,"text",118)(29,"tspan",119),TT(30,"60"),fl()(),dl(31,"text",120)(32,"tspan",121),TT(33,"30"),fl()(),dl(34,"text",122)(35,"tspan",123),TT(36,"0"),fl()()());}var Y=([m,b],[n,e],[t,o])=>(Math.atan2(o-e,t-n)-Math.atan2(b-e,m-n)+3*Math.PI)%(2*Math.PI)-Math.PI,J=(()=>{class m{rotatingDial=$j.required("rotatingDial");awaIndicator=$j.required("awaIndicator");twaIndicator=$j.required("twaIndicator");wptIndicator=$j.required("wptIndicator");setIndicator=$j.required("setIndicator");cogIndicator=$j.required("cogIndicator");compassHeading=Hj.required();compassModeEnabled=Hj.required();courseOverGroundAngle=Hj(void 0);courseOverGroundEnabled=Hj.required();trueWindAngle=Hj.required();twsEnabled=Hj.required();twaEnabled=Hj.required();trueWindSpeed=Hj.required();trueWindSpeedUnit=Hj.required();appWindAngle=Hj.required();awsEnabled=Hj.required();appWindSpeed=Hj.required();appWindSpeedUnit=Hj.required();laylineAngle=Hj(void 0);closeHauledLineEnabled=Hj.required();sailSetupEnabled=Hj.required();windSectorEnabled=Hj.required();driftEnabled=Hj.required();driftSet=Hj(void 0);driftFlow=Hj(void 0);waypointAngle=Hj(void 0);waypointEnabled=Hj.required();trueWindMinHistoric=Hj(void 0);trueWindMidHistoric=Hj(void 0);trueWindMaxHistoric=Hj(void 0);compass={oldValue:0,newValue:0};twa={oldValue:0,newValue:0};awa={oldValue:0,newValue:0};wpt={oldValue:0,newValue:0};cog={oldValue:0,newValue:0};set={oldValue:0,newValue:0};compassInitialized=false;twaInitialized=false;awaInitialized=false;wptInitialized=false;cogInitialized=false;setInitialized=false;headingValue=vt("--");trueWindHeading=0;waypointActive=vt(false);portLaylinePrev=0;stbdLaylinePrev=0;portLaylineAnimId=null;stbdLaylineAnimId=null;closeHauledLinePortPath=vt("M 500,500 500,500");closeHauledLineStbdPath=vt("M 500,500 500,500");portSectorPrev={min:0,mid:0,max:0};stbdSectorPrev={min:0,mid:0,max:0};portSectorAnimId=null;stbdSectorAnimId=null;portWindSectorPath=vt("");stbdWindSectorPath=vt("");animationFrameIds=new WeakMap;CENTER=500;RADIUS=350;ANIMATION_DURATION=900;EPS_ANGLE=1;ngZone=w(ue);setRotationImmediate(n,e){n.setAttribute("transform",`rotate(${e} 500 500)`);}constructor(){Fa(()=>{let n=this.waypointEnabled();ge(()=>{this.waypointActive.set(n);});}),Fa(()=>{let n=this.compassModeEnabled(),e=this.compassHeading(),t=Number.isFinite(e)?Math.round(e):null;t!=null&&ge(()=>{let o=n?t:0,r=!this.compassInitialized;r?(this.compass.oldValue=o,this.compass.newValue=o,this.compassInitialized=true):(this.compass.oldValue=this.compass.newValue,this.compass.newValue=o),this.headingValue.set(t.toString()),this.rotatingDial()?.nativeElement&&(r||this.compass.oldValue===this.compass.newValue?this.setRotationImmediate(this.rotatingDial().nativeElement,-this.compass.newValue):S(this.rotatingDial().nativeElement,-this.compass.oldValue,-this.compass.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone),this.updateCloseHauledLines(false),this.updateWindSectors(false));});}),Fa(()=>{let n=this.courseOverGroundAngle(),e=Number.isFinite(n)?Math.round(n):null,t=this.compassModeEnabled();e!=null&&ge(()=>{let o=t?this.compass.newValue:0,r=e-o,p=!this.cogInitialized;p?(this.cog.oldValue=r,this.cog.newValue=r,this.cogInitialized=true):(this.cog.oldValue=this.cog.newValue,this.cog.newValue=r),this.cogIndicator()?.nativeElement&&(p||this.cog.oldValue===this.cog.newValue?this.setRotationImmediate(this.cogIndicator().nativeElement,this.cog.newValue):S(this.cogIndicator().nativeElement,this.cog.oldValue,this.cog.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{let n=this.waypointAngle();ge(()=>{if(n==null||!Number.isFinite(n)){this.waypointActive.set(false);return}this.waypointEnabled()?this.waypointActive.set(true):this.waypointActive.set(false);let e=!this.wptInitialized;e?(this.wpt.oldValue=n,this.wpt.newValue=n,this.wptInitialized=true):(this.wpt.oldValue=this.wpt.newValue,this.wpt.newValue=n),this.wptIndicator()?.nativeElement&&(e||this.wpt.oldValue===this.wpt.newValue?this.setRotationImmediate(this.wptIndicator().nativeElement,this.wpt.newValue):S(this.wptIndicator().nativeElement,this.wpt.oldValue,this.wpt.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{let n=this.appWindAngle(),e=Number.isFinite(n)?Math.round(n):null;e!=null&&ge(()=>{let t=!this.awaInitialized;t?(this.awa.oldValue=e,this.awa.newValue=e,this.awaInitialized=true):(this.awa.oldValue=this.awa.newValue,this.awa.newValue=e),this.awaIndicator()?.nativeElement&&(t||this.awa.oldValue===this.awa.newValue?this.setRotationImmediate(this.awaIndicator().nativeElement,this.awa.newValue):S(this.awaIndicator().nativeElement,this.awa.oldValue,this.awa.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone)),this.updateCloseHauledLines(!t);});}),Fa(()=>{let n=this.trueWindAngle(),e=Number.isFinite(n)?Math.round(n):null,t=this.compassModeEnabled();e!=null&&ge(()=>{this.trueWindHeading=e;let o=t?this.compass.newValue*-1:0,r=this.addHeading(this.trueWindHeading,o);this.twaInitialized?(this.twa.oldValue=this.twa.newValue,this.twa.newValue=r):(this.twa.oldValue=r,this.twa.newValue=r,this.twaInitialized=true),this.twaIndicator()?.nativeElement&&(!this.twaInitialized||this.twa.oldValue===this.twa.newValue?this.setRotationImmediate(this.twaIndicator().nativeElement,this.twa.newValue):S(this.twaIndicator().nativeElement,this.twa.oldValue,this.twa.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{this.laylineAngle(),this.closeHauledLineEnabled()&&ge(()=>this.updateCloseHauledLines());}),Fa(()=>{let n=this.driftSet(),e=Number.isFinite(n)?Math.round(n):null;e!=null&&ge(()=>{this.setInitialized?(this.set.oldValue=this.set.newValue,this.set.newValue=e):(this.set.oldValue=e,this.set.newValue=e,this.setInitialized=true),this.setIndicator()?.nativeElement&&(!this.setInitialized||this.set.oldValue===this.set.newValue?this.setRotationImmediate(this.setIndicator().nativeElement,this.set.newValue):S(this.setIndicator().nativeElement,this.set.oldValue,this.set.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{let n=this.windSectorEnabled();this.trueWindMinHistoric(),this.trueWindMidHistoric(),this.trueWindMaxHistoric(),this.laylineAngle(),ge(()=>{if(!n){this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.portSectorAnimId=null,this.stbdSectorAnimId=null,this.portWindSectorPath.set(""),this.stbdWindSectorPath.set("");return}this.updateWindSectors(true);});});}updateCloseHauledLines(n=true){if(!this.closeHauledLineEnabled())return;let e=this.compassModeEnabled(),t=e&&Number(this.compass.newValue)||0,o=e&&Number(this.awa.newValue)||0,r=Number(this.laylineAngle())||0,p=e?this.addHeading(t,this.addHeading(o,r*-1)):this.addHeading(o,r*-1);this.animateLayline(this.portLaylinePrev,p,true,n),this.portLaylinePrev=p;let u=e?this.addHeading(t,this.addHeading(o,r)):this.addHeading(o,r);this.animateLayline(this.stbdLaylinePrev,u,false,n),this.stbdLaylinePrev=u;}animateLayline(n,e,t,o=true){if(t&&this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),!t&&this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId),this.angleDelta(n,e)<this.EPS_ANGLE){this.drawLayline(e,t),t?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;return}if(!o){this.drawLayline(e,t),t?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;return}let r=v(n,e,this.ANIMATION_DURATION,p=>this.drawLayline(p,t),()=>{t?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;},this.ngZone);t?this.portLaylineAnimId=r:this.stbdLaylineAnimId=r;}drawLayline(n,e){let t=n*Math.PI/180,o=Math.floor(this.RADIUS*Math.sin(t)+this.CENTER),r=Math.floor(this.RADIUS*Math.cos(t)*-1+this.CENTER);e?this.closeHauledLinePortPath.set(`M ${this.CENTER},${this.CENTER} L ${o},${r}`):this.closeHauledLineStbdPath.set(`M ${this.CENTER},${this.CENTER} L ${o},${r}`);}windSectorsInitialized=false;updateWindSectors(n=true){if(!this.windSectorEnabled()||this.trueWindMinHistoric()==null||this.trueWindMidHistoric()==null||this.trueWindMaxHistoric()==null)return;let e={min:this.trueWindMinHistoric()??0,mid:this.trueWindMidHistoric()??0,max:this.trueWindMaxHistoric()??0},t={min:this.trueWindMinHistoric()??0,mid:this.trueWindMidHistoric()??0,max:this.trueWindMaxHistoric()??0};if(!this.windSectorsInitialized){this.windSectorsInitialized=true,n?(this.animateWindSector(e,e,true),this.animateWindSector(t,t,false)):(this.portWindSectorPath.set(this.computeSectorPath(e,true)),this.stbdWindSectorPath.set(this.computeSectorPath(t,false))),this.portSectorPrev=e,this.stbdSectorPrev=t;return}n?this.angleDelta(this.portSectorPrev.min,e.min)<this.EPS_ANGLE&&this.angleDelta(this.portSectorPrev.mid,e.mid)<this.EPS_ANGLE&&this.angleDelta(this.portSectorPrev.max,e.max)<this.EPS_ANGLE?(this.portWindSectorPath.set(this.computeSectorPath(e,true)),this.stbdWindSectorPath.set(this.computeSectorPath(t,false))):(this.animateWindSector(this.portSectorPrev,e,true),this.animateWindSector(this.stbdSectorPrev,t,false)):(this.portWindSectorPath.set(this.computeSectorPath(e,true)),this.stbdWindSectorPath.set(this.computeSectorPath(t,false))),this.portSectorPrev=e,this.stbdSectorPrev=t;}animateWindSector(n,e,t){if(t&&this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),!t&&this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.angleDelta(n.min,e.min)<this.EPS_ANGLE&&this.angleDelta(n.mid,e.mid)<this.EPS_ANGLE&&this.angleDelta(n.max,e.max)<this.EPS_ANGLE){let p=this.computeSectorPath(e,t);t?this.portWindSectorPath.set(p):this.stbdWindSectorPath.set(p),t?this.portSectorAnimId=null:this.stbdSectorAnimId=null;return}let r=R(n,e,this.ANIMATION_DURATION,p=>{let u=this.computeSectorPath(p,t);t?this.portWindSectorPath.set(u):this.stbdWindSectorPath.set(u);},()=>{t?this.portSectorAnimId=null:this.stbdSectorAnimId=null;},this.ngZone);t?this.portSectorAnimId=r:this.stbdSectorAnimId=r;}addHeading(n=0,e=0){let t=(n+e)%360;return t<0&&(t+=360),t}ngOnDestroy(){this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId),this.portLaylineAnimId=null,this.stbdLaylineAnimId=null,this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.portSectorAnimId=null,this.stbdSectorAnimId=null;let n=[this.rotatingDial(),this.awaIndicator(),this.twaIndicator(),this.wptIndicator(),this.setIndicator(),this.cogIndicator()];for(let e of n){let t=e?.nativeElement;if(!t)continue;let o=this.animationFrameIds.get(t);o&&cancelAnimationFrame(o),this.animationFrameIds.delete(t);}}angleDelta(n,e){let t=(e-n+540)%360-180;return Math.abs(t)}computeSectorPath(n,e){let o=(Number(this.laylineAngle())||0)*(e?-1:1),r=this.compassModeEnabled(),p=r&&Number(this.compass.newValue)||0,u=Number(this.awa.newValue)||0,M=r?this.addHeading(p,this.addHeading(n.min,o)):this.addHeading(o,this.addHeading(n.min,u*-1)),A=r?this.addHeading(p,this.addHeading(n.mid,o)):this.addHeading(o,this.addHeading(n.mid,u*-1)),W=r?this.addHeading(p,this.addHeading(n.max,o)):this.addHeading(o,this.addHeading(n.max,u*-1)),D=this.RADIUS*Math.sin(M*Math.PI/180)+this.CENTER,k=this.RADIUS*Math.cos(M*Math.PI/180)*-1+this.CENTER,O=this.RADIUS*Math.sin(A*Math.PI/180)+this.CENTER,U=this.RADIUS*Math.cos(A*Math.PI/180)*-1+this.CENTER,T=this.RADIUS*Math.sin(W*Math.PI/180)+this.CENTER,q=this.RADIUS*Math.cos(W*Math.PI/180)*-1+this.CENTER,K=Math.abs(Y([D,k],[O,U],[T,q]))>Math.PI/2?0:1,tt=Y([T,q],[D,k],[O,U])>0?0:1;return `M ${this.CENTER},${this.CENTER} L ${D},${k} A ${this.RADIUS},${this.RADIUS} 0 ${K} ${tt} ${T},${q} z`}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=JD({type:m,selectors:[["svg-windsteer"]],viewQuery:function(e,t){e&1&&eg(t.rotatingDial,nt,5)(t.awaIndicator,it,5)(t.twaIndicator,at,5)(t.wptIndicator,ot,5)(t.setIndicator,rt,5)(t.cogIndicator,st,5),e&2&&Kw(6);},inputs:{compassHeading:[1,"compassHeading"],compassModeEnabled:[1,"compassModeEnabled"],courseOverGroundAngle:[1,"courseOverGroundAngle"],courseOverGroundEnabled:[1,"courseOverGroundEnabled"],trueWindAngle:[1,"trueWindAngle"],twsEnabled:[1,"twsEnabled"],twaEnabled:[1,"twaEnabled"],trueWindSpeed:[1,"trueWindSpeed"],trueWindSpeedUnit:[1,"trueWindSpeedUnit"],appWindAngle:[1,"appWindAngle"],awsEnabled:[1,"awsEnabled"],appWindSpeed:[1,"appWindSpeed"],appWindSpeedUnit:[1,"appWindSpeedUnit"],laylineAngle:[1,"laylineAngle"],closeHauledLineEnabled:[1,"closeHauledLineEnabled"],sailSetupEnabled:[1,"sailSetupEnabled"],windSectorEnabled:[1,"windSectorEnabled"],driftEnabled:[1,"driftEnabled"],driftSet:[1,"driftSet"],driftFlow:[1,"driftFlow"],waypointAngle:[1,"waypointAngle"],waypointEnabled:[1,"waypointEnabled"],trueWindMinHistoric:[1,"trueWindMinHistoric"],trueWindMidHistoric:[1,"trueWindMidHistoric"],trueWindMaxHistoric:[1,"trueWindMaxHistoric"]},decls:124,vars:44,consts:[["rotatingDial",""],["wptIndicator",""],["setIndicator",""],["cogIndicator",""],["awaIndicator",""],["twaIndicator",""],["viewBox","0 0 1000 1000"],["id","defs1"],["id","linearGradient18"],["offset","0",1,"boat",2,"stop-opacity","0.71372495"],["offset","1",1,"boat",2,"stop-opacity","0"],["id","linearGradient16"],["id","linearGradient13"],["offset","0.41176471",1,"drift-arrow",2,"stop-opacity","1"],["offset","1",1,"drift-arrow",2,"stop-opacity","0"],["id","swatch4"],["offset","0","id","stop4",2,"stop-color","#000000","stop-opacity","1"],["clipPathUnits","userSpaceOnUse","id","clipPath16"],["id","ellipse16","cx","311.24539","cy","-1516.3778","rx","194.27342","ry","181.83022",2,"display","inline","fill","#9a9300","fill-opacity","1","stroke","none","stroke-width","55","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],[0,"xlink","href","#linearGradient13","id","linearGradient14","x1","453.48047","y1","583.62891","x2","638.11328","y2","583.62891","gradientUnits","userSpaceOnUse","gradientTransform","matrix(0.00723393,1.2388183,-1.0538241,0.00615367,1111.2051,-179.73465)"],[0,"xlink","href","#linearGradient16","id","linearGradient17","x1","-502.04896","y1","439.35551","x2","-316","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],[0,"xlink","href","#linearGradient18","id","linearGradient19","x1","495.83999","y1","439.35551","x2","681.88895","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],["id","layerBackground",2,"display","inline"],["id","boat",2,"display","inline"],["id","portSide","d","M 498.75049,208.89453 A 267.09439,554.67401 0 0 1 678.45974,767.81661",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient19)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","starboardSide","d","m -499.13846,208.89453 a 267.09439,554.67401 0 0 1 179.70925,558.92208","transform","scale(-1,1)",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient17)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","layerCompass"],["id","fixedDial"],["id","portStarboardBackground","d","M 499.99997,10.520805 A 489.47916,489.47916 0 0 0 10.520805,499.99997 489.47916,489.47916 0 0 0 499.99997,989.47913 489.47916,489.47916 0 0 0 989.47913,499.99997 489.47916,489.47916 0 0 0 499.99997,10.520805 Z m 0,132.291665 a 357.1875,357.1875 0 0 1 357.18749,357.1875 357.1875,357.1875 0 0 1 -357.18749,357.18749 357.1875,357.1875 0 0 1 -357.1875,-357.18749 357.1875,357.1875 0 0 1 357.1875,-357.1875 z",1,"fixed-dial-background",2,"display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","port","d","M 93.283801,265.18231 A 469.63541,469.63541 0 0 1 339.37522,58.687079",1,"port",2,"display","inline","fill","none","stroke-width","39.6875","stroke-linecap","butt","stroke-linejoin","round","stroke-miterlimit","0"],["id","starboard","d","M 660.62476,58.687069 A 469.63541,469.63541 0 0 1 906.71619,265.18228",1,"starboard",2,"display","inline","fill","none","stroke-width","39.6875","stroke-linecap","butt","stroke-linejoin","round","stroke-miterlimit","0"],["id","barsAndText",1,"contrast-stroke",2,"display","inline"],["d","m 416.35095,19.837399 2.78142,15.77426","id","path199",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 334.23173,41.658798 5.47834,15.051615","id","path200",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 260.27336,81.806174 12.55151,21.739856","id","path37",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 187.44581,126.00035 10.29591,12.2702","id","path197",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 127.23918,185.95785 12.27019,10.29591","id","path198",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 83.252815,257.66724 21.739865,12.55151","id","path166",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 42.289518,332.39273 15.05162,5.47835","id","path195",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 20.127799,414.42077 15.774251,2.78142","id","path196",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 17.879075,498.47765 H 42.982096","id","path167",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 19.776759,583.71187 15.77426,-2.78142","id","path193",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 41.598167,665.8311 15.051615,-5.47834","id","path194",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 81.668963,739.71246 103.40883,727.16095","id","path168",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 125.93981,812.61701 12.2702,-10.29591","id","path191",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 185.89732,872.82365 10.29591,-12.27019","id","path192",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 257.53004,916.73298 12.55151,-21.73985","id","path169",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 332.33219,957.7732 5.47835,-15.05162","id","path189",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 414.36024,979.93493 2.78142,-15.77425","id","path190",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 498.34046,982.10672 V 957.0037","id","path170",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 583.65133,980.28596 580.86991,964.5117","id","path187",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 665.77057,958.46456 -5.47834,-15.05161","id","path188",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 739.57526,918.31683 727.02375,896.57698","id","path171",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 812.55647,874.12301 802.26056,861.85282","id","path185",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 872.76312,814.16551 860.49293,803.8696","id","path186",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 916.59579,742.45577 894.85593,729.90426","id","path172",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 957.71266,667.73063 -15.05161,-5.47834","id","path183",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 979.8744,585.70259 -15.77425,-2.78142","id","path184",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 981.96954,501.64535 -25.10304,10e-6","id","path173",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 980.22542,416.41149 -15.77425,2.78143","id","path181",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 958.40403,334.29226 -15.05161,5.47834","id","path182",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 918.17964,260.41055 -21.73986,12.55151","id","path174",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 874.06247,187.50636 -12.27018,10.29591","id","path180",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 817.34594,130.05494 -10.40259,12.17987","id","path179",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 742.31857,83.390025 729.76706,105.12988","id","path175",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 667.6701,42.350172 -5.47834,15.051615","id","path178",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 585.64206,20.188432 -2.78142,15.77425","id","path176",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 501.50816,18.016286 V 43.119307","id","path177",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["cx","500","cy","500","r","404",1,"rotating-dial-Backplate"],["id","dialLabelsCompass"],["id","dialLabelsPortStbd"],["id","LayerLayline"],["id","PortLayline",1,"laylines",2,"fill","none","stroke-width","5","stroke-dasharray","40, 20","stroke-dashoffset","0","stroke-opacity","0.6"],["id","StbdLayline",1,"laylines",2,"fill","none","stroke-width","5","stroke-dasharray","40, 20","stroke-dashoffset","0","stroke-opacity","0.6"],["id","LayerWindShift"],["id","portSectorShift",1,"wind-sector-port",2,"fill-opacity","0.5","stroke","none"],["id","StbdSectorShift",1,"wind-sector-stbd",2,"fill-opacity","0.5","stroke","none"],["clip-path","url(#clipPath16)","d","m 416.36313,-1521.3937 c 371.15015,24.6522 731.95257,192.9774 983.98757,467.456 227.2972,244.24389 363.1732,572.3808 369.4045,906.42978 15.9331,499.10271 -269.2071,986.17861 -700.5178,1232.88522 -485.08308,290.4843 -1134.555606,269.7346 -1599.2788,-52.7169 -404.5062,-269.24461 -653.2224,-759.35388 -614.1746,-1245.84043 30.2148,-487.61814 344.18931,-937.89997 780.52695,-1152.15867 176.96718,-89.2092 371.8823084,-142.3103 569.54914,-156.0363","transform","matrix(0.28310615,0,0,0.32000828,411.88452,661.64815)",1,"next-waypoint-bar",2,"display","inline","fill","none","stroke-width","30","stroke-miterlimit","0"],["id","path6341","cx","500","cy","175.00002","rx","17.361122","ry","17.361118",1,"next-waypoint",2,"display","inline","fill","none","stroke-width","15.2778","stroke-dasharray","none"],["id","setArrow","d","m 563.93337,480.60403 -64.4901,-94.9673 -63.37665,95.71396 58.48691,-30.71299 0.77713,133.08346 c 0.0992,16.99331 2.52916,30.65913 5.44822,30.64209 2.91911,-0.0171 5.18926,-13.71032 5.09001,-30.70362 l -0.77782,-133.20444 z",2,"fill","url(#linearGradient14)","stroke","none","stroke-width","1.18648"],["id","layerCounter"],["id","twsCounter"],[0,"xml","space","preserve","x","904.27722","y","150.88913","id","text43",1,"true-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","903.84814","y","114.73512","id","text42",1,"true-wind",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","905.25897","y","52.894646","id","text41",1,"true-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],["id","awsCounter"],[0,"xml","space","preserve","x","94.554222","y","150.88913","id","text39",1,"app-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","94.580925","y","114.63747","id","text40",1,"app-wind",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","95.967644","y","52.894646","id","text39-7",1,"app-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],["id","layerCurrent"],["id","text11",0,"xml","space","preserve","x","499.78842","y","523.55145",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none"],["id","layerIndicators",2,"display","inline"],["d","m 506.20767,172.99458 a 6.3888631,8.8250643 0 0 1 -6.38888,8.82508 6.3888631,8.8250643 0 0 1 -6.38888,-8.82508 6.3888631,8.8250643 0 0 1 6.38888,-8.82509 6.3888631,8.8250643 0 0 1 6.38888,8.82509 z M 476.25472,30.811298 493.47058,13.265068 c 3.6173,-3.6867571 9.44162,-3.6867571 13.05892,0 l 17.21586,17.546106 c 3.6173,3.686743 3.6173,9.622786 0,13.309544 l -17.21595,17.54623 c -3.61721,3.686757 -9.44153,3.686757 -13.05893,0 L 476.25472,44.120841 c -3.6174,-3.686743 -3.6174,-9.622924 0,-13.309543 z m 17.20533,-16.510116 h 12.77766 V 173.26408 h -12.77766 z",1,"course-over-ground",2,"stroke-width","14.7329","stroke-linecap","square"],["d","m 451.77021,55.078207 42.08541,-33.202814 a 12.555638,12.555638 0.26446337 0 1 15.64423,0.07221 l 42.20046,33.930296 a 15.557694,15.557694 71.53185 0 1 5.32954,15.957795 L 504.17034,279.76529 a 2.5373267,2.5373267 0.02614114 0 1 -4.91879,-0.002 L 446.37431,70.966036 a 15.416336,15.416336 108.75875 0 1 5.3959,-15.887829 z","transform","matrix(0.7935953,0,0,0.92686935,101.84848,11.000842)",1,"app-wind",2,"display","inline","stroke-width","5.8876","stroke-miterlimit","0"],[0,"xml","space","preserve","x","500","y","110",1,"card-color",2,"font-weight","bold","font-size","70px","font-family","Roboto","text-align","center","text-anchor","middle","display","inline","stroke","none"],["d","m 451.77021,55.078207 42.08541,-33.202814 a 12.555638,12.555638 0.26446337 0 1 15.64423,0.07221 l 42.20046,33.930296 a 15.557694,15.557694 71.53185 0 1 5.32954,15.957795 L 504.17034,279.76529 a 2.5373267,2.5373267 0.02614114 0 1 -4.91879,-0.002 L 446.37431,70.966036 a 15.416336,15.416336 108.75875 0 1 5.3959,-15.887829 z","transform","matrix(0.60410307,0,0,0.70555435,196.91787,21.152867)",1,"true-wind",2,"display","inline","stroke","none","stroke-width","5.8876","stroke-miterlimit","0"],[0,"xml","space","preserve","x","500","y","110","id","text10",1,"card-color",2,"font-weight","bold","font-size","60px","font-family","Roboto","text-align","center","text-anchor","middle","display","inline","stroke","none"],["id","layerHeading",2,"display","inline"],["id","rect1","width","256.47919","height","108.5428","x","371.76041","y","10.805443","rx","23.757372",1,"heading-background",2,"stroke-width","4.43107","stroke-linejoin","bevel","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","0.509946"],["x","511.29395","y","102.86786",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","106.667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","5","stroke-linejoin","bevel","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],[0,"xml","space","preserve","x","181.91386","y","284.25186","id","text3","transform","rotate(-30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan3","x","181.91386","y","284.25186",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-183.53558","y","283.74811","id","text14","transform","rotate(-60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan14","x","-183.53558","y","283.74811",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-499.70761","y","100.95312","id","text15","transform","rotate(-90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan15","x","-499.70761","y","100.95312",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.66119","y","-216.36243","id","text16","transform","rotate(-120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["x","-681.66119","y","-216.36243","id","tspan25",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.06616","y","-581.71271","id","text17","transform","rotate(-150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan17","x","-681.06616","y","-581.71271",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-498.3313","y","-897.40875","id","text18","transform","scale(-1)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan18","x","-498.3313","y","-897.40875",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-184.41313","y","-1080.8452","id","text19","transform","rotate(150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan19","x","-184.41313","y","-1080.8452",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","181.57225","y","-1080.8853","id","text20","transform","rotate(120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan20","x","181.57225","y","-1080.8853",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","501.42661","y","-896.93701","id","text21","transform","rotate(90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan21","x","501.42661","y","-896.93701",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","682.35815","y","-579.63336","id","text22","transform","rotate(60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan22","x","682.35815","y","-579.63336",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","681.81525","y","-214.27321","id","text23","transform","rotate(30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan23","x","681.81525","y","-214.27321",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","500.15503","y","101.96342","id","text24",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan24","x","500.15503","y","101.96342",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"]],template:function(e,t){e&1&&(wd(),dl(0,"svg",6)(1,"defs",7)(2,"linearGradient",8),Uh(3,"stop",9)(4,"stop",10),fl(),dl(5,"linearGradient",11),Uh(6,"stop",9)(7,"stop",10),fl(),dl(8,"linearGradient",12),Uh(9,"stop",13)(10,"stop",14),fl(),dl(11,"linearGradient",15),Uh(12,"stop",16),fl(),dl(13,"clipPath",17),Uh(14,"ellipse",18),fl(),Uh(15,"linearGradient",19)(16,"linearGradient",20)(17,"linearGradient",21),fl(),dl(18,"g",22)(19,"g",23),Uh(20,"path",24)(21,"path",25),fl()(),dl(22,"g",26)(23,"g",27),Uh(24,"path",28)(25,"path",29)(26,"path",30),fl(),dl(27,"g",null,0)(29,"g",31),Uh(30,"path",32)(31,"path",33)(32,"path",34)(33,"path",35)(34,"path",36)(35,"path",37)(36,"path",38)(37,"path",39)(38,"path",40)(39,"path",41)(40,"path",42)(41,"path",43)(42,"path",44)(43,"path",45)(44,"path",46)(45,"path",47)(46,"path",48)(47,"path",49)(48,"path",50)(49,"path",51)(50,"path",52)(51,"path",53)(52,"path",54)(53,"path",55)(54,"path",56)(55,"path",57)(56,"path",58)(57,"path",59)(58,"path",60)(59,"path",61)(60,"path",62)(61,"path",63)(62,"path",64)(63,"path",65)(64,"path",66)(65,"path",67)(66,"circle",68),_w(67,lt,37,0,":svg:g",69)(68,dt,37,0,":svg:g",70),fl(),dl(69,"g",71),Uh(70,"path",72)(71,"path",73),fl(),dl(72,"g",74),Uh(73,"path",75)(74,"path",76),fl(),dl(75,"g",null,1),Uh(77,"path",77)(78,"ellipse",78),fl(),dl(79,"g",null,2),Uh(81,"path",79),fl()()(),dl(82,"g",80)(83,"g",81)(84,"text",82),TT(85),fl(),dl(86,"text",83),TT(87),HT(88,"number"),fl(),dl(89,"text",84),TT(90,"TWS"),fl()(),dl(91,"g",85)(92,"text",86),TT(93),fl(),dl(94,"text",87),TT(95),HT(96,"number"),fl(),dl(97,"text",88),TT(98,"AWS"),fl()()(),dl(99,"g",89)(100,"text",90),TT(101),HT(102,"number"),fl()(),dl(103,"g",91)(104,"g",null,3),Uh(106,"path",92),fl(),dl(107,"g",null,4),Uh(109,"path",93),dl(110,"text",94),TT(111,"A"),fl()(),dl(112,"g",null,5),Uh(114,"path",95),dl(115,"text",96),TT(116,"T"),fl()()(),dl(117,"g",97),Uh(118,"rect",98),dl(119,"text",99)(120,"tspan"),TT(121),dl(122,"tspan"),TT(123,"\xB0"),fl()()()()()),e&2&&(EE(67),Mw(t.compassModeEnabled()?67:68),EE(2),ig("display",t.closeHauledLineEnabled()?"inline":"none"),EE(),ig("display",t.appWindAngle()!=null?"inline":"none"),Hh("d",t.closeHauledLineStbdPath()),EE(),ig("display",t.appWindAngle()!=null?"inline":"none"),Hh("d",t.closeHauledLinePortPath()),EE(),ig("display",t.windSectorEnabled()?"inline":"none"),EE(),ig("display",t.portWindSectorPath()?"inline":"none"),Hh("d",t.portWindSectorPath()||null),EE(),ig("display",t.stbdWindSectorPath()?"inline":"none"),Hh("d",t.stbdWindSectorPath()||null),EE(),Hh("display",t.waypointActive()&&t.compassModeEnabled()?"inline":"none"),EE(4),ig("display",t.driftEnabled()&&t.compassModeEnabled()?"inline":"none"),EE(4),ig("display",t.twsEnabled()?"inline":"none"),EE(2),gg(t.trueWindSpeedUnit()),EE(2),gg(UT(88,35,t.trueWindSpeed(),"1.1-1")??"--"),EE(4),ig("display",t.awsEnabled()?"inline":"none"),EE(2),gg(t.appWindSpeedUnit()),EE(2),gg(UT(96,38,t.appWindSpeed(),"1.1-1")??"--"),EE(4),ig("display",t.driftEnabled()&&t.compassModeEnabled()?"inline":"none"),EE(2),gg(UT(102,41,t.driftFlow(),"1.1-1")??"--"),EE(3),Hh("display",t.courseOverGroundEnabled()&&t.compassModeEnabled()?"inline":"none"),EE(8),ig("display",t.twaEnabled()?"inline":"none"),EE(9),gg(t.headingValue()));},dependencies:[es],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}svg[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;left:0;top:0}.fixed-dial-background[_ngcontent-%COMP%]{fill:var(--kip-grey-color)}.rotating-dial-Backplate[_ngcontent-%COMP%]{stroke:var(--mat-sys-background);fill:none;stroke-width:95}.starboard[_ngcontent-%COMP%]{stroke:var(--kip-starboard-color)}.port[_ngcontent-%COMP%]{stroke:var(--kip-port-color)}.heading-background[_ngcontent-%COMP%]{stroke:var(--kip-grey-color);fill:var(--kip-widget-card-background-color)}.boat[_ngcontent-%COMP%]{stop-color:var(--kip-grey-color)!important}.contrast-text[_ngcontent-%COMP%]{fill:var(--kip-contrast-color)}.contrast-stroke[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color)}.card-color[_ngcontent-%COMP%]{fill:var(--kip-widget-card-background-color)}.true-wind[_ngcontent-%COMP%]{fill:var(--kip-yellow-color)}.true-wind-label[_ngcontent-%COMP%]{fill:var(--kip-yellow-dim-color)}.app-wind[_ngcontent-%COMP%]{fill:var(--kip-orange-color)}.app-wind-label[_ngcontent-%COMP%]{fill:var(--kip-orange-dim-color)}.course-over-ground[_ngcontent-%COMP%]{fill:var(--kip-pink-color)}.next-waypoint[_ngcontent-%COMP%]{stroke:var(--kip-green-color)}.next-waypoint-bar[_ngcontent-%COMP%]{stroke:var(--kip-grey-color)}.laylines[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color)}.wind-sector-port[_ngcontent-%COMP%]{fill:var(--kip-port-color)}.wind-sector-stbd[_ngcontent-%COMP%]{fill:var(--kip-starboard-color)}.drift-arrow[_ngcontent-%COMP%]{stop-color:var(--kip-blue-color)}"]})}return m})();var St=(()=>{class m{id=Hj.required();type=Hj.required();theme=Hj.required();static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:false,filterSelfPaths:true,paths:{headingPath:{description:"True Heading",path:"self.navigation.headingTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},appWindAngle:{description:"Apparent Wind Angle",path:"self.environment.wind.angleApparent",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},appWindSpeed:{description:"Apparent Wind Speed",path:"self.environment.wind.speedApparent",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:1e3},trueWindAngle:{description:"True Wind Angle",path:"self.environment.wind.angleTrueWater",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},trueWindSpeed:{description:"True Wind Speed",path:"self.environment.wind.speedTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:1e3},courseOverGround:{description:"True Course Over Ground",path:"self.navigation.courseOverGroundTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",showConvertUnitTo:false,convertUnitTo:"deg",sampleTime:1e3},nextWaypointBearing:{description:"Next Waypoint True Bearing",path:"self.navigation.course.calcValues.bearingTrue",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},set:{description:"True Drift Set",path:"self.environment.current.setTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},drift:{description:"Drift Speed Impact",path:"self.environment.current.drift",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:1e3}},compassModeEnabled:true,windSectorEnable:true,windSectorWindowSeconds:5,laylineEnable:true,laylineAngle:40,waypointEnable:true,courseOverGroundEnable:true,driftEnable:true,awsEnable:true,twsEnable:true,twaEnable:true,sailSetupEnable:false,enableTimeout:false,dataTimeout:5};runtime=w(p);stream=w(rt$1);cfg=Dt(()=>this.runtime.options()??m.DEFAULT_CONFIG);compassModeEnabledValue=Dt(()=>this.cfg().compassModeEnabled??false);courseOverGroundEnabledValue=Dt(()=>this.cfg().courseOverGroundEnable??false);twsEnabledValue=Dt(()=>this.cfg().twsEnable??false);twaEnabledValue=Dt(()=>this.cfg().twaEnable??false);awsEnabledValue=Dt(()=>this.cfg().awsEnable??false);laylineAngleValue=Dt(()=>this.cfg().laylineAngle??40);closeHauledLineEnabledValue=Dt(()=>this.cfg().laylineEnable??false);windSectorEnabledValue=Dt(()=>this.cfg().windSectorEnable??false);driftEnabledValue=Dt(()=>this.cfg().driftEnable??false);waypointEnabledValue=Dt(()=>this.cfg().waypointEnable??false);hasHeading=false;hasCOG=false;hasAWA=false;hasAWS=false;hasTWA=false;hasTWS=false;hasSet=false;hasDrift=false;hasWPT=false;currentHeading=vt(0);courseOverGroundAngle=vt(0);appWindAngle=vt(0);appWindSpeed=vt(0);appWindSpeedUnit=vt("");trueWindAngle=vt(0);trueWindSpeed=vt(0);trueWindSpeedUnit=vt("");driftFlow=vt(0);driftSet=vt(0);waypointAngle=vt(0);historicalWindDirection=[];trueWindMinHistoric=vt(void 0);trueWindMidHistoric=vt(void 0);trueWindMaxHistoric=vt(void 0);windSectorObservableSub=null;windSamples=[];windMinDeque=[];windMaxDeque=[];windSampleIndex=0;lastUnwrapped=null;lastSector={};DEG_EPSILON=1;SPEED_EPSILON=.1;constructor(){Fa(()=>{let e=this.cfg().paths;ge(()=>{this.appWindSpeedUnit.set(e?.appWindSpeed?.convertUnitTo??""),this.trueWindSpeedUnit.set(e?.trueWindSpeed?.convertUnitTo??""),this.registerStreams(),this.stopWindSectors(),this.startWindSectors();});});}onHeadingUpdate=n=>{let e=this.normalizeAngle(this.getPathValueOrZero(n));(!this.hasHeading||this.angleDelta(this.currentHeading(),e)>=this.DEG_EPSILON)&&(this.currentHeading.set(e),this.hasHeading=true);};onCOGUpdate=n=>{let e=this.normalizeAngle(this.getPathValueOrZero(n));(!this.hasCOG||this.angleDelta(this.courseOverGroundAngle(),e)>=this.DEG_EPSILON)&&(this.courseOverGroundAngle.set(e),this.hasCOG=true);};onDriftUpdate=n=>{let e=this.getPathValueOrZero(n);(!this.hasDrift||Math.abs(this.driftFlow()-e)>=this.SPEED_EPSILON)&&(this.driftFlow.set(e),this.hasDrift=true);};onSetUpdate=n=>{let e=this.normalizeAngle(this.getPathValueOrZero(n));(!this.hasSet||this.angleDelta(this.driftSet(),e)>=this.DEG_EPSILON)&&(this.driftSet.set(e),this.hasSet=true);};onWaypointUpdate=n=>{let e=n.data.value,t=this.normalizeAngle(e);(!this.hasWPT||this.angleDelta(this.waypointAngle(),t)>=this.DEG_EPSILON)&&(this.waypointAngle.set(t),this.hasWPT=true);};onAppWindAngle=n=>{let e=this.getPathValueOrZero(n),t=this.normalizeAngle(e);(!this.hasAWA||this.angleDelta(this.appWindAngle(),t)>=this.DEG_EPSILON)&&(this.appWindAngle.set(t),this.hasAWA=true,this.runtime.options()?.windSectorEnable&&this.addHistoricalWindDirection(this.normalizeAngle(e)));};onAppWindSpeed=n=>{let e=this.getPathValueOrZero(n);(!this.hasAWS||Math.abs(this.appWindSpeed()-e)>=this.SPEED_EPSILON)&&(this.appWindSpeed.set(e),this.hasAWS=true);};onTrueWindSpeed=n=>{let e=this.getPathValueOrZero(n);(!this.hasTWS||Math.abs(this.trueWindSpeed()-e)>=this.SPEED_EPSILON)&&(this.trueWindSpeed.set(e),this.hasTWS=true);};onTrueWindAngle=n=>{let e=this.cfg(),t=e.paths?.trueWindAngle?.path||"",o=ht(t,this.getPathValueOrZero(n),this.currentHeading(),!!e?.compassModeEnabled),r=this.normalizeAngle(o);(!this.hasTWA||this.angleDelta(this.trueWindAngle(),r)>=this.DEG_EPSILON)&&(this.trueWindAngle.set(r),this.hasTWA=true);};registerStreams(){this.runtime.options()&&(this.stream.observe("headingPath",this.onHeadingUpdate),this.stream.observe("courseOverGround",this.onCOGUpdate),this.stream.observe("drift",this.onDriftUpdate),this.stream.observe("set",this.onSetUpdate),this.stream.observe("nextWaypointBearing",this.onWaypointUpdate),this.stream.observe("appWindAngle",this.onAppWindAngle),this.stream.observe("appWindSpeed",this.onAppWindSpeed),this.stream.observe("trueWindSpeed",this.onTrueWindSpeed),this.stream.observe("trueWindAngle",this.onTrueWindAngle));}ngOnDestroy(){this.stopWindSectors();}startWindSectors(){if(this.windSamples=[],this.windMinDeque=[],this.windMaxDeque=[],this.windSampleIndex=0,this.lastUnwrapped=null,this.lastSector={},!this.cfg().windSectorEnable){this.trueWindMinHistoric.set(void 0),this.trueWindMidHistoric.set(void 0),this.trueWindMaxHistoric.set(void 0),this.lastSector={};return}this.windSectorObservableSub=ms(1e3).subscribe(()=>{this.historicalCleanup();});}addHistoricalWindDirection(n){let e=Date.now(),t=this.unwrapAngle(n),o=this.windSampleIndex++;for(this.windSamples.push({t:e,u:t,i:o});this.windMinDeque.length&&this.windMinDeque[this.windMinDeque.length-1].u>=t;)this.windMinDeque.pop();for(this.windMinDeque.push({i:o,u:t});this.windMaxDeque.length&&this.windMaxDeque[this.windMaxDeque.length-1].u<=t;)this.windMaxDeque.pop();this.windMaxDeque.push({i:o,u:t});}historicalCleanup(){if(!this.cfg().windSectorEnable)return;let n=Date.now()-(this.cfg().windSectorWindowSeconds??5)*1e3;for(;this.windSamples.length&&this.windSamples[0].t<n;){let k=this.windSamples.shift();if(!k)break;this.windMinDeque.length&&this.windMinDeque[0].i===k.i&&this.windMinDeque.shift(),this.windMaxDeque.length&&this.windMaxDeque[0].i===k.i&&this.windMaxDeque.shift();}if(!this.windSamples.length||!this.windMinDeque.length||!this.windMaxDeque.length){(this.trueWindMinHistoric()!==void 0||this.trueWindMidHistoric()!==void 0||this.trueWindMaxHistoric()!==void 0)&&(this.trueWindMinHistoric.set(void 0),this.trueWindMidHistoric.set(void 0),this.trueWindMaxHistoric.set(void 0),this.lastSector={});return}let e=this.windMinDeque[0].u,t=this.windMaxDeque[0].u,o=(e+t)/2,r=this.normalizeAngle(e),p=this.normalizeAngle(o),u=this.normalizeAngle(t),M=this.lastSector.min,A=this.lastSector.mid,W=this.lastSector.max;(M===void 0||this.angleDelta(M,r)>=this.DEG_EPSILON||A===void 0||this.angleDelta(A,p)>=this.DEG_EPSILON||W===void 0||this.angleDelta(W,u)>=this.DEG_EPSILON)&&(this.trueWindMinHistoric.set(r),this.trueWindMidHistoric.set(p),this.trueWindMaxHistoric.set(u),this.lastSector={min:r,mid:p,max:u});}getPathValueOrZero(n){return n.data.value==null?0:n.data.value}stopWindSectors(){this.windSectorObservableSub?.unsubscribe();}unwrapAngle(n){if(this.lastUnwrapped==null)return this.lastUnwrapped=n,n;let e=this.lastUnwrapped,t=(e%360+360)%360,o=(n-t+540)%360-180,r=e+o;return this.lastUnwrapped=r,r}normalizeAngle(n){return (n%360+360)%360}angleDelta(n,e){let t=(e-n+540)%360-180;return Math.abs(t)}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=JD({type:m,selectors:[["widget-wind-steer"]],inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:1,vars:25,consts:[[3,"compassHeading","compassModeEnabled","courseOverGroundAngle","courseOverGroundEnabled","trueWindAngle","twsEnabled","twaEnabled","trueWindSpeed","trueWindSpeedUnit","appWindAngle","awsEnabled","appWindSpeed","appWindSpeedUnit","laylineAngle","closeHauledLineEnabled","windSectorEnabled","driftEnabled","driftFlow","driftSet","waypointAngle","waypointEnabled","trueWindMinHistoric","trueWindMidHistoric","trueWindMaxHistoric","sailSetupEnabled"]],template:function(e,t){e&1&&$h(0,"svg-windsteer",0),e&2&&Bh("compassHeading",t.currentHeading())("compassModeEnabled",t.compassModeEnabledValue())("courseOverGroundAngle",t.courseOverGroundAngle())("courseOverGroundEnabled",t.courseOverGroundEnabledValue())("trueWindAngle",t.trueWindAngle())("twsEnabled",t.twsEnabledValue())("twaEnabled",t.twaEnabledValue())("trueWindSpeed",t.trueWindSpeed())("trueWindSpeedUnit",t.trueWindSpeedUnit())("appWindAngle",t.appWindAngle())("awsEnabled",t.awsEnabledValue())("appWindSpeed",t.appWindSpeed())("appWindSpeedUnit",t.appWindSpeedUnit())("laylineAngle",t.laylineAngleValue())("closeHauledLineEnabled",t.closeHauledLineEnabledValue())("windSectorEnabled",t.windSectorEnabledValue())("driftEnabled",t.driftEnabledValue())("driftFlow",t.driftFlow())("driftSet",t.driftSet())("waypointAngle",t.waypointAngle())("waypointEnabled",t.waypointEnabledValue())("trueWindMinHistoric",t.trueWindMinHistoric())("trueWindMidHistoric",t.trueWindMidHistoric())("trueWindMaxHistoric",t.trueWindMaxHistoric())("sailSetupEnabled",t.runtime.options()?.sailSetupEnable??false);},dependencies:[J],encapsulation:2})}return m})();function mt(m,b){let n=(m+b)%360;return n<0&&(n+=360),n}function ht(m,b,n,e){return (m.includes("angleTrueWater")||m.includes("angleTrueGround"))&&e?mt(n,b):b}export{St as WidgetWindComponent,ht as computeTrueWindBaseAngle};
|
|
1
|
+
import {v,R,S}from'./chunk-CQNVyz8q.js';import {d1 as Hj,w,du as p,dv as rt$1,D as Dt,v as vt,F as Fa,dn as ge,aI as ms,J as JD,c as $h,B as Bh,$ as $j,ao as ue,dz as es,cn as wd,ci as dl,cp as Uh,cj as fl,_ as _w,T as TT,bD as HT,e as EE,M as Mw,d as ig,an as Hh,aA as gg,dA as UT,f as eg,K as Kw}from'./main-IINF7HD6.js';var nt=["rotatingDial"],it=["awaIndicator"],at=["twaIndicator"],ot=["wptIndicator"],rt=["setIndicator"],st=["cogIndicator"];function lt(m,b){m&1&&(wd(),dl(0,"g",69)(1,"text",100)(2,"tspan",101),TT(3,"330"),fl()(),dl(4,"text",102)(5,"tspan",103),TT(6,"300"),fl()(),dl(7,"text",104)(8,"tspan",105),TT(9,"W"),fl()(),dl(10,"text",106)(11,"tspan",107),TT(12,"240"),fl()(),dl(13,"text",108)(14,"tspan",109),TT(15,"210"),fl()(),dl(16,"text",110)(17,"tspan",111),TT(18,"S"),fl()(),dl(19,"text",112)(20,"tspan",113),TT(21,"150"),fl()(),dl(22,"text",114)(23,"tspan",115),TT(24,"120"),fl()(),dl(25,"text",116)(26,"tspan",117),TT(27,"E"),fl()(),dl(28,"text",118)(29,"tspan",119),TT(30,"60"),fl()(),dl(31,"text",120)(32,"tspan",121),TT(33,"30"),fl()(),dl(34,"text",122)(35,"tspan",123),TT(36,"N"),fl()()());}function dt(m,b){m&1&&(wd(),dl(0,"g",70)(1,"text",100)(2,"tspan",101),TT(3,"30"),fl()(),dl(4,"text",102)(5,"tspan",103),TT(6,"60"),fl()(),dl(7,"text",104)(8,"tspan",105),TT(9,"90"),fl()(),dl(10,"text",106)(11,"tspan",107),TT(12,"120"),fl()(),dl(13,"text",108)(14,"tspan",109),TT(15,"150"),fl()(),dl(16,"text",110)(17,"tspan",111),TT(18,"180"),fl()(),dl(19,"text",112)(20,"tspan",113),TT(21,"150"),fl()(),dl(22,"text",114)(23,"tspan",115),TT(24,"120"),fl()(),dl(25,"text",116)(26,"tspan",117),TT(27,"90"),fl()(),dl(28,"text",118)(29,"tspan",119),TT(30,"60"),fl()(),dl(31,"text",120)(32,"tspan",121),TT(33,"30"),fl()(),dl(34,"text",122)(35,"tspan",123),TT(36,"0"),fl()()());}var Y=([m,b],[n,e],[t,o])=>(Math.atan2(o-e,t-n)-Math.atan2(b-e,m-n)+3*Math.PI)%(2*Math.PI)-Math.PI,J=(()=>{class m{rotatingDial=$j.required("rotatingDial");awaIndicator=$j.required("awaIndicator");twaIndicator=$j.required("twaIndicator");wptIndicator=$j.required("wptIndicator");setIndicator=$j.required("setIndicator");cogIndicator=$j.required("cogIndicator");compassHeading=Hj.required();compassModeEnabled=Hj.required();courseOverGroundAngle=Hj(void 0);courseOverGroundEnabled=Hj.required();trueWindAngle=Hj.required();twsEnabled=Hj.required();twaEnabled=Hj.required();trueWindSpeed=Hj.required();trueWindSpeedUnit=Hj.required();appWindAngle=Hj.required();awsEnabled=Hj.required();appWindSpeed=Hj.required();appWindSpeedUnit=Hj.required();laylineAngle=Hj(void 0);closeHauledLineEnabled=Hj.required();sailSetupEnabled=Hj.required();windSectorEnabled=Hj.required();driftEnabled=Hj.required();driftSet=Hj(void 0);driftFlow=Hj(void 0);waypointAngle=Hj(void 0);waypointEnabled=Hj.required();trueWindMinHistoric=Hj(void 0);trueWindMidHistoric=Hj(void 0);trueWindMaxHistoric=Hj(void 0);compass={oldValue:0,newValue:0};twa={oldValue:0,newValue:0};awa={oldValue:0,newValue:0};wpt={oldValue:0,newValue:0};cog={oldValue:0,newValue:0};set={oldValue:0,newValue:0};compassInitialized=false;twaInitialized=false;awaInitialized=false;wptInitialized=false;cogInitialized=false;setInitialized=false;headingValue=vt("--");trueWindHeading=0;waypointActive=vt(false);portLaylinePrev=0;stbdLaylinePrev=0;portLaylineAnimId=null;stbdLaylineAnimId=null;closeHauledLinePortPath=vt("M 500,500 500,500");closeHauledLineStbdPath=vt("M 500,500 500,500");portSectorPrev={min:0,mid:0,max:0};stbdSectorPrev={min:0,mid:0,max:0};portSectorAnimId=null;stbdSectorAnimId=null;portWindSectorPath=vt("");stbdWindSectorPath=vt("");animationFrameIds=new WeakMap;CENTER=500;RADIUS=350;ANIMATION_DURATION=900;EPS_ANGLE=1;ngZone=w(ue);setRotationImmediate(n,e){n.setAttribute("transform",`rotate(${e} 500 500)`);}constructor(){Fa(()=>{let n=this.waypointEnabled();ge(()=>{this.waypointActive.set(n);});}),Fa(()=>{let n=this.compassModeEnabled(),e=this.compassHeading(),t=Number.isFinite(e)?Math.round(e):null;t!=null&&ge(()=>{let o=n?t:0,r=!this.compassInitialized;r?(this.compass.oldValue=o,this.compass.newValue=o,this.compassInitialized=true):(this.compass.oldValue=this.compass.newValue,this.compass.newValue=o),this.headingValue.set(t.toString()),this.rotatingDial()?.nativeElement&&(r||this.compass.oldValue===this.compass.newValue?this.setRotationImmediate(this.rotatingDial().nativeElement,-this.compass.newValue):S(this.rotatingDial().nativeElement,-this.compass.oldValue,-this.compass.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone),this.updateCloseHauledLines(false),this.updateWindSectors(false));});}),Fa(()=>{let n=this.courseOverGroundAngle(),e=Number.isFinite(n)?Math.round(n):null,t=this.compassModeEnabled();e!=null&&ge(()=>{let o=t?this.compass.newValue:0,r=e-o,p=!this.cogInitialized;p?(this.cog.oldValue=r,this.cog.newValue=r,this.cogInitialized=true):(this.cog.oldValue=this.cog.newValue,this.cog.newValue=r),this.cogIndicator()?.nativeElement&&(p||this.cog.oldValue===this.cog.newValue?this.setRotationImmediate(this.cogIndicator().nativeElement,this.cog.newValue):S(this.cogIndicator().nativeElement,this.cog.oldValue,this.cog.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{let n=this.waypointAngle();ge(()=>{if(n==null||!Number.isFinite(n)){this.waypointActive.set(false);return}this.waypointEnabled()?this.waypointActive.set(true):this.waypointActive.set(false);let e=!this.wptInitialized;e?(this.wpt.oldValue=n,this.wpt.newValue=n,this.wptInitialized=true):(this.wpt.oldValue=this.wpt.newValue,this.wpt.newValue=n),this.wptIndicator()?.nativeElement&&(e||this.wpt.oldValue===this.wpt.newValue?this.setRotationImmediate(this.wptIndicator().nativeElement,this.wpt.newValue):S(this.wptIndicator().nativeElement,this.wpt.oldValue,this.wpt.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{let n=this.appWindAngle(),e=Number.isFinite(n)?Math.round(n):null;e!=null&&ge(()=>{let t=!this.awaInitialized;t?(this.awa.oldValue=e,this.awa.newValue=e,this.awaInitialized=true):(this.awa.oldValue=this.awa.newValue,this.awa.newValue=e),this.awaIndicator()?.nativeElement&&(t||this.awa.oldValue===this.awa.newValue?this.setRotationImmediate(this.awaIndicator().nativeElement,this.awa.newValue):S(this.awaIndicator().nativeElement,this.awa.oldValue,this.awa.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone)),this.updateCloseHauledLines(!t);});}),Fa(()=>{let n=this.trueWindAngle(),e=Number.isFinite(n)?Math.round(n):null,t=this.compassModeEnabled();e!=null&&ge(()=>{this.trueWindHeading=e;let o=t?this.compass.newValue*-1:0,r=this.addHeading(this.trueWindHeading,o);this.twaInitialized?(this.twa.oldValue=this.twa.newValue,this.twa.newValue=r):(this.twa.oldValue=r,this.twa.newValue=r,this.twaInitialized=true),this.twaIndicator()?.nativeElement&&(!this.twaInitialized||this.twa.oldValue===this.twa.newValue?this.setRotationImmediate(this.twaIndicator().nativeElement,this.twa.newValue):S(this.twaIndicator().nativeElement,this.twa.oldValue,this.twa.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{this.laylineAngle(),this.closeHauledLineEnabled()&&ge(()=>this.updateCloseHauledLines());}),Fa(()=>{let n=this.driftSet(),e=Number.isFinite(n)?Math.round(n):null;e!=null&&ge(()=>{this.setInitialized?(this.set.oldValue=this.set.newValue,this.set.newValue=e):(this.set.oldValue=e,this.set.newValue=e,this.setInitialized=true),this.setIndicator()?.nativeElement&&(!this.setInitialized||this.set.oldValue===this.set.newValue?this.setRotationImmediate(this.setIndicator().nativeElement,this.set.newValue):S(this.setIndicator().nativeElement,this.set.oldValue,this.set.newValue,this.ANIMATION_DURATION,void 0,this.animationFrameIds,void 0,this.ngZone));});}),Fa(()=>{let n=this.windSectorEnabled();this.trueWindMinHistoric(),this.trueWindMidHistoric(),this.trueWindMaxHistoric(),this.laylineAngle(),ge(()=>{if(!n){this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.portSectorAnimId=null,this.stbdSectorAnimId=null,this.portWindSectorPath.set(""),this.stbdWindSectorPath.set("");return}this.updateWindSectors(true);});});}updateCloseHauledLines(n=true){if(!this.closeHauledLineEnabled())return;let e=this.compassModeEnabled(),t=e&&Number(this.compass.newValue)||0,o=e&&Number(this.awa.newValue)||0,r=Number(this.laylineAngle())||0,p=e?this.addHeading(t,this.addHeading(o,r*-1)):this.addHeading(o,r*-1);this.animateLayline(this.portLaylinePrev,p,true,n),this.portLaylinePrev=p;let u=e?this.addHeading(t,this.addHeading(o,r)):this.addHeading(o,r);this.animateLayline(this.stbdLaylinePrev,u,false,n),this.stbdLaylinePrev=u;}animateLayline(n,e,t,o=true){if(t&&this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),!t&&this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId),this.angleDelta(n,e)<this.EPS_ANGLE){this.drawLayline(e,t),t?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;return}if(!o){this.drawLayline(e,t),t?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;return}let r=v(n,e,this.ANIMATION_DURATION,p=>this.drawLayline(p,t),()=>{t?this.portLaylineAnimId=null:this.stbdLaylineAnimId=null;},this.ngZone);t?this.portLaylineAnimId=r:this.stbdLaylineAnimId=r;}drawLayline(n,e){let t=n*Math.PI/180,o=Math.floor(this.RADIUS*Math.sin(t)+this.CENTER),r=Math.floor(this.RADIUS*Math.cos(t)*-1+this.CENTER);e?this.closeHauledLinePortPath.set(`M ${this.CENTER},${this.CENTER} L ${o},${r}`):this.closeHauledLineStbdPath.set(`M ${this.CENTER},${this.CENTER} L ${o},${r}`);}windSectorsInitialized=false;updateWindSectors(n=true){if(!this.windSectorEnabled()||this.trueWindMinHistoric()==null||this.trueWindMidHistoric()==null||this.trueWindMaxHistoric()==null)return;let e={min:this.trueWindMinHistoric()??0,mid:this.trueWindMidHistoric()??0,max:this.trueWindMaxHistoric()??0},t={min:this.trueWindMinHistoric()??0,mid:this.trueWindMidHistoric()??0,max:this.trueWindMaxHistoric()??0};if(!this.windSectorsInitialized){this.windSectorsInitialized=true,n?(this.animateWindSector(e,e,true),this.animateWindSector(t,t,false)):(this.portWindSectorPath.set(this.computeSectorPath(e,true)),this.stbdWindSectorPath.set(this.computeSectorPath(t,false))),this.portSectorPrev=e,this.stbdSectorPrev=t;return}n?this.angleDelta(this.portSectorPrev.min,e.min)<this.EPS_ANGLE&&this.angleDelta(this.portSectorPrev.mid,e.mid)<this.EPS_ANGLE&&this.angleDelta(this.portSectorPrev.max,e.max)<this.EPS_ANGLE?(this.portWindSectorPath.set(this.computeSectorPath(e,true)),this.stbdWindSectorPath.set(this.computeSectorPath(t,false))):(this.animateWindSector(this.portSectorPrev,e,true),this.animateWindSector(this.stbdSectorPrev,t,false)):(this.portWindSectorPath.set(this.computeSectorPath(e,true)),this.stbdWindSectorPath.set(this.computeSectorPath(t,false))),this.portSectorPrev=e,this.stbdSectorPrev=t;}animateWindSector(n,e,t){if(t&&this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),!t&&this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.angleDelta(n.min,e.min)<this.EPS_ANGLE&&this.angleDelta(n.mid,e.mid)<this.EPS_ANGLE&&this.angleDelta(n.max,e.max)<this.EPS_ANGLE){let p=this.computeSectorPath(e,t);t?this.portWindSectorPath.set(p):this.stbdWindSectorPath.set(p),t?this.portSectorAnimId=null:this.stbdSectorAnimId=null;return}let r=R(n,e,this.ANIMATION_DURATION,p=>{let u=this.computeSectorPath(p,t);t?this.portWindSectorPath.set(u):this.stbdWindSectorPath.set(u);},()=>{t?this.portSectorAnimId=null:this.stbdSectorAnimId=null;},this.ngZone);t?this.portSectorAnimId=r:this.stbdSectorAnimId=r;}addHeading(n=0,e=0){let t=(n+e)%360;return t<0&&(t+=360),t}ngOnDestroy(){this.portLaylineAnimId&&cancelAnimationFrame(this.portLaylineAnimId),this.stbdLaylineAnimId&&cancelAnimationFrame(this.stbdLaylineAnimId),this.portLaylineAnimId=null,this.stbdLaylineAnimId=null,this.portSectorAnimId&&cancelAnimationFrame(this.portSectorAnimId),this.stbdSectorAnimId&&cancelAnimationFrame(this.stbdSectorAnimId),this.portSectorAnimId=null,this.stbdSectorAnimId=null;let n=[this.rotatingDial(),this.awaIndicator(),this.twaIndicator(),this.wptIndicator(),this.setIndicator(),this.cogIndicator()];for(let e of n){let t=e?.nativeElement;if(!t)continue;let o=this.animationFrameIds.get(t);o&&cancelAnimationFrame(o),this.animationFrameIds.delete(t);}}angleDelta(n,e){let t=(e-n+540)%360-180;return Math.abs(t)}computeSectorPath(n,e){let o=(Number(this.laylineAngle())||0)*(e?-1:1),r=this.compassModeEnabled(),p=r&&Number(this.compass.newValue)||0,u=Number(this.awa.newValue)||0,M=r?this.addHeading(p,this.addHeading(n.min,o)):this.addHeading(o,this.addHeading(n.min,u*-1)),A=r?this.addHeading(p,this.addHeading(n.mid,o)):this.addHeading(o,this.addHeading(n.mid,u*-1)),W=r?this.addHeading(p,this.addHeading(n.max,o)):this.addHeading(o,this.addHeading(n.max,u*-1)),D=this.RADIUS*Math.sin(M*Math.PI/180)+this.CENTER,k=this.RADIUS*Math.cos(M*Math.PI/180)*-1+this.CENTER,O=this.RADIUS*Math.sin(A*Math.PI/180)+this.CENTER,U=this.RADIUS*Math.cos(A*Math.PI/180)*-1+this.CENTER,T=this.RADIUS*Math.sin(W*Math.PI/180)+this.CENTER,q=this.RADIUS*Math.cos(W*Math.PI/180)*-1+this.CENTER,K=Math.abs(Y([D,k],[O,U],[T,q]))>Math.PI/2?0:1,tt=Y([T,q],[D,k],[O,U])>0?0:1;return `M ${this.CENTER},${this.CENTER} L ${D},${k} A ${this.RADIUS},${this.RADIUS} 0 ${K} ${tt} ${T},${q} z`}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=JD({type:m,selectors:[["svg-windsteer"]],viewQuery:function(e,t){e&1&&eg(t.rotatingDial,nt,5)(t.awaIndicator,it,5)(t.twaIndicator,at,5)(t.wptIndicator,ot,5)(t.setIndicator,rt,5)(t.cogIndicator,st,5),e&2&&Kw(6);},inputs:{compassHeading:[1,"compassHeading"],compassModeEnabled:[1,"compassModeEnabled"],courseOverGroundAngle:[1,"courseOverGroundAngle"],courseOverGroundEnabled:[1,"courseOverGroundEnabled"],trueWindAngle:[1,"trueWindAngle"],twsEnabled:[1,"twsEnabled"],twaEnabled:[1,"twaEnabled"],trueWindSpeed:[1,"trueWindSpeed"],trueWindSpeedUnit:[1,"trueWindSpeedUnit"],appWindAngle:[1,"appWindAngle"],awsEnabled:[1,"awsEnabled"],appWindSpeed:[1,"appWindSpeed"],appWindSpeedUnit:[1,"appWindSpeedUnit"],laylineAngle:[1,"laylineAngle"],closeHauledLineEnabled:[1,"closeHauledLineEnabled"],sailSetupEnabled:[1,"sailSetupEnabled"],windSectorEnabled:[1,"windSectorEnabled"],driftEnabled:[1,"driftEnabled"],driftSet:[1,"driftSet"],driftFlow:[1,"driftFlow"],waypointAngle:[1,"waypointAngle"],waypointEnabled:[1,"waypointEnabled"],trueWindMinHistoric:[1,"trueWindMinHistoric"],trueWindMidHistoric:[1,"trueWindMidHistoric"],trueWindMaxHistoric:[1,"trueWindMaxHistoric"]},decls:124,vars:44,consts:[["rotatingDial",""],["wptIndicator",""],["setIndicator",""],["cogIndicator",""],["awaIndicator",""],["twaIndicator",""],["viewBox","0 0 1000 1000"],["id","defs1"],["id","linearGradient18"],["offset","0",1,"boat",2,"stop-opacity","0.71372495"],["offset","1",1,"boat",2,"stop-opacity","0"],["id","linearGradient16"],["id","linearGradient13"],["offset","0.41176471",1,"drift-arrow",2,"stop-opacity","1"],["offset","1",1,"drift-arrow",2,"stop-opacity","0"],["id","swatch4"],["offset","0","id","stop4",2,"stop-color","#000000","stop-opacity","1"],["clipPathUnits","userSpaceOnUse","id","clipPath16"],["id","ellipse16","cx","311.24539","cy","-1516.3778","rx","194.27342","ry","181.83022",2,"display","inline","fill","#9a9300","fill-opacity","1","stroke","none","stroke-width","55","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],[0,"xlink","href","#linearGradient13","id","linearGradient14","x1","453.48047","y1","583.62891","x2","638.11328","y2","583.62891","gradientUnits","userSpaceOnUse","gradientTransform","matrix(0.00723393,1.2388183,-1.0538241,0.00615367,1111.2051,-179.73465)"],[0,"xlink","href","#linearGradient16","id","linearGradient17","x1","-502.04896","y1","439.35551","x2","-316","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],[0,"xlink","href","#linearGradient18","id","linearGradient19","x1","495.83999","y1","439.35551","x2","681.88895","y2","439.35551","gradientUnits","userSpaceOnUse","gradientTransform","translate(0,49.000266)"],["id","layerBackground",2,"display","inline"],["id","boat",2,"display","inline"],["id","portSide","d","M 498.75049,208.89453 A 267.09439,554.67401 0 0 1 678.45974,767.81661",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient19)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","starboardSide","d","m -499.13846,208.89453 a 267.09439,554.67401 0 0 1 179.70925,558.92208","transform","scale(-1,1)",2,"fill","none","fill-opacity","1","stroke","url(#linearGradient17)","stroke-width","5.821","stroke-linecap","round","stroke-miterlimit","0","stroke-dasharray","none"],["id","layerCompass"],["id","fixedDial"],["id","portStarboardBackground","d","M 499.99997,10.520805 A 489.47916,489.47916 0 0 0 10.520805,499.99997 489.47916,489.47916 0 0 0 499.99997,989.47913 489.47916,489.47916 0 0 0 989.47913,499.99997 489.47916,489.47916 0 0 0 499.99997,10.520805 Z m 0,132.291665 a 357.1875,357.1875 0 0 1 357.18749,357.1875 357.1875,357.1875 0 0 1 -357.18749,357.18749 357.1875,357.1875 0 0 1 -357.1875,-357.18749 357.1875,357.1875 0 0 1 357.1875,-357.1875 z",1,"fixed-dial-background",2,"display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","port","d","M 93.283801,265.18231 A 469.63541,469.63541 0 0 1 339.37522,58.687079",1,"port",2,"display","inline","fill","none","stroke-width","39.6875","stroke-linecap","butt","stroke-linejoin","round","stroke-miterlimit","0"],["id","starboard","d","M 660.62476,58.687069 A 469.63541,469.63541 0 0 1 906.71619,265.18228",1,"starboard",2,"display","inline","fill","none","stroke-width","39.6875","stroke-linecap","butt","stroke-linejoin","round","stroke-miterlimit","0"],["id","barsAndText",1,"contrast-stroke",2,"display","inline"],["d","m 416.35095,19.837399 2.78142,15.77426","id","path199",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 334.23173,41.658798 5.47834,15.051615","id","path200",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 260.27336,81.806174 12.55151,21.739856","id","path37",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 187.44581,126.00035 10.29591,12.2702","id","path197",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 127.23918,185.95785 12.27019,10.29591","id","path198",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 83.252815,257.66724 21.739865,12.55151","id","path166",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 42.289518,332.39273 15.05162,5.47835","id","path195",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 20.127799,414.42077 15.774251,2.78142","id","path196",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 17.879075,498.47765 H 42.982096","id","path167",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 19.776759,583.71187 15.77426,-2.78142","id","path193",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 41.598167,665.8311 15.051615,-5.47834","id","path194",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 81.668963,739.71246 103.40883,727.16095","id","path168",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 125.93981,812.61701 12.2702,-10.29591","id","path191",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 185.89732,872.82365 10.29591,-12.27019","id","path192",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 257.53004,916.73298 12.55151,-21.73985","id","path169",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 332.33219,957.7732 5.47835,-15.05162","id","path189",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 414.36024,979.93493 2.78142,-15.77425","id","path190",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 498.34046,982.10672 V 957.0037","id","path170",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 583.65133,980.28596 580.86991,964.5117","id","path187",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 665.77057,958.46456 -5.47834,-15.05161","id","path188",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 739.57526,918.31683 727.02375,896.57698","id","path171",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 812.55647,874.12301 802.26056,861.85282","id","path185",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 872.76312,814.16551 860.49293,803.8696","id","path186",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 916.59579,742.45577 894.85593,729.90426","id","path172",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 957.71266,667.73063 -15.05161,-5.47834","id","path183",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 979.8744,585.70259 -15.77425,-2.78142","id","path184",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 981.96954,501.64535 -25.10304,10e-6","id","path173",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 980.22542,416.41149 -15.77425,2.78143","id","path181",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 958.40403,334.29226 -15.05161,5.47834","id","path182",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 918.17964,260.41055 -21.73986,12.55151","id","path174",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 874.06247,187.50636 -12.27018,10.29591","id","path180",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 817.34594,130.05494 -10.40259,12.17987","id","path179",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 742.31857,83.390025 729.76706,105.12988","id","path175",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 667.6701,42.350172 -5.47834,15.051615","id","path178",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","m 585.64206,20.188432 -2.78142,15.77425","id","path176",2,"fill","none","fill-opacity","0","stroke-width","4.18042","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["d","M 501.50816,18.016286 V 43.119307","id","path177",2,"fill","none","fill-opacity","0","stroke-width","15","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0","stroke-dasharray","none"],["cx","500","cy","500","r","404",1,"rotating-dial-Backplate"],["id","dialLabelsCompass"],["id","dialLabelsPortStbd"],["id","LayerLayline"],["id","PortLayline",1,"laylines",2,"fill","none","stroke-width","5","stroke-dasharray","40, 20","stroke-dashoffset","0","stroke-opacity","0.6"],["id","StbdLayline",1,"laylines",2,"fill","none","stroke-width","5","stroke-dasharray","40, 20","stroke-dashoffset","0","stroke-opacity","0.6"],["id","LayerWindShift"],["id","portSectorShift",1,"wind-sector-port",2,"fill-opacity","0.5","stroke","none"],["id","StbdSectorShift",1,"wind-sector-stbd",2,"fill-opacity","0.5","stroke","none"],["clip-path","url(#clipPath16)","d","m 416.36313,-1521.3937 c 371.15015,24.6522 731.95257,192.9774 983.98757,467.456 227.2972,244.24389 363.1732,572.3808 369.4045,906.42978 15.9331,499.10271 -269.2071,986.17861 -700.5178,1232.88522 -485.08308,290.4843 -1134.555606,269.7346 -1599.2788,-52.7169 -404.5062,-269.24461 -653.2224,-759.35388 -614.1746,-1245.84043 30.2148,-487.61814 344.18931,-937.89997 780.52695,-1152.15867 176.96718,-89.2092 371.8823084,-142.3103 569.54914,-156.0363","transform","matrix(0.28310615,0,0,0.32000828,411.88452,661.64815)",1,"next-waypoint-bar",2,"display","inline","fill","none","stroke-width","30","stroke-miterlimit","0"],["id","path6341","cx","500","cy","175.00002","rx","17.361122","ry","17.361118",1,"next-waypoint",2,"display","inline","fill","none","stroke-width","15.2778","stroke-dasharray","none"],["id","setArrow","d","m 563.93337,480.60403 -64.4901,-94.9673 -63.37665,95.71396 58.48691,-30.71299 0.77713,133.08346 c 0.0992,16.99331 2.52916,30.65913 5.44822,30.64209 2.91911,-0.0171 5.18926,-13.71032 5.09001,-30.70362 l -0.77782,-133.20444 z",2,"fill","url(#linearGradient14)","stroke","none","stroke-width","1.18648"],["id","layerCounter"],["id","twsCounter"],[0,"xml","space","preserve","x","904.27722","y","150.88913","id","text43",1,"true-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","903.84814","y","114.73512","id","text42",1,"true-wind",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","905.25897","y","52.894646","id","text41",1,"true-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],["id","awsCounter"],[0,"xml","space","preserve","x","94.554222","y","150.88913","id","text39",1,"app-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","94.580925","y","114.63747","id","text40",1,"app-wind",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],[0,"xml","space","preserve","x","95.967644","y","52.894646","id","text39-7",1,"app-wind-label",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","34.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","14.5521","stroke-miterlimit","0"],["id","layerCurrent"],["id","text11",0,"xml","space","preserve","x","499.78842","y","523.55145",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-stretch","normal","font-size","66.6667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none"],["id","layerIndicators",2,"display","inline"],["d","m 506.20767,172.99458 a 6.3888631,8.8250643 0 0 1 -6.38888,8.82508 6.3888631,8.8250643 0 0 1 -6.38888,-8.82508 6.3888631,8.8250643 0 0 1 6.38888,-8.82509 6.3888631,8.8250643 0 0 1 6.38888,8.82509 z M 476.25472,30.811298 493.47058,13.265068 c 3.6173,-3.6867571 9.44162,-3.6867571 13.05892,0 l 17.21586,17.546106 c 3.6173,3.686743 3.6173,9.622786 0,13.309544 l -17.21595,17.54623 c -3.61721,3.686757 -9.44153,3.686757 -13.05893,0 L 476.25472,44.120841 c -3.6174,-3.686743 -3.6174,-9.622924 0,-13.309543 z m 17.20533,-16.510116 h 12.77766 V 173.26408 h -12.77766 z",1,"course-over-ground",2,"stroke-width","14.7329","stroke-linecap","square"],["d","m 451.77021,55.078207 42.08541,-33.202814 a 12.555638,12.555638 0.26446337 0 1 15.64423,0.07221 l 42.20046,33.930296 a 15.557694,15.557694 71.53185 0 1 5.32954,15.957795 L 504.17034,279.76529 a 2.5373267,2.5373267 0.02614114 0 1 -4.91879,-0.002 L 446.37431,70.966036 a 15.416336,15.416336 108.75875 0 1 5.3959,-15.887829 z","transform","matrix(0.7935953,0,0,0.92686935,101.84848,11.000842)",1,"app-wind",2,"display","inline","stroke-width","5.8876","stroke-miterlimit","0"],[0,"xml","space","preserve","x","500","y","110",1,"card-color",2,"font-weight","bold","font-size","70px","font-family","Roboto","text-align","center","text-anchor","middle","display","inline","stroke","none"],["d","m 451.77021,55.078207 42.08541,-33.202814 a 12.555638,12.555638 0.26446337 0 1 15.64423,0.07221 l 42.20046,33.930296 a 15.557694,15.557694 71.53185 0 1 5.32954,15.957795 L 504.17034,279.76529 a 2.5373267,2.5373267 0.02614114 0 1 -4.91879,-0.002 L 446.37431,70.966036 a 15.416336,15.416336 108.75875 0 1 5.3959,-15.887829 z","transform","matrix(0.60410307,0,0,0.70555435,196.91787,21.152867)",1,"true-wind",2,"display","inline","stroke","none","stroke-width","5.8876","stroke-miterlimit","0"],[0,"xml","space","preserve","x","500","y","110","id","text10",1,"card-color",2,"font-weight","bold","font-size","60px","font-family","Roboto","text-align","center","text-anchor","middle","display","inline","stroke","none"],["id","layerHeading",2,"display","inline"],["id","rect1","width","256.47919","height","108.5428","x","371.76041","y","10.805443","rx","23.757372",1,"heading-background",2,"stroke-width","4.43107","stroke-linejoin","bevel","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","0.509946"],["x","511.29395","y","102.86786",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","106.667px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke","none","stroke-width","5","stroke-linejoin","bevel","stroke-miterlimit","0","stroke-dasharray","none","stroke-opacity","1"],[0,"xml","space","preserve","x","181.91386","y","284.25186","id","text3","transform","rotate(-30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan3","x","181.91386","y","284.25186",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-183.53558","y","283.74811","id","text14","transform","rotate(-60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan14","x","-183.53558","y","283.74811",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-499.70761","y","100.95312","id","text15","transform","rotate(-90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan15","x","-499.70761","y","100.95312",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.66119","y","-216.36243","id","text16","transform","rotate(-120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["x","-681.66119","y","-216.36243","id","tspan25",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-681.06616","y","-581.71271","id","text17","transform","rotate(-150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan17","x","-681.06616","y","-581.71271",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-498.3313","y","-897.40875","id","text18","transform","scale(-1)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan18","x","-498.3313","y","-897.40875",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","-184.41313","y","-1080.8452","id","text19","transform","rotate(150)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan19","x","-184.41313","y","-1080.8452",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","181.57225","y","-1080.8853","id","text20","transform","rotate(120)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan20","x","181.57225","y","-1080.8853",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","501.42661","y","-896.93701","id","text21","transform","rotate(90)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan21","x","501.42661","y","-896.93701",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","682.35815","y","-579.63336","id","text22","transform","rotate(60)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan22","x","682.35815","y","-579.63336",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","681.81525","y","-214.27321","id","text23","transform","rotate(30)",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan23","x","681.81525","y","-214.27321",2,"font-style","normal","font-variant","normal","font-weight","normal","font-stretch","normal","font-size","44.0972px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"],[0,"xml","space","preserve","x","500.15503","y","101.96342","id","text24",1,"contrast-text",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","display","inline","stroke","none","stroke-width","0.47625","stroke-linecap","square","stroke-linejoin","round","stroke-miterlimit","0"],["id","tspan24","x","500.15503","y","101.96342",2,"font-style","normal","font-variant","normal","font-weight","bold","font-stretch","normal","font-size","52.9167px","font-family","Roboto","font-variant-ligatures","normal","font-variant-caps","normal","font-variant-numeric","normal","font-variant-east-asian","normal","text-align","center","text-anchor","middle","stroke-width","0.47625"]],template:function(e,t){e&1&&(wd(),dl(0,"svg",6)(1,"defs",7)(2,"linearGradient",8),Uh(3,"stop",9)(4,"stop",10),fl(),dl(5,"linearGradient",11),Uh(6,"stop",9)(7,"stop",10),fl(),dl(8,"linearGradient",12),Uh(9,"stop",13)(10,"stop",14),fl(),dl(11,"linearGradient",15),Uh(12,"stop",16),fl(),dl(13,"clipPath",17),Uh(14,"ellipse",18),fl(),Uh(15,"linearGradient",19)(16,"linearGradient",20)(17,"linearGradient",21),fl(),dl(18,"g",22)(19,"g",23),Uh(20,"path",24)(21,"path",25),fl()(),dl(22,"g",26)(23,"g",27),Uh(24,"path",28)(25,"path",29)(26,"path",30),fl(),dl(27,"g",null,0)(29,"g",31),Uh(30,"path",32)(31,"path",33)(32,"path",34)(33,"path",35)(34,"path",36)(35,"path",37)(36,"path",38)(37,"path",39)(38,"path",40)(39,"path",41)(40,"path",42)(41,"path",43)(42,"path",44)(43,"path",45)(44,"path",46)(45,"path",47)(46,"path",48)(47,"path",49)(48,"path",50)(49,"path",51)(50,"path",52)(51,"path",53)(52,"path",54)(53,"path",55)(54,"path",56)(55,"path",57)(56,"path",58)(57,"path",59)(58,"path",60)(59,"path",61)(60,"path",62)(61,"path",63)(62,"path",64)(63,"path",65)(64,"path",66)(65,"path",67)(66,"circle",68),_w(67,lt,37,0,":svg:g",69)(68,dt,37,0,":svg:g",70),fl(),dl(69,"g",71),Uh(70,"path",72)(71,"path",73),fl(),dl(72,"g",74),Uh(73,"path",75)(74,"path",76),fl(),dl(75,"g",null,1),Uh(77,"path",77)(78,"ellipse",78),fl(),dl(79,"g",null,2),Uh(81,"path",79),fl()()(),dl(82,"g",80)(83,"g",81)(84,"text",82),TT(85),fl(),dl(86,"text",83),TT(87),HT(88,"number"),fl(),dl(89,"text",84),TT(90,"TWS"),fl()(),dl(91,"g",85)(92,"text",86),TT(93),fl(),dl(94,"text",87),TT(95),HT(96,"number"),fl(),dl(97,"text",88),TT(98,"AWS"),fl()()(),dl(99,"g",89)(100,"text",90),TT(101),HT(102,"number"),fl()(),dl(103,"g",91)(104,"g",null,3),Uh(106,"path",92),fl(),dl(107,"g",null,4),Uh(109,"path",93),dl(110,"text",94),TT(111,"A"),fl()(),dl(112,"g",null,5),Uh(114,"path",95),dl(115,"text",96),TT(116,"T"),fl()()(),dl(117,"g",97),Uh(118,"rect",98),dl(119,"text",99)(120,"tspan"),TT(121),dl(122,"tspan"),TT(123,"\xB0"),fl()()()()()),e&2&&(EE(67),Mw(t.compassModeEnabled()?67:68),EE(2),ig("display",t.closeHauledLineEnabled()?"inline":"none"),EE(),ig("display",t.appWindAngle()!=null?"inline":"none"),Hh("d",t.closeHauledLineStbdPath()),EE(),ig("display",t.appWindAngle()!=null?"inline":"none"),Hh("d",t.closeHauledLinePortPath()),EE(),ig("display",t.windSectorEnabled()?"inline":"none"),EE(),ig("display",t.portWindSectorPath()?"inline":"none"),Hh("d",t.portWindSectorPath()||null),EE(),ig("display",t.stbdWindSectorPath()?"inline":"none"),Hh("d",t.stbdWindSectorPath()||null),EE(),Hh("display",t.waypointActive()&&t.compassModeEnabled()?"inline":"none"),EE(4),ig("display",t.driftEnabled()&&t.compassModeEnabled()?"inline":"none"),EE(4),ig("display",t.twsEnabled()?"inline":"none"),EE(2),gg(t.trueWindSpeedUnit()),EE(2),gg(UT(88,35,t.trueWindSpeed(),"1.1-1")??"--"),EE(4),ig("display",t.awsEnabled()?"inline":"none"),EE(2),gg(t.appWindSpeedUnit()),EE(2),gg(UT(96,38,t.appWindSpeed(),"1.1-1")??"--"),EE(4),ig("display",t.driftEnabled()&&t.compassModeEnabled()?"inline":"none"),EE(2),gg(UT(102,41,t.driftFlow(),"1.1-1")??"--"),EE(3),Hh("display",t.courseOverGroundEnabled()&&t.compassModeEnabled()?"inline":"none"),EE(8),ig("display",t.twaEnabled()?"inline":"none"),EE(9),gg(t.headingValue()));},dependencies:[es],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}svg[_ngcontent-%COMP%]{position:absolute;height:100%;width:100%;left:0;top:0}.fixed-dial-background[_ngcontent-%COMP%]{fill:var(--kip-grey-color)}.rotating-dial-Backplate[_ngcontent-%COMP%]{stroke:var(--mat-sys-background);fill:none;stroke-width:95}.starboard[_ngcontent-%COMP%]{stroke:var(--kip-starboard-color)}.port[_ngcontent-%COMP%]{stroke:var(--kip-port-color)}.heading-background[_ngcontent-%COMP%]{stroke:var(--kip-grey-color);fill:var(--kip-widget-card-background-color)}.boat[_ngcontent-%COMP%]{stop-color:var(--kip-grey-color)!important}.contrast-text[_ngcontent-%COMP%]{fill:var(--kip-contrast-color)}.contrast-stroke[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color)}.card-color[_ngcontent-%COMP%]{fill:var(--kip-widget-card-background-color)}.true-wind[_ngcontent-%COMP%]{fill:var(--kip-yellow-color)}.true-wind-label[_ngcontent-%COMP%]{fill:var(--kip-yellow-dim-color)}.app-wind[_ngcontent-%COMP%]{fill:var(--kip-orange-color)}.app-wind-label[_ngcontent-%COMP%]{fill:var(--kip-orange-dim-color)}.course-over-ground[_ngcontent-%COMP%]{fill:var(--kip-pink-color)}.next-waypoint[_ngcontent-%COMP%]{stroke:var(--kip-green-color)}.next-waypoint-bar[_ngcontent-%COMP%]{stroke:var(--kip-grey-color)}.laylines[_ngcontent-%COMP%]{stroke:var(--kip-contrast-color)}.wind-sector-port[_ngcontent-%COMP%]{fill:var(--kip-port-color)}.wind-sector-stbd[_ngcontent-%COMP%]{fill:var(--kip-starboard-color)}.drift-arrow[_ngcontent-%COMP%]{stop-color:var(--kip-blue-color)}"]})}return m})();var St=(()=>{class m{id=Hj.required();type=Hj.required();theme=Hj.required();static DEFAULT_CONFIG={supportAutomaticHistoricalSeries:false,filterSelfPaths:true,paths:{headingPath:{description:"True Heading",path:"self.navigation.headingTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},appWindAngle:{description:"Apparent Wind Angle",path:"self.environment.wind.angleApparent",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},appWindSpeed:{description:"Apparent Wind Speed",path:"self.environment.wind.speedApparent",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:true,showPathSkUnitsFilter:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:1e3},trueWindAngle:{description:"True Wind Angle",path:"self.environment.wind.angleTrueWater",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},trueWindSpeed:{description:"True Wind Speed",path:"self.environment.wind.speedTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:1e3},courseOverGround:{description:"True Course Over Ground",path:"self.navigation.courseOverGroundTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",showConvertUnitTo:false,convertUnitTo:"deg",sampleTime:1e3},nextWaypointBearing:{description:"Next Waypoint True Bearing",path:"self.navigation.course.calcValues.bearingTrue",source:"default",pathType:"number",isPathConfigurable:false,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},set:{description:"True Drift Set",path:"self.environment.current.setTrue",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"rad",convertUnitTo:"deg",showConvertUnitTo:false,sampleTime:1e3},drift:{description:"Drift Speed Impact",path:"self.environment.current.drift",source:"default",pathType:"number",isPathConfigurable:true,pathRequired:false,showPathSkUnitsFilter:false,pathSkUnitsFilter:"m/s",convertUnitTo:"knots",sampleTime:1e3}},compassModeEnabled:true,windSectorEnable:true,windSectorWindowSeconds:5,laylineEnable:true,laylineAngle:40,waypointEnable:true,courseOverGroundEnable:true,driftEnable:true,awsEnable:true,twsEnable:true,twaEnable:true,sailSetupEnable:false,enableTimeout:false,dataTimeout:5};runtime=w(p);stream=w(rt$1);cfg=Dt(()=>this.runtime.options()??m.DEFAULT_CONFIG);compassModeEnabledValue=Dt(()=>this.cfg().compassModeEnabled??false);courseOverGroundEnabledValue=Dt(()=>this.cfg().courseOverGroundEnable??false);twsEnabledValue=Dt(()=>this.cfg().twsEnable??false);twaEnabledValue=Dt(()=>this.cfg().twaEnable??false);awsEnabledValue=Dt(()=>this.cfg().awsEnable??false);laylineAngleValue=Dt(()=>this.cfg().laylineAngle??40);closeHauledLineEnabledValue=Dt(()=>this.cfg().laylineEnable??false);windSectorEnabledValue=Dt(()=>this.cfg().windSectorEnable??false);driftEnabledValue=Dt(()=>this.cfg().driftEnable??false);waypointEnabledValue=Dt(()=>this.cfg().waypointEnable??false);hasHeading=false;hasCOG=false;hasAWA=false;hasAWS=false;hasTWA=false;hasTWS=false;hasSet=false;hasDrift=false;hasWPT=false;currentHeading=vt(0);courseOverGroundAngle=vt(0);appWindAngle=vt(0);appWindSpeed=vt(0);appWindSpeedUnit=vt("");trueWindAngle=vt(0);trueWindSpeed=vt(0);trueWindSpeedUnit=vt("");driftFlow=vt(0);driftSet=vt(0);waypointAngle=vt(0);historicalWindDirection=[];trueWindMinHistoric=vt(void 0);trueWindMidHistoric=vt(void 0);trueWindMaxHistoric=vt(void 0);windSectorObservableSub=null;windSamples=[];windMinDeque=[];windMaxDeque=[];windSampleIndex=0;lastUnwrapped=null;lastSector={};DEG_EPSILON=1;SPEED_EPSILON=.1;constructor(){Fa(()=>{let e=this.cfg().paths;ge(()=>{this.appWindSpeedUnit.set(e?.appWindSpeed?.convertUnitTo??""),this.trueWindSpeedUnit.set(e?.trueWindSpeed?.convertUnitTo??""),this.registerStreams(),this.stopWindSectors(),this.startWindSectors();});});}onHeadingUpdate=n=>{let e=this.normalizeAngle(this.getPathValueOrZero(n));(!this.hasHeading||this.angleDelta(this.currentHeading(),e)>=this.DEG_EPSILON)&&(this.currentHeading.set(e),this.hasHeading=true);};onCOGUpdate=n=>{let e=this.normalizeAngle(this.getPathValueOrZero(n));(!this.hasCOG||this.angleDelta(this.courseOverGroundAngle(),e)>=this.DEG_EPSILON)&&(this.courseOverGroundAngle.set(e),this.hasCOG=true);};onDriftUpdate=n=>{let e=this.getPathValueOrZero(n);(!this.hasDrift||Math.abs(this.driftFlow()-e)>=this.SPEED_EPSILON)&&(this.driftFlow.set(e),this.hasDrift=true);};onSetUpdate=n=>{let e=this.normalizeAngle(this.getPathValueOrZero(n));(!this.hasSet||this.angleDelta(this.driftSet(),e)>=this.DEG_EPSILON)&&(this.driftSet.set(e),this.hasSet=true);};onWaypointUpdate=n=>{let e=n.data.value,t=this.normalizeAngle(e);(!this.hasWPT||this.angleDelta(this.waypointAngle(),t)>=this.DEG_EPSILON)&&(this.waypointAngle.set(t),this.hasWPT=true);};onAppWindAngle=n=>{let e=this.getPathValueOrZero(n),t=this.normalizeAngle(e);(!this.hasAWA||this.angleDelta(this.appWindAngle(),t)>=this.DEG_EPSILON)&&(this.appWindAngle.set(t),this.hasAWA=true,this.runtime.options()?.windSectorEnable&&this.addHistoricalWindDirection(this.normalizeAngle(e)));};onAppWindSpeed=n=>{let e=this.getPathValueOrZero(n);(!this.hasAWS||Math.abs(this.appWindSpeed()-e)>=this.SPEED_EPSILON)&&(this.appWindSpeed.set(e),this.hasAWS=true);};onTrueWindSpeed=n=>{let e=this.getPathValueOrZero(n);(!this.hasTWS||Math.abs(this.trueWindSpeed()-e)>=this.SPEED_EPSILON)&&(this.trueWindSpeed.set(e),this.hasTWS=true);};onTrueWindAngle=n=>{let e=this.cfg(),t=e.paths?.trueWindAngle?.path||"",o=ht(t,this.getPathValueOrZero(n),this.currentHeading(),!!e?.compassModeEnabled),r=this.normalizeAngle(o);(!this.hasTWA||this.angleDelta(this.trueWindAngle(),r)>=this.DEG_EPSILON)&&(this.trueWindAngle.set(r),this.hasTWA=true);};registerStreams(){this.runtime.options()&&(this.stream.observe("headingPath",this.onHeadingUpdate),this.stream.observe("courseOverGround",this.onCOGUpdate),this.stream.observe("drift",this.onDriftUpdate),this.stream.observe("set",this.onSetUpdate),this.stream.observe("nextWaypointBearing",this.onWaypointUpdate),this.stream.observe("appWindAngle",this.onAppWindAngle),this.stream.observe("appWindSpeed",this.onAppWindSpeed),this.stream.observe("trueWindSpeed",this.onTrueWindSpeed),this.stream.observe("trueWindAngle",this.onTrueWindAngle));}ngOnDestroy(){this.stopWindSectors();}startWindSectors(){if(this.windSamples=[],this.windMinDeque=[],this.windMaxDeque=[],this.windSampleIndex=0,this.lastUnwrapped=null,this.lastSector={},!this.cfg().windSectorEnable){this.trueWindMinHistoric.set(void 0),this.trueWindMidHistoric.set(void 0),this.trueWindMaxHistoric.set(void 0),this.lastSector={};return}this.windSectorObservableSub=ms(1e3).subscribe(()=>{this.historicalCleanup();});}addHistoricalWindDirection(n){let e=Date.now(),t=this.unwrapAngle(n),o=this.windSampleIndex++;for(this.windSamples.push({t:e,u:t,i:o});this.windMinDeque.length&&this.windMinDeque[this.windMinDeque.length-1].u>=t;)this.windMinDeque.pop();for(this.windMinDeque.push({i:o,u:t});this.windMaxDeque.length&&this.windMaxDeque[this.windMaxDeque.length-1].u<=t;)this.windMaxDeque.pop();this.windMaxDeque.push({i:o,u:t});}historicalCleanup(){if(!this.cfg().windSectorEnable)return;let n=Date.now()-(this.cfg().windSectorWindowSeconds??5)*1e3;for(;this.windSamples.length&&this.windSamples[0].t<n;){let k=this.windSamples.shift();if(!k)break;this.windMinDeque.length&&this.windMinDeque[0].i===k.i&&this.windMinDeque.shift(),this.windMaxDeque.length&&this.windMaxDeque[0].i===k.i&&this.windMaxDeque.shift();}if(!this.windSamples.length||!this.windMinDeque.length||!this.windMaxDeque.length){(this.trueWindMinHistoric()!==void 0||this.trueWindMidHistoric()!==void 0||this.trueWindMaxHistoric()!==void 0)&&(this.trueWindMinHistoric.set(void 0),this.trueWindMidHistoric.set(void 0),this.trueWindMaxHistoric.set(void 0),this.lastSector={});return}let e=this.windMinDeque[0].u,t=this.windMaxDeque[0].u,o=(e+t)/2,r=this.normalizeAngle(e),p=this.normalizeAngle(o),u=this.normalizeAngle(t),M=this.lastSector.min,A=this.lastSector.mid,W=this.lastSector.max;(M===void 0||this.angleDelta(M,r)>=this.DEG_EPSILON||A===void 0||this.angleDelta(A,p)>=this.DEG_EPSILON||W===void 0||this.angleDelta(W,u)>=this.DEG_EPSILON)&&(this.trueWindMinHistoric.set(r),this.trueWindMidHistoric.set(p),this.trueWindMaxHistoric.set(u),this.lastSector={min:r,mid:p,max:u});}getPathValueOrZero(n){return n.data.value==null?0:n.data.value}stopWindSectors(){this.windSectorObservableSub?.unsubscribe();}unwrapAngle(n){if(this.lastUnwrapped==null)return this.lastUnwrapped=n,n;let e=this.lastUnwrapped,t=(e%360+360)%360,o=(n-t+540)%360-180,r=e+o;return this.lastUnwrapped=r,r}normalizeAngle(n){return (n%360+360)%360}angleDelta(n,e){let t=(e-n+540)%360-180;return Math.abs(t)}static \u0275fac=function(e){return new(e||m)};static \u0275cmp=JD({type:m,selectors:[["widget-wind-steer"]],inputs:{id:[1,"id"],type:[1,"type"],theme:[1,"theme"]},decls:1,vars:25,consts:[[3,"compassHeading","compassModeEnabled","courseOverGroundAngle","courseOverGroundEnabled","trueWindAngle","twsEnabled","twaEnabled","trueWindSpeed","trueWindSpeedUnit","appWindAngle","awsEnabled","appWindSpeed","appWindSpeedUnit","laylineAngle","closeHauledLineEnabled","windSectorEnabled","driftEnabled","driftFlow","driftSet","waypointAngle","waypointEnabled","trueWindMinHistoric","trueWindMidHistoric","trueWindMaxHistoric","sailSetupEnabled"]],template:function(e,t){e&1&&$h(0,"svg-windsteer",0),e&2&&Bh("compassHeading",t.currentHeading())("compassModeEnabled",t.compassModeEnabledValue())("courseOverGroundAngle",t.courseOverGroundAngle())("courseOverGroundEnabled",t.courseOverGroundEnabledValue())("trueWindAngle",t.trueWindAngle())("twsEnabled",t.twsEnabledValue())("twaEnabled",t.twaEnabledValue())("trueWindSpeed",t.trueWindSpeed())("trueWindSpeedUnit",t.trueWindSpeedUnit())("appWindAngle",t.appWindAngle())("awsEnabled",t.awsEnabledValue())("appWindSpeed",t.appWindSpeed())("appWindSpeedUnit",t.appWindSpeedUnit())("laylineAngle",t.laylineAngleValue())("closeHauledLineEnabled",t.closeHauledLineEnabledValue())("windSectorEnabled",t.windSectorEnabledValue())("driftEnabled",t.driftEnabledValue())("driftFlow",t.driftFlow())("driftSet",t.driftSet())("waypointAngle",t.waypointAngle())("waypointEnabled",t.waypointEnabledValue())("trueWindMinHistoric",t.trueWindMinHistoric())("trueWindMidHistoric",t.trueWindMidHistoric())("trueWindMaxHistoric",t.trueWindMaxHistoric())("sailSetupEnabled",t.runtime.options()?.sailSetupEnable??false);},dependencies:[J],encapsulation:2})}return m})();function mt(m,b){let n=(m+b)%360;return n<0&&(n+=360),n}function ht(m,b,n,e){return (m.includes("angleTrueWater")||m.includes("angleTrueGround"))&&e?mt(n,b):b}export{St as WidgetWindComponent,ht as computeTrueWindBaseAngle};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {O}from'./chunk-BTv5PhTr.js';import {w,aS as De,aY as xe$1,a7 as Gj,i as ir,aR as lt$1,ab as te,$ as $j,cN as Wl,a_ as Gp,W as Wp,E as Em,F as Fa,cO as eu,cP as Z,as as ke,J as JD,cQ as ce,bb as rt$1,bc as ae$1,bH as ln$1,bd as an$1,O as Op,o as eu$1,y as yt,b as wt,cR as zt,bg as mt,c as $h,P as Pi$1,T as TT,u as ul,k as Qh,cS as pl,cf as xh,cT as hl,B as Bh,e as EE,f as eg,K as Kw,aB as gr,aF as Pr,ac as Mr,cU as $n,az as Yj,ad as Qe$1,aa as N,bA as Ft,bB as F,al as Zj,_ as _w,cn as wd,cV as Td,M as Mw,bp as gl,an as Hh,cW as Ur,ak as nw,ay as lv,cX as Xt,aq as Bn$1,cY as Io,aj as zm,cZ as Tm,c_ as Fm,c2 as bh,c3 as Qs,c4 as Fn$1,c8 as Sv,c9 as Sh,bV as Gw,bW as zw,am as LT,s as sg,c$ as Wh,bI as Lt,bQ as Dn$1,a6 as Lr,d0 as dh,bR as ot$1,v as vt,aD as Ce,bS as oa,ci as dl,cj as fl,bu as ut,aQ as ee,d1 as Hj,bh as xp,aA as gg,h as Fw,l as ud,g as qw,m as dd,X as xw,Y as Aw,bl as Jw,d2 as wt$1,d3 as ib,a9 as ru,cl as G,aC as L,ae as be,d4 as gi,bT as Lg,ag as bu,d5 as jt,d6 as _,d7 as Ce$1,d8 as Y$1,d9 as Cm,da as Qm,aJ as wm,db as Dm,ca as Kh,c0 as Zw,c1 as Yw,ap as Ki$1,co as Mr$1,dc as O$1,dd as $e$1,de as Nt,df as Vt,dg as pt,dh as zt$1,di as jt$1,bi as Eg,bj as ST,dj as Nw,bm as Ig,dk as Vh,at as Tp,cp as Uh}from'./main-F7NMHHV4.js';var Vi=[[["caption"]],[["colgroup"],["col"]],"*"],Ui=["caption","colgroup, col","*"];function $i(i,o){i&1&&zw(0,2);}function Qi(i,o){i&1&&(Pi$1(0,"thead",0),Wh(1,1),ul(),Pi$1(2,"tbody",0),Wh(3,2)(4,3),ul(),Pi$1(5,"tfoot",0),Wh(6,4),ul());}function Wi(i,o){i&1&&Wh(0,1)(1,2)(2,3)(3,4);}var A=new N("CDK_TABLE");var Ue=(()=>{class i{template=w(Mr$1);static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkCellDef",""]]})}return i})(),$e=(()=>{class i{template=w(Mr$1);static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkHeaderCellDef",""]]})}return i})(),Ci=(()=>{class i{template=w(Mr$1);static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkFooterCellDef",""]]})}return i})(),Y=(()=>{class i{_table=w(A,{optional:true});_hasStickyChanged=false;get name(){return this._name}set name(e){this._setNameInput(e);}_name;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=true);}_sticky=false;get stickyEnd(){return this._stickyEnd}set stickyEnd(e){e!==this._stickyEnd&&(this._stickyEnd=e,this._hasStickyChanged=true);}_stickyEnd=false;cell;headerCell;footerCell;cssClassFriendlyName;_columnCssClassName;hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=false;}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`];}_setNameInput(e){e&&(this._name=e,this.cssClassFriendlyName=e.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName());}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkColumnDef",""]],contentQueries:function(t,n,a){if(t&1&&Kh(a,Ue,5)(a,$e,5)(a,Ci,5),t&2){let r;Zw(r=Yw())&&(n.cell=r.first),Zw(r=Yw())&&(n.headerCell=r.first),Zw(r=Yw())&&(n.footerCell=r.first);}},inputs:{name:[0,"cdkColumnDef","name"],sticky:[2,"sticky","sticky",Zj],stickyEnd:[2,"stickyEnd","stickyEnd",Zj]}})}return i})(),Ve=class{constructor(o,e){e.nativeElement.classList.add(...o._columnCssClassName);}},bi=(()=>{class i extends Ve{constructor(){super(w(Y),w(Lr));}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[Sh]})}return i})();var Di=(()=>{class i extends Ve{constructor(){let e=w(Y),t=w(Lr);super(e,t);let n=e._table?._getCellRole();n&&t.nativeElement.setAttribute("role",n);}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[Sh]})}return i})();var tt=(()=>{class i{template=w(Mr$1);_differs=w(ib);columns;_columnsDiffer;ngOnChanges(e){if(!this._columnsDiffer){let t=e.columns&&e.columns.currentValue||[];this._columnsDiffer=this._differs.find(t).create(),this._columnsDiffer.diff(t);}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(e){return this instanceof Me?e.headerCell.template:this instanceof it?e.footerCell.template:e.cell.template}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,features:[lv]})}return i})(),Me=(()=>{class i extends tt{_table=w(A,{optional:true});_hasStickyChanged=false;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=true);}_sticky=false;ngOnChanges(e){super.ngOnChanges(e);}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=false;}static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275dir=nw({type:i,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:[0,"cdkHeaderRowDef","columns"],sticky:[2,"cdkHeaderRowDefSticky","sticky",Zj]},features:[Sh,lv]})}return i})(),it=(()=>{class i extends tt{_table=w(A,{optional:true});_hasStickyChanged=false;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=true);}_sticky=false;ngOnChanges(e){super.ngOnChanges(e);}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=false;}static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275dir=nw({type:i,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:[0,"cdkFooterRowDef","columns"],sticky:[2,"cdkFooterRowDefSticky","sticky",Zj]},features:[Sh,lv]})}return i})(),Qe=(()=>{class i extends tt{_table=w(A,{optional:true});when;static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275dir=nw({type:i,selectors:[["","cdkRowDef",""]],inputs:{columns:[0,"cdkRowDefColumns","columns"],when:[0,"cdkRowDefWhen","when"]},features:[Sh]})}return i})(),ae=(()=>{class i{_viewContainer=w(Ki$1);cells;context;static mostRecentCellOutlet=null;constructor(){i.mostRecentCellOutlet=this;}ngOnDestroy(){i.mostRecentCellOutlet===this&&(i.mostRecentCellOutlet=null);}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkCellOutlet",""]]})}return i})(),nt=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275cmp=JD({type:i,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,n){t&1&&Wh(0,0);},dependencies:[ae],encapsulation:2,changeDetection:1})}return i})();var ot=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275cmp=JD({type:i,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,n){t&1&&Wh(0,0);},dependencies:[ae],encapsulation:2,changeDetection:1})}return i})(),We=(()=>{class i{templateRef=w(Mr$1);_contentClassNames=["cdk-no-data-row","cdk-row"];_cellClassNames=["cdk-cell","cdk-no-data-cell"];_cellSelector="td, cdk-cell, [cdk-cell], .cdk-cell";static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["ng-template","cdkNoDataRow",""]]})}return i})(),yi=["top","bottom","left","right"],et=class{_isNativeHtmlTable;_stickCellCss;_isBrowser;_needsPositionStickyOnElement;direction;_positionListener;_tableInjector;_elemSizeCache=new WeakMap;_resizeObserver=globalThis?.ResizeObserver?new globalThis.ResizeObserver(o=>this._updateCachedSizes(o)):null;_updatedStickyColumnsParamsToReplay=[];_stickyColumnsReplayTimeout=null;_cachedCellWidths=[];_borderCellCss;_destroyed=false;constructor(o,e,t=true,n=true,a,r,l){this._isNativeHtmlTable=o,this._stickCellCss=e,this._isBrowser=t,this._needsPositionStickyOnElement=n,this.direction=a,this._positionListener=r,this._tableInjector=l,this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`};}clearStickyPositioning(o,e){(e.includes("left")||e.includes("right"))&&this._removeFromStickyColumnReplayQueue(o);let t=[];for(let n of o)n.nodeType===n.ELEMENT_NODE&&t.push(n,...Array.from(n.children));Tp({write:()=>{for(let n of t)this._removeStickyStyle(n,e);}},{injector:this._tableInjector});}updateStickyColumns(o,e,t,n=true,a=true){if(!o.length||!this._isBrowser||!(e.some(P=>P)||t.some(P=>P))){this._positionListener?.stickyColumnsUpdated({sizes:[]}),this._positionListener?.stickyEndColumnsUpdated({sizes:[]});return}let r=o[0],l=r.children.length,u=this.direction==="rtl",p=u?"right":"left",g=u?"left":"right",w=e.lastIndexOf(true),S=t.indexOf(true),R,mt,ut;a&&this._updateStickyColumnReplayQueue({rows:[...o],stickyStartStates:[...e],stickyEndStates:[...t]}),Tp({earlyRead:()=>{R=this._getCellWidths(r,n),mt=this._getStickyStartColumnPositions(R,e),ut=this._getStickyEndColumnPositions(R,t);},write:()=>{for(let P of o)for(let I=0;I<l;I++){let ft=P.children[I];e[I]&&this._addStickyStyle(ft,p,mt[I],I===w),t[I]&&this._addStickyStyle(ft,g,ut[I],I===S);}this._positionListener&&R.some(P=>!!P)&&(this._positionListener.stickyColumnsUpdated({sizes:w===-1?[]:R.slice(0,w+1).map((P,I)=>e[I]?P:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:S===-1?[]:R.slice(S).map((P,I)=>t[I+S]?P:null).reverse()}));}},{injector:this._tableInjector});}stickRows(o,e,t){if(!this._isBrowser)return;let n=t==="bottom"?o.slice().reverse():o,a=t==="bottom"?e.slice().reverse():e,r=[],l=[],u=[];Tp({earlyRead:()=>{for(let p=0,g=0;p<n.length;p++){if(!a[p])continue;r[p]=g;let w=n[p];u[p]=this._isNativeHtmlTable?Array.from(w.children):[w];let S=this._retrieveElementSize(w).height;g+=S,l[p]=S;}},write:()=>{let p=a.lastIndexOf(true);for(let g=0;g<n.length;g++){if(!a[g])continue;let w=r[g],S=g===p;for(let R of u[g])this._addStickyStyle(R,t,w,S);}t==="top"?this._positionListener?.stickyHeaderRowsUpdated({sizes:l,offsets:r,elements:u}):this._positionListener?.stickyFooterRowsUpdated({sizes:l,offsets:r,elements:u});}},{injector:this._tableInjector});}updateStickyFooterContainer(o,e){this._isNativeHtmlTable&&Tp({write:()=>{let t=o.querySelector("tfoot");t&&(e.some(n=>!n)?this._removeStickyStyle(t,["bottom"]):this._addStickyStyle(t,"bottom",0,false));}},{injector:this._tableInjector});}destroy(){this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._resizeObserver?.disconnect(),this._destroyed=true;}_removeStickyStyle(o,e){if(!o.classList.contains(this._stickCellCss))return;for(let n of e)o.style[n]="",o.classList.remove(this._borderCellCss[n]);yi.some(n=>e.indexOf(n)===-1&&o.style[n])?o.style.zIndex=this._getCalculatedZIndex(o):(o.style.zIndex="",this._needsPositionStickyOnElement&&(o.style.position=""),o.classList.remove(this._stickCellCss));}_addStickyStyle(o,e,t,n){o.classList.add(this._stickCellCss),n&&o.classList.add(this._borderCellCss[e]),o.style[e]=`${t}px`,o.style.zIndex=this._getCalculatedZIndex(o),this._needsPositionStickyOnElement&&(o.style.cssText+="position: -webkit-sticky; position: sticky; ");}_getCalculatedZIndex(o){let e={top:100,bottom:10,left:1,right:1},t=0;for(let n of yi)o.style[n]&&(t+=e[n]);return t?`${t}`:""}_getCellWidths(o,e=true){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;let t=[],n=o.children;for(let a=0;a<n.length;a++){let r=n[a];t.push(this._retrieveElementSize(r).width);}return this._cachedCellWidths=t,t}_getStickyStartColumnPositions(o,e){let t=[],n=0;for(let a=0;a<o.length;a++)e[a]&&(t[a]=n,n+=o[a]);return t}_getStickyEndColumnPositions(o,e){let t=[],n=0;for(let a=o.length;a>0;a--)e[a]&&(t[a]=n,n+=o[a]);return t}_retrieveElementSize(o){let e=this._elemSizeCache.get(o);if(e)return e;let t=o.getBoundingClientRect(),n={width:t.width,height:t.height};return this._resizeObserver&&(this._elemSizeCache.set(o,n),this._resizeObserver.observe(o,{box:"border-box"})),n}_updateStickyColumnReplayQueue(o){this._removeFromStickyColumnReplayQueue(o.rows),this._stickyColumnsReplayTimeout||this._updatedStickyColumnsParamsToReplay.push(o);}_removeFromStickyColumnReplayQueue(o){let e=new Set(o);for(let t of this._updatedStickyColumnsParamsToReplay)t.rows=t.rows.filter(n=>!e.has(n));this._updatedStickyColumnsParamsToReplay=this._updatedStickyColumnsParamsToReplay.filter(t=>!!t.rows.length);}_updateCachedSizes(o){let e=false;for(let t of o){let n=t.borderBoxSize?.length?{width:t.borderBoxSize[0].inlineSize,height:t.borderBoxSize[0].blockSize}:{width:t.contentRect.width,height:t.contentRect.height};n.width!==this._elemSizeCache.get(t.target)?.width&&qi(t.target)&&(e=true),this._elemSizeCache.set(t.target,n);}e&&this._updatedStickyColumnsParamsToReplay.length&&(this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._stickyColumnsReplayTimeout=setTimeout(()=>{if(!this._destroyed){for(let t of this._updatedStickyColumnsParamsToReplay)this.updateStickyColumns(t.rows,t.stickyStartStates,t.stickyEndStates,true,false);this._updatedStickyColumnsParamsToReplay=[],this._stickyColumnsReplayTimeout=null;}},0));}};function qi(i){return ["cdk-cell","cdk-header-cell","cdk-footer-cell"].some(o=>i.classList.contains(o))}var xe=new N("STICKY_POSITIONING_LISTENER");var at=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._rowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","rowOutlet",""]]})}return i})(),rt=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._headerRowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","headerRowOutlet",""]]})}return i})(),st=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._footerRowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","footerRowOutlet",""]]})}return i})(),lt=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._noDataRowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","noDataRowOutlet",""]]})}return i})(),ct=(()=>{class i{_differs=w(ib);_changeDetectorRef=w(Gj);_elementRef=w(Lr);_dir=w(ru,{optional:true});_platform=w(G);_viewRepeater;_viewportRuler=w(L);_injector=w(be);_virtualScrollViewport=w(gi,{optional:true,host:true});_positionListener=w(xe,{optional:true})||w(xe,{optional:true,skipSelf:true});_document=w(gr);_data;_renderedRange;_onDestroy=new te;_renderRows;_renderChangeSubscription=null;_columnDefsByName=new Map;_rowDefs;_headerRowDefs;_footerRowDefs;_dataDiffer;_defaultRowDef=null;_customColumnDefs=new Set;_customRowDefs=new Set;_customHeaderRowDefs=new Set;_customFooterRowDefs=new Set;_customNoDataRow=null;_headerRowDefChanged=true;_footerRowDefChanged=true;_stickyColumnStylesNeedReset=true;_forceRecalculateCellWidths=true;_cachedRenderRowsMap=new Map;_isNativeHtmlTable;_stickyStyler;stickyCssClass="cdk-table-sticky";needsPositionStickyOnElement=true;_isServer;_isShowingNoDataRow=false;_hasAllOutlets=false;_hasInitialized=false;_headerRowStickyUpdates=new te;_footerRowStickyUpdates=new te;_disableVirtualScrolling=false;_getCellRole(){if(this._cellRoleInternal===void 0){let e=this._elementRef.nativeElement.getAttribute("role");return e==="grid"||e==="treegrid"?"gridcell":"cell"}return this._cellRoleInternal}_cellRoleInternal=void 0;get trackBy(){return this._trackByFn}set trackBy(e){this._trackByFn=e;}_trackByFn;get dataSource(){return this._dataSource}set dataSource(e){this._dataSource!==e&&(this._switchDataSource(e),this._changeDetectorRef.markForCheck());}_dataSource;_dataSourceChanges=new te;_dataStream=new te;get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(e){this._multiTemplateDataRows=e,this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles());}_multiTemplateDataRows=false;get fixedLayout(){return this._virtualScrollEnabled()?true:this._fixedLayout}set fixedLayout(e){this._fixedLayout=e,this._forceRecalculateCellWidths=true,this._stickyColumnStylesNeedReset=true;}_fixedLayout=false;recycleRows=false;contentChanged=new Qe$1;viewChange=new Bn$1({start:0,end:Number.MAX_VALUE});_rowOutlet;_headerRowOutlet;_footerRowOutlet;_noDataRowOutlet;_contentColumnDefs;_contentRowDefs;_contentHeaderRowDefs;_contentFooterRowDefs;_noDataRow;get renderedRows(){return this._renderRows}constructor(){w(new Lg("role"),{optional:true})||this._elementRef.nativeElement.setAttribute("role","table"),this._isServer=!this._platform.isBrowser,this._isNativeHtmlTable=this._elementRef.nativeElement.nodeName==="TABLE",this._dataDiffer=this._differs.find([]).create((t,n)=>this.trackBy?this.trackBy(n.dataIndex,n.data):n);}ngOnInit(){this._setupStickyStyler(),this._viewportRuler.change().pipe(bu(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=true;});}ngAfterContentInit(){this._viewRepeater=this.recycleRows||this._virtualScrollEnabled()?new jt:new _,this._virtualScrollEnabled()&&this._setupVirtualScrolling(this._virtualScrollViewport),this._hasInitialized=true;}ngAfterContentChecked(){this._canRender()&&this._render();}ngOnDestroy(){this._stickyStyler?.destroy(),[this._rowOutlet?.viewContainer,this._headerRowOutlet?.viewContainer,this._footerRowOutlet?.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(e=>{e?.clear();}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._headerRowStickyUpdates.complete(),this._footerRowStickyUpdates.complete(),this._onDestroy.next(),this._onDestroy.complete(),Ce$1(this.dataSource)&&this.dataSource.disconnect(this);}renderRows(){this._renderRows=this._getAllRenderRows();let e=this._dataDiffer.diff(this._renderRows);if(!e){this._updateNoDataRow(),this.contentChanged.next();return}let t=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(e,t,(n,a,r)=>this._getEmbeddedViewArgs(n.item,r),n=>n.item.data,n=>{n.operation===Y$1.INSERTED&&n.context&&this._renderCellTemplateForItem(n.record.item.rowDef,n.context);}),this._updateRowIndexContext(),e.forEachIdentityChange(n=>{let a=t.get(n.currentIndex);a.context.$implicit=n.item.data;}),this._updateNoDataRow(),this.contentChanged.next(),this.updateStickyColumnStyles();}addColumnDef(e){this._customColumnDefs.add(e);}removeColumnDef(e){this._customColumnDefs.delete(e);}addRowDef(e){this._customRowDefs.add(e);}removeRowDef(e){this._customRowDefs.delete(e);}addHeaderRowDef(e){this._customHeaderRowDefs.add(e),this._headerRowDefChanged=true;}removeHeaderRowDef(e){this._customHeaderRowDefs.delete(e),this._headerRowDefChanged=true;}addFooterRowDef(e){this._customFooterRowDefs.add(e),this._footerRowDefChanged=true;}removeFooterRowDef(e){this._customFooterRowDefs.delete(e),this._footerRowDefChanged=true;}setNoDataRow(e){this._customNoDataRow=e;}updateStickyHeaderRowStyles(){let e=this._getRenderedRows(this._headerRowOutlet);if(this._isNativeHtmlTable){let n=wi(this._headerRowOutlet,"thead");n&&(n.style.display=e.length?"":"none");}let t=this._headerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(e,["top"]),this._stickyStyler.stickRows(e,t,"top"),this._headerRowDefs.forEach(n=>n.resetStickyChanged());}updateStickyFooterRowStyles(){let e=this._getRenderedRows(this._footerRowOutlet);if(this._isNativeHtmlTable){let n=wi(this._footerRowOutlet,"tfoot");n&&(n.style.display=e.length?"":"none");}let t=this._footerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(e,["bottom"]),this._stickyStyler.stickRows(e,t,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,t),this._footerRowDefs.forEach(n=>n.resetStickyChanged());}updateStickyColumnStyles(){let e=this._getRenderedRows(this._headerRowOutlet),t=this._getRenderedRows(this._rowOutlet),n=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this.fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...e,...t,...n],["left","right"]),this._stickyColumnStylesNeedReset=false),e.forEach((a,r)=>{this._addStickyColumnStyles([a],this._headerRowDefs[r]);}),this._rowDefs.forEach(a=>{let r=[];for(let l=0;l<t.length;l++)this._renderRows[l].rowDef===a&&r.push(t[l]);this._addStickyColumnStyles(r,a);}),n.forEach((a,r)=>{this._addStickyColumnStyles([a],this._footerRowDefs[r]);}),Array.from(this._columnDefsByName.values()).forEach(a=>a.resetStickyChanged());}stickyColumnsUpdated(e){this._positionListener?.stickyColumnsUpdated(e);}stickyEndColumnsUpdated(e){this._positionListener?.stickyEndColumnsUpdated(e);}stickyHeaderRowsUpdated(e){this._headerRowStickyUpdates.next(e),this._positionListener?.stickyHeaderRowsUpdated(e);}stickyFooterRowsUpdated(e){this._footerRowStickyUpdates.next(e),this._positionListener?.stickyFooterRowsUpdated(e);}_outletAssigned(){!this._hasAllOutlets&&this._rowOutlet&&this._headerRowOutlet&&this._footerRowOutlet&&this._noDataRowOutlet&&(this._hasAllOutlets=true,this._canRender()&&this._render());}_canRender(){return this._hasAllOutlets&&this._hasInitialized}_render(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;let t=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||t,this._forceRecalculateCellWidths=t,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=false),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=false),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates();}_getAllRenderRows(){if(!Array.isArray(this._data)||!this._renderedRange)return [];let e=[],t=Math.min(this._data.length,this._renderedRange.end),n=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let a=this._renderedRange.start;a<t;a++){let r=this._data[a],l=this._getRenderRowsForData(r,a,n.get(r));this._cachedRenderRowsMap.has(r)||this._cachedRenderRowsMap.set(r,new WeakMap);for(let u=0;u<l.length;u++){let p=l[u],g=this._cachedRenderRowsMap.get(p.data);g.has(p.rowDef)?g.get(p.rowDef).push(p):g.set(p.rowDef,[p]),e.push(p);}}return e}_getRenderRowsForData(e,t,n){return this._getRowDefs(e,t).map(r=>{let l=n&&n.has(r)?n.get(r):[];if(l.length){let u=l.shift();return u.dataIndex=t,u}else return {data:e,rowDef:r,dataIndex:t}})}_cacheColumnDefs(){this._columnDefsByName.clear(),je(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(t=>{this._columnDefsByName.has(t.name),this._columnDefsByName.set(t.name,t);});}_cacheRowDefs(){this._headerRowDefs=je(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=je(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=je(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);let e=this._rowDefs.filter(t=>!t.when);this._defaultRowDef=e[0];}_renderUpdatedColumns(){let e=(r,l)=>{let u=!!l.getColumnsDiff();return r||u},t=this._rowDefs.reduce(e,false);t&&this._forceRenderDataRows();let n=this._headerRowDefs.reduce(e,false);n&&this._forceRenderHeaderRows();let a=this._footerRowDefs.reduce(e,false);return a&&this._forceRenderFooterRows(),t||n||a}_switchDataSource(e){this._data=[],Ce$1(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),e||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet&&this._rowOutlet.viewContainer.clear()),this._dataSource=e;}_observeRenderChanges(){if(!this.dataSource)return;let e;Ce$1(this.dataSource)?e=this.dataSource.connect(this):Cm(this.dataSource)?e=this.dataSource:Array.isArray(this.dataSource)&&(e=Tm(this.dataSource)),this._renderChangeSubscription=Fm([e,this.viewChange]).pipe(bu(this._onDestroy)).subscribe(([t,n])=>{this._data=t||[],this._renderedRange=n,this._dataStream.next(t),this.renderRows();});}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((e,t)=>this._renderRow(this._headerRowOutlet,e,t)),this.updateStickyHeaderRowStyles();}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((e,t)=>this._renderRow(this._footerRowOutlet,e,t)),this.updateStickyFooterRowStyles();}_addStickyColumnStyles(e,t){let n=Array.from(t?.columns||[]).map(l=>{let u=this._columnDefsByName.get(l);return u}),a=n.map(l=>l.sticky),r=n.map(l=>l.stickyEnd);this._stickyStyler.updateStickyColumns(e,a,r,!this.fixedLayout||this._forceRecalculateCellWidths);}_getRenderedRows(e){let t=[];for(let n=0;n<e.viewContainer.length;n++){let a=e.viewContainer.get(n);t.push(a.rootNodes[0]);}return t}_getRowDefs(e,t){if(this._rowDefs.length===1)return [this._rowDefs[0]];let n=[];if(this.multiTemplateDataRows)n=this._rowDefs.filter(a=>!a.when||a.when(t,e));else {let a=this._rowDefs.find(r=>r.when&&r.when(t,e))||this._defaultRowDef;a&&n.push(a);}return n.length,n}_getEmbeddedViewArgs(e,t){let n=e.rowDef,a={$implicit:e.data};return {templateRef:n.template,context:a,index:t}}_renderRow(e,t,n,a={}){let r=e.viewContainer.createEmbeddedView(t.template,a,n);return this._renderCellTemplateForItem(t,a),r}_renderCellTemplateForItem(e,t){for(let n of this._getCellTemplates(e))ae.mostRecentCellOutlet&&ae.mostRecentCellOutlet._viewContainer.createEmbeddedView(n,t);this._changeDetectorRef.markForCheck();}_updateRowIndexContext(){let e=this._rowOutlet.viewContainer;for(let t=0,n=e.length;t<n;t++){let r=e.get(t).context;r.count=n,r.first=t===0,r.last=t===n-1,r.even=t%2===0,r.odd=!r.even,this.multiTemplateDataRows?(r.dataIndex=this._renderRows[t].dataIndex,r.renderIndex=t):r.index=this._renderRows[t].dataIndex;}}_getCellTemplates(e){return !e||!e.columns?[]:Array.from(e.columns,t=>{let n=this._columnDefsByName.get(t);return e.extractCellTemplate(n)})}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows();}_checkStickyStates(){let e=(t,n)=>t||n.hasStickyChanged();this._headerRowDefs.reduce(e,false)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(e,false)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(e,false)&&(this._stickyColumnStylesNeedReset=true,this.updateStickyColumnStyles());}_setupStickyStyler(){let e=this._dir?this._dir.value:"ltr",t=this._injector;this._stickyStyler=new et(this._isNativeHtmlTable,this.stickyCssClass,this._platform.isBrowser,this.needsPositionStickyOnElement,e,this,t),(this._dir?this._dir.change:Tm()).pipe(bu(this._onDestroy)).subscribe(n=>{this._stickyStyler.direction=n,this.updateStickyColumnStyles();});}_setupVirtualScrolling(e){let t=typeof requestAnimationFrame<"u"?wm:Dm;this.viewChange.next({start:0,end:0}),e.renderedRangeStream.pipe(Qm(0,t),bu(this._onDestroy)).subscribe(this.viewChange),e.attach({dataStream:this._dataStream,measureRangeSize:(n,a)=>this._measureRangeSize(n,a)}),Fm([e.renderedContentOffset,this._headerRowStickyUpdates]).pipe(bu(this._onDestroy)).subscribe(([n,a])=>{if(!(!a.sizes||!a.offsets||!a.elements))for(let r=0;r<a.elements.length;r++){let l=a.elements[r];if(l){let u=a.offsets[r],p=n!==0?Math.max(n-u,u):-u;for(let g of l)g.style.top=`${-p}px`;}}}),Fm([e.renderedContentOffset,this._footerRowStickyUpdates]).pipe(bu(this._onDestroy)).subscribe(([n,a])=>{if(!(!a.sizes||!a.offsets||!a.elements))for(let r=0;r<a.elements.length;r++){let l=a.elements[r];if(l)for(let u of l)u.style.bottom=`${n+a.offsets[r]}px`;}});}_getOwnDefs(e){return e.filter(t=>!t._table||t._table===this)}_updateNoDataRow(){let e=this._customNoDataRow||this._noDataRow;if(!e)return;let t=this._rowOutlet.viewContainer.length===0;if(t===this._isShowingNoDataRow)return;let n=this._noDataRowOutlet.viewContainer;if(t){let a=n.createEmbeddedView(e.templateRef),r=a.rootNodes[0];if(a.rootNodes.length===1&&r?.nodeType===this._document.ELEMENT_NODE){r.setAttribute("role","row"),r.classList.add(...e._contentClassNames);let l=r.querySelectorAll(e._cellSelector);for(let u=0;u<l.length;u++)l[u].classList.add(...e._cellClassNames);}}else n.clear();this._isShowingNoDataRow=t,this._changeDetectorRef.markForCheck();}_measureRangeSize(e,t){if(e.start>=e.end||t!=="vertical")return 0;let n=this.viewChange.value,a=this._rowOutlet.viewContainer;e.start<n.start||e.end>n.end;let r=e.start-n.start,l=e.end-e.start,u,p;for(let S=0;S<l;S++){let R=a.get(S+r);if(R&&R.rootNodes.length){u=p=R.rootNodes[0];break}}for(let S=l-1;S>-1;S--){let R=a.get(S+r);if(R&&R.rootNodes.length){p=R.rootNodes[R.rootNodes.length-1];break}}let g=u?.getBoundingClientRect?.(),w=p?.getBoundingClientRect?.();return g&&w?w.bottom-g.top:0}_virtualScrollEnabled(){return !this._disableVirtualScrolling&&this._virtualScrollViewport!=null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=JD({type:i,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(t,n,a){if(t&1&&Kh(a,We,5)(a,Y,5)(a,Qe,5)(a,Me,5)(a,it,5),t&2){let r;Zw(r=Yw())&&(n._noDataRow=r.first),Zw(r=Yw())&&(n._contentColumnDefs=r),Zw(r=Yw())&&(n._contentRowDefs=r),Zw(r=Yw())&&(n._contentHeaderRowDefs=r),Zw(r=Yw())&&(n._contentFooterRowDefs=r);}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(t,n){t&2&&sg("cdk-table-fixed-layout",n.fixedLayout);},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:[2,"multiTemplateDataRows","multiTemplateDataRows",Zj],fixedLayout:[2,"fixedLayout","fixedLayout",Zj],recycleRows:[2,"recycleRows","recycleRows",Zj]},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[LT([{provide:A,useExisting:i},{provide:xe,useValue:null}])],ngContentSelectors:Ui,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,n){t&1&&(Gw(Vi),zw(0),zw(1,1),_w(2,$i,1,0),_w(3,Qi,7,0)(4,Wi,4,0)),t&2&&(EE(2),Mw(n._isServer?2:-1),EE(),Mw(n._isNativeHtmlTable?3:4));},dependencies:[rt,at,lt,st],styles:[`.cdk-table-fixed-layout {
|
|
1
|
+
import {O}from'./chunk-BrjwTjz7.js';import {w,aS as De,aY as xe$1,a7 as Gj,i as ir,aR as lt$1,ab as te,$ as $j,cN as Wl,a_ as Gp,W as Wp,E as Em,F as Fa,cO as eu,cP as Z,as as ke,J as JD,cQ as ce,bb as rt$1,bc as ae$1,bH as ln$1,bd as an$1,O as Op,o as eu$1,y as yt,b as wt,cR as zt,bg as mt,c as $h,P as Pi$1,T as TT,u as ul,k as Qh,cS as pl,cf as xh,cT as hl,B as Bh,e as EE,f as eg,K as Kw,aB as gr,aF as Pr,ac as Mr,cU as $n,az as Yj,ad as Qe$1,aa as N,bA as Ft,bB as F,al as Zj,_ as _w,cn as wd,cV as Td,M as Mw,bp as gl,an as Hh,cW as Ur,ak as nw,ay as lv,cX as Xt,aq as Bn$1,cY as Io,aj as zm,cZ as Tm,c_ as Fm,c2 as bh,c3 as Qs,c4 as Fn$1,c8 as Sv,c9 as Sh,bV as Gw,bW as zw,am as LT,s as sg,c$ as Wh,bI as Lt,bQ as Dn$1,a6 as Lr,d0 as dh,bR as ot$1,v as vt,aD as Ce,bS as oa,ci as dl,cj as fl,bu as ut,aQ as ee,d1 as Hj,bh as xp,aA as gg,h as Fw,l as ud,g as qw,m as dd,X as xw,Y as Aw,bl as Jw,d2 as wt$1,d3 as ib,a9 as ru,cl as G,aC as L,ae as be,d4 as gi,bT as Lg,ag as bu,d5 as jt,d6 as _,d7 as Ce$1,d8 as Y$1,d9 as Cm,da as Qm,aJ as wm,db as Dm,ca as Kh,c0 as Zw,c1 as Yw,ap as Ki$1,co as Mr$1,dc as O$1,dd as $e$1,de as Nt,df as Vt,dg as pt,dh as zt$1,di as jt$1,bi as Eg,bj as ST,dj as Nw,bm as Ig,dk as Vh,at as Tp,cp as Uh}from'./main-IINF7HD6.js';var Vi=[[["caption"]],[["colgroup"],["col"]],"*"],Ui=["caption","colgroup, col","*"];function $i(i,o){i&1&&zw(0,2);}function Qi(i,o){i&1&&(Pi$1(0,"thead",0),Wh(1,1),ul(),Pi$1(2,"tbody",0),Wh(3,2)(4,3),ul(),Pi$1(5,"tfoot",0),Wh(6,4),ul());}function Wi(i,o){i&1&&Wh(0,1)(1,2)(2,3)(3,4);}var A=new N("CDK_TABLE");var Ue=(()=>{class i{template=w(Mr$1);static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkCellDef",""]]})}return i})(),$e=(()=>{class i{template=w(Mr$1);static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkHeaderCellDef",""]]})}return i})(),Ci=(()=>{class i{template=w(Mr$1);static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkFooterCellDef",""]]})}return i})(),Y=(()=>{class i{_table=w(A,{optional:true});_hasStickyChanged=false;get name(){return this._name}set name(e){this._setNameInput(e);}_name;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=true);}_sticky=false;get stickyEnd(){return this._stickyEnd}set stickyEnd(e){e!==this._stickyEnd&&(this._stickyEnd=e,this._hasStickyChanged=true);}_stickyEnd=false;cell;headerCell;footerCell;cssClassFriendlyName;_columnCssClassName;hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=false;}_updateColumnCssClassName(){this._columnCssClassName=[`cdk-column-${this.cssClassFriendlyName}`];}_setNameInput(e){e&&(this._name=e,this.cssClassFriendlyName=e.replace(/[^a-z0-9_-]/gi,"-"),this._updateColumnCssClassName());}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkColumnDef",""]],contentQueries:function(t,n,a){if(t&1&&Kh(a,Ue,5)(a,$e,5)(a,Ci,5),t&2){let r;Zw(r=Yw())&&(n.cell=r.first),Zw(r=Yw())&&(n.headerCell=r.first),Zw(r=Yw())&&(n.footerCell=r.first);}},inputs:{name:[0,"cdkColumnDef","name"],sticky:[2,"sticky","sticky",Zj],stickyEnd:[2,"stickyEnd","stickyEnd",Zj]}})}return i})(),Ve=class{constructor(o,e){e.nativeElement.classList.add(...o._columnCssClassName);}},bi=(()=>{class i extends Ve{constructor(){super(w(Y),w(Lr));}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["cdk-header-cell"],["th","cdk-header-cell",""]],hostAttrs:["role","columnheader",1,"cdk-header-cell"],features:[Sh]})}return i})();var Di=(()=>{class i extends Ve{constructor(){let e=w(Y),t=w(Lr);super(e,t);let n=e._table?._getCellRole();n&&t.nativeElement.setAttribute("role",n);}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["cdk-cell"],["td","cdk-cell",""]],hostAttrs:[1,"cdk-cell"],features:[Sh]})}return i})();var tt=(()=>{class i{template=w(Mr$1);_differs=w(ib);columns;_columnsDiffer;ngOnChanges(e){if(!this._columnsDiffer){let t=e.columns&&e.columns.currentValue||[];this._columnsDiffer=this._differs.find(t).create(),this._columnsDiffer.diff(t);}}getColumnsDiff(){return this._columnsDiffer.diff(this.columns)}extractCellTemplate(e){return this instanceof Me?e.headerCell.template:this instanceof it?e.footerCell.template:e.cell.template}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,features:[lv]})}return i})(),Me=(()=>{class i extends tt{_table=w(A,{optional:true});_hasStickyChanged=false;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=true);}_sticky=false;ngOnChanges(e){super.ngOnChanges(e);}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=false;}static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275dir=nw({type:i,selectors:[["","cdkHeaderRowDef",""]],inputs:{columns:[0,"cdkHeaderRowDef","columns"],sticky:[2,"cdkHeaderRowDefSticky","sticky",Zj]},features:[Sh,lv]})}return i})(),it=(()=>{class i extends tt{_table=w(A,{optional:true});_hasStickyChanged=false;get sticky(){return this._sticky}set sticky(e){e!==this._sticky&&(this._sticky=e,this._hasStickyChanged=true);}_sticky=false;ngOnChanges(e){super.ngOnChanges(e);}hasStickyChanged(){let e=this._hasStickyChanged;return this.resetStickyChanged(),e}resetStickyChanged(){this._hasStickyChanged=false;}static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275dir=nw({type:i,selectors:[["","cdkFooterRowDef",""]],inputs:{columns:[0,"cdkFooterRowDef","columns"],sticky:[2,"cdkFooterRowDefSticky","sticky",Zj]},features:[Sh,lv]})}return i})(),Qe=(()=>{class i extends tt{_table=w(A,{optional:true});when;static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275dir=nw({type:i,selectors:[["","cdkRowDef",""]],inputs:{columns:[0,"cdkRowDefColumns","columns"],when:[0,"cdkRowDefWhen","when"]},features:[Sh]})}return i})(),ae=(()=>{class i{_viewContainer=w(Ki$1);cells;context;static mostRecentCellOutlet=null;constructor(){i.mostRecentCellOutlet=this;}ngOnDestroy(){i.mostRecentCellOutlet===this&&(i.mostRecentCellOutlet=null);}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","cdkCellOutlet",""]]})}return i})(),nt=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275cmp=JD({type:i,selectors:[["cdk-header-row"],["tr","cdk-header-row",""]],hostAttrs:["role","row",1,"cdk-header-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,n){t&1&&Wh(0,0);},dependencies:[ae],encapsulation:2,changeDetection:1})}return i})();var ot=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275cmp=JD({type:i,selectors:[["cdk-row"],["tr","cdk-row",""]],hostAttrs:["role","row",1,"cdk-row"],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,n){t&1&&Wh(0,0);},dependencies:[ae],encapsulation:2,changeDetection:1})}return i})(),We=(()=>{class i{templateRef=w(Mr$1);_contentClassNames=["cdk-no-data-row","cdk-row"];_cellClassNames=["cdk-cell","cdk-no-data-cell"];_cellSelector="td, cdk-cell, [cdk-cell], .cdk-cell";static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["ng-template","cdkNoDataRow",""]]})}return i})(),yi=["top","bottom","left","right"],et=class{_isNativeHtmlTable;_stickCellCss;_isBrowser;_needsPositionStickyOnElement;direction;_positionListener;_tableInjector;_elemSizeCache=new WeakMap;_resizeObserver=globalThis?.ResizeObserver?new globalThis.ResizeObserver(o=>this._updateCachedSizes(o)):null;_updatedStickyColumnsParamsToReplay=[];_stickyColumnsReplayTimeout=null;_cachedCellWidths=[];_borderCellCss;_destroyed=false;constructor(o,e,t=true,n=true,a,r,l){this._isNativeHtmlTable=o,this._stickCellCss=e,this._isBrowser=t,this._needsPositionStickyOnElement=n,this.direction=a,this._positionListener=r,this._tableInjector=l,this._borderCellCss={top:`${e}-border-elem-top`,bottom:`${e}-border-elem-bottom`,left:`${e}-border-elem-left`,right:`${e}-border-elem-right`};}clearStickyPositioning(o,e){(e.includes("left")||e.includes("right"))&&this._removeFromStickyColumnReplayQueue(o);let t=[];for(let n of o)n.nodeType===n.ELEMENT_NODE&&t.push(n,...Array.from(n.children));Tp({write:()=>{for(let n of t)this._removeStickyStyle(n,e);}},{injector:this._tableInjector});}updateStickyColumns(o,e,t,n=true,a=true){if(!o.length||!this._isBrowser||!(e.some(P=>P)||t.some(P=>P))){this._positionListener?.stickyColumnsUpdated({sizes:[]}),this._positionListener?.stickyEndColumnsUpdated({sizes:[]});return}let r=o[0],l=r.children.length,u=this.direction==="rtl",p=u?"right":"left",g=u?"left":"right",w=e.lastIndexOf(true),S=t.indexOf(true),R,mt,ut;a&&this._updateStickyColumnReplayQueue({rows:[...o],stickyStartStates:[...e],stickyEndStates:[...t]}),Tp({earlyRead:()=>{R=this._getCellWidths(r,n),mt=this._getStickyStartColumnPositions(R,e),ut=this._getStickyEndColumnPositions(R,t);},write:()=>{for(let P of o)for(let I=0;I<l;I++){let ft=P.children[I];e[I]&&this._addStickyStyle(ft,p,mt[I],I===w),t[I]&&this._addStickyStyle(ft,g,ut[I],I===S);}this._positionListener&&R.some(P=>!!P)&&(this._positionListener.stickyColumnsUpdated({sizes:w===-1?[]:R.slice(0,w+1).map((P,I)=>e[I]?P:null)}),this._positionListener.stickyEndColumnsUpdated({sizes:S===-1?[]:R.slice(S).map((P,I)=>t[I+S]?P:null).reverse()}));}},{injector:this._tableInjector});}stickRows(o,e,t){if(!this._isBrowser)return;let n=t==="bottom"?o.slice().reverse():o,a=t==="bottom"?e.slice().reverse():e,r=[],l=[],u=[];Tp({earlyRead:()=>{for(let p=0,g=0;p<n.length;p++){if(!a[p])continue;r[p]=g;let w=n[p];u[p]=this._isNativeHtmlTable?Array.from(w.children):[w];let S=this._retrieveElementSize(w).height;g+=S,l[p]=S;}},write:()=>{let p=a.lastIndexOf(true);for(let g=0;g<n.length;g++){if(!a[g])continue;let w=r[g],S=g===p;for(let R of u[g])this._addStickyStyle(R,t,w,S);}t==="top"?this._positionListener?.stickyHeaderRowsUpdated({sizes:l,offsets:r,elements:u}):this._positionListener?.stickyFooterRowsUpdated({sizes:l,offsets:r,elements:u});}},{injector:this._tableInjector});}updateStickyFooterContainer(o,e){this._isNativeHtmlTable&&Tp({write:()=>{let t=o.querySelector("tfoot");t&&(e.some(n=>!n)?this._removeStickyStyle(t,["bottom"]):this._addStickyStyle(t,"bottom",0,false));}},{injector:this._tableInjector});}destroy(){this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._resizeObserver?.disconnect(),this._destroyed=true;}_removeStickyStyle(o,e){if(!o.classList.contains(this._stickCellCss))return;for(let n of e)o.style[n]="",o.classList.remove(this._borderCellCss[n]);yi.some(n=>e.indexOf(n)===-1&&o.style[n])?o.style.zIndex=this._getCalculatedZIndex(o):(o.style.zIndex="",this._needsPositionStickyOnElement&&(o.style.position=""),o.classList.remove(this._stickCellCss));}_addStickyStyle(o,e,t,n){o.classList.add(this._stickCellCss),n&&o.classList.add(this._borderCellCss[e]),o.style[e]=`${t}px`,o.style.zIndex=this._getCalculatedZIndex(o),this._needsPositionStickyOnElement&&(o.style.cssText+="position: -webkit-sticky; position: sticky; ");}_getCalculatedZIndex(o){let e={top:100,bottom:10,left:1,right:1},t=0;for(let n of yi)o.style[n]&&(t+=e[n]);return t?`${t}`:""}_getCellWidths(o,e=true){if(!e&&this._cachedCellWidths.length)return this._cachedCellWidths;let t=[],n=o.children;for(let a=0;a<n.length;a++){let r=n[a];t.push(this._retrieveElementSize(r).width);}return this._cachedCellWidths=t,t}_getStickyStartColumnPositions(o,e){let t=[],n=0;for(let a=0;a<o.length;a++)e[a]&&(t[a]=n,n+=o[a]);return t}_getStickyEndColumnPositions(o,e){let t=[],n=0;for(let a=o.length;a>0;a--)e[a]&&(t[a]=n,n+=o[a]);return t}_retrieveElementSize(o){let e=this._elemSizeCache.get(o);if(e)return e;let t=o.getBoundingClientRect(),n={width:t.width,height:t.height};return this._resizeObserver&&(this._elemSizeCache.set(o,n),this._resizeObserver.observe(o,{box:"border-box"})),n}_updateStickyColumnReplayQueue(o){this._removeFromStickyColumnReplayQueue(o.rows),this._stickyColumnsReplayTimeout||this._updatedStickyColumnsParamsToReplay.push(o);}_removeFromStickyColumnReplayQueue(o){let e=new Set(o);for(let t of this._updatedStickyColumnsParamsToReplay)t.rows=t.rows.filter(n=>!e.has(n));this._updatedStickyColumnsParamsToReplay=this._updatedStickyColumnsParamsToReplay.filter(t=>!!t.rows.length);}_updateCachedSizes(o){let e=false;for(let t of o){let n=t.borderBoxSize?.length?{width:t.borderBoxSize[0].inlineSize,height:t.borderBoxSize[0].blockSize}:{width:t.contentRect.width,height:t.contentRect.height};n.width!==this._elemSizeCache.get(t.target)?.width&&qi(t.target)&&(e=true),this._elemSizeCache.set(t.target,n);}e&&this._updatedStickyColumnsParamsToReplay.length&&(this._stickyColumnsReplayTimeout&&clearTimeout(this._stickyColumnsReplayTimeout),this._stickyColumnsReplayTimeout=setTimeout(()=>{if(!this._destroyed){for(let t of this._updatedStickyColumnsParamsToReplay)this.updateStickyColumns(t.rows,t.stickyStartStates,t.stickyEndStates,true,false);this._updatedStickyColumnsParamsToReplay=[],this._stickyColumnsReplayTimeout=null;}},0));}};function qi(i){return ["cdk-cell","cdk-header-cell","cdk-footer-cell"].some(o=>i.classList.contains(o))}var xe=new N("STICKY_POSITIONING_LISTENER");var at=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._rowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","rowOutlet",""]]})}return i})(),rt=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._headerRowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","headerRowOutlet",""]]})}return i})(),st=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._footerRowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","footerRowOutlet",""]]})}return i})(),lt=(()=>{class i{viewContainer=w(Ki$1);elementRef=w(Lr);constructor(){let e=w(A);e._noDataRowOutlet=this,e._outletAssigned();}static \u0275fac=function(t){return new(t||i)};static \u0275dir=nw({type:i,selectors:[["","noDataRowOutlet",""]]})}return i})(),ct=(()=>{class i{_differs=w(ib);_changeDetectorRef=w(Gj);_elementRef=w(Lr);_dir=w(ru,{optional:true});_platform=w(G);_viewRepeater;_viewportRuler=w(L);_injector=w(be);_virtualScrollViewport=w(gi,{optional:true,host:true});_positionListener=w(xe,{optional:true})||w(xe,{optional:true,skipSelf:true});_document=w(gr);_data;_renderedRange;_onDestroy=new te;_renderRows;_renderChangeSubscription=null;_columnDefsByName=new Map;_rowDefs;_headerRowDefs;_footerRowDefs;_dataDiffer;_defaultRowDef=null;_customColumnDefs=new Set;_customRowDefs=new Set;_customHeaderRowDefs=new Set;_customFooterRowDefs=new Set;_customNoDataRow=null;_headerRowDefChanged=true;_footerRowDefChanged=true;_stickyColumnStylesNeedReset=true;_forceRecalculateCellWidths=true;_cachedRenderRowsMap=new Map;_isNativeHtmlTable;_stickyStyler;stickyCssClass="cdk-table-sticky";needsPositionStickyOnElement=true;_isServer;_isShowingNoDataRow=false;_hasAllOutlets=false;_hasInitialized=false;_headerRowStickyUpdates=new te;_footerRowStickyUpdates=new te;_disableVirtualScrolling=false;_getCellRole(){if(this._cellRoleInternal===void 0){let e=this._elementRef.nativeElement.getAttribute("role");return e==="grid"||e==="treegrid"?"gridcell":"cell"}return this._cellRoleInternal}_cellRoleInternal=void 0;get trackBy(){return this._trackByFn}set trackBy(e){this._trackByFn=e;}_trackByFn;get dataSource(){return this._dataSource}set dataSource(e){this._dataSource!==e&&(this._switchDataSource(e),this._changeDetectorRef.markForCheck());}_dataSource;_dataSourceChanges=new te;_dataStream=new te;get multiTemplateDataRows(){return this._multiTemplateDataRows}set multiTemplateDataRows(e){this._multiTemplateDataRows=e,this._rowOutlet&&this._rowOutlet.viewContainer.length&&(this._forceRenderDataRows(),this.updateStickyColumnStyles());}_multiTemplateDataRows=false;get fixedLayout(){return this._virtualScrollEnabled()?true:this._fixedLayout}set fixedLayout(e){this._fixedLayout=e,this._forceRecalculateCellWidths=true,this._stickyColumnStylesNeedReset=true;}_fixedLayout=false;recycleRows=false;contentChanged=new Qe$1;viewChange=new Bn$1({start:0,end:Number.MAX_VALUE});_rowOutlet;_headerRowOutlet;_footerRowOutlet;_noDataRowOutlet;_contentColumnDefs;_contentRowDefs;_contentHeaderRowDefs;_contentFooterRowDefs;_noDataRow;get renderedRows(){return this._renderRows}constructor(){w(new Lg("role"),{optional:true})||this._elementRef.nativeElement.setAttribute("role","table"),this._isServer=!this._platform.isBrowser,this._isNativeHtmlTable=this._elementRef.nativeElement.nodeName==="TABLE",this._dataDiffer=this._differs.find([]).create((t,n)=>this.trackBy?this.trackBy(n.dataIndex,n.data):n);}ngOnInit(){this._setupStickyStyler(),this._viewportRuler.change().pipe(bu(this._onDestroy)).subscribe(()=>{this._forceRecalculateCellWidths=true;});}ngAfterContentInit(){this._viewRepeater=this.recycleRows||this._virtualScrollEnabled()?new jt:new _,this._virtualScrollEnabled()&&this._setupVirtualScrolling(this._virtualScrollViewport),this._hasInitialized=true;}ngAfterContentChecked(){this._canRender()&&this._render();}ngOnDestroy(){this._stickyStyler?.destroy(),[this._rowOutlet?.viewContainer,this._headerRowOutlet?.viewContainer,this._footerRowOutlet?.viewContainer,this._cachedRenderRowsMap,this._customColumnDefs,this._customRowDefs,this._customHeaderRowDefs,this._customFooterRowDefs,this._columnDefsByName].forEach(e=>{e?.clear();}),this._headerRowDefs=[],this._footerRowDefs=[],this._defaultRowDef=null,this._headerRowStickyUpdates.complete(),this._footerRowStickyUpdates.complete(),this._onDestroy.next(),this._onDestroy.complete(),Ce$1(this.dataSource)&&this.dataSource.disconnect(this);}renderRows(){this._renderRows=this._getAllRenderRows();let e=this._dataDiffer.diff(this._renderRows);if(!e){this._updateNoDataRow(),this.contentChanged.next();return}let t=this._rowOutlet.viewContainer;this._viewRepeater.applyChanges(e,t,(n,a,r)=>this._getEmbeddedViewArgs(n.item,r),n=>n.item.data,n=>{n.operation===Y$1.INSERTED&&n.context&&this._renderCellTemplateForItem(n.record.item.rowDef,n.context);}),this._updateRowIndexContext(),e.forEachIdentityChange(n=>{let a=t.get(n.currentIndex);a.context.$implicit=n.item.data;}),this._updateNoDataRow(),this.contentChanged.next(),this.updateStickyColumnStyles();}addColumnDef(e){this._customColumnDefs.add(e);}removeColumnDef(e){this._customColumnDefs.delete(e);}addRowDef(e){this._customRowDefs.add(e);}removeRowDef(e){this._customRowDefs.delete(e);}addHeaderRowDef(e){this._customHeaderRowDefs.add(e),this._headerRowDefChanged=true;}removeHeaderRowDef(e){this._customHeaderRowDefs.delete(e),this._headerRowDefChanged=true;}addFooterRowDef(e){this._customFooterRowDefs.add(e),this._footerRowDefChanged=true;}removeFooterRowDef(e){this._customFooterRowDefs.delete(e),this._footerRowDefChanged=true;}setNoDataRow(e){this._customNoDataRow=e;}updateStickyHeaderRowStyles(){let e=this._getRenderedRows(this._headerRowOutlet);if(this._isNativeHtmlTable){let n=wi(this._headerRowOutlet,"thead");n&&(n.style.display=e.length?"":"none");}let t=this._headerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(e,["top"]),this._stickyStyler.stickRows(e,t,"top"),this._headerRowDefs.forEach(n=>n.resetStickyChanged());}updateStickyFooterRowStyles(){let e=this._getRenderedRows(this._footerRowOutlet);if(this._isNativeHtmlTable){let n=wi(this._footerRowOutlet,"tfoot");n&&(n.style.display=e.length?"":"none");}let t=this._footerRowDefs.map(n=>n.sticky);this._stickyStyler.clearStickyPositioning(e,["bottom"]),this._stickyStyler.stickRows(e,t,"bottom"),this._stickyStyler.updateStickyFooterContainer(this._elementRef.nativeElement,t),this._footerRowDefs.forEach(n=>n.resetStickyChanged());}updateStickyColumnStyles(){let e=this._getRenderedRows(this._headerRowOutlet),t=this._getRenderedRows(this._rowOutlet),n=this._getRenderedRows(this._footerRowOutlet);(this._isNativeHtmlTable&&!this.fixedLayout||this._stickyColumnStylesNeedReset)&&(this._stickyStyler.clearStickyPositioning([...e,...t,...n],["left","right"]),this._stickyColumnStylesNeedReset=false),e.forEach((a,r)=>{this._addStickyColumnStyles([a],this._headerRowDefs[r]);}),this._rowDefs.forEach(a=>{let r=[];for(let l=0;l<t.length;l++)this._renderRows[l].rowDef===a&&r.push(t[l]);this._addStickyColumnStyles(r,a);}),n.forEach((a,r)=>{this._addStickyColumnStyles([a],this._footerRowDefs[r]);}),Array.from(this._columnDefsByName.values()).forEach(a=>a.resetStickyChanged());}stickyColumnsUpdated(e){this._positionListener?.stickyColumnsUpdated(e);}stickyEndColumnsUpdated(e){this._positionListener?.stickyEndColumnsUpdated(e);}stickyHeaderRowsUpdated(e){this._headerRowStickyUpdates.next(e),this._positionListener?.stickyHeaderRowsUpdated(e);}stickyFooterRowsUpdated(e){this._footerRowStickyUpdates.next(e),this._positionListener?.stickyFooterRowsUpdated(e);}_outletAssigned(){!this._hasAllOutlets&&this._rowOutlet&&this._headerRowOutlet&&this._footerRowOutlet&&this._noDataRowOutlet&&(this._hasAllOutlets=true,this._canRender()&&this._render());}_canRender(){return this._hasAllOutlets&&this._hasInitialized}_render(){this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDefs.length&&!this._footerRowDefs.length&&this._rowDefs.length;let t=this._renderUpdatedColumns()||this._headerRowDefChanged||this._footerRowDefChanged;this._stickyColumnStylesNeedReset=this._stickyColumnStylesNeedReset||t,this._forceRecalculateCellWidths=t,this._headerRowDefChanged&&(this._forceRenderHeaderRows(),this._headerRowDefChanged=false),this._footerRowDefChanged&&(this._forceRenderFooterRows(),this._footerRowDefChanged=false),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription?this._observeRenderChanges():this._stickyColumnStylesNeedReset&&this.updateStickyColumnStyles(),this._checkStickyStates();}_getAllRenderRows(){if(!Array.isArray(this._data)||!this._renderedRange)return [];let e=[],t=Math.min(this._data.length,this._renderedRange.end),n=this._cachedRenderRowsMap;this._cachedRenderRowsMap=new Map;for(let a=this._renderedRange.start;a<t;a++){let r=this._data[a],l=this._getRenderRowsForData(r,a,n.get(r));this._cachedRenderRowsMap.has(r)||this._cachedRenderRowsMap.set(r,new WeakMap);for(let u=0;u<l.length;u++){let p=l[u],g=this._cachedRenderRowsMap.get(p.data);g.has(p.rowDef)?g.get(p.rowDef).push(p):g.set(p.rowDef,[p]),e.push(p);}}return e}_getRenderRowsForData(e,t,n){return this._getRowDefs(e,t).map(r=>{let l=n&&n.has(r)?n.get(r):[];if(l.length){let u=l.shift();return u.dataIndex=t,u}else return {data:e,rowDef:r,dataIndex:t}})}_cacheColumnDefs(){this._columnDefsByName.clear(),je(this._getOwnDefs(this._contentColumnDefs),this._customColumnDefs).forEach(t=>{this._columnDefsByName.has(t.name),this._columnDefsByName.set(t.name,t);});}_cacheRowDefs(){this._headerRowDefs=je(this._getOwnDefs(this._contentHeaderRowDefs),this._customHeaderRowDefs),this._footerRowDefs=je(this._getOwnDefs(this._contentFooterRowDefs),this._customFooterRowDefs),this._rowDefs=je(this._getOwnDefs(this._contentRowDefs),this._customRowDefs);let e=this._rowDefs.filter(t=>!t.when);this._defaultRowDef=e[0];}_renderUpdatedColumns(){let e=(r,l)=>{let u=!!l.getColumnsDiff();return r||u},t=this._rowDefs.reduce(e,false);t&&this._forceRenderDataRows();let n=this._headerRowDefs.reduce(e,false);n&&this._forceRenderHeaderRows();let a=this._footerRowDefs.reduce(e,false);return a&&this._forceRenderFooterRows(),t||n||a}_switchDataSource(e){this._data=[],Ce$1(this.dataSource)&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),e||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowOutlet&&this._rowOutlet.viewContainer.clear()),this._dataSource=e;}_observeRenderChanges(){if(!this.dataSource)return;let e;Ce$1(this.dataSource)?e=this.dataSource.connect(this):Cm(this.dataSource)?e=this.dataSource:Array.isArray(this.dataSource)&&(e=Tm(this.dataSource)),this._renderChangeSubscription=Fm([e,this.viewChange]).pipe(bu(this._onDestroy)).subscribe(([t,n])=>{this._data=t||[],this._renderedRange=n,this._dataStream.next(t),this.renderRows();});}_forceRenderHeaderRows(){this._headerRowOutlet.viewContainer.length>0&&this._headerRowOutlet.viewContainer.clear(),this._headerRowDefs.forEach((e,t)=>this._renderRow(this._headerRowOutlet,e,t)),this.updateStickyHeaderRowStyles();}_forceRenderFooterRows(){this._footerRowOutlet.viewContainer.length>0&&this._footerRowOutlet.viewContainer.clear(),this._footerRowDefs.forEach((e,t)=>this._renderRow(this._footerRowOutlet,e,t)),this.updateStickyFooterRowStyles();}_addStickyColumnStyles(e,t){let n=Array.from(t?.columns||[]).map(l=>{let u=this._columnDefsByName.get(l);return u}),a=n.map(l=>l.sticky),r=n.map(l=>l.stickyEnd);this._stickyStyler.updateStickyColumns(e,a,r,!this.fixedLayout||this._forceRecalculateCellWidths);}_getRenderedRows(e){let t=[];for(let n=0;n<e.viewContainer.length;n++){let a=e.viewContainer.get(n);t.push(a.rootNodes[0]);}return t}_getRowDefs(e,t){if(this._rowDefs.length===1)return [this._rowDefs[0]];let n=[];if(this.multiTemplateDataRows)n=this._rowDefs.filter(a=>!a.when||a.when(t,e));else {let a=this._rowDefs.find(r=>r.when&&r.when(t,e))||this._defaultRowDef;a&&n.push(a);}return n.length,n}_getEmbeddedViewArgs(e,t){let n=e.rowDef,a={$implicit:e.data};return {templateRef:n.template,context:a,index:t}}_renderRow(e,t,n,a={}){let r=e.viewContainer.createEmbeddedView(t.template,a,n);return this._renderCellTemplateForItem(t,a),r}_renderCellTemplateForItem(e,t){for(let n of this._getCellTemplates(e))ae.mostRecentCellOutlet&&ae.mostRecentCellOutlet._viewContainer.createEmbeddedView(n,t);this._changeDetectorRef.markForCheck();}_updateRowIndexContext(){let e=this._rowOutlet.viewContainer;for(let t=0,n=e.length;t<n;t++){let r=e.get(t).context;r.count=n,r.first=t===0,r.last=t===n-1,r.even=t%2===0,r.odd=!r.even,this.multiTemplateDataRows?(r.dataIndex=this._renderRows[t].dataIndex,r.renderIndex=t):r.index=this._renderRows[t].dataIndex;}}_getCellTemplates(e){return !e||!e.columns?[]:Array.from(e.columns,t=>{let n=this._columnDefsByName.get(t);return e.extractCellTemplate(n)})}_forceRenderDataRows(){this._dataDiffer.diff([]),this._rowOutlet.viewContainer.clear(),this.renderRows();}_checkStickyStates(){let e=(t,n)=>t||n.hasStickyChanged();this._headerRowDefs.reduce(e,false)&&this.updateStickyHeaderRowStyles(),this._footerRowDefs.reduce(e,false)&&this.updateStickyFooterRowStyles(),Array.from(this._columnDefsByName.values()).reduce(e,false)&&(this._stickyColumnStylesNeedReset=true,this.updateStickyColumnStyles());}_setupStickyStyler(){let e=this._dir?this._dir.value:"ltr",t=this._injector;this._stickyStyler=new et(this._isNativeHtmlTable,this.stickyCssClass,this._platform.isBrowser,this.needsPositionStickyOnElement,e,this,t),(this._dir?this._dir.change:Tm()).pipe(bu(this._onDestroy)).subscribe(n=>{this._stickyStyler.direction=n,this.updateStickyColumnStyles();});}_setupVirtualScrolling(e){let t=typeof requestAnimationFrame<"u"?wm:Dm;this.viewChange.next({start:0,end:0}),e.renderedRangeStream.pipe(Qm(0,t),bu(this._onDestroy)).subscribe(this.viewChange),e.attach({dataStream:this._dataStream,measureRangeSize:(n,a)=>this._measureRangeSize(n,a)}),Fm([e.renderedContentOffset,this._headerRowStickyUpdates]).pipe(bu(this._onDestroy)).subscribe(([n,a])=>{if(!(!a.sizes||!a.offsets||!a.elements))for(let r=0;r<a.elements.length;r++){let l=a.elements[r];if(l){let u=a.offsets[r],p=n!==0?Math.max(n-u,u):-u;for(let g of l)g.style.top=`${-p}px`;}}}),Fm([e.renderedContentOffset,this._footerRowStickyUpdates]).pipe(bu(this._onDestroy)).subscribe(([n,a])=>{if(!(!a.sizes||!a.offsets||!a.elements))for(let r=0;r<a.elements.length;r++){let l=a.elements[r];if(l)for(let u of l)u.style.bottom=`${n+a.offsets[r]}px`;}});}_getOwnDefs(e){return e.filter(t=>!t._table||t._table===this)}_updateNoDataRow(){let e=this._customNoDataRow||this._noDataRow;if(!e)return;let t=this._rowOutlet.viewContainer.length===0;if(t===this._isShowingNoDataRow)return;let n=this._noDataRowOutlet.viewContainer;if(t){let a=n.createEmbeddedView(e.templateRef),r=a.rootNodes[0];if(a.rootNodes.length===1&&r?.nodeType===this._document.ELEMENT_NODE){r.setAttribute("role","row"),r.classList.add(...e._contentClassNames);let l=r.querySelectorAll(e._cellSelector);for(let u=0;u<l.length;u++)l[u].classList.add(...e._cellClassNames);}}else n.clear();this._isShowingNoDataRow=t,this._changeDetectorRef.markForCheck();}_measureRangeSize(e,t){if(e.start>=e.end||t!=="vertical")return 0;let n=this.viewChange.value,a=this._rowOutlet.viewContainer;e.start<n.start||e.end>n.end;let r=e.start-n.start,l=e.end-e.start,u,p;for(let S=0;S<l;S++){let R=a.get(S+r);if(R&&R.rootNodes.length){u=p=R.rootNodes[0];break}}for(let S=l-1;S>-1;S--){let R=a.get(S+r);if(R&&R.rootNodes.length){p=R.rootNodes[R.rootNodes.length-1];break}}let g=u?.getBoundingClientRect?.(),w=p?.getBoundingClientRect?.();return g&&w?w.bottom-g.top:0}_virtualScrollEnabled(){return !this._disableVirtualScrolling&&this._virtualScrollViewport!=null}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=JD({type:i,selectors:[["cdk-table"],["table","cdk-table",""]],contentQueries:function(t,n,a){if(t&1&&Kh(a,We,5)(a,Y,5)(a,Qe,5)(a,Me,5)(a,it,5),t&2){let r;Zw(r=Yw())&&(n._noDataRow=r.first),Zw(r=Yw())&&(n._contentColumnDefs=r),Zw(r=Yw())&&(n._contentRowDefs=r),Zw(r=Yw())&&(n._contentHeaderRowDefs=r),Zw(r=Yw())&&(n._contentFooterRowDefs=r);}},hostAttrs:[1,"cdk-table"],hostVars:2,hostBindings:function(t,n){t&2&&sg("cdk-table-fixed-layout",n.fixedLayout);},inputs:{trackBy:"trackBy",dataSource:"dataSource",multiTemplateDataRows:[2,"multiTemplateDataRows","multiTemplateDataRows",Zj],fixedLayout:[2,"fixedLayout","fixedLayout",Zj],recycleRows:[2,"recycleRows","recycleRows",Zj]},outputs:{contentChanged:"contentChanged"},exportAs:["cdkTable"],features:[LT([{provide:A,useExisting:i},{provide:xe,useValue:null}])],ngContentSelectors:Ui,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,n){t&1&&(Gw(Vi),zw(0),zw(1,1),_w(2,$i,1,0),_w(3,Qi,7,0)(4,Wi,4,0)),t&2&&(EE(2),Mw(n._isServer?2:-1),EE(),Mw(n._isNativeHtmlTable?3:4));},dependencies:[rt,at,lt,st],styles:[`.cdk-table-fixed-layout {
|
|
2
2
|
table-layout: fixed;
|
|
3
3
|
}
|
|
4
4
|
`],encapsulation:2,changeDetection:1})}return i})();function je(i,o){return i.concat(Array.from(o))}function wi(i,o){let e=o.toUpperCase(),t=i.viewContainer.element.nativeElement;for(;t;){let n=t.nodeType===1?t.nodeName:null;if(n===e)return t;if(n==="TABLE")break;t=t.parentNode;}return null}var vi=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=bh({type:i});static \u0275inj=Qs({imports:[wt$1]})}return i})();var Gi=[[["caption"]],[["colgroup"],["col"]],"*"],Ki=["caption","colgroup, col","*"];function Yi(i,o){i&1&&zw(0,2);}function Zi(i,o){i&1&&(Pi$1(0,"thead",0),Wh(1,1),ul(),Pi$1(2,"tbody",2),Wh(3,3)(4,4),ul(),Pi$1(5,"tfoot",0),Wh(6,5),ul());}function Xi(i,o){i&1&&Wh(0,1)(1,3)(2,4)(3,5);}var Si=(()=>{class i extends ct{stickyCssClass="mat-mdc-table-sticky";needsPositionStickyOnElement=false;static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sv(i)))(n||i)}})();static \u0275cmp=JD({type:i,selectors:[["mat-table"],["table","mat-table",""]],hostAttrs:[1,"mat-mdc-table","mdc-data-table__table"],hostVars:2,hostBindings:function(t,n){t&2&&sg("mat-table-fixed-layout",n.fixedLayout);},exportAs:["matTable"],features:[LT([{provide:ct,useExisting:i},{provide:A,useExisting:i},{provide:xe,useValue:null}]),Sh],ngContentSelectors:Ki,decls:5,vars:2,consts:[["role","rowgroup"],["headerRowOutlet",""],["role","rowgroup",1,"mdc-data-table__content"],["rowOutlet",""],["noDataRowOutlet",""],["footerRowOutlet",""]],template:function(t,n){t&1&&(Gw(Gi),zw(0),zw(1,1),_w(2,Yi,1,0),_w(3,Zi,7,0)(4,Xi,4,0)),t&2&&(EE(2),Mw(n._isServer?2:-1),EE(),Mw(n._isNativeHtmlTable?3:4));},dependencies:[rt,at,lt,st],styles:[`.mat-mdc-table-sticky {
|