From 935bf92d70e216dfc2ad76af88a11bbaa982a5d6 Mon Sep 17 00:00:00 2001 From: jlaura <jlaura@usgs.gov> Date: Thu, 22 Mar 2018 15:16:00 -0700 Subject: [PATCH] Updates for ISD Generation (#28) * Makes gdal an optional dependency * Refactors all bae I/O into a single namespace. * typos * Fixes the gdal dependency test * Adds tests for the JSON * Tests fail without test data * Updates for comments from @thareUSGS * Adds ISIS3 V2 ControlNetwork Reader --- plio/__init__.py | 2 +- plio/examples/ControlNetworks/apollo_out.net | Bin 0 -> 253999 bytes plio/examples/SocetSet/ellipsoid.ell | 2 + plio/examples/SocetSet/socet_isd.lis | 940 ++++++++++++++++++ plio/io/{io_gpf.py => io_bae.py} | 225 +++-- plio/io/io_controlnetwork.py | 88 +- plio/io/io_gdal.py | 21 +- plio/io/io_moon_minerology_mapper.py | 11 +- plio/io/io_multibandimager.py | 18 +- .../tests/{test_io_gpf.py => test_io_bae.py} | 19 +- plio/io/tests/test_io_controlnetwork.py | 14 + plio/io/tests/test_io_gdal.py | 9 + 12 files changed, 1212 insertions(+), 137 deletions(-) create mode 100644 plio/examples/ControlNetworks/apollo_out.net create mode 100644 plio/examples/SocetSet/ellipsoid.ell create mode 100644 plio/examples/SocetSet/socet_isd.lis rename plio/io/{io_gpf.py => io_bae.py} (62%) rename plio/io/tests/{test_io_gpf.py => test_io_bae.py} (65%) diff --git a/plio/__init__.py b/plio/__init__.py index 3e4efb6..34ae0a4 100755 --- a/plio/__init__.py +++ b/plio/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.1.1" +__version__ = "0.1.2" # Submodule imports from . import io diff --git a/plio/examples/ControlNetworks/apollo_out.net b/plio/examples/ControlNetworks/apollo_out.net new file mode 100644 index 0000000000000000000000000000000000000000..3ecfc3359902feab8df3751bdde402de63c1bb54 GIT binary patch literal 253999 zcmeFac{o*F|37|=Ns~$v4K#>~%u}UxA{CM%QOZmxgpib@$ykP@!H^<SGG!=)Oc_e3 zgoMnq%#`7`);>=?=k~d-=icZ0=kMBg*IkD*yw85U-t&8{wGSCtni@Os?c&q0vvIK5 zbKcC%)Q+8x@6exLE85tZ!k_v0_L~}-nA&MN7}`1Px!_<5-ytm}B_U1o9Qw6AdMSKP zR#psqM#IL!+QI%G?~;}jlc9Nz_FZDKGE%bQ@X5W_Ci>K`zz%=fz^8TE!k*9E&gQ%= zAADeDW5;J<4gWrC=wM-EZFq*y_Pm{~jXjiZV}0fVe8)cQrMvhPZLA&aY|f~gIyl+b zSsj4y!6g6r*#!Hx*cVnav^KG@HrKRppkA()p`E#@gSz2a)Bn6?7vDh}8*A+CN9|4R zXr4jWYh`M3_Pn);{eNDeXlH8ZVEXst(JRD7#YBZg<%Gp#w8X^ar6lAf<**M^GqiU& zXk%hwX7Qib)4WtxOH@)`QdV9{3VW%NslBnCg)O>f>X+KZXKZciVCw8(XJ`z?QLpX% zStC=sLuORuv1^l%qrPALKTjPrHMBo(2hrNaCnrt)7TTtE_J2PXeK`CU@Z%5<7?$ib zjKGKNB;r2;0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 z0RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO60RjO6 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�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 Cq}vw& literal 0 HcmV?d00001 diff --git a/plio/examples/SocetSet/ellipsoid.ell b/plio/examples/SocetSet/ellipsoid.ell new file mode 100644 index 0000000..4126e38 --- /dev/null +++ b/plio/examples/SocetSet/ellipsoid.ell @@ -0,0 +1,2 @@ +SEMI_MAJOR_AXIS 3.39619000000000e+006 +ECCENTRICITY 1.08339143554195e-001 \ No newline at end of file diff --git a/plio/examples/SocetSet/socet_isd.lis b/plio/examples/SocetSet/socet_isd.lis new file mode 100644 index 0000000..608cc1c --- /dev/null +++ b/plio/examples/SocetSet/socet_isd.lis @@ -0,0 +1,940 @@ +RECTIFICATION_TERMS + 9.21600000000000e+03 0.00000000000000e+00 1.00000000000000e+00 + 2.50000000000000e+03 1.00000000000000e+00 0.00000000000000e+00 +GROUND_ZERO 3.24985706836655e-01 1.35170258031137e+00 0.00000000000000e+00 +LOAD_PT 3.24985706836655e-01 1.35170258031137e+00 0.00000000000000e+00 +COORD_SYSTEM 1 +IMAGE_MOTION 0 +SENSOR_TYPE USGSAstroLineScanner +SENSOR_MODE UNKNOWN +SEMI_MAJOR_AXIS 3.39619000000000e+006 +ECCENTRICITY 1.08339143554195e-001 +FOCAL 3.52927166400000e+02 +ATMCO 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 +IOCOEF_LINE 9.21600000000000e+03 1.40950377625976e+02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 +IOCOEF_SAMPLE 2.50000000000000e+03 0.00000000000000e+00 1.42857142857143e+02 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 +ABERR 0 +ATMREF 0 +PLATFORM 1 +SOURCE_FLAG 1 +SINGLE_EPHEMERIDE 0 +TRI_PARAMETERS +0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 0.00000000000000e+00 3.52927166400000e+02 0.00000000000000e+00 0.00000000000000e+00 +T_CENTER 0.0000000000000000000000000e+00 +DT_EPHEM 1.6396618009478672317591474e-01 +T0_EPHEM -1.8856110692024230957031250e+01 +NUMBER_OF_EPHEM 231 +EPHEM_PTS + 8.5243851370107755064964294e+05 3.4006626093691978603601456e+06 1.0886122571664815768599510e+06 + 8.5246579847096302546560764e+05 3.4004881943365833722054958e+06 1.0891470385381437372416258e+06 + 8.5249308324084850028157234e+05 3.4003137793039688840508461e+06 1.0896818199098058976233006e+06 + 8.5252036801073397509753704e+05 3.4001393642713543958961964e+06 1.0902166012814680580049753e+06 + 8.5254765278061944991350174e+05 3.3999649492387399077415466e+06 1.0907513826531302183866501e+06 + 8.5257493755050492472946644e+05 3.3997905342061254195868969e+06 1.0912861640247923787683249e+06 + 8.5260222232039039954543114e+05 3.3996161191735109314322472e+06 1.0918209453964545391499996e+06 + 8.5262950709027587436139584e+05 3.3994417041408964432775974e+06 1.0923557267681166995316744e+06 + 8.5265679186016134917736053e+05 3.3992672891082819551229477e+06 1.0928905081397788599133492e+06 + 8.5268407663004682399332523e+05 3.3990928740756674669682980e+06 1.0934252895114410202950239e+06 + 8.5271136139993229880928993e+05 3.3989184590430529788136482e+06 1.0939600708831031806766987e+06 + 8.5273864616981777362525463e+05 3.3987440440104384906589985e+06 1.0944948522547653410583735e+06 + 8.5276590712277148850262165e+05 3.3985695495615485124289989e+06 1.0950296079771930817514658e+06 + 8.5279314425639319233596325e+05 3.3983949757014387287199497e+06 1.0955643380379620939493179e+06 + 8.5282035756828065495938063e+05 3.3982203224351610988378525e+06 1.0960990424246429465711117e+06 + 8.5284754705603234469890594e+05 3.3980455897677666507661343e+06 1.0966337211248115636408329e+06 + 8.5287471271724672988057137e+05 3.3978707777043129317462444e+06 1.0971683741260427050292492e+06 + 8.5290185454952321015298367e+05 3.3976958862498472444713116e+06 1.0977030014159071724861860e+06 + 8.5292897255046060308814049e+05 3.3975209154094271361827850e+06 1.0982376029819811228662729e+06 + 8.5295606671765749342739582e+05 3.3973458651881017722189426e+06 1.0987721788118372205644846e+06 + 8.5298313704871572554111481e+05 3.3971707355909273028373718e+06 1.0993067288930502254515886e+06 + 8.5301018354123202152550220e+05 3.3969955266229547560214996e+06 1.0998412532131930347532034e+06 + 8.5303720619280834216624498e+05 3.3968202382892388850450516e+06 1.1003757517598392441868782e+06 + 8.5306420500104420352727175e+05 3.3966448705948316492140293e+06 1.1009102245205633807927370e+06 + 8.5309117996354063507169485e+05 3.3964694235447864048182964e+06 1.1014446714829378761351109e+06 + 8.5311813107789773494005203e+05 3.3962938971441579051315784e+06 1.1019790926345381885766983e+06 + 8.5314505834171606693416834e+05 3.3961182913979971781373024e+06 1.1025134879629372153431177e+06 + 8.5317196175259735900908709e+05 3.3959426063113594427704811e+06 1.1030478574557085521519184e+06 + 8.5319884130814287345856428e+05 3.3957668418892980553209782e+06 1.1035822011004250962287188e+06 + 8.5322569700595363974571228e+05 3.3955909981368649750947952e+06 1.1041165188846632372587919e+06 + 8.5325252884363150224089622e+05 3.3954150750591154210269451e+06 1.1046508107959947083145380e+06 + 8.5327933681877900380641222e+05 3.3952390726611018180847168e+06 1.1051850768219933379441500e+06 + 8.5330612092899729032069445e+05 3.3950629909478775225579739e+06 1.1057193169502338860183954e+06 + 8.5333288117188948672264814e+05 3.3948868299244982190430164e+06 1.1062535311682885512709618e+06 + 8.5335961754505732096731663e+05 3.3947105895960149355232716e+06 1.1067877194637327920645475e+06 + 8.5338633004610484931617975e+05 3.3945342699674842879176140e+06 1.1073218818241397384554148e+06 + 8.5341301867263449821621180e+05 3.3943578710439577698707581e+06 1.1078560182370829861611128e+06 + 8.5343968342224939260631800e+05 3.3941813928304901346564293e+06 1.1083901286901354324072599e+06 + 8.5346632429255265742540359e+05 3.3940048353321352042257786e+06 1.1089242131708725355565548e+06 + 8.5349294128114846535027027e+05 3.3938281985539472661912441e+06 1.1094582716668664943426847e+06 + 8.5351953438564040698111057e+05 3.3936514825009796768426895e+06 1.1099923041656925342977047e+06 + 8.5354610360363277141004801e+05 3.3934746871782862581312656e+06 1.1105263106549228541553020e+06 + 8.5357264893272996414452791e+05 3.3932978125909231603145599e+06 1.1110602911221329122781754e+06 + 8.5359917037053662352263927e+05 3.3931208587439423426985741e+06 1.1115942455548951402306557e+06 + 8.5362566791465727146714926e+05 3.3929438256423990242183208e+06 1.1121281739407840650528669e+06 + 8.5365214156269619707018137e+05 3.3927667132913456298410892e+06 1.1126620762673728168010712e+06 + 8.5367859131225943565368652e+05 3.3925895216958387754857540e+06 1.1131959525222354568541050e+06 + 8.5370501716095267329365015e+05 3.3924122508609327487647533e+06 1.1137298026929458137601614e+06 + 8.5373141910638089757412672e+05 3.3922349007916799746453762e+06 1.1142636267670781817287207e+06 + 8.5375779714615002740174532e+05 3.3920574714931366033852100e+06 1.1147974247322049923241138e+06 + 8.5378415127786656375974417e+05 3.3918799629703573882579803e+06 1.1153311965759007725864649e+06 + 8.5381048149913595989346504e+05 3.3917023752283933572471142e+06 1.1158649422857386525720358e+06 + 8.5383678780756529886275530e+05 3.3915247082723034545779228e+06 1.1163986618492940906435251e+06 + 8.5386307020076096523553133e+05 3.3913469621071410365402699e+06 1.1169323552541390527039766e+06 + 8.5388932867632980924099684e+05 3.3911691367379589937627316e+06 1.1174660224878480657935143e+06 + 8.5391556323187996167689562e+05 3.3909912321698148734867573e+06 1.1179996635379951912909746e+06 + 8.5394177386501722503453493e+05 3.3908132484077606350183487e+06 1.1185332783921535592526197e+06 + 8.5396796057335054501891136e+05 3.3906351854568524286150932e+06 1.1190668670378967653959990e+06 + 8.5399412335448642261326313e+05 3.3904570433221440762281418e+06 1.1196004294627988710999489e+06 + 8.5402026220603403635323048e+05 3.3902788220086931250989437e+06 1.1201339656544341705739498e+06 + 8.5404637712560105137526989e+05 3.3901005215215529315173626e+06 1.1206674756003755610436201e+06 + 8.5407246811079583130776882e+05 3.3899221418657773174345493e+06 1.1212009592881978023797274e+06 + 8.5409853515922743827104568e+05 3.3897436830464228987693787e+06 1.1217344167054735589772463e+06 + 8.5412457826851261779665947e+05 3.3895651450685025192797184e+06 1.1222678478398087900131941e+06 + 8.5415059743632096797227859e+05 3.3893865279369666241109371e+06 1.1228012526789130643010139e+06 + 8.5417659266033908352255821e+05 3.3892078316568541340529919e+06 1.1233346312104666139930487e+06 + 8.5420256393825553823262453e+05 3.3890290562332100234925747e+06 1.1238679834221496712416410e+06 + 8.5422851126775646116584539e+05 3.3888502016710792668163776e+06 1.1244013093016396742314100e+06 + 8.5425443464653065893799067e+05 3.3886712679755045101046562e+06 1.1249346088366170879453421e+06 + 8.5428033407226612325757742e+05 3.3884922551515335217118263e+06 1.1254678820147607475519180e+06 + 8.5430620954265049658715725e+05 3.3883131632042089477181435e+06 1.1260011288237485568970442e+06 + 8.5433206105537235271185637e+05 3.3881339921385762281715870e+06 1.1265343492512619122862816e+06 + 8.5435788860812049824744463e+05 3.3879547419596803374588490e+06 1.1270675432849773205816746e+06 + 8.5438369219858373980969191e+05 3.3877754126725667156279087e+06 1.1276007109125752467662096e+06 + 8.5440947182445030193775892e+05 3.3875960042822780087590218e+06 1.1281338521217345260083675e+06 + 8.5443522748341085389256477e+05 3.3874165167938619852066040e+06 1.1286669669001337606459856e+06 + 8.5446095917315443512052298e+05 3.3872369502123622223734856e+06 1.1292000552354527171701193e+06 + 8.5448666689137043431401253e+05 3.3870573045428236946463585e+06 1.1297331171153697650879622e+06 + 8.5451235063574824016541243e+05 3.3868775797902927733957767e+06 1.1302661525275653693825006e+06 + 8.5453801040397980250418186e+05 3.3866977759598130360245705e+06 1.1307991614597162697464228e+06 + 8.5456364619375404436141253e+05 3.3865178930564313195645809e+06 1.1313321438995033968240023e+06 + 8.5458925800276163499802351e+05 3.3863379310851907357573509e+06 1.1318650998346051201224327e+06 + 8.5461484582869370933622122e+05 3.3861578900511385872960091e+06 1.1323980292527007404714823e+06 + 8.5464040966924023814499378e+05 3.3859777699593193829059601e+06 1.1329309321414683945477009e+06 + 8.5466594952209421899169683e+05 3.3857975708147785626351833e+06 1.1334638084885894786566496e+06 + 8.5469146538494678679853678e+05 3.3856172926225615665316582e+06 1.1339966582817404996603727e+06 + 8.5471695725548814516514540e+05 3.3854369353877143003046513e+06 1.1345294815086012240499258e+06 + 8.5474242513141187373548746e+05 3.3852564991152812726795673e+06 1.1350622781568518839776516e+06 + 8.5476786901040852535516024e+05 3.3850759838103083893656731e+06 1.1355950482141696847975254e+06 + 8.5479328889017144683748484e+05 3.3848953894778424873948097e+06 1.1361277916682353243231773e+06 + 8.5481868476839282084256411e+05 3.3847147161229276098310947e+06 1.1366605085067271720618010e+06 + 8.5484405664276552852243185e+05 3.3845339637506105937063694e+06 1.1371931987173233646899462e+06 + 8.5486940451098256744444370e+05 3.3843531323659354820847511e+06 1.1377258622877048328518867e+06 + 8.5489472837073635309934616e+05 3.3841722219739500433206558e+06 1.1382584992055497132241726e+06 + 8.5492002821972081437706947e+05 3.3839912325796983204782009e+06 1.1387911094585366081446409e+06 + 8.5494530405563034582883120e+05 3.3838101641882285475730896e+06 1.1393236930343462154269218e+06 + 8.5497055587615817785263062e+05 3.3836290168045833706855774e+06 1.1398562499206545762717724e+06 + 8.5499578367899765726178885e+05 3.3834477904338128864765167e+06 1.1403887801051435526460409e+06 + 8.5502098746184376068413258e+05 3.3832664850809588097035885e+06 1.1409212835754919797182083e+06 + 8.5504616722239123191684484e+05 3.3830851007510693743824959e+06 1.1414537603193763643503189e+06 + 8.5507132295833330135792494e+05 3.3829036374491904862225056e+06 1.1419862103244785685092211e+06 + 8.5509645466736645903438330e+05 3.3827220951803685165941715e+06 1.1425186335784771945327520e+06 + 8.5512156234718556515872478e+05 3.3825404739496493712067604e+06 1.1430510300690492149442434e+06 + 8.5514664599548513069748878e+05 3.3823587737620784901082516e+06 1.1435833997838762588799000e+06 + 8.5517170560996118001639843e+05 3.3821769946227022446691990e+06 1.1441157427106369286775589e+06 + 8.5519674118830997031182051e+05 3.3819951365365688689053059e+06 1.1446480588370088953524828e+06 + 8.5522175272822636179625988e+05 3.3818131995087224058806896e+06 1.1451803481506721582263708e+06 + 8.5524674022740765940397978e+05 3.3816311835442096926271915e+06 1.1457126106393057852983475e+06 + 8.5527170368355012033134699e+05 3.3814490886480784974992275e+06 1.1462448462905876804143190e+06 + 8.5529664309434930328279734e+05 3.3812669148253737948834896e+06 1.1467770550921997055411339e+06 + 8.5532155845750356093049049e+05 3.3810846620811428874731064e+06 1.1473092370318179018795490e+06 + 8.5534644977070903405547142e+05 3.3809023304204330779612064e+06 1.1478413920971229672431946e+06 + 8.5537131703166279476135969e+05 3.3807199198482884094119072e+06 1.1483735202757932711392641e+06 + 8.5539616023806342855095863e+05 3.3805374303697580471634865e+06 1.1489056215555085800588131e+06 + 8.5542097938760765828192234e+05 3.3803548619898864999413490e+06 1.1494376959239465650171041e+06 + 8.5544577447799290530383587e+05 3.3801722147137229330837727e+06 1.1499697433687883894890547e+06 + 8.5547054550726898014545441e+05 3.3799894885461935773491859e+06 1.1505017638776311650872231e+06 + 8.5549529247341456357389688e+05 3.3798066834924048744142056e+06 1.1510337574380415026098490e+06 + 8.5552001537401438690721989e+05 3.3796237995576718822121620e+06 1.1515657240376526024192572e+06 + 8.5554471420665283221751451e+05 3.3794408367473124526441097e+06 1.1520976636640953365713358e+06 + 8.5556938896891579497605562e+05 3.3792577950666425749659538e+06 1.1526295763050029054284096e+06 + 8.5559403965838847216218710e+05 3.3790746745209796354174614e+06 1.1531614619480073451995850e+06 + 8.5561866627265652641654015e+05 3.3788914751156410202383995e+06 1.1536933205807411577552557e+06 + 8.5564326880930515471845865e+05 3.3787081968559413217008114e+06 1.1542251521908373106271029e+06 + 8.5566784726592001970857382e+05 3.3785248397471997886896133e+06 1.1547569567659273743629456e+06 + 8.5569240164008794818073511e+05 3.3783414037947319447994232e+06 1.1552887342936429195106030e+06 + 8.5571693192939530126750469e+05 3.3781578890038556419312954e+06 1.1558204847616183105856180e+06 + 8.5574143813142855651676655e+05 3.3779742953798887319862843e+06 1.1563522081574841868132353e+06 + 8.5576592024377407506108284e+05 3.3777906229281472042202950e+06 1.1568839044688744470477104e+06 + 8.5579037826401938218623400e+05 3.3776068716539470478892326e+06 1.1574155736834192648530006e+06 + 8.5581481218975188676267862e+05 3.3774230415626084432005882e+06 1.1579472157887530047446489e+06 + 8.5583922201855888124555349e+05 3.3772391326594469137489796e+06 1.1584788307725074701011181e+06 + 8.5586360774802835658192635e+05 3.3770551449497798457741737e+06 1.1590104186223142314702272e+06 + 8.5588796937574853654950857e+05 3.3768710784389250911772251e+06 1.1595419793258064892143011e+06 + 8.5591230689930717926472425e+05 3.3766869331321995705366135e+06 1.1600735128706160467118025e+06 + 8.5593662031629285775125027e+05 3.3765027090349206700921059e+06 1.1606050192443758714944124e+06 + 8.5596090962429461069405079e+05 3.3763184061524071730673313e+06 1.1611364984347182326018810e+06 + 8.5598517482090077828615904e+05 3.3761340244899746030569077e+06 1.1616679504292751662433147e+06 + 8.5600941590370074845850468e+05 3.3759495640529422089457512e+06 1.1621993752156782429665327e+06 + 8.5603363287028414197266102e+05 3.3757650248466269113123417e+06 1.1627307727815608959645033e+06 + 8.5605782571823999751359224e+05 3.3755804068763474933803082e+06 1.1632621431145563255995512e+06 + 8.5608199444515921641141176e+05 3.3753957101474199444055557e+06 1.1637934862022942397743464e+06 + 8.5610613904913549777120352e+05 3.3752109346643211320042610e+06 1.1643248020328027196228504e+06 + 8.5613025952970853541046381e+05 3.3750260804291758686304092e+06 1.1648560905952053144574165e+06 + 8.5615435588468040805310011e+05 3.3748411474470659159123898e+06 1.1653873518772311508655548e+06 + 8.5617842811166204046458006e+05 3.3746561357233929447829723e+06 1.1659185858664640691131353e+06 + 8.5620247620826668571680784e+05 3.3744710452635586261749268e+06 1.1664497925504848826676607e+06 + 8.5622650017210619989782572e+05 3.3742858760729650966823101e+06 1.1669809719168748706579208e+06 + 8.5625050000079302117228508e+05 3.3741006281570158898830414e+06 1.1675121239532181061804295e+06 + 8.5627447569194075185805559e+05 3.3739153015211112797260284e+06 1.1680432486470937728881836e+06 + 8.5629842724316183011978865e+05 3.3737298961706552654504776e+06 1.1685743459860845468938351e+06 + 8.5632235465206881053745747e+05 3.3735444121110476553440094e+06 1.1691054159577731043100357e+06 + 8.5634625791627704165875912e+05 3.3733588493476929143071175e+06 1.1696364585497407242655754e+06 + 8.5637013703339896164834499e+05 3.3731732078859931789338589e+06 1.1701674737495686858892441e+06 + 8.5639399200104828923940659e+05 3.3729874877313496544957161e+06 1.1706984615448403637856245e+06 + 8.5641782281684048939496279e+05 3.3728016888891658745706081e+06 1.1712294219231354072690010e+06 + 8.5644162947838916443288326e+05 3.3726158113648444414138794e+06 1.1717603548720369581133127e+06 + 8.5646541198330908082425594e+05 3.3724298551637879572808743e+06 1.1722912603791260626167059e+06 + 8.5648917032921442296355963e+05 3.3722438202913971617817879e+06 1.1728221384319865610450506e+06 + 8.5651290451372251845896244e+05 3.3720577067530774511396885e+06 1.1733529890181971713900566e+06 + 8.5653661453444696962833405e+05 3.3718715145542300306260586e+06 1.1738838121253408025950193e+06 + 8.5656030038900463841855526e+05 3.3716852437002579681575298e+06 1.1744146077410005964338779e+06 + 8.5658396207500935997813940e+05 3.3714988941965634003281593e+06 1.1749453758527562022209167e+06 + 8.5660759959007927682250738e+05 3.3713124660485503263771534e+06 1.1754761164481921587139368e+06 + 8.5663121293182973749935627e+05 3.3711259592616213485598564e+06 1.1760068295148871839046478e+06 + 8.5665480209787713829427958e+05 3.3709393738411781378090382e+06 1.1765375150404262822121382e+06 + 8.5667836708583903964608908e+05 3.3707527097926260903477669e+06 1.1770681730123884044587612e+06 + 8.5670190789333195425570011e+05 3.3705659671213654801249504e+06 1.1775988034183569252490997e+06 + 8.5672542451788415201008320e+05 3.3703791458329842425882816e+06 1.1781294062457950785756111e+06 + 8.5674891695517813786864281e+05 3.3701922459368733689188957e+06 1.1786599814797239378094673e+06 + 8.5677238520236930344253778e+05 3.3700052674394692294299603e+06 1.1791905291070945095270872e+06 + 8.5679582925750513095408678e+05 3.3698182103453818708658218e+06 1.1797210491160354577004910e+06 + 8.5681924911863659508526325e+05 3.3696310746592213399708271e+06 1.1802515414946787059307098e+06 + 8.5684264478381152730435133e+05 3.3694438603855986148118973e+06 1.1807820062311540823429823e+06 + 8.5686601625107973814010620e+05 3.3692565675291232764720917e+06 1.1813124433135942090302706e+06 + 8.5688936351849138736724854e+05 3.3690691960944072343409061e+06 1.1818428527301282156258821e+06 + 8.5691268658409581985324621e+05 3.3688817460860605351626873e+06 1.1823732344688870944082737e+06 + 8.5693598544594354461878538e+05 3.3686942175086918286979198e+06 1.1829035885180006735026836e+06 + 8.5695926010208402294665575e+05 3.3685066103669139556586742e+06 1.1834339148656013421714306e+06 + 8.5698251055056846234947443e+05 3.3683189246653364971280098e+06 1.1839642134998175315558910e+06 + 8.5700573678944725543260574e+05 3.3681311604085708968341351e+06 1.1844944844087811652570963e+06 + 8.5702893881677149329334497e+05 3.3679433176012258045375347e+06 1.1850247275806239340454340e+06 + 8.5705211663059203419834375e+05 3.3677553962479140609502792e+06 1.1855549430034742690622807e+06 + 8.5707527022895961999893188e+05 3.3675673963532443158328533e+06 1.1860851306654645595699549e+06 + 8.5709839960992685519158840e+05 3.3673793179218294098973274e+06 1.1866152905547237023711205e+06 + 8.5712150477154413238167763e+05 3.3671911609582793898880482e+06 1.1871454226593850180506706e+06 + 8.5714458571186405606567860e+05 3.3670029254672043025493622e+06 1.1876755269675764720886946e+06 + 8.5716764242893853224813938e+05 3.3668146114532155916094780e+06 1.1882056034674295224249363e+06 + 8.5719067492081969976425171e+05 3.3666262189209233038127422e+06 1.1887356521470744628459215e+06 + 8.5721368318555969744920731e+05 3.3664377478749384172260761e+06 1.1892656729946439154446125e+06 + 8.5723666722121182829141617e+05 3.3662491983198733069002628e+06 1.1897956659982670098543167e+06 + 8.5725962702582776546478271e+05 3.3660605702603370882570744e+06 1.1903256311460740398615599e+06 + 8.5728256259746197611093521e+05 3.3658718637009412050247192e+06 1.1908555684261969290673733e+06 + 8.5730547393416613340377808e+05 3.3656830786462971009314060e+06 1.1913854778267641086131334e+06 + 8.5732836103399517014622688e+05 3.3654942151010152883827686e+06 1.1919153593359084334224463e+06 + 8.5735122389374591875821352e+05 3.3653052730722366832196712e+06 1.1924452129401285201311111e+06 + 8.5737406250920495949685574e+05 3.3651162525691883638501167e+06 1.1929750386246186681091785e+06 + 8.5739687687800661660730839e+05 3.3649271535974028520286083e+06 1.1935048363769752904772758e+06 + 8.5741966699781152419745922e+05 3.3647379761623614467680454e+06 1.1940346061848353128880262e+06 + 8.5744243286628299392759800e+05 3.3645487202695435844361782e+06 1.1945643480358321685343981e+06 + 8.5746517448108270764350891e+05 3.3643593859244282357394695e+06 1.1950940619176011532545090e+06 + 8.5748789183987199794501066e+05 3.3641699731324953027069569e+06 1.1956237478177745360881090e+06 + 8.5751058494031510781496763e+05 3.3639804818992260843515396e+06 1.1961534057239897083491087e+06 + 8.5753325378007336985319853e+05 3.3637909122301000170409679e+06 1.1966830356238789390772581e+06 + 8.5755589835681149270385504e+05 3.3636012641305960714817047e+06 1.1972126375050793867558241e+06 + 8.5757851866819174028933048e+05 3.3634115376061946153640747e+06 1.1977422113552223891019821e+06 + 8.5760111471187695860862732e+05 3.3632217326623769477009773e+06 1.1982717571619448717683554e+06 + 8.5762368648553243838250637e+05 3.3630318493046211078763008e+06 1.1988012749128798022866249e+06 + 8.5764623398682125844061375e+05 3.3628418875384088605642319e+06 1.1993307645956613123416901e+06 + 8.5766875721340812742710114e+05 3.3626518473692191764712334e+06 1.1998602261979263275861740e+06 + 8.5769125616295752115547657e+05 3.3624617288025338202714920e+06 1.2003896597073073498904705e+06 + 8.5771373083313391543924809e+05 3.3622715318438331596553326e+06 1.2009190651114394422620535e+06 + 8.5773618122160236816853285e+05 3.3620812564985952340066433e+06 1.2014484423979569692164660e+06 + 8.5775860732602805364876986e+05 3.3618909027723022736608982e+06 1.2019777915544942952692509e+06 + 8.5778100914407696109265089e+05 3.3617004706704355776309967e+06 1.2025071125686867162585258e+06 + 8.5780338667341391555964947e+05 3.3615099601984731853008270e+06 1.2030364054281681310385466e+06 + 8.5782573991170537192374468e+05 3.3613193713618968613445759e+06 1.2035656701205724384635687e+06 + 8.5784806885661720298230648e+05 3.3611287041661879047751427e+06 1.2040949066335351672023535e+06 + 8.5787037350581609643995762e+05 3.3609379586168262176215649e+06 1.2046241149546911474317312e+06 + 8.5789265385696839075535536e+05 3.3607471347192912362515926e+06 1.2051532950716733466833830e+06 + 8.5791490990774123929440975e+05 3.3605562324790661223232746e+06 1.2056824469721172936260700e+06 + 8.5793716595851408783346415e+05 3.3603653302388410083949566e+06 1.2062115988725612405687571e+06 + 8.5795942200928693637251854e+05 3.3601744279986158944666386e+06 1.2067407507730051875114441e+06 + 8.5798167806005978491157293e+05 3.3599835257583907805383205e+06 1.2072699026734491344541311e+06 + 8.5800393411083263345062733e+05 3.3597926235181656666100025e+06 1.2077990545738930813968182e+06 + 8.5802619016160548198968172e+05 3.3596017212779405526816845e+06 1.2083282064743370283395052e+06 + 8.5804844621237833052873611e+05 3.3594108190377154387533665e+06 1.2088573583747809752821922e+06 + 8.5807070226315117906779051e+05 3.3592199167974903248250484e+06 1.2093865102752249222248793e+06 + 8.5809295831392402760684490e+05 3.3590290145572652108967304e+06 1.2099156621756688691675663e+06 + 8.5811521436469687614589930e+05 3.3588381123170400969684124e+06 1.2104448140761128161102533e+06 + 8.5813747041546972468495369e+05 3.3586472100768149830400944e+06 1.2109739659765567630529404e+06 + + +EPHEM_RATES + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6640486391585048409069714e+02 -1.0637256568010616319952533e+03 3.2615346125219857640331611e+03 + 1.6633223634184048478346085e+02 -1.0639678295327923933655256e+03 3.2614563975071432651020586e+03 + 1.6618697387447238611457578e+02 -1.0644521595794024051429005e+03 3.2612999295906538463896140e+03 + 1.6604169676237307839983259e+02 -1.0649364588036689838190796e+03 3.2611433858849386524525471e+03 + 1.6589640500163756087204092e+02 -1.0654207272197916154254926e+03 3.2609867663907070891582407e+03 + 1.6575109859439584170104354e+02 -1.0659049648107304619770730e+03 3.2608300711207384665613063e+03 + 1.6560577754348793177996413e+02 -1.0663891715878457944199909e+03 3.2606733000594140321481973e+03 + 1.6546044184997876413945050e+02 -1.0668733475511373853805708e+03 3.2605164532109929496073164e+03 + 1.6531509151138340030229301e+02 -1.0673574926949252130725654e+03 3.2603595305811554680985864e+03 + 1.6516972653693176198430592e+02 -1.0678416070234695780527545e+03 3.2602025321656415144389030e+03 + 1.6502434692094388424266072e+02 -1.0683256905310900037875399e+03 3.2600454579651614039903507e+03 + 1.6487895266377478264985257e+02 -1.0688097432220470182073768e+03 3.2598883079761644694372080e+03 + 1.6473354377394440462012426e+02 -1.0692937650935000419849530e+03 3.2597310822036215540720150e+03 + 1.6458812024861276768206153e+02 -1.0697777561497096030507237e+03 3.2595737806439819905790500e+03 + 1.6444268208955483601130254e+02 -1.0702617163821553276648046e+03 3.2594164033000861309119500e+03 + 1.6429722929535063258299488e+02 -1.0707456457979376409639372e+03 3.2592589501733536963001825e+03 + 1.6415176187097014803839556e+02 -1.0712295443956359122239519e+03 3.2591014212581048923311755e+03 + 1.6400627981854333370392851e+02 -1.0717134121681508531764848e+03 3.2589438165543397190049291e+03 + 1.6386078313594023825316981e+02 -1.0721972491254218766698614e+03 3.2587861360705778679403011e+03 + 1.6371527182493582586175762e+02 -1.0726810552617694156651851e+03 3.2586283798032700360636227e+03 + 1.6356974589014510002016323e+02 -1.0731648305757730668119621e+03 3.2584705477446054828760680e+03 + 1.6342420532943802413683443e+02 -1.0736485750731133066437906e+03 3.2583126399038146701059304e+03 + 1.6327865014458964765253768e+02 -1.0741322887438498128176434e+03 3.2581546562759276639553718e+03 + 1.6313308033737490632120171e+02 -1.0746159715950825557229109e+03 3.2579965968630740462685935e+03 + 1.6298749591063381103595020e+02 -1.0750996236239716381533071e+03 3.2578384616680937142518815e+03 + 1.6284189686649634154491650e+02 -1.0755832448290971115056891e+03 3.2576802506853073282400146e+03 + 1.6269628320212251537668635e+02 -1.0760668352161389975663042e+03 3.2575219639140045728709083e+03 + 1.6255065491964234070110251e+02 -1.0765503947779970985720865e+03 3.2573636013598652425571345e+03 + 1.6240501202225075871865556e+02 -1.0770339235160915904998546e+03 3.2572051630207593007071409e+03 + 1.6225935451136780329761677e+02 -1.0775174214318424219527515e+03 3.2570466488959773414535448e+03 + 1.6211368238734843316706247e+02 -1.0780008885266697689075954e+03 3.2568880589855184553016443e+03 + 1.6196799565267767206933058e+02 -1.0784843247920532576245023e+03 3.2567293932900934123608749e+03 + 1.6182229430842050987848779e+02 -1.0789677302336731372633949e+03 3.2565706518104120732459705e+03 + 1.6167657835493190532361041e+02 -1.0794511048543695324042346e+03 3.2564118345436345407506451e+03 + 1.6153084779114689695234119e+02 -1.0799344486527220396965276e+03 3.2562529414918903967191000e+03 + 1.6138510262168045983344200e+02 -1.0804177616244710407045204e+03 3.2560939726537594651745167e+03 + 1.6123934285079255346317950e+02 -1.0809010437639362862682901e+03 3.2559349280313726922031492e+03 + 1.6109356847528817979764426e+02 -1.0813842950838979959371500e+03 3.2557758076254390289250296e+03 + 1.6094777949587739840353606e+02 -1.0818675155786761479248526e+03 3.2556166114316993116517551e+03 + 1.6080197591717512750619790e+02 -1.0823507052411705444683321e+03 3.2554573394508629462507088e+03 + 1.6065615773776139008077735e+02 -1.0828338640870013023231877e+03 3.2552979916850604240607936e+03 + 1.6051032495941117872462200e+02 -1.0833169921033884293137817e+03 3.2551385681371311875409447e+03 + 1.6036447758496444748743670e+02 -1.0838000892832319550507236e+03 3.2549790688035254788701423e+03 + 1.6021861561371125048935937e+02 -1.0842831556449918934958987e+03 3.2548194936814038555894513e+03 + 1.6007273905097653710072336e+02 -1.0847661911758882524736691e+03 3.2546598427771555179788265e+03 + 1.5992684789356533769932867e+02 -1.0852491958787609291903209e+03 3.2545001160865203928551637e+03 + 1.5978094214396261918409436e+02 -1.0857321697578697694552829e+03 3.2543403136080792137363460e+03 + 1.5963502180429836130315380e+02 -1.0862151128075352062296588e+03 3.2541804353446718778286595e+03 + 1.5948908687528256677978789e+02 -1.0866980250234969389566686e+03 3.2540204812984279669763055e+03 + 1.5934313736046522080869181e+02 -1.0871809064071751436131308e+03 3.2538604514657972686109133e+03 + 1.5919717325736135649094649e+02 -1.0876637569699296363978647e+03 3.2537003458482004134566523e+03 + 1.5905119457023093332281860e+02 -1.0881465767018205497151939e+03 3.2535401644449275408987887e+03 + 1.5890520132463379354703648e+02 -1.0886293657278072259941837e+03 3.2533799073511172537109815e+03 + 1.5875919370516888307065528e+02 -1.0891121243716477238194784e+03 3.2532195749842476288904436e+03 + 1.5861317192483500093658222e+02 -1.0895948525538221929309657e+03 3.2530591675708074035355821e+03 + 1.5846713604149678644716914e+02 -1.0900775499860728814383037e+03 3.2528986850213373145379592e+03 + 1.5832108605373429099927307e+02 -1.0905602166499395480059320e+03 3.2527381273273167607840151e+03 + 1.5817502196225746047275607e+02 -1.0910428525525221630232409e+03 3.2525774944894560576358344e+03 + 1.5802894377274631665386551e+02 -1.0915254576853008074976970e+03 3.2524167865120157330238726e+03 + 1.5788285148165081750448735e+02 -1.0920080320482757088029757e+03 3.2522560033871850464493036e+03 + 1.5773674509074601246538805e+02 -1.0924905756485463825811166e+03 3.2520951451227742836636025e+03 + 1.5759062460358185830955335e+02 -1.0929730884790130858164048e+03 3.2519342117145233714836650e+03 + 1.5744449002086832933855476e+02 -1.0934555705396760458825156e+03 3.2517732031595924127032049e+03 + 1.5729834134083046137675410e+02 -1.0939380218376347784214886e+03 3.2516121194650813777116127e+03 + 1.5715217856914821936697990e+02 -1.0944204423657895404176088e+03 3.2514509606253104720963165e+03 + 1.5700600170830659862986067e+02 -1.0949028321213004346645903e+03 3.2512897266431191383162513e+03 + 1.5685981075440059839820606e+02 -1.0953851911126873801549664e+03 3.2511284175177979705040343e+03 + 1.5671360570849520854608272e+02 -1.0958675193314304578962037e+03 3.2509670332514765505038667e+03 + 1.5656738657840040218616195e+02 -1.0963498167817895136977313e+03 3.2508055738391849445179105e+03 + 1.5642115336269620229359134e+02 -1.0968320834623443715827307e+03 3.2506440392823437832703348e+03 + 1.5627490605747757967947109e+02 -1.0973143193745156622753711e+03 3.2504824295859220910642762e+03 + 1.5612864466948954600411525e+02 -1.0977965245168827550514834e+03 3.2503207447449503888492472e+03 + 1.5598236919660209309768106e+02 -1.0982786988851858041016385e+03 3.2501589847587183612631634e+03 + 1.5583607964449521432470647e+02 -1.0987608424851050585857593e+03 3.2499971496336165728280321e+03 + 1.5568977601671883803646779e+02 -1.0992429553138003939238843e+03 3.2498352393646746349986643e+03 + 1.5554345830475304524043167e+02 -1.0997250373698516341391951e+03 3.2496732539469226139772218e+03 + 1.5539712651605279347677424e+02 -1.1002070886560991311853286e+03 3.2495111933917205533361994e+03 + 1.5525078065168307261956215e+02 -1.1006891091725424303149339e+03 3.2493490576912581673241220e+03 + 1.5510442071093387994551449e+02 -1.1011710989120820158859715e+03 3.2491868468469560866651591e+03 + 1.5495804669877517767417885e+02 -1.1016530578803974549373379e+03 3.2490245608623636144329794e+03 + 1.5481165861378701720241224e+02 -1.1021349860774892022163840e+03 3.2488621997296709196234588e+03 + 1.5466525645845433700742433e+02 -1.1026168835033568029757589e+03 3.2486997634566882879880723e+03 + 1.5451884023135718848607212e+02 -1.1030987501551605873828521e+03 3.2485372520434157195268199e+03 + 1.5437240993533552568806044e+02 -1.1035805860329003280639881e+03 3.2483746654827527891029604e+03 + 1.5422596557642430070700357e+02 -1.1040623911351560764160240e+03 3.2482120037825102372153196e+03 + 1.5407950715249356221647759e+02 -1.1045441654661881329957396e+03 3.2480492669348773233650718e+03 + 1.5393303466034831217257306e+02 -1.1050259090203160212695366e+03 3.2478864549434042601205874e+03 + 1.5378654810531349994562333e+02 -1.1055076218003800931910519e+03 3.2477235678166111938480753e+03 + 1.5364004749164914187531394e+02 -1.1059893038120601431728574e+03 3.2475606055381676924298517e+03 + 1.5349353281403023174789269e+02 -1.1064709550425764064129908e+03 3.2473975681173046723415609e+03 + 1.5334700407778177577711176e+02 -1.1069525754976086773240240e+03 3.2472344555604113338631578e+03 + 1.5320046128787370776080934e+02 -1.1074341651771569559059571e+03 3.2470712678525778756011277e+03 + 1.5305390443827107560537115e+02 -1.1079157240840613667387515e+03 3.2469080050030343045364134e+03 + 1.5290733353252386450549238e+02 -1.1083972522169017338455888e+03 3.2467446670167505544668529e+03 + 1.5276074857595705225321581e+02 -1.1088787495671583656076109e+03 3.2465812538816567212052178e+03 + 1.5261414956502062523213681e+02 -1.1093602161419310050405329e+03 3.2464177656020128779346123e+03 + 1.5246753650290960990787426e+02 -1.1098416519454797253274592e+03 3.2462542021820790978381410e+03 + 1.5232090939388396577669482e+02 -1.1103230569664444828958949e+03 3.2460905636154652711411472e+03 + 1.5217426823261868662484630e+02 -1.1108044312105055269057630e+03 3.2459268499106910894624889e+03 + 1.5202761302550379696185701e+02 -1.1112857746790823512128554e+03 3.2457630610620767583895940e+03 + 1.5188094377431426096336509e+02 -1.1117670873650754401751328e+03 3.2455991970660725201014429e+03 + 1.5173426047514507786218019e+02 -1.1122483692784246613882715e+03 3.2454352579297783449874260e+03 + 1.5158756313545123362018785e+02 -1.1127296204134499930660240e+03 3.2452712436503538810939062e+03 + 1.5144085175416770994161197e+02 -1.1132108407687312592315720e+03 3.2451071542256695465766825e+03 + 1.5129412632774455005346681e+02 -1.1136920303442686872585909e+03 3.2449429896599849598715082e+03 + 1.5114738793289058094160282e+02 -1.1141731895007401362818200e+03 3.2447787497076415093033575e+03 + 1.5100063742728090687705844e+02 -1.1146543180634866985201370e+03 3.2446144340193213793099858e+03 + 1.5085387339269863105073455e+02 -1.1151354148468149105610792e+03 3.2444500427050743383006193e+03 + 1.5070709462676566658956290e+02 -1.1156164792060487798153190e+03 3.2442855759608582957298495e+03 + 1.5056030113303191342311038e+02 -1.1160975111383481817028951e+03 3.2441210337866741610923782e+03 + 1.5041349291398245213713381e+02 -1.1165785106451330648269504e+03 3.2439564161860716922092251e+03 + 1.5026666996890722316493338e+02 -1.1170594777221433560043806e+03 3.2437917231569203977414872e+03 + 1.5011983229780622650650912e+02 -1.1175404123778992016013945e+03 3.2436269547020606296428014e+03 + 1.4997297990067951900527987e+02 -1.1180213146067208072054200e+03 3.2434621108186524907068815e+03 + 1.4982611278249700603737438e+02 -1.1185021844057675934891449e+03 3.2432971915024363624979742e+03 + 1.4967923094538872419434483e+02 -1.1189830217793000883830246e+03 3.2431321967619314818875864e+03 + 1.4953233438828962675870571e+02 -1.1194638267202180941239931e+03 3.2429671265942979516694322e+03 + 1.4938542311119977057387587e+02 -1.1199445992342016324982978e+03 3.2428019809981160506140441e+03 + 1.4923849711731409684034588e+02 -1.1204253393269307252921863e+03 3.2426367599719656027446035e+03 + 1.4909155640982763202373462e+02 -1.1209060469856253803300206e+03 3.2424714635172667840379290e+03 + 1.4894460098803031655734230e+02 -1.1213867222117055462149438e+03 3.2423060916389895282918587e+03 + 1.4879763085369719988193538e+02 -1.1218673650136911419394892e+03 3.2421406443286136891401839e+03 + 1.4865064600966823604721867e+02 -1.1223479753844824244879419e+03 3.2419751215903997945133597e+03 + 1.4850364645523342232991126e+02 -1.1228285533254991150897695e+03 3.2418095234250572502787691e+03 + 1.4835663219145777702578926e+02 -1.1233090988381613897217903e+03 3.2416438498318757410743274e+03 + 1.4820960322224627248033357e+02 -1.1237896119167892265977571e+03 3.2414781008122763523715548e+03 + 1.4806255954688890597026329e+02 -1.1242700925670626475039171e+03 3.2413122763634182774694636e+03 + 1.4791550116645063894793566e+02 -1.1247505407875614764634520e+03 3.2411463764831719345238525e+03 + 1.4776842808483650060225045e+02 -1.1252309565740258676669328e+03 3.2409804011757969419704750e+03 + 1.4762134030098147263743158e+02 -1.1257113399278759970911779e+03 3.2408143504462636883545201e+03 + 1.4747423781879055582066940e+02 -1.1261916908519515345687978e+03 3.2406482242832116753561422e+03 + 1.4732712217717991620702378e+02 -1.1266720119135979985003360e+03 3.2404820238907946077233646e+03 + 1.4717999931881556108237419e+02 -1.1271523128440194341237657e+03 3.2403157538243463022809010e+03 + 1.4703286835442759183933958e+02 -1.1276325917986468994058669e+03 3.2401494131722315614752006e+03 + 1.4688572340240963853830181e+02 -1.1281128387849969385570148e+03 3.2399829972392476520326454e+03 + 1.4673856388695500641006220e+02 -1.1285930528275357573875226e+03 3.2398165055731269603711553e+03 + 1.4659138981090367792603502e+02 -1.1290732339248429525468964e+03 3.2396499381660596554866061e+03 + 1.4644420117177068618730118e+02 -1.1295533820712385022488888e+03 3.2394832950279851502273232e+03 + 1.4629699797488095214248460e+02 -1.1300334972724028830270981e+03 3.2393165761525146990607027e+03 + 1.4614978022023453263500414e+02 -1.1305135795269154641573550e+03 3.2391497815353873193089385e+03 + 1.4600254790463640119924094e+02 -1.1309936288361966489901533e+03 3.2389829111872531939297915e+03 + 1.4585530103696154924364237e+02 -1.1314736451988262615486747e+03 3.2388159651038522497401573e+03 + 1.4570803961685493277400383e+02 -1.1319536286077045588172041e+03 3.2386489432809244135569315e+03 + 1.4556076363934661799248715e+02 -1.1324335790727711810177425e+03 3.2384818457248602499021217e+03 + 1.4541347311366652661490662e+02 -1.1329134965897665097145364e+03 3.2383146724306893702305388e+03 + 1.4526616803945967149047647e+02 -1.1333933811544300169771304e+03 3.2381474233977019139274489e+03 + 1.4511884841459607287106337e+02 -1.1338732327696022821328370e+03 3.2379800986301574994286057e+03 + 1.4497151424085069493230549e+02 -1.1343530514409630995942280e+03 3.2378126981301866180729121e+03 + 1.4482416552603353920858353e+02 -1.1348328371599923229950946e+03 3.2376452218906888447236270e+03 + 1.4467680226836955625913106e+02 -1.1353125899252700037322938e+03 3.2374776699088242821744643e+03 + 1.4452942446643879748080508e+02 -1.1357923097438963395688916e+03 3.2373100421980830105894711e+03 + 1.4438203212095126559688651e+02 -1.1362719966130312059249263e+03 3.2371423387485256171203218e+03 + 1.4423462523581187610943743e+02 -1.1367516505298344782204367e+03 3.2369745595644108107080683e+03 + 1.4408720381563568935234798e+02 -1.1372312714928862078522798e+03 3.2368067046428996036411263e+03 + 1.4393976785509767069015652e+02 -1.1377108595092865925835213e+03 3.2366387739854117171489634e+03 + 1.4379231736094280336146767e+02 -1.1381904145705154860479524e+03 3.2364707675926574665936641e+03 + 1.4364485233352607451706717e+02 -1.1386699366808329614286777e+03 3.2363026854596660086826887e+03 + 1.4349737250056406878684356e+02 -1.1391494252836021132679889e+03 3.2361345272335702247801237e+03 + 1.4334987196447548285505036e+02 -1.1396288682094923387921881e+03 3.2359662851008642974193208e+03 + 1.4320234958820188353456615e+02 -1.1401082628712790665304055e+03 3.2357979574995574694185052e+03 + 1.4305481258352696727342845e+02 -1.1405876238480182109924499e+03 3.2356295539059651673596818e+03 + 1.4290726368145010383159388e+02 -1.1410669567089184965880122e+03 3.2354610779211875524197239e+03 + 1.4275970288303631150483852e+02 -1.1415462614511395713634556e+03 3.2352925295487734729249496e+03 + 1.4261213018473560509846720e+02 -1.1420255380761013839219231e+03 3.2351239087908538749616127e+03 + 1.4246454559364792658016086e+02 -1.1425047865809640370571287e+03 3.2349552156452987219381612e+03 + 1.4231694910835332734677650e+02 -1.1429840069643078095396049e+03 3.2347864501071371705620550e+03 + 1.4216934072991674042896193e+02 -1.1434631992360723415913526e+03 3.2346176121785001669195481e+03 + 1.4202172045869320982092177e+02 -1.1439423633877377142198384e+03 3.2344487018636468746990431e+03 + 1.4187408829681271527078934e+02 -1.1444214994164640302187763e+03 3.2342797191583181302121375e+03 + 1.4172644424711521082826948e+02 -1.1449006073265111353975954e+03 3.2341106640610933027346618e+03 + 1.4157878830924573776428588e+02 -1.1453796871207191543362569e+03 3.2339415365819131693569943e+03 + 1.4143112048462427310369094e+02 -1.1458587387948280138516566e+03 3.2337723367101266376266722e+03 + 1.4128344077218582697241800e+02 -1.1463377623488377139437944e+03 3.2336030644478641988825984e+03 + 1.4113574917725534874080040e+02 -1.1468167577827484819863457e+03 3.2334337197965464838489424e+03 + 1.4098804569876784853477147e+02 -1.1472957250923000174225308e+03 3.2332643027590124802372884e+03 + 1.4084033033672335477604065e+02 -1.1477746642860124666185584e+03 3.2330948133324227455887012e+03 + 1.4069260309573684253336978e+02 -1.1482535753596257563913241e+03 3.2329252515110970307432581e+03 + 1.4054486397438827793848759e+02 -1.1487324583131398867408279e+03 3.2327556173021353060903493e+03 + 1.4039711297338766371467500e+02 -1.1492113131479748062702129e+03 3.2325859107090882389456965e+03 + 1.4024935009628501347833662e+02 -1.1496901398570307719637640e+03 3.2324161317284051619935781e+03 + 1.4010157534166032178291061e+02 -1.1501689384459878056077287e+03 3.2322462803529861048446037e+03 + 1.3995378871306357382309216e+02 -1.1506477089176853496610420e+03 3.2320763565913512138649821e+03 + 1.3980599021049474117717182e+02 -1.1511264512650241158553399e+03 3.2319063604378206946421415e+03 + 1.3965817983537382929171144e+02 -1.1516051654908435466495575e+03 3.2317362918952339896350168e+03 + 1.3951035376117775399507082e+02 -1.1520838438817481801379472e+03 3.2315661459936200117226690e+03 + 1.3936250507077104998643335e+02 -1.1525624723599380558880512e+03 3.2313959137721199113002513e+03 + 1.3921463631800915550229547e+02 -1.1530410558300657157815294e+03 3.2312255985783644973707851e+03 + 1.3906675321764933528356778e+02 -1.1535196057145456052239751e+03 3.2310552078609212003357243e+03 + 1.3891885585808608993829694e+02 -1.1539981221752564124471974e+03 3.2308847417326796858105808e+03 + 1.3877094424251438908868295e+02 -1.1544766052192985625879373e+03 3.2307142001886691105028149e+03 + 1.3862301836489930906282098e+02 -1.1549550548452518796693766e+03 3.2305435832253401713387575e+03 + 1.3847507823305079455167288e+02 -1.1554334710460166206758004e+03 3.2303728908490829780930653e+03 + 1.3832712384696881713352923e+02 -1.1559118538230122794630006e+03 3.2302021230598970760183875e+03 + 1.3817915520807335383324244e+02 -1.1563902031833392811677186e+03 3.2300312798570726044999901e+03 + 1.3803117231920444396564562e+02 -1.1568685191241575012099929e+03 3.2298603612377696663315874e+03 + 1.3788317517468212258791027e+02 -1.1573468016383669692004332e+03 3.2296893672012779461510945e+03 + 1.3773516378373625457243179e+02 -1.1578250507330676555284299e+03 3.2295182977525678325037006e+03 + 1.3758713814707692790761939e+02 -1.1583032664068393842171645e+03 3.2293471528831191790231969e+03 + 1.3743909826292909315270663e+02 -1.1587814486568424854340265e+03 3.2291759326050018898968119e+03 + 1.3729104413555276664737903e+02 -1.1592595974830769591790158e+03 3.2290046369132464860740583e+03 + 1.3714297576423791724664625e+02 -1.1597377128812825048953528e+03 3.2288332658021722636476625e+03 + 1.3699489315075956596956530e+02 -1.1602157948628191661555320e+03 3.2286618192774594717775472e+03 + 1.3684679629724766414256010e+02 -1.1606938434220071485469816e+03 3.2284902973369780738721602e+03 + 1.3669868520654225108046376e+02 -1.1611718585489063571003499e+03 3.2283186999835684218851384e+03 + 1.3655055987757825164408132e+02 -1.1616498402562967839912744e+03 3.2281470272158098850923125e+03 + 1.3640242031177572812339349e+02 -1.1621277885427584806166124e+03 3.2279752790294432998052798e+03 + 1.3625426651232965014060028e+02 -1.1626057033983513520070119e+03 3.2278034554294376903271768e+03 + 1.3610609847994999199727317e+02 -1.1630835848287554199487204e+03 3.2276315564186338633589912e+03 + 1.3595791621605675913997402e+02 -1.1635614328396507062279852e+03 3.2274595819892215331492480e+03 + 1.3580971972206992859355523e+02 -1.1640392474210973432491301e+03 3.2272875321433302815421484e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + 1.3573561791817436983365042e+02 -1.1642781463516184885520488e+03 3.2272014883682177242008038e+03 + + +DT_QUAT 8.8483028132992316838745239e-02 +T0_QUAT -1.8139020740985870361328125e+01 +NUMBER_OF_QUATERNIONS 411 +QUATERNIONS + 4.4936709038965549911637254e-01 -6.5015588549036396059932486e-01 2.3349115212463461555003619e-01 5.6643500925194611994584193e-01 + 4.4938366541447033464251604e-01 -6.5017385301285568477425159e-01 2.3346616416198365251410962e-01 5.6641150412865026719799744e-01 + 4.4940024043928517016865953e-01 -6.5019182053534740894917832e-01 2.3344117619933268947818306e-01 5.6638799900535441445015294e-01 + 4.4941681546410000569480303e-01 -6.5020978805783913312410505e-01 2.3341618823668172644225649e-01 5.6636449388205856170230845e-01 + 4.4943339048891484122094653e-01 -6.5022775558033085729903178e-01 2.3339120027403076340632992e-01 5.6634098875876270895446396e-01 + 4.4944996551372967674709002e-01 -6.5024572310282258147395851e-01 2.3336621231137980037040336e-01 5.6631748363546685620661947e-01 + 4.4946654053854451227323352e-01 -6.5026369062531430564888524e-01 2.3334122434872883733447679e-01 5.6629397851217100345877498e-01 + 4.4948311556335934779937702e-01 -6.5028165814780602982381197e-01 2.3331623638607787429855023e-01 5.6627047338887515071093048e-01 + 4.4949969058817418332552052e-01 -6.5029962567029775399873870e-01 2.3329124842342691126262366e-01 5.6624696826557929796308599e-01 + 4.4951626561298901885166401e-01 -6.5031759319278947817366543e-01 2.3326626046077594822669710e-01 5.6622346314228344521524150e-01 + 4.4953284063780385437780751e-01 -6.5033556071528120234859216e-01 2.3324127249812498519077053e-01 5.6619995801898759246739701e-01 + 4.4954941566261868990395101e-01 -6.5035352823777292652351889e-01 2.3321628453547402215484396e-01 5.6617645289569173971955252e-01 + 4.4956597299825906688397481e-01 -6.5037134261204543328460659e-01 2.3319113247167327918063506e-01 5.6615320220565079623042948e-01 + 4.4958251683477590265880508e-01 -6.5038904172850353635482179e-01 2.3316585710802850694989274e-01 5.6613014231275993193293061e-01 + 4.4959890585552259034685108e-01 -6.5040671932391957987817932e-01 2.3314065371275444205068084e-01 5.6610719735594461354821760e-01 + 4.4961495352273234127338242e-01 -6.5042435056461456177601121e-01 2.3311560982187559676326316e-01 5.6608450801865772827881074e-01 + 4.4963097135262219961049368e-01 -6.5044199947613345891284098e-01 2.3309059019069511276001094e-01 5.6606180906552994169800286e-01 + 4.4964644483623100734703826e-01 -6.5045999734478798792736143e-01 2.3306602998232173185044758e-01 5.6603894933885601226108975e-01 + 4.4966191746607320212092418e-01 -6.5047799423871455193335578e-01 2.3304146953329843428015522e-01 5.6601608852547147243683412e-01 + 4.4967791198996875934312811e-01 -6.5049575593978892218416377e-01 2.3301703015490593529079888e-01 5.6599303054936311863087894e-01 + 4.4969404492534642558965174e-01 -6.5051345425823325907543904e-01 2.3299262285334973454631324e-01 5.6596991923919326428205068e-01 + 4.4971084286179707767416858e-01 -6.5053102141866014918036853e-01 2.3296836662317746413641828e-01 5.6594636507133400105118426e-01 + 4.4972823191005312226664614e-01 -6.5054847183474207028552883e-01 2.3294424467040011905716312e-01 5.6592241702505119427257796e-01 + 4.4974511372765824113173494e-01 -6.5056601922045320662846279e-01 2.3292010883189998016185029e-01 5.6589876322137755426666672e-01 + 4.4976058660490320084690552e-01 -6.5058383811989906053696586e-01 2.3289593484216208896242506e-01 5.6587592973017508679589582e-01 + 4.4977606851069595883529928e-01 -6.5060165678100767561176099e-01 2.3287175087634973125183535e-01 5.6585309050375709460922735e-01 + 4.4979262191936453252338879e-01 -6.5061955273758564910480118e-01 2.3284650831223663303148896e-01 5.6582974332324298405438867e-01 + 4.4980917443399481836507903e-01 -6.5063744766711650857615723e-01 2.3282126548983891889399445e-01 5.6580639500092111404683237e-01 + 4.4982640841754939486918374e-01 -6.5065559307521181331424032e-01 2.3279659228933669012917562e-01 5.6578197930703388873752147e-01 + 4.4984387135131964630119228e-01 -6.5067382214346292101936342e-01 2.3277211080621948435798174e-01 5.6575720323800715583217880e-01 + 4.4986088459848888598813232e-01 -6.5069169252181313645166938e-01 2.3274762034757009998564570e-01 5.6573319773008468036579188e-01 + 4.4987742721149781566225556e-01 -6.5070918753960593772234233e-01 2.3272312052227847600782695e-01 5.6570999894953455378043827e-01 + 4.4989397940327630065482367e-01 -6.5072674773784755508643229e-01 2.3269867802849167337519987e-01 5.6568669095091894671867294e-01 + 4.4991056710642879368222680e-01 -6.5074453743372684400014805e-01 2.3267443584875935336242492e-01 5.6566300525012069844166263e-01 + 4.4992715393029059089968769e-01 -6.5076232612322060244736122e-01 2.3265019342055251461154342e-01 5.6563931843204040550432410e-01 + 4.4994363581769603044335781e-01 -6.5077935478561510507233834e-01 2.3262550080973967703279470e-01 5.6561677162632739701564333e-01 + 4.4996011333840374435411036e-01 -6.5079635680170122569165869e-01 2.3260079273514053244120703e-01 5.6559426234457843563063761e-01 + 4.4997660875209388731121862e-01 -6.5081337366576808012297306e-01 2.3257645657913172954067704e-01 5.6557156583304413199897454e-01 + 4.4999311113684647978061548e-01 -6.5083039616336857413614325e-01 2.3255227535614950151732216e-01 5.6554879063250773629789592e-01 + 4.5001009294006771854768090e-01 -6.5084759935777103390108778e-01 2.3252788266198692879171972e-01 5.6552550998786199620838033e-01 + 4.5002766831746515707735057e-01 -6.5086502638823706679005454e-01 2.3250322825110106284007827e-01 5.6550160391125448011706567e-01 + 4.5004503742636042806779528e-01 -6.5088244423005048311381415e-01 2.3247863298025681078051718e-01 5.6547784509090393001429220e-01 + 4.5006148754307967463361706e-01 -6.5089988061163550625565222e-01 2.3245431297607879739253178e-01 5.6545468008416754912559554e-01 + 4.5007748484652948528506045e-01 -6.5091851379846854541710854e-01 2.3243033975902191445861433e-01 5.6543035219920834144602395e-01 + 4.5009413906423784146326739e-01 -6.5093665295848612828422119e-01 2.3240552827039445693557695e-01 5.6540641157010695927453980e-01 + 4.5011137101966225415594636e-01 -6.5095399632217565422109828e-01 2.3238002512257058262967746e-01 5.6538320834193722674854143e-01 + 4.5012847235987962779546478e-01 -6.5097141252378343256879134e-01 2.3235505244242410372024210e-01 5.6535980406483621329982725e-01 + 4.5014570390457259163596859e-01 -6.5098839228496052644601377e-01 2.3233006936868033642795695e-01 5.6533679982258655538629455e-01 + 4.5016301564505029064733321e-01 -6.5100551255453309451581845e-01 2.3230492856732645745587718e-01 5.6531363165263714964936526e-01 + 4.5017993532534938960765203e-01 -6.5102364686818126049416833e-01 2.3227998550858897086612842e-01 5.6528952350193761855479124e-01 + 4.5019641258051568133424780e-01 -6.5104200195457129218823411e-01 2.3225509326849608227050226e-01 5.6526548934236231502836745e-01 + 4.5021312222332832142512871e-01 -6.5105979636751520889248468e-01 2.3223050127550515231433792e-01 5.6524178933367941191079353e-01 + 4.5022866686283313786276494e-01 -6.5107717263429165654997632e-01 2.3220714727602428939512436e-01 5.6521898726368302590117310e-01 + 4.5024510488776903205376811e-01 -6.5109472148275027159058936e-01 2.3218310689414875525038440e-01 5.6519555381733310728264996e-01 + 4.5026136844492747890456030e-01 -6.5111245947785445498112722e-01 2.3215883127030184640560151e-01 5.6517213507214603129824582e-01 + 4.5027797947937903133563964e-01 -6.5113035467333291173019916e-01 2.3213424259659681814227383e-01 5.6514838390731692019386401e-01 + 4.5029425250256344126498220e-01 -6.5114798482355373820951172e-01 2.3210999322478895190435821e-01 5.6512506497993109100264064e-01 + 4.5031039657116944674442038e-01 -6.5116546965019816983755163e-01 2.3208591796702965348586645e-01 5.6510194173843919518418488e-01 + 4.5032677066361270767913538e-01 -6.5118316063199943588557517e-01 2.3206159630837128182712092e-01 5.6507849583205016497089446e-01 + 4.5034163853006203837026078e-01 -6.5120059171486677218609884e-01 2.3203802458328984248403515e-01 5.6505623888578637714630304e-01 + 4.5035898277898051000889268e-01 -6.5121826904345558872932997e-01 2.3201300965852547641965486e-01 5.6503231415868637732558000e-01 + 4.5037696777034053052801710e-01 -6.5123534996789311790621468e-01 2.3198778963643454376075681e-01 5.6500864711417575492191645e-01 + 4.5039396043234952715650365e-01 -6.5125304986523613326454551e-01 2.3196316637209310473899393e-01 5.6498480943643425433720040e-01 + 4.5041183390996836211073173e-01 -6.5126980946381829440383626e-01 2.3193848162870098206234104e-01 5.6496137557765313541580099e-01 + 4.5042917219621986246735901e-01 -6.5128677216312458320146561e-01 2.3191406536716793751473631e-01 5.6493802095879441793613296e-01 + 4.5044648612649801355800605e-01 -6.5130423751314026059588969e-01 2.3188991489992596961577931e-01 5.6491399407469344851051574e-01 + 4.5046426560643476610934499e-01 -6.5132187103802285932374616e-01 2.3186569274635726589650631e-01 5.6488942833658728481793787e-01 + 4.5048126687403305945522902e-01 -6.5133950586760158696364442e-01 2.3184116831587472939979477e-01 5.6486560256900508747435197e-01 + 4.5049825044364238957328439e-01 -6.5135655018115645731313634e-01 2.3181631722194526168401296e-01 5.6484260281336273745722565e-01 + 4.5051529232189307938583056e-01 -6.5137449137134184606878762e-01 2.3179132896473941816140041e-01 5.6481857546614477882940264e-01 + 4.5053158601231552138344227e-01 -6.5139229965876999095542033e-01 2.3176777654859959110211776e-01 5.6479470580398083434658929e-01 + 4.5054848360920862759826377e-01 -6.5140994939688756648621393e-01 2.3174364814140424595478862e-01 5.6477077057006053184551320e-01 + 4.5056549777071880358292333e-01 -6.5142762723615343922745069e-01 2.3171878241364066153273882e-01 5.6474700934917687611402926e-01 + 4.5058255701081584287948090e-01 -6.5144534486745642176686033e-01 2.3169387143020644947988274e-01 5.6472318166496304758794622e-01 + 4.5059984291268934120111567e-01 -6.5146261825954043800379623e-01 2.3166930976026489652497276e-01 5.6469953912916082128248263e-01 + 4.5061719075905304343621083e-01 -6.5147946450098126458527759e-01 2.3164500784892530504954777e-01 5.6467623029892577424249112e-01 + 4.5063440981933816642523993e-01 -6.5149670247357138741506333e-01 2.3162076873122935949389500e-01 5.6465254346827664644337119e-01 + 4.5065353254698886642515276e-01 -6.5151336148435656792088366e-01 2.3159627868086513080569944e-01 5.6462810513775318899121203e-01 + 4.5067047469580179264170283e-01 -6.5153094353992779819151338e-01 2.3157200415536421944651124e-01 5.6460425054979912484753868e-01 + 4.5068644139060243247740800e-01 -6.5154807583946061644297743e-01 2.3154912537564548147273058e-01 5.6458111813480360563488603e-01 + 4.5070329822154536758560539e-01 -6.5156566908522040026952027e-01 2.3152485795151145353543143e-01 5.6455730975011075845060304e-01 + 4.5072001700772151844276436e-01 -6.5158258069840846449238825e-01 2.3150041309961555402452404e-01 5.6453446797664064149557817e-01 + 4.5073683451936508159718642e-01 -6.5159979817118718337098926e-01 2.3147603198661020895698925e-01 5.6451116520974531365339999e-01 + 4.5075345694090435122447502e-01 -6.5161773654056864835126817e-01 2.3145122946795121388063876e-01 5.6448735580112341381209262e-01 + 4.5076952861873170741446870e-01 -6.5163549364453809964459197e-01 2.3142606422420966549857724e-01 5.6446434102534548404861425e-01 + 4.5078672168540712128503856e-01 -6.5165295774801224037986458e-01 2.3140147143791386930011811e-01 5.6444053116936876435261183e-01 + 4.5080379359566735697484319e-01 -6.5166956667119546597888302e-01 2.3137788228675207347073695e-01 5.6441739089332587653302653e-01 + 4.5082050307623366958154065e-01 -6.5168695105882523677109930e-01 2.3135429477188534930220953e-01 5.6439364110197742796515286e-01 + 4.5083863770024512618306289e-01 -6.5170428383117728898810128e-01 2.3133010036269197051694846e-01 5.6436905820470584238535139e-01 + 4.5085623520537820851927790e-01 -6.5172176133905257433553970e-01 2.3130553426870548161531360e-01 5.6434488638617452682666453e-01 + 4.5087274300762281153964750e-01 -6.5173930881350949917418802e-01 2.3128161730114579763828431e-01 5.6432123516543053476368641e-01 + 4.5088916943768253542401681e-01 -6.5175701600556035231193164e-01 2.3125787313100332198700926e-01 5.6429739064277950610915013e-01 + 4.5090653362474797383185887e-01 -6.5177456431779579038021666e-01 2.3123417877508262163743780e-01 5.6427295682947142818619568e-01 + 4.5092452973176716524150720e-01 -6.5179160432641813915921603e-01 2.3121096115958864047890131e-01 5.6424840669286624450506906e-01 + 4.5094177307562366419091404e-01 -6.5180921093156141132851644e-01 2.3118627759451002012802689e-01 5.6422440118465466696306976e-01 + 4.5095950602224094128089860e-01 -6.5182594771418922441341692e-01 2.3116212890039344873827076e-01 5.6420078693397224256500522e-01 + 4.5097689913839111852666974e-01 -6.5184347073231008184990287e-01 2.3113812602832334297531247e-01 5.6417647310331220378287753e-01 + 4.5099352919249668936174658e-01 -6.5186123546959962027358415e-01 2.3111370012126117301498596e-01 5.6415266013270193301565314e-01 + 4.5101008603278053277207960e-01 -6.5187871763080129650091976e-01 2.3108951195622487451153404e-01 5.6412913172478518220032129e-01 + 4.5102630287244699358595312e-01 -6.5189606713228898104972586e-01 2.3106543448400662654762527e-01 5.6410598007943801857067001e-01 + 4.5104276089762712631525687e-01 -6.5191357172569142086615557e-01 2.3104128822376648888514694e-01 5.6408248153758555609726955e-01 + 4.5105959038729992460758922e-01 -6.5193100084837163343820521e-01 2.3101718229116574576664789e-01 5.6405875362299973119206697e-01 + 4.5107556871375953377878432e-01 -6.5194793175432452780881931e-01 2.3099318434482074557934084e-01 5.6403623498588884022098000e-01 + 4.5109250257548172413635257e-01 -6.5196553315310512566327361e-01 2.3096885546105569431141191e-01 5.6401230971281668402639298e-01 + 4.5110762180773250618059933e-01 -6.5198244610829625411696497e-01 2.3094620731557125026256472e-01 5.6398994037142846647014949e-01 + 4.5112479952582767994684332e-01 -6.5199991267921530990747669e-01 2.3092209710319616666751585e-01 5.6396588034076977624664551e-01 + 4.5114273414072125767404486e-01 -6.5201729006979136649135853e-01 2.3089860460765840310948249e-01 5.6394106187820391973275491e-01 + 4.5116028838010191481799893e-01 -6.5203493459353401018319119e-01 2.3087442772990993122839143e-01 5.6391651587692981362209821e-01 + 4.5117672680562470599596736e-01 -6.5205296547459701272941857e-01 2.3085088271967066364531718e-01 5.6389215400845527081941100e-01 + 4.5119274406739517946363094e-01 -6.5207091853601628628211984e-01 2.3082788900017250921514744e-01 5.6386799036676515939348064e-01 + 4.5120949036507035367904450e-01 -6.5208853014665291158991067e-01 2.3080379146516627475449468e-01 5.6384408704975819137672488e-01 + 4.5122683743017655277895983e-01 -6.5210644979764853523818147e-01 2.3077905341529783567189327e-01 5.6381960574265888030964788e-01 + 4.5124458064775635479648486e-01 -6.5212378896292855223748575e-01 2.3075502034897701908455758e-01 5.6379518700358532967698011e-01 + 4.5126272696351754643018239e-01 -6.5214075699598028634795810e-01 2.3073098755475221488531190e-01 5.6377087163152428406220906e-01 + 4.5127989619432262724529892e-01 -6.5215845477887512959824790e-01 2.3070638558156675301802352e-01 5.6374672398441560972059960e-01 + 4.5129690259830468335167097e-01 -6.5217605630782082837271219e-01 2.3068156850261384294142886e-01 5.6372290288503290600630180e-01 + 4.5131413573565959396205471e-01 -6.5219346999425820143869714e-01 2.3065723786907332826245920e-01 5.6369891538003946696022695e-01 + 4.5133070515802131694726995e-01 -6.5221141160414264348332836e-01 2.3063370722384576860797267e-01 5.6367451800403423067820086e-01 + 4.5134692652477881313899388e-01 -6.5222979795643098999136100e-01 2.3061013313838515936815554e-01 5.6364989937748199988476472e-01 + 4.5136393773647287552819307e-01 -6.5224781955757182849708897e-01 2.3058562145512634389277196e-01 5.6362545078409309606826127e-01 + 4.5137981251091902068495187e-01 -6.5226605267026882550851496e-01 2.3056158367476603521240008e-01 5.6360147047797692909654188e-01 + 4.5139676409489409847353159e-01 -6.5228314546673893392636501e-01 2.3053782151109161735469399e-01 5.6357783167686403835716646e-01 + 4.5141413547519337878810575e-01 -6.5230028411109286512470362e-01 2.3051337525919690651932115e-01 5.6355408034046206022793513e-01 + 4.5143158685216600023437650e-01 -6.5231778373709237150990248e-01 2.3048919563659173159742011e-01 5.6352973489183388888790205e-01 + 4.5144865041711706998839304e-01 -6.5233549541355329015601683e-01 2.3046430109020313303780370e-01 5.6350574387766605433114364e-01 + 4.5146588730134773470581422e-01 -6.5235303925709886563311102e-01 2.3043967320823297018073106e-01 5.6348169605313347396702284e-01 + 4.5148278685940901322481977e-01 -6.5237079334852210443784770e-01 2.3041563884570454012745699e-01 5.6345742920899266614753742e-01 + 4.5149920141488436575727405e-01 -6.5238889752390005760673830e-01 2.3039155851514947492830743e-01 5.6343316131927556611458385e-01 + 4.5151620070114734106780929e-01 -6.5240666571108518745347737e-01 2.3036714985174358560904295e-01 5.6340894500294347313484877e-01 + 4.5153219136527017463222933e-01 -6.5242473206788220707608161e-01 2.3034309066624675255141597e-01 5.6338504570972647300663994e-01 + 4.5154955756015519030555083e-01 -6.5244227757300776726623326e-01 2.3031882307465462167428427e-01 5.6336072923135160905871999e-01 + 4.5156666907172215985610819e-01 -6.5245867195968887397583558e-01 2.3029582770828049831379758e-01 5.6333742686619614481458029e-01 + 4.5158375214936680164257155e-01 -6.5247577184779803616265781e-01 2.3027239407636693191427923e-01 5.6331350638224342297633029e-01 + 4.5160115347218987569277715e-01 -6.5249299146798878101805030e-01 2.3025002526943247338486742e-01 5.6328875377657638967576759e-01 + 4.5161874382734440436237833e-01 -6.5251021789049290511286472e-01 2.3022718904979638798735664e-01 5.6326402973609313029612622e-01 + 4.5163583097561349477544468e-01 -6.5252751251770124696349740e-01 2.3020319427643923249071634e-01 5.6324010060661711118967787e-01 + 4.5165236686470688898253911e-01 -6.5254490265771603052513683e-01 2.3017916013337938463401144e-01 5.6321651588108856412162595e-01 + 4.5166969139880502881467805e-01 -6.5256261684651384324951096e-01 2.3015477470147382987875062e-01 5.6319206372981855945880625e-01 + 4.5168767785048341556475293e-01 -6.5258024859348440216422205e-01 2.3012889618636550581598499e-01 5.6316778313727178240100102e-01 + 4.5170517751031025177610445e-01 -6.5259790272628048768410736e-01 2.3010444757136361282334747e-01 5.6314327943740649651260810e-01 + 4.5172350265748090203388188e-01 -6.5261542906062441904424531e-01 2.3007948504800013189708352e-01 5.6311846840511403655682443e-01 + 4.5174129239291738180384073e-01 -6.5263302045010307406158745e-01 2.3005493571904292449126217e-01 5.6309383935242918184371774e-01 + 4.5175838595610240400191060e-01 -6.5265068694022376760699444e-01 2.3003160586641996365742102e-01 5.6306918034759079194628839e-01 + 4.5177535756288056401075437e-01 -6.5266802392237022178989037e-01 2.3000861292948879266440088e-01 5.6304486040319434714263025e-01 + 4.5179328890201275736870912e-01 -6.5268471453551579752883072e-01 2.2998510326072074683168012e-01 5.6302072767612243442414410e-01 + 4.5181240283663132162317311e-01 -6.5270121928852309345359117e-01 2.2996118796761561009489583e-01 5.6299602397422643385027641e-01 + 4.5182980729367255845474460e-01 -6.5271886120639288630940200e-01 2.2993689788271329255131548e-01 5.6297152366568892212228548e-01 + 4.5184726785243434221683856e-01 -6.5273537577427520606221378e-01 2.2991229997025297571155988e-01 5.6294840799978718148821599e-01 + 4.5186480300267956033977157e-01 -6.5275288784981411183139244e-01 2.2988797854084427885190678e-01 5.6292395981471798904749448e-01 + 4.5188134939436330750339721e-01 -6.5276992646039888601450230e-01 2.2986458667404860434224645e-01 5.6290047163915546413193169e-01 + 4.5189834910825599223471727e-01 -6.5278722967178259839471366e-01 2.2984103760887497625020615e-01 5.6287637388821720740850196e-01 + 4.5191598278662520327131347e-01 -6.5280437855832196270000622e-01 2.2981784738010882507275312e-01 5.6285179653498040863723872e-01 + 4.5193373136846309856551329e-01 -6.5282156392961077084891031e-01 2.2979453417270148674056429e-01 5.6282713170584286466180401e-01 + 4.5195114542075981445279353e-01 -6.5283913335601362337712317e-01 2.2977012534115490161035211e-01 5.6280273419071291662874046e-01 + 4.5196823974740774065850246e-01 -6.5285658493372900057494235e-01 2.2974510786400095807557875e-01 5.6277897542539490061130891e-01 + 4.5198530670071418446909206e-01 -6.5287350118932740983268559e-01 2.2972145076200209401484642e-01 5.6275530120226502361902021e-01 + 4.5200151830099249972150233e-01 -6.5289140062385475626882680e-01 2.2969755300408786768961988e-01 5.6273126853672628122637889e-01 + 4.5201916867831420931977959e-01 -6.5290880522292404908313301e-01 2.2967333353232308179592280e-01 5.6270678250212147197828472e-01 + 4.5203741610224623670433175e-01 -6.5292480244607120631883390e-01 2.2965128724979419483354093e-01 5.6268255976072012458644167e-01 + 4.5205522031557060502748868e-01 -6.5294164588210756861030859e-01 2.2962834325277964309108825e-01 5.6265807452945071354122319e-01 + 4.5207264772129246432896821e-01 -6.5295874301219680724273076e-01 2.2960434794149267578866613e-01 5.6263402360020331460788157e-01 + 4.5209016281358904709719582e-01 -6.5297574464785923531451317e-01 2.2958008387506889658169484e-01 5.6261011960030815615141364e-01 + 4.5210768774516102430638398e-01 -6.5299325496943916302683419e-01 2.2955631651205024579276426e-01 5.6258541146705953739370898e-01 + 4.5212464785031969416451147e-01 -6.5301090023108943061203036e-01 2.2953403115838799664061298e-01 5.6256039278088787458642628e-01 + 4.5214210415297556577840510e-01 -6.5302822545683936183991136e-01 2.2951020132449434507648789e-01 5.6253597386905063171269603e-01 + 4.5215818888071823700158802e-01 -6.5304525622412401553162908e-01 2.2948800294237664543217647e-01 5.6251233058200311720753461e-01 + 4.5217516274261476683093974e-01 -6.5306249365864488254374010e-01 2.2946468719564230842600239e-01 5.6248818556948210201085203e-01 + 4.5219286450763007678688155e-01 -6.5307848706363891277959510e-01 2.2944130189500264171975630e-01 5.6246492513558465908829476e-01 + 4.5221073867301131432583361e-01 -6.5309512991188811703580086e-01 2.2941755010785744306467393e-01 5.6244091851206223786618921e-01 + 4.5222702755013044484400098e-01 -6.5311310474129091740991271e-01 2.2939363248157684793682165e-01 5.6241670436187485293544341e-01 + 4.5224268045422311157466311e-01 -6.5313123825839569658313621e-01 2.2936968807918522994526711e-01 5.6239282514723787365085172e-01 + 4.5226013497598888113415683e-01 -6.5314850280128933235346267e-01 2.2934556672648723218976841e-01 5.6236857542259677256168970e-01 + 4.5227705291753772520735311e-01 -6.5316574958338968759363752e-01 2.2932179860194973342046865e-01 5.6234463068599005453052087e-01 + 4.5229456642856669112973123e-01 -6.5318319299033256175590623e-01 2.2929804837217704349683345e-01 5.6231996815590656879635389e-01 + 4.5231108654860774365147336e-01 -6.5320111174554840172135073e-01 2.2927488388227174054279089e-01 5.6229531050896042199127578e-01 + 4.5232869075156861837783140e-01 -6.5321854466852224962991613e-01 2.2925081632884017346363237e-01 5.6227071027812758341468680e-01 + 4.5234564008702493609348494e-01 -6.5323647753975222496336528e-01 2.2922657198692475422063808e-01 5.6224612493181269634590080e-01 + 4.5236243411465537622717648e-01 -6.5325412372302771313314906e-01 2.2920290746265117864943761e-01 5.6222175807361884913859740e-01 + 4.5237885878257788618839186e-01 -6.5327211500349158246336856e-01 2.2917987094673394898869390e-01 5.6219702830793738534964632e-01 + 4.5239506574456600507261328e-01 -6.5329072220281880767345228e-01 2.2915674268075594821603147e-01 5.6217179229985869692853839e-01 + 4.5241254698453020610671160e-01 -6.5330800650062226253567133e-01 2.2913291447349451446235946e-01 5.6214735032554885574285208e-01 + 4.5243002716928781836713824e-01 -6.5332425352376299887424693e-01 2.2910959664294813786789007e-01 5.6212390360072861383855525e-01 + 4.5244789386901645977800968e-01 -6.5334153104684700164028754e-01 2.2908559037541240122060060e-01 5.6209922560452074691283997e-01 + 4.5246494656282265633961970e-01 -6.5335875872857884782973770e-01 2.2906433894007749429988507e-01 5.6207413492394253662354231e-01 + 4.5248258233878174694453378e-01 -6.5337583773616647597748397e-01 2.2904134138119519592535767e-01 5.6204945625887148263899462e-01 + 4.5250043982562837552308110e-01 -6.5339302269400290068546155e-01 2.2901761956390276342432344e-01 5.6202476794327371756310185e-01 + 4.5251810251324697809138797e-01 -6.5341038170838861010025767e-01 2.2899366761276265802571572e-01 5.6200012470351312643401798e-01 + 4.5253596775084631298469162e-01 -6.5342797170193411826488727e-01 2.2896941695192243870771165e-01 5.6197516830372329366127815e-01 + 4.5255413206649175439366672e-01 -6.5344552531966482167291588e-01 2.2894531447383970057529723e-01 5.6194994970168499204277168e-01 + 4.5257142632496444312195649e-01 -6.5346245947348957638922684e-01 2.2892231266969548242329324e-01 5.6192570051120072083250534e-01 + 4.5258854865536957134963814e-01 -6.5348000264335803777271394e-01 2.2889914732012964226903762e-01 5.6190094512056176778713734e-01 + 4.5260637197130465514405273e-01 -6.5349735009908449523408080e-01 2.2887507988169100703323977e-01 5.6187621703859047528339943e-01 + 4.5262375963253587141110756e-01 -6.5351429942339556156127856e-01 2.2885031982228731806117139e-01 5.6185258189537023998383347e-01 + 4.5264144289397101328376039e-01 -6.5353158812702916158343669e-01 2.2882619508234194882767554e-01 5.6182805193329843351790487e-01 + 4.5265915047466809273402077e-01 -6.5354887024473651280231934e-01 2.2880257400154382918522344e-01 5.6180330172013814848952507e-01 + 4.5267676257984101884090933e-01 -6.5356614563028059272653536e-01 2.2877887270495697591421447e-01 5.6177866576620927308027831e-01 + 4.5269434512877315679446610e-01 -6.5358323206905200031258119e-01 2.2875569710619300667353571e-01 5.6175405622751184431251659e-01 + 4.5271196134233998575879809e-01 -6.5359993078863642956832791e-01 2.2873351947953182716766207e-01 5.6172946121524369722521897e-01 + 4.5272956390725022091103824e-01 -6.5361705235068501274042774e-01 2.2870988429957248011525905e-01 5.6170497564507060328509169e-01 + 4.5274635082390746187996911e-01 -6.5363415213361031330663309e-01 2.2868636617901480501124922e-01 5.6168112208267173546261120e-01 + 4.5276375087972703381566930e-01 -6.5365133111807405263959936e-01 2.2866308030086043845408028e-01 5.6165658451068889434054654e-01 + 4.5278207282168642100472766e-01 -6.5366839132907506026981537e-01 2.2863959766699484821295130e-01 5.6163151895814333869338952e-01 + 4.5279994720631078219952315e-01 -6.5368573283513620175710912e-01 2.2861581526173108125377098e-01 5.6160660565022502144216787e-01 + 4.5281629814327312155697314e-01 -6.5370316157745778085086386e-01 2.2859326034918839298804016e-01 5.6158231631915456194548142e-01 + 4.5283286323639926340689499e-01 -6.5372044316929622809198008e-01 2.2857078210459974565438301e-01 5.6155799141651874251124354e-01 + 4.5285043239823902228025077e-01 -6.5373770831050981300336389e-01 2.2854782983621904635107569e-01 5.6153306588909368546325140e-01 + 4.5286721336435870055581177e-01 -6.5375520513346108142371804e-01 2.2852594917146262787355226e-01 5.6150806706207589957813298e-01 + 4.5288462329154577368228729e-01 -6.5377250993798807776613558e-01 2.2850230753398217964367234e-01 5.6148349814318099237908655e-01 + 4.5290261371483425678619028e-01 -6.5378963317874139171692605e-01 2.2847936712803920689118797e-01 5.6145838388526114748344753e-01 + 4.5292046013430098394536572e-01 -6.5380670216840230946075962e-01 2.2845569596740661344469459e-01 5.6143374317140837259643149e-01 + 4.5293787125618334421517375e-01 -6.5382392544697898184580254e-01 2.2843218647564722534326620e-01 5.6140920501624802518847446e-01 + 4.5295538621244291199730014e-01 -6.5384099199390532941578158e-01 2.2840882358438113763909882e-01 5.6138470285389996394798118e-01 + 4.5297228727335869802317347e-01 -6.5385842701226437601036423e-01 2.2838544120816073323965156e-01 5.6136027168970803469250086e-01 + 4.5298906596896648668604257e-01 -6.5387609303294547125062763e-01 2.2836191836522617970572924e-01 5.6133572424449185156447584e-01 + 4.5300669225424111674627170e-01 -6.5389346091723554721397704e-01 2.2833819313726438915423955e-01 5.6131091927501297611513564e-01 + 4.5302423174775302561201329e-01 -6.5391089903079790968121188e-01 2.2831426156733983234836671e-01 5.6128618328180146512806914e-01 + 4.5304190538069921689867670e-01 -6.5392803029336854514497190e-01 2.2829034352128363405398659e-01 5.6126168782538077284272049e-01 + 4.5305898515565956596873320e-01 -6.5394409691236377035750138e-01 2.2826603977494933084280149e-01 5.6123906596802231039333719e-01 + 4.5307703272996918686388312e-01 -6.5396098654604795097355918e-01 2.2824259273367089595474511e-01 5.6121435240961003998449996e-01 + 4.5309587146703983462359133e-01 -6.5397760019357209504420325e-01 2.2822093348513930455290222e-01 5.6118859149465250002464245e-01 + 4.5311417756517763377743790e-01 -6.5399448361740164514799289e-01 2.2819831604929241564150288e-01 5.6116333276480956371301545e-01 + 4.5313288619555214253864506e-01 -6.5401091763731933337311375e-01 2.2817462744826816356535915e-01 5.6113870517736019749577281e-01 + 4.5315170482934619133885690e-01 -6.5402708902074868646536743e-01 2.2815097572573256323735791e-01 5.6111427669655578043261812e-01 + 4.5316929314822457230960140e-01 -6.5404401608811923996000814e-01 2.2812743330620699477861990e-01 5.6108991341850444900529737e-01 + 4.5318761024700632278339185e-01 -6.5406070245070657698249761e-01 2.2810326473447883888212573e-01 5.6106549354399637419277269e-01 + 4.5320583188364754745336427e-01 -6.5407768418406786459229352e-01 2.2807968869251629695504846e-01 5.6104056235265431507031053e-01 + 4.5322226217002264947453227e-01 -6.5409382967100315742214889e-01 2.2805773999095171888917832e-01 5.6101738858080640870440448e-01 + 4.5323978792607394483482608e-01 -6.5411086627501202617196441e-01 2.2803440099296728993394368e-01 5.6099285309659663312231714e-01 + 4.5325822572116986064472144e-01 -6.5412728536243169852326673e-01 2.2801123748471877061838597e-01 5.6096822632049325729752809e-01 + 4.5327653769179082621221255e-01 -6.5414402943146876534541434e-01 2.2798792661651520741195043e-01 5.6094337900933177731843671e-01 + 4.5329459358297230497925057e-01 -6.5416071412864418288535262e-01 2.2796476406472981901529806e-01 5.6091874443992562060401497e-01 + 4.5331264412913196970578156e-01 -6.5417711409531920097037982e-01 2.2794172805611648269241698e-01 5.6089439173285216000408582e-01 + 4.5333050927587514866701213e-01 -6.5419402662851944274535754e-01 2.2791799676594640122750945e-01 5.6086987049888648027007321e-01 + 4.5334815888654794724388353e-01 -6.5420953651829771846593076e-01 2.2789477335161989479672684e-01 5.6084695010466545372906921e-01 + 4.5336543085795744101318405e-01 -6.5422607030252299953332340e-01 2.2787201088546504834653206e-01 5.6082295039924279222987025e-01 + 4.5338253280164103609095605e-01 -6.5424354191723721463347374e-01 2.2784896502041371291191751e-01 5.6079810622815373655214444e-01 + 4.5340037779989489363785538e-01 -6.5426076083821071982526973e-01 2.2782518580816554787382699e-01 5.6077325092214691526493198e-01 + 4.5341897424989990872390422e-01 -6.5427747017586646016695795e-01 2.2780214030146769821350006e-01 5.6074808130256448279737924e-01 + 4.5343739880641970030339394e-01 -6.5429440321231047139605153e-01 2.2777909803010873424078397e-01 5.6072278515261386733214977e-01 + 4.5345504014058929387331887e-01 -6.5431121249607371304080061e-01 2.2775604256505296851820219e-01 5.6069826898976615758840580e-01 + 4.5347227107303378357272550e-01 -6.5432755482956816983630688e-01 2.2773329785546264636408864e-01 5.6067450040687472068157149e-01 + 4.5348979693301455506926345e-01 -6.5434449233091396269657025e-01 2.2770990991862796737343899e-01 5.6065005695059200174767966e-01 + 4.5350664578186855591113158e-01 -6.5436101186815831542986643e-01 2.2768650334789899969401006e-01 5.6062665346178996994552790e-01 + 4.5352479735487527534587571e-01 -6.5437810216389780126888809e-01 2.2766277510866106403852882e-01 5.6060165752735491295766224e-01 + 4.5354274899496371808993445e-01 -6.5439494082116045348129774e-01 2.2763797762146731340493488e-01 5.6057754807534865282292458e-01 + 4.5356022314774335768561286e-01 -6.5441168234145308257865281e-01 2.2761457824151168360948816e-01 5.6055336745499728667851969e-01 + 4.5357703546485977907920528e-01 -6.5442899150903555138825141e-01 2.2759000780217353288037430e-01 5.6052953206765354643437149e-01 + 4.5359447078147169252204662e-01 -6.5444641609548470650992158e-01 2.2756529575311701396600483e-01 5.6050511211321574212007590e-01 + 4.5361215212174571531633660e-01 -6.5446377912385189645760875e-01 2.2754190938927651433054677e-01 5.6048002349226200280440935e-01 + 4.5362890516531451101656103e-01 -6.5448135317054323412122585e-01 2.2751887685982161158015913e-01 5.6045529297439777849376696e-01 + 4.5364685720405034663471611e-01 -6.5449848123834464264092503e-01 2.2749525727350691783890113e-01 5.6043034796810309305925557e-01 + 4.5366394701826978641534538e-01 -6.5451673860054015996468024e-01 2.2747119671922610972814027e-01 5.6040495780340837672639509e-01 + 4.5368147765919897285158413e-01 -6.5453397906250365689828641e-01 2.2744773301875353954670800e-01 5.6038015295529663983842283e-01 + 4.5369785326706030259558133e-01 -6.5455087973231340647828347e-01 2.2742435766255861273599237e-01 5.6035664118870609495814961e-01 + 4.5371538815800754873563960e-01 -6.5456774728358357862134653e-01 2.2740086615625212940194899e-01 5.6033227359854065330324602e-01 + 4.5373311669050658823110211e-01 -6.5458463183446036204315988e-01 2.2737823999860326540378708e-01 5.6030737507157679644365089e-01 + 4.5375068904216409038099300e-01 -6.5460140297194391312274320e-01 2.2735590774982439299378711e-01 5.6028261318032812621225958e-01 + 4.5376831574173398520244405e-01 -6.5461803930202255852321969e-01 2.2733319388623671186699937e-01 5.6025811659160151823044771e-01 + 4.5378589762484378145046549e-01 -6.5463479151063774796881489e-01 2.2731040473884764341327980e-01 5.6023354840468087001426056e-01 + 4.5380406180404397886718471e-01 -6.5465198661421053483167043e-01 2.2728672706121033630921602e-01 5.6020834839729205523184419e-01 + 4.5382115323681926355448013e-01 -6.5466945443894242195881361e-01 2.2726298262677935291264930e-01 5.6018372256519666230190069e-01 + 4.5383916477418378976338431e-01 -6.5468664724496605789028081e-01 2.2723926240348629734810970e-01 5.6015865971931211308998400e-01 + 4.5385632189760616306273278e-01 -6.5470400255117056076414883e-01 2.2721611449729342546710598e-01 5.6013386384846086674116350e-01 + 4.5387389990281007401407010e-01 -6.5472116364525945186869649e-01 2.2719273003034340385752898e-01 5.6010904677872408452543596e-01 + 4.5389136186743117562514271e-01 -6.5473842129615622553728826e-01 2.2717003473830452153769954e-01 5.6008392819089458658510239e-01 + 4.5390888188915340384355090e-01 -6.5475558770491315563333501e-01 2.2714754030761935554849629e-01 5.6005878463205183148687638e-01 + 4.5392683096669883546780966e-01 -6.5477213273338852328464554e-01 2.2712443923430891690173894e-01 5.6003426272577350175652100e-01 + 4.5394428941834302770885756e-01 -6.5478825418502062394310315e-01 2.2710177746357723682635310e-01 5.6001045254414016927313469e-01 + 4.5396177234169582392908637e-01 -6.5480506869519949919578039e-01 2.2707903338264426307269161e-01 5.5998584255449301849694166e-01 + 4.5397897792338276490298199e-01 -6.5482307921590077182116829e-01 2.2705777090147066799019626e-01 5.5995945496357346637950059e-01 + 4.5399735548886099856247256e-01 -6.5484029348166905570849394e-01 2.2703435071334515660268494e-01 5.5993392006390552140260297e-01 + 4.5401526218107812749025243e-01 -6.5485687198076580894934295e-01 2.2701222769473025642206210e-01 5.5990898135615718711477484e-01 + 4.5403309939161723418621364e-01 -6.5487356039221955583684576e-01 2.2698958663462301399427190e-01 5.5988417741127738391782032e-01 + 4.5405118843188818633649362e-01 -6.5489017312209618637552921e-01 2.2696700559142576891780152e-01 5.5985923034684581534037306e-01 + 4.5406939992110789683366079e-01 -6.5490678129981316768493116e-01 2.2694472424186368231247002e-01 5.5983406470273699984119276e-01 + 4.5408748925102615512372495e-01 -6.5492376026412146838850958e-01 2.2692169428203562420165440e-01 5.5980886471310287166858188e-01 + 4.5410547901115150271067478e-01 -6.5494066211312451653014932e-01 2.2689823681506329777768372e-01 5.5978400582107579186441626e-01 + 4.5412357387687990462055154e-01 -6.5495771549109105258423824e-01 2.2687452744973060636546336e-01 5.5975898327980644353374373e-01 + 4.5414091283267116194721780e-01 -6.5497403148670074735093749e-01 2.2685245246270485663941940e-01 5.5973477128120474599626277e-01 + 4.5415854941625599661136903e-01 -6.5499051954358322724658592e-01 2.2683013983077432440538246e-01 5.5971020980905850095155074e-01 + 4.5417649871398391159260655e-01 -6.5500742542773582322013226e-01 2.2680782262083862277357582e-01 5.5968490443143981138973686e-01 + 4.5419470871507666709376849e-01 -6.5502434956058308568316306e-01 2.2678486890233312545106514e-01 5.5965962092589205401083063e-01 + 4.5421341309428714394513804e-01 -6.5504077285583739431729100e-01 2.2676155708906145513914510e-01 5.5963466430181929567311272e-01 + 4.5423232452957496008139060e-01 -6.5505709485312624273944948e-01 2.2673835548348844626254106e-01 5.5960961034250000789569413e-01 + 4.5425095097502315999449252e-01 -6.5507395808600199504923012e-01 2.2671517243800609620052455e-01 5.5958414341565432259528734e-01 + 4.5427032919592186255286492e-01 -6.5509006873750674770917612e-01 2.2669221141354883863883174e-01 5.5955885404321192844179222e-01 + 4.5428848881008709881257346e-01 -6.5510692918838064890962869e-01 2.2666884556800367955808895e-01 5.5953383696867342589342798e-01 + 4.5430719445063966199782612e-01 -6.5512240727797088624129174e-01 2.2664591780722323499652759e-01 5.5950981447515879541043660e-01 + 4.5432556575513144414557587e-01 -6.5513913796485212515108287e-01 2.2662280697203660007055248e-01 5.5948466785790040844972282e-01 + 4.5434416679957090323682678e-01 -6.5515547546845787074687451e-01 2.2660000327619911342225123e-01 5.5945966751333298105919312e-01 + 4.5436236968299092975343001e-01 -6.5517170139828528885317382e-01 2.2657720057923835810242963e-01 5.5943511766835762877292382e-01 + 4.5438056967622914017468361e-01 -6.5518824671304853879405528e-01 2.2655440661091560961004632e-01 5.5941018949869258936047345e-01 + 4.5439932491406159753566385e-01 -6.5520503345011293916400064e-01 2.2653165694990284873000519e-01 5.5938450645223736223954347e-01 + 4.5441766075865674956446583e-01 -6.5522197273156146390959975e-01 2.2650847936305254504141260e-01 5.5935915547797088187564896e-01 + 4.5443592543391819749132310e-01 -6.5523896296793227023158579e-01 2.2648557538795172083823104e-01 5.5933368861969656737898049e-01 + 4.5445412385864597526463626e-01 -6.5525598799681195050226279e-01 2.2646234364217740497871034e-01 5.5930836433427733034307039e-01 + 4.5447239323017252221603712e-01 -6.5527205182269587790955256e-01 2.2643989761596655663211664e-01 5.5928378723094074320698610e-01 + 4.5449059748270242975465294e-01 -6.5528859448999410286518241e-01 2.2641694280279092699181831e-01 5.5925890492953433952294517e-01 + 4.5450925491598770378232075e-01 -6.5530517283379452475600146e-01 2.2639497082571868880052079e-01 5.5923321149392257733978795e-01 + 4.5452798427263735314696191e-01 -6.5532181128034683315064512e-01 2.2637279302297752536787812e-01 5.5920746932804366036151578e-01 + 4.5454647629350014570448479e-01 -6.5533864319256540653668708e-01 2.2634974533168733534793660e-01 5.5918204228674095457307658e-01 + 4.5456480500653179133152548e-01 -6.5535543330309053988713686e-01 2.2632676887238581397987502e-01 5.5915676494278221397848938e-01 + 4.5458281871896344394912148e-01 -6.5537196257578023139700463e-01 2.2630391839843830292799964e-01 5.5913199525032120096312838e-01 + 4.5460076388410441960985509e-01 -6.5538964867420979043544094e-01 2.2628000594067504414041991e-01 5.5910635195655999929442714e-01 + 4.5461891389758191106551521e-01 -6.5540685219218641766047995e-01 2.2625673244879354606418076e-01 5.5908084589592910162991757e-01 + 4.5463574116140148539955135e-01 -6.5542389856982086193681880e-01 2.2623309564620974754234339e-01 5.5905674352116829783909679e-01 + 4.5465384428638283553780752e-01 -6.5544065098212178632763880e-01 2.2620975358268036181641492e-01 5.5903182583803656680032645e-01 + 4.5467131125426107907117057e-01 -6.5545700084579905375647968e-01 2.2618638826410719655513049e-01 5.5900790381585807597986104e-01 + 4.5468884989713675981448660e-01 -6.5547346267986639212210775e-01 2.2616299843507928213348634e-01 5.5898379908592987774795802e-01 + 4.5470735034706122323910904e-01 -6.5549017466437176082649785e-01 2.2613991774811967316871630e-01 5.5895849046212753297169229e-01 + 4.5472570244310056564174261e-01 -6.5550667107877147454786382e-01 2.2611720322326064880336105e-01 5.5893340400744218054995827e-01 + 4.5474413787223399996406670e-01 -6.5552329614261384271856059e-01 2.2609428005701623365375497e-01 5.5890818012501963796268001e-01 + 4.5476169262830479222969871e-01 -6.5554072389057549408164505e-01 2.2607085728324316509230130e-01 5.5888293025112090184336466e-01 + 4.5477927888417835067258466e-01 -6.5555732243918252155623350e-01 2.2604810759196997116404759e-01 5.5885835195337785208380410e-01 + 4.5479605281151835871611411e-01 -6.5557493654679455108436059e-01 2.2602568317071961012665327e-01 5.5883310877751191103612882e-01 + 4.5481404962941684999577774e-01 -6.5559209591866685062910847e-01 2.2600279009296342369594868e-01 5.5880759023017556597068278e-01 + 4.5483206841219414595656190e-01 -6.5560836722832460665699728e-01 2.2597976161266380978887014e-01 5.5878314729918154846188827e-01 + 4.5484994201126938140333777e-01 -6.5562463324668840414233273e-01 2.2595670500990000517660405e-01 5.5875883706081952428945669e-01 + 4.5486819493327379504421515e-01 -6.5564134972329102257759814e-01 2.2593357695567900522704008e-01 5.5873371526620707605559346e-01 + 4.5488610478794766489585299e-01 -6.5565775985542429360464212e-01 2.2591071908774815191200958e-01 5.5870911985886861916839052e-01 + 4.5490424083617136963297867e-01 -6.5567445094392229343327472e-01 2.2588790552052179227970896e-01 5.5868398955778630909918547e-01 + 4.5492049375359078222658127e-01 -6.5569169538546212550045311e-01 2.2586478102277293689148507e-01 5.5865986580303239605882482e-01 + 4.5493887221428136458101221e-01 -6.5570856563420265583630453e-01 2.2584169600427039803491880e-01 5.5863443131286572018723291e-01 + 4.5495688609305984240194221e-01 -6.5572479849883469338323039e-01 2.2581894309545511023706865e-01 5.5860990446770708572898911e-01 + 4.5497471183468252142745314e-01 -6.5574114137083228115443490e-01 2.2579634232791803705175937e-01 5.5858533716519931378030606e-01 + 4.5499292528282619940682707e-01 -6.5575740547727390250543067e-01 2.2577394506008641172911666e-01 5.5856046121820679406511090e-01 + 4.5501149714220040509715659e-01 -6.5577367254037921551201862e-01 2.2575144015106554662430938e-01 5.5853533025318691240812541e-01 + 4.5502966860542898297481429e-01 -6.5579031609047111484045445e-01 2.2572903365636728945098355e-01 5.5851004053226849244140340e-01 + 4.5504705380368931644241570e-01 -6.5580685792810733403257473e-01 2.2570804569998595412450015e-01 5.5848493446586267019426941e-01 + 4.5506545055379432618281044e-01 -6.5582364858401409613009037e-01 2.2568511963660459196390207e-01 5.5845949221482071855859886e-01 + 4.5508409899238277951383225e-01 -6.5583932383018628264892413e-01 2.2566303980834587217252363e-01 5.5843480964810243705187531e-01 + 4.5510253890676927168712496e-01 -6.5585591959689604202310420e-01 2.2564023352396417321230615e-01 5.5840950638897024482787401e-01 + 4.5512103881208648692435759e-01 -6.5587245698180796082965571e-01 2.2561699782747088316448014e-01 5.5838439313305743283422089e-01 + 4.5513967925483123089236415e-01 -6.5588906332514285146828570e-01 2.2559385734858991567897135e-01 5.5835904264627111981411645e-01 + 4.5515828760766463556564076e-01 -6.5590586462722300087335725e-01 2.2557183822176049559082855e-01 5.5833303302861214678642909e-01 + 4.5517656389620259060890817e-01 -6.5592261319671807395792484e-01 2.2555039071721016963323336e-01 5.5830712195363274563675304e-01 + 4.5519512918369992027223248e-01 -6.5593884180775008374553181e-01 2.2552788362089087881301452e-01 5.5828201107041242057249519e-01 + 4.5521656352431105752032181e-01 -6.5595428822716139727333484e-01 2.2550522613283272010953340e-01 5.5825553739868538638546624e-01 + 4.5523480612521211030596646e-01 -6.5597106981629882405115950e-01 2.2548241704316931977025718e-01 5.5823015545612675314401940e-01 + 4.5525202008598741887368533e-01 -6.5598842225938247540995008e-01 2.2546101486174185968280881e-01 5.5820437014303947442783738e-01 + 4.5527041779335136739703671e-01 -6.5600528358221044111786568e-01 2.2543852798979296947479156e-01 5.5817863152604307863668964e-01 + 4.5528850498558232073875729e-01 -6.5602119357588040138296037e-01 2.2541673278379609213217805e-01 5.5815398179028441472127042e-01 + 4.5530677507820921379178003e-01 -6.5603732190514441047213268e-01 2.2539439961739554663111562e-01 5.5812914048320450000062465e-01 + 4.5532507560819263092710685e-01 -6.5605372127661798486997213e-01 2.2537230719680226287415792e-01 5.5810385545190921430247499e-01 + 4.5534317278079539104140849e-01 -6.5606999314524827582317812e-01 2.2535102382277280574918166e-01 5.5807855644016723939415670e-01 + 4.5536153829231645895347924e-01 -6.5608663419556378926245088e-01 2.2532848341338820863377634e-01 5.5805310897495619126829070e-01 + 4.5537848460903923575315844e-01 -6.5610338956606173432817286e-01 2.2530614807886284456373005e-01 5.5802859926079506625029580e-01 + 4.5539656198300532130573970e-01 -6.5611982791841672035815236e-01 2.2528342701068287956545078e-01 5.5800369197765042894587850e-01 + 4.5541433181538143459832213e-01 -6.5613655135797066542124867e-01 2.2526076071134548683971843e-01 5.5797867524930078175771087e-01 + 4.5543288799456188575831561e-01 -6.5615323776373868369660158e-01 2.2523791056044670244595807e-01 5.5795313132149348955834967e-01 + 4.5545199727138752088251294e-01 -6.5616965939778681971006336e-01 2.2521508138793538966737628e-01 5.5792743558882496035522536e-01 + 4.5547086442107465042994363e-01 -6.5618608194336014438619031e-01 2.2519250642754101709996917e-01 5.5790183059049280878127774e-01 + 4.5548917557064017014312185e-01 -6.5620263847328486050969332e-01 2.2517010958011021704017196e-01 5.5787644685033888070080366e-01 + 4.5550741293355045957724769e-01 -6.5621924165949585550094980e-01 2.2514745921940806927530332e-01 5.5785116764730835470231796e-01 + 4.5552620412931044135973480e-01 -6.5623572614173952821658986e-01 2.2512422093249737087283791e-01 5.5782580994097241688933764e-01 + 4.5554501220737159128404414e-01 -6.5625073315404869322975401e-01 2.2510133623578618133898033e-01 5.5780203075340506480017666e-01 + 4.5556348555200831818012830e-01 -6.5626757514409472804572943e-01 2.2507862247158483270936813e-01 5.5777629400368822221167875e-01 + 4.5558054571029049650832121e-01 -6.5628449170337643803208039e-01 2.2505603763878703760248357e-01 5.5775156856998975296590970e-01 + 4.5559846643944901245504298e-01 -6.5630076769845724360408212e-01 2.2503373906139231830358938e-01 5.5772677538422643639393073e-01 + 4.5561768469893532129688651e-01 -6.5631675323446625469614446e-01 2.2501091726415303750918895e-01 5.5770147204870690327283000e-01 + 4.5563689888989333809377058e-01 -6.5633303988055413658031512e-01 2.2498784383594508384796029e-01 5.5767591597378907142257276e-01 + 4.5565480735035041037761516e-01 -6.5634942694829756515417785e-01 2.2496540834974246281241506e-01 5.5765104799434395133062026e-01 + 4.5567200306535410314623391e-01 -6.5636547314518500773061760e-01 2.2494351194755432543637141e-01 5.5762694314210270452036866e-01 + 4.5569040297560853280955939e-01 -6.5638218777154799798978502e-01 2.2492072032367749212511399e-01 5.5760142555524527807619961e-01 + 4.5570730142076942836837361e-01 -6.5639855311314754260365589e-01 2.2489824654369069967252415e-01 5.5757741489800283218869481e-01 + 4.5572593272260936148043697e-01 -6.5641502031883969259240530e-01 2.2487577232444652675091845e-01 5.5755186517974142379472369e-01 + 4.5574459710607079232502770e-01 -6.5643147917501687427233037e-01 2.2485227064852508771508610e-01 5.5752670944173354783401919e-01 + 4.5576320263906677787701938e-01 -6.5644826232002495558504052e-01 2.2482893202545489730326267e-01 5.5750115097773034200656639e-01 + 4.5578112654069291576064415e-01 -6.5646523495765396472023667e-01 2.2480587065897958409799173e-01 5.5747581158158543424008258e-01 + 4.5579890841215536800845598e-01 -6.5648186811791486849898547e-01 2.2478335961715528723559032e-01 5.5745076299340101666501823e-01 + 4.5581717476727390270241358e-01 -6.5649840727913721938335812e-01 2.2476103605968306142770530e-01 5.5742535024567574364340317e-01 + 4.5583550507838294096885079e-01 -6.5651583848435590695657993e-01 2.2473772020696108908666133e-01 5.5739923147174919026980433e-01 + 4.5585420186760106098233791e-01 -6.5653256560512496253778636e-01 2.2471510909164271740934282e-01 5.5737335483994543405827926e-01 + 4.5587388388869037880724022e-01 -6.5654894729940460607053865e-01 2.2469214792411126846438663e-01 5.5734721713626045325185032e-01 + 4.5589253048963573888840983e-01 -6.5656555299406216263946590e-01 2.2466927906463488029409348e-01 5.5732162196521273234139926e-01 + 4.5591076532987251379580584e-01 -6.5658136039672254646859528e-01 2.2464791411747625504702341e-01 5.5729669469555120908665913e-01 + 4.5592913209836716248446464e-01 -6.5659772216567391378561069e-01 2.2462585492337910908489107e-01 5.5727128317437946147805405e-01 + 4.5594738237482546061585253e-01 -6.5661457947916002098054378e-01 2.2460276170156801001098756e-01 5.5724579671539842262717457e-01 + 4.5596572656045797344859238e-01 -6.5663137924501635556140400e-01 2.2457963362340041535425428e-01 5.5722031204413258187457814e-01 + 4.5598462153529056850587153e-01 -6.5664782870713611639956753e-01 2.2455694485211211142150489e-01 5.5719460917726659765492059e-01 + 4.5600361155739749241533332e-01 -6.5666379758872372995881506e-01 2.2453404012512495624420694e-01 5.5716947871186794927211849e-01 + 4.5602211138774495502445916e-01 -6.5667967659049919504354875e-01 2.2451170698646688572708285e-01 5.5714462189316993345755691e-01 + 4.5604061034383408523851244e-01 -6.5669555459276185427341943e-01 2.2448937362232068704059884e-01 5.5711976398794760267918491e-01 + 4.5605983786154857817507491e-01 -6.5671157405538993501181722e-01 2.2446693989290011916892809e-01 5.5709418026623436226429931e-01 + 4.5607918052232282457580936e-01 -6.5672761513502508901041210e-01 2.2444448999181304538197423e-01 5.5706848010407450377812211e-01 + 4.5610138486401674562387143e-01 -6.5674206912715649142597840e-01 2.2441955699209903407620459e-01 5.5704330514168953758513680e-01 + 4.5612547872244402213937065e-01 -6.5675547447763660269259844e-01 2.2439298395430781751791471e-01 5.5701847649423397168533256e-01 + 4.5614833257879477956819869e-01 -6.5676904097847732533210774e-01 2.2436706281591503597816484e-01 5.5699420699066126694276591e-01 + 4.5616880275907861763684537e-01 -6.5678291865687421502428833e-01 2.2434239572213612867734867e-01 5.5697101417538696921383234e-01 + 4.5618875581451334699778499e-01 -6.5679722080567448649901507e-01 2.2431809576530661876070383e-01 5.5694759333583210292317744e-01 + 4.5620283435846836761484724e-01 -6.5681636308167390403411900e-01 2.2429797558405376034507128e-01 5.5692158986733308889682803e-01 + 4.5621691204552705656283251e-01 -6.5683550438510496238819769e-01 2.2427785520361701032676649e-01 5.5689558537312378039274563e-01 + 4.5623385024629836692611207e-01 -6.5685458181468203697761510e-01 2.2425755674564759600819741e-01 5.5686738141228042664465647e-01 + 4.5625140897407429063648010e-01 -6.5687364446166796039250357e-01 2.2423721941086730002901106e-01 5.5683869877344260856943947e-01 + 4.5626914410262131571727195e-01 -6.5689086776841598691589752e-01 2.2421644530449530430260552e-01 5.5681221398002311850916612e-01 + 4.5628701722280984309776386e-01 -6.5690665109628831874744037e-01 2.2419532925987400995282428e-01 5.5678744956888848172127382e-01 + 4.5630562338491498231007881e-01 -6.5692179244110915359300407e-01 2.2417339407304159859535275e-01 5.5676316874685372049214038e-01 + 4.5632594081366911753505633e-01 -6.5693543729993897350993848e-01 2.2414954810852108502139401e-01 5.5674001746129553325204142e-01 + 4.5634621881306752788631798e-01 -6.5694926064751568706157059e-01 2.2412578442792893684831768e-01 5.5671665168581419003146493e-01 + 4.5636555234742914866075125e-01 -6.5696747345736394851911655e-01 2.2410403917246327076817636e-01 5.5668806442770157882904414e-01 + 4.5638488486059913817882716e-01 -6.5698568508282917388640954e-01 2.2408229365091977824953062e-01 5.5665947592685982581173221e-01 + 4.5640421737376912769690307e-01 -6.5700389670829439925370252e-01 2.2406054812937628573088489e-01 5.5663088742601807279442028e-01 + 4.5642354988693911721497898e-01 -6.5702210833375962462099551e-01 2.2403880260783279321223915e-01 5.5660229892517631977710835e-01 + 4.5644288240010910673305489e-01 -6.5704031995922484998828850e-01 2.2401705708628930069359342e-01 5.5657371042433456675979642e-01 + 4.5646221491327909625113080e-01 -6.5705853158469007535558148e-01 2.2399531156474580817494768e-01 5.5654512192349281374248449e-01 + 4.5648154742644908576920670e-01 -6.5707674321015530072287447e-01 2.2397356604320231565630195e-01 5.5651653342265106072517256e-01 + 4.5650087993961907528728261e-01 -6.5709495483562052609016746e-01 2.2395182052165882313765621e-01 5.5648794492180930770786063e-01 + 4.5652021245278906480535852e-01 -6.5711316646108575145746045e-01 2.2393007500011533061901048e-01 5.5645935642096755469054870e-01 + 4.5653954496595905432343443e-01 -6.5713137808655097682475343e-01 2.2390832947857183810036474e-01 5.5643076792012580167323677e-01 + 4.5655887747912904384151034e-01 -6.5714958971201620219204642e-01 2.2388658395702834558171901e-01 5.5640217941928404865592483e-01 + 4.5657820999229903335958625e-01 -6.5716780133748142755933941e-01 2.2386483843548485306307327e-01 5.5637359091844229563861290e-01 + + +SCAN_DURATION 3.4596863999999996508449840e+01 +INT_TIME 1.8769999999999999792249517e-03 + +ALONG_SCAN_PIXEL_SIZE 7.0946954300014925670625487e-03 +CROSS_SCAN_PIXEL_SIZE 7.0000000000000001457167720e-03 + +CENTER_GP 3.2498570683665473080026231e-01 1.3517025803113738025018620e+00 0.0000000000000000000000000e+00 +SENSOR_POSITION 3.2210702957228665166411474e-01 1.3229232300623343654422115e+00 2.7834964551140909316018224e+05 +MOUNTING_ANGLES 0.0000000000000000000000000e+00 0.0000000000000000000000000e+00 0.0000000000000000000000000e+00 + +TOTAL_LINES 18432 +TOTAL_SAMPLES 5000 + + + + +IKCODE -74021 +ISIS_Z_DIRECTION 1.0000000000000000000000000e+00 +OPTICAL_DIST_COEF -7.3433925920054999789132744e-03 2.8375878636241700514334166e-05 1.2841989124027100312193378e-08 +ITRANSS 0.0000000000000000000000000e+00 0.0000000000000000000000000e+00 1.4285714285713999061044888e+02 +ITRANSL 0.0000000000000000000000000e+00 1.4285714285713999061044888e+02 0.0000000000000000000000000e+00 +DETECTOR_SAMPLE_ORIGIN 2.5434609900000000379804987e+03 +DETECTOR_LINE_ORIGIN 4.3044252700000001921054604e-01 +DETECTOR_LINE_OFFSET 0.0000000000000000000000000e+00 +DETECTOR_SAMPLE_SUMMING 1.0000000000000000000000000e+00 +STARTING_SAMPLE 1.0000000000000000000000000e+00 +STARTING_LINE 1.0000000000000000000000000e+00 +STARTING_EPHEMERIS_TIME 5.1736275422839599847793579e+08 +CENTER_EPHEMERIS_TIME 5.1736277152588951587677002e+08 \ No newline at end of file diff --git a/plio/io/io_gpf.py b/plio/io/io_bae.py similarity index 62% rename from plio/io/io_gpf.py rename to plio/io/io_bae.py index ae507ea..e0c3d4f 100644 --- a/plio/io/io_gpf.py +++ b/plio/io/io_bae.py @@ -1,88 +1,139 @@ +import json +import re + import numpy as np -import pandas as pd - -def read_gpf(input_data): - """ - Read a socet gpf file into a pandas data frame - - Parameters - ---------- - input_file : str - path to the input data file - - Returns - ------- - df : pd.DataFrame - containing the gpf data with appropriate column names and indices - """ - - # Check that the number of rows is matching the expected number - with open(input_data, 'r') as f: - for i, l in enumerate(f): - if i == 1: - cnt = int(l) - elif i == 2: - col = l - break - - # Mixed types requires read as unicode - let pandas soft convert - d = np.genfromtxt(input_data, skip_header=3, dtype='unicode') - d = d.reshape(-1, 12) - - #TODO: cols should be used to dynamically generate the column names - - df = pd.DataFrame(d, columns=['point_id', 'stat', 'known', - 'lat_Y_North', 'long_X_East','ht', - 'sigma0', 'sigma1', 'sigma2', - 'res0', 'res1', 'res2']) - - # Soft conversion of numeric types to numerics, allows str in first col for point_id - df = df.apply(pd.to_numeric, errors='ignore') - - # Validate the read data with the header point count - assert int(cnt) == len(df) - - return df - -def save_gpf(df, output_file): - """ - Write a socet gpf file from a gpf-defined pandas dataframe - - Parameters - ---------- - df : pd.DataFrame - Pandas DataFrame - - output_file : str - path to the output data file - - Returns - ------- - int : success value - 0 = success, 1 = errors - """ - - # Check that file can be opened - try: - outGPF = open(output_file, 'w', newline='\r\n') - except: - print ('Unable to open output gpf file: {0}'.format(output_file)) - return 1 - - #grab number of rows in pandas dataframe - numpts = len(df) - - #Output gpf header - outGPF.write('GROUND POINT FILE\n') - outGPF.write('{0}\n'.format(numpts)) - outGPF.write('point_id,stat,known,lat_Y_North,long_X_East,ht,sig(3),res(3)\n') - - for index,row in df.iterrows(): - #Output coordinates to gpf file - outGPF.write('{0} {1} {2}\n'.format(row['point_id'], row['stat'], row['known'])) - outGPF.write('{0} {1} {2}\n'.format(row['lat_Y_North'], row['long_X_East'], row['ht'])) - outGPF.write('{0} {1} {2}\n'.format(row['sigma0'], row['sigma1'], row['sigma2'])) - outGPF.write('{0} {1} {2}\n\n'.format(row['res0'], row['res1'], row['res2'])) - - outGPF.close() - return +import pandas as pd + +def socetset_keywords_to_json(keywords, ell=None): + """ + Convert a SocetCet keywords.list file to JSON + + Parameters + ---------- + keywords : str + Path to the socetset keywords.list file + + Returns + ------- + : str + The serialized JSON string. + """ + matcher = re.compile(r'\b(?!\d)\w+\b') + numeric_matcher = re.compile(r'\W-?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?') + stream = {} + + def parse(fi): + with open(fi, 'r') as f: + for l in f: + l = l.rstrip() + if not l: + continue + matches = matcher.findall(l) + if matches: + key = matches[0] + stream[key] = [] + # Case where the kw are strings after the key + if len(matches) > 1: + stream[key] = matches[1:] + # Case where the kw are numeric types after the key + else: + nums = numeric_matcher.findall(l) + if len(nums) == 1: + stream[key] = float(nums[0]) + else: + stream[key] += map(float, nums) + else: + # Case where the values are on a newline after the key + nums = numeric_matcher.findall(l) + stream[key] += map(float, nums) + + parse(keywords) + if ell: + parse(ell) + return json.dumps(stream) + +def read_gpf(input_data): + """ + Read a socet gpf file into a pandas data frame + + Parameters + ---------- + input_file : str + path to the input data file + + Returns + ------- + df : pd.DataFrame + containing the gpf data with appropriate column names and indices + """ + + # Check that the number of rows is matching the expected number + with open(input_data, 'r') as f: + for i, l in enumerate(f): + if i == 1: + cnt = int(l) + elif i == 2: + col = l + break + + # Mixed types requires read as unicode - let pandas soft convert + d = np.genfromtxt(input_data, skip_header=3, dtype='unicode') + d = d.reshape(-1, 12) + + #TODO: cols should be used to dynamically generate the column names + + df = pd.DataFrame(d, columns=['point_id', 'stat', 'known', + 'lat_Y_North', 'long_X_East','ht', + 'sigma0', 'sigma1', 'sigma2', + 'res0', 'res1', 'res2']) + + # Soft conversion of numeric types to numerics, allows str in first col for point_id + df = df.apply(pd.to_numeric, errors='ignore') + + # Validate the read data with the header point count + assert int(cnt) == len(df) + + return df + +def save_gpf(df, output_file): + """ + Write a socet gpf file from a gpf-defined pandas dataframe + + Parameters + ---------- + df : pd.DataFrame + Pandas DataFrame + + output_file : str + path to the output data file + + Returns + ------- + int : success value + 0 = success, 1 = errors + """ + + # Check that file can be opened + try: + outGPF = open(output_file, 'w', newline='\r\n') + except: + print ('Unable to open output gpf file: {0}'.format(output_file)) + return 1 + + #grab number of rows in pandas dataframe + numpts = len(df) + + #Output gpf header + outGPF.write('GROUND POINT FILE\n') + outGPF.write('{0}\n'.format(numpts)) + outGPF.write('point_id,stat,known,lat_Y_North,long_X_East,ht,sig(3),res(3)\n') + + for index,row in df.iterrows(): + #Output coordinates to gpf file + outGPF.write('{0} {1} {2}\n'.format(row['point_id'], row['stat'], row['known'])) + outGPF.write('{0} {1} {2}\n'.format(row['lat_Y_North'], row['long_X_East'], row['ht'])) + outGPF.write('{0} {1} {2}\n'.format(row['sigma0'], row['sigma1'], row['sigma2'])) + outGPF.write('{0} {1} {2}\n\n'.format(row['res0'], row['res1'], row['res2'])) + + outGPF.close() + return \ No newline at end of file diff --git a/plio/io/io_controlnetwork.py b/plio/io/io_controlnetwork.py index b41ced3..87b877a 100644 --- a/plio/io/io_controlnetwork.py +++ b/plio/io/io_controlnetwork.py @@ -1,11 +1,11 @@ from time import gmtime, strftime +import pandas as pd import pvl from plio.io import ControlNetFileV0002_pb2 as cnf -from plio.utils.utils import xstr +from plio.utils.utils import xstr, find_in_dict -VERSION = 2 HEADERSTARTBYTE = 65536 DEFAULTUSERNAME = 'None' @@ -26,8 +26,24 @@ def write_filelist(lst, path="fromlist.lis"): handle.write('\n') return +class IsisControlNetwork(pd.DataFrame): -def to_isis(path, obj, serials, mode='wb', version=VERSION, + # normal properties + _metadata = ['header'] + + @property + def _constructor(self): + return IsisControlNetwork + +def from_isis(path, remove_empty=True): + + # Now get ready to work with the binary + with IsisStore(path, mode='rb') as store: + df = store.read() + + return df + +def to_isis(path, obj, serials, mode='wb', version=2, headerstartbyte=HEADERSTARTBYTE, networkid='None', targetname='None', description='None', username=DEFAULTUSERNAME, @@ -111,10 +127,8 @@ def to_isis(path, obj, serials, mode='wb', version=VERSION, buffer_header_size, points_bytes, creation_date, modified_date) - store.write(header) - class IsisStore(object): """ Class to manage IO of an ISIS control network (version 2). @@ -136,6 +150,7 @@ class IsisStore(object): 9: str, 11: None, 14: None} + self.header_attrs = [(i.name, bt[i.type]) for i in cnf._CONTROLNETFILEHEADERV0002.fields] self.point_attrs = [(i.name, bt[i.type]) for i in cnf._CONTROLPOINTFILEENTRYV0002.fields] self.measure_attrs = [(i.name, bt[i.type]) for i in cnf._CONTROLPOINTFILEENTRYV0002_MEASURE.fields] @@ -147,11 +162,55 @@ class IsisStore(object): self._open() + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, traceback): + self.close() + + def close(self): + if self._handle is not None: + self._handle.close() + self._handle = None + def _open(self): - if self._mode in ['wb', 'a']: - self._handle = open(self._path, self._mode) - else: - raise NotImplementedError + self._handle = open(self._path, self._mode) + + def read(self): + """ + Given an ISIS store, read the underlying ISIS3 compatible control network and + return an IsisControlNetwork dataframe. + """ + pvl_header = pvl.load(self._path) + header_start_byte = find_in_dict(pvl_header, 'HeaderStartByte') + header_bytes = find_in_dict(pvl_header, 'HeaderBytes') + point_start_byte = find_in_dict(pvl_header, 'PointsStartByte') + version = find_in_dict(pvl_header, 'Version') + if version == 2: + point_attrs = [i for i in cnf._CONTROLPOINTFILEENTRYV0002.fields_by_name if i != 'measures'] + measure_attrs = [i for i in cnf._CONTROLPOINTFILEENTRYV0002_MEASURE.fields_by_name] + + cols = point_attrs + measure_attrs + + cp = cnf.ControlPointFileEntryV0002() + self._handle.seek(header_start_byte) + pbuf_header = cnf.ControlNetFileHeaderV0002() + pbuf_header.ParseFromString(self._handle.read(header_bytes)) + + self._handle.seek(point_start_byte) + cp = cnf.ControlPointFileEntryV0002() + pts = [] + for s in pbuf_header.pointMessageSizes: + cp.ParseFromString(self._handle.read(s)) + pt = [getattr(cp, i) for i in point_attrs if i != 'measures'] + + for measure in cp.measures: + meas = pt + [getattr(measure, j) for j in measure_attrs] + pts.append(meas) + df = IsisControlNetwork(pts, columns=cols) + df.header = pvl_header + return df + def write(self, data, offset=0): """ @@ -358,14 +417,3 @@ class IsisStore(object): ]) return pvl.dumps(header, cls=encoder) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_val, traceback): - self.close() - - def close(self): - if self._handle is not None: - self._handle.close() - self._handle = None diff --git a/plio/io/io_gdal.py b/plio/io/io_gdal.py index 5522171..0d44659 100644 --- a/plio/io/io_gdal.py +++ b/plio/io/io_gdal.py @@ -4,17 +4,22 @@ import os import warnings import affine -import gdal import numpy as np -import osr import pvl -from osgeo import ogr +try: + # Try the full GDAL stack + import gdal + from osgeo import ogr + import osr + gdal.UseExceptions() + has_gdal = True +except: + has_gdal = False from plio.io import extract_metadata from plio.geofuncs import geofuncs from plio.utils.utils import find_in_dict -gdal.UseExceptions() NP2GDAL_CONVERSION = { "uint8": 1, @@ -153,6 +158,8 @@ class GeoDataset(object): """ self.file_name = file_name + if not has_gdal: + raise ImportError('No module name gdal.') self.dataset = gdal.Open(file_name) if self.dataset is None: raise IOError('File not found :', file_name) @@ -535,7 +542,8 @@ def array_to_raster(array, file_name, projection=None, A GDAL supported bittype, e.g. GDT_Int32 Default: GDT_Float64 """ - + if not has_gdal: + raise ImportError('No module named gdal.') driver = gdal.GetDriverByName(outformat) try: y, x, bands = array.shape @@ -611,6 +619,9 @@ def match_rasters(match_to, match_from, destination, match_from__srs = match_from.dataset.GetProjection() match_from__gt = match_from.geotransform + if not has_gdal: + raise ImportError('No module named gdal.') + dst = gdal.GetDriverByName('GTiff').Create(destination, width, height, 1, gdalconst.GDT_Float64) diff --git a/plio/io/io_moon_minerology_mapper.py b/plio/io/io_moon_minerology_mapper.py index 8bd7210..6a8ad1e 100644 --- a/plio/io/io_moon_minerology_mapper.py +++ b/plio/io/io_moon_minerology_mapper.py @@ -1,18 +1,17 @@ import numpy as np -from osgeo import gdal +from .io_gdal import GeoDataset -def openm3(input_data): +def open(input_data): if input_data.split('.')[-1] == 'hdr': # GDAL wants the img, but many users aim at the .hdr input_data = input_data.split('.')[0] + '.img' - ds = gdal.Open(input_data) - ref_array = ds.GetRasterBand(1).ReadAsArray() - metadata = ds.GetMetadata() + ds = GeoDataSet(input_data) + ref_array = ds.read_array() + metadata = ds.metadata wv_array = metadatatoband(metadata) return wv_array, ref_array, ds - def metadatatoband(metadata): wv2band = [] for k, v in metadata.items(): diff --git a/plio/io/io_multibandimager.py b/plio/io/io_multibandimager.py index 7e5ba26..4401adb 100644 --- a/plio/io/io_multibandimager.py +++ b/plio/io/io_multibandimager.py @@ -1,19 +1,9 @@ import numpy as np -from osgeo import gdal - - -def openmi(input_data): - ds = gdal.Open(input_data) - band_pointers = [] - nbands = ds.RasterCount - - for b in xrange(1, nbands + 1): - band_pointers.append(ds.GetRasterBand(b)) - - ref_array = ds.GetRasterBand(1).ReadAsArray() - wv_array = None - return wv_array, ref_array[::3, ::3], ds +from .io_gdal import GeoDataset +def open(input_data): + ds = GeoDataset(input_data) + return ds def getspectra(x, y, ds): nbands = ds.RasterCount diff --git a/plio/io/tests/test_io_gpf.py b/plio/io/tests/test_io_bae.py similarity index 65% rename from plio/io/tests/test_io_gpf.py rename to plio/io/tests/test_io_bae.py index d9752c9..3303611 100644 --- a/plio/io/tests/test_io_gpf.py +++ b/plio/io/tests/test_io_bae.py @@ -1,9 +1,9 @@ +import json import numpy as np import pandas as pd from pandas.util.testing import assert_frame_equal -from plio.io.io_gpf import read_gpf -from plio.io.io_gpf import save_gpf +from plio.io.io_bae import socetset_keywords_to_json, read_gpf, save_gpf from plio.examples import get_path import pytest @@ -12,7 +12,7 @@ import pytest def insight_gpf(): return get_path('InSightE08_XW.gpf') -@pytest.fixture() +@pytest.fixture() def insight_expected(): return pd.read_csv(get_path('InSightE08_XW.csv')) @@ -20,7 +20,7 @@ def insight_expected(): def test_read_gfp(gpf, expected): df = read_gpf(gpf) assert_frame_equal(df, expected) - + @pytest.mark.parametrize('gpf', [(insight_gpf())]) def test_write_gpf(gpf): """ @@ -43,3 +43,14 @@ def test_write_gpf(gpf): truth_arr = np.genfromtxt(gpf, skip_header=3) test_arr = np.genfromtxt('out.gpf', skip_header=3) np.testing.assert_array_almost_equal(truth_arr, test_arr) + +def test_create_from_socet_lis(): + socetlis = get_path('socet_isd.lis') + socetell = get_path('ellipsoid.ell') + js = json.loads(socetset_keywords_to_json(socetlis)) + assert isinstance(js, dict) # This is essentially a JSON linter + # Manually validated + assert 'RECTIFICATION_TERMS' in js.keys() + assert 'SEMI_MAJOR_AXIS' in js.keys() # From ellipsoid file + assert 'NUMBER_OF_EPHEM' in js.keys() + assert len(js['EPHEM_PTS']) / 3 == js['NUMBER_OF_EPHEM'] \ No newline at end of file diff --git a/plio/io/tests/test_io_controlnetwork.py b/plio/io/tests/test_io_controlnetwork.py index 82c9858..fc3d05d 100644 --- a/plio/io/tests/test_io_controlnetwork.py +++ b/plio/io/tests/test_io_controlnetwork.py @@ -10,9 +10,23 @@ from plio.io import io_controlnetwork from plio.io import ControlNetFileV0002_pb2 as cnf from plio.utils.utils import find_in_dict +from plio.examples import get_path + +import pytest + +@pytest.fixture +def apollo_cnet(): + return get_path('apollo_out.net') + sys.path.insert(0, os.path.abspath('..')) +def test_cnet_read(apollo_cnet): + df = io_controlnetwork.from_isis(apollo_cnet) + assert len(df) == find_in_dict(df.header, 'NumberOfMeasures') + assert isinstance(df, io_controlnetwork.IsisControlNetwork) + assert len(df.groupby('id')) == find_in_dict(df.header, 'NumberOfPoints') + class TestWriteIsisControlNetwork(unittest.TestCase): @classmethod diff --git a/plio/io/tests/test_io_gdal.py b/plio/io/tests/test_io_gdal.py index 0221a08..fbc3d13 100644 --- a/plio/io/tests/test_io_gdal.py +++ b/plio/io/tests/test_io_gdal.py @@ -226,3 +226,12 @@ class TestWriter(unittest.TestCase): os.remove('test.tif') except: pass + +class TestWithoutGdal(unittest.TestCase): + def test_without_gdal(self): + io_gdal.has_gdal = False + with self.assertRaises(ImportError): + io_gdal.GeoDataset('foo') + + def tearDown(self): + io_gdal.has_gdal = True \ No newline at end of file -- GitLab