diff --git a/pom.xml b/pom.xml index ef239da20..208e5b9d6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.example + com.dfsek Terra 1.0-SNAPSHOT @@ -83,7 +83,13 @@ org.polydev gaea - 1.7.5 + 1.8.1 + + + javax.vecmath + vecmath + 1.5.2 + test diff --git a/src/main/java/com/dfsek/terra/biome/BiomeZone.java b/src/main/java/com/dfsek/terra/biome/BiomeZone.java index aa0399c2c..39280e393 100644 --- a/src/main/java/com/dfsek/terra/biome/BiomeZone.java +++ b/src/main/java/com/dfsek/terra/biome/BiomeZone.java @@ -3,6 +3,7 @@ package com.dfsek.terra.biome; import com.dfsek.terra.config.WorldConfig; import org.bukkit.World; import org.polydev.gaea.biome.BiomeGrid; +import org.polydev.gaea.biome.NormalizationUtil; import org.polydev.gaea.math.FastNoise; import java.util.HashMap; @@ -13,15 +14,17 @@ public class BiomeZone { private final World w; private final FastNoise noise; private static final Map zones = new HashMap<>(); - private static final double[] normalMap = new double[] {-0.35662081837654114D, -0.30661869049072266D, -0.27095329761505127D, -0.24149227142333984D, -0.21537694334983826D, -0.19166918098926544D, -0.16956785321235657D, -0.14864568412303925D, -0.12845154106616974D, -0.10894706845283508D, -0.08996972441673279D, -0.0715663805603981D, -0.053535036742687225D, -0.03580872714519501D, -0.01817353256046772D, -7.577221258543432E-4D, 0.016616813838481903D, 0.03416096046566963D, 0.05187138542532921D, 0.06989025324583054D, 0.08827653527259827D, 0.10723070055246353D, 0.12675245106220245D, 0.14694781601428986D, 0.16793397068977356D, 0.18999846279621124D, 0.2138010412454605D, 0.24002985656261444D, 0.2696261405944824D, 0.30540621280670166D, 0.35551881790161133D, 0.653269350528717D}; - + private static final double[] normalMap = new double[] {-0.572874128818512D, -0.5007192492485046D, -0.4495924413204193D, -0.41612040996551514D, -0.3814384937286377D, -0.3477869927883148D, -0.31369876861572266D, -0.28042978048324585D, -0.24612723290920258D, -0.21002958714962006D, -0.17449893057346344D, -0.1394101232290268D, -0.10480091720819473D, -0.0714595764875412D, -0.03575916960835457D, -0.0017036114586517215D, 0.03202686831355095D, 0.06717526167631149D, 0.10201185941696167D, 0.13758908212184906D, 0.17380206286907196D, 0.20863550901412964D, 0.24430148303508759D, 0.2795235514640808D, 0.31312644481658936D, 0.3475150465965271D, 0.38061848282814026D, 0.415109783411026D, 0.44838231801986694D, 0.4965132176876068D, 0.5715073347091675D, 0.7126374840736389D}; private BiomeZone(World w, float freq) { this.w = w; this.noise = new FastNoise((int) w.getSeed()+2); - noise.setNoiseType(FastNoise.NoiseType.SimplexFractal); - noise.setFractalOctaves(5); - noise.setFrequency(freq); + FastNoise base = new FastNoise((int) (w.getSeed()+2)); + base.setNoiseType(FastNoise.NoiseType.Simplex); + base.setFrequency(freq); + this.noise.setCellularDistanceFunction(FastNoise.CellularDistanceFunction.Natural); + this.noise.setCellularNoiseLookup(base); + this.noise.setFrequency(freq); setZones(WorldConfig.fromWorld(w).definedGrids); zones.put(w, this); } @@ -32,24 +35,11 @@ public class BiomeZone { } protected BiomeGrid getGrid(int x, int z) { - return grids[normalize(noise.getSimplexFractal(x, z))]; + return grids[NormalizationUtil.normalize(noise.getNoise(x, z), 32)]; } protected static BiomeZone fromWorld(World w) { if(zones.containsKey(w)) return zones.get(w); else return new BiomeZone(w, WorldConfig.fromWorld(w).zoneFreq); } - - /** - * Takes a noise input and normalizes it to a value between 0 and 31 inclusive. - * - * @param d - The noise value to normalize. - * @return int - The normalized value. - */ - public static int normalize(double d) { - for(int i = 0; i < normalMap.length; i++) { - if(d < normalMap[i]) return i; - } - return normalMap.length-1; - } } diff --git a/src/main/java/com/dfsek/terra/biome/UserDefinedGrid.java b/src/main/java/com/dfsek/terra/biome/UserDefinedGrid.java index e2553de98..f77c387df 100644 --- a/src/main/java/com/dfsek/terra/biome/UserDefinedGrid.java +++ b/src/main/java/com/dfsek/terra/biome/UserDefinedGrid.java @@ -6,11 +6,13 @@ import org.polydev.gaea.biome.BiomeGrid; public class UserDefinedGrid extends BiomeGrid { public UserDefinedGrid(World w, float freq1, float freq2, BiomeGridConfig config) { - super(w, freq1, freq2); + super(w, freq1, freq2, config.getBiomeGrid().length, config.getBiomeGrid()[0].length); + super.setNormalType(NormalType.CELLULAR); super.setGrid(config.getBiomeGrid()); } public UserDefinedGrid(World w, float freq1, float freq2, UserDefinedBiome[][] b) { - super(w, freq1, freq2); + super(w, freq1, freq2, b.length, b[0].length); + super.setNormalType(NormalType.CELLULAR); super.setGrid(b); } } diff --git a/src/main/java/com/dfsek/terra/config/BiomeGridConfig.java b/src/main/java/com/dfsek/terra/config/BiomeGridConfig.java index 978d7b400..5c796a7b6 100644 --- a/src/main/java/com/dfsek/terra/config/BiomeGridConfig.java +++ b/src/main/java/com/dfsek/terra/config/BiomeGridConfig.java @@ -25,7 +25,9 @@ public class BiomeGridConfig extends YamlConfiguration { private String gridID; private String friendlyName; private boolean isEnabled = false; - private final UserDefinedBiome[][] gridRaw = new UserDefinedBiome[16][16]; + private UserDefinedBiome[][] gridRaw; + private int sizeX; + private int sizeZ; public BiomeGridConfig(File file) throws IOException, InvalidConfigurationException { super(); @@ -40,9 +42,12 @@ public class BiomeGridConfig extends YamlConfiguration { if(!contains("name")) throw new InvalidConfigurationException("Grid Name unspecified!"); this.friendlyName = getString("name"); if(!contains("grid")) throw new InvalidConfigurationException("Grid not found!"); + this.sizeX = ((List>) getList("grid")).size(); + this.sizeZ = ((List>) getList("grid")).get(0).size(); + gridRaw = new UserDefinedBiome[sizeX][sizeZ]; try { - for(int x = 0; x < 16; x++) { - for(int z = 0; z < 16; z++) { + for(int x = 0; x < sizeX; x++) { + for(int z = 0; z < sizeZ; z++) { try { gridRaw[x][z] = BiomeConfig.fromID(((List>) getList("grid")).get(x).get(z)).getBiome(); } catch(NullPointerException e) { @@ -56,6 +61,14 @@ public class BiomeGridConfig extends YamlConfiguration { isEnabled = true; } + public int getSizeX() { + return sizeX; + } + + public int getSizeZ() { + return sizeZ; + } + public String getFriendlyName() { return friendlyName; } @@ -87,7 +100,7 @@ public class BiomeGridConfig extends YamlConfiguration { try { BiomeGridConfig grid = new BiomeGridConfig(path.toFile()); biomeGrids.put(grid.getGridID(), grid); - main.getLogger().info("Loaded BiomeGrid with name " + grid.getFriendlyName() + ", ID " + grid.getGridID() + " from " + path.toString()); + main.getLogger().info("Loaded BiomeGrid with name " + grid.getFriendlyName() + ", ID " + grid.getGridID() + " Size: " + grid.getSizeX() + ", " + grid.getSizeZ() + " from " + path.toString()); } catch(IOException e) { e.printStackTrace(); } catch(InvalidConfigurationException | IllegalArgumentException e) { diff --git a/src/test/java/DistributionTest.java b/src/test/java/DistributionTest.java index 5836c78e7..0e941a1ca 100644 --- a/src/test/java/DistributionTest.java +++ b/src/test/java/DistributionTest.java @@ -1,34 +1,64 @@ import com.dfsek.terra.biome.BiomeZone; import org.polydev.gaea.math.FastNoise; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import java.util.Random; public class DistributionTest { + private static final double[] normalMap = new double[] {-0.7074090838432312D, -0.6983937621116638D, -0.6916067600250244D, -0.6815563440322876D, -0.6738069653511047D, -0.6669901609420776D, -0.6638160943984985D, -0.6613113880157471D, -0.6590566039085388D, -0.6569026112556458D, -0.6553084850311279D, -0.6537241339683533D, -0.6522396802902222D, -0.6510595679283142D, -0.6501344442367554D, -0.6492011547088623D, -0.6481583118438721D, -0.6471081376075745D, -0.6462589502334595D, -0.6451671719551086D, -0.6443428993225098D, -0.6434608101844788D, -0.6426240801811218D, -0.6418614387512207D, -0.6410216093063354D, -0.6403073668479919D, -0.6395679712295532D, -0.6387998461723328D, -0.638111412525177D, -0.6372985243797302D, -0.6365064978599548D, -0.6358203887939453D, -0.6349064707756042D, -0.6342090368270874D, -0.6337069272994995D, -0.633001446723938D, -0.6322312951087952D, -0.631661057472229D, -0.6309065818786621D, -0.6301361322402954D, -0.6294490694999695D, -0.6287845969200134D, -0.6280625462532043D, -0.627465009689331D, -0.6267663240432739D, -0.626183271408081D, -0.6255864500999451D, -0.6248782277107239D, -0.624212384223938D, -0.6238000392913818D, -0.6231371164321899D, -0.6224943995475769D, -0.6218792200088501D, -0.6213060021400452D, -0.6206783652305603D, -0.6201399564743042D, -0.6195181608200073D, -0.6189191937446594D, -0.6180287003517151D, -0.6174584627151489D, -0.6170166730880737D, -0.616350531578064D, -0.6157816648483276D, -0.6152390241622925D, -0.6145324110984802D, -0.6139620542526245D, -0.61328125D, -0.6127347946166992D, -0.6120567917823792D, -0.6113621592521667D, -0.6104971766471863D, -0.6099048256874084D, -0.608817994594574D, -0.6080660223960876D, -0.6072586178779602D, -0.606625497341156D, -0.6057839393615723D, -0.6050985455513D, -0.6045429706573486D, -0.6039659380912781D, -0.6032459735870361D, -0.6026276350021362D, -0.6018943786621094D, -0.6011484861373901D, -0.6003972887992859D, -0.5997307300567627D, -0.5989946722984314D, -0.5982387065887451D, -0.597582995891571D, -0.5968650579452515D, -0.5961800217628479D, -0.5956499576568604D, -0.594971776008606D, -0.5942410230636597D, -0.5937290191650391D, -0.593068540096283D, -0.592410147190094D, -0.5917299389839172D, -0.5910217761993408D, -0.5904621481895447D, -0.5899747610092163D, -0.589218020439148D, -0.5883771777153015D, -0.5875868201255798D, -0.586907148361206D, -0.5861385464668274D, -0.5854381918907166D, -0.5847938656806946D, -0.5841156244277954D, -0.5834392309188843D, -0.582630455493927D, -0.5819268226623535D, -0.5814274549484253D, -0.580765426158905D, -0.5801209807395935D, -0.5796810388565063D, -0.5792078375816345D, -0.5786181092262268D, -0.5780342221260071D, -0.5774702429771423D, -0.5770033001899719D, -0.5764638185501099D, -0.5759979486465454D, -0.5754085183143616D, -0.5747255682945251D, -0.5740239024162292D, -0.57340008020401D, -0.572874128818512D, -0.5724111795425415D, -0.5719996690750122D, -0.5714352130889893D, -0.5707415342330933D, -0.5702087879180908D, -0.5696454644203186D, -0.5691488981246948D, -0.5685044527053833D, -0.567990243434906D, -0.5674160122871399D, -0.5668932795524597D, -0.5664599537849426D, -0.5656421780586243D, -0.5650233030319214D, -0.5643867254257202D, -0.5638323426246643D, -0.5633259415626526D, -0.5626614093780518D, -0.5620179772377014D, -0.56131911277771D, -0.5606859922409058D, -0.5602015852928162D, -0.5595278739929199D, -0.5589155554771423D, -0.5583369135856628D, -0.5578821897506714D, -0.5571556091308594D, -0.5566734075546265D, -0.5561076998710632D, -0.5553616881370544D, -0.5547254681587219D, -0.5540726780891418D, -0.5533741116523743D, -0.5527831315994263D, -0.552133321762085D, -0.5515923500061035D, -0.5509361028671265D, -0.5503506660461426D, -0.5498544573783875D, -0.5491971373558044D, -0.5486406087875366D, -0.5478317737579346D, -0.5473202466964722D, -0.546663224697113D, -0.5460997223854065D, -0.5455703139305115D, -0.5450489521026611D, -0.5445272922515869D, -0.5440360903739929D, -0.5435668230056763D, -0.5429897308349609D, -0.5424480438232422D, -0.5420375466346741D, -0.5414220690727234D, -0.5409082770347595D, -0.5403460264205933D, -0.5397695302963257D, -0.5392237305641174D, -0.5386609435081482D, -0.5380395650863647D, -0.5375149846076965D, -0.5369104146957397D, -0.5363602042198181D, -0.5358449816703796D, -0.5351901054382324D, -0.5346441864967346D, -0.5339838862419128D, -0.5334790349006653D, -0.5328581929206848D, -0.53231281042099D, -0.531755268573761D, -0.5311923623085022D, -0.5305578112602234D, -0.5300067067146301D, -0.5294909477233887D, -0.5288727283477783D, -0.5283600687980652D, -0.5278205275535583D, -0.527280867099762D, -0.5266819596290588D, -0.5259708762168884D, -0.5254105925559998D, -0.5246822237968445D, -0.5241648554801941D, -0.5237182378768921D, -0.5232840180397034D, -0.5226284861564636D, -0.5220814347267151D, -0.5215300917625427D, -0.5210031270980835D, -0.5204776525497437D, -0.5198733806610107D, -0.5193755626678467D, -0.5187353491783142D, -0.5182331800460815D, -0.5176404118537903D, -0.5171401500701904D, -0.516610324382782D, -0.5160809755325317D, -0.5156450271606445D, -0.5149171352386475D, -0.5144060850143433D, -0.5138505101203918D, -0.5132284164428711D, -0.5127931833267212D, -0.5122621059417725D, -0.5117353796958923D, -0.5112594962120056D, -0.5108838677406311D, -0.5102788805961609D, -0.5098305344581604D, -0.5092529654502869D, -0.5087839365005493D, -0.5082935094833374D, -0.5076234936714172D, -0.5070430636405945D, -0.5064929127693176D, -0.5060410499572754D, -0.5054687857627869D, -0.5049325227737427D, -0.5045183897018433D, -0.5040984153747559D, -0.5035842657089233D, -0.5029631853103638D, -0.5024572610855103D, -0.5019847750663757D, -0.5013370513916016D, -0.5007192492485046D, -0.5001525282859802D, -0.4996320307254791D, -0.49928081035614014D, -0.4987965226173401D, -0.4982501268386841D, -0.49770671129226685D, -0.4971601068973541D, -0.49662506580352783D, -0.4960964024066925D, -0.49544620513916016D, -0.49487799406051636D, -0.4943504333496094D, -0.4937976598739624D, -0.49327561259269714D, -0.4928327202796936D, -0.49227768182754517D, -0.4917922019958496D, -0.4913262128829956D, -0.490785151720047D, -0.4902591109275818D, -0.4897206425666809D, -0.4891411364078522D, -0.4885691702365875D, -0.48816487193107605D, -0.4877089858055115D, -0.48732906579971313D, -0.48689261078834534D, -0.48659971356391907D, -0.4863286316394806D, -0.48602917790412903D, -0.4856075048446655D, -0.485206663608551D, -0.4847385883331299D, -0.48440098762512207D, -0.4838847219944D, -0.48343148827552795D, -0.4829321503639221D, -0.4824748635292053D, -0.482073575258255D, -0.48166829347610474D, -0.48137134313583374D, -0.48084211349487305D, -0.4803483784198761D, -0.4798624515533447D, -0.47945162653923035D, -0.47900915145874023D, -0.4785805940628052D, -0.478198379278183D, -0.4777815341949463D, -0.4773005247116089D, -0.4768213629722595D, -0.47640809416770935D, -0.4760139584541321D, -0.4756605625152588D, -0.4751925468444824D, -0.4748322069644928D, -0.47433167695999146D, -0.47399401664733887D, -0.47348296642303467D, -0.4729257822036743D, -0.4725329577922821D, -0.47206151485443115D, -0.4717153012752533D, -0.4712454080581665D, -0.4707789123058319D, -0.47031307220458984D, -0.46990257501602173D, -0.4694746434688568D, -0.46902355551719666D, -0.46853339672088623D, -0.4681911766529083D, -0.46793511509895325D, -0.4675010144710541D, -0.46723511815071106D, -0.46683961153030396D, -0.4663589298725128D, -0.4659228026866913D, -0.4655939042568207D, -0.4651978611946106D, -0.46488362550735474D, -0.4645532965660095D, -0.4641802906990051D, -0.4638530910015106D, -0.46348413825035095D, -0.4631831645965576D, -0.462777316570282D, -0.46247053146362305D, -0.4621366560459137D, -0.4618232250213623D, -0.46133455634117126D, -0.4609663486480713D, -0.4606646001338959D, -0.4603061378002167D, -0.45993924140930176D, -0.4595416486263275D, -0.45920875668525696D, -0.45887646079063416D, -0.4585459232330322D, -0.458222895860672D, -0.45790383219718933D, -0.4576045870780945D, -0.45723891258239746D, -0.4568835198879242D, -0.45653167366981506D, -0.45620018243789673D, -0.4558698236942291D, -0.45556625723838806D, -0.455201655626297D, -0.4549248218536377D, -0.4546377658843994D, -0.4543710947036743D, -0.45410823822021484D, -0.4538608193397522D, -0.453518271446228D, -0.4532686769962311D, -0.45294132828712463D, -0.45268329977989197D, -0.45239537954330444D, -0.45210447907447815D, -0.45185136795043945D, -0.4515272080898285D, -0.4512813091278076D, -0.4509768486022949D, -0.4506894052028656D, -0.4504287540912628D, -0.45012277364730835D, -0.4498519003391266D, -0.4495924413204193D, -0.44932985305786133D, -0.44903144240379333D, -0.4487367272377014D, -0.4485105574131012D, -0.44824057817459106D, -0.4479905962944031D, -0.44773751497268677D, -0.447445273399353D, -0.44717177748680115D, -0.4468865692615509D, -0.4466392695903778D, -0.4464315176010132D, -0.44618159532546997D, -0.44590914249420166D, -0.4456172585487366D, -0.44534024596214294D, -0.4450364112854004D, -0.44475919008255005D, -0.4444931745529175D, -0.4441738724708557D, -0.44392213225364685D, -0.4436763823032379D, -0.4434534013271332D, -0.44321203231811523D, -0.4429621994495392D, -0.442734032869339D, -0.44251441955566406D, -0.44226348400115967D, -0.4420219361782074D, -0.4417801797389984D, -0.4415345788002014D, -0.44125282764434814D, -0.4410340487957001D, -0.44076964259147644D, -0.44049033522605896D, -0.4402198791503906D, -0.4399493336677551D, -0.4397716522216797D, -0.43953973054885864D, -0.4393041133880615D, -0.4390789270401001D, -0.43880748748779297D, -0.4385336637496948D, -0.4382161498069763D, -0.4379376173019409D, -0.4376905560493469D, -0.4374796450138092D, -0.4372248947620392D, -0.4369683563709259D, -0.4367448389530182D, -0.43645617365837097D, -0.4362124502658844D, -0.4359497129917145D, -0.43570148944854736D, -0.43541547656059265D, -0.4351640045642853D, -0.4349319338798523D, -0.4346846640110016D, -0.43435272574424744D, -0.4340965747833252D, -0.4338533282279968D, -0.4335700571537018D, -0.4333385229110718D, -0.4330928921699524D, -0.43276166915893555D, -0.4324991703033447D, -0.4322715103626251D, -0.43203210830688477D, -0.4317966401576996D, -0.431527704000473D, -0.43123579025268555D, -0.4309692978858948D, -0.4307034909725189D, -0.43040648102760315D, -0.430142879486084D, -0.42988672852516174D, -0.42968621850013733D, -0.429374635219574D, -0.4291524589061737D, -0.42889082431793213D, -0.4286285936832428D, -0.4283604621887207D, -0.4280983805656433D, -0.4278236925601959D, -0.42764246463775635D, -0.42739248275756836D, -0.42711636424064636D, -0.42680734395980835D, -0.42653852701187134D, -0.4263246953487396D, -0.4260218143463135D, -0.42578592896461487D, -0.4255554974079132D, -0.42528602480888367D, -0.4250181019306183D, -0.42475733160972595D, -0.4244840145111084D, -0.4242318570613861D, -0.42397570610046387D, -0.4237372875213623D, -0.42348816990852356D, -0.42319950461387634D, -0.422948956489563D, -0.4226834177970886D, -0.42237672209739685D, -0.4221125543117523D, -0.42182403802871704D, -0.4214874804019928D, -0.4212418496608734D, -0.4208984673023224D, -0.42063263058662415D, -0.4204133450984955D, -0.42020612955093384D, -0.4198864996433258D, -0.4195728898048401D, -0.4193090796470642D, -0.4190734624862671D, -0.4188409149646759D, -0.4185793995857239D, -0.41830745339393616D, -0.41805300116539D, -0.4177275598049164D, -0.4174269139766693D, -0.4172058403491974D, -0.416882187128067D, -0.4165782034397125D, -0.4163512587547302D, -0.41612082719802856D, -0.4158444106578827D, -0.4155919551849365D, -0.4153860807418823D, -0.41504883766174316D, -0.41481465101242065D, -0.4145377278327942D, -0.4142366945743561D, -0.414020836353302D, -0.4137434661388397D, -0.41353586316108704D, -0.41319364309310913D, -0.4129030704498291D, -0.4126488268375397D, -0.4123631715774536D, -0.41209688782691956D, -0.4117530882358551D, -0.41149309277534485D, -0.4112321734428406D, -0.4109329581260681D, -0.4106753468513489D, -0.4104209244251251D, -0.41016685962677D, -0.409882128238678D, -0.40964534878730774D, -0.4093727171421051D, -0.4090921878814697D, -0.408861368894577D, -0.4085817039012909D, -0.4082987904548645D, -0.4080130159854889D, -0.4077475965023041D, -0.4074755012989044D, -0.40719202160835266D, -0.4069582521915436D, -0.4066917896270752D, -0.4063776731491089D, -0.40618595480918884D, -0.40592899918556213D, -0.40560463070869446D, -0.4053642153739929D, -0.405098021030426D, -0.40481722354888916D, -0.4046034514904022D, -0.4042997360229492D, -0.4040476381778717D, -0.40370410680770874D, -0.40342962741851807D, -0.4031381905078888D, -0.40289849042892456D, -0.4026124179363251D, -0.40233150124549866D, -0.40208256244659424D, -0.40181922912597656D, -0.40153464674949646D, -0.4012669324874878D, -0.4010087251663208D, -0.4007990062236786D, -0.40050825476646423D, -0.40021827816963196D, -0.39995238184928894D, -0.39963671565055847D, -0.3993416726589203D, -0.3990669846534729D, -0.3988487124443054D, -0.39859578013420105D, -0.3983200490474701D, -0.39801454544067383D, -0.3977908194065094D, -0.39755386114120483D, -0.39731481671333313D, -0.3970530927181244D, -0.39677703380584717D, -0.3965216279029846D, -0.3962113857269287D, -0.39594900608062744D, -0.39569512009620667D, -0.3954516351222992D, -0.3951782286167145D, -0.39488738775253296D, -0.39458373188972473D, -0.3943266272544861D, -0.3940340280532837D, -0.3938029408454895D, -0.39352089166641235D, -0.39324793219566345D, -0.3929077088832855D, -0.39265066385269165D, -0.3924110531806946D, -0.3921126127243042D, -0.3918284475803375D, -0.39152881503105164D, -0.3912699818611145D, -0.3910118341445923D, -0.39072385430336D, -0.39037850499153137D, -0.3900948166847229D, -0.38986286520957947D, -0.38958755135536194D, -0.3893251121044159D, -0.3890567123889923D, -0.3887155055999756D, -0.3884783387184143D, -0.3881898522377014D, -0.38791167736053467D, -0.3876562714576721D, -0.3873599171638489D, -0.38708698749542236D, -0.38685721158981323D, -0.3866018056869507D, -0.3863486051559448D, -0.38605132699012756D, -0.38579434156417847D, -0.38553377985954285D, -0.38530585169792175D, -0.3850640058517456D, -0.38479241728782654D, -0.3845779299736023D, -0.3843064606189728D, -0.38401341438293457D, -0.3837873339653015D, -0.38351088762283325D, -0.3832011818885803D, -0.38295862078666687D, -0.3826715052127838D, -0.38233184814453125D, -0.38203009963035583D, -0.3817219138145447D, -0.3814416825771332D, -0.38113969564437866D, -0.3808390200138092D, -0.3805508017539978D, -0.3802794814109802D, -0.3800211548805237D, -0.379778116941452D, -0.3795294165611267D, -0.3792533278465271D, -0.37901225686073303D, -0.3787318468093872D, -0.37841761112213135D, -0.3781658113002777D, -0.3779207468032837D, -0.3775750398635864D, -0.37727418541908264D, -0.37703198194503784D, -0.3767499327659607D, -0.37647581100463867D, -0.3761838674545288D, -0.3759293258190155D, -0.3756261467933655D, -0.37537604570388794D, -0.3751447796821594D, -0.37480753660202026D, -0.3746311068534851D, -0.3743789792060852D, -0.37415963411331177D, -0.37398219108581543D, -0.37372785806655884D, -0.37342628836631775D, -0.3732351064682007D, -0.37293654680252075D, -0.37267690896987915D, -0.3723878264427185D, -0.37204357981681824D, -0.3718506693840027D, -0.37164682149887085D, -0.3713753819465637D, -0.37111377716064453D, -0.3708304464817047D, -0.37054964900016785D, -0.3702934682369232D, -0.37005284428596497D, -0.36978283524513245D, -0.3695680797100067D, -0.3692616820335388D, -0.3690427839756012D, -0.36879339814186096D, -0.3685653805732727D, -0.3682822287082672D, -0.3680536150932312D, -0.3678511679172516D, -0.3676067590713501D, -0.36737507581710815D, -0.36709654331207275D, -0.36684277653694153D, -0.36661145091056824D, -0.36637136340141296D, -0.36608535051345825D, -0.3657883405685425D, -0.3655432462692261D, -0.36522358655929565D, -0.36493733525276184D, -0.36464035511016846D, -0.3643268644809723D, -0.36407843232154846D, -0.36384981870651245D, -0.3636155426502228D, -0.36331161856651306D, -0.36299392580986023D, -0.36274030804634094D, -0.36245810985565186D, -0.36217206716537476D, -0.36191874742507935D, -0.36164507269859314D, -0.3613770306110382D, -0.3611277937889099D, -0.36091846227645874D, -0.3606182932853699D, -0.36040157079696655D, -0.3601619303226471D, -0.3598631024360657D, -0.3596149682998657D, -0.35934752225875854D, -0.3590245842933655D, -0.35875412821769714D, -0.35856297612190247D, -0.35833147168159485D, -0.3580707013607025D, -0.35785242915153503D, -0.35760578513145447D, -0.3573267459869385D, -0.35707125067710876D, -0.35680413246154785D, -0.35656559467315674D, -0.35624194145202637D, -0.3559691905975342D, -0.35575252771377563D, -0.3554443418979645D, -0.3551827371120453D, -0.3549513518810272D, -0.35473164916038513D, -0.35446131229400635D, -0.3541669249534607D, -0.3539014756679535D, -0.3536296486854553D, -0.35338374972343445D, -0.35315555334091187D, -0.35293617844581604D, -0.352652907371521D, -0.3524576425552368D, -0.352152019739151D, -0.3519066274166107D, -0.3516879379749298D, -0.3513433337211609D, -0.3510977327823639D, -0.35079750418663025D, -0.3505057990550995D, -0.35029175877571106D, -0.350007563829422D, -0.34974610805511475D, -0.34946873784065247D, -0.34916576743125916D, -0.3488866090774536D, -0.3485700190067291D, -0.3482755124568939D, -0.34804847836494446D, -0.3477869927883148D, -0.34753257036209106D, -0.34730324149131775D, -0.3470223546028137D, -0.3467472195625305D, -0.3464161455631256D, -0.34616363048553467D, -0.34598490595817566D, -0.3457045257091522D, -0.3454446494579315D, -0.3451104462146759D, -0.3448137938976288D, -0.3445700407028198D, -0.3442597985267639D, -0.3440222144126892D, -0.34374889731407166D, -0.34343069791793823D, -0.34302663803100586D, -0.34274548292160034D, -0.34244662523269653D, -0.3421945571899414D, -0.341935396194458D, -0.3416849672794342D, -0.3414728343486786D, -0.3412446975708008D, -0.34093979001045227D, -0.3406948745250702D, -0.34042513370513916D, -0.34017109870910645D, -0.33990031480789185D, -0.3395955562591553D, -0.3393574059009552D, -0.33912429213523865D, -0.33881676197052D, -0.33858126401901245D, -0.33834514021873474D, -0.3380846679210663D, -0.3378693759441376D, -0.33761394023895264D, -0.3372967839241028D, -0.3370171785354614D, -0.3367748260498047D, -0.3364349603652954D, -0.33623141050338745D, -0.335910439491272D, -0.3356693983078003D, -0.3353610038757324D, -0.3351159989833832D, -0.33491289615631104D, -0.33470672369003296D, -0.3344409167766571D, -0.33417895436286926D, -0.3339591324329376D, -0.333680123090744D, -0.33343616127967834D, -0.3331543505191803D, -0.3328864574432373D, -0.33268094062805176D, -0.3324502408504486D, -0.3321475386619568D, -0.33188602328300476D, -0.33148470520973206D, -0.3312734067440033D, -0.3309733271598816D, -0.33078092336654663D, -0.33052897453308105D, -0.33030572533607483D, -0.3300882875919342D, -0.32981547713279724D, -0.32956746220588684D, -0.32931292057037354D, -0.3290160894393921D, -0.3286682665348053D, -0.32835015654563904D, -0.32807037234306335D, -0.3277845084667206D, -0.32752442359924316D, -0.32732173800468445D, -0.32707881927490234D, -0.3268580436706543D, -0.3266323506832123D, -0.32639920711517334D, -0.32607728242874146D, -0.32582542300224304D, -0.32553622126579285D, -0.32530370354652405D, -0.32497406005859375D, -0.32467132806777954D, -0.3243825137615204D, -0.3240744471549988D, -0.32379844784736633D, -0.3235507011413574D, -0.32329118251800537D, -0.32303112745285034D, -0.32268786430358887D, -0.3223896622657776D, -0.32213684916496277D, -0.3219333291053772D, -0.32163336873054504D, -0.3213145136833191D, -0.3209441900253296D, -0.32064899802207947D, -0.32044777274131775D, -0.3202470541000366D, -0.31994596123695374D, -0.3196614682674408D, -0.3193594515323639D, -0.3191123902797699D, -0.31880712509155273D, -0.3185483515262604D, -0.3182813823223114D, -0.3179837465286255D, -0.3178139626979828D, -0.31757664680480957D, -0.3173273801803589D, -0.31708016991615295D, -0.3168497383594513D, -0.3166547417640686D, -0.31633490324020386D, -0.31609806418418884D, -0.3158012628555298D, -0.31559568643569946D, -0.3153664171695709D, -0.31515392661094666D, -0.31494230031967163D, -0.31467780470848083D, -0.3143419027328491D, -0.3140089213848114D, -0.31369876861572266D, -0.3134252727031708D, -0.3131718337535858D, -0.31297188997268677D, -0.31278595328330994D, -0.3124690055847168D, -0.31223419308662415D, -0.3119918704032898D, -0.3117614984512329D, -0.3115026652812958D, -0.31121721863746643D, -0.31097447872161865D, -0.3107016682624817D, -0.3105145990848541D, -0.3103126883506775D, -0.31001830101013184D, -0.3097507357597351D, -0.3094843327999115D, -0.3091481029987335D, -0.3089134693145752D, -0.3085881471633911D, -0.3083830177783966D, -0.30806615948677063D, -0.30781829357147217D, -0.30765092372894287D, -0.3073977530002594D, -0.3070182800292969D, -0.30678725242614746D, -0.30654919147491455D, -0.30626553297042847D, -0.306039035320282D, -0.3057263195514679D, -0.30549055337905884D, -0.3052915930747986D, -0.30500486493110657D, -0.30481600761413574D, -0.30453893542289734D, -0.3043193817138672D, -0.3040206730365753D, -0.30374401807785034D, -0.30335044860839844D, -0.3031170070171356D, -0.30286848545074463D, -0.3026515543460846D, -0.30237796902656555D, -0.30214741826057434D, -0.301888644695282D, -0.30165719985961914D, -0.30146899819374084D, -0.30120277404785156D, -0.30097895860671997D, -0.30074378848075867D, -0.3005090355873108D, -0.3002887964248657D, -0.2999802827835083D, -0.29967769980430603D, -0.2993767261505127D, -0.29911214113235474D, -0.29886937141418457D, -0.29857271909713745D, -0.29840344190597534D, -0.29819995164871216D, -0.2979525923728943D, -0.2976686358451843D, -0.2974523603916168D, -0.297190397977829D, -0.2969624996185303D, -0.296731561422348D, -0.29642200469970703D, -0.2961302101612091D, -0.2958725690841675D, -0.2956555187702179D, -0.2954304814338684D, -0.29520314931869507D, -0.2949349284172058D, -0.294671893119812D, -0.29441654682159424D, -0.2940959632396698D, -0.2938988506793976D, -0.2936754822731018D, -0.2934301495552063D, -0.2931821048259735D, -0.29290080070495605D, -0.2926616370677948D, -0.2923491895198822D, -0.29209035634994507D, -0.2918151021003723D, -0.2915658950805664D, -0.29128390550613403D, -0.2909252643585205D, -0.29062941670417786D, -0.290343314409256D, -0.290050208568573D, -0.2896857261657715D, -0.28942573070526123D, -0.2891349494457245D, -0.28881269693374634D, -0.2886011600494385D, -0.28832578659057617D, -0.28802981972694397D, -0.28778281807899475D, -0.2875154912471771D, -0.28723567724227905D, -0.2870338261127472D, -0.2867671251296997D, -0.28647446632385254D, -0.2862129807472229D, -0.2858988642692566D, -0.28565922379493713D, -0.28539764881134033D, -0.2852112650871277D, -0.2849549651145935D, -0.2846900224685669D, -0.2845114767551422D, -0.28417807817459106D, -0.2839086651802063D, -0.28365015983581543D, -0.2833133637905121D, -0.2830497920513153D, -0.2828080952167511D, -0.2825292646884918D, -0.2823275625705719D, -0.282123327255249D, -0.28189751505851746D, -0.2815661132335663D, -0.28134238719940186D, -0.28100070357322693D, -0.2807270884513855D, -0.280434250831604D, -0.28016334772109985D, -0.2799503803253174D, -0.2797020673751831D, -0.2794371247291565D, -0.27915218472480774D, -0.2789038121700287D, -0.27859237790107727D, -0.27829688787460327D, -0.27806320786476135D, -0.2777877151966095D, -0.2774714529514313D, -0.27723580598831177D, -0.2769315242767334D, -0.276671826839447D, -0.2764380872249603D, -0.2761693596839905D, -0.27589890360832214D, -0.2756398320198059D, -0.2753346562385559D, -0.27507972717285156D, -0.2747804820537567D, -0.27444988489151D, -0.27423566579818726D, -0.27392545342445374D, -0.2736484408378601D, -0.2733512818813324D, -0.27305659651756287D, -0.2728077471256256D, -0.27254706621170044D, -0.27230268716812134D, -0.272095263004303D, -0.27186423540115356D, -0.2715955078601837D, -0.27139416337013245D, -0.2711053788661957D, -0.27082663774490356D, -0.27059200406074524D, -0.270317018032074D, -0.27010759711265564D, -0.2698550820350647D, -0.269616961479187D, -0.2693820893764496D, -0.2691202461719513D, -0.2688184082508087D, -0.26859769225120544D, -0.26832038164138794D, -0.2680111527442932D, -0.2677721083164215D, -0.2675313353538513D, -0.26725831627845764D, -0.2669825851917267D, -0.2667476236820221D, -0.26648545265197754D, -0.26621103286743164D, -0.26591503620147705D, -0.26566651463508606D, -0.2653977870941162D, -0.2651807963848114D, -0.2648967206478119D, -0.26460984349250793D, -0.2642960250377655D, -0.2640075385570526D, -0.26374396681785583D, -0.2634507715702057D, -0.2632007896900177D, -0.2629578709602356D, -0.2627096176147461D, -0.262498676776886D, -0.2622181177139282D, -0.2619989812374115D, -0.2617098093032837D, -0.26137110590934753D, -0.26113373041152954D, -0.26083171367645264D, -0.26055094599723816D, -0.26028043031692505D, -0.26001256704330444D, -0.2598212659358978D, -0.259576678276062D, -0.2592146694660187D, -0.2589690089225769D, -0.2586931586265564D, -0.25842729210853577D, -0.2581673562526703D, -0.257881760597229D, -0.25766196846961975D, -0.25736677646636963D, -0.2570649981498718D, -0.25679537653923035D, -0.2565329074859619D, -0.256270170211792D, -0.2560710608959198D, -0.25582534074783325D, -0.2555500864982605D, -0.2552447021007538D, -0.25495919585227966D, -0.2547093629837036D, -0.25450798869132996D, -0.25418949127197266D, -0.25386592745780945D, -0.25356659293174744D, -0.25329649448394775D, -0.25299200415611267D, -0.25276675820350647D, -0.25248438119888306D, -0.25220996141433716D, -0.2518875002861023D, -0.2516702711582184D, -0.25140753388404846D, -0.25113949179649353D, -0.2508174777030945D, -0.2504943609237671D, -0.2502599358558655D, -0.24996009469032288D, -0.24967540800571442D, -0.24935632944107056D, -0.2490570992231369D, -0.24872508645057678D, -0.24848529696464539D, -0.2482747882604599D, -0.24799269437789917D, -0.2477474957704544D, -0.24750468134880066D, -0.2472241222858429D, -0.24693787097930908D, -0.246639221906662D, -0.2464047223329544D, -0.2461291402578354D, -0.24579274654388428D, -0.24555900692939758D, -0.24519869685173035D, -0.24494722485542297D, -0.24471299350261688D, -0.2444407045841217D, -0.24412734806537628D, -0.2438162863254547D, -0.243591770529747D, -0.24330545961856842D, -0.243055522441864D, -0.24279285967350006D, -0.2425125539302826D, -0.24218682944774628D, -0.2418394684791565D, -0.24154667556285858D, -0.24125626683235168D, -0.2410254180431366D, -0.24074767529964447D, -0.2404462844133377D, -0.24016417562961578D, -0.23991847038269043D, -0.23966866731643677D, -0.23932382464408875D, -0.23901015520095825D, -0.2386711984872818D, -0.23840072751045227D, -0.2380652129650116D, -0.23783934116363525D, -0.2375892996788025D, -0.23727835714817047D, -0.23701389133930206D, -0.23667894303798676D, -0.23639409244060516D, -0.23607681691646576D, -0.23580896854400635D, -0.23557746410369873D, -0.23530921339988708D, -0.2349245548248291D, -0.23465943336486816D, -0.23443716764450073D, -0.2341337502002716D, -0.2339065968990326D, -0.2336427867412567D, -0.23329845070838928D, -0.233012855052948D, -0.23271934688091278D, -0.23234635591506958D, -0.23210802674293518D, -0.23184703290462494D, -0.2315872758626938D, -0.23134395480155945D, -0.23115786910057068D, -0.23090760409832D, -0.23064543306827545D, -0.23033994436264038D, -0.23005101084709167D, -0.2297900915145874D, -0.22956742346286774D, -0.22918127477169037D, -0.22887186706066132D, -0.2285861372947693D, -0.22830839455127716D, -0.22807464003562927D, -0.22775107622146606D, -0.22750654816627502D, -0.22719796001911163D, -0.2268885225057602D, -0.22669164836406708D, -0.22637008130550385D, -0.22600996494293213D, -0.22570259869098663D, -0.22542960941791534D, -0.22518546879291534D, -0.224944606423378D, -0.22468650341033936D, -0.224483922123909D, -0.22419625520706177D, -0.22396394610404968D, -0.22372867166996002D, -0.22342553734779358D, -0.2231348603963852D, -0.2228456288576126D, -0.22256681323051453D, -0.2221851795911789D, -0.22191931307315826D, -0.22161288559436798D, -0.22132831811904907D, -0.2211124449968338D, -0.2208959013223648D, -0.2206251472234726D, -0.2203599065542221D, -0.2200922966003418D, -0.219761922955513D, -0.2194470465183258D, -0.21915584802627563D, -0.21886979043483734D, -0.21863237023353577D, -0.21835742890834808D, -0.21807244420051575D, -0.21777687966823578D, -0.2174970656633377D, -0.21717944741249084D, -0.2168625295162201D, -0.21654023230075836D, -0.21620959043502808D, -0.21598799526691437D, -0.2157057821750641D, -0.2154330313205719D, -0.21519850194454193D, -0.21494928002357483D, -0.2146729975938797D, -0.2143438160419464D, -0.21401862800121307D, -0.21374765038490295D, -0.21346253156661987D, -0.21318843960762024D, -0.21295221149921417D, -0.21272040903568268D, -0.21241439878940582D, -0.21208393573760986D, -0.21184682846069336D, -0.21147173643112183D, -0.2111746221780777D, -0.21095135807991028D, -0.21068589389324188D, -0.2104221135377884D, -0.21003107726573944D, -0.2097581923007965D, -0.2095123827457428D, -0.20924867689609528D, -0.20894160866737366D, -0.20867951214313507D, -0.20842920243740082D, -0.20818644762039185D, -0.20793431997299194D, -0.20767860114574432D, -0.20736104249954224D, -0.20713436603546143D, -0.2068706601858139D, -0.20663705468177795D, -0.2064148187637329D, -0.20616625249385834D, -0.2059287577867508D, -0.20571956038475037D, -0.20547115802764893D, -0.2051665484905243D, -0.20489928126335144D, -0.204612597823143D, -0.2042890042066574D, -0.20406262576580048D, -0.20383214950561523D, -0.20360466837882996D, -0.203300341963768D, -0.20304201543331146D, -0.2027604728937149D, -0.20246902108192444D, -0.20221160352230072D, -0.20185989141464233D, -0.2014940083026886D, -0.20121566951274872D, -0.20092862844467163D, -0.20069371163845062D, -0.20036044716835022D, -0.2000427395105362D, -0.19978734850883484D, -0.19950689375400543D, -0.19925057888031006D, -0.1989441215991974D, -0.19861185550689697D, -0.19840191304683685D, -0.19815656542778015D, -0.19785183668136597D, -0.1975707709789276D, -0.1973525881767273D, -0.19706550240516663D, -0.19683001935482025D, -0.1965518742799759D, -0.19626472890377045D, -0.19597110152244568D, -0.1957027018070221D, -0.19542458653450012D, -0.1950688660144806D, -0.19479629397392273D, -0.19453026354312897D, -0.19423604011535645D, -0.1939542591571808D, -0.19371716678142548D, -0.19338740408420563D, -0.1931435912847519D, -0.19293907284736633D, -0.19262558221817017D, -0.1923431158065796D, -0.19208653271198273D, -0.19180256128311157D, -0.1914604753255844D, -0.1911846250295639D, -0.1908935010433197D, -0.19058291614055634D, -0.19032257795333862D, -0.19003444910049438D, -0.18973025679588318D, -0.1894463449716568D, -0.18922752141952515D, -0.1889495700597763D, -0.1887277364730835D, -0.1884024292230606D, -0.1881512999534607D, -0.1878492832183838D, -0.1875424087047577D, -0.18724599480628967D, -0.1869887411594391D, -0.18665896356105804D, -0.1863640546798706D, -0.18603654205799103D, -0.1857231706380844D, -0.18545468151569366D, -0.18523257970809937D, -0.18490085005760193D, -0.1845623403787613D, -0.1842954456806183D, -0.18399113416671753D, -0.18375831842422485D, -0.1835261881351471D, -0.18314547836780548D, -0.1828422248363495D, -0.18256516754627228D, -0.18228763341903687D, -0.18201270699501038D, -0.18175087869167328D, -0.18146154284477234D, -0.18108698725700378D, -0.18083034455776215D, -0.18053597211837769D, -0.1803305745124817D, -0.18006479740142822D, -0.17979678511619568D, -0.17945633828639984D, -0.17916566133499146D, -0.1789039671421051D, -0.17864438891410828D, -0.17839621007442474D, -0.17805610597133636D, -0.17781946063041687D, -0.1775800734758377D, -0.1772761046886444D, -0.1770094931125641D, -0.17669928073883057D, -0.17636236548423767D, -0.17615386843681335D, -0.1758824735879898D, -0.17556937038898468D, -0.17535674571990967D, -0.17501358687877655D, -0.17476701736450195D, -0.17449896037578583D, -0.1742391437292099D, -0.17395934462547302D, -0.17371203005313873D, -0.17345428466796875D, -0.17321734130382538D, -0.17298047244548798D, -0.1726737767457962D, -0.17238309979438782D, -0.17209933698177338D, -0.17179641127586365D, -0.17160233855247498D, -0.17134661972522736D, -0.17113491892814636D, -0.17089708149433136D, -0.1705687791109085D, -0.17027895152568817D, -0.16999571025371552D, -0.16959229111671448D, -0.1693515032529831D, -0.16903720796108246D, -0.16879227757453918D, -0.16849344968795776D, -0.1681465357542038D, -0.16783666610717773D, -0.16762606799602509D, -0.16736173629760742D, -0.16710326075553894D, -0.1668391227722168D, -0.16658534109592438D, -0.1662503182888031D, -0.16599583625793457D, -0.16568070650100708D, -0.16535016894340515D, -0.1650717407464981D, -0.1647109091281891D, -0.16445738077163696D, -0.16417324542999268D, -0.16391198337078094D, -0.16365958750247955D, -0.16337887942790985D, -0.16307418048381805D, -0.16283932328224182D, -0.16259700059890747D, -0.16230766475200653D, -0.16193348169326782D, -0.16161856055259705D, -0.16134506464004517D, -0.161054328083992D, -0.16080671548843384D, -0.16055727005004883D, -0.16027438640594482D, -0.16006769239902496D, -0.15983161330223083D, -0.15957887470722198D, -0.15927688777446747D, -0.1590208113193512D, -0.1587277054786682D, -0.15845488011837006D, -0.15818968415260315D, -0.1578885316848755D, -0.15760427713394165D, -0.15737247467041016D, -0.15709353983402252D, -0.15680040419101715D, -0.15655142068862915D, -0.1562575399875641D, -0.1559874564409256D, -0.1557409018278122D, -0.155464768409729D, -0.15523271262645721D, -0.15495778620243073D, -0.15466438233852386D, -0.15446045994758606D, -0.15422692894935608D, -0.15386012196540833D, -0.15353047847747803D, -0.15331637859344482D, -0.1530604362487793D, -0.15281440317630768D, -0.15249758958816528D, -0.15225686132907867D, -0.15201205015182495D, -0.1517283022403717D, -0.15150102972984314D, -0.1512325555086136D, -0.15099437534809113D, -0.15065105259418488D, -0.15037092566490173D, -0.15014193952083588D, -0.149899423122406D, -0.14961294829845428D, -0.14930997788906097D, -0.14899565279483795D, -0.14874392747879028D, -0.14844532310962677D, -0.14817024767398834D, -0.14786671102046967D, -0.147628515958786D, -0.14733541011810303D, -0.14704732596874237D, -0.14682543277740479D, -0.14654818177223206D, -0.1462312638759613D, -0.14588108658790588D, -0.14560845494270325D, -0.14536446332931519D, -0.14509917795658112D, -0.14483976364135742D, -0.14457736909389496D, -0.14426793158054352D, -0.14403368532657623D, -0.14377473294734955D, -0.143557608127594D, -0.1432599574327469D, -0.1429724544286728D, -0.14274801313877106D, -0.14245878159999847D, -0.14223240315914154D, -0.14194926619529724D, -0.14165663719177246D, -0.1413649618625641D, -0.1410781890153885D, -0.1408499777317047D, -0.1405871957540512D, -0.1403292864561081D, -0.14002478122711182D, -0.13965535163879395D, -0.1394197642803192D, -0.13913477957248688D, -0.13888147473335266D, -0.13867780566215515D, -0.1384168565273285D, -0.1381070762872696D, -0.13787780702114105D, -0.13764558732509613D, -0.13733641803264618D, -0.13708575069904327D, -0.13684941828250885D, -0.13656668365001678D, -0.13631244003772736D, -0.13595646619796753D, -0.13569988310337067D, -0.13545086979866028D, -0.13519926369190216D, -0.1349727213382721D, -0.13474370539188385D, -0.13447773456573486D, -0.1342158019542694D, -0.1339043378829956D, -0.13368861377239227D, -0.13338610529899597D, -0.13310417532920837D, -0.13282936811447144D, -0.1325983852148056D, -0.13233406841754913D, -0.13205863535404205D, -0.13181698322296143D, -0.13151997327804565D, -0.13132436573505402D, -0.13103599846363068D, -0.1307717114686966D, -0.1304827779531479D, -0.13016986846923828D, -0.12992152571678162D, -0.12965933978557587D, -0.12942686676979065D, -0.12918682396411896D, -0.12893526256084442D, -0.1285853385925293D, -0.12834392488002777D, -0.12795959413051605D, -0.12768781185150146D, -0.12739233672618866D, -0.12711550295352936D, -0.12679854035377502D, -0.12656289339065552D, -0.12631012499332428D, -0.12606140971183777D, -0.12577708065509796D, -0.12556186318397522D, -0.12526528537273407D, -0.1250154674053192D, -0.12467393279075623D, -0.12436465173959732D, -0.12416117638349533D, -0.12383448332548141D, -0.12361308187246323D, -0.12335262447595596D, -0.12303760647773743D, -0.12282663583755493D, -0.12254855781793594D, -0.12230251729488373D, -0.1219952329993248D, -0.12171036750078201D, -0.12134118378162384D, -0.12106747925281525D, -0.12081114202737808D, -0.12057363241910934D, -0.12034086883068085D, -0.1201397180557251D, -0.11990035325288773D, -0.11968836188316345D, -0.1193615049123764D, -0.11914262920618057D, -0.11886577308177948D, -0.11861448734998703D, -0.11830030381679535D, -0.11797311902046204D, -0.11772123724222183D, -0.11750219762325287D, -0.1172231063246727D, -0.11692775040864944D, -0.11663666367530823D, -0.11633557826280594D, -0.11597932130098343D, -0.11570998281240463D, -0.11544395238161087D, -0.11515824496746063D, -0.11492662876844406D, -0.11460825055837631D, -0.1142919510602951D, -0.11397234350442886D, -0.11372178792953491D, -0.11347440630197525D, -0.11322719603776932D, -0.11288018524646759D, -0.11263547837734222D, -0.11243140697479248D, -0.11215874552726746D, -0.11186697334051132D, -0.11157482117414474D, -0.11129041761159897D, -0.11102989315986633D, -0.11071707308292389D, -0.1104566752910614D, -0.11020250618457794D, -0.10990175604820251D, -0.10960545390844345D, -0.10931957513093948D, -0.1090775802731514D, -0.10877680033445358D, -0.10849916189908981D, -0.10821614414453506D, -0.10798254609107971D, -0.10769595205783844D, -0.10741174966096878D, -0.10715781152248383D, -0.10690175741910934D, -0.10669142752885818D, -0.10642623901367188D, -0.1060890257358551D, -0.10582086443901062D, -0.1055169403553009D, -0.10526058077812195D, -0.10505679249763489D, -0.10480091720819473D, -0.10453037917613983D, -0.10428275913000107D, -0.10399305820465088D, -0.10373555123806D, -0.10344836860895157D, -0.10322456806898117D, -0.10297004133462906D, -0.10273215919733047D, -0.10243216156959534D, -0.1021960973739624D, -0.10191009938716888D, -0.10166540741920471D, -0.10143125057220459D, -0.101218082010746D, -0.10105644166469574D, -0.10080286115407944D, -0.10051489621400833D, -0.10022591054439545D, -0.09993858635425568D, -0.09972234070301056D, -0.09946978837251663D, -0.09914785623550415D, -0.09894843399524689D, -0.09864477068185806D, -0.09840106219053268D, -0.09816022217273712D, -0.09794748574495316D, -0.09765579551458359D, -0.0973556637763977D, -0.09707820415496826D, -0.09676568955183029D, -0.09653124958276749D, -0.09625624120235443D, -0.09600966423749924D, -0.09576033055782318D, -0.09548204392194748D, -0.09525233507156372D, -0.09493791311979294D, -0.0946803092956543D, -0.09440620243549347D, -0.0941384807229042D, -0.09382172673940659D, -0.09357648342847824D, -0.09335803240537643D, -0.09308385103940964D, -0.09282899647951126D, -0.09255810081958771D, -0.09231264889240265D, -0.09210973978042603D, -0.09183316677808762D, -0.09160622954368591D, -0.09137364476919174D, -0.09114676713943481D, -0.09087975323200226D, -0.09060046821832657D, -0.09033992886543274D, -0.09012783318758011D, -0.08987993001937866D, -0.08959750086069107D, -0.08931460231542587D, -0.08904923498630524D, -0.08883436769247055D, -0.08858420699834824D, -0.08829662203788757D, -0.08806054294109344D, -0.08779118210077286D, -0.08752446621656418D, -0.08716493844985962D, -0.08696383982896805D, -0.08674308657646179D, -0.08645575493574142D, -0.0861504003405571D, -0.08587680757045746D, -0.08567436784505844D, -0.08541063219308853D, -0.08512197434902191D, -0.08485879749059677D, -0.08463180810213089D, -0.08432051539421082D, -0.08408907055854797D, -0.0838233157992363D, -0.08359374850988388D, -0.08331423252820969D, -0.0830439031124115D, -0.08278262615203857D, -0.08251456171274185D, -0.08229051530361176D, -0.08205851912498474D, -0.0818183422088623D, -0.08158916234970093D, -0.08126698434352875D, -0.08101513981819153D, -0.08074309676885605D, -0.0805177167057991D, -0.08026698976755142D, -0.07994801551103592D, -0.07965411990880966D, -0.07940343022346497D, -0.07916675508022308D, -0.07895605266094208D, -0.07873732596635818D, -0.07853549718856812D, -0.07830613851547241D, -0.07799500226974487D, -0.07771624624729156D, -0.07751551270484924D, -0.07721949368715286D, -0.07692956924438477D, -0.07674179971218109D, -0.07645225524902344D, -0.07620064914226532D, -0.07593590021133423D, -0.07566659897565842D, -0.07538679987192154D, -0.07512647658586502D, -0.07481729239225388D, -0.07456652820110321D, -0.0742843970656395D, -0.07404445111751556D, -0.07381390035152435D, -0.07353513687849045D, -0.07319315522909164D, -0.07294867932796478D, -0.0727098286151886D, -0.07234666496515274D, -0.07202333211898804D, -0.07173915952444077D, -0.07146167010068893D, -0.07126963883638382D, -0.0710473507642746D, -0.07077090442180634D, -0.07048361748456955D, -0.07029032707214355D, -0.07003624737262726D, -0.06968217343091965D, -0.06942331045866013D, -0.06919407844543457D, -0.0689079537987709D, -0.06866524368524551D, -0.06838830560445786D, -0.06812738627195358D, -0.06783497333526611D, -0.06755634397268295D, -0.06723722815513611D, -0.06691130995750427D, -0.06660078465938568D, -0.06631739437580109D, -0.06602296233177185D, -0.06577093154191971D, -0.06551865488290787D, -0.0652504712343216D, -0.06492725014686584D, -0.06462413817644119D, -0.06431008130311966D, -0.06400918960571289D, -0.06371072679758072D, -0.06341201812028885D, -0.0631563737988472D, -0.06289611756801605D, -0.06265442818403244D, -0.06230955570936203D, -0.062002032995224D, -0.061719417572021484D, -0.06148528680205345D, -0.061216436326503754D, -0.06093360856175423D, -0.06072712689638138D, -0.060493066906929016D, -0.060166895389556885D, -0.059815164655447006D, -0.0595356822013855D, -0.05920899659395218D, -0.0589694119989872D, -0.058676861226558685D, -0.05837876349687576D, -0.058130089193582535D, -0.05784309655427933D, -0.05760687589645386D, -0.05732410401105881D, -0.05705290660262108D, -0.056787919253110886D, -0.05659457668662071D, -0.056331783533096313D, -0.05605372041463852D, -0.05570470914244652D, -0.05532405897974968D, -0.05507439002394676D, -0.054846495389938354D, -0.05458153411746025D, -0.05433350428938866D, -0.054043229669332504D, -0.053757552057504654D, -0.05347239226102829D, -0.05318359285593033D, -0.05289815738797188D, -0.05265288054943085D, -0.05242844298481941D, -0.052160512655973434D, -0.05194767192006111D, -0.05165519565343857D, -0.05135463550686836D, -0.05101656913757324D, -0.05066104233264923D, -0.05036434158682823D, -0.05004134774208069D, -0.049720101058483124D, -0.04944755882024765D, -0.049163203686475754D, -0.048861511051654816D, -0.04856632277369499D, -0.04834488779306412D, -0.04809000343084335D, -0.047835785895586014D, -0.04761504754424095D, -0.047372620552778244D, -0.04704220965504646D, -0.04676917567849159D, -0.0465112030506134D, -0.04628368094563484D, -0.04590529203414917D, -0.045591145753860474D, -0.045329395681619644D, -0.04502856731414795D, -0.04476288706064224D, -0.044477298855781555D, -0.044183216989040375D, -0.043889597058296204D, -0.043629907071590424D, -0.04332597181200981D, -0.043086230754852295D, -0.04283630847930908D, -0.04257839918136597D, -0.04236274212598801D, -0.042133644223213196D, -0.04187430813908577D, -0.041567593812942505D, -0.041260115802288055D, -0.040946587920188904D, -0.04068688675761223D, -0.04042752459645271D, -0.04012269899249077D, -0.0398288369178772D, -0.03953229635953903D, -0.03923854976892471D, -0.0389554500579834D, -0.03867897763848305D, -0.03839312121272087D, -0.03809841722249985D, -0.03780343011021614D, -0.03754246234893799D, -0.0372878722846508D, -0.0369933657348156D, -0.03664172440767288D, -0.036341797560453415D, -0.03603716194629669D, -0.03576238080859184D, -0.03539063036441803D, -0.035154953598976135D, -0.03487371280789375D, -0.034546684473752975D, -0.03424537181854248D, -0.03399510309100151D, -0.03369705379009247D, -0.03342421352863312D, -0.0331464521586895D, -0.03284550458192825D, -0.03257859870791435D, -0.03231373801827431D, -0.03205952048301697D, -0.03181802108883858D, -0.03151015564799309D, -0.03129047527909279D, -0.031096093356609344D, -0.030805554240942D, -0.030537379905581474D, -0.030241481959819794D, -0.03002774901688099D, -0.029745982959866524D, -0.029493194073438644D, -0.029233895242214203D, -0.029001034796237946D, -0.02873404324054718D, -0.02845093049108982D, -0.02821354940533638D, -0.02799166738986969D, -0.027720630168914795D, -0.02744472585618496D, -0.02720777317881584D, -0.02690352313220501D, -0.02664169669151306D, -0.02643018402159214D, -0.02620536834001541D, -0.02593671903014183D, -0.025759585201740265D, -0.025408653542399406D, -0.025140298530459404D, -0.02489377185702324D, -0.024570679292082787D, -0.02436092495918274D, -0.02404484711587429D, -0.023794349282979965D, -0.023525100201368332D, -0.023287000134587288D, -0.023009885102510452D, -0.022770201787352562D, -0.022537855431437492D, -0.022300807759165764D, -0.02201082557439804D, -0.021782083436846733D, -0.021487420424818993D, -0.02118120901286602D, -0.020950118079781532D, -0.020675018429756165D, -0.02039279229938984D, -0.02009447291493416D, -0.019863774999976158D, -0.01965714618563652D, -0.019366558641195297D, -0.01908997632563114D, -0.018789680674672127D, -0.018529972061514854D, -0.018265480175614357D, -0.017998235300183296D, -0.017721502110362053D, -0.017405081540346146D, -0.017080171033740044D, -0.016746709123253822D, -0.016466757282614708D, -0.01617022044956684D, -0.015900326892733574D, -0.015688607469201088D, -0.015494524501264095D, -0.01526711881160736D, -0.01501748338341713D, -0.014759302139282227D, -0.014493335038423538D, -0.01419086940586567D, -0.013963575474917889D, -0.013690123334527016D, -0.013356720097362995D, -0.013078868389129639D, -0.0128104817122221D, -0.012522563338279724D, -0.012238835915923119D, -0.011993607506155968D, -0.011782022193074226D, -0.011439433321356773D, -0.011074566282331944D, -0.010785703547298908D, -0.010566314682364464D, -0.01033638883382082D, -0.010082267224788666D, -0.0098251448944211D, -0.009575165808200836D, -0.00936555489897728D, -0.009123526513576508D, -0.008893541060388088D, -0.008536712266504765D, -0.008285307325422764D, -0.008038129657506943D, -0.007843909785151482D, -0.007599855773150921D, -0.007324898615479469D, -0.007032603025436401D, -0.006768520921468735D, -0.006503140553832054D, -0.006243687588721514D, -0.005953444633632898D, -0.0057066441513597965D, -0.005376282148063183D, -0.005104034673422575D, -0.004828358069062233D, -0.0046215602196753025D, -0.0043577090837061405D, -0.004069425631314516D, -0.003789798589423299D, -0.003529034089297056D, -0.003267375286668539D, -0.003022415330633521D, -0.0027700213249772787D, -0.002549373544752598D, -0.0022675376385450363D, -0.0019607217982411385D, -0.001708362135104835D, -0.0013776067644357681D, -0.0010336940176784992D, -7.354887202382088E-4D, -4.5685155782848597E-4D, -1.316424459218979E-4D, 1.3065907114651054E-4D, 3.996390732936561E-4D, 6.541031179949641E-4D, 8.50367359817028E-4D, 0.0011466210708022118D, 0.0013893306022509933D, 0.0015945639461278915D, 0.0018925231415778399D, 0.0021661426872015D, 0.0023872184101492167D, 0.0026664608158171177D, 0.00294586643576622D, 0.003148944117128849D, 0.0033947057090699673D, 0.003701010486111045D, 0.003906028810888529D, 0.004124140832573175D, 0.004334701225161552D, 0.004587457049638033D, 0.0048340181820094585D, 0.005073273088783026D, 0.00532583286985755D, 0.005580143537372351D, 0.005848704371601343D, 0.006122906226664782D, 0.006493675522506237D, 0.006729925516992807D, 0.0070088207721710205D, 0.00728297745808959D, 0.007480010390281677D, 0.007764781825244427D, 0.008007852360606194D, 0.008250844664871693D, 0.00852279458194971D, 0.008767266757786274D, 0.00904831662774086D, 0.00931268185377121D, 0.009533130563795567D, 0.009797629900276661D, 0.010016974061727524D, 0.010340578854084015D, 0.010596699081361294D, 0.01090246345847845D, 0.011153734289109707D, 0.011390254832804203D, 0.011662999168038368D, 0.011968021281063557D, 0.012242105789482594D, 0.012452702969312668D, 0.012714671902358532D, 0.012952919118106365D, 0.01316387765109539D, 0.013507680967450142D, 0.01377682201564312D, 0.014071051962673664D, 0.014318304136395454D, 0.01455586776137352D, 0.014815849252045155D, 0.015056810341775417D, 0.015345204621553421D, 0.015589325688779354D, 0.01583978347480297D, 0.016123324632644653D, 0.016355281695723534D, 0.016677264124155045D, 0.01690959371626377D, 0.017155056819319725D, 0.01738622784614563D, 0.017645172774791718D, 0.01797316037118435D, 0.018210696056485176D, 0.01847653090953827D, 0.01873503439128399D, 0.019009912386536598D, 0.019236478954553604D, 0.019529473036527634D, 0.01981610804796219D, 0.020131399855017662D, 0.020465511828660965D, 0.020703764632344246D, 0.020945202559232712D, 0.02117314003407955D, 0.02143491804599762D, 0.02166031114757061D, 0.021868042647838593D, 0.0221423227339983D, 0.022304896265268326D, 0.02258375659584999D, 0.022814255207777023D, 0.023145252838730812D, 0.023347800597548485D, 0.02364720031619072D, 0.023923322558403015D, 0.024208059534430504D, 0.024520428851246834D, 0.024805130437016487D, 0.02507869526743889D, 0.02535776048898697D, 0.025615159422159195D, 0.0258694626390934D, 0.026122020557522774D, 0.02643069624900818D, 0.026603784412145615D, 0.02683156728744507D, 0.027126679196953773D, 0.02733459696173668D, 0.027607258409261703D, 0.02792152762413025D, 0.02816510759294033D, 0.02844097837805748D, 0.02872515469789505D, 0.028998054563999176D, 0.029224053025245667D, 0.02954174391925335D, 0.02974286861717701D, 0.03006814420223236D, 0.03033433109521866D, 0.03063499554991722D, 0.03088310733437538D, 0.031237944960594177D, 0.031528908759355545D, 0.03179209306836128D, 0.032013922929763794D, 0.032217659056186676D, 0.03244752809405327D, 0.032707348465919495D, 0.03299309313297272D, 0.0332571305334568D, 0.0335337296128273D, 0.03382478654384613D, 0.03408283367753029D, 0.0344008132815361D, 0.03467852622270584D, 0.0349227674305439D, 0.03518681600689888D, 0.03539086505770683D, 0.03564100340008736D, 0.03586474806070328D, 0.03610255569219589D, 0.03637784346938133D, 0.036641791462898254D, 0.036911047995090485D, 0.0371626541018486D, 0.03738849237561226D, 0.03767228499054909D, 0.03791579604148865D, 0.038182806223630905D, 0.03840387612581253D, 0.03873422369360924D, 0.03897146135568619D, 0.039189472794532776D, 0.03940518945455551D, 0.03965970128774643D, 0.03996488079428673D, 0.040177177637815475D, 0.04045545682311058D, 0.04079781472682953D, 0.04110312834382057D, 0.04137400537729263D, 0.04161045327782631D, 0.04192972928285599D, 0.04218105599284172D, 0.04248396307229996D, 0.04279221221804619D, 0.04308551922440529D, 0.043431878089904785D, 0.04371808469295502D, 0.044010840356349945D, 0.044272806495428085D, 0.04455575346946716D, 0.04478048160672188D, 0.04507073014974594D, 0.04530072584748268D, 0.045575421303510666D, 0.04587794095277786D, 0.046161357313394547D, 0.04642787575721741D, 0.04671389237046242D, 0.047022175043821335D, 0.04733485355973244D, 0.04757636785507202D, 0.04779086634516716D, 0.048101555556058884D, 0.048420250415802D, 0.048655830323696136D, 0.04896669462323189D, 0.04925689846277237D, 0.04954693093895912D, 0.04989447072148323D, 0.050209999084472656D, 0.050489697605371475D, 0.05071283504366875D, 0.05100875347852707D, 0.05128037929534912D, 0.05160556733608246D, 0.05188958719372749D, 0.05217180401086807D, 0.05248710513114929D, 0.0527968555688858D, 0.05305638164281845D, 0.05329959839582443D, 0.05358118936419487D, 0.05384580045938492D, 0.054107148200273514D, 0.05445363372564316D, 0.05473681911826134D, 0.05499447509646416D, 0.05525364726781845D, 0.05552399531006813D, 0.05581491440534592D, 0.05607004836201668D, 0.056372541934251785D, 0.05663860961794853D, 0.057004205882549286D, 0.0572650209069252D, 0.05756624788045883D, 0.057813771069049835D, 0.05805324763059616D, 0.058269720524549484D, 0.05853000283241272D, 0.05879778787493706D, 0.05902792513370514D, 0.059336766600608826D, 0.05956335365772247D, 0.05983125790953636D, 0.060086689889431D, 0.060372646898031235D, 0.060615647584199905D, 0.06095486879348755D, 0.061183806508779526D, 0.061442844569683075D, 0.061806827783584595D, 0.06205553188920021D, 0.06232360750436783D, 0.06260256469249725D, 0.0629587322473526D, 0.06326894462108612D, 0.06356792151927948D, 0.06379440426826477D, 0.06404320150613785D, 0.06438066065311432D, 0.06475785374641418D, 0.06504077464342117D, 0.06532400846481323D, 0.06561044603586197D, 0.0659133791923523D, 0.06617668271064758D, 0.06644754111766815D, 0.06669926643371582D, 0.06695132702589035D, 0.06717383116483688D, 0.06748028844594955D, 0.06783024966716766D, 0.0680580884218216D, 0.06834062188863754D, 0.06863158941268921D, 0.06890437006950378D, 0.06919102370738983D, 0.06946934759616852D, 0.06972286850214005D, 0.06993971765041351D, 0.07021503150463104D, 0.07045647501945496D, 0.07076012343168259D, 0.07110822200775146D, 0.07145878672599792D, 0.07177668809890747D, 0.07204294949769974D, 0.07232286781072617D, 0.07254822552204132D, 0.07276912033557892D, 0.07301556318998337D, 0.07327788323163986D, 0.07360480725765228D, 0.07390736788511276D, 0.07410012185573578D, 0.07442381978034973D, 0.07471173256635666D, 0.07500597089529037D, 0.07519960403442383D, 0.07549195736646652D, 0.07572654634714127D, 0.07599683851003647D, 0.0763334259390831D, 0.07661186158657074D, 0.07688117027282715D, 0.07714466005563736D, 0.07738614082336426D, 0.07762350142002106D, 0.07792530208826065D, 0.0781654641032219D, 0.07846467196941376D, 0.07874482870101929D, 0.07898703217506409D, 0.07923144847154617D, 0.07942285388708115D, 0.0796462893486023D, 0.0799734964966774D, 0.08029843121767044D, 0.08056806027889252D, 0.08082020282745361D, 0.0810462087392807D, 0.08131200075149536D, 0.08160020411014557D, 0.0818348154425621D, 0.0820552185177803D, 0.08225349336862564D, 0.08254173398017883D, 0.08281373232603073D, 0.08311286568641663D, 0.08334366232156754D, 0.08359120041131973D, 0.08387916535139084D, 0.08409150689840317D, 0.08438035845756531D, 0.08463288843631744D, 0.08485851436853409D, 0.08509296178817749D, 0.08535737544298172D, 0.08559464663267136D, 0.08587801456451416D, 0.0861743688583374D, 0.08645282685756683D, 0.0866914838552475D, 0.0869562178850174D, 0.08722974359989166D, 0.08750630170106888D, 0.08777330815792084D, 0.08803579956293106D, 0.0882796049118042D, 0.08858377486467361D, 0.08887222409248352D, 0.08910021930932999D, 0.08942137658596039D, 0.08970041573047638D, 0.09002455323934555D, 0.09031931310892105D, 0.09057571738958359D, 0.09086495637893677D, 0.09111474454402924D, 0.09136747568845749D, 0.09160273522138596D, 0.09185010194778442D, 0.09216196835041046D, 0.09240245074033737D, 0.0927966758608818D, 0.09304618090391159D, 0.09328144043684006D, 0.09357891231775284D, 0.0938526839017868D, 0.09417186677455902D, 0.09441021829843521D, 0.09467081725597382D, 0.09488309919834137D, 0.09522198140621185D, 0.09556689858436584D, 0.0957917645573616D, 0.09609872102737427D, 0.09634850919246674D, 0.09661053121089935D, 0.09688584506511688D, 0.09720134735107422D, 0.0974339097738266D, 0.09767188131809235D, 0.09795292466878891D, 0.09825979173183441D, 0.09859684109687805D, 0.09889153391122818D, 0.09913432598114014D, 0.0994461253285408D, 0.09969989955425262D, 0.10003012418746948D, 0.10033581405878067D, 0.10058747977018356D, 0.1009034663438797D, 0.10122722387313843D, 0.10150611400604248D, 0.10170648992061615D, 0.10201096534729004D, 0.10229185968637466D, 0.10257726907730103D, 0.10287566483020782D, 0.10311508923768997D, 0.10337219387292862D, 0.10364332795143127D, 0.1039247140288353D, 0.10424252599477768D, 0.10449820756912231D, 0.10481312870979309D, 0.10503777116537094D, 0.10534293204545975D, 0.10564635694026947D, 0.10588758438825607D, 0.1061999723315239D, 0.1064712330698967D, 0.10672973096370697D, 0.10701380670070648D, 0.10733768343925476D, 0.10766393691301346D, 0.1079251766204834D, 0.10818345844745636D, 0.10843151062726974D, 0.10870121419429779D, 0.10898462682962418D, 0.10916048288345337D, 0.10945792496204376D, 0.10971787571907043D, 0.11004230380058289D, 0.11028736084699631D, 0.11050963401794434D, 0.11084943264722824D, 0.1111159548163414D, 0.11142372339963913D, 0.11172902584075928D, 0.11202347278594971D, 0.11228121817111969D, 0.11260033398866653D, 0.11286173015832901D, 0.11315543949604034D, 0.11340838670730591D, 0.113639235496521D, 0.11392790824174881D, 0.11416824162006378D, 0.11444859951734543D, 0.11470448225736618D, 0.11494118720293045D, 0.11527057737112045D, 0.11557216942310333D, 0.11585729569196701D, 0.11618031561374664D, 0.1164563000202179D, 0.11673370748758316D, 0.11698532849550247D, 0.11718285828828812D, 0.11743656545877457D, 0.11773671954870224D, 0.11799366027116776D, 0.11828643083572388D, 0.11858540773391724D, 0.1188632994890213D, 0.11907391250133514D, 0.11933412402868271D, 0.11957348138093948D, 0.11981576681137085D, 0.12007725983858109D, 0.12033521384000778D, 0.12062394618988037D, 0.12085514515638351D, 0.12111199647188187D, 0.1213870495557785D, 0.12175049632787704D, 0.12203498929738998D, 0.1222883015871048D, 0.12260923534631729D, 0.12288501113653183D, 0.12317144125699997D, 0.12346594780683517D, 0.12379734218120575D, 0.12409074604511261D, 0.12436976283788681D, 0.12464415282011032D, 0.12494517862796783D, 0.12522545456886292D, 0.12551076710224152D, 0.12574301660060883D, 0.12599945068359375D, 0.12626506388187408D, 0.126557394862175D, 0.1267775297164917D, 0.12703189253807068D, 0.12731485068798065D, 0.1276283711194992D, 0.12791059911251068D, 0.128132164478302D, 0.1283716857433319D, 0.12867718935012817D, 0.12893514335155487D, 0.1292971819639206D, 0.12950767576694489D, 0.12979163229465485D, 0.1300935000181198D, 0.13041025400161743D, 0.13071075081825256D, 0.1309228241443634D, 0.1312228888273239D, 0.1314820796251297D, 0.13182887434959412D, 0.13208620250225067D, 0.13240356743335724D, 0.13268235325813293D, 0.13290567696094513D, 0.13309961557388306D, 0.13339990377426147D, 0.1337309181690216D, 0.13399392366409302D, 0.13432425260543823D, 0.1346275955438614D, 0.13497747480869293D, 0.1352194845676422D, 0.13549906015396118D, 0.135870099067688D, 0.13611534237861633D, 0.13642577826976776D, 0.1366935819387436D, 0.13691116869449615D, 0.1372225284576416D, 0.13758584856987D, 0.13787789642810822D, 0.13815632462501526D, 0.13842633366584778D, 0.1387168914079666D, 0.1390417516231537D, 0.13935944437980652D, 0.1395878791809082D, 0.13982528448104858D, 0.14007636904716492D, 0.1403467357158661D, 0.14063021540641785D, 0.1409578025341034D, 0.14126543700695038D, 0.14157681167125702D, 0.14183759689331055D, 0.14210925996303558D, 0.14241452515125275D, 0.14271321892738342D, 0.14301812648773193D, 0.1432817131280899D, 0.14358051121234894D, 0.14386573433876038D, 0.14412705600261688D, 0.1444324553012848D, 0.1447446644306183D, 0.14505469799041748D, 0.1453620195388794D, 0.14561806619167328D, 0.14594750106334686D, 0.14619894325733185D, 0.1463996320962906D, 0.1467064768075943D, 0.14700138568878174D, 0.14724306762218475D, 0.1474446803331375D, 0.14766398072242737D, 0.1479610800743103D, 0.1482059359550476D, 0.1484694480895996D, 0.1487436145544052D, 0.14907284080982208D, 0.1493353694677353D, 0.1496971845626831D, 0.14997504651546478D, 0.15033315122127533D, 0.15070155262947083D, 0.15096484124660492D, 0.1512327641248703D, 0.1515578180551529D, 0.15187345445156097D, 0.15214762091636658D, 0.15243196487426758D, 0.15271760523319244D, 0.15297485888004303D, 0.15326783061027527D, 0.15357527136802673D, 0.15386366844177246D, 0.15409283339977264D, 0.15441228449344635D, 0.15465810894966125D, 0.1549408733844757D, 0.1551543027162552D, 0.15543149411678314D, 0.15572631359100342D, 0.1560746282339096D, 0.156368225812912D, 0.15663352608680725D, 0.15692415833473206D, 0.15718257427215576D, 0.1574300080537796D, 0.157686248421669D, 0.15795695781707764D, 0.1583280712366104D, 0.158697247505188D, 0.15903112292289734D, 0.15925832092761993D, 0.1596134901046753D, 0.15989145636558533D, 0.16019906103610992D, 0.16043001413345337D, 0.1606883406639099D, 0.16093628108501434D, 0.16126133501529694D, 0.16151824593544006D, 0.16174660623073578D, 0.16207759082317352D, 0.16238920390605927D, 0.16266778111457825D, 0.16290788352489471D, 0.16317544877529144D, 0.16346213221549988D, 0.16374827921390533D, 0.16408853232860565D, 0.16432328522205353D, 0.16455470025539398D, 0.16482901573181152D, 0.16511084139347076D, 0.16541504859924316D, 0.16567346453666687D, 0.16597972810268402D, 0.16621577739715576D, 0.16651509702205658D, 0.16681276261806488D, 0.16711537539958954D, 0.167375847697258D, 0.16764438152313232D, 0.16791898012161255D, 0.16819028556346893D, 0.1684793084859848D, 0.16875839233398438D, 0.16904833912849426D, 0.16934478282928467D, 0.16971437633037567D, 0.17003914713859558D, 0.17030996084213257D, 0.17056745290756226D, 0.17087161540985107D, 0.1711370199918747D, 0.1714390367269516D, 0.17162375152111053D, 0.171921044588089D, 0.17224262654781342D, 0.17256590723991394D, 0.17278584837913513D, 0.17302152514457703D, 0.17326757311820984D, 0.1735316812992096D, 0.17380189895629883D, 0.17405469715595245D, 0.17437885701656342D, 0.17466574907302856D, 0.17496317625045776D, 0.1752919703722D, 0.1755671203136444D, 0.17585968971252441D, 0.17615479230880737D, 0.17635858058929443D, 0.17666472494602203D, 0.17689856886863708D, 0.17713482677936554D, 0.17737625539302826D, 0.17766977846622467D, 0.1779950112104416D, 0.17825496196746826D, 0.1784168928861618D, 0.17865149676799774D, 0.179008349776268D, 0.17927248775959015D, 0.1795627772808075D, 0.17984960973262787D, 0.18022418022155762D, 0.18049725890159607D, 0.1807771623134613D, 0.18103209137916565D, 0.18135705590248108D, 0.18166464567184448D, 0.18192610144615173D, 0.182195246219635D, 0.1824677288532257D, 0.18278644979000092D, 0.1829933375120163D, 0.18323859572410583D, 0.18357279896736145D, 0.18377135694026947D, 0.18400835990905762D, 0.18427613377571106D, 0.18460310995578766D, 0.18481720983982086D, 0.18507426977157593D, 0.18538621068000793D, 0.18571457266807556D, 0.18596841394901276D, 0.186262845993042D, 0.1864842027425766D, 0.1868342161178589D, 0.18706367909908295D, 0.18734446167945862D, 0.18763746321201324D, 0.187912717461586D, 0.18817009031772614D, 0.18847288191318512D, 0.1886182278394699D, 0.18880678713321686D, 0.18909668922424316D, 0.189437597990036D, 0.18965360522270203D, 0.1899285763502121D, 0.1902146339416504D, 0.19051358103752136D, 0.190726175904274D, 0.19099460542201996D, 0.19134610891342163D, 0.19160419702529907D, 0.19186748564243317D, 0.19214843213558197D, 0.19252699613571167D, 0.19280791282653809D, 0.19307754933834076D, 0.193357914686203D, 0.19367453455924988D, 0.19394652545452118D, 0.1942129135131836D, 0.19451996684074402D, 0.19479620456695557D, 0.1950804591178894D, 0.19533613324165344D, 0.1956358551979065D, 0.1959289014339447D, 0.1961798369884491D, 0.196440190076828D, 0.19670510292053223D, 0.19693723320960999D, 0.19722364842891693D, 0.19749340415000916D, 0.1977929174900055D, 0.19802692532539368D, 0.19833330810070038D, 0.19863606989383698D, 0.19890114665031433D, 0.1991933435201645D, 0.1994570791721344D, 0.19976359605789185D, 0.1999799907207489D, 0.20024096965789795D, 0.200491800904274D, 0.20075970888137817D, 0.20099766552448273D, 0.20124010741710663D, 0.2015586495399475D, 0.20177823305130005D, 0.2020653635263443D, 0.20233054459095D, 0.2025756686925888D, 0.20286209881305695D, 0.20305654406547546D, 0.20334310829639435D, 0.203579381108284D, 0.20383398234844208D, 0.20410750806331635D, 0.20440427958965302D, 0.20464588701725006D, 0.20490139722824097D, 0.2052447497844696D, 0.20550324022769928D, 0.20583590865135193D, 0.20612064003944397D, 0.20634503662586212D, 0.20661072432994843D, 0.20687651634216309D, 0.20710913836956024D, 0.20739662647247314D, 0.20762591063976288D, 0.20788393914699554D, 0.2081129252910614D, 0.20837758481502533D, 0.2086338996887207D, 0.20884636044502258D, 0.20911483466625214D, 0.20934318006038666D, 0.20968066155910492D, 0.20992854237556458D, 0.21015885472297668D, 0.2104206532239914D, 0.21065424382686615D, 0.21093331277370453D, 0.21121928095817566D, 0.21149811148643494D, 0.2117539793252945D, 0.21202652156352997D, 0.21224801242351532D, 0.21260783076286316D, 0.2128981351852417D, 0.2131597399711609D, 0.21341733634471893D, 0.21366161108016968D, 0.21392516791820526D, 0.2142639309167862D, 0.2145741879940033D, 0.21485793590545654D, 0.21514491736888885D, 0.21542049944400787D, 0.21569538116455078D, 0.21598322689533234D, 0.21626020967960358D, 0.21649304032325745D, 0.21677030622959137D, 0.2170400172472D, 0.21732084453105927D, 0.21758104860782623D, 0.2177940011024475D, 0.21801699697971344D, 0.21828950941562653D, 0.2185637354850769D, 0.21885795891284943D, 0.21909011900424957D, 0.21936264634132385D, 0.21964989602565765D, 0.2199399471282959D, 0.22019806504249573D, 0.22049681842327118D, 0.22078827023506165D, 0.22105184197425842D, 0.22137470543384552D, 0.22161449491977692D, 0.2219240665435791D, 0.22223037481307983D, 0.22260285913944244D, 0.2229027897119522D, 0.22315175831317902D, 0.22342266142368317D, 0.22372233867645264D, 0.22398801147937775D, 0.2243099808692932D, 0.22458884119987488D, 0.22487859427928925D, 0.2251584380865097D, 0.2254280000925064D, 0.2257203906774521D, 0.22608432173728943D, 0.2263413518667221D, 0.2266579121351242D, 0.2269895076751709D, 0.2273152768611908D, 0.22761085629463196D, 0.2279384285211563D, 0.2282041609287262D, 0.22849208116531372D, 0.2287384420633316D, 0.22899159789085388D, 0.22930403053760529D, 0.22960440814495087D, 0.2298821657896042D, 0.2301478236913681D, 0.2304285317659378D, 0.2306668609380722D, 0.23088543117046356D, 0.23121096193790436D, 0.23148313164710999D, 0.2317085862159729D, 0.23197290301322937D, 0.23224861919879913D, 0.23256884515285492D, 0.23284265398979187D, 0.2330920696258545D, 0.23334385454654694D, 0.23353956639766693D, 0.23387359082698822D, 0.2340947687625885D, 0.23432382941246033D, 0.23464155197143555D, 0.23484565317630768D, 0.23516379296779633D, 0.23547296226024628D, 0.23580487072467804D, 0.23603872954845428D, 0.2363404780626297D, 0.23657697439193726D, 0.23687809705734253D, 0.23714932799339294D, 0.23739950358867645D, 0.23762169480323792D, 0.23792646825313568D, 0.23818649351596832D, 0.23843729496002197D, 0.23873068392276764D, 0.238983616232872D, 0.23925286531448364D, 0.2395579069852829D, 0.23987309634685516D, 0.24033226072788239D, 0.24057655036449432D, 0.24085906147956848D, 0.24117864668369293D, 0.24150414764881134D, 0.2417934387922287D, 0.2420838624238968D, 0.2423819899559021D, 0.2426135390996933D, 0.24285435676574707D, 0.24313358962535858D, 0.24343961477279663D, 0.24373900890350342D, 0.244044229388237D, 0.24428707361221313D, 0.24457044899463654D, 0.2449193298816681D, 0.24520333111286163D, 0.2454977184534073D, 0.24584729969501495D, 0.24616457521915436D, 0.24646586179733276D, 0.24676071107387543D, 0.24703620374202728D, 0.24732454121112823D, 0.2475694715976715D, 0.24784477055072784D, 0.248099684715271D, 0.24840392172336578D, 0.24868589639663696D, 0.24894355237483978D, 0.24928633868694305D, 0.24959172308444977D, 0.24985100328922272D, 0.2501564621925354D, 0.25038307905197144D, 0.250644713640213D, 0.2509222626686096D, 0.2511749565601349D, 0.2514340579509735D, 0.2517203092575073D, 0.25204065442085266D, 0.25238507986068726D, 0.2526217997074127D, 0.2528831958770752D, 0.2531205415725708D, 0.25342774391174316D, 0.2537113428115845D, 0.2539459466934204D, 0.2542237937450409D, 0.25449076294898987D, 0.25482168793678284D, 0.25513091683387756D, 0.2553307116031647D, 0.2555989623069763D, 0.255849152803421D, 0.25617465376853943D, 0.25643253326416016D, 0.25674259662628174D, 0.2570124864578247D, 0.2573172152042389D, 0.2575843334197998D, 0.25779828429222107D, 0.25804877281188965D, 0.2583554983139038D, 0.2585742473602295D, 0.25889360904693604D, 0.25915104150772095D, 0.25942641496658325D, 0.25978371500968933D, 0.2600519061088562D, 0.2602609097957611D, 0.26053184270858765D, 0.2608785033226013D, 0.261201947927475D, 0.26146596670150757D, 0.26176562905311584D, 0.262078195810318D, 0.2623854875564575D, 0.2626580595970154D, 0.26286089420318604D, 0.2631307542324066D, 0.26344582438468933D, 0.2638060450553894D, 0.26404741406440735D, 0.26437708735466003D, 0.26464274525642395D, 0.264907568693161D, 0.2652066648006439D, 0.2654288709163666D, 0.2657431960105896D, 0.2660353481769562D, 0.2664221525192261D, 0.2666524052619934D, 0.26689356565475464D, 0.2670842707157135D, 0.2673942744731903D, 0.2677168846130371D, 0.26800233125686646D, 0.2682468891143799D, 0.2685217559337616D, 0.2687889039516449D, 0.2691395580768585D, 0.269408255815506D, 0.26962924003601074D, 0.2699086666107178D, 0.27017900347709656D, 0.27041539549827576D, 0.27070382237434387D, 0.2709597647190094D, 0.27122002840042114D, 0.27147814631462097D, 0.27168622612953186D, 0.2719722390174866D, 0.27223464846611023D, 0.27251288294792175D, 0.27286437153816223D, 0.2731492817401886D, 0.27340108156204224D, 0.273659884929657D, 0.2738949656486511D, 0.2741394340991974D, 0.2744167447090149D, 0.2747291326522827D, 0.27497047185897827D, 0.2751666009426117D, 0.2754104733467102D, 0.27568212151527405D, 0.27599266171455383D, 0.2762224078178406D, 0.27643051743507385D, 0.2767150402069092D, 0.2769130766391754D, 0.277180552482605D, 0.2774384021759033D, 0.2776777148246765D, 0.27796417474746704D, 0.2782258689403534D, 0.27849406003952026D, 0.27869224548339844D, 0.278906911611557D, 0.27918195724487305D, 0.2795153856277466D, 0.27973172068595886D, 0.27998286485671997D, 0.2801446318626404D, 0.2804175019264221D, 0.28070056438446045D, 0.2809307277202606D, 0.2811910808086395D, 0.281453937292099D, 0.2817004919052124D, 0.2819517254829407D, 0.2822698652744293D, 0.28252527117729187D, 0.2828049957752228D, 0.28304052352905273D, 0.2832876145839691D, 0.2835268974304199D, 0.2837904393672943D, 0.28400617837905884D, 0.2842795252799988D, 0.284519225358963D, 0.28479018807411194D, 0.2850969731807709D, 0.2853679358959198D, 0.2855561077594757D, 0.285743772983551D, 0.28602486848831177D, 0.28625819087028503D, 0.2865716218948364D, 0.2868688702583313D, 0.2871350944042206D, 0.2874080240726471D, 0.28763347864151D, 0.2878798544406891D, 0.2881785035133362D, 0.2884160578250885D, 0.28864699602127075D, 0.2889671325683594D, 0.28926020860671997D, 0.2894625961780548D, 0.2897588014602661D, 0.2900228500366211D, 0.29028815031051636D, 0.2905328869819641D, 0.29084259271621704D, 0.291137158870697D, 0.2913845479488373D, 0.2916087806224823D, 0.29188618063926697D, 0.2921612560749054D, 0.29240670800209045D, 0.2926993668079376D, 0.29298651218414307D, 0.293232262134552D, 0.29355835914611816D, 0.2938145101070404D, 0.29410502314567566D, 0.29435524344444275D, 0.29464176297187805D, 0.294877827167511D, 0.29517269134521484D, 0.29543501138687134D, 0.29576361179351807D, 0.29593637585639954D, 0.29614734649658203D, 0.29641640186309814D, 0.2966236472129822D, 0.2968680262565613D, 0.29715073108673096D, 0.2973844110965729D, 0.29763680696487427D, 0.2978838384151459D, 0.2980974316596985D, 0.2983676791191101D, 0.2986935079097748D, 0.29895666241645813D, 0.2992621660232544D, 0.299524188041687D, 0.2997519075870514D, 0.30001893639564514D, 0.3002788722515106D, 0.3005056083202362D, 0.3007264733314514D, 0.3010012209415436D, 0.30131155252456665D, 0.3015914261341095D, 0.3018483817577362D, 0.3021250069141388D, 0.30236387252807617D, 0.30265650153160095D, 0.3029288351535797D, 0.30316129326820374D, 0.3034660220146179D, 0.3037053048610687D, 0.30389413237571716D, 0.30409467220306396D, 0.304390549659729D, 0.3046508729457855D, 0.30490970611572266D, 0.30520036816596985D, 0.30548033118247986D, 0.30571213364601135D, 0.3059559464454651D, 0.3062553107738495D, 0.3065534830093384D, 0.3068280518054962D, 0.30710822343826294D, 0.3073456585407257D, 0.30763164162635803D, 0.30789390206336975D, 0.30816346406936646D, 0.3083498775959015D, 0.30866941809654236D, 0.3089258074760437D, 0.3092621862888336D, 0.30958765745162964D, 0.30986717343330383D, 0.31003475189208984D, 0.3103083372116089D, 0.31058892607688904D, 0.3109128773212433D, 0.31117770075798035D, 0.31146109104156494D, 0.3117210268974304D, 0.31198328733444214D, 0.31227272748947144D, 0.3125060796737671D, 0.31282106041908264D, 0.31312379240989685D, 0.3133692443370819D, 0.31358426809310913D, 0.3138200640678406D, 0.3141409754753113D, 0.31442704796791077D, 0.314690500497818D, 0.3150029182434082D, 0.31520897150039673D, 0.3154284656047821D, 0.31570926308631897D, 0.3160545229911804D, 0.3163340091705322D, 0.316599577665329D, 0.31687048077583313D, 0.31713128089904785D, 0.317322701215744D, 0.31765639781951904D, 0.3178621232509613D, 0.31811410188674927D, 0.31843167543411255D, 0.31877267360687256D, 0.31903475522994995D, 0.319251149892807D, 0.31949496269226074D, 0.3198252022266388D, 0.3200637698173523D, 0.3203434348106384D, 0.3206050395965576D, 0.3209206163883209D, 0.3211584985256195D, 0.32143476605415344D, 0.32168710231781006D, 0.32191795110702515D, 0.32214829325675964D, 0.322428822517395D, 0.32268479466438293D, 0.3229517638683319D, 0.3232070505619049D, 0.3235218822956085D, 0.32369107007980347D, 0.3239528238773346D, 0.3241800367832184D, 0.3244786858558655D, 0.324749231338501D, 0.32496631145477295D, 0.32524824142456055D, 0.3254903554916382D, 0.3257616460323334D, 0.32605576515197754D, 0.32630449533462524D, 0.3265559673309326D, 0.32686999440193176D, 0.3271165192127228D, 0.32738593220710754D, 0.3276585042476654D, 0.32794415950775146D, 0.32821184396743774D, 0.3285887539386749D, 0.3289233446121216D, 0.3292269706726074D, 0.3296094834804535D, 0.3298654556274414D, 0.3300861120223999D, 0.3303612768650055D, 0.3306511640548706D, 0.3309388756752014D, 0.3312152922153473D, 0.3315217196941376D, 0.33183205127716064D, 0.3320613205432892D, 0.3322998583316803D, 0.33257055282592773D, 0.33281630277633667D, 0.3330290913581848D, 0.33326613903045654D, 0.3335651755332947D, 0.3338523805141449D, 0.3341617286205292D, 0.33433282375335693D, 0.33457306027412415D, 0.33483704924583435D, 0.33510467410087585D, 0.3353644907474518D, 0.33560633659362793D, 0.33583855628967285D, 0.33614617586135864D, 0.3364432454109192D, 0.3367103934288025D, 0.33690935373306274D, 0.3372305929660797D, 0.33750924468040466D, 0.3378355801105499D, 0.33812233805656433D, 0.3384076952934265D, 0.33867204189300537D, 0.3390248417854309D, 0.33930447697639465D, 0.33957400918006897D, 0.33983317017555237D, 0.3400701582431793D, 0.34041181206703186D, 0.3407198190689087D, 0.340962678194046D, 0.34117308259010315D, 0.34143057465553284D, 0.3417152762413025D, 0.34199923276901245D, 0.34223297238349915D, 0.34252864122390747D, 0.3428027033805847D, 0.343083918094635D, 0.34340083599090576D, 0.3437272012233734D, 0.34395354986190796D, 0.34416311979293823D, 0.34441059827804565D, 0.3446934223175049D, 0.3449099063873291D, 0.3451961576938629D, 0.3455100953578949D, 0.3458014130592346D, 0.34604889154434204D, 0.3462851047515869D, 0.34658199548721313D, 0.34679263830184937D, 0.34704622626304626D, 0.3472718298435211D, 0.34750276803970337D, 0.34784477949142456D, 0.34805718064308167D, 0.34825482964515686D, 0.3485817611217499D, 0.34883782267570496D, 0.3491147458553314D, 0.3494124412536621D, 0.3497013449668884D, 0.34993860125541687D, 0.350123792886734D, 0.3504098355770111D, 0.3506726920604706D, 0.3509681820869446D, 0.35122251510620117D, 0.35151568055152893D, 0.35175713896751404D, 0.3520585000514984D, 0.3523644804954529D, 0.3525903522968292D, 0.3528260290622711D, 0.35311436653137207D, 0.3533068597316742D, 0.3536243140697479D, 0.35388439893722534D, 0.35414567589759827D, 0.3544543385505676D, 0.35473325848579407D, 0.35497885942459106D, 0.35526809096336365D, 0.355535626411438D, 0.35581573843955994D, 0.35607290267944336D, 0.3563328981399536D, 0.35658934712409973D, 0.3567657768726349D, 0.3570261001586914D, 0.35733160376548767D, 0.3575685918331146D, 0.35787421464920044D, 0.3580990731716156D, 0.3583555221557617D, 0.3585892617702484D, 0.3588610887527466D, 0.35903677344322205D, 0.359283447265625D, 0.3595677614212036D, 0.3598092794418335D, 0.36003899574279785D, 0.36024540662765503D, 0.36054790019989014D, 0.3608268201351166D, 0.36110296845436096D, 0.361304372549057D, 0.36153310537338257D, 0.3617900311946869D, 0.362045556306839D, 0.3622854948043823D, 0.3625219464302063D, 0.36275187134742737D, 0.3629457354545593D, 0.3632330000400543D, 0.36351844668388367D, 0.36378049850463867D, 0.3640110492706299D, 0.3642759323120117D, 0.36451464891433716D, 0.3647618591785431D, 0.36502429842948914D, 0.36528924107551575D, 0.3654957711696625D, 0.36573418974876404D, 0.36604294180870056D, 0.36629995703697205D, 0.3666021525859833D, 0.36691829562187195D, 0.367160439491272D, 0.36744949221611023D, 0.3676398992538452D, 0.3678947389125824D, 0.36813125014305115D, 0.368365079164505D, 0.36862945556640625D, 0.3688868582248688D, 0.36917170882225037D, 0.36945968866348267D, 0.3697122037410736D, 0.36995139718055725D, 0.3701855540275574D, 0.37048253417015076D, 0.3707021474838257D, 0.3709218204021454D, 0.37117552757263184D, 0.37148401141166687D, 0.3717135190963745D, 0.37193936109542847D, 0.3722532391548157D, 0.3725411593914032D, 0.37284591794013977D, 0.3730625808238983D, 0.3733522593975067D, 0.37364229559898376D, 0.37390103936195374D, 0.37416940927505493D, 0.37436458468437195D, 0.37464040517807007D, 0.3748922049999237D, 0.3751126527786255D, 0.3753873109817505D, 0.3756377696990967D, 0.37594547867774963D, 0.37618348002433777D, 0.37646281719207764D, 0.3767070174217224D, 0.3769557774066925D, 0.37724626064300537D, 0.377468466758728D, 0.3777393400669098D, 0.37795981764793396D, 0.37823134660720825D, 0.37847328186035156D, 0.3787566125392914D, 0.37899285554885864D, 0.3792763650417328D, 0.37952983379364014D, 0.379780650138855D, 0.3800412714481354D, 0.38030797243118286D, 0.3806132674217224D, 0.3808762729167938D, 0.3811057507991791D, 0.38136550784111023D, 0.3816622495651245D, 0.38194742798805237D, 0.38221976161003113D, 0.38248923420906067D, 0.38276663422584534D, 0.38302233815193176D, 0.38327229022979736D, 0.3835250735282898D, 0.3838045299053192D, 0.38403594493865967D, 0.3842831254005432D, 0.3845900893211365D, 0.3848242163658142D, 0.3850513994693756D, 0.3853191137313843D, 0.3855486512184143D, 0.3858658969402313D, 0.3860780596733093D, 0.386428564786911D, 0.3867259919643402D, 0.3869991898536682D, 0.3872990012168884D, 0.3875848650932312D, 0.38790372014045715D, 0.38814061880111694D, 0.38840222358703613D, 0.388593852519989D, 0.388855516910553D, 0.38914036750793457D, 0.38942432403564453D, 0.38976311683654785D, 0.38999199867248535D, 0.3902776539325714D, 0.39049217104911804D, 0.39072924852371216D, 0.3910306692123413D, 0.39130455255508423D, 0.39153560996055603D, 0.39185816049575806D, 0.3920968770980835D, 0.3923257291316986D, 0.3925469219684601D, 0.3928096890449524D, 0.3930518329143524D, 0.39328575134277344D, 0.3935558795928955D, 0.3938427269458771D, 0.39419496059417725D, 0.3945285379886627D, 0.3947562575340271D, 0.3950362205505371D, 0.39522111415863037D, 0.39546164870262146D, 0.3956916630268097D, 0.39592868089675903D, 0.39614903926849365D, 0.3963852822780609D, 0.39658188819885254D, 0.39682573080062866D, 0.39709997177124023D, 0.3973788917064667D, 0.3976508378982544D, 0.3979288637638092D, 0.3981773257255554D, 0.3983913064002991D, 0.3987140357494354D, 0.39901942014694214D, 0.3992510437965393D, 0.39953702688217163D, 0.3998488783836365D, 0.4001272916793823D, 0.4004133939743042D, 0.4006827771663666D, 0.40099242329597473D, 0.40130293369293213D, 0.40157362818717957D, 0.40186819434165955D, 0.4021277129650116D, 0.40232306718826294D, 0.4025867283344269D, 0.4028003215789795D, 0.4031047224998474D, 0.40332329273223877D, 0.4035291373729706D, 0.4037959575653076D, 0.4040723145008087D, 0.4043372869491577D, 0.4046046733856201D, 0.4049030542373657D, 0.4051944613456726D, 0.4055192768573761D, 0.4057999849319458D, 0.4061056673526764D, 0.40637725591659546D, 0.40660667419433594D, 0.4069187641143799D, 0.4071345627307892D, 0.4074566960334778D, 0.40777018666267395D, 0.40802904963493347D, 0.40830400586128235D, 0.408597856760025D, 0.4088164269924164D, 0.4092184901237488D, 0.4094998240470886D, 0.4097236394882202D, 0.40995553135871887D, 0.41017889976501465D, 0.41046223044395447D, 0.4107370972633362D, 0.4110793173313141D, 0.4114154577255249D, 0.4116229712963104D, 0.4119032621383667D, 0.41213804483413696D, 0.4124385714530945D, 0.4127162992954254D, 0.4130091965198517D, 0.4133024215698242D, 0.4136373698711395D, 0.41393712162971497D, 0.4142281115055084D, 0.41452911496162415D, 0.41479119658470154D, 0.4151069223880768D, 0.41537874937057495D, 0.4155421257019043D, 0.41583114862442017D, 0.41608357429504395D, 0.41639837622642517D, 0.4166197180747986D, 0.4168715476989746D, 0.4171973168849945D, 0.4174732565879822D, 0.4177860915660858D, 0.4180050492286682D, 0.418209046125412D, 0.4184584617614746D, 0.4187344014644623D, 0.41896602511405945D, 0.4192352890968323D, 0.4194973111152649D, 0.419782429933548D, 0.4200138747692108D, 0.4202348589897156D, 0.4204559922218323D, 0.42070770263671875D, 0.4209270775318146D, 0.42123734951019287D, 0.42152413725852966D, 0.4217725396156311D, 0.4219895601272583D, 0.4222344160079956D, 0.4225423038005829D, 0.42281267046928406D, 0.4230188727378845D, 0.423263281583786D, 0.42355862259864807D, 0.42382073402404785D, 0.4240865409374237D, 0.42431652545928955D, 0.42459815740585327D, 0.42487630248069763D, 0.42511314153671265D, 0.42545315623283386D, 0.42569097876548767D, 0.4259091913700104D, 0.42624008655548096D, 0.42660078406333923D, 0.42683663964271545D, 0.4271649718284607D, 0.42746877670288086D, 0.4277161657810211D, 0.4279897212982178D, 0.42828369140625D, 0.4285532832145691D, 0.4288334846496582D, 0.42911940813064575D, 0.42937761545181274D, 0.4296647012233734D, 0.4299851655960083D, 0.43022775650024414D, 0.43045350909233093D, 0.43070703744888306D, 0.43094927072525024D, 0.43116268515586853D, 0.4313928186893463D, 0.43163439631462097D, 0.43192869424819946D, 0.4321650564670563D, 0.43247199058532715D, 0.4327426254749298D, 0.4329465329647064D, 0.4332021474838257D, 0.4335203170776367D, 0.43384814262390137D, 0.4341184198856354D, 0.4343852996826172D, 0.4346621632575989D, 0.4348818063735962D, 0.4351351261138916D, 0.4353751838207245D, 0.4355980157852173D, 0.4357980191707611D, 0.43605518341064453D, 0.436352014541626D, 0.4365985691547394D, 0.43685096502304077D, 0.43707698583602905D, 0.43733274936676025D, 0.4376041293144226D, 0.4378836154937744D, 0.4381011724472046D, 0.43832162022590637D, 0.43860042095184326D, 0.438829243183136D, 0.4390210509300232D, 0.43924516439437866D, 0.43950155377388D, 0.4397837519645691D, 0.4400193691253662D, 0.4402320384979248D, 0.4404691457748413D, 0.4407307207584381D, 0.4410361349582672D, 0.44125908613204956D, 0.4414968192577362D, 0.44174203276634216D, 0.4419814944267273D, 0.4422128200531006D, 0.44245728850364685D, 0.44274404644966125D, 0.4430583715438843D, 0.44336432218551636D, 0.443653404712677D, 0.4439939260482788D, 0.4442344009876251D, 0.44445911049842834D, 0.44472596049308777D, 0.4449925422668457D, 0.44527706503868103D, 0.44557181000709534D, 0.4457545578479767D, 0.4460007846355438D, 0.4462299048900604D, 0.4465486407279968D, 0.4468133747577667D, 0.4471282362937927D, 0.44738221168518066D, 0.44763094186782837D, 0.44790324568748474D, 0.4481256902217865D, 0.44837674498558044D, 0.4486831724643707D, 0.44888994097709656D, 0.44917944073677063D, 0.44940298795700073D, 0.44963473081588745D, 0.4499596953392029D, 0.4502831995487213D, 0.45057380199432373D, 0.45092493295669556D, 0.45122742652893066D, 0.4515243172645569D, 0.4518178701400757D, 0.45205360651016235D, 0.4523317813873291D, 0.4526289999485016D, 0.4529341161251068D, 0.45323529839515686D, 0.4534975588321686D, 0.453773558139801D, 0.4540664553642273D, 0.4544259011745453D, 0.4546853303909302D, 0.45500776171684265D, 0.45528915524482727D, 0.455634206533432D, 0.45592206716537476D, 0.4562022089958191D, 0.4564805030822754D, 0.45682209730148315D, 0.45718881487846375D, 0.45751509070396423D, 0.45779523253440857D, 0.45816105604171753D, 0.45850691199302673D, 0.458947092294693D, 0.459272563457489D, 0.45959508419036865D, 0.45991724729537964D, 0.4602174162864685D, 0.46046632528305054D, 0.4608287811279297D, 0.46110689640045166D, 0.4614187479019165D, 0.4617368280887604D, 0.4620654881000519D, 0.4624466896057129D, 0.4627622663974762D, 0.46305227279663086D, 0.46329373121261597D, 0.4636314809322357D, 0.4639503061771393D, 0.46431097388267517D, 0.46468931436538696D, 0.4649808704853058D, 0.46529167890548706D, 0.46563804149627686D, 0.4660055935382843D, 0.46636462211608887D, 0.4667665958404541D, 0.4671618342399597D, 0.467506468296051D, 0.467860609292984D, 0.4682660698890686D, 0.46868571639060974D, 0.46901917457580566D, 0.4694676101207733D, 0.4698265790939331D, 0.470265656709671D, 0.47069424390792847D, 0.47115999460220337D, 0.47152605652809143D, 0.47186538577079773D, 0.47213947772979736D, 0.4726155698299408D, 0.4730013310909271D, 0.47354406118392944D, 0.4739205837249756D, 0.4743463695049286D, 0.47478413581848145D, 0.4752046465873718D, 0.47560903429985046D, 0.47596120834350586D, 0.47639283537864685D, 0.47681909799575806D, 0.4772539734840393D, 0.47769880294799805D, 0.4780799150466919D, 0.4785400331020355D, 0.47897687554359436D, 0.4794080853462219D, 0.47996869683265686D, 0.4803347885608673D, 0.48076751828193665D, 0.48114120960235596D, 0.4814523160457611D, 0.4818330407142639D, 0.4822157323360443D, 0.4828481078147888D, 0.4832523763179779D, 0.4836653470993042D, 0.48403042554855347D, 0.48448407649993896D, 0.484925776720047D, 0.4852597117424011D, 0.4856775403022766D, 0.48602280020713806D, 0.4862997233867645D, 0.4866339862346649D, 0.4869230091571808D, 0.4872366189956665D, 0.4876750409603119D, 0.48797568678855896D, 0.48836252093315125D, 0.48881059885025024D, 0.4892800450325012D, 0.48987776041030884D, 0.49053680896759033D, 0.49111106991767883D, 0.49168193340301514D, 0.4921090006828308D, 0.49260690808296204D, 0.4931475520133972D, 0.493701308965683D, 0.4942283034324646D, 0.494655042886734D, 0.49520888924598694D, 0.49573373794555664D, 0.4964909851551056D, 0.4969906210899353D, 0.4974606931209564D, 0.4980294108390808D, 0.4985775947570801D, 0.4990783631801605D, 0.4995737671852112D, 0.5003406405448914D, 0.5008382201194763D, 0.5013885498046875D, 0.5019097328186035D, 0.5023885369300842D, 0.5029280185699463D, 0.503430962562561D, 0.503948450088501D, 0.5043861269950867D, 0.5049766302108765D, 0.5054594874382019D, 0.5060606002807617D, 0.5065680742263794D, 0.5071417689323425D, 0.5076345205307007D, 0.5082119703292847D, 0.5087262988090515D, 0.5091512799263D, 0.5096171498298645D, 0.5101017355918884D, 0.5107328295707703D, 0.5114573240280151D, 0.5119665861129761D, 0.5125393271446228D, 0.5131126642227173D, 0.513853132724762D, 0.5143100619316101D, 0.5148109793663025D, 0.5152516961097717D, 0.5159368515014648D, 0.5164498090744019D, 0.5169199705123901D, 0.5174514651298523D, 0.5180186629295349D, 0.5185528993606567D, 0.5190562009811401D, 0.5196325778961182D, 0.5201560854911804D, 0.5208426713943481D, 0.5213735699653625D, 0.5218154788017273D, 0.522290050983429D, 0.5229283571243286D, 0.523547887802124D, 0.5240733027458191D, 0.5247648358345032D, 0.5254356861114502D, 0.526078999042511D, 0.5265681743621826D, 0.5271999835968018D, 0.5278160572052002D, 0.5282547473907471D, 0.528809130191803D, 0.5294860005378723D, 0.5299973487854004D, 0.5305734276771545D, 0.5310938358306885D, 0.5317263603210449D, 0.5322661995887756D, 0.5328193306922913D, 0.5335735082626343D, 0.5340782999992371D, 0.5345680713653564D, 0.5351969599723816D, 0.5358130931854248D, 0.536394476890564D, 0.5369700193405151D, 0.537476658821106D, 0.5380844473838806D, 0.5387037396430969D, 0.5394321084022522D, 0.5400477051734924D, 0.5404863357543945D, 0.5410389304161072D, 0.541642427444458D, 0.5423742532730103D, 0.5428975224494934D, 0.5434703230857849D, 0.5441101789474487D, 0.544722855091095D, 0.545371949672699D, 0.5461149215698242D, 0.5467897653579712D, 0.5474863052368164D, 0.5480688214302063D, 0.5485903024673462D, 0.54939866065979D, 0.5500276684761047D, 0.5505618453025818D, 0.5511355400085449D, 0.5518128871917725D, 0.5524318814277649D, 0.5531834363937378D, 0.5538141131401062D, 0.5542665123939514D, 0.5549200773239136D, 0.5555307269096375D, 0.5561972260475159D, 0.5568590760231018D, 0.5575724840164185D, 0.5581653714179993D, 0.5587721467018127D, 0.5593851804733276D, 0.5600337386131287D, 0.5607591271400452D, 0.5612220764160156D, 0.5617574453353882D, 0.5623471140861511D, 0.5629265308380127D, 0.5634180307388306D, 0.5640480518341064D, 0.5646874904632568D, 0.565345287322998D, 0.5661920309066772D, 0.5668277144432068D, 0.5676301717758179D, 0.5682028532028198D, 0.5688003301620483D, 0.5693979263305664D, 0.5700362920761108D, 0.5708189606666565D, 0.5714821815490723D, 0.5720601677894592D, 0.5725902318954468D, 0.5731999278068542D, 0.573904812335968D, 0.5746039748191833D, 0.5752161741256714D, 0.5759490728378296D, 0.5765016078948975D, 0.5772219300270081D, 0.5778461694717407D, 0.5785731673240662D, 0.5792263150215149D, 0.5799256563186646D, 0.5805244445800781D, 0.5813805460929871D, 0.5819531679153442D, 0.5825797319412231D, 0.5833032727241516D, 0.5840099453926086D, 0.5846169590950012D, 0.5853478312492371D, 0.5860470533370972D, 0.5867210626602173D, 0.5873911380767822D, 0.5880667567253113D, 0.5888288617134094D, 0.5895687937736511D, 0.5903048515319824D, 0.5911239385604858D, 0.5916888117790222D, 0.5922921299934387D, 0.592913031578064D, 0.5935550928115845D, 0.5941872596740723D, 0.5947723388671875D, 0.595520555973053D, 0.5962212681770325D, 0.5969071984291077D, 0.5976354479789734D, 0.5983605980873108D, 0.5991300940513611D, 0.5996381640434265D, 0.6001785397529602D, 0.6009420156478882D, 0.6014782190322876D, 0.6021828055381775D, 0.6027888059616089D, 0.6033061742782593D, 0.6037890315055847D, 0.6045819520950317D, 0.6052073836326599D, 0.6058974862098694D, 0.6065464019775391D, 0.6071838736534119D, 0.6078240871429443D, 0.6085272431373596D, 0.6092880964279175D, 0.6100634336471558D, 0.6108741164207458D, 0.6115461587905884D, 0.6122625470161438D, 0.6129177808761597D, 0.6135990023612976D, 0.6142836213111877D, 0.6148236989974976D, 0.6153774261474609D, 0.6160983443260193D, 0.6166918873786926D, 0.6174014210700989D, 0.6180434226989746D, 0.6187659502029419D, 0.6195235848426819D, 0.6201044917106628D, 0.6206812262535095D, 0.6213260889053345D, 0.6218926310539246D, 0.6225008964538574D, 0.6232173442840576D, 0.6238427758216858D, 0.6245126724243164D, 0.6251798272132874D, 0.6258895397186279D, 0.6264957189559937D, 0.6270017623901367D, 0.6276793479919434D, 0.628270149230957D, 0.6288625001907349D, 0.629568338394165D, 0.6302783489227295D, 0.6310023665428162D, 0.6316758394241333D, 0.6323549151420593D, 0.6329315900802612D, 0.6337608098983765D, 0.6345968246459961D, 0.6353409290313721D, 0.6361225843429565D, 0.6367967128753662D, 0.6374943256378174D, 0.638256311416626D, 0.6390517354011536D, 0.6400373578071594D, 0.6409924030303955D, 0.641899049282074D, 0.6427189111709595D, 0.6434955596923828D, 0.6443613171577454D, 0.6454543471336365D, 0.6462008357048035D, 0.6470617651939392D, 0.6481727361679077D, 0.649116039276123D, 0.6500170826911926D, 0.6510635018348694D, 0.6524286270141602D, 0.6536790132522583D, 0.6550548672676086D, 0.656978964805603D, 0.6590750813484192D, 0.6618484258651733D, 0.6642623543739319D, 0.6678594946861267D, 0.6765089631080627D, 0.6829755902290344D, 0.6938737034797668D, 0.7009726166725159D, 0.7075709104537964D, 0.7125470042228699D}; + //private static final List m = Arrays.asList(normalMap); + + public static void main(String[] args) { - FastNoise noise = new FastNoise(new Random().nextInt()); - noise.setFrequency(0.01f); - noise.setNoiseType(FastNoise.NoiseType.SimplexFractal); - noise.setFractalOctaves(3); - int[] numbers = new int[32]; + + FastNoise noise = new FastNoise(); + FastNoise noiseLookup = new FastNoise(); + noiseLookup.setNoiseType(FastNoise.NoiseType.Simplex); + noiseLookup.setFrequency(0.02f); + noise.setFrequency(0.02f); + noise.setNoiseType(FastNoise.NoiseType.Cellular); + noise.setCellularDistanceFunction(FastNoise.CellularDistanceFunction.Natural); + noise.setCellularReturnType(FastNoise.CellularReturnType.NoiseLookup); + noise.setCellularNoiseLookup(noiseLookup); + System.out.println(noise); + int attempts = 16; + int[] numbers = new int[attempts]; double min = Integer.MAX_VALUE; double max = Integer.MIN_VALUE; - for(int i = 0; i < 32; i++) { + + + + for(int i = 0; i < attempts; i++) { numbers[i] = 0; } - for(int i = 0; i < 10000000; i++) { - double n = noise.getSimplexFractal(0, i); - max = Math.max(max, n); - min = Math.min(min, n); - numbers[BiomeZone.normalize(n)]++; + long l = System.nanoTime(); + for(int i = 0; i < 1000000; i++) { + double n = noise.getNoise(0, i); + max = Math.max(max, n-1); + min = Math.min(min, n-1); + numbers[normalize(n, attempts)]++; } + long l2 = System.nanoTime()-l; + System.out.println("Took " + (double)l2/1000000 + "ms (" + ((double)l2/1000000) + "ns per."); - for(int i = 0; i < 32; i++) { + l = System.nanoTime(); + for(int i = 0; i < 1000000; i++) { + double n = noise.getNoise(0, i); + max = Math.max(max, n - 1); + min = Math.min(min, n - 1); + } + l2 = System.nanoTime()-l; + System.out.println("Took " + (double)l2/1000000 + "ms (" + ((double)l2/1000000) + "ns per."); + + for(int i = 0; i < attempts; i++) { System.out.println(i + ": " + numbers[i]); } - for(int i = 0; i < 32; i++) { + for(int i = 0; i < attempts; i++) { System.out.print(i + " |"); - for(int j = 0; j < numbers[i]/2500; j++) { + for(int j = 0; j < numbers[i]/250; j++) { System.out.print("-"); } System.out.println("|"); @@ -36,4 +66,22 @@ public class DistributionTest { System.out.println("max: " + max); System.out.println("min: " + min); } + public static int normalize(double d, int num) { + int start = 0; + int end = normalMap.length - 1; + while (start + 1 < end) { + int mid = start + (end - start) / 2; + if (normalMap[mid] <= d) { + start = mid; + } else { + end = mid; + } + } + double left = Math.abs(normalMap[start] - d); + double right = Math.abs(normalMap[end] - d); + if (left <= right) { + return start * (num) / (normalMap.length); + } + return end * (num) / (normalMap.length); + } } diff --git a/src/test/java/LookupGenerator.java b/src/test/java/LookupGenerator.java index c72d76d46..1a03651b2 100644 --- a/src/test/java/LookupGenerator.java +++ b/src/test/java/LookupGenerator.java @@ -1,4 +1,5 @@ import com.dfsek.terra.biome.BiomeZone; +import com.sun.corba.se.spi.orbutil.threadpool.Work; import org.polydev.gaea.math.FastNoise; import java.util.ArrayList; @@ -9,14 +10,19 @@ import java.util.Random; public class LookupGenerator { private static double[] lookup; - public static void main(String[] args) { - int dist = 16; + public static void main(String[] args) throws InterruptedException { + int dist = 4096; List vals = new ArrayList<>(); - FastNoise noise = new FastNoise(new Random().nextInt()); - noise.setFrequency(0.01f); - noise.setNoiseType(FastNoise.NoiseType.SimplexFractal); - noise.setFractalOctaves(5); + FastNoise noise = new FastNoise(); + FastNoise noiseLookup = new FastNoise(); + noiseLookup.setNoiseType(FastNoise.NoiseType.Simplex); + noiseLookup.setFrequency(0.02f); + noise.setFrequency(0.02f); + noise.setNoiseType(FastNoise.NoiseType.Cellular); + noise.setCellularDistanceFunction(FastNoise.CellularDistanceFunction.Natural); + noise.setCellularReturnType(FastNoise.CellularReturnType.NoiseLookup); + noise.setCellularNoiseLookup(noiseLookup); int[] numbers = new int[dist]; double min = Integer.MAX_VALUE; double max = Integer.MIN_VALUE; @@ -24,14 +30,29 @@ public class LookupGenerator { numbers[i] = 0; } - for(int i = 0; i < 10000000; i++) { - double n = noise.getNoise(0, i); - max = Math.max(max, n); - min = Math.min(min, n); - vals.add(n); - numbers[normalize(n, dist)]++; + + int workerAmount = 16; + + List workers = new ArrayList<>(); + + for(int i = 0; i < workerAmount; i++) { + workers.add(new Worker(new ArrayList<>(), 10000000, noise)); } + for(Worker w : workers) { + w.start(); + } + for(Worker w : workers) { + System.out.println("Waiting for Worker " + workers.indexOf(w)); + w.join(); + } + + for(Worker w : workers) { + vals.addAll(w.getResult()); + } + + System.out.println("Generated " + vals.size() + " values."); + for(int i = 0; i < dist; i++) { System.out.println(i + ": " + numbers[i]); } @@ -58,7 +79,7 @@ public class LookupGenerator { s.append("}"); numbers = new int[dist]; vals = new ArrayList<>(); - for(int i = 0; i < 10000000; i++) { + for(int i = 0; i < 50000000; i++) { double n = noise.getNoise(0, i); vals.add(n); numbers[normalizeNew(n)]++; @@ -69,7 +90,7 @@ public class LookupGenerator { } for(int i = 0; i < dist; i++) { System.out.print(i + (String.valueOf(i).length() ==1 ? " " : "") + " |"); - for(int j = 0; j < numbers[i]/3000; j++) { + for(int j = 0; j < numbers[i]/100; j++) { System.out.print("-"); } System.out.println("|"); @@ -89,4 +110,31 @@ public class LookupGenerator { } return lookup.length-1; } + + private static class Worker extends Thread { + private final List l; + private final int searches; + private final FastNoise noise; + public Worker(List l, int searches, FastNoise noise) { + this.l = l; + this.searches = searches; + this.noise = noise; + } + + @Override + public void run() { + for(int i = 0; i < searches; i++) { + double n = noise.getNoise(0, i); + l.add(n); + } + } + + public List getResult() { + return l; + } + + public String getStatus() { + return "Generating values. " + l.size() + "/" + searches + " (" + ((long)l.size()*100L)/searches + "%)"; + } + } }