ootk 1.6.2 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![build](https://img.shields.io/github/workflow/status/thkruz/ootk/CI?style=flat-square)](https://github.com/thkruz/ootk/actions?query=workflow%3ACI) ![Size](https://img.shields.io/github/languages/code-size/thkruz/ootk?style=flat-square) [![Release](https://img.shields.io/github/v/release/thkruz/ootk?style=flat-square)](https://www.npmjs.com/package/ootk) [![Issues](https://img.shields.io/github/issues/thkruz/ootk?style=flat-square)](https://github.com/thkruz/ootk/issues) [![Coverage](https://img.shields.io/codecov/c/github/thkruz/ootk?style=flat-square)](https://codecov.io/gh/thkruz/ootk) [![License](https://img.shields.io/github/license/thkruz/ootk?style=flat-square)](LICENSE.MD)
4
4
 
5
- > An Orbital Object Tookit in Your Web Browser
5
+ > An Orbital Object Toolkit in Your Web Browser
6
6
 
7
7
  **ootk** is a modular collection of small libraries for doing math related to orbital objects written in TypeScript. ootk was developed to simplify the math and let you focus on using the results.
8
8
 
@@ -84,5 +84,6 @@ export declare class Sat extends SpaceObject {
84
84
  * @returns {{m: number, gmst: GreenwichMeanSiderealTime, j: number}} Time variables
85
85
  */
86
86
  private static calculateTimeVariables;
87
+ static checkSatrec(satrec: SatelliteRecord): boolean;
87
88
  }
88
89
  export {};
@@ -19,7 +19,7 @@
19
19
  * You should have received a copy of the GNU Affero General Public License along with
20
20
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
21
21
  */
22
- import { RaeVec3, SpaceObjectType } from '../types/types';
22
+ import { Degrees, Kilometer, RaeVec3, SpaceObjectType } from '../types/types';
23
23
  import { BaseObject } from './base-object';
24
24
  import { Sat } from './sat';
25
25
  interface ObjectInfo {
@@ -28,13 +28,46 @@ interface ObjectInfo {
28
28
  lat: number;
29
29
  lon: number;
30
30
  alt: number;
31
+ minAz: Degrees;
32
+ maxAz: Degrees;
33
+ minEl: Degrees;
34
+ maxEl: Degrees;
35
+ minRng: Kilometer;
36
+ maxRng: Kilometer;
31
37
  }
38
+ export declare enum PassType {
39
+ OUT_OF_VIEW = -1,
40
+ ENTER = 0,
41
+ IN_VIEW = 1,
42
+ EXIT = 2
43
+ }
44
+ declare type Lookangles = {
45
+ type: PassType;
46
+ time: Date;
47
+ az: number;
48
+ el: number;
49
+ rng: number;
50
+ maxElPass?: number;
51
+ };
32
52
  export declare class Sensor extends BaseObject {
33
53
  lat: number;
34
54
  lon: number;
35
55
  alt: number;
56
+ minAz: Degrees;
57
+ maxAz: Degrees;
58
+ minEl: Degrees;
59
+ maxEl: Degrees;
60
+ minRng: Kilometer;
61
+ maxRng: Kilometer;
36
62
  constructor(info: ObjectInfo);
63
+ private validateInputData;
64
+ private validateFov;
65
+ private validateLla;
37
66
  setTime(date: Date): Sensor;
38
67
  getRae(sat: Sat, date?: Date): RaeVec3;
68
+ isRaeInFov(rae: RaeVec3): boolean;
69
+ isSatInFov(sat: Sat, date?: Date): boolean;
70
+ calculatePasses(planningInterval: number, sat: Sat, date?: Date): Lookangles[];
71
+ private static getPassType;
39
72
  }
40
73
  export {};
package/dist/ootk.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see ootk.js.LICENSE.txt */
2
- !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Ootk=e():t.Ootk=e()}(this,(function(){return(()=>{"use strict";var t={636:(t,e,n)=>{n.r(e),n.d(e,{DetailedSat:()=>R,Sat:()=>D,Sensor:()=>z,Sgp4:()=>d,SpaceObjectType:()=>o,Star:()=>_,Tle:()=>x,Transforms:()=>m,Utils:()=>v});var a={};n.r(a),n.d(a,{SpaceObjectType:()=>o});var o,r=Math.PI,s=2*r,i=r/180,c=2/3,l=15e-13,u=864e5,h=1.15741e-8,d=function(){function t(){}return t.dpper=function(t,e){var n=t.e3,a=t.ee2,o=t.peo,i=t.pgho,c=t.pho,l=t.PInco,u=t.plo,h=t.se2,d=t.se3,m=t.sgh2,p=t.sgh3,f=t.sgh4,g=t.sh2,M=t.sh3,v=t.si2,w=t.si3,y=t.sl2,x=t.sl3,A=t.sl4,b=t.t,T=t.xgh2,N=t.xgh3,D=t.xgh4,E=t.xh2,R=t.xh3,O=t.xi2,z=t.xi3,I=t.xl2,_=t.xl3,C=t.xl4,S=t.zmol,L=t.zmos,P=e.ep,j=e.inclp,U=e.nodep,Y=e.argpp,F=e.mp,k=e.opsmode,q=void 0===k?"i":k,H=e.init,B=L+119459e-10*b;"y"===H&&(B=L);var V=B+.0335*Math.sin(B),G=Math.sin(V),J=.5*G*G-.25,K=-.5*G*Math.cos(V),W=h*J+d*K,Q=v*J+w*K,Z=y*J+x*K+A*G,X=m*J+p*K+f*G,$=g*J+M*K;B=S+.00015835218*b,"y"===H&&(B=S),V=B+.1098*Math.sin(B);var tt=W+(a*(J=.5*(G=Math.sin(V))*G-.25)+n*(K=-.5*G*Math.cos(V))),et=Q+(O*J+z*K),nt=Z+(I*J+_*K+C*G),at=X+(T*J+N*K+D*G),ot=$+(E*J+R*K);if("n"===H){nt-=u,at-=i,ot-=c,j+=et-=l,P+=tt-=o;var rt=Math.sin(j),st=Math.cos(j);if(j>=.2)Y+=at-=st*(ot/=rt),U+=ot,F+=nt;else{var it=Math.sin(U),ct=Math.cos(U),lt=rt*it,ut=rt*ct;lt+=ot*ct+et*st*it,ut+=-ot*it+et*st*ct,(U%=s)<0&&"a"===q&&(U+=s);var ht=F+Y+st*U;ht+=nt+at-et*U*rt;var dt=U;(U=Math.atan2(lt,ut))<0&&"a"===q&&(U+=s),Math.abs(dt-U)>r&&(U<dt?U+=s:U-=s),Y=ht-(F+=nt)-st*U}}return{ep:P,inclp:j,nodep:U,argpp:Y,mp:F}},t.dscom=function(t){var e,n,a,o,r,s,i,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,b,T,N,D,E,R,O,z,I,_,C,S,L,P,j,U,Y=t.epoch,F=t.ep,k=t.argpp,q=t.tc,H=t.inclp,B=t.nodep,V=t.np,G=.01675,J=.0549,K=2*Math.PI,W=V,Q=F,Z=Math.sin(B),X=Math.cos(B),$=Math.sin(k),tt=Math.cos(k),et=Math.sin(H),nt=Math.cos(H),at=Q*Q,ot=1-at,rt=Math.sqrt(ot),st=Y+18261.5+q/1440,it=(4.523602-.00092422029*st)%K,ct=Math.sin(it),lt=Math.cos(it),ut=.91375164-.03568096*lt,ht=Math.sqrt(1-ut*ut),dt=.089683511*ct/ht,mt=Math.sqrt(1-dt*dt),pt=5.8351514+.001944368*st,ft=.39785416*ct/ht,gt=mt*lt+.91744867*dt*ct;ft=Math.atan2(ft,gt),ft+=pt-it;for(var Mt=Math.cos(ft),vt=Math.sin(ft),wt=.1945905,yt=-.98088458,xt=.91744867,At=.39785416,bt=X,Tt=Z,Nt=29864797e-13,Dt=1/W,Et=1;Et<=2;Et++){var Rt=wt*bt+yt*xt*Tt,Ot=-yt*bt+wt*xt*Tt,zt=-wt*Tt+yt*xt*bt,It=yt*At,_t=yt*Tt+wt*xt*bt,Ct=wt*At,St=nt*zt+et*It,Lt=nt*_t+et*Ct,Pt=-et*zt+nt*It,jt=-et*_t+nt*Ct,Ut=Rt*tt+St*$,Yt=Ot*tt+Lt*$,Ft=-Rt*$+St*tt,kt=-Ot*$+Lt*tt,qt=Pt*$,Ht=jt*$,Bt=Pt*tt,Vt=jt*tt;R=-6*Rt*Pt+at*(-24*Ut*Bt-6*Ft*qt),O=-6*(Rt*jt+Ot*Pt)+at*(-24*(Yt*Bt+Ut*Vt)+-6*(Ft*Ht+kt*qt)),z=-6*Ot*jt+at*(-24*Yt*Vt-6*kt*Ht),_=6*St*Pt+at*(24*Ut*qt-6*Ft*Bt),C=6*(Lt*Pt+St*jt)+at*(24*(Yt*qt+Ut*Ht)-6*(kt*Bt+Ft*Vt)),S=6*Lt*jt+at*(24*Yt*Ht-6*kt*Vt),E=(E=3*(Rt*Rt+St*St)+(P=12*Ut*Ut-3*Ft*Ft)*at)+E+ot*P,I=(I=6*(Rt*Ot+St*Lt)+(j=24*Ut*Yt-6*Ft*kt)*at)+I+ot*j,L=(L=3*(Ot*Ot+Lt*Lt)+(U=12*Yt*Yt-3*kt*kt)*at)+L+ot*U,n=-.5*(a=Nt*Dt)/rt,e=-15*Q*(o=a*rt),r=Ut*Ft+Yt*kt,s=Yt*Ft+Ut*kt,i=Yt*kt-Ut*Ft,1===Et&&(c=e,l=n,u=a,h=o,d=r,m=s,p=i,f=E,w=I,b=L,g=R,M=O,v=z,y=_,x=C,A=S,T=P,N=j,D=U,wt=Mt,yt=vt,xt=ut,At=ht,bt=mt*X+dt*Z,Tt=Z*mt-X*dt,Nt=4.7968065e-7)}return{snodm:Z,cnodm:X,sinim:et,cosim:nt,sinomm:$,cosomm:tt,day:st,e3:2*e*i,ee2:2*e*s,em:Q,emsq:at,gam:pt,peo:0,pgho:0,pho:0,PInco:0,plo:0,rtemsq:rt,se2:2*c*m,se3:2*c*p,sgh2:2*h*N,sgh3:2*h*(D-T),sgh4:-18*h*G,sh2:-2*l*x,sh3:-2*l*(A-y),si2:2*l*M,si3:2*l*(v-g),sl2:-2*u*w,sl3:-2*u*(b-f),sl4:-2*u*(-21-9*at)*G,s1:e,s2:n,s3:a,s4:o,s5:r,s6:s,s7:i,ss1:c,ss2:l,ss3:u,ss4:h,ss5:d,ss6:m,ss7:p,sz1:f,sz2:w,sz3:b,sz11:g,sz12:M,sz13:v,sz21:y,sz22:x,sz23:A,sz31:T,sz32:N,sz33:D,xgh2:2*o*j,xgh3:2*o*(U-P),xgh4:-18*o*J,xh2:-2*n*C,xh3:-2*n*(S-_),xi2:2*n*O,xi3:2*n*(z-R),xl2:-2*a*I,xl3:-2*a*(L-E),xl4:-2*a*(-21-9*at)*J,nm:W,z1:E,z2:I,z3:L,z11:R,z12:O,z13:z,z21:_,z22:C,z23:S,z31:P,z32:j,z33:U,zmol:(.2299715*st-pt+4.7199672)%K,zmos:(6.2565837+.017201977*st)%K}},t.dsinit=function(t){var e=t.xke,n=t.cosim,a=t.argpo,o=t.s1,i=t.s2,c=t.s3,l=t.s4,u=t.s5,h=t.sinim,d=t.ss1,m=t.ss2,p=t.ss3,f=t.ss4,g=t.ss5,M=t.sz1,v=t.sz3,w=t.sz11,y=t.sz13,x=t.sz21,A=t.sz23,b=t.sz31,T=t.sz33,N=t.t,D=t.tc,E=t.gsto,R=t.mo,O=t.mdot,z=t.no,I=t.nodeo,_=t.nodedot,C=t.xPIdot,S=t.z1,L=t.z3,P=t.z11,j=t.z13,U=t.z21,Y=t.z23,F=t.z31,k=t.z33,q=t.ecco,H=t.eccsq,B=t.emsq,V=t.em,G=t.argpm,J=t.inclm,K=t.mm,W=t.nm,Q=t.nodem,Z=t.irez,X=t.atime,$=t.d2201,tt=t.d2211,et=t.d3210,nt=t.d3222,at=t.d4410,ot=t.d4422,rt=t.d5220,st=t.d5232,it=t.d5421,ct=t.d5433,lt=t.dedt,ut=t.didt,ht=t.dmdt,dt=t.dnodt,mt=t.domdt,pt=t.del1,ft=t.del2,gt=t.del3,Mt=t.xfact,vt=t.xlamo,wt=t.xli,yt=t.xni,xt=.0043752690880113,At=.00015835218,bt=119459e-10;Z=0,W<.0052359877&&W>.0034906585&&(Z=1),W>=.00826&&W<=.00924&&V>=.5&&(Z=2);var Tt=-bt*m*(x+A);(J<.052359877||J>r-.052359877)&&(Tt=0),0!==h&&(Tt/=h);var Nt=-At*i*(U+Y);(J<.052359877||J>r-.052359877)&&(Nt=0),mt=f*bt*(b+T-6)-n*Tt+l*At*(F+k-6),dt=Tt,0!==h&&(mt-=n/h*Nt,dt+=Nt/h);var Dt=(E+D*xt)%s;if(V+=(lt=d*bt*g+o*At*u)*N,J+=(ut=m*bt*(w+y)+i*At*(P+j))*N,G+=mt*N,Q+=dt*N,K+=(ht=-bt*p*(M+v-14-6*B)-At*c*(S+L-14-6*B))*N,0!==Z){var Et=Math.pow(W/e,2/3);if(2===Z){var Rt=n*n,Ot=V,zt=B,It=(V=q)*(B=H),_t=void 0,Ct=void 0,St=void 0,Lt=void 0,Pt=void 0,jt=void 0,Ut=void 0,Yt=void 0,Ft=void 0;V<=.65?(_t=3.616-13.247*V+16.29*B,Ct=117.39*V-19.302-228.419*B+156.591*It,St=109.7927*V-18.9068-214.6334*B+146.5816*It,Lt=242.694*V-41.122-471.094*B+313.953*It,Pt=841.88*V-146.407-1629.014*B+1083.435*It,jt=3017.977*V-532.114-5740.032*B+3708.276*It):(_t=331.819*V-72.099-508.738*B+266.724*It,Ct=1582.851*V-346.844-2415.925*B+1246.113*It,St=1554.908*V-342.585-2366.899*B+1215.972*It,Lt=4758.686*V-1052.797-7193.992*B+3651.957*It,Pt=16178.11*V-3581.69-24462.77*B+12422.52*It,jt=V>.715?29936.92*V-5149.66-54087.36*B+31324.56*It:1464.74-4664.75*V+3763.64*B),V<.7?(Ft=4988.61*V-919.2277-9064.77*B+5542.21*It,Ut=4568.6173*V-822.71072-8491.4146*B+5337.524*It,Yt=4690.25*V-853.666-8624.77*B+5341.4*It):(Ft=161616.52*V-37995.78-229838.2*B+109377.94*It,Ut=218913.95*V-51752.104-309468.16*B+146349.42*It,Yt=170470.89*V-40023.88-242699.48*B+115605.82*It);var kt=h*h,qt=W*W*3*(Et*Et),Ht=17891679e-13*qt;$=Ht*(Bt=.75*(1+2*n+Rt))*(-.306-.44*(V-.64)),tt=Ht*(1.5*kt)*_t,et=(Ht=3.7393792e-7*(qt*=Et))*(1.875*h*(1-2*n-3*Rt))*Ct,nt=Ht*(-1.875*h*(1+2*n-3*Rt))*St,at=(Ht=2*(qt*=Et)*7.3636953e-9)*(35*kt*Bt)*Lt,ot=Ht*(39.375*kt*kt)*Pt,rt=(Ht=1.1428639e-7*(qt*=Et))*(9.84375*h*(kt*(1-2*n-5*Rt)+.33333333*(4*n-2+6*Rt)))*jt,st=Ht*(h*(4.92187512*kt*(-2-4*n+10*Rt)+6.56250012*(1+2*n-3*Rt)))*Yt,it=(Ht=2*qt*2.1765803e-9)*(29.53125*h*(2-8*n+Rt*(8*n-12+10*Rt)))*Ut,ct=Ht*(29.53125*h*(-2-8*n+Rt*(12+8*n-10*Rt)))*Ft,vt=(R+I+I-(Dt+Dt))%s,Mt=O+ht+2*(_+dt-xt)-z,V=Ot,B=zt}if(1===Z){var Bt,Vt=1+n;ft=2*(pt=3*W*W*Et*Et)*(Bt=.75*(1+n)*(1+n))*(1+B*(.8125*B-2.5))*17891679e-13,gt=3*pt*(Vt*=1.875*Vt*Vt)*(1+B*(6.60937*B-6))*2.2123015e-7*Et,pt=pt*(.9375*h*h*(1+3*n)-.75*(1+n))*(Ct=1+2*B)*21460748e-13*Et,vt=(R+I+a-Dt)%s,Mt=O+C+ht+mt+dt-(z+xt)}wt=vt,yt=z,X=0,W=z+0}return{em:V,argpm:G,inclm:J,mm:K,nm:W,nodem:Q,irez:Z,atime:X,d2201:$,d2211:tt,d3210:et,d3222:nt,d4410:at,d4422:ot,d5220:rt,d5232:st,d5421:it,d5433:ct,dedt:lt,didt:ut,dmdt:ht,dndt:0,dnodt:dt,domdt:mt,del1:pt,del2:ft,del3:gt,xfact:Mt,xlamo:vt,xli:wt,xni:yt}},t.dspace=function(t,e,n,a,o,r,i,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,b,T,N,D,E,R,O,z,I,_,C,S,L,P){var j=.13130908,U=2.8843198,Y=.37448087,F=5.7686396,k=.95240898,q=1.8014998,H=1.050833,B=4.4108898,V=259200,G=0,J=(T+.0043752690880113*b)%s;if(O+=d*A,I+=g*A,z+=w*A,L+=v*A,C+=M*A,0!==t){(0===R||A*R<=0||Math.abs(A)<Math.abs(R))&&(R=0,S=E,_=D);var K;K=A>0?720:-720;for(var W=void 0,Q=void 0,Z=void 0,X=void 0,$=void 0,tt=void 0,et=void 0,nt=381;381===nt;)2!==t?(tt=m*Math.sin(_-j)+p*Math.sin(2*(_-U))+f*Math.sin(3*(_-Y)),X=S+N,$=m*Math.cos(_-j)+2*p*Math.cos(2*(_-U))+3*f*Math.cos(3*(_-Y)),$*=X):(Z=(et=y+x*R)+et,Q=_+_,tt=e*Math.sin(Z+_-F)+n*Math.sin(_-F)+a*Math.sin(et+_-k)+o*Math.sin(-et+_-k)+r*Math.sin(Z+Q-q)+i*Math.sin(Q-q)+c*Math.sin(et+_-H)+l*Math.sin(-et+_-H)+u*Math.sin(et+Q-B)+h*Math.sin(-et+Q-B),X=S+N,$=e*Math.cos(Z+_-F)+n*Math.cos(_-F)+a*Math.cos(et+_-k)+o*Math.cos(-et+_-k)+c*Math.cos(et+_-H)+l*Math.cos(-et+_-H)+2*(r*Math.cos(Z+Q-q)+i*Math.cos(Q-q)+u*Math.cos(et+Q-B)+h*Math.cos(-et+Q-B)),$*=X),Math.abs(A-R)>=720?nt=381:(W=A-R,nt=0),381===nt&&(_+=X*K+tt*V,S+=tt*K+$*V,R+=K);P=S+tt*W+$*W*W*.5;var at=_+X*W+tt*W*W*.5;1!==t?(C=at-2*L+2*J,G=P-E):(C=at-L-z+J,G=P-E),P=E+G}return[O,z,I,C,L,P]},t.initl=function(e){var n=e.opsmode,a=e.ecco,o=e.epoch,r=e.inclo,s=e.xke,i=e.j2,c=e.no,l=2*Math.PI,u=2/3,h=a*a,d=1-h,m=Math.sqrt(d),p=Math.cos(r),f=p*p,g=Math.pow(s/c,u),M=.75*i*(3*f-1)/(m*d),v=M/(g*g),w=g*(1-v*v-v*(1/3+134*v*v/81));c/=1+(v=M/(w*w));var y,x=Math.pow(s/c,u),A=Math.sin(r),b=x*d,T=1-5*f,N=-T-f-f,D=1/x,E=b*b,R=x*(1-a);if("a"===n){var O=o-7305,z=Math.floor(O+1e-8),I=.017202791694070362;(y=(1.7321343856509375+I*z+(I+l)*(O-z)+O*O*5075514194322695e-30)%l)<0&&(y+=l)}else y=t.gstime(o+2433281.5);return{no:c,method:"n",ainv:D,ao:x,con41:N,con42:T,cosio:p,cosio2:f,eccsq:h,omeosq:d,posq:E,rp:R,rteosq:m,sinio:A,gsto:y}},t.sgp4init=function(e,n){var a=n.whichconst,o=void 0===a?"wgs72":a,r=n.opsmode,i=void 0===r?"i":r,u=n.satn,h=void 0===u?e.satnum:u,d=n.epoch,m=n.xbstar,p=n.xecco,f=n.xargpo,g=n.xinclo,M=n.xndot,v=n.xnddot,w=n.xmo,y=n.xno,x=n.xnodeo;e.isimp=0,e.method="n",e.aycof=0,e.con41=0,e.cc1=0,e.cc4=0,e.cc5=0,e.d2=0,e.d3=0,e.d4=0,e.delmo=0,e.eta=0,e.argpdot=0,e.omgcof=0,e.sinmao=0,e.t=0,e.t2cof=0,e.t3cof=0,e.t4cof=0,e.t5cof=0,e.x1mth2=0,e.x7thm1=0,e.mdot=0,e.nodedot=0,e.xlcof=0,e.xmcof=0,e.nodecf=0,e.irez=0,e.d2201=0,e.d2211=0,e.d3210=0,e.d3222=0,e.d4410=0,e.d4422=0,e.d5220=0,e.d5232=0,e.d5421=0,e.d5433=0,e.dedt=0,e.del1=0,e.del2=0,e.del3=0,e.didt=0,e.dmdt=0,e.dnodt=0,e.domdt=0,e.e3=0,e.ee2=0,e.peo=0,e.pgho=0,e.pho=0,e.PInco=0,e.plo=0,e.se2=0,e.se3=0,e.sgh2=0,e.sgh3=0,e.sgh4=0,e.sh2=0,e.sh3=0,e.si2=0,e.si3=0,e.sl2=0,e.sl3=0,e.sl4=0,e.gsto=0,e.xfact=0,e.xgh2=0,e.xgh3=0,e.xgh4=0,e.xh2=0,e.xh3=0,e.xi2=0,e.xi3=0,e.xl2=0,e.xl3=0,e.xl4=0,e.xlamo=0,e.zmol=0,e.zmos=0,e.atime=0,e.xli=0,e.xni=0;var A=t.getgravconst(o);e.tumin=A.tumin,e.mus=A.mus,e.radiusearthkm=A.radiusearthkm,e.xke=A.xke,e.j2=A.j2,e.j3=A.j3,e.j4=A.j4,e.j3oj2=A.j3oj2;var b=A.j2,T=A.j4,N=A.xke,D=A.j3oj2;e.error=0,e.operationmode=i;var E=h.split("")[0].toLowerCase();isNaN(parseInt(E))?e.satnum=parseInt(E.charCodeAt(0)-96+9+e.satnum.slice(1,5)).toString():e.satnum=h,e.bstar=m,e.ndot=M,e.nddot=v,e.ecco=p,e.argpo=f,e.inclo=g,e.mo=w,e.no=y,e.nodeo=x;var R=78/e.radiusearthkm+1,O=42/e.radiusearthkm,z=O*O*O*O;e.init="y",e.t=0;var I={ecco:e.ecco,epoch:d,inclo:e.inclo,no:e.no,method:e.method,opsmode:e.operationmode,xke:e.xke,j2:e.j2},_=t.initl(I),C=_.ao,S=_.con42,L=_.cosio,P=_.cosio2,j=_.eccsq,U=_.omeosq,Y=_.posq,F=_.rp,k=_.rteosq,q=_.sinio;if(e.no=_.no,e.con41=_.con41,e.gsto=_.gsto,e.a=Math.pow(e.no*e.tumin,-2/3),e.alta=e.a*(1+e.ecco)-1,e.altp=e.a*(1-e.ecco)-1,e.error=0,U>=0||e.no>=0){e.isimp=0,F<220/e.radiusearthkm+1&&(e.isimp=1);var H=R,B=z,V=(F-1)*e.radiusearthkm;if(V<156){H=V-78,V<98&&(H=20);var G=(120-H)/e.radiusearthkm;B=G*G*G*G,H=H/e.radiusearthkm+1}var J=1/Y,K=1/(C-H);e.eta=C*e.ecco*K;var W=e.eta*e.eta,Q=e.ecco*e.eta,Z=Math.abs(1-W),X=B*Math.pow(K,4),$=X/Math.pow(Z,3.5),tt=$*e.no*(C*(1+1.5*W+Q*(4+W))+.375*b*K/Z*e.con41*(8+3*W*(8+W)));e.cc1=e.bstar*tt;var et=0;e.ecco>1e-4&&(et=-2*X*K*D*e.no*q/e.ecco),e.x1mth2=1-P,e.cc4=2*e.no*$*C*U*(e.eta*(2+.5*W)+e.ecco*(.5+2*W)-b*K/(C*Z)*(-3*e.con41*(1-2*Q+W*(1.5-.5*Q))+.75*e.x1mth2*(2*W-Q*(1+W))*Math.cos(2*e.argpo))),e.cc5=2*$*C*U*(1+2.75*(W+Q)+Q*W);var nt=P*P,at=1.5*b*J*e.no,ot=.5*at*b*J,rt=-.46875*T*J*J*e.no;e.mdot=e.no+.5*at*k*e.con41+.0625*ot*k*(13-78*P+137*nt),e.argpdot=-.5*at*S+.0625*ot*(7-114*P+395*nt)+rt*(3-36*P+49*nt);var st=-at*L;e.nodedot=st+(.5*ot*(4-19*P)+2*rt*(3-7*P))*L;var it=e.argpdot+e.nodedot;e.omgcof=e.bstar*et*Math.cos(e.argpo),e.xmcof=0,e.ecco>1e-4&&(e.xmcof=-c*X*e.bstar/Q),e.nodecf=3.5*U*st*e.cc1,e.t2cof=1.5*e.cc1,Math.abs(L+1)>15e-13?e.xlcof=-.25*D*q*(3+5*L)/(1+L):e.xlcof=-.25*D*q*(3+5*L)/l,e.aycof=-.5*D*q;var ct=1+e.eta*Math.cos(e.mo);if(e.delmo=ct*ct*ct,e.sinmao=Math.sin(e.mo),e.x7thm1=7*P-1,s/e.no>=225){e.method="d",e.isimp=1;var lt=e.inclo,ut={epoch:d,ep:e.ecco,argpp:e.argpo,tc:0,inclp:e.inclo,nodep:e.nodeo,np:e.no,e3:e.e3,ee2:e.ee2,peo:e.peo,pgho:e.pgho,pho:e.pho,PInco:e.PInco,plo:e.plo,se2:e.se2,se3:e.se3,sgh2:e.sgh2,sgh3:e.sgh3,sgh4:e.sgh4,sh2:e.sh2,sh3:e.sh3,si2:e.si2,si3:e.si3,sl2:e.sl2,sl3:e.sl3,sl4:e.sl4,xgh2:e.xgh2,xgh3:e.xgh3,xgh4:e.xgh4,xh2:e.xh2,xh3:e.xh3,xi2:e.xi2,xi3:e.xi3,xl2:e.xl2,xl3:e.xl3,xl4:e.xl4,zmol:e.zmol,zmos:e.zmos},ht=t.dscom(ut);e.e3=ht.e3,e.ee2=ht.ee2,e.peo=ht.peo,e.pgho=ht.pgho,e.pho=ht.pho,e.PInco=ht.PInco,e.plo=ht.plo,e.se2=ht.se2,e.se3=ht.se3,e.sgh2=ht.sgh2,e.sgh3=ht.sgh3,e.sgh4=ht.sgh4,e.sh2=ht.sh2,e.sh3=ht.sh3,e.si2=ht.si2,e.si3=ht.si3,e.sl2=ht.sl2,e.sl3=ht.sl3,e.sl4=ht.sl4;var dt=ht.sinim,mt=ht.cosim,pt=ht.em,ft=ht.emsq,gt=ht.s1,Mt=ht.s2,vt=ht.s3,wt=ht.s4,yt=ht.s5,xt=ht.ss1,At=ht.ss2,bt=ht.ss3,Tt=ht.ss4,Nt=ht.ss5,Dt=ht.sz1,Et=ht.sz3,Rt=ht.sz11,Ot=ht.sz13,zt=ht.sz21,It=ht.sz23,_t=ht.sz31,Ct=ht.sz33;e.xgh2=ht.xgh2,e.xgh3=ht.xgh3,e.xgh4=ht.xgh4,e.xh2=ht.xh2,e.xh3=ht.xh3,e.xi2=ht.xi2,e.xi3=ht.xi3,e.xl2=ht.xl2,e.xl3=ht.xl3,e.xl4=ht.xl4,e.zmol=ht.zmol,e.zmos=ht.zmos;var St=ht.nm,Lt=ht.z1,Pt=ht.z3,jt=ht.z11,Ut=ht.z13,Yt=ht.z21,Ft=ht.z23,kt=ht.z31,qt=ht.z33,Ht={inclo:lt,init:e.init,ep:e.ecco,inclp:e.inclo,nodep:e.nodeo,argpp:e.argpo,mp:e.mo,opsmode:e.operationmode},Bt=t.dpper(e,Ht);e.ecco=Bt.ep,e.inclo=Bt.inclp,e.nodeo=Bt.nodep,e.argpo=Bt.argpp,e.mo=Bt.mp;var Vt={xke:N,cosim:mt,emsq:ft,argpo:e.argpo,s1:gt,s2:Mt,s3:vt,s4:wt,s5:yt,sinim:dt,ss1:xt,ss2:At,ss3:bt,ss4:Tt,ss5:Nt,sz1:Dt,sz3:Et,sz11:Rt,sz13:Ot,sz21:zt,sz23:It,sz31:_t,sz33:Ct,t:e.t,tc:0,gsto:e.gsto,mo:e.mo,mdot:e.mdot,no:e.no,nodeo:e.nodeo,nodedot:e.nodedot,xPIdot:it,z1:Lt,z3:Pt,z11:jt,z13:Ut,z21:Yt,z23:Ft,z31:kt,z33:qt,ecco:e.ecco,eccsq:j,em:pt,argpm:0,inclm:lt,mm:0,nm:St,nodem:0,irez:e.irez,atime:e.atime,d2201:e.d2201,d2211:e.d2211,d3210:e.d3210,d3222:e.d3222,d4410:e.d4410,d4422:e.d4422,d5220:e.d5220,d5232:e.d5232,d5421:e.d5421,d5433:e.d5433,dedt:e.dedt,didt:e.didt,dmdt:e.dmdt,dnodt:e.dnodt,domdt:e.domdt,del1:e.del1,del2:e.del2,del3:e.del3,xfact:e.xfact,xlamo:e.xlamo,xli:e.xli,xni:e.xni},Gt=t.dsinit(Vt);e.irez=Gt.irez,e.atime=Gt.atime,e.d2201=Gt.d2201,e.d2211=Gt.d2211,e.d3210=Gt.d3210,e.d3222=Gt.d3222,e.d4410=Gt.d4410,e.d4422=Gt.d4422,e.d5220=Gt.d5220,e.d5232=Gt.d5232,e.d5421=Gt.d5421,e.d5433=Gt.d5433,e.dedt=Gt.dedt,e.didt=Gt.didt,e.dmdt=Gt.dmdt,e.dnodt=Gt.dnodt,e.domdt=Gt.domdt,e.del1=Gt.del1,e.del2=Gt.del2,e.del3=Gt.del3,e.xfact=Gt.xfact,e.xlamo=Gt.xlamo,e.xli=Gt.xli,e.xni=Gt.xni}if(1!==e.isimp){var Jt=e.cc1*e.cc1;e.d2=4*C*K*Jt;var Kt=e.d2*K*e.cc1/3;e.d3=(17*C+H)*Kt,e.d4=.5*Kt*C*K*(221*C+31*H)*e.cc1,e.t3cof=e.d2+2*Jt,e.t4cof=.25*(3*e.d3+e.cc1*(12*e.d2+10*Jt)),e.t5cof=.2*(3*e.d4+12*e.cc1*e.d3+6*e.d2*e.d2+15*Jt*(2*e.d2+Jt))}}t.propagate(e,0),e.init="n"},t.propagate=function(e,n){var a=e.xke,o=e.j2,i=e.j3oj2,u=e.radiusearthkm*e.xke/60;e.t=n,e.error=0;var h=e.mo+e.mdot*e.t,d=e.argpo+e.argpdot*e.t,m=e.nodeo+e.nodedot*e.t,p=d,f=h,g=e.t*e.t,M=m+e.nodecf*g,v=1-e.cc1*e.t,w=e.bstar*e.cc4*e.t,y=e.t2cof*g;if(1!==e.isimp){var x=e.omgcof*e.t,A=1+e.eta*Math.cos(h),b=x+e.xmcof*(A*A*A-e.delmo);f=h+b,p=d-b;var T=g*e.t,N=T*e.t;v=v-e.d2*g-e.d3*T-e.d4*N,w+=e.bstar*e.cc5*(Math.sin(f)-e.sinmao),y=y+e.t3cof*T+N*(e.t4cof+e.t*e.t5cof)}var D=e.no,E=e.ecco,R=e.inclo;if("d"===e.method){var O=e.t,z=t.dspace(e.irez,e.d2201,e.d2211,e.d3210,e.d3222,e.d4410,e.d4422,e.d5220,e.d5232,e.d5421,e.d5433,e.dedt,e.del1,e.del2,e.del3,e.didt,e.dmdt,e.dnodt,e.domdt,e.argpo,e.argpdot,e.t,O,e.gsto,e.xfact,e.xlamo,e.no,e.atime,E,p,R,e.xli,f,e.xni,M,D);E=z[0],p=z[1],R=z[2],f=z[3],M=z[4],D=z[5]}if(D<=0)return e.error=2,{position:!1,velocity:!1};var I=Math.pow(a/D,c)*v*v;if(D=a/Math.pow(I,1.5),(E-=w)>=1||E<-.001)return e.error=1,{position:!1,velocity:!1};E<1e-6&&(E=1e-6);var _=(f+=e.no*y)+p+M,C=E,S=R,L=p%=s,P=M%=s,j=f=((_%=s)-p-M)%s,U=Math.sin(R),Y=Math.cos(R);if("d"===e.method){var F={inclo:e.inclo,init:"n",ep:C,inclp:S,nodep:P,argpp:L,mp:j,opsmode:e.operationmode},k=t.dpper(e,F);if(C=k.ep,P=k.nodep,L=k.argpp,j=k.mp,(S=k.inclp)<0&&(S=-S,P+=r,L-=r),C<0||C>1)return e.error=3,{position:!1,velocity:!1}}"d"===e.method&&(U=Math.sin(S),Y=Math.cos(S),e.aycof=-.5*i*U,Math.abs(Y+1)>15e-13?e.xlcof=-.25*i*U*(3+5*Y)/(1+Y):e.xlcof=-.25*i*U*(3+5*Y)/l);for(var q,H,B=C*Math.cos(L),V=1/(I*(1-C*C)),G=C*Math.sin(L)+V*e.aycof,J=(j+L+P+V*e.xlcof*B-P)%s,K=J,W=9999.9,Q=1;Math.abs(W)>=1e-12&&Q<=10;)H=Math.sin(K),W=(J-G*(q=Math.cos(K))+B*H-K)/(W=1-q*B-H*G),Math.abs(W)>=.95&&(W=W>0?.95:-.95),K+=W,Q+=1;var Z=B*q+G*H,X=B*H-G*q,$=B*B+G*G,tt=I*(1-$);if(tt<0)return e.error=4,{position:!1,velocity:!1};var et=I*(1-Z),nt=Math.sqrt(I)*X/et,at=Math.sqrt(tt)/et,ot=Math.sqrt(1-$),rt=I/et*(H-G-B*(V=X/(1+ot))),st=I/et*(q-B+G*V),it=Math.atan2(rt,st),ct=(st+st)*rt,lt=1-2*rt*rt,ut=.5*o*(V=1/tt),ht=ut*V;if("d"===e.method){var dt=Y*Y;e.con41=3*dt-1,e.x1mth2=1-dt,e.x7thm1=7*dt-1}var mt=et*(1-1.5*ht*ot*e.con41)+.5*ut*e.x1mth2*lt;if(mt<1)return e.error=6,{position:!1,velocity:!1};it-=.25*ht*e.x7thm1*ct;var pt=P+1.5*ht*Y*ct,ft=S+1.5*ht*Y*U*lt,gt=nt-D*ut*e.x1mth2*ct/a,Mt=at+D*ut*(e.x1mth2*lt+1.5*e.con41)/a,vt=Math.sin(it),wt=Math.cos(it),yt=Math.sin(pt),xt=Math.cos(pt),At=Math.sin(ft),bt=Math.cos(ft),Tt=-yt*bt,Nt=xt*bt,Dt=Tt*vt+xt*wt,Et=Nt*vt+yt*wt,Rt=At*vt,Ot=Tt*wt-xt*vt,zt=Nt*wt-yt*vt,It=At*wt;return{position:{x:mt*Dt*e.radiusearthkm,y:mt*Et*e.radiusearthkm,z:mt*Rt*e.radiusearthkm},velocity:{x:(gt*Dt+Mt*Ot)*u,y:(gt*Et+Mt*zt)*u,z:(gt*Rt+Mt*It)*u}}},t.getgravconst=function(t){var e,n,a,o,r,s,i,c;switch(t){case"wgs72old":r=398600.79964,s=6378.135,i=1/(c=.0743669161),o=-165597e-11,a=(n=-253881e-11)/(e=.001082616);break;case"wgs72":r=398600.8,s=6378.135,i=1/(c=60/Math.sqrt(s*s*s/r)),o=-165597e-11,a=(n=-253881e-11)/(e=.001082616);break;case"wgs84":r=398600.5,s=6378.137,i=1/(c=60/Math.sqrt(s*s*s/r)),o=-161098761e-14,a=(n=-253215306e-14)/(e=.00108262998905);break;default:throw new Error("unknown gravity option ".concat(t))}return{tumin:i,mus:r,radiusearthkm:s,xke:c,j2:e,j3:n,j4:o,j3oj2:a}},t.createSatrec=function(e,n,a,o){void 0===a&&(a="wgs72"),void 0===o&&(o="i");var s,c={a:null,am:null,alta:null,altp:null,argpdot:null,argpo:null,aycof:null,bstar:null,cc1:null,cc4:null,cc5:null,con41:null,d2:null,d3:null,d4:null,d5232:null,d5421:null,d5433:null,dedt:null,delmo:null,del1:null,ecco:null,em:null,epochdays:null,epochyr:null,error:null,eta:null,gsto:null,im:null,inclo:null,init:null,isimp:null,jdsatepoch:null,mdot:null,method:null,mo:null,mm:null,nddot:null,ndot:null,no:null,nodecf:null,nodedot:null,nodeo:null,om:null,Om:null,omgcof:null,operationmode:null,satnum:null,sinmao:null,t:null,t2cof:null,t3cof:null,t4cof:null,t5cof:null,x1mth2:null,x7thm1:null,xlcof:null,xmcof:null,xfact:null,xlamo:null,xli:null,xgh4:null,xgh3:null,xh2:null,xi2:null,xi3:null,xl2:null,xl3:null,xl4:null,zmol:null,zmos:null,dmdt:null,dnodt:null,domdt:null,e3:null,ee2:null,peo:null,pgho:null,pho:null,PInco:null,plo:null,se2:null,se3:null,sgh2:null,sgh3:null,sgh4:null,sh2:null,sh3:null,si2:null,si3:null,sl2:null,sl3:null,sl4:null,xgh2:null,xh3:null,tumin:null,radiusearthkm:null,irez:null,d3210:null,d3222:null,d4410:null,d4422:null,d5220:null,del2:null,del3:null,didt:null,atime:null,j2:null,j3:null,j4:null,mus:null,xke:null,j3oj2:null,xni:null,d2201:null,d2211:null,nm:null},l=1440/(2*r);c.error=0,c.satnum=e.substring(2,7),c.epochyr=parseInt(e.substring(18,20)),c.epochdays=parseFloat(e.substring(20,32)),c.ndot=parseFloat(e.substring(33,43)),c.nddot=parseFloat("".concat(e.substring(44,45),".").concat(e.substring(45,50),"E").concat(e.substring(50,52))),c.bstar=parseFloat("".concat(e.substring(53,54),".").concat(e.substring(54,59),"E").concat(e.substring(59,61))),c.inclo=parseFloat(n.substring(8,16)),c.nodeo=parseFloat(n.substring(17,25)),c.ecco=parseFloat(".".concat(n.substring(26,33))),c.argpo=parseFloat(n.substring(34,42)),c.mo=parseFloat(n.substring(43,51)),c.no=parseFloat(n.substring(52,63)),c.no/=l,c.inclo*=i,c.nodeo*=i,c.argpo*=i,c.mo*=i,s=c.epochyr<57?c.epochyr+2e3:c.epochyr+1900;var u=t.days2mdhms(s,c.epochdays),h=u.mon,d=u.day,m=u.hr,p=u.min,f=u.sec,g=t.jday(s,h,d,m,p,f);return c.jdsatepoch=g.jd+g.jdFrac,t.sgp4init(c,{whichconst:a,opsmode:o,satn:c.satnum,epoch:c.jdsatepoch-2433281.5,xbstar:c.bstar,xecco:c.ecco,xargpo:c.argpo,xinclo:c.inclo,xndot:c.ndot,xnddot:c.nddot,xmo:c.mo,xno:c.no,xnodeo:c.nodeo}),c},t.gstime=function(t){var e=(t-2451545)/36525,n=-62e-7*e*e*e+.093104*e*e+3164400184.812866*e+67310.54841;return(n=n*i/240%s)<0&&(n+=s),n},t.sgn=function(t){return t<0?-1:1},t.mag=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])},t.cross=function(t,e){var n=[0,0,0];return n[0]=t[1]*e[2]-t[2]*e[1],n[1]=t[2]*e[0]-t[0]*e[2],n[2]=t[0]*e[1]-t[1]*e[0],n},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.angle=function(e,n){var a=t.mag(e),o=t.mag(n);if(a*o>1e-8*1e-8){var r=t.dot(e,n)/(a*o);return Math.abs(r)>1&&(r=Number(t.sgn(r))),Math.acos(r)}return 999999.1},t.asinh=function(t){return Math.log(t+Math.sqrt(t*t+1))},t.newtonnu=function(e,n){var a=999999.9,o=999999.9,s=1e-8;if(Math.abs(e)<s)o=n,a=n;else if(e<1-s){var i=Math.sqrt(1-e*e)*Math.sin(n)/(1+e*Math.cos(n)),c=(e+Math.cos(n))/(1+e*Math.cos(n));o=(a=Math.atan2(i,c))-e*Math.sin(a)}else e>1+s?e>1&&Math.abs(n)+1e-5<r-Math.acos(1/e)&&(i=Math.sqrt(e*e-1)*Math.sin(n)/(1+e*Math.cos(n)),a=t.asinh(i),o=e*t.sinh(a)-a):Math.abs(n)<168*r/180&&(o=(a=Math.tan(.5*n))+a*a*a/3);return e<1&&((o%=2*r)<0&&(o+=2*r),a%=2*r),{e0:a,m:o}},t.sinh=function(t){return(Math.exp(t)-Math.exp(-t))/2},t.rv2coe=function(e,n,a){var o,i,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,b=[0,0,0],T=[0,0,0],N=.5*r,D=1e-8,E=999999.1,R=t.mag(e),O=t.mag(n),z=t.cross(e,n),I=t.mag(z);if(I>D){b[0]=-z[1],b[1]=z[0],b[2]=0,v=t.mag(b);var _=O*O-a/R;for(M=t.dot(e,n),x=0;x<=2;x++)T[x]=(_*e[x]-M*n[x])/a;if(c=t.mag(T),y=O*O*.5-a/R,i=Math.abs(y)>D?-a/(2*y):999999.9,o=I*I/a,w=z[2]/I,l=Math.acos(w),A=1,c<D?A=l<D||Math.abs(l-r)<D?2:3:(l<D||Math.abs(l-r)<D)&&(A=4),v>D){var C=b[0]/v;Math.abs(C)>1&&(C=t.sgn(C)),u=Math.acos(C),b[1]<0&&(u=s-u)}else u=E;1===A?(h=t.angle(b,T),T[2]<0&&(h=s-h)):h=E,1===A||4===A?(d=t.angle(T,e),M<0&&(d=s-d)):d=E,3===A?(p=t.angle(b,e),e[2]<0&&(p=s-p),m=p):p=E,c>D&&4===A?(C=T[0]/c,Math.abs(C)>1&&(C=t.sgn(C)),g=Math.acos(C),T[1]<0&&(g=s-g),l>N&&(g=s-g)):g=E,R>D&&2===A?(C=e[0]/R,Math.abs(C)>1&&(C=t.sgn(C)),f=Math.acos(C),e[1]<0&&(f=s-f),l>N&&(f=s-f),m=f):f=E,1!==A&&4!==A||(m=t.newtonnu(c,d).m)}else o=E,i=E,c=E,l=E,u=E,h=E,d=E,m=E,p=E,f=E,g=E;return{p:o,a:i,ecc:c,incl:l,omega:u,argp:h,nu:d,m,arglat:p,truelon:f,lonper:g}},t.jday=function(t,e,n,a,o,r,s){void 0===e&&(e=0),void 0===n&&(n=0),void 0===a&&(a=0),void 0===o&&(o=0),void 0===r&&(r=0),void 0===s&&(s=0),t instanceof Date&&(e=t.getUTCMonth()+1,n=t.getUTCDate(),a=t.getUTCHours(),o=t.getUTCMinutes(),r=t.getUTCSeconds(),s=t.getUTCMilliseconds(),t=t.getUTCFullYear());var i=367*t-Math.floor(7*(t+Math.floor((e+9)/12))*.25)+Math.floor(275*e/9)+n+1721013.5,c=(s/1e3+r+60*o+3600*a)/86400;if(Math.abs(c)>1){var l=Math.floor(c);i+=l,c-=l}return{jd:i,jdFrac:c}},t.days2mdhms=function(t,e){for(var n=[31,t%4==0?29:28,31,30,31,30,31,31,30,31,30,31],a=Math.floor(e),o=1,r=0;a>r+n[o-1]&&o<12;)r+=n[o-1],o+=1;var s=o,i=a-r,c=24*(e-a),l=Math.floor(c);c=60*(c-l);var u=Math.floor(c);return{mon:s,day:i,hr:l,min:u,sec:60*(c-u)}},t.invjday=function(e,n){var a,o;Math.abs(n)>=1&&(e+=Math.floor(n),n-=Math.floor(n));var r=e-Math.floor(e)-.5;Math.abs(r)>1e-8&&(e-=r,n+=r);var s=e-2415019.5,i=s/365.25,c=1900+Math.floor(i);a=Math.floor(.25*(c-1901)),(o=Math.floor(s-(365*(c-1900)+a)))+n<1&&(c-=1,a=Math.floor(.25*(c-1901)),o=Math.floor(s-(365*(c-1900)+a)));var l=t.days2mdhms(c,o+n);return{year:c,mon:l.mon,day:l.day,hr:l.hr,min:l.min,sec:l.sec}},t}(),m=function(){function t(){}return t.getDegLat=function(e){if(e<-r/2||e>r/2)throw new RangeError("Latitude radians must be in range [-PI/2; PI/2].");return t.rad2deg(e)},t.getDegLon=function(e){if(e<-r||e>r)throw new RangeError("Longitude radians must be in range [-PI; PI].");return t.rad2deg(e)},t.getRadLat=function(e){if(e<-90||e>90)throw new RangeError("Latitude degrees must be in range [-90; 90].");return t.deg2rad(e)},t.getRadLon=function(e){if(e<-180||e>180)throw new RangeError("Longitude degrees must be in range [-180; 180].");return t.deg2rad(e)},t.rad2deg=function(t){return 180*t/r},t.deg2rad=function(t){return t*r/180},t.ecf2eci=function(t,e){return{x:t.x*Math.cos(e)-t.y*Math.sin(e),y:t.x*Math.sin(e)+t.y*Math.cos(e),z:t.z}},t.ecf2rae=function(e,n){var a=t.lla2sez(e,n);return t.sez2rae(a)},t.eci2lla=function(t,e){for(var n=6378.137,a=Math.sqrt(t.x*t.x+t.y*t.y),o=(n-6356.7523142)/n,i=2*o-o*o,c=Math.atan2(t.y,t.x)-e;c<-r;)c+=s;for(;c>r;)c-=s;for(var l,u=0,h=Math.atan2(t.z,Math.sqrt(t.x*t.x+t.y*t.y));u<20;)l=1/Math.sqrt(1-i*(Math.sin(h)*Math.sin(h))),h=Math.atan2(t.z+n*l*i*Math.sin(h),a),u+=1;return{lon:c,lat:h,alt:a/Math.cos(h)-n*l}},t.eci2ecf=function(t,e){return{x:t.x*Math.cos(e)+t.y*Math.sin(e),y:t.x*-Math.sin(e)+t.y*Math.cos(e),z:t.z}},t.lla2ecf=function(t){var e=t.lon,n=t.lat,a=t.alt,o=6378.137,r=(o-6356.7523142)/o,s=2*r-r*r,i=o/Math.sqrt(1-s*(Math.sin(n)*Math.sin(n)));return{x:(i+a)*Math.cos(n)*Math.cos(e),y:(i+a)*Math.cos(n)*Math.sin(e),z:(i*(1-s)+a)*Math.sin(n)}},t.lla2sez=function(e,n){var a=e.lon,o=e.lat,r=t.lla2ecf(e),s=n.x-r.x,i=n.y-r.y,c=n.z-r.z;return{s:Math.sin(o)*Math.cos(a)*s+Math.sin(o)*Math.sin(a)*i-Math.cos(o)*c,e:-Math.sin(a)*s+Math.cos(a)*i,z:Math.cos(o)*Math.cos(a)*s+Math.cos(o)*Math.sin(a)*i+Math.sin(o)*c}},t.rae2sez=function(t){return{s:-t.rng*Math.cos(t.el)*Math.cos(t.az),e:t.rng*Math.cos(t.el)*Math.sin(t.az),z:t.rng*Math.sin(t.el)}},t.rae2ecf=function(e,n){var a=t.lla2ecf(n),o=t.rae2sez(e),r=Math.sin(n.lat),s=Math.sin(n.lon),i=Math.cos(n.lat),c=Math.cos(n.lon);return{x:r*c*o.s+-s*o.e+i*c*o.z+a.x,y:r*s*o.s+c*o.e+i*s*o.z+a.y,z:-i*o.s+r*o.z+a.z}},t.sez2rae=function(t){var e=Math.sqrt(t.s*t.s+t.e*t.e+t.z*t.z),n=Math.asin(t.z/e);return{rng:e,az:Math.atan2(-t.e,t.s)+r,el:n}},t}();!function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.PAYLOAD=1]="PAYLOAD",t[t.ROCKET_BODY=2]="ROCKET_BODY",t[t.DEBRIS=3]="DEBRIS",t[t.SPECIAL=4]="SPECIAL",t[t.RADAR_MEASUREMENT=5]="RADAR_MEASUREMENT",t[t.RADAR_TRACK=6]="RADAR_TRACK",t[t.RADAR_OBJECT=7]="RADAR_OBJECT",t[t.BALLISTIC_MISSILE=8]="BALLISTIC_MISSILE",t[t.STAR=9]="STAR",t[t.INTERGOVERNMENTAL_ORGANIZATION=10]="INTERGOVERNMENTAL_ORGANIZATION",t[t.SUBORBITAL_PAYLOAD_OPERATOR=11]="SUBORBITAL_PAYLOAD_OPERATOR",t[t.PAYLOAD_OWNER=12]="PAYLOAD_OWNER",t[t.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER=13]="METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER",t[t.PAYLOAD_MANUFACTURER=14]="PAYLOAD_MANUFACTURER",t[t.LAUNCH_AGENCY=15]="LAUNCH_AGENCY",t[t.LAUNCH_SITE=16]="LAUNCH_SITE",t[t.LAUNCH_POSITION=17]="LAUNCH_POSITION",t[t.LAUNCH_FACILITY=18]="LAUNCH_FACILITY",t[t.CONTROL_FACILITY=19]="CONTROL_FACILITY",t[t.GROUND_SENSOR_STATION=20]="GROUND_SENSOR_STATION",t[t.OPTICAL=21]="OPTICAL",t[t.MECHANICAL=22]="MECHANICAL",t[t.PHASED_ARRAY_RADAR=23]="PHASED_ARRAY_RADAR",t[t.OBSERVER=24]="OBSERVER",t[t.BISTATIC_RADIO_TELESCOPE=25]="BISTATIC_RADIO_TELESCOPE",t[t.COUNTRY=26]="COUNTRY",t[t.LAUNCH_VEHICLE_MANUFACTURER=27]="LAUNCH_VEHICLE_MANUFACTURER",t[t.ENGINE_MANUFACTURER=28]="ENGINE_MANUFACTURER"}(o||(o={}));var p,f=2*Math.PI,g=function(){function t(){}return t.julianCycle=function(e,n){var a=n/f;return Math.round(e-t.J0-a)},t.observerAngle=function(t){return-2.076*Math.sqrt(t)/60},t.solarMeanAnomaly=function(t){return i*(357.5291+.98560028*t)},t.julian2date=function(e){return new Date((e-t.J1970)*u)},t.date2jSince2000=function(e){return e.getTime()/u+t.J1970-t.J2000},t.rightAscension=function(e,n){return Math.atan2(Math.sin(e)*Math.cos(t.e)-Math.tan(n)*Math.sin(t.e),Math.cos(e))},t.declination=function(e,n){return Math.asin(Math.sin(n)*Math.cos(t.e)+Math.cos(n)*Math.sin(t.e)*Math.sin(e))},t.azimuth=function(t,e,n){return Math.PI+Math.atan2(Math.sin(t),Math.cos(t)*Math.sin(e)-Math.tan(n)*Math.cos(e))},t.elevation=function(t,e,n){return Math.asin(Math.sin(e)*Math.sin(n)+Math.cos(e)*Math.cos(n)*Math.cos(t))},t.siderealTime=function(t,e){return i*(280.16+360.9856235*t)-e},t.astroRefraction=function(t){return t<0&&(t=0),2967e-7/Math.tan(t+.00312536/(t+.08901179))},t.eclipticLongitude=function(t){return t+i*(1.9148*Math.sin(t)+.02*Math.sin(2*t)+3e-4*Math.sin(3*t))+102.9372*i+Math.PI},t.eclipticLatitude=function(t){var e=f/360,n=t-.00569-.00478*Math.sin(e*t);return f*(n+3e-4*Math.sin(2*e*n))},t.julianCyle=function(e,n){return Math.round(e-t.J0-n/(2*f/2))},t.approxTransit=function(e,n,a){return t.J0+(e+n)/f+a},t.solarTransitJulian=function(e,n,a){return t.J2000+e+.0053*Math.sin(n)-.0069*Math.sin(2*a)},t.hourAngle=function(t,e,n){return Math.acos((Math.sin(t)-Math.sin(e)*Math.sin(n))/(Math.cos(e)*Math.cos(n)))},t.getSetJulian=function(e,n,a,o,r,s,i){var c=t.hourAngle(e,a,o),l=t.approxTransit(c,n,r);return t.solarTransitJulian(l,s,i)},t.getSetJ=function(e,n,a,o,r,s,i){var c=t.hourAngle(e,a,o),l=t.approxTransit(c,n,r);return t.solarTransitJulian(l,s,i)},t.getTimes=function(e,n,a,o,r){if(void 0===o&&(o=0),void 0===r&&(r=!1),isNaN(n))throw new Error("latitude missing");if(isNaN(a))throw new Error("longitude missing");var s=new Date(e);r?s.setUTCHours(12,0,0,0):s.setHours(12,0,0,0);var c,l=0,u=[],h=0,d=0,m=0,p=t.calculateJnoon(a,n,o,s),f=p.Jnoon,g=p.dh,M=p.lw,v=p.phi,w=p.dec,y=p.n,x=p.M,A=p.L,b={solarNoon:t.julian2date(f),nadir:t.julian2date(f+.5)};for(l=0,c=t.times.length;l<c;l+=1)h=((u=t.times[l])[0]+g)*i,m=f-((d=t.getSetJ(h,M,v,w,y,x,A))-f),b[u[1]]=t.julian2date(m),b[u[2]]=t.julian2date(d);return b},t.calculateJnoon=function(e,n,a,o){var r=i*-e,s=i*n,c=t.observerAngle(a),l=t.date2jSince2000(o),u=t.julianCycle(l,r),h=t.approxTransit(0,r,u),d=t.solarMeanAnomaly(h),m=t.eclipticLongitude(d),p=t.declination(m,0);return{Jnoon:t.solarTransitJulian(h,d,m),dh:c,lw:r,phi:s,dec:p,n:u,M:d,L:m}},t.getSunTimeByAzimuth=function(e,n,a,o,r){if(void 0===r&&(r=!1),isNaN(o))throw new Error("azimuth missing");if(isNaN(n))throw new Error("latitude missing");if(isNaN(a))throw new Error("longitude missing");r&&(o*=i);var s=new Date(e),c=i*-a,l=i*n,h=new Date(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0).getTime(),d=u;for(h+=d;d>200;){var m=t.date2jSince2000(new Date(h)),p=t.getSunRaDec(m),f=t.siderealTime(m,c)-p.ra;d/=2,t.getAzimuth(f,l,p.dec)<o?h+=d:h-=d}return new Date(Math.floor(h))},t.getAzimuth=function(t,e,n){return Math.atan2(Math.sin(t),Math.cos(t)*Math.sin(e)-Math.tan(n)*Math.cos(e))+Math.PI},t.getSolarTime=function(t,e,n){var a=new Date;a.setUTCFullYear(t.getUTCFullYear(),0,1),a.setUTCHours(0,0,0,0);var o=t.getTime()-a.getTime(),r=360/365*(Math.floor(o/u)-81)*i,s=9.87*Math.sin(2*r)-7.53*Math.cos(r)-1.5*Math.sin(r)+4*(n-15*e);return new Date(t.getTime()+60*s*1e3)},t.getStarAzEl=function(e,n,a,o,r){var s=-a*i,c=n*i,l=t.date2jSince2000(e),u=t.siderealTime(l,s)-o,h=t.elevation(u,c,r);return{az:t.azimuth(u,c,r),el:h+=t.astroRefraction(h)}},t.getSunAzEl=function(e,n,a){var o=-a*i,r=n*i,s=t.date2jSince2000(e),c=t.getSunRaDec(s),l=t.siderealTime(s,o)-c.ra;return{az:t.azimuth(l,r,c.dec),el:t.elevation(l,r,c.dec)}},t.getSunRaDec=function(e){var n=t.solarMeanAnomaly(e),a=t.eclipticLongitude(n);return{dec:t.declination(a,0),ra:t.rightAscension(a,0)}},t.J1970=2440587.5,t.J2000=2451545,t.J0=9e-4,t.e=23.4397*i,t.times=[[6,"goldenHourDawnEnd","goldenHourDuskStart"],[-.3,"sunriseEnd","sunsetStart"],[-.833,"sunriseStart","sunsetEnd"],[-1,"goldenHourDawnStart","goldenHourDuskEnd"],[-4,"blueHourDawnEnd","blueHourDuskStart"],[-6,"civilDawn","civilDusk"],[-8,"blueHourDawnStart","blueHourDuskEnd"],[-12,"nauticalDawn","nauticalDusk"],[-15,"amateurDawn","amateurDusk"],[-18,"astronomicalDawn","astronomicalDusk"]],t}(),M=function(){function t(){}return t.moonCoords=function(t){var e=i*(134.963+13.064993*t),n=i*(93.272+13.22935*t),a=i*(218.316+13.176396*t)+6.289*i*Math.sin(e),o=5.128*i*Math.sin(n),r=385001-20905*Math.cos(e);return{ra:g.rightAscension(a,o),dec:g.declination(a,o),dist:r}},t.hoursLater=function(t,e){return new Date(t.getTime()+e*u/24)},t.getMoonPosition=function(e,n,a){var o=i*-a,r=i*n,s=g.date2jSince2000(e),c=t.moonCoords(s),l=g.siderealTime(s,o)-c.ra,u=g.elevation(l,r,c.dec),h=Math.atan2(Math.sin(l),Math.tan(r)*Math.cos(c.dec)-Math.sin(c.dec)*Math.cos(l));return u+=g.astroRefraction(u),{az:g.azimuth(l,r,c.dec),el:u,rng:c.dist,parallacticAngle:h}},t.getMoonIllumination=function(e){var n=e instanceof Date?e.getTime():e,a=2551442778,o=g.date2jSince2000(new Date(n)),r=g.getSunRaDec(o),s=t.moonCoords(o),i=149598e3,c=Math.acos(Math.sin(r.dec)*Math.sin(s.dec)+Math.cos(r.dec)*Math.cos(s.dec)*Math.cos(r.ra-s.ra)),l=Math.atan2(i*Math.sin(c),s.dist-i*Math.cos(c)),u=Math.atan2(Math.cos(r.dec)*Math.sin(r.ra-s.ra),Math.sin(r.dec)*Math.cos(s.dec)-Math.cos(r.dec)*Math.sin(s.dec)*Math.cos(r.ra-s.ra)),h=.5+.5*l*(u<0?-1:1)/Math.PI,d=(n-94717884e4)%a;d<0&&(d+=a);var m=a-d+n,p=1275721389-d+n;p<n&&(p+=a);var f=637860694.5-d+n;f<n&&(f+=a);var M=1913582083.5-d+n;M<n&&(M+=a);for(var v,w=Math.min(m,f,p,M),y=0;y<t.moonCycles.length;y++){var x=t.moonCycles[y];if(h>=x.from&&h<=x.to){v=x;break}}var A;return A=w===m?"newMoon":w===f?"firstQuarter":w===p?"fullMoon":"thirdQuarter",{fraction:(1+Math.cos(l))/2,phase:v,phaseValue:h,angle:u,next:{value:w,date:new Date(w).toISOString(),type:A,newMoon:{value:m,date:new Date(m).toISOString()},fullMoon:{value:p,date:new Date(p).toISOString()},firstQuarter:{value:f,date:new Date(f).toISOString()},thirdQuarter:{value:M,date:new Date(M).toISOString()}}}},t.getMoonTimes=function(e,n,a,o){void 0===o&&(o=!1);var r=new Date(e);o?r.setUTCHours(0,0,0,0):r.setHours(0,0,0,0);var s=t.calculateRiseSetTimes(r,n,a),i=s.rise,c=s.set,l=s.ye,u={rise:null,set:null,ye:null,alwaysUp:null,alwaysDown:null,highest:null};return u.rise=i?new Date(t.hoursLater(e,i)):NaN,u.set=c?new Date(t.hoursLater(e,c)):NaN,i||c?i&&c?(u.alwaysUp=!1,u.alwaysDown=!1,u.highest=new Date(t.hoursLater(e,Math.min(i,c)+Math.abs(c-i)/2))):(u.alwaysUp=!1,u.alwaysDown=!1):l>0?(u.alwaysUp=!0,u.alwaysDown=!1):(u.alwaysUp=!1,u.alwaysDown=!0),u},t.calculateRiseSetTimes=function(e,n,a){for(var o=.133*i,r=t.getMoonPosition(e,n,a).el-o,s=0,c=0,l=0,u=0,h=0,d=0,m=0,p=0,f=0,g=0,M=0,v=0,w=0,y=1;y<=24&&(s=t.getMoonPosition(t.hoursLater(e,y),n,a).el-o,p=((h=(r+(c=t.getMoonPosition(t.hoursLater(e,y+1),n,a).el-o))/2-s)*(m=-(d=(c-r)/2)/(2*h))+d)*m+s,g=0,(f=d*d-4*h*s)>=0&&(M=m-(w=Math.sqrt(f)/(2*Math.abs(h))),v=m+w,Math.abs(M)<=1&&g++,Math.abs(v)<=1&&g++,M<-1&&(M=v)),1===g?r<0?l=y+M:u=y+M:2===g&&(l=y+(p<0?v:M),u=y+(p<0?M:v)),!l||!u);y+=2)r=c;return{rise:l,set:u,ye:p}},t.moonCycles=[{from:0,to:.033863193308711,id:"newMoon",emoji:"🌚",code:":new_moon_with_face:",name:"New Moon",weight:1,css:"wi-moon-new"},{from:.033863193308711,to:.216136806691289,id:"waxingCrescentMoon",emoji:"🌒",code:":waxing_crescent_moon:",name:"Waxing Crescent",weight:6.3825,css:"wi-moon-wax-cres"},{from:.216136806691289,to:.283863193308711,id:"firstQuarterMoon",emoji:"🌓",code:":first_quarter_moon:",name:"First Quarter",weight:1,css:"wi-moon-first-quart"},{from:.283863193308711,to:.466136806691289,id:"waxingGibbousMoon",emoji:"🌔",code:":waxing_gibbous_moon:",name:"Waxing Gibbous",weight:6.3825,css:"wi-moon-wax-gibb"},{from:.466136806691289,to:.533863193308711,id:"fullMoon",emoji:"🌝",code:":full_moon_with_face:",name:"Full Moon",weight:1,css:"wi-moon-full"},{from:.533863193308711,to:.716136806691289,id:"waningGibbousMoon",emoji:"🌖",code:":waning_gibbous_moon:",name:"Waning Gibbous",weight:6.3825,css:"wi-moon-wan-gibb"},{from:.716136806691289,to:.783863193308711,id:"thirdQuarterMoon",emoji:"🌗",code:":last_quarter_moon:",name:"third Quarter",weight:1,css:"wi-moon-third-quart"},{from:.783863193308711,to:.966136806691289,id:"waningCrescentMoon",emoji:"🌘",code:":waning_crescent_moon:",name:"Waning Crescent",weight:6.3825,css:"wi-moon-wan-cres"},{from:.966136806691289,to:1,id:"newMoon",emoji:"🌚",code:":new_moon_with_face:",name:"New Moon",weight:1,css:"wi-moon-new"}],t}(),v=function(){function t(){}return t.distance=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)+Math.pow(t.z-e.z,2))},t.dopplerFactor=function(e,n,a){var o=7292115e-11,r={x:n.x-e.x,y:n.y-e.y,z:n.z-e.z},s=Math.sqrt(Math.pow(r.x,2)+Math.pow(r.y,2)+Math.pow(r.z,2)),i=a.x+o*e.y,c=a.y-o*e.x,l=a.z,u=(r.x*i+r.y*c+r.z*l)/s;return 1+u/299792.458*t.sign(u)},t.createVec=function(t,e,n){for(var a=[],o=t;o<=e;o+=n)a.push(o);return a},t.roundToNDecimalPlaces=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},t.Types=a,t.sign=function(t){return t>=0?1:-1},t.jday=function(t,e,n,a,o,r){if(!t){var s=new Date,i=new Date(s.getUTCFullYear(),0,0),c=s.getDate()-i.getDate();return Math.floor(c/h)}return 367*t-Math.floor(7*(t+Math.floor((e+9)/12))*.25)+Math.floor(275*e/9)+n+1721013.5+((r/60+o)/60+a)/24},t.SunMath=g,t.MoonMath=M,t}(),w=function(t,e){this.start=t-1,this.stop=e,this.length=this.stop-this.start},y=function(){return y=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},y.apply(this,arguments)},x=function(){function t(){}return t.parseTle=function(e,n){var a=t.parseLine1(e),o=t.parseLine2(n);if(a.satNum!==o.satNum)throw new Error("Satellite numbers do not match");if(a.satNumRaw!==o.satNumRaw)throw new Error("Raw satellite numbers do not match");if(1!==a.lineNumber1)throw new Error("First line number must be 1");if(2!==o.lineNumber2)throw new Error("Second line number must be 2");return{satNum:a.satNum,intlDes:a.intlDes,epochYear:a.epochYear,epochDay:a.epochDay,meanMoDev1:a.meanMoDev1,meanMoDev2:a.meanMoDev2,bstar:a.bstar,inclination:o.inclination,raan:o.raan,eccentricity:o.eccentricity,argOfPerigee:o.argOfPerigee,meanAnomaly:o.meanAnomaly,meanMotion:o.meanMotion}},t.parseTleFull=function(e,n){var a=t.parseLine1(e),o=t.parseLine2(n);if(a.satNum!==o.satNum)throw new Error("Satellite numbers do not match");if(a.satNumRaw!==o.satNumRaw)throw new Error("Raw satellite numbers do not match");if(1!==a.lineNumber1)throw new Error("First line number must be 1");if(2!==o.lineNumber2)throw new Error("Second line number must be 2");return y(y({},a),o)},t.parseLine1=function(e){return{lineNumber1:t.getLineNumber(e),satNum:t.getSatNum(e),satNumRaw:t.getRawSatNum(e),classification:t.getClassification(e),intlDes:t.getIntlDes(e),intlDesYear:t.getIntlDesYear(e),intlDesLaunchNum:t.getIntlDesLaunchNum(e),intlDesLaunchPiece:t.getIntlDesLaunchPiece(e),epochYear:t.getEpochYear(e),epochYearFull:t.getEpochYearFull(e),epochDay:t.getEpochDay(e),meanMoDev1:t.getMeanMoDev1(e),meanMoDev2:t.getMeanMoDev2(e),bstar:t.getBstar(e),ephemerisType:t.getEphemerisType(e),elsetNum:t.getElsetNum(e),checksum1:t.getChecksum(e)}},t.parseLine2=function(e){return{lineNumber2:t.getLineNumber(e),satNum:t.getSatNum(e),satNumRaw:t.getRawSatNum(e),inclination:t.getInclination(e),raan:t.getRaan(e),eccentricity:t.getEccentricity(e),argOfPerigee:t.getArgOfPerigee(e),meanAnomaly:t.getMeanAnomaly(e),meanMotion:t.getMeanMotion(e),revNum:t.getRevNum(e),checksum2:t.getChecksum(e)}},t.getLineNumber=function(e){var n=parseInt(e.substring(t.lineNumber.start,t.lineNumber.stop));if(1!==n&&2!==n)throw new Error("Invalid line number");return n},t.getSatNum=function(e){var n=e.substring(t.satNum.start,t.satNum.stop),a=n.split("")[0].toLowerCase();return isNaN(parseInt(a))?parseInt(a.charCodeAt(0)-96+9+n.slice(1,5)):parseInt(n)},t.getRawSatNum=function(e){return e.substring(t.satNum.start,t.satNum.stop)},t.getClassification=function(e){return e.substring(t.classification.start,t.classification.stop)},t.getIntlDes=function(e){return e.substring(t.intlDes.start,t.intlDes.stop).trim()},t.getIntlDesYear=function(e){return parseInt(e.substring(t.intlDesYear.start,t.intlDesYear.stop))},t.getIntlDesLaunchNum=function(e){return parseInt(e.substring(t.intlDesLaunchNum.start,t.intlDesLaunchNum.stop))},t.getIntlDesLaunchPiece=function(e){return e.substring(t.intlDesLaunchPiece.start,t.intlDesLaunchPiece.stop).trim()},t.getEpochYear=function(e){var n=parseInt(e.substring(t.epochYear.start,t.epochYear.stop));if(n<0||n>99)throw new Error("Invalid epoch year");return n},t.getEpochYearFull=function(e){var n=parseInt(e.substring(t.epochYear.start,t.epochYear.stop));if(n<0||n>99)throw new Error("Invalid epoch year");return n<57?n+2e3:n+1900},t.getEpochDay=function(e){var n=parseFloat(e.substring(t.epochDay.start,t.epochDay.stop));if(n<1||n>365.99999999)throw new Error("Invalid epoch day");return v.roundToNDecimalPlaces(n,8)},t.getMeanMoDev1=function(e){var n=parseFloat(e.substring(t.meanMoDev1.start,t.meanMoDev1.stop));if(isNaN(n))throw new Error("Invalid first derivative of mean motion.");return v.roundToNDecimalPlaces(n,8)},t.getMeanMoDev2=function(e){var n=parseFloat(e.substring(t.meanMoDev2.start,t.meanMoDev2.stop));if(isNaN(n))throw new Error("Invalid second derivative of mean motion.");return n},t.getBstar=function(e){var n=t.bstar.start+1,a=t.bstar.start+6,o=t.bstar.stop-1,r=e.substring(t.bstar.start,n),s=parseFloat("0.".concat(e.substring(n,a))),i=e.substring(a,o),c=parseInt(e.substring(o,t.bstar.stop));if("-"===i)c*=-1;else if("+"!==i)throw new Error("Invalid BSTAR symbol: ".concat(r));if(s*=Math.pow(10,c),"-"===r)s*=-1;else if("+"!==r&&" "!==r)throw new Error("Invalid BSTAR symbol: ".concat(r));return v.roundToNDecimalPlaces(s,14)},t.getEphemerisType=function(e){return parseInt(e.substring(t.ephemerisType.start,t.ephemerisType.stop))},t.getElsetNum=function(e){return parseInt(e.substring(t.elsetNum.start,t.elsetNum.stop))},t.getChecksum=function(e){return parseInt(e.substring(t.checksum.start,t.checksum.stop))},t.getInclination=function(e){var n=parseFloat(e.substring(t.inclination.start,t.inclination.stop));if(n<0||n>180)throw new Error("Invalid inclination: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getRaan=function(e){var n=parseFloat(e.substring(t.raan.start,t.raan.stop));if(!(n>=0&&n<=360))throw new Error("Invalid RAAN: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getEccentricity=function(e){var n=parseFloat("0.".concat(e.substring(t.eccentricity.start,t.eccentricity.stop)));if(!(n>=0&&n<=1))throw new Error("Invalid eccentricity: ".concat(n));return v.roundToNDecimalPlaces(n,7)},t.getArgOfPerigee=function(e){var n=parseFloat(e.substring(t.argPerigee.start,t.argPerigee.stop));if(!(n>=0&&n<=360))throw new Error("Invalid argument of perigee: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getMeanAnomaly=function(e){var n=parseFloat(e.substring(t.meanAnom.start,t.meanAnom.stop));if(!(n>=0&&n<=360))throw new Error("Invalid mean anomaly: ".concat(n));return v.roundToNDecimalPlaces(n,4)},t.getMeanMotion=function(e){var n=parseFloat(e.substring(t.meanMo.start,t.meanMo.stop));if(!(n>=0&&n<=17))throw new Error("Invalid mean motion: ".concat(n));return v.roundToNDecimalPlaces(n,8)},t.getRevNum=function(e){return parseInt(e.substring(t.revNum.start,t.revNum.stop))},t.lineNumber=new w(1,1),t.satNum=new w(3,7),t.classification=new w(8,8),t.intlDes=new w(10,17),t.intlDesYear=new w(10,11),t.intlDesLaunchNum=new w(12,14),t.intlDesLaunchPiece=new w(15,17),t.epochYear=new w(19,20),t.epochDay=new w(21,32),t.meanMoDev1=new w(34,43),t.meanMoDev2=new w(45,52),t.bstar=new w(54,61),t.ephemerisType=new w(63,63),t.elsetNum=new w(65,68),t.checksum=new w(69,69),t.inclination=new w(9,16),t.raan=new w(18,25),t.eccentricity=new w(27,33),t.argPerigee=new w(35,42),t.meanAnom=new w(44,51),t.meanMo=new w(53,63),t.revNum=new w(64,68),t}(),A=function(){function t(t){this.type=t.type||o.UNKNOWN,this.name=t.name||"Unknown",this.position=t.position||{x:0,y:0,z:0},this.time=t.time||new Date}return t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getTypeString=function(){switch(this.type){case o.UNKNOWN:return"Unknown";case o.PAYLOAD:return"Payload";case o.ROCKET_BODY:return"Rocket Body";case o.DEBRIS:return"Debris";case o.SPECIAL:return"Special";case o.RADAR_MEASUREMENT:return"Radar Measurement";case o.RADAR_TRACK:return"Radar Track";case o.RADAR_OBJECT:return"Radar Object";case o.BALLISTIC_MISSILE:return"Ballistic Missile";case o.STAR:return"Star";case o.INTERGOVERNMENTAL_ORGANIZATION:return"Intergovernmental Organization";case o.SUBORBITAL_PAYLOAD_OPERATOR:return"Suborbital Payload Operator";case o.PAYLOAD_OWNER:return"Payload Owner";case o.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER:return"Meteorological Rocket Launch Agency or Manufacturer";case o.PAYLOAD_MANUFACTURER:return"Payload Manufacturer";case o.LAUNCH_AGENCY:return"Launch Agency";case o.LAUNCH_SITE:return"Launch Site";case o.LAUNCH_POSITION:return"Launch Position";case o.LAUNCH_FACILITY:return"Launch Facility";case o.CONTROL_FACILITY:return"Control Facility";case o.GROUND_SENSOR_STATION:return"Ground Sensor Station";case o.OPTICAL:return"Optical";case o.MECHANICAL:return"Mechanical";case o.PHASED_ARRAY_RADAR:return"Phased Array Radar";case o.OBSERVER:return"Observer";case o.BISTATIC_RADIO_TELESCOPE:return"Bistatic Radio Telescope";case o.COUNTRY:return"Country";case o.LAUNCH_VEHICLE_MANUFACTURER:return"Launch Vehicle Manufacturer";case o.ENGINE_MANUFACTURER:return"Engine Manufacturer";default:return"Unknown"}},t}(),b=(p=function(t,e){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},p(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),T=function(t){function e(e){var n=t.call(this,e)||this;return e.rcs&&(n.rcs=e.rcs),e.vmag&&(n.vmag=e.vmag),n}return b(e,t),e.prototype.getRcs=function(){return this.rcs},e.prototype.getVmag=function(){return this.vmag},e}(A),N=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),D=function(t){function e(e,n){var a=t.call(this,e)||this,o=x.parseTle(e.tle1,e.tle2);return a.satNum=o.satNum,a.intlDes=o.intlDes,a.epochYear=o.epochYear,a.epochDay=o.epochDay,a.meanMoDev1=o.meanMoDev1,a.meanMoDev2=o.meanMoDev2,a.bstar=o.bstar,a.inclination=o.inclination,a.raan=o.raan,a.eccentricity=o.eccentricity,a.argOfPerigee=o.argOfPerigee,a.meanAnomaly=o.meanAnomaly,a.meanMotion=o.meanMotion,a.period=1440/a.meanMotion,a.satrec=d.createSatrec(e.tle1,e.tle2),a.options=n,a}return N(e,t),e.prototype.propagateTo=function(t){var n=e.calculateTimeVariables(t,this.satrec).m,a=d.propagate(this.satrec,n).position||{x:0,y:0,z:0};return this.position=a,this.time=t,this},e.prototype.getStateVec=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec).m;return d.propagate(this.satrec,n)},e.prototype.getEci=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec).m;return d.propagate(this.satrec,n).position||{x:0,y:0,z:0}},e.prototype.getEcf=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec),a=n.m,o=n.gmst,r=d.propagate(this.satrec,a).position||{x:0,y:0,z:0};return m.eci2ecf(r,o)},e.prototype.getLla=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec),a=n.m,o=n.gmst,r=d.propagate(this.satrec,a).position||{x:0,y:0,z:0};return m.eci2lla(r,o)},e.prototype.getRae=function(t,n){void 0===n&&(n=this.time);var a=e.calculateTimeVariables(n,this.satrec),o=a.m,r=a.gmst,s=d.propagate(this.satrec,o).position||{x:0,y:0,z:0},i=m.eci2ecf(s,r);return m.ecf2rae({lat:t.lat,lon:t.lon,alt:t.alt},i)},e.calculateTimeVariables=function(t,e){var n=v.jday(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())+t.getUTCMilliseconds()*h;return{gmst:d.gstime(n),m:e?1440*(n-e.jdsatepoch):null,j:n}},e}(T),E=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),R=function(t){function e(e,n,a){var o=t.call(this,e,n)||this;return o.setLaunchDetails(a.launchDetails),o.setSpaceCraftDetails(a.spaceCraftDetails),o.setOperationsDetails(a.operationsDetails),o}return E(e,t),e.prototype.setLaunchDetails=function(t){t.launchDate&&(this.launchDate=t.launchDate),t.launchMass&&(this.launchMass=t.launchMass),t.launchSite&&(this.launchSite=t.launchSite),t.launchVehicle&&(this.launchVehicle=t.launchVehicle)},e.prototype.getLaunchDetails=function(){return{launchDate:this.launchDate,launchMass:this.launchMass,launchSite:this.launchSite,launchVehicle:this.launchVehicle}},e.prototype.setSpaceCraftDetails=function(t){t.lifetime&&(this.lifetime=t.lifetime),t.maneuver&&(this.maneuver=t.maneuver),t.manufacturer&&(this.manufacturer=t.manufacturer),t.motor&&(this.motor=t.motor),t.power&&(this.power=t.power),t.payload&&(this.payload=t.payload),t.purpose&&(this.purpose=t.purpose),t.shape&&(this.shape=t.shape),t.span&&(this.span=t.span),t.configuration&&(this.configuration=t.configuration),t.equipment&&(this.equipment=t.equipment),t.dryMass&&(this.dryMass=t.dryMass)},e.prototype.getSpaceCraftDetails=function(){return{lifetime:this.lifetime,maneuver:this.maneuver,manufacturer:this.manufacturer,motor:this.motor,power:this.power,payload:this.payload,purpose:this.purpose,shape:this.shape,span:this.span,configuration:this.configuration,equipment:this.equipment,dryMass:this.dryMass}},e.prototype.setOperationsDetails=function(t){t.user&&(this.user=t.user),t.mission&&(this.mission=t.mission),t.owner&&(this.owner=t.owner),t.country&&(this.country=t.country)},e.prototype.getOperationsDetails=function(){return{user:this.user,mission:this.mission,owner:this.owner,country:this.country}},e}(D),O=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),z=function(t){function e(e){var n=this;if(e.type)switch(e.type){case o.OPTICAL:case o.MECHANICAL:case o.PHASED_ARRAY_RADAR:case o.OBSERVER:case o.BISTATIC_RADIO_TELESCOPE:break;default:throw new Error("Invalid sensor type")}if(n=t.call(this,e)||this,!(e.lat>=-90&&e.lat<=90))throw new Error("Invalid latitude");if(n.lat=e.lat,!(e.lon>=-180&&e.lon<=180))throw new Error("Invalid longitude");if(n.lon=e.lon,!(e.alt>=0))throw new Error("Invalid altitude");return n.alt=e.alt,n}return O(e,t),e.prototype.setTime=function(t){return this.time=t,this},e.prototype.getRae=function(t,e){return void 0===e&&(e=this.time),t.getRae(this,e)},e}(A),I=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),_=function(t){function e(e){var n=this;if(e.type&&e.type!==o.STAR)throw new Error("Invalid object type");return e.type=o.STAR,(n=t.call(this,e)||this).ra=e.ra,n.dec=e.dec,e.pname&&(n.pname=e.pname),e.bf&&(n.bf=e.bf),e.h&&(n.h=e.h),n}return I(e,t),e.prototype.getEci=function(t,n){void 0===t&&(t={lat:180,lon:0,alt:0}),void 0===n&&(n=this.time);var a=this.getRae(t,n),o=e.calculateTimeVariables(n).gmst;return m.ecf2eci(m.rae2ecf(a,{lat:0,lon:0,alt:0}),o)},e.prototype.getRae=function(t,e){void 0===t&&(t={lat:180,lon:0,alt:0}),void 0===e&&(e=this.time);var n=v.SunMath.getStarAzEl(e,t.lat*i,t.lon*i,this.ra,this.dec);return{az:n.az,el:n.el,rng:25e4}},e.calculateTimeVariables=function(t){var e=v.jday(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())+t.getUTCMilliseconds()*h;return{gmst:d.gstime(e),j:e}},e}(T)}},e={};function n(a){if(e[a])return e[a].exports;var o=e[a]={exports:{}};return t[a](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var a in e)n.o(e,a)&&!n.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(636)})()}));
2
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Ootk=e():t.Ootk=e()}(this,(function(){return(()=>{"use strict";var t={636:(t,e,n)=>{n.r(e),n.d(e,{DetailedSat:()=>z,Sat:()=>R,Sensor:()=>_,Sgp4:()=>d,SpaceObjectType:()=>o,Star:()=>S,Tle:()=>A,Transforms:()=>m,Utils:()=>w});var a={};n.r(a),n.d(a,{SpaceObjectType:()=>o});var o,r=Math.PI,i=2*r,s=r/180,c=2/3,l=15e-13,u=864e5,h=1.15741e-8,d=function(){function t(){}return t.dpper=function(t,e){var n=t.e3,a=t.ee2,o=t.peo,s=t.pgho,c=t.pho,l=t.PInco,u=t.plo,h=t.se2,d=t.se3,m=t.sgh2,p=t.sgh3,f=t.sgh4,g=t.sh2,M=t.sh3,v=t.si2,w=t.si3,y=t.sl2,x=t.sl3,A=t.sl4,E=t.t,N=t.xgh2,T=t.xgh3,b=t.xgh4,R=t.xh2,D=t.xh3,z=t.xi2,I=t.xi3,O=t.xl2,_=t.xl3,C=t.xl4,S=t.zmol,L=t.zmos,P=e.ep,j=e.inclp,U=e.nodep,F=e.argpp,Y=e.mp,k=e.opsmode,q=void 0===k?"i":k,H=e.init,V=L+119459e-10*E;"y"===H&&(V=L);var B=V+.0335*Math.sin(V),G=Math.sin(B),J=.5*G*G-.25,W=-.5*G*Math.cos(B),K=h*J+d*W,Q=v*J+w*W,X=y*J+x*W+A*G,Z=m*J+p*W+f*G,$=g*J+M*W;V=S+.00015835218*E,"y"===H&&(V=S),B=V+.1098*Math.sin(V);var tt=K+(a*(J=.5*(G=Math.sin(B))*G-.25)+n*(W=-.5*G*Math.cos(B))),et=Q+(z*J+I*W),nt=X+(O*J+_*W+C*G),at=Z+(N*J+T*W+b*G),ot=$+(R*J+D*W);if("n"===H){nt-=u,at-=s,ot-=c,j+=et-=l,P+=tt-=o;var rt=Math.sin(j),it=Math.cos(j);if(j>=.2)F+=at-=it*(ot/=rt),U+=ot,Y+=nt;else{var st=Math.sin(U),ct=Math.cos(U),lt=rt*st,ut=rt*ct;lt+=ot*ct+et*it*st,ut+=-ot*st+et*it*ct,(U%=i)<0&&"a"===q&&(U+=i);var ht=Y+F+it*U;ht+=nt+at-et*U*rt;var dt=U;(U=Math.atan2(lt,ut))<0&&"a"===q&&(U+=i),Math.abs(dt-U)>r&&(U<dt?U+=i:U-=i),F=ht-(Y+=nt)-it*U}}return{ep:P,inclp:j,nodep:U,argpp:F,mp:Y}},t.dscom=function(t){var e,n,a,o,r,i,s,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,E,N,T,b,R,D,z,I,O,_,C,S,L,P,j,U,F=t.epoch,Y=t.ep,k=t.argpp,q=t.tc,H=t.inclp,V=t.nodep,B=t.np,G=.01675,J=.0549,W=2*Math.PI,K=B,Q=Y,X=Math.sin(V),Z=Math.cos(V),$=Math.sin(k),tt=Math.cos(k),et=Math.sin(H),nt=Math.cos(H),at=Q*Q,ot=1-at,rt=Math.sqrt(ot),it=F+18261.5+q/1440,st=(4.523602-.00092422029*it)%W,ct=Math.sin(st),lt=Math.cos(st),ut=.91375164-.03568096*lt,ht=Math.sqrt(1-ut*ut),dt=.089683511*ct/ht,mt=Math.sqrt(1-dt*dt),pt=5.8351514+.001944368*it,ft=.39785416*ct/ht,gt=mt*lt+.91744867*dt*ct;ft=Math.atan2(ft,gt),ft+=pt-st;for(var Mt=Math.cos(ft),vt=Math.sin(ft),wt=.1945905,yt=-.98088458,xt=.91744867,At=.39785416,Et=Z,Nt=X,Tt=29864797e-13,bt=1/K,Rt=1;Rt<=2;Rt++){var Dt=wt*Et+yt*xt*Nt,zt=-yt*Et+wt*xt*Nt,It=-wt*Nt+yt*xt*Et,Ot=yt*At,_t=yt*Nt+wt*xt*Et,Ct=wt*At,St=nt*It+et*Ot,Lt=nt*_t+et*Ct,Pt=-et*It+nt*Ot,jt=-et*_t+nt*Ct,Ut=Dt*tt+St*$,Ft=zt*tt+Lt*$,Yt=-Dt*$+St*tt,kt=-zt*$+Lt*tt,qt=Pt*$,Ht=jt*$,Vt=Pt*tt,Bt=jt*tt;D=-6*Dt*Pt+at*(-24*Ut*Vt-6*Yt*qt),z=-6*(Dt*jt+zt*Pt)+at*(-24*(Ft*Vt+Ut*Bt)+-6*(Yt*Ht+kt*qt)),I=-6*zt*jt+at*(-24*Ft*Bt-6*kt*Ht),_=6*St*Pt+at*(24*Ut*qt-6*Yt*Vt),C=6*(Lt*Pt+St*jt)+at*(24*(Ft*qt+Ut*Ht)-6*(kt*Vt+Yt*Bt)),S=6*Lt*jt+at*(24*Ft*Ht-6*kt*Bt),R=(R=3*(Dt*Dt+St*St)+(P=12*Ut*Ut-3*Yt*Yt)*at)+R+ot*P,O=(O=6*(Dt*zt+St*Lt)+(j=24*Ut*Ft-6*Yt*kt)*at)+O+ot*j,L=(L=3*(zt*zt+Lt*Lt)+(U=12*Ft*Ft-3*kt*kt)*at)+L+ot*U,n=-.5*(a=Tt*bt)/rt,e=-15*Q*(o=a*rt),r=Ut*Yt+Ft*kt,i=Ft*Yt+Ut*kt,s=Ft*kt-Ut*Yt,1===Rt&&(c=e,l=n,u=a,h=o,d=r,m=i,p=s,f=R,w=O,E=L,g=D,M=z,v=I,y=_,x=C,A=S,N=P,T=j,b=U,wt=Mt,yt=vt,xt=ut,At=ht,Et=mt*Z+dt*X,Nt=X*mt-Z*dt,Tt=4.7968065e-7)}return{snodm:X,cnodm:Z,sinim:et,cosim:nt,sinomm:$,cosomm:tt,day:it,e3:2*e*s,ee2:2*e*i,em:Q,emsq:at,gam:pt,peo:0,pgho:0,pho:0,PInco:0,plo:0,rtemsq:rt,se2:2*c*m,se3:2*c*p,sgh2:2*h*T,sgh3:2*h*(b-N),sgh4:-18*h*G,sh2:-2*l*x,sh3:-2*l*(A-y),si2:2*l*M,si3:2*l*(v-g),sl2:-2*u*w,sl3:-2*u*(E-f),sl4:-2*u*(-21-9*at)*G,s1:e,s2:n,s3:a,s4:o,s5:r,s6:i,s7:s,ss1:c,ss2:l,ss3:u,ss4:h,ss5:d,ss6:m,ss7:p,sz1:f,sz2:w,sz3:E,sz11:g,sz12:M,sz13:v,sz21:y,sz22:x,sz23:A,sz31:N,sz32:T,sz33:b,xgh2:2*o*j,xgh3:2*o*(U-P),xgh4:-18*o*J,xh2:-2*n*C,xh3:-2*n*(S-_),xi2:2*n*z,xi3:2*n*(I-D),xl2:-2*a*O,xl3:-2*a*(L-R),xl4:-2*a*(-21-9*at)*J,nm:K,z1:R,z2:O,z3:L,z11:D,z12:z,z13:I,z21:_,z22:C,z23:S,z31:P,z32:j,z33:U,zmol:(.2299715*it-pt+4.7199672)%W,zmos:(6.2565837+.017201977*it)%W}},t.dsinit=function(t){var e=t.xke,n=t.cosim,a=t.argpo,o=t.s1,s=t.s2,c=t.s3,l=t.s4,u=t.s5,h=t.sinim,d=t.ss1,m=t.ss2,p=t.ss3,f=t.ss4,g=t.ss5,M=t.sz1,v=t.sz3,w=t.sz11,y=t.sz13,x=t.sz21,A=t.sz23,E=t.sz31,N=t.sz33,T=t.t,b=t.tc,R=t.gsto,D=t.mo,z=t.mdot,I=t.no,O=t.nodeo,_=t.nodedot,C=t.xPIdot,S=t.z1,L=t.z3,P=t.z11,j=t.z13,U=t.z21,F=t.z23,Y=t.z31,k=t.z33,q=t.ecco,H=t.eccsq,V=t.emsq,B=t.em,G=t.argpm,J=t.inclm,W=t.mm,K=t.nm,Q=t.nodem,X=t.irez,Z=t.atime,$=t.d2201,tt=t.d2211,et=t.d3210,nt=t.d3222,at=t.d4410,ot=t.d4422,rt=t.d5220,it=t.d5232,st=t.d5421,ct=t.d5433,lt=t.dedt,ut=t.didt,ht=t.dmdt,dt=t.dnodt,mt=t.domdt,pt=t.del1,ft=t.del2,gt=t.del3,Mt=t.xfact,vt=t.xlamo,wt=t.xli,yt=t.xni,xt=.0043752690880113,At=.00015835218,Et=119459e-10;X=0,K<.0052359877&&K>.0034906585&&(X=1),K>=.00826&&K<=.00924&&B>=.5&&(X=2);var Nt=-Et*m*(x+A);(J<.052359877||J>r-.052359877)&&(Nt=0),0!==h&&(Nt/=h);var Tt=-At*s*(U+F);(J<.052359877||J>r-.052359877)&&(Tt=0),mt=f*Et*(E+N-6)-n*Nt+l*At*(Y+k-6),dt=Nt,0!==h&&(mt-=n/h*Tt,dt+=Tt/h);var bt=(R+b*xt)%i;if(B+=(lt=d*Et*g+o*At*u)*T,J+=(ut=m*Et*(w+y)+s*At*(P+j))*T,G+=mt*T,Q+=dt*T,W+=(ht=-Et*p*(M+v-14-6*V)-At*c*(S+L-14-6*V))*T,0!==X){var Rt=Math.pow(K/e,2/3);if(2===X){var Dt=n*n,zt=B,It=V,Ot=(B=q)*(V=H),_t=void 0,Ct=void 0,St=void 0,Lt=void 0,Pt=void 0,jt=void 0,Ut=void 0,Ft=void 0,Yt=void 0;B<=.65?(_t=3.616-13.247*B+16.29*V,Ct=117.39*B-19.302-228.419*V+156.591*Ot,St=109.7927*B-18.9068-214.6334*V+146.5816*Ot,Lt=242.694*B-41.122-471.094*V+313.953*Ot,Pt=841.88*B-146.407-1629.014*V+1083.435*Ot,jt=3017.977*B-532.114-5740.032*V+3708.276*Ot):(_t=331.819*B-72.099-508.738*V+266.724*Ot,Ct=1582.851*B-346.844-2415.925*V+1246.113*Ot,St=1554.908*B-342.585-2366.899*V+1215.972*Ot,Lt=4758.686*B-1052.797-7193.992*V+3651.957*Ot,Pt=16178.11*B-3581.69-24462.77*V+12422.52*Ot,jt=B>.715?29936.92*B-5149.66-54087.36*V+31324.56*Ot:1464.74-4664.75*B+3763.64*V),B<.7?(Yt=4988.61*B-919.2277-9064.77*V+5542.21*Ot,Ut=4568.6173*B-822.71072-8491.4146*V+5337.524*Ot,Ft=4690.25*B-853.666-8624.77*V+5341.4*Ot):(Yt=161616.52*B-37995.78-229838.2*V+109377.94*Ot,Ut=218913.95*B-51752.104-309468.16*V+146349.42*Ot,Ft=170470.89*B-40023.88-242699.48*V+115605.82*Ot);var kt=h*h,qt=K*K*3*(Rt*Rt),Ht=17891679e-13*qt;$=Ht*(Vt=.75*(1+2*n+Dt))*(-.306-.44*(B-.64)),tt=Ht*(1.5*kt)*_t,et=(Ht=3.7393792e-7*(qt*=Rt))*(1.875*h*(1-2*n-3*Dt))*Ct,nt=Ht*(-1.875*h*(1+2*n-3*Dt))*St,at=(Ht=2*(qt*=Rt)*7.3636953e-9)*(35*kt*Vt)*Lt,ot=Ht*(39.375*kt*kt)*Pt,rt=(Ht=1.1428639e-7*(qt*=Rt))*(9.84375*h*(kt*(1-2*n-5*Dt)+.33333333*(4*n-2+6*Dt)))*jt,it=Ht*(h*(4.92187512*kt*(-2-4*n+10*Dt)+6.56250012*(1+2*n-3*Dt)))*Ft,st=(Ht=2*qt*2.1765803e-9)*(29.53125*h*(2-8*n+Dt*(8*n-12+10*Dt)))*Ut,ct=Ht*(29.53125*h*(-2-8*n+Dt*(12+8*n-10*Dt)))*Yt,vt=(D+O+O-(bt+bt))%i,Mt=z+ht+2*(_+dt-xt)-I,B=zt,V=It}if(1===X){var Vt,Bt=1+n;ft=2*(pt=3*K*K*Rt*Rt)*(Vt=.75*(1+n)*(1+n))*(1+V*(.8125*V-2.5))*17891679e-13,gt=3*pt*(Bt*=1.875*Bt*Bt)*(1+V*(6.60937*V-6))*2.2123015e-7*Rt,pt=pt*(.9375*h*h*(1+3*n)-.75*(1+n))*(Ct=1+2*V)*21460748e-13*Rt,vt=(D+O+a-bt)%i,Mt=z+C+ht+mt+dt-(I+xt)}wt=vt,yt=I,Z=0,K=I+0}return{em:B,argpm:G,inclm:J,mm:W,nm:K,nodem:Q,irez:X,atime:Z,d2201:$,d2211:tt,d3210:et,d3222:nt,d4410:at,d4422:ot,d5220:rt,d5232:it,d5421:st,d5433:ct,dedt:lt,didt:ut,dmdt:ht,dndt:0,dnodt:dt,domdt:mt,del1:pt,del2:ft,del3:gt,xfact:Mt,xlamo:vt,xli:wt,xni:yt}},t.dspace=function(t,e,n,a,o,r,s,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,E,N,T,b,R,D,z,I,O,_,C,S,L,P){var j=.13130908,U=2.8843198,F=.37448087,Y=5.7686396,k=.95240898,q=1.8014998,H=1.050833,V=4.4108898,B=259200,G=0,J=(N+.0043752690880113*E)%i;if(z+=d*A,O+=g*A,I+=w*A,L+=v*A,C+=M*A,0!==t){(0===D||A*D<=0||Math.abs(A)<Math.abs(D))&&(D=0,S=R,_=b);var W;W=A>0?720:-720;for(var K=void 0,Q=void 0,X=void 0,Z=void 0,$=void 0,tt=void 0,et=void 0,nt=381;381===nt;)2!==t?(tt=m*Math.sin(_-j)+p*Math.sin(2*(_-U))+f*Math.sin(3*(_-F)),Z=S+T,$=m*Math.cos(_-j)+2*p*Math.cos(2*(_-U))+3*f*Math.cos(3*(_-F)),$*=Z):(X=(et=y+x*D)+et,Q=_+_,tt=e*Math.sin(X+_-Y)+n*Math.sin(_-Y)+a*Math.sin(et+_-k)+o*Math.sin(-et+_-k)+r*Math.sin(X+Q-q)+s*Math.sin(Q-q)+c*Math.sin(et+_-H)+l*Math.sin(-et+_-H)+u*Math.sin(et+Q-V)+h*Math.sin(-et+Q-V),Z=S+T,$=e*Math.cos(X+_-Y)+n*Math.cos(_-Y)+a*Math.cos(et+_-k)+o*Math.cos(-et+_-k)+c*Math.cos(et+_-H)+l*Math.cos(-et+_-H)+2*(r*Math.cos(X+Q-q)+s*Math.cos(Q-q)+u*Math.cos(et+Q-V)+h*Math.cos(-et+Q-V)),$*=Z),Math.abs(A-D)>=720?nt=381:(K=A-D,nt=0),381===nt&&(_+=Z*W+tt*B,S+=tt*W+$*B,D+=W);P=S+tt*K+$*K*K*.5;var at=_+Z*K+tt*K*K*.5;1!==t?(C=at-2*L+2*J,G=P-R):(C=at-L-I+J,G=P-R),P=R+G}return[z,I,O,C,L,P]},t.initl=function(e){var n=e.opsmode,a=e.ecco,o=e.epoch,r=e.inclo,i=e.xke,s=e.j2,c=e.no,l=2*Math.PI,u=2/3,h=a*a,d=1-h,m=Math.sqrt(d),p=Math.cos(r),f=p*p,g=Math.pow(i/c,u),M=.75*s*(3*f-1)/(m*d),v=M/(g*g),w=g*(1-v*v-v*(1/3+134*v*v/81));c/=1+(v=M/(w*w));var y,x=Math.pow(i/c,u),A=Math.sin(r),E=x*d,N=1-5*f,T=-N-f-f,b=1/x,R=E*E,D=x*(1-a);if("a"===n){var z=o-7305,I=Math.floor(z+1e-8),O=.017202791694070362;(y=(1.7321343856509375+O*I+(O+l)*(z-I)+z*z*5075514194322695e-30)%l)<0&&(y+=l)}else y=t.gstime(o+2433281.5);return{no:c,method:"n",ainv:b,ao:x,con41:T,con42:N,cosio:p,cosio2:f,eccsq:h,omeosq:d,posq:R,rp:D,rteosq:m,sinio:A,gsto:y}},t.sgp4init=function(e,n){var a=n.whichconst,o=void 0===a?"wgs72":a,r=n.opsmode,s=void 0===r?"i":r,u=n.satn,h=void 0===u?e.satnum:u,d=n.epoch,m=n.xbstar,p=n.xecco,f=n.xargpo,g=n.xinclo,M=n.xndot,v=n.xnddot,w=n.xmo,y=n.xno,x=n.xnodeo;e.isimp=0,e.method="n",e.aycof=0,e.con41=0,e.cc1=0,e.cc4=0,e.cc5=0,e.d2=0,e.d3=0,e.d4=0,e.delmo=0,e.eta=0,e.argpdot=0,e.omgcof=0,e.sinmao=0,e.t=0,e.t2cof=0,e.t3cof=0,e.t4cof=0,e.t5cof=0,e.x1mth2=0,e.x7thm1=0,e.mdot=0,e.nodedot=0,e.xlcof=0,e.xmcof=0,e.nodecf=0,e.irez=0,e.d2201=0,e.d2211=0,e.d3210=0,e.d3222=0,e.d4410=0,e.d4422=0,e.d5220=0,e.d5232=0,e.d5421=0,e.d5433=0,e.dedt=0,e.del1=0,e.del2=0,e.del3=0,e.didt=0,e.dmdt=0,e.dnodt=0,e.domdt=0,e.e3=0,e.ee2=0,e.peo=0,e.pgho=0,e.pho=0,e.PInco=0,e.plo=0,e.se2=0,e.se3=0,e.sgh2=0,e.sgh3=0,e.sgh4=0,e.sh2=0,e.sh3=0,e.si2=0,e.si3=0,e.sl2=0,e.sl3=0,e.sl4=0,e.gsto=0,e.xfact=0,e.xgh2=0,e.xgh3=0,e.xgh4=0,e.xh2=0,e.xh3=0,e.xi2=0,e.xi3=0,e.xl2=0,e.xl3=0,e.xl4=0,e.xlamo=0,e.zmol=0,e.zmos=0,e.atime=0,e.xli=0,e.xni=0;var A=t.getgravconst(o);e.tumin=A.tumin,e.mus=A.mus,e.radiusearthkm=A.radiusearthkm,e.xke=A.xke,e.j2=A.j2,e.j3=A.j3,e.j4=A.j4,e.j3oj2=A.j3oj2;var E=A.j2,N=A.j4,T=A.xke,b=A.j3oj2;e.error=0,e.operationmode=s;var R=h.split("")[0].toLowerCase();isNaN(parseInt(R))?e.satnum=parseInt(R.charCodeAt(0)-96+9+e.satnum.slice(1,5)).toString():e.satnum=h,e.bstar=m,e.ndot=M,e.nddot=v,e.ecco=p,e.argpo=f,e.inclo=g,e.mo=w,e.no=y,e.nodeo=x;var D=78/e.radiusearthkm+1,z=42/e.radiusearthkm,I=z*z*z*z;e.init="y",e.t=0;var O={ecco:e.ecco,epoch:d,inclo:e.inclo,no:e.no,method:e.method,opsmode:e.operationmode,xke:e.xke,j2:e.j2},_=t.initl(O),C=_.ao,S=_.con42,L=_.cosio,P=_.cosio2,j=_.eccsq,U=_.omeosq,F=_.posq,Y=_.rp,k=_.rteosq,q=_.sinio;if(e.no=_.no,e.con41=_.con41,e.gsto=_.gsto,e.a=Math.pow(e.no*e.tumin,-2/3),e.alta=e.a*(1+e.ecco)-1,e.altp=e.a*(1-e.ecco)-1,e.error=0,U>=0||e.no>=0){e.isimp=0,Y<220/e.radiusearthkm+1&&(e.isimp=1);var H=D,V=I,B=(Y-1)*e.radiusearthkm;if(B<156){H=B-78,B<98&&(H=20);var G=(120-H)/e.radiusearthkm;V=G*G*G*G,H=H/e.radiusearthkm+1}var J=1/F,W=1/(C-H);e.eta=C*e.ecco*W;var K=e.eta*e.eta,Q=e.ecco*e.eta,X=Math.abs(1-K),Z=V*Math.pow(W,4),$=Z/Math.pow(X,3.5),tt=$*e.no*(C*(1+1.5*K+Q*(4+K))+.375*E*W/X*e.con41*(8+3*K*(8+K)));e.cc1=e.bstar*tt;var et=0;e.ecco>1e-4&&(et=-2*Z*W*b*e.no*q/e.ecco),e.x1mth2=1-P,e.cc4=2*e.no*$*C*U*(e.eta*(2+.5*K)+e.ecco*(.5+2*K)-E*W/(C*X)*(-3*e.con41*(1-2*Q+K*(1.5-.5*Q))+.75*e.x1mth2*(2*K-Q*(1+K))*Math.cos(2*e.argpo))),e.cc5=2*$*C*U*(1+2.75*(K+Q)+Q*K);var nt=P*P,at=1.5*E*J*e.no,ot=.5*at*E*J,rt=-.46875*N*J*J*e.no;e.mdot=e.no+.5*at*k*e.con41+.0625*ot*k*(13-78*P+137*nt),e.argpdot=-.5*at*S+.0625*ot*(7-114*P+395*nt)+rt*(3-36*P+49*nt);var it=-at*L;e.nodedot=it+(.5*ot*(4-19*P)+2*rt*(3-7*P))*L;var st=e.argpdot+e.nodedot;e.omgcof=e.bstar*et*Math.cos(e.argpo),e.xmcof=0,e.ecco>1e-4&&(e.xmcof=-c*Z*e.bstar/Q),e.nodecf=3.5*U*it*e.cc1,e.t2cof=1.5*e.cc1,Math.abs(L+1)>15e-13?e.xlcof=-.25*b*q*(3+5*L)/(1+L):e.xlcof=-.25*b*q*(3+5*L)/l,e.aycof=-.5*b*q;var ct=1+e.eta*Math.cos(e.mo);if(e.delmo=ct*ct*ct,e.sinmao=Math.sin(e.mo),e.x7thm1=7*P-1,i/e.no>=225){e.method="d",e.isimp=1;var lt=e.inclo,ut={epoch:d,ep:e.ecco,argpp:e.argpo,tc:0,inclp:e.inclo,nodep:e.nodeo,np:e.no,e3:e.e3,ee2:e.ee2,peo:e.peo,pgho:e.pgho,pho:e.pho,PInco:e.PInco,plo:e.plo,se2:e.se2,se3:e.se3,sgh2:e.sgh2,sgh3:e.sgh3,sgh4:e.sgh4,sh2:e.sh2,sh3:e.sh3,si2:e.si2,si3:e.si3,sl2:e.sl2,sl3:e.sl3,sl4:e.sl4,xgh2:e.xgh2,xgh3:e.xgh3,xgh4:e.xgh4,xh2:e.xh2,xh3:e.xh3,xi2:e.xi2,xi3:e.xi3,xl2:e.xl2,xl3:e.xl3,xl4:e.xl4,zmol:e.zmol,zmos:e.zmos},ht=t.dscom(ut);e.e3=ht.e3,e.ee2=ht.ee2,e.peo=ht.peo,e.pgho=ht.pgho,e.pho=ht.pho,e.PInco=ht.PInco,e.plo=ht.plo,e.se2=ht.se2,e.se3=ht.se3,e.sgh2=ht.sgh2,e.sgh3=ht.sgh3,e.sgh4=ht.sgh4,e.sh2=ht.sh2,e.sh3=ht.sh3,e.si2=ht.si2,e.si3=ht.si3,e.sl2=ht.sl2,e.sl3=ht.sl3,e.sl4=ht.sl4;var dt=ht.sinim,mt=ht.cosim,pt=ht.em,ft=ht.emsq,gt=ht.s1,Mt=ht.s2,vt=ht.s3,wt=ht.s4,yt=ht.s5,xt=ht.ss1,At=ht.ss2,Et=ht.ss3,Nt=ht.ss4,Tt=ht.ss5,bt=ht.sz1,Rt=ht.sz3,Dt=ht.sz11,zt=ht.sz13,It=ht.sz21,Ot=ht.sz23,_t=ht.sz31,Ct=ht.sz33;e.xgh2=ht.xgh2,e.xgh3=ht.xgh3,e.xgh4=ht.xgh4,e.xh2=ht.xh2,e.xh3=ht.xh3,e.xi2=ht.xi2,e.xi3=ht.xi3,e.xl2=ht.xl2,e.xl3=ht.xl3,e.xl4=ht.xl4,e.zmol=ht.zmol,e.zmos=ht.zmos;var St=ht.nm,Lt=ht.z1,Pt=ht.z3,jt=ht.z11,Ut=ht.z13,Ft=ht.z21,Yt=ht.z23,kt=ht.z31,qt=ht.z33,Ht={inclo:lt,init:e.init,ep:e.ecco,inclp:e.inclo,nodep:e.nodeo,argpp:e.argpo,mp:e.mo,opsmode:e.operationmode},Vt=t.dpper(e,Ht);e.ecco=Vt.ep,e.inclo=Vt.inclp,e.nodeo=Vt.nodep,e.argpo=Vt.argpp,e.mo=Vt.mp;var Bt={xke:T,cosim:mt,emsq:ft,argpo:e.argpo,s1:gt,s2:Mt,s3:vt,s4:wt,s5:yt,sinim:dt,ss1:xt,ss2:At,ss3:Et,ss4:Nt,ss5:Tt,sz1:bt,sz3:Rt,sz11:Dt,sz13:zt,sz21:It,sz23:Ot,sz31:_t,sz33:Ct,t:e.t,tc:0,gsto:e.gsto,mo:e.mo,mdot:e.mdot,no:e.no,nodeo:e.nodeo,nodedot:e.nodedot,xPIdot:st,z1:Lt,z3:Pt,z11:jt,z13:Ut,z21:Ft,z23:Yt,z31:kt,z33:qt,ecco:e.ecco,eccsq:j,em:pt,argpm:0,inclm:lt,mm:0,nm:St,nodem:0,irez:e.irez,atime:e.atime,d2201:e.d2201,d2211:e.d2211,d3210:e.d3210,d3222:e.d3222,d4410:e.d4410,d4422:e.d4422,d5220:e.d5220,d5232:e.d5232,d5421:e.d5421,d5433:e.d5433,dedt:e.dedt,didt:e.didt,dmdt:e.dmdt,dnodt:e.dnodt,domdt:e.domdt,del1:e.del1,del2:e.del2,del3:e.del3,xfact:e.xfact,xlamo:e.xlamo,xli:e.xli,xni:e.xni},Gt=t.dsinit(Bt);e.irez=Gt.irez,e.atime=Gt.atime,e.d2201=Gt.d2201,e.d2211=Gt.d2211,e.d3210=Gt.d3210,e.d3222=Gt.d3222,e.d4410=Gt.d4410,e.d4422=Gt.d4422,e.d5220=Gt.d5220,e.d5232=Gt.d5232,e.d5421=Gt.d5421,e.d5433=Gt.d5433,e.dedt=Gt.dedt,e.didt=Gt.didt,e.dmdt=Gt.dmdt,e.dnodt=Gt.dnodt,e.domdt=Gt.domdt,e.del1=Gt.del1,e.del2=Gt.del2,e.del3=Gt.del3,e.xfact=Gt.xfact,e.xlamo=Gt.xlamo,e.xli=Gt.xli,e.xni=Gt.xni}if(1!==e.isimp){var Jt=e.cc1*e.cc1;e.d2=4*C*W*Jt;var Wt=e.d2*W*e.cc1/3;e.d3=(17*C+H)*Wt,e.d4=.5*Wt*C*W*(221*C+31*H)*e.cc1,e.t3cof=e.d2+2*Jt,e.t4cof=.25*(3*e.d3+e.cc1*(12*e.d2+10*Jt)),e.t5cof=.2*(3*e.d4+12*e.cc1*e.d3+6*e.d2*e.d2+15*Jt*(2*e.d2+Jt))}}t.propagate(e,0),e.init="n"},t.propagate=function(e,n){var a=e.xke,o=e.j2,s=e.j3oj2,u=e.radiusearthkm*e.xke/60;e.t=n,e.error=0;var h=e.mo+e.mdot*e.t,d=e.argpo+e.argpdot*e.t,m=e.nodeo+e.nodedot*e.t,p=d,f=h,g=e.t*e.t,M=m+e.nodecf*g,v=1-e.cc1*e.t,w=e.bstar*e.cc4*e.t,y=e.t2cof*g;if(1!==e.isimp){var x=e.omgcof*e.t,A=1+e.eta*Math.cos(h),E=x+e.xmcof*(A*A*A-e.delmo);f=h+E,p=d-E;var N=g*e.t,T=N*e.t;v=v-e.d2*g-e.d3*N-e.d4*T,w+=e.bstar*e.cc5*(Math.sin(f)-e.sinmao),y=y+e.t3cof*N+T*(e.t4cof+e.t*e.t5cof)}var b=e.no,R=e.ecco,D=e.inclo;if("d"===e.method){var z=e.t,I=t.dspace(e.irez,e.d2201,e.d2211,e.d3210,e.d3222,e.d4410,e.d4422,e.d5220,e.d5232,e.d5421,e.d5433,e.dedt,e.del1,e.del2,e.del3,e.didt,e.dmdt,e.dnodt,e.domdt,e.argpo,e.argpdot,e.t,z,e.gsto,e.xfact,e.xlamo,e.no,e.atime,R,p,D,e.xli,f,e.xni,M,b);R=I[0],p=I[1],D=I[2],f=I[3],M=I[4],b=I[5]}if(b<=0)return e.error=2,{position:!1,velocity:!1};var O=Math.pow(a/b,c)*v*v;if(b=a/Math.pow(O,1.5),(R-=w)>=1||R<-.001)return e.error=1,{position:!1,velocity:!1};R<1e-6&&(R=1e-6);var _=(f+=e.no*y)+p+M,C=R,S=D,L=p%=i,P=M%=i,j=f=((_%=i)-p-M)%i,U=Math.sin(D),F=Math.cos(D);if("d"===e.method){var Y={inclo:e.inclo,init:"n",ep:C,inclp:S,nodep:P,argpp:L,mp:j,opsmode:e.operationmode},k=t.dpper(e,Y);if(C=k.ep,P=k.nodep,L=k.argpp,j=k.mp,(S=k.inclp)<0&&(S=-S,P+=r,L-=r),C<0||C>1)return e.error=3,{position:!1,velocity:!1}}"d"===e.method&&(U=Math.sin(S),F=Math.cos(S),e.aycof=-.5*s*U,Math.abs(F+1)>15e-13?e.xlcof=-.25*s*U*(3+5*F)/(1+F):e.xlcof=-.25*s*U*(3+5*F)/l);for(var q,H,V=C*Math.cos(L),B=1/(O*(1-C*C)),G=C*Math.sin(L)+B*e.aycof,J=(j+L+P+B*e.xlcof*V-P)%i,W=J,K=9999.9,Q=1;Math.abs(K)>=1e-12&&Q<=10;)H=Math.sin(W),K=(J-G*(q=Math.cos(W))+V*H-W)/(K=1-q*V-H*G),Math.abs(K)>=.95&&(K=K>0?.95:-.95),W+=K,Q+=1;var X=V*q+G*H,Z=V*H-G*q,$=V*V+G*G,tt=O*(1-$);if(tt<0)return e.error=4,{position:!1,velocity:!1};var et=O*(1-X),nt=Math.sqrt(O)*Z/et,at=Math.sqrt(tt)/et,ot=Math.sqrt(1-$),rt=O/et*(H-G-V*(B=Z/(1+ot))),it=O/et*(q-V+G*B),st=Math.atan2(rt,it),ct=(it+it)*rt,lt=1-2*rt*rt,ut=.5*o*(B=1/tt),ht=ut*B;if("d"===e.method){var dt=F*F;e.con41=3*dt-1,e.x1mth2=1-dt,e.x7thm1=7*dt-1}var mt=et*(1-1.5*ht*ot*e.con41)+.5*ut*e.x1mth2*lt;if(mt<1)return e.error=6,{position:!1,velocity:!1};st-=.25*ht*e.x7thm1*ct;var pt=P+1.5*ht*F*ct,ft=S+1.5*ht*F*U*lt,gt=nt-b*ut*e.x1mth2*ct/a,Mt=at+b*ut*(e.x1mth2*lt+1.5*e.con41)/a,vt=Math.sin(st),wt=Math.cos(st),yt=Math.sin(pt),xt=Math.cos(pt),At=Math.sin(ft),Et=Math.cos(ft),Nt=-yt*Et,Tt=xt*Et,bt=Nt*vt+xt*wt,Rt=Tt*vt+yt*wt,Dt=At*vt,zt=Nt*wt-xt*vt,It=Tt*wt-yt*vt,Ot=At*wt;return{position:{x:mt*bt*e.radiusearthkm,y:mt*Rt*e.radiusearthkm,z:mt*Dt*e.radiusearthkm},velocity:{x:(gt*bt+Mt*zt)*u,y:(gt*Rt+Mt*It)*u,z:(gt*Dt+Mt*Ot)*u}}},t.getgravconst=function(t){var e,n,a,o,r,i,s,c;switch(t){case"wgs72old":r=398600.79964,i=6378.135,s=1/(c=.0743669161),o=-165597e-11,a=(n=-253881e-11)/(e=.001082616);break;case"wgs72":r=398600.8,i=6378.135,s=1/(c=60/Math.sqrt(i*i*i/r)),o=-165597e-11,a=(n=-253881e-11)/(e=.001082616);break;case"wgs84":r=398600.5,i=6378.137,s=1/(c=60/Math.sqrt(i*i*i/r)),o=-161098761e-14,a=(n=-253215306e-14)/(e=.00108262998905);break;default:throw new Error("unknown gravity option ".concat(t))}return{tumin:s,mus:r,radiusearthkm:i,xke:c,j2:e,j3:n,j4:o,j3oj2:a}},t.createSatrec=function(e,n,a,o){void 0===a&&(a="wgs72"),void 0===o&&(o="i");var i,c={a:null,am:null,alta:null,altp:null,argpdot:null,argpo:null,aycof:null,bstar:null,cc1:null,cc4:null,cc5:null,con41:null,d2:null,d3:null,d4:null,d5232:null,d5421:null,d5433:null,dedt:null,delmo:null,del1:null,ecco:null,em:null,epochdays:null,epochyr:null,error:null,eta:null,gsto:null,im:null,inclo:null,init:null,isimp:null,jdsatepoch:null,mdot:null,method:null,mo:null,mm:null,nddot:null,ndot:null,no:null,nodecf:null,nodedot:null,nodeo:null,om:null,Om:null,omgcof:null,operationmode:null,satnum:null,sinmao:null,t:null,t2cof:null,t3cof:null,t4cof:null,t5cof:null,x1mth2:null,x7thm1:null,xlcof:null,xmcof:null,xfact:null,xlamo:null,xli:null,xgh4:null,xgh3:null,xh2:null,xi2:null,xi3:null,xl2:null,xl3:null,xl4:null,zmol:null,zmos:null,dmdt:null,dnodt:null,domdt:null,e3:null,ee2:null,peo:null,pgho:null,pho:null,PInco:null,plo:null,se2:null,se3:null,sgh2:null,sgh3:null,sgh4:null,sh2:null,sh3:null,si2:null,si3:null,sl2:null,sl3:null,sl4:null,xgh2:null,xh3:null,tumin:null,radiusearthkm:null,irez:null,d3210:null,d3222:null,d4410:null,d4422:null,d5220:null,del2:null,del3:null,didt:null,atime:null,j2:null,j3:null,j4:null,mus:null,xke:null,j3oj2:null,xni:null,d2201:null,d2211:null,nm:null},l=1440/(2*r);c.error=0,c.satnum=e.substring(2,7),c.epochyr=parseInt(e.substring(18,20)),c.epochdays=parseFloat(e.substring(20,32)),c.ndot=parseFloat(e.substring(33,43)),c.nddot=parseFloat("".concat(e.substring(44,45),".").concat(e.substring(45,50),"E").concat(e.substring(50,52))),c.bstar=parseFloat("".concat(e.substring(53,54),".").concat(e.substring(54,59),"E").concat(e.substring(59,61))),c.inclo=parseFloat(n.substring(8,16)),c.nodeo=parseFloat(n.substring(17,25)),c.ecco=parseFloat(".".concat(n.substring(26,33))),c.argpo=parseFloat(n.substring(34,42)),c.mo=parseFloat(n.substring(43,51)),c.no=parseFloat(n.substring(52,63)),c.no/=l,c.inclo*=s,c.nodeo*=s,c.argpo*=s,c.mo*=s,i=c.epochyr<57?c.epochyr+2e3:c.epochyr+1900;var u=t.days2mdhms(i,c.epochdays),h=u.mon,d=u.day,m=u.hr,p=u.min,f=u.sec,g=t.jday(i,h,d,m,p,f);return c.jdsatepoch=g.jd+g.jdFrac,t.sgp4init(c,{whichconst:a,opsmode:o,satn:c.satnum,epoch:c.jdsatepoch-2433281.5,xbstar:c.bstar,xecco:c.ecco,xargpo:c.argpo,xinclo:c.inclo,xndot:c.ndot,xnddot:c.nddot,xmo:c.mo,xno:c.no,xnodeo:c.nodeo}),c},t.gstime=function(t){var e=(t-2451545)/36525,n=-62e-7*e*e*e+.093104*e*e+3164400184.812866*e+67310.54841;return(n=n*s/240%i)<0&&(n+=i),n},t.sgn=function(t){return t<0?-1:1},t.mag=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])},t.cross=function(t,e){var n=[0,0,0];return n[0]=t[1]*e[2]-t[2]*e[1],n[1]=t[2]*e[0]-t[0]*e[2],n[2]=t[0]*e[1]-t[1]*e[0],n},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.angle=function(e,n){var a=t.mag(e),o=t.mag(n);if(a*o>1e-8*1e-8){var r=t.dot(e,n)/(a*o);return Math.abs(r)>1&&(r=Number(t.sgn(r))),Math.acos(r)}return 999999.1},t.asinh=function(t){return Math.log(t+Math.sqrt(t*t+1))},t.newtonnu=function(e,n){var a=999999.9,o=999999.9,i=1e-8;if(Math.abs(e)<i)o=n,a=n;else if(e<1-i){var s=Math.sqrt(1-e*e)*Math.sin(n)/(1+e*Math.cos(n)),c=(e+Math.cos(n))/(1+e*Math.cos(n));o=(a=Math.atan2(s,c))-e*Math.sin(a)}else e>1+i?e>1&&Math.abs(n)+1e-5<r-Math.acos(1/e)&&(s=Math.sqrt(e*e-1)*Math.sin(n)/(1+e*Math.cos(n)),a=t.asinh(s),o=e*t.sinh(a)-a):Math.abs(n)<168*r/180&&(o=(a=Math.tan(.5*n))+a*a*a/3);return e<1&&((o%=2*r)<0&&(o+=2*r),a%=2*r),{e0:a,m:o}},t.sinh=function(t){return(Math.exp(t)-Math.exp(-t))/2},t.rv2coe=function(e,n,a){var o,s,c,l,u,h,d,m,p,f,g,M,v,w,y,x,A,E=[0,0,0],N=[0,0,0],T=.5*r,b=1e-8,R=999999.1,D=t.mag(e),z=t.mag(n),I=t.cross(e,n),O=t.mag(I);if(O>b){E[0]=-I[1],E[1]=I[0],E[2]=0,v=t.mag(E);var _=z*z-a/D;for(M=t.dot(e,n),x=0;x<=2;x++)N[x]=(_*e[x]-M*n[x])/a;if(c=t.mag(N),y=z*z*.5-a/D,s=Math.abs(y)>b?-a/(2*y):999999.9,o=O*O/a,w=I[2]/O,l=Math.acos(w),A=1,c<b?A=l<b||Math.abs(l-r)<b?2:3:(l<b||Math.abs(l-r)<b)&&(A=4),v>b){var C=E[0]/v;Math.abs(C)>1&&(C=t.sgn(C)),u=Math.acos(C),E[1]<0&&(u=i-u)}else u=R;1===A?(h=t.angle(E,N),N[2]<0&&(h=i-h)):h=R,1===A||4===A?(d=t.angle(N,e),M<0&&(d=i-d)):d=R,3===A?(p=t.angle(E,e),e[2]<0&&(p=i-p),m=p):p=R,c>b&&4===A?(C=N[0]/c,Math.abs(C)>1&&(C=t.sgn(C)),g=Math.acos(C),N[1]<0&&(g=i-g),l>T&&(g=i-g)):g=R,D>b&&2===A?(C=e[0]/D,Math.abs(C)>1&&(C=t.sgn(C)),f=Math.acos(C),e[1]<0&&(f=i-f),l>T&&(f=i-f),m=f):f=R,1!==A&&4!==A||(m=t.newtonnu(c,d).m)}else o=R,s=R,c=R,l=R,u=R,h=R,d=R,m=R,p=R,f=R,g=R;return{p:o,a:s,ecc:c,incl:l,omega:u,argp:h,nu:d,m,arglat:p,truelon:f,lonper:g}},t.jday=function(t,e,n,a,o,r,i){void 0===e&&(e=0),void 0===n&&(n=0),void 0===a&&(a=0),void 0===o&&(o=0),void 0===r&&(r=0),void 0===i&&(i=0),t instanceof Date&&(e=t.getUTCMonth()+1,n=t.getUTCDate(),a=t.getUTCHours(),o=t.getUTCMinutes(),r=t.getUTCSeconds(),i=t.getUTCMilliseconds(),t=t.getUTCFullYear());var s=367*t-Math.floor(7*(t+Math.floor((e+9)/12))*.25)+Math.floor(275*e/9)+n+1721013.5,c=(i/1e3+r+60*o+3600*a)/86400;if(Math.abs(c)>1){var l=Math.floor(c);s+=l,c-=l}return{jd:s,jdFrac:c}},t.days2mdhms=function(t,e){for(var n=[31,t%4==0?29:28,31,30,31,30,31,31,30,31,30,31],a=Math.floor(e),o=1,r=0;a>r+n[o-1]&&o<12;)r+=n[o-1],o+=1;var i=o,s=a-r,c=24*(e-a),l=Math.floor(c);c=60*(c-l);var u=Math.floor(c);return{mon:i,day:s,hr:l,min:u,sec:60*(c-u)}},t.invjday=function(e,n){var a,o;Math.abs(n)>=1&&(e+=Math.floor(n),n-=Math.floor(n));var r=e-Math.floor(e)-.5;Math.abs(r)>1e-8&&(e-=r,n+=r);var i=e-2415019.5,s=i/365.25,c=1900+Math.floor(s);a=Math.floor(.25*(c-1901)),(o=Math.floor(i-(365*(c-1900)+a)))+n<1&&(c-=1,a=Math.floor(.25*(c-1901)),o=Math.floor(i-(365*(c-1900)+a)));var l=t.days2mdhms(c,o+n);return{year:c,mon:l.mon,day:l.day,hr:l.hr,min:l.min,sec:l.sec}},t}(),m=function(){function t(){}return t.getDegLat=function(e){if(e<-r/2||e>r/2)throw new RangeError("Latitude radians must be in range [-PI/2; PI/2].");return t.rad2deg(e)},t.getDegLon=function(e){if(e<-r||e>r)throw new RangeError("Longitude radians must be in range [-PI; PI].");return t.rad2deg(e)},t.getRadLat=function(e){if(e<-90||e>90)throw new RangeError("Latitude degrees must be in range [-90; 90].");return t.deg2rad(e)},t.getRadLon=function(e){if(e<-180||e>180)throw new RangeError("Longitude degrees must be in range [-180; 180].");return t.deg2rad(e)},t.rad2deg=function(t){return 180*t/r},t.deg2rad=function(t){return t*r/180},t.ecf2eci=function(t,e){return{x:t.x*Math.cos(e)-t.y*Math.sin(e),y:t.x*Math.sin(e)+t.y*Math.cos(e),z:t.z}},t.ecf2rae=function(e,n){var a=t.lla2sez(e,n);return t.sez2rae(a)},t.eci2lla=function(t,e){for(var n=6378.137,a=Math.sqrt(t.x*t.x+t.y*t.y),o=(n-6356.7523142)/n,s=2*o-o*o,c=Math.atan2(t.y,t.x)-e;c<-r;)c+=i;for(;c>r;)c-=i;for(var l,u=0,h=Math.atan2(t.z,Math.sqrt(t.x*t.x+t.y*t.y));u<20;)l=1/Math.sqrt(1-s*(Math.sin(h)*Math.sin(h))),h=Math.atan2(t.z+n*l*s*Math.sin(h),a),u+=1;return{lon:c,lat:h,alt:a/Math.cos(h)-n*l}},t.eci2ecf=function(t,e){return{x:t.x*Math.cos(e)+t.y*Math.sin(e),y:t.x*-Math.sin(e)+t.y*Math.cos(e),z:t.z}},t.lla2ecf=function(t){var e=t.lon,n=t.lat,a=t.alt,o=6378.137,r=(o-6356.7523142)/o,i=2*r-r*r,s=o/Math.sqrt(1-i*(Math.sin(n)*Math.sin(n)));return{x:(s+a)*Math.cos(n)*Math.cos(e),y:(s+a)*Math.cos(n)*Math.sin(e),z:(s*(1-i)+a)*Math.sin(n)}},t.lla2sez=function(e,n){var a=e.lon,o=e.lat,r=t.lla2ecf(e),i=n.x-r.x,s=n.y-r.y,c=n.z-r.z;return{s:Math.sin(o)*Math.cos(a)*i+Math.sin(o)*Math.sin(a)*s-Math.cos(o)*c,e:-Math.sin(a)*i+Math.cos(a)*s,z:Math.cos(o)*Math.cos(a)*i+Math.cos(o)*Math.sin(a)*s+Math.sin(o)*c}},t.rae2sez=function(t){return{s:-t.rng*Math.cos(t.el)*Math.cos(t.az),e:t.rng*Math.cos(t.el)*Math.sin(t.az),z:t.rng*Math.sin(t.el)}},t.rae2ecf=function(e,n){var a=t.lla2ecf(n),o=t.rae2sez(e),r=Math.sin(n.lat),i=Math.sin(n.lon),s=Math.cos(n.lat),c=Math.cos(n.lon);return{x:r*c*o.s+-i*o.e+s*c*o.z+a.x,y:r*i*o.s+c*o.e+s*i*o.z+a.y,z:-s*o.s+r*o.z+a.z}},t.sez2rae=function(t){var e=Math.sqrt(t.s*t.s+t.e*t.e+t.z*t.z),n=Math.asin(t.z/e);return{rng:e,az:Math.atan2(-t.e,t.s)+r,el:n}},t}();!function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.PAYLOAD=1]="PAYLOAD",t[t.ROCKET_BODY=2]="ROCKET_BODY",t[t.DEBRIS=3]="DEBRIS",t[t.SPECIAL=4]="SPECIAL",t[t.RADAR_MEASUREMENT=5]="RADAR_MEASUREMENT",t[t.RADAR_TRACK=6]="RADAR_TRACK",t[t.RADAR_OBJECT=7]="RADAR_OBJECT",t[t.BALLISTIC_MISSILE=8]="BALLISTIC_MISSILE",t[t.STAR=9]="STAR",t[t.INTERGOVERNMENTAL_ORGANIZATION=10]="INTERGOVERNMENTAL_ORGANIZATION",t[t.SUBORBITAL_PAYLOAD_OPERATOR=11]="SUBORBITAL_PAYLOAD_OPERATOR",t[t.PAYLOAD_OWNER=12]="PAYLOAD_OWNER",t[t.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER=13]="METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER",t[t.PAYLOAD_MANUFACTURER=14]="PAYLOAD_MANUFACTURER",t[t.LAUNCH_AGENCY=15]="LAUNCH_AGENCY",t[t.LAUNCH_SITE=16]="LAUNCH_SITE",t[t.LAUNCH_POSITION=17]="LAUNCH_POSITION",t[t.LAUNCH_FACILITY=18]="LAUNCH_FACILITY",t[t.CONTROL_FACILITY=19]="CONTROL_FACILITY",t[t.GROUND_SENSOR_STATION=20]="GROUND_SENSOR_STATION",t[t.OPTICAL=21]="OPTICAL",t[t.MECHANICAL=22]="MECHANICAL",t[t.PHASED_ARRAY_RADAR=23]="PHASED_ARRAY_RADAR",t[t.OBSERVER=24]="OBSERVER",t[t.BISTATIC_RADIO_TELESCOPE=25]="BISTATIC_RADIO_TELESCOPE",t[t.COUNTRY=26]="COUNTRY",t[t.LAUNCH_VEHICLE_MANUFACTURER=27]="LAUNCH_VEHICLE_MANUFACTURER",t[t.ENGINE_MANUFACTURER=28]="ENGINE_MANUFACTURER"}(o||(o={}));var p,f,g=2*Math.PI,M=function(){function t(){}return t.julianCycle=function(e,n){var a=n/g;return Math.round(e-t.J0-a)},t.observerAngle=function(t){return-2.076*Math.sqrt(t)/60},t.solarMeanAnomaly=function(t){return s*(357.5291+.98560028*t)},t.julian2date=function(e){return new Date((e-t.J1970)*u)},t.date2jSince2000=function(e){return e.getTime()/u+t.J1970-t.J2000},t.rightAscension=function(e,n){return Math.atan2(Math.sin(e)*Math.cos(t.e)-Math.tan(n)*Math.sin(t.e),Math.cos(e))},t.declination=function(e,n){return Math.asin(Math.sin(n)*Math.cos(t.e)+Math.cos(n)*Math.sin(t.e)*Math.sin(e))},t.azimuth=function(t,e,n){return Math.PI+Math.atan2(Math.sin(t),Math.cos(t)*Math.sin(e)-Math.tan(n)*Math.cos(e))},t.elevation=function(t,e,n){return Math.asin(Math.sin(e)*Math.sin(n)+Math.cos(e)*Math.cos(n)*Math.cos(t))},t.siderealTime=function(t,e){return s*(280.16+360.9856235*t)-e},t.astroRefraction=function(t){return t<0&&(t=0),2967e-7/Math.tan(t+.00312536/(t+.08901179))},t.eclipticLongitude=function(t){return t+s*(1.9148*Math.sin(t)+.02*Math.sin(2*t)+3e-4*Math.sin(3*t))+102.9372*s+Math.PI},t.eclipticLatitude=function(t){var e=g/360,n=t-.00569-.00478*Math.sin(e*t);return g*(n+3e-4*Math.sin(2*e*n))},t.julianCyle=function(e,n){return Math.round(e-t.J0-n/(2*g/2))},t.approxTransit=function(e,n,a){return t.J0+(e+n)/g+a},t.solarTransitJulian=function(e,n,a){return t.J2000+e+.0053*Math.sin(n)-.0069*Math.sin(2*a)},t.hourAngle=function(t,e,n){return Math.acos((Math.sin(t)-Math.sin(e)*Math.sin(n))/(Math.cos(e)*Math.cos(n)))},t.getSetJulian=function(e,n,a,o,r,i,s){var c=t.hourAngle(e,a,o),l=t.approxTransit(c,n,r);return t.solarTransitJulian(l,i,s)},t.getSetJ=function(e,n,a,o,r,i,s){var c=t.hourAngle(e,a,o),l=t.approxTransit(c,n,r);return t.solarTransitJulian(l,i,s)},t.getTimes=function(e,n,a,o,r){if(void 0===o&&(o=0),void 0===r&&(r=!1),isNaN(n))throw new Error("latitude missing");if(isNaN(a))throw new Error("longitude missing");var i=new Date(e);r?i.setUTCHours(12,0,0,0):i.setHours(12,0,0,0);var c,l=0,u=[],h=0,d=0,m=0,p=t.calculateJnoon(a,n,o,i),f=p.Jnoon,g=p.dh,M=p.lw,v=p.phi,w=p.dec,y=p.n,x=p.M,A=p.L,E={solarNoon:t.julian2date(f),nadir:t.julian2date(f+.5)};for(l=0,c=t.times.length;l<c;l+=1)h=((u=t.times[l])[0]+g)*s,m=f-((d=t.getSetJ(h,M,v,w,y,x,A))-f),E[u[1]]=t.julian2date(m),E[u[2]]=t.julian2date(d);return E},t.calculateJnoon=function(e,n,a,o){var r=s*-e,i=s*n,c=t.observerAngle(a),l=t.date2jSince2000(o),u=t.julianCycle(l,r),h=t.approxTransit(0,r,u),d=t.solarMeanAnomaly(h),m=t.eclipticLongitude(d),p=t.declination(m,0);return{Jnoon:t.solarTransitJulian(h,d,m),dh:c,lw:r,phi:i,dec:p,n:u,M:d,L:m}},t.getSunTimeByAzimuth=function(e,n,a,o,r){if(void 0===r&&(r=!1),isNaN(o))throw new Error("azimuth missing");if(isNaN(n))throw new Error("latitude missing");if(isNaN(a))throw new Error("longitude missing");r&&(o*=s);var i=new Date(e),c=s*-a,l=s*n,h=new Date(i.getFullYear(),i.getMonth(),i.getDate(),0,0,0).getTime(),d=u;for(h+=d;d>200;){var m=t.date2jSince2000(new Date(h)),p=t.getSunRaDec(m),f=t.siderealTime(m,c)-p.ra;d/=2,t.getAzimuth(f,l,p.dec)<o?h+=d:h-=d}return new Date(Math.floor(h))},t.getAzimuth=function(t,e,n){return Math.atan2(Math.sin(t),Math.cos(t)*Math.sin(e)-Math.tan(n)*Math.cos(e))+Math.PI},t.getSolarTime=function(t,e,n){var a=new Date;a.setUTCFullYear(t.getUTCFullYear(),0,1),a.setUTCHours(0,0,0,0);var o=t.getTime()-a.getTime(),r=360/365*(Math.floor(o/u)-81)*s,i=9.87*Math.sin(2*r)-7.53*Math.cos(r)-1.5*Math.sin(r)+4*(n-15*e);return new Date(t.getTime()+60*i*1e3)},t.getStarAzEl=function(e,n,a,o,r){var i=-a*s,c=n*s,l=t.date2jSince2000(e),u=t.siderealTime(l,i)-o,h=t.elevation(u,c,r);return{az:t.azimuth(u,c,r),el:h+=t.astroRefraction(h)}},t.getSunAzEl=function(e,n,a){var o=-a*s,r=n*s,i=t.date2jSince2000(e),c=t.getSunRaDec(i),l=t.siderealTime(i,o)-c.ra;return{az:t.azimuth(l,r,c.dec),el:t.elevation(l,r,c.dec)}},t.getSunRaDec=function(e){var n=t.solarMeanAnomaly(e),a=t.eclipticLongitude(n);return{dec:t.declination(a,0),ra:t.rightAscension(a,0)}},t.J1970=2440587.5,t.J2000=2451545,t.J0=9e-4,t.e=23.4397*s,t.times=[[6,"goldenHourDawnEnd","goldenHourDuskStart"],[-.3,"sunriseEnd","sunsetStart"],[-.833,"sunriseStart","sunsetEnd"],[-1,"goldenHourDawnStart","goldenHourDuskEnd"],[-4,"blueHourDawnEnd","blueHourDuskStart"],[-6,"civilDawn","civilDusk"],[-8,"blueHourDawnStart","blueHourDuskEnd"],[-12,"nauticalDawn","nauticalDusk"],[-15,"amateurDawn","amateurDusk"],[-18,"astronomicalDawn","astronomicalDusk"]],t}(),v=function(){function t(){}return t.moonCoords=function(t){var e=s*(134.963+13.064993*t),n=s*(93.272+13.22935*t),a=s*(218.316+13.176396*t)+6.289*s*Math.sin(e),o=5.128*s*Math.sin(n),r=385001-20905*Math.cos(e);return{ra:M.rightAscension(a,o),dec:M.declination(a,o),dist:r}},t.hoursLater=function(t,e){return new Date(t.getTime()+e*u/24)},t.getMoonPosition=function(e,n,a){var o=s*-a,r=s*n,i=M.date2jSince2000(e),c=t.moonCoords(i),l=M.siderealTime(i,o)-c.ra,u=M.elevation(l,r,c.dec),h=Math.atan2(Math.sin(l),Math.tan(r)*Math.cos(c.dec)-Math.sin(c.dec)*Math.cos(l));return u+=M.astroRefraction(u),{az:M.azimuth(l,r,c.dec),el:u,rng:c.dist,parallacticAngle:h}},t.getMoonIllumination=function(e){var n=e instanceof Date?e.getTime():e,a=2551442778,o=M.date2jSince2000(new Date(n)),r=M.getSunRaDec(o),i=t.moonCoords(o),s=149598e3,c=Math.acos(Math.sin(r.dec)*Math.sin(i.dec)+Math.cos(r.dec)*Math.cos(i.dec)*Math.cos(r.ra-i.ra)),l=Math.atan2(s*Math.sin(c),i.dist-s*Math.cos(c)),u=Math.atan2(Math.cos(r.dec)*Math.sin(r.ra-i.ra),Math.sin(r.dec)*Math.cos(i.dec)-Math.cos(r.dec)*Math.sin(i.dec)*Math.cos(r.ra-i.ra)),h=.5+.5*l*(u<0?-1:1)/Math.PI,d=(n-94717884e4)%a;d<0&&(d+=a);var m=a-d+n,p=1275721389-d+n;p<n&&(p+=a);var f=637860694.5-d+n;f<n&&(f+=a);var g=1913582083.5-d+n;g<n&&(g+=a);for(var v,w=Math.min(m,f,p,g),y=0;y<t.moonCycles.length;y++){var x=t.moonCycles[y];if(h>=x.from&&h<=x.to){v=x;break}}var A;return A=w===m?"newMoon":w===f?"firstQuarter":w===p?"fullMoon":"thirdQuarter",{fraction:(1+Math.cos(l))/2,phase:v,phaseValue:h,angle:u,next:{value:w,date:new Date(w).toISOString(),type:A,newMoon:{value:m,date:new Date(m).toISOString()},fullMoon:{value:p,date:new Date(p).toISOString()},firstQuarter:{value:f,date:new Date(f).toISOString()},thirdQuarter:{value:g,date:new Date(g).toISOString()}}}},t.getMoonTimes=function(e,n,a,o){void 0===o&&(o=!1);var r=new Date(e);o?r.setUTCHours(0,0,0,0):r.setHours(0,0,0,0);var i=t.calculateRiseSetTimes(r,n,a),s=i.rise,c=i.set,l=i.ye,u={rise:null,set:null,ye:null,alwaysUp:null,alwaysDown:null,highest:null};return u.rise=s?new Date(t.hoursLater(e,s)):NaN,u.set=c?new Date(t.hoursLater(e,c)):NaN,s||c?s&&c?(u.alwaysUp=!1,u.alwaysDown=!1,u.highest=new Date(t.hoursLater(e,Math.min(s,c)+Math.abs(c-s)/2))):(u.alwaysUp=!1,u.alwaysDown=!1):l>0?(u.alwaysUp=!0,u.alwaysDown=!1):(u.alwaysUp=!1,u.alwaysDown=!0),u},t.calculateRiseSetTimes=function(e,n,a){for(var o=.133*s,r=t.getMoonPosition(e,n,a).el-o,i=0,c=0,l=0,u=0,h=0,d=0,m=0,p=0,f=0,g=0,M=0,v=0,w=0,y=1;y<=24&&(i=t.getMoonPosition(t.hoursLater(e,y),n,a).el-o,p=((h=(r+(c=t.getMoonPosition(t.hoursLater(e,y+1),n,a).el-o))/2-i)*(m=-(d=(c-r)/2)/(2*h))+d)*m+i,g=0,(f=d*d-4*h*i)>=0&&(M=m-(w=Math.sqrt(f)/(2*Math.abs(h))),v=m+w,Math.abs(M)<=1&&g++,Math.abs(v)<=1&&g++,M<-1&&(M=v)),1===g?r<0?l=y+M:u=y+M:2===g&&(l=y+(p<0?v:M),u=y+(p<0?M:v)),!l||!u);y+=2)r=c;return{rise:l,set:u,ye:p}},t.moonCycles=[{from:0,to:.033863193308711,id:"newMoon",emoji:"🌚",code:":new_moon_with_face:",name:"New Moon",weight:1,css:"wi-moon-new"},{from:.033863193308711,to:.216136806691289,id:"waxingCrescentMoon",emoji:"🌒",code:":waxing_crescent_moon:",name:"Waxing Crescent",weight:6.3825,css:"wi-moon-wax-cres"},{from:.216136806691289,to:.283863193308711,id:"firstQuarterMoon",emoji:"🌓",code:":first_quarter_moon:",name:"First Quarter",weight:1,css:"wi-moon-first-quart"},{from:.283863193308711,to:.466136806691289,id:"waxingGibbousMoon",emoji:"🌔",code:":waxing_gibbous_moon:",name:"Waxing Gibbous",weight:6.3825,css:"wi-moon-wax-gibb"},{from:.466136806691289,to:.533863193308711,id:"fullMoon",emoji:"🌝",code:":full_moon_with_face:",name:"Full Moon",weight:1,css:"wi-moon-full"},{from:.533863193308711,to:.716136806691289,id:"waningGibbousMoon",emoji:"🌖",code:":waning_gibbous_moon:",name:"Waning Gibbous",weight:6.3825,css:"wi-moon-wan-gibb"},{from:.716136806691289,to:.783863193308711,id:"thirdQuarterMoon",emoji:"🌗",code:":last_quarter_moon:",name:"third Quarter",weight:1,css:"wi-moon-third-quart"},{from:.783863193308711,to:.966136806691289,id:"waningCrescentMoon",emoji:"🌘",code:":waning_crescent_moon:",name:"Waning Crescent",weight:6.3825,css:"wi-moon-wan-cres"},{from:.966136806691289,to:1,id:"newMoon",emoji:"🌚",code:":new_moon_with_face:",name:"New Moon",weight:1,css:"wi-moon-new"}],t}(),w=function(){function t(){}return t.distance=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)+Math.pow(t.z-e.z,2))},t.dopplerFactor=function(e,n,a){var o=7292115e-11,r={x:n.x-e.x,y:n.y-e.y,z:n.z-e.z},i=Math.sqrt(Math.pow(r.x,2)+Math.pow(r.y,2)+Math.pow(r.z,2)),s=a.x+o*e.y,c=a.y-o*e.x,l=a.z,u=(r.x*s+r.y*c+r.z*l)/i;return 1+u/299792.458*t.sign(u)},t.createVec=function(t,e,n){for(var a=[],o=t;o<=e;o+=n)a.push(o);return a},t.roundToNDecimalPlaces=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},t.Types=a,t.sign=function(t){return t>=0?1:-1},t.jday=function(t,e,n,a,o,r){if(!t){var i=new Date,s=new Date(i.getUTCFullYear(),0,0),c=i.getDate()-s.getDate();return Math.floor(c/h)}return 367*t-Math.floor(7*(t+Math.floor((e+9)/12))*.25)+Math.floor(275*e/9)+n+1721013.5+((r/60+o)/60+a)/24},t.SunMath=M,t.MoonMath=v,t}(),y=function(t,e){this.start=t-1,this.stop=e,this.length=this.stop-this.start},x=function(){return x=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},x.apply(this,arguments)},A=function(){function t(){}return t.parseTle=function(e,n){var a=t.parseLine1(e),o=t.parseLine2(n);if(a.satNum!==o.satNum)throw new Error("Satellite numbers do not match");if(a.satNumRaw!==o.satNumRaw)throw new Error("Raw satellite numbers do not match");if(1!==a.lineNumber1)throw new Error("First line number must be 1");if(2!==o.lineNumber2)throw new Error("Second line number must be 2");return{satNum:a.satNum,intlDes:a.intlDes,epochYear:a.epochYear,epochDay:a.epochDay,meanMoDev1:a.meanMoDev1,meanMoDev2:a.meanMoDev2,bstar:a.bstar,inclination:o.inclination,raan:o.raan,eccentricity:o.eccentricity,argOfPerigee:o.argOfPerigee,meanAnomaly:o.meanAnomaly,meanMotion:o.meanMotion}},t.parseTleFull=function(e,n){var a=t.parseLine1(e),o=t.parseLine2(n);if(a.satNum!==o.satNum)throw new Error("Satellite numbers do not match");if(a.satNumRaw!==o.satNumRaw)throw new Error("Raw satellite numbers do not match");if(1!==a.lineNumber1)throw new Error("First line number must be 1");if(2!==o.lineNumber2)throw new Error("Second line number must be 2");return x(x({},a),o)},t.parseLine1=function(e){return{lineNumber1:t.getLineNumber(e),satNum:t.getSatNum(e),satNumRaw:t.getRawSatNum(e),classification:t.getClassification(e),intlDes:t.getIntlDes(e),intlDesYear:t.getIntlDesYear(e),intlDesLaunchNum:t.getIntlDesLaunchNum(e),intlDesLaunchPiece:t.getIntlDesLaunchPiece(e),epochYear:t.getEpochYear(e),epochYearFull:t.getEpochYearFull(e),epochDay:t.getEpochDay(e),meanMoDev1:t.getMeanMoDev1(e),meanMoDev2:t.getMeanMoDev2(e),bstar:t.getBstar(e),ephemerisType:t.getEphemerisType(e),elsetNum:t.getElsetNum(e),checksum1:t.getChecksum(e)}},t.parseLine2=function(e){return{lineNumber2:t.getLineNumber(e),satNum:t.getSatNum(e),satNumRaw:t.getRawSatNum(e),inclination:t.getInclination(e),raan:t.getRaan(e),eccentricity:t.getEccentricity(e),argOfPerigee:t.getArgOfPerigee(e),meanAnomaly:t.getMeanAnomaly(e),meanMotion:t.getMeanMotion(e),revNum:t.getRevNum(e),checksum2:t.getChecksum(e)}},t.getLineNumber=function(e){var n=parseInt(e.substring(t.lineNumber.start,t.lineNumber.stop));if(1!==n&&2!==n)throw new Error("Invalid line number");return n},t.getSatNum=function(e){var n=e.substring(t.satNum.start,t.satNum.stop),a=n.split("")[0].toLowerCase();return isNaN(parseInt(a))?parseInt(a.charCodeAt(0)-96+9+n.slice(1,5)):parseInt(n)},t.getRawSatNum=function(e){return e.substring(t.satNum.start,t.satNum.stop)},t.getClassification=function(e){return e.substring(t.classification.start,t.classification.stop)},t.getIntlDes=function(e){return e.substring(t.intlDes.start,t.intlDes.stop).trim()},t.getIntlDesYear=function(e){return parseInt(e.substring(t.intlDesYear.start,t.intlDesYear.stop))},t.getIntlDesLaunchNum=function(e){return parseInt(e.substring(t.intlDesLaunchNum.start,t.intlDesLaunchNum.stop))},t.getIntlDesLaunchPiece=function(e){return e.substring(t.intlDesLaunchPiece.start,t.intlDesLaunchPiece.stop).trim()},t.getEpochYear=function(e){var n=parseInt(e.substring(t.epochYear.start,t.epochYear.stop));if(n<0||n>99)throw new Error("Invalid epoch year");return n},t.getEpochYearFull=function(e){var n=parseInt(e.substring(t.epochYear.start,t.epochYear.stop));if(n<0||n>99)throw new Error("Invalid epoch year");return n<57?n+2e3:n+1900},t.getEpochDay=function(e){var n=parseFloat(e.substring(t.epochDay.start,t.epochDay.stop));if(n<1||n>365.99999999)throw new Error("Invalid epoch day");return w.roundToNDecimalPlaces(n,8)},t.getMeanMoDev1=function(e){var n=parseFloat(e.substring(t.meanMoDev1.start,t.meanMoDev1.stop));if(isNaN(n))throw new Error("Invalid first derivative of mean motion.");return w.roundToNDecimalPlaces(n,8)},t.getMeanMoDev2=function(e){var n=parseFloat(e.substring(t.meanMoDev2.start,t.meanMoDev2.stop));if(isNaN(n))throw new Error("Invalid second derivative of mean motion.");return n},t.getBstar=function(e){var n=t.bstar.start+1,a=t.bstar.start+6,o=t.bstar.stop-1,r=e.substring(t.bstar.start,n),i=parseFloat("0.".concat(e.substring(n,a))),s=e.substring(a,o),c=parseInt(e.substring(o,t.bstar.stop));if("-"===s)c*=-1;else if("+"!==s)throw new Error("Invalid BSTAR symbol: ".concat(r));if(i*=Math.pow(10,c),"-"===r)i*=-1;else if("+"!==r&&" "!==r)throw new Error("Invalid BSTAR symbol: ".concat(r));return w.roundToNDecimalPlaces(i,14)},t.getEphemerisType=function(e){return parseInt(e.substring(t.ephemerisType.start,t.ephemerisType.stop))},t.getElsetNum=function(e){return parseInt(e.substring(t.elsetNum.start,t.elsetNum.stop))},t.getChecksum=function(e){return parseInt(e.substring(t.checksum.start,t.checksum.stop))},t.getInclination=function(e){var n=parseFloat(e.substring(t.inclination.start,t.inclination.stop));if(n<0||n>180)throw new Error("Invalid inclination: ".concat(n));return w.roundToNDecimalPlaces(n,4)},t.getRaan=function(e){var n=parseFloat(e.substring(t.raan.start,t.raan.stop));if(!(n>=0&&n<=360))throw new Error("Invalid RAAN: ".concat(n));return w.roundToNDecimalPlaces(n,4)},t.getEccentricity=function(e){var n=parseFloat("0.".concat(e.substring(t.eccentricity.start,t.eccentricity.stop)));if(!(n>=0&&n<=1))throw new Error("Invalid eccentricity: ".concat(n));return w.roundToNDecimalPlaces(n,7)},t.getArgOfPerigee=function(e){var n=parseFloat(e.substring(t.argPerigee.start,t.argPerigee.stop));if(!(n>=0&&n<=360))throw new Error("Invalid argument of perigee: ".concat(n));return w.roundToNDecimalPlaces(n,4)},t.getMeanAnomaly=function(e){var n=parseFloat(e.substring(t.meanAnom.start,t.meanAnom.stop));if(!(n>=0&&n<=360))throw new Error("Invalid mean anomaly: ".concat(n));return w.roundToNDecimalPlaces(n,4)},t.getMeanMotion=function(e){var n=parseFloat(e.substring(t.meanMo.start,t.meanMo.stop));if(!(n>=0&&n<=17))throw new Error("Invalid mean motion: ".concat(n));return w.roundToNDecimalPlaces(n,8)},t.getRevNum=function(e){return parseInt(e.substring(t.revNum.start,t.revNum.stop))},t.lineNumber=new y(1,1),t.satNum=new y(3,7),t.classification=new y(8,8),t.intlDes=new y(10,17),t.intlDesYear=new y(10,11),t.intlDesLaunchNum=new y(12,14),t.intlDesLaunchPiece=new y(15,17),t.epochYear=new y(19,20),t.epochDay=new y(21,32),t.meanMoDev1=new y(34,43),t.meanMoDev2=new y(45,52),t.bstar=new y(54,61),t.ephemerisType=new y(63,63),t.elsetNum=new y(65,68),t.checksum=new y(69,69),t.inclination=new y(9,16),t.raan=new y(18,25),t.eccentricity=new y(27,33),t.argPerigee=new y(35,42),t.meanAnom=new y(44,51),t.meanMo=new y(53,63),t.revNum=new y(64,68),t}(),E=function(){function t(t){this.type=t.type||o.UNKNOWN,this.name=t.name||"Unknown",this.position=t.position||{x:0,y:0,z:0},this.time=t.time||new Date}return t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getTypeString=function(){switch(this.type){case o.UNKNOWN:return"Unknown";case o.PAYLOAD:return"Payload";case o.ROCKET_BODY:return"Rocket Body";case o.DEBRIS:return"Debris";case o.SPECIAL:return"Special";case o.RADAR_MEASUREMENT:return"Radar Measurement";case o.RADAR_TRACK:return"Radar Track";case o.RADAR_OBJECT:return"Radar Object";case o.BALLISTIC_MISSILE:return"Ballistic Missile";case o.STAR:return"Star";case o.INTERGOVERNMENTAL_ORGANIZATION:return"Intergovernmental Organization";case o.SUBORBITAL_PAYLOAD_OPERATOR:return"Suborbital Payload Operator";case o.PAYLOAD_OWNER:return"Payload Owner";case o.METEOROLOGICAL_ROCKET_LAUNCH_AGENCY_OR_MANUFACTURER:return"Meteorological Rocket Launch Agency or Manufacturer";case o.PAYLOAD_MANUFACTURER:return"Payload Manufacturer";case o.LAUNCH_AGENCY:return"Launch Agency";case o.LAUNCH_SITE:return"Launch Site";case o.LAUNCH_POSITION:return"Launch Position";case o.LAUNCH_FACILITY:return"Launch Facility";case o.CONTROL_FACILITY:return"Control Facility";case o.GROUND_SENSOR_STATION:return"Ground Sensor Station";case o.OPTICAL:return"Optical";case o.MECHANICAL:return"Mechanical";case o.PHASED_ARRAY_RADAR:return"Phased Array Radar";case o.OBSERVER:return"Observer";case o.BISTATIC_RADIO_TELESCOPE:return"Bistatic Radio Telescope";case o.COUNTRY:return"Country";case o.LAUNCH_VEHICLE_MANUFACTURER:return"Launch Vehicle Manufacturer";case o.ENGINE_MANUFACTURER:return"Engine Manufacturer";default:return"Unknown"}},t}(),N=(p=function(t,e){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},p(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),T=function(t){function e(e){var n=t.call(this,e)||this;return e.rcs&&(n.rcs=e.rcs),e.vmag&&(n.vmag=e.vmag),n}return N(e,t),e.prototype.getRcs=function(){return this.rcs},e.prototype.getVmag=function(){return this.vmag},e}(E),b=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),R=function(t){function e(e,n){var a=t.call(this,e)||this,o=A.parseTle(e.tle1,e.tle2);return a.satNum=o.satNum,a.intlDes=o.intlDes,a.epochYear=o.epochYear,a.epochDay=o.epochDay,a.meanMoDev1=o.meanMoDev1,a.meanMoDev2=o.meanMoDev2,a.bstar=o.bstar,a.inclination=o.inclination,a.raan=o.raan,a.eccentricity=o.eccentricity,a.argOfPerigee=o.argOfPerigee,a.meanAnomaly=o.meanAnomaly,a.meanMotion=o.meanMotion,a.period=1440/a.meanMotion,a.satrec=d.createSatrec(e.tle1,e.tle2),a.options=n,a}return b(e,t),e.prototype.propagateTo=function(t){var n=e.calculateTimeVariables(t,this.satrec).m,a=d.propagate(this.satrec,n).position||{x:0,y:0,z:0};return this.position=a,this.time=t,this},e.prototype.getStateVec=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec).m;return d.propagate(this.satrec,n)},e.prototype.getEci=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec).m;return d.propagate(this.satrec,n).position||{x:0,y:0,z:0}},e.prototype.getEcf=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec),a=n.m,o=n.gmst,r=d.propagate(this.satrec,a).position||{x:0,y:0,z:0};return m.eci2ecf(r,o)},e.prototype.getLla=function(t){void 0===t&&(t=this.time);var n=e.calculateTimeVariables(t,this.satrec),a=n.m,o=n.gmst,r=d.propagate(this.satrec,a).position||{x:0,y:0,z:0};return m.eci2lla(r,o)},e.prototype.getRae=function(t,n){void 0===n&&(n=this.time);var a=e.calculateTimeVariables(n,this.satrec),o=a.m,r=a.gmst,i=d.propagate(this.satrec,o).position||{x:0,y:0,z:0},s=m.eci2ecf(i,r);return m.ecf2rae({lat:t.lat,lon:t.lon,alt:t.alt},s)},e.calculateTimeVariables=function(t,e){var n=w.jday(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())+t.getUTCMilliseconds()*h;return{gmst:d.gstime(n),m:e?1440*(n-e.jdsatepoch):null,j:n}},e.checkSatrec=function(t){return!(isNaN(t.a)||isNaN(t.am)||isNaN(t.alta)||isNaN(t.em)||isNaN(t.mo)||isNaN(t.ecco)||isNaN(t.no))},e}(T),D=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),z=function(t){function e(e,n,a){var o=t.call(this,e,n)||this;return o.setLaunchDetails(a.launchDetails),o.setSpaceCraftDetails(a.spaceCraftDetails),o.setOperationsDetails(a.operationsDetails),o}return D(e,t),e.prototype.setLaunchDetails=function(t){t.launchDate&&(this.launchDate=t.launchDate),t.launchMass&&(this.launchMass=t.launchMass),t.launchSite&&(this.launchSite=t.launchSite),t.launchVehicle&&(this.launchVehicle=t.launchVehicle)},e.prototype.getLaunchDetails=function(){return{launchDate:this.launchDate,launchMass:this.launchMass,launchSite:this.launchSite,launchVehicle:this.launchVehicle}},e.prototype.setSpaceCraftDetails=function(t){t.lifetime&&(this.lifetime=t.lifetime),t.maneuver&&(this.maneuver=t.maneuver),t.manufacturer&&(this.manufacturer=t.manufacturer),t.motor&&(this.motor=t.motor),t.power&&(this.power=t.power),t.payload&&(this.payload=t.payload),t.purpose&&(this.purpose=t.purpose),t.shape&&(this.shape=t.shape),t.span&&(this.span=t.span),t.configuration&&(this.configuration=t.configuration),t.equipment&&(this.equipment=t.equipment),t.dryMass&&(this.dryMass=t.dryMass)},e.prototype.getSpaceCraftDetails=function(){return{lifetime:this.lifetime,maneuver:this.maneuver,manufacturer:this.manufacturer,motor:this.motor,power:this.power,payload:this.payload,purpose:this.purpose,shape:this.shape,span:this.span,configuration:this.configuration,equipment:this.equipment,dryMass:this.dryMass}},e.prototype.setOperationsDetails=function(t){t.user&&(this.user=t.user),t.mission&&(this.mission=t.mission),t.owner&&(this.owner=t.owner),t.country&&(this.country=t.country)},e.prototype.getOperationsDetails=function(){return{user:this.user,mission:this.mission,owner:this.owner,country:this.country}},e}(R),I=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}();!function(t){t[t.OUT_OF_VIEW=-1]="OUT_OF_VIEW",t[t.ENTER=0]="ENTER",t[t.IN_VIEW=1]="IN_VIEW",t[t.EXIT=2]="EXIT"}(f||(f={}));var O=2*Math.PI,_=function(t){function e(e){var n=this;if(e.type)switch(e.type){case o.OPTICAL:case o.MECHANICAL:case o.PHASED_ARRAY_RADAR:case o.OBSERVER:case o.BISTATIC_RADIO_TELESCOPE:break;default:throw new Error("Invalid sensor type")}return(n=t.call(this,e)||this).validateInputData(e),n}return I(e,t),e.prototype.validateInputData=function(t){this.validateLla(t),this.validateFov(t)},e.prototype.validateFov=function(t){if(t.minAz>=0&&t.minAz<=360)this.minAz=t.minAz;else{if(void 0!==t.minAz)throw new Error("Invalid minimum azimuth - must be between 0 and 360");this.minAz=0}if(t.maxAz>=0&&t.maxAz<=360)this.maxAz=t.maxAz;else{if(void 0!==t.maxAz)throw new Error("Invalid maximum azimuth - must be between 0 and 360");this.maxAz=360}if(t.minEl>=0&&t.minEl<=90)this.minEl=t.minEl;else{if(void 0!==t.minEl)throw new Error("Invalid minimum elevation - must be between 0 and 90");this.minEl=0}if(t.maxEl>=0&&t.maxEl<=180)this.maxEl=t.maxEl;else{if(void 0!==t.maxEl)throw new Error("Invalid maximum elevation - must be between 0 and 180");this.maxEl=90}if(t.minRng>=0)this.minRng=t.minRng;else{if(void 0!==t.minRng)throw new Error("Invalid minimum range - must be greater than 0");this.minRng=0}if(t.maxRng>=0)this.maxRng=t.maxRng;else{if(void 0!==t.maxRng)throw new Error("Invalid maximum range - must be greater than 0");this.maxRng=5e4}},e.prototype.validateLla=function(t){if(!(t.lat>=-90&&t.lat<=90))throw new Error("Invalid latitude");if(this.lat=t.lat,!(t.lon>=-180&&t.lon<=180))throw new Error("Invalid longitude");if(this.lon=t.lon,!(t.alt>=0))throw new Error("Invalid altitude");this.alt=t.alt},e.prototype.setTime=function(t){return this.time=t,this},e.prototype.getRae=function(t,e){return void 0===e&&(e=this.time),t.getRae(this,e)},e.prototype.isRaeInFov=function(t){if(t.el<this.minEl||t.el>this.maxEl)return!1;if(t.rng<this.minRng||t.rng>this.maxRng)return!1;if(this.minAz>this.maxAz){if(t.az<this.minAz&&t.az>this.maxAz)return!1}else if(t.az<this.minAz||t.az>this.maxAz)return!1;return!0},e.prototype.isSatInFov=function(t,e){return void 0===e&&(e=this.time),this.isRaeInFov(this.getRae(t,e))},e.prototype.calculatePasses=function(t,n,a){void 0===a&&(a=this.time);for(var o=!1,r=0,i=[],s=a.getTime(),c=0;c<t;c++){var l=new Date(s+1e3*c),u=this.getRae(n,l);u.az*=360/O,u.el*=360/O;var h=this.isRaeInFov(u);if(0===c){var d=this.getRae(n,new Date(Date.now()-1e3));o=this.isRaeInFov(d)}var m=e.getPassType(h,o);if(r=Math.max(r,u.el),m===f.ENTER||m===f.EXIT){var p={type:m,time:l,az:u.az,el:u.el,rng:u.rng};m===f.EXIT&&(p.maxElPass=r),i.push(p),r=0}o=h}return i},e.getPassType=function(t,e){var n=f.OUT_OF_VIEW;return t&&!e?n=f.ENTER:!t&&e?n=f.EXIT:t&&e&&(n=f.IN_VIEW),n},e}(E),C=function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},t(e,n)};return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),S=function(t){function e(e){var n=this;if(e.type&&e.type!==o.STAR)throw new Error("Invalid object type");return e.type=o.STAR,(n=t.call(this,e)||this).ra=e.ra,n.dec=e.dec,e.pname&&(n.pname=e.pname),e.bf&&(n.bf=e.bf),e.h&&(n.h=e.h),n}return C(e,t),e.prototype.getEci=function(t,n){void 0===t&&(t={lat:180,lon:0,alt:0}),void 0===n&&(n=this.time);var a=this.getRae(t,n),o=e.calculateTimeVariables(n).gmst;return m.ecf2eci(m.rae2ecf(a,{lat:0,lon:0,alt:0}),o)},e.prototype.getRae=function(t,e){void 0===t&&(t={lat:180,lon:0,alt:0}),void 0===e&&(e=this.time);var n=w.SunMath.getStarAzEl(e,t.lat*s,t.lon*s,this.ra,this.dec);return{az:n.az,el:n.el,rng:25e4}},e.calculateTimeVariables=function(t){var e=w.jday(t.getUTCFullYear(),t.getUTCMonth()+1,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds())+t.getUTCMilliseconds()*h;return{gmst:d.gstime(e),j:e}},e}(T)}},e={};function n(a){if(e[a])return e[a].exports;var o=e[a]={exports:{}};return t[a](o,o.exports,n),o.exports}return n.d=(t,e)=>{for(var a in e)n.o(e,a)&&!n.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(636)})()}));
@@ -48,7 +48,7 @@ declare class Transforms {
48
48
  * @param {Number} sez.s Positive horizontal vector S due south.
49
49
  * @param {Number} sez.e Positive horizontal vector E due east.
50
50
  * @param {Number} sez.z Vector Z normal to the surface of the earth (up).
51
- * @returns {Object} Rng, Az, El array
51
+ * @returns {RaeVec3} Rng, Az, El array
52
52
  */
53
53
  static sez2rae(sez: SezVec3): RaeVec3;
54
54
  }
@@ -19,8 +19,8 @@ export declare type LlaVec3 = {
19
19
  };
20
20
  export declare type RaeVec3 = {
21
21
  rng: Kilometer;
22
- az: Degrees;
23
- el: Degrees;
22
+ az: Radians;
23
+ el: Radians;
24
24
  };
25
25
  export declare type SezVec3 = {
26
26
  s: Kilometer;
@@ -84,5 +84,6 @@ export declare class Sat extends SpaceObject {
84
84
  * @returns {{m: number, gmst: GreenwichMeanSiderealTime, j: number}} Time variables
85
85
  */
86
86
  private static calculateTimeVariables;
87
+ static checkSatrec(satrec: SatelliteRecord): boolean;
87
88
  }
88
89
  export {};
@@ -135,6 +135,18 @@ var Sat = /** @class */ (function (_super) {
135
135
  var m = satrec ? (j - satrec.jdsatepoch) * MINUTES_PER_DAY : null;
136
136
  return { gmst: gmst, m: m, j: j };
137
137
  };
138
+ Sat.checkSatrec = function (satrec) {
139
+ if (isNaN(satrec.a) ||
140
+ isNaN(satrec.am) ||
141
+ isNaN(satrec.alta) ||
142
+ isNaN(satrec.em) ||
143
+ isNaN(satrec.mo) ||
144
+ isNaN(satrec.ecco) ||
145
+ isNaN(satrec.no)) {
146
+ return false;
147
+ }
148
+ return true;
149
+ };
138
150
  return Sat;
139
151
  }(SpaceObject));
140
152
  export { Sat };
@@ -1 +1 @@
1
- {"version":3,"file":"sat.js","sourceRoot":"","sources":["../../src/objects/sat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sat.js","sourceRoot":"","sources":["../../src/objects/sat.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@
19
19
  * You should have received a copy of the GNU Affero General Public License along with
20
20
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
21
21
  */
22
- import { RaeVec3, SpaceObjectType } from '../types/types';
22
+ import { Degrees, Kilometer, RaeVec3, SpaceObjectType } from '../types/types';
23
23
  import { BaseObject } from './base-object';
24
24
  import { Sat } from './sat';
25
25
  interface ObjectInfo {
@@ -28,13 +28,46 @@ interface ObjectInfo {
28
28
  lat: number;
29
29
  lon: number;
30
30
  alt: number;
31
+ minAz: Degrees;
32
+ maxAz: Degrees;
33
+ minEl: Degrees;
34
+ maxEl: Degrees;
35
+ minRng: Kilometer;
36
+ maxRng: Kilometer;
31
37
  }
38
+ export declare enum PassType {
39
+ OUT_OF_VIEW = -1,
40
+ ENTER = 0,
41
+ IN_VIEW = 1,
42
+ EXIT = 2
43
+ }
44
+ declare type Lookangles = {
45
+ type: PassType;
46
+ time: Date;
47
+ az: number;
48
+ el: number;
49
+ rng: number;
50
+ maxElPass?: number;
51
+ };
32
52
  export declare class Sensor extends BaseObject {
33
53
  lat: number;
34
54
  lon: number;
35
55
  alt: number;
56
+ minAz: Degrees;
57
+ maxAz: Degrees;
58
+ minEl: Degrees;
59
+ maxEl: Degrees;
60
+ minRng: Kilometer;
61
+ maxRng: Kilometer;
36
62
  constructor(info: ObjectInfo);
63
+ private validateInputData;
64
+ private validateFov;
65
+ private validateLla;
37
66
  setTime(date: Date): Sensor;
38
67
  getRae(sat: Sat, date?: Date): RaeVec3;
68
+ isRaeInFov(rae: RaeVec3): boolean;
69
+ isSatInFov(sat: Sat, date?: Date): boolean;
70
+ calculatePasses(planningInterval: number, sat: Sat, date?: Date): Lookangles[];
71
+ private static getPassType;
39
72
  }
40
73
  export {};
@@ -36,6 +36,14 @@ var __extends = (this && this.__extends) || (function () {
36
36
  })();
37
37
  import { SpaceObjectType } from '../types/types';
38
38
  import { BaseObject } from './base-object';
39
+ export var PassType;
40
+ (function (PassType) {
41
+ PassType[PassType["OUT_OF_VIEW"] = -1] = "OUT_OF_VIEW";
42
+ PassType[PassType["ENTER"] = 0] = "ENTER";
43
+ PassType[PassType["IN_VIEW"] = 1] = "IN_VIEW";
44
+ PassType[PassType["EXIT"] = 2] = "EXIT";
45
+ })(PassType || (PassType = {}));
46
+ var TAU = Math.PI * 2;
39
47
  var Sensor = /** @class */ (function (_super) {
40
48
  __extends(Sensor, _super);
41
49
  function Sensor(info) {
@@ -54,26 +62,95 @@ var Sensor = /** @class */ (function (_super) {
54
62
  }
55
63
  }
56
64
  _this = _super.call(this, info) || this;
65
+ _this.validateInputData(info);
66
+ return _this;
67
+ }
68
+ Sensor.prototype.validateInputData = function (info) {
69
+ this.validateLla(info);
70
+ this.validateFov(info);
71
+ };
72
+ Sensor.prototype.validateFov = function (info) {
73
+ if (info.minAz >= 0 && info.minAz <= 360) {
74
+ this.minAz = info.minAz;
75
+ }
76
+ else if (typeof info.minAz === 'undefined') {
77
+ // Default is a telescope
78
+ this.minAz = 0;
79
+ }
80
+ else {
81
+ throw new Error('Invalid minimum azimuth - must be between 0 and 360');
82
+ }
83
+ if (info.maxAz >= 0 && info.maxAz <= 360) {
84
+ this.maxAz = info.maxAz;
85
+ }
86
+ else if (typeof info.maxAz === 'undefined') {
87
+ // Default is a telescope
88
+ this.maxAz = 360;
89
+ }
90
+ else {
91
+ throw new Error('Invalid maximum azimuth - must be between 0 and 360');
92
+ }
93
+ if (info.minEl >= 0 && info.minEl <= 90) {
94
+ this.minEl = info.minEl;
95
+ }
96
+ else if (typeof info.minEl === 'undefined') {
97
+ // Default is a telescope
98
+ this.minEl = 0;
99
+ }
100
+ else {
101
+ throw new Error('Invalid minimum elevation - must be between 0 and 90');
102
+ }
103
+ if (info.maxEl >= 0 && info.maxEl <= 180) {
104
+ this.maxEl = info.maxEl;
105
+ }
106
+ else if (typeof info.maxEl === 'undefined') {
107
+ // Default is a telescope
108
+ this.maxEl = 90;
109
+ }
110
+ else {
111
+ throw new Error('Invalid maximum elevation - must be between 0 and 180');
112
+ }
113
+ if (info.minRng >= 0) {
114
+ this.minRng = info.minRng;
115
+ }
116
+ else if (typeof info.minRng === 'undefined') {
117
+ // Default is a telescope
118
+ this.minRng = 0;
119
+ }
120
+ else {
121
+ throw new Error('Invalid minimum range - must be greater than 0');
122
+ }
123
+ if (info.maxRng >= 0) {
124
+ this.maxRng = info.maxRng;
125
+ }
126
+ else if (typeof info.maxRng === 'undefined') {
127
+ // Default is a telescope
128
+ this.maxRng = 50000; // arbitrary large number
129
+ }
130
+ else {
131
+ throw new Error('Invalid maximum range - must be greater than 0');
132
+ }
133
+ };
134
+ Sensor.prototype.validateLla = function (info) {
57
135
  if (info.lat >= -90 && info.lat <= 90) {
58
- _this.lat = info.lat;
136
+ this.lat = info.lat;
59
137
  }
60
138
  else {
61
139
  throw new Error('Invalid latitude');
62
140
  }
63
141
  if (info.lon >= -180 && info.lon <= 180) {
64
- _this.lon = info.lon;
142
+ this.lon = info.lon;
65
143
  }
66
144
  else {
67
145
  throw new Error('Invalid longitude');
68
146
  }
69
147
  if (info.alt >= 0) {
70
- _this.alt = info.alt;
148
+ this.alt = info.alt;
71
149
  }
72
150
  else {
73
151
  throw new Error('Invalid altitude');
74
152
  }
75
- return _this;
76
- }
153
+ };
77
154
  Sensor.prototype.setTime = function (date) {
78
155
  this.time = date;
79
156
  return this;
@@ -82,6 +159,81 @@ var Sensor = /** @class */ (function (_super) {
82
159
  if (date === void 0) { date = this.time; }
83
160
  return sat.getRae(this, date);
84
161
  };
162
+ Sensor.prototype.isRaeInFov = function (rae) {
163
+ if (rae.el < this.minEl || rae.el > this.maxEl) {
164
+ return false;
165
+ }
166
+ if (rae.rng < this.minRng || rae.rng > this.maxRng) {
167
+ return false;
168
+ }
169
+ if (this.minAz > this.maxAz) {
170
+ // North Facing Sensors
171
+ if (rae.az < this.minAz && rae.az > this.maxAz) {
172
+ return false;
173
+ }
174
+ // Normal Facing Sensors
175
+ }
176
+ else if (rae.az < this.minAz || rae.az > this.maxAz) {
177
+ return false;
178
+ }
179
+ return true;
180
+ };
181
+ Sensor.prototype.isSatInFov = function (sat, date) {
182
+ if (date === void 0) { date = this.time; }
183
+ return this.isRaeInFov(this.getRae(sat, date));
184
+ };
185
+ Sensor.prototype.calculatePasses = function (planningInterval, sat, date) {
186
+ if (date === void 0) { date = this.time; }
187
+ var isInViewLast = false;
188
+ var maxElThisPass = 0;
189
+ var msnPlanPasses = [];
190
+ var startTime = date.getTime();
191
+ for (var timeOffset = 0; timeOffset < planningInterval; timeOffset++) {
192
+ var curTime = new Date(startTime + timeOffset * 1000);
193
+ var rae = this.getRae(sat, curTime);
194
+ // Radians to Degrees
195
+ rae.az *= 360 / TAU;
196
+ rae.el *= 360 / TAU;
197
+ var isInView = this.isRaeInFov(rae);
198
+ if (timeOffset === 0) {
199
+ // Propagate Backwards to get the previous pass
200
+ var oldRae = this.getRae(sat, new Date(Date.now() - 1 * 1000));
201
+ isInViewLast = this.isRaeInFov(oldRae);
202
+ }
203
+ var type = Sensor.getPassType(isInView, isInViewLast);
204
+ maxElThisPass = Math.max(maxElThisPass, rae.el);
205
+ if (type === PassType.ENTER || type === PassType.EXIT) {
206
+ var pass = {
207
+ type: type,
208
+ time: curTime,
209
+ az: rae.az,
210
+ el: rae.el,
211
+ rng: rae.rng,
212
+ };
213
+ // Only set maxEl for EXIT passes
214
+ if (type === PassType.EXIT) {
215
+ pass.maxElPass = maxElThisPass;
216
+ }
217
+ msnPlanPasses.push(pass);
218
+ maxElThisPass = 0;
219
+ }
220
+ isInViewLast = isInView;
221
+ }
222
+ return msnPlanPasses;
223
+ };
224
+ Sensor.getPassType = function (isInView, isInViewLast) {
225
+ var type = PassType.OUT_OF_VIEW;
226
+ if (isInView && !isInViewLast) {
227
+ type = PassType.ENTER;
228
+ }
229
+ else if (!isInView && isInViewLast) {
230
+ type = PassType.EXIT;
231
+ }
232
+ else if (isInView && isInViewLast) {
233
+ type = PassType.IN_VIEW;
234
+ }
235
+ return type;
236
+ };
85
237
  return Sensor;
86
238
  }(BaseObject));
87
239
  export { Sensor };
@@ -1 +1 @@
1
- {"version":3,"file":"sensor.js","sourceRoot":"","sources":["../../src/objects/sensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;AAEH,OAAO,EAAW,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAW3C;IAA4B,0BAAU;IAKpC,gBAAY,IAAgB;QAA5B,iBAkCC;QAjCC,+CAA+C;QAC/C,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,eAAe,CAAC,OAAO,CAAC;gBAC7B,KAAK,eAAe,CAAC,UAAU,CAAC;gBAChC,KAAK,eAAe,CAAC,kBAAkB,CAAC;gBACxC,KAAK,eAAe,CAAC,QAAQ,CAAC;gBAC9B,KAAK,eAAe,CAAC,wBAAwB;oBAC3C,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAC1C;SACF;gBAED,kBAAM,IAAI,CAAC;QAEX,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE;YACrC,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;YACvC,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;YACjB,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;;IACH,CAAC;IAEM,wBAAO,GAAd,UAAe,IAAU;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,uBAAM,GAAb,UAAc,GAAQ,EAAE,IAAsB;QAAtB,qBAAA,EAAA,OAAa,IAAI,CAAC,IAAI;QAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACH,aAAC;AAAD,CAAC,AAlDD,CAA4B,UAAU,GAkDrC"}
1
+ {"version":3,"file":"sensor.js","sourceRoot":"","sources":["../../src/objects/sensor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;AAEH,OAAO,EAA+B,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAiB3C,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,sDAAgB,CAAA;IAChB,yCAAS,CAAA;IACT,6CAAW,CAAA;IACX,uCAAQ,CAAA;AACV,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAWD,IAAM,GAAG,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAExB;IAA4B,0BAAU;IAWpC,gBAAY,IAAgB;QAA5B,iBAkBC;QAjBC,+CAA+C;QAC/C,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACjB,KAAK,eAAe,CAAC,OAAO,CAAC;gBAC7B,KAAK,eAAe,CAAC,UAAU,CAAC;gBAChC,KAAK,eAAe,CAAC,kBAAkB,CAAC;gBACxC,KAAK,eAAe,CAAC,QAAQ,CAAC;gBAC9B,KAAK,eAAe,CAAC,wBAAwB;oBAC3C,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;aAC1C;SACF;gBAED,kBAAM,IAAI,CAAC;QAEX,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;;IAC/B,CAAC;IAEO,kCAAiB,GAAzB,UAA0B,IAAgB;QACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEO,4BAAW,GAAnB,UAAoB,IAAgB;QAClC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAC5C,yBAAyB;YACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAC5C,yBAAyB;YACzB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAClB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE;YACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAC5C,yBAAyB;YACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAChB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;SACzB;aAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAC5C,yBAAyB;YACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACjB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC3B;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7C,yBAAyB;YACzB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;SAC3B;aAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE;YAC7C,yBAAyB;YACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,yBAAyB;SAC/C;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;IACH,CAAC;IAEO,4BAAW,GAAnB,UAAoB,IAAgB;QAClC,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE;YACvC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;IACH,CAAC;IAEM,wBAAO,GAAd,UAAe,IAAU;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,uBAAM,GAAb,UAAc,GAAQ,EAAE,IAAsB;QAAtB,qBAAA,EAAA,OAAa,IAAI,CAAC,IAAI;QAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAEM,2BAAU,GAAjB,UAAkB,GAAY;QAC5B,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE;YAClD,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC3B,uBAAuB;YACvB,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC9C,OAAO,KAAK,CAAC;aACd;YACD,wBAAwB;SACzB;aAAM,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;YACrD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,2BAAU,GAAjB,UAAkB,GAAQ,EAAE,IAAsB;QAAtB,qBAAA,EAAA,OAAa,IAAI,CAAC,IAAI;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAEM,gCAAe,GAAtB,UAAuB,gBAAwB,EAAE,GAAQ,EAAE,IAAsB;QAAtB,qBAAA,EAAA,OAAa,IAAI,CAAC,IAAI;QAC/E,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAM,aAAa,GAAiB,EAAE,CAAC;QACvC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAEjC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE,UAAU,EAAE,EAAE;YACpE,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;YACxD,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAEtC,qBAAqB;YACrB,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC;YACpB,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC;YAEpB,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,UAAU,KAAK,CAAC,EAAE;gBACpB,+CAA+C;gBAC/C,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAEjE,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACxC;YAED,IAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAExD,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhD,IAAI,IAAI,KAAK,QAAQ,CAAC,KAAK,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;gBACrD,IAAM,IAAI,GAAe;oBACvB,IAAI,MAAA;oBACJ,IAAI,EAAE,OAAO;oBACb,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,GAAG,EAAE,GAAG,CAAC,GAAG;iBACb,CAAC;gBAEF,iCAAiC;gBACjC,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE;oBAC1B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;iBAChC;gBAED,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,aAAa,GAAG,CAAC,CAAC;aACnB;YAED,YAAY,GAAG,QAAQ,CAAC;SACzB;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEc,kBAAW,GAA1B,UAA2B,QAAiB,EAAE,YAAqB;QACjE,IAAI,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;QAEhC,IAAI,QAAQ,IAAI,CAAC,YAAY,EAAE;YAC7B,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;SACvB;aAAM,IAAI,CAAC,QAAQ,IAAI,YAAY,EAAE;YACpC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SACtB;aAAM,IAAI,QAAQ,IAAI,YAAY,EAAE;YACnC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;SACzB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IACH,aAAC;AAAD,CAAC,AAnND,CAA4B,UAAU,GAmNrC"}
@@ -48,7 +48,7 @@ declare class Transforms {
48
48
  * @param {Number} sez.s Positive horizontal vector S due south.
49
49
  * @param {Number} sez.e Positive horizontal vector E due east.
50
50
  * @param {Number} sez.z Vector Z normal to the surface of the earth (up).
51
- * @returns {Object} Rng, Az, El array
51
+ * @returns {RaeVec3} Rng, Az, El array
52
52
  */
53
53
  static sez2rae(sez: SezVec3): RaeVec3;
54
54
  }
@@ -191,7 +191,7 @@ var Transforms = /** @class */ (function () {
191
191
  * @param {Number} sez.s Positive horizontal vector S due south.
192
192
  * @param {Number} sez.e Positive horizontal vector E due east.
193
193
  * @param {Number} sez.z Vector Z normal to the surface of the earth (up).
194
- * @returns {Object} Rng, Az, El array
194
+ * @returns {RaeVec3} Rng, Az, El array
195
195
  */
196
196
  Transforms.sez2rae = function (sez) {
197
197
  var rng = Math.sqrt(sez.s * sez.s + sez.e * sez.e + sez.z * sez.z);
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../src/transforms/transforms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../src/transforms/transforms.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,8 @@ export declare type LlaVec3 = {
19
19
  };
20
20
  export declare type RaeVec3 = {
21
21
  rng: Kilometer;
22
- az: Degrees;
23
- el: Degrees;
22
+ az: Radians;
23
+ el: Radians;
24
24
  };
25
25
  export declare type SezVec3 = {
26
26
  s: Kilometer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ootk",
3
- "version": "1.6.2",
3
+ "version": "1.7.0",
4
4
  "description": "Orbital Object Toolkit including SGP4 Propagator and Coordinate Transforms",
5
5
  "main": "dist/ootk.js",
6
6
  "scripts": {