19 lines
108 KiB
JavaScript
19 lines
108 KiB
JavaScript
var yo=Object.defineProperty;var ko=(t,e,l)=>e in t?yo(t,e,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[e]=l;var es=(t,e,l)=>ko(t,typeof e!="symbol"?e+"":e,l);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const r of a.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&o(r)}).observe(document,{childList:!0,subtree:!0});function l(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function o(i){if(i.ep)return;i.ep=!0;const a=l(i);fetch(i.href,a)}})();function me(){}function ao(t){return t()}function $s(){return Object.create(null)}function Xe(t){t.forEach(ao)}function co(t){return typeof t=="function"}function St(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function So(t){return Object.keys(t).length===0}function ro(t,...e){if(t==null){for(const o of e)o(void 0);return me}const l=t.subscribe(...e);return l.unsubscribe?()=>l.unsubscribe():l}function ts(t){let e;return ro(t,l=>e=l)(),e}function ve(t,e,l){t.$$.on_destroy.push(ro(e,l))}const wo=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function s(t,e){t.appendChild(e)}function T(t,e,l){t.insertBefore(e,l||null)}function L(t){t.parentNode&&t.parentNode.removeChild(t)}function $e(t,e){for(let l=0;l<t.length;l+=1)t[l]&&t[l].d(e)}function c(t){return document.createElement(t)}function Te(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function k(t){return document.createTextNode(t)}function g(){return k(" ")}function rt(){return k("")}function le(t,e,l,o){return t.addEventListener(e,l,o),()=>t.removeEventListener(e,l,o)}function n(t,e,l){l==null?t.removeAttribute(e):t.getAttribute(e)!==l&&t.setAttribute(e,l)}function at(t){return t===""?null:+t}function Ao(t){return Array.from(t.childNodes)}function U(t,e){e=""+e,t.data!==e&&(t.data=e)}function we(t,e){t.value=e??""}function it(t,e,l,o){l==null?t.style.removeProperty(e):t.style.setProperty(e,l,"")}function ht(t,e,l){for(let o=0;o<t.options.length;o+=1){const i=t.options[o];if(i.__value===e){i.selected=!0;return}}(!l||e!==void 0)&&(t.selectedIndex=-1)}function Ol(t){const e=t.querySelector(":checked");return e&&e.__value}function xs(t,e,l){t.classList.toggle(e,!!l)}let il;function sl(t){il=t}function uo(){if(!il)throw new Error("Function called outside component initialization");return il}function cl(t){uo().$$.on_mount.push(t)}function Kl(t){uo().$$.on_destroy.push(t)}const Yt=[],Il=[];let Qt=[];const en=[],zo=Promise.resolve();let us=!1;function Eo(){us||(us=!0,zo.then(fo))}function Ct(t){Qt.push(t)}const ls=new Set;let Xt=0;function fo(){if(Xt!==0)return;const t=il;do{try{for(;Xt<Yt.length;){const e=Yt[Xt];Xt++,sl(e),Co(e.$$)}}catch(e){throw Yt.length=0,Xt=0,e}for(sl(null),Yt.length=0,Xt=0;Il.length;)Il.pop()();for(let e=0;e<Qt.length;e+=1){const l=Qt[e];ls.has(l)||(ls.add(l),l())}Qt.length=0}while(Yt.length);for(;en.length;)en.pop()();us=!1,ls.clear(),sl(t)}function Co(t){if(t.fragment!==null){t.update(),Xe(t.before_update);const e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(Ct)}}function Fo(t){const e=[],l=[];Qt.forEach(o=>t.indexOf(o)===-1?e.push(o):l.push(o)),l.forEach(o=>o()),Qt=e}const ql=new Set;let Ft;function ss(){Ft={r:0,c:[],p:Ft}}function ns(){Ft.r||Xe(Ft.c),Ft=Ft.p}function Ne(t,e){t&&t.i&&(ql.delete(t),t.i(e))}function Ye(t,e,l,o){if(t&&t.o){if(ql.has(t))return;ql.add(t),Ft.c.push(()=>{ql.delete(t),o&&(l&&t.d(1),o())}),t.o(e)}else o&&o()}function Ee(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function Mo(t,e){t.d(1),e.delete(t.key)}function Ho(t,e,l,o,i,a,r,f,u,d,v,m){let y=t.length,_=a.length,h=y;const S={};for(;h--;)S[t[h].key]=h;const F=[],A=new Map,H=new Map,z=[];for(h=_;h--;){const O=m(i,a,h),p=l(O);let C=r.get(p);C?z.push(()=>C.p(O,e)):(C=d(p,O),C.c()),A.set(p,F[h]=C),p in S&&H.set(p,Math.abs(h-S[p]))}const b=new Set,q=new Set;function M(O){Ne(O,1),O.m(f,v),r.set(O.key,O),v=O.first,_--}for(;y&&_;){const O=F[_-1],p=t[y-1],C=O.key,w=p.key;O===p?(v=O.first,y--,_--):A.has(w)?!r.has(C)||b.has(C)?M(O):q.has(w)?y--:H.get(C)>H.get(w)?(q.add(C),M(O)):(b.add(w),y--):(u(p,r),y--)}for(;y--;){const O=t[y];A.has(O.key)||u(O,r)}for(;_;)M(F[_-1]);return Xe(z),F}function Ht(t){t&&t.c()}function bt(t,e,l){const{fragment:o,after_update:i}=t.$$;o&&o.m(e,l),Ct(()=>{const a=t.$$.on_mount.map(ao).filter(co);t.$$.on_destroy?t.$$.on_destroy.push(...a):Xe(a),t.$$.on_mount=[]}),i.forEach(Ct)}function yt(t,e){const l=t.$$;l.fragment!==null&&(Fo(l.after_update),Xe(l.on_destroy),l.fragment&&l.fragment.d(e),l.on_destroy=l.fragment=null,l.ctx=[])}function Lo(t,e){t.$$.dirty[0]===-1&&(Yt.push(t),Eo(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<<e%31}function Rt(t,e,l,o,i,a,r=null,f=[-1]){const u=il;sl(t);const d=t.$$={fragment:null,ctx:[],props:a,update:me,not_equal:i,bound:$s(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(u?u.$$.context:[])),callbacks:$s(),dirty:f,skip_bound:!1,root:e.target||u.$$.root};r&&r(d.root);let v=!1;if(d.ctx=l?l(t,e.props||{},(m,y,..._)=>{const h=_.length?_[0]:y;return d.ctx&&i(d.ctx[m],d.ctx[m]=h)&&(!d.skip_bound&&d.bound[m]&&d.bound[m](h),v&&Lo(t,m)),y}):[],d.update(),v=!0,Xe(d.before_update),d.fragment=o?o(d.ctx):!1,e.target){if(e.hydrate){const m=Ao(e.target);d.fragment&&d.fragment.l(m),m.forEach(L)}else d.fragment&&d.fragment.c();e.intro&&Ne(t.$$.fragment),bt(t,e.target,e.anchor),fo()}sl(u)}class jt{constructor(){es(this,"$$");es(this,"$$set")}$destroy(){yt(this,1),this.$destroy=me}$on(e,l){if(!co(l))return me;const o=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return o.push(l),()=>{const i=o.indexOf(l);i!==-1&&o.splice(i,1)}}$set(e){this.$$set&&!So(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const To="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(To);const Kt=[];function je(t,e=me){let l;const o=new Set;function i(f){if(St(t,f)&&(t=f,l)){const u=!Kt.length;for(const d of o)d[1](),Kt.push(d,t);if(u){for(let d=0;d<Kt.length;d+=2)Kt[d][0](Kt[d+1]);Kt.length=0}}}function a(f){i(f(t))}function r(f,u=me){const d=[f,u];return o.add(d),o.size===1&&(l=e(i,a)||me),f(t),()=>{o.delete(d),o.size===0&&l&&(l(),l=null)}}return{set:i,update:a,subscribe:r}}const Bl=je([]),fs=je([]),et=je(""),Lt=je([]),Tt=je(null);let po=[],ds="";Bl.subscribe(t=>{if(po=t,!ds){Tt.set(null);return}const e=t.find(l=>l.name===ds)||null;Tt.set(e)});et.subscribe(t=>{if(ds=t,!t){Tt.set(null);return}const e=po.find(l=>l.name===t)||null;Tt.set(e)});const nl=je(!1),ps=je(!0),os=je("single"),tn=je(0),Pl=je([]),vs=je(!0),al=je(!0),Nl=je(!1),is=je(!1),ol=je(!1),ll={qthLat:48.7,qthLon:2.55,qthAlt:100,flexHost:"192.168.1.100",flexPort:4992,rotorHost:"127.0.0.1",rotorPort:12e3,rotorAzOnly:!0,downlinkHz:1458e5,uplinkHz:1452e5,minElFilter:5,autoConnectFlex:!1,autoConnectRotor:!1,rxSlice:0,txSlice:1},as=3;function Ro(){try{const t=localStorage.getItem("satmaster_settings");if(t){const e=JSON.parse(t);return e._version!==as?{...ll,...e,rxSlice:ll.rxSlice,txSlice:ll.txSlice,_version:as}:{...ll,...e}}}catch{}return{...ll,_version:as}}function jo(){const t=je(Ro());return t.subscribe(e=>{try{localStorage.setItem("satmaster_settings",JSON.stringify(e))}catch{}}),t}const Qe=jo();function Oo(){let e=["ISS (ZARYA)","AO-7","AO-27","SO-50","RS-44","AO-91","FO-29"];try{const o=localStorage.getItem("satmaster_watchlist");o&&(e=JSON.parse(o))}catch{}const l=je(e);return l.subscribe(o=>{try{localStorage.setItem("satmaster_watchlist",JSON.stringify(o))}catch{}}),l}const Jt=Oo(),_s=je(null),No=je(!1);function kt(t){return t?t>=1e9?(t/1e9).toFixed(6)+" GHz":t>=1e6?(t/1e6).toFixed(4)+" MHz":t>=1e3?(t/1e3).toFixed(2)+" kHz":t.toFixed(0)+" Hz":"—"}function Ul(t){if(t==null)return"—";const e=t>=0?"+":"";return Math.abs(t)>=1e3?`${e}${(t/1e3).toFixed(2)} kHz`:`${e}${t.toFixed(0)} Hz`}function Ze(t){if(t==null)return"—";const e=["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"],l=Math.round(t/22.5)%16;return`${t.toFixed(1)}° ${e[l]}`}function Wl(t){return t==null?"—":`${t.toFixed(1)}°`}function mt(t){return t?`${Math.round(t).toLocaleString("en-US")} km`:"—"}function gt(t){return t?(typeof t=="string"?new Date(t):t).toUTCString().slice(17,25):"—"}function Vl(t){if(!t)return"—";const e=Math.floor(t/3600),l=Math.floor(t%3600/60),o=Math.floor(t%60);return e>0?`${e}:${String(l).padStart(2,"0")}:${String(o).padStart(2,"0")}`:`${String(l).padStart(2,"0")}:${String(o).padStart(2,"0")}`}function ln(t,e){return t*(-e/299792.458)}function vo(t){return t>=60?{label:"Excellent",cls:"q-excellent"}:t>=30?{label:"Good",cls:"q-good"}:t>=10?{label:"Fair",cls:"q-fair"}:{label:"Poor",cls:"q-poor"}}function qo(t){let e;return{c(){e=c("span"),e.textContent="No satellite selected",n(e,"class","no-sat svelte-egm28t")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Po(t){var N;let e,l,o,i,a,r,f,u,d=t[2]?t[2].az.toFixed(1)+"°":"—",v,m,y,_,h,S=t[2]?t[2].el.toFixed(1)+"°":"—",F,A,H,z,b,q,M,O,p=(t[2]?mt(t[2].range):"—")+"",C,w,R,V,X,E=t[2]?t[2].alt.toFixed(0)+" km":"—",j,B,se,W,Z,G=((N=t[2])==null?void 0:N.rangeRate)<0?"▼":"▲",ae,fe,ne,$=t[2]?Math.abs(Math.round(t[2].rangeRate*3600)).toLocaleString("en-US")+" km/h":"—",x,Y;return{c(){var I,Q;e=c("span"),l=k(t[7]),o=g(),i=c("span"),i.textContent="|",a=g(),r=c("span"),f=k("AZ "),u=c("b"),v=k(d),m=g(),y=c("span"),_=k("EL "),h=c("b"),F=k(S),H=g(),z=c("span"),z.textContent="|",b=g(),q=c("span"),M=k("Distance "),O=c("b"),C=k(p),w=g(),R=c("span"),V=k("Alt "),X=c("b"),j=k(E),B=g(),se=c("span"),se.textContent="|",W=g(),Z=c("span"),ae=k(G),fe=g(),ne=c("b"),x=k($),n(e,"class","sat-name svelte-egm28t"),n(i,"class","sat-sep svelte-egm28t"),n(u,"class","svelte-egm28t"),n(r,"class","sat-data svelte-egm28t"),n(h,"class","svelte-egm28t"),n(y,"class",A="sat-data "+(((I=t[2])==null?void 0:I.el)>=0?"el-up":"")+" svelte-egm28t"),n(z,"class","sat-sep svelte-egm28t"),n(O,"class","svelte-egm28t"),n(q,"class","sat-data svelte-egm28t"),n(X,"class","svelte-egm28t"),n(R,"class","sat-data svelte-egm28t"),n(se,"class","sat-sep svelte-egm28t"),n(ne,"class","svelte-egm28t"),n(Z,"class",Y="sat-data "+(((Q=t[2])==null?void 0:Q.rangeRate)<0?"approaching":"receding")+" svelte-egm28t")},m(I,Q){T(I,e,Q),s(e,l),T(I,o,Q),T(I,i,Q),T(I,a,Q),T(I,r,Q),s(r,f),s(r,u),s(u,v),T(I,m,Q),T(I,y,Q),s(y,_),s(y,h),s(h,F),T(I,H,Q),T(I,z,Q),T(I,b,Q),T(I,q,Q),s(q,M),s(q,O),s(O,C),T(I,w,Q),T(I,R,Q),s(R,V),s(R,X),s(X,j),T(I,B,Q),T(I,se,Q),T(I,W,Q),T(I,Z,Q),s(Z,ae),s(Z,fe),s(Z,ne),s(ne,x)},p(I,Q){var K,ee,te;Q&128&&U(l,I[7]),Q&4&&d!==(d=I[2]?I[2].az.toFixed(1)+"°":"—")&&U(v,d),Q&4&&S!==(S=I[2]?I[2].el.toFixed(1)+"°":"—")&&U(F,S),Q&4&&A!==(A="sat-data "+(((K=I[2])==null?void 0:K.el)>=0?"el-up":"")+" svelte-egm28t")&&n(y,"class",A),Q&4&&p!==(p=(I[2]?mt(I[2].range):"—")+"")&&U(C,p),Q&4&&E!==(E=I[2]?I[2].alt.toFixed(0)+" km":"—")&&U(j,E),Q&4&&G!==(G=((ee=I[2])==null?void 0:ee.rangeRate)<0?"▼":"▲")&&U(ae,G),Q&4&&$!==($=I[2]?Math.abs(Math.round(I[2].rangeRate*3600)).toLocaleString("en-US")+" km/h":"—")&&U(x,$),Q&4&&Y!==(Y="sat-data "+(((te=I[2])==null?void 0:te.rangeRate)<0?"approaching":"receding")+" svelte-egm28t")&&n(Z,"class",Y)},d(I){I&&(L(e),L(o),L(i),L(a),L(r),L(m),L(y),L(H),L(z),L(b),L(q),L(w),L(R),L(B),L(se),L(W),L(Z))}}}function sn(t){let e,l,o,i,a=kt(t[6])+"",r,f,u,d=Ul(t[1])+"",v,m,y,_=t[3].uplinkHz>0&&nn(t);return{c(){e=c("div"),l=c("span"),l.textContent="↓ RX",o=g(),i=c("span"),r=k(a),f=g(),u=c("span"),v=k(d),y=g(),_&&_.c(),n(l,"class","d-label svelte-egm28t"),n(i,"class","d-freq svelte-egm28t"),n(u,"class",m="d-shift "+(t[1]<0?"dpos":"dneg")+" svelte-egm28t"),n(e,"class","doppler-box svelte-egm28t")},m(h,S){T(h,e,S),s(e,l),s(e,o),s(e,i),s(i,r),s(e,f),s(e,u),s(u,v),s(e,y),_&&_.m(e,null)},p(h,S){S&64&&a!==(a=kt(h[6])+"")&&U(r,a),S&2&&d!==(d=Ul(h[1])+"")&&U(v,d),S&2&&m!==(m="d-shift "+(h[1]<0?"dpos":"dneg")+" svelte-egm28t")&&n(u,"class",m),h[3].uplinkHz>0?_?_.p(h,S):(_=nn(h),_.c(),_.m(e,null)):_&&(_.d(1),_=null)},d(h){h&&L(e),_&&_.d()}}}function nn(t){let e,l,o,i,a,r=kt(t[5])+"",f,u,d,v=Ul(t[0])+"",m,y;return{c(){e=c("span"),e.textContent="|",l=g(),o=c("span"),o.textContent="↑ TX",i=g(),a=c("span"),f=k(r),u=g(),d=c("span"),m=k(v),n(e,"class","d-sep svelte-egm28t"),n(o,"class","d-label svelte-egm28t"),n(a,"class","d-freq svelte-egm28t"),n(d,"class",y="d-shift "+(t[0]>0?"dpos":"dneg")+" svelte-egm28t")},m(_,h){T(_,e,h),T(_,l,h),T(_,o,h),T(_,i,h),T(_,a,h),s(a,f),T(_,u,h),T(_,d,h),s(d,m)},p(_,h){h&32&&r!==(r=kt(_[5])+"")&&U(f,r),h&1&&v!==(v=Ul(_[0])+"")&&U(m,v),h&1&&y!==(y="d-shift "+(_[0]>0?"dpos":"dneg")+" svelte-egm28t")&&n(d,"class",y)},d(_){_&&(L(e),L(l),L(o),L(i),L(a),L(u),L(d))}}}function on(t){let e,l,o,i=t[9]?"ON":"OFF",a,r,f,u,d;return{c(){e=c("button"),l=c("span"),o=k("⟳ DOPPLER "),a=k(i),n(e,"class",r="doppler-toggle "+(t[9]?"don":"doff")+" svelte-egm28t"),n(e,"title",f=t[9]?"Doppler ON — click to disable":"Doppler OFF — click to enable")},m(v,m){T(v,e,m),s(e,l),s(l,o),s(l,a),u||(d=le(e,"click",t[15]),u=!0)},p(v,m){m&512&&i!==(i=v[9]?"ON":"OFF")&&U(a,i),m&512&&r!==(r="doppler-toggle "+(v[9]?"don":"doff")+" svelte-egm28t")&&n(e,"class",r),m&512&&f!==(f=v[9]?"Doppler ON — click to disable":"Doppler OFF — click to enable")&&n(e,"title",f)},d(v){v&&L(e),u=!1,d()}}}function an(t){let e,l,o,i=t[11]?"ON":"OFF",a,r,f,u,d;return{c(){e=c("button"),l=c("span"),o=k("⤢ ROTATOR "),a=k(i),n(e,"class",r="doppler-toggle "+(t[11]?"don":"doff")+" svelte-egm28t"),n(e,"title",f=t[11]?"Rotator tracking ON — click to disable":"Rotator tracking OFF — click to enable")},m(v,m){T(v,e,m),s(e,l),s(l,o),s(l,a),u||(d=le(e,"click",t[16]),u=!0)},p(v,m){m&2048&&i!==(i=v[11]?"ON":"OFF")&&U(a,i),m&2048&&r!==(r="doppler-toggle "+(v[11]?"don":"doff")+" svelte-egm28t")&&n(e,"class",r),m&2048&&f!==(f=v[11]?"Rotator tracking ON — click to disable":"Rotator tracking OFF — click to enable")&&n(e,"title",f)},d(v){v&&L(e),u=!1,d()}}}function Do(t){let e,l,o,i,a,r,f,u,d,v,m,y,_,h,S,F,A=t[12]?"ON":"OFF",H,z,b,q,M,O,p,C,w,R,V,X,E,j,B,se,W,Z,G,ae=t[13]!==null?t[13]<1?"<1h":Math.floor(t[13])+"h":"…",fe,ne,$,x;function Y(te,D){return te[7]?Po:qo}let N=Y(t),I=N(t),Q=t[7]&&t[2]&&sn(t),K=t[8]&&on(t),ee=t[10]&&an(t);return{c(){e=c("header"),l=c("div"),o=c("span"),o.textContent="UTC",i=g(),a=c("span"),r=k(t[4]),f=g(),u=c("div"),I.c(),d=g(),v=c("div"),Q&&Q.c(),m=g(),K&&K.c(),y=g(),ee&&ee.c(),_=g(),h=c("button"),S=c("span"),F=k("🔊 SOUND "),H=k(A),q=g(),M=c("div"),O=c("div"),p=c("span"),C=g(),w=c("span"),w.textContent="FLEX",V=g(),X=c("div"),E=c("span"),j=g(),B=c("span"),B.textContent="ROTOR",W=g(),Z=c("div"),G=k("TLE "),fe=k(ae),n(o,"class","utc-label svelte-egm28t"),n(a,"class","utc-time svelte-egm28t"),n(l,"class","sb-left svelte-egm28t"),n(u,"class","sb-sat svelte-egm28t"),n(h,"class",z="doppler-toggle "+(t[12]?"don":"doff")+" svelte-egm28t"),n(h,"title",b=t[12]?"AOS voice alerts ON — click to disable":"AOS voice alerts OFF — click to enable"),n(p,"class","conn-dot svelte-egm28t"),n(O,"class",R="conn "+(t[8]?"on":"off")+" svelte-egm28t"),n(E,"class","conn-dot svelte-egm28t"),n(X,"class",se="conn "+(t[10]?"on":"off")+" svelte-egm28t"),n(M,"class","conn-group svelte-egm28t"),n(Z,"class",ne="tle-info "+(t[13]>48?"stale":"fresh")+" svelte-egm28t"),n(v,"class","sb-right svelte-egm28t"),n(e,"class","sb svelte-egm28t")},m(te,D){T(te,e,D),s(e,l),s(l,o),s(l,i),s(l,a),s(a,r),s(e,f),s(e,u),I.m(u,null),s(e,d),s(e,v),Q&&Q.m(v,null),s(v,m),K&&K.m(v,null),s(v,y),ee&&ee.m(v,null),s(v,_),s(v,h),s(h,S),s(S,F),s(S,H),s(v,q),s(v,M),s(M,O),s(O,p),s(O,C),s(O,w),s(M,V),s(M,X),s(X,E),s(X,j),s(X,B),s(v,W),s(v,Z),s(Z,G),s(Z,fe),$||(x=le(h,"click",t[17]),$=!0)},p(te,[D]){D&16&&U(r,te[4]),N===(N=Y(te))&&I?I.p(te,D):(I.d(1),I=N(te),I&&(I.c(),I.m(u,null))),te[7]&&te[2]?Q?Q.p(te,D):(Q=sn(te),Q.c(),Q.m(v,m)):Q&&(Q.d(1),Q=null),te[8]?K?K.p(te,D):(K=on(te),K.c(),K.m(v,y)):K&&(K.d(1),K=null),te[10]?ee?ee.p(te,D):(ee=an(te),ee.c(),ee.m(v,_)):ee&&(ee.d(1),ee=null),D&4096&&A!==(A=te[12]?"ON":"OFF")&&U(H,A),D&4096&&z!==(z="doppler-toggle "+(te[12]?"don":"doff")+" svelte-egm28t")&&n(h,"class",z),D&4096&&b!==(b=te[12]?"AOS voice alerts ON — click to disable":"AOS voice alerts OFF — click to enable")&&n(h,"title",b),D&256&&R!==(R="conn "+(te[8]?"on":"off")+" svelte-egm28t")&&n(O,"class",R),D&1024&&se!==(se="conn "+(te[10]?"on":"off")+" svelte-egm28t")&&n(X,"class",se),D&8192&&ae!==(ae=te[13]!==null?te[13]<1?"<1h":Math.floor(te[13])+"h":"…")&&U(fe,ae),D&8192&&ne!==(ne="tle-info "+(te[13]>48?"stale":"fresh")+" svelte-egm28t")&&n(Z,"class",ne)},i:me,o:me,d(te){te&&L(e),I.d(),Q&&Q.d(),K&&K.d(),ee&&ee.d(),$=!1,x()}}}function Io(t,e,l){let o,i,a,r,f,u,d,v,m,y,_,h,S,F;ve(t,Qe,M=>l(3,u=M)),ve(t,Tt,M=>l(14,d=M)),ve(t,et,M=>l(7,v=M)),ve(t,nl,M=>l(8,m=M)),ve(t,ps,M=>l(9,y=M)),ve(t,ol,M=>l(10,_=M)),ve(t,vs,M=>l(11,h=M)),ve(t,al,M=>l(12,S=M)),ve(t,_s,M=>l(13,F=M));let A="",H;cl(()=>{H=setInterval(()=>{l(4,A=new Date().toUTCString().slice(17,25))},500)}),Kl(()=>clearInterval(H));const z=()=>ps.update(M=>!M),b=()=>vs.update(M=>!M),q=()=>al.update(M=>!M);return t.$$.update=()=>{t.$$.dirty&16384&&l(2,o=d),t.$$.dirty&12&&l(1,i=o?ln(u.downlinkHz,o.rangeRate):0),t.$$.dirty&12&&l(0,a=o?ln(u.uplinkHz,-o.rangeRate):0),t.$$.dirty&10&&l(6,r=u.downlinkHz+i),t.$$.dirty&9&&l(5,f=u.uplinkHz+a)},[a,i,o,u,A,f,r,v,m,y,_,h,S,F,d,z,b,q]}class Bo extends jt{constructor(e){super(),Rt(this,e,Io,Do,St,{})}}const Uo="modulepreload",Wo=function(t){return"/"+t},cn={},Vo=function(e,l,o){let i=Promise.resolve();if(l&&l.length>0){document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),f=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));i=Promise.allSettled(l.map(u=>{if(u=Wo(u),u in cn)return;cn[u]=!0;const d=u.endsWith(".css"),v=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${u}"]${v}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":Uo,d||(m.as="script"),m.crossOrigin="",m.href=u,f&&m.setAttribute("nonce",f),document.head.appendChild(m),d)return new Promise((y,_)=>{m.addEventListener("load",y),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${u}`)))})}))}function a(r){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=r,window.dispatchEvent(f),!f.defaultPrevented)throw r}return i.then(r=>{for(const f of r||[])f.status==="rejected"&&a(f.reason);return e().catch(a)})},_o=typeof window<"u"&&window.go!==void 0;function ke(t,...e){if(!_o)return console.warn("[Wails stub]",t,e),Promise.resolve(null);const l=t.split(".");let o=window.go;for(const i of l)if(o=o[i],!o)return console.error("[Wails] method not found:",t),Promise.resolve(null);return o(...e)}const ge={GetSatelliteList:()=>ke("main.App.GetSatelliteList"),GetPasses:(t,e)=>ke("main.App.GetPasses",t,e),GetCurrentPosition:t=>ke("main.App.GetCurrentPosition",t),SetObserverLocation:(t,e,l)=>ke("main.App.SetObserverLocation",t,e,l),SetSatelliteFrequencies:(t,e)=>ke("main.App.SetSatelliteFrequencies",t,e),StartTracking:t=>ke("main.App.StartTracking",t),StopTracking:()=>ke("main.App.StopTracking"),ConnectFlexRadio:(t,e)=>ke("main.App.ConnectFlexRadio",t,e),DisconnectFlexRadio:()=>ke("main.App.DisconnectFlexRadio"),ConnectRotor:(t,e)=>ke("main.App.ConnectRotor",t,e),DisconnectRotor:()=>ke("main.App.DisconnectRotor"),RefreshTLE:()=>ke("main.App.RefreshTLE"),GetFlexRadioStatus:()=>ke("main.App.GetFlexRadioStatus"),GetRotorStatus:()=>ke("main.App.GetRotorStatus"),GetTLEAge:()=>ke("main.App.GetTLEAge"),GetWatchlist:()=>ke("main.App.GetWatchlist"),SetWatchlist:t=>ke("main.App.SetWatchlist",t),GetGroundtrack:(t,e)=>ke("main.App.GetGroundtrack",t,e),GetSliceConfig:()=>ke("main.App.GetSliceConfig"),SetDopplerEnabled:t=>ke("main.App.SetDopplerEnabled",t),SetRotorEnabled:t=>ke("main.App.SetRotorEnabled",t),SetRotorAzOnly:t=>ke("main.App.SetRotorAzOnly",t),GetRotorEnabled:()=>ke("main.App.GetRotorEnabled"),GetDopplerEnabled:()=>ke("main.App.GetDopplerEnabled"),SetSliceConfig:(t,e)=>ke("main.App.SetSliceConfig",t,e),SetSatelliteMode:t=>ke("main.App.SetSatelliteMode",t),SetTrackFreqMode:t=>ke("main.App.SetTrackFreqMode",t),SetTrackAzimuth:t=>ke("main.App.SetTrackAzimuth",t)};function rn(t,e){return _o&&window.runtime?(window.runtime.EventsOn(t,e),()=>window.runtime.EventsOff(t)):()=>{}}function un(t,e,l){const o=t.slice();return o[46]=e[l],o}function fn(t,e,l){const o=t.slice();return o[46]=e[l],o}function dn(t){var He,Oe,Pe;let e,l,o,i=t[4].name+"",a,r,f,u,d,v,m,y,_,h=((He=t[4].az)==null?void 0:He.toFixed(1))+"",S,F,A,H,z,b,q=((Oe=t[4].el)==null?void 0:Oe.toFixed(1))+"",M,O,p,C,w,R,V,X=mt(t[4].range)+"",E,j,B,se,W,Z=((Pe=t[4].alt)==null?void 0:Pe.toFixed(0))+"",G,ae,fe,ne,$,x,Y=t[4].rangeRate<0?"▼ Approach":"▲ Recede",N,I,Q=(t[4].rangeRate?Math.abs(Math.round(t[4].rangeRate*3600)).toLocaleString("en-US"):"—")+"",K,ee,te,D,ce,re,_e=mt(t[4].footprint*2)+"",J,ie,he,Ce,be=t[2]&&pn(t);return{c(){e=c("div"),l=c("div"),o=c("span"),a=k(i),r=c("span"),r.textContent="⠿",f=c("button"),f.textContent="×",u=g(),be&&be.c(),d=g(),v=c("div"),m=c("span"),m.textContent="Azimuth",y=g(),_=c("span"),S=k(h),F=k("°"),A=g(),H=c("span"),H.textContent="Elevation",z=g(),b=c("span"),M=k(q),O=k("°"),C=g(),w=c("span"),w.textContent="Range",R=g(),V=c("span"),E=k(X),j=g(),B=c("span"),B.textContent="Altitude",se=g(),W=c("span"),G=k(Z),ae=k(" km"),fe=g(),ne=c("span"),ne.textContent="Radial",$=g(),x=c("span"),N=k(Y),I=g(),K=k(Q),ee=k(" km/h"),D=g(),ce=c("span"),ce.textContent="Footprint (d)",re=c("span"),J=k(_e),n(o,"class","pname svelte-iiez3n"),n(r,"class","drag-hint svelte-iiez3n"),n(f,"class","px svelte-iiez3n"),n(l,"class","ph svelte-iiez3n"),n(m,"class","pk svelte-iiez3n"),n(_,"class","pv svelte-iiez3n"),n(H,"class","pk svelte-iiez3n"),n(b,"class",p="pv "+(t[4].el>=0?"up":"")+" svelte-iiez3n"),n(w,"class","pk svelte-iiez3n"),n(V,"class","pv svelte-iiez3n"),n(B,"class","pk svelte-iiez3n"),n(W,"class","pv svelte-iiez3n"),n(ne,"class","pk svelte-iiez3n"),n(x,"class",te="pv "+(t[4].rangeRate<0?"app":"rec")+" svelte-iiez3n"),n(ce,"class","pk svelte-iiez3n"),n(re,"class","pv svelte-iiez3n"),n(v,"class","pg svelte-iiez3n"),n(e,"class","popup svelte-iiez3n"),n(e,"style",ie=t[5]!==null?`left:${t[5]}px;top:${t[6]}px;transform:none`:"")},m(pe,de){T(pe,e,de),s(e,l),s(l,o),s(o,a),s(l,r),s(l,f),s(e,u),be&&be.m(e,null),s(e,d),s(e,v),s(v,m),s(v,y),s(v,_),s(_,S),s(_,F),s(v,A),s(v,H),s(v,z),s(v,b),s(b,M),s(b,O),s(v,C),s(v,w),s(v,R),s(v,V),s(V,E),s(v,j),s(v,B),s(v,se),s(v,W),s(W,G),s(W,ae),s(v,fe),s(v,ne),s(v,$),s(v,x),s(x,N),s(x,I),s(x,K),s(x,ee),s(v,D),s(v,ce),s(v,re),s(re,J),he||(Ce=[le(f,"click",t[23]),le(e,"mousedown",t[12])],he=!0)},p(pe,de){var ze,Fe,Be;de[0]&16&&i!==(i=pe[4].name+"")&&U(a,i),pe[2]?be?be.p(pe,de):(be=pn(pe),be.c(),be.m(e,d)):be&&(be.d(1),be=null),de[0]&16&&h!==(h=((ze=pe[4].az)==null?void 0:ze.toFixed(1))+"")&&U(S,h),de[0]&16&&q!==(q=((Fe=pe[4].el)==null?void 0:Fe.toFixed(1))+"")&&U(M,q),de[0]&16&&p!==(p="pv "+(pe[4].el>=0?"up":"")+" svelte-iiez3n")&&n(b,"class",p),de[0]&16&&X!==(X=mt(pe[4].range)+"")&&U(E,X),de[0]&16&&Z!==(Z=((Be=pe[4].alt)==null?void 0:Be.toFixed(0))+"")&&U(G,Z),de[0]&16&&Y!==(Y=pe[4].rangeRate<0?"▼ Approach":"▲ Recede")&&U(N,Y),de[0]&16&&Q!==(Q=(pe[4].rangeRate?Math.abs(Math.round(pe[4].rangeRate*3600)).toLocaleString("en-US"):"—")+"")&&U(K,Q),de[0]&16&&te!==(te="pv "+(pe[4].rangeRate<0?"app":"rec")+" svelte-iiez3n")&&n(x,"class",te),de[0]&16&&_e!==(_e=mt(pe[4].footprint*2)+"")&&U(J,_e),de[0]&96&&ie!==(ie=pe[5]!==null?`left:${pe[5]}px;top:${pe[6]}px;transform:none`:"")&&n(e,"style",ie)},d(pe){pe&&L(e),be&&be.d(),he=!1,Xe(Ce)}}}function pn(t){let e,l;function o(r,f){return r[2].active?Xo:Go}let i=o(t),a=i(t);return{c(){e=c("div"),a.c(),n(e,"class",l="pass-row "+(t[2].active?"pass-live":"pass-next")+" svelte-iiez3n")},m(r,f){T(r,e,f),a.m(e,null)},p(r,f){i===(i=o(r))&&a?a.p(r,f):(a.d(1),a=i(r),a&&(a.c(),a.m(e,null))),f[0]&4&&l!==(l="pass-row "+(r[2].active?"pass-live":"pass-next")+" svelte-iiez3n")&&n(e,"class",l)},d(r){r&&L(e),a.d()}}}function Go(t){var S;let e,l,o,i,a=((S=t[2].maxEl)==null?void 0:S.toFixed(0))+"",r,f,u,d,v,m=Gl(t[2].aos)+"",y,_,h;return{c(){e=c("span"),e.textContent="NEXT PASS",l=g(),o=c("span"),i=k("Max "),r=k(a),f=k("°"),u=g(),d=c("span"),v=k("AOS "),y=k(m),_=k(" · "),h=k(t[10]),n(e,"class","pass-label svelte-iiez3n"),n(o,"class","pass-maxel svelte-iiez3n"),n(d,"class","pass-time svelte-iiez3n")},m(F,A){T(F,e,A),T(F,l,A),T(F,o,A),s(o,i),s(o,r),s(o,f),T(F,u,A),T(F,d,A),s(d,v),s(d,y),s(d,_),s(d,h)},p(F,A){var H;A[0]&4&&a!==(a=((H=F[2].maxEl)==null?void 0:H.toFixed(0))+"")&&U(r,a),A[0]&4&&m!==(m=Gl(F[2].aos)+"")&&U(y,m),A[0]&1024&&U(h,F[10])},d(F){F&&(L(e),L(l),L(o),L(u),L(d))}}}function Xo(t){var A;let e,l,o,i,a,r,f=((A=t[2].maxEl)==null?void 0:A.toFixed(0))+"",u,d,v,m,y,_=Gl(t[2].los)+"",h,S,F;return{c(){e=c("span"),l=g(),o=c("span"),o.textContent="PASS IN PROGRESS",i=g(),a=c("span"),r=k("Max "),u=k(f),d=k("°"),v=g(),m=c("span"),y=k("LOS "),h=k(_),S=k(" · "),F=k(t[9]),n(e,"class","pass-dot svelte-iiez3n"),n(o,"class","pass-label svelte-iiez3n"),n(a,"class","pass-maxel svelte-iiez3n"),n(m,"class","pass-time svelte-iiez3n")},m(H,z){T(H,e,z),T(H,l,z),T(H,o,z),T(H,i,z),T(H,a,z),s(a,r),s(a,u),s(a,d),T(H,v,z),T(H,m,z),s(m,y),s(m,h),s(m,S),s(m,F)},p(H,z){var b;z[0]&4&&f!==(f=((b=H[2].maxEl)==null?void 0:b.toFixed(0))+"")&&U(u,f),z[0]&4&&_!==(_=Gl(H[2].los)+"")&&U(h,_),z[0]&512&&U(F,H[9])},d(H){H&&(L(e),L(l),L(o),L(i),L(a),L(v),L(m))}}}function vn(t){let e,l,o,i,a,r,f,u,d,v,m,y,_,h,S,F,A,H,z,b=t[1].length+"",q,M,O,p,C,w,R,V,X=Ee(t[8].slice(0,200)),E=[];for(let W=0;W<X.length;W+=1)E[W]=_n(fn(t,X,W));let j=Ee([...t[1]].sort()),B=[];for(let W=0;W<j.length;W+=1)B[W]=hn(un(t,j,W));let se=!t[1].length&&gn();return{c(){e=c("div"),l=c("div"),o=c("span"),o.textContent="Sélection des satellites",i=c("button"),i.textContent="✓ Appliquer",a=c("button"),a.textContent="×",r=g(),f=c("div"),u=c("div"),d=c("div"),v=k("Disponibles "),m=c("input"),y=g(),_=c("div");for(let W=0;W<E.length;W+=1)E[W].c();h=g(),S=c("div"),S.textContent="→",F=g(),A=c("div"),H=c("div"),z=k("Sélectionnés ("),q=k(b),M=k(") "),O=c("button"),O.textContent="Effacer",p=g(),C=c("div");for(let W=0;W<B.length;W+=1)B[W].c();w=g(),se&&se.c(),n(o,"class","svelte-iiez3n"),n(i,"class","btn-apply svelte-iiez3n"),n(a,"class","px svelte-iiez3n"),n(l,"class","wl-hdr svelte-iiez3n"),n(m,"placeholder","Filtrer…"),n(m,"class","wl-search svelte-iiez3n"),n(d,"class","wl-col-hdr svelte-iiez3n"),n(_,"class","wl-list svelte-iiez3n"),n(u,"class","wl-col svelte-iiez3n"),n(S,"class","wl-sep svelte-iiez3n"),n(O,"class","btn-clear svelte-iiez3n"),n(H,"class","wl-col-hdr svelte-iiez3n"),n(C,"class","wl-list svelte-iiez3n"),n(A,"class","wl-col wl-col-r svelte-iiez3n"),n(f,"class","wl-body svelte-iiez3n"),n(e,"class","wl-panel svelte-iiez3n")},m(W,Z){T(W,e,Z),s(e,l),s(l,o),s(l,i),s(l,a),s(e,r),s(e,f),s(f,u),s(u,d),s(d,v),s(d,m),we(m,t[0]),s(u,y),s(u,_);for(let G=0;G<E.length;G+=1)E[G]&&E[G].m(_,null);s(f,h),s(f,S),s(f,F),s(f,A),s(A,H),s(H,z),s(H,q),s(H,M),s(H,O),s(A,p),s(A,C);for(let G=0;G<B.length;G+=1)B[G]&&B[G].m(C,null);s(C,w),se&&se.m(C,null),R||(V=[le(i,"click",t[18]),le(a,"click",t[24]),le(m,"input",t[25]),le(O,"click",t[27])],R=!0)},p(W,Z){if(Z[0]&1&&m.value!==W[0]&&we(m,W[0]),Z[0]&65792){X=Ee(W[8].slice(0,200));let G;for(G=0;G<X.length;G+=1){const ae=fn(W,X,G);E[G]?E[G].p(ae,Z):(E[G]=_n(ae),E[G].c(),E[G].m(_,null))}for(;G<E.length;G+=1)E[G].d(1);E.length=X.length}if(Z[0]&2&&b!==(b=W[1].length+"")&&U(q,b),Z[0]&131074){j=Ee([...W[1]].sort());let G;for(G=0;G<j.length;G+=1){const ae=un(W,j,G);B[G]?B[G].p(ae,Z):(B[G]=hn(ae),B[G].c(),B[G].m(C,w))}for(;G<B.length;G+=1)B[G].d(1);B.length=j.length}W[1].length?se&&(se.d(1),se=null):se||(se=gn(),se.c(),se.m(C,null))},d(W){W&&L(e),$e(E,W),$e(B,W),se&&se.d(),R=!1,Xe(V)}}}function _n(t){let e,l,o=t[46]+"",i,a,r;function f(){return t[26](t[46])}return{c(){e=c("button"),l=c("span"),l.textContent="+",i=k(o),n(l,"class","wl-add svelte-iiez3n"),n(e,"class","wl-item svelte-iiez3n")},m(u,d){T(u,e,d),s(e,l),s(e,i),a||(r=le(e,"click",f),a=!0)},p(u,d){t=u,d[0]&256&&o!==(o=t[46]+"")&&U(i,o)},d(u){u&&L(e),a=!1,r()}}}function hn(t){let e,l,o=t[46]+"",i,a,r;function f(){return t[28](t[46])}return{c(){e=c("button"),l=c("span"),l.textContent="×",i=k(o),n(l,"class","wl-rem svelte-iiez3n"),n(e,"class","wl-item wl-item-sel svelte-iiez3n")},m(u,d){T(u,e,d),s(e,l),s(e,i),a||(r=le(e,"click",f),a=!0)},p(u,d){t=u,d[0]&2&&o!==(o=t[46]+"")&&U(i,o)},d(u){u&&L(e),a=!1,r()}}}function gn(t){let e;return{c(){e=c("div"),e.textContent="Aucun satellite",n(e,"class","wl-empty svelte-iiez3n")},m(l,o){T(l,e,o)},d(l){l&&L(e)}}}function Ko(t){let e,l,o,i,a,r,f=t[11].length+"",u,d,v,m,y,_=t[4]&&dn(t),h=t[7]&&vn(t);return{c(){e=c("div"),l=c("div"),o=g(),_&&_.c(),i=g(),a=c("button"),r=k("🛰 Satellites ("),u=k(f),d=k(")"),v=g(),h&&h.c(),n(l,"class","map svelte-iiez3n"),n(a,"class","wl-btn svelte-iiez3n"),n(e,"class","mc svelte-iiez3n")},m(S,F){T(S,e,F),s(e,l),t[22](l),s(e,o),_&&_.m(e,null),s(e,i),s(e,a),s(a,r),s(a,u),s(a,d),s(e,v),h&&h.m(e,null),m||(y=[le(a,"click",t[15]),le(e,"mousemove",t[13]),le(e,"mouseup",t[14]),le(e,"mouseleave",t[14])],m=!0)},p(S,F){S[4]?_?_.p(S,F):(_=dn(S),_.c(),_.m(e,i)):_&&(_.d(1),_=null),F[0]&2048&&f!==(f=S[11].length+"")&&U(u,f),S[7]?h?h.p(S,F):(h=vn(S),h.c(),h.m(e,null)):h&&(h.d(1),h=null)},i:me,o:me,d(S){S&&L(e),t[22](null),_&&_.d(),h&&h.d(),m=!1,Xe(y)}}}function Gl(t){return t?new Date(t).toUTCString().slice(17,25)+" UTC":"—"}function Yo(t,e,l,o=360){const a=l/6371,r=t*Math.PI/180,f=e*Math.PI/180,u=[];for(let d=0;d<o;d++){const v=2*Math.PI*d/o,m=Math.sin(r)*Math.cos(a)+Math.cos(r)*Math.sin(a)*Math.cos(v),y=Math.asin(Math.max(-1,Math.min(1,m))),_=f+Math.atan2(Math.sin(v)*Math.sin(a)*Math.cos(r),Math.cos(a)-Math.sin(r)*m),h=y*180/Math.PI;let S=_*180/Math.PI;for(;S>180;)S-=360;for(;S<-180;)S+=360;u.push([h,S])}return u}function Qo(t,e,l){let o,i,a,r,f,u,d,v;ve(t,fs,D=>l(20,f=D)),ve(t,Jt,D=>l(11,u=D)),ve(t,Qe,D=>l(39,d=D)),ve(t,Lt,D=>l(21,v=D));let m,y,_,h={},S=null,F=null,A=null,H="",z=null,b=null,q=!1,M=0,O=0;function p(D){q=!0,M=D.clientX-(z??0),O=D.clientY-(b??0),D.preventDefault()}function C(D){q&&(l(5,z=D.clientX-M),l(6,b=D.clientY-O))}function w(){q=!1}let R=Date.now();setInterval(()=>{l(19,R=Date.now())},1e3);let V=[],X=!1,E="",j=[];cl(async()=>{_=(await Vo(async()=>{const{default:J}=await import("./leaflet-src-DoEXxWUO.js").then(ie=>ie.l);return{default:J}},[])).default,y=_.map(m,{center:[15,0],zoom:2,zoomControl:!1,attributionControl:!0,minZoom:2,maxZoom:8,maxBounds:[[-90,-200],[90,200]],maxBoundsViscosity:1,worldCopyJump:!1}),_.tileLayer("https://map1.vis.earthdata.nasa.gov/wmts-webmerc/BlueMarble_NextGeneration/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpg",{attribution:"Imagery © NASA EOSDIS GIBS",maxZoom:8,noWrap:!0,tileSize:256}).addTo(y);const D=()=>{const J=m;if(!J||J.clientWidth===0)return;y.invalidateSize({animate:!1,pan:!1});const ie=Math.log2(J.clientWidth/256);y.setView([15,0],ie,{animate:!1}),y.setMinZoom(ie-.1)};requestAnimationFrame(()=>{D(),setTimeout(D,200),setTimeout(D,500)});const ce=new ResizeObserver(()=>{D(),setTimeout(D,200)});ce.observe(m),V.push(()=>ce.disconnect());const re=_.divIcon({html:`<svg width="14" height="14" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg">
|
||
<line x1="7" y1="1" x2="7" y2="13" stroke="#cc2020" stroke-width="2.5" stroke-linecap="round"/>
|
||
<line x1="1" y1="7" x2="13" y2="7" stroke="#cc2020" stroke-width="2.5" stroke-linecap="round"/>
|
||
</svg>`,className:"",iconSize:[14,14],iconAnchor:[7,7]});let _e=_.marker([d.qthLat||48.7,d.qthLon||2.55],{icon:re,zIndexOffset:1e3}).addTo(y);V.push(Qe.subscribe(J=>{J.qthLat&&J.qthLon&&_e.setLatLng([J.qthLat,J.qthLon])})),V.push(Bl.subscribe(J=>W(J))),V.push(et.subscribe(async J=>{if(Object.values(h).forEach(ie=>ie.remove()),h={},S==null||S.remove(),S=null,Z&&(y.removeLayer(Z),Z=null),F==null||F.remove(),F=null,l(4,A=null),H=J,J){const ie=await ge.GetGroundtrack(J,100);(ie==null?void 0:ie.length)>1&&ae(ie)}})),V.push(Jt.subscribe(()=>{Object.values(h).forEach(J=>J.remove()),h={},S==null||S.remove(),S=null})),y.on("click",()=>{l(4,A=null)})}),Kl(()=>{V.forEach(D=>D==null?void 0:D()),y==null||y.remove()});const B=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="28" height="28">
|
||
<rect x="0" y="12" width="9" height="8" rx="1" fill="#5ba3e0" stroke="white" stroke-width="1"/>
|
||
<line x1="3" y1="12" x2="3" y2="20" stroke="white" stroke-width="0.5" opacity="0.6"/>
|
||
<line x1="6" y1="12" x2="6" y2="20" stroke="white" stroke-width="0.5" opacity="0.6"/>
|
||
<rect x="23" y="12" width="9" height="8" rx="1" fill="#5ba3e0" stroke="white" stroke-width="1"/>
|
||
<line x1="26" y1="12" x2="26" y2="20" stroke="white" stroke-width="0.5" opacity="0.6"/>
|
||
<line x1="29" y1="12" x2="29" y2="20" stroke="white" stroke-width="0.5" opacity="0.6"/>
|
||
<rect x="10" y="10" width="12" height="12" rx="2" fill="#1a5a9a" stroke="white" stroke-width="1.5"/>
|
||
<line x1="16" y1="10" x2="16" y2="5" stroke="white" stroke-width="1.2"/>
|
||
<circle cx="16" cy="4" r="1.5" fill="white"/>
|
||
<circle cx="16" cy="16" r="2" fill="white" opacity="0.9"/>
|
||
<circle cx="16" cy="16" r="14" fill="none" stroke="#40c8f0" stroke-width="1" opacity="0.5" stroke-dasharray="3,3"/>
|
||
</svg>`;function se(D,ce,re){const _e=re>=0,J=ce?"#1a5a9a":_e?"#2563eb":"#9ca3af",ie=ce?14:_e?10:6,he="2px solid white",Ce=ce?"box-shadow:0 0 0 2px rgba(26,90,154,0.4),0 2px 4px rgba(0,0,0,0.2)":_e?"box-shadow:0 0 0 1px rgba(37,99,235,0.3),0 1px 3px rgba(0,0,0,0.2)":"box-shadow:0 1px 2px rgba(0,0,0,0.15)",be=ce?`<span class="slabel">${D.replace(" (ZARYA)","")}</span>`:"";return ce?_.divIcon({html:`<div class="sw sw-sat">${B}${be}</div>`,className:"",iconSize:[0,0],iconAnchor:[14,14]}):_.divIcon({html:`<div class="sw"><div class="sd" style="width:${ie}px;height:${ie}px;background:${J};border:${he};border-radius:50%;${Ce}"></div>${be}</div>`,className:"",iconSize:[0,0],iconAnchor:[0,0]})}function W(D){const ce=u,re=ce.length>0?D.filter(J=>ce.some(ie=>J.name.toUpperCase()===ie.toUpperCase())):D,_e=new Set;re.forEach(J=>{_e.add(J.name);const ie=J.name===H;if(h[J.name])h[J.name].setLatLng([J.lat,J.lon]),h[J.name].setIcon(se(J.name,ie,J.el)),h[J.name]._pos=J;else{const he=_.marker([J.lat,J.lon],{icon:se(J.name,ie,J.el),zIndexOffset:ie?999:0}).addTo(y);he._pos=J,he.on("click",Ce=>{_.DomEvent.stopPropagation(Ce),l(4,A={...J}),et.set(J.name)}),h[J.name]=he}(A==null?void 0:A.name)===J.name&&l(4,A={...J}),ie&&(S==null||S.remove(),S=null,G(J.lat,J.lon,J.footprint))}),Object.keys(h).forEach(J=>{_e.has(J)||(h[J].remove(),delete h[J])})}let Z=null;function G(D,ce,re){if(Z&&(y.removeLayer(Z),Z=null),!re||re<=0)return;const _e=Yo(D,ce,re),J=[],ie=[];let he=[];for(let be=0;be<_e.length;be++){const[He,Oe]=_e[be];if(Math.abs(He)>85){he.length>1&&ie.push(he),he=[];continue}if(he.length>0){const Pe=he[he.length-1];Math.abs(Oe-Pe[1])>180&&(he.length>1&&ie.push(he),he=[])}he.push([He,Oe])}he.length>1&&ie.push(he);const Ce=ie.map(be=>_.polyline(be,{color:"#1a5a9a",weight:1.5,dashArray:"7,6",opacity:.75,smoothFactor:0}));ie.length===1&&ie[0].length>2&&J.push(_.polygon(ie[0],{color:"transparent",fillColor:"#1a5a9a",fillOpacity:.07,weight:0})),Z=_.layerGroup([...J,...Ce]).addTo(y)}function ae(D){F==null||F.remove();const ce=[];let re=[];D.forEach((_e,J)=>{J>0&&Math.abs(_e.lon-D[J-1].lon)>180&&(re.length>1&&ce.push([...re]),re=[]),re.push([_e.lat,_e.lon])}),re.length>1&&ce.push(re),F=_.layerGroup(ce.map(_e=>_.polyline(_e,{color:"#1a5a9a",weight:2,opacity:.75,dashArray:"8,5"}))).addTo(y)}function fe(){l(1,j=[...u]),l(7,X=!0)}function ne(D){j.includes(D)||l(1,j=[...j,D])}function $(D){l(1,j=j.filter(ce=>ce!==D))}async function x(){Jt.set([...j]),await ge.SetWatchlist(j),l(7,X=!1)}function Y(D){Il[D?"unshift":"push"](()=>{m=D,l(3,m)})}const N=()=>l(4,A=null),I=()=>l(7,X=!1);function Q(){E=this.value,l(0,E)}const K=D=>ne(D),ee=()=>l(1,j=[]),te=D=>$(D);return t.$$.update=()=>{t.$$.dirty[0]&2621440&&l(2,o=(()=>{const D=v||[];for(const ce of D){const re=new Date(ce.aos).getTime(),_e=new Date(ce.los).getTime();if(R>=re&&R<=_e)return{aos:ce.aos,los:ce.los,active:!0,maxEl:ce.maxEl};if(re>R)return{aos:ce.aos,los:ce.los,active:!1,maxEl:ce.maxEl}}return null})()),t.$$.dirty[0]&524292&&l(10,i=(()=>{if(!o||o.active)return"";const D=Math.floor((new Date(o.aos).getTime()-R)/1e3);if(D<=0)return"";const ce=Math.floor(D/60),re=D%60;return`in ${ce}m ${String(re).padStart(2,"0")}s`})()),t.$$.dirty[0]&524292&&l(9,a=(()=>{if(!(o!=null&&o.active))return"";const D=Math.floor((new Date(o.los).getTime()-R)/1e3);if(D<=0)return"";const ce=Math.floor(D/60),re=D%60;return`${ce}m ${String(re).padStart(2,"0")}s`})()),t.$$.dirty[0]&1048579&&l(8,r=f.filter(D=>!j.includes(D)&&(!E||D.toLowerCase().includes(E.toLowerCase()))).sort())},[E,j,o,m,A,z,b,X,r,a,i,u,p,C,w,fe,ne,$,x,R,f,v,Y,N,I,Q,K,ee,te]}class Jo extends jt{constructor(e){super(),Rt(this,e,Qo,Ko,St,{},null,[-1,-1])}}const oe={FM:"FM",LINEAR:"Linear",DATA:"Data"},Zo={FM:{bg:"#e0f0ff",color:"#1a5a9a",border:"#b0d0f0"},Linear:{bg:"#e8f8ee",color:"#1a7a40",border:"#a0d8b0"},APRS:{bg:"#fff8e0",color:"#8a6010",border:"#e0c870"},CW:{bg:"#f5f0ff",color:"#5a30a0",border:"#c0a0e0"},Data:{bg:"#f0f0f0",color:"#5a6a7a",border:"#c0cad0"}},$o=[{keys:["AO-91","FOX-1B","RADFXSAT","AO-91 (RADFXSAT/FOX-1B)"],displayName:"AO-91 (RadFxSat/Fox-1B)",type:oe.FM,freqs:[{downHz:14596e4,upHz:43525e4,mode:"FM",notes:"CTCSS 67 Hz — Do not use during eclipse (battery status)"}]},{keys:["AO-92","FOX-1D"],displayName:"AO-92 (Fox-1D)",type:oe.FM,freqs:[{downHz:14588e4,upHz:43535e4,mode:"FM",notes:"CTCSS 67 Hz. Re-entered."}]},{keys:["AO-123","ASRTU-1"],displayName:"AO-123 (ASRTU-1)",type:oe.FM,freqs:[{downHz:4354e5,upHz:14585e4,mode:"FM",notes:"CTCSS 67 Hz — FM/9600bps BPSK QPSK SSDV. Active everytime."}]},{keys:["AO-27","EYESAT-A"],displayName:"AO-27 (EYESAT-A)",type:oe.FM,freqs:[{downHz:436795e3,upHz:14585e4,mode:"FM",notes:"FM / 1200bps AFSK. Inactive."}]},{keys:["CAS-3H","LILACSAT-2"],displayName:"CAS-3H (LilacSat-2)",type:oe.FM,freqs:[{downHz:4372e5,upHz:14435e4,mode:"FM",notes:"No CTCSS - FM transponder has no set schedule"},{downHz:437225e3,upHz:145875e3,mode:"APRS",notes:"APRS / FSK downlink"}]},{keys:["IO-86","LAPAN-A2"],displayName:"IO-86 (LAPAN-A2)",type:oe.FM,freqs:[{downHz:43588e4,upHz:14588e4,mode:"FM",notes:"CTCSS 88.5 Hz — Low inclination orbit ±30°"}]},{keys:["ISS (ZARYA)","ISS","ZARYA"],displayName:"ISS",type:oe.FM,freqs:[{downHz:4378e5,upHz:14599e4,mode:"FM",notes:"FM Voice, CTCSS 67.0 Hz. Active sometimes."},{downHz:144825e3,upHz:0,mode:"APRS",notes:"APRS Europe 144.825 MHz / 1200bps AFSK"}]},{keys:["PO-101","DIWATA-2B"],displayName:"PO-101 (Diwata-2)",type:oe.FM,freqs:[{downHz:1459e5,upHz:4375e5,mode:"FM",notes:"CTCSS 141.3 Hz. Active sometimes."}]},{keys:["RS95S","QMR-KWT-2"],displayName:"RS95S (QMR-KWT-2)",type:oe.FM,freqs:[{downHz:43695e4,upHz:14592e4,mode:"FM",notes:"CTCSS 67 Hz"}]},{keys:["SO-50","SAUDISAT-1C"],displayName:"SO-50 (SaudiSat-1C)",type:oe.FM,freqs:[{downHz:436795e3,upHz:14585e4,mode:"FM",notes:"Arm with 74.4 Hz tone (2s carrier), then CTCSS 67 Hz. Active everytime."}]},{keys:["SO-125","HADES-ICM"],displayName:"SO-125 (HADES-ICM)",type:oe.FM,freqs:[{downHz:436666e3,upHz:145875e3,mode:"FM",notes:"FM/200–2400bps USB. Beacon 436.666 MHz. Active everytime."}]},{keys:["SO-124","HADES-R"],displayName:"SO-124 (HADES-R)",type:oe.FM,freqs:[{downHz:436888e3,upHz:145925e3,mode:"FM",notes:"FM/200–2400bps USB. Beacon 436.888 MHz. Active sometimes."}]},{keys:["SO-121","HADES-D"],displayName:"SO-121 (HADES-D)",type:oe.FM,freqs:[{downHz:436666e3,upHz:145875e3,mode:"FM",notes:"FM/USB 50–9600bps. Beacon 436.666 MHz. Re-entered."}]},{keys:["LO-87"],displayName:"LO-87",type:oe.FM,freqs:[{downHz:4369e5,upHz:14599e4,mode:"FM",notes:"FM Voice"}]},{keys:["EO-88","NAYIF-1"],displayName:"EO-88 (Nayif-1)",type:oe.FM,freqs:[{downHz:14596e4,upHz:435015e3,mode:"FM",notes:"CTCSS 67 Hz. Re-entered."}]},{keys:["AO-85","FOX-1A"],displayName:"AO-85 (Fox-1A)",type:oe.FM,freqs:[{downHz:14598e4,upHz:435182e3,mode:"FM",notes:"FM CTCSS 67.0 Hz / 200bps DUV. Breakdown."}]},{keys:["AO-95","FOX-1CLIFF"],displayName:"AO-95 (Fox-1Cliff)",type:oe.FM,freqs:[{downHz:14592e4,upHz:4353e5,mode:"FM",notes:"FM CTCSS 67.0 Hz / DUV only. Inactive."}]},{keys:["UVSQ-SAT","UVSQ"],displayName:"UVSQ-Sat",type:oe.FM,freqs:[{downHz:43702e4,upHz:145905e3,mode:"FM",notes:"FM / 1200–9600bps BPSK. Re-entered."}]},{keys:["TEVEL-1"],displayName:"TEVEL-1",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-2"],displayName:"TEVEL-2",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-3"],displayName:"TEVEL-3",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-4"],displayName:"TEVEL-4",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-5"],displayName:"TEVEL-5",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-6"],displayName:"TEVEL-6",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-7"],displayName:"TEVEL-7",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL-8"],displayName:"TEVEL-8",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Re-entered."}]},{keys:["TEVEL2-1"],displayName:"TEVEL2-1",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-2"],displayName:"TEVEL2-2",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-3"],displayName:"TEVEL2-3",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-4"],displayName:"TEVEL2-4",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-5"],displayName:"TEVEL2-5",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-6"],displayName:"TEVEL2-6",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-7"],displayName:"TEVEL2-7",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-8"],displayName:"TEVEL2-8",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["TEVEL2-9"],displayName:"TEVEL2-9",type:oe.FM,freqs:[{downHz:4364e5,upHz:14597e4,mode:"FM",notes:"FM / 9600bps BPSK. Active sometimes."}]},{keys:["AO-7","AO-07"],displayName:"AO-7",type:oe.LINEAR,freqs:[{downHz:14595e4,upHz:43215e4,mode:"LSB",notes:"Mode B (U/v Inverting) — Up 432.125–432.175 / Down 145.925–145.975. Beacon 29.502 MHz. Sunlight only."},{downHz:2945e4,upHz:1459e5,mode:"USB",notes:"Mode A (V/a Non-Inverting) — Up 145.850–145.950 / Down 29.400–29.500. Beacon 29.502 MHz. Sunlight only."}]},{keys:["AO-73","FUNCUBE-1"],displayName:"AO-73 (FUNcube-1)",type:oe.LINEAR,freqs:[{downHz:14596e4,upHz:43514e4,mode:"LSB",notes:"U/v Inverting — Up 435.130–435.150 / Down 145.950–145.970. Beacon 145.935 MHz. Active in eclipse."}]},{keys:["FO-29","JAS-2"],displayName:"FO-29 (JAS-2)",type:oe.LINEAR,freqs:[{downHz:43585e4,upHz:14595e4,mode:"LSB",notes:"V/v Inverting — Up 145.900–146.000 / Down 435.800–435.900. CW Beacon 435.795 MHz. Weekend schedule."}]},{keys:["JO-97","JY1SAT","JY1-SAT"],displayName:"JO-97 (JY1Sat)",type:oe.LINEAR,freqs:[{downHz:145865e3,upHz:43511e4,mode:"LSB",notes:"U/v Inverting — Up 435.100–435.120 / Down 145.855–145.875. Beacon 145.840 MHz. Active everytime."}]},{keys:["RS-44"],displayName:"RS-44",type:oe.LINEAR,freqs:[{downHz:43564e4,upHz:145965e3,mode:"LSB",notes:"V/v Inverting — Up 145.935–145.995 / Down 435.610–435.670. CW Beacon 435.605 MHz. Active everytime."}]},{keys:["TO-108","CAS-6","TIANQIN-1"],displayName:"TO-108 (CAS-6)",type:oe.LINEAR,freqs:[{downHz:145925e3,upHz:43528e4,mode:"LSB",notes:"U/v Inverting — Up 435.270–435.290 / Down 145.915–145.935. Beacon 145.910 MHz. Inactive."}]},{keys:["QO-100","ES'HAIL-2","ESHAIL-2","P4-A"],displayName:"QO-100 (Es'hail-2)",type:oe.LINEAR,freqs:[{downHz:1048975e4,upHz:240025e4,mode:"USB",notes:"Geostationary 25.9°E — Up 2400.0–2400.5 MHz / Down 10489.5–10490.0 MHz"}]},{keys:["CAS-4A"],displayName:"CAS-4A",type:oe.LINEAR,freqs:[{downHz:145855e3,upHz:43518e4,mode:"USB",notes:"Linear. Re-entered."}]},{keys:["CAS-4B"],displayName:"CAS-4B",type:oe.LINEAR,freqs:[{downHz:14591e4,upHz:43528e4,mode:"USB",notes:"Linear. Re-entered."}]},{keys:["XW-2A","CAS-3A"],displayName:"XW-2A (CAS-3A)",type:oe.LINEAR,freqs:[{downHz:145675e3,upHz:43503e4,mode:"USB",notes:"Inverting. Re-entered."}]},{keys:["XW-2B","CAS-3B"],displayName:"XW-2B (CAS-3B)",type:oe.LINEAR,freqs:[{downHz:14573e4,upHz:43509e4,mode:"USB",notes:"Inverting. Re-entered."}]},{keys:["XW-2C","CAS-3C"],displayName:"XW-2C (CAS-3C)",type:oe.LINEAR,freqs:[{downHz:145785e3,upHz:43515e4,mode:"USB",notes:"Inverting. Re-entered."}]},{keys:["XW-2D","CAS-3D"],displayName:"XW-2D (CAS-3D)",type:oe.LINEAR,freqs:[{downHz:14584e4,upHz:43521e4,mode:"USB",notes:"Inverting. Re-entered."}]},{keys:["XW-2F","CAS-3F"],displayName:"XW-2F (CAS-3F)",type:oe.LINEAR,freqs:[{downHz:145945e3,upHz:43533e4,mode:"USB",notes:"Inverting. Re-entered."}]},{keys:["FO-99","NEXUS"],displayName:"FO-99 (NEXUS)",type:oe.LINEAR,freqs:[{downHz:435895e3,upHz:145915e3,mode:"LSB",notes:"V/v Inverting — Up 145.900–145.930 / Down 435.880–435.910. Beacon 437.075 MHz. Re-entered."}]},{keys:["HO-113","CAS-9","XW-3"],displayName:"HO-113 (CAS-9/XW-3)",type:oe.LINEAR,freqs:[{downHz:43518e4,upHz:14587e4,mode:"LSB",notes:"SSB 4800bps GMSK — Up 145.855–145.885 / Down 435.165–435.195. Beacon 435.575 MHz. Inactive."}]},{keys:["CAS-5A","FO-118"],displayName:"CAS-5A (FO-118)",type:oe.LINEAR,freqs:[{downHz:43554e4,upHz:14582e4,mode:"USB",notes:"SSB 30kHz bandwidth. Beacon 435.570 MHz. Re-entered."}]},{keys:["CAS-10","HO-119","XW-4"],displayName:"CAS-10 (HO-119/XW-4)",type:oe.LINEAR,freqs:[{downHz:43518e4,upHz:14587e4,mode:"USB",notes:"SSB 30kHz bandwidth. Beacon 435.575 MHz. Re-entered."}]},{keys:["MESAT-1","MO-122"],displayName:"MESAT-1 (MO-122)",type:oe.LINEAR,freqs:[{downHz:435825e3,upHz:145925e3,mode:"LSB",notes:"Up 145.910–145.940 / Down 435.810–435.840. Beacon 435.800 MHz. Inactive."}]},{keys:["AO-109","FOX-1E","RADFXSAT-2","RADFXSAT2"],displayName:"AO-109 (Fox-1E/RadFxSat-2)",type:oe.LINEAR,freqs:[{downHz:435775e3,upHz:145875e3,mode:"LSB",notes:"Up 145.860–145.890 / Down 435.760–435.790. Beacon 435.750 MHz. Re-entered."}]},{keys:["DUCHIFAT-1"],displayName:"DUCHIFAT-1",type:oe.DATA,freqs:[{downHz:14598e4,upHz:0,mode:"CW/Data",notes:"Beacon only"}]}],Dl=new Map;for(const t of $o)for(const e of t.keys)Dl.set(e.toUpperCase(),t);function gs(t){if(!t)return null;const e=t.toUpperCase().trim();if(Dl.has(e))return Dl.get(e);let l=null,o=0;for(const[i,a]of Dl){const r=e===i||e.startsWith(i+" ")||e.startsWith(i+"(")||e.startsWith(i+"-")||e.endsWith(" "+i)||e.endsWith("("+i)||e.endsWith("-"+i)||e.includes(" "+i+" ")||e.includes("("+i+")"),f=i===e||i.startsWith(e+" ")||i.startsWith(e+"(")||i.startsWith(e+"-")||i.endsWith(" "+e)||i.endsWith("("+e)||i.endsWith("-"+e)||i.includes(" "+e+" ");(r||f)&&i.length>o&&(l=a,o=i.length)}return l}function ho(t){var e;return((e=gs(t))==null?void 0:e.freqs)||null}function xo(t){var e;return((e=ho(t))==null?void 0:e[0])||null}function hs(t){var e;return((e=gs(t))==null?void 0:e.type)||null}function Mt(t){var e;return((e=gs(t))==null?void 0:e.displayName)||t}function cs(t){const e=t.slice(),l=e[10];return e[23]=l,e}function mn(t,e,l){const o=t.slice();return o[24]=e[l],o}function rs(t){const e=t.slice(),l=hs(e[24]);e[27]=l;const o=Zo[e[27]];return e[28]=o,e}function bn(t,e,l){const o=t.slice();return o[29]=e[l],o}function yn(t,e,l){const o=t.slice();return o[32]=e[l],o[34]=l,o}function kn(t){let e,l,o;return{c(){e=c("button"),e.textContent="×",n(e,"class","clr svelte-1ydc2h0")},m(i,a){T(i,e,a),l||(o=le(e,"click",t[15]),l=!0)},p:me,d(i){i&&L(e),l=!1,o()}}}function Sn(t){let e,l,o,i,a,r=(t[8]||t[5])+"",f,u,d,v,m,y,_,h,S,F,A,H,z,b,q,M,O,p,C,w,R;function V(j,B){return j[3]&&j[3].length>0?ti:ei}let X=V(t),E=X(t);return{c(){e=c("div"),l=c("div"),o=c("span"),i=g(),a=c("span"),f=k(r),u=g(),d=c("button"),d.textContent="Stop",v=g(),m=c("div"),y=c("button"),_=c("span"),S=k(`
|
||
Track Freq/Mode`),H=g(),z=c("button"),b=c("span"),M=k(`
|
||
Track Azimuth`),p=g(),E.c(),C=rt(),n(o,"class","live-dot svelte-1ydc2h0"),n(a,"class","tname svelte-1ydc2h0"),n(l,"class","tracked-info svelte-1ydc2h0"),n(d,"class","stop-btn svelte-1ydc2h0"),n(e,"class","tracked-bar svelte-1ydc2h0"),n(_,"class",h="track-dot "+(t[4]?"on":"")+" svelte-1ydc2h0"),n(y,"class",F="track-btn "+(t[4]?"track-on":"")+" "+(t[2]?"":"track-disabled")+" svelte-1ydc2h0"),n(y,"title",A=t[2]?"":"No known frequencies for this satellite"),n(b,"class",q="track-dot "+(t[7]?"on":"")+" svelte-1ydc2h0"),n(z,"class",O="track-btn "+(t[7]?"track-on":"")+" svelte-1ydc2h0"),n(m,"class","track-row svelte-1ydc2h0")},m(j,B){T(j,e,B),s(e,l),s(l,o),s(l,i),s(l,a),s(a,f),s(e,u),s(e,d),T(j,v,B),T(j,m,B),s(m,y),s(y,_),s(y,S),s(m,H),s(m,z),s(z,b),s(z,M),T(j,p,B),E.m(j,B),T(j,C,B),w||(R=[le(d,"click",t[13]),le(y,"click",t[16]),le(z,"click",t[17])],w=!0)},p(j,B){B[0]&288&&r!==(r=(j[8]||j[5])+"")&&U(f,r),B[0]&16&&h!==(h="track-dot "+(j[4]?"on":"")+" svelte-1ydc2h0")&&n(_,"class",h),B[0]&20&&F!==(F="track-btn "+(j[4]?"track-on":"")+" "+(j[2]?"":"track-disabled")+" svelte-1ydc2h0")&&n(y,"class",F),B[0]&4&&A!==(A=j[2]?"":"No known frequencies for this satellite")&&n(y,"title",A),B[0]&128&&q!==(q="track-dot "+(j[7]?"on":"")+" svelte-1ydc2h0")&&n(b,"class",q),B[0]&128&&O!==(O="track-btn "+(j[7]?"track-on":"")+" svelte-1ydc2h0")&&n(z,"class",O),X===(X=V(j))&&E?E.p(j,B):(E.d(1),E=X(j),E&&(E.c(),E.m(C.parentNode,C)))},d(j){j&&(L(e),L(v),L(m),L(p),L(C)),E.d(j),w=!1,Xe(R)}}}function ei(t){let e;return{c(){e=c("div"),e.textContent="No known frequencies for this satellite",n(e,"class","no-freq svelte-1ydc2h0")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function ti(t){let e,l,o,i=Ee(t[3]),a=[];for(let r=0;r<i.length;r+=1)a[r]=zn(yn(t,i,r));return{c(){e=c("div"),l=c("div"),l.textContent="Frequencies",o=g();for(let r=0;r<a.length;r+=1)a[r].c();n(l,"class","freq-title svelte-1ydc2h0"),n(e,"class","freq-section svelte-1ydc2h0")},m(r,f){T(r,e,f),s(e,l),s(e,o);for(let u=0;u<a.length;u+=1)a[u]&&a[u].m(e,null)},p(r,f){if(f[0]&4106){i=Ee(r[3]);let u;for(u=0;u<i.length;u+=1){const d=yn(r,i,u);a[u]?a[u].p(d,f):(a[u]=zn(d),a[u].c(),a[u].m(e,null))}for(;u<a.length;u+=1)a[u].d(1);a.length=i.length}},d(r){r&&L(e),$e(a,r)}}}function wn(t){let e;return{c(){e=c("span"),e.textContent="✓ Active",n(e,"class","freq-check svelte-1ydc2h0")},m(l,o){T(l,e,o)},d(l){l&&L(e)}}}function li(t){let e;return{c(){e=c("div"),e.textContent="Simplex / RX only",n(e,"class","freq-tx muted svelte-1ydc2h0")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function si(t){let e,l,o=kt(t[32].upHz)+"",i;return{c(){e=c("div"),l=k("↑ "),i=k(o),n(e,"class","freq-tx svelte-1ydc2h0")},m(a,r){T(a,e,r),s(e,l),s(e,i)},p(a,r){r[0]&8&&o!==(o=kt(a[32].upHz)+"")&&U(i,o)},d(a){a&&L(e)}}}function An(t){let e,l=t[32].notes+"",o;return{c(){e=c("div"),o=k(l),n(e,"class","freq-notes svelte-1ydc2h0")},m(i,a){T(i,e,a),s(e,o)},p(i,a){a[0]&8&&l!==(l=i[32].notes+"")&&U(o,l)},d(i){i&&L(e)}}}function zn(t){let e,l,o,i=t[32].mode+"",a,r,f,u,d,v=kt(t[32].downHz)+"",m,y,_,h,S,F,A,H=t[1]===t[34]&&wn();function z(p,C){return p[32].upHz>0?si:li}let b=z(t),q=b(t),M=t[32].notes&&An(t);function O(){return t[18](t[34],t[32])}return{c(){e=c("button"),l=c("div"),o=c("span"),a=k(i),r=g(),H&&H.c(),f=g(),u=c("div"),d=k("↓ "),m=k(v),y=g(),q.c(),_=g(),M&&M.c(),h=g(),n(o,"class","freq-mode svelte-1ydc2h0"),n(l,"class","freq-head svelte-1ydc2h0"),n(u,"class","freq-rx svelte-1ydc2h0"),n(e,"class",S="freq-card "+(t[1]===t[34]?"active":"")+" svelte-1ydc2h0")},m(p,C){T(p,e,C),s(e,l),s(l,o),s(o,a),s(l,r),H&&H.m(l,null),s(e,f),s(e,u),s(u,d),s(u,m),s(e,y),q.m(e,null),s(e,_),M&&M.m(e,null),s(e,h),F||(A=le(e,"click",O),F=!0)},p(p,C){t=p,C[0]&8&&i!==(i=t[32].mode+"")&&U(a,i),t[1]===t[34]?H||(H=wn(),H.c(),H.m(l,null)):H&&(H.d(1),H=null),C[0]&8&&v!==(v=kt(t[32].downHz)+"")&&U(m,v),b===(b=z(t))&&q?q.p(t,C):(q.d(1),q=b(t),q&&(q.c(),q.m(e,_))),t[32].notes?M?M.p(t,C):(M=An(t),M.c(),M.m(e,h)):M&&(M.d(1),M=null),C[0]&2&&S!==(S="freq-card "+(t[1]===t[34]?"active":"")+" svelte-1ydc2h0")&&n(e,"class",S)},d(p){p&&L(e),H&&H.d(),q.d(),M&&M.d(),F=!1,A()}}}function En(t){let e,l,o,i=Ee(t[6].slice(0,8)),a=[];for(let r=0;r<i.length;r+=1)a[r]=Cn(bn(t,i,r));return{c(){e=c("div"),e.textContent="FAVORITES",l=g(),o=c("div");for(let r=0;r<a.length;r+=1)a[r].c();n(e,"class","sec-lbl svelte-1ydc2h0"),n(o,"class","faves svelte-1ydc2h0")},m(r,f){T(r,e,f),T(r,l,f),T(r,o,f);for(let u=0;u<a.length;u+=1)a[u]&&a[u].m(o,null)},p(r,f){if(f[0]&2112){i=Ee(r[6].slice(0,8));let u;for(u=0;u<i.length;u+=1){const d=bn(r,i,u);a[u]?a[u].p(d,f):(a[u]=Cn(d),a[u].c(),a[u].m(o,null))}for(;u<a.length;u+=1)a[u].d(1);a.length=i.length}},d(r){r&&(L(e),L(l),L(o)),$e(a,r)}}}function Cn(t){let e,l=t[29].replace(" (ZARYA)","").replace(" (FM)","")+"",o,i,a,r;function f(){return t[19](t[29])}return{c(){e=c("button"),o=k(l),i=g(),n(e,"class","fave svelte-1ydc2h0")},m(u,d){T(u,e,d),s(e,o),s(e,i),a||(r=le(e,"click",f),a=!0)},p(u,d){t=u,d[0]&64&&l!==(l=t[29].replace(" (ZARYA)","").replace(" (FM)","")+"")&&U(o,l)},d(u){u&&L(e),a=!1,r()}}}function ni(t){let e,l=Ee(t[9]),o=[];for(let i=0;i<l.length;i+=1)o[i]=Mn(mn(t,l,i));return{c(){for(let i=0;i<o.length;i+=1)o[i].c();e=rt()},m(i,a){for(let r=0;r<o.length;r+=1)o[r]&&o[r].m(i,a);T(i,e,a)},p(i,a){if(a[0]&2592){l=Ee(i[9]);let r;for(r=0;r<l.length;r+=1){const f=mn(i,l,r);o[r]?o[r].p(f,a):(o[r]=Mn(f),o[r].c(),o[r].m(e.parentNode,e))}for(;r<o.length;r+=1)o[r].d(1);o.length=l.length}},d(i){i&&L(e),$e(o,i)}}}function oi(t){let e;return{c(){e=c("div"),e.textContent="Use the 🛰 button on the map to add satellites",n(e,"class","empty svelte-1ydc2h0")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Fn(t){let e,l=t[27]+"",o;return{c(){e=c("span"),o=k(l),n(e,"class","type-badge svelte-1ydc2h0"),it(e,"background",t[28].bg),it(e,"color",t[28].color),it(e,"border-color",t[28].border)},m(i,a){T(i,e,a),s(e,o)},p(i,a){a[0]&512&&l!==(l=i[27]+"")&&U(o,l),a[0]&512&&it(e,"background",i[28].bg),a[0]&512&&it(e,"color",i[28].color),a[0]&512&&it(e,"border-color",i[28].border)},d(i){i&&L(e)}}}function Mn(t){let e,l,o,i,a,r=Mt(t[24])+"",f,u,d=hs(t[24]),v,m,y,_,h=d&&Fn(rs(t));function S(){return t[20](t[24])}return{c(){e=c("button"),l=c("span"),i=g(),a=c("span"),f=k(r),u=g(),h&&h.c(),v=g(),n(l,"class",o="sdot "+(t[5]===t[24]?"active":"")+" svelte-1ydc2h0"),n(a,"class","sname svelte-1ydc2h0"),n(e,"class",m="sitem "+(t[5]===t[24]?"on":"")+" svelte-1ydc2h0")},m(F,A){T(F,e,A),s(e,l),s(e,i),s(e,a),s(a,f),s(e,u),h&&h.m(e,null),s(e,v),y||(_=le(e,"click",S),y=!0)},p(F,A){t=F,A[0]&544&&o!==(o="sdot "+(t[5]===t[24]?"active":"")+" svelte-1ydc2h0")&&n(l,"class",o),A[0]&512&&r!==(r=Mt(t[24])+"")&&U(f,r),A[0]&512&&(d=hs(t[24])),d?h?h.p(rs(t),A):(h=Fn(rs(t)),h.c(),h.m(e,v)):h&&(h.d(1),h=null),A[0]&544&&m!==(m="sitem "+(t[5]===t[24]?"on":"")+" svelte-1ydc2h0")&&n(e,"class",m)},d(F){F&&L(e),h&&h.d(),y=!1,_()}}}function Hn(t){var ne,$,x;let e,l,o,i,a=((ne=t[23].az)==null?void 0:ne.toFixed(1))+"",r,f,u,d,v,m=(($=t[23].el)==null?void 0:$.toFixed(1))+"",y,_,h,S,F,A,H,z=mt(t[23].range)+"",b,q,M,O,p=((x=t[23].alt)==null?void 0:x.toFixed(0))+"",C,w,R,V,X,E,j,B=t[23].rangeRate<0?"▼":"▲",se,W,Z=Math.abs(Math.round(t[23].rangeRate*3600)).toLocaleString("en-US")+"",G,ae,fe;return{c(){e=c("div"),l=c("div"),o=c("span"),o.textContent="AZ",i=c("span"),r=k(a),f=k("°"),u=g(),d=c("span"),d.textContent="EL",v=c("span"),y=k(m),_=k("°"),S=g(),F=c("div"),A=c("span"),A.textContent="Range",H=c("span"),b=k(z),q=g(),M=c("span"),M.textContent="Alt",O=c("span"),C=k(p),w=k(" km"),R=g(),V=c("div"),X=c("span"),X.textContent="Radial",E=g(),j=c("span"),se=k(B),W=g(),G=k(Z),ae=k(" km/h"),n(o,"class","sip-k svelte-1ydc2h0"),n(i,"class","sip-v svelte-1ydc2h0"),n(d,"class","sip-k svelte-1ydc2h0"),n(v,"class",h="sip-v "+(t[23].el>=0?"up":"")+" svelte-1ydc2h0"),n(l,"class","sip-row svelte-1ydc2h0"),n(A,"class","sip-k svelte-1ydc2h0"),n(H,"class","sip-v svelte-1ydc2h0"),n(M,"class","sip-k svelte-1ydc2h0"),n(O,"class","sip-v svelte-1ydc2h0"),n(F,"class","sip-row svelte-1ydc2h0"),n(X,"class","sip-k svelte-1ydc2h0"),n(j,"class",fe="sip-v "+(t[23].rangeRate<0?"approach":"recede")+" svelte-1ydc2h0"),n(V,"class","sip-row svelte-1ydc2h0"),n(e,"class","sat-info-panel svelte-1ydc2h0")},m(Y,N){T(Y,e,N),s(e,l),s(l,o),s(l,i),s(i,r),s(i,f),s(l,u),s(l,d),s(l,v),s(v,y),s(v,_),s(e,S),s(e,F),s(F,A),s(F,H),s(H,b),s(F,q),s(F,M),s(F,O),s(O,C),s(O,w),s(e,R),s(e,V),s(V,X),s(V,E),s(V,j),s(j,se),s(j,W),s(j,G),s(j,ae)},p(Y,N){var I,Q,K;N[0]&1024&&a!==(a=((I=Y[23].az)==null?void 0:I.toFixed(1))+"")&&U(r,a),N[0]&1024&&m!==(m=((Q=Y[23].el)==null?void 0:Q.toFixed(1))+"")&&U(y,m),N[0]&1024&&h!==(h="sip-v "+(Y[23].el>=0?"up":"")+" svelte-1ydc2h0")&&n(v,"class",h),N[0]&1024&&z!==(z=mt(Y[23].range)+"")&&U(b,z),N[0]&1024&&p!==(p=((K=Y[23].alt)==null?void 0:K.toFixed(0))+"")&&U(C,p),N[0]&1024&&B!==(B=Y[23].rangeRate<0?"▼":"▲")&&U(se,B),N[0]&1024&&Z!==(Z=Math.abs(Math.round(Y[23].rangeRate*3600)).toLocaleString("en-US")+"")&&U(G,Z),N[0]&1024&&fe!==(fe="sip-v "+(Y[23].rangeRate<0?"approach":"recede")+" svelte-1ydc2h0")&&n(j,"class",fe)},d(Y){Y&&L(e)}}}function ii(t){let e,l,o,i,a,r,f,u,d,v,m,y=t[9].length+"",_,h,S,F,A,H,z,b=t[0]&&kn(t),q=t[5]&&Sn(t),M=!t[5]&&!t[0]&&En(t);function O(R,V){return R[9].length===0?oi:ni}let p=O(t),C=p(t),w=t[5]&&t[10]&&Hn(cs(t));return{c(){e=c("div"),l=c("div"),o=c("span"),o.textContent="🔍",i=g(),a=c("input"),r=g(),b&&b.c(),f=g(),q&&q.c(),u=g(),M&&M.c(),d=g(),v=c("div"),m=k("WATCHLIST ("),_=k(y),h=k(")"),S=g(),F=c("div"),C.c(),A=g(),w&&w.c(),n(o,"class","sico svelte-1ydc2h0"),n(a,"type","text"),n(a,"placeholder","Filter…"),n(a,"class","sinput svelte-1ydc2h0"),n(l,"class","search-bar svelte-1ydc2h0"),n(v,"class","sec-lbl svelte-1ydc2h0"),n(F,"class","sat-list svelte-1ydc2h0"),n(e,"class","sel svelte-1ydc2h0")},m(R,V){T(R,e,V),s(e,l),s(l,o),s(l,i),s(l,a),we(a,t[0]),s(l,r),b&&b.m(l,null),s(e,f),q&&q.m(e,null),s(e,u),M&&M.m(e,null),s(e,d),s(e,v),s(v,m),s(v,_),s(v,h),s(e,S),s(e,F),C.m(F,null),s(e,A),w&&w.m(e,null),H||(z=le(a,"input",t[14]),H=!0)},p(R,V){V[0]&1&&a.value!==R[0]&&we(a,R[0]),R[0]?b?b.p(R,V):(b=kn(R),b.c(),b.m(l,null)):b&&(b.d(1),b=null),R[5]?q?q.p(R,V):(q=Sn(R),q.c(),q.m(e,u)):q&&(q.d(1),q=null),!R[5]&&!R[0]?M?M.p(R,V):(M=En(R),M.c(),M.m(e,d)):M&&(M.d(1),M=null),V[0]&512&&y!==(y=R[9].length+"")&&U(_,y),p===(p=O(R))&&C?C.p(R,V):(C.d(1),C=p(R),C&&(C.c(),C.m(F,null))),R[5]&&R[10]?w?w.p(cs(R),V):(w=Hn(cs(R)),w.c(),w.m(e,null)):w&&(w.d(1),w=null)},i:me,o:me,d(R){R&&L(e),b&&b.d(),q&&q.d(),M&&M.d(),C.d(),w&&w.d(),H=!1,z()}}}function ai(t,e,l){let o,i,a,r,f,u,d,v,m;ve(t,Nl,p=>l(4,f=p)),ve(t,et,p=>l(5,u=p)),ve(t,Jt,p=>l(6,d=p)),ve(t,is,p=>l(7,v=p)),ve(t,Tt,p=>l(10,m=p));let y="",_=0;async function h(p){if(u===p)return;l(1,_=0),Nl.set(!1),is.set(!1),et.set(p);const C=await ge.GetPasses(p,24);Lt.set(C||[]),await ge.StartTracking(p);const w=xo(p);w&&await S(w)}async function S(p){const C=p.downHz||0,w=p.upHz||0;Qe.update(R=>({...R,downlinkHz:C,uplinkHz:w})),await ge.SetSatelliteFrequencies(C,w),p.mode&&f&&await ge.SetSatelliteMode(p.mode)}async function F(){await ge.StopTracking(),et.set(""),Lt.set([])}function A(){y=this.value,l(0,y)}const H=()=>l(0,y=""),z=()=>a&&Nl.update(p=>!p),b=()=>is.update(p=>!p),q=(p,C)=>{l(1,_=p),S(C)},M=p=>h(p),O=p=>h(p);return t.$$.update=()=>{t.$$.dirty[0]&16&&ge.SetTrackFreqMode(f),t.$$.dirty[0]&128&&ge.SetTrackAzimuth(v),t.$$.dirty[0]&65&&l(9,o=[...new Set(d)].filter(p=>!y||p.toLowerCase().includes(y.toLowerCase())||Mt(p).toLowerCase().includes(y.toLowerCase())).sort((p,C)=>Mt(p).localeCompare(Mt(C)))),t.$$.dirty[0]&32&&l(3,i=ho(u)),t.$$.dirty[0]&10&&i!=null&&i[_],t.$$.dirty[0]&8&&l(2,a=i&&i.length>0),t.$$.dirty[0]&20&&!a&&f&&Nl.set(!1),t.$$.dirty[0]&32&&l(8,r=Mt(u))},[y,_,a,i,f,u,d,v,r,o,m,h,S,F,A,H,z,b,q,M,O]}class ci extends jt{constructor(e){super(),Rt(this,e,ai,ii,St,{},null,[-1,-1])}}function Ln(t,e,l){const o=t.slice();o[14]=e[l].label,o[15]=e[l].az;const i=(o[15]-90)*Math.PI/180;return o[16]=i,o}function Tn(t,e,l){const o=t.slice();o[15]=e[l];const i=(o[15]-90)*Math.PI/180;return o[16]=i,o}function Rn(t,e,l){const o=t.slice();o[21]=e[l];const i=o[8]*(1-o[21]/90);return o[22]=i,o}function ri(t){let e,l,o;return{c(){e=Te("text"),l=k(t[21]),o=k("°"),n(e,"x",t[6]+4),n(e,"y",t[7]-t[22]+12),n(e,"fill","#9ab0c8"),n(e,"font-size","9"),n(e,"font-family","Inter,sans-serif")},m(i,a){T(i,e,a),s(e,l),s(e,o)},p:me,d(i){i&&L(e)}}}function jn(t){let e,l,o=t[21]>0&&t[21]<90&&ri(t);return{c(){e=Te("circle"),o&&o.c(),l=rt(),n(e,"cx",t[6]),n(e,"cy",t[7]),n(e,"r",t[22]),n(e,"fill","none"),n(e,"stroke",t[21]===0?"#c0ccd8":"#e8edf2"),n(e,"stroke-width",t[21]===0?1.5:1),n(e,"stroke-dasharray",t[21]===0?"none":"3,4")},m(i,a){T(i,e,a),o&&o.m(i,a),T(i,l,a)},p(i,a){i[21]>0&&i[21]<90&&o.p(i,a)},d(i){i&&(L(e),L(l)),o&&o.d(i)}}}function On(t){let e;return{c(){e=Te("line"),n(e,"x1",t[6]),n(e,"y1",t[7]),n(e,"x2",t[6]+t[8]*Math.cos(t[16])),n(e,"y2",t[7]+t[8]*Math.sin(t[16])),n(e,"stroke","#e8edf2"),n(e,"stroke-width","1")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Nn(t){let e,l=t[14]+"",o;return{c(){e=Te("text"),o=k(l),n(e,"x",t[6]+(t[8]+13)*Math.cos(t[16])),n(e,"y",t[7]+(t[8]+13)*Math.sin(t[16])+4),n(e,"text-anchor","middle"),n(e,"fill","#4a6a8a"),n(e,"font-size","11"),n(e,"font-family","Inter,sans-serif"),n(e,"font-weight","700")},m(i,a){T(i,e,a),s(e,o)},p:me,d(i){i&&L(e)}}}function qn(t){let e;return{c(){e=Te("path"),n(e,"d",t[5]),n(e,"fill","none"),n(e,"stroke","#1a5a9a"),n(e,"stroke-width","2"),n(e,"opacity","0.8"),n(e,"stroke-linecap","round")},m(l,o){T(l,e,o)},p(l,o){o&32&&n(e,"d",l[5])},d(l){l&&L(e)}}}function Pn(t){let e,l,o,i,a,r,f;return{c(){e=Te("circle"),i=Te("text"),a=k("AOS"),n(e,"cx",l=t[4].x),n(e,"cy",o=t[4].y),n(e,"r","4"),n(e,"fill","#1a9a50"),n(i,"x",r=t[4].x+6),n(i,"y",f=t[4].y+4),n(i,"fill","#1a9a50"),n(i,"font-size","8"),n(i,"font-family","Inter,sans-serif"),n(i,"font-weight","600")},m(u,d){T(u,e,d),T(u,i,d),s(i,a)},p(u,d){d&16&&l!==(l=u[4].x)&&n(e,"cx",l),d&16&&o!==(o=u[4].y)&&n(e,"cy",o),d&16&&r!==(r=u[4].x+6)&&n(i,"x",r),d&16&&f!==(f=u[4].y+4)&&n(i,"y",f)},d(u){u&&(L(e),L(i))}}}function Dn(t){let e,l,o,i,a,r,f;return{c(){e=Te("circle"),i=Te("text"),a=k("LOS"),n(e,"cx",l=t[3].x),n(e,"cy",o=t[3].y),n(e,"r","4"),n(e,"fill","#e05030"),n(i,"x",r=t[3].x+6),n(i,"y",f=t[3].y+4),n(i,"fill","#e05030"),n(i,"font-size","8"),n(i,"font-family","Inter,sans-serif"),n(i,"font-weight","600")},m(u,d){T(u,e,d),T(u,i,d),s(i,a)},p(u,d){d&8&&l!==(l=u[3].x)&&n(e,"cx",l),d&8&&o!==(o=u[3].y)&&n(e,"cy",o),d&8&&r!==(r=u[3].x+6)&&n(i,"x",r),d&8&&f!==(f=u[3].y+4)&&n(i,"y",f)},d(u){u&&(L(e),L(i))}}}function In(t){let e,l,o,i,a,r,f,u,d,v,m;return{c(){e=Te("circle"),l=Te("animate"),o=Te("animate"),r=Te("circle"),d=Te("circle"),n(l,"attributeName","r"),n(l,"from","8"),n(l,"to","18"),n(l,"dur","2s"),n(l,"repeatCount","indefinite"),n(o,"attributeName","opacity"),n(o,"from","0.5"),n(o,"to","0"),n(o,"dur","2s"),n(o,"repeatCount","indefinite"),n(e,"cx",i=t[2].x),n(e,"cy",a=t[2].y),n(e,"r","14"),n(e,"fill","none"),n(e,"stroke","#1a5a9a"),n(e,"stroke-width","1"),n(e,"opacity","0.3"),n(r,"cx",f=t[2].x),n(r,"cy",u=t[2].y),n(r,"r","5"),n(r,"fill","#1a5a9a"),n(d,"cx",v=t[2].x),n(d,"cy",m=t[2].y),n(d,"r","2.5"),n(d,"fill","white")},m(y,_){T(y,e,_),s(e,l),s(e,o),T(y,r,_),T(y,d,_)},p(y,_){_&4&&i!==(i=y[2].x)&&n(e,"cx",i),_&4&&a!==(a=y[2].y)&&n(e,"cy",a),_&4&&f!==(f=y[2].x)&&n(r,"cx",f),_&4&&u!==(u=y[2].y)&&n(r,"cy",u),_&4&&v!==(v=y[2].x)&&n(d,"cx",v),_&4&&m!==(m=y[2].y)&&n(d,"cy",m)},d(y){y&&(L(e),L(r),L(d))}}}function Bn(t){let e,l=t[1].replace(" (ZARYA)","")+"",o,i;return{c(){e=Te("text"),o=k(l),n(e,"x",t[6]),n(e,"y",i=t[0]-6),n(e,"text-anchor","middle"),n(e,"fill","#4a6a8a"),n(e,"font-size","10"),n(e,"font-family","Inter,sans-serif"),n(e,"font-weight","600")},m(a,r){T(a,e,r),s(e,o)},p(a,r){r&2&&l!==(l=a[1].replace(" (ZARYA)","")+"")&&U(o,l),r&1&&i!==(i=a[0]-6)&&n(e,"y",i)},d(a){a&&L(e)}}}function ui(t){let e,l,o,i,a,r,f,u,d,v,m,y,_=Ee([0,30,60,90]),h=[];for(let p=0;p<4;p+=1)h[p]=jn(Rn(t,_,p));let S=Ee([0,45,90,135,180,225,270,315]),F=[];for(let p=0;p<8;p+=1)F[p]=On(Tn(t,S,p));let A=Ee(t[9]),H=[];for(let p=0;p<A.length;p+=1)H[p]=Nn(Ln(t,A,p));let z=t[5]&&qn(t),b=t[4]&&Pn(t),q=t[3]&&Dn(t),M=t[2]&&In(t),O=t[1]&&Bn(t);return{c(){e=Te("svg"),l=Te("circle");for(let p=0;p<4;p+=1)h[p].c();o=rt();for(let p=0;p<8;p+=1)F[p].c();i=rt();for(let p=0;p<H.length;p+=1)H[p].c();a=rt(),z&&z.c(),r=rt(),b&&b.c(),f=rt(),q&&q.c(),u=rt(),M&&M.c(),d=Te("circle"),v=Te("line"),m=Te("line"),O&&O.c(),n(l,"cx",t[6]),n(l,"cy",t[7]),n(l,"r",t[8]+18),n(l,"fill","white"),n(l,"stroke","#e0e8f0"),n(l,"stroke-width","1"),n(d,"cx",t[6]),n(d,"cy",t[7]),n(d,"r","2"),n(d,"fill","#c0ccd8"),n(v,"x1",t[6]-5),n(v,"y1",t[7]),n(v,"x2",t[6]+5),n(v,"y2",t[7]),n(v,"stroke","#c0ccd8"),n(v,"stroke-width","1"),n(m,"x1",t[6]),n(m,"y1",t[7]-5),n(m,"x2",t[6]),n(m,"y2",t[7]+5),n(m,"stroke","#c0ccd8"),n(m,"stroke-width","1"),n(e,"width",t[0]),n(e,"height",t[0]),n(e,"viewBox",y="0 0 "+t[0]+" "+t[0]),n(e,"class","polar svelte-a2nkkl")},m(p,C){T(p,e,C),s(e,l);for(let w=0;w<4;w+=1)h[w]&&h[w].m(e,null);s(e,o);for(let w=0;w<8;w+=1)F[w]&&F[w].m(e,null);s(e,i);for(let w=0;w<H.length;w+=1)H[w]&&H[w].m(e,null);s(e,a),z&&z.m(e,null),s(e,r),b&&b.m(e,null),s(e,f),q&&q.m(e,null),s(e,u),M&&M.m(e,null),s(e,d),s(e,v),s(e,m),O&&O.m(e,null)},p(p,[C]){if(C&448){_=Ee([0,30,60,90]);let w;for(w=0;w<4;w+=1){const R=Rn(p,_,w);h[w]?h[w].p(R,C):(h[w]=jn(R),h[w].c(),h[w].m(e,o))}for(;w<4;w+=1)h[w].d(1)}if(C&448){S=Ee([0,45,90,135,180,225,270,315]);let w;for(w=0;w<8;w+=1){const R=Tn(p,S,w);F[w]?F[w].p(R,C):(F[w]=On(R),F[w].c(),F[w].m(e,i))}for(;w<8;w+=1)F[w].d(1)}if(C&960){A=Ee(p[9]);let w;for(w=0;w<A.length;w+=1){const R=Ln(p,A,w);H[w]?H[w].p(R,C):(H[w]=Nn(R),H[w].c(),H[w].m(e,a))}for(;w<H.length;w+=1)H[w].d(1);H.length=A.length}p[5]?z?z.p(p,C):(z=qn(p),z.c(),z.m(e,r)):z&&(z.d(1),z=null),p[4]?b?b.p(p,C):(b=Pn(p),b.c(),b.m(e,f)):b&&(b.d(1),b=null),p[3]?q?q.p(p,C):(q=Dn(p),q.c(),q.m(e,u)):q&&(q.d(1),q=null),p[2]?M?M.p(p,C):(M=In(p),M.c(),M.m(e,d)):M&&(M.d(1),M=null),p[1]?O?O.p(p,C):(O=Bn(p),O.c(),O.m(e,null)):O&&(O.d(1),O=null),C&1&&n(e,"width",p[0]),C&1&&n(e,"height",p[0]),C&1&&y!==(y="0 0 "+p[0]+" "+p[0])&&n(e,"viewBox",y)},i:me,o:me,d(p){p&&L(e),$e(h,p),$e(F,p),$e(H,p),z&&z.d(),b&&b.d(),q&&q.d(),M&&M.d(),O&&O.d()}}}function fi(t,e,l){let o,i,a,r,{points:f=[]}=e,{currentAz:u=null}=e,{currentEl:d=null}=e,{size:v=260}=e,{satName:m=""}=e;const y=v/2,_=v/2,h=v/2-20;function S(A,H){const z=Math.max(0,Math.min(90,H)),b=h*(1-z/90),q=(A-90)*Math.PI/180;return{x:y+b*Math.cos(q),y:_+b*Math.sin(q)}}const F=[{label:"N",az:0},{label:"E",az:90},{label:"S",az:180},{label:"O",az:270}];return t.$$set=A=>{"points"in A&&l(10,f=A.points),"currentAz"in A&&l(11,u=A.currentAz),"currentEl"in A&&l(12,d=A.currentEl),"size"in A&&l(0,v=A.size),"satName"in A&&l(1,m=A.satName)},t.$$.update=()=>{t.$$.dirty&1024&&l(5,o=(()=>{if(!f||f.length<2)return"";const A=f.filter(H=>H.el>=0);return A.length<2?"":A.map((H,z)=>{const{x:b,y:q}=S(H.az,H.el);return(z===0?"M":"L")+`${b.toFixed(1)},${q.toFixed(1)}`}).join(" ")})()),t.$$.dirty&1024&&l(4,i=(f==null?void 0:f.length)>0?S(f[0].az,Math.max(0,f[0].el)):null),t.$$.dirty&1024&&l(3,a=(f==null?void 0:f.length)>0?S(f[f.length-1].az,Math.max(0,f[f.length-1].el)):null),t.$$.dirty&6144&&l(2,r=u!==null&&d!==null&&d>=0?S(u,d):null)},[v,m,r,a,i,o,y,_,h,F,f,u,d]}class go extends jt{constructor(e){super(),Rt(this,e,fi,ui,St,{points:10,currentAz:11,currentEl:12,size:0,satName:1})}}function di(t){const e=t.slice(),l=vo(e[2].maxEl);e[30]=l;const o=e[12](e[2]);return e[31]=o,e}function Un(t,e,l){var d;const o=t.slice();o[32]=e[l];const i=vo(o[32].maxEl);o[30]=i;const a=o[11](o[32]);o[33]=a;const r=o[12](o[32]);o[31]=r;const f=o[13](o[32]);o[34]=f;const u=((d=o[2])==null?void 0:d.aos)===o[32].aos&&o[8]===o[32].satName;return o[35]=u,o}function Wn(t,e,l){const o=t.slice();return o[38]=e[l],o}function Vn(t){let e,l=t[38].label+"",o,i,a,r,f;function u(){return t[22](t[38])}return{c(){e=c("button"),o=k(l),i=g(),n(e,"class",a="elfbtn "+(t[5]===t[38].value?"on":"")+" svelte-6yjp6y")},m(d,v){T(d,e,v),s(e,o),s(e,i),r||(f=le(e,"click",u),r=!0)},p(d,v){t=d,v[0]&32&&a!==(a="elfbtn "+(t[5]===t[38].value?"on":"")+" svelte-6yjp6y")&&n(e,"class",a)},d(d){d&&L(e),r=!1,f()}}}function pi(t){let e=t[4].length+"",l,o;return{c(){l=k(e),o=k(" passes / 24h")},m(i,a){T(i,l,a),T(i,o,a)},p(i,a){a[0]&16&&e!==(e=i[4].length+"")&&U(l,e)},d(i){i&&(L(l),L(o))}}}function vi(t){let e;return{c(){e=c("span"),e.textContent="Loading…",n(e,"class","loading svelte-6yjp6y")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function _i(t){let e,l=[],o=new Map,i=Ee(t[4]);const a=r=>r[32].aos+r[32].satName;for(let r=0;r<i.length;r+=1){let f=Un(t,i,r),u=a(f);o.set(u,l[r]=Yn(u,f))}return{c(){e=c("div");for(let r=0;r<l.length;r+=1)l[r].c();n(e,"class","pass-rows svelte-6yjp6y")},m(r,f){T(r,e,f);for(let u=0;u<l.length;u+=1)l[u]&&l[u].m(e,null)},p(r,f){f[0]&32148&&(i=Ee(r[4]),l=Ho(l,f,a,1,r,i,o,e,Mo,Yn,null,Un))},d(r){r&&L(e);for(let f=0;f<l.length;f+=1)l[f].d()}}}function hi(t){let e,l,o=t[5]>0?` with elevation ≥ ${t[5]}°`:"",i,a;return{c(){e=c("div"),l=k("No pass"),i=k(o),a=k(" in the next 24 hours"),n(e,"class","empty svelte-6yjp6y")},m(r,f){T(r,e,f),s(e,l),s(e,i),s(e,a)},p(r,f){f[0]&32&&o!==(o=r[5]>0?` with elevation ≥ ${r[5]}°`:"")&&U(i,o)},d(r){r&&L(e)}}}function gi(t){let e;return{c(){e=c("div"),e.textContent="Select a satellite to view its passes",n(e,"class","empty svelte-6yjp6y")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Gn(t){let e,l=t[32].satName+"",o,i,a;return{c(){e=c("div"),o=k(l),i=g(),a=c("span"),a.textContent="double-click to track",n(a,"class","dbl-hint svelte-6yjp6y"),n(e,"class","pass-sat svelte-6yjp6y")},m(r,f){T(r,e,f),s(e,o),s(e,i),s(e,a)},p(r,f){f[0]&16&&l!==(l=r[32].satName+"")&&U(o,l)},d(r){r&&L(e)}}}function Xn(t){let e;return{c(){e=c("span"),n(e,"class","live-dot svelte-6yjp6y")},m(l,o){T(l,e,o)},d(l){l&&L(e)}}}function Kn(t){let e,l;return{c(){e=c("div"),l=c("div"),n(l,"class","progress-fill svelte-6yjp6y"),it(l,"width",t[34]+"%"),n(e,"class","progress-bar svelte-6yjp6y")},m(o,i){T(o,e,i),s(e,l)},p(o,i){i[0]&16&&it(l,"width",o[34]+"%")},d(o){o&&L(e)}}}function Yn(t,e){let l,o,i,a,r,f=gt(e[32].aos)+"",u,d,v,m,y,_,h=e[31].label+"",S,F,A,H=Xl(e[31].secs)+"",z,b,q,M,O,p,C,w=Wl(e[32].maxEl)+"",R,V,X,E,j,B=Vl(e[32].duration)+"",se,W,Z,G=e[30].label+"",ae,fe,ne,$,x,Y,N,I=Ze(e[32].aosAz)+"",Q,K,ee,te,D,ce=Ze(e[32].maxElAz)+"",re,_e,J,ie,he,Ce=Ze(e[32].losAz)+"",be,He,Oe,Pe,pe,de=e[7]==="all"&&Gn(e),ze=e[31].live&&Xn(),Fe=e[33]&&e[34]>0&&Kn(e);function Be(){return e[23](e[32])}function wt(){return e[24](e[32])}return{key:t,first:null,c(){l=c("div"),de&&de.c(),o=g(),i=c("div"),a=c("div"),r=c("span"),u=k(f),d=k(" UTC"),v=g(),m=c("div"),ze&&ze.c(),y=g(),_=c("span"),S=k(h),F=g(),A=c("span"),z=k(H),q=g(),Fe&&Fe.c(),M=g(),O=c("div"),p=c("span"),C=k("▲ "),R=k(w),X=g(),E=c("span"),j=k("⏱ "),se=k(B),W=g(),Z=c("span"),ae=k(G),ne=g(),$=c("div"),x=c("div"),Y=c("span"),Y.textContent="AOS",N=c("span"),Q=k(I),K=g(),ee=c("div"),te=c("span"),te.textContent="MAX",D=c("span"),re=k(ce),_e=g(),J=c("div"),ie=c("span"),ie.textContent="LOS",he=c("span"),be=k(Ce),He=g(),n(r,"class","pass-time svelte-6yjp6y"),n(A,"class","cd-val svelte-6yjp6y"),n(m,"class",b="countdown "+(e[31].live?"live":e[31].secs<300?"soon":"")+" svelte-6yjp6y"),n(a,"class","pass-left svelte-6yjp6y"),n(p,"class",V="max-el "+e[30].cls+" svelte-6yjp6y"),n(E,"class","duration svelte-6yjp6y"),n(Z,"class",fe="quality-badge "+e[30].cls+" svelte-6yjp6y"),n(O,"class","pass-center svelte-6yjp6y"),n(Y,"class","az-lbl svelte-6yjp6y"),n(N,"class","az-val svelte-6yjp6y"),n(x,"class","az-row svelte-6yjp6y"),n(te,"class","az-lbl svelte-6yjp6y"),n(D,"class","az-val svelte-6yjp6y"),n(ee,"class","az-row svelte-6yjp6y"),n(ie,"class","az-lbl svelte-6yjp6y"),n(he,"class","az-val svelte-6yjp6y"),n(J,"class","az-row svelte-6yjp6y"),n($,"class","pass-right svelte-6yjp6y"),n(i,"class","pass-body svelte-6yjp6y"),n(l,"class",Oe="pass-row "+(e[35]?"selected":"")+" "+(e[33]?"active":"")+" svelte-6yjp6y"),this.first=l},m(Le,Ae){T(Le,l,Ae),de&&de.m(l,null),s(l,o),s(l,i),s(i,a),s(a,r),s(r,u),s(r,d),s(a,v),s(a,m),ze&&ze.m(m,null),s(m,y),s(m,_),s(_,S),s(m,F),s(m,A),s(A,z),s(a,q),Fe&&Fe.m(a,null),s(i,M),s(i,O),s(O,p),s(p,C),s(p,R),s(O,X),s(O,E),s(E,j),s(E,se),s(O,W),s(O,Z),s(Z,ae),s(i,ne),s(i,$),s($,x),s(x,Y),s(x,N),s(N,Q),s($,K),s($,ee),s(ee,te),s(ee,D),s(D,re),s($,_e),s($,J),s(J,ie),s(J,he),s(he,be),s(l,He),Pe||(pe=[le(l,"click",Be),le(l,"dblclick",wt)],Pe=!0)},p(Le,Ae){e=Le,e[7]==="all"?de?de.p(e,Ae):(de=Gn(e),de.c(),de.m(l,o)):de&&(de.d(1),de=null),Ae[0]&16&&f!==(f=gt(e[32].aos)+"")&&U(u,f),e[31].live?ze||(ze=Xn(),ze.c(),ze.m(m,y)):ze&&(ze.d(1),ze=null),Ae[0]&16&&h!==(h=e[31].label+"")&&U(S,h),Ae[0]&16&&H!==(H=Xl(e[31].secs)+"")&&U(z,H),Ae[0]&16&&b!==(b="countdown "+(e[31].live?"live":e[31].secs<300?"soon":"")+" svelte-6yjp6y")&&n(m,"class",b),e[33]&&e[34]>0?Fe?Fe.p(e,Ae):(Fe=Kn(e),Fe.c(),Fe.m(a,null)):Fe&&(Fe.d(1),Fe=null),Ae[0]&16&&w!==(w=Wl(e[32].maxEl)+"")&&U(R,w),Ae[0]&16&&V!==(V="max-el "+e[30].cls+" svelte-6yjp6y")&&n(p,"class",V),Ae[0]&16&&B!==(B=Vl(e[32].duration)+"")&&U(se,B),Ae[0]&16&&G!==(G=e[30].label+"")&&U(ae,G),Ae[0]&16&&fe!==(fe="quality-badge "+e[30].cls+" svelte-6yjp6y")&&n(Z,"class",fe),Ae[0]&16&&I!==(I=Ze(e[32].aosAz)+"")&&U(Q,I),Ae[0]&16&&ce!==(ce=Ze(e[32].maxElAz)+"")&&U(re,ce),Ae[0]&16&&Ce!==(Ce=Ze(e[32].losAz)+"")&&U(be,Ce),Ae[0]&276&&Oe!==(Oe="pass-row "+(e[35]?"selected":"")+" "+(e[33]?"active":"")+" svelte-6yjp6y")&&n(l,"class",Oe)},d(Le){Le&&L(l),de&&de.d(),ze&&ze.d(),Fe&&Fe.d(),Pe=!1,Xe(pe)}}}function mi(t){let e;return{c(){e=c("div"),e.textContent="Select a pass",n(e,"class","empty svelte-6yjp6y"),it(e,"padding","20px"),it(e,"text-align","center")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Qn(t){let e,l,o,i=gt(t[2].aos)+"",a,r,f,u,d,v,m=t[31].label+"",y,_,h,S=Xl(t[31].secs)+"",F,A,H,z,b,q,M,O=gt(t[2].aos)+"",p,C,w,R,V,X,E=gt(t[2].los)+"",j,B,se,W,Z,G,ae=Vl(t[2].duration)+"",fe,ne,$,x,Y,N=Wl(t[2].maxEl)+"",I,Q,K,ee,te,D,ce=Ze(t[2].maxElAz)+"",re,_e,J,ie,he,Ce=Ze(t[2].aosAz)+"",be,He,Oe,Pe,pe,de=Ze(t[2].losAz)+"",ze,Fe,Be,wt,Le,Ae=t[30].label+"",Ot,qe,Re=t[7]==="all"&&Jn(t),De=t[31].live&&Zn();return{c(){e=c("div"),Re&&Re.c(),l=g(),o=c("div"),a=k(i),r=k(" UTC"),f=g(),u=c("div"),De&&De.c(),d=g(),v=c("span"),y=k(m),_=g(),h=c("span"),F=k(S),H=g(),z=c("div"),b=c("span"),b.textContent="AOS",q=g(),M=c("span"),p=k(O),C=k(" UTC"),w=g(),R=c("span"),R.textContent="LOS",V=g(),X=c("span"),j=k(E),B=k(" UTC"),se=g(),W=c("span"),W.textContent="Duration",Z=g(),G=c("span"),fe=k(ae),ne=g(),$=c("span"),$.textContent="Max El",x=g(),Y=c("span"),I=k(N),K=g(),ee=c("span"),ee.textContent="Az Max El",te=g(),D=c("span"),re=k(ce),_e=g(),J=c("span"),J.textContent="AOS Az",ie=g(),he=c("span"),be=k(Ce),He=g(),Oe=c("span"),Oe.textContent="LOS Az",Pe=g(),pe=c("span"),ze=k(de),Fe=g(),Be=c("span"),Be.textContent="Quality",wt=g(),Le=c("span"),Ot=k(Ae),n(o,"class","detail-title svelte-6yjp6y"),n(v,"class","cd-label svelte-6yjp6y"),n(h,"class","cd-big svelte-6yjp6y"),n(u,"class",A="detail-countdown "+(t[31].live?"live":t[31].secs<300?"soon":"")+" svelte-6yjp6y"),n(b,"class","dk svelte-6yjp6y"),n(M,"class","dv svelte-6yjp6y"),n(R,"class","dk svelte-6yjp6y"),n(X,"class","dv svelte-6yjp6y"),n(W,"class","dk svelte-6yjp6y"),n(G,"class","dv svelte-6yjp6y"),n($,"class","dk svelte-6yjp6y"),n(Y,"class",Q="dv "+t[30].cls+" svelte-6yjp6y"),n(ee,"class","dk svelte-6yjp6y"),n(D,"class","dv svelte-6yjp6y"),n(J,"class","dk svelte-6yjp6y"),n(he,"class","dv svelte-6yjp6y"),n(Oe,"class","dk svelte-6yjp6y"),n(pe,"class","dv svelte-6yjp6y"),n(Be,"class","dk svelte-6yjp6y"),n(Le,"class",qe="dv "+t[30].cls+" svelte-6yjp6y"),n(z,"class","detail-grid svelte-6yjp6y"),n(e,"class","detail-box svelte-6yjp6y")},m(ye,Me){T(ye,e,Me),Re&&Re.m(e,null),s(e,l),s(e,o),s(o,a),s(o,r),s(e,f),s(e,u),De&&De.m(u,null),s(u,d),s(u,v),s(v,y),s(u,_),s(u,h),s(h,F),s(e,H),s(e,z),s(z,b),s(z,q),s(z,M),s(M,p),s(M,C),s(z,w),s(z,R),s(z,V),s(z,X),s(X,j),s(X,B),s(z,se),s(z,W),s(z,Z),s(z,G),s(G,fe),s(z,ne),s(z,$),s(z,x),s(z,Y),s(Y,I),s(z,K),s(z,ee),s(z,te),s(z,D),s(D,re),s(z,_e),s(z,J),s(z,ie),s(z,he),s(he,be),s(z,He),s(z,Oe),s(z,Pe),s(z,pe),s(pe,ze),s(z,Fe),s(z,Be),s(z,wt),s(z,Le),s(Le,Ot)},p(ye,Me){ye[7]==="all"?Re?Re.p(ye,Me):(Re=Jn(ye),Re.c(),Re.m(e,l)):Re&&(Re.d(1),Re=null),Me[0]&4&&i!==(i=gt(ye[2].aos)+"")&&U(a,i),ye[31].live?De||(De=Zn(),De.c(),De.m(u,d)):De&&(De.d(1),De=null),Me[0]&4&&m!==(m=ye[31].label+"")&&U(y,m),Me[0]&4&&S!==(S=Xl(ye[31].secs)+"")&&U(F,S),Me[0]&4&&A!==(A="detail-countdown "+(ye[31].live?"live":ye[31].secs<300?"soon":"")+" svelte-6yjp6y")&&n(u,"class",A),Me[0]&4&&O!==(O=gt(ye[2].aos)+"")&&U(p,O),Me[0]&4&&E!==(E=gt(ye[2].los)+"")&&U(j,E),Me[0]&4&&ae!==(ae=Vl(ye[2].duration)+"")&&U(fe,ae),Me[0]&4&&N!==(N=Wl(ye[2].maxEl)+"")&&U(I,N),Me[0]&4&&Q!==(Q="dv "+ye[30].cls+" svelte-6yjp6y")&&n(Y,"class",Q),Me[0]&4&&ce!==(ce=Ze(ye[2].maxElAz)+"")&&U(re,ce),Me[0]&4&&Ce!==(Ce=Ze(ye[2].aosAz)+"")&&U(be,Ce),Me[0]&4&&de!==(de=Ze(ye[2].losAz)+"")&&U(ze,de),Me[0]&4&&Ae!==(Ae=ye[30].label+"")&&U(Ot,Ae),Me[0]&4&&qe!==(qe="dv "+ye[30].cls+" svelte-6yjp6y")&&n(Le,"class",qe)},d(ye){ye&&L(e),Re&&Re.d(),De&&De.d()}}}function Jn(t){let e,l;return{c(){e=c("div"),l=k(t[8]),n(e,"class","detail-satname svelte-6yjp6y")},m(o,i){T(o,e,i),s(e,l)},p(o,i){i[0]&256&&U(l,o[8])},d(o){o&&L(e)}}}function Zn(t){let e;return{c(){e=c("span"),n(e,"class","live-dot svelte-6yjp6y")},m(l,o){T(l,e,o)},d(l){l&&L(e)}}}function bi(t){var Y;let e,l,o,i,a,r,f,u,d,v,m,y,_,h,S,F,A=t[7]==="single"?`PASSES — ${t[6]||"—"}`:"ALL PASSES — WATCHLIST",H,z,b,q,M,O,p,C,w,R,V,X,E=Ee(t[15]),j=[];for(let N=0;N<E.length;N+=1)j[N]=Vn(Wn(t,E,N));function B(N,I){return N[3]?vi:pi}let se=B(t),W=se(t);function Z(N,I){return N[7]==="single"&&!N[6]?gi:N[4].length===0&&!N[3]?hi:_i}let G=Z(t),ae=G(t);C=new go({props:{points:((Y=t[2])==null?void 0:Y.points)||[],currentAz:t[0],currentEl:t[1],satName:t[8]||t[6],size:220}});function fe(N,I){return N[2]?Qn:mi}function ne(N,I){return I===Qn?di(N):N}let $=fe(t),x=$(ne(t,$));return{c(){e=c("div"),l=c("div"),o=c("div"),i=c("div"),a=c("button"),r=k("This satellite"),u=g(),d=c("button"),v=k("All watchlist"),y=g(),_=c("div");for(let N=0;N<j.length;N+=1)j[N].c();h=g(),S=c("div"),F=c("span"),H=k(A),z=g(),b=c("span"),W.c(),q=g(),ae.c(),M=g(),O=c("div"),p=c("div"),Ht(C.$$.fragment),w=g(),x.c(),n(a,"class",f="vbtn "+(t[7]==="single"?"on":"")+" svelte-6yjp6y"),n(d,"class",m="vbtn "+(t[7]==="all"?"on":"")+" svelte-6yjp6y"),n(i,"class","view-toggle svelte-6yjp6y"),n(_,"class","el-filters svelte-6yjp6y"),n(o,"class","toolbar svelte-6yjp6y"),n(F,"class","hdr-title svelte-6yjp6y"),n(b,"class","hdr-count svelte-6yjp6y"),n(S,"class","list-hdr svelte-6yjp6y"),n(l,"class","pass-list svelte-6yjp6y"),n(p,"class","polar-wrap svelte-6yjp6y"),n(O,"class","pass-detail svelte-6yjp6y"),n(e,"class","panel svelte-6yjp6y")},m(N,I){T(N,e,I),s(e,l),s(l,o),s(o,i),s(i,a),s(a,r),s(i,u),s(i,d),s(d,v),s(o,y),s(o,_);for(let Q=0;Q<j.length;Q+=1)j[Q]&&j[Q].m(_,null);s(l,h),s(l,S),s(S,F),s(F,H),s(S,z),s(S,b),W.m(b,null),s(l,q),ae.m(l,null),s(e,M),s(e,O),s(O,p),bt(C,p,null),s(O,w),x.m(O,null),R=!0,V||(X=[le(a,"click",t[20]),le(d,"click",t[21])],V=!0)},p(N,I){var K;if((!R||I[0]&128&&f!==(f="vbtn "+(N[7]==="single"?"on":"")+" svelte-6yjp6y"))&&n(a,"class",f),(!R||I[0]&128&&m!==(m="vbtn "+(N[7]==="all"?"on":"")+" svelte-6yjp6y"))&&n(d,"class",m),I[0]&32804){E=Ee(N[15]);let ee;for(ee=0;ee<E.length;ee+=1){const te=Wn(N,E,ee);j[ee]?j[ee].p(te,I):(j[ee]=Vn(te),j[ee].c(),j[ee].m(_,null))}for(;ee<j.length;ee+=1)j[ee].d(1);j.length=E.length}(!R||I[0]&192)&&A!==(A=N[7]==="single"?`PASSES — ${N[6]||"—"}`:"ALL PASSES — WATCHLIST")&&U(H,A),se===(se=B(N))&&W?W.p(N,I):(W.d(1),W=se(N),W&&(W.c(),W.m(b,null))),G===(G=Z(N))&&ae?ae.p(N,I):(ae.d(1),ae=G(N),ae&&(ae.c(),ae.m(l,null)));const Q={};I[0]&4&&(Q.points=((K=N[2])==null?void 0:K.points)||[]),I[0]&1&&(Q.currentAz=N[0]),I[0]&2&&(Q.currentEl=N[1]),I[0]&320&&(Q.satName=N[8]||N[6]),C.$set(Q),$===($=fe(N))&&x?x.p(ne(N,$),I):(x.d(1),x=$(ne(N,$)),x&&(x.c(),x.m(O,null)))},i(N){R||(Ne(C.$$.fragment,N),R=!0)},o(N){Ye(C.$$.fragment,N),R=!1},d(N){N&&L(e),$e(j,N),W.d(),ae.d(),yt(C),x.d(),V=!1,Xe(X)}}}function Xl(t){if(t<=0)return"00:00";const e=Math.floor(t/3600),l=Math.floor(t%3600/60),o=t%60;return e>0?`${e}h ${String(l).padStart(2,"0")}m`:`${String(l).padStart(2,"0")}:${String(o).padStart(2,"0")}`}function yi(t,e,l){let o,i,a,r,f,u,d,v;ve(t,tn,E=>l(5,a=E)),ve(t,Pl,E=>l(18,r=E)),ve(t,et,E=>l(6,f=E)),ve(t,Lt,E=>l(19,u=E)),ve(t,os,E=>l(7,d=E)),ve(t,Jt,E=>l(29,v=E));let{currentAz:m=null}=e,{currentEl:y=null}=e,_=Date.now(),h,S=null,F=null,A=!1;cl(()=>{h=setInterval(()=>{l(16,_=Date.now())},1e3)}),Kl(()=>clearInterval(h));async function H(){if(A)return;l(3,A=!0),Pl.set([]);const E=v,j=await Promise.all(E.map(async B=>{try{return(await ge.GetPasses(B,24)||[]).map(W=>({...W,satName:B}))}catch{return[]}}));Pl.set(j.flat()),l(3,A=!1)}function z(E){l(2,S=E),l(8,F=E.satName)}function b(E){const j=new Date(E.aos).getTime(),B=new Date(E.los).getTime();return _>=j&&_<=B}function q(E){const j=new Date(E.aos).getTime(),B=new Date(E.los).getTime();return _>=j&&_<=B?{label:"LOS in",secs:Math.floor((B-_)/1e3),live:!0}:{label:"AOS in",secs:Math.floor((j-_)/1e3),live:!1}}function M(E){const j=new Date(E.aos).getTime(),B=new Date(E.los).getTime();return _<j||_>B?0:Math.round((_-j)/(B-j)*100)}async function O(E){if(!E)return;et.set(E);const j=await ge.GetPasses(E,24);Lt.set(j||[]),await ge.StartTracking(E)}const p=[{label:"All",value:0},{label:"≥ 10°",value:10},{label:"≥ 30°",value:30},{label:"≥ 60° Excellent",value:60}],C=()=>{os.set("single"),l(2,S=null)},w=()=>{os.set("all"),l(2,S=null),H()},R=E=>{tn.set(E.value),l(2,S=null)},V=E=>z(E),X=E=>O(E.satName);return t.$$set=E=>{"currentAz"in E&&l(0,m=E.currentAz),"currentEl"in E&&l(1,y=E.currentEl)},t.$$.update=()=>{t.$$.dirty[0]&128,t.$$.dirty[0]&32,t.$$.dirty[0]&262144,t.$$.dirty[0]&262280&&d==="all"&&r.length===0&&!A&&H(),t.$$.dirty[0]&786624&&l(17,o=d==="single"?(u||[]).map(E=>({...E,satName:f})):r),t.$$.dirty[0]&196640&&l(4,i=o.filter(E=>!(new Date(E.los).getTime()<=_||E.maxEl<a)).sort((E,j)=>new Date(E.aos)-new Date(j.aos))),t.$$.dirty[0]&20&&i.length>0&&!S&&(l(2,S=i[0]),l(8,F=i[0].satName))},[m,y,S,A,i,a,f,d,F,H,z,b,q,M,O,p,_,o,r,u,C,w,R,V,X]}class ki extends jt{constructor(e){super(),Rt(this,e,yi,bi,St,{currentAz:0,currentEl:1},null,[-1,-1])}}function Si(t){const e=t.trim().toUpperCase();if(!/^[A-R]{2}[0-9]{2}([A-X]{2}([0-9]{2})?)?$/.test(e))return null;const l=(e.charCodeAt(0)-65)*20-180,o=(e.charCodeAt(1)-65)*10-90;let i=l+parseInt(e[2])*2,a=o+parseInt(e[3])*1;return e.length>=6?(i+=(e.charCodeAt(4)-65)*(2/24),a+=(e.charCodeAt(5)-65)*(1/24),i+=1/24,a+=.5/24):(i+=1,a+=.5),e.length>=8&&(i+=parseInt(e[6])*(2/240),a+=parseInt(e[7])*(1/240),i+=1/240,a+=.5/240),{lat:parseFloat(a.toFixed(6)),lon:parseFloat(i.toFixed(6))}}function wi(t,e){e+=180,t+=90;const l="ABCDEFGHIJKLMNOPQRSTUVWX",o=String.fromCharCode(65+Math.floor(e/20)),i=String.fromCharCode(65+Math.floor(t/10)),a=Math.floor(e%20/2),r=Math.floor(t%10),f=l[Math.floor(e%2/(2/24))],u=l[Math.floor(t%1/(1/24))];return`${o}${i}${a}${r}${f.toLowerCase()}${u.toLowerCase()}`}function $n(t,e,l){const o=t.slice();return o[43]=e[l],o}function Ai(t,e,l){const o=t.slice();return o[46]=e[l],o[48]=l,o}function zi(t,e,l){const o=t.slice();return o[46]=e[l],o[48]=l,o}function xn(t){let e,l;return{c(){e=c("span"),l=k(t[5]),n(e,"class","err svelte-gdggj1")},m(o,i){T(o,e,i),s(e,l)},p(o,i){i[0]&32&&U(l,o[5])},d(o){o&&L(e)}}}function Ei(t){let e,l,o;return{c(){e=c("button"),e.textContent="Connect",n(e,"class","btn-primary svelte-gdggj1")},m(i,a){T(i,e,a),l||(o=le(e,"click",t[19]),l=!0)},p:me,d(i){i&&L(e),l=!1,o()}}}function Ci(t){let e,l,o;return{c(){e=c("button"),e.textContent="Disconnect",n(e,"class","btn-danger svelte-gdggj1")},m(i,a){T(i,e,a),l||(o=le(e,"click",t[20]),l=!0)},p:me,d(i){i&&L(e),l=!1,o()}}}function eo(t){let e,l,o;return{c(){e=c("span"),l=k(t[2]),n(e,"class",o="status "+(t[2].includes("✓")||t[2].includes("Slice")?"ok-txt":"err-txt")+" svelte-gdggj1")},m(i,a){T(i,e,a),s(e,l)},p(i,a){a[0]&4&&U(l,i[2]),a[0]&4&&o!==(o="status "+(i[2].includes("✓")||i[2].includes("Slice")?"ok-txt":"err-txt")+" svelte-gdggj1")&&n(e,"class",o)},d(i){i&&L(e)}}}function Fi(t){let e;return{c(){e=c("option"),e.textContent=`Slice ${t[46]}`,e.__value=t[48],we(e,e.__value)},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Mi(t){let e;return{c(){e=c("option"),e.textContent=`Slice ${t[46]}`,e.__value=t[48],we(e,e.__value)},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function Hi(t){let e,l,o;return{c(){e=c("button"),e.textContent="Connect",n(e,"class","btn-primary svelte-gdggj1")},m(i,a){T(i,e,a),l||(o=le(e,"click",t[21]),l=!0)},p:me,d(i){i&&L(e),l=!1,o()}}}function Li(t){let e,l,o;return{c(){e=c("button"),e.textContent="Disconnect",n(e,"class","btn-danger svelte-gdggj1")},m(i,a){T(i,e,a),l||(o=le(e,"click",t[22]),l=!0)},p:me,d(i){i&&L(e),l=!1,o()}}}function to(t){let e,l,o;return{c(){e=c("span"),l=k(t[3]),n(e,"class",o="status "+(t[3].includes("✓")?"ok-txt":"err-txt")+" svelte-gdggj1")},m(i,a){T(i,e,a),s(e,l)},p(i,a){a[0]&8&&U(l,i[3]),a[0]&8&&o!==(o="status "+(i[3].includes("✓")?"ok-txt":"err-txt")+" svelte-gdggj1")&&n(e,"class",o)},d(i){i&&L(e)}}}function lo(t){let e,l=t[43].name+"",o,i,a=t[43].lang+"",r,f,u;return{c(){e=c("option"),o=k(l),i=k(" ("),r=k(a),f=k(")"),e.__value=u=t[43].name,we(e,e.__value)},m(d,v){T(d,e,v),s(e,o),s(e,i),s(e,r),s(e,f)},p(d,v){v[0]&512&&l!==(l=d[43].name+"")&&U(o,l),v[0]&512&&a!==(a=d[43].lang+"")&&U(r,a),v[0]&512&&u!==(u=d[43].name)&&(e.__value=u,we(e,e.__value))},d(d){d&&L(e)}}}function Ti(t){let e,l=t[9].length+"",o,i,a=t[9].length>1?"s":"",r,f;return{c(){e=c("p"),o=k(l),i=k(" English voice"),r=k(a),f=k(" available. Recommended: Microsoft David or Zira."),n(e,"class","hint svelte-gdggj1")},m(u,d){T(u,e,d),s(e,o),s(e,i),s(e,r),s(e,f)},p(u,d){d[0]&512&&l!==(l=u[9].length+"")&&U(o,l),d[0]&512&&a!==(a=u[9].length>1?"s":"")&&U(r,a)},d(u){u&&L(e)}}}function Ri(t){let e;return{c(){e=c("p"),e.textContent="No voices detected. Install English voices via Windows Settings → Speech.",n(e,"class","hint svelte-gdggj1")},m(l,o){T(l,e,o)},p:me,d(l){l&&L(e)}}}function so(t){let e,l,o;return{c(){e=c("span"),l=k(t[4]),n(e,"class",o="status "+(t[4].includes("✓")?"ok-txt":"err-txt")+" svelte-gdggj1")},m(i,a){T(i,e,a),s(e,l)},p(i,a){a[0]&16&&U(l,i[4]),a[0]&16&&o!==(o="status "+(i[4].includes("✓")?"ok-txt":"err-txt")+" svelte-gdggj1")&&n(e,"class",o)},d(i){i&&L(e)}}}function ji(t){let e,l,o,i,a,r,f,u,d,v,m,y,_,h,S,F,A,H,z,b=(t[11]||"—")+"",q,M,O,p,C,w,R,V,X,E,j,B,se,W,Z,G,ae,fe,ne=t[1]?"Saving…":"💾 Save QTH",$,x,Y,N,I,Q,K,ee=t[12]?"CONNECTED":"OFFLINE",te,D,ce,re,_e,J,ie,he,Ce,be,He,Oe,Pe,pe,de=t[0].autoConnectFlex?"✓":"○",ze,Fe,Be,wt,Le,Ae,Ot,qe,Re,De,ye,Me,ms,ut,bs,Nt,rl,ys,ft,ks,Zt,Ss,ul,ws,Je,qt,fl,As,$t,dl=t[13]?"CONNECTED":"OFFLINE",Yl,pl,zs,tt,vl,Es,ct,Cs,_l,Fs,dt,Ms,hl,At,gl=t[0].autoConnectRotor?"✓":"○",Ql,Hs,ml,Ls,pt,Jl,Ts,vt,bl,Rs,Pt,yl,js,lt,Dt,It,Os,kl,Ns,xe,Bt,Sl,qs,Ut,wl=t[14]?"✓ Enabled":"○ Disabled",Zl,Al,Ps,Wt,zl,Ds,Ke,Vt,El,Is,$l,Cl,zt,Bs,Fl,Us,_t,Ml,Ws,Hl,Vs,Et,xt,Gs,Xs,Ll,xl,Ks,Ue=t[5]&&xn(t);function Ys(P,ue){return P[12]?Ci:Ei}let Tl=Ys(t),st=Tl(t),We=t[2]&&eo(t),mo=Ee(["A","B","C","D"]),el=[];for(let P=0;P<4;P+=1)el[P]=Fi(zi(t,mo,P));let bo=Ee(["A","B","C","D"]),tl=[];for(let P=0;P<4;P+=1)tl[P]=Mi(Ai(t,bo,P));function Qs(P,ue){return P[13]?Li:Hi}let Rl=Qs(t),nt=Rl(t),Ve=t[3]&&to(t),Gt=Ee(t[9]),Ie=[];for(let P=0;P<Gt.length;P+=1)Ie[P]=lo($n(t,Gt,P));function Js(P,ue){return P[9].length===0?Ri:Ti}let jl=Js(t),ot=jl(t),Ge=t[4]&&so(t);return{c(){e=c("div"),l=c("div"),o=c("section"),i=c("h3"),i.textContent="📍 QTH / Locator",a=g(),r=c("div"),f=c("div"),u=c("label"),u.textContent="Maidenhead Locator",d=g(),v=c("div"),m=c("input"),y=g(),_=c("button"),_.textContent="Apply",h=g(),Ue&&Ue.c(),S=g(),F=c("div"),A=c("label"),A.textContent="Current QRA",H=g(),z=c("span"),q=k(b),M=g(),O=c("div"),O.textContent="or enter coordinates manually",p=g(),C=c("div"),w=c("label"),w.textContent="Latitude",R=g(),V=c("input"),X=g(),E=c("label"),E.textContent="Longitude",j=g(),B=c("input"),se=g(),W=c("label"),W.textContent="Altitude (m)",Z=g(),G=c("input"),ae=g(),fe=c("button"),$=k(ne),x=g(),Y=c("section"),N=c("div"),I=c("h3"),I.textContent="🔌 FlexRadio",Q=g(),K=c("span"),te=k(ee),ce=g(),re=c("div"),_e=c("label"),_e.textContent="Host / IP",J=g(),ie=c("input"),he=g(),Ce=c("label"),Ce.textContent="TCP Port",be=g(),He=c("input"),Oe=g(),Pe=c("div"),pe=c("button"),ze=k(de),Fe=k(" Auto-connect on startup"),wt=g(),Le=c("div"),st.c(),Ae=g(),We&&We.c(),Ot=g(),qe=c("div"),Re=c("div"),Re.textContent="SATELLITE SLICES",De=g(),ye=c("div"),Me=c("span"),Me.textContent="↓ RX Downlink",ms=g(),ut=c("select");for(let P=0;P<4;P+=1)el[P].c();bs=g(),Nt=c("div"),rl=c("span"),rl.textContent="↑ TX Uplink",ys=g(),ft=c("select");for(let P=0;P<4;P+=1)tl[P].c();ks=g(),Zt=c("button"),Zt.textContent="Apply slices",Ss=g(),ul=c("p"),ul.textContent="Default: Slice A = RX downlink, Slice B = TX uplink",ws=g(),Je=c("section"),qt=c("div"),fl=c("h3"),fl.textContent="🔄 PstRotator",As=g(),$t=c("span"),Yl=k(dl),zs=g(),tt=c("div"),vl=c("label"),vl.textContent="Host / IP",Es=g(),ct=c("input"),Cs=g(),_l=c("label"),_l.textContent="UDP Port",Fs=g(),dt=c("input"),Ms=g(),hl=c("div"),At=c("button"),Ql=k(gl),Hs=k(" Auto-connect on startup"),Ls=g(),pt=c("div"),nt.c(),Jl=g(),Ve&&Ve.c(),Ts=g(),vt=c("div"),bl=c("div"),bl.textContent="ROTOR MODE",Rs=g(),Pt=c("div"),yl=c("span"),yl.textContent="Axes",js=g(),lt=c("select"),Dt=c("option"),Dt.textContent="Azimuth only",It=c("option"),It.textContent="Azimuth + Elevation",Os=g(),kl=c("p"),kl.textContent=`Select "Azimuth only" if you don't have an elevation rotor`,Ns=g(),xe=c("section"),Bt=c("div"),Sl=c("h3"),Sl.textContent="🔊 Voice Alerts",qs=g(),Ut=c("button"),Zl=k(wl),Ps=g(),Wt=c("div"),zl=c("label"),zl.textContent="TTS Voice",Ds=g(),Ke=c("select"),Vt=c("option"),Vt.textContent="— System default —";for(let P=0;P<Ie.length;P+=1)Ie[P].c();Is=g(),ot.c(),$l=g(),Cl=c("div"),zt=c("button"),Bs=k("▶ Test voice"),Us=g(),_t=c("section"),Ml=c("h3"),Ml.textContent="🛰️ TLE Data",Ws=g(),Hl=c("p"),Hl.textContent="Source: Celestrak amateur · Fallback: PE0SAT",Vs=g(),Et=c("div"),xt=c("button"),xt.textContent="↻ Refresh TLE",Gs=g(),Ge&&Ge.c(),Xs=g(),Ll=c("section"),Ll.innerHTML='<h3 class="svelte-gdggj1">ℹ️ About</h3> <p class="svelte-gdggj1"><strong class="svelte-gdggj1">SatMaster v1.0</strong> — F4BPO</p> <p class="svelte-gdggj1">Amateur satellite tracking · FlexRadio Doppler correction · PstRotator control</p> <p class="hint svelte-gdggj1">SGP4 via akhenakh/sgp4 · Go + Wails + Svelte</p>',n(i,"class","svelte-gdggj1"),n(u,"class","svelte-gdggj1"),n(m,"type","text"),n(m,"placeholder","JN03ef"),n(m,"maxlength","8"),n(m,"class","mono upper svelte-gdggj1"),n(_,"class","btn-sm svelte-gdggj1"),n(v,"class","inp-btn svelte-gdggj1"),n(f,"class","field-col svelte-gdggj1"),n(A,"class","svelte-gdggj1"),n(z,"class","qra-big svelte-gdggj1"),n(F,"class","qra-display svelte-gdggj1"),n(r,"class","qra-row svelte-gdggj1"),n(O,"class","sep svelte-gdggj1"),n(w,"class","svelte-gdggj1"),n(V,"type","number"),n(V,"step","0.0001"),n(V,"min","-90"),n(V,"max","90"),n(V,"class","svelte-gdggj1"),n(E,"class","svelte-gdggj1"),n(B,"type","number"),n(B,"step","0.0001"),n(B,"min","-180"),n(B,"max","180"),n(B,"class","svelte-gdggj1"),n(W,"class","svelte-gdggj1"),n(G,"type","number"),n(G,"step","1"),n(G,"min","0"),n(G,"class","svelte-gdggj1"),n(C,"class","fg svelte-gdggj1"),n(fe,"class","btn-primary svelte-gdggj1"),fe.disabled=t[1],n(o,"class","card svelte-gdggj1"),n(I,"class","svelte-gdggj1"),n(K,"class",D="badge "+(t[12]?"ok":"off")+" svelte-gdggj1"),n(N,"class","card-head svelte-gdggj1"),n(_e,"class","svelte-gdggj1"),n(ie,"type","text"),n(ie,"placeholder","192.168.1.x"),n(ie,"class","svelte-gdggj1"),n(Ce,"class","svelte-gdggj1"),n(He,"type","number"),n(He,"class","svelte-gdggj1"),n(re,"class","fg svelte-gdggj1"),n(pe,"class",Be="toggle "+(t[0].autoConnectFlex?"toggle-on":"")+" svelte-gdggj1"),n(Pe,"class","toggle-row svelte-gdggj1"),n(Le,"class","btn-row svelte-gdggj1"),n(Re,"class","slice-label svelte-gdggj1"),n(Me,"class","slice-lbl svelte-gdggj1"),n(ut,"class","slice-sel svelte-gdggj1"),t[7]===void 0&&Ct(()=>t[33].call(ut)),n(ye,"class","slice-row svelte-gdggj1"),n(rl,"class","slice-lbl svelte-gdggj1"),n(ft,"class","slice-sel svelte-gdggj1"),t[8]===void 0&&Ct(()=>t[34].call(ft)),n(Nt,"class","slice-row svelte-gdggj1"),n(Zt,"class","btn-secondary btn-sm svelte-gdggj1"),n(ul,"class","hint svelte-gdggj1"),n(qe,"class","slice-config svelte-gdggj1"),n(Y,"class","card svelte-gdggj1"),n(fl,"class","svelte-gdggj1"),n($t,"class",pl="badge "+(t[13]?"ok":"off")+" svelte-gdggj1"),n(qt,"class","card-head svelte-gdggj1"),n(vl,"class","svelte-gdggj1"),n(ct,"type","text"),n(ct,"placeholder","127.0.0.1"),n(ct,"class","svelte-gdggj1"),n(_l,"class","svelte-gdggj1"),n(dt,"type","number"),n(dt,"class","svelte-gdggj1"),n(tt,"class","fg svelte-gdggj1"),n(At,"class",ml="toggle "+(t[0].autoConnectRotor?"toggle-on":"")+" svelte-gdggj1"),n(hl,"class","toggle-row svelte-gdggj1"),n(pt,"class","btn-row svelte-gdggj1"),n(bl,"class","slice-label svelte-gdggj1"),n(yl,"class","slice-lbl svelte-gdggj1"),Dt.__value=!0,we(Dt,Dt.__value),It.__value=!1,we(It,It.__value),n(lt,"class","slice-sel svelte-gdggj1"),t[0].rotorAzOnly===void 0&&Ct(()=>t[37].call(lt)),n(Pt,"class","slice-row svelte-gdggj1"),n(kl,"class","hint svelte-gdggj1"),n(vt,"class","slice-config svelte-gdggj1"),n(Je,"class","card svelte-gdggj1"),n(Sl,"class","svelte-gdggj1"),n(Ut,"class",Al="toggle "+(t[14]?"toggle-on":"")+" svelte-gdggj1"),n(Bt,"class","card-head svelte-gdggj1"),n(zl,"class","svelte-gdggj1"),Vt.__value="",we(Vt,Vt.__value),Ke.disabled=El=!t[14],n(Ke,"class","svelte-gdggj1"),t[10]===void 0&&Ct(()=>t[40].call(Ke)),n(Wt,"class","fg svelte-gdggj1"),n(zt,"class","btn-secondary btn-sm svelte-gdggj1"),zt.disabled=Fl=!t[14],n(Cl,"class","btn-row svelte-gdggj1"),n(xe,"class","card svelte-gdggj1"),n(Ml,"class","svelte-gdggj1"),n(Hl,"class","hint svelte-gdggj1"),n(xt,"class","btn-secondary svelte-gdggj1"),n(Et,"class","btn-row svelte-gdggj1"),n(_t,"class","card svelte-gdggj1"),n(Ll,"class","card svelte-gdggj1"),n(l,"class","sp-scroll svelte-gdggj1"),n(e,"class","sp svelte-gdggj1")},m(P,ue){T(P,e,ue),s(e,l),s(l,o),s(o,i),s(o,a),s(o,r),s(r,f),s(f,u),s(f,d),s(f,v),s(v,m),we(m,t[6]),s(v,y),s(v,_),s(f,h),Ue&&Ue.m(f,null),s(r,S),s(r,F),s(F,A),s(F,H),s(F,z),s(z,q),s(o,M),s(o,O),s(o,p),s(o,C),s(C,w),s(C,R),s(C,V),we(V,t[0].qthLat),s(C,X),s(C,E),s(C,j),s(C,B),we(B,t[0].qthLon),s(C,se),s(C,W),s(C,Z),s(C,G),we(G,t[0].qthAlt),s(o,ae),s(o,fe),s(fe,$),s(l,x),s(l,Y),s(Y,N),s(N,I),s(N,Q),s(N,K),s(K,te),s(Y,ce),s(Y,re),s(re,_e),s(re,J),s(re,ie),we(ie,t[0].flexHost),s(re,he),s(re,Ce),s(re,be),s(re,He),we(He,t[0].flexPort),s(Y,Oe),s(Y,Pe),s(Pe,pe),s(pe,ze),s(pe,Fe),s(Y,wt),s(Y,Le),st.m(Le,null),s(Le,Ae),We&&We.m(Le,null),s(Y,Ot),s(Y,qe),s(qe,Re),s(qe,De),s(qe,ye),s(ye,Me),s(ye,ms),s(ye,ut);for(let Se=0;Se<4;Se+=1)el[Se]&&el[Se].m(ut,null);ht(ut,t[7],!0),s(qe,bs),s(qe,Nt),s(Nt,rl),s(Nt,ys),s(Nt,ft);for(let Se=0;Se<4;Se+=1)tl[Se]&&tl[Se].m(ft,null);ht(ft,t[8],!0),s(qe,ks),s(qe,Zt),s(qe,Ss),s(qe,ul),s(l,ws),s(l,Je),s(Je,qt),s(qt,fl),s(qt,As),s(qt,$t),s($t,Yl),s(Je,zs),s(Je,tt),s(tt,vl),s(tt,Es),s(tt,ct),we(ct,t[0].rotorHost),s(tt,Cs),s(tt,_l),s(tt,Fs),s(tt,dt),we(dt,t[0].rotorPort),s(Je,Ms),s(Je,hl),s(hl,At),s(At,Ql),s(At,Hs),s(Je,Ls),s(Je,pt),nt.m(pt,null),s(pt,Jl),Ve&&Ve.m(pt,null),s(Je,Ts),s(Je,vt),s(vt,bl),s(vt,Rs),s(vt,Pt),s(Pt,yl),s(Pt,js),s(Pt,lt),s(lt,Dt),s(lt,It),ht(lt,t[0].rotorAzOnly,!0),s(vt,Os),s(vt,kl),s(l,Ns),s(l,xe),s(xe,Bt),s(Bt,Sl),s(Bt,qs),s(Bt,Ut),s(Ut,Zl),s(xe,Ps),s(xe,Wt),s(Wt,zl),s(Wt,Ds),s(Wt,Ke),s(Ke,Vt);for(let Se=0;Se<Ie.length;Se+=1)Ie[Se]&&Ie[Se].m(Ke,null);ht(Ke,t[10],!0),s(xe,Is),ot.m(xe,null),s(xe,$l),s(xe,Cl),s(Cl,zt),s(zt,Bs),s(l,Us),s(l,_t),s(_t,Ml),s(_t,Ws),s(_t,Hl),s(_t,Vs),s(_t,Et),s(Et,xt),s(Et,Gs),Ge&&Ge.m(Et,null),s(l,Xs),s(l,Ll),xl||(Ks=[le(m,"input",t[26]),le(m,"keydown",t[27]),le(_,"click",t[17]),le(V,"input",t[28]),le(B,"input",t[29]),le(G,"input",t[30]),le(fe,"click",t[18]),le(ie,"input",t[31]),le(He,"input",t[32]),le(pe,"click",t[24]),le(ut,"change",t[33]),le(ft,"change",t[34]),le(Zt,"click",t[15]),le(ct,"input",t[35]),le(dt,"input",t[36]),le(At,"click",t[25]),le(lt,"change",t[37]),le(lt,"change",t[38]),le(Ut,"click",t[39]),le(Ke,"change",t[40]),le(Ke,"change",t[16]),le(zt,"click",t[41]),le(xt,"click",t[23])],xl=!0)},p(P,ue){if(ue[0]&64&&m.value!==P[6]&&we(m,P[6]),P[5]?Ue?Ue.p(P,ue):(Ue=xn(P),Ue.c(),Ue.m(f,null)):Ue&&(Ue.d(1),Ue=null),ue[0]&2048&&b!==(b=(P[11]||"—")+"")&&U(q,b),ue[0]&1&&at(V.value)!==P[0].qthLat&&we(V,P[0].qthLat),ue[0]&1&&at(B.value)!==P[0].qthLon&&we(B,P[0].qthLon),ue[0]&1&&at(G.value)!==P[0].qthAlt&&we(G,P[0].qthAlt),ue[0]&2&&ne!==(ne=P[1]?"Saving…":"💾 Save QTH")&&U($,ne),ue[0]&2&&(fe.disabled=P[1]),ue[0]&4096&&ee!==(ee=P[12]?"CONNECTED":"OFFLINE")&&U(te,ee),ue[0]&4096&&D!==(D="badge "+(P[12]?"ok":"off")+" svelte-gdggj1")&&n(K,"class",D),ue[0]&1&&ie.value!==P[0].flexHost&&we(ie,P[0].flexHost),ue[0]&1&&at(He.value)!==P[0].flexPort&&we(He,P[0].flexPort),ue[0]&1&&de!==(de=P[0].autoConnectFlex?"✓":"○")&&U(ze,de),ue[0]&1&&Be!==(Be="toggle "+(P[0].autoConnectFlex?"toggle-on":"")+" svelte-gdggj1")&&n(pe,"class",Be),Tl===(Tl=Ys(P))&&st?st.p(P,ue):(st.d(1),st=Tl(P),st&&(st.c(),st.m(Le,Ae))),P[2]?We?We.p(P,ue):(We=eo(P),We.c(),We.m(Le,null)):We&&(We.d(1),We=null),ue[0]&128&&ht(ut,P[7]),ue[0]&256&&ht(ft,P[8]),ue[0]&8192&&dl!==(dl=P[13]?"CONNECTED":"OFFLINE")&&U(Yl,dl),ue[0]&8192&&pl!==(pl="badge "+(P[13]?"ok":"off")+" svelte-gdggj1")&&n($t,"class",pl),ue[0]&1&&ct.value!==P[0].rotorHost&&we(ct,P[0].rotorHost),ue[0]&1&&at(dt.value)!==P[0].rotorPort&&we(dt,P[0].rotorPort),ue[0]&1&&gl!==(gl=P[0].autoConnectRotor?"✓":"○")&&U(Ql,gl),ue[0]&1&&ml!==(ml="toggle "+(P[0].autoConnectRotor?"toggle-on":"")+" svelte-gdggj1")&&n(At,"class",ml),Rl===(Rl=Qs(P))&&nt?nt.p(P,ue):(nt.d(1),nt=Rl(P),nt&&(nt.c(),nt.m(pt,Jl))),P[3]?Ve?Ve.p(P,ue):(Ve=to(P),Ve.c(),Ve.m(pt,null)):Ve&&(Ve.d(1),Ve=null),ue[0]&1&&ht(lt,P[0].rotorAzOnly),ue[0]&16384&&wl!==(wl=P[14]?"✓ Enabled":"○ Disabled")&&U(Zl,wl),ue[0]&16384&&Al!==(Al="toggle "+(P[14]?"toggle-on":"")+" svelte-gdggj1")&&n(Ut,"class",Al),ue[0]&512){Gt=Ee(P[9]);let Se;for(Se=0;Se<Gt.length;Se+=1){const Zs=$n(P,Gt,Se);Ie[Se]?Ie[Se].p(Zs,ue):(Ie[Se]=lo(Zs),Ie[Se].c(),Ie[Se].m(Ke,null))}for(;Se<Ie.length;Se+=1)Ie[Se].d(1);Ie.length=Gt.length}ue[0]&16384&&El!==(El=!P[14])&&(Ke.disabled=El),ue[0]&1536&&ht(Ke,P[10]),jl===(jl=Js(P))&&ot?ot.p(P,ue):(ot.d(1),ot=jl(P),ot&&(ot.c(),ot.m(xe,$l))),ue[0]&16384&&Fl!==(Fl=!P[14])&&(zt.disabled=Fl),P[4]?Ge?Ge.p(P,ue):(Ge=so(P),Ge.c(),Ge.m(Et,null)):Ge&&(Ge.d(1),Ge=null)},i:me,o:me,d(P){P&&L(e),Ue&&Ue.d(),st.d(),We&&We.d(),$e(el,P),$e(tl,P),nt.d(),Ve&&Ve.d(),$e(Ie,P),ot.d(),Ge&&Ge.d(),xl=!1,Xe(Ks)}}}function Oi(t,e,l){let o,i,a,r,f;ve(t,Qe,K=>l(42,i=K)),ve(t,nl,K=>l(12,a=K)),ve(t,ol,K=>l(13,r=K)),ve(t,al,K=>l(14,f=K));let u=!1,d="",v="",m="",y="",_="",h=0,S=1,F=[],A="";cl(async()=>{l(7,h=i.rxSlice??0),l(8,S=i.txSlice??1);const K=()=>{var te;const ee=((te=window.speechSynthesis)==null?void 0:te.getVoices())||[];l(9,F=ee.filter(D=>D.lang.startsWith("en"))),F.length===0&&l(9,F=ee),l(10,A=i.ttsVoiceName||"")};K(),window.speechSynthesis&&(window.speechSynthesis.onvoiceschanged=K),a&&await ge.SetSliceConfig(h,S)});async function H(){await ge.SetSliceConfig(h,S),Qe.update(K=>({...K,rxSlice:h,txSlice:S})),l(2,d=`Slices: RX=Slice ${"ABCDEFGH"[h]}, TX=Slice ${"ABCDEFGH"[S]}`)}function z(){Qe.update(K=>({...K,ttsVoiceName:A}))}let b={...i};function q(){l(5,y="");const K=Si(_);if(!K){l(5,y="Invalid locator (e.g. JN03ef)");return}l(0,b.qthLat=K.lat,b),l(0,b.qthLon=K.lon,b)}async function M(){l(1,u=!0),Qe.update(K=>({...K,qthLat:b.qthLat,qthLon:b.qthLon,qthAlt:b.qthAlt})),await ge.SetObserverLocation(b.qthLat,b.qthLon,b.qthAlt),l(1,u=!1)}async function O(){l(2,d="Connecting…"),Qe.update(ee=>({...ee,flexHost:b.flexHost,flexPort:b.flexPort}));const K=await ge.ConnectFlexRadio(b.flexHost,b.flexPort);K==="OK"?(nl.set(!0),l(2,d="Connected ✓"),await ge.SetSatelliteFrequencies(b.downlinkHz,b.uplinkHz)):l(2,d=K||"Error")}async function p(){await ge.DisconnectFlexRadio(),nl.set(!1),l(2,d="Disconnected")}async function C(){l(3,v="Connecting…"),Qe.update(ee=>({...ee,rotorHost:b.rotorHost,rotorPort:b.rotorPort,rotorAzOnly:b.rotorAzOnly}));const K=await ge.ConnectRotor(b.rotorHost,b.rotorPort);K==="OK"?(ol.set(!0),l(3,v="✓ Connected"),await ge.SetRotorAzOnly(b.rotorAzOnly??!0)):l(3,v=K||"Error")}async function w(){await ge.DisconnectRotor(),ol.set(!1),l(3,v="Disconnected")}async function R(){l(4,m="Downloading…");const K=await ge.RefreshTLE();l(4,m=K==="OK"?"Updated ✓":K),setTimeout(()=>l(4,m=""),3e3)}function V(){l(0,b.autoConnectFlex=!b.autoConnectFlex,b),Qe.update(K=>({...K,autoConnectFlex:b.autoConnectFlex}))}function X(){l(0,b.autoConnectRotor=!b.autoConnectRotor,b),Qe.update(K=>({...K,autoConnectRotor:b.autoConnectRotor}))}function E(){_=this.value,l(6,_)}const j=K=>K.key==="Enter"&&q();function B(){b.qthLat=at(this.value),l(0,b)}function se(){b.qthLon=at(this.value),l(0,b)}function W(){b.qthAlt=at(this.value),l(0,b)}function Z(){b.flexHost=this.value,l(0,b)}function G(){b.flexPort=at(this.value),l(0,b)}function ae(){h=Ol(this),l(7,h)}function fe(){S=Ol(this),l(8,S)}function ne(){b.rotorHost=this.value,l(0,b)}function $(){b.rotorPort=at(this.value),l(0,b)}function x(){b.rotorAzOnly=Ol(this),l(0,b)}const Y=()=>ge.SetRotorAzOnly(b.rotorAzOnly??!0),N=()=>al.update(K=>!K);function I(){A=Ol(this),l(10,A),l(9,F)}const Q=()=>{if(!window.speechSynthesis)return;const K=new SpeechSynthesisUtterance("AOS ISS is rising. Pass will last for 8 minutes.");if(K.lang="en-US",A){const ee=F.find(te=>te.name===A);ee&&(K.voice=ee)}window.speechSynthesis.cancel(),window.speechSynthesis.speak(K)};return t.$$.update=()=>{t.$$.dirty[0]&1&&l(11,o=b.qthLat&&b.qthLon?wi(b.qthLat,b.qthLon):"")},[b,u,d,v,m,y,_,h,S,F,A,o,a,r,f,H,z,q,M,O,p,C,w,R,V,X,E,j,B,se,W,Z,G,ae,fe,ne,$,x,Y,N,I,Q]}class Ni extends jt{constructor(e){super(),Rt(this,e,Oi,ji,St,{},null,[-1,-1])}}const{window:qi}=wo;function no(t){var i;let e,l,o;return l=new go({props:{points:((i=t[5][0])==null?void 0:i.points)||[],currentAz:t[3],currentEl:t[2],satName:t[4],size:200}}),{c(){e=c("div"),Ht(l.$$.fragment),n(e,"class","polar-ov svelte-1d4hhnv")},m(a,r){T(a,e,r),bt(l,e,null),o=!0},p(a,r){var u;const f={};r&32&&(f.points=((u=a[5][0])==null?void 0:u.points)||[]),r&8&&(f.currentAz=a[3]),r&4&&(f.currentEl=a[2]),r&16&&(f.satName=a[4]),l.$set(f)},i(a){o||(Ne(l.$$.fragment,a),o=!0)},o(a){Ye(l.$$.fragment,a),o=!1},d(a){a&&L(e),yt(l)}}}function oo(t){let e,l,o;return l=new ki({props:{currentAz:t[3],currentEl:t[2]}}),{c(){e=c("div"),Ht(l.$$.fragment),n(e,"class","panel svelte-1d4hhnv")},m(i,a){T(i,e,a),bt(l,e,null),o=!0},p(i,a){const r={};a&8&&(r.currentAz=i[3]),a&4&&(r.currentEl=i[2]),l.$set(r)},i(i){o||(Ne(l.$$.fragment,i),o=!0)},o(i){Ye(l.$$.fragment,i),o=!1},d(i){i&&L(e),yt(l)}}}function io(t){let e,l,o;return l=new Ni({}),{c(){e=c("div"),Ht(l.$$.fragment),n(e,"class","panel svelte-1d4hhnv")},m(i,a){T(i,e,a),bt(l,e,null),o=!0},i(i){o||(Ne(l.$$.fragment,i),o=!0)},o(i){Ye(l.$$.fragment,i),o=!1},d(i){i&&L(e),yt(l)}}}function Pi(t){let e,l,o,i,a,r,f,u,d,v,m,y,_,h,S,F,A,H,z,b,q,M,O,p,C,w,R,V,X,E,j,B,se,W,Z,G,ae;i=new Bo({}),v=new ci({});let fe={};j=new Jo({props:fe}),t[13](j);let ne=t[4]&&t[0]==="map"&&no(t),$=t[0]==="passes"&&oo(t),x=t[0]==="settings"&&io();return{c(){e=c("link"),l=g(),o=c("div"),Ht(i.$$.fragment),a=g(),r=c("div"),f=c("aside"),u=c("div"),u.innerHTML='<div class="logo-wrap svelte-1d4hhnv"><div class="logo-icon svelte-1d4hhnv">🛰</div> <div><div class="logo-text svelte-1d4hhnv">SatMaster</div> <div class="logo-sub svelte-1d4hhnv">Satellite Tracker</div></div></div>',d=g(),Ht(v.$$.fragment),m=g(),y=c("main"),_=c("nav"),h=c("button"),S=c("span"),S.textContent="🗺",F=k(" World Map"),H=g(),z=c("button"),b=c("span"),b.textContent="📡",q=k(" Passes"),O=g(),p=c("button"),C=c("span"),C.textContent="⚙️",w=k(" Settings"),V=g(),X=c("div"),E=c("div"),Ht(j.$$.fragment),B=g(),ne&&ne.c(),se=g(),$&&$.c(),W=g(),x&&x.c(),n(e,"href","https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"),n(e,"rel","stylesheet"),n(u,"class","sidebar-hdr svelte-1d4hhnv"),n(f,"class","sidebar svelte-1d4hhnv"),n(S,"class","tab-icon svelte-1d4hhnv"),n(h,"class",A="tab "+(t[0]==="map"?"on":"")+" svelte-1d4hhnv"),n(b,"class","tab-icon svelte-1d4hhnv"),n(z,"class",M="tab "+(t[0]==="passes"?"on":"")+" svelte-1d4hhnv"),n(C,"class","tab-icon svelte-1d4hhnv"),n(p,"class",R="tab "+(t[0]==="settings"?"on":"")+" svelte-1d4hhnv"),n(_,"class","tabs svelte-1d4hhnv"),n(E,"class","panel svelte-1d4hhnv"),xs(E,"panel-hidden",t[0]!=="map"),n(X,"class","panel-stack svelte-1d4hhnv"),n(y,"class","center svelte-1d4hhnv"),n(r,"class","main svelte-1d4hhnv"),n(o,"class","app svelte-1d4hhnv")},m(Y,N){s(document.head,e),T(Y,l,N),T(Y,o,N),bt(i,o,null),s(o,a),s(o,r),s(r,f),s(f,u),s(f,d),bt(v,f,null),s(r,m),s(r,y),s(y,_),s(_,h),s(h,S),s(h,F),s(_,H),s(_,z),s(z,b),s(z,q),s(_,O),s(_,p),s(p,C),s(p,w),s(y,V),s(y,X),s(X,E),bt(j,E,null),s(E,B),ne&&ne.m(E,null),s(X,se),$&&$.m(X,null),s(X,W),x&&x.m(X,null),Z=!0,G||(ae=[le(qi,"keydown",t[6]),le(h,"click",t[10]),le(z,"click",t[11]),le(p,"click",t[12])],G=!0)},p(Y,[N]){(!Z||N&1&&A!==(A="tab "+(Y[0]==="map"?"on":"")+" svelte-1d4hhnv"))&&n(h,"class",A),(!Z||N&1&&M!==(M="tab "+(Y[0]==="passes"?"on":"")+" svelte-1d4hhnv"))&&n(z,"class",M),(!Z||N&1&&R!==(R="tab "+(Y[0]==="settings"?"on":"")+" svelte-1d4hhnv"))&&n(p,"class",R);const I={};j.$set(I),Y[4]&&Y[0]==="map"?ne?(ne.p(Y,N),N&17&&Ne(ne,1)):(ne=no(Y),ne.c(),Ne(ne,1),ne.m(E,null)):ne&&(ss(),Ye(ne,1,1,()=>{ne=null}),ns()),(!Z||N&1)&&xs(E,"panel-hidden",Y[0]!=="map"),Y[0]==="passes"?$?($.p(Y,N),N&1&&Ne($,1)):($=oo(Y),$.c(),Ne($,1),$.m(X,W)):$&&(ss(),Ye($,1,1,()=>{$=null}),ns()),Y[0]==="settings"?x?N&1&&Ne(x,1):(x=io(),x.c(),Ne(x,1),x.m(X,null)):x&&(ss(),Ye(x,1,1,()=>{x=null}),ns())},i(Y){Z||(Ne(i.$$.fragment,Y),Ne(v.$$.fragment,Y),Ne(j.$$.fragment,Y),Ne(ne),Ne($),Ne(x),Z=!0)},o(Y){Ye(i.$$.fragment,Y),Ye(v.$$.fragment,Y),Ye(j.$$.fragment,Y),Ye(ne),Ye($),Ye(x),Z=!1},d(Y){Y&&(L(l),L(o)),L(e),yt(i),yt(v),t[13](null),yt(j),ne&&ne.d(),$&&$.d(),x&&x.d(),G=!1,Xe(ae)}}}function Di(t,e,l){let o,i,a,r,f,u,d,v,m,y;ve(t,Jt,p=>l(15,a=p)),ve(t,al,p=>l(16,r=p)),ve(t,Qe,p=>l(17,f=p)),ve(t,Tt,p=>l(7,u=p)),ve(t,vs,p=>l(8,d=p)),ve(t,ps,p=>l(9,v=p)),ve(t,et,p=>l(4,m=p)),ve(t,Lt,p=>l(5,y=p));let _="map",h=[],S;cl(async()=>{const p=f;if(await ge.SetObserverLocation(p.qthLat,p.qthLon,p.qthAlt),await ge.SetSatelliteFrequencies(p.downlinkHz,p.uplinkHz),p.autoConnectFlex&&await ge.ConnectFlexRadio(p.flexHost,p.flexPort)==="OK"){nl.set(!0);const V=p.rxSlice??0,X=p.txSlice??1;await ge.SetSliceConfig(V,X)}p.autoConnectRotor&&await ge.ConnectRotor(p.rotorHost,p.rotorPort)==="OK"&&(ol.set(!0),await ge.SetRotorAzOnly(p.rotorAzOnly??!0));const C=await ge.GetSatelliteList();C&&fs.set(C);const w=await ge.GetTLEAge();w!==null&&_s.set(w),await ge.SetWatchlist(a),h.push(rn("sat:positions",R=>Bl.set(R))),h.push(rn("tle:loaded",R=>{fs.set(R),No.set(!0),ge.GetTLEAge().then(V=>_s.set(V))}))}),Kl(()=>h.forEach(p=>p==null?void 0:p()));function F(p){p.target.tagName==="INPUT"||p.target.tagName==="SELECT"||((p.key==="m"||p.key==="M")&&l(0,_="map"),(p.key==="p"||p.key==="P")&&l(0,_="passes"),(p.key==="s"||p.key==="S")&&l(0,_="settings"))}let A={};function H(){const p=window.speechSynthesis.getVoices(),C=f.ttsVoiceName;if(C){const R=p.find(V=>V.name===C);if(R)return R}const w=["Microsoft David","Microsoft Zira","Microsoft Mark","Microsoft James","Microsoft Linda","Microsoft George","Microsoft Hazel"];for(const R of w){const V=p.find(X=>X.name.startsWith(R));if(V)return V}return p.find(R=>R.lang==="en-US"||R.lang==="en-GB")||null}function z(p,C){if(!window.speechSynthesis)return;const w=Mt(p),R=Math.round(C/60),V=`AOS ${w} is rising. Pass will last for ${R} minute${R!==1?"s":""}.`,X=new SpeechSynthesisUtterance(V);X.lang="en-US",X.rate=.95,X.pitch=1,X.volume=1;const E=H();E&&(X.voice=E),window.speechSynthesis.cancel(),window.speechSynthesis.speak(X)}Bl.subscribe(p=>{if(!p||!r)return;const C=new Set(a);for(const w of p){if(!C.has(w.name))continue;const R=A[w.name],V=w.el;if(R!==void 0&&R<0&&V>=0){let X=600;const E=Date.now(),j=ts(Pl),B=ts(Lt),W=[...j||[],...(B||[]).map(Z=>({...Z,satName:ts(et)}))].find(Z=>Z.satName===w.name&&new Date(Z.aos).getTime()<=E+3e4&&new Date(Z.los).getTime()>=E);W!=null&&W.duration&&(X=W.duration),z(w.name,X)}A[w.name]=V}});const b=()=>l(0,_="map"),q=()=>l(0,_="passes"),M=()=>l(0,_="settings");function O(p){Il[p?"unshift":"push"](()=>{S=p,l(1,S)})}return t.$$.update=()=>{t.$$.dirty&512&&ge.SetDopplerEnabled(v),t.$$.dirty&256&&ge.SetRotorEnabled(d),t.$$.dirty&128&&l(3,o=(u==null?void 0:u.az)??null),t.$$.dirty&128&&l(2,i=(u==null?void 0:u.el)??null)},[_,S,i,o,m,y,F,u,d,v,b,q,M,O]}class Ii extends jt{constructor(e){super(),Rt(this,e,Di,Pi,St,{})}}new Ii({target:document.getElementById("app")});
|