@signalk/freeboard-sk 3.2.0 → 3.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +276 -276
  2. package/package.json +18 -14
  3. package/plugin/vitest.config.mjs +1 -0
  4. package/public/assets/features/anchor-watch-1.jpg +0 -0
  5. package/public/assets/features/anchor-watch-2.jpg +0 -0
  6. package/public/assets/features/anchor-watch-3.jpg +0 -0
  7. package/public/assets/features/collision-alarm-display-1.jpg +0 -0
  8. package/public/assets/features/collision-alarm-display-2.jpg +0 -0
  9. package/public/assets/features/extension-panels-3.jpg +0 -0
  10. package/public/assets/features/radar-guard-zones-1.jpg +0 -0
  11. package/public/assets/features/radar-guard-zones-2.jpg +0 -0
  12. package/public/assets/features/radar-overlay-2.jpg +0 -0
  13. package/public/assets/features/radar-overlay-3.jpg +0 -0
  14. package/public/assets/features/route-planning-3.jpg +0 -0
  15. package/public/assets/features/route-planning-4.jpg +0 -0
  16. package/public/assets/features-corpus.json +1 -1
  17. package/public/assets/help/index.html +53 -124
  18. package/public/{chunk-D4A5NW5G.js → chunk-45ZTFAA5.js} +1 -1
  19. package/public/{chunk-4UBQTQSK.js → chunk-62WHV6CJ.js} +11 -11
  20. package/public/{chunk-6ZXMFU55.js → chunk-67S2RK5V.js} +1 -1
  21. package/public/{chunk-BJKB23AZ.js → chunk-6E2BDKCH.js} +1 -1
  22. package/public/{chunk-VQDXDSU7.js → chunk-AQKT2J2C.js} +1 -1
  23. package/public/chunk-BXGNCKBA.js +1 -0
  24. package/public/chunk-F4EUFUYM.js +4097 -0
  25. package/public/chunk-I33LU6L4.js +1 -0
  26. package/public/{chunk-YB4RBYE2.js → chunk-IGMXHN4X.js} +1 -1
  27. package/public/{chunk-RRYFRHFP.js → chunk-ISXARX6U.js} +1 -1
  28. package/public/chunk-J6MIIPAV.js +1 -0
  29. package/public/{chunk-7OBOGNNY.js → chunk-MX5HWKAH.js} +1 -1
  30. package/public/{chunk-5SYZI253.js → chunk-MYBGWSLC.js} +1 -1
  31. package/public/chunk-OBOT3EYE.js +1 -0
  32. package/public/chunk-OKVIYJ6A.js +1 -0
  33. package/public/{chunk-OVB2ZLN5.js → chunk-PAHYECKY.js} +1 -1
  34. package/public/{chunk-BNCDJR4Z.js → chunk-PD55PKQG.js} +2 -2
  35. package/public/chunk-QIIV7CZB.js +1 -0
  36. package/public/{chunk-BCS6VHKX.js → chunk-RG7WQ7O2.js} +15 -15
  37. package/public/chunk-S2NZQZZH.js +1 -0
  38. package/public/{chunk-R7YVRRY3.js → chunk-T7ZWMXKZ.js} +1 -1
  39. package/public/{chunk-GBMW6IJP.js → chunk-X6D4D6EN.js} +1 -1
  40. package/public/{chunk-USYMWMPO.js → chunk-YSHHABBQ.js} +1 -1
  41. package/public/{chunk-XZM7Q5WP.js → chunk-YZN4NRWW.js} +1 -1
  42. package/public/{chunk-P57WKW3G.js → chunk-Z2D7B2ZG.js} +1 -1
  43. package/public/index.html +2 -2
  44. package/public/main-S6QEWGOY.js +468 -0
  45. package/public/{styles-YRQUZIIZ.css → styles-BRU77GKR.css} +1 -1
  46. package/public/worker-E75PSRY4.js +12 -0
  47. package/public/worker-PCWM7FLK.js +3 -0
  48. package/public/{worker-BFPH3XRP.js → worker-UJD2XPGR.js} +6 -6
  49. package/public/worker-W3UMLYIU.js +12 -0
  50. package/public/chunk-A2UDMCI5.js +0 -1
  51. package/public/chunk-EDKY4MXN.js +0 -1
  52. package/public/chunk-GFDZNVNU.js +0 -4372
  53. package/public/chunk-H54CRRPU.js +0 -1
  54. package/public/chunk-HT6GODHM.js +0 -1
  55. package/public/chunk-RQKGK2KO.js +0 -1
  56. package/public/chunk-UBTZRPVO.js +0 -1
  57. package/public/chunk-XXGLBGHG.js +0 -1
  58. package/public/main-LYWXFV5I.js +0 -468
  59. package/public/worker-5LIQ6F6U.js +0 -12
  60. package/public/worker-DYC3TMVW.js +0 -3
  61. package/public/worker-SUE26ZZI.js +0 -12
@@ -1 +0,0 @@
1
- import{j as a}from"./chunk-5SYZI253.js";import"./chunk-BJKB23AZ.js";import"./chunk-D4A5NW5G.js";import"./chunk-GBMW6IJP.js";import"./chunk-XZM7Q5WP.js";import"./chunk-USYMWMPO.js";import"./chunk-BCS6VHKX.js";import"./chunk-NCEQPEJE.js";export{a as PlaybackDialog};
@@ -1 +0,0 @@
1
- import{Ta as a}from"./chunk-GFDZNVNU.js";import"./chunk-RRYFRHFP.js";import"./chunk-4UBQTQSK.js";import"./chunk-5SYZI253.js";import"./chunk-BJKB23AZ.js";import"./chunk-D4A5NW5G.js";import"./chunk-GBMW6IJP.js";import"./chunk-BNCDJR4Z.js";import"./chunk-XZM7Q5WP.js";import"./chunk-USYMWMPO.js";import"./chunk-BCS6VHKX.js";import"./chunk-NCEQPEJE.js";export{a as Trail2RouteDialog};
@@ -1 +0,0 @@
1
- import{a as Ie,b as O,c as Ae,d as Ke,e as Be}from"./chunk-VQDXDSU7.js";import{Ga as Re,Ha as Oe,Ia as Ge,Ja as Fe,Ka as Xe,L as Se,La as We,Ua as Ve,V as Pe,W as Me,X as De,d as ee,i as _e,j as ye,k as ke,l as Ce,m as ve,p as Ee,q as R}from"./chunk-GFDZNVNU.js";import{a as be,b as Te,c as we}from"./chunk-RRYFRHFP.js";import{j as oe,k as re,l as se}from"./chunk-4UBQTQSK.js";import{a as he,b as ge,d as xe}from"./chunk-5SYZI253.js";import{a as fe}from"./chunk-BJKB23AZ.js";import"./chunk-D4A5NW5G.js";import{b as le,i as ce,j as pe,n as de,o as me}from"./chunk-GBMW6IJP.js";import{b as ue}from"./chunk-BNCDJR4Z.js";import"./chunk-XZM7Q5WP.js";import"./chunk-USYMWMPO.js";import{Ea as f,Ed as j,Fa as _,Fd as N,Ha as V,Ia as T,Id as U,Ja as w,Ka as g,Kd as z,L as B,La as r,Ma as s,Md as q,Na as L,Nd as Q,P as b,R as m,S as u,Ua as y,Vd as Y,Wa as h,Xd as J,Ya as d,_d as Z,ae as te,c as A,fe as ie,gb as E,ie as ae,ja as c,k as K,lb as l,mb as H,nb as S,oa as C,pb as P,qb as M,qe as ne,ra as $,rb as D}from"./chunk-BCS6VHKX.js";import{g as v}from"./chunk-NCEQPEJE.js";var G=class{gpx;constructor(){this.init()}init(){this.gpx=new Ie,this.gpx.metadata.name="Signal K Resource Export",this.gpx.metadata.desc="Freeboard export of Signal K resources"}toXML(){return this.gpx.toXML()}setRoutes(i,e){if(e)e.forEach(t=>{i[t]&&this.gpx.rte.push(this.packageRoute(t,i[t]))});else for(let t in i)this.gpx.rte.push(this.packageRoute(t,i[t]))}packageRoute(i,e){let t=new Ae;t.extensions=t.extensions??{},t.extensions.signalk={},t.extensions.signalk.uuid=i,e.distance&&(t.extensions.signalk.distance=e.distance),t.name=e.name||null,t.desc=e.description||null,t.cmt=e.feature.properties.cmt||null,t.src=e.feature.properties.src||null,t.number=e.feature.properties.number||null,t.type=e.feature.properties.type||null;for(let a of e.feature.geometry.coordinates){let n=new O;n.lon=a[0],n.lat=a[1],n.ele=a[2]||null,t.rtept.push(n),this.gpx.updateBounds(n)}return t}setWaypoints(i,e){if(e)e.forEach(t=>{i[t]&&this.gpx.wpt.push(this.packageWaypoint(t,i[t]))});else for(let t in i)this.gpx.wpt.push(this.packageWaypoint(t,i[t]))}packageWaypoint(i,e){let t=new O;if(t.extensions=t.extensions||{},t.extensions.signalk={},t.extensions.signalk.uuid=i,t.name=e.name||"",t.desc=e.description||"",t.cmt=e.feature.properties.cmt||null,t.geoidHeight=e.feature.properties.geoidHeight||null,t.src=e.feature.properties.src||null,t.sym=e.feature.properties.sym||null,t.type=e.feature.properties.type||null,e.type==="waypoint"){let a=Ee(e.feature.properties.skIcon);a?.gpxType&&(t.type=a.gpxType),a?.gpxSym&&(t.sym=a.gpxSym)}return t.fix=e.feature.properties.fix||null,t.sat=e.feature.properties.sat||null,t.hdop=e.feature.properties.hdop||null,t.vdop=e.feature.properties.vdop||null,t.pdop=e.feature.properties.pdop||null,t.ageOfGpsData=e.feature.properties.ageOfGpsData||null,t.dgpsid=e.feature.properties.dgpsid||null,t.lat=e.feature.geometry.coordinates[1],t.lon=e.feature.geometry.coordinates[0],t.ele=e.feature.geometry.coordinates[2]||null,this.gpx.updateBounds(t),t}setTracks(i,e){if(e)e.forEach(t=>{i[t]&&this.gpx.trk.push(this.packageTrack(t,i[t]))});else for(let t in i)this.gpx.trk.push(this.packageTrack(t,i[t]))}packageTrack(i,e){let t=new Ke;t.extensions=t.extensions||{},t.extensions.signalk={},t.extensions.signalk.uuid=i,t.name=e.feature.properties.name||null,t.desc=e.feature.properties.description||null,t.cmt=e.feature.properties.cmt||null,t.src=e.feature.properties.src||null,t.number=e.feature.properties.number||null,t.type=e.feature.properties.type||null;let a=e.feature.properties.coordTimes;return e.feature.geometry.coordinates.forEach((n,p)=>{let x=new Be;n.forEach((W,He)=>{let k=new O;k.lon=W[0],k.lat=W[1],k.ele=W[2]||null;let I=a?.[p]?.[He];I&&(k.datetime=new Date(I)),x.trkpt.push(k),this.gpx.updateBounds(k)}),t.trkseg.push(x)}),t}};var F=class o{resultSource;result$;sk2gpx;hasFSA;signalk=b(R);constructor(){this.resultSource=new A,this.result$=this.resultSource.asObservable(),this.hasFSA="showOpenFilePicker"in window}clear(){this.sk2gpx=null}prepData(i){let e={routes:[],waypoints:[],tracks:[]},t=1;return e.routes=i.routes.map(a=>{let n=a[1];return n.feature.id=a[0],n}),t=1,e.waypoints=i.waypoints.map(a=>{let n=a[1];return n.feature.id=a[0],n.name=n.name??`Wpt: ${t}`,t++,n}),e.tracks=i.tracks,e}saveToFile(i,e){this.sk2gpx=new G;let t={},a={},n={};for(let p=0;p<e.rte.selected.length;p++)e.rte.selected[p]&&(t[i.routes[p].feature.id]=i.routes[p]);this.sk2gpx.setRoutes(t);for(let p=0;p<e.wpt.selected.length;p++)e.wpt.selected[p]&&(a[i.waypoints[p].feature.id]=i.waypoints[p]);this.sk2gpx.setWaypoints(a),(e.trk.tracks??[]).forEach(p=>{let x=this.signalk.uuid;n[x]=We(x,p)}),this.sk2gpx.setTracks(n),this.hasFSA?this.fsaSaveFile():this.legacySaveToFile()}legacySaveToFile(){let i=new Blob([this.sk2gpx.toXML()],{type:"text/xml"}),e=document.createElement("a");e.href=URL.createObjectURL(i),e.download="fb_export.gpx",e.click(),URL.revokeObjectURL(e.href),e.remove(),this.resultSource.next(-1)}fsaSaveFile(){window.showSaveFilePicker({types:[{description:"GPX file",accept:{"text/xml":[".gpx"]}}]}).then(i=>{i.createWritable().then(e=>{let t=new Blob([this.sk2gpx.toXML()]);e.write(t).then(()=>{e.close(),this.resultSource.next(0)})}).catch(e=>{console.warn(e),this.resultSource.next(1)})}).catch(i=>{i?.name==="SecurityError"?this.legacySaveToFile():this.resultSource.next(-1)})}static \u0275fac=function(e){return new(e||o)};static \u0275prov=B({token:o,factory:o.\u0275fac,providedIn:"root"})};var Ue=(o,i)=>i.context;function ze(o,i){o&1&&L(0,"mat-progress-bar",10)}function qe(o,i){if(o&1){let e=y();r(0,"div",19)(1,"div",20),l(2),s(),r(3,"div",21)(4,"mat-checkbox",22,0),h("change",function(){let a=m(e).$index,n=E(5),p=d(2);return u(p.checkWpt(n.checked,a))}),s()()()}if(o&2){let e=i.$implicit,t=i.$index,a=d(2);c(2),H(e.name),c(2),g("checked",a.selWaypoints[t])}}function Qe(o,i){if(o&1){let e=y();r(0,"div",12)(1,"mat-expansion-panel",13),h("opened",function(){m(e);let a=d();return u(a.display.expand.waypoints=!0)})("closed",function(){m(e);let a=d();return u(a.display.expand.waypoints=!1)}),r(2,"mat-expansion-panel-header",14)(3,"mat-panel-title")(4,"mat-icon",15),l(5,"place"),s(),l(6," \xA0"),r(7,"b"),l(8,"Waypoints:"),s()(),r(9,"mat-panel-description")(10,"div",16)(11,"mat-checkbox",17),h("change",function(a){m(e);let n=d();return u(n.checkWpt(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),s()()()(),r(12,"div",18),T(13,qe,6,2,"div",19,V),s()()()}if(o&2){let e=d();c(),g("expanded",e.display.expand.waypoints),c(10),g("indeterminate",e.display.someWptChecked)("checked",e.display.allWaypointsChecked)("disabled",e.resData.waypoints.length===0),c(2),w(e.resData.waypoints)}}function Ye(o,i){if(o&1){let e=y();r(0,"div",19)(1,"div",20)(2,"mat-icon",23),l(3,"directions"),s(),l(4),s(),r(5,"div",21)(6,"mat-checkbox",25,1),h("change",function(){let a=m(e).$index,n=E(7),p=d(2);return u(p.checkRte(n.checked,a))}),s()()()}if(o&2){let e=i.$implicit,t=i.$index,a=d(2);c(4),S(" ",e.name," "),c(2),g("checked",a.selRoutes[t])}}function Je(o,i){if(o&1){let e=y();r(0,"div",12)(1,"mat-expansion-panel",13),h("opened",function(){m(e);let a=d();return u(a.display.expand.routes=!0)})("closed",function(){m(e);let a=d();return u(a.display.expand.routes=!1)}),r(2,"mat-expansion-panel-header",14)(3,"mat-panel-title")(4,"mat-icon",23),l(5,"directions"),s(),l(6," \xA0"),r(7,"b"),l(8,"Routes:"),s()(),r(9,"mat-panel-description")(10,"div",16)(11,"mat-checkbox",24),h("change",function(a){m(e);let n=d();return u(n.checkRte(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),s()()()(),r(12,"div",18),T(13,Ye,8,2,"div",19,V),s()()()}if(o&2){let e=d();c(),g("expanded",e.display.expand.routes),c(10),g("indeterminate",e.display.someRteChecked)("checked",e.display.allRoutesChecked)("disabled",e.resData.routes.length==0),c(2),w(e.resData.routes)}}function Ze(o,i){o&1&&(r(0,"div",30),l(1," Only the positions gathered while Freeboard was open: the server has no recorded track for this vessel. "),s())}function et(o,i){if(o&1){let e=y();r(0,"div",19)(1,"div",20)(2,"mat-icon",26),l(3,"directions_boat"),s(),l(4),s(),r(5,"div",21)(6,"mat-checkbox",29,2),h("change",function(){let a=m(e).$index,n=E(7),p=d(2);return u(p.checkTrk(n.checked,a))}),s()()(),f(8,Ze,2,0,"div",30)}if(o&2){let e=i.$implicit,t=i.$index,a=d(2);c(4),S(" ",e.label," "),c(2),g("checked",a.selTracks[t]),c(2),_(e.tailOnly&&a.trackChoice==="displayed"?8:-1)}}function tt(o,i){o&1&&(r(0,"mat-option",37),l(1,"Track history range"),s())}function it(o,i){o&1&&(r(0,"div",30),l(1,"Choose a From time before the To time."),s())}function at(o,i){if(o&1){let e=y();r(0,"div",39)(1,"mat-form-field")(2,"mat-label"),l(3,"From"),s(),r(4,"input",40),D("ngModelChange",function(a){m(e);let n=d(3);return M(n.customFrom,a)||(n.customFrom=a),u(a)}),s()(),r(5,"mat-form-field")(6,"mat-label"),l(7,"To"),s(),r(8,"input",40),D("ngModelChange",function(a){m(e);let n=d(3);return M(n.customTo,a)||(n.customTo=a),u(a)}),s()()(),f(9,it,2,0,"div",30)}if(o&2){let e=d(3);c(4),P("ngModel",e.customFrom),c(4),P("ngModel",e.customTo),c(),_(e.customInvalid?9:-1)}}function nt(o,i){o&1&&(r(0,"div",30),l(1," Fetched from the server when you save, in the most detail it provides. "),s())}function ot(o,i){if(o&1){let e=y();r(0,"div",28)(1,"mat-form-field",31)(2,"mat-label"),l(3,"Track to export"),s(),r(4,"mat-select",32),D("ngModelChange",function(a){m(e);let n=d(2);return M(n.trackChoice,a)||(n.trackChoice=a),u(a)}),r(5,"mat-option",33),l(6,"As displayed"),s(),r(7,"mat-option",34),l(8,"Last 7 days"),s(),r(9,"mat-option",35),l(10,"Last 30 days"),s(),r(11,"mat-option",36),l(12,"All recorded"),s(),f(13,tt,2,0,"mat-option",37),r(14,"mat-option",38),l(15,"Custom range"),s()()(),f(16,at,10,3)(17,nt,2,0,"div",30),s()}if(o&2){let e=d(2);c(4),P("ngModel",e.trackChoice),c(9),_(e.historyRange?13:-1),c(3),_(e.trackChoice==="custom"?16:e.trackChoice!=="displayed"?17:-1)}}function rt(o,i){if(o&1){let e=y();r(0,"div",12)(1,"mat-expansion-panel",13),h("opened",function(){m(e);let a=d();return u(a.display.expand.tracks=!0)})("closed",function(){m(e);let a=d();return u(a.display.expand.tracks=!1)}),r(2,"mat-expansion-panel-header",14)(3,"mat-panel-title")(4,"mat-icon",26),l(5,"show_chart"),s(),l(6," \xA0"),r(7,"b"),l(8,"Tracks:"),s()(),r(9,"mat-panel-description")(10,"div",16)(11,"mat-checkbox",27),h("change",function(a){m(e);let n=d();return u(n.checkTrk(a.checked,-1))})("click",function(a){return a.cancelBubble=!0}),s()()()(),r(12,"div",18),T(13,et,9,3,null,null,Ue),s(),f(15,ot,18,3,"div",28),s()()}if(o&2){let e=d();c(),g("expanded",e.display.expand.tracks),c(10),g("indeterminate",e.display.someTrkChecked)("checked",e.display.allTracksChecked)("disabled",e.resData.tracks.length==0),c(2),w(e.resData.tracks),c(2),_(e.rangeAvailable?15:-1)}}var st=36e5;function $e(o){let i=new Date(o),e=t=>String(t).padStart(2,"0");return`${i.getFullYear()}-${e(i.getMonth()+1)}-${e(i.getDate())}T${e(i.getHours())}:${e(i.getMinutes())}`}function X(o){let i=o?new Date(o).getTime():NaN;return Number.isFinite(i)?i:null}var Le=class o{constructor(i,e,t,a,n){this.app=i;this.skres=e;this.facade=t;this.dialogRef=a;this.data=n}app;skres;facade;dialogRef;data;resData={routes:[],waypoints:[],tracks:[]};trackChoice="displayed";customFrom="";customTo="";fetching=!1;closed=!1;signalk=b(R);trackHistory=b(De);selRoutes=[];selectedRoute=null;selWaypoints=[];selTracks=[];display={notValid:!1,allRoutesChecked:!1,allWaypointsChecked:!1,allTracksChecked:!1,someWptChecked:!1,someRteChecked:!1,someTrkChecked:!1,saveRoutesOK:!1,saveWaypointsOK:!1,saveTracksOK:!1,routeViewer:!1,selCount:{routes:0,waypoints:0,tracks:0},expand:{routes:!1,waypoints:!1,tracks:!1}};unsubscribe=[];ngOnInit(){let i=Date.now();this.customFrom=$e(i-24*st),this.customTo=$e(i),this.loadResources(),this.data.initialChoice&&this.rangeAvailable&&(this.data.initialChoice!=="history"||this.historyRange)&&(this.trackChoice=this.data.initialChoice),this.unsubscribe.push(this.facade.result$.subscribe(e=>{this.dialogRef.close(e)}))}ngOnDestroy(){this.closed=!0,this.unsubscribe.forEach(i=>i.unsubscribe()),this.facade.clear()}loadResources(){return v(this,null,function*(){if(this.data.tracksOnly){this.data.waypoints=[],this.parseResourceData();return}this.data.routes.sort((i,e)=>i[1].name.localeCompare(e[1].name));try{this.app.sIsFetching.set(!0);let i=yield this.skres.listFromServer("waypoints");i.sort((e,t)=>e[1].name.localeCompare(t[1].name)),this.data.waypoints=i,this.app.sIsFetching.set(!1)}catch(i){this.app.sIsFetching.set(!1),this.resData.waypoints=[]}this.parseResourceData()})}get rangeAvailable(){return!!this.app.featureFlags().tracksApi}get historyRange(){return this.resData.tracks.some(i=>this.trackHistory.isShown(i.context))?this.trackHistory.range():void 0}chosenRange(){return Re(this.trackChoice,Date.now(),{history:this.historyRange,custom:{from:X(this.customFrom),to:X(this.customTo)}})}get customInvalid(){return this.trackChoice==="custom"&&!Oe({from:X(this.customFrom),to:X(this.customTo)})}get rangeUnusable(){return this.rangeAvailable&&this.trackChoice!=="displayed"&&this.chosenRange()===null}get canSave(){return!this.fetching&&!(this.display.saveTracksOK&&this.rangeUnusable)&&(this.display.saveRoutesOK||this.display.saveWaypointsOK||this.display.saveTracksOK)}save(){return v(this,null,function*(){let i;try{i=yield this.selectedTracks()}catch(e){if(this.closed)return;this.app.showAlert("GPX Save","Unable to fetch the recorded track from the server.");return}i===null||this.closed||this.facade.saveToFile(this.resData,{rte:{selected:this.selRoutes},wpt:{selected:this.selWaypoints},trk:{tracks:i}})})}selectedTracks(){return v(this,null,function*(){let i=this.resData.tracks.filter((n,p)=>this.selTracks[p]);if(i.length===0)return[];let e=this.rangeAvailable?this.chosenRange():null,t=Date.now(),a=[];this.fetching=!0;try{for(let n of i){let p=e===null?n.displayed:yield this.fetchTrack(n.context,e),x=Xe(n.label,p,t);if(!x)return this.app.showAlert("GPX Save",e===null?`There is no track to save for ${n.label}.`:`No track is recorded for ${n.label} in the selected range.`),null;a.push(x)}}finally{this.fetching=!1}return a})}fetchTrack(i,e){return v(this,null,function*(){let t=this.app.trackSource()?.provider,a=this.signalk.api.get(2,`/tracks?${Ge(i,e,t)}`);if(!a)throw new Error("Not connected");let n=yield K(a),p=ee(i,n,t);return{lines:p?.lines??[],times:p?.times??(p?.lines??[]).map(x=>x.map(()=>{}))}})}parseResourceData(){this.display.allRoutesChecked=!1,this.display.saveRoutesOK=!1,this.selRoutes=[],this.display.allWaypointsChecked=!1,this.display.saveWaypointsOK=!1,this.selWaypoints=[],this.display.allTracksChecked=!1,this.display.saveTracksOK=!1,this.selTracks=[],this.display.selCount={routes:0,waypoints:0,tracks:0},this.display.expand={routes:!1,waypoints:!1,tracks:!1},this.display.notValid=!1,this.resData=this.facade.prepData(this.data),this.resData.tracks=this.resData.tracks.filter(i=>this.rangeAvailable||Fe(i.displayed?.lines)),this.resData.routes.forEach(()=>{this.selRoutes.push(!1)}),this.selRoutes.length===1&&(this.selRoutes[0]=!0,this.display.allRoutesChecked=!0,this.display.expand.routes=!0,this.display.saveRoutesOK=!0),this.resData.waypoints.forEach(()=>{this.selWaypoints.push(!1)}),this.resData.tracks.forEach(()=>{this.selTracks.push(!1)}),this.data.tracksOnly&&this.selTracks.length!==0&&(this.checkTrk(!0,-1),this.display.expand.tracks=!0)}checkRte(i,e=-1){let t=0;if(e!==-1){this.selRoutes[e]=i,this.display.saveRoutesOK=i;for(let a of this.selRoutes)a&&t++;this.display.saveRoutesOK=t!==0,this.display.selCount.routes=t,this.display.allRoutesChecked=t===this.selRoutes.length}else{for(let a=0;a<this.selRoutes.length;a++)this.selRoutes[a]=i,this.display.saveRoutesOK=i,this.display.allRoutesChecked=i;this.display.selCount.routes=i?this.selRoutes.length:0}this.display.someRteChecked=!(this.display.allRoutesChecked||t===0)}checkWpt(i,e=-1){let t=0;if(e!==-1){this.selWaypoints[e]=i,this.display.saveWaypointsOK=i;for(let a of this.selWaypoints)a&&t++;this.display.saveWaypointsOK=t!==0,this.display.selCount.waypoints=t,this.display.allWaypointsChecked=t===this.selWaypoints.length}else{for(let a=0;a<this.selWaypoints.length;a++)this.selWaypoints[a]=i,this.display.saveWaypointsOK=i,this.display.allWaypointsChecked=i;this.display.selCount.waypoints=i?this.selWaypoints.length:0}this.display.someWptChecked=!(this.display.allWaypointsChecked||t===0)}checkTrk(i,e=-1){let t=0;if(e!==-1){this.selTracks[e]=i,this.display.saveTracksOK=i;for(let a of this.selTracks)a&&t++;this.display.saveTracksOK=t!==0,this.display.selCount.tracks=t,this.display.allTracksChecked=t===this.selTracks.length}else{for(let a=0;a<this.selTracks.length;a++)this.selTracks[a]=i,this.display.saveTracksOK=i,this.display.allTracksChecked=i;this.display.selCount.tracks=i?this.selTracks.length:0}this.display.someTrkChecked=!(this.display.allTracksChecked||t===0)}static \u0275fac=function(e){return new(e||o)(C(Ve),C(Se),C(F),C(j),C(N))};static \u0275cmp=$({type:o,selectors:[["gpxsave-dialog"]],decls:19,vars:6,consts:[["wval",""],["rval",""],["tval",""],[1,"gpxsave-dialog"],[2,"background-color","transparent"],[2,"display","flex","width","100%"],["mat-raised-button","","matTooltip","Save selected resources","matTooltipPosition","right",2,"width","85px",3,"click","disabled"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mode","indeterminate"],["mat-dialog-content","",2,"padding","2px"],[1,"card-group"],[3,"opened","closed","expanded"],[1,"panel-header"],[1,"icon-waypoint"],[1,"panel-description"],["matTooltip","Select all Waypoints","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],[1,"list-container-scrollable"],[1,"item-row"],[1,"name"],[1,"check"],["matTooltip","Select Waypoint","matTooltipPosition","below",3,"change","checked"],[1,"icon-route"],["matTooltip","Select all Routes","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],["matTooltip","Select this Route","matTooltipPosition","below",3,"change","checked"],[1,"icon-track"],["matTooltip","Select all Tracks","matTooltipPosition","before",3,"change","click","indeterminate","checked","disabled"],[1,"track-range"],["matTooltip","Select this Track","matTooltipPosition","below",3,"change","checked"],[1,"track-note"],[1,"track-range-select"],[3,"ngModelChange","ngModel"],["value","displayed"],["value","7d"],["value","30d"],["value","all"],["value","history"],["value","custom"],[1,"track-range-custom"],["matInput","","type","datetime-local",3,"ngModelChange","ngModel"]],template:function(e,t){e&1&&(r(0,"div",3)(1,"mat-toolbar",4)(2,"div",5)(3,"div")(4,"button",6),h("click",function(){return t.save()}),r(5,"mat-icon"),l(6,"save"),s(),l(7,"\xA0Save\xA0 "),s()(),r(8,"div",7),l(9),s(),r(10,"div",8)(11,"button",9),h("click",function(){return t.dialogRef.close(-1)}),r(12,"mat-icon"),l(13,"close"),s()()()()(),f(14,ze,1,0,"mat-progress-bar",10),r(15,"div",11),f(16,Qe,15,4,"div",12),f(17,Je,15,4,"div",12),f(18,rt,16,5,"div",12),s()()),e&2&&(c(4),g("disabled",!t.canSave),c(5),S(" ",t.data.tracksOnly?"Export track to GPX":"Export to GPX"," "),c(5),_(t.fetching?14:-1),c(2),_(t.resData.waypoints.length!==0?16:-1),c(),_(t.resData.routes.length!==0?17:-1),c(),_(t.resData.tracks.length!==0?18:-1))},dependencies:[Te,be,Me,Pe,z,U,Q,q,Z,J,Y,oe,pe,ce,le,me,de,ue,ve,_e,ye,Ce,ke,se,re,we,fe,xe,ge,he,ne,te,ie,ae],styles:[".gpxsave-dialog[_ngcontent-%COMP%]{font-family:roboto;position:relative}.dialog-content[_ngcontent-%COMP%]{position:relative;min-height:300px;max-height:400px;width:100%;min-width:240px;overflow-y:auto}.dialog-icon[_ngcontent-%COMP%]{display:none}.card-group[_ngcontent-%COMP%]{padding:5px 5%}.card-group[_ngcontent-%COMP%] .panel-header[_ngcontent-%COMP%]{padding:0 5px}.card-group[_ngcontent-%COMP%] .panel-description[_ngcontent-%COMP%]{text-align:right;width:100%;padding-right:10px}.card-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}button[_ngcontent-%COMP%]{min-width:unset;padding:unset}.item-row[_ngcontent-%COMP%]{display:flex;width:100%;padding:2px 0}.item-row[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;text-overflow:ellipsis;line-height:2.5em}.item-row[_ngcontent-%COMP%] .check[_ngcontent-%COMP%]{text-align:right;padding-right:15px}.track-note[_ngcontent-%COMP%]{font-size:.85em;opacity:.8;padding:0 15px 4px 30px}.track-range[_ngcontent-%COMP%]{padding:8px 5px 0}.track-range-select[_ngcontent-%COMP%]{width:100%}.track-range-custom[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:0 8px}.track-range-custom[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{flex:1 1 220px}@media only screen and (min-width:475px){button[_ngcontent-%COMP%]{min-width:inherit;padding:inherit}.dialog-content[_ngcontent-%COMP%]{min-width:400px}.dialog-icon[_ngcontent-%COMP%]{display:inline}}@media only screen and (min-width:800px){.card-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{Le as GPXExportDialog,X as fromLocalInput,$e as toLocalInput};
@@ -1 +0,0 @@
1
- import{a as oA}from"./chunk-64QDJX7X.js";import{a as eA}from"./chunk-DD47QU4L.js";import{d as hA,f as GA}from"./chunk-NCEQPEJE.js";var aA=hA((fA,AA)=>{(function(){var p=(function(){var K={};K.defaultNoDataValue=-34027999387901484e22,K.decode=function(I,o){o=o||{};var B=o.encodedMaskData||o.encodedMaskData===null,g=E(I,o.inputOffset||0,B),D=o.noDataValue!==null?o.noDataValue:K.defaultNoDataValue,C=U(g,o.pixelType||Float32Array,o.encodedMaskData,D,o.returnMask),Q={width:g.width,height:g.height,pixelData:C.resultPixels,minValue:C.minValue,maxValue:g.pixels.maxValue,noDataValue:D};return C.resultMask&&(Q.maskData=C.resultMask),o.returnEncodedMask&&g.mask&&(Q.encodedMaskData=g.mask.bitset?g.mask.bitset:null),o.returnFileInfo&&(Q.fileInfo=m(g),o.computeUsedBitDepths&&(Q.fileInfo.bitDepths=V(g))),Q};var U=function(I,o,B,g,D){var C=0,Q=I.pixels.numBlocksX,r=I.pixels.numBlocksY,a=Math.floor(I.width/Q),s=Math.floor(I.height/r),S=2*I.maxZError,e=Number.MAX_VALUE,i;B=B||(I.mask?I.mask.bitset:null);var y,N;y=new o(I.width*I.height),D&&B&&(N=new Uint8Array(I.width*I.height));for(var f=new Float32Array(a*s),G,L,n=0;n<=r;n++){var M=n!==r?s:I.height%r;if(M!==0)for(var h=0;h<=Q;h++){var w=h!==Q?a:I.width%Q;if(w!==0){var R=n*I.width*s+h*a,c=I.width-w,F=I.pixels.blocks[C],Y,k,J;F.encoding<2?(F.encoding===0?Y=F.rawData:(A(F.stuffedData,F.bitsPerPixel,F.numValidPixels,F.offset,S,f,I.pixels.maxValue),Y=f),k=0):F.encoding===2?J=0:J=F.offset;var H;if(B)for(L=0;L<M;L++){for(R&7&&(H=B[R>>3],H<<=R&7),G=0;G<w;G++)R&7||(H=B[R>>3]),H&128?(N&&(N[R]=1),i=F.encoding<2?Y[k++]:J,e=e>i?i:e,y[R++]=i):(N&&(N[R]=0),y[R++]=g),H<<=1;R+=c}else if(F.encoding<2)for(L=0;L<M;L++){for(G=0;G<w;G++)i=Y[k++],e=e>i?i:e,y[R++]=i;R+=c}else for(e=e>J?J:e,L=0;L<M;L++){for(G=0;G<w;G++)y[R++]=J;R+=c}if(F.encoding===1&&k!==F.numValidPixels)throw"Block and Mask do not match";C++}}}return{resultPixels:y,resultMask:N,minValue:e}},m=function(I){return{fileIdentifierString:I.fileIdentifierString,fileVersion:I.fileVersion,imageType:I.imageType,height:I.height,width:I.width,maxZError:I.maxZError,eofOffset:I.eofOffset,mask:I.mask?{numBlocksX:I.mask.numBlocksX,numBlocksY:I.mask.numBlocksY,numBytes:I.mask.numBytes,maxValue:I.mask.maxValue}:null,pixels:{numBlocksX:I.pixels.numBlocksX,numBlocksY:I.pixels.numBlocksY,numBytes:I.pixels.numBytes,maxValue:I.pixels.maxValue,noDataValue:I.noDataValue}}},V=function(I){for(var o=I.pixels.numBlocksX*I.pixels.numBlocksY,B={},g=0;g<o;g++){var D=I.pixels.blocks[g];D.encoding===0?B.float32=!0:D.encoding===1?B[D.bitsPerPixel]=!0:B[0]=!0}return Object.keys(B)},E=function(I,o,B){var g={},D=new Uint8Array(I,o,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,D),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;o+=10;var C=new DataView(I,o,24);if(g.fileVersion=C.getInt32(0,!0),g.imageType=C.getInt32(4,!0),g.height=C.getUint32(8,!0),g.width=C.getUint32(12,!0),g.maxZError=C.getFloat64(16,!0),o+=24,!B)if(C=new DataView(I,o,16),g.mask={},g.mask.numBlocksY=C.getUint32(0,!0),g.mask.numBlocksX=C.getUint32(4,!0),g.mask.numBytes=C.getUint32(8,!0),g.mask.maxValue=C.getFloat32(12,!0),o+=16,g.mask.numBytes>0){var Q=new Uint8Array(Math.ceil(g.width*g.height/8));C=new DataView(I,o,g.mask.numBytes);var r=C.getInt16(0,!0),a=2,s=0;do{if(r>0)for(;r--;)Q[s++]=C.getUint8(a++);else{var S=C.getUint8(a++);for(r=-r;r--;)Q[s++]=S}r=C.getInt16(a,!0),a+=2}while(a<g.mask.numBytes);if(r!==-32768||s<Q.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=Q,o+=g.mask.numBytes}else(g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue)===0&&(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));C=new DataView(I,o,16),g.pixels={},g.pixels.numBlocksY=C.getUint32(0,!0),g.pixels.numBlocksX=C.getUint32(4,!0),g.pixels.numBytes=C.getUint32(8,!0),g.pixels.maxValue=C.getFloat32(12,!0),o+=16;var e=g.pixels.numBlocksX,i=g.pixels.numBlocksY,y=e+(g.width%e>0?1:0),N=i+(g.height%i>0?1:0);g.pixels.blocks=new Array(y*N);for(var f=0,G=0;G<N;G++)for(var L=0;L<y;L++){var n=0,M=I.byteLength-o;C=new DataView(I,o,Math.min(10,M));var h={};g.pixels.blocks[f++]=h;var w=C.getUint8(0);if(n++,h.encoding=w&63,h.encoding>3)throw"Invalid block encoding ("+h.encoding+")";if(h.encoding===2){o++;continue}if(w!==0&&w!==2){if(w>>=6,h.offsetType=w,w===2)h.offset=C.getInt8(1),n++;else if(w===1)h.offset=C.getInt16(1,!0),n+=2;else if(w===0)h.offset=C.getFloat32(1,!0),n+=4;else throw"Invalid block offset type";if(h.encoding===1)if(w=C.getUint8(n),n++,h.bitsPerPixel=w&63,w>>=6,h.numValidPixelsType=w,w===2)h.numValidPixels=C.getUint8(n),n++;else if(w===1)h.numValidPixels=C.getUint16(n,!0),n+=2;else if(w===0)h.numValidPixels=C.getUint32(n,!0),n+=4;else throw"Invalid valid pixel count type"}if(o+=n,h.encoding!==3){var R,c;if(h.encoding===0){var F=(g.pixels.numBytes-1)/4;if(F!==Math.floor(F))throw"uncompressed block has invalid length";R=new ArrayBuffer(F*4),c=new Uint8Array(R),c.set(new Uint8Array(I,o,F*4));var Y=new Float32Array(R);h.rawData=Y,o+=F*4}else if(h.encoding===1){var k=Math.ceil(h.numValidPixels*h.bitsPerPixel/8),J=Math.ceil(k/4);R=new ArrayBuffer(J*4),c=new Uint8Array(R),c.set(new Uint8Array(I,o,k)),h.stuffedData=new Uint32Array(R),o+=k}}}return g.eofOffset=o,g},A=function(I,o,B,g,D,C,Q){var r=(1<<o)-1,a=0,s,S=0,e,i,y=Math.ceil((Q-g)/D),N=I.length*4-Math.ceil(o*B/8);for(I[I.length-1]<<=8*N,s=0;s<B;s++){if(S===0&&(i=I[a++],S=32),S>=o)e=i>>>S-o&r,S-=o;else{var f=o-S;e=(i&r)<<f&r,i=I[a++],S=32-f,e+=i>>>S}C[s]=e<y?g+e*D:Q}return C};return K})(),l=(function(){"use strict";var K={unstuff:function(E,A,I,o,B,g,D,C){var Q=(1<<I)-1,r=0,a,s=0,S,e,i,y,N=E.length*4-Math.ceil(I*o/8);if(E[E.length-1]<<=8*N,B)for(a=0;a<o;a++)s===0&&(e=E[r++],s=32),s>=I?(S=e>>>s-I&Q,s-=I):(i=I-s,S=(e&Q)<<i&Q,e=E[r++],s=32-i,S+=e>>>s),A[a]=B[S];else for(y=Math.ceil((C-g)/D),a=0;a<o;a++)s===0&&(e=E[r++],s=32),s>=I?(S=e>>>s-I&Q,s-=I):(i=I-s,S=(e&Q)<<i&Q,e=E[r++],s=32-i,S+=e>>>s),A[a]=S<y?g+S*D:C},unstuffLUT:function(E,A,I,o,B,g){var D=(1<<A)-1,C=0,Q=0,r=0,a=0,s=0,S,e=[],i=E.length*4-Math.ceil(A*I/8);E[E.length-1]<<=8*i;var y=Math.ceil((g-o)/B);for(Q=0;Q<I;Q++)a===0&&(S=E[C++],a=32),a>=A?(s=S>>>a-A&D,a-=A):(r=A-a,s=(S&D)<<r&D,S=E[C++],a=32-r,s+=S>>>a),e[Q]=s<y?o+s*B:g;return e.unshift(o),e},unstuff2:function(E,A,I,o,B,g,D,C){var Q=(1<<I)-1,r=0,a,s=0,S=0,e,i,y;if(B)for(a=0;a<o;a++)s===0&&(i=E[r++],s=32,S=0),s>=I?(e=i>>>S&Q,s-=I,S+=I):(y=I-s,e=i>>>S&Q,i=E[r++],s=32-y,e|=(i&(1<<y)-1)<<I-y,S=y),A[a]=B[e];else{var N=Math.ceil((C-g)/D);for(a=0;a<o;a++)s===0&&(i=E[r++],s=32,S=0),s>=I?(e=i>>>S&Q,s-=I,S+=I):(y=I-s,e=i>>>S&Q,i=E[r++],s=32-y,e|=(i&(1<<y)-1)<<I-y,S=y),A[a]=e<N?g+e*D:C}return A},unstuffLUT2:function(E,A,I,o,B,g){var D=(1<<A)-1,C=0,Q=0,r=0,a=0,s=0,S=0,e,i=[],y=Math.ceil((g-o)/B);for(Q=0;Q<I;Q++)a===0&&(e=E[C++],a=32,S=0),a>=A?(s=e>>>S&D,a-=A,S+=A):(r=A-a,s=e>>>S&D,e=E[C++],a=32-r,s|=(e&(1<<r)-1)<<A-r,S=r),i[Q]=s<y?o+s*B:g;return i.unshift(o),i},originalUnstuff:function(E,A,I,o){var B=(1<<I)-1,g=0,D,C=0,Q,r,a,s=E.length*4-Math.ceil(I*o/8);for(E[E.length-1]<<=8*s,D=0;D<o;D++)C===0&&(r=E[g++],C=32),C>=I?(Q=r>>>C-I&B,C-=I):(a=I-C,Q=(r&B)<<a&B,r=E[g++],C=32-a,Q+=r>>>C),A[D]=Q;return A},originalUnstuff2:function(E,A,I,o){var B=(1<<I)-1,g=0,D,C=0,Q=0,r,a,s;for(D=0;D<o;D++)C===0&&(a=E[g++],C=32,Q=0),C>=I?(r=a>>>Q&B,C-=I,Q+=I):(s=I-C,r=a>>>Q&B,a=E[g++],C=32-s,r|=(a&(1<<s)-1)<<I-s,Q=s),A[D]=r;return A}},U={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(E){for(var A=65535,I=65535,o=E.length,B=Math.floor(o/2),g=0;B;){var D=B>=359?359:B;B-=D;do A+=E[g++]<<8,I+=A+=E[g++];while(--D);A=(A&65535)+(A>>>16),I=(I&65535)+(I>>>16)}return o&1&&(I+=A+=E[g]<<8),A=(A&65535)+(A>>>16),I=(I&65535)+(I>>>16),(I<<16|A)>>>0},readHeaderInfo:function(E,A){var I=A.ptr,o=new Uint8Array(E,I,6),B={};if(B.fileIdentifierString=String.fromCharCode.apply(null,o),B.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+B.fileIdentifierString;I+=6;var g=new DataView(E,I,8),D=g.getInt32(0,!0);B.fileVersion=D,I+=4,D>=3&&(B.checksum=g.getUint32(4,!0),I+=4),g=new DataView(E,I,12),B.height=g.getUint32(0,!0),B.width=g.getUint32(4,!0),I+=8,D>=4?(B.numDims=g.getUint32(8,!0),I+=4):B.numDims=1,g=new DataView(E,I,40),B.numValidPixel=g.getUint32(0,!0),B.microBlockSize=g.getInt32(4,!0),B.blobSize=g.getInt32(8,!0),B.imageType=g.getInt32(12,!0),B.maxZError=g.getFloat64(16,!0),B.zMin=g.getFloat64(24,!0),B.zMax=g.getFloat64(32,!0),I+=40,A.headerInfo=B,A.ptr=I;var C,Q;if(D>=3&&(Q=D>=4?52:48,C=this.computeChecksumFletcher32(new Uint8Array(E,I-Q,B.blobSize-14)),C!==B.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(E,A){var I=A.headerInfo,o=this.getDataTypeArray(I.imageType),B=I.numDims*this.getDataTypeSize(I.imageType),g=this.readSubArray(E,A.ptr,o,B),D=this.readSubArray(E,A.ptr+B,o,B);A.ptr+=2*B;var C,Q=!0;for(C=0;C<I.numDims;C++)if(g[C]!==D[C]){Q=!1;break}return I.minValues=g,I.maxValues=D,Q},readSubArray:function(E,A,I,o){var B;if(I===Uint8Array)B=new Uint8Array(E,A,o);else{var g=new ArrayBuffer(o),D=new Uint8Array(g);D.set(new Uint8Array(E,A,o)),B=new I(g)}return B},readMask:function(E,A){var I=A.ptr,o=A.headerInfo,B=o.width*o.height,g=o.numValidPixel,D=new DataView(E,I,4),C={};if(C.numBytes=D.getUint32(0,!0),I+=4,(g===0||B===g)&&C.numBytes!==0)throw"invalid mask";var Q,r;if(g===0)Q=new Uint8Array(Math.ceil(B/8)),C.bitset=Q,r=new Uint8Array(B),A.pixels.resultMask=r,I+=C.numBytes;else if(C.numBytes>0){Q=new Uint8Array(Math.ceil(B/8)),D=new DataView(E,I,C.numBytes);var a=D.getInt16(0,!0),s=2,S=0,e=0;do{if(a>0)for(;a--;)Q[S++]=D.getUint8(s++);else for(e=D.getUint8(s++),a=-a;a--;)Q[S++]=e;a=D.getInt16(s,!0),s+=2}while(s<C.numBytes);if(a!==-32768||S<Q.length)throw"Unexpected end of mask RLE encoding";r=new Uint8Array(B);var i=0,y=0;for(y=0;y<B;y++)y&7?(i=Q[y>>3],i<<=y&7):i=Q[y>>3],i&128&&(r[y]=1);A.pixels.resultMask=r,C.bitset=Q,I+=C.numBytes}return A.ptr=I,A.mask=C,!0},readDataOneSweep:function(E,A,I,o){var B=A.ptr,g=A.headerInfo,D=g.numDims,C=g.width*g.height,Q=g.imageType,r=g.numValidPixel*U.getDataTypeSize(Q)*D,a,s=A.pixels.resultMask;if(I===Uint8Array)a=new Uint8Array(E,B,r);else{var S=new ArrayBuffer(r),e=new Uint8Array(S);e.set(new Uint8Array(E,B,r)),a=new I(S)}if(a.length===C*D)o?A.pixels.resultPixels=U.swapDimensionOrder(a,C,D,I,!0):A.pixels.resultPixels=a;else{A.pixels.resultPixels=new I(C*D);var i=0,y=0,N=0,f=0;if(D>1){if(o){for(y=0;y<C;y++)if(s[y])for(f=y,N=0;N<D;N++,f+=C)A.pixels.resultPixels[f]=a[i++]}else for(y=0;y<C;y++)if(s[y])for(f=y*D,N=0;N<D;N++)A.pixels.resultPixels[f+N]=a[i++]}else for(y=0;y<C;y++)s[y]&&(A.pixels.resultPixels[y]=a[i++])}return B+=r,A.ptr=B,!0},readHuffmanTree:function(E,A){var I=this.HUFFMAN_LUT_BITS_MAX,o=new DataView(E,A.ptr,16);A.ptr+=16;var B=o.getInt32(0,!0);if(B<2)throw"unsupported Huffman version";var g=o.getInt32(4,!0),D=o.getInt32(8,!0),C=o.getInt32(12,!0);if(D>=C)return!1;var Q=new Uint32Array(C-D);U.decodeBits(E,A,Q);var r=[],a,s,S,e;for(a=D;a<C;a++)s=a-(a<g?0:g),r[s]={first:Q[a-D],second:null};var i=E.byteLength-A.ptr,y=Math.ceil(i/4),N=new ArrayBuffer(y*4),f=new Uint8Array(N);f.set(new Uint8Array(E,A.ptr,i));var G=new Uint32Array(N),L=0,n,M=0;for(n=G[0],a=D;a<C;a++)s=a-(a<g?0:g),e=r[s].first,e>0&&(r[s].second=n<<L>>>32-e,32-L>=e?(L+=e,L===32&&(L=0,M++,n=G[M])):(L+=e-32,M++,n=G[M],r[s].second|=n>>>32-L));var h=0,w=0,R=new m;for(a=0;a<r.length;a++)r[a]!==void 0&&(h=Math.max(h,r[a].first));h>=I?w=I:w=h;var c=[],F,Y,k,J,H,u;for(a=D;a<C;a++)if(s=a-(a<g?0:g),e=r[s].first,e>0)if(F=[e,s],e<=w)for(Y=r[s].second<<w-e,k=1<<w-e,S=0;S<k;S++)c[Y|S]=F;else for(Y=r[s].second,u=R,J=e-1;J>=0;J--)H=Y>>>J&1,H?(u.right||(u.right=new m),u=u.right):(u.left||(u.left=new m),u=u.left),J===0&&!u.val&&(u.val=F[1]);return{decodeLut:c,numBitsLUTQick:w,numBitsLUT:h,tree:R,stuffedData:G,srcPtr:M,bitPos:L}},readHuffman:function(E,A,I,o){var B=A.headerInfo,g=B.numDims,D=A.headerInfo.height,C=A.headerInfo.width,Q=C*D,r=this.readHuffmanTree(E,A),a=r.decodeLut,s=r.tree,S=r.stuffedData,e=r.srcPtr,i=r.bitPos,y=r.numBitsLUTQick,N=r.numBitsLUT,f=A.headerInfo.imageType===0?128:0,G,L,n,M=A.pixels.resultMask,h,w,R,c,F,Y,k,J=0;i>0&&(e++,i=0);var H=S[e],u=A.encodeMode===1,W=new I(Q*g),T=W,q;if(g<2||u){for(q=0;q<g;q++)if(g>1&&(T=new I(W.buffer,Q*q,Q),J=0),A.headerInfo.numValidPixel===C*D)for(Y=0,c=0;c<D;c++)for(F=0;F<C;F++,Y++){if(L=0,h=H<<i>>>32-y,w=h,32-i<y&&(h|=S[e+1]>>>64-i-y,w=h),a[w])L=a[w][1],i+=a[w][0];else for(h=H<<i>>>32-N,w=h,32-i<N&&(h|=S[e+1]>>>64-i-N,w=h),G=s,k=0;k<N;k++)if(R=h>>>N-k-1&1,G=R?G.right:G.left,!(G.left||G.right)){L=G.val,i=i+k+1;break}i>=32&&(i-=32,e++,H=S[e]),n=L-f,u?(F>0?n+=J:c>0?n+=T[Y-C]:n+=J,n&=255,T[Y]=n,J=n):T[Y]=n}else for(Y=0,c=0;c<D;c++)for(F=0;F<C;F++,Y++)if(M[Y]){if(L=0,h=H<<i>>>32-y,w=h,32-i<y&&(h|=S[e+1]>>>64-i-y,w=h),a[w])L=a[w][1],i+=a[w][0];else for(h=H<<i>>>32-N,w=h,32-i<N&&(h|=S[e+1]>>>64-i-N,w=h),G=s,k=0;k<N;k++)if(R=h>>>N-k-1&1,G=R?G.right:G.left,!(G.left||G.right)){L=G.val,i=i+k+1;break}i>=32&&(i-=32,e++,H=S[e]),n=L-f,u?(F>0&&M[Y-1]?n+=J:c>0&&M[Y-C]?n+=T[Y-C]:n+=J,n&=255,T[Y]=n,J=n):T[Y]=n}}else for(Y=0,c=0;c<D;c++)for(F=0;F<C;F++)if(Y=c*C+F,!M||M[Y])for(q=0;q<g;q++,Y+=Q){if(L=0,h=H<<i>>>32-y,w=h,32-i<y&&(h|=S[e+1]>>>64-i-y,w=h),a[w])L=a[w][1],i+=a[w][0];else for(h=H<<i>>>32-N,w=h,32-i<N&&(h|=S[e+1]>>>64-i-N,w=h),G=s,k=0;k<N;k++)if(R=h>>>N-k-1&1,G=R?G.right:G.left,!(G.left||G.right)){L=G.val,i=i+k+1;break}i>=32&&(i-=32,e++,H=S[e]),n=L-f,T[Y]=n}A.ptr=A.ptr+(e+1)*4+(i>0?4:0),A.pixels.resultPixels=W,g>1&&!o&&(A.pixels.resultPixels=U.swapDimensionOrder(W,Q,g,I))},decodeBits:function(E,A,I,o,B){{var g=A.headerInfo,D=g.fileVersion,C=0,Q=E.byteLength-A.ptr>=5?5:E.byteLength-A.ptr,r=new DataView(E,A.ptr,Q),a=r.getUint8(0);C++;var s=a>>6,S=s===0?4:3-s,e=(a&32)>0,i=a&31,y=0;if(S===1)y=r.getUint8(C),C++;else if(S===2)y=r.getUint16(C,!0),C+=2;else if(S===4)y=r.getUint32(C,!0),C+=4;else throw"Invalid valid pixel count type";var N=2*g.maxZError,f,G,L,n,M,h,w,R,c,F,Y=g.numDims>1?g.maxValues[B]:g.zMax;if(e){for(A.counter.lut++,R=r.getUint8(C),c=i,C++,n=Math.ceil((R-1)*i/8),M=Math.ceil(n/4),G=new ArrayBuffer(M*4),L=new Uint8Array(G),A.ptr+=C,L.set(new Uint8Array(E,A.ptr,n)),w=new Uint32Array(G),A.ptr+=n,F=0;R-1>>>F;)F++;n=Math.ceil(y*F/8),M=Math.ceil(n/4),G=new ArrayBuffer(M*4),L=new Uint8Array(G),L.set(new Uint8Array(E,A.ptr,n)),f=new Uint32Array(G),A.ptr+=n,D>=3?h=K.unstuffLUT2(w,i,R-1,o,N,Y):h=K.unstuffLUT(w,i,R-1,o,N,Y),D>=3?K.unstuff2(f,I,F,y,h):K.unstuff(f,I,F,y,h)}else A.counter.bitstuffer++,F=i,A.ptr+=C,F>0&&(n=Math.ceil(y*F/8),M=Math.ceil(n/4),G=new ArrayBuffer(M*4),L=new Uint8Array(G),L.set(new Uint8Array(E,A.ptr,n)),f=new Uint32Array(G),A.ptr+=n,D>=3?o==null?K.originalUnstuff2(f,I,F,y):K.unstuff2(f,I,F,y,!1,o,N,Y):o==null?K.originalUnstuff(f,I,F,y):K.unstuff(f,I,F,y,!1,o,N,Y))}},readTiles:function(E,A,I,o){var B=A.headerInfo,g=B.width,D=B.height,C=g*D,Q=B.microBlockSize,r=B.imageType,a=U.getDataTypeSize(r),s=Math.ceil(g/Q),S=Math.ceil(D/Q);A.pixels.numBlocksY=S,A.pixels.numBlocksX=s,A.pixels.ptr=0;var e=0,i=0,y=0,N=0,f=0,G=0,L=0,n=0,M=0,h=0,w=0,R=0,c=0,F=0,Y=0,k=0,J,H,u,W,T,q,z=new I(Q*Q),wA=D%Q||Q,SA=g%Q||Q,CA,X,$=B.numDims,P,v=A.pixels.resultMask,x=A.pixels.resultPixels,yA=B.fileVersion,iA=yA>=5?14:15,j,BA=B.zMax,Z;for(y=0;y<S;y++)for(f=y!==S-1?Q:wA,N=0;N<s;N++)for(G=N!==s-1?Q:SA,w=y*g*Q+N*Q,R=g-G,P=0;P<$;P++){if($>1?(Z=x,w=y*g*Q+N*Q,x=new I(A.pixels.resultPixels.buffer,C*P*a,C),BA=B.maxValues[P]):Z=null,L=E.byteLength-A.ptr,J=new DataView(E,A.ptr,Math.min(10,L)),H={},k=0,n=J.getUint8(0),k++,j=B.fileVersion>=5?n&4:0,M=n>>6&255,h=n>>2&iA,h!==(N*Q>>3&iA)||j&&P===0)throw"integrity issue";if(q=n&3,q>3)throw A.ptr+=k,"Invalid block encoding ("+q+")";if(q===2){if(j)if(v)for(e=0;e<f;e++)for(i=0;i<G;i++)v[w]&&(x[w]=Z[w]),w++;else for(e=0;e<f;e++)for(i=0;i<G;i++)x[w]=Z[w],w++;A.counter.constant++,A.ptr+=k;continue}else if(q===0){if(j)throw"integrity issue";if(A.counter.uncompressed++,A.ptr+=k,c=f*G*a,F=E.byteLength-A.ptr,c=c<F?c:F,u=new ArrayBuffer(c%a===0?c:c+a-c%a),W=new Uint8Array(u),W.set(new Uint8Array(E,A.ptr,c)),T=new I(u),Y=0,v)for(e=0;e<f;e++){for(i=0;i<G;i++)v[w]&&(x[w]=T[Y++]),w++;w+=R}else for(e=0;e<f;e++){for(i=0;i<G;i++)x[w++]=T[Y++];w+=R}A.ptr+=Y*a}else if(CA=U.getDataTypeUsed(j&&r<6?4:r,M),X=U.getOnePixel(H,k,CA,J),k+=U.getDataTypeSize(CA),q===3)if(A.ptr+=k,A.counter.constantoffset++,v)for(e=0;e<f;e++){for(i=0;i<G;i++)v[w]&&(x[w]=j?Math.min(BA,Z[w]+X):X),w++;w+=R}else for(e=0;e<f;e++){for(i=0;i<G;i++)x[w]=j?Math.min(BA,Z[w]+X):X,w++;w+=R}else if(A.ptr+=k,U.decodeBits(E,A,z,X,P),k=0,j)if(v)for(e=0;e<f;e++){for(i=0;i<G;i++)v[w]&&(x[w]=z[k++]+Z[w]),w++;w+=R}else for(e=0;e<f;e++){for(i=0;i<G;i++)x[w]=z[k++]+Z[w],w++;w+=R}else if(v)for(e=0;e<f;e++){for(i=0;i<G;i++)v[w]&&(x[w]=z[k++]),w++;w+=R}else for(e=0;e<f;e++){for(i=0;i<G;i++)x[w++]=z[k++];w+=R}}$>1&&!o&&(A.pixels.resultPixels=U.swapDimensionOrder(A.pixels.resultPixels,C,$,I))},formatFileInfo:function(E){return{fileIdentifierString:E.headerInfo.fileIdentifierString,fileVersion:E.headerInfo.fileVersion,imageType:E.headerInfo.imageType,height:E.headerInfo.height,width:E.headerInfo.width,numValidPixel:E.headerInfo.numValidPixel,microBlockSize:E.headerInfo.microBlockSize,blobSize:E.headerInfo.blobSize,maxZError:E.headerInfo.maxZError,pixelType:U.getPixelType(E.headerInfo.imageType),eofOffset:E.eofOffset,mask:E.mask?{numBytes:E.mask.numBytes}:null,pixels:{numBlocksX:E.pixels.numBlocksX,numBlocksY:E.pixels.numBlocksY,maxValue:E.headerInfo.zMax,minValue:E.headerInfo.zMin,noDataValue:E.noDataValue}}},constructConstantSurface:function(E,A){var I=E.headerInfo.zMax,o=E.headerInfo.zMin,B=E.headerInfo.maxValues,g=E.headerInfo.numDims,D=E.headerInfo.height*E.headerInfo.width,C=0,Q=0,r=0,a=E.pixels.resultMask,s=E.pixels.resultPixels;if(a)if(g>1){if(A)for(C=0;C<g;C++)for(r=C*D,I=B[C],Q=0;Q<D;Q++)a[Q]&&(s[r+Q]=I);else for(Q=0;Q<D;Q++)if(a[Q])for(r=Q*g,C=0;C<g;C++)s[r+g]=B[C]}else for(Q=0;Q<D;Q++)a[Q]&&(s[Q]=I);else if(g>1&&o!==I)if(A)for(C=0;C<g;C++)for(r=C*D,I=B[C],Q=0;Q<D;Q++)s[r+Q]=I;else for(Q=0;Q<D;Q++)for(r=Q*g,C=0;C<g;C++)s[r+C]=B[C];else for(Q=0;Q<D*g;Q++)s[Q]=I},getDataTypeArray:function(E){var A;switch(E){case 0:A=Int8Array;break;case 1:A=Uint8Array;break;case 2:A=Int16Array;break;case 3:A=Uint16Array;break;case 4:A=Int32Array;break;case 5:A=Uint32Array;break;case 6:A=Float32Array;break;case 7:A=Float64Array;break;default:A=Float32Array}return A},getPixelType:function(E){var A;switch(E){case 0:A="S8";break;case 1:A="U8";break;case 2:A="S16";break;case 3:A="U16";break;case 4:A="S32";break;case 5:A="U32";break;case 6:A="F32";break;case 7:A="F64";break;default:A="F32"}return A},isValidPixelValue:function(E,A){if(A==null)return!1;var I;switch(E){case 0:I=A>=-128&&A<=127;break;case 1:I=A>=0&&A<=255;break;case 2:I=A>=-32768&&A<=32767;break;case 3:I=A>=0&&A<=65536;break;case 4:I=A>=-2147483648&&A<=2147483647;break;case 5:I=A>=0&&A<=4294967296;break;case 6:I=A>=-34027999387901484e22&&A<=34027999387901484e22;break;case 7:I=A>=-17976931348623157e292&&A<=17976931348623157e292;break;default:I=!1}return I},getDataTypeSize:function(E){var A=0;switch(E){case 0:case 1:A=1;break;case 2:case 3:A=2;break;case 4:case 5:case 6:A=4;break;case 7:A=8;break;default:A=E}return A},getDataTypeUsed:function(E,A){var I=E;switch(E){case 2:case 4:I=E-A;break;case 3:case 5:I=E-2*A;break;case 6:A===0?I=E:A===1?I=2:I=1;break;case 7:A===0?I=E:I=E-2*A+1;break;default:I=E;break}return I},getOnePixel:function(E,A,I,o){var B=0;switch(I){case 0:B=o.getInt8(A);break;case 1:B=o.getUint8(A);break;case 2:B=o.getInt16(A,!0);break;case 3:B=o.getUint16(A,!0);break;case 4:B=o.getInt32(A,!0);break;case 5:B=o.getUInt32(A,!0);break;case 6:B=o.getFloat32(A,!0);break;case 7:B=o.getFloat64(A,!0);break;default:throw"the decoder does not understand this pixel type"}return B},swapDimensionOrder:function(E,A,I,o,B){var g=0,D=0,C=0,Q=0,r=E;if(I>1)if(r=new o(A*I),B)for(g=0;g<A;g++)for(Q=g,C=0;C<I;C++,Q+=A)r[Q]=E[D++];else for(g=0;g<A;g++)for(Q=g,C=0;C<I;C++,Q+=A)r[D++]=E[Q];return r}},m=function(E,A,I){this.val=E,this.left=A,this.right=I},V={decode:function(E,A){A=A||{};var I=A.noDataValue,o=0,B={};if(B.ptr=A.inputOffset||0,B.pixels={},!!U.readHeaderInfo(E,B)){var g=B.headerInfo,D=g.fileVersion,C=U.getDataTypeArray(g.imageType);if(D>5)throw"unsupported lerc version 2."+D;U.readMask(E,B),g.numValidPixel!==g.width*g.height&&!B.pixels.resultMask&&(B.pixels.resultMask=A.maskData);var Q=g.width*g.height;B.pixels.resultPixels=new C(Q*g.numDims),B.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var r=!A.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)U.constructConstantSurface(B,r);else if(D>=4&&U.checkMinMaxRanges(E,B))U.constructConstantSurface(B,r);else{var a=new DataView(E,B.ptr,2),s=a.getUint8(0);if(B.ptr++,s)U.readDataOneSweep(E,B,C,r);else if(D>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var S=a.getUint8(1);if(B.ptr++,B.encodeMode=S,S>2||D<4&&S>1)throw"Invalid Huffman flag "+S;S?U.readHuffman(E,B,C,r):U.readTiles(E,B,C,r)}else U.readTiles(E,B,C,r)}B.eofOffset=B.ptr;var e;A.inputOffset?(e=B.headerInfo.blobSize+A.inputOffset-B.ptr,Math.abs(e)>=1&&(B.eofOffset=A.inputOffset+B.headerInfo.blobSize)):(e=B.headerInfo.blobSize-B.ptr,Math.abs(e)>=1&&(B.eofOffset=B.headerInfo.blobSize));var i={width:g.width,height:g.height,pixelData:B.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:B.pixels.resultMask};if(B.pixels.resultMask&&U.isValidPixelValue(g.imageType,I)){var y=B.pixels.resultMask;for(o=0;o<Q;o++)y[o]||(i.pixelData[o]=I);i.noDataValue=I}return B.noDataValue=I,A.returnFileInfo&&(i.fileInfo=U.formatFileInfo(B)),i}},getBandCount:function(E){var A=0,I=0,o={};for(o.ptr=0,o.pixels={};I<E.byteLength-58;)U.readHeaderInfo(E,o),I+=o.headerInfo.blobSize,A++,o.ptr=I;return A}};return V})(),d=(function(){var K=new ArrayBuffer(4),U=new Uint8Array(K),m=new Uint32Array(K);return m[0]=1,U[0]===1})(),O={decode:function(K,U){if(!d)throw"Big endian system is not supported.";U=U||{};var m=U.inputOffset||0,V=new Uint8Array(K,m,10),E=String.fromCharCode.apply(null,V),A,I;if(E.trim()==="CntZImage")A=p,I=1;else if(E.substring(0,5)==="Lerc2")A=l,I=2;else throw"Unexpected file identifier string: "+E;for(var o=0,B=K.byteLength-10,g,D=[],C,Q,r={width:0,height:0,pixels:[],pixelType:U.pixelType,mask:null,statistics:[]},a=0;m<B;){var s=A.decode(K,{inputOffset:m,encodedMaskData:g,maskData:Q,returnMask:o===0,returnEncodedMask:o===0,returnFileInfo:!0,returnPixelInterleavedDims:U.returnPixelInterleavedDims,pixelType:U.pixelType||null,noDataValue:U.noDataValue||null});m=s.fileInfo.eofOffset,Q=s.maskData,o===0&&(g=s.encodedMaskData,r.width=s.width,r.height=s.height,r.dimCount=s.dimCount||1,r.pixelType=s.pixelType||s.fileInfo.pixelType,r.mask=Q),I>1&&(Q&&D.push(Q),s.fileInfo.mask&&s.fileInfo.mask.numBytes>0&&a++),o++,r.pixels.push(s.pixelData),r.statistics.push({minValue:s.minValue,maxValue:s.maxValue,noDataValue:s.noDataValue,dimStats:s.dimStats})}var S,e,i;if(I>1&&a>1){for(i=r.width*r.height,r.bandMasks=D,Q=new Uint8Array(i),Q.set(D[0]),S=1;S<D.length;S++)for(C=D[S],e=0;e<i;e++)Q[e]=Q[e]&C[e];r.maskData=Q}return r}};typeof define=="function"&&define.amd?define([],function(){return O}):typeof AA<"u"&&AA.exports?AA.exports=O:this.Lerc=O})()});var tA=GA(aA(),1);var _,b,EA,QA={env:{emscripten_notify_memory_growth:p=>{EA=new Uint8Array(b.exports.memory.buffer)}}},IA=class{init(){return _||(typeof fetch<"u"?_=fetch(`data:application/wasm;base64,${rA}`).then(l=>l.arrayBuffer()).then(l=>WebAssembly.instantiate(l,QA)).then(this._init):_=WebAssembly.instantiate(Buffer.from(rA,"base64"),QA).then(this._init),_)}_init(l){b=l.instance,QA.env.emscripten_notify_memory_growth(0)}decode(l,d=0){if(!b)throw new Error("ZSTDDecoder: Await .init() before decoding.");let O=l.byteLength,K=b.exports.malloc(O);EA.set(l,K),d=d||Number(b.exports.ZSTD_findDecompressedSize(K,O));let U=b.exports.malloc(d),m=b.exports.ZSTD_decompress(U,d,K,O),V=EA.slice(U,U+m);return b.exports.free(K),b.exports.free(U),V}},rA="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AikACDcACCAHIDo3AAAgEUEZSA0BIARBGGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgCkkNAAsMAQsCQAJAIAUoAswCIhEgBUHgAWogJUEHcUEMbGoiDygCACICaiIHIBxLDQAgCSAPKAIEIgogAmoiBmogG0sNACAGQSBqIBQgCWtNDQELIAUgDygCCDYCoAEgBSAPKQIANwOYASAJIBQgBUGYAWogBUHMAmogHCALIBcgIhAgIQYMAQsgAiAJaiEEIA8oAgghFSARKQAAITogCSARKQAINwAIIAkgOjcAAAJAIAJBEUkNACARKQAQITogCSARKQAYNwAYIAkgOjcAECACQRBrQRFIDQAgEUEQaiECIAlBIGohEgNAIAIpABAhOiASIAIpABg3AAggEiA6NwAAIAIpACAhOiASIAIpACg3ABggEiA6NwAQIAJBIGohAiASQSBqIhIgBEkNAAsLIAQgFWshAiAFIAc2AswCIAQgC2sgFUkEQCAVIAQgF2tLDQwgIiAiIAIgC2siD2oiByAKak8EQCAKRQ0CIAQgByAK/AoAAAwCC0EAIA9rIgIEQCAEIAcgAvwKAAALIAogD2ohCiAEIA9rIQQgCyECCyAVQRBPBEAgAikAACE6IAQgAikACDcACCAEIDo3AAAgCkERSA0BIAQgCmohByAEQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAELAkAgFUEHTQRAIAQgAi0AADoAACAEIAItAAE6AAEgBCACLQACOgACIAQgAi0AAzoAAyAEIAIgFUECdCIHQeAaaigCAGoiAigAADYABCACIAdBgBtqKAIAayECDAELIAQgAikAADcAAAsgCkEJSQ0AIAQgCmohDyAEQQhqIgcgAkEIaiICa0EPTARAA0AgByACKQAANwAAIAJBCGohAiAHQQhqIgcgD0kNAAwCCwALIAIpAAAhOiAHIAIpAAg3AAggByA6NwAAIApBGUgNACAEQRhqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIA9JDQALCyAGQYh/SwRAIAYhAwwLCyAFQeABaiAlQQdxQQxsaiICIA02AgggAiAMNgIEIAIgEDYCAAsgBiAJaiEJICVBAWohJSAQIC1qIAxqIS0MAQsLIAUoArABIAUoArQBRw0HIAUoAqwBQSBHDQcgDiAoayEQA0ACQCAOIBBMBEBBACECA0AgAkEDRg0CIDIgAkECdCIDaiADICZqKAIANgIAIAJBAWohAgwACwALIAVB4AFqIBBBB3FBDGxqIQoCfwJAIAgoAoTsAUECRgRAIAUoAswCIg8gCigCACIEaiIHIAgoAoDsASICSwRAIAIgD0cEQCACIA9rIgIgFCAJa0sNCyAJIA8gAhAfIAogBCACayIENgIAIAIgCWohCQsgBSAWNgLMAiAIQQA2AoTsAQJAAkACQCAEQYCABEoNACAJIAooAgQiDSAEaiIGaiAbSw0AIAZBIGogFCAJa00NAQsgBSAKKAIINgJQIAUgCikCADcDSCAJIBQgBUHIAGogBUHMAmogGSALIBcgIhAgIQYMAQsgBCAWaiEHIAQgCWohDCAKKAIIIQogFikAACE6IAkgFikACDcACCAJIDo3AAACQCAEQRFJDQAgHikAACE6IAkgHikACDcAGCAJIDo3ABAgBEEQa0ERSA0AIAlBIGohAiAeIQQDQCAEKQAQITogAiAEKQAYNwAIIAIgOjcAACAEKQAgITogAiAEKQAoNwAYIAIgOjcAECAEQSBqIQQgAkEgaiICIAxJDQALCyAMIAprIQIgBSAHNgLMAiAMIAtrIApJBEAgCiAMIBdrSw0PICIgIiACIAtrIgdqIgQgDWpPBEAgDUUNAiAMIAQgDfwKAAAMAgtBACAHayICBEAgDCAEIAL8CgAACyAHIA1qIQ0gDCAHayEMIAshAgsgCkEQTwRAIAIpAAAhOiAMIAIpAAg3AAggDCA6NwAAIA1BEUgNASAMIA1qIQcgDEEQaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAHSQ0ACwwBCwJAIApBB00EQCAMIAItAAA6AAAgDCACLQABOgABIAwgAi0AAjoAAiAMIAItAAM6AAMgDCACIApBAnQiBEHgGmooAgBqIgIoAAA2AAQgAiAEQYAbaigCAGshAgwBCyAMIAIpAAA3AAALIA1BCUkNACAMIA1qIQcgDEEIaiIEIAJBCGoiAmtBD0wEQANAIAQgAikAADcAACACQQhqIQIgBEEIaiIEIAdJDQAMAgsACyACKQAAITogBCACKQAINwAIIAQgOjcAACANQRlIDQAgDEEYaiEEA0AgAikAECE6IAQgAikAGDcACCAEIDo3AAAgAikAICE6IAQgAikAKDcAGCAEIDo3ABAgAkEgaiECIARBIGoiBCAHSQ0ACwsgBkGJf08EQCAGIQMMDgsgGSEcIAYgCWoMAwsgB0EgayECAkACQCAHIBxLDQAgCSAKKAIEIhIgBGoiDGogAksNACAMQSBqIBQgCWtNDQELIAUgCigCCDYCYCAFIAopAgA3A1ggCSAUIAIgBUHYAGogBUHMAmogHCALIBcgIhAhIQwMAgsgBCAJaiEGIAooAgghCiAPKQAAITogCSAPKQAINwAIIAkgOjcAAAJAIARBEUkNACAPKQAQITogCSAPKQAYNwAYIAkgOjcAECAEQRBrQRFIDQAgD0EQaiECIAlBIGohBANAIAIpABAhOiAEIAIpABg3AAggBCA6NwAAIAIpACAhOiAEIAIpACg3ABggBCA6NwAQIAJBIGohAiAEQSBqIgQgBkkNAAsLIAYgCmshAiAFIAc2AswCIAYgC2sgCkkEQCAKIAYgF2tLDQ0gIiAiIAIgC2siB2oiBCASak8EQCASRQ0DIAYgBCAS/AoAAAwDC0EAIAdrIgIEQCAGIAQgAvwKAAALIAcgEmohEiAGIAdrIQYgCyECCyAKQRBPBEAgAikAACE6IAYgAikACDcACCAGIDo3AAAgEkERSA0CIAYgEmohByAGQRBqIQQDQCACKQAQITogBCACKQAYNwAIIAQgOjcAACACKQAgITogBCACKQAoNwAYIAQgOjcAECACQSBqIQIgBEEgaiIEIAdJDQALDAILAkAgCkEHTQRAIAYgAi0AADoAACAGIAItAAE6AAEgBiACLQACOgACIAYgAi0AAzoAAyAGIAIgCkECdCIEQeAaaigCAGoiAigAADYABCACIARBgBtqKAIAayECDAELIAYgAikAADcAAAsgEkEJSQ0BIAYgEmohByAGQQhqIgQgAkEIaiICa0EPTARAA0AgBCACKQAANwAAIAJBCGohAiAE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";var t={BYTE:1,ASCII:2,SHORT:3,LONG:4,RATIONAL:5,SBYTE:6,UNDEFINED:7,SSHORT:8,SLONG:9,SRATIONAL:10,FLOAT:11,DOUBLE:12,IFD:13,LONG8:16,SLONG8:17,IFD8:18},cA={[t.BYTE]:1,[t.ASCII]:1,[t.SBYTE]:1,[t.UNDEFINED]:1,[t.SHORT]:2,[t.SSHORT]:2,[t.LONG]:4,[t.SLONG]:4,[t.FLOAT]:4,[t.IFD]:4,[t.RATIONAL]:8,[t.SRATIONAL]:8,[t.DOUBLE]:8,[t.LONG8]:8,[t.SLONG8]:8,[t.IFD8]:8};var nA={NewSubfileType:{tag:254,type:t.LONG,eager:!0},SubfileType:{tag:255,type:t.SHORT,eager:!0},ImageWidth:{tag:256,type:t.SHORT,eager:!0},ImageLength:{tag:257,type:t.SHORT,eager:!0},BitsPerSample:{tag:258,type:t.SHORT,isArray:!0,eager:!0},Compression:{tag:259,type:t.SHORT,eager:!0},PhotometricInterpretation:{tag:262,type:t.SHORT,eager:!0},Threshholding:{tag:263,type:t.SHORT},CellWidth:{tag:264,type:t.SHORT},CellLength:{tag:265,type:t.SHORT},FillOrder:{tag:266,type:t.SHORT},DocumentName:{tag:269,type:t.ASCII},ImageDescription:{tag:270,type:t.ASCII},Make:{tag:271,type:t.ASCII},Model:{tag:272,type:t.ASCII},StripOffsets:{tag:273,type:t.SHORT,isArray:!0},Orientation:{tag:274,type:t.SHORT},SamplesPerPixel:{tag:277,type:t.SHORT,eager:!0},RowsPerStrip:{tag:278,type:t.SHORT,eager:!0},StripByteCounts:{tag:279,type:t.LONG,isArray:!0},MinSampleValue:{tag:280,type:t.SHORT,isArray:!0},MaxSampleValue:{tag:281,type:t.SHORT,isArray:!0},XResolution:{tag:282,type:t.RATIONAL},YResolution:{tag:283,type:t.RATIONAL},PlanarConfiguration:{tag:284,type:t.SHORT,eager:!0},PageName:{tag:285,type:t.ASCII},XPosition:{tag:286,type:t.RATIONAL},YPosition:{tag:287,type:t.RATIONAL},FreeOffsets:{tag:288,type:t.LONG},FreeByteCounts:{tag:289,type:t.LONG},GrayResponseUnit:{tag:290,type:t.SHORT},GrayResponseCurve:{tag:291,type:t.SHORT,isArray:!0},T4Options:{tag:292,type:t.LONG},T6Options:{tag:293,type:t.LONG},ResolutionUnit:{tag:296,type:t.SHORT},PageNumber:{tag:297,type:t.SHORT,isArray:!0},TransferFunction:{tag:301,type:t.SHORT,isArray:!0},Software:{tag:305,type:t.ASCII},DateTime:{tag:306,type:t.ASCII},Artist:{tag:315,type:t.ASCII},HostComputer:{tag:316,type:t.ASCII},Predictor:{tag:317,type:t.SHORT},WhitePoint:{tag:318,type:t.RATIONAL,isArray:!0},PrimaryChromaticities:{tag:319,type:t.RATIONAL,isArray:!0},ColorMap:{tag:320,type:t.SHORT,isArray:!0},HalftoneHints:{tag:321,type:t.SHORT,isArray:!0},TileWidth:{tag:322,type:t.SHORT,eager:!0},TileLength:{tag:323,type:t.SHORT,eager:!0},TileOffsets:{tag:324,type:t.LONG,isArray:!0},TileByteCounts:{tag:325,type:t.SHORT,isArray:!0},InkSet:{tag:332,type:t.SHORT},InkNames:{tag:333,type:t.ASCII},NumberOfInks:{tag:334,type:t.SHORT},DotRange:{tag:336,type:t.BYTE,isArray:!0},TargetPrinter:{tag:337,type:t.ASCII},ExtraSamples:{tag:338,type:t.BYTE,isArray:!0,eager:!0},SampleFormat:{tag:339,type:t.SHORT,isArray:!0,eager:!0},SMinSampleValue:{tag:340,isArray:!0},SMaxSampleValue:{tag:341,isArray:!0},TransferRange:{tag:342,type:t.SHORT,isArray:!0},JPEGProc:{tag:512,type:t.SHORT},JPEGInterchangeFormat:{tag:513,type:t.LONG},JPEGInterchangeFormatLngth:{tag:514,type:t.LONG},JPEGRestartInterval:{tag:515,type:t.SHORT},JPEGLosslessPredictors:{tag:517,type:t.SHORT,isArray:!0},JPEGPointTransforms:{tag:518,type:t.SHORT,isArray:!0},JPEGQTables:{tag:519,type:t.LONG,isArray:!0},JPEGDCTables:{tag:520,type:t.LONG,isArray:!0},JPEGACTables:{tag:521,type:t.LONG,isArray:!0},YCbCrCoefficients:{tag:529,type:t.RATIONAL,isArray:!0},YCbCrSubSampling:{tag:530,type:t.SHORT,isArray:!0},YCbCrPositioning:{tag:531,type:t.SHORT},ReferenceBlackWhite:{tag:532,type:t.LONG,isArray:!0},Copyright:{tag:33432,type:t.ASCII},BadFaxLines:{tag:326},CleanFaxData:{tag:327},ClipPath:{tag:343},ConsecutiveBadFaxLines:{tag:328},Decode:{tag:433},DefaultImageColor:{tag:434},Indexed:{tag:346},JPEGTables:{tag:347,isArray:!0,eager:!0},StripRowCounts:{tag:559,isArray:!0},SubIFDs:{tag:330,isArray:!0},XClipPathUnits:{tag:344},YClipPathUnits:{tag:345},ApertureValue:{tag:37378},ColorSpace:{tag:40961},DateTimeDigitized:{tag:36868},DateTimeOriginal:{tag:36867},ExifIFD:{tag:34665,name:"Exif IFD",type:t.LONG},ExifVersion:{tag:36864},ExposureTime:{tag:33434},FileSource:{tag:41728},Flash:{tag:37385},FlashpixVersion:{tag:40960},FNumber:{tag:33437},ImageUniqueID:{tag:42016},LightSource:{tag:37384},MakerNote:{tag:37500},ShutterSpeedValue:{tag:37377},UserComment:{tag:37510},IPTC:{tag:33723},CZ_LSMINFO:{tag:34412},ICCProfile:{tag:34675,name:"ICC Profile"},XMP:{tag:700},GDAL_METADATA:{tag:42112},GDAL_NODATA:{tag:42113,type:t.ASCII,eager:!0},Photoshop:{tag:34377},ModelPixelScale:{tag:33550,type:t.DOUBLE,isArray:!0,eager:!0},ModelTiepoint:{tag:33922,type:t.DOUBLE,isArray:!0,eager:!0},ModelTransformation:{tag:34264,type:t.DOUBLE,isArray:!0,eager:!0},GeoKeyDirectory:{tag:34735,type:t.SHORT,isArray:!0,eager:!0},GeoDoubleParams:{tag:34736,type:t.DOUBLE,isArray:!0,eager:!0},GeoAsciiParams:{tag:34737,type:t.ASCII,eager:!0},LercParameters:{tag:50674,eager:!0}},NA={},FA={};function RA(p,l,d,O=!1,K=!1){NA[l]=p,FA[p]={tag:p,name:l,type:typeof d=="string"?t[d]:d,isArray:O,eager:K}}for(let[p,l]of Object.entries(nA)){let d=l;RA(d.tag,d.name||p,d.type,d.isArray,d.eager)}var sA={Version:0,AddCompression:1},gA={None:0,Deflate:1,Zstandard:2},LA={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"},UA={};for(let[p,l]of Object.entries(LA))UA[l]=parseInt(p,10);var kA=new IA,DA=class extends eA{decodeBlock(l){let O=this.parameters.LercParameters?.[sA.AddCompression],K=l;switch(O){case gA.None:break;case gA.Deflate:K=oA(new Uint8Array(K)).buffer;break;case gA.Zstandard:K=kA.decode(new Uint8Array(K)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${O}`)}return tA.default.decode(K,{returnPixelInterleavedDims:this.parameters.planarConfiguration===1}).pixels[0].buffer}};export{DA as default,kA as zstd};
@@ -1 +0,0 @@
1
- import{Aa as dt,C as $e,F as et,G as tt,H as it,N as nt,Oa as gt,P as at,Pa as mt,Ua as L,a as Te,b as De,da as ot,e as I,g as Ee,h as We,oa as rt,pa as $,qa as ee,t as Je,u as Qe,ya as st,za as lt}from"./chunk-GFDZNVNU.js";import{a as Xe,b as Ye,c as Q}from"./chunk-RRYFRHFP.js";import{b as Oe,e as Ie,j as Be,k as Ae,l as Fe}from"./chunk-4UBQTQSK.js";import{a as X,b as Y,c as qe,d as J}from"./chunk-5SYZI253.js";import{a as je}from"./chunk-BJKB23AZ.js";import"./chunk-D4A5NW5G.js";import{b as K,c as Ne,d as Re,f as Ue,i as z,j as Ge,n as q,o as j}from"./chunk-GBMW6IJP.js";import{a as He,h as Ze,j as Ke,k as ze}from"./chunk-BNCDJR4Z.js";import"./chunk-XZM7Q5WP.js";import"./chunk-USYMWMPO.js";import{$ as ue,Da as O,Ea as b,Ed as Se,Fa as T,Ha as D,Ia as y,Id as Ce,Ja as S,Ka as h,Kd as Me,La as n,Lb as A,Ma as i,Md as we,Na as E,Nd as N,P as W,Pb as ye,Qb as F,R as m,S as c,T as x,U as pe,Ua as V,Vd as ve,Wa as p,Xd as be,Y as _e,Ya as M,_ as B,_d as R,ae as U,da as fe,fe as G,gb as w,ie as H,ja as o,jb as he,je as Ve,lb as l,mb as C,me as ke,nb as k,ne as Pe,oe as Le,pb as _,pe as xe,qb as u,qe as Z,ra as P,rb as f}from"./chunk-BCS6VHKX.js";import"./chunk-NCEQPEJE.js";var Mt=(s,d)=>d[0];function wt(s,d){if(s&1&&(n(0,"mat-option",8),x(),n(1,"svg",6),E(2,"line",7),i()()),s&2){let a=d.$implicit;h("value",a),o(2),O("stroke-width",a)}}function vt(s,d){if(s&1&&(n(0,"mat-option",8),x(),n(1,"svg",6),E(2,"line",9),i()()),s&2){let a=d.$implicit;h("value",a[0]),o(2),O("stroke-dasharray",a[1])}}var te=class s{color=F("#ff0000");dash=F("none");weight=F(1);_color=A(()=>this.color());_dash=A(()=>this.dash());_weight=A(()=>this.weight());selectionChange=ye();app=W(L);line={dashArrays:this.app.lineDashMap,weights:[1,2,3,4,5]};constructor(){}ngOnInit(){}onSelectChange(){let d=this.app.formatLineDashArray(this._dash());this.selectionChange.emit({lineStyle:{fill:{color:this._color()},stroke:{color:this._color(),width:this._weight(),lineDash:d}},config:{color:this._color(),weight:this._weight(),dash:this._dash()}})}static \u0275fac=function(a){return new(a||s)};static \u0275cmp=P({type:s,selectors:[["linestyle-select"]],inputs:{color:[1,"color"],dash:[1,"dash"],weight:[1,"weight"]},outputs:{selectionChange:"selectionChange"},decls:25,vars:5,consts:[[2,"display","flex"],[2,"width","100px"],["mat-input","","matNativeControl","","type","color",3,"ngModelChange","change","ngModel"],[2,"width","110px"],[3,"ngModelChange","selectionChange","ngModel"],[2,"display","flex","align-items","center","gap","8px"],["width","48","height","10",2,"vertical-align","middle","margin-right","6px"],["x1","0","y1","5","x2","48","y2","5","stroke","currentColor","stroke-array","none"],[3,"value"],["x1","0","y1","5","x2","48","y2","5","stroke","currentColor","stroke-width","2"]],template:function(a,e){a&1&&(n(0,"div",0)(1,"mat-form-field",1)(2,"mat-label"),l(3,"Color"),i(),n(4,"input",2),f("ngModelChange",function(r){return u(e._color,r)||(e._color=r),r}),p("change",function(){return e.onSelectChange()}),i()(),n(5,"mat-form-field",3)(6,"mat-label"),l(7,"Weight"),i(),n(8,"mat-select",4),f("ngModelChange",function(r){return u(e._weight,r)||(e._weight=r),r}),p("selectionChange",function(){return e.onSelectChange()}),n(9,"mat-select-trigger")(10,"div",5),x(),n(11,"svg",6),E(12,"line",7),i()()(),y(13,wt,3,2,"mat-option",8,D),i()(),pe(),n(15,"mat-form-field",3)(16,"mat-label"),l(17,"Style"),i(),n(18,"mat-select",4),f("ngModelChange",function(r){return u(e._dash,r)||(e._dash=r),r}),p("selectionChange",function(){return e.onSelectChange()}),n(19,"mat-select-trigger")(20,"div",5),x(),n(21,"svg",6),E(22,"line",9),i()()(),y(23,vt,3,2,"mat-option",8,Mt),i()()()),a&2&&(o(4),_("ngModel",e._color),o(4),_("ngModel",e._weight),o(4),O("stroke-width",e._weight()),o(),S(e.line.weights),o(5),_("ngModel",e._dash),o(4),O("stroke-dasharray",e.line.dashArrays.get(e._dash())),o(),S(e.line.dashArrays))},dependencies:[Z,U,G,H,N,R,Q,j,q,z,K,J,Y,qe,X],encapsulation:2})};var ie="auto";var Tt=(s,d)=>d[0];function Dt(s,d){if(s&1){let a=V();n(0,"div",4)(1,"mat-radio-button",5,0),p("change",function(){m(a);let g=w(2),r=M().$implicit,t=M();return r[1].current=g.value,c(t.save(!0))}),l(3),i()()}if(s&2){let a=d.$implicit,e=M().$implicit,g=M();o(),h("name",e[0])("value",a)("checked",a===e[1].current),o(2),k(" ",g.pathLabel(a)," ")}}function Et(s,d){if(s&1&&(n(0,"div",2)(1,"div",3)(2,"div"),l(3),i()(),n(4,"div"),y(5,Dt,4,4,"div",4,D),i()()),s&2){let a=d.$implicit;o(3),C(a[1].name),o(2),S(a[1].available)}}var ne=class s{title="";chosen=new _e;pathChoices={tws:{name:"True Wind Speed",choices:["environment.wind.speedTrue","environment.wind.speedOverGround"],available:[],current:""},twd:{name:"True Wind Direction",choices:["environment.wind.directionTrue","environment.wind.directionMagnetic","environment.wind.angleTrueGround","environment.wind.angleTrueWater"],available:[],current:""},heading:{name:"Heading / COG",choices:[ie,"navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"],available:[],current:""}};pathChoicesArray=Object.entries(this.pathChoices);availPaths;app=W(L);constructor(){}pathLabel(d){return d===ie?"Automatic":d.split(".").slice(-1)[0]}ngOnInit(){this.initEntries()}initEntries(){this.availPaths=new Map(Object.entries(this.app.data.vessels.prefAvailablePaths)),this.pathChoices.tws.current=this.app.config.units.preferredPaths.tws,this.pathChoices.twd.current=this.app.config.units.preferredPaths.twd,this.pathChoices.heading.current=this.app.config.units.preferredPaths.heading,Object.entries(this.pathChoices).forEach(a=>{let e=a[1];e.choices.forEach(g=>{(g===ie||this.availPaths.has(g))&&e.available.push(g)}),e.available.length===0&&e.available.push(e.choices[0])})}save(d){let a={};Object.entries(this.pathChoices).forEach(e=>{a[e[0]]=e[1].current}),this.chosen.emit({save:d,value:a})}static \u0275fac=function(a){return new(a||s)};static \u0275cmp=P({type:s,selectors:[["signalk-preferred-paths"]],inputs:{title:"title"},outputs:{chosen:"chosen"},decls:6,vars:1,consts:[["pathopt",""],[2,"font-size","10pt"],[1,"sk-details"],[1,"title"],[2,"margin","5px 0 5px 0"],[3,"change","name","value","checked"]],template:function(a,e){a&1&&(n(0,"fieldset")(1,"legend",1),l(2),i(),n(3,"div"),y(4,Et,7,1,"div",2,Tt),i()()),a&2&&(o(2),C(e.title),o(2),S(e.pathChoicesArray))},dependencies:[ee,$],styles:[".sk-details[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:10pt;max-height:100%;width:60vw;max-width:300px}.sk-details[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{background:left 1px -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.18)),color-stop(.65,transparent)) #b2bbc2e3;padding:3px 5px 0;margin-top:3px;font-weight:500;line-height:23px;color:#000}.sk-details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:0;line-height:23px;margin:0;flex:1 1 auto;overflow:auto}.sk-details[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{display:flex;flex-direction:row;line-height:26px;border-width:0 0 0 0;border-style:solid;border-color:gray;padding-left:5px}.sk-details[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{border-width:0 0 1px 0}.sk-details[_ngcontent-%COMP%] .sectionname[_ngcontent-%COMP%]{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;font-weight:500}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%]{display:flex;flex-wrap:nowrap;width:100%;background-color:#fff}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:italic}.sk-details[_ngcontent-%COMP%] .pathvalue[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"],changeDetection:0})};var v=(s,d)=>d[0],Wt=(s,d)=>d.id;function Vt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function kt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Pt(s,d){if(s&1&&(n(0,"mat-option",132),l(1),i()),s&2){let a=d.$implicit;h("value",a.url)("matTooltip",a.description),o(),k(" ",a.name," ")}}function Lt(s,d){if(s&1){let a=V();n(0,"div",46)(1,"div",38)(2,"mat-form-field",39)(3,"mat-label"),l(4,"Select Instruments App"),i(),n(5,"mat-select",64),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.display.plugins.instruments,g)||(r.facade.settings.display.plugins.instruments=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.onInstrumentApp())}),y(6,Pt,2,3,"mat-option",132,D),i()()(),n(8,"div",38)(9,"mat-form-field",52)(10,"mat-label"),l(11,"Parameters"),i(),n(12,"input",133,21),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.display.plugins.parameters,g)||(r.facade.settings.display.plugins.parameters=g),c(g)}),p("change",function(){m(a);let g=M();return c(g.persistModel("pluginParameters"))}),i()()(),n(14,"div",38)(15,"mat-checkbox",134),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.display.plugins.startOnOpen,g)||(r.facade.settings.display.plugins.startOnOpen=g),c(g)}),p("change",function(){m(a);let g=M();return c(g.persistModel("pluginStartOnOpen"))}),l(16," Halt App on hide "),i()(),n(17,"div",38)(18,"button",135),p("click",function(){m(a);let g=M();return c(g.toggleFavourites())}),n(19,"mat-icon"),l(20,"star"),i(),l(21," FAVOURITES "),i()()()}if(s&2){let a=M();o(5),_("ngModel",a.facade.settings.display.plugins.instruments),o(),S(a.facade.applicationList),o(6),h("disabled",a.facade.settings.display.plugins.instruments===null),_("ngModel",a.facade.settings.display.plugins.parameters),o(3),_("ngModel",a.facade.settings.display.plugins.startOnOpen)}}function xt(s,d){if(s&1&&(n(0,"mat-list-option",137),l(1),i()),s&2){let a=d.$implicit,e=M(2);h("disabled",a.url==e.facade.settings.display.plugins.instruments)("selected",e.facade.settings.display.plugins.favourites.includes(a.url))("value",a.url),o(),k(" ",a.name," ")}}function Ot(s,d){if(s&1){let a=V();n(0,"div",37)(1,"div",38)(2,"div",114),E(3,"br"),l(4,"Select Favourite Apps: "),i(),E(5,"mat-divider"),n(6,"mat-selection-list",136,22),p("selectionChange",function(g){m(a);let r=w(7),t=M();return c(t.onFavSelected(g,r))}),y(8,xt,2,4,"mat-list-option",137,D),i()()()}if(s&2){let a=M();o(8),S(a.facade.favouritesList)}}function It(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Bt(s,d){s&1&&(n(0,"mat-error"),l(1,"Please enter a number >= 0"),i())}function At(s,d){s&1&&(n(0,"mat-error"),l(1,"Please enter a number >= 1"),i())}function Ft(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Nt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Rt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Ut(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Gt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Ht(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Zt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Kt(s,d){if(s&1){let a=V();n(0,"div",38)(1,"mat-form-field",39)(2,"mat-label"),l(3,"Position display format"),i(),n(4,"mat-select",138),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.units.positionFormat,g)||(r.facade.settings.units.positionFormat=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel())}),y(5,Zt,2,2,"mat-option",41,D),i()()()}if(s&2){let a=M();o(4),_("ngModel",a.facade.settings.units.positionFormat),o(),S(a.options.preferredValues.coords)}}function zt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function qt(s,d){if(s&1){let a=V();n(0,"div",38)(1,"mat-form-field",39)(2,"mat-label"),l(3,"Prefer True / Magnetic values"),i(),n(4,"mat-select",139),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.units.headingAttribute,g)||(r.facade.settings.units.headingAttribute=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel("headingAttribute"))}),y(5,zt,2,2,"mat-option",41,D),i()()()}if(s&2){let a=M();o(4),_("ngModel",a.facade.settings.units.headingAttribute),o(),S(a.options.preferredValues.heading)}}function jt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function Xt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Yt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Jt(s,d){if(s&1){let a=V();n(0,"mat-form-field",39)(1,"mat-label"),l(2,"Resume Following After"),i(),n(3,"mat-select",140),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.map.refollowDelay,g)||(r.facade.settings.map.refollowDelay=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.persistModel())}),y(4,Yt,2,2,"mat-option",41,v),i()()}if(s&2){let a=M();o(3),_("ngModel",a.facade.settings.map.refollowDelay),o(),S(a.options.map.refollowDelay)}}function Qt(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function $t(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function ei(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function ti(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function ii(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a positive number "),i())}function ni(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a positive number "),i())}function ai(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a positive number "),i())}function oi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function ri(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a number > 0 "),i())}function si(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function li(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function di(s,d){if(s&1&&(n(0,"mat-radio-button",41),E(1,"img",141),l(2),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),he(`transform: scale(${a[0]})`),o(),k(" (",a[1],") ")}}function gi(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a value between -90 and 90 (max 9 decimals) "),i())}function mi(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a value between -180 and 180 (max 9 decimals) "),i())}function ci(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function pi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function _i(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function ui(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function fi(s,d){s&1&&(n(0,"mat-error"),l(1," Please enter a number >= 1. "),i())}function hi(s,d){s&1&&(n(0,"mat-hint"),l(1,"Server requires a Track API (v2) provider"),i())}function yi(s,d){if(s&1&&(n(0,"mat-hint"),l(1),i()),s&2){let a=M();o(),k("Using: ",a.app.serverTrailWanted()?"Server":"This device")}}function Si(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Ci(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Mi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function wi(s,d){if(s&1){let a=V();n(0,"div",37)(1,"div",142)(2,"mat-slider",103)(3,"input",104),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.vessels.aisTrackLength,g)||(r.facade.settings.vessels.aisTrackLength=g),c(g)}),p("valueChange",function(){m(a);let g=M();return c(g.deferPersist())}),i()(),l(4),i()()}if(s&2){let a=M();o(2),h("disabled",!a.app.featureFlags().tracksApi),o(),_("ngModel",a.facade.settings.vessels.aisTrackLength),o(),k(" Picked vessel track length (",a.facade.settings.vessels.aisTrackLength," hrs) ")}}function vi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function bi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Ti(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Di(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function Ei(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Wi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function Vi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a),o(),C(a)}}function ki(s,d){if(s&1){let a=V();n(0,"button",143),p("click",function(){m(a),M();let g=w(561);return c(g.value="")}),n(1,"mat-icon"),l(2,"close"),i()()}}function Pi(s,d){if(s&1&&(n(0,"mat-list-option",116),l(1),i()),s&2){let a=d.$implicit,e=M();h("selected",e.facade.settings.resources.paths.includes(a))("value",a),o(),k(" ",a," ")}}function Li(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a.id),o(),C(a.name)}}function xi(s,d){if(s&1){let a=V();n(0,"mat-tab",117)(1,"div",32)(2,"div",33)(3,"div",129)(4,"div",35),l(5,"RADAR SETTINGS"),i(),n(6,"mat-card",36)(7,"div",46)(8,"div",38)(9,"mat-form-field",144)(10,"mat-label"),l(11,"Radar Devices"),i(),n(12,"mat-select",145,23),f("ngModelChange",function(g){m(a);let r=M();return u(r.facade.settings.radars.deviceId,g)||(r.facade.settings.radars.deviceId=g),c(g)}),p("selectionChange",function(){m(a);let g=M();return c(g.doRadar())}),y(14,Li,2,2,"mat-option",41,Wt),i()()(),n(16,"div",38)(17,"button",146),p("click",function(){m(a);let g=M();return c(g.refreshRadars())}),n(18,"mat-icon"),l(19," refresh"),i(),l(20," REFRESH "),i()()()()()()()()}if(s&2){let a=M();o(12),h("disabled",!a.radarList().length||a.app.uiCtrl().radarLayer),_("ngModel",a.facade.settings.radars.deviceId),o(2),S(a.radarList())}}function Oi(s,d){if(s&1&&(n(0,"mat-option",41),l(1),i()),s&2){let a=d.$implicit;h("value",a[0]),o(),C(a[1])}}function Ii(s,d){s&1&&(n(0,"mat-error"),l(1," Value required. "),i())}var _t=class s{show={favourites:B(!1)};options;centerOffsetLimit=Ee;aisStateFilter={moored:!1,anchored:!1};formattedNumberModel={rangeCirclesDistance:1e3};unitsChangedSignal=B(0);radarList=B([]);saveOnClose=!1;arrivalCircleChanged=!1;facade=W(mt);myElement=W(fe);dialogRef=W(Se);wakeLock=W(Te);s57=W(Je);app=W(L);radarApi=W($e);course=W(at);constructor(){this.options=new gt,ue(()=>{this.unitsChangedSignal(),this.formatNumberModel()})}ngOnInit(){this.facade.refresh(),this.facade.settings.selections.aisState.forEach(d=>{d in this.aisStateFilter&&(this.aisStateFilter[d]=!0)}),this.refreshRadars()}refreshRadars(){this.radarApi.listRadars().then(d=>{this.radarList.set(d)}).catch(()=>{this.radarList.set([])})}formatNumberModel(){this.formattedNumberModel={rangeCirclesDistance:this.facade.settings.units.distance==="kilometer"?Math.floor(this.facade.settings.vessels.rangeCirclesDistance/1e3):Math.floor(I.transform(this.facade.settings.vessels.rangeCirclesDistance,"m","naut-mile"))}}raiseChange(){this.app.alignUnitPrefs(this.app.serverConfig.unitPreferences()),this.unitsChangedSignal.update(d=>d+1)}handleClose(){this.saveOnClose&&this.persistModel(),this.arrivalCircleChanged&&this.applyArrivalCircle(),this.dialogRef.close()}doWakelock(d){this.persistModel(),d?this.wakeLock.disable():this.wakeLock.enable()}doS57(d){this.facade.settings.map.s57Options.depthUnit=this.facade.settings.units.depth,d?this.parseNumber(d):this.persistModel(),this.s57.setOptions(this.facade.settings.map.s57Options)}doRadar(){this.radarApi.init(this.facade.settings.radars.deviceId).then(d=>{d&&this.persistModel()})}onLineStyle(d,a){let e=this.facade.settings.vessels.selfLines[d];e&&(e.color=a.config.color,e.dash=a.config.dash,e.weight=a.config.weight,this.app.selfLines.update(g=>{let r=Object.assign({},g);return r[d]=a.lineStyle,r}),this.persistModel())}toggleFavourites(){this.show.favourites.update(d=>!d)}parseCenterOffset(d){d.reset(typeof d.model=="number"?We(d.model):0),this.persistModel()}onArrivalCircleChange(d){this.parseNumber(d),this.arrivalCircleChanged=!0}applyArrivalCircle(){let d=this.facade.settings.course.arrivalCircle,a=this.course.courseData();a.position&&d>0&&d!==a.arrivalCircle&&this.course.setArrivalCircle(d)}parseNumber(d,a){if(typeof d.model!="number"){d.reset(this.fallbackToDefault());return}!a&&d.model<0&&d.reset(Math.abs(d.model)),this.persistModel()}parseFormattedNumber(d,a){typeof d.model=="number"&&(!a&&d.model<0&&d.reset(Math.abs(d.model)),this.facade.settings.vessels.rangeCirclesDistance=this.facade.settings.units.distance==="kilometer"?Math.floor(this.formattedNumberModel.rangeCirclesDistance*1e3):Math.floor(I.nauticalMilesToKm(this.formattedNumberModel.rangeCirclesDistance)*1e3),this.persistModel())}fallbackToDefault(){let d=Qe();if(typeof this.facade.settings.display.statusBar.referenceSpeed!="number")return d.display.statusBar.referenceSpeed;if(typeof this.facade.settings.display.statusBar.tapFadeSpeed!="number")return d.display.statusBar.tapFadeSpeed;if(typeof this.facade.settings.map.s57Options.shallowDepth!="number")return d.map.s57Options.shallowDepth;if(typeof this.facade.settings.map.s57Options.safetyDepth!="number")return d.map.s57Options.safetyDepth;if(typeof this.facade.settings.map.s57Options.deepDepth!="number")return d.map.s57Options.deepDepth;if(typeof this.facade.fixedPosition[0]!="number"||typeof this.facade.fixedPosition[1]!="number")return 0;if(typeof this.facade.settings.course.arrivalCircle!="number")return d.course.arrivalCircle}get serverTrailAvailable(){return De(this.app.trackSource())}persistModel(d){this.facade.applySettings(),this.facade.emitChangeEvent(d)}get speedUnitSymbol(){return I.getSymbol(this.facade.settings.units.speed)}deferPersist(d){this.saveOnClose=!0,this.facade.emitChangeEvent(d)}onInstrumentApp(){this.persistModel("pluginInstruments"),this.facade.buildFavouritesList()}onPreferredPaths(d){d.save&&(this.facade.settings.units.preferredPaths=d.value,this.persistModel())}onFavSelected(d,a){this.facade.settings.display.plugins.favourites=a.selectedOptions.selected.map(e=>e.value),this.persistModel()}onAisStateFilter(){let d=[];for(let a in this.aisStateFilter)this.aisStateFilter[a]&&d.push(a);this.facade.settings.selections.aisState=[].concat(d),this.persistModel()}onResPathSelected(d){this.facade.settings.resources.paths=d.selectedOptions.selected.map(a=>a.value),this.facade.settings.resources.paths.forEach(a=>{a in this.facade.settings.selections.resourceSets||(this.facade.settings.selections.resourceSets[a]=[])}),this.persistModel()}clearAuthToken(){this.facade.clearToken()}renderSymbol(d){return I.getSymbol(d)}static \u0275fac=function(a){return new(a||s)};static \u0275cmp=P({type:s,selectors:[["settings-dialog"]],decls:660,vars:140,consts:[["refspeed","ngModel"],["tapfade","ngModel"],["serverprefs",""],["distunits",""],["centerOffsetY","ngModel"],["centerOffsetX","ngModel"],["s57shallowDepth","ngModel"],["s57safetyDepth","ngModel"],["s57deepDepth","ngModel"],["coursearrivalcircle","ngModel"],["courseautoadvance",""],["courseautoadvanceon",""],["vesselfixedlocationmode",""],["fixedlat","ngModel"],["fixedlon","ngModel"],["rangeCirclesDistance","ngModel"],["notesrootfilter",""],["respath",""],["skmaxradius",""],["videourl","ngModel"],["experiments",""],["instparams","ngModel"],["favs",""],["radarlist",""],[2,"background-color","transparent"],[1,"dialog-icon"],[2,"flex","1 1 auto","text-align","center"],[2,"text-align","right"],["mat-icon-button","",3,"click"],["mat-dialog-content",""],["dynamicHeight","false","mat-stretch-tabs","false","mat-align-tabs","start"],["label","Display"],[1,"theme-page","settings"],[1,"theme-panel"],["id","sectDisplay",1,"setting-group"],[1,"setting-group-title"],[1,"setting-card"],[1,"setting-card-row",2,"padding-bottom","10px"],[1,"setting-card-row-item"],[2,"width","100%"],["matTooltip","Dark Mode setting.",3,"ngModelChange","selectionChange","ngModel"],[3,"value"],["label","after","matTooltip","Auto-set using environment.mode value.",3,"ngModelChange","change","ngModel"],["matTooltip","Action button selection.",3,"ngModelChange","selectionChange","ngModel"],["label","after","matTooltip","Disable wake lock.",3,"ngModelChange","change","disabled","ngModel"],["label","after","matTooltip","Un-check to prefer dialogs over the information panel",3,"ngModelChange","change","ngModel"],[1,"setting-card-row"],["matTooltip","Do not play sounds","label","after",3,"ngModelChange","change","ngModel"],["label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Period of time out of alarm state before re-triggering.",3,"ngModelChange","selectionChange","ngModel","disabled"],[1,"setting-group"],["label","after","matTooltip","Show the bearing, distance and ETA from the vessel to the cursor in the status bar. Click or tap the chart to hold the readout on that point.",3,"ngModelChange","change","ngModel"],["floatLabel","always",2,"width","100%"],["matInput","","type","number","min","0","matTooltip","Boat speed used to estimate ETA when SOG is unavailable (e.g. at anchor or hove to).",3,"ngModelChange","change","disabled","ngModel"],["matInput","","type","number","min","1","step","0.5","matTooltip","How long the marker left by a click or tap takes to fade. The readout stays held on that point until it does.",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Glyph used to display wind direction and speed.",3,"ngModelChange","selectionChange","ngModel"],["label","Units"],["id","sectUnits",1,"setting-group"],["label","after","matTooltip","Use the unit preferences configured on the server.",3,"ngModelChange","change","disabled","ngModel"],[3,"ngModelChange","selectionChange","disabled","ngModel"],["title","Preferred Paths",3,"chosen"],["label","Map"],["id","sectMap",1,"setting-group"],["aria-hidden","true",1,"setting-field-group-title"],[3,"ngModelChange","selectionChange","ngModel"],[1,"setting-field-group-title"],[1,"setting-field-group"],["floatLabel","always"],["matInput","","type","number","matTooltip","Where the vessel sits up or down the screen, as a percentage of the distance to the edge. Positive looks ahead (vessel lower); negative looks behind.",3,"ngModelChange","change","min","max","ngModel"],["matInput","","type","number","matTooltip","Where the vessel sits left or right of centre, as a percentage of the distance to the edge. Positive shifts the map right (vessel left).",3,"ngModelChange","change","min","max","ngModel"],["matTooltip","Add close button to popovers","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Double Click map to zoom","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Keep tiles visible when zooming past chart maxZoom","label","after",3,"ngModelChange","change","ngModel"],[1,"setting-card-row-item","setting-card-row-stack"],["matTooltip","What panning the chart does while following the vessel.",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Graphicsstyle",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Boundaries",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Color Table",3,"ngModelChange","selectionChange","ngModel"],["placeholder","Colors",3,"ngModelChange","selectionChange","ngModel"],["matInput","","type","number","required","","min","0",3,"ngModelChange","change","ngModel"],["matSuffix",""],["multiple","","placeholder","Layers",3,"ngModelChange","selectionChange","ngModel"],["label","Course"],["id","sectCourse",1,"setting-group"],["matTooltip","Select the trigger for advancing to next point.",3,"ngModelChange","selectionChange","disabled","ngModel"],["matTooltip","Period of time before destination is advanced to next waypoint.",3,"ngModelChange","selectionChange","disabled","ngModel"],["label","Vessels"],["id","sectVessels",1,"setting-group"],[3,"ngModelChange","change","ngModel"],["label","after","matTooltip","e.g. Building, Camp, etc.",3,"ngModelChange","change","ngModel"],["matInput","","type","number","required","","pattern","^-?([1-8]?[0-9])(\\.\\d{1,9})?$","min","-90","max","90",3,"ngModelChange","change","ngModel","disabled"],["matInput","","type","number","required","","pattern","^-?(1[0-7]?[0-9]|[1-9]?[0-9])(\\.\\d{1,9})?$","min","-180","max","180",3,"ngModelChange","change","ngModel","disabled"],["matTooltip","Length of heading line.",3,"ngModelChange","selectionChange","ngModel"],[3,"selectionChange","color","dash","weight"],["matTooltip","Length of COG line.",3,"ngModelChange","selectionChange","ngModel"],[3,"ngModelChange","selectionChange","ngModel","disabled"],["label","after",3,"ngModelChange","change","ngModel","disabled"],["matInput","","type","number","required","","min","1",3,"ngModelChange","change","ngModel","disabled"],[2,"width","200px"],["matTooltip","Where the vessel track comes from. Auto uses the server when it can supply one.",3,"ngModelChange","selectionChange","disabled","ngModel"],["value","auto"],["value","server",3,"disabled"],["value","local"],["discrete","","tickInterval","1","min","1","max","96",3,"disabled"],["matSliderThumb","",3,"ngModelChange","valueChange","ngModel"],["label","Resources"],["id","sectNotes",1,"setting-group"],[3,"valueChange","selectionChange","disabled","value"],["matInput","","type","text","placeholder","?radius=%note:radius%","matTooltip","Filter to apply when retrieving notes",3,"ngModelChange","change","ngModel"],["matSuffix","","mat-icon-button",""],["matTooltip","Allow group name editing.","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Require position information when adding notes to a group.","label","after",3,"ngModelChange","change","ngModel"],["label","after","matTooltip","Open Note details with a single click instead of showing the pop-up options",3,"ngModelChange","change","ngModel"],["id","sectResLayers",1,"setting-group"],[2,"font-style","italic"],["matTooltip","Select resource layers to show.",3,"selectionChange"],[3,"selected","value"],["label","Radar"],["label","Signal K"],["id","sectSKConnection",1,"setting-group"],[2,"font-size","smaller"],["matToolTip","Check to receive other vessel data","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive AtoN data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matTooltip","Check to receive aircraft data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive SaR data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Check to receive Weather / Meteo data","matTooltipPosition","below","label","after",3,"ngModelChange","change","ngModel"],["matToolTip","Only include AIS targets within this distance","matTooltipPosition","below",3,"ngModelChange","selectionChange","ngModel"],["mat-icon-button","","matTooltip","Clear Auth Token",3,"click"],["label","Experiments"],["id","sectExperiments",1,"setting-group"],["matInput","","type","text","required","","placeholder","Video stream URL","matTooltip","Enter URL of video stream",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Enable ALL experimental Features","label","after",3,"ngModelChange","change","ngModel"],["matTooltipPosition","right",3,"value","matTooltip"],["matInput","","type","text","placeholder","e.g. ?layout=mylayout","matTooltip","Enter parameters to pass to Instrument App",3,"ngModelChange","change","disabled","ngModel"],["matTooltip","Stop instrument app when hidden","label","after",3,"ngModelChange","change","ngModel"],["mat-raised-button","","matTooltip","Favourite Apps","label","after",3,"click"],[3,"selectionChange"],[3,"disabled","selected","value"],["matTooltip","Display position in this format",3,"ngModelChange","selectionChange","ngModel"],["matTooltip","Preferred value type for paths not in Preferred Paths above",3,"ngModelChange","selectionChange","ngModel"],["matTooltip","Resume following the vessel once the chart has been left idle for this long.",3,"ngModelChange","selectionChange","ngModel"],["src","./assets/img/vessels/self.png"],["matTooltip","How far back the track of a vessel picked with its TRACK button reaches. Needs a Track API (v2) provider.",1,"setting-card-row-item"],["matSuffix","","mat-icon-button","",3,"click"],[2,"width","stretch"],["matToolTip","Select radar device","matTooltipPosition","below",3,"ngModelChange","selectionChange","disabled","ngModel"],["mat-raised-button","",3,"click"]],template:function(a,e){if(a&1){let g=V();n(0,"mat-toolbar",24)(1,"span",25)(2,"mat-icon"),l(3,"settings"),i()(),n(4,"span",26),l(5,"Settings"),i(),n(6,"span",27)(7,"button",28),p("click",function(){return e.handleClose()}),n(8,"mat-icon"),l(9,"close"),i()()()(),n(10,"div",29)(11,"mat-tab-group",30)(12,"mat-tab",31)(13,"div",32)(14,"div",33)(15,"div",34)(16,"div",35),l(17,"DISPLAY"),i(),n(18,"mat-card",36)(19,"mat-card-content")(20,"div",37)(21,"div",38)(22,"mat-form-field",39)(23,"mat-label"),l(24,"Dark Mode setting"),i(),n(25,"mat-select",40),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.darkMode.source,t)||(e.facade.settings.display.darkMode.source=t),c(t)}),p("selectionChange",function(){return e.persistModel("darkTheme")}),y(26,Vt,2,2,"mat-option",41,v),i()()(),n(28,"div",38)(29,"mat-checkbox",42),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.nightMode,t)||(e.facade.settings.display.nightMode=t),c(t)}),p("change",function(){return e.persistModel()}),l(30," Auto-set Night Mode "),i()(),n(31,"div",38)(32,"mat-form-field",39)(33,"mat-label"),l(34,"Action Button"),i(),n(35,"mat-select",43),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.fab,t)||(e.facade.settings.display.fab=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(36,kt,2,2,"mat-option",41,v),i()()(),n(38,"div",38)(39,"mat-checkbox",44),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.disableWakelock,t)||(e.facade.settings.display.disableWakelock=t),c(t)}),p("change",function(t){return e.doWakelock(t.checked)}),l(40," Allow Device to Sleep "),i()(),n(41,"div",38)(42,"mat-checkbox",45),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.preferInfoPanel,t)||(e.facade.settings.display.preferInfoPanel=t),c(t)}),p("change",function(){return e.persistModel()}),l(43," Prefer Info-Panel "),i()()()()(),E(44,"br"),n(45,"mat-card",36)(46,"mat-card-content"),b(47,Lt,22,4,"div",46),b(48,Ot,10,0,"div",37),i()(),E(49,"br"),i(),n(50,"div",34)(51,"div",35),l(52,"SOUND"),i(),n(53,"mat-card",36)(54,"mat-card-content")(55,"div",37)(56,"div",38)(57,"mat-checkbox",47),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.muteSound,t)||(e.facade.settings.display.muteSound=t),c(t)}),p("change",function(){return e.persistModel()}),l(58," Do not Play Sounds "),i()(),n(59,"div",38)(60,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.depthAlarm.enabled,t)||(e.facade.settings.display.depthAlarm.enabled=t),c(t)}),p("change",function(){return e.persistModel()}),l(61," Show DEPTH Alarms "),i()(),n(62,"div",38)(63,"mat-form-field",39)(64,"mat-label"),l(65,"Alarm Smoothing Time"),i(),n(66,"mat-select",49),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.depthAlarm.smoothing,t)||(e.facade.settings.display.depthAlarm.smoothing=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(67,It,2,2,"mat-option",41,v),i()()()()()()(),n(69,"div",50)(70,"div",35),l(71,"STATUS BAR OPTIONS"),i(),n(72,"mat-card",36)(73,"mat-card-content")(74,"div",37)(75,"div",38)(76,"mat-checkbox",51),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.liveEta,t)||(e.facade.settings.display.statusBar.liveEta=t),c(t)}),p("change",function(){return e.persistModel()}),l(77," Live ETA at cursor "),i()(),n(78,"div",38)(79,"mat-form-field",52)(80,"mat-label"),l(81),i(),n(82,"input",53,0),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.referenceSpeed,t)||(e.facade.settings.display.statusBar.referenceSpeed=t),c(t)}),p("change",function(){m(g);let t=w(83);return c(e.parseNumber(t))}),i(),b(84,Bt,2,0,"mat-error"),i()(),n(85,"div",38)(86,"mat-form-field",52)(87,"mat-label"),l(88,"Tap Fade Speed (s)"),i(),n(89,"input",54,1),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.statusBar.tapFadeSpeed,t)||(e.facade.settings.display.statusBar.tapFadeSpeed=t),c(t)}),p("change",function(){m(g);let t=w(90);return c(e.parseNumber(t))}),i(),b(91,At,2,0,"mat-error"),i()()()()()(),n(92,"div",50)(93,"div",35),l(94,"WEATHER"),i(),n(95,"mat-card",36)(96,"mat-card-content")(97,"div",37)(98,"div",38)(99,"mat-form-field",39)(100,"mat-label"),l(101,"Wind indicator"),i(),n(102,"mat-select",55),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.windIndicator,t)||(e.facade.settings.display.windIndicator=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(103,Ft,2,2,"mat-option",41,v),i()()()()()()()()()(),n(105,"mat-tab",56)(106,"div",32)(107,"div",33)(108,"div",57)(109,"div",35),l(110,"UNITS & VALUES"),i(),n(111,"mat-card",36)(112,"mat-card-content")(113,"div",37)(114,"div",38)(115,"fieldset")(116,"legend")(117,"mat-checkbox",58,2),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.useServerPrefs,t)||(e.facade.settings.units.useServerPrefs=t),c(t)}),p("change",function(){return m(g),e.raiseChange(),c(e.persistModel())}),l(119," Use Server Unit Preferences "),i()(),n(120,"div",37)(121,"div",38)(122,"mat-form-field",39)(123,"mat-label"),l(124,"Distance units"),i(),n(125,"mat-select",59,3),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.distance,t)||(e.facade.settings.units.distance=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(127,Nt,2,2,"mat-option",41,v),i()()(),n(129,"div",38)(130,"mat-form-field",39)(131,"mat-label"),l(132,"Depth units"),i(),n(133,"mat-select",59),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.depth,t)||(e.facade.settings.units.depth=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.doS57())}),y(134,Rt,2,2,"mat-option",41,v),i()()(),n(136,"div",38)(137,"mat-form-field",39)(138,"mat-label"),l(139,"Length units"),i(),n(140,"mat-select",59),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.length,t)||(e.facade.settings.units.length=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(141,Ut,2,2,"mat-option",41,v),i()()(),n(143,"div",38)(144,"mat-form-field",39)(145,"mat-label"),l(146,"Temperature units"),i(),n(147,"mat-select",59),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.temperature,t)||(e.facade.settings.units.temperature=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(148,Gt,2,2,"mat-option",41,v),i()()(),n(150,"div",38)(151,"mat-form-field",39)(152,"mat-label"),l(153,"Speed units"),i(),n(154,"mat-select",59),f("ngModelChange",function(t){return m(g),u(e.facade.settings.units.speed,t)||(e.facade.settings.units.speed=t),c(t)}),p("selectionChange",function(){return m(g),e.raiseChange(),c(e.persistModel())}),y(155,Ht,2,2,"mat-option",41,v),i()()()()()()(),n(157,"div",37),b(158,Kt,7,1,"div",38),b(159,qt,7,1,"div",38),n(160,"div",38)(161,"signalk-preferred-paths",60),p("chosen",function(t){return e.onPreferredPaths(t)}),i()()()()()()()()(),n(162,"mat-tab",61)(163,"div",32)(164,"div",33)(165,"div",62)(166,"div",35),l(167,"MAP"),i(),n(168,"mat-card")(169,"mat-card-content")(170,"div",37)(171,"div",38)(172,"div",63),l(173," \xA0 "),i(),n(174,"mat-form-field",39)(175,"mat-label"),l(176,"Feature label zoom level"),i(),n(177,"mat-select",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.labelsMinZoom,t)||(e.facade.settings.map.labelsMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(178,jt,2,2,"mat-option",41,D),i()()(),n(180,"div",38)(181,"div",65),l(182," Offset Vessel Center (%) "),i(),n(183,"div",66)(184,"mat-form-field",67)(185,"mat-label"),l(186,"Vertical"),i(),n(187,"input",68,4),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.centerOffset.y,t)||(e.facade.settings.map.centerOffset.y=t),c(t)}),p("change",function(){m(g);let t=w(188);return c(e.parseCenterOffset(t))}),i()(),n(189,"mat-form-field",67)(190,"mat-label"),l(191,"Horizontal"),i(),n(192,"input",69,5),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.centerOffset.x,t)||(e.facade.settings.map.centerOffset.x=t),c(t)}),p("change",function(){m(g);let t=w(193);return c(e.parseCenterOffset(t))}),i()()()(),n(194,"div",38)(195,"mat-checkbox",70),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.popoverMulti,t)||(e.facade.settings.map.popoverMulti=t),c(t)}),p("change",function(){return e.persistModel()}),l(196," Popovers close with button "),i()(),n(197,"div",38)(198,"mat-checkbox",71),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.doubleClickZoom,t)||(e.facade.settings.map.doubleClickZoom=t),c(t)}),p("change",function(){return e.persistModel()}),l(199," Double click to Zoom "),i()(),n(200,"div",38)(201,"mat-checkbox",72),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.overZoomTiles,t)||(e.facade.settings.map.overZoomTiles=t),c(t)}),p("change",function(){return e.persistModel()}),l(202," Keep tiles visible on max zoom "),i()(),n(203,"div",73)(204,"mat-form-field",39)(205,"mat-label"),l(206,"Map Pan When Following"),i(),n(207,"mat-select",74),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.panBehavior,t)||(e.facade.settings.map.panBehavior=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(208,Xt,2,2,"mat-option",41,v),i()(),b(210,Jt,6,1,"mat-form-field",39),i()()()(),n(211,"div",35),l(212,"VECTOR CHARTS"),i(),n(213,"mat-card")(214,"mat-card-content")(215,"div",37)(216,"div",38)(217,"mat-form-field",39)(218,"mat-label"),l(219,"Graphics Style"),i(),n(220,"mat-select",75),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.graphicsStyle,t)||(e.facade.settings.map.s57Options.graphicsStyle=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(221,Qt,2,2,"mat-option",41,v),i()()(),n(223,"div",38)(224,"mat-form-field",39)(225,"mat-label"),l(226,"Boundaries"),i(),n(227,"mat-select",76),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.boundaries,t)||(e.facade.settings.map.s57Options.boundaries=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(228,$t,2,2,"mat-option",41,v),i()()(),n(230,"div",38)(231,"mat-form-field",39)(232,"mat-label"),l(233,"Color Table (Requires refresh)"),i(),n(234,"mat-select",77),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.colorTable,t)||(e.facade.settings.map.s57Options.colorTable=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(235,ei,2,2,"mat-option",41,v),i()()(),n(237,"div",38)(238,"mat-form-field",39)(239,"mat-label"),l(240,"Colors"),i(),n(241,"mat-select",78),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.colors,t)||(e.facade.settings.map.s57Options.colors=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(242,ti,2,2,"mat-option",41,D),i()()()(),n(244,"div",37)(245,"div",38)(246,"mat-form-field",39)(247,"mat-label"),l(248,"Shallow depth"),i(),n(249,"input",79,6),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.shallowDepth,t)||(e.facade.settings.map.s57Options.shallowDepth=t),c(t)}),p("change",function(){m(g);let t=w(250);return c(e.doS57(t))}),i(),b(251,ii,2,0,"mat-error"),n(252,"span",80),l(253,"m"),i()()(),n(254,"div",38)(255,"mat-form-field",39)(256,"mat-label"),l(257,"Safety depth"),i(),n(258,"input",79,7),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.safetyDepth,t)||(e.facade.settings.map.s57Options.safetyDepth=t),c(t)}),p("change",function(){m(g);let t=w(259);return c(e.doS57(t))}),i(),b(260,ni,2,0,"mat-error"),n(261,"span",80),l(262,"m"),i()()(),n(263,"div",38)(264,"mat-form-field",39)(265,"mat-label"),l(266,"Deep depth"),i(),n(267,"input",79,8),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.deepDepth,t)||(e.facade.settings.map.s57Options.deepDepth=t),c(t)}),p("change",function(){m(g);let t=w(268);return c(e.doS57(t))}),i(),b(269,ai,2,0,"mat-error"),n(270,"span",80),l(271,"m"),i()()(),n(272,"div",38)(273,"mat-form-field",39)(274,"mat-label"),l(275,"Layers"),i(),n(276,"mat-select",81),f("ngModelChange",function(t){return m(g),u(e.facade.settings.map.s57Options.otherLayers,t)||(e.facade.settings.map.s57Options.otherLayers=t),c(t)}),p("selectionChange",function(){return e.doS57()}),y(277,oi,2,2,"mat-option",41,v),i()()()()()()()()()(),n(279,"mat-tab",82)(280,"div",32)(281,"div",33)(282,"div",83)(283,"div",35),l(284,"COURSE"),i(),n(285,"mat-card",36)(286,"mat-card-content")(287,"div",37)(288,"div",38)(289,"mat-form-field",39)(290,"mat-label"),l(291,"Arrival Circle"),i(),n(292,"input",79,9),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.arrivalCircle,t)||(e.facade.settings.course.arrivalCircle=t),c(t)}),p("change",function(){m(g);let t=w(293);return c(e.onArrivalCircleChange(t))}),i(),b(294,ri,2,0,"mat-error"),n(295,"span",80),l(296,"m"),i()()()(),n(297,"div",37)(298,"div",38)(299,"mat-checkbox",48,10),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointOnArrival,t)||(e.facade.settings.course.autoNextPointOnArrival=t),c(t)}),p("change",function(){return e.persistModel()}),l(301," Auto-advance to next point on arrival "),i()()(),n(302,"div",37)(303,"div",38)(304,"mat-form-field",39)(305,"mat-label"),l(306,"Notification type to use"),i(),n(307,"mat-select",84,11),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointTrigger,t)||(e.facade.settings.course.autoNextPointTrigger=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(309,si,2,2,"mat-option",41,D),i()()(),n(311,"div",38)(312,"mat-form-field",39)(313,"mat-label"),l(314,"Time to wait before advancing"),i(),n(315,"mat-select",85),f("ngModelChange",function(t){return m(g),u(e.facade.settings.course.autoNextPointDelay,t)||(e.facade.settings.course.autoNextPointDelay=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(316,li,2,2,"mat-option",41,v),i()()()()()()()()()(),n(318,"mat-tab",86)(319,"div",32)(320,"div",33)(321,"div",87)(322,"div",35),l(323,"VESSEL"),i(),n(324,"mat-card",36)(325,"mat-card-content")(326,"div",37)(327,"div",38)(328,"fieldset")(329,"legend"),l(330,"Vessel Icon Size"),i(),n(331,"div",37)(332,"div",38)(333,"mat-radio-group",88),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.iconScale,t)||(e.facade.settings.vessels.iconScale=t),c(t)}),p("change",function(){return e.persistModel()}),y(334,di,3,4,"mat-radio-button",41,v),i()()()()()(),n(336,"div",38)(337,"fieldset")(338,"legend")(339,"mat-checkbox",89,12),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.fixedLocationMode,t)||(e.facade.settings.vessels.fixedLocationMode=t),c(t)}),p("change",function(){return e.persistModel()}),l(341," Fixed Location Mode "),i()(),n(342,"div",37)(343,"div",38)(344,"mat-form-field",67)(345,"mat-label"),l(346,"Latitude"),i(),n(347,"input",90,13),f("ngModelChange",function(t){return m(g),u(e.facade.fixedPosition[1],t)||(e.facade.fixedPosition[1]=t),c(t)}),p("change",function(){m(g);let t=w(348);return c(e.parseNumber(t,!0))}),i(),b(349,gi,2,0,"mat-error"),i(),n(350,"mat-form-field",67)(351,"mat-label"),l(352,"Longitude"),i(),n(353,"input",91,14),f("ngModelChange",function(t){return m(g),u(e.facade.fixedPosition[0],t)||(e.facade.fixedPosition[0]=t),c(t)}),p("change",function(){m(g);let t=w(354);return c(e.parseNumber(t,!0))}),i(),b(355,mi,2,0,"mat-error"),i()()()()()()(),E(356,"br"),n(357,"mat-card",36)(358,"mat-card-content")(359,"div",38)(360,"fieldset")(361,"legend"),l(362,"Vessel Lines:"),i(),n(363,"div",37)(364,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.windVectors,t)||(e.facade.settings.vessels.windVectors=t),c(t)}),p("change",function(){return e.persistModel()}),l(365," Display Wind Vectors "),i(),n(366,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.laylines,t)||(e.facade.settings.vessels.laylines=t),c(t)}),p("change",function(){return e.persistModel()}),l(367," Display Laylines "),i()(),n(368,"div",37)(369,"div",38)(370,"fieldset")(371,"legend"),l(372,"Heading Line"),i(),n(373,"div",37)(374,"div",38)(375,"mat-form-field")(376,"mat-label"),l(377,"Heading Line Length"),i(),n(378,"mat-select",92),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.selfLines.heading.length,t)||(e.facade.settings.vessels.selfLines.heading.length=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(379,ci,2,2,"mat-option",41,v),i()()(),n(381,"div",38)(382,"linestyle-select",93),p("selectionChange",function(t){return e.onLineStyle("heading",t)}),i()()()()()(),n(383,"div",37)(384,"div",38)(385,"fieldset")(386,"legend"),l(387,"COG Line"),i(),n(388,"div",37)(389,"div",38)(390,"mat-form-field")(391,"mat-label"),l(392,"COG Line Length"),i(),n(393,"mat-select",94),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.selfLines.cog.length,t)||(e.facade.settings.vessels.selfLines.cog.length=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(394,pi,2,2,"mat-option",41,v),i()()(),n(396,"div",38)(397,"linestyle-select",93),p("selectionChange",function(t){return e.onLineStyle("cog",t)}),i()()()()()()()(),n(398,"div",38)(399,"fieldset")(400,"legend")(401,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircles,t)||(e.facade.settings.vessels.rangeCircles=t),c(t)}),p("change",function(){return e.persistModel()}),l(402," Display Range Circles "),i()(),n(403,"div",37)(404,"div",38)(405,"mat-form-field",39)(406,"mat-label"),l(407,"Number of Range Circles"),i(),n(408,"mat-select",95),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircleCount,t)||(e.facade.settings.vessels.rangeCircleCount=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(409,_i,2,2,"mat-option",41,D),i()()(),n(411,"div",38)(412,"mat-form-field",39)(413,"mat-label"),l(414,"Minimum Zoom Level"),i(),n(415,"mat-select",95),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCircleMinZoom,t)||(e.facade.settings.vessels.rangeCircleMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(416,ui,2,2,"mat-option",41,D),i()()()(),n(418,"div",37)(419,"div",38)(420,"mat-checkbox",96),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.rangeCirclesFixed,t)||(e.facade.settings.vessels.rangeCirclesFixed=t),c(t)}),p("change",function(){return e.persistModel()}),l(421," Use Fixed Distance "),i()(),n(422,"div",38)(423,"mat-form-field",67)(424,"mat-label"),l(425),i(),n(426,"input",97,15),f("ngModelChange",function(t){return m(g),u(e.formattedNumberModel.rangeCirclesDistance,t)||(e.formattedNumberModel.rangeCirclesDistance=t),c(t)}),p("change",function(){m(g);let t=w(427);return c(e.parseFormattedNumber(t))}),i(),b(428,fi,2,0,"mat-error"),i()()()()()()(),E(429,"br"),n(430,"mat-card",36)(431,"mat-card-content")(432,"div",37)(433,"fieldset")(434,"legend")(435,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trail,t)||(e.facade.settings.vessels.trail=t),c(t)}),p("change",function(){return e.persistModel("vesselTrail")}),l(436," Display Vessel Track "),i()(),n(437,"div",37)(438,"div",38)(439,"mat-form-field",98)(440,"mat-label"),l(441,"Track source"),i(),n(442,"mat-select",99),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailSource,t)||(e.facade.settings.vessels.trailSource=t),c(t)}),p("selectionChange",function(){return e.persistModel("trailSource")}),n(443,"mat-option",100),l(444,"Auto"),i(),n(445,"mat-option",101),l(446,"Server"),i(),n(447,"mat-option",102),l(448,"This device"),i()(),b(449,hi,2,0,"mat-hint")(450,yi,2,1,"mat-hint"),i(),l(451," \xA0\xA0 "),n(452,"mat-slider",103)(453,"input",104),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailDuration,t)||(e.facade.settings.vessels.trailDuration=t),c(t)}),p("valueChange",function(){return e.deferPersist()}),i()(),l(454),i()(),n(455,"div",37)(456,"div",38)(457,"mat-form-field",39)(458,"mat-label"),l(459,"Resolution: Last hour"),i(),n(460,"mat-select",95),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.lastHour,t)||(e.facade.settings.vessels.trailResolution.lastHour=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(461,Si,2,2,"mat-option",41,v),i()()(),n(463,"div",38)(464,"mat-form-field",39)(465,"mat-label"),l(466,"Resolution: 1 hr -> 24 hrs"),i(),n(467,"mat-select",95),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.next23,t)||(e.facade.settings.vessels.trailResolution.next23=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(468,Ci,2,2,"mat-option",41,v),i()()(),n(470,"div",38)(471,"mat-form-field",39)(472,"mat-label"),l(473,"Resolution: > 24 hrs"),i(),n(474,"mat-select",95),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.trailResolution.beyond24,t)||(e.facade.settings.vessels.trailResolution.beyond24=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(475,Mi,2,2,"mat-option",41,v),i()()()()()()()(),n(477,"div",35),l(478,"OTHER VESSELS"),i(),n(479,"mat-card",36)(480,"mat-card-content")(481,"div",37)(482,"div",38)(483,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisShowTrack,t)||(e.facade.settings.vessels.aisShowTrack=t),c(t)}),p("change",function(){return e.persistModel()}),l(484," Show all tracks "),i(),l(485," \xA0 "),n(486,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.aisStateFilter.moored,t)||(e.aisStateFilter.moored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),l(487," Hide Moored "),i(),l(488," \xA0 "),n(489,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.aisStateFilter.anchored,t)||(e.aisStateFilter.anchored=t),c(t)}),p("change",function(){return e.onAisStateFilter()}),l(490," Hide Anchored "),i()()(),b(491,wi,5,3,"div",37),n(492,"div",37)(493,"div",38)(494,"mat-form-field",39)(495,"mat-label"),l(496,"Mark AIS target inactive after"),i(),n(497,"mat-select",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisStaleAge,t)||(e.facade.settings.vessels.aisStaleAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(498,vi,2,2,"mat-option",41,v),i()()(),n(500,"div",38)(501,"mat-form-field",39)(502,"mat-label"),l(503,"Remove AIS target after"),i(),n(504,"mat-select",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisMaxAge,t)||(e.facade.settings.vessels.aisMaxAge=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(505,bi,2,2,"mat-option",41,v),i()()(),n(507,"div",38)(508,"mat-form-field",39)(509,"mat-label"),l(510,"Wind Vector Value"),i(),n(511,"mat-select",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisWindApparent,t)||(e.facade.settings.vessels.aisWindApparent=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(512,Ti,2,2,"mat-option",41,v),i()()(),n(514,"div",38)(515,"mat-form-field",39)(516,"mat-label"),l(517,"Wind / Track Zoom Level"),i(),n(518,"mat-select",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisWindMinZoom,t)||(e.facade.settings.vessels.aisWindMinZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(519,Di,2,2,"mat-option",41,D),i()()(),n(521,"div",38)(522,"mat-form-field",39)(523,"mat-label"),l(524,"COG Line"),i(),n(525,"mat-select",64),f("ngModelChange",function(t){return m(g),u(e.facade.settings.vessels.aisCogLine,t)||(e.facade.settings.vessels.aisCogLine=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(526,Ei,2,2,"mat-option",41,v),i()()()()()()()()()(),n(528,"mat-tab",105)(529,"div",32)(530,"div",33)(531,"div",106)(532,"div",35),l(533,"NOTES"),i(),n(534,"mat-card",36)(535,"mat-card-content")(536,"div",46)(537,"div",38)(538,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.ui.showNotes,t)||(e.facade.settings.ui.showNotes=t),c(t)}),p("change",function(){return e.persistModel()}),l(539," Display Notes on Map "),i()(),n(540,"div",38)(541,"mat-form-field",39)(542,"mat-label"),l(543,"Notes Zoom Level"),i(),n(544,"mat-select",107),f("valueChange",function(t){return m(g),u(e.facade.settings.resources.notes.minZoom,t)||(e.facade.settings.resources.notes.minZoom=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(545,Wi,2,2,"mat-option",41,D),i()()()(),n(547,"div",46)(548,"div",38)(549,"mat-form-field",39)(550,"mat-label"),l(551),i(),n(552,"mat-select",59),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.getRadius,t)||(e.facade.settings.resources.notes.getRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel("fetchNotes")}),y(553,Vi,2,2,"mat-option",41,D),i()()()(),n(555,"div",46)(556,"div",38)(557,"mat-form-field",52)(558,"mat-label"),l(559,"Notes fetch filter:"),i(),n(560,"input",108,16),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.rootFilter,t)||(e.facade.settings.resources.notes.rootFilter=t),c(t)}),p("change",function(){return e.persistModel("fetchNotes")}),i(),b(562,ki,3,0,"button",109),i()()(),n(563,"div",46)(564,"div",38)(565,"mat-checkbox",110),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.groupNameEdit,t)||(e.facade.settings.resources.notes.groupNameEdit=t),c(t)}),p("change",function(){return e.persistModel()}),l(566," Edit Group Names "),i()(),n(567,"div",38)(568,"mat-checkbox",111),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.notes.groupRequiresPosition,t)||(e.facade.settings.resources.notes.groupRequiresPosition=t),c(t)}),p("change",function(){return e.persistModel()}),l(569," Position Group Note "),i()()(),n(570,"div",46)(571,"div",38)(572,"mat-checkbox",112),f("ngModelChange",function(t){return m(g),u(e.facade.settings.display.singleClickNoteDetails,t)||(e.facade.settings.display.singleClickNoteDetails=t),c(t)}),p("change",function(){return e.persistModel()}),l(573," Single Click for Note Details "),i()()()()()(),n(574,"div",113)(575,"div",35),l(576,"CUSTOM RESOURCES"),i(),n(577,"mat-card",36)(578,"mat-card-content")(579,"div",46)(580,"div",38)(581,"div",114),l(582," Select custom resource types (./resources/<name>) "),i(),n(583,"mat-selection-list",115,17),p("selectionChange",function(){m(g);let t=w(584);return c(e.onResPathSelected(t))}),y(585,Pi,2,3,"mat-list-option",116,D),i()()()()()()()()(),b(587,xi,21,2,"mat-tab",117),n(588,"mat-tab",118)(589,"div",32)(590,"div",33)(591,"div",119)(592,"div",35),l(593,"SIGNAL K: CONNECTION"),i(),n(594,"mat-card",36)(595,"mat-card-content")(596,"div",46)(597,"fieldset")(598,"legend"),l(599,"Filter Stream data:"),i(),n(600,"span",120),l(601," Check to include Signal K schema groups on display."),E(602,"br"),n(603,"i"),l(604,"Use to manage display performance."),i()(),n(605,"div",38)(606,"mat-checkbox",121),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.vessels,t)||(e.facade.settings.signalk.vessels=t),c(t)}),p("change",function(){return e.persistModel()}),l(607," Vessels (other than Self) "),i()(),n(608,"div",38)(609,"mat-checkbox",122),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.atons,t)||(e.facade.settings.signalk.atons=t),c(t)}),p("change",function(){return e.persistModel()}),l(610," Aids to Navigation (AtoN) "),i()(),n(611,"div",38)(612,"mat-checkbox",123),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.aircraft,t)||(e.facade.settings.signalk.aircraft=t),c(t)}),p("change",function(){return e.persistModel()}),l(613," Aircraft "),i()(),n(614,"div",38)(615,"mat-checkbox",124),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.sar,t)||(e.facade.settings.signalk.sar=t),c(t)}),p("change",function(){return e.persistModel()}),l(616," Search and Rescue (SaR) "),i()(),n(617,"div",38)(618,"mat-checkbox",125),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.meteo,t)||(e.facade.settings.signalk.meteo=t),c(t)}),p("change",function(){return e.persistModel()}),l(619," Weather (Meteo) "),i()(),n(620,"div",38),E(621,"br"),n(622,"mat-form-field",39)(623,"mat-label"),l(624,"Max. distance from vessel"),i(),n(625,"mat-select",126,18),f("ngModelChange",function(t){return m(g),u(e.facade.settings.signalk.maxRadius,t)||(e.facade.settings.signalk.maxRadius=t),c(t)}),p("selectionChange",function(){return e.persistModel()}),y(627,Oi,2,2,"mat-option",41,v),i()()()()(),n(629,"div",46)(630,"div",38)(631,"button",127),p("click",function(){return e.clearAuthToken()}),n(632,"mat-icon"),l(633,"key_off"),i()()()()()()()()()(),n(634,"mat-tab",128)(635,"div",32)(636,"div",33)(637,"div",129)(638,"div",35),l(639,"EXPERIMENTS"),i(),n(640,"mat-card",36)(641,"mat-card-content")(642,"div",46)(643,"div",38)(644,"mat-checkbox",48),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.video.enable,t)||(e.facade.settings.resources.video.enable=t),c(t)}),p("change",function(){return e.persistModel()}),l(645," Enable Video "),i()(),n(646,"div",38)(647,"mat-form-field",52)(648,"mat-label"),l(649,"url:"),i(),n(650,"input",130,19),f("ngModelChange",function(t){return m(g),u(e.facade.settings.resources.video.url,t)||(e.facade.settings.resources.video.url=t),c(t)}),p("change",function(){return e.persistModel("videoUrl")}),i(),b(652,Ii,2,0,"mat-error"),i()()(),n(653,"div",46)(654,"div",38)(655,"mat-checkbox",131,20),f("ngModelChange",function(t){return m(g),u(e.facade.settings.experiments,t)||(e.facade.settings.experiments=t),c(t)}),p("change",function(){return e.persistModel()}),n(657,"mat-icon"),l(658,"science"),i(),l(659," Experimental Features "),i()()()()()()()()()()()}if(a&2){let g=w(83),r=w(90),t=w(126),ae=w(250),oe=w(259),re=w(268),se=w(293),me=w(300),ce=w(340),le=w(348),de=w(354),ge=w(427),ut=w(561),ft=w(651);o(25),_("ngModel",e.facade.settings.display.darkMode.source),o(),S(e.options.darkMode),o(3),_("ngModel",e.facade.settings.display.nightMode),o(6),_("ngModel",e.facade.settings.display.fab),o(),S(e.options.buttons.fab),o(3),h("disabled",!e.wakeLock.isAvailable),_("ngModel",e.facade.settings.display.disableWakelock),o(3),_("ngModel",e.facade.settings.display.preferInfoPanel),o(5),T(e.facade.applicationList.length>1?47:-1),o(),T(e.show.favourites()?48:-1),o(9),_("ngModel",e.facade.settings.display.muteSound),o(3),_("ngModel",e.facade.settings.display.depthAlarm.enabled),o(6),_("ngModel",e.facade.settings.display.depthAlarm.smoothing),h("disabled",!e.facade.settings.display.depthAlarm.enabled),o(),S(e.options.alarm.smoothing),o(9),_("ngModel",e.facade.settings.display.statusBar.liveEta),o(5),k("Reference Boat Speed (",e.speedUnitSymbol,")"),o(),h("disabled",!e.facade.settings.display.statusBar.liveEta),_("ngModel",e.facade.settings.display.statusBar.referenceSpeed),o(2),T(g.invalid&&(g.dirty||g.touched)?84:-1),o(5),h("disabled",!e.facade.settings.display.statusBar.liveEta),_("ngModel",e.facade.settings.display.statusBar.tapFadeSpeed),o(2),T(r.invalid&&(r.dirty||r.touched)?91:-1),o(11),_("ngModel",e.facade.settings.display.windIndicator),o(),S(e.options.windIndicator),o(14),h("disabled",!e.app.serverConfig.unitPreferences()),_("ngModel",e.facade.settings.units.useServerPrefs),o(8),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.distance),o(2),S(e.options.availableUnits.distance),o(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.depth),o(),S(e.options.availableUnits.depth),o(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.length),o(),S(e.options.availableUnits.length),o(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.temperature),o(),S(e.options.availableUnits.temperature),o(6),h("disabled",e.facade.settings.units.useServerPrefs),_("ngModel",e.facade.settings.units.speed),o(),S(e.options.availableUnits.speed),o(3),T(e.options.preferredValues.coords.length!==0?158:-1),o(),T(e.options.preferredValues.heading.length!==0?159:-1),o(18),_("ngModel",e.facade.settings.map.labelsMinZoom),o(),S(e.options.zoomLevels),o(9),h("min",-e.centerOffsetLimit)("max",e.centerOffsetLimit),_("ngModel",e.facade.settings.map.centerOffset.y),o(5),h("min",-e.centerOffsetLimit)("max",e.centerOffsetLimit),_("ngModel",e.facade.settings.map.centerOffset.x),o(3),_("ngModel",e.facade.settings.map.popoverMulti),o(3),_("ngModel",e.facade.settings.map.doubleClickZoom),o(3),_("ngModel",e.facade.settings.map.overZoomTiles),o(6),_("ngModel",e.facade.settings.map.panBehavior),o(),S(e.options.map.panBehavior),o(2),T(e.facade.settings.map.panBehavior==="exit"?210:-1),o(10),_("ngModel",e.facade.settings.map.s57Options.graphicsStyle),o(),S(e.options.map.s57.graphicsStyle),o(6),_("ngModel",e.facade.settings.map.s57Options.boundaries),o(),S(e.options.map.s57.boundaries),o(6),_("ngModel",e.facade.settings.map.s57Options.colorTable),o(),S(e.options.map.s57.colorTables),o(6),_("ngModel",e.facade.settings.map.s57Options.colors),o(),S(e.options.map.s57.colors),o(7),_("ngModel",e.facade.settings.map.s57Options.shallowDepth),o(2),T(ae.invalid&&(ae.dirty||ae.touched)?251:-1),o(7),_("ngModel",e.facade.settings.map.s57Options.safetyDepth),o(2),T(oe.invalid&&(oe.dirty||oe.touched)?260:-1),o(7),_("ngModel",e.facade.settings.map.s57Options.deepDepth),o(2),T(re.invalid&&(re.dirty||re.touched)?269:-1),o(7),_("ngModel",e.facade.settings.map.s57Options.otherLayers),o(),S(e.options.map.s57.otherLayers),o(15),_("ngModel",e.facade.settings.course.arrivalCircle),o(2),T(se.invalid&&(se.dirty||se.touched)?294:-1),o(5),_("ngModel",e.facade.settings.course.autoNextPointOnArrival),o(8),h("disabled",me.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointTrigger),o(2),S(e.options.course.nextPointTrigger),o(6),h("disabled",me.checked===!1),_("ngModel",e.facade.settings.course.autoNextPointDelay),o(),S(e.options.course.nextPointDelay),o(17),_("ngModel",e.facade.settings.vessels.iconScale),o(),S(e.options.vessel.selfIconScale),o(5),_("ngModel",e.facade.settings.vessels.fixedLocationMode),o(8),_("ngModel",e.facade.fixedPosition[1]),h("disabled",!ce.checked),o(2),T(le.invalid&&(le.dirty||le.touched)?349:-1),o(4),_("ngModel",e.facade.fixedPosition[0]),h("disabled",!ce.checked),o(2),T(de.invalid&&(de.dirty||de.touched)?355:-1),o(9),_("ngModel",e.facade.settings.vessels.windVectors),o(2),_("ngModel",e.facade.settings.vessels.laylines),o(12),_("ngModel",e.facade.settings.vessels.selfLines.heading.length),o(),S(e.options.vessel.headingLine),o(3),h("color",e.facade.settings.vessels.selfLines.heading.color)("dash",e.facade.settings.vessels.selfLines.heading.dash)("weight",e.facade.settings.vessels.selfLines.heading.weight),o(11),_("ngModel",e.facade.settings.vessels.selfLines.cog.length),o(),S(e.options.vessel.cogLine),o(3),h("color",e.facade.settings.vessels.selfLines.cog.color)("dash",e.facade.settings.vessels.selfLines.cog.dash)("weight",e.facade.settings.vessels.selfLines.cog.weight),o(4),_("ngModel",e.facade.settings.vessels.rangeCircles),o(7),_("ngModel",e.facade.settings.vessels.rangeCircleCount),h("disabled",!e.facade.settings.vessels.rangeCircles),o(),S(e.options.rangeCircles.count),o(6),_("ngModel",e.facade.settings.vessels.rangeCircleMinZoom),h("disabled",!e.facade.settings.vessels.rangeCircles),o(),S(e.options.rangeCircles.zoomLevels),o(4),_("ngModel",e.facade.settings.vessels.rangeCirclesFixed),h("disabled",!e.facade.settings.vessels.rangeCircles),o(5),k(" Distance between circles (",e.renderSymbol(e.facade.settings.units.distance),") "),o(),_("ngModel",e.formattedNumberModel.rangeCirclesDistance),h("disabled",!e.facade.settings.vessels.rangeCircles||!e.facade.settings.vessels.rangeCirclesFixed),o(2),T(ge.invalid&&(ge.dirty||ge.touched)?428:-1),o(7),_("ngModel",e.facade.settings.vessels.trail),o(7),h("disabled",!e.facade.settings.vessels.trail),_("ngModel",e.facade.settings.vessels.trailSource),o(3),h("disabled",!e.serverTrailAvailable),o(4),T(e.serverTrailAvailable?e.facade.settings.vessels.trailSource==="auto"?450:-1:449),o(3),h("disabled",!e.app.serverTrailWanted()||!e.facade.settings.vessels.trail),o(),_("ngModel",e.facade.settings.vessels.trailDuration),o(),k(" Length (",e.facade.settings.vessels.trailDuration," hrs) "),o(6),_("ngModel",e.facade.settings.vessels.trailResolution.lastHour),h("disabled",!e.app.serverTrailWanted()||!e.facade.settings.vessels.trail),o(),S(e.options.trailIntervals.highResolution),o(6),_("ngModel",e.facade.settings.vessels.trailResolution.next23),h("disabled",!e.app.serverTrailWanted()||!e.facade.settings.vessels.trail),o(),S(e.options.trailIntervals.highResolution),o(6),_("ngModel",e.facade.settings.vessels.trailResolution.beyond24),h("disabled",!e.app.serverTrailWanted()||!e.facade.settings.vessels.trail),o(),S(e.options.trailIntervals.mediumResolution),o(8),_("ngModel",e.facade.settings.vessels.aisShowTrack),o(3),_("ngModel",e.aisStateFilter.moored),o(3),_("ngModel",e.aisStateFilter.anchored),o(2),T(e.facade.settings.vessels.aisShowTrack?-1:491),o(6),_("ngModel",e.facade.settings.vessels.aisStaleAge),o(),S(e.options.vessel.aisTimeouts),o(6),_("ngModel",e.facade.settings.vessels.aisMaxAge),o(),S(e.options.vessel.aisTimeouts),o(6),_("ngModel",e.facade.settings.vessels.aisWindApparent),o(),S(e.options.preferredValues.wind),o(6),_("ngModel",e.facade.settings.vessels.aisWindMinZoom),o(),S(e.options.zoomLevels),o(6),_("ngModel",e.facade.settings.vessels.aisCogLine),o(),S(e.options.vessel.aisCogLine),o(12),_("ngModel",e.facade.settings.ui.showNotes),o(6),h("disabled",!e.facade.settings.ui.showNotes),_("value",e.facade.settings.resources.notes.minZoom),o(),S(e.options.zoomLevels),o(6),C("Fetch Notes radius: ("+e.options.availableUnits.distance.get(t.value)+")"),o(),h("disabled",!e.facade.settings.ui.showNotes),_("ngModel",e.facade.settings.resources.notes.getRadius),o(),S(e.options.resources.noteRadius),o(7),_("ngModel",e.facade.settings.resources.notes.rootFilter),o(2),T(ut.value?562:-1),o(3),_("ngModel",e.facade.settings.resources.notes.groupNameEdit),o(3),_("ngModel",e.facade.settings.resources.notes.groupRequiresPosition),o(4),_("ngModel",e.facade.settings.display.singleClickNoteDetails),o(13),S(e.facade.resourcePathList),o(2),T(e.app.featureFlags().radarApi?587:-1),o(19),_("ngModel",e.facade.settings.signalk.vessels),o(3),_("ngModel",e.facade.settings.signalk.atons),o(3),_("ngModel",e.facade.settings.signalk.aircraft),o(3),_("ngModel",e.facade.settings.signalk.sar),o(3),_("ngModel",e.facade.settings.signalk.meteo),o(7),_("ngModel",e.facade.settings.signalk.maxRadius),o(2),S(e.options.vessel.aisMaxRadius),o(17),_("ngModel",e.facade.settings.resources.video.enable),o(6),h("disabled",!e.facade.settings.resources.video.enable),_("ngModel",e.facade.settings.resources.video.url),o(2),T(ft.invalid?652:-1),o(3),_("ngModel",e.facade.settings.experiments)}},dependencies:[Z,U,Ve,G,Le,xe,Pe,ke,H,Me,Ce,Fe,Ae,ee,rt,$,Be,Oe,Ie,ze,Ke,Ze,He,R,be,ve,N,we,Q,je,dt,st,lt,nt,J,z,K,Re,Ne,Ue,Y,X,Ge,j,q,ot,Ye,Xe,it,et,tt,ne,te],styles:["[_nghost-%COMP%] .mat-dialog-content{padding:0 4px}[_nghost-%COMP%] .mat-mdc-dialog-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}[_nghost-%COMP%] .mat-mdc-dialog-content .mat-mdc-tab-group, [_nghost-%COMP%] .mat-mdc-dialog-content .mat-mdc-tab-body-wrapper{flex:1 1 auto;min-height:0}.settings[_ngcontent-%COMP%] .setting-group-title[_ngcontent-%COMP%]{font-weight:700;font-size:10pt;font-family:Arial,Helvetica,sans-serif;padding:10px 0}.setting-card-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.settings[_ngcontent-%COMP%] .setting-card-row-item[_ngcontent-%COMP%]{padding-right:15px;flex:1 1 auto}.settings[_ngcontent-%COMP%] .setting-card-row-item.setting-card-row-stack[_ngcontent-%COMP%]{flex-basis:220px}.settings[_ngcontent-%COMP%] .setting-field-group-title[_ngcontent-%COMP%]{font-size:10pt;font-family:Arial,Helvetica,sans-serif;opacity:.7;line-height:1.4;min-height:1.4em;padding-bottom:2px}.settings[_ngcontent-%COMP%] .setting-field-group[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:10px}.settings[_ngcontent-%COMP%] .setting-field-group[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{flex:0 1 150px;min-width:80px}@media only screen and (max-width:599px){.settings[_ngcontent-%COMP%] .setting-group[_ngcontent-%COMP%]{padding:5px 5%}}@media only screen and (min-width:600px)and (max-width:959px),screen and (min-width:960px)and (max-width:1279px),screen and (min-width:1280px)and (max-width:1919px),screen and (min-width:1920px)and (max-width:5000px){.settings[_ngcontent-%COMP%] .setting-group[_ngcontent-%COMP%]{padding:5px 5%}}"]})};export{_t as SettingsDialog};