diff --git a/Cargo.lock b/Cargo.lock index e69b742..e33188c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,6 +19,8 @@ dependencies = [ "http-body-util", "hyper 1.3.1", "monoio", + "nalgebra", + "rayon", "reqwest", "serde", "serde_json", @@ -27,6 +29,7 @@ dependencies = [ "tokio-console", "tracing", "tracing-subscriber", + "v", "viz", ] @@ -47,6 +50,7 @@ version = "0.1.0" dependencies = [ "console_log", "rand", + "rayon", "serde", "serde_json", "spade", @@ -197,6 +201,15 @@ version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +[[package]] +name = "approx" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6" +dependencies = [ + "num-traits", +] + [[package]] name = "async-stream" version = "0.3.5" @@ -439,6 +452,12 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +[[package]] +name = "bytemuck" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" + [[package]] name = "byteorder" version = "1.5.0" @@ -714,6 +733,25 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -1599,6 +1637,16 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +[[package]] +name = "matrixmultiply" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7574c1cf36da4798ab73da5b215bbf444f50718207754cb522201d78d1cd0ff2" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "memchr" version = "2.7.4" @@ -1681,6 +1729,33 @@ dependencies = [ "syn", ] +[[package]] +name = "nalgebra" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c4b5f057b303842cf3262c27e465f4c303572e7f6b0648f60e16248ac3397f4" +dependencies = [ + "approx", + "matrixmultiply", + "nalgebra-macros", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + +[[package]] +name = "nalgebra-macros" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "nanorand" version = "0.7.0" @@ -1740,12 +1815,51 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "num-traits", +] + [[package]] name = "num-conv" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" +dependencies = [ + "num-bigint", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -2064,6 +2178,32 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + [[package]] name = "redox_syscall" version = "0.5.2" @@ -2292,6 +2432,15 @@ version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" +[[package]] +name = "safe_arch" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3460605018fdc9612bce72735cba0d27efbcd9904780d44c7e3a9948f96148a" +dependencies = [ + "bytemuck", +] + [[package]] name = "schannel" version = "0.1.23" @@ -2449,6 +2598,19 @@ dependencies = [ "libc", ] +[[package]] +name = "simba" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3a386a501cd104797982c15ae17aafe8b9261315b5d07e3ec803f2ea26be0fa" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + [[package]] name = "slab" version = "0.4.9" @@ -3130,6 +3292,12 @@ dependencies = [ "syn", ] +[[package]] +name = "v" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23bf1cdfefda84a01134d6a5a9815fbf66c8df618f03b8c2296e6d06041a2e75" + [[package]] name = "valuable" version = "0.1.0" @@ -3305,6 +3473,16 @@ dependencies = [ "rustix", ] +[[package]] +name = "wide" +version = "0.7.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2caba658a80831539b30698ae9862a72db6697dfdd7151e46920f5f2755c3ce2" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "winapi" version = "0.3.9" diff --git a/Cargo.toml b/Cargo.toml index 778c109..dcc0178 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,9 @@ bindgen = "0.69.4" http = "1.1.0" bytes = "1.6.0" http-body-util = "0.1.2" +nalgebra = "0.33.0" +v = "0.1.0" +rayon = "1.10.0" [[bin]] name = "horizon" diff --git a/PebbleVault b/PebbleVault index a82e800..4f6d3bb 160000 --- a/PebbleVault +++ b/PebbleVault @@ -1 +1 @@ -Subproject commit a82e800183cfd95fbe7175a342cae97648aab251 +Subproject commit 4f6d3bb56df56a1d0e5d38d9a85b7aefcb3d4521 diff --git a/README.md b/README.md index c4678db..b65f515 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ Horizon implements a robust event propagation mechanism to facilitate communicat #### Coordinate Management and Region Mapping -- **Spatial Coordinates**: Horizon uses a 64-bit floating-point coordinate system to manage server positions within a simulated universe. Each server instance covers a cubic light year, and coordinates are stored relative to avoid overflow issues. +- **Spatial Coordinates**: Horizon uses a 64-bit floating-point coordinate system to manage server positions within a simulated universe. Each server instance covers a cubic light year, and coordinates are stored relativistically to avoid overflow issues. - **Region Mapping**: Servers are organized into a grid-based region map, where each region corresponds to a specific set of spatial coordinates. This mapping enables efficient routing of events between servers, as servers can quickly determine which neighboring servers should receive specific events based on their region coordinates. diff --git a/TerraForge b/TerraForge index 5bec730..ffd0d84 160000 --- a/TerraForge +++ b/TerraForge @@ -1 +1 @@ -Subproject commit 5bec73001a1a1b588c7029c0cd3abb319c4f5dbf +Subproject commit ffd0d849545e449bef3fab93161fa20c1f640db9 diff --git a/planned-modules.md b/planned-modules.md new file mode 100644 index 0000000..d4c82be --- /dev/null +++ b/planned-modules.md @@ -0,0 +1,37 @@ +## Modules + +### SentientCore +**Description:** +SentientCore serves as the foundational framework for managing non-player character (NPC) behavior and decision-making within the game world. It includes sophisticated algorithms for NPC movement and pathfinding, crucial for creating believable and interactive NPCs. The module implements complex AI behaviors using behavior trees, allowing NPCs to respond dynamically to player actions and environmental changes. + +### BotDirector +**Description:** +BotDirector is responsible for managing bots across various game modes. It handles tasks such as deploying bots to practice scenarios, replacing missing players temporarily, or balancing teams in competitive modes. This module ensures that bot behavior aligns with game objectives and provides a seamless experience for players interacting with bots. + +### GuildComms +**Description:** +GuildComms focuses on creating and managing guilds or clans within the game. It provides dedicated chat channels for guild members to communicate effectively. The module also supports scheduling and managing guild events, activities, and resources, fostering community interaction and cooperation among guild members. + +### BidMaster +**Description:** +BidMaster is a framework designed for managing in-game auctions and bidding processes. It facilitates the creation, management, and closure of auctions for various items or services within the game economy. This module ensures fair and transparent bidding mechanics, contributing to a vibrant player-driven market environment. + +### RecipeSmith +**Description:** +RecipeSmith handles the intricate mechanics of recipes and crafting within the game. It manages crafting resources, materials, and recipes required for creating items or enhancing player capabilities. The module also oversees crafting queues and timing, ensuring that players can engage meaningfully in the crafting process without overwhelming server resources. + +### WeatherWeaver +**Description:** +WeatherWeaver simulates dynamic weather patterns and their impacts on gameplay. It generates weather conditions such as rain, snow, storms, or clear skies based on in-game environmental factors. This module adds depth to gameplay by introducing weather-related challenges and opportunities that players must navigate and adapt to. + +### Chronos +**Description:** +Chronos manages day and night cycles within the game world. It controls the passage of time, influencing gameplay elements such as visibility, NPC behavior patterns, and resource availability. The module ensures that day-night transitions occur smoothly, enhancing immersion and strategic planning for players. + +### SkillScript +**Description:** +SkillScript implements character skills and progression systems within the game. It defines and manages skill trees, abilities, and character development paths that players can pursue. The module tracks skill progression, calculates skill effects, and facilitates the customization of player characters based on their chosen gameplay styles and preferences. + +### HomeStead +**Description:** +HomeStead focuses on creating and managing player-owned houses, properties, or bases within the game universe. It provides tools for players to acquire, customize, and maintain their virtual homes. The module supports features such as property auctions, decoration options, and functionalities that enhance the personalization and investment of players in their in-game residences. \ No newline at end of file diff --git a/raw_points.txt b/raw_points.txt new file mode 100644 index 0000000..8d169c7 --- /dev/null +++ b/raw_points.txt @@ -0,0 +1,1002 @@ +Generated points: +Time elapsed: 35.20189ms +(42.92165058912884, 4.379524444159498, 999.0688423108529) +(-59.1134743670435, 49.72698849207715, 997.01194765347) +(8.586995252508169, -99.5426714749614, 994.9962412331824) +(70.55012010454726, 89.19140615158548, 993.512744569458) +(-127.33286572918267, -24.620599163023957, 991.554419788469) +(125.38203800854663, -78.63566318980337, 988.9872481581972) +(-46.20048753255027, 153.9528837960411, 986.9974794915322) +(-80.83671615573834, -150.88929704788768, 985.2399937870728) +(171.84771204154305, 67.7653748119366, 982.7900171667826) +(-178.56018238957515, 74.22670024964575, 981.1252000815444) +(89.11460974677605, -181.31711957556658, 979.378725763685) +(63.299274298542954, 206.86649458959877, 976.3193408355123) +(-190.90603592533637, -114.22706896464473, 974.9395171819739) +(222.65504583381463, -51.28256119714891, 973.5475486496807) +(-134.9404242459282, 192.75048005706236, 971.9250662176075) +(-30.60532994825665, -245.66108542987786, 968.8725121935149) +(197.6559632713692, 161.92872235010697, 966.8046385187284) +(-264.92840460916585, 13.513701025898762, 964.173387060556) +(188.97627445144323, -187.58471717959645, 963.898304581507) +(-13.033735841553325, 276.51778772713436, 960.9204102320358) +(-177.47166864551156, -215.48012360521972, 960.2458659943593) +(293.0619201681027, 35.61681807425154, 955.4298264224591) +(-242.3947567267429, 168.1406076227244, 955.4964772199028) +(65.37022645236819, -294.0689296650789, 953.5461174474997) +(157.72251101374556, 266.1343976387662, 950.9448416774602) +(-299.1066056122603, -100.07892473919306, 948.9570313255279) +(292.0915868053297, -137.40893598606965, 946.4677961920949) +(-131.20215098404654, 301.865750537891, 944.2791241096857) +(-112.51736157254726, -309.95097539821063, 944.0710970019421) +(295.2071149591315, 156.4255660839779, 942.5411405094279) +(-330.0415740612835, 87.51525949045231, 939.9008664468126) +(194.64374048543195, -290.16349893848417, 936.9732964037) +(62.960306764738306, 346.6180595088052, 935.8909768741445) +(-281.2980119650671, -218.7228511070148, 934.3616766906268) +(368.45533022977463, -33.51529120451945, 929.0411158182096) +(-247.01487745561326, 272.61709039598867, 929.8728796666852) +(0.8573168724224428, -370.03487954503777, 929.0174664277682) +(251.4225024093264, 283.15067354845655, 925.5335873707057) +(-381.1262507732956, -34.41961711471483, 923.8820654873474) +(307.19367386679096, -235.7269686205144, 921.9896111134912) +(-70.85906100339487, 385.38273455539024, 920.0321414930713) +(-216.03442361783408, -336.6120987290144, 916.5268260129425) +(386.22893429435595, 109.62598015590162, 915.8653584390578) +(-364.52177238812413, 189.31132148025966, 911.7483759318786) +(147.8415196257958, -382.0885597236153, 912.2232279453689) +(158.98165021362104, 387.94577246758973, 907.8672328704671) +(-382.9023212137337, -179.08107029682543, 906.2647420431174) +(405.6849734928073, -127.63910228764772, 905.0568832119579) +(-214.11095984699196, 374.96494492164845, 901.9743826480355) +(-89.91125229968762, -423.4472317574789, 901.4479511468368) +(355.54737964455563, 253.9993627227838, 899.4833987152348) +(-440.59081586865074, 53.1023122882674, 896.1360819662581) +(285.24653852150806, -335.66034916574273, 897.756393605431) +(18.970276460714114, 447.0582030158071, 894.3036909950005) +(-318.0785548213373, -325.6195066040842, 890.3920315690625) +(453.1933440562496, 21.757102704878353, 891.1466890389053) +(-353.41914044657557, 292.57343918661127, 888.5357020674646) +(64.38140238199334, -463.78888254795515, 883.6033654600049) +(266.3387492149966, 383.7583214809197, 884.1907154911423) +(-463.7997049083462, -105.68827518654044, 879.6134504514042) +(412.37767505534305, -232.50755083433543, 880.8432845409952) +(-143.74942126339815, 459.5546504428908, 876.439174810637) +(-199.9505878613159, -439.2230489530284, 875.8440932508021) +(448.7761190378982, 186.51754515230252, 873.9629284652988) +(-458.4275702084499, 166.30158719597748, 873.0337593523377) +(232.693002606108, -436.59441533231865, 869.0450408573681) +(120.45689882398848, 484.0972348519346, 866.6833347505985) +(-423.56734141470065, -275.3256482071338, 863.0101359348013) +(499.6136435780404, -85.0125403448911, 862.0667463339386) +(-312.7184686242077, 399.9516784778966, 861.5368908317529) +(-44.50643354129325, -509.912332317416, 859.0742638003117) +(375.79065093812727, 353.8246116668346, 856.498412635022) +(-518.4812052114739, -8.720916020339782, 855.0445517434888) +(392.172452753798, -346.92772284421915, 851.9635687182844) +(-47.87640201819408, 521.7473723842139, 851.7555573871887) +(-315.4750586322245, -427.1967987961533, 847.3360505014014) +(523.1409713705954, 97.67320632407791, 846.6306566855491) +(-450.7077505617653, 279.1902773081974, 847.888738361423) +(148.1767012788644, -517.6185934309011, 842.6830109434565) +(250.34998512622363, 480.84652226849977, 840.3044132750873) +(-509.7136309093897, -192.43952655681173, 838.5457906899039) +(502.9410991432653, -205.15965435766168, 839.6188224524323) +(-236.73052055633786, 497.9695591310301, 834.2571419028865) +(-161.61288510557506, -528.54457789185, 833.3798081001113) +(483.24854799029544, 281.2676852715888, 829.0713661001889) +(-552.379050940022, 119.39623346605025, 824.9981354625722) +(325.30711668894565, -455.16342402810864, 828.8555587426152) +(66.87830680004335, 561.5057102823039, 824.7658027585314) +(-431.00778904139185, -370.62440737290007, 822.720994289764) +(569.7497685150549, -22.7122405322863, 821.5043246429351) +(-410.38147609168215, 403.74369739798897, 817.6662344087672) +(27.727124706487164, -574.2455993865016, 818.2134184555692) +(361.29993082794863, 451.80947474981417, 815.6779747608834) +(-576.343971379611, -85.69082574390538, 812.7021035026954) +(482.37824861240415, -331.0084304433033, 811.0145770829834) +(-129.9058081645753, 575.0934671446314, 807.7078587290551) +(-290.1403888418026, -516.6352905966069, 805.54734887087) +(565.5330552074716, 184.7480674175598, 803.7664555411476) +(-546.5470821813128, 239.6974531650505, 802.3910629520257) +(239.42788879946326, -547.6068755042248, 801.748711234095) +(200.1675759197608, 565.6628457547022, 799.974053631178) +(-536.0715485320119, -287.43056933386373, 793.7322991203658) +(586.806868783999, -145.16535565695213, 796.6082589735744) +(-332.2257193470278, 510.02649308285385, 793.4097603117542) +(-96.23339450140374, -605.7585608361701, 789.8073814269079) +(482.50607655883914, 384.4629963696425, 787.0045047560222) +(-613.6330738915689, 45.554008696354146, 788.276146358671) +(423.48844783811705, -448.7964769066666, 786.9175667525959) +(-13.672228832520997, 619.1668893457061, 785.1403908198287) +(-415.6297787726626, -468.1781625780812, 779.7827229955785) +(624.1467830616274, 61.553060066422965, 778.8786901631609) +(-502.7052484066521, 370.58682143621263, 780.9947765524496) +(122.9841454972543, -622.3933586948256, 772.9821518048682) +(334.0030427734693, 541.5687315141814, 771.456594024696) +(-617.4725935747479, -176.84311473086856, 766.4555492371096) +(573.5507775136281, -286.33526912513577, 767.4969832309106) +(-225.95159028144184, 598.3690235989358, 768.7004556044857) +(-235.57168012049354, -600.589649181506, 764.0667881940973) +(581.7523246160714, 278.0332746152027, 764.3701531395272) +(-622.6676589061457, 190.0617252264887, 759.0530463388382) +(335.83945475982694, -562.2009388879324, 755.7393498688218) +(128.47435363382846, 637.112768771687, 759.9879343295162) +(-529.9839266629782, -385.0911677762606, 755.5275176852309) +(655.3012846428575, -71.40165953619787, 751.9853917204094) +(-430.4225158638293, 500.4547034103345, 751.1867595158516) +(-15.062429939999406, -662.069785778682, 749.2908126777432) +(462.0170837383615, 476.35836323434876, 748.079490502575) +(-664.5317837304973, -43.99659354008144, 745.963677513076) +(518.1485309837092, -423.01222310066004, 743.3591049734048) +(-101.47951543937484, 661.6163441474929, 742.9439555599708) +(-374.4055188185687, -559.8235338649996, 739.2010000054803) +(658.529251182269, 160.32735765083243, 735.2784259897893) +(-591.96686958277, 334.25732487667153, 733.3807101926442) +(217.91622979383206, -646.0617652573375, 731.5167204275065) +(277.91149400615745, 622.0299225831571, 732.013645303458) +(-628.8444606178035, -271.7459885193546, 728.4976060866244) +(652.6422515076395, -219.67648406918005, 725.1209098447254) +(-326.9935452933574, 603.203773588645, 727.4753802465756) +(-166.37164267998975, -675.1377440294737, 718.6859558240683) +(576.5404133317978, 380.7000603798169, 722.9582393347514) +(-686.6041299720952, 109.92447175150387, 718.6733466710833) +(436.0731672918737, -542.303324169483, 718.1554827213688) +(46.387436662237135, 699.0822011055194, 713.5350599776924) +(-507.3605613064411, -483.0892223065721, 713.5895627894541) +(704.7386688501359, 9.398099585532696, 709.404739448165) +(-530.7924239762385, 467.9105632422738, 706.625153426997) +(80.24701321346777, -706.3886922443886, 703.2605721491715) +(422.58933366044613, 570.0739360911134, 704.5806997541198) +(-694.535809571979, -140.43234384124275, 705.6194201022605) +(608.4825216278532, -373.7524692474764, 700.0415077728056) +(-204.02625352290764, 685.1098416203511, 699.2837712891268) +(-319.22764381371087, -638.0240885379259, 700.7274604798184) +(669.0254497706796, 258.19931129163143, 696.9491109167635) +(-673.6941722486328, 261.01858675577887, 691.3793890811654) +(321.7274322308115, -644.4857098389664, 693.6350835731511) +(207.73495149582092, 693.9914914970112, 689.3634742694037) +(-619.3126625073235, -375.48170076175865, 689.5399324557985) +(712.7756982299999, -139.2069664236352, 687.4388878379409) +(-427.35819719530946, 587.8903379663453, 686.8405359439638) +(-81.84453793497272, -731.4163028528403, 677.00196715467) +(554.5538650539713, 479.75345238183985, 679.9313463000566) +(-737.5879450428928, 13.947856047187608, 675.1070142126279) +(532.2761586022888, -512.373679423538, 673.9104566762388) +(-50.393539831203675, 738.2725444972605, 672.617380971397) +(-462.1677550825201, -581.9737602875831, 669.1094891710281) +(734.673087013415, 111.20974241961474, 669.2442367395794) +(-617.8687307682001, 410.9911290486716, 670.3167336283583) +(172.86113593059025, -727.1265037711005, 664.3839817442938) +(356.5325523942059, 656.0674228799926, 665.1767251782626) +(-706.1330614201219, -241.96360542955333, 665.4545162646187) +(687.9722406492826, -302.55817204032877, 659.6610861856416) +(-303.2740216000261, 691.2419971380531, 655.9034755321416) +(-245.17655415697396, -717.007817429389, 652.5245183415383) +(661.1613780405728, 365.1739476058171, 655.372886361249) +(-734.6933063757232, 175.70384517856925, 655.2510239260774) +(427.8365877302275, -631.1086013942715, 647.0377017187807) +(115.10609482006534, 753.691909470296, 647.06961954205) +(-596.8148954854656, -482.263118374882, 641.2754986602929) +(763.0175915041076, -50.07901620793746, 644.4348277296285) +(-530.276895514952, 552.3096467260063, 643.2421536376627) +(23.050339911193007, -765.3499345319955, 643.2014921794324) +(510.6197913599463, 578.9529373484037, 635.6735994259793) +(-765.6923233460894, -85.65217522070697, 637.4786042282745) +(624.6191784268225, -458.4170890304388, 632.2219977399238) +(-152.26231835519326, 759.5460698319146, 632.381177939377) +(-398.903121623408, -664.9295872168689, 631.4625433093437) +(746.4920238482686, 217.19990518099672, 628.9466269249579) +(-700.8315692982218, 344.8684801759972, 624.4204055410823) +(289.1035226351515, -728.6723910326815, 620.850787022664) +(280.69860077683666, 732.0278845470461, 620.7603980341387) +(-704.8063047751941, -345.84349469658395, 619.3870760075561) +(757.4295185919506, -214.80090725155065, 616.5720514339558) +(-414.7249681962857, 671.7804579362341, 613.7704921952288) +(-146.98912656605435, -777.0320720116632, 612.058294394096) +(639.250719213345, 468.49181302133564, 609.8146760428147) +(-789.1023246985975, 87.6197550575971, 607.9805092919639) +(525.4324629606365, -594.2918129958313, 608.8825567161924) +(8.96928417989281, 794.3098451303078, 607.4466411713596) +(-545.4953816846784, -576.246770414392, 608.5839696768803) +(797.11822876751, 55.6458523962117, 601.2537471630812) +(-627.8389598731152, 496.0791196877545, 599.7697453817318) +(128.40123482810202, -793.6754739860833, 594.6363299425832) +(442.86021498542306, 670.0789245323128, 595.7088759458633) +(-780.1054616329569, -194.67096845511577, 594.5911896178573) +(710.8909847829211, -381.40972100278856, 590.8981574509635) +(-261.31274285636226, 764.7064894666586, 589.0158193023883) +(-321.81025501273035, -744.5437364838918, 584.8869841527049) +(742.182125658586, 328.12350305465185, 584.3805772748158) +(-768.7798937549022, 256.7190253552694, 585.7241816579215) +(399.3595958002006, -708.0849696553668, 582.3466227174831) +(189.25794896844474, 791.88019258598, 580.6093259173924) +(-675.1380999466302, -462.00109080371055, 575.1030673684809) +(809.0135832679592, -124.2683147994803, 574.5036188091718) +(-514.629273334152, 634.0125268429247, 577.2216444606112) +(-43.97956644590305, -817.6992874979187, 573.9631285724079) +(592.6259221289603, 572.4476416666663, 566.6552867229526) +(-823.3711688083242, -27.463202191100123, 566.8383287151855) +(624.426615439394, -539.068879514929, 565.2399004576926) +(-95.20653636284247, 824.6861629495745, 557.5199082304584) +(-483.50064579557653, -673.9257430367218, 558.6154476808379) +(811.5317350830035, 170.83972501021034, 558.7754748658942) +(-713.3408871162112, 424.90097934588135, 557.3185233949861) +(238.3778987769277, -796.7620964423628, 555.2892390884842) +(365.6392389270788, 747.6117851406477, 554.4227319254152) +(-774.8262725954786, -308.6227164419269, 551.7211851939373) +(780.9896169110365, -301.92159581749917, 546.7161679118033) +(-377.31130859512155, 749.7779156873581, 543.5708358197284) +(-223.95966687867218, -806.111605270227, 547.7464262414242) +(715.0216988126982, 441.6316373352802, 541.9460001988784) +(-823.9111249152488, 156.43148204604358, 544.7014316722215) +(503.0444252426063, -675.2947968561668, 539.3730096800583) +(80.17976866156192, 839.8455159401664, 536.8712266946089) +(-627.1453690581541, -568.5768392685757, 532.3617791655105) +(843.197497694779, -7.086577745959775, 537.5572158357784) +(-615.6424436425492, 578.0032598715978, 535.6273080824362) +(60.75807985584103, -844.4026001081743, 532.2524820635276) +(523.9954549383992, 667.0696610847846, 529.5723090042857) +(-838.7923177285215, -139.513062224197, 526.2732685482346) +(716.3273852195915, -463.0647752785141, 521.9636875116144) +(-208.07709879104894, 826.6284320552616, 522.8664803528334) +(-402.4571979243733, -752.494531056553, 521.3254113975647) +(808.4854576888656, 287.5847119067454, 513.4649921690276) +(-789.1962231114529, 334.11031469461415, 515.3053648481488) +(357.6877682817169, -779.6599872999495, 513.9939344244126) +(264.1013000707287, 820.480314783437, 507.013369008967) +(-746.0311576046344, -424.7717893600192, 512.8415338552218) +(840.3039216076914, -199.18312967355104, 504.19777883701954) +(-492.36153426817316, 711.0434368542888, 501.99337692795467) +(-117.99041721179046, -855.3931753246917, 504.36175217211786) +(668.0878767200772, 548.7310410535589, 502.54634966730794) +(-865.3027682169148, 47.534776657357334, 498.9905453255396) +(604.872956386949, -622.8457773436069, 496.1772307119202) +(-26.01384500404427, 869.1121943328562, 493.93043389735845) +(-564.4172856604761, -659.9678986837843, 495.858347065541) +(864.1019417151053, 107.56349823494074, 491.6888530073122) +(-708.7035416962788, 508.4328913857723, 489.11684181211183) +(181.07167661407527, -854.1296429997873, 487.51984664957337) +(445.4526400818141, 753.9407164566036, 482.85126230863784) +(-837.3989533857466, -255.52217005590293, 483.1887969297075) +(792.8207889746564, -376.8846446552814, 478.95006127222257) +(-329.1891069145241, 812.3082170248483, 481.44562771171763) +(-307.68342196213797, -822.2264682900226, 478.82621763327194) +(784.7132419218437, 403.3182662065705, 470.7010772206027) +(-849.5720406423402, 234.68166388846237, 472.38952612579465) +(470.1718155738003, -744.7616347732327, 473.5700277782984) +(155.17082260558905, 871.05358778126, 466.03397196481205) +(-703.3229982796288, -534.9441187446849, 468.15761225406334) +(879.0591485861518, -82.36619482784056, 469.54320699651527) +(-593.980759053349, 655.8132809970226, 465.93540146926773) +(-3.8892027763369756, -884.463160303598, 466.5938192556095) +(606.2168988718083, 647.5113683838395, 461.768447748366) +(-885.0113116773582, -74.92331941609105, 459.50133232755303) +(699.1353108719137, -547.0767035002801, 460.34432502128124) +(-151.0623080798978, 879.4206382068719, 451.4416021739603) +(-483.945545772838, -748.5496765358829, 453.2880877374287) +(863.8134937277301, 223.51464001812093, 451.5168366201449) +(-786.8597554124009, 421.40082840867996, 450.85814523951393) +(302.53103086735746, -844.8630118428136, 441.22722783416685) +(351.6222596739245, 824.9623557744867, 442.49169264158223) +(-816.0904145452924, -372.716027483742, 441.6777084527031) +(854.6931405884379, -276.36382623950976, 439.45724590377466) +(-445.5284891479638, 779.8619570422537, 439.6813542962205) +(-203.11769288798996, -875.2872766269664, 438.87969446171513) +(742.4019830715338, 515.2628534633872, 428.1862764874909) +(-894.6857363208505, 120.83209726122749, 430.04306469872387) +(579.6872795143843, -695.8681902385023, 423.9458925186135) +(44.38509698071221, 902.2930363837886, 428.8324144223894) +(-642.6226764177823, -634.9946272382499, 428.73992015230203) +(905.7358169196351, 34.388781762482466, 422.44531200832796) +(-690.4642273402362, 586.448057583284, 423.4829707559015) +(114.10292773953567, -902.8194955048184, 414.60521031179945) +(523.3092528618639, 744.1812265376261, 415.14061224856385) +(-889.9893041376149, -193.93932160483274, 412.6821755977611) +(785.593288067721, -461.74830016438347, 411.8636825920069) +(-267.645686997841, 871.5432092938166, 410.8262656711329) +(-386.95436412677833, -827.8696612034056, 406.0765249829138) +(843.2538773963469, 345.94171271554933, 411.39668163399085) +(-856.2755705164863, 317.34355818684145, 407.5355363817745) +(418.40510600734785, -813.4908200869706, 403.94288321643705) +(238.19387588514476, 885.6373134964617, 398.6354555650843) +(-775.1564066085184, -491.91526298724614, 396.4239136756987) +(902.0643263577258, -163.4511734296116, 399.4542089116915) +(-558.1360330233485, 728.8262537979992, 396.60617798482906) +(-77.9618618886907, -914.3722562762824, 397.2975271041455) +(680.0910850902908, 619.8585305028691, 391.4735216378428) +(-921.6522143370033, 0.350052347102441, 388.0168466330461) +(679.318446326326, -624.6426613342875, 385.15969950399136) +(-77.29818041664593, 920.8540782740105, 382.1684940316225) +(-563.5086439510333, -733.3908922144861, 380.25755404634293) +(911.6300047002084, 157.25521513333692, 379.7387678966499) +(-778.0952966311853, 499.1775203049871, 381.2997673518722) +(241.14241729365756, -892.8254254933504, 380.4117429501741) +(430.89708573568487, 821.8326587312615, 372.71810064336796) +(-871.7290102072659, -318.9062747124653, 372.0044632959098) +(858.1178104417642, -358.1070341598935, 367.9581164858814) +(-387.6805815519064, 844.1653686352095, 370.25477320968685) +(-277.24335556343823, -886.2904712362231, 370.9788705462869) +(806.9632185877983, 461.22920531160906, 368.8874950632549) +(-907.7811224270255, 204.06678282349802, 366.45624829329506) +(534.1577624608727, -763.9196175742118, 362.08051961968914) +(117.12833793307199, 924.6952421470622, 362.24254526990916) +(-719.6583692260901, -596.7719059857968, 354.90156921169523) +(935.9355962214984, -36.19665548813431, 350.3060973733996) +(-658.2493094810043, 662.786042736403, 356.96289460054516) +(45.498688675606495, -936.1733327584211, 348.58192775987544) +(605.8886246282949, 716.4732513112976, 345.7818021548432) +(-930.7726605284405, -122.45421782923033, 344.4810864889971) +(769.1754845570291, -539.45324442128, 342.5773942334989) +(-199.67023402092988, 917.0532140562511, 345.17415928068345) +(-469.95195013917726, -814.2881104422373, 340.70520652434266) +(894.5993045561424, 285.63774306132507, 343.66140898637246) +(-854.761519326095, 398.3550935977909, 332.7100306333447) +(361.67404034197756, -871.5438442555035, 331.06376437636357) +(320.45000248586115, 887.5635765070821, 330.9723456193413) +(-834.9373610190611, -439.23228122123294, 331.59403840798734) +(911.2513422905774, -244.19384809475696, 331.64793942718205) +(-505.42856180394216, 798.9232840805355, 325.98091212028123) +(-160.04198560089657, -933.0724483154216, 322.1216680690498) +(746.25908024439, 582.4264954371957, 322.2991817636885) +(-944.5882657357391, 79.49490528914842, 318.4863706148476) +(644.5633603824018, -696.8644280068697, 314.5123899486378) +(-5.695724896927884, 949.1535858098938, 314.7618611936952) +(-636.7548500671608, -703.2885707217073, 316.1146108742302) +(946.937104750406, 86.94811215074088, 309.43520394476946) +(-754.2665471002235, 577.2949221064612, 312.7499781544376) +(164.52862185717115, -937.1756099311305, 307.62348535180706) +(510.08802676184297, 803.1212547136026, 307.9065689157313) +(-918.4101890184631, -246.80870623880583, 309.20573609135636) +(848.8192231427101, -432.80373948183626, 303.6228738319048) +(-325.98431557524447, 895.1734175369899, 303.9716739008509) +(-364.35035302051745, -881.6642607665358, 299.8615539558591) +(866.0544633433001, 405.68870668118063, 292.17518682204906) +(-912.9795931473176, 286.72536587170885, 290.2702655497) +(483.80750500006025, -825.4036935235291, 290.92789626182736) +(204.6640752264911, 934.4666579721346, 291.3497579372172) +(-781.3521156062221, -551.5709478460633, 291.990343898349) +(950.2873538690549, -117.9989251386022, 288.149611734398) +(-616.2117702956715, 734.5888634995063, 284.011013468806) +(-32.320579952780605, -957.0233167588618, 288.2043568223476) +(677.9616014871877, 679.182415044624, 281.21044433498514) +(-959.3287862540966, -48.876200684002974, 278.02769083481394) +(739.6383440519039, -614.9909178828406, 273.35195431856476) +(-127.0115859728379, 952.9101379997811, 275.3730668128288) +(-550.0038798553414, -789.7670231095617, 271.5948846218064) +(937.0799589847429, 218.93089598623405, 271.9382526453706) +(-836.5865937111598, 474.365920564756, 274.0435086432632) +(296.27299489869284, -916.4393867291734, 269.00030287197796) +(401.9895122414251, 875.6303530411429, 267.7235829749487) +(-887.4817911831398, -378.3643308918412, 263.0902951975521) +(906.7441197236228, -328.0233700635912, 264.9825844065174) +(-451.3843999340318, 854.5408833490901, 256.9280097248078) +(-241.70577336533486, -934.6938277827244, 260.6257228800417) +(812.9127570253047, 525.3732663666754, 251.30813845303211) +(-955.3130706906563, 157.72072094519115, 250.00222229435977) +(594.1140275533548, -764.6607797911776, 249.64457557391466) +(80.84554462100621, 965.5192332724356, 247.46031620431793) +(-708.2546928623365, -661.181458984498, 247.41537610586786) +(970.4722527013605, 4.904101596478996, 241.16292526895228) +(-720.2767168022901, 651.0525827165495, 239.44098598741166) +(89.65540056198326, -964.9986007157349, 246.4540723273689) +(584.3263463492704, 774.7479985017951, 241.5124422872974) +(-954.3233224322832, -179.5394764640059, 238.8149338982782) +(821.9295966555543, -517.6061866881321, 237.73004362892044) +(-254.4838187084163, 938.6696981264262, 232.67398615837098) +(-444.1841993371902, -865.4969594516109, 231.55001671171604) +(912.6179567130113, 341.2733481492514, 225.0799123155334) +(-903.0485163944342, 365.52591704133556, 225.59738697268196) +(421.22282618637905, -878.6233917722881, 224.92724630448842) +(288.38415217461727, 931.0349061548119, 223.6259919951788) +(-840.4638624149035, -496.4980540808781, 217.04879236826844) +(955.0338868865667, -198.94596296472375, 219.842622615304) +(-566.3766235532948, 795.6700007824625, 214.7714369910618) +(-122.82994768867223, -968.2853045634145, 217.5692370656609) +(737.828277449988, 639.008802452562, 217.43316992429217) +(-976.8925236216704, 30.61014370961708, 211.52781470568036) +(699.1000740663023, -683.972615078078, 208.4239627867821) +(-48.931240915770275, 976.5069575392611, 209.85684534905843) +(-622.4367705027223, -755.5529065496227, 204.23582479711686) +(970.7304567909672, 133.8104218352052, 199.44210003578695) +(-805.5881845175661, 556.3676453667711, 203.67307174667678) +(227.2195205014919, -952.372730974196, 203.36536283208073) +(483.5574265221562, 853.3758994158914, 194.73517800178817) +(-931.9609347340091, -308.88073493037194, 189.84601054166376) +(893.8001400558895, -404.03526050337695, 194.61967502295545) +(-389.71206980829055, 900.8066946128978, 191.49882920353275) +(-323.5986392822435, -926.2877978354543, 193.06692165108254) +(864.5320276484133, 465.37910790755114, 189.75420705031752) +(-953.3835420976102, 239.53246562863754, 183.5320668637496) +(534.9055491527465, -825.6319533347748, 179.46568228550936) +(156.61182643484395, 971.1655033229603, 179.75066335400166) +(-770.4166377266762, -612.4315824422256, 177.1602696465398) +(981.0852671148909, -73.31275747931967, 179.156183931456) +(-678.378824451598, 714.3317219671429, 171.84982259846615) +(16.656714408571332, -984.1153755531994, 176.74694188272898) +(657.0700857270556, 733.1508878250702, 175.35301002250046) +(-979.8852779232006, -103.02242787935572, 170.91290607562303) +(788.4759059087012, -592.1222042175247, 166.42428030198252) +(-186.50459031155597, 969.31047375732, 160.1662987556326) +(-522.751124823796, -837.1415421874574, 161.01335298496727) +(950.0661550336807, 266.7933877832052, 161.85051527467724) +(-883.6937485942896, 440.36824932954823, 158.62270858172025) +(351.3292842456842, -923.6434338263784, 153.1356953189935) +(365.43031227996346, 917.441264877911, 157.3601358864023) +(-889.6644511458014, -431.3540559539972, 149.7692985210112) +(946.9639513221659, -282.2342415884656, 153.63302955840635) +(-510.97773418475214, 846.3524197546824, 150.29749413350413) +(-197.39646351633866, -968.9427793521565, 148.9447096494561) +(803.1165569117757, 578.7697553909593, 141.52514355712077) +(-983.0653498100934, 112.70282679848536, 144.50117935293557) +(650.4844830399595, -746.0511187869453, 142.39966812104572) +(32.624917433808214, 989.7317070679751, 139.16451698169766) +(-687.2024813396704, -712.4089697950317, 142.21887848025557) +(989.3879704181164, 55.412714385235034, 134.31632468311793) +(-768.6143474921082, 625.2075222552522, 135.4530876160789) +(149.53090463558962, -979.4815887150016, 135.1159721394867) +(557.8920977580759, 819.7359499487776, 129.57383848859558) +(-965.352624372627, -227.6524428612381, 127.54871961800457) +(868.295547874078, -481.28432979229495, 120.11759004590616) +(-315.3716816337638, 941.4355947458996, 119.33031202894807) +(-400.35270609261426, -908.3210393728311, 121.12225293884016) +(911.4040382046749, 394.887444852709, 115.7868085833199) +(-938.411483582747, 326.63535526744, 112.66424530143115) +(470.5811159471602, -874.7729894839197, 115.43669340071891) +(243.02940158985749, 963.9794103497495, 108.07592879371845) +(-830.3086002861826, -546.8885369805977, 107.24064719136115) +(982.232259024135, -154.50090729169779, 106.5329009197932) +(-620.6804460304779, 777.4062582964802, 101.95731203240544) +(-65.48116824416314, -992.1940014651664, 106.12860152626763) +(720.7203123505501, 686.2068958436182, 98.39881839733229) +(-994.4787471155164, -16.909349822053443, 103.56686450862507) +(745.3869921163289, -659.7925658218276, 95.24705806491495) +(-100.12817297242776, 990.1909522646902, 97.44858660006184) +(-589.6014980123392, -801.893597924709, 96.62676207433788) +(976.4145609649022, 194.1705521763568, 94.405517864404) +(-851.2174732466921, 517.2589167203955, 88.72444033500545) +(278.036415986715, -956.3609174458392, 89.83065716900354) +(439.10473526650446, 894.4525761454229, 84.50810903901153) +(-928.621370192876, -360.7486617693836, 86.73381032045278) +(929.404229133264, -359.5117038629343, 83.42130216421349) +(-443.878975769535, 892.7494784439225, 77.26463361650583) +(-278.476647972646, -956.9935906693564, 81.32664970162882) +(855.0885358447766, 512.7078111286538, 77.16408668869755) +(-977.8805429842637, 195.08914441922693, 75.43122286278931) +(583.1358000179423, -808.7470794037828, 76.68637619085904) +(113.51450201880138, 990.8878232429223, 72.49675565379923) +(-752.1732083872517, -655.2817179399497, 69.57970047431974) +(997.5572953135718, -24.769355872578316, 65.31402281538847) +(-719.2411470287304, 691.625200170003, 65.92992424233074) +(64.62364242665569, -995.6933549625348, 66.47200706284875) +(627.9285910415972, 775.9798121590035, 59.67424632278258) +(-986.086465511795, -154.1569955604945, 62.20211615545937) +(829.4314279299244, -555.6219222905165, 57.68696414544352) +(-231.15440181192352, 971.3003540398605, 56.064826451294124) +(-482.29917020923796, -874.4192163129278, 52.711901485013584) +(947.0946014104285, 316.056874653405, 55.855778246690164) +(-913.87420365658, 403.1496987432018, 48.00271132256476) +(398.2911609895927, -916.2640600025919, 42.71209928262677) +(317.0645577061262, 947.309515996739, 45.5493924069514) +(-877.267263515153, -477.8211115115265, 45.707042767218915) +(969.2288908569358, -243.0284309337709, 39.147654924702294) +(-555.3795467121388, 830.8610264120169, 34.978763319888444) +(-150.97511685161064, -987.9274997073669, 34.72419061105925) +(780.0068046398347, 624.8826740653931, 33.33209217013504) +(-997.0227008320052, 67.46311671983855, 37.342494668934286) +(692.0538008481849, -721.3055053066157, 27.926774714394945) +(-18.27172514684196, 999.5379869401851, 24.289024758537792) +(-663.3560046052703, -747.924246202014, 23.835542731007877) +(993.1137264798599, 113.4618920254936, 29.18090703321859) +(-807.0271152214168, 589.8712780994699, 27.551961285829787) +(193.64761574711005, -980.8754684468194, 19.593782551930296) +(517.7320528064477, 855.4269450159173, 14.080597911903423) +(-960.8244888891538, -276.6532098292146, 16.712361954219446) +(895.5795513832185, -444.61641183871984, 15.922106264407404) +(-365.6856051405448, 930.6208668655356, 14.793253443135045) +(-360.67968527050783, -932.6398434302444, 9.648164570363058) +(897.7683140362333, 440.448980564423, 4.09265589804143) +(-960.3408915236744, 278.6079343444533, 11.090130199011332) +(523.1641628677353, -852.2254877736763, 3.3131072758586035) +(195.1288022527319, 980.7767579316096, 1.3044663948376565) +(-806.2419580228442, -591.5834624130046, 1.7064943397858476) +(993.9354925753727, -109.92036519602736, -3.122485247840777) +(-660.4408794720955, 750.8600571212942, -5.198013267761101) +(-21.972195496783844, -999.751905507029, -3.6537734077747803) +(691.9091586366483, 721.9791965816758, -2.784941292647992) +(-997.5066398183435, -70.43686572017806, -4.3762387772080755) +(781.0433869596768, -624.3997711654982, -9.805786813410187) +(-159.08593835289054, 987.1096466218034, -17.498850378200476) +(-550.1824934780257, -834.9600854194845, -11.869272369839239) +(971.3293742858921, 237.2830294340916, -14.697298797998684) +(-875.6622594291924, 482.4955600143391, -20.33819013115175) +(328.39135390422973, -944.361898780393, -18.43157108978186) +(402.7263556830099, 915.0413036904365, -22.60298605910593) +(-913.3737800167852, -406.198309320264, -27.409332046009595) +(949.6849117196043, -311.63743778989834, -31.315743961694633) +(-480.81522620005813, 876.2933768552155, -30.440695357859788) +(-231.8296286152963, -972.2261999023777, -32.11291826470293) +(830.0371552753602, 556.8495568967129, -30.933668491177833) +(-987.8412415983654, 152.12248095993277, -32.069178099768614) +(624.557024846099, -780.2446168237051, -33.865330841717125) +(56.22413169310612, 997.5309090782104, -42.082448229101956) +(-717.2593176024176, -695.7395486348694, -38.54285637913102) +(998.459274422576, 31.663768486995792, -45.56844395790976) +(-754.1327630062191, 655.4282569029647, -41.20164819211658) +(111.7813636809057, -992.3698531613825, -52.028850362979306) +(584.6302480542838, 809.9667575062595, -46.4900504923668) +(-977.8855135156853, -203.08682099340157, -49.95663714621367) +(857.1664373065132, -511.95520554489394, -56.281136011498084) +(-281.529551579988, 958.2439463175259, -50.09641636869245) +(-438.657506271723, -896.7029011729047, -59.190364245957376) +(928.5213332981912, 367.17974241269513, -55.019727115790225) +(-933.6827011918471, 353.2425264727215, -58.790568854746624) +(449.2500272504855, -891.1401311405506, -63.58993384365444) +(274.65373750409833, 959.6095140829474, -60.95002015192022) +(-850.3721957530945, -521.827794446108, -67.54910534989376) +(979.1313822121846, -190.71979731628957, -70.19754467850386) +(-595.0636061934545, 800.7731820652258, -68.27602411662679) +(-97.86379593877919, -992.8667431002065, -68.1051238163597) +(743.7575219323703, 664.4159191910719, -73.32281292000864) +(-996.9785790921278, 18.068282657952565, -75.54634334786904) +(724.2487810857281, -685.218377686542, -77.06800877446177) +(-73.95317922207603, 993.6226610585877, -85.11718224776007) +(-617.3728859493079, -782.2392283272083, -83.38170878961911) +(982.7459156693186, 163.975520820999, -85.57157125327835) +(-835.0038538499165, 542.6323115058633, -91.20711905104304) +(248.86018280792496, -964.5948391159816, -87.32356934768411) +(472.0151993410672, 876.6230762391245, -93.45391268463133) +(-940.8708185631763, -325.127212879408, -95.15460168340228) +(913.7514165585561, -394.4662244653253, -97.23552073858399) +(-410.00199558648507, 906.4084029437988, -101.59808407628576) +(-314.69297607124395, -944.2057335728646, -97.17954259797757) +(868.3528857566515, 486.11429496341367, -98.26575207221934) +(-968.2619137572691, 225.46618663854142, -107.86039611361304) +(561.3544873448204, -820.5465736590085, -107.63112929954556) +(139.16489553421118, 984.97955624032, -102.21744293208707) +(-770.597448765795, -628.5753281745125, -105.22655922319252) +(991.8971400975198, -53.19844557207934, -115.36892499748713) +(-696.4881961821992, 708.5178502803248, -113.60743115225155) +(30.586203198091575, -993.2305217061138, -112.06076443307819) +(648.9292381366748, 752.5477282497023, -112.08372137633098) +(-985.9259749444702, -113.84473127656966, -122.43099726115777) +(806.6034660738474, -578.8870173222455, -119.50175602647086) +(-207.43651509391123, 970.7312450026127, -121.04107642189533) +(-506.0345793131904, -852.7786604505746, -129.21904201566392) +(948.7577605266887, 289.11935441846896, -127.54885629056135) +(-893.5111407765062, 429.44192039942266, -131.21538900571943) +(365.1434796003379, -921.5249799186045, -132.14367442815075) +(352.3786138662194, 927.064206173698, -127.98933596691883) +(-882.9266267769708, -448.2423777872928, -139.7116404736335) +(953.2666667212836, -268.1750654820678, -139.15745172926168) +(-526.8235930751174, 839.1467496327015, -135.23917465104404) +(-182.7644446672498, -972.3762948950981, -145.19469305574802) +(791.5847987555026, 594.445347948334, -141.52114570549048) +(-985.3648634667925, 96.23259408194251, -140.6960329267655) +(660.9382717649703, -735.6622062971946, -148.19486881224256) +(9.257164922772407, 988.2416581118199, -152.61955991940775) +(-671.6709661406644, -725.5075729830028, -149.98958226483495) +(985.0040190044633, 80.02062201759618, -152.85215928135145) +(-781.7100526707266, 604.3415423840801, -153.95029620744845) +(163.3819179249961, -973.7084978498104, -158.7391259589632) +(538.0003668017886, 827.9725478419552, -158.16783914956324) +(-955.4342100679868, -249.4813317618676, -157.81170848225113) +(872.0867075037046, -460.456335450723, -165.66453373803185) +(-333.8497025646417, 928.2159267683155, -164.1936947362389) +(-383.44210132799344, -908.8344701163319, -164.29260743423265) +(898.3336928753747, 406.7959005975219, -165.87245552515034) +(-935.8936619830563, 308.4946495995015, -170.10027815505057) +(481.646804595225, -858.5698949528507, -175.71024757782274) +(220.64412734517876, 960.4155116302012, -170.0535624095645) +(-811.9625053787031, -556.2855939285708, -176.8141053385641) +(975.4787520842223, -133.24001940178135, -175.18076795704863) +(-626.4034378705088, 759.3773694624812, -175.9680191746512) +(-50.18671861494007, -981.2114499567858, -186.29381027926502) +(698.3159808950759, 691.8447680578824, -183.5908705177982) +(-982.2896408252442, -38.621202333424755, -183.34520516701156) +(745.7343550130072, -638.4327223087253, -190.4834135530028) +(-117.53566141200034, 974.7472700081922, -189.8766123250039) +(-570.1691360857118, -797.8532241850435, -195.7993588161205) +(959.0257642268695, 210.08327257717204, -190.09103643342786) +(-847.4043201927144, 494.1454974314093, -194.23219477467885) +(291.8074723340874, -935.919255323639, -197.23982002738617) +(419.04299979054065, 885.2728713893562, -201.72978835211558) +(-906.3614462227063, -370.79009147259643, -202.54292598564848) +(918.1796966350689, -337.0614428664585, -208.1721124932778) +(-447.5230063982802, 871.040560319651, -202.51296507205) +(-252.49641978555914, -944.513911536783, -210.0929054227215) +(830.0857014413156, 517.069504135279, -208.79860190139115) +(-961.1561172628479, 173.3394077424771, -214.7844686463474) +(590.5747432546535, -779.2353808435531, -209.79440857969212) +(92.09967071976389, 972.4830211488093, -213.9963182641132) +(-725.0886876222272, -652.5483007776194, -220.06160554380622) +(975.026241182222, -9.199795538495497, -221.89905986307707) +(-715.6129735301281, 661.6047017022868, -224.00288123324714) +(84.53890340538835, -970.7046577983588, -224.91251885918982) +(598.7342287850545, 766.9611853534491, -230.8416414826373) +(-959.8418921695887, -161.48915157262286, -229.4009502174258) +(820.4673144929993, -521.8871591100622, -233.38204516344945) +(-250.1751053593289, 939.0839167162052, -235.65613512785953) +(-450.3423738130852, -861.545286812203, -234.37462558919262) +(912.047948102651, 330.7366905382416, -242.44954504712) +(-896.6290107583432, 374.3537719396511, -236.46494560731554) +(404.2989987693285, -882.463445322321, -240.41752694838507) +(295.5723527074598, 923.5837071062712, -244.19279326551498) +(-841.0392185278001, -481.9727245364585, -245.6732091642281) +(944.5139149412663, -215.61158322764294, -247.8005441083446) +(-552.1489760223502, 796.7511356722878, -245.5995441412504) +(-126.73395574889338, -958.8152374995573, -254.18860084375373) +(743.2151654034508, 620.4051273432514, -250.45697411037537) +(-965.8900314727097, 42.37092119119851, -255.46262376139757) +(681.112464636607, -684.0049700674389, -261.19535110657836) +(-37.90533728306109, 965.0471731310694, -259.3205333890652) +(-622.445627843084, -736.3420811790207, -265.25794967159294) +(956.8595910439107, 127.98809240234723, -260.84242605544125) +(-791.2598446061754, 551.8976209423909, -263.28097977624617) +(210.3782681434738, -940.8446459849822, -265.6168978328496) +(485.20307324452745, 831.1048387828451, -271.7401786004545) +(-919.9816221141945, -285.6372600948512, -268.4123145789736) +(870.829369691805, -406.46668032473474, -276.4797400678097) +(-365.29820395383905, 889.9393968426929, -273.066094811061) +(-327.0192836482772, -902.4676330182526, -280.3757469479133) +(851.0484209522375, 443.86688608574076, -280.53301522503784) +(-926.8030961689132, 251.89905588413902, -278.5370470447253) +(518.3501496549874, -807.918807782686, -280.321819314258) +(163.54279558572435, 945.8402847189664, -280.4280831420967) +(-759.2481520222119, -582.6675849891363, -289.89779070179804) +(955.1230048293106, -80.73794178323239, -284.99373747932776) +(-646.6791197492147, 706.5304101475258, -287.43850754056956) +(-4.629919839549433, -956.7774419409744, -290.7842678604958) +(644.6228975853944, 704.7853749818343, -296.20752036422965) +(-949.6398829475748, -88.25800948770895, -300.65697476789757) +(757.2511665346748, -578.6366010343149, -302.9032101601594) +(-170.71463285680477, 938.8719165143726, -298.9582554625234) +(-512.1527837422954, -801.8204241022738, -307.8693450109437) +(919.4910743406431, 247.5468923203259, -305.3796003508402) +(-844.1440691147789, 440.8426757182152, -305.0877346665181) +(328.5404607120353, -892.1017363083047, -310.18648866582123) +(359.9955663545282, 880.4899799561487, -308.44867871641685) +(-860.2223640072119, -399.2724654667239, -317.17342697957446) +(905.858940545589, -284.3640566457485, -313.93735540963644) +(-478.4390748226628, 820.1730779965205, -313.7071465755092) +(-202.18751917532376, -927.4278657941892, -314.63909616918795) +(777.5730602615782, 544.0303089265828, -315.29535189198486) +(-938.5961529085619, 125.65944441221869, -321.3206588055928) +(611.8755122723504, -721.6947236768906, -323.67434760633284) +(41.407298267653985, 942.8201075564411, -330.71994260617885) +(-667.073700211685, -669.7439267668714, -326.2755753113965) +(941.1784794448664, 48.65140890647946, -334.38915987403607) +(-725.401882572635, 602.9985986802311, -331.94095672235846) +(120.83719042663955, -934.357874989241, -335.22191881705106) +(534.528988531537, 773.3326093821573, -340.93318360880573) +(-916.944482786527, -208.02439130761212, -340.4976770969898) +(815.8412828618291, -468.54393695370464, -338.92415128209416) +(-285.12753012689774, 895.2170550557531, -342.4744018186467) +(-393.15699885470605, -852.9092437405059, -343.4725552261183) +(866.3172062878599, 361.6127151714599, -344.5732756844649) +(-880.288786365385, 320.22505270492667, -350.0679480036477) +(436.593686490544, -828.6471065139996, -350.32831142026356) +(240.00522368864904, 904.60915852597, -352.2495747521893) +(-784.4022880274321, -509.86271847531185, -353.2039904167199) +(919.2472371848398, -158.87966665240958, -360.1968468108209) +(-573.9517631099715, 735.1100368576708, -360.8221270017529) +(-81.28305417959521, -930.5170461694516, -357.11495612941707) +(687.9630184454795, 629.618581625804, -360.95335837597565) +(-931.9934742022087, -0.593097601095781, -362.47456776956415) +(689.6037090936024, -622.0287415258621, -370.8462877259237) +(-86.49112554828307, 924.8152257587471, -370.4538883669446) +(-563.5002803553172, -738.530797878573, -370.18872838636923) +(913.5275346204222, 170.4753137367948, -369.33130235152646) +(-784.2205414136685, 494.51931338026515, -374.7649811798901) +(241.42717456260567, -895.0946007232238, -374.85807332755905) +(425.1992215422895, 819.8665748354364, -383.43763699908345) +(-863.993835359768, -323.4158949744602, -385.8974103802549) +(854.3571227954806, -345.5361240688435, -388.17353553804884) +(-395.4782868717374, 834.2470847852156, -384.22483800551623) +(-268.60112646828236, -880.7760251483494, -389.98336936828974) +(793.5943563982411, 466.7876112539476, -390.27852038345026) +(-898.6814654938987, 191.21740348883725, -394.7246232257697) +(534.1831760844262, -747.3196259362751, -395.173014107518) +(109.87189677780698, 910.4013525038699, -398.87033439148064) +(-697.9726670046674, -594.4277871872968, -399.3616931229202) +(915.4078753656999, -29.744075792574424, -401.42709384606934) +(-651.0587188989573, 644.057908579044, -401.6365956215097) +(42.71904410941082, -913.6434935830483, -404.26556853600636) +(579.8790476420497, 706.1716616890666, -406.2780751321093) +(-905.0830788857628, -127.18519359297292, -405.76908069169843) +(750.2991882197518, -519.270733472505, -409.15649025245585) +(-204.91737400816726, 886.2666670891235, -415.3796632435605) +(-448.41559185114585, -793.4493346630063, -411.5356731896025) +(864.533542323214, 283.5815537249877, -414.9256036749207) +(-825.8221787817291, 378.6842685143151, -417.8707381619055) +(355.92679190947956, -835.7259152902387, -418.1845445653376) +(301.40607860823985, 856.1032914515147, -419.8113030206383) +(-799.6694435870438, -422.4836009945776, -426.6572252802505) +(877.8893921052176, -223.60590458272256, -423.45084090703375) +(-492.0668531413981, 756.5181301027969, -430.7557670714222) +(-150.90262845017483, -890.4882236366626, -429.25414417481113) +(709.05950450899, 559.8930487342133, -428.6658291076784) +(-900.1320019422934, 68.562761001993, -430.1877809551808) +(615.6582782070817, -656.7050126070307, -435.5495504439091) +(-10.858946577289984, 899.8823555772431, -435.99751077269224) +(-601.3526480102829, -668.6599031476763, -437.34303087343346) +(891.2967294933163, 88.01724721525775, -444.7955757279591) +(-713.8172380027386, 542.5394166700625, -442.84978501682707) +(168.69463579700718, -880.3756320142585, -443.2616229821955) +(471.25684614750793, 759.5378690864163, -448.35165928406036) +(-862.4839762089487, -237.27384642228034, -447.01511449477607) +(798.2756922660878, -401.8855837893344, -448.6021585763981) +(-315.74628673044737, 835.1293318955435, -450.40346515500664) +(-330.90389608698496, -827.4918391202544, -453.60761429216876) +(800.3183031043753, 384.4514898532826, -460.0952788996259) +(-850.2117426557967, 257.2139756125878, -459.3266412910972) +(453.57508447497383, -762.3622504699905, -461.5987887785797) +(185.55674626407384, 868.3670099616004, -459.8993693475128) +(-717.3278987898171, -516.5813637447008, -467.5300848602697) +(877.6462306190907, -106.69229065529252, -467.2834781958678) +(-577.2361883999654, 668.9122076854436, -468.3533294542333) +(-27.531104701495277, -880.3976631190818, -473.43636641936894) +(613.2114618935641, 630.2461780092214, -476.19476908837083) +(-877.3689138518203, -50.95116447062541, -477.10351900354334) +(678.4987872689546, -556.2555224853568, -479.8116186370443) +(-125.09019614145627, 869.7071079922142, -477.4536512972872) +(-493.97042171118903, -723.5344783233824, -482.1732895461764) +(851.123200311284, 204.19694486067993, -483.6247570187474) +(-766.440084315068, 426.35634704679757, -480.4059351090723) +(270.54954842298616, -828.2107034253405, -490.7850574129381) +(352.828466483884, 796.6244976263878, -490.8171584410394) +(-800.4786375815634, -345.2325216787302, -489.94740202485946) +(820.177355575255, -287.5453614262833, -494.597584429817) +(-413.780849684697, 761.7690076179352, -498.4911107201373) +(-214.70493339808914, -842.9324053066211, -493.3221580858863) +(723.566529240753, 476.397479030219, -499.4966663914211) +(-856.041792637068, 142.79798136876818, -496.79088737185987) +(537.8776477850804, -679.6839258223438, -498.7157476879145) +(62.00093278620273, 858.9174220778169, -508.3470727611576) +(-626.8534021871028, -592.0103660483754, -506.53582169252655) +(860.9041988539591, 9.77616315368738, -508.67316326853273) +(-643.1974356433492, 567.2688637691377, -514.2986437663345) +(85.44779165688628, -851.9206980561793, -516.6524935819369) +(512.0371358467797, 689.0683816605782, -512.8379246014262) +(-838.3161728849735, -160.90070669144617, -520.9001409729934) +(728.7980081875552, -446.2114694714089, -519.373456940204) +(-233.70161121418107, 818.401103432351, -524.9792289382561) +(-382.4013705535717, -761.6690424174278, -523.0960347982656) +(795.7878120921158, 301.62043623448034, -525.1160543835668) +(-788.4920913422444, 316.0802685286211, -527.6111122196048) +(365.6651420224281, -764.4357950698625, -530.9679078114091) +(239.77026284038027, 813.499491397555, -529.8384645846074) +(-727.0877407785363, -432.53844857782207, -533.154675222355) +(829.402812845978, -168.3680396676039, -532.6754896385486) +(-497.4937340586523, 683.2973178706022, -534.4200220456004) +(-100.54629874017053, -837.026479987555, -537.8448787608704) +(635.5779208722628, 551.1591358387276, -540.6147551456571) +(-839.7720400164533, 19.77080061921912, -542.5790599069223) +(601.2173088524411, -585.3237354046639, -543.9980443973669) +(-48.99481767058039, 835.6699167684765, -547.0423183352402) +(-527.3993038540282, -647.3389347038859, -550.2747294858491) +(826.7078607643499, 120.8048315037065, -549.5091497289131) +(-691.3430424382121, 463.55579112236336, -554.2209182169111) +(194.63607440045573, -805.6946276954725, -559.4398675859937) +(403.2460514023909, 724.958699276436, -558.4151738373504) +(-786.8502537742827, -261.11012031337253, -559.1852852188468) +(756.7808276186091, -333.30089463012723, -562.310672660274) +(-330.737757057563, 759.7764972913366, -559.7787154047927) +(-271.8076104437597, -780.461479144312, -563.0279766376855) +(722.9997568101898, 395.7673894973342, -566.2504084438896) +(-799.2738877907897, 201.25175591490327, -566.2675896049185) +(453.94185212362214, -684.8123282043334, -570.060409105856) +(129.39987432762865, 808.2334911423708, -574.4687078682437) +(-643.6550072530828, -508.62065154388245, -571.8507361725701) +(817.4605859037409, -52.51007601267913, -573.5859851940728) +(-560.6237293213682, 592.7405598785822, -578.2384134564448) +(20.837016084427642, -811.079900028874, -584.5641235397952) +(532.814536865585, 608.3535566934661, -588.2300734943104) +(-808.6684817319723, -90.16911914045508, -581.3130108699969) +(652.0455110544141, -481.89511469713744, -585.3321706047094) +(-156.55341494981616, 792.1154679137629, -589.9526368780047) +(-419.62110125419815, -688.4528110968226, -591.5664445141362) +(773.6047404992858, 224.3560341005384, -592.6213592503319) +(-717.6916671082212, 354.681152099439, -599.2661773442891) +(287.5992478767266, -750.279009115241, -595.2882336329126) +(289.0421633825013, 747.7348135368383, -597.785309632307) +(-716.127660683768, -349.7664772007266, -604.0071067712595) +(765.2660310265618, -223.17481175224253, -603.7887918438071) +(-415.50321005687357, 679.8235954873178, -604.3152831520392) +(-157.65627712085583, -779.2824724142714, -606.5173752435227) +(639.1491605322933, 467.9393757132818, -610.3450591656566) +(-787.6617294186947, 85.22788559468756, -610.1845684104193) +(521.2875886390325, -594.008690183322, -612.7094955340558) +(21.839133832766798, 788.9314183471042, -614.093046189469) +(-542.89856963586, -566.7532784531896, -619.7191819283139) +(780.1773542435957, 47.30368945073261, -623.7673098919273) +(-610.8213751031909, 486.5683702269735, -624.6186587124287) +(114.99682595914592, -774.3841750594787, -622.1775304820743) +(430.2647595325882, 651.0019366676225, -625.3548713805377) +(-755.7704375785149, -189.1399017826544, -626.9267447126721) +(684.0708065323183, -370.6079570524205, -628.2490539743412) +(-246.46283123111766, 736.4294839488279, -630.0219742139194) +(-308.1666572905706, -709.5290380950466, -633.7206446331649) +(707.4759185885798, 311.8508457926786, -634.2135875205104) +(-733.2910162239906, 244.80020788192826, -634.3162805305818) +(367.6858158220753, -673.8196486857337, -640.9167043292672) +(184.52752546006639, 749.0259231248212, -636.3251989624437) +(-638.2631199593216, -427.25674649446785, -640.3685362935585) +(756.345807732978, -116.47032749603682, -643.7201891642943) +(-482.17472960107847, 596.1109788414035, -641.9962858450745) +(-46.65409048102302, -760.6486919553068, -647.4851065994254) +(545.6421107923837, 522.1623164136302, -655.454958214204) +(-758.6263273244615, -17.13235988767322, -651.300681509607) +(567.355372392609, -496.9868082895574, -656.5911922980714) +(-89.28842931405539, 750.6320518660266, -654.659529146279) +(-440.5279699060484, -607.6703994780701, -660.811465796878) +(739.3457654760098, 145.67604456308655, -657.3783759092985) +(-644.0365078104766, 381.9221834787004, -662.8366483336206) +(215.9098407931849, -713.4371516591464, -666.6261105605944) +(331.58392783907567, 667.3305282825869, -666.8748494439523) +(-691.7847148433289, -272.8295300563376, -668.5790572837084) +(689.2731570482823, -263.6434814335878, -674.829333735776) +(-326.76224595558114, 663.3795934029945, -673.1671038267855) +(-199.9415706500565, -711.4227558782366, -673.7217754715988) +(627.5575234963973, 385.99809247147425, -676.1486724910817) +(-721.6064934228675, 135.45581561078555, -678.9225218441127) +(431.7747538322582, -586.1486701571771, -685.5656776896475) +(76.67707795810061, 727.7646236870111, -681.5271661683859) +(-545.9570026098131, -479.19879993519965, -687.2404684256979) +(725.761180345316, -15.475317252786486, -687.7726540505221) +(-530.4250376778988, 495.52484481803634, -687.8258555568121) +(47.508587617066645, -719.0181167321665, -693.3656192179996) +(449.30332862338486, 564.5958679862583, -692.3568622760882) +(-708.2439178483274, -111.0642013861535, -697.1766605397141) +(597.6427579913567, -396.1592917325705, -697.0516117149666) +(-171.46109319802622, 693.8309545593894, -699.4281235513371) +(-337.7588841385742, -628.209521943417, -700.9077918849872) +(672.5838043923137, 231.9253320979349, -702.7386899839972) +(-650.4333768363077, 284.91177942838226, -704.1034726801669) +(286.88512566417853, -643.2651360680104, -709.8639935875412) +(223.991389614161, 667.2937793088901, -710.3146271015228) +(-612.5762193804084, -338.8928220785166, -714.0742472553289) +(680.3898046766335, -158.43912496692784, -715.5185234302509) +(-391.6793282450879, 576.3343891083581, -717.2349515720579) +(-103.8556560459461, -685.3899576138997, -720.7319950642425) +(536.388203071228, 439.14622414662006, -720.72067364811) +(-693.34701235843, 44.202736061230524, -719.2468551049355) +(480.68926475147396, -494.9191625859073, -723.8735063931762) +(-17.22611379588684, 689.3814576396697, -724.1936666846069) +(-452.21214424144455, -519.4988844688837, -725.0000590594047) +(678.96241414299, 76.18091889375503, -730.2099066553575) +(-552.82318306127, 400.65292467028644, -730.6598129246956) +(142.73557266843244, -662.5657501171698, -735.2776231238691) +(345.96437914209173, 584.3304317554802, -734.0753332521676) +(-646.9988165051947, -193.28627990209162, -737.5858902138027) +(605.38734391338, -291.0142297124885, -740.8217612451391) +(-244.7819731622186, 621.3205917729705, -744.340317229758) +(-240.98855095155824, -629.192561600969, -738.9460323570854) +(595.9231454508827, 298.0810543241876, -745.6696921351349) +(-639.7310401681366, 174.91832085173615, -748.4302086873585) +(345.971858786895, -561.1588701089738, -751.9336376473397) +(125.30223051459643, 645.1456866281218, -753.7150615804333) +(-525.2657029093396, -394.1801854681602, -754.1338891280807) +(655.4832281429892, -62.84199136386237, -752.590607000028) +(-434.2455673049528, 484.34213633797634, -759.5021278729669) +(-7.9707007879536595, -651.2491735728875, -758.8221015821692) +(442.07006385281176, 473.34565458372833, -761.9172854922459) +(-649.7775062252432, -51.3021445592486, -758.3912462359556) +(507.06284157861757, -395.0259745407078, -766.0559732345816) +(-104.74491314468524, 635.6534341463607, -764.8354168239402) +(-346.7033086830751, -533.5695206924725, -771.4274964870085) +(620.8954017851223, 159.34252174090565, -767.5277589816154) +(-556.2643825438311, 302.2431993629796, -774.0923621583929) +(207.1759352207314, -600.1966643260914, -772.555561754136) +(249.38694998621412, 574.9673041833022, -779.2424194669844) +(-570.1140624737561, -259.91132782218966, -779.3690123679388) +(596.9195819972261, -191.1407063719972, -779.1997452488487) +(-308.1510928457377, 541.53861254601, -782.1629210718953) +(-140.8204579099327, -603.0865289182763, -785.1472710717029) +(512.2679280119177, 350.3548590886695, -784.1129017197304) +(-605.2420747997369, 82.00060800021384, -791.8067511582009) +(387.06054044968516, -474.939432209922, -790.3269410559875) +(35.791934560767984, 607.1537820078775, -793.7778167811999) +(-428.7792826097418, -427.72230342785485, -795.7398808373533) +(601.7074694123277, 25.33141747364706, -798.3147502972676) +(-456.82314680561956, 389.1736351336679, -799.9103038837904) +(73.66076324151317, -593.5252176958317, -801.4374011223791) +(348.24226661900934, 488.4094128359942, -800.1147225199985) +(-579.9297338314781, -120.29763282977403, -805.7356783422861) +(510.02759535600416, -298.17602259007504, -806.8227262092554) +(-167.4967999839207, 561.8996769905915, -810.0701049866087) +(-253.13043010984387, -529.1488913314114, -809.8928547376768) +(538.8171622214296, 214.87863194045295, -814.5570816284423) +(-539.3718629220302, 200.24552861957292, -817.9118056098021) +(266.3591147275387, -511.4733615277672, -816.9747991517535) +(152.60528793423248, 551.3689471768158, -820.18529015317) +(-489.2642922332203, -299.4535532718039, -819.1141689522999) +(557.9403674200146, -105.64498974489283, -823.1292016111569) +(-342.2609456583567, 455.06786565511663, -822.0527250275034) +(-50.025151329871804, -559.1023755767914, -827.5880725692052) +(412.9505221301064, 375.5646498858509, -829.7126370187398) +(-559.3565863998567, 7.605168513948749, -828.8922551592422) +(405.9398444648314, -378.5948505317222, -831.7925112831513) +(-41.3636909302326, 549.2629862009873, -834.6251955591816) +(-338.78872330925174, -431.2159655618186, -836.2266391374266) +(533.6464864161248, 94.33562129398551, -840.4297817728751) +(-451.0024779952433, 290.43149209760514, -843.9468663607375) +(132.4167612419424, -522.8188700487356, -842.0963308690746) +(244.7651559102152, 473.49743984904916, -846.1029446282786) +(-496.15996571949256, -180.6266772880474, -849.2345328995469) +(482.479692167185, -201.36015923281, -852.4479062793198) +(-220.20106900772967, 479.24309029835854, -849.6102339362046) +(-162.7397818096551, -498.9498942388889, -851.2137019900158) +(447.64935000757833, 252.8688162145212, -857.7105696119522) +(-498.61289158300696, 115.92146423449249, -859.0386478366172) +(287.5131105403173, -416.6213448891512, -862.416874979952) +(69.50810646333937, 503.66314331538433, -861.0993329468718) +(-387.08935048192905, -324.63741770385906, -863.0019593083485) +(500.46301154984917, -24.916423514762037, -865.399298537784) +(-354.9156804261333, 352.93344176010623, -865.7209974784142) +(21.94165263774617, -491.11229298359893, -870.8198892767185) +(321.54296012044693, 373.67856708361313, -870.0427882002805) +(-481.4698403021748, -57.72104228458352, -874.5599317125041) +(395.1603244855725, -274.8469501164374, -876.5315008396159) +(-102.20379683900248, 472.7961162835925, -875.2246662079649) +(-239.0733462200199, -409.29342416465977, -880.5241780114447) +(454.0113388403773, 136.13011028502913, -880.5352334109941) +(-424.7977996892897, 199.9632733050374, -882.9278105871808) +(176.98792970458197, -434.57830791869486, -883.0724585363365) +(154.90865484010462, 431.9980898246999, -888.4711357401771) +(-403.9166429956081, -213.47854225441142, -889.5382271201671) +(439.568128666237, -123.53209639808857, -889.6739185906013) +(-243.61564192771604, 384.31916894688464, -890.4775097598607) +(-75.45721359879207, -436.26305080250665, -896.6497417723355) +(351.7619906150276, 268.50771259709506, -896.7536508063009) +(-436.2597294694591, 37.72121941588156, -899.029787075497) +(293.76275694037406, -321.18770047600884, -900.3010072735254) +(-2.9053012172240007, 429.4838445171908, -903.0698680188431) +(-287.7797430684479, -312.8911276999719, -905.1419566488441) +(420.64111045609553, 33.91896952539043, -906.5928301616984) +(-329.34179729816316, 250.41618121382203, -910.3986581375776) +(75.43733674463111, -405.1221823104156, -911.145008011855) +(224.61040903485886, 345.7687799390599, -911.0401280803427) +(-391.2224968540354, -106.23724971410239, -914.1436455658803) +(358.77804959965346, -188.90851267487406, -914.1071517959125) +(-137.0393068320203, 371.27686638199606, -918.3538081113211) +(-148.57620649900994, -362.1890909954248, -920.1870316551258) +(345.77710403074053, 166.20482834866735, -923.4793713785406) +(-366.02750856590717, 110.4968279226247, -924.0207324470986) +(190.52349272987857, -323.63301826546035, -926.8022810753089) +(80.98127659159037, 363.7123968106893, -927.9845501126729) +(-294.29080763285117, -210.55419309404434, -932.233797023751) +(352.9885283950891, -43.42583224962014, -934.6193320892186) +(-228.3722543869837, 275.00654471787055, -933.925860969994) +(-10.57955852846867, -348.45575106341096, -937.2655240070324) +(246.45163887989438, 241.78770936973228, -938.5096127856933) +(-338.4493568837222, -13.880771639843834, -940.8822227057314) +(252.53809143181212, -215.76703804674074, -943.2227190163064) +(-47.98398202549104, 321.09313062072954, -945.8312423139535) +(-186.25146313906788, -259.3765687008857, -947.6466578253263) +(312.01533663880156, 63.75409002628256, -947.9355704408902) +(-269.88109293019977, 155.70575053954866, -950.2209821550547) +(88.01499912149849, -285.4235583930399, -954.3514825492217) +(125.52787699747705, 271.7748184967105, -954.1389836536323) +(-264.47624336661505, -110.42817227971095, -958.049025604455) +(270.02735638837305, -94.78465452455023, -958.1759212527564) +(-130.81727507898816, 246.60458409205575, -960.2463327947119) +(-65.58110087311242, -257.1770589312322, -964.1364424020867) +(224.0560142292824, 136.39235840814695, -964.9849879949176) +(-247.4907893637914, 38.939653674145305, -968.1074385375958) +(153.75953550379023, -193.09171714011333, -969.0580963046236) +(24.33324481207688, 240.81070335751164, -970.2670242491888) +(-170.4637916449535, -156.60230573053335, -972.840076054593) +(217.39818007830962, 3.5067086302777284, -976.0767051278405) +(-155.91960596979538, 145.42498084114487, -977.0059628382912) +(17.962104298514703, -207.57182292320292, -978.0548558938337) +(114.55737613509886, 151.137026714918, -981.8524363308449) +(-179.89180114344316, -33.001901650176414, -983.1326534953664) +(145.88129056825164, -89.87952650124728, -985.2107996657634) +(-42.68134289523314, 152.61535758410798, -987.3635883493652) +(-70.55663119559298, -130.7457583826614, -988.9020722292333) +(123.55193533403427, 46.260637678411854, -991.2592358595209) +(-105.64255814751147, 49.30875295050272, -993.1808983214063) +(44.07733421850066, -90.61471925732963, -994.9101272286385) +(21.048575706973697, 70.45527438148149, -997.2928415327856) +(-34.28227962127421, -19.853589929684713, -999.2149720009568) diff --git a/src/main.rs b/src/main.rs index 51693d5..978fe1e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -59,7 +59,7 @@ fn on_connect(socket: SocketRef, Data(data): Data, players: Arc