diff --git a/week1/linear_regression_univariate.py b/week1/linear_regression_univariate.py deleted file mode 100644 index ef3a327..0000000 --- a/week1/linear_regression_univariate.py +++ /dev/null @@ -1,32 +0,0 @@ -import numpy as np - - -class UnivariateLinearRegression: - def __init__(self): - self.x = None - self.y = None - self.w = None - self.b = None - - def train(self, x, y): - self.x = x - self.y = y - self.w = np.sum((x - np.mean(x)) * (y - np.mean(y))) / np.sum((x - np.mean(x))**2) - self.b = np.mean(y) - self.w * np.mean(x) - - def pred(self, x): - y = self.w * x + self.b - return y - - def mse(self, x=None, y=None): - if x is None: - x = self.x - if y is None: - y = self.y - y_pred = self.pred(x) - mse = np.mean((y - y_pred)**2) - return mse - - def score(self, x=None, y=None): - return -self.mse(x, y) - diff --git a/week1/main_univariate_linear_regression.py b/week1/main_univariate_linear_regression.py deleted file mode 100644 index a0700d4..0000000 --- a/week1/main_univariate_linear_regression.py +++ /dev/null @@ -1,77 +0,0 @@ -import numpy as np -import pandas as pd -import matplotlib.pyplot as plt -from linear_regression_univariate import UnivariateLinearRegression - -def load_temperature_data(year = None): - """ - load data from a weather station in Potsdam - - """ - - names = ['station', 'date' , 'type', 'measurement', 'e1','e2', 'E', 'e3'] - data = pd.read_csv('../datasets/weatherstations/GM000003342.csv', names = names) - # convert the date column to datetime format - data['date'] = pd.to_datetime(data['date'], format="%Y%m%d") # 47876 unique days - types = data['type'].unique() - - tmax = data[data['type']=='TMAX'][['date','measurement']] # Maximum temperature (tenths of degrees C), 47876 - tmin = data[data['type']=='TMIN'][['date','measurement']] # Minimum temperature (tenths of degrees C), 47876 - prcp = data[data['type']=='PRCP'][['date','measurement']] # Precipitation (tenths of mm), 47876 - snwd = data[data['type']=='SNWD'][['date','measurement']] # Snow depth (mm), different shape - tavg = data[data['type']=='TAVG'][['date','measurement']] # average temperature, different shape 1386 - arr = np.array([tmax.measurement.values,tmin.measurement.values, prcp.measurement.values]).T - - df = pd.DataFrame(arr/10.0, index=tmin.date, columns=['TMAX', 'TMIN', 'PRCP']) # compile data in a dataframe and convert temperatures to degrees C, precipitation to mm - - if year is not None: - df = df[pd.to_datetime(f'{year}-1-1'):pd.to_datetime(f'{year}-12-31')] - - df['days'] = (df.index - df.index.min()).days - return df - -if __name__ == "__main__": - - year = 1900 - df = load_temperature_data(year = year) - - - np.random.seed(2) - idx = np.random.permutation(df.shape[0]) - - idx_train = idx[0:100] - idx_test = idx[100:] - - data_train = df.iloc[idx_train] - data_test = df.iloc[idx_test] - - def plot_regression(N_train = 10): - x_train = data_train.days.values[:N_train] * 1.0 - y_train = data_train.TMAX.values[:N_train] - - reg = UnivariateLinearRegression() - reg.train(x_train, y_train) - - x_days = np.arange(366) - y_days_pred = reg.pred(x_days) - - x_test = data_test.days.values * 1.0 - y_test = data_test.TMAX.values - y_test_pred = reg.pred(x_test) - print("training MSE : %.4f" % reg.mse()) - print("test MSE : %.4f" % reg.mse(x_test, y_test)) - - fig = plt.figure() - plt.plot(x_train,y_train,'.') - plt.plot(x_test,y_test,'.') - plt.legend(["train MSE = %.2f" % reg.mse(),"test MSE = %.2f" % reg.mse(x_test, y_test)]) - plt.plot(x_days,y_days_pred) - plt.ylim([-27,39]) - plt.xlabel("day of the year") - plt.ylabel("Maximum Temperature - degree C") - plt.title("Year : %i N : %i" % (year, N_train)) - return (fig, reg) - - N = 20 - fig, reg = plot_regression(N) - plt.show() \ No newline at end of file diff --git a/week2/nearest_centroid_exercise.py b/week1/nearest_centroid_exercise.py similarity index 100% rename from week2/nearest_centroid_exercise.py rename to week1/nearest_centroid_exercise.py diff --git a/week10/GPS.csv b/week10/GPS.csv new file mode 100644 index 0000000..6bf582b --- /dev/null +++ b/week10/GPS.csv @@ -0,0 +1,1201 @@ +t,x,y +0.0,1.2483570765056164,-0.06913215058559233 +0.0,1.3238442690503462,0.7615149282040127 +0.0,0.882923312638332,-0.11706847847459027 +0.0,1.7896064077536957,0.3837173645764544 +0.0,0.7652628070325239,0.27128002179298233 +0.0,0.7682911535937689,-0.23286487678512843 +0.0,1.120981135783017,-0.956640122328899 +0.0,0.13754108374348362,-0.28114376462048635 +0.04216902890724555,0.485593084703804,0.24136177818975993 +0.04216902890724555,0.5379966071104103,-0.6219137387755229 +0.04216902890724555,1.7248330293317928,-0.028650038351144838 +0.04216902890724555,1.0257727472149778,-0.6281359812146055 +0.04216902890724555,0.7198172826084246,0.13969940674705603 +0.04216902890724555,0.4165118561598645,0.27208712106495897 +0.04216902890724555,0.6916892999116134,-0.0616087630045154 +0.04216902890724555,0.6911553387563174,1.010377204146592 +0.0843380578144911,0.9614136906286919,-0.3609780635594091 +0.0843380578144911,1.3794347590492533,-0.44254442406697025 +0.0843380578144911,1.0725941005000366,-0.8119576610213469 +0.0843380578144911,0.30406927854844357,0.2663080188531026 +0.0843380578144911,1.337395592995364,0.2535615415135261 +0.0843380578144911,0.9103381618035385,0.01732555312389647 +0.0843380578144911,0.22890130781394513,-0.19204470327881346 +0.0843380578144911,0.7378429175177651,0.6964385140279987 +0.12650708672173663,1.1006512483370336,-0.6311967766199804 +0.12650708672173663,1.0908840882502004,0.05778216085322829 +0.12650708672173663,0.5903811033998236,0.5561614454818204 +0.12650708672173663,1.4443418648007784,0.7159633606194858 +0.12650708672173663,0.5092333419414836,0.09571711313577927 +0.12650708672173663,1.0944738192545849,0.7380958646225662 +0.12650708672173663,0.689254984630158,0.157493812729478 +0.12650708672173663,0.37567461654978884,-0.34778001097894884 +0.1686761156289822,1.2809394010885597,1.0091097440232568 +0.1686761156289822,0.8386714291012939,0.8327561786838575 +0.1686761156289822,1.055494502415278,0.00842985243528327 +0.1686761156289822,1.0553742926456677,1.10000801297083 +0.1686761156289822,0.856763470336485,1.1133115576448485 +0.1686761156289822,-0.43519606215341133,0.7419409819254573 +0.1686761156289822,0.9182000240105466,0.18148605450491148 +0.1686761156289822,0.9205568781592119,-0.6627947275626009 +0.21084514453622774,0.6966952314039712,0.5878595398371078 +0.21084514453622774,1.5454781976934853,0.1501681449444109 +0.21084514453622774,0.4022843738761333,0.1584247322889663 +0.21084514453622774,1.2642322341737642,0.5736788089110768 +0.21084514453622774,0.5416510734392077,0.6659369706379126 +0.21084514453622774,0.8550699499967473,0.8936257493476791 +0.21084514453622774,0.4555046283840509,0.24547218078235047 +0.21084514453622774,0.6104770987566484,-0.3224542199848247 +0.25301417344347327,0.8735554451970797,0.6152348033890813 +0.25301417344347327,0.7280520349860221,0.3674136006115629 +0.25301417344347327,0.01780993563958455,0.27438450591645713 +0.25301417344347327,0.5541380484014069,0.0835685326883272 +0.25301417344347327,0.6448524508317871,0.6867325957064059 +0.25301417344347327,1.6685882572700568,0.5719960737150561 +0.25301417344347327,0.8542705020261736,0.4474842094160531 +0.25301417344347327,-0.23389030098472907,0.4714502295745282 +0.2951832023507188,0.6629791616974302,1.78828650237365 +0.2951832023507188,0.5366835743363558,0.7074391172978134 +0.2951832023507188,0.6155081718742954,-0.027673572678758918 +0.2951832023507188,1.2042754639844273,0.9326319624743942 +0.2951832023507188,1.0283800302484405,0.10197171873363764 +0.2951832023507188,1.3342612121949666,-0.14426008526513334 +0.2951832023507188,0.9262926036270522,1.6518932590359965 +0.2951832023507188,0.13759589416157286,0.27351658132962114 +0.3373522312579644,0.5799436064815144,0.3729287342148075 +0.3373522312579644,-0.2452137915953725,0.6589480486759207 +0.3373522312579644,-0.0010339329253585827,0.8614627765904979 +0.3373522312579644,0.07040580682079217,1.3996337637816771 +0.3373522312579644,0.13849127776957532,0.4636358031700693 +0.3373522312579644,0.9368765326225288,0.009234403055929485 +0.3373522312579644,0.6438478912397586,1.2782379384141211 +0.3373522312579644,-0.2736236933429199,0.7169834905390592 +0.37952126016520993,0.5488404670918301,1.0791385495708756 +0.37952126016520993,-0.1995762854714226,0.027998807140082516 +0.37952126016520993,0.6798698527760672,0.8367194502988137 +0.37952126016520993,0.5441454951405567,0.8614512184307086 +0.37952126016520993,0.07888670917837298,0.8043539622627225 +0.37952126016520993,0.5654353066169591,0.33105140466903676 +0.37952126016520993,1.3517863255399967,0.9251435741381144 +0.37952126016520993,-0.17675267863370592,1.0165039179991355 +0.4216902890724555,-0.18635576157874212,1.1404375727842107 +0.4216902890724555,0.8802828630386206,0.33655411173712946 +0.4216902890724555,0.7826731381570795,0.9532857343812339 +0.4216902890724555,0.7120151535321636,1.6952917622399584 +0.4216902890724555,0.17829101553348337,0.3700271887342399 +0.4216902890724555,-0.14377214127784305,0.33899012843026555 +0.4216902890724555,0.26243421882786655,0.9174712583213065 +0.4216902890724555,0.43933047319992813,1.1604868954309966 +0.46385931797970104,0.1847614658188905,1.5270210176326353 +0.46385931797970104,0.04593210326095895,2.1603385623487865 +0.46385931797970104,0.4910941937624401,0.3716752008458357 +0.46385931797970104,-0.3571857291506192,1.0414901866755697 +0.46385931797970104,0.06652912721701157,1.157254226100023 +0.46385931797970104,0.4148793321667094,0.7638395227255406 +0.46385931797970104,-0.2451363391542655,0.042830366711044676 +0.46385931797970104,-0.04499695615357355,1.2284533762157133 +0.5060283468869465,0.15973375205038154,0.2250545380808897 +0.5060283468869465,0.13927734291087057,1.0405826173013022 +0.5060283468869465,-0.38924183811528695,0.9247864804096477 +0.5060283468869465,0.08179123920827952,0.27643877852157217 +0.5060283468869465,0.23158056015942122,1.1283161906210009 +0.5060283468869465,0.594212501572918,1.3748249534543353 +0.5060283468869465,-0.636147803993266,0.3790114074793223 +0.5060283468869465,0.31020451358960943,1.1048169028929882 +0.5481973757941921,0.18379500410644495,2.815931990366704 +0.5481973757941921,0.21171641630000454,1.4573490651296432 +0.5481973757941921,0.4032720427000222,1.2152618706922427 +0.5481973757941921,-0.23136346136675173,1.2690508552859774 +0.5481973757941921,-0.46014144631536485,0.7711569416693393 +0.5481973757941921,-0.31641061296113066,0.930503314732505 +0.5481973757941921,1.0836004442901754,-0.044066351256530356 +0.5481973757941921,0.26940125614067784,0.08320830944451785 +0.5903664047014376,-0.43493210430101636,1.4693602078986532 +0.5903664047014376,-0.16682616185856822,0.386012520450317 +0.5903664047014376,-0.5566180260362837,1.264683783882308 +0.5903664047014376,-0.5641494872648679,1.0331142042059576 +0.5903664047014376,-0.17618025145439273,0.5990847356120617 +0.5903664047014376,0.8730058732563633,1.2418444205739756 +0.5903664047014376,-1.2115374647351032,1.018112066799684 +0.5903664047014376,-0.5298594037904936,1.351101576813082 +0.6325354336086833,-0.7172838543136468,0.8962606302925562 +0.6325354336086833,-0.06852984560706799,1.3865064481110665 +0.6325354336086833,-0.9211716886251846,0.7863782331055316 +0.6325354336086833,-0.5584961406777746,0.6269642347391498 +0.6325354336086833,0.5617036350432518,1.1561197065064834 +0.6325354336086833,-0.9514654622648191,1.4125598245533937 +0.6325354336086833,0.74005461340902,1.4698614813015791 +0.6325354336086833,-1.0807084680743033,0.71151181459288 +0.6747044625159287,0.19550560115333193,0.6217590052101664 +0.6747044625159287,-0.21604025936686522,1.3629107647342251 +0.6747044625159287,-0.9014152092290209,0.9458310599886567 +0.6747044625159287,-2.058583643474516,0.4633999173524118 +0.6747044625159287,-0.5642340491365596,0.351702147037132 +0.6747044625159287,0.3782556785258382,0.2605230490392404 +0.6747044625159287,-0.6579722167884713,1.0409640266626023 +0.6747044625159287,0.2826866710930783,0.25766266242983704 +0.7168734914231742,0.0337050418277931,0.9957399592697733 +0.7168734914231742,-1.0386311597736622,1.2216751658916152 +0.7168734914231742,-0.4483469864629517,0.6905149901805825 +0.7168734914231742,-0.5129757917546772,0.7979666303290998 +0.7168734914231742,-0.4911181616240627,1.321688766020503 +0.7168734914231742,0.24513157382298933,0.37171567934655525 +0.7168734914231742,0.5186398530784466,0.01457952899872883 +0.7168734914231742,-0.6237693817674783,1.2847820320022678 +0.7590425203304199,-0.5085512044930124,0.6872613218815169 +0.7590425203304199,-0.7531082635391664,0.7521106144623974 +0.7590425203304199,-0.9437295168326346,1.4234121303023264 +0.7590425203304199,-0.47053939537800504,0.6521562841614867 +0.7590425203304199,-0.1992472006439034,1.1522608422301186 +0.7590425203304199,-0.2426160789410487,1.3134255027536201 +0.7590425203304199,-1.063544643821565,0.718520561693329 +0.7590425203304199,-0.27540033579889783,1.3037962145085462 +0.8012115492376654,-0.7502947070972644,1.0581636069972644 +0.8012115492376654,-0.1010114622209779,0.7037142209249585 +0.8012115492376654,-0.4662952195301715,0.8984035891259265 +0.8012115492376654,-0.8486845117288006,1.5488883413364687 +0.8012115492376654,-0.3271357356211754,1.4062547333431927 +0.8012115492376654,-0.08710450653802582,1.010001836159253 +0.8012115492376654,-0.3988674244677084,0.8443665370461455 +0.8012115492376654,-0.5777607338709693,0.9344283881590312 +0.843380578144911,-0.7703179885220003,1.2908621236868854 +0.843380578144911,-1.2279263126350957,2.0394772488111585 +0.843380578144911,-1.3218246617682103,0.38618930457456235 +0.843380578144911,-0.23976053426832544,1.3891149579498965 +0.843380578144911,-0.5067560624922818,1.3074563656005684 +0.843380578144911,-0.8249393574418167,0.5446564252255126 +0.843380578144911,-0.7809136919214962,0.6547027552123725 +0.843380578144911,-0.33125610430948377,0.9197549202173592 +0.8855496070521565,-1.2974497318984004,0.8193134376405895 +0.8855496070521565,-0.6782354063643323,0.6981440820650987 +0.8855496070521565,-1.2958113312853603,1.1018499642130424 +0.8855496070521565,-0.7622178479477832,0.7265347707815213 +0.8855496070521565,-1.120220286311306,1.0960313271459043 +0.8855496070521565,-1.6087433042508068,0.27627447127880855 +0.8855496070521565,-1.2439232441283625,0.8732827826111625 +0.8855496070521565,-0.7292473507031423,1.7176844669418623 +0.9277186359594021,-0.5076165625032596,0.8797932767673724 +0.9277186359594021,-0.9459544780556136,0.4584978594301815 +0.9277186359594021,-0.9457029421004641,0.815433222289017 +0.9277186359594021,-0.7750870939352245,0.5461470699729245 +0.9277186359594021,-0.676773116983683,1.7261319982503749 +0.9277186359594021,-0.9908264483326981,1.1606184027985567 +0.9277186359594021,-0.591374378248713,0.7591523058061678 +0.9277186359594021,-0.8244001331990608,0.9660587421399833 +0.9698876648666476,-0.9243866143625445,0.5461911759623352 +0.9698876648666476,-0.960969576507489,1.1816952135127932 +0.9698876648666476,-0.2476528597394395,1.412331480932672 +0.9698876648666476,0.10336656511881781,0.5490222864460438 +0.9698876648666476,-0.5370643452766213,1.0243670707592445 +0.9698876648666476,0.12167680297187577,0.5285469252124928 +0.9698876648666476,-1.3930855847273484,0.6329997451680575 +0.9698876648666476,-2.0351725257918636,0.669818557049688 +1.012056693773893,-1.3740145161316826,0.9741962373779766 +1.012056693773893,-0.8235701974662537,1.8370847637478158 +1.012056693773893,-0.5192362662618084,0.6105475163086711 +1.012056693773893,-1.4436555210290125,1.1449589298931255 +1.012056693773893,-1.6545647888651547,1.8147287270670496 +1.012056693773893,-0.40472812499419,0.6644115180875203 +1.012056693773893,-1.8510154499002724,1.5759355312225793 +1.012056693773893,-1.0517181079811424,1.5179075001266036 +1.0542257226811387,-1.7969915592568015,0.5592243986816035 +1.0542257226811387,-0.9971558800005266,0.8824022070408609 +1.0542257226811387,-1.22481046559924,1.1703368763322393 +1.0542257226811387,-1.5335879445509153,0.7877221676478432 +1.0542257226811387,-0.9396299140036687,1.1161313271878643 +1.0542257226811387,-0.6439702908151733,0.2965908642395554 +1.0542257226811387,-1.7668348152274294,1.4977503211077443 +1.0542257226811387,-0.8336207238698223,0.4846686418802131 +1.0963947515883843,-0.21355212882442587,0.8705560523486198 +1.0963947515883843,-0.3994795245537741,0.8464779759072448 +1.0963947515883843,0.04124584585530622,1.6903891564237927 +1.0963947515883843,-1.113610190825224,1.298504210679368 +1.0963947515883843,-0.6664401417931136,1.4970345139683647 +1.0963947515883843,-1.4715898468757396,1.1557444652014102 +1.0963947515883843,-0.45991587316089344,-0.06665100800936674 +1.0963947515883843,-1.5807573729185749,-0.20689735367785989 +1.1385637804956297,-1.0973729724386365,1.1195193202625826 +1.1385637804956297,-0.2114910291683436,0.7977955825744892 +1.1385637804956297,-0.14836178243071174,0.07069746325715598 +1.1385637804956297,-1.814360774893935,0.7329743429162923 +1.1385637804956297,-0.770636830746704,0.7444008183175551 +1.1385637804956297,-1.996390605236296,0.7161881726082074 +1.1385637804956297,-1.6149043054687842,1.0955844667796208 +1.1385637804956297,-0.7793704321679336,0.29080829920092405 +1.1807328094028753,-1.1777583839401848,0.17376296332876184 +1.1807328094028753,-0.952164473908424,1.1809408845238567 +1.1807328094028753,-1.4136879484396099,0.9553929820321598 +1.1807328094028753,-1.1859537344580584,0.30693330814206554 +1.1807328094028753,-0.974340105249117,0.1857485630635506 +1.1807328094028753,-1.197649577945429,0.1044307779788134 +1.1807328094028753,0.06153764118635663,0.7210015002591019 +1.1807328094028753,-1.2706876792681308,0.8103596796403486 +1.222901838310121,-0.9204270421937981,0.5305064170687144 +1.222901838310121,-0.5571796673266707,1.0197450718589782 +1.222901838310121,-1.1295135911536471,0.35308209651298567 +1.222901838310121,-1.0017888659242054,-0.5099693655324667 +1.222901838310121,-1.6218585484476593,1.324428350557588 +1.222901838310121,-0.04177916059774145,0.5164731970571366 +1.222901838310121,-0.5759845358205,0.7966162941070938 +1.222901838310121,0.6751773868792356,1.2007786725526142 +1.2650708672173665,-0.8578466397723548,0.09628587940195155 +1.2650708672173665,-1.597111004160758,0.675787917635776 +1.2650708672173665,-1.1720632166741232,-0.13707075509667266 +1.2650708672173665,-1.1171742861532348,0.03328209789496683 +1.2650708672173665,0.049682973504310834,1.0148759781768897 +1.2650708672173665,-0.7978741646902803,1.3140281691471776 +1.2650708672173665,-0.7552036902081624,0.1434139990380326 +1.2650708672173665,-0.032325805397142915,0.8435111215444937 +1.3072398961246119,-1.2294472684903033,0.407870855022118 +1.3072398961246119,-1.1486333180194537,-0.18835967141824606 +1.3072398961246119,-0.24773541756125428,1.4577485142989874 +1.3072398961246119,-1.4101079782366455,0.7845248124092075 +1.3072398961246119,-1.0361454758879884,0.25947750218157395 +1.3072398961246119,-1.0070211534465097,0.07104480922401407 +1.3072398961246119,-0.6865633773546614,0.0875651358584032 +1.3072398961246119,-0.5755957784371556,0.4779211393393536 +1.3494089250318575,-0.7358736649610474,-0.025333500837868228 +1.3494089250318575,-0.9047853068120089,0.8061439430958087 +1.3494089250318575,-0.36594104771565217,-0.06032929221634481 +1.3494089250318575,-0.5667334888132296,0.8041418918688252 +1.3494089250318575,-1.4511022820885284,0.7001284263728982 +1.3494089250318575,-0.9477115210007658,0.7137476644795104 +1.3494089250318575,-0.998029219799101,-0.4739927201493288 +1.3494089250318575,-1.4301708604694239,0.4524908035136217 +1.391577953939103,-0.38226210399421434,-0.1013475538418035 +1.391577953939103,-0.19282712546626835,-0.47994927242407914 +1.391577953939103,-0.5451632541786136,-0.25469734117082743 +1.391577953939103,-0.8380414087560348,0.3745100943686078 +1.391577953939103,-0.9423300374969314,0.15853298659548812 +1.391577953939103,-0.008976950247735038,0.06236482394882642 +1.391577953939103,-0.09427729882238439,-0.21404266861840826 +1.391577953939103,-0.2472212658973139,1.071595069039351 +1.4337469828463485,-1.6354841990487272,-0.12776824643784407 +1.4337469828463485,-0.1111258853948126,0.16915668827589797 +1.4337469828463485,-0.2140890122994282,-0.03131321206051596 +1.4337469828463485,-0.35636705524863266,0.1928407636013546 +1.4337469828463485,0.18422908184482106,0.3978898029480009 +1.4337469828463485,-0.23086061794748153,0.06474089823616064 +1.4337469828463485,-0.6434650610213294,0.05440028738758387 +1.4337469828463485,-0.2024358777959342,0.06018714088726285 +1.475916011753594,-0.1359254335352401,1.2263242266182086 +1.475916011753594,0.15474948973239966,0.02561206121156881 +1.475916011753594,0.3197940990985259,-0.015413859215286319 +1.475916011753594,-1.2998751295723734,-0.31541932816321266 +1.475916011753594,-1.2162088224963743,0.012867085274835044 +1.475916011753594,-0.27160367238867067,1.0268424834331307 +1.475916011753594,-0.1173491751013652,0.07907356289105726 +1.475916011753594,0.13388992860829807,-0.9169438272084531 +1.5180850406608397,-0.039668345317734346,0.4906600013801543 +1.5180850406608397,-0.8967687472619381,0.6771044260401354 +1.5180850406608397,0.011772579375189746,-0.10241655251372977 +1.5180850406608397,0.1589153086811251,1.2405738333388687 +1.5180850406608397,-0.06654249684276974,0.22933769758683892 +1.5180850406608397,-0.3871560741421394,-0.31969478029572507 +1.5180850406608397,0.25769228390010546,-0.3228145085177627 +1.5180850406608397,-0.12169250576232107,-0.13360131894588748 +1.5602540695680853,0.20786841338963763,0.1879140049212851 +1.5602540695680853,0.4871484726453913,-0.2339252471495627 +1.5602540695680853,-0.16655896713024404,-0.4682989056133428 +1.5602540695680853,-0.2537681295216141,0.20973319880023686 +1.5602540695680853,0.34687280883911753,-0.43999970981100184 +1.5602540695680853,0.4031814605692717,0.6989018816802863 +1.5602540695680853,0.17509595212829204,0.9594808585568438 +1.5602540695680853,-0.4185160990353449,-0.6012443993778976 +1.6024230984753307,-0.7946221017830715,0.6848107836309281 +1.6024230984753307,0.4219208508460967,-0.09100370756889094 +1.6024230984753307,0.23472233582897797,-0.6259558957628517 +1.6024230984753307,1.3176140124774811,0.0013992188739503503 +1.6024230984753307,0.1494354199715143,0.29967193983568274 +1.6024230984753307,0.3352426385374244,0.048730640025902286 +1.6024230984753307,-0.3004992050535881,0.17252280645433446 +1.6024230984753307,1.0357502709065847,0.6094986509638254 +1.6445921273825763,1.016176687774661,-0.4026641844902468 +1.6445921273825763,-0.27521903567432804,-0.20994980632447827 +1.6445921273825763,0.24744583059930972,0.4000394129608201 +1.6445921273825763,-0.6266489404024472,0.6177188134556526 +1.6445921273825763,0.14057942516546773,-0.3604968812483642 +1.6445921273825763,-0.2864688131751214,-0.974484682207539 +1.6445921273825763,0.6311686664359197,-0.11039736268045225 +1.6445921273825763,-0.4253970754155645,-0.7945957323064623 +1.686761156289822,0.17302683914441314,0.6046548206098529 +1.686761156289822,0.21112351310767485,-0.9814274185938967 +1.686761156289822,0.21804765674650523,-0.3662177269086787 +1.686761156289822,-1.0075241326813087,-0.2570033752937497 +1.686761156289822,0.22545192368513828,0.11824724037186554 +1.686761156289822,1.26539723626215,0.3334265727390351 +1.686761156289822,0.206474843512062,-0.7831188964056787 +1.686761156289822,1.6275990904144075,-0.2002467250275995 +1.7289301851970673,0.46377083646465983,-0.3230841060529037 +1.7289301851970673,0.5558485708921144,-0.38320176845987347 +1.7289301851970673,0.16997518706806858,-0.5844510331180981 +1.7289301851970673,0.4404295554001875,-0.5827339480647846 +1.7289301851970673,0.10038329916960453,-0.2578064486519537 +1.7289301851970673,0.3293175817977591,0.4409749317934421 +1.7289301851970673,-0.8686787136883193,0.2347318634633288 +1.7289301851970673,1.0798487867570012,-1.3477166787019768 +1.771099214104313,0.3940483941997847,-0.5756966591939473 +1.771099214104313,-0.13836365611895152,-0.7788845699914893 +1.771099214104313,0.010104268507044711,0.48615899551575975 +1.771099214104313,1.0332313878136896,0.24580132130102778 +1.771099214104313,0.9262282232615766,-0.9545021118046662 +1.771099214104313,0.30313205810007227,-0.14528894558209257 +1.771099214104313,-0.0456717132060136,-0.03347701110985757 +1.771099214104313,0.4452294921608917,-0.5773866299708502 +1.8132682430115585,1.0204216764987706,-0.24402701293109208 +1.8132682430115585,0.48445860948748487,0.11350623300801199 +1.8132682430115585,0.12441002859707617,-0.15819086520198017 +1.8132682430115585,0.9614923213812168,-0.6209318883311072 +1.8132682430115585,0.8280082035180838,-1.0917154568667637 +1.8132682430115585,1.1269552020004754,-0.5586097368956066 +1.8132682430115585,0.4035801821375051,0.05834594424433259 +1.8132682430115585,0.3127698471256452,-1.1703893168558919 +1.8554372719188041,-0.024450963615886057,-0.2360223566733154 +1.8554372719188041,0.11364894689792426,0.3383697586460471 +1.8554372719188041,-0.2871010807957952,0.3092008517988839 +1.8554372719188041,0.859372356747375,-0.5873838882813314 +1.8554372719188041,0.48140407974159105,-0.33945927517009983 +1.8554372719188041,0.7350462719336416,0.012623608662125752 +1.8554372719188041,0.8109774474770857,-0.4638764516151964 +1.8554372719188041,0.5720575170391379,-0.5675001442066689 +1.8976063008260495,0.9846376544783703,-1.463148412590269 +1.8976063008260495,0.1566440589794842,-0.2364321692505988 +1.8976063008260495,0.9161694890963117,-0.7000558844382958 +1.8976063008260495,0.8399537365650372,-0.4342733635811208 +1.8976063008260495,0.56085692987766,-0.9972165789631127 +1.8976063008260495,0.9286593975811814,-1.0972506050694724 +1.8976063008260495,1.0348631478895767,-1.4593560183808765 +1.8976063008260495,1.3453145886951625,-0.3717654750554348 +1.9397753297332951,1.0223473589794871,-0.18143306644410123 +1.9397753297332951,1.7270697140538376,-0.16559352590779297 +1.9397753297332951,-0.026104623843273278,-1.312567041784709 +1.9397753297332951,0.5819232029747099,-0.6597330333114413 +1.9397753297332951,1.153162002057111,-1.035650464993591 +1.9397753297332951,0.9877158740610885,-1.0504700245935195 +1.9397753297332951,0.5885735903265752,-1.3761091068409694 +1.9397753297332951,0.4327158687670972,-1.348620861225025 +1.9819443586405407,0.4556977300330047,-0.20588942612401517 +1.9819443586405407,0.46893491210569954,0.5834807079907605 +1.9819443586405407,1.1902933069621158,-0.640292262580498 +1.9819443586405407,0.5144554664310643,-0.38255538472343936 +1.9819443586405407,0.6558154434027841,-0.6717054171052542 +1.9819443586405407,2.2236766256560685,-0.7807402742902598 +1.9819443586405407,1.518271019664509,-1.0842985369908786 +1.9819443586405407,0.9261401112731902,0.15268999338982003 +2.024113387547786,0.664370857817159,0.11879080122123187 +2.024113387547786,1.3317303544387804,-1.0686668657243663 +2.024113387547786,1.294058256238803,-0.30115625296386767 +2.024113387547786,1.2887593678196407,-1.5725458377224606 +2.024113387547786,0.6142857987986083,-0.9111927955529848 +2.024113387547786,0.9406376721610195,-0.4770974290018935 +2.024113387547786,1.0667048871776696,-1.4551056571322831 +2.024113387547786,1.1679533122140242,-0.4821406051353209 +2.066282416455032,1.2763408775286484,-0.2961686455971979 +2.066282416455032,1.4134067308375806,-0.6069689687602905 +2.066282416455032,0.9613627978338051,-1.6670394751325044 +2.066282416455032,1.2112547631294215,-0.7327151647929533 +2.066282416455032,1.1322350721608152,-1.4749332962846635 +2.066282416455032,0.45591738335899734,-0.30998258170805704 +2.066282416455032,0.976668076634801,-0.4958086596881966 +2.066282416455032,1.0106048416283582,-0.8216809386266372 +2.1084514453622774,1.468252921234502,-1.137760062019174 +2.1084514453622774,1.0471714067169948,-1.1108753422630084 +2.1084514453622774,0.7818629045303452,-1.0343237596448067 +2.1084514453622774,1.1101779040633595,-1.1191120087422255 +2.1084514453622774,1.6269890810332635,-1.327041349020239 +2.1084514453622774,0.9056751961658236,-1.0996032270475746 +2.1084514453622774,1.7225999604233695,-0.7814603096546997 +2.1084514453622774,1.5150332879808204,-1.622517884428973 +2.1506204742695227,1.1193330139443298,-0.4718472045308475 +2.1506204742695227,1.0269498756474127,-0.3839224148098904 +2.1506204742695227,0.7271636559595145,-0.21198888224977608 +2.1506204742695227,2.1352569428193258,-1.0980818825623955 +2.1506204742695227,0.7630566203093146,-0.18997036378371557 +2.1506204742695227,1.7755939538750567,-1.1780926159192002 +2.1506204742695227,0.7757144724617717,-1.0575549067728196 +2.1506204742695227,0.313582625492562,-1.3759885755846653 +2.1927895031767686,0.45467847866466404,-1.33097001641781 +2.1927895031767686,0.9394064183473074,-0.8299638675974856 +2.1927895031767686,1.7319991084477364,-1.4462482542351411 +2.1927895031767686,1.4489100612789898,-1.0540656559785002 +2.1927895031767686,0.9320170072144816,-0.609661487782444 +2.1927895031767686,0.3953878512595487,-0.7558663607737205 +2.1927895031767686,1.039974966147226,-0.7008456018616713 +2.1927895031767686,1.101333183994607,0.28057883608970136 +2.234958532084014,0.5935284110944001,-1.2362459043587255 +2.234958532084014,0.600828140007676,-1.248485986437944 +2.234958532084014,0.5937048395667993,-0.3762391613040409 +2.234958532084014,1.6226505272149856,-1.256120573732555 +2.234958532084014,0.4962206166679438,-0.7350396486646147 +2.234958532084014,0.6362868810795723,-0.6542815179800612 +2.234958532084014,1.013859913645708,-1.7286194843564329 +2.234958532084014,1.6861510038850889,-0.07280859031005593 +2.2771275609912593,0.547070999838727,-1.1813736545023712 +2.2771275609912593,0.9963980404433725,-0.8202944795408665 +2.2771275609912593,1.1827374814173353,0.01757939484879567 +2.2771275609912593,0.7649917313338953,-1.386671496803606 +2.2771275609912593,0.16380573107365637,-1.3529878945053386 +2.2771275609912593,0.8369018586440214,-0.09024394277548531 +2.2771275609912593,0.5946596955628343,-0.8756288987149299 +2.2771275609912593,0.8452538970445439,-0.39332623781033715 +2.319296589898505,2.0443578105529463,-1.262712711850241 +2.319296589898505,0.5361718763570247,-0.47519788685554465 +2.319296589898505,1.1218373424292913,-0.07392466252206387 +2.319296589898505,1.0728556902791175,-1.1769243707836103 +2.319296589898505,1.0762190129622904,-0.4429265350986268 +2.319296589898505,1.1911326882148179,-0.7436413098364317 +2.319296589898505,1.3142289424107125,-0.41263053016724427 +2.319296589898505,1.4719710931348993,-0.6729233815952593 +2.3614656188057506,0.6122780458453448,-0.9265875877042817 +2.3614656188057506,1.2990915692579503,-1.4084122664145613 +2.3614656188057506,0.8801737404402226,-1.1966138370846235 +2.3614656188057506,0.7102094974711808,-0.36071849961729385 +2.3614656188057506,0.7913866200137237,-0.9767261568428688 +2.3614656188057506,0.015909015513812408,-0.6268176479073329 +2.3614656188057506,1.0185791765743097,0.0816829307317869 +2.3614656188057506,0.5419479685272718,-0.8903692670889738 +2.403634647712996,0.7243530537144389,-0.20677559871984186 +2.403634647712996,0.5520134456655852,-0.8559914757164094 +2.403634647712996,0.9036094667173309,-0.9021976770234 +2.403634647712996,0.37644440458379713,-0.8984572421524253 +2.403634647712996,1.1364770867889473,-1.5087598883071092 +2.403634647712996,0.6661460489324993,-1.3455626460711656 +2.403634647712996,1.1971845263214824,-1.7570956909934665 +2.403634647712996,0.3202002882232671,-0.8068963010693186 +2.445803676620242,1.276663140929434,-1.0168584571493662 +2.445803676620242,0.21630136296566466,-0.0434047918925774 +2.445803676620242,-0.2301058238958582,-2.0833863049229135 +2.445803676620242,0.7139083513389299,-1.2350104387891778 +2.445803676620242,-0.016715282253092822,-0.6298051029631957 +2.445803676620242,0.6158014831978632,-1.2660226419812366 +2.445803676620242,-0.1462510730231834,-0.5477546624728 +2.445803676620242,0.8190017152915943,-1.0335712585025638 +2.487972705527487,1.3035656601913677,-1.500511962525467 +2.487972705527487,-0.3825154232948346,-1.311423614303013 +2.487972705527487,0.35745415398978586,-0.8437998547010448 +2.487972705527487,0.25962913323936987,-0.7894418811052424 +2.487972705527487,-0.24552254992768735,-0.2435872773257609 +2.487972705527487,0.3391715729712504,-0.40682166356832683 +2.487972705527487,0.5516098353563869,-0.7370929697854988 +2.487972705527487,0.6651308022836366,-0.7416152993537334 +2.530141734434733,0.5818771977372377,-0.27551634032706396 +2.530141734434733,0.35877640265420085,-0.5855907265990234 +2.530141734434733,0.21564797065985242,-0.22003399766854326 +2.530141734434733,-0.07768033322616907,-0.039622388937871844 +2.530141734434733,0.24043684248129407,-1.6554801564523038 +2.530141734434733,0.3245680252588604,-1.28061843413072 +2.530141734434733,0.6808375922978279,-1.2664045950444751 +2.530141734434733,0.03742410119607592,-1.8848629708660452 +2.5723107633419784,-0.08953243501871208,-2.1199724651340297 +2.5723107633419784,-0.6553306871370354,-0.5278254737474024 +2.5723107633419784,0.5295208039312423,-0.6953040209270688 +2.5723107633419784,-0.3468673469587802,-0.9318884798905411 +2.5723107633419784,0.13481945506054208,-1.4872151464158223 +2.5723107633419784,0.8883198754894016,-0.46935165653171546 +2.5723107633419784,0.02613863769099431,-0.8945898823222858 +2.5723107633419784,0.24081212857960252,-1.9289002360316965 +2.6144797922492238,-0.11304662930871849,-1.2105101959373021 +2.6144797922492238,-0.4902679429958778,-1.0100682183813803 +2.6144797922492238,0.9093853253763413,-0.549096641304898 +2.6144797922492238,-0.2750474329398184,-0.5832266812603236 +2.6144797922492238,0.7102197802445811,-0.4072012304820185 +2.6144797922492238,0.04035724691166704,-1.19298646079119 +2.6144797922492238,0.359653718758375,-0.6727753792275281 +2.6144797922492238,0.4581386719654461,-0.5519321710974181 +2.6566488211564696,0.4090712662353058,-1.092439810915959 +2.6566488211564696,0.542991941392801,-0.7260224027894752 +2.6566488211564696,0.9219253448882709,-1.1694161141804589 +2.6566488211564696,0.7522768101582629,-0.7258668134043511 +2.6566488211564696,-0.4414140932315859,-1.0667651221628358 +2.6566488211564696,-0.2758787455215218,-0.6127392319347167 +2.6566488211564696,0.14571265259338806,-1.1116722071049645 +2.6566488211564696,-0.12788238755485318,0.24631297417025688 +2.698817850063715,0.6236686212016612,-0.5561010957641783 +2.698817850063715,-0.22110122476459432,-0.7142472672420637 +2.698817850063715,0.06665602251651387,-1.2856592132003972 +2.698817850063715,-0.36879123256036705,-1.6085549675399893 +2.698817850063715,-0.04049140254605482,-0.4506649607498238 +2.698817850063715,-0.4816961949983814,0.012730451043821978 +2.698817850063715,-0.852985795349865,-1.5064503707061043 +2.698817850063715,-0.12787705456870846,-0.25071377929511707 +2.7409868789709604,0.48130050555918025,-0.9476417901240156 +2.7409868789709604,0.1786770765458937,-0.7374538934398992 +2.7409868789709604,-0.4469769901401639,-0.2763696899462094 +2.7409868789709604,-0.034501900963044285,-1.5063957371816703 +2.7409868789709604,0.3776068346931938,-0.028153981615819834 +2.7409868789709604,-0.6734446909245189,-0.5202978919708411 +2.7409868789709604,-0.11364824702838469,-0.587862775777592 +2.7409868789709604,-0.6358159170924642,-1.0540113426585713 +2.783155907878206,-0.48823637431993383,-0.07066641635256277 +2.783155907878206,-0.20365926152699504,-0.8423380920252981 +2.783155907878206,-0.08960998350003885,-2.081302236297283 +2.783155907878206,0.09892351136184052,-1.5268878153712948 +2.783155907878206,-0.6566798095257773,-1.216865873295317 +2.783155907878206,-1.122800076684664,-0.07661753229298551 +2.783155907878206,-0.7093099394801569,-0.4837789851168872 +2.783155907878206,-0.49891962826380326,-0.4185105123706844 +2.8253249367854516,-0.5442452630966681,-1.2326876743078712 +2.8253249367854516,-0.08452279890322578,-0.8380698537942426 +2.8253249367854516,-1.3609471579566712,-0.8052491426965427 +2.8253249367854516,0.16772368669035964,-0.16608069115683993 +2.8253249367854516,-0.7569822758307254,-0.7658204143728008 +2.8253249367854516,-0.7434737342354871,0.44718242956683407 +2.8253249367854516,-0.3916884825110191,-0.37617073861805156 +2.8253249367854516,-0.0675144816108747,-0.4717969827003296 +2.867493965692697,-0.810061725977242,-0.619324523742092 +2.867493965692697,-0.7163412827739225,-0.5397607174545237 +2.867493965692697,-0.31672588124840056,-0.4951766562959532 +2.867493965692697,-0.3142206144591009,-0.561507889253894 +2.867493965692697,-0.6412230579088452,-1.5202499414656567 +2.867493965692697,-0.22237681571564977,-0.34790536125060656 +2.867493965692697,-0.18153559813706438,-1.9692772882964475 +2.867493965692697,0.36364669932347327,-0.5909444132771898 +2.909662994599943,-0.21345680506149178,-0.9673559073063998 +2.909662994599943,-0.4611612608989652,-0.9741107253304624 +2.909662994599943,-1.0794326937781527,0.5096127331897586 +2.909662994599943,-0.8628894138119233,-0.3386865071537729 +2.909662994599943,-0.3325143480858731,-0.19956199975733213 +2.909662994599943,-0.6923387608584619,-0.2649224425105218 +2.909662994599943,0.4341595791888875,-0.4762123422604271 +2.909662994599943,-0.6669986900727662,0.07792425426017163 +2.951832023507188,-0.2895253066103397,0.22303931461040555 +2.951832023507188,-0.5229231620747393,-0.9419782945350264 +2.951832023507188,-0.025572506938783657,-0.9436485346791286 +2.951832023507188,-0.690970540469815,-0.7476137631794635 +2.951832023507188,-0.8743574463858279,-0.20609463301804415 +2.951832023507188,-0.6816096653641951,-0.15951546105214215 +2.951832023507188,-0.03543263856000811,-0.1437086874127946 +2.951832023507188,-0.964366590734656,0.11156774597439428 +2.994001052414434,-0.30883103886362284,-0.9047190412137385 +2.994001052414434,-0.6048662484010141,0.059671237510206865 +2.994001052414434,-1.052348035005939,0.39693827301056755 +2.994001052414434,-0.9785940768422067,-0.228126906909471 +2.994001052414434,-0.9901021954678779,-0.2831256098545085 +2.994001052414434,-1.451703826773544,-1.0109405749423894 +2.994001052414434,-0.10631375171345703,-0.7143958078044061 +2.994001052414434,-1.3992624580540967,-1.3676101904470996 +3.0361700813216794,-1.2698837293020377,-0.8708312994870422 +3.0361700813216794,-0.12939527538910212,0.2956221418880241 +3.0361700813216794,-1.2944780280461485,0.9169314998888614 +3.0361700813216794,-0.4595201119614895,-0.37170209453760417 +3.0361700813216794,-2.200105712894073,0.9361848835120776 +3.0361700813216794,-1.6451890888390848,-1.0319857762617388 +3.0361700813216794,-0.4391176394524665,1.0105898003863434 +3.0361700813216794,-0.25826644620202754,0.07266815724288683 +3.078339110228925,-0.6846722432888672,0.30053786022884715 +3.078339110228925,-0.6025851192281277,0.01442579282338119 +3.078339110228925,-0.9299488621455723,-0.15746648311106792 +3.078339110228925,-1.3590317085548484,-0.26650745759469374 +3.078339110228925,-1.828527821219203,-0.17533973255868165 +3.078339110228925,-1.476344967696969,-0.6779645777691923 +3.078339110228925,-0.8921023385447711,0.569831224010993 +3.078339110228925,-0.5228911111203536,-0.9114202209728954 +3.1205081391361706,-1.4928142298259914,0.4282290616600111 +3.1205081391361706,-1.4892438583099774,-0.15447310733260916 +3.1205081391361706,-0.7229741120285467,-0.5263287597659145 +3.1205081391361706,-0.9453124084678427,-0.7091692797931991 +3.1205081391361706,-1.2986839835164294,0.11773443473717166 +3.1205081391361706,-1.7944970283066572,0.17808083664610264 +3.1205081391361706,-1.0078190610041633,0.23408844487447714 +3.1205081391361706,-0.8860430945084918,0.6399136826528252 +3.162677168043416,-0.935387910216869,-0.17254623822852924 +3.162677168043416,-0.9368514100246806,0.31380554685229134 +3.162677168043416,-0.9735701263779705,0.06245237793603844 +3.162677168043416,-1.3489960054442003,-0.28929392644137697 +3.162677168043416,-1.6993027974406694,0.9169449039275669 +3.162677168043416,-1.6199317792364651,-0.30429606656385644 +3.162677168043416,-1.3572037943254214,0.48961872080631785 +3.162677168043416,-1.1454750006868366,0.6660275686709641 +3.2048461969506614,-1.3187947262434445,0.2656670002732072 +3.2048461969506614,-1.399722940751389,1.1987444830480003 +3.2048461969506614,-1.5758486236362668,0.28108027427481996 +3.2048461969506614,-0.6651609736554611,0.3330694678870554 +3.2048461969506614,-1.0746932435603644,0.061259569294593155 +3.2048461969506614,-0.9601436781319556,0.05266891834706193 +3.2048461969506614,-0.5001098557240555,1.2314314199569818 +3.2048461969506614,-1.2607953066254272,-0.5587315706282328 +3.2470152258579073,-0.9945438796329137,1.4991410716104525 +3.2470152258579073,-1.3522401394421517,1.0288448055053272 +3.2470152258579073,-0.11155244841906597,-0.06750771807070394 +3.2470152258579073,-0.6659113158646486,1.0234847143475623 +3.2470152258579073,-1.1399667259510298,0.10749622273211247 +3.2470152258579073,-1.2412433124316082,-0.2980919625631401 +3.2470152258579073,-1.2750416279902899,-0.4026837305978349 +3.2470152258579073,-0.9333611213276732,-0.17570021274602737 +3.2891842547651526,-0.7866733274305696,-0.48703268945657097 +3.2891842547651526,-0.7381261672187149,0.7076796144497051 +3.2891842547651526,-1.900434104611671,0.4779434185690288 +3.2891842547651526,-0.28973178708929737,-0.31390537570036003 +3.2891842547651526,-0.06728008990709178,0.5004246383282653 +3.2891842547651526,-1.256072211205148,0.2630305948163897 +3.2891842547651526,-0.6244028270650823,0.3289178293514484 +3.2891842547651526,-0.6341882871027589,-0.16942166289444044 +3.331353283672398,-0.7576078610712932,-0.336381410282706 +3.331353283672398,-0.8979013037636824,-0.0814779825626108 +3.331353283672398,-1.2100532443842154,0.9885224257750027 +3.331353283672398,-0.2966332127921977,0.6750448986233726 +3.331353283672398,-1.3884446554256216,0.21227161332238312 +3.331353283672398,-0.2357394230997405,0.4413342949897364 +3.331353283672398,0.3173764969015149,0.56713475786697 +3.331353283672398,-0.7462637148443164,0.21591760606853339 +3.373522312579644,-0.7007777610391085,0.371168025553363 +3.373522312579644,-0.41349387508595425,0.9257541021409268 +3.373522312579644,-1.1605429436842243,-0.21821353303525431 +3.373522312579644,-1.6856508999818978,0.7013986071999065 +3.373522312579644,-1.3192315165171862,-0.6290423527326068 +3.373522312579644,-0.5732589111647675,1.69390270246003 +3.373522312579644,-0.7705836692001962,0.8666483309694557 +3.373522312579644,-0.7266335341564669,0.3979581171480634 +3.4156913414868892,-0.22100241157300687,0.37601232710527677 +3.4156913414868892,-0.5468444960309397,0.6819985022976093 +3.4156913414868892,-1.0145858798884155,1.017170773967864 +3.4156913414868892,-0.7680205314145955,0.1432770194531801 +3.4156913414868892,-0.4122857312816894,0.07191560830408383 +3.4156913414868892,-0.6664500743823271,0.5165901008775007 +3.4156913414868892,-0.1375928701511021,0.7584987156395788 +3.4156913414868892,-0.6930541324394631,0.930032748799746 +3.4578603703941346,0.11244756588186022,0.870096715389517 +3.4578603703941346,-0.5774798987051062,-0.06472655396149385 +3.4578603703941346,-1.1152130401644826,0.4385792100362521 +3.4578603703941346,-0.887412309706438,0.4977059107208629 +3.4578603703941346,-0.5543312461782429,0.8560379393919513 +3.4578603703941346,-0.6179055976563421,0.8344423841266869 +3.4578603703941346,-0.5504190012217364,-0.3965417209633497 +3.4578603703941346,-1.0523239055361735,0.5191477843527782 +3.5000293993013805,-1.0803067102447659,0.9569952909803476 +3.5000293993013805,0.2899160773476367,1.2664118518309038 +3.5000293993013805,-0.582180774289316,1.4023939944072215 +3.5000293993013805,-0.4011256102231561,0.4884879404232255 +3.5000293993013805,-0.7821606705946819,0.5057960827381811 +3.5000293993013805,-0.6695477480948264,0.7422390371699892 +3.5000293993013805,-0.3951723482992797,0.6585539360589525 +3.5000293993013805,-0.25699025395103703,1.252354063375416 +3.542198428208626,0.11411372755090698,-0.024249325535406596 +3.542198428208626,-1.6376239076207324,1.185359614309182 +3.542198428208626,-1.0441026893774654,0.6058169577432034 +3.542198428208626,-0.9457198531994346,-0.18279056010046468 +3.542198428208626,-0.08993197606736086,1.0977772388408686 +3.542198428208626,-0.6489185405331146,-0.5773214873829098 +3.542198428208626,-0.6337855642959962,0.9141016613908184 +3.542198428208626,-1.1001191245568192,0.8098796185791229 +3.5843674571158717,-0.2477578884351913,1.0639086804017388 +3.5843674571158717,-0.1803127796416169,0.2877284601604168 +3.5843674571158717,0.3581827869835521,0.6949981440877095 +3.5843674571158717,-0.2537552336036595,0.30762895106459653 +3.5843674571158717,-0.46174408944444867,0.3318615735877441 +3.5843674571158717,-0.32657599381040503,1.6301171706723663 +3.5843674571158717,-0.9260535353143717,-0.03251776833717601 +3.5843674571158717,0.4954821998981107,0.6696010920252615 +3.626536486023117,-0.45024146075431914,1.3447745488337133 +3.626536486023117,-0.41851286129279286,1.7378270619091434 +3.626536486023117,0.2232578442452737,0.5808665010628238 +3.626536486023117,0.9629490152083909,0.521964743634006 +3.626536486023117,0.2553425945802926,0.9744684953389211 +3.626536486023117,0.5351655532750382,1.6055778034991015 +3.626536486023117,-0.09970301689147752,0.44811326996258344 +3.626536486023117,0.11428098004519738,0.4859645202596221 +3.6687055149303625,1.0172356857148905,0.9377857374797715 +3.6687055149303625,-0.17211871370447523,0.9618582248708569 +3.6687055149303625,-0.6630210828132691,0.3837110526830769 +3.6687055149303625,0.6107490159237918,0.5410709324527048 +3.6687055149303625,-0.5129134293893907,1.1378444482020458 +3.6687055149303625,0.6033941392830776,1.228994727270936 +3.6687055149303625,0.5085659048544873,0.4911205276536723 +3.6687055149303625,-0.7003632714193427,1.620184897916146 +3.7108745438376083,-0.02471919481524068,0.7826162935920276 +3.7108745438376083,0.8007177955303562,1.1861478065198812 +3.7108745438376083,0.36456461064663104,1.9905339742700932 +3.7108745438376083,-0.1851383905842443,1.3719528658601698 +3.7108745438376083,0.1651272870543695,1.04232894125118 +3.7108745438376083,0.900854937812093,1.161950679964363 +3.7108745438376083,0.40576876413064367,1.4442864704744522 +3.7108745438376083,-0.04585564016561547,0.4884279681500481 +3.7530435727448537,-0.26188877920705184,-0.04308568929472101 +3.7530435727448537,1.288619382773626,0.3884884225324383 +3.7530435727448537,0.14988900601057895,0.8016859554488196 +3.7530435727448537,0.4142191667080153,1.3479612116629283 +3.7530435727448537,0.6907525619833377,0.6485538861088107 +3.7530435727448537,0.1769549609102592,1.0813825806374298 +3.7530435727448537,0.13617025471169142,1.7437653934032762 +3.7530435727448537,0.5060032936225907,1.3075314984181885 +3.795212601652099,0.7116877965012387,1.5522065081050531 +3.795212601652099,0.4707579415193858,0.31705360538446736 +3.795212601652099,0.5800911380438531,0.6397911324664761 +3.795212601652099,0.11593882129265393,1.2586515887399372 +3.795212601652099,0.9993886978843503,0.9761053677304214 +3.795212601652099,0.5346636684670143,1.8165770516800097 +3.795212601652099,0.5006237519118165,2.266311136452588 +3.795212601652099,0.6630019849833044,0.08508819978448179 +3.837381630559345,0.8705719368645293,1.1745625190542612 +3.837381630559345,1.138777503353636,1.3205740022478516 +3.837381630559345,0.4246731343203762,0.3718342084681895 +3.837381630559345,0.38938949766925046,0.5587230995082224 +3.837381630559345,0.20363940140990172,1.278272528823177 +3.837381630559345,1.3288533784879661,1.181319091524363 +3.837381630559345,-0.1040404047053291,1.2062846607229427 +3.837381630559345,1.0922168696350887,0.6790918744531813 +3.8795506594665903,0.5326526285226018,1.0028463359661774 +3.8795506594665903,0.20721205531794062,1.3196424555235085 +3.8795506594665903,0.5391871375551699,1.2052684605550927 +3.8795506594665903,0.15591512295801058,0.7767730884398737 +3.8795506594665903,0.9608518907729463,0.8090856625556955 +3.8795506594665903,1.4631431374757633,0.7956841457942778 +3.8795506594665903,0.7120035747350035,1.461797654538124 +3.8795506594665903,-0.10952165460745522,0.115097832611191 +3.9217196883738357,-0.06699107128127602,1.6312364826345342 +3.9217196883738357,0.419908013057548,2.2790440737550695 +3.9217196883738357,0.41371328667507706,1.0922200825194617 +3.9217196883738357,1.4668920622877093,2.0029908750005045 +3.9217196883738357,1.7265888743219704,1.6041275462175144 +3.9217196883738357,1.2078683489095026,1.2962079055215348 +3.9217196883738357,1.0850176240870901,0.7243515727566765 +3.9217196883738357,0.2867376442926178,0.9982572022154672 +3.9638887172810815,0.695799286353672,0.7706643007264431 +3.9638887172810815,1.129085321344494,1.4749309296753361 +3.9638887172810815,0.8250950407620599,1.7360433659177115 +3.9638887172810815,0.21004704054938372,0.9004485957502216 +3.9638887172810815,0.4224804373147338,0.06401001685355068 +3.9638887172810815,0.7395512546947867,0.9364045711984389 +3.9638887172810815,1.5376164692372019,1.3126841676674694 +3.9638887172810815,0.2687981854515338,1.9243246085571748 +4.006057746188327,1.4639821928435968,1.2785717262686869 +4.006057746188327,0.7402232956560045,0.5078032561726393 +4.006057746188327,0.6673619570453939,1.531897184386472 +4.006057746188327,1.7957584980482246,1.7591446386704734 +4.006057746188327,0.6090406341877834,0.42771415788987344 +4.006057746188327,0.9239084685365224,0.10330319175295322 +4.006057746188327,1.015049202173311,0.9137215813850447 +4.006057746188327,0.6204470941467993,0.1901713409009813 +4.048226775095572,1.1691984565049167,0.7043970070268613 +4.048226775095572,0.3274399853649145,-0.46538367978300776 +4.048226775095572,0.8986409506947404,1.856873225192689 +4.048226775095572,1.7430280104939935,0.742199298564681 +4.048226775095572,0.6112923730391682,1.2051345548953287 +4.048226775095572,0.41320568362591276,1.1216433767675498 +4.048226775095572,1.2954385424124037,1.5842140387999706 +4.048226775095572,0.862321364980082,0.868910551769334 +4.090395804002818,0.5177575686624178,0.5336310568458156 +4.090395804002818,0.8435094160899349,1.1307539872738346 +4.090395804002818,1.413541175157323,0.5454817585255732 +4.090395804002818,1.7030931465204593,0.8115094333444612 +4.090395804002818,0.9460652148664802,0.573465394291834 +4.090395804002818,-0.2553712680957725,1.3890939320462705 +4.090395804002818,1.3251708105869149,0.8064074553066389 +4.090395804002818,0.9902442206531342,1.2050408427177954 +4.132564832910064,0.20453495256642928,0.6521362636694183 +4.132564832910064,1.3829402208206143,0.2895178907579411 +4.132564832910064,1.1325868470930152,0.23837170003086328 +4.132564832910064,1.2190228722264638,0.898841861193824 +4.132564832910064,0.1782419730569459,1.4990322795711515 +4.132564832910064,0.6185120926106762,0.5115363838353755 +4.132564832910064,1.086092479625172,1.4909812770569233 +4.132564832910064,0.47789697152050215,0.9475025272665516 +4.174733861817309,1.2135192684117895,1.2262905015420595 +4.174733861817309,1.0873317958851156,0.6962237783688262 +4.174733861817309,0.5853159079221433,0.9228096394336748 +4.174733861817309,0.4630415122536996,-0.5809375438368163 +4.174733861817309,1.217390920325337,1.331705118453585 +4.174733861817309,-0.18235519952441614,0.3748723455555186 +4.174733861817309,1.308688148749102,1.9084854327663368 +4.174733861817309,1.009507872084207,0.5157362272959203 +4.216902890724555,0.9049974330107083,1.523997217948601 +4.216902890724555,0.6734635640008608,0.4369630050493818 +4.216902890724555,0.7550738924721122,0.3598947042451524 +4.216902890724555,1.0577808115605263,1.6488982376092889 +4.216902890724555,1.157985290121143,0.7103822573113647 +4.216902890724555,0.8505400191053564,0.05496360402618006 +4.216902890724555,1.438000542136708,0.7976404098681076 +4.216902890724555,0.9062056967678156,2.433112792296939 +4.2590719196318005,1.1272308408938856,0.4115379527296401 +4.2590719196318005,0.7646755886082708,1.3616563323756097 +4.2590719196318005,1.0344895919799246,0.06829448861854892 +4.2590719196318005,1.4374688539986442,0.4533614350077353 +4.2590719196318005,1.9145032748198152,1.3274575106345565 +4.2590719196318005,0.7541934388816669,1.4279416586447886 +4.2590719196318005,1.0117821419747441,1.2138203153383422 +4.2590719196318005,1.2202207953582798,0.3642551502817955 +4.3012409485390455,0.6218594403629407,1.2476907332185159 +4.3012409485390455,0.7762466904684011,0.5308860928069369 +4.3012409485390455,0.4660730668469951,0.9445098572246657 +4.3012409485390455,1.974896816143244,0.19894386730079883 +4.3012409485390455,0.9557440848580506,1.43882060213565 +4.3012409485390455,0.903813660898814,0.9588962225528024 +4.3012409485390455,0.41243759244823175,0.9468638730317596 +4.3012409485390455,0.8500622240193972,1.2255753222678667 +4.343409977446291,1.488025517604925,1.967560379426165 +4.343409977446291,1.1841490784293376,0.8356767167079414 +4.343409977446291,0.9915246426112178,0.496195412011514 +4.343409977446291,1.0635744135533953,0.5250778533473435 +4.343409977446291,0.9785629799573569,1.3315773262208381 +4.343409977446291,0.39106120918272913,1.2427178389813809 +4.343409977446291,1.5528900254924825,0.6137442949213188 +4.343409977446291,-0.1665949576817476,0.36886756486964195 +4.385579006353537,1.4792340433128959,0.5966301851125149 +4.385579006353537,0.33108565388488576,0.35567675564784723 +4.385579006353537,1.2510467832846177,0.8814310003626455 +4.385579006353537,0.7112707204474938,0.42465201035461203 +4.385579006353537,0.6348576955104301,0.14685912401270468 +4.385579006353537,1.638424614767062,0.446903981656286 +4.385579006353537,1.4393160304450894,1.3687222422231815 +4.385579006353537,1.3298922191063214,0.3922540599029317 +4.427748035260782,0.9557286683143711,0.5269295291506776 +4.427748035260782,0.3020126927810023,0.7012069732069371 +4.427748035260782,0.1643437275661651,1.1328670265769176 +4.427748035260782,0.5215549744968698,0.6396071602825553 +4.427748035260782,0.8955075589191375,0.40957484549409695 +4.427748035260782,1.0472105238837037,0.30157550403487343 +4.427748035260782,1.1895122718746884,-0.13396250777723862 +4.427748035260782,0.8170534129192722,1.508491831875278 +4.469917064168028,0.16477603009423747,0.12728618341168635 +4.469917064168028,0.9218956172264823,0.555949559643911 +4.469917064168028,0.8402567420338044,0.7107522337479438 +4.469917064168028,0.9823024266779098,1.0210085896522236 +4.469917064168028,0.8698510208612811,0.3455298413648409 +4.469917064168028,1.0012285429983905,1.4160996361217195 +4.469917064168028,0.5986248192057381,-0.021105983661208638 +4.469917064168028,1.2184820270405112,0.405968086697313 +4.512086093075274,-0.5209425817670598,0.8136870647712621 +4.512086093075274,0.29772809826299695,0.34470958504397087 +4.512086093075274,0.7313823565244657,0.48522606608558455 +4.512086093075274,0.920118099809478,0.1722330409111296 +4.512086093075274,0.8219450903279997,0.2602028874040927 +4.512086093075274,0.9347974316837098,0.6976599682025779 +4.512086093075274,0.0976728402176607,0.9329672842835672 +4.512086093075274,0.2974104686829343,0.7940051253366238 +4.554255121982519,0.6404498472088578,1.2301134008954642 +4.554255121982519,0.3450731993222614,0.13636316443880422 +4.554255121982519,0.44709638756432113,0.15943167108076545 +4.554255121982519,0.8567771414792125,-0.497133741720391 +4.554255121982519,-0.07003501906498971,-0.22287989829169358 +4.554255121982519,0.9319599864949752,1.1663282487888655 +4.554255121982519,0.4045815812394517,0.22661070090289764 +4.554255121982519,0.49183227206477814,0.891960713801998 +4.5964241508897645,-0.12275737830581063,0.3490404334022362 +4.5964241508897645,0.8285180036806912,0.4804030270047662 +4.5964241508897645,0.4357099970888481,0.7303789883184143 +4.5964241508897645,-1.0106969577101421,0.5687936018002975 +4.5964241508897645,0.013881347225764507,-0.6854605063933847 +4.5964241508897645,0.5965204885519668,0.9166852146163226 +4.5964241508897645,0.2721949314756305,0.7062932156363129 +4.5964241508897645,1.1470583177837992,0.8873131688268674 +4.63859317979701,1.039565639140658,0.5181200918105999 +4.63859317979701,0.2573001939057579,-0.6539265596739304 +4.63859317979701,0.0965521303899873,-0.2745669513834419 +4.63859317979701,1.3050547332038684,0.0591134400584855 +4.63859317979701,0.2811857778472044,0.42279903429488763 +4.63859317979701,0.24138459764118841,0.9945818664900303 +4.63859317979701,-0.09174130641226444,0.24436007389327516 +4.63859317979701,-0.15165191839406258,-0.5129549093356991 +4.680762208704255,-0.21114652278357315,0.04469297358945832 +4.680762208704255,-0.11991308958956041,-0.28299911782326365 +4.680762208704255,-0.6084207091668473,0.021658585799316947 +4.680762208704255,-0.6576221643464315,0.44323935395846564 +4.680762208704255,0.13595789913632123,-0.6655643776188009 +4.680762208704255,-0.059866515855862154,-0.31286683068162724 +4.680762208704255,0.2543252778786598,0.7334365951252366 +4.680762208704255,-0.8428482121538027,0.12072441168737291 +4.722931237611501,-0.11168789726687861,0.31458708594742185 +4.722931237611501,0.07497681463528613,-0.39706761814722036 +4.722931237611501,-0.19114846731686752,-0.41909588067955533 +4.722931237611501,0.5063820698157407,-0.010427127941839722 +4.722931237611501,0.9189738433929453,-0.051413359185121216 +4.722931237611501,-0.3858248829387898,-0.7779401485842244 +4.722931237611501,-0.933191337611531,-0.8131509237805558 +4.722931237611501,0.10194182602218327,0.2332795593371561 +4.765100266518747,-0.9480709753880849,0.34229175260138645 +4.765100266518747,-0.399006150213738,-0.03183089844389657 +4.765100266518747,0.6486346897556939,0.3431922534960947 +4.765100266518747,-0.29174094832493436,-0.550823517144315 +4.765100266518747,-1.2333833250366708,-0.4648040640578813 +4.765100266518747,-0.2630407437858654,-0.5988171680122631 +4.765100266518747,-0.2231041079181706,-0.06680146295728714 +4.765100266518747,-0.2699036152760575,-0.4302286948484011 +4.807269295425992,-0.19648552600008012,0.03234649748921606 +4.807269295425992,-0.826012400704867,0.5168423625776466 +4.807269295425992,-0.33010692812557485,-0.17919901582306463 +4.807269295425992,0.07329434964483472,-0.07201576166373758 +4.807269295425992,0.1957554549731786,-0.045061744694576356 +4.807269295425992,-0.5870315493036629,-0.007872064692437647 +4.807269295425992,-0.8526759656437748,-0.1343439744072269 +4.807269295425992,-0.29742785730567434,-0.29268225593175834 +4.849438324333238,-0.463930704704548,-1.2116039040462134 +4.849438324333238,-0.6740244028555633,-0.22425693072683647 +4.849438324333238,-0.3197337529863824,-0.784516951760373 +4.849438324333238,0.2331919714472676,-0.7037668054046442 +4.849438324333238,0.08506665127828578,-0.0570822003615514 +4.849438324333238,-0.7227756039069841,0.6169760650073619 +4.849438324333238,-0.9964803648633227,0.18889770550760693 +4.849438324333238,0.10062921003640651,-0.6059894858357162 +4.891607353240484,0.1841092951772083,-0.47583401600987757 +4.891607353240484,-0.3677765402150276,-0.22064983932479082 +4.891607353240484,-0.5792777255902299,0.05459337786948987 +4.891607353240484,-0.11537899457884959,-1.2250767453294915 +4.891607353240484,0.14004676658412019,-1.1820567527282384 +4.891607353240484,0.004149747315872587,0.21254180970339048 +4.891607353240484,-1.0576065699625552,-0.5562179026876936 +4.891607353240484,-1.064975689097924,-0.45827127385476885 +4.933776382147729,-0.7704167836207146,-0.03861806404826157 +4.933776382147729,0.03875473153196041,0.26939357521204665 +4.933776382147729,-0.8974836548169951,-0.5330592670551954 +4.933776382147729,-1.4581187376383191,-0.8313833634310258 +4.933776382147729,-0.1339738249791152,0.37934308159118435 +4.933776382147729,-1.233574077467805,-0.7246804597593786 +4.933776382147729,-0.6296025200073074,-0.2883677507731283 +4.933776382147729,-1.021201401488667,-0.21641780795088664 +4.975945411054974,-0.9477438648625324,-0.5102663295030612 +4.975945411054974,-0.4376820673252245,-0.4998290591584527 +4.975945411054974,-0.9290171365903586,-0.5578450960268371 +4.975945411054974,-0.755005670929742,-0.6880457090049856 +4.975945411054974,-0.8402222226606255,0.29628339118843683 +4.975945411054974,-0.43036446735645495,-0.6507803530785018 +4.975945411054974,-0.3623469890717065,-0.6699499389419266 +4.975945411054974,-0.12426187253375365,-0.3182190979648747 +5.01811443996222,-0.8475389160340865,-0.3501976367970261 +5.01811443996222,-1.5793259200662217,-1.1374398341570675 +5.01811443996222,-1.3908503472315,-0.5025845523203114 +5.01811443996222,0.07236965571057385,0.5415939733941514 +5.01811443996222,-0.4748622933115935,-0.3236338622299363 +5.01811443996222,-1.6944167111083415,-0.8453929995691756 +5.01811443996222,-1.1877797199860916,-0.8844798988277227 +5.01811443996222,-0.8779597533243668,-0.8101013885507283 +5.060283468869466,-1.8539129225362778,-0.2670360887765593 +5.060283468869466,-1.4006345302182872,-0.5213677847797514 +5.060283468869466,0.1727783175266029,-1.100683512628538 +5.060283468869466,-2.129406778721549,-0.7839933277753817 +5.060283468869466,-0.3137831998490983,0.3381825102749707 +5.060283468869466,-1.4790378145745922,-0.39264160521706537 +5.060283468869466,-1.0969182457384106,-0.6939653939873941 +5.060283468869466,0.45790865616013354,-1.3924763810329028 +5.102452497776711,-0.7939550945245506,-0.46952313839052073 +5.102452497776711,-0.3779317628021638,-0.6543781475377896 +5.102452497776711,-0.7667996555197862,-0.8991940079841327 +5.102452497776711,-0.7862614546492837,-0.8749658620219425 +5.102452497776711,-0.610038980343812,-0.8881748922950543 +5.102452497776711,-0.7322747283207441,-0.7180011311157265 +5.102452497776711,-0.3577997998857533,-0.7290665860674804 +5.102452497776711,-1.807341159375278,-0.07240897391624146 +5.144621526683957,-1.415535705647667,-1.0876313616890116 +5.144621526683957,-1.2605002022381036,-0.073529145779193 +5.144621526683957,-2.0305066622057053,0.8081260744653956 +5.144621526683957,-0.43464115068333153,-0.6491287353000218 +5.144621526683957,-0.9901165555245006,-0.6179711549357731 +5.144621526683957,-0.7021083410266882,-0.43814039938957305 +5.144621526683957,-0.6848673222146332,-0.7159578517369772 +5.144621526683957,-1.0613387653700206,-0.8363848341913576 +5.186790555591203,-1.0865822567620278,-0.24583368676865858 +5.186790555591203,-0.6923497554452565,-2.282913052534331 +5.186790555591203,-0.6611777283208069,-0.7153506378428034 +5.186790555591203,-0.998482494808636,-1.0069779617466337 +5.186790555591203,-0.4270717565926806,-0.3389555041407619 +5.186790555591203,-1.375566950497492,-0.6091925916399232 +5.186790555591203,-1.4749564838563303,-1.5025278175966559 +5.186790555591203,-1.3024867288806699,-0.38152199901081146 +5.2289595844984476,-0.5232152071715748,-0.6023692001098432 +5.2289595844984476,-0.6372298364356195,-0.6008227666010104 +5.2289595844984476,-1.3205185274710942,-0.6429506378215193 +5.2289595844984476,-0.5995729672457768,-0.4817662452517024 +5.2289595844984476,-0.40532104412229664,-0.5047599865579577 +5.2289595844984476,-0.8240536260888267,-0.32383679100027596 +5.2289595844984476,-1.013038359484148,-1.2998492357723488 +5.2289595844984476,-1.0813112118315,-1.2313632325617143 +5.271128613405693,-1.332037322842024,-0.9712586794976317 +5.271128613405693,-1.390658145854814,-1.0529801089593929 +5.271128613405693,-1.941255518831726,-0.7923524904534034 +5.271128613405693,-0.9938454476737212,-1.307543659673968 +5.271128613405693,-0.6648253511386307,-0.4302142753265935 +5.271128613405693,-1.7982281175393204,-1.2803617334229798 +5.271128613405693,-1.3790193602484824,-1.368950894694305 +5.271128613405693,-0.579710764388959,-0.9959124135262745 +5.313297642312939,-1.1054820842922652,-1.9346272500934454 +5.313297642312939,-0.6555156485323466,-1.5523252653168051 +5.313297642312939,-0.9432583485037956,-0.7940075989109727 +5.313297642312939,-0.2928953657176343,-1.5871062674496248 +5.313297642312939,-2.4829807415473724,-0.8407712955132214 +5.313297642312939,-0.07296907288153298,-0.3132228914203501 +5.313297642312939,-0.8683949559996469,-1.1785141607060925 +5.313297642312939,-0.5696633653183046,-1.419469167742303 +5.355466671220184,-0.6982674894261609,-0.7070274621657724 +5.355466671220184,-0.40634142035483056,0.42006747770645303 +5.355466671220184,-0.7402383905148869,-1.2142443546028352 +5.355466671220184,-0.9492335302002677,-1.844300494193645 +5.355466671220184,-1.2838029396487995,-1.164403760805638 +5.355466671220184,-1.1984905730715667,-0.8835851057322248 +5.355466671220184,-1.3476563402953707,-0.3992472080868501 +5.355466671220184,-0.9363428416451718,-0.964412702318399 +5.39763570012743,-1.0486484917586048,-0.9024110165375966 +5.39763570012743,-0.47215200116832856,-1.4135714663225363 +5.39763570012743,-1.2137593780397742,-1.1318693728554186 +5.39763570012743,-1.5576365952387534,-1.3896352883278351 +5.39763570012743,-1.1228115702744752,-0.5428117681107225 +5.39763570012743,-0.7534204690011832,-0.8832114027833139 +5.39763570012743,-0.45925215241815975,-1.0486922526667846 +5.39763570012743,-0.689468708537701,-1.0316172349333343 +5.439804729034676,-0.6861347963185461,-1.2846629397742195 +5.439804729034676,-2.038224550156575,-1.0604231920615805 +5.439804729034676,-0.10744190296839029,-0.5301759098476324 +5.439804729034676,-0.336117228722775,-0.3752182500653195 +5.439804729034676,-0.7744871755376416,-0.8946257572656304 +5.439804729034676,-1.1276419187355353,-1.1513200389819533 +5.439804729034676,-0.5109303961327896,-0.3913413923840203 +5.439804729034676,-0.8885391088588601,-1.2183782433941341 +5.481973757941921,-0.7395799306868925,-0.698896540878316 +5.481973757941921,-1.4617713181819623,-2.1475903919114927 +5.481973757941921,-1.015112334860983,-1.6098561282999528 +5.481973757941921,-0.9939140089388467,-1.0733900747516092 +5.481973757941921,-0.9664681146266979,-0.27326614810750083 +5.481973757941921,-0.5764715278140312,-0.8492627355374593 +5.481973757941921,-0.42874033809349027,-1.5689164742332582 +5.481973757941921,-0.2202880164050569,-1.0373820586106035 +5.524142786849167,-0.31380682973992247,-1.5345396983118915 +5.524142786849167,-1.4259265213685608,-0.5896662527792996 +5.524142786849167,-0.4608423753117704,-1.449636858970569 +5.524142786849167,-1.083878678997876,-0.4358936895844292 +5.524142786849167,-1.2437530847941927,-0.1772746051638322 +5.524142786849167,-1.099357505684463,-0.6794151189876224 +5.524142786849167,-0.8133563762350211,-0.6970173662506424 +5.524142786849167,-0.921104139417625,-1.080007534827961 +5.566311815756412,-0.5274172465518256,-1.4917171566507161 +5.566311815756412,-0.17746466153962343,-1.2472302119957723 +5.566311815756412,-0.6621767919196956,-1.487798116064236 +5.566311815756412,-1.8290436636473415,-1.0861373100600642 +5.566311815756412,0.6584308765567717,-0.5983212848109678 +5.566311815756412,-0.5575070241168836,-1.1220688433641137 +5.566311815756412,-0.536643887843663,-0.7170638711723748 +5.566311815756412,-1.1382832419041087,-0.4334625814255437 +5.608480844663657,-0.08025931571935618,-0.6165008751655897 +5.608480844663657,-0.21871210403511457,-0.965785409172562 +5.608480844663657,-0.10151935545656837,-0.679686671148868 +5.608480844663657,-0.6149703289104901,-1.2623946244680075 +5.608480844663657,-0.38702182580898487,-0.20108366227196328 +5.608480844663657,-1.0575035112669287,-1.7093563708957769 +5.608480844663657,-0.35556955282171987,-0.9501498870915479 +5.608480844663657,-0.3512791412547741,-0.8536171390653068 +5.650649873570903,-0.4326246124146966,-0.20869713172496462 +5.650649873570903,-1.1214754743355517,-1.3678773634161288 +5.650649873570903,-0.37265086517181767,-1.7752232566030892 +5.650649873570903,-0.40895068731332956,-0.12289376816199671 +5.650649873570903,-0.31058024094931314,-0.8382783981666639 +5.650649873570903,-0.9511058676835842,-1.2618095550457444 +5.650649873570903,-0.5086216752592625,-1.1124863994041227 +5.650649873570903,0.31979841240459034,-0.6747833206634435 +5.692818902478149,-0.7546951498748125,-0.8016325201989675 +5.692818902478149,0.050144702842096045,-0.3548103901543367 +5.692818902478149,0.5913041718778902,-1.4324320053289044 +5.692818902478149,-0.6043949270114657,-1.5536738388722782 +5.692818902478149,-0.3159761009597871,-0.6917057221918028 +5.692818902478149,0.2947010868882544,-0.9628604212362313 +5.692818902478149,-0.3588899330337185,-0.8490059132905997 +5.692818902478149,-0.616537622221308,0.11988445143241677 +5.734987931385394,-0.8775593526056114,-0.7971959555914819 +5.734987931385394,0.9380742705682377,-0.8861663227593453 +5.734987931385394,-0.16874835654732923,-1.0682889564445577 +5.734987931385394,-0.16392467992778592,-0.20314200770107904 +5.734987931385394,-1.1796597947113354,-0.12284939439118137 +5.734987931385394,-0.7857074152716546,-1.0228924096565515 +5.734987931385394,-0.2883510491959129,-0.5952896101539842 +5.734987931385394,-0.8727910149884558,-0.6584799119983726 +5.77715696029264,1.0648416916287036,-1.5295109297332892 +5.77715696029264,0.1475399637904752,-1.1789150163351885 +5.77715696029264,0.26563048308179527,-0.8383500387290079 +5.77715696029264,-0.2680565745368774,-0.603987785001347 +5.77715696029264,0.9548609348786489,-0.9433758233005333 +5.77715696029264,0.4125658510593683,-1.4945604063724658 +5.77715696029264,-0.425531308423727,-0.6117207884966953 +5.77715696029264,0.7947448942532598,-0.670117253044054 +5.819325989199886,0.021731504618358544,-0.8006082763422997 +5.819325989199886,-0.446943347104923,-0.4979963158762934 +5.819325989199886,0.6194270510416403,-1.026299145470517 +5.819325989199886,-0.05676055399981503,-0.6673148642279525 +5.819325989199886,-0.040099348140362034,-0.833320286366888 +5.819325989199886,1.2281214144631933,-0.9237668294269751 +5.819325989199886,-0.0009095561306754485,-1.1240248818715566 +5.819325989199886,0.5503565056299041,-0.8908660656630283 +5.861495018107131,-0.023701445625794793,-0.0862432547764792 +5.861495018107131,1.010786575791737,-1.0471070537823377 +5.861495018107131,-0.6322849021453899,-0.24313842599452418 +5.861495018107131,-0.041329839345083774,-0.3515824713316009 +5.861495018107131,-0.6840668353209997,-0.3005966017633306 +5.861495018107131,-0.3046008911054724,-0.381513211379723 +5.861495018107131,0.30812160745313527,-1.2238649806113078 +5.861495018107131,0.09746691707152796,-0.40373604243463485 +5.903664047014376,0.47184629652523596,-0.3960206234459787 +5.903664047014376,1.4071193622253615,-1.4703479195377467 +5.903664047014376,1.2275053574519308,-0.6360491449206145 +5.903664047014376,-0.030492954193945265,-1.3533839265517158 +5.903664047014376,0.3243388745791021,-0.22740205771999122 +5.903664047014376,0.35512450977885174,0.06735035144145285 +5.903664047014376,-0.3066887750581606,-0.6942715876052482 +5.903664047014376,-0.2072976522389407,-0.506411172369737 +5.945833075921622,0.9735616189863447,-0.8350474581134335 +5.945833075921622,-0.7719890043758725,-0.5251924878746597 +5.945833075921622,0.7484871998044493,-0.42251918379205816 +5.945833075921622,1.1480090198487716,-1.1601934010974313 +5.945833075921622,0.8702259766629193,-0.028412805033919408 +5.945833075921622,-0.3591758680655638,-0.46484064831341826 +5.945833075921622,0.2780280084338589,-0.6654278978237298 +5.945833075921622,0.7039561657068628,-0.868280843329683 +5.988002104828868,0.2950100171461126,-0.5395892373869942 +5.988002104828868,0.08924108729551727,-1.099578010573599 +5.988002104828868,0.9725506982051701,-1.1310624637103346 +5.988002104828868,0.9660203071815244,-0.32536979970403085 +5.988002104828868,-0.23003930766837988,-0.895447772298834 +5.988002104828868,1.2299187582506046,-1.0472482117008473 +5.988002104828868,0.4006619255722247,-0.3256349995050582 +5.988002104828868,1.024559311368216,-0.6824348891532543 +6.030171133736113,0.42674020931897266,0.22647776355011684 +6.030171133736113,1.5949451385635829,0.004721858091760733 +6.030171133736113,0.7681543779473055,-0.8888400281196002 +6.030171133736113,0.3102731033865108,-0.22345011466625825 +6.030171133736113,0.9346944171091354,0.21609212917407772 +6.030171133736113,1.050720352932863,-1.236247318179046 +6.030171133736113,1.2514691155262527,-0.9837374809563435 +6.030171133736113,0.5335096706886177,-0.35960706417328975 +6.072340162643359,1.8043649202147114,1.145656023921446 +6.072340162643359,1.1098927048908207,-0.5009015634414283 +6.072340162643359,1.0737839995630043,0.034524458855683615 +6.072340162643359,0.6461973625441334,0.48830242387492667 +6.072340162643359,0.9215665549184302,-0.1604317095355373 +6.072340162643359,1.13949330134996,-0.19850994877400657 +6.072340162643359,1.2260014255575356,-0.7179298473546961 +6.072340162643359,0.527380298349714,-0.9593803705670818 +6.114509191550605,1.0944271052015764,0.05847852201821241 +6.114509191550605,1.103562922967406,0.5062564869359241 +6.114509191550605,0.8718784804769398,0.003381098058411691 +6.114509191550605,0.3288260518218059,-0.5245395809750452 +6.114509191550605,1.222445368674352,0.09356132563372738 +6.114509191550605,0.727693016059372,-0.36678935566687804 +6.114509191550605,0.11573961655105836,-0.5095043301411493 +6.114509191550605,1.3198680716513562,-0.043387221684561494 +6.15667822045785,1.179174964243407,-0.22543645747090696 +6.15667822045785,0.9323736828668905,-0.5804838707981106 +6.15667822045785,1.2782563136540697,-0.0398368288666921 +6.15667822045785,1.174851527549202,-0.5133407223951771 +6.15667822045785,-0.1478293563828199,0.2982530548154608 +6.15667822045785,0.6894233755486002,-0.6817111830829473 +6.15667822045785,1.2755815595097992,-0.4463296210209518 +6.15667822045785,1.458810295576113,0.058179673726961756 +6.1988472493650955,1.3099469645978974,-0.8508552565188079 +6.1988472493650955,1.5741342956908588,-0.0372521353016127 +6.1988472493650955,0.783523733374557,-0.09618316724741519 +6.1988472493650955,0.08004468654849861,0.036449004821794695 +6.1988472493650955,0.4534765489066228,-0.844212543840308 +6.1988472493650955,0.20698270988871303,0.38846678657642186 +6.1988472493650955,0.6535306061512642,0.5989864540397088 +6.1988472493650955,0.7002615714715097,-1.021556379715014 +6.241016278272341,0.43374642489668636,0.5336676981113471 +6.241016278272341,0.9140595559026822,-0.35838176013742273 +6.241016278272341,1.0720177577974097,0.16665325619165022 +6.241016278272341,1.5507080528222463,0.6400115030543407 +6.241016278272341,0.812124321976473,-0.7472619549331415 +6.241016278272341,0.7852760643093779,0.045902141399320806 +6.241016278272341,0.5101291817657105,-0.5628135693396437 +6.241016278272341,1.1639025856459586,-0.10856428767734784 +6.283185307179586,1.0163984977057932,-0.37924766735003523 +6.283185307179586,0.8847996428971163,-0.4621165721341527 +6.283185307179586,1.4450992055623935,0.5176246673618758 +6.283185307179586,0.07690606888095308,-0.4647554300962055 +6.283185307179586,0.25173537245496047,-0.3250119672034496 +6.283185307179586,0.9582810151048196,-0.7248226098492655 +6.283185307179586,0.5390700934373436,-0.5019786860407496 +6.283185307179586,1.103633664699472,0.03467216851812472 diff --git a/week10/IMU.csv b/week10/IMU.csv new file mode 100644 index 0000000..47b7c75 --- /dev/null +++ b/week10/IMU.csv @@ -0,0 +1,1201 @@ +t,x,y +0.0,1.15172400420925,0.38290486396924117 +0.0,0.7068949868551861,0.9694813441753038 +0.0,0.8820991398918605,0.6201412476480299 +0.0,0.858771805736458,0.6018265171855636 +0.0,1.1223767272782617,0.2857953260880992 +0.0,0.75257770802713,0.7098028330689208 +0.0,1.1342229245102744,0.7245525390312971 +0.0,1.0748706977561346,0.6572421586415494 +0.04216902890724555,0.8813237012669395,0.13596477507319943 +0.04216902890724555,0.8313415811915212,0.30088479622264136 +0.04216902890724555,0.7124109995289141,1.0898507875406003 +0.04216902890724555,1.008913351852978,0.3259172430729147 +0.04216902890724555,0.8652196115170754,0.7048980325534138 +0.04216902890724555,0.7974203501848316,0.1573887447086086 +0.04216902890724555,0.9679719350140765,0.3699279972206737 +0.04216902890724555,0.8240303250709099,0.2788255841746372 +0.0843380578144911,0.7638396834318274,0.6914807130998304 +0.0843380578144911,1.3001506100573441,0.4845535652950648 +0.0843380578144911,0.6208257908145126,0.7789885148474274 +0.0843380578144911,0.41448531229794316,0.7698125675533992 +0.0843380578144911,0.3540455836559576,0.6398310633036907 +0.0843380578144911,0.7607362188359721,0.6425942828130377 +0.0843380578144911,0.10003479600568377,0.6818975973172816 +0.0843380578144911,0.4686245215580282,0.8777328868746883 +0.12650708672173663,0.8685675129875651,0.3535625172124469 +0.12650708672173663,0.6933780418045372,0.6718012492144697 +0.12650708672173663,0.8054969002267913,0.6019630083804717 +0.12650708672173663,0.7213793920984823,1.0804366039839972 +0.12650708672173663,0.9768359859053181,0.5191534029935458 +0.12650708672173663,-0.07599415765294215,0.853073441754288 +0.12650708672173663,-0.2511157864397362,1.0723753443845765 +0.12650708672173663,0.918928737689135,0.8254804552466986 +0.1686761156289822,0.843201300396041,1.5670787352737765 +0.1686761156289822,0.5752575103952112,0.7710989781796821 +0.1686761156289822,0.6581725499673221,0.86738605051932 +0.1686761156289822,0.4987040233919324,0.9743503634126405 +0.1686761156289822,1.2661556803467056,1.3228423208869549 +0.1686761156289822,0.32018816071131195,1.0497908919909653 +0.1686761156289822,1.0799301980149887,1.1733971040576223 +0.1686761156289822,1.4248215671015583,1.4684431991292688 +0.21084514453622774,1.0423850560986339,0.9519222085142615 +0.21084514453622774,0.9568586604272122,0.9421555694751595 +0.21084514453622774,0.7962147758127752,0.9055912726309335 +0.21084514453622774,0.6357543247857267,0.3808134249920815 +0.21084514453622774,0.606612953848819,1.3854290393183328 +0.21084514453622774,0.626001651620944,0.7181805340982169 +0.21084514453622774,0.7277416132505946,0.9261705649176186 +0.21084514453622774,0.8761791747423519,0.6819123312087715 +0.25301417344347327,0.8605664158772279,0.3349019113293437 +0.25301417344347327,0.7674471023665393,0.6680805077912608 +0.25301417344347327,1.054569869261162,1.429045270329869 +0.25301417344347327,0.6425520404910381,0.9545343069430001 +0.25301417344347327,0.5326464975211089,1.1776825443958954 +0.25301417344347327,0.7995186906123379,0.48824175133480596 +0.25301417344347327,0.7246092545550911,0.8490859854059631 +0.25301417344347327,0.447497795464032,1.0535488895144658 +0.2951832023507188,0.4957665144035037,1.0267016095106682 +0.2951832023507188,0.5626727805402693,0.8144341155863786 +0.2951832023507188,0.5413974193338114,0.9136507539718293 +0.2951832023507188,0.19549739488176204,0.8001950467049009 +0.2951832023507188,0.8868890645805514,1.3383464101594953 +0.2951832023507188,0.4655731844390103,1.3120858892932081 +0.2951832023507188,0.08005723941856324,0.7818876037968956 +0.2951832023507188,0.21567380690856786,1.0122243289388397 +0.3373522312579644,0.3643900538555383,1.319078456986757 +0.3373522312579644,0.3284431548244654,1.3390301506486915 +0.3373522312579644,9.700474925000702e-05,1.2889500231456577 +0.3373522312579644,0.3162780610356685,0.9819114585751746 +0.3373522312579644,0.14905357804927544,0.8779242300509218 +0.3373522312579644,-0.0662859899014876,1.1777464854828419 +0.3373522312579644,0.6143553236030866,0.9232183434241445 +0.3373522312579644,0.6314244477223827,0.809000559694859 +0.37952126016520993,0.31524603981757493,1.0614017438176562 +0.37952126016520993,0.476611152586518,0.6393581994977631 +0.37952126016520993,0.2702691273681943,1.4569040184398934 +0.37952126016520993,0.062214245074500074,1.3409911568595199 +0.37952126016520993,0.04134108400637715,1.0637588337358803 +0.37952126016520993,-0.2487879102377557,1.3653343039764418 +0.37952126016520993,-0.21302289135021624,1.3776878470152947 +0.37952126016520993,0.1568322025638203,1.1265845667266827 +0.4216902890724555,0.6392021032195105,1.5380516952386987 +0.4216902890724555,0.7162065227573595,1.7327888936912 +0.4216902890724555,0.35968288633078327,0.9939859009373925 +0.4216902890724555,0.11773322691589838,1.396354675577371 +0.4216902890724555,0.0890652183248859,0.8830076476372457 +0.4216902890724555,0.16070907623680009,1.0676820608685864 +0.4216902890724555,0.6855770335442759,1.929608062030395 +0.4216902890724555,0.5285224286682905,1.033007509652481 +0.46385931797970104,0.19367452983214647,1.0634380834302801 +0.46385931797970104,-0.09845141809273764,0.9424078683600702 +0.46385931797970104,-0.0186646026147875,1.3717287359658956 +0.46385931797970104,-0.14826344558624113,1.1282933973425457 +0.46385931797970104,0.1681333523134911,1.1217806053220662 +0.46385931797970104,-0.436064553207125,1.3106255987461009 +0.46385931797970104,0.18226377972091537,0.9499693395922292 +0.46385931797970104,-0.03073168286488792,1.2797778134689999 +0.5060283468869465,-0.049619909138924397,1.270000005209963 +0.5060283468869465,0.10563132835108904,1.0082101849123202 +0.5060283468869465,-0.3100561910727221,1.2947274968000568 +0.5060283468869465,-0.5571614869850622,1.4837697346618397 +0.5060283468869465,-0.9433040858710446,1.5666424335781395 +0.5060283468869465,-0.7449036602048197,1.3715851523078213 +0.5060283468869465,-0.015943539487927212,1.3925642752597869 +0.5060283468869465,0.5015438628326983,1.7807031787188303 +0.5481973757941921,0.07088891770403112,1.1235764500811756 +0.5481973757941921,-0.24249208657965554,1.150424898420688 +0.5481973757941921,-0.840320435947536,1.220643602450022 +0.5481973757941921,-0.15815149919215266,1.28403430669373 +0.5481973757941921,0.15567189022311856,1.614375392962863 +0.5481973757941921,-0.1750365360557115,2.277288726517243 +0.5481973757941921,-0.6719863263459689,1.5695646692090173 +0.5481973757941921,-0.5864788243899693,1.2416515449018304 +0.5903664047014376,-0.1812136306789584,1.3208562903943637 +0.5903664047014376,-0.037891468807237955,1.3194870520743551 +0.5903664047014376,-0.16221049189345077,1.1765279681371879 +0.5903664047014376,-0.27801472110320247,1.3960744924760444 +0.5903664047014376,-0.3459074222933198,1.1460986713426735 +0.5903664047014376,-0.6598613228867927,1.4216026503295423 +0.5903664047014376,-0.01130077533638682,2.0015993555170986 +0.5903664047014376,-0.28316200688565096,1.4706034163629542 +0.6325354336086833,-0.6041683269169149,2.452965463340692 +0.6325354336086833,0.2840268256203225,2.2193570447895925 +0.6325354336086833,-0.2152521989165594,1.0945432264376362 +0.6325354336086833,-0.5326586294576815,1.5682782438085336 +0.6325354336086833,-0.5527330890989983,2.299850084723014 +0.6325354336086833,-0.43407827861537335,1.109188175354732 +0.6325354336086833,-0.1514225390691591,1.7617649025957511 +0.6325354336086833,-0.7486886499468832,1.5159258236241837 +0.6747044625159287,-0.7711712194980076,1.5041831491730557 +0.6747044625159287,-0.7936793461072009,1.26926373656242 +0.6747044625159287,-0.5630671084156719,1.4768339792226501 +0.6747044625159287,-0.5464917562742257,1.0770446334177721 +0.6747044625159287,-0.38820914274738916,1.9387216513232985 +0.6747044625159287,-0.7935932781038675,1.5851652131143141 +0.6747044625159287,-0.340300919470098,1.4467877528576845 +0.6747044625159287,-0.3764968453154377,1.5768307652656917 +0.7168734914231742,-1.2055819008951172,1.5634588617305667 +0.7168734914231742,-1.1874761312457403,1.3291533794434554 +0.7168734914231742,-1.2742117565770097,1.5667298709934006 +0.7168734914231742,-0.45806581711641003,1.5951042248762834 +0.7168734914231742,-0.6679491640491865,1.5866313764458657 +0.7168734914231742,-0.3891062174482841,1.6313049322811084 +0.7168734914231742,-0.1166476645433297,1.9888870435067192 +0.7168734914231742,-1.1099100562091908,1.9865777997149496 +0.7590425203304199,-0.6549902795266931,1.7790123023456372 +0.7590425203304199,-1.1131753916228504,1.4989859896418627 +0.7590425203304199,-0.6370533126287352,1.9424760130842955 +0.7590425203304199,-1.5214701392526748,1.9704587805328977 +0.7590425203304199,-0.7615843399375444,0.9965837661717266 +0.7590425203304199,-1.109917088736935,1.4484561408109884 +0.7590425203304199,-0.3660975695731269,1.9621650184301922 +0.7590425203304199,-1.1872298631721954,1.6794499562573764 +0.8012115492376654,-0.5664719972855026,1.501754491888385 +0.8012115492376654,-0.9007305422650238,1.8871803411077503 +0.8012115492376654,-1.5009536969629664,2.3501708711651115 +0.8012115492376654,-0.5644473571852575,1.5311641855422389 +0.8012115492376654,-0.41764149316300725,1.8504477966243238 +0.8012115492376654,-0.451591796784107,1.4034462769636449 +0.8012115492376654,-1.0049136064477318,1.4159653738277116 +0.8012115492376654,-0.6635017703080289,1.2583620543421004 +0.843380578144911,-0.7836734473777794,1.2520493541958255 +0.843380578144911,-1.485772602211068,1.9141586231439234 +0.843380578144911,-1.2298704223838652,1.3161807863782862 +0.843380578144911,-1.2386844607661094,1.2026104432830027 +0.843380578144911,-0.6768689959235061,1.3619635465881237 +0.843380578144911,-0.931857621498092,1.2276967773041492 +0.843380578144911,-0.6717059727257936,1.567042547494654 +0.843380578144911,-1.264539252312595,1.2344293836979485 +0.8855496070521565,-1.7183251218386308,1.4928458746937112 +0.8855496070521565,-0.8969192431682035,1.452403920774299 +0.8855496070521565,-0.6515651276627813,1.3023456505713455 +0.8855496070521565,-1.0715101870138777,1.199482438987562 +0.8855496070521565,-0.4427475275327596,2.0352838536009443 +0.8855496070521565,-1.1060108714744579,1.2590717954249009 +0.8855496070521565,-0.9326945815390486,1.582810904703536 +0.8855496070521565,-1.2464716302788166,1.4023068288454226 +0.9277186359594021,-0.8962534012870123,1.4960326255721843 +0.9277186359594021,-1.7009199261888615,1.5246893842689693 +0.9277186359594021,-1.3739565864133618,1.3386443034903825 +0.9277186359594021,-1.120572882173511,1.0573085695605253 +0.9277186359594021,-1.1323196360117005,1.2909944877623714 +0.9277186359594021,-1.2346708020149018,1.427052624738593 +0.9277186359594021,-1.100916276423226,1.0857627500417513 +0.9277186359594021,-1.1864535627352766,2.0795247916563264 +0.9698876648666476,-1.1730608037635473,1.6403906289782852 +0.9698876648666476,-1.7249224284459732,1.8348583056952363 +0.9698876648666476,-1.0410559345807358,1.1364563213389487 +0.9698876648666476,-1.3994483684489722,1.146092486096125 +0.9698876648666476,-0.5073518586176174,2.4270742098668596 +0.9698876648666476,-0.8080686089757074,1.3874591075769513 +0.9698876648666476,-0.936627224043072,1.3069131965785974 +0.9698876648666476,-1.4015319466065845,1.8776587279660806 +1.012056693773893,-1.0493607791437132,1.0924901806680642 +1.012056693773893,-0.8880290101079451,1.6967160479872507 +1.012056693773893,-0.8518012722233528,1.5366133133381386 +1.012056693773893,-1.0023174735868856,1.3324991233809524 +1.012056693773893,-1.385369527032331,1.7019082938763548 +1.012056693773893,-1.6329861983370861,1.7268071456572 +1.012056693773893,-0.932278771818168,1.9810277218356511 +1.012056693773893,-1.6004406418515316,1.6102061518426596 +1.0542257226811387,-1.2327320073945642,1.123412498685782 +1.0542257226811387,-0.9453934574154227,1.4541425739077778 +1.0542257226811387,-0.8125756932342668,1.3945853554354726 +1.0542257226811387,-1.3530837472682233,2.0900658098856963 +1.0542257226811387,-0.7190274679977214,1.7179555992054358 +1.0542257226811387,-1.19020942000339,1.4082001587295403 +1.0542257226811387,-1.2850740739728383,1.0883832249558514 +1.0542257226811387,-1.0178148072871802,1.2632261729173728 +1.0963947515883843,-1.4915210694385967,1.85400928571694 +1.0963947515883843,-1.1862984444837825,1.5178222569645725 +1.0963947515883843,-2.3757169168509353,1.4314108378577846 +1.0963947515883843,-1.2339035732174715,1.0019014350494335 +1.0963947515883843,-1.666966445840147,1.4020168841863474 +1.0963947515883843,-1.2763966393606445,1.3817681651813039 +1.0963947515883843,-1.0117599078779078,1.1902206919486675 +1.0963947515883843,-1.0055284932234783,1.0594183945382252 +1.1385637804956297,-1.6347569132802895,1.426045598376597 +1.1385637804956297,-1.1168751178913316,0.9563897155462526 +1.1385637804956297,-1.2128229266601558,1.3004254479625401 +1.1385637804956297,-0.7759722202802766,1.3244656808402908 +1.1385637804956297,-0.7330787026944898,1.359746595832321 +1.1385637804956297,-1.18407454565247,1.8099766206552825 +1.1385637804956297,-1.21190191325807,1.0994098576448965 +1.1385637804956297,-0.7610164847931082,1.2305947387470364 +1.1807328094028753,-0.8712971964858847,1.4932543096336346 +1.1807328094028753,-1.3125639717359898,1.1457361399997505 +1.1807328094028753,-1.1062549043283727,1.4938830067566466 +1.1807328094028753,-0.5089878237602791,1.3288510032046497 +1.1807328094028753,-0.8226686437576421,1.7867631529437515 +1.1807328094028753,-1.1826842758368414,0.7580465134724332 +1.1807328094028753,-1.310651673277232,0.8640886326030293 +1.1807328094028753,-0.8020492511288222,1.2594698576217467 +1.222901838310121,-0.8644998019332594,1.1559795617716602 +1.222901838310121,-0.5356792396215848,1.5098252531853975 +1.222901838310121,-0.4647934489308181,1.126673889934903 +1.222901838310121,-0.7400838819025517,0.8528214005219299 +1.222901838310121,-1.4403545841029866,1.5519549578863496 +1.222901838310121,-0.8104107732714645,0.9354587046255183 +1.222901838310121,-0.8070726491422018,0.7832230174181356 +1.222901838310121,-1.8096041589312053,1.2831469859005984 +1.2650708672173665,-1.2547597870951201,1.6962048642399585 +1.2650708672173665,-1.4387475101265261,1.4073142230114484 +1.2650708672173665,-0.6536542567433531,0.7110513934009322 +1.2650708672173665,-1.201080511809205,1.440051287051645 +1.2650708672173665,-1.2214926319551358,0.9220559337865529 +1.2650708672173665,-0.8454365430363182,1.85360865584915 +1.2650708672173665,-0.7956183668279445,1.1087296396927653 +1.2650708672173665,-0.6508496344281371,0.8007186586910084 +1.3072398961246119,-0.9392290217410839,0.453442251120505 +1.3072398961246119,-1.0734559164795114,1.2558302999136308 +1.3072398961246119,-0.8142968061416574,0.8631312252128015 +1.3072398961246119,-1.634992129721576,1.3606604244928455 +1.3072398961246119,-1.4580703020601833,1.1368357742983888 +1.3072398961246119,-0.6153581196416296,1.5131295749583802 +1.3072398961246119,-0.6111399508460356,0.7750986445192309 +1.3072398961246119,-0.5800868873787786,0.723188415112028 +1.3494089250318575,-0.7627311643083721,1.4898037446048926 +1.3494089250318575,-1.0665808492836912,0.9926642081174987 +1.3494089250318575,-0.3430346130697973,0.8235897225862976 +1.3494089250318575,-1.055979637160044,0.8611866618607493 +1.3494089250318575,-0.699664972084068,0.5748698935990713 +1.3494089250318575,-1.0042272832113235,1.0334289608105434 +1.3494089250318575,-0.7801482700371851,0.7965632130411413 +1.3494089250318575,-0.505173875777837,0.7681970839178407 +1.391577953939103,-0.503570603221994,0.9643981005069143 +1.391577953939103,-0.9812577156810827,1.5994217146176846 +1.391577953939103,-1.045719342446693,0.7114893285928658 +1.391577953939103,-0.495921242173885,0.6091423980104086 +1.391577953939103,-1.0938919766764827,0.6350944815629834 +1.391577953939103,-0.9921931858977544,1.3121766354172317 +1.391577953939103,-1.5310832329270956,1.1510939531621012 +1.391577953939103,-0.5017016770547302,0.7436718896703634 +1.4337469828463485,-0.8534499141138401,1.093132761621486 +1.4337469828463485,-0.31590555699926315,0.5611560001600716 +1.4337469828463485,-0.25943303077521823,0.6306670099216558 +1.4337469828463485,-0.37002826972308867,0.9270971274511934 +1.4337469828463485,-0.8804218183581634,0.795755918798099 +1.4337469828463485,-0.5181998017917376,0.7605534320149056 +1.4337469828463485,-0.6603265014785684,1.4396540943327603 +1.4337469828463485,-0.25931387769152514,0.4951679227933838 +1.475916011753594,-1.125215422680185,0.8514230648257004 +1.475916011753594,-0.4513128940734013,0.6388433188353575 +1.475916011753594,-0.1938351849433756,1.0058423627173125 +1.475916011753594,-0.7489196858940703,0.280134281602493 +1.475916011753594,-0.47534324777943615,0.6797625590597642 +1.475916011753594,-0.6811985328616106,0.7066686410346921 +1.475916011753594,-0.16718214924522612,0.9801016458369451 +1.475916011753594,-0.13061315230146867,0.7913897568644184 +1.5180850406608397,-1.2263739638988815,0.7102942439598243 +1.5180850406608397,0.05207480341680068,0.3340702063502573 +1.5180850406608397,-0.42765805076686914,0.14504703717608047 +1.5180850406608397,-0.024468032652628174,0.5969521632376251 +1.5180850406608397,-0.6123291538138369,0.4611613062989839 +1.5180850406608397,-0.24787014539110586,0.19521976038686784 +1.5180850406608397,-0.2751116430406325,0.7364694245570625 +1.5180850406608397,-0.0038869624858243468,1.4369066823534078 +1.5602540695680853,-0.6754596584605006,0.35437064576586674 +1.5602540695680853,0.2076998915150502,0.7056570722849358 +1.5602540695680853,0.06402228180158277,1.4126217041976137 +1.5602540695680853,-0.2177985118901946,0.6415786302400863 +1.5602540695680853,-0.23541668516991887,0.37311025631393024 +1.5602540695680853,-0.12205750559334434,0.4277891658728288 +1.5602540695680853,0.1307087256090918,0.6875557825979425 +1.5602540695680853,-0.252140303644097,0.17134068398918517 +1.6024230984753307,0.23314577064156658,0.2797001287246987 +1.6024230984753307,0.3750528768423047,0.7761672872049514 +1.6024230984753307,0.18146345593770236,0.8666481979056206 +1.6024230984753307,0.12117113494590298,0.72743316512518 +1.6024230984753307,-0.20672564365591545,0.19669976050094118 +1.6024230984753307,-0.012067891775933565,0.20445320283933127 +1.6024230984753307,0.18460281218977698,0.27832817457982456 +1.6024230984753307,-0.17409336652643426,0.5218497213499544 +1.6445921273825763,0.295224090410246,0.2986903280845609 +1.6445921273825763,0.016287985311229575,0.23903196944242106 +1.6445921273825763,-0.46882487718431654,0.27263222127612535 +1.6445921273825763,0.006923376821008548,0.1372816583178293 +1.6445921273825763,0.0638788963604068,0.7009055001978524 +1.6445921273825763,-0.013929046669839795,-0.0483263638528601 +1.6445921273825763,0.1485297768184701,0.5483982679550019 +1.6445921273825763,0.22505237891039728,0.026160061509881177 +1.686761156289822,0.5439008527011453,0.26653753218532883 +1.686761156289822,0.27195573681004276,0.4327876029351687 +1.686761156289822,0.6865949349353296,0.35300693634689817 +1.686761156289822,0.2601114302741592,0.6052222499576998 +1.686761156289822,0.31301677413388773,0.004285032289821328 +1.686761156289822,0.011399860257749639,0.4596740948353515 +1.686761156289822,0.15560683239738915,0.016001442750720157 +1.686761156289822,0.4694666068461113,-0.22657698203249638 +1.7289301851970673,-0.34359605701165563,0.42483965909136584 +1.7289301851970673,0.2720185000255969,1.61116044348152 +1.7289301851970673,0.04908388869813396,0.30254379186881636 +1.7289301851970673,0.24665531878110314,0.10620710670760508 +1.7289301851970673,-0.34493612361728554,0.7339085811961221 +1.7289301851970673,0.8615106574302541,0.5082564692746274 +1.7289301851970673,0.4050717929846898,0.020013147347578086 +1.7289301851970673,0.3806258740193964,0.10114649990766666 +1.771099214104313,0.8541768584223532,0.2531898296441953 +1.771099214104313,0.2889680568444664,0.5122054611998441 +1.771099214104313,0.48105974680722724,0.2896136895076515 +1.771099214104313,-0.2608333112770025,0.17701026089950106 +1.771099214104313,0.6696916671845528,-0.35990610513012233 +1.771099214104313,0.454741721671185,-0.3087183091552906 +1.771099214104313,0.50043292294402,0.13727617878367465 +1.771099214104313,0.561401197772732,0.2555842974078763 +1.8132682430115585,0.6866909555983977,0.7929800978314586 +1.8132682430115585,0.5146451199631787,-0.1762340216585192 +1.8132682430115585,0.4853479664714586,-0.06375199054130487 +1.8132682430115585,0.2197130724755797,-0.040229005023503295 +1.8132682430115585,0.5985406227778411,-0.28131949436970477 +1.8132682430115585,0.7501446490485857,-0.3098384046494783 +1.8132682430115585,0.39907873311117126,0.6112749284012043 +1.8132682430115585,0.8311864672259612,-0.06062929213988982 +1.8554372719188041,0.4857483470269062,-0.12595678771596014 +1.8554372719188041,1.1366279358608213,-0.13194351873554744 +1.8554372719188041,0.7141226716116442,-0.2543269688400668 +1.8554372719188041,0.7242562798396165,-0.29045212800455134 +1.8554372719188041,0.43688578787879484,0.15653333774075362 +1.8554372719188041,0.874336897735078,0.03760010773271372 +1.8554372719188041,0.3223296501582543,0.1868431074136564 +1.8554372719188041,0.8749068712994348,-0.01783781936049289 +1.8976063008260495,0.5154724529533462,-0.18909170074042558 +1.8976063008260495,0.9662491552508374,0.3480062413186942 +1.8976063008260495,0.32661742506861047,-0.1727172409751715 +1.8976063008260495,0.6475884290645846,0.19004234969732114 +1.8976063008260495,0.9739078096681761,0.18146173709640312 +1.8976063008260495,0.588409452601625,-0.21149283957883436 +1.8976063008260495,0.7373487750667411,-0.3798026068516143 +1.8976063008260495,0.36051532076264303,-0.4147978212120245 +1.9397753297332951,0.6737066514904375,0.15957962911037726 +1.9397753297332951,0.965565010885531,-0.34960828445307524 +1.9397753297332951,0.8789664919731259,-0.7018715116549393 +1.9397753297332951,0.8037713601588109,-0.33555366471247106 +1.9397753297332951,0.5531493817572184,-0.31636030647290375 +1.9397753297332951,0.38461926743627717,0.11888610210514772 +1.9397753297332951,0.9230400976195978,0.1481486528167022 +1.9397753297332951,0.8135625847279518,-0.5002906974544943 +1.9819443586405407,1.148272000728479,0.21340618031982628 +1.9819443586405407,0.7235993745853513,-0.43421758664148913 +1.9819443586405407,0.7510412358949629,-0.2197459075523177 +1.9819443586405407,0.6907379384170913,-0.6447204144749605 +1.9819443586405407,1.423161682112939,0.001681262441465714 +1.9819443586405407,0.8573845168351546,-0.6429453916014874 +1.9819443586405407,0.9969249812224448,-0.17182732768836306 +1.9819443586405407,0.808113419912689,-0.1452136960106838 +2.024113387547786,0.6355222006736211,0.0780387410406298 +2.024113387547786,0.7221622564248782,-0.49275040063081393 +2.024113387547786,0.6283224290816496,-0.41313166585288763 +2.024113387547786,0.4072997260593557,-0.3578541907692414 +2.024113387547786,1.2944862560261305,0.2005148392284607 +2.024113387547786,0.8600190878870997,-0.7932384644774674 +2.024113387547786,0.2868139053997083,0.020160768700262288 +2.024113387547786,1.1179949342947098,-0.5592294774866421 +2.066282416455032,1.0165994559289926,0.247756537479073 +2.066282416455032,1.0460057273023586,-0.6281329354372633 +2.066282416455032,0.6230076719749778,-0.2700269449929792 +2.066282416455032,0.8838103152286785,0.35677049246646153 +2.066282416455032,0.15248657463556958,-0.14916233559975933 +2.066282416455032,1.0162254744944959,0.049695540601697674 +2.066282416455032,1.2606395749527255,0.3631328879720127 +2.066282416455032,1.3198647463146873,-0.03303174061024294 +2.1084514453622774,1.2367959678224516,-0.5301481875585281 +2.1084514453622774,1.2686673689780963,0.04467709084819471 +2.1084514453622774,0.9681478978380842,-0.5879929423919381 +2.1084514453622774,1.2092732850498649,-0.4344797781120481 +2.1084514453622774,0.8542522042259242,-0.46526775298794665 +2.1084514453622774,0.9023082908361376,0.19495616535406002 +2.1084514453622774,1.0465891071109736,-0.4344946662512067 +2.1084514453622774,1.2129391401928735,-0.0005698373298507198 +2.1506204742695227,0.18345095971770797,0.28993518304471133 +2.1506204742695227,0.9588853719974355,-0.6109805605964866 +2.1506204742695227,0.6061369542348305,-0.7645007504415494 +2.1506204742695227,1.3115139064110313,-0.49748304758441314 +2.1506204742695227,0.8651815461170556,-0.7043779727604058 +2.1506204742695227,0.9483913527190135,-0.7499404236769651 +2.1506204742695227,1.2210582047618808,-0.11575539954035852 +2.1506204742695227,0.9773928063440995,-0.5949261852942831 +2.1927895031767686,0.9470947137355321,-0.4014969397433811 +2.1927895031767686,0.8325581710233911,-0.26686635797367353 +2.1927895031767686,1.303625464060079,-0.22636137430995706 +2.1927895031767686,0.18647803221546166,-0.2528092028944956 +2.1927895031767686,0.7355952999910463,-0.2705757743460431 +2.1927895031767686,1.2318499524560238,-0.26626967864674833 +2.1927895031767686,1.1383960309410253,-0.531193262107997 +2.1927895031767686,0.9175892531255405,-1.0000247820549972 +2.234958532084014,0.8075663630628707,-0.5880575191352073 +2.234958532084014,0.9584875548332207,-0.30100251178285764 +2.234958532084014,0.7237473370832723,-0.793050602462625 +2.234958532084014,0.8728990563618847,-0.9642775182973837 +2.234958532084014,0.6929400551930088,0.22296814268426657 +2.234958532084014,0.10338612851491524,-0.314767501716278 +2.234958532084014,0.9737274398904382,-0.7705923066708563 +2.234958532084014,0.6322286618844504,-0.7345295098232519 +2.2771275609912593,0.3421866265184835,-0.24858908383210032 +2.2771275609912593,0.6033465950965782,-0.2496888540729989 +2.2771275609912593,0.6796169309894861,-0.9564129955692195 +2.2771275609912593,0.3017578582107596,-0.27544422579016803 +2.2771275609912593,0.0817065178133265,0.2739913223369397 +2.2771275609912593,0.783447520064024,-0.6488203886874244 +2.2771275609912593,0.5875364319592529,-0.6731238164624411 +2.2771275609912593,0.7551200746450882,-0.7062289147581652 +2.319296589898505,0.7230737119185184,-0.9870525059660248 +2.319296589898505,0.5854287490092518,-0.6057466219448823 +2.319296589898505,0.6311073617904891,-0.5270626894093198 +2.319296589898505,0.53965023671832,-0.5640303381812772 +2.319296589898505,0.5930311988828167,-1.0888864501965922 +2.319296589898505,0.5417464351643171,-0.7974552855716013 +2.319296589898505,0.6912561765622647,-0.9404640796734034 +2.319296589898505,0.859198306514487,-0.8514364868094583 +2.3614656188057506,-0.1787677653521561,-0.038281583405112785 +2.3614656188057506,0.2010983763938905,-0.4336303053285816 +2.3614656188057506,0.16199030413785465,-0.6653744940172666 +2.3614656188057506,0.23880474453478429,-0.6175566619411004 +2.3614656188057506,0.39463999330653204,-0.311926497795152 +2.3614656188057506,0.1515877785456633,-0.22888095695832622 +2.3614656188057506,0.8091479920486533,0.02249281605708886 +2.3614656188057506,0.8237115113336836,0.2810353528841024 +2.403634647712996,0.5883237657033408,-0.42302223829225716 +2.403634647712996,0.4716957788117933,-0.9429052176865585 +2.403634647712996,0.7119991527993904,-0.5375517558110874 +2.403634647712996,0.868609336642267,-0.17377021419753824 +2.403634647712996,0.6420068345784979,0.08961093090478145 +2.403634647712996,0.1451877258454714,-0.70023628698291 +2.403634647712996,0.7667053768214553,-0.6910879458636022 +2.403634647712996,0.2869152268074904,-0.6698347866390546 +2.445803676620242,0.1738975949271232,-0.3155185521526248 +2.445803676620242,0.6291537740042397,-0.4112754081359168 +2.445803676620242,0.4541993435270431,-0.9601292132152831 +2.445803676620242,0.4250917182207446,-0.29451540553647604 +2.445803676620242,0.45901473939962173,0.034223033362387634 +2.445803676620242,0.26443692637206895,-0.5049900855970368 +2.445803676620242,0.5045667826875104,0.3261728800031112 +2.445803676620242,0.6052656684637829,-0.555388505041117 +2.487972705527487,0.5545393576779916,-0.15413147332275068 +2.487972705527487,0.4666929574652151,-0.31181891331269396 +2.487972705527487,0.7008618319251796,-0.441759615030494 +2.487972705527487,0.011739747528458688,-0.40259867193569565 +2.487972705527487,0.11532757417622624,-0.0010295126182683356 +2.487972705527487,0.08083695851111056,-0.6861426420935978 +2.487972705527487,0.23322196746091828,-0.6468576769153251 +2.487972705527487,0.19873847265288613,-0.23984948209220958 +2.530141734434733,0.06858098687166592,-0.9561975785090109 +2.530141734434733,-0.03984997811509722,-0.26755376796084174 +2.530141734434733,0.44195469932353354,-0.005581133769246849 +2.530141734434733,0.43887393212473985,-0.5622230822395049 +2.530141734434733,0.5821559225038898,0.04824609537174196 +2.530141734434733,0.4182337717547692,-0.2777054392787581 +2.530141734434733,0.545900702151348,-0.7292989054533363 +2.530141734434733,0.3568159138878034,-0.23273887257189807 +2.5723107633419784,-0.4716634664577355,-0.46159869001480625 +2.5723107633419784,0.14143920233533927,-0.7153141514995508 +2.5723107633419784,-0.023071728129256786,-0.6104824507000518 +2.5723107633419784,-0.5848925957603422,-0.0941762180987944 +2.5723107633419784,0.3384653950364827,-0.44658011745572995 +2.5723107633419784,0.24326763037563992,-0.46391253724084797 +2.5723107633419784,-0.09758553394805183,0.5364400886188538 +2.5723107633419784,0.05082680566761898,-0.8450492413228614 +2.6144797922492238,-0.10024867264153345,-0.38393374097866706 +2.6144797922492238,-0.24661169296525248,-0.580187552221745 +2.6144797922492238,-0.21025835721023328,-0.46334419396375914 +2.6144797922492238,-0.15095757010248517,-0.38866372216810663 +2.6144797922492238,-0.3978563554960372,-0.4574060415305712 +2.6144797922492238,-0.28002248328807616,-0.6178479130375301 +2.6144797922492238,-0.2564633882942169,-0.4848084482945951 +2.6144797922492238,-0.7487923758462467,0.1454102971757888 +2.6566488211564696,-1.0848377893589436,-0.156652941644279 +2.6566488211564696,-0.0991972683554499,0.08323402024874527 +2.6566488211564696,-0.4647935786033325,-0.15308860136376512 +2.6566488211564696,-0.5723335032933761,-0.7048436419766189 +2.6566488211564696,-0.2665983063806457,-0.6719943723265078 +2.6566488211564696,0.08200837516664294,-0.31320646730111024 +2.6566488211564696,0.03736533922875504,-0.20747274942193206 +2.6566488211564696,0.08734894596207132,0.25385852576025225 +2.698817850063715,-0.7397732463612319,-0.2696539396176445 +2.698817850063715,-0.046561421458088836,-0.09159731097057389 +2.698817850063715,-0.39020179420211576,0.1431591248867896 +2.698817850063715,-0.791383066422221,0.31239210835328435 +2.698817850063715,-0.5951422077663786,-0.3371638716359048 +2.698817850063715,-0.4714201852987132,-0.5432899218160792 +2.698817850063715,-0.15590727538500765,0.006036201419617138 +2.698817850063715,-0.4694162785727637,-0.22288740433405674 +2.7409868789709604,-0.1947421397944688,-0.042034020918264026 +2.7409868789709604,-1.0991902930235677,-0.32023939960496595 +2.7409868789709604,-0.04451276196117282,-0.35710557222095685 +2.7409868789709604,-0.31049026701856036,-0.510525874763599 +2.7409868789709604,-0.4127246039624357,0.013364258655023553 +2.7409868789709604,-0.5871898839796639,0.13469299227359866 +2.7409868789709604,-0.5256922953751373,-0.5799088145528544 +2.7409868789709604,-0.19730629049468815,-0.5745293614889377 +2.783155907878206,-0.7970926428779206,-0.11767154959077031 +2.783155907878206,-0.460049361571766,-0.46904639819496774 +2.783155907878206,-1.0126208481838395,-0.12699803265144505 +2.783155907878206,-0.804941373077263,0.044166460814902386 +2.783155907878206,-0.6243590101716048,-0.5600218458353355 +2.783155907878206,-0.7434286719076664,-0.13471178749217694 +2.783155907878206,-0.49680498864914,-0.5468160727037095 +2.783155907878206,-0.9063577699421939,0.38683952256788046 +2.8253249367854516,-0.7400551834721234,-0.3021026464315626 +2.8253249367854516,-0.4405403267004969,-0.28306727413253696 +2.8253249367854516,-0.808329576369124,0.02425153217114695 +2.8253249367854516,-0.5183621530906133,0.0018743135179380976 +2.8253249367854516,-1.0248922454630458,0.3714998855272136 +2.8253249367854516,-0.6934193823910264,0.017582708417235304 +2.8253249367854516,-0.23651912920325935,-0.03646443138012456 +2.8253249367854516,-0.6880688904505279,-0.15721921659076027 +2.867493965692697,-1.207875862913672,0.5137626701220874 +2.867493965692697,-0.9809408875473182,-0.2297985984789993 +2.867493965692697,-1.269108568347367,-0.19042160373544015 +2.867493965692697,-0.9796147768217977,-0.018774554526375442 +2.867493965692697,-1.4557740605854712,0.2345038587671746 +2.867493965692697,-1.292723896833159,-0.05833413407875565 +2.867493965692697,-1.217211316003353,-0.2741738915323303 +2.867493965692697,-0.4620482988771026,0.010089410327576154 +2.909662994599943,-1.1236967889596792,0.1544719151668757 +2.909662994599943,-0.6551751954971052,0.31038441699977765 +2.909662994599943,-1.7012219568526303,0.7385834442841284 +2.909662994599943,-1.4113405725454113,0.2815820566531518 +2.909662994599943,-1.1863278898668923,-0.07947624713341367 +2.909662994599943,-0.7093936360880638,-0.03538082028336714 +2.909662994599943,-0.8143674559921082,-0.27853346572503235 +2.909662994599943,-1.4968669784400108,0.041467600910517766 +2.951832023507188,-0.8263770103650967,0.05561315338194711 +2.951832023507188,-1.4376888966753016,0.1763966840961793 +2.951832023507188,-0.47795351718718443,0.36260930721341883 +2.951832023507188,-1.2443288311670493,-0.032913234871855435 +2.951832023507188,-1.2447522040988144,0.01252491898899305 +2.951832023507188,-0.6670023909715697,0.3032789691665048 +2.951832023507188,-0.6231890192703808,-0.16290353697888812 +2.951832023507188,-0.540951560488343,-0.13360107382236402 +2.994001052414434,-1.2752443903359887,0.28872909424604315 +2.994001052414434,-1.1823849258639907,0.35980259647844476 +2.994001052414434,-1.2231390552687347,-0.1420232145949724 +2.994001052414434,-0.8121388330181393,0.3335669941336706 +2.994001052414434,-0.730020091679946,0.4355335343088183 +2.994001052414434,-0.886608409788008,0.21625331686644694 +2.994001052414434,-1.2728098630434017,0.22538980614229115 +2.994001052414434,-1.2573939263360532,0.40002685197925575 +3.0361700813216794,-0.835625345491763,0.21061849098804575 +3.0361700813216794,-0.7121823165413166,0.1251094543492749 +3.0361700813216794,-0.9943516489060675,0.057201198782502405 +3.0361700813216794,-0.8417995427136837,1.162004852915396 +3.0361700813216794,-0.8963820170529736,0.3326822396017605 +3.0361700813216794,-2.3285487787034005,0.6083510891643997 +3.0361700813216794,-0.6222389335542502,0.3682963021433308 +3.0361700813216794,-0.9905673089809046,0.3732086931671215 +3.078339110228925,-0.7952543161852337,0.36829080849816465 +3.078339110228925,-1.1005148473183872,0.23616241043280162 +3.078339110228925,-0.7952426127961343,0.6899537632069247 +3.078339110228925,-0.8430925668355911,0.16016342066823758 +3.078339110228925,-1.04571286513997,0.10469689520461545 +3.078339110228925,-1.187575453039642,0.9154900562681235 +3.078339110228925,-1.0202790467542755,0.538814347378143 +3.078339110228925,-0.7647602438492318,0.44531714336388195 +3.1205081391361706,-1.0004015112696558,0.5437394237228345 +3.1205081391361706,-1.028191166912036,0.07804231637009582 +3.1205081391361706,-1.179156861008348,0.20016844296656414 +3.1205081391361706,-1.0531802266754087,-0.043729050794248915 +3.1205081391361706,-0.47175162338150667,1.296613426325106 +3.1205081391361706,-0.5788004538198477,0.9292931813352404 +3.1205081391361706,-0.9674053744207556,0.022079549329900257 +3.1205081391361706,-1.7442803974470689,0.43179923360825184 +3.162677168043416,-1.0266107258434323,0.18771512490162184 +3.162677168043416,-1.5195815886887352,0.575721281508501 +3.162677168043416,-0.9516503499779203,0.9091044375183959 +3.162677168043416,-1.1836689675034415,0.5574932534966222 +3.162677168043416,-1.0385608827348092,0.8841739247758552 +3.162677168043416,-0.9969921761527675,0.22695102372502127 +3.162677168043416,-1.1569833231999442,0.15984475151036576 +3.162677168043416,-1.2758547684805395,0.823778877870398 +3.2048461969506614,-1.2026887708962595,0.3699499498113412 +3.2048461969506614,-1.3111164591802962,0.42843665402225717 +3.2048461969506614,-0.838095266199973,0.42195123950217817 +3.2048461969506614,-0.9834064902274968,0.5406468532138372 +3.2048461969506614,-1.1356267045949409,0.8301202692896544 +3.2048461969506614,-1.0561784031450399,0.6033888357777044 +3.2048461969506614,-1.1530337277608265,0.7326487041104083 +3.2048461969506614,-1.2971874481987649,0.6552701037887154 +3.2470152258579073,-1.6595654150072232,0.6400583084449332 +3.2470152258579073,-0.8697238806332913,0.5942779403274336 +3.2470152258579073,-0.6282256083745028,0.7967038671113675 +3.2470152258579073,-0.8541926724217245,0.9895569619939683 +3.2470152258579073,-1.3723114529117462,0.9189800383806815 +3.2470152258579073,-0.8978551432787085,0.4496186930424092 +3.2470152258579073,-1.1014307276344908,0.33219478431555327 +3.2470152258579073,-0.8121233076901645,0.5723373068342925 +3.2891842547651526,-0.9468336536681252,1.195857644964092 +3.2891842547651526,-1.2209718962267182,0.8123564251461619 +3.2891842547651526,-1.0660914157089265,0.6934146575813579 +3.2891842547651526,-1.1004478098037418,0.4975407798178224 +3.2891842547651526,-0.8481923595868202,0.5831904186190093 +3.2891842547651526,-0.6265317436043233,0.88556393578477 +3.2891842547651526,-0.7166122720457561,1.191389436474497 +3.2891842547651526,-1.008449121636453,0.5539687333934973 +3.331353283672398,-0.8265872943076285,0.9678878915720199 +3.331353283672398,-1.0113688423733955,1.2847658803828867 +3.331353283672398,-1.1967002159867257,0.6881446736884527 +3.331353283672398,-0.8434098387663695,0.7129741880339239 +3.331353283672398,-0.7782893031784843,1.2394511536661796 +3.331353283672398,-1.0504280779154063,0.6817915858356018 +3.331353283672398,-0.9263203142761468,0.9032048262509076 +3.331353283672398,-1.2846286544835692,0.7424874755279554 +3.373522312579644,-1.0943787289943583,0.8305202934984434 +3.373522312579644,-0.5657853239363928,0.8084984236726738 +3.373522312579644,-1.3802800031556646,0.7947699452103957 +3.373522312579644,-1.4505067931731963,1.579306310711151 +3.373522312579644,-0.271140801825703,0.9853207672491027 +3.373522312579644,-0.8520895235651162,1.1419570555032998 +3.373522312579644,-1.3403743821569385,1.0728751712309685 +3.373522312579644,-1.8969822993224752,0.9708132627597603 +3.4156913414868892,-0.8566624251848236,0.7622603111875865 +3.4156913414868892,-1.7162599365023634,1.613371418785866 +3.4156913414868892,-0.7091722734084911,0.9809033034752722 +3.4156913414868892,-0.949106747335278,1.209806358319041 +3.4156913414868892,-0.5767116587812088,0.6959073578883846 +3.4156913414868892,-0.8190119335153508,0.614743064708023 +3.4156913414868892,-1.0731145703195846,1.921794927036485 +3.4156913414868892,-1.1051844486937152,0.8201534185431152 +3.4578603703941346,-0.6366015122410293,1.7946360987088592 +3.4578603703941346,-0.4401771775934364,1.098195718744415 +3.4578603703941346,-0.8003158287230562,1.2117459576779912 +3.4578603703941346,-0.22641630313932137,1.806451508767511 +3.4578603703941346,-1.2562295155633258,1.243344268608131 +3.4578603703941346,-0.9342853787990126,1.0281114224895633 +3.4578603703941346,-0.3213353630503335,1.1579971125264614 +3.4578603703941346,-0.7689902413827692,0.7544479327742699 +3.5000293993013805,-0.2806210973116131,0.9304493720600941 +3.5000293993013805,-0.7148456342443035,1.0059787459640277 +3.5000293993013805,-0.24209201796575247,0.9468610356380325 +3.5000293993013805,-0.516751549030824,0.8259979175301293 +3.5000293993013805,-0.9680482107702899,1.3092446437870224 +3.5000293993013805,-1.0148414368467773,1.0296854493212406 +3.5000293993013805,-0.20293917077655166,1.0526366482995835 +3.5000293993013805,-1.271814137437612,1.6562764589418875 +3.542198428208626,-0.7921398193991933,0.8090013799611583 +3.542198428208626,-0.7079803798287878,1.7197981049328714 +3.542198428208626,-0.6508093078076963,1.3022694851697312 +3.542198428208626,-0.31594168963225533,1.30292263851471 +3.542198428208626,-0.4025816900502776,0.8523687677505819 +3.542198428208626,-0.32396227322642573,1.3592894555329094 +3.542198428208626,-0.8964459293739694,1.065312545149037 +3.542198428208626,-0.20894851405931833,1.3987881606741732 +3.5843674571158717,-0.08013160053824903,1.492683300888168 +3.5843674571158717,-0.3760639309195465,1.2119288407056334 +3.5843674571158717,-0.29525011140783486,0.9401632495201298 +3.5843674571158717,-0.41828503234168435,0.9202701963371623 +3.5843674571158717,-0.4100444320233695,1.065453087025213 +3.5843674571158717,-0.34321674422858534,1.0417522269631596 +3.5843674571158717,-0.0580930945429215,1.1691393282415048 +3.5843674571158717,-0.01136330042455816,1.3225719616788876 +3.626536486023117,-0.2569389151373602,1.1012535514101405 +3.626536486023117,-1.2341544663520023,1.5274693740296292 +3.626536486023117,-0.9328257314708577,1.4407368540663714 +3.626536486023117,-0.34621571130531115,1.350743424582476 +3.626536486023117,-0.5302217341317828,1.4627853371571078 +3.626536486023117,-0.3105876330187066,1.1098345868243784 +3.626536486023117,-0.5759697851638347,1.8415758956028156 +3.626536486023117,-0.2302391258439095,0.9920219893901174 +3.6687055149303625,-0.5644545750324875,1.7487463723818881 +3.6687055149303625,-0.46482174734058934,1.7356171272335255 +3.6687055149303625,-0.23115099539519315,1.1147619236346165 +3.6687055149303625,0.1569664081497614,1.2719460739461617 +3.6687055149303625,-0.0668613157320965,1.0845487722056117 +3.6687055149303625,0.34299283650460566,2.1572833104264584 +3.6687055149303625,0.32189624191155364,1.2584064971705562 +3.6687055149303625,-0.17653139362642276,1.0359594506417018 +3.7108745438376083,-0.13434046151171225,1.1710108686661063 +3.7108745438376083,0.6362880436463673,1.6045200395447647 +3.7108745438376083,0.41483100964310093,2.3608395645869495 +3.7108745438376083,-0.07733964448749436,1.576037916872675 +3.7108745438376083,0.44694431419651254,1.2918719523329083 +3.7108745438376083,-0.11130292298410116,1.8221518163297348 +3.7108745438376083,-0.177315708507419,1.062007623243346 +3.7108745438376083,0.2074844958518011,1.349522003350659 +3.7530435727448537,0.2797807995621674,1.2834953804253297 +3.7530435727448537,-0.31093704744130274,1.626855512490176 +3.7530435727448537,0.29950963944755427,1.3353217987177821 +3.7530435727448537,0.2856034697341378,1.6655654439393588 +3.7530435727448537,0.21193827992267616,1.7661151825262502 +3.7530435727448537,-0.0025270465281037047,1.7020940224059253 +3.7530435727448537,0.21142738324680688,1.6940453624621377 +3.7530435727448537,0.12956835215097395,1.9360464582060548 +3.795212601652099,0.15630385890406495,1.341431184071611 +3.795212601652099,0.4250812644615186,1.718256212302224 +3.795212601652099,0.026090086229109855,1.334354205188595 +3.795212601652099,0.2779318983036166,1.7218031380965266 +3.795212601652099,0.08801857284716691,1.2580805156501051 +3.795212601652099,0.3035885721508792,1.0307257254371476 +3.795212601652099,0.06250415119878416,1.3091962695890387 +3.795212601652099,0.26885282302702396,1.490310037596959 +3.837381630559345,0.6655412698833232,1.4150376618711764 +3.837381630559345,0.8258179047203145,1.669176393016158 +3.837381630559345,0.11081169817628694,1.4543293134108617 +3.837381630559345,0.5317482723213649,1.015825991613373 +3.837381630559345,-0.1793145866175832,1.5809108792465967 +3.837381630559345,0.0544652209976253,1.2953373715951386 +3.837381630559345,0.3616939987700354,1.3897895781366487 +3.837381630559345,0.7017040324654712,1.6533276083315753 +3.8795506594665903,0.16968659222338595,1.4614000186696898 +3.8795506594665903,1.0132534805321898,1.8188667680472759 +3.8795506594665903,0.04478813355679512,1.3496295762226191 +3.8795506594665903,0.680754825368124,2.0772364529843252 +3.8795506594665903,0.6382884576590244,0.9923841348550456 +3.8795506594665903,-0.08214580314681719,1.3424910857110057 +3.8795506594665903,0.20133092134790898,1.642912323575553 +3.8795506594665903,0.8812272101785183,1.4046799246378907 +3.9217196883738357,0.3537653035121906,2.722471014331334 +3.9217196883738357,0.7640435291951564,1.3954555281228522 +3.9217196883738357,1.0871572366294928,1.40384500719833 +3.9217196883738357,0.14530263734354076,2.1503521748781176 +3.9217196883738357,0.5202539351312915,0.999778888752212 +3.9217196883738357,0.32407056987563376,1.1359331824304815 +3.9217196883738357,0.7998433438411279,1.5518311312601725 +3.9217196883738357,0.8793324867372583,1.5495051197356222 +3.9638887172810815,0.42655314814161355,1.3776928886595052 +3.9638887172810815,0.5762446175729993,1.62839414923519 +3.9638887172810815,-0.03652258273953446,1.7503090078455013 +3.9638887172810815,0.32141636551895597,1.3865961461104728 +3.9638887172810815,0.5003814220587544,1.1506339154185738 +3.9638887172810815,0.1979354422847679,1.8481342509660843 +3.9638887172810815,0.642259180319777,1.215820207041605 +3.9638887172810815,0.2804883673666957,1.2797753827468743 +4.006057746188327,0.7279186262648645,1.497104225281448 +4.006057746188327,1.0284747939258594,1.1614609547052035 +4.006057746188327,0.3222627600045518,1.4253279095645015 +4.006057746188327,0.9675288128043795,1.9972183897437494 +4.006057746188327,0.9232747122025227,1.4204627497680966 +4.006057746188327,0.5924235040121366,1.0355114748353684 +4.006057746188327,1.3335138469020646,1.7909086568596306 +4.006057746188327,0.7738595298378591,1.0468352860048915 +4.048226775095572,0.9388628582342389,1.1860784054636695 +4.048226775095572,1.0659028205850658,1.040506460002539 +4.048226775095572,1.202445634113711,1.9222001229284245 +4.048226775095572,1.1375525499978145,2.1754111740965354 +4.048226775095572,1.0304772111437113,1.3519001564353863 +4.048226775095572,0.2081510729111976,1.542989782616063 +4.048226775095572,0.9106238837102533,1.2930118414819594 +4.048226775095572,0.98384008850866,1.3463049033600418 +4.090395804002818,0.9844219990547046,1.3239156607356015 +4.090395804002818,1.007451820467291,1.0310217913250899 +4.090395804002818,1.1907880249284022,1.3082891426178285 +4.090395804002818,0.8812644307151061,1.1359625999090386 +4.090395804002818,0.7695933625241944,1.3921241256364374 +4.090395804002818,0.8532386926891148,1.364984568080089 +4.090395804002818,0.8270139071699676,0.9771576303342064 +4.090395804002818,0.9696181951665439,1.6662371157461555 +4.132564832910064,1.235725177481909,1.5095563180935034 +4.132564832910064,0.7676397907306154,2.137521832361993 +4.132564832910064,0.30576883026993995,1.2855430318858516 +4.132564832910064,0.555673666304657,1.553660351772289 +4.132564832910064,0.8832731565499954,1.0807913410415222 +4.132564832910064,0.49172744026155324,1.2413986668220847 +4.132564832910064,1.3250172864358443,1.3834463579709981 +4.132564832910064,0.6951165235732444,1.2254808757027158 +4.174733861817309,0.5968128253761302,1.266312068322537 +4.174733861817309,0.8062540676822084,1.2968262908101191 +4.174733861817309,1.1455614617776637,1.3260970001371244 +4.174733861817309,1.0779252200611722,2.096143875599597 +4.174733861817309,0.7137208749577725,1.6325228851628308 +4.174733861817309,0.6303053310571198,1.7015554113224596 +4.174733861817309,1.1142836831765017,1.1126595793309868 +4.174733861817309,1.026544731079298,1.108537145574135 +4.216902890724555,1.0914852906777188,0.9124530919385448 +4.216902890724555,0.9752777583082518,0.9419494967039912 +4.216902890724555,1.0830665802250365,1.36999685245297 +4.216902890724555,1.4032956334229911,1.1318008326158684 +4.216902890724555,0.8670892017514602,0.9623719132734739 +4.216902890724555,0.40601009069279137,1.4652598605566296 +4.216902890724555,1.4726399084543302,1.5701868238636494 +4.216902890724555,1.0023456663213746,1.3760749191047599 +4.2590719196318005,0.7898345211264431,0.8930900529520339 +4.2590719196318005,1.0639586944301587,1.879487282134095 +4.2590719196318005,0.9095752331412111,0.9512917986901069 +4.2590719196318005,0.527609250633978,1.4091408160989225 +4.2590719196318005,0.9185425027936727,1.621389720851384 +4.2590719196318005,0.6422660571627021,1.1544772555799 +4.2590719196318005,1.2172418582634874,1.3772591059528128 +4.2590719196318005,0.4737025568773692,1.1086841526254576 +4.3012409485390455,0.48016729723191026,1.197789883643555 +4.3012409485390455,0.6750740836990925,1.5845554673805111 +4.3012409485390455,-0.035461034977579686,1.8102945627686453 +4.3012409485390455,0.47649501208727163,1.1448368557294721 +4.3012409485390455,1.0851037748058368,1.3035470991982587 +4.3012409485390455,0.34376874585883355,1.2563388097577741 +4.3012409485390455,1.0314049809944477,1.3922354655817935 +4.3012409485390455,0.7086942284814227,1.2498474515931348 +4.343409977446291,0.7331500416447074,1.0041213292535036 +4.343409977446291,0.7542337715616423,0.7614886664469461 +4.343409977446291,0.07046547159106964,1.2324877139234678 +4.343409977446291,0.36145498420891764,1.4084659992106352 +4.343409977446291,0.9908460839048914,1.146765848928979 +4.343409977446291,0.7591136624043923,1.068838140790805 +4.343409977446291,0.35834771919443575,1.31471527644225 +4.343409977446291,0.5770249381068558,1.3596228886129311 +4.385579006353537,0.8383000035787562,0.6642085673745262 +4.385579006353537,0.948597115557799,1.0540854161760014 +4.385579006353537,0.33400991227341814,1.151716843741832 +4.385579006353537,0.3687658520509438,1.0686522194880423 +4.385579006353537,1.1103321531072794,1.4916325175244896 +4.385579006353537,0.318043233545792,0.9193230439918427 +4.385579006353537,0.4978669671752849,1.5655613979998955 +4.385579006353537,0.8768705266492282,0.8456388351533677 +4.427748035260782,0.6128938348712925,0.5259647869901546 +4.427748035260782,0.6686893337407539,0.7198270472112216 +4.427748035260782,0.19348299965339277,1.1924876623262255 +4.427748035260782,0.4743287626343774,1.1302229660842167 +4.427748035260782,0.7742415690925626,0.786500309058939 +4.427748035260782,0.9211375074416768,1.0884584761826255 +4.427748035260782,0.37702284819874665,0.8468823172456748 +4.427748035260782,1.4345689705266782,1.3192480180487287 +4.469917064168028,0.6736845759272552,0.5972642558436851 +4.469917064168028,1.284719002332865,1.9201569288761884 +4.469917064168028,0.7704965403421368,0.5258770160149789 +4.469917064168028,0.8131436400113348,0.7861433580144319 +4.469917064168028,1.4061765624369733,1.6934093258917615 +4.469917064168028,0.2998775618712972,0.5251476268949744 +4.469917064168028,0.8736826854594222,0.9484210420852871 +4.469917064168028,0.4028606139286256,0.5103321496267135 +4.512086093075274,0.008996312066402612,1.0614811365501022 +4.512086093075274,0.02495853416155147,0.7661390483841226 +4.512086093075274,0.5140548911221388,1.023302107843135 +4.512086093075274,0.5294147078644061,1.6280649252746675 +4.512086093075274,-0.10841715313033495,0.8127661804336497 +4.512086093075274,0.5697327308800304,1.1271024300426566 +4.512086093075274,0.49936271434977186,0.9222376997900537 +4.512086093075274,0.0795461393961826,0.8607099692656837 +4.554255121982519,0.7430651862495696,1.4386801458301481 +4.554255121982519,0.37612082219098053,1.0236362223895037 +4.554255121982519,0.31401257453498266,0.7887029672222687 +4.554255121982519,0.5017232649782725,0.7270000512531885 +4.554255121982519,0.13757684789643848,0.8432671275631773 +4.554255121982519,0.7045147552906283,1.1764594421762866 +4.554255121982519,0.5492714684602331,1.5423238481288 +4.554255121982519,0.2162633041947959,1.3705835836544127 +4.5964241508897645,0.8194142251482666,1.262280245187724 +4.5964241508897645,0.10175886202659579,1.108945944209598 +4.5964241508897645,0.17230691299582002,1.2124433705160167 +4.5964241508897645,-0.6153565873829869,0.8389233878589503 +4.5964241508897645,0.15769195575112102,0.8615694723371521 +4.5964241508897645,0.3853473461498128,1.2076828328480214 +4.5964241508897645,0.5411653029253408,0.7996304460028418 +4.5964241508897645,-0.32062637911660824,1.1366261556174417 +4.63859317979701,0.48270446354293906,0.7770419849425776 +4.63859317979701,0.26488714638060606,1.0368552708545562 +4.63859317979701,0.3580713228737214,0.6262467306719927 +4.63859317979701,-0.6181783163492395,0.8784837643356446 +4.63859317979701,0.09977484962107239,1.051818632365039 +4.63859317979701,0.34695022460397246,0.8211954979136387 +4.63859317979701,-0.14202285419680047,0.5668062216201712 +4.63859317979701,-0.011038400514451957,1.208358244169331 +4.680762208704255,-0.1722574659507578,0.5629291974960174 +4.680762208704255,-0.2834956759514685,0.4017569390747657 +4.680762208704255,-0.4848888488400968,0.8539222776334726 +4.680762208704255,0.31445684310109473,0.8072498936943534 +4.680762208704255,-0.025979128707375856,0.43471489316092543 +4.680762208704255,-0.6839237445521688,0.9516731946612049 +4.680762208704255,0.20593575335526582,0.9621721403309905 +4.680762208704255,-0.48074161584756475,0.7352422210315804 +4.722931237611501,0.08098936761158837,0.7240345126857353 +4.722931237611501,-0.03990099393237522,0.2908243477112284 +4.722931237611501,-0.06407221174791258,0.46505707279567865 +4.722931237611501,-0.3424077597428956,0.8638930182399425 +4.722931237611501,-0.02675345212652116,0.7134981583824633 +4.722931237611501,-0.1841839496802107,0.22460185913150166 +4.722931237611501,-0.072529878272279,0.6413230520999732 +4.722931237611501,-0.35065271905016604,0.3303533803402662 +4.765100266518747,0.20499237833057093,0.9021865596828846 +4.765100266518747,-0.12028487386138226,0.2967085650036019 +4.765100266518747,-0.05367711550665005,-0.10658410870683402 +4.765100266518747,0.11911213577347807,1.0328668196224389 +4.765100266518747,-0.4765734447532387,0.20193194439449977 +4.765100266518747,-0.5560980875573946,0.7061095020051633 +4.765100266518747,-0.3027554785260739,0.7681232629385965 +4.765100266518747,-0.17716633860165645,-0.03160243982539912 +4.807269295425992,-0.2975936548675384,0.42659403874004387 +4.807269295425992,-0.6987092739273684,0.21959650445075427 +4.807269295425992,-0.6192903321119776,0.34812792317332 +4.807269295425992,-0.7961715409853591,0.09548530671277786 +4.807269295425992,-0.30035409854226247,-0.17001968566621695 +4.807269295425992,-0.3792495502365066,0.4244270790259991 +4.807269295425992,-0.27854306343074176,0.10810170428046664 +4.807269295425992,-0.16859243999964618,0.6216469251759806 +4.849438324333238,-0.10748265002924717,0.5756595976552317 +4.849438324333238,-0.6339771971472271,-0.04640618339591224 +4.849438324333238,-0.3075207012488915,-0.08987687248072601 +4.849438324333238,-0.6705337939692808,-0.03034836165062471 +4.849438324333238,-0.1069668657534234,0.18123435633287138 +4.849438324333238,-0.32761533536005993,0.14886724254716588 +4.849438324333238,-0.6729872586574607,0.12931279058698647 +4.849438324333238,-0.6336906611261626,0.2847376561273404 +4.891607353240484,-0.8626880645917561,0.10023015589957746 +4.891607353240484,-0.6680720200628841,0.26728816668479277 +4.891607353240484,-0.527311749951934,-0.1909748579202396 +4.891607353240484,-0.2826789657112758,0.5157821737021993 +4.891607353240484,-0.9911598681435865,0.353627537130532 +4.891607353240484,-0.010737104281883125,0.32677081339446007 +4.891607353240484,-0.4041489595973027,0.20885000671774873 +4.891607353240484,-0.3540705366447211,-0.16602928761483066 +4.933776382147729,-0.5934937784118228,-0.10002307728657472 +4.933776382147729,-0.3812746411800395,0.058086956935165746 +4.933776382147729,-0.794049841147971,0.029716090818825702 +4.933776382147729,-1.1047274272705625,-0.06721746951306673 +4.933776382147729,-0.8824943952633091,-0.33528955336952715 +4.933776382147729,-0.44634677025559655,0.4961729904183132 +4.933776382147729,-0.7307590878772524,-0.17064085278243823 +4.933776382147729,-1.1224727281196734,0.04149663391295949 +4.975945411054974,-1.189742926664661,-0.3178291386323002 +4.975945411054974,-0.5230959460758562,-0.26137077186460544 +4.975945411054974,-0.9351123106354611,-0.38615122048418826 +4.975945411054974,-1.2097527592068928,-0.32455943928846187 +4.975945411054974,-0.806533137592423,0.24081881391574023 +4.975945411054974,-0.5781809624296305,0.2642615691094049 +4.975945411054974,-0.9950753419738794,-0.2857791985846092 +4.975945411054974,-1.0891075867429951,0.4184826064092937 +5.01811443996222,-1.096055324227284,-0.47517713921117605 +5.01811443996222,-1.3265724902850562,0.1044633514412967 +5.01811443996222,-1.1956702236703642,-0.36523552003920634 +5.01811443996222,-0.3582195138878848,-0.15648004919264763 +5.01811443996222,-0.8418831647447321,-0.4129906470615668 +5.01811443996222,-0.8753823579411955,-0.024520870184088994 +5.01811443996222,-1.7119187854094577,0.08526894000512597 +5.01811443996222,-0.6549509127240911,-0.21121550549577617 +5.060283468869466,-1.196437093310981,-0.4775100450609137 +5.060283468869466,-1.0082294095529303,-0.2762610901111894 +5.060283468869466,-0.8180146042968254,0.35599647514909416 +5.060283468869466,-0.17744136548655853,0.41213617434137717 +5.060283468869466,-1.1720866448920435,0.20991276070261689 +5.060283468869466,-0.8792762363143087,0.15169036174110384 +5.060283468869466,-0.8622431873425329,-0.3105596515865703 +5.060283468869466,-0.9176703668088431,-0.10362746304405324 +5.102452497776711,-1.3307134393534412,-0.36899023876371695 +5.102452497776711,-0.8300839952486572,-0.37736560371426353 +5.102452497776711,-1.0133464470893752,-0.4815656252876388 +5.102452497776711,-0.9264300004848328,-0.24594865933562376 +5.102452497776711,-0.5867154787116978,-0.10337166392255748 +5.102452497776711,-1.0981448372043132,-0.44962299300272 +5.102452497776711,-1.207305118133709,0.02731371141394212 +5.102452497776711,-1.429593075140291,-0.392740742006426 +5.144621526683957,-0.933780537157441,0.41681260113081053 +5.144621526683957,-1.0519682402128345,-0.6494831949352622 +5.144621526683957,-1.0317112239822377,-0.14380953239731475 +5.144621526683957,-0.5794472678204916,0.44249333937242363 +5.144621526683957,-0.5716752994649217,-0.33212842815040394 +5.144621526683957,-1.3641051078132793,-0.1921657352064282 +5.144621526683957,-0.48863674617208464,-0.09708798116975381 +5.144621526683957,-0.9637776760448898,-0.49618859698442874 +5.186790555591203,-1.0056367747767725,-0.3962942531721603 +5.186790555591203,-0.8173892797856968,-0.371424023053979 +5.186790555591203,-1.142748658548821,-0.7549934126221404 +5.186790555591203,-1.2330082646537892,-0.32459533364986304 +5.186790555591203,-0.8473045567434663,0.10699956912473907 +5.186790555591203,-1.3435607389098467,0.3823338887166111 +5.186790555591203,-1.3296348386991967,-0.16557038598526408 +5.186790555591203,-1.2238627889213425,0.08199050237048866 +5.2289595844984476,-0.9830235956612522,-0.3745346929575543 +5.2289595844984476,-1.3683145725342838,-0.03212594997197438 +5.2289595844984476,-0.9011769765943471,-0.6107072929265592 +5.2289595844984476,-1.1420726494427516,0.32991665041392415 +5.2289595844984476,-1.3108483687010157,-0.4332866923218548 +5.2289595844984476,-1.2086823494554224,-0.48119340020506707 +5.2289595844984476,-0.7791883453908164,0.016194268716116955 +5.2289595844984476,-1.5956154357328416,-0.3491149408852219 +5.271128613405693,-1.2342602093304385,-0.6150584519865431 +5.271128613405693,-1.4643565158307346,-0.341798451044502 +5.271128613405693,-0.977611634820848,-0.7106619684484118 +5.271128613405693,-0.6531245360156449,-0.11616847956841403 +5.271128613405693,-1.3108922929544438,-0.0448045280367082 +5.271128613405693,-1.1168302278602156,-0.3321132477456904 +5.271128613405693,-1.1634140558400143,-0.3975258712709824 +5.271128613405693,-1.1140818360619837,-0.1352392232552233 +5.313297642312939,-1.2130986408089721,0.029267886496881945 +5.313297642312939,-0.7427571779205553,-0.3613284596760119 +5.313297642312939,-0.4175914804152946,-0.021382020845953975 +5.313297642312939,-1.2390304222917283,-0.42203509123612093 +5.313297642312939,-0.6326273568602673,0.17694665849186764 +5.313297642312939,-0.978258618984259,-0.13735755151571016 +5.313297642312939,-1.0826717756658377,-0.12127862832189817 +5.313297642312939,-1.3597743141443421,-0.47490042389734655 +5.355466671220184,-0.9012460640998243,-0.2001143902489404 +5.355466671220184,-1.1129310727589425,-0.553174382148035 +5.355466671220184,-1.9530026467279757,-0.5067839625466986 +5.355466671220184,-1.0557192435308256,-0.33134274543388265 +5.355466671220184,-1.6991516775502657,-0.22728154677885348 +5.355466671220184,-1.7166155288635796,-0.13707348649022466 +5.355466671220184,-1.3164431189629087,-0.5004016752666615 +5.355466671220184,-1.066041549241477,-0.4587642406100394 +5.39763570012743,-1.114910948542486,-0.2900280750503281 +5.39763570012743,-1.1925203471094692,-0.05782054507829426 +5.39763570012743,-0.6291678527396442,-0.3807492576387137 +5.39763570012743,-1.340717588846382,-0.19985698706925914 +5.39763570012743,-0.8948260526650975,-0.5594628989717793 +5.39763570012743,-0.6924730303498552,-0.4389806175650971 +5.39763570012743,-0.7445580761106638,-0.8220747538132009 +5.39763570012743,-0.7435262691213494,-0.4660347523484488 +5.439804729034676,-1.0872746701963556,-0.7616420495487144 +5.439804729034676,-1.0774889948373725,-0.04947294811787839 +5.439804729034676,-0.7689652646139898,-0.42519855234338766 +5.439804729034676,-1.986717198358686,-0.3587100109736029 +5.439804729034676,-1.1023142027040518,-0.9617683158756691 +5.439804729034676,-1.0689743240460445,-0.6292128564684432 +5.439804729034676,-1.171653816742199,-0.5963514275201638 +5.439804729034676,-1.4171672993227034,-0.6641974853085768 +5.481973757941921,-1.3526428919926667,-0.4523378618083287 +5.481973757941921,-1.0906763342906913,-0.9515963595088701 +5.481973757941921,-1.1279131429773113,-0.6668692645311955 +5.481973757941921,-0.3080072606059582,-0.0176065021739944 +5.481973757941921,-1.1833291400764916,-0.4276918535215849 +5.481973757941921,-0.629002960906204,-0.8699332144819181 +5.481973757941921,-0.30075110235966357,-0.18843865449416808 +5.481973757941921,-0.5278122363718055,-0.5992747001945308 +5.524142786849167,-0.5303925725864207,-0.443383983017146 +5.524142786849167,-0.5491079516145768,-0.5709176852117228 +5.524142786849167,-0.4383125012216816,-0.4935880570457142 +5.524142786849167,-1.3013089340810007,-0.4965716711706831 +5.524142786849167,-0.6575841494291083,-0.6252249159911747 +5.524142786849167,-1.3186428510844974,-0.004732377107574681 +5.524142786849167,-1.4377234225736726,-0.08934296425774169 +5.524142786849167,-0.1623759464212055,0.02555819655962077 +5.566311815756412,-1.1523702906271684,-0.3133566648587125 +5.566311815756412,-0.5517849601705699,-0.4762113798852494 +5.566311815756412,-0.7713125973250577,-0.5528196312594128 +5.566311815756412,-1.034266747776132,-0.5382603080132531 +5.566311815756412,-0.942628545652316,-0.043865652055883775 +5.566311815756412,-1.019263291474498,-0.22721470807650745 +5.566311815756412,-0.3200407986634797,-0.46675611689724605 +5.566311815756412,-0.6351331248473557,-0.45425375515588373 +5.608480844663657,-0.7989882665559018,-0.035949220649809877 +5.608480844663657,-0.6888651391725031,-0.2611882372741856 +5.608480844663657,-0.6106046216284131,-0.3263661167682077 +5.608480844663657,-0.5733962381728305,-0.65173196364452 +5.608480844663657,-0.4203437051327198,-0.6708568127182009 +5.608480844663657,-0.8901579977263993,-0.7711894882743564 +5.608480844663657,-0.5052024786152922,-0.8392586250217804 +5.608480844663657,-0.4415547827955005,-1.0227984106429824 +5.650649873570903,-0.26873913555975015,-0.04356739936441778 +5.650649873570903,-0.3946289104682459,-0.8354574912285619 +5.650649873570903,-0.5407110108580695,-0.3902487979307073 +5.650649873570903,-0.31908354413711126,-0.5317669224865996 +5.650649873570903,-0.7307032775292527,-0.5291113386997305 +5.650649873570903,0.08803041679326928,-0.2405161335035927 +5.650649873570903,-0.22570908218579444,-0.4189394193235041 +5.650649873570903,0.060118270477034774,-0.3826063633981993 +5.692818902478149,-0.2929019643626937,-0.5111829043862199 +5.692818902478149,-0.5263539855505537,-0.36184396825418974 +5.692818902478149,-0.7076731828684084,-0.23005222733447617 +5.692818902478149,-0.37836437181546434,-0.668289469404055 +5.692818902478149,0.09029788019401563,-0.29998449552291906 +5.692818902478149,0.0036082425980424326,0.10413685479849144 +5.692818902478149,-0.25425215650388344,-0.21799352226439106 +5.692818902478149,-0.2600190285071539,-0.7043148249066041 +5.734987931385394,0.1335414214017524,-0.6396248998262535 +5.734987931385394,-0.11000984545185913,-0.43894213975499496 +5.734987931385394,0.20038545887114118,-0.5500856251247643 +5.734987931385394,0.1426783489867097,-0.053842429868131814 +5.734987931385394,0.06501091002084408,-0.03884341095079635 +5.734987931385394,0.0974792692299355,0.3912470788718946 +5.734987931385394,0.056832812545744404,-0.3778753054318712 +5.734987931385394,0.24257864747421942,-0.3851748313130776 +5.77715696029264,-0.006635545491188728,-0.3156212483185964 +5.77715696029264,0.07308286735133196,-0.2275350793267289 +5.77715696029264,0.1220425272736223,-0.4067387925413668 +5.77715696029264,-0.35599080479848266,0.22744955530898592 +5.77715696029264,0.1575454426499573,-0.10508858196391957 +5.77715696029264,0.3144274370751373,-0.4068337033954599 +5.77715696029264,-0.5526664246556156,-0.33577078823360995 +5.77715696029264,-0.5516443349673577,0.1363060045162019 +5.819325989199886,-0.01509056891806701,0.423845070391634 +5.819325989199886,-0.2019468852820526,0.44875466850074364 +5.819325989199886,0.0338823224618196,-0.46203620582826577 +5.819325989199886,-0.0498334081885462,-0.620791817425239 +5.819325989199886,0.49534796281666915,-0.37483682350101 +5.819325989199886,-0.39623035470672974,-0.008602134992530375 +5.819325989199886,-0.06969389698551282,-0.5087641470721043 +5.819325989199886,0.5551791745977849,0.3746247717723511 +5.861495018107131,0.38026435425559285,0.5127600114577548 +5.861495018107131,-0.27899170760373126,-0.3913186258782278 +5.861495018107131,0.2598209831763721,-0.7074045046075338 +5.861495018107131,-0.397147135930108,-0.09520259436536782 +5.861495018107131,-0.11904568808009125,-0.621832782847757 +5.861495018107131,-0.09485184167437749,-0.26657306264583114 +5.861495018107131,0.42836137643639005,0.09635535209899726 +5.861495018107131,-0.028316876535616986,-0.2788825521660351 +5.903664047014376,0.3941487839586848,-0.6506135511158648 +5.903664047014376,0.19805236345282293,-0.6258031494364228 +5.903664047014376,0.7831877132050269,-0.6544842516874558 +5.903664047014376,0.613425623666172,-0.01587083825845559 +5.903664047014376,-0.005693347264497772,-0.030673475681224804 +5.903664047014376,0.687950588291715,-0.2597085067310745 +5.903664047014376,0.4742896921557087,-0.3805158337698819 +5.903664047014376,0.46867017646760345,0.008589983146647495 +5.945833075921622,0.26125182673688624,-0.20177751603340138 +5.945833075921622,-0.37343246161413024,0.3149366967272723 +5.945833075921622,0.2856460534573095,-0.28885752734644354 +5.945833075921622,0.370116639735158,0.6159156861204814 +5.945833075921622,0.20111493213006149,-0.3080440932678509 +5.945833075921622,0.6705914435115528,-0.46613764331284047 +5.945833075921622,0.5579220972363199,0.12958930642361832 +5.945833075921622,0.0803484400415217,-0.2693241061153794 +5.988002104828868,0.6266658267682768,0.6708454676734009 +5.988002104828868,0.3905984692536315,-0.057706291162354706 +5.988002104828868,0.6081273658184138,0.4000068818246648 +5.988002104828868,0.011669813358184178,0.1574644679812881 +5.988002104828868,0.8615800814391776,-3.102504180718668e-05 +5.988002104828868,0.4306902295880707,-0.3949974379539384 +5.988002104828868,0.35293738847619627,-0.24126579338216986 +5.988002104828868,0.6713926682972642,0.6563144356915424 +6.030171133736113,0.620862393680245,-0.06590409178388901 +6.030171133736113,0.5625930010777426,0.38541805940561336 +6.030171133736113,1.0436187269750903,0.20044008499787014 +6.030171133736113,0.759279639966052,-0.5580972193886363 +6.030171133736113,0.4958765000342532,0.11193783786282085 +6.030171133736113,0.7237012114913696,-0.04887111719069004 +6.030171133736113,0.17836464829375542,0.3566313921821662 +6.030171133736113,0.5329351152738926,0.20904710001177107 +6.072340162643359,0.5352015302679587,0.5426872470059809 +6.072340162643359,0.660122510837718,0.1343663367280084 +6.072340162643359,0.39396919105497535,-0.2973569258394978 +6.072340162643359,0.5940451598333587,0.810185477329008 +6.072340162643359,1.0266887048986817,0.14265810184031086 +6.072340162643359,1.0652613079646778,0.2507625100514657 +6.072340162643359,0.6948766112371494,0.12051990119524575 +6.072340162643359,0.8414799242563002,0.7189737717823204 +6.114509191550605,0.7801261504178578,0.20965598347155673 +6.114509191550605,0.8273044250276467,0.1495030171289145 +6.114509191550605,0.6832190731546604,0.38983971025445613 +6.114509191550605,1.147824647038591,0.12197181663207879 +6.114509191550605,0.8919060230712071,-0.4090180471697299 +6.114509191550605,0.9526968452729632,0.41304936580694646 +6.114509191550605,0.4974964346080796,-0.023012718366706597 +6.114509191550605,0.3643626506977825,1.0091753841946334 +6.15667822045785,0.621773713058877,0.6208784557236031 +6.15667822045785,0.2911939920576653,0.6343942378590797 +6.15667822045785,0.5020738881476595,0.10196839552892822 +6.15667822045785,-0.05597324711044749,0.4775399701689683 +6.15667822045785,0.408641167396535,0.026058143750559926 +6.15667822045785,0.893688486662393,0.5203742441058659 +6.15667822045785,1.4038006014070592,0.9107888462838392 +6.15667822045785,0.8983593145319523,-0.11978569216843854 +6.1988472493650955,0.8512519792099711,0.03902250084800682 +6.1988472493650955,1.432467082700878,1.0152603134444809 +6.1988472493650955,0.9026876417235697,0.7340364826408496 +6.1988472493650955,1.260056584293842,0.5609813720955816 +6.1988472493650955,0.7373513195773691,0.266203442670647 +6.1988472493650955,0.5301690234858066,0.8474713760639864 +6.1988472493650955,0.4714386154370192,0.2200068922349144 +6.1988472493650955,1.0082272815231508,0.10012655948049551 +6.241016278272341,1.033255330560067,0.3211530537925978 +6.241016278272341,1.754712952752119,1.2950752550702658 +6.241016278272341,1.1200352659662935,0.08395743940238187 +6.241016278272341,1.110320850005678,0.6987584691988259 +6.241016278272341,1.1212961583353536,0.3810982097308001 +6.241016278272341,0.8730641761677285,0.5487858588052855 +6.241016278272341,0.947549637024723,0.157610363427323 +6.241016278272341,1.022031639725266,0.1038282033100082 +6.283185307179586,1.2469050348472048,0.4170718779563078 +6.283185307179586,0.6870367115981602,0.1203942479037143 +6.283185307179586,0.7995156169494169,0.7408524489364714 +6.283185307179586,0.8813881191623423,0.3291303093844102 +6.283185307179586,0.4374759159901692,0.11528543267965284 +6.283185307179586,0.2046623505541939,0.601590985156611 +6.283185307179586,0.5372700288936698,0.2288893584447024 +6.283185307179586,1.0274786003564333,0.4400204170343927 diff --git a/week10/IMU2.csv b/week10/IMU2.csv new file mode 100644 index 0000000..a086cff --- /dev/null +++ b/week10/IMU2.csv @@ -0,0 +1,1201 @@ +t,x,y +0.0,0.19804405031815686,-0.29648876096080284 +0.0,1.1511606404980133,-0.3751196734674952 +0.0,1.1741628750264697,-0.8147556238016922 +0.0,0.7251768247065385,-0.0006015135671995232 +0.0,0.7760116056772854,-0.49680420124571306 +0.0,0.42551165370754274,-0.960367023531504 +0.0,0.2721365130026231,-0.36353818102534086 +0.0,0.7005910748777129,-0.4078105803255274 +0.04216902890724555,0.8279077731938463,0.059625933530674885 +0.04216902890724555,0.9210351915079805,-0.19196339957738373 +0.04216902890724555,0.7666962522259368,0.0268338799784475 +0.04216902890724555,0.8166707018578155,-0.19895834683635827 +0.04216902890724555,0.25356329066227035,-0.5097850614531527 +0.04216902890724555,0.7550886302051322,-0.44565461637855447 +0.04216902890724555,0.3504395393772465,-0.4390887204945117 +0.04216902890724555,0.39144012303883724,-0.050500999057593976 +0.0843380578144911,0.5497119631755015,0.03508684251675015 +0.0843380578144911,0.47414778923540424,-0.018649149663025583 +0.0843380578144911,0.8790444112494074,-0.0023453387381084934 +0.0843380578144911,0.13889221727067413,0.13373386620159342 +0.0843380578144911,0.4468959775767706,-0.7526920963921053 +0.0843380578144911,0.3229831841689845,-0.7208086632814295 +0.0843380578144911,-0.41460116856028784,-0.010103148446502341 +0.0843380578144911,0.8375328562173641,0.1964102497638451 +0.12650708672173663,0.4370352877331204,-0.7401871291368541 +0.12650708672173663,0.09835786434561877,-0.25509089861586753 +0.12650708672173663,0.5078823242849746,-0.31274498181954935 +0.12650708672173663,0.45941971062390835,0.06610664105415823 +0.12650708672173663,0.3219558773144109,-0.517446021173689 +0.12650708672173663,0.8612148520761569,-0.05902920385421162 +0.12650708672173663,0.8962199815705327,-0.08307402943868347 +0.12650708672173663,0.4043673539616348,-0.22929727495412444 +0.1686761156289822,0.38695998653261854,-0.2571503444011389 +0.1686761156289822,0.897443344612165,-0.1367668284222005 +0.1686761156289822,0.8170692668263283,0.009371503107156676 +0.1686761156289822,0.5219164735068607,-0.6202599358473349 +0.1686761156289822,0.6853039974781205,0.20536848070566274 +0.1686761156289822,-0.6714477548216963,0.061185971133721206 +0.1686761156289822,0.48357447472887294,-0.11084079662567942 +0.1686761156289822,0.5783615224750343,-0.5707423194821517 +0.21084514453622774,-0.024890258179564806,-0.11618845184180004 +0.21084514453622774,0.5287704631166665,-0.544913572296372 +0.21084514453622774,0.46751999133979794,0.24831782535919128 +0.21084514453622774,0.37368647727716386,-0.18215912449168814 +0.21084514453622774,0.5984869195966427,0.3046318604274759 +0.21084514453622774,0.6305161055941164,0.28423915525735927 +0.21084514453622774,-0.22553985143347743,-0.008842460803619834 +0.21084514453622774,0.7841010051981355,-0.19493264787121511 +0.25301417344347327,0.5610942490064534,-0.4742462664320294 +0.25301417344347327,0.3400665456011902,0.40314032460170346 +0.25301417344347327,-0.11186587811380766,0.025894918557616387 +0.25301417344347327,0.6898437613374595,-0.1708491093654365 +0.25301417344347327,0.5420910506866792,-0.013900608991227636 +0.25301417344347327,0.536312588811263,-0.3424777022331028 +0.25301417344347327,0.31242958921302333,0.017373517345599665 +0.25301417344347327,-0.02248656388761905,0.24738147770529995 +0.2951832023507188,0.5194981586743038,0.485631472115466 +0.2951832023507188,0.5251509876016534,0.5538680588481332 +0.2951832023507188,-0.048907942974120155,0.3226391934676851 +0.2951832023507188,0.5303839320327456,0.15652008549944602 +0.2951832023507188,0.3748631850825108,0.3378519900725305 +0.2951832023507188,-0.49155431973806185,0.3933867590343365 +0.2951832023507188,0.29954623971057037,0.5437742886762784 +0.2951832023507188,0.5096271640736364,0.3411926318916989 +0.3373522312579644,0.27609072830096276,0.00605856387098791 +0.3373522312579644,-0.1503311910249744,0.5677350211527618 +0.3373522312579644,0.335779763335683,0.0019564850591361482 +0.3373522312579644,0.3343337701980776,0.44294899316661973 +0.3373522312579644,-0.016276937227038046,0.09582156836564026 +0.3373522312579644,0.03926479617929984,-0.15235474519431025 +0.3373522312579644,0.4928275311248338,-0.12083608609780316 +0.3373522312579644,0.5092350248650732,0.23397963895967844 +0.37952126016520993,0.0874426819296662,0.33591762545555665 +0.37952126016520993,-0.4204256398516525,0.40954634781292903 +0.37952126016520993,-0.1302639833653434,0.3461356984322479 +0.37952126016520993,0.3469830100996474,0.2830517396906661 +0.37952126016520993,-0.3514429830751481,0.21283417342121685 +0.37952126016520993,0.3947129068742627,0.5382272341970675 +0.37952126016520993,0.3608442026394165,0.6341852430913282 +0.37952126016520993,0.1334838566590294,0.18921631788306387 +0.4216902890724555,-0.1496523281174676,0.4023706037614222 +0.4216902890724555,-0.44408561876157443,0.06138524686288871 +0.4216902890724555,-0.27681248288678645,0.720524681109971 +0.4216902890724555,-0.3162892974942561,0.5373135100158672 +0.4216902890724555,-0.053934394015423215,0.4033399634972177 +0.4216902890724555,0.2772600178227191,0.5655771490412158 +0.4216902890724555,-0.0037431223758689347,0.38272030477364094 +0.4216902890724555,-0.1742098668188808,0.652122808665106 +0.46385931797970104,0.0784502743303368,0.5507729713553235 +0.46385931797970104,-0.5917875386628956,-0.10227699846515914 +0.46385931797970104,-0.2061340998312504,-0.022311687221145737 +0.46385931797970104,-0.8911461566805203,0.9407403871566336 +0.46385931797970104,0.1763643981964775,0.24569894850926421 +0.46385931797970104,-0.36622668025850547,0.7924285119640126 +0.46385931797970104,0.1458919365501652,0.24063303075769404 +0.46385931797970104,0.03319304209069798,0.7396858044393713 +0.5060283468869465,-0.5232712228504831,0.18364478361044945 +0.5060283468869465,-0.005875708385287247,0.16122242785823349 +0.5060283468869465,0.1478198525651543,0.248351344834845 +0.5060283468869465,0.03293781641403557,0.572703637033191 +0.5060283468869465,-1.2156601557758135,0.37240592664017935 +0.5060283468869465,0.13212916483030776,0.07086689390621081 +0.5060283468869465,-0.14666815757407467,0.45510823769431297 +0.5060283468869465,-0.5053765470076368,-0.2972374252849421 +0.5481973757941921,-0.6738745262474037,0.6580752333432551 +0.5481973757941921,-0.6201040328509773,0.22682951340323598 +0.5481973757941921,-0.5541078642605515,0.5603626758047373 +0.5481973757941921,-0.7381844619718397,0.7979722510807629 +0.5481973757941921,-0.3195759847514015,0.6229817996137259 +0.5481973757941921,-0.4643814611488013,0.32243698635027274 +0.5481973757941921,-0.1961006737117827,0.8319111207120297 +0.5481973757941921,-0.1403871868603752,-0.02319890046855433 +0.5903664047014376,-0.4495934195987752,0.8390391098257463 +0.5903664047014376,-0.4329432510756102,0.2532032297040333 +0.5903664047014376,-0.8940558948648113,0.6341602960835411 +0.5903664047014376,-0.3353162734757421,0.9189870989562856 +0.5903664047014376,-0.5554503972833662,0.4364624962208672 +0.5903664047014376,-0.8732655438706572,0.8970237225106196 +0.5903664047014376,-1.063100787238538,0.6384697802163768 +0.5903664047014376,-0.6007698080618312,0.7183259468256116 +0.6325354336086833,-0.6280122138683111,0.6893247594825521 +0.6325354336086833,-0.4669748309591048,0.7359729432243806 +0.6325354336086833,-0.8158534803866542,0.6702804355044739 +0.6325354336086833,-0.3302367976322568,0.6179995137835567 +0.6325354336086833,-1.554879190403586,0.7896553911918449 +0.6325354336086833,-0.4327002126849784,0.4582519721422521 +0.6325354336086833,-0.6414020673177497,0.6392478737003833 +0.6325354336086833,-0.7890401537967653,0.6859825429376705 +0.6747044625159287,-0.6475851013454514,0.4716444928854623 +0.6747044625159287,-0.6132780579973013,-0.0018279400680718538 +0.6747044625159287,-1.4499356127441974,0.9957455970788224 +0.6747044625159287,-0.4639131643668747,0.13911160514004917 +0.6747044625159287,-0.5707485276037891,0.8208891321761624 +0.6747044625159287,-0.5888844296502149,0.9156538107480678 +0.6747044625159287,-0.6531412755224612,0.9403844370509608 +0.6747044625159287,-0.9698438579278482,0.7925636033782482 +0.7168734914231742,-0.694414814042905,0.1701978056985367 +0.7168734914231742,-1.192719295625547,0.9519362989919884 +0.7168734914231742,-0.6589805219706131,1.0042660473476082 +0.7168734914231742,-0.512871550717982,0.77669063276411 +0.7168734914231742,-0.7403439725787574,0.6431738595091181 +0.7168734914231742,-0.9552404581628999,0.4185754095016311 +0.7168734914231742,-0.7260585401034995,1.1229237164009849 +0.7168734914231742,-1.10861691772226,0.5130847466571944 +0.7590425203304199,-1.5704775197113885,0.22284689210239472 +0.7590425203304199,-0.6385846927361652,0.8729889004292677 +0.7590425203304199,-0.7743494218317204,0.5475543086363155 +0.7590425203304199,-1.2632716568512854,0.2246265037794115 +0.7590425203304199,-0.8836867290761327,0.9160749020709184 +0.7590425203304199,-1.5447541389227593,0.40651258649116184 +0.7590425203304199,-1.0363648347909518,0.6337493491810886 +0.7590425203304199,-0.8465983009909741,1.0706811176739397 +0.8012115492376654,-1.0633268397833449,0.6755365355716412 +0.8012115492376654,-0.8639871818026285,0.9583695073145259 +0.8012115492376654,-0.7862695924680867,0.2872937720337 +0.8012115492376654,-1.490654557281311,0.3103420473256858 +0.8012115492376654,-1.3644329697485016,0.9778038921326654 +0.8012115492376654,-1.2722381653497479,0.6861384852003027 +0.8012115492376654,-1.511951524808139,0.9711863147952956 +0.8012115492376654,-0.7308059642178281,0.31923865150671316 +0.843380578144911,-0.950948465886581,0.9559720153828448 +0.843380578144911,-1.119067863214465,0.4314825137005287 +0.843380578144911,-0.7417312434828892,0.8071557911399361 +0.843380578144911,-0.9014336912256906,0.8042246615010975 +0.843380578144911,-1.207329800975963,0.7881966673480131 +0.843380578144911,-2.6022211488066906,0.8333124795033938 +0.843380578144911,-1.006154120340375,0.231260248970796 +0.843380578144911,-1.2740635685006434,0.9176796637894366 +0.8855496070521565,-1.2770491951872252,0.8415197262442659 +0.8855496070521565,-1.1327804059546474,0.0991348535159744 +0.8855496070521565,-1.270374013459603,0.7218467281767078 +0.8855496070521565,-1.169322768991636,0.4063818283611019 +0.8855496070521565,-1.032744503990603,0.3506049663297658 +0.8855496070521565,-1.9344726863562598,0.6106840875701529 +0.8855496070521565,-1.1650362005518788,0.4811393306007046 +0.8855496070521565,-1.1986106325674695,0.5259512028087823 +0.9277186359594021,-1.013000535852803,0.8591913801061857 +0.9277186359594021,-1.4994868313346046,0.4550241793158487 +0.9277186359594021,-1.3145988735344873,0.8850445205230343 +0.9277186359594021,-1.815310670322234,0.7292670261899918 +0.9277186359594021,-1.3913067205338738,0.5950287636714817 +0.9277186359594021,-1.8976932493730356,0.5572809698290804 +0.9277186359594021,-1.3176210337396896,0.22958988910244738 +0.9277186359594021,-1.1624665666185512,0.36963189374521277 +0.9698876648666476,-1.1860348839705903,0.8768913480287871 +0.9698876648666476,-1.353958815458077,0.9190110565649657 +0.9698876648666476,-1.1682645076695632,0.6048749776630433 +0.9698876648666476,-1.186334888029924,-0.0280594673722675 +0.9698876648666476,-1.2221363586125271,0.4094400901698584 +0.9698876648666476,-1.0936618399580664,0.8450314242369759 +0.9698876648666476,-1.0333295390181871,0.19432113537721396 +0.9698876648666476,-0.9436031278389716,1.0558795336560731 +1.012056693773893,-1.5429103650317082,0.035486263909834115 +1.012056693773893,-1.635795161726496,0.572174188448173 +1.012056693773893,-1.0883245739054979,0.8442506893782744 +1.012056693773893,-1.6438782192705181,0.42875819220442524 +1.012056693773893,-1.0178528156486357,0.543904370713663 +1.012056693773893,-1.6935715292833038,0.4711557246933672 +1.012056693773893,-1.6374270449953787,1.002039654505344 +1.012056693773893,-1.2024243837908897,-0.10109655307758936 +1.0542257226811387,-1.1772184085764785,0.4623850954734395 +1.0542257226811387,-1.1915727647061471,0.6639390626595487 +1.0542257226811387,-0.9905285606350599,0.8343603015282636 +1.0542257226811387,-1.847125872801566,0.29452246619759115 +1.0542257226811387,-1.4763524673451351,0.6901898526877651 +1.0542257226811387,-1.4101103861239082,0.5149388238453233 +1.0542257226811387,-0.9985507036346878,0.8823965445006454 +1.0542257226811387,-1.563353471018005,-0.25476543544282326 +1.0963947515883843,-1.999503919299321,-0.25984048237445656 +1.0963947515883843,-2.1184748319108504,0.384124944067302 +1.0963947515883843,-1.5018612072038373,0.6070120353542355 +1.0963947515883843,-1.0752973468434883,0.3695106986613983 +1.0963947515883843,-1.413131646933417,0.5269897045483947 +1.0963947515883843,-1.1708623270776095,0.6486021881550151 +1.0963947515883843,-1.2339339392471693,0.8791395744911318 +1.0963947515883843,-1.5194471586596783,0.5280396913433292 +1.1385637804956297,-1.5414396197173552,0.58346459336245 +1.1385637804956297,-1.4154656752063015,-0.05274860361758904 +1.1385637804956297,-1.3375121854614545,0.6026608441763492 +1.1385637804956297,-1.04860405459304,-0.03441424843195062 +1.1385637804956297,-1.6006310621113486,0.5199284553162191 +1.1385637804956297,-1.7441352233678515,0.05366842734174326 +1.1385637804956297,-1.2722705076296692,0.4148540727852164 +1.1385637804956297,-1.3729527307890186,0.6310043868795823 +1.1807328094028753,-1.4946342317217958,0.2398536534407274 +1.1807328094028753,-1.5018659746795027,0.24024140624122042 +1.1807328094028753,-1.4296125257489876,0.727943932671333 +1.1807328094028753,-1.4227721862824976,-0.11723184366516426 +1.1807328094028753,-1.5130560408200049,0.8165055478967308 +1.1807328094028753,-1.208342492064076,0.5864058326201272 +1.1807328094028753,-1.275084292926973,0.18665604836424854 +1.1807328094028753,-1.86019797024123,0.4912557563753679 +1.222901838310121,-1.155422187766657,-0.3538190419983751 +1.222901838310121,-0.9101360821037722,0.5917930058405417 +1.222901838310121,-1.0404262721530688,0.580716618269336 +1.222901838310121,-1.6672084212384095,0.22128406102125264 +1.222901838310121,-1.383939809908445,0.2634993454975398 +1.222901838310121,-1.0849297270407325,-0.08822148374790673 +1.222901838310121,-1.4322704272959388,-0.23769710397906463 +1.222901838310121,-1.0208956054269893,0.3937579334736663 +1.2650708672173665,-1.1069257248393183,-0.0183576419411714 +1.2650708672173665,-1.3082687405637832,0.5276093647479578 +1.2650708672173665,-0.788585339293649,0.1924804329318781 +1.2650708672173665,-0.8693151722416564,-0.17693139928280022 +1.2650708672173665,-1.3442356441105496,-0.2511018704900534 +1.2650708672173665,-0.7680084100099396,0.11175715361543548 +1.2650708672173665,-0.9156188848152869,-0.18006248907512656 +1.2650708672173665,-1.1278977350446815,0.26845154977544444 +1.3072398961246119,-1.6575539892907911,0.22637580566655752 +1.3072398961246119,-0.9943511224087513,0.3215643666658353 +1.3072398961246119,-0.9864652091804975,-0.4022122185042565 +1.3072398961246119,-0.892291429014014,0.4850700306896301 +1.3072398961246119,-1.325526530403987,-5.5453438539965205e-05 +1.3072398961246119,-1.0810595770909017,-0.27269788141751705 +1.3072398961246119,-0.9263494242372114,-0.7190113411743367 +1.3072398961246119,-0.9537347396488197,0.02176939673573708 +1.3494089250318575,-1.0153264909571897,0.37505553765423605 +1.3494089250318575,-1.133015251225971,-0.2808188658271642 +1.3494089250318575,-0.9400852630917588,-0.0857449679086143 +1.3494089250318575,-1.0198185458385485,0.3933888294836401 +1.3494089250318575,-0.6779816039856706,0.14752212144508003 +1.3494089250318575,-0.761774347657701,-0.1502063499214572 +1.3494089250318575,-1.0092125179838942,-0.1823787432793249 +1.3494089250318575,-0.9980853919057695,0.3292751499512282 +1.391577953939103,-1.3581475547769042,0.24329636312033104 +1.391577953939103,-1.3171348573613626,-0.06038595367614735 +1.391577953939103,-0.8286315400729066,0.1985824513657365 +1.391577953939103,-1.3911137963736335,-0.17553511040772862 +1.391577953939103,-0.9350527511564724,0.33314143674816177 +1.391577953939103,-1.1611714586396564,-0.3878356877499016 +1.391577953939103,-1.0277389464916653,0.2222292078993414 +1.391577953939103,-0.7028989792367337,0.17452924821563837 +1.4337469828463485,-1.004249919624579,0.1411540564560738 +1.4337469828463485,-0.6395376014558735,0.3609686936853303 +1.4337469828463485,-1.1420164084898283,-0.4009272159576135 +1.4337469828463485,-0.6177720874188914,0.062334670454066265 +1.4337469828463485,-1.4256632533458278,0.0662477768204569 +1.4337469828463485,-0.8527843252146293,-0.004345957655216726 +1.4337469828463485,-1.5353391329298423,0.15035316968475643 +1.4337469828463485,-0.6723242854644561,0.14780557799440544 +1.475916011753594,-0.8368765592652434,-0.29025607401051706 +1.475916011753594,-1.125361568064848,0.09870965722672277 +1.475916011753594,-1.184363116330608,-0.28656213835325256 +1.475916011753594,-0.6744812006387058,-0.1151735290279462 +1.475916011753594,-1.0124551863796574,-0.12035337631464432 +1.475916011753594,-0.6062383966365634,-0.37426175850795357 +1.475916011753594,-0.23762644165935148,-0.4483911981836995 +1.475916011753594,-0.498390168300766,0.08475067241699961 +1.5180850406608397,-0.3723977776472041,-0.01075407440476163 +1.5180850406608397,-0.35209885412198416,-0.005465654429585326 +1.5180850406608397,-0.5304758034164339,-0.17833509283819368 +1.5180850406608397,-0.5419959598333219,-0.13630469677266074 +1.5180850406608397,-0.19092188568410112,-0.4841311878984259 +1.5180850406608397,-0.6565396397203299,0.02164245240021151 +1.5180850406608397,-0.14584108643646446,0.02704549294605957 +1.5180850406608397,-0.5608016520586143,-0.5601602628814785 +1.5602540695680853,-0.3131747858262908,-0.266332026786988 +1.5602540695680853,-0.3772673567412199,-0.29330723244520074 +1.5602540695680853,-0.9336956779913352,-0.3272421570053682 +1.5602540695680853,-0.053994507495016816,-0.09824930784177602 +1.5602540695680853,-0.13574794599037093,-0.31456857890169954 +1.5602540695680853,-0.47204165574043233,-0.5913611360534037 +1.5602540695680853,-0.5623733588238153,-0.9303773511258812 +1.5602540695680853,-0.5221811438398685,0.014884501173290078 +1.6024230984753307,0.07738055627244844,-0.20295738120678947 +1.6024230984753307,-0.47100978642332936,-0.30960240894981317 +1.6024230984753307,-0.08390904447884548,-0.2552658851721835 +1.6024230984753307,-0.11979016029514788,-0.41962515000957146 +1.6024230984753307,-0.28512578698261304,-0.47184177042778164 +1.6024230984753307,-0.26394312493741745,-0.7699951209297216 +1.6024230984753307,0.012432801654352163,-0.7265238201853899 +1.6024230984753307,-0.19667194956682382,-1.5198543654947796 +1.6445921273825763,0.033909600822160935,-0.2787745863108209 +1.6445921273825763,0.006663279711121212,-0.8195681701574646 +1.6445921273825763,-0.14409952280167168,-0.23788088040326816 +1.6445921273825763,-0.1924529848793405,-0.20128078148636552 +1.6445921273825763,0.24346869461285017,-0.35153548006388474 +1.6445921273825763,-0.09500268159818634,-0.3120927747469019 +1.6445921273825763,-0.1995143688885829,-0.20935019032225735 +1.6445921273825763,-0.5608638802101203,-0.40580143106704764 +1.686761156289822,-0.9873201450233781,-0.8616345368824304 +1.686761156289822,-0.056860563216625415,-0.798155631740512 +1.686761156289822,0.21389996743583117,-1.1388610843125675 +1.686761156289822,-0.28796888873316306,-0.1344087652043159 +1.686761156289822,0.3949537337218024,-0.6165749143619949 +1.686761156289822,0.234496944089233,-0.36882341700318755 +1.686761156289822,0.46393454206557616,-0.34661606863135985 +1.686761156289822,0.02534566324629728,-0.19548158998937493 +1.7289301851970673,0.35663584888563604,-0.3672413086082143 +1.7289301851970673,0.3285966945444513,-0.4345496027076957 +1.7289301851970673,0.21872096533794172,-0.8195950890086914 +1.7289301851970673,0.1850205800934781,-0.43323454258846045 +1.7289301851970673,-0.36697073996621454,-0.5811715298820699 +1.7289301851970673,0.36641453616254266,-0.6162692243879405 +1.7289301851970673,0.04417013889078786,-0.8041539368618934 +1.7289301851970673,0.32319415563047027,-0.816267871402719 +1.771099214104313,0.13271780961391033,-0.8887731679988083 +1.771099214104313,0.47881980917912303,-1.3095430323188844 +1.771099214104313,0.255026255529669,-0.7351081035234974 +1.771099214104313,0.043674087200268,-0.864877672550675 +1.771099214104313,0.2597426972266206,-0.5289120382551938 +1.771099214104313,0.2899569395360811,-1.0784483138417538 +1.771099214104313,-0.2579806193495997,-0.606912443284342 +1.771099214104313,-0.14627994831170088,-0.6830903760089913 +1.8132682430115585,0.6427664235541388,-1.0137966466136255 +1.8132682430115585,0.2773534991026005,-0.5749155572031479 +1.8132682430115585,0.46476562332236104,-0.6024835689810228 +1.8132682430115585,0.20453973707936213,-0.4017794951346768 +1.8132682430115585,0.28583205791852145,-0.42787968600517007 +1.8132682430115585,0.4246644101576603,-1.2782299997727407 +1.8132682430115585,0.2025409062431549,-0.6047338734293912 +1.8132682430115585,0.4731597835694765,-0.815070352966663 +1.8554372719188041,0.029254345277318516,-1.5628519811040602 +1.8554372719188041,-0.19618667714390992,-0.5610431559420771 +1.8554372719188041,0.36693315599642534,-1.006139658052902 +1.8554372719188041,-0.044187507493913536,-0.8771321394937843 +1.8554372719188041,-0.1494825747663957,-1.0190591167403198 +1.8554372719188041,-0.0013244486105059572,-1.4370937662578744 +1.8554372719188041,0.6937792299450067,-1.9610217759751307 +1.8554372719188041,0.5421525072399344,-0.9121479849325638 +1.8976063008260495,0.6200181251055441,-1.1562310365659614 +1.8976063008260495,0.36261824390387637,-1.324568961119449 +1.8976063008260495,0.8234005066744103,-1.2166552304661502 +1.8976063008260495,1.0378503495990015,-0.5412624305719983 +1.8976063008260495,0.15166659258370596,-0.7701261877451507 +1.8976063008260495,0.043127668296016,-0.9042894751880857 +1.8976063008260495,0.3032937904775953,-0.8673958063169269 +1.8976063008260495,0.5334373514732103,-1.0144640249190013 +1.9397753297332951,0.7380536992845126,-1.6357841603965615 +1.9397753297332951,0.5283782854831187,-0.8667654375140581 +1.9397753297332951,0.7653314115519041,-0.936553676969778 +1.9397753297332951,0.7785437454635927,-0.8312523303267711 +1.9397753297332951,0.8696273533310712,-0.9139314187698954 +1.9397753297332951,0.45683392455053323,-1.0724510585759413 +1.9397753297332951,0.7790033802804142,-0.6604279645795069 +1.9397753297332951,0.6590198922660486,-1.289678436466735 +1.9819443586405407,0.891148505478368,-0.902808766207932 +1.9819443586405407,0.2740892403265581,-1.7031369059010077 +1.9819443586405407,0.8369571155692338,-1.4239546665597083 +1.9819443586405407,0.3976010632564696,-1.2603344277447102 +1.9819443586405407,0.31542541468797636,-0.9344592301141399 +1.9819443586405407,0.7136065200982648,-1.1627283237146253 +1.9819443586405407,0.6910783271141446,-0.6875389378749868 +1.9819443586405407,0.34213234727369124,-0.8569811331407564 +2.024113387547786,-0.02043751705139174,-1.1015393740436759 +2.024113387547786,0.9082840789574173,-1.0659208669812488 +2.024113387547786,0.42021502721380155,-1.5875217547383746 +2.024113387547786,0.7857127750954487,-1.3893236799408424 +2.024113387547786,0.5787021202501474,-1.627574670548556 +2.024113387547786,0.5666125142981582,-1.2949005129385398 +2.024113387547786,0.5099932761871426,-0.7266982979273687 +2.024113387547786,0.14548709482209166,-1.0550619493142719 +2.066282416455032,0.8183367148691479,-1.22182223457849 +2.066282416455032,1.0630345835997428,-1.30192797402615 +2.066282416455032,0.07443939588556603,-0.9142735961771352 +2.066282416455032,0.6412823481689999,-1.2726421785147979 +2.066282416455032,0.7958580767877346,-1.5752774010227717 +2.066282416455032,0.686159606421506,-1.9185791299849466 +2.066282416455032,0.7321230477090112,-1.5295812897342955 +2.066282416455032,0.9627226082451095,-1.2204144586554473 +2.1084514453622774,0.2827970960377785,-2.1057848366823566 +2.1084514453622774,0.8743739281513586,-1.6976414719315667 +2.1084514453622774,0.2476072545568715,-1.1724761059702353 +2.1084514453622774,1.0489275630674693,-0.9841621271009972 +2.1084514453622774,1.0104886767743293,-1.4956908403704348 +2.1084514453622774,0.2800026685874307,-1.0976029758580466 +2.1084514453622774,0.36856077594190495,-2.3665487014147466 +2.1084514453622774,0.7015998315759916,-1.6071216335582652 +2.1506204742695227,0.41608988591612406,-1.1018137495195282 +2.1506204742695227,1.0824846499222882,-1.3625197661557367 +2.1506204742695227,0.6057424502155602,-1.5661030125043596 +2.1506204742695227,0.7152978590437264,-0.9064366714019937 +2.1506204742695227,0.8773224312416823,-1.4020419956160874 +2.1506204742695227,0.6763780633947517,-1.6100944067707932 +2.1506204742695227,-0.5720938227353481,-1.4940595715226288 +2.1506204742695227,0.46525014492576744,-1.558258518125862 +2.1927895031767686,-0.17512062943504658,-1.0833949514157701 +2.1927895031767686,0.6433268448709213,-1.1437272323088346 +2.1927895031767686,0.4383989028078029,-1.253221284656902 +2.1927895031767686,0.2674772408458388,-0.9420562780562434 +2.1927895031767686,0.82451589831682,-1.234056034205254 +2.1927895031767686,0.3518447887754931,-1.0360806601015902 +2.1927895031767686,0.8796399369769898,-1.4963431053829437 +2.1927895031767686,0.9057678668251841,-1.0333960518060117 +2.234958532084014,0.6931615737508038,-1.026396988995486 +2.234958532084014,0.5725498554938796,-1.0606269685526015 +2.234958532084014,0.6775771560245437,-1.1568141769199727 +2.234958532084014,1.0074879924244569,-1.8131658128452122 +2.234958532084014,0.2502222185431341,-1.1804659466156044 +2.234958532084014,0.7841844685973447,-1.166840158545639 +2.234958532084014,0.1533962899884994,-1.1348640398382397 +2.234958532084014,0.03810763410866147,-1.018877095691272 +2.2771275609912593,0.7097137323747245,-1.168762474643727 +2.2771275609912593,0.48424097022842116,-1.297878303938242 +2.2771275609912593,0.20308883134809708,-1.6843136243474408 +2.2771275609912593,0.4497167102826744,-1.3650830827861606 +2.2771275609912593,0.4231491778763606,-1.2358935438775327 +2.2771275609912593,0.35101782555955274,-1.118160270349652 +2.2771275609912593,0.852313251788863,-1.2928083910454777 +2.2771275609912593,0.6965910543243296,-1.4354940084420291 +2.319296589898505,0.21168866605858372,-1.0757103041544616 +2.319296589898505,0.15056422680030834,-2.049606805299363 +2.319296589898505,0.207954411704796,-1.3600491202254963 +2.319296589898505,0.459823998530018,-1.010192289256575 +2.319296589898505,0.24108809900426875,-1.474846504522421 +2.319296589898505,0.7373412650460719,-1.1779109636665788 +2.319296589898505,0.7642425701210852,-1.1965135863657703 +2.319296589898505,0.5398116583632975,-1.1285198843450535 +2.3614656188057506,-0.03857438007454117,-1.4361763356911939 +2.3614656188057506,0.339775729828546,-1.2333175913495853 +2.3614656188057506,0.8001109634780621,-1.1144624467433935 +2.3614656188057506,0.30693425313827416,-0.957051255495285 +2.3614656188057506,0.03456985396515777,-1.0064905629586545 +2.3614656188057506,-0.13041918306653566,-1.0207224494628486 +2.3614656188057506,0.42022997124210487,-1.2260300819635561 +2.3614656188057506,0.6106143023846304,-1.8972949088937279 +2.403634647712996,0.5454935515290991,-1.4812108848592853 +2.403634647712996,-0.5128082877741386,-1.4217629143132313 +2.403634647712996,0.35238443078496146,-1.2843787078526079 +2.403634647712996,0.35753804547027296,-1.1654561442517424 +2.403634647712996,0.17717066862305253,-1.467588035670718 +2.403634647712996,0.4820770674032227,-1.0917371613620328 +2.403634647712996,0.13669153564499842,-1.1850615779258735 +2.403634647712996,0.20450741717914134,-1.15519161158546 +2.445803676620242,0.24228484297725628,-1.5336923409057415 +2.445803676620242,0.4883088904710137,-1.121597807218117 +2.445803676620242,-0.05465165706396102,-1.1633938949316296 +2.445803676620242,-0.26985743075519075,-1.1419055062543626 +2.445803676620242,0.2022410724149954,-1.228220186162747 +2.445803676620242,-0.26128752575499836,-1.150532698695788 +2.445803676620242,0.5044858222926139,-1.4072450877616105 +2.445803676620242,-0.18149294789895787,-0.9867076173512139 +2.487972705527487,-0.12317116124032618,-1.1475465630655588 +2.487972705527487,-0.058002615588939266,-1.3565069532719616 +2.487972705527487,0.156949490115667,-1.3190587307254766 +2.487972705527487,0.26581184089534116,-0.9527017553280344 +2.487972705527487,-0.09852517720349896,-1.0762771141693663 +2.487972705527487,-0.32716376662533114,-1.7659900307505527 +2.487972705527487,0.018281947933001585,-1.2610455177735294 +2.487972705527487,0.3097993821922933,-1.6841386217068308 +2.530141734434733,0.1282532353496938,-1.1241698924030756 +2.530141734434733,-0.15885733171271949,-1.4654586624701766 +2.530141734434733,0.1305192953715545,-1.193107275626065 +2.530141734434733,0.15077544835379805,-1.3828926187838273 +2.530141734434733,-0.47134840842573156,-1.4412953800268973 +2.530141734434733,-0.4096687858854856,-1.7601112971347785 +2.530141734434733,-0.22701653161004776,-1.239054309109477 +2.530141734434733,0.09593108211369675,-1.4008904824633062 +2.5723107633419784,-0.8651495201152078,-1.433885128294284 +2.5723107633419784,-0.15404582643819623,-1.0901755411147152 +2.5723107633419784,-0.09603022361935101,-1.7089056253567512 +2.5723107633419784,-0.1304613675990535,-1.1073833785165754 +2.5723107633419784,-0.5276389324116375,-1.5043488758046577 +2.5723107633419784,0.001652268649109001,-1.1156108505080589 +2.5723107633419784,-0.260623594614414,-1.0863863953706057 +2.5723107633419784,-0.11017140722953375,-1.053716445507904 +2.6144797922492238,-0.15412649151791546,-1.153575459965998 +2.6144797922492238,-0.22842540560645075,-0.8697152938626282 +2.6144797922492238,-0.529530739733007,-1.1694238923103943 +2.6144797922492238,-0.2643058039361019,-1.004493980017128 +2.6144797922492238,-0.4102201614008795,-1.380734494572539 +2.6144797922492238,-0.08976509088354878,-1.1167309054054728 +2.6144797922492238,-0.4847907674175803,-1.339971400155104 +2.6144797922492238,-0.20771611472908155,-0.9353911020843766 +2.6566488211564696,-0.546181965554948,-1.4529777286337402 +2.6566488211564696,-0.9241044369232752,-0.9043609169107006 +2.6566488211564696,-0.2981959025505441,-1.3674805942896293 +2.6566488211564696,-0.26517287649375404,-1.0587073492710937 +2.6566488211564696,-0.8816925396364874,-1.3967178954812463 +2.6566488211564696,-0.3305956108753283,-0.9034007787922923 +2.6566488211564696,-0.03198106009845321,-0.7825684890489946 +2.6566488211564696,-0.585390571538265,-1.3870204689289296 +2.698817850063715,-0.4315875356659831,-1.7549102263938519 +2.698817850063715,-1.415019478377194,-1.912679607388048 +2.698817850063715,-0.8524224034243075,-1.257602303929385 +2.698817850063715,-0.7949262108923076,-0.97004720482548 +2.698817850063715,-0.538567017656916,-0.932905013970012 +2.698817850063715,-0.08644654452003395,-0.9059548241464195 +2.698817850063715,-0.6603545360549348,-0.8635467018618912 +2.698817850063715,-0.6511050059716281,-1.2124383796016043 +2.7409868789709604,-0.4118181267261642,-0.7951289088072114 +2.7409868789709604,-0.3427844132543245,-0.9604941957976988 +2.7409868789709604,-0.5089635648235094,-0.5965904685735485 +2.7409868789709604,-0.8204639825959404,-0.7730024084472557 +2.7409868789709604,-0.5335820044597561,-1.1717314171311022 +2.7409868789709604,-0.7825231310213682,-0.8147669390138679 +2.7409868789709604,-0.5007354315631067,-1.2758485739385386 +2.7409868789709604,-0.7658851374866928,-0.879601360105591 +2.783155907878206,-0.5972203278540129,-1.200329447248705 +2.783155907878206,-1.832101864384549,-1.3924634231931963 +2.783155907878206,-0.6051156596938116,-0.9317702121110887 +2.783155907878206,-0.39287834360011464,-0.7421194014191763 +2.783155907878206,-0.5767601365334198,-0.6086285156880747 +2.783155907878206,-0.7760622586758843,-0.7762700925410981 +2.783155907878206,-0.45927451586110557,-0.6790154094099443 +2.783155907878206,-1.1889526477331418,-0.7744370901102398 +2.8253249367854516,-0.46439178416927374,-0.8949067397437172 +2.8253249367854516,-0.7537465022897654,-1.0562408011624775 +2.8253249367854516,-0.6371963759109093,-1.3955468965836262 +2.8253249367854516,-0.6130620571726523,-0.8665830886113766 +2.8253249367854516,-1.5700202913122598,-0.9127706060829102 +2.8253249367854516,-0.7446529061911783,-0.970382755635324 +2.8253249367854516,-0.5822111891742392,-1.0388655046291815 +2.8253249367854516,-0.6705342584921472,-0.6896724960005924 +2.867493965692697,-0.8603010451675189,-1.3818977026636525 +2.867493965692697,-0.925790443161111,-0.7952597797769042 +2.867493965692697,-1.4702404252344707,-1.078088611180475 +2.867493965692697,-0.8494119293453433,-0.7437593723847855 +2.867493965692697,-0.9375807824020274,-1.5339428630900347 +2.867493965692697,-0.7535537799589601,-0.9641122017180782 +2.867493965692697,-0.6589867152909277,-0.9189488721784118 +2.867493965692697,-0.8447180738495615,-0.985757461929316 +2.909662994599943,-0.8391089952912624,-0.9061311721409557 +2.909662994599943,-0.7924358160621632,-1.1440959099920107 +2.909662994599943,-0.9111648740887124,-0.8236243544746469 +2.909662994599943,-0.8890623536649777,-0.5072286135495437 +2.909662994599943,-1.4887092602301437,-0.8541379145738792 +2.909662994599943,-2.431316317292815,-0.75080121086994 +2.909662994599943,-1.013947873393108,-0.5069636543518412 +2.909662994599943,-1.0372340018371171,-1.0817787172616842 +2.951832023507188,-1.6523048905756885,-0.5001806449180959 +2.951832023507188,-1.1971354139879486,-1.0062855060197071 +2.951832023507188,-1.3064375142305218,-0.5715684881193124 +2.951832023507188,-1.2424196054680012,-0.35461955192486305 +2.951832023507188,-0.9380538932414721,-1.0900713674898062 +2.951832023507188,-1.2406120377916166,-1.2260624527774189 +2.951832023507188,-1.3854991823118006,-1.2905273623096718 +2.951832023507188,-1.082130451148686,-0.400947125418814 +2.994001052414434,-1.5846239521240557,-0.9718123748933454 +2.994001052414434,-1.2614566941240803,-0.6896980585889276 +2.994001052414434,-1.6319837902613863,-0.7271644101922448 +2.994001052414434,-1.324239426721503,-0.5509564462088063 +2.994001052414434,-0.9066574043249352,-0.32389014062136523 +2.994001052414434,-1.2541231601310947,-0.8765608554917383 +2.994001052414434,-1.250543608452065,-0.8864232347712959 +2.994001052414434,-1.2578337738149874,-1.3088984891160056 +3.0361700813216794,-0.9706558866011314,-0.4740336671498163 +3.0361700813216794,-1.1167059120221619,-0.5621199114511279 +3.0361700813216794,-0.9509774759529218,-0.34068912764867354 +3.0361700813216794,-2.5706848093414174,-0.5539392793244343 +3.0361700813216794,-0.868387158955654,-0.38532069316464523 +3.0361700813216794,-1.7554937552681524,-0.9268539220546681 +3.0361700813216794,-1.1343170571795573,-0.28820195475800964 +3.0361700813216794,-1.081266891656924,-0.36067101436945076 +3.078339110228925,-1.2667736424840372,-0.6949919614568709 +3.078339110228925,-1.089440241725079,-0.44437866055198233 +3.078339110228925,-1.9909680140889083,-0.34370694124270873 +3.078339110228925,-1.4034688628828023,-0.3562496610203447 +3.078339110228925,-1.5875061347195307,-0.8526641168009775 +3.078339110228925,-1.117954549697812,-0.16970215223450608 +3.078339110228925,-1.7270403726437176,-0.17138435722379383 +3.078339110228925,-1.3245787928064972,-0.8137501164042472 +3.1205081391361706,-1.6264349536215823,-0.6761788447889475 +3.1205081391361706,-1.1235453629308751,-0.27528507346386627 +3.1205081391361706,-2.1047581259720363,-0.7005317671122893 +3.1205081391361706,-1.4192194713634811,-0.0033671341517388723 +3.1205081391361706,-1.6636547798369472,-0.005255491080191917 +3.1205081391361706,-1.1704787642406365,-0.2961736607445298 +3.1205081391361706,-1.1054852213060247,-0.6473469172032702 +3.1205081391361706,-1.4208571306012119,-0.3186616593325295 +3.162677168043416,-1.557954678137902,-0.14070976567199675 +3.162677168043416,-0.9872472252688342,-0.63247670915925 +3.162677168043416,-1.2827031478046842,0.18828557105144608 +3.162677168043416,-1.5171231377042629,-0.4397424307780752 +3.162677168043416,-1.0817522945597466,-0.24417865644450046 +3.162677168043416,-1.5334607776292053,-0.3061529265666082 +3.162677168043416,-1.321548691234904,-0.6235108369454497 +3.162677168043416,-1.3677846132216942,-0.5205657143113156 +3.2048461969506614,-1.0988256047857627,-0.19470564752771805 +3.2048461969506614,-0.949267835357608,-0.508497641838527 +3.2048461969506614,-1.4810943827135157,-0.029348511180107062 +3.2048461969506614,-1.1515022128191443,-0.32063179754816773 +3.2048461969506614,-1.0232792966140651,-0.3089508253413631 +3.2048461969506614,-1.667887845962147,-0.6611201737978141 +3.2048461969506614,-1.0167587218935248,0.0709116718978849 +3.2048461969506614,-1.5104400484195764,-4.525025745805156e-05 +3.2470152258579073,-1.1875436973257911,0.09407914170774692 +3.2470152258579073,-1.5594030892567976,-0.18862726829197707 +3.2470152258579073,-1.2185608442891338,0.0878570746018756 +3.2470152258579073,-1.2173534754346773,-0.15805126396018454 +3.2470152258579073,-0.9983997890520664,-0.48738521648746946 +3.2470152258579073,-1.1170702615910941,0.03144837639844644 +3.2470152258579073,-1.0577901453955412,0.10252329162679794 +3.2470152258579073,-1.4394622068841292,0.053764077507568814 +3.2891842547651526,-1.1722764273682662,0.10678641669823574 +3.2891842547651526,-1.1819313767720336,-1.0750005075300515 +3.2891842547651526,-1.0492948783787899,0.36397948787920315 +3.2891842547651526,-1.0410251812211029,-0.024220128757751147 +3.2891842547651526,-1.1986963857335402,-0.006296084182909278 +3.2891842547651526,-1.5117224085425784,-0.19368765421664708 +3.2891842547651526,-1.3981184909537565,0.0926765006753747 +3.2891842547651526,-1.387559667709081,0.17812329431308255 +3.331353283672398,-0.9810796389684072,0.06905224041734304 +3.331353283672398,-1.5323947432462066,-1.154474596801683 +3.331353283672398,-1.384244845245851,0.241989804228498 +3.331353283672398,-1.547213623846428,0.05852822924593887 +3.331353283672398,-2.027415269149934,-0.07496282122068532 +3.331353283672398,-1.1849075300175111,0.20850658683626772 +3.331353283672398,-1.5913164067816086,0.136263574954494 +3.331353283672398,-1.265062105309056,0.2714127471190147 +3.373522312579644,-1.428624721164256,0.6500615791163349 +3.373522312579644,-1.7799307313149728,0.09088895651209922 +3.373522312579644,-1.2117584379395154,0.005855555010118307 +3.373522312579644,-1.608567250064255,0.45890416105849546 +3.373522312579644,-1.3435187500600116,-1.0535676737754684 +3.373522312579644,-1.1933721640876416,-0.4627226711646079 +3.373522312579644,-0.9525076314457875,0.07130709459272927 +3.373522312579644,-0.918589299061386,-0.3280707666972374 +3.4156913414868892,-1.5453766570107645,-0.16519754965304378 +3.4156913414868892,-1.1629588360451197,0.20633378188297696 +3.4156913414868892,-1.5502006408495552,0.5282770118816096 +3.4156913414868892,-0.9312313906933902,-0.22621822481038367 +3.4156913414868892,-1.0745596669296993,-0.43234917908355386 +3.4156913414868892,-0.9972233604120426,-0.0482314734717324 +3.4156913414868892,-0.9890953019111288,-0.0915673282529973 +3.4156913414868892,-1.2774015194464734,-0.6968742043195404 +3.4578603703941346,-0.9282309728239773,0.3437981847738541 +3.4578603703941346,-1.1817258462458282,0.5135866996820586 +3.4578603703941346,-0.7215210763968344,0.4745673275029366 +3.4578603703941346,-0.7586472180665871,-0.7339953109225441 +3.4578603703941346,-0.990365957254337,-0.15740996204457014 +3.4578603703941346,-0.8858327705417911,0.15494793867398748 +3.4578603703941346,-0.7788276712777109,0.5525313057789164 +3.4578603703941346,-1.4277583429218477,0.6204814137976948 +3.5000293993013805,-0.5682084155602832,0.2539307190712401 +3.5000293993013805,-1.4761784582967867,0.3463318342267265 +3.5000293993013805,-1.2546048423194227,0.3378392003932205 +3.5000293993013805,-0.6380055244803804,0.30403429319339786 +3.5000293993013805,-1.2642042366067976,0.41801129494515676 +3.5000293993013805,-0.9543788492763134,0.1786275795459662 +3.5000293993013805,-1.3904245919887184,-0.07910956760430199 +3.5000293993013805,-1.3070777228997414,0.46110195902248396 +3.542198428208626,-1.208569788187993,-0.016210505012733245 +3.542198428208626,-0.6192542660374948,0.5558698565738814 +3.542198428208626,-1.1631371340500214,0.6980401755265749 +3.542198428208626,-0.7298019014911068,-0.04899990446443803 +3.542198428208626,-0.5899361873102024,0.4143121354910923 +3.542198428208626,-0.4733525384776248,0.25477747703209497 +3.542198428208626,-0.8247934145752367,0.1919446569167842 +3.542198428208626,-1.264938243128987,0.7050353942702307 +3.5843674571158717,-0.5525016416515841,0.6291447298562283 +3.5843674571158717,-0.945859830866196,0.7984930962743706 +3.5843674571158717,-1.10085224796912,0.6273618340276135 +3.5843674571158717,-0.6096119915113921,0.526852061339151 +3.5843674571158717,-0.970450218779792,0.15292288101954554 +3.5843674571158717,-0.3489917457166103,0.7424946461306023 +3.5843674571158717,-0.4932819738741765,-0.4666677757062425 +3.5843674571158717,-0.47363797595185364,0.6608201707181789 +3.626536486023117,-0.4382173730816298,-0.08855666574431498 +3.626536486023117,-0.18139501448708553,-0.31012098245547304 +3.626536486023117,-0.8971980931510664,0.8141646796881361 +3.626536486023117,-0.2713571709183369,0.1069765477227762 +3.626536486023117,-0.25422716176588306,0.5517692840169743 +3.626536486023117,-0.28220963992511283,0.8600605885423783 +3.626536486023117,-0.1571255767192208,0.7233553813653807 +3.626536486023117,-0.2026705074983029,-0.19835978813084199 +3.6687055149303625,-0.1469591991426662,0.7209504739517602 +3.6687055149303625,-0.8899701131950575,0.2391293343011297 +3.6687055149303625,-1.078169196530336,0.137450601957546 +3.6687055149303625,-0.32343786504152955,-0.011507759173158605 +3.6687055149303625,-0.12707341448721374,0.29527971608091097 +3.6687055149303625,-0.6065049967701641,0.8247117169798597 +3.6687055149303625,-0.20100664740860316,0.5953573145268665 +3.6687055149303625,-0.10385106196094471,0.5623656344665092 +3.7108745438376083,-1.119558115564117,0.6787140240435268 +3.7108745438376083,-0.06533735888892192,-0.0705471660087531 +3.7108745438376083,-0.1253302734482316,0.7238968565459329 +3.7108745438376083,-0.27425740152113576,0.17223681853463835 +3.7108745438376083,-0.05151403809952809,0.687012943622341 +3.7108745438376083,-0.22729948718218995,0.3144142024989206 +3.7108745438376083,-0.5274900835877125,-0.04989588735307249 +3.7108745438376083,-0.40674948180656867,0.6284327061266735 +3.7530435727448537,-0.1497140175621634,0.42114462668443386 +3.7530435727448537,-0.2482349552700403,0.4501425444697716 +3.7530435727448537,0.2600869640842468,-0.08245976800847532 +3.7530435727448537,0.03702374664211444,0.30880336518255125 +3.7530435727448537,-0.08466560498084119,0.404210691179939 +3.7530435727448537,-0.04470924427813516,-0.1845712303767877 +3.7530435727448537,-1.03973454698194,0.7218824484919615 +3.7530435727448537,0.47224631606556117,0.6720006291742195 +3.795212601652099,0.16388662220563413,0.34686661560639087 +3.795212601652099,0.15181499342377225,0.30416776107105714 +3.795212601652099,0.2156769524244984,0.6857502959412514 +3.795212601652099,0.21797244117701486,0.9273449779612472 +3.795212601652099,0.04486333277900523,0.9880770776096853 +3.795212601652099,0.1438242063141602,0.6623774354329204 +3.795212601652099,0.4315719122542388,0.7812361101092293 +3.795212601652099,0.008877246575222708,0.9130089259761667 +3.837381630559345,0.32065197406602997,0.4646360291368816 +3.837381630559345,0.07869007115898713,-0.12345230257835826 +3.837381630559345,0.2702581281603509,0.41603502197107467 +3.837381630559345,-0.17189928564701734,0.8633243555009149 +3.837381630559345,-0.3245800619953944,0.469086945908627 +3.837381630559345,0.28197143194073715,0.6115768037227067 +3.837381630559345,0.2724998688545218,0.7773382983379493 +3.837381630559345,0.07279901521509419,0.37478314812640645 +3.8795506594665903,0.6515490181551975,1.034488681301393 +3.8795506594665903,0.6502220864391437,0.726184089291789 +3.8795506594665903,0.23747606721690562,0.9038935092100963 +3.8795506594665903,0.47832695223661903,0.6848577380904766 +3.8795506594665903,0.282940437965367,0.4511951913283724 +3.8795506594665903,0.08854396791626762,0.815611172097916 +3.8795506594665903,-0.09882904342322396,0.648818077337719 +3.8795506594665903,0.2828035723570831,0.8143276276867928 +3.9217196883738357,0.42951018009480213,0.5466593547075842 +3.9217196883738357,0.40676725136983516,0.38791291070257317 +3.9217196883738357,0.5032936095924192,0.829045535447862 +3.9217196883738357,0.18781174854163663,0.8303302003413062 +3.9217196883738357,0.5768815474012928,0.340115315205508 +3.9217196883738357,0.6161350498662442,-0.021463487922080637 +3.9217196883738357,0.4100109047653182,0.6749416912076484 +3.9217196883738357,0.5179459604168563,0.6945258917497041 +3.9638887172810815,0.31595760169227094,0.6023950024057623 +3.9638887172810815,0.7292692283469285,0.9066562800204434 +3.9638887172810815,0.5993886739918572,0.5605548197563245 +3.9638887172810815,-0.2821900539335068,0.8798874802789002 +3.9638887172810815,0.597313184181331,0.791741874692244 +3.9638887172810815,0.44731378851860315,0.4031375270626044 +3.9638887172810815,0.5662037701852518,0.2801552693113105 +3.9638887172810815,0.22412679623074838,0.49086048467608057 +4.006057746188327,-0.3443948674907744,0.9688882613461531 +4.006057746188327,0.5205604942407951,0.4522675916448785 +4.006057746188327,0.5708241588898253,0.9730813976824279 +4.006057746188327,0.8909003967316442,1.0247621682073678 +4.006057746188327,0.5224349836013715,0.9375486515239118 +4.006057746188327,-0.5839138328243882,0.7524719565214204 +4.006057746188327,0.10091378224672498,0.9112924529711348 +4.006057746188327,0.10781738369063609,0.8288807495115309 +4.048226775095572,0.8107829544720303,0.09864708603905803 +4.048226775095572,0.5717319221566929,0.8509640035377565 +4.048226775095572,0.7158574699293305,0.523043428851945 +4.048226775095572,0.5008619495734685,0.739453112463984 +4.048226775095572,0.46400312464858784,1.126820475642334 +4.048226775095572,0.12500227323311286,0.8090800332811977 +4.048226775095572,0.6313254717762127,0.575970287182318 +4.048226775095572,0.4448113295122696,0.8469671095694391 +4.090395804002818,0.32188694820818264,0.7416978974146133 +4.090395804002818,0.9859828014172257,0.867791683471337 +4.090395804002818,0.4347926360376474,0.8593459157494334 +4.090395804002818,0.1959945335853589,0.9727863787191513 +4.090395804002818,0.720595411813941,0.6735700541630607 +4.090395804002818,0.6543187580888419,0.7513882304573221 +4.090395804002818,0.3574878038182848,0.7444029245906855 +4.090395804002818,0.791697345097547,0.7845594430228862 +4.132564832910064,0.9073911687524429,0.6176592438937629 +4.132564832910064,0.764049942955914,0.19673305931645801 +4.132564832910064,0.08013365202572731,0.45368255733980234 +4.132564832910064,0.5529944497479043,0.5583128149085457 +4.132564832910064,0.292816170464696,0.6319222283204982 +4.132564832910064,0.77613346269661,0.5322329380187348 +4.132564832910064,0.010707997630555521,0.7168096482045824 +4.132564832910064,0.8696520682013119,0.4393958905341529 +4.174733861817309,1.0667739847190096,0.3354370445225766 +4.174733861817309,0.6637351555635185,0.5621000273298539 +4.174733861817309,0.8460062099426917,0.24474818016884925 +4.174733861817309,0.6622659724176589,0.08330923532613776 +4.174733861817309,0.48581138259636913,0.19441937964449707 +4.174733861817309,0.5951119478154366,0.5563866774256612 +4.174733861817309,0.2818750536655841,0.6144302607649856 +4.174733861817309,0.7188329906379363,0.5549913906476407 +4.216902890724555,0.11258783892735214,0.49186855596351337 +4.216902890724555,0.6273986441966457,0.5081997827681588 +4.216902890724555,0.4844996968933126,0.6355503384771246 +4.216902890724555,-0.06725607719345839,0.6069401236774805 +4.216902890724555,0.4456736394063274,-0.3478869575159008 +4.216902890724555,0.5134114659861775,0.8321721341632529 +4.216902890724555,-0.12876792384300872,0.13607153220042123 +4.216902890724555,0.7189817213133994,0.5730786304772996 +4.2590719196318005,0.7110229353785693,0.4941482454530035 +4.2590719196318005,0.811550199607657,0.8982704206321469 +4.2590719196318005,0.8926184439977626,0.6449865638247295 +4.2590719196318005,0.4759939111599907,0.5139345020115081 +4.2590719196318005,0.5541522750270761,0.80946664860031 +4.2590719196318005,0.7960514802329921,0.7111886616441716 +4.2590719196318005,0.7815236393325671,0.5669329871525564 +4.2590719196318005,0.886054632491005,0.7849071239591663 +4.3012409485390455,0.5125138295797036,0.5234261125145845 +4.3012409485390455,0.7129020425992304,0.5866846422018536 +4.3012409485390455,0.6475373698952077,0.5631435870352305 +4.3012409485390455,0.8360572266763714,0.05253720401141315 +4.3012409485390455,0.4722313250521927,-0.4230604433752555 +4.3012409485390455,0.4274952313474225,0.670814225218844 +4.3012409485390455,0.21853481191370094,0.4193338063402968 +4.3012409485390455,1.0683729328987044,0.4078200073841264 +4.343409977446291,0.3903370050786734,0.4474540409401522 +4.343409977446291,0.1384582815314841,0.2604750836622997 +4.343409977446291,0.10008474302558923,0.5803532876382216 +4.343409977446291,0.17112772229433193,0.7404283437797444 +4.343409977446291,0.32698200107667497,0.18940343268796006 +4.343409977446291,0.5667811838456476,0.6042985846828399 +4.343409977446291,0.07489639340344656,-0.049172853863341026 +4.343409977446291,0.48311727024372114,0.5719223399190946 +4.385579006353537,0.746630149111264,0.21468590856642777 +4.385579006353537,0.605980056391536,-0.29020601202102225 +4.385579006353537,0.41105356222036193,0.03378427015514929 +4.385579006353537,0.6809929952013544,-0.13474748935813108 +4.385579006353537,0.5368450520707271,0.39186726563273677 +4.385579006353537,0.10228873297937913,0.37019211271734986 +4.385579006353537,0.3319602610998132,0.5570087471936918 +4.385579006353537,0.5388798788993554,0.4765068310224381 +4.427748035260782,0.06008252064670172,0.010656968380892917 +4.427748035260782,0.5600767977664496,-0.17548878200755746 +4.427748035260782,0.46883274333998104,-0.31964911762627346 +4.427748035260782,0.40678191903062516,0.007438063988255861 +4.427748035260782,0.6090963244957951,-0.03275947859938377 +4.427748035260782,0.3035328897161792,0.3378250584305073 +4.427748035260782,0.7917860201436083,0.1998110498441903 +4.427748035260782,0.6132688952802116,0.07123002730995537 +4.469917064168028,0.30665530194743423,-0.12878620346968112 +4.469917064168028,0.8120690543268877,0.19471255638831836 +4.469917064168028,0.31705084747390905,0.49073095390865 +4.469917064168028,0.5402187820210637,0.23066516365060563 +4.469917064168028,0.22965833553360654,0.47418265528205206 +4.469917064168028,0.2748834132236878,0.13108225741325585 +4.469917064168028,0.06600098853413361,-0.18549122792042722 +4.469917064168028,0.6912694357314725,0.08623278282950497 +4.512086093075274,0.15168514865177546,-0.3936377997489818 +4.512086093075274,0.10041164738098729,0.10144775737057105 +4.512086093075274,0.4705092326085947,0.3336347373694117 +4.512086093075274,0.48423686510070646,0.4213753361808131 +4.512086093075274,0.36763742669022437,-0.4493785991836832 +4.512086093075274,0.35145482600571243,-0.3423488085606174 +4.512086093075274,0.024045210561054353,-0.2986874345849227 +4.512086093075274,0.4689471344825036,0.391718417914081 +4.554255121982519,0.031371691454143036,0.18578590487507268 +4.554255121982519,-0.09914674375700122,0.01739098318631499 +4.554255121982519,0.23755986712500954,-0.2294897286628847 +4.554255121982519,-0.18842205062152956,-0.21051306287338795 +4.554255121982519,0.47798423420488567,-0.4738291607100467 +4.554255121982519,-0.39687020247438404,0.2279488890808385 +4.554255121982519,-0.03271406633838447,-0.08753821209053436 +4.554255121982519,-0.2606715635121433,-0.15345078528841266 +4.5964241508897645,0.0794823255788022,0.0009246504118436416 +4.5964241508897645,0.07695063878921105,0.023982933083914637 +4.5964241508897645,-0.0030166136677452493,-0.12963497701712254 +4.5964241508897645,0.08386659077096309,-0.4356498239300264 +4.5964241508897645,0.46828417920808085,0.04509626615285736 +4.5964241508897645,0.09721355325681133,0.10826932619462347 +4.5964241508897645,0.21916704308295878,0.16593443095244687 +4.5964241508897645,0.25968353645966746,0.2055910064223473 +4.63859317979701,-0.7406202872465596,0.1913353396665375 +4.63859317979701,0.30942263617414056,-0.44917217217061167 +4.63859317979701,-0.1905109499758835,-0.009020117220277651 +4.63859317979701,0.0735996455086852,-0.20905728113660715 +4.63859317979701,-0.5435605864638224,-0.21262587024597246 +4.63859317979701,-0.29891690606274357,-0.5602536675304535 +4.63859317979701,0.27265805686787264,-0.5807880264968731 +4.63859317979701,-0.05165923949940307,-0.16055896035649542 +4.680762208704255,-0.3117079502532066,-0.03777799518797838 +4.680762208704255,0.07694069983018728,0.06344831568530933 +4.680762208704255,0.0696209653586595,-0.018191620999396196 +4.680762208704255,-0.7459957706965499,-0.06317059462601264 +4.680762208704255,-0.3676012666777374,-0.02029069021278948 +4.680762208704255,-0.3299842748622659,-0.8656973928401455 +4.680762208704255,-1.2265409049923537,0.0036284481843520747 +4.680762208704255,-0.0692087099129549,0.0027822161085968994 +4.722931237611501,-0.5062392265547682,-0.5777353054172067 +4.722931237611501,-0.6933622935091012,-0.32749036257897984 +4.722931237611501,-0.5759165584566831,-0.49026339103622035 +4.722931237611501,-0.658417338379791,-0.7515556918883746 +4.722931237611501,-0.1503268874403669,-0.36212886113170806 +4.722931237611501,-0.120908062781129,-0.2077600986611527 +4.722931237611501,-1.115211986225006,-0.4618353073727704 +4.722931237611501,-0.5704626336923605,-0.14403471290434527 +4.765100266518747,-0.5520673463412735,-0.2950716793668678 +4.765100266518747,-0.8764018623067932,-0.1849071251679485 +4.765100266518747,-0.2803294711391046,-0.13409627357243853 +4.765100266518747,-1.4243535267239547,-0.418781366517726 +4.765100266518747,-0.7124366731178006,-0.24163777002872033 +4.765100266518747,-1.1102949739112775,-0.4536576864247449 +4.765100266518747,-0.7442193530472957,-1.15818102220201 +4.765100266518747,-1.0523017599662023,-0.22001601365776868 +4.807269295425992,-0.45476069024246446,-0.45406371878487173 +4.807269295425992,-0.5864773158860648,-0.16551301179050434 +4.807269295425992,-0.3117321843331514,-0.2705822241514043 +4.807269295425992,-0.8484166250992413,-0.43448931920424677 +4.807269295425992,-0.24981378577988783,-0.22052481931105644 +4.807269295425992,-1.757145527384256,-0.09761358802516915 +4.807269295425992,-0.5129852283532319,-0.6151541810173266 +4.807269295425992,-0.4736646606394955,-1.2816883904526788 +4.849438324333238,-0.45477705449246086,-1.1613332578471187 +4.849438324333238,-1.7213726743338489,-0.34481502768536215 +4.849438324333238,-1.6624917421600458,-1.158163970828082 +4.849438324333238,-0.41722104924838455,-0.48965674997396214 +4.849438324333238,-0.464711393895754,-0.449940629957443 +4.849438324333238,-1.08382831423522,-0.4905583321649116 +4.849438324333238,-0.6619023171892593,-0.6256159953620299 +4.849438324333238,-1.093260549060266,-0.9610547849077138 +4.891607353240484,-0.660579763389354,-0.6184874591417411 +4.891607353240484,-0.5471415396775755,-0.9626390185640918 +4.891607353240484,-0.9884207762536157,-0.8144620819217943 +4.891607353240484,-0.8550152377082769,-0.8212999180927576 +4.891607353240484,-0.7882865185708965,-0.6409360026314117 +4.891607353240484,-0.43864855641369616,-0.4435642756357955 +4.891607353240484,-1.5559002074133166,-0.8148051448254392 +4.891607353240484,-1.171841202892717,-1.2569726152783847 +4.933776382147729,-1.2599857497338305,-1.3385467828180464 +4.933776382147729,-0.46073081497919727,-1.0655243337604972 +4.933776382147729,-0.8967140535517546,-1.170177349095085 +4.933776382147729,-0.7282695407483235,-0.6151276679596454 +4.933776382147729,-0.6904521472095817,-0.47712859104080874 +4.933776382147729,-1.0235167032114414,-1.1547186700635783 +4.933776382147729,-0.9921088907276825,-1.051202435839792 +4.933776382147729,-1.1330745088893068,-0.5338436221848889 +4.975945411054974,-0.8798582129065746,-0.5714184253493032 +4.975945411054974,-1.322775567174169,-0.6386406783233776 +4.975945411054974,-0.8775290797711311,-1.0086434916258127 +4.975945411054974,-1.259102635338172,-0.8979632569540528 +4.975945411054974,-1.5962070975951184,-0.9259966938479172 +4.975945411054974,-0.8059502244441443,-1.1017794343298137 +4.975945411054974,-0.6211540294724616,-1.1282887952140528 +4.975945411054974,-0.85696414606494,-0.7015963184441296 +5.01811443996222,-1.0904894813737371,-1.1457424746424754 +5.01811443996222,-1.0923011569741918,-1.8344163448409492 +5.01811443996222,-1.599144480275927,-0.9756321885235498 +5.01811443996222,-1.2391225710795832,-0.8796703617059081 +5.01811443996222,-1.2550724005505864,-1.2943077492951542 +5.01811443996222,-1.792572887477336,-1.184079721483913 +5.01811443996222,-1.1016556633682586,-1.117704053142678 +5.01811443996222,-1.0017379782068132,-1.0743842125361052 +5.060283468869466,-0.9771997344247072,-1.2696461003245294 +5.060283468869466,-1.4274517785765695,-1.2060618758298793 +5.060283468869466,-1.2611325908545912,-1.3667583688312452 +5.060283468869466,-1.1812758673049542,-1.486056677730267 +5.060283468869466,-1.073243786013746,-1.0831259733602465 +5.060283468869466,-0.9335911063144332,-1.0264046883528708 +5.060283468869466,-1.3492917648791125,-1.141343356961837 +5.060283468869466,-1.2472168231608363,-1.0646793001074488 +5.102452497776711,-1.4440638909914942,-1.277569804800618 +5.102452497776711,-1.2815691243756575,-1.4637226714220166 +5.102452497776711,-1.1671092365016433,-0.7665131412598564 +5.102452497776711,-1.5349104824078366,-0.918516785606149 +5.102452497776711,-1.676137210059144,-1.3586262023150228 +5.102452497776711,-1.6961539159581691,-1.0674422491624709 +5.102452497776711,-1.3843983804370326,-0.8412977646302502 +5.102452497776711,-1.572327946110128,-1.381454432576842 +5.144621526683957,-1.1144376247863823,-1.5088982503150419 +5.144621526683957,-1.1143968488253408,-0.9844668459135686 +5.144621526683957,-1.063807601578441,-1.8058985490941462 +5.144621526683957,-1.4150281178032302,-0.8111697026653569 +5.144621526683957,-1.1964551667177563,-1.1627014706335808 +5.144621526683957,-1.7948863163352184,-1.2413524340122422 +5.144621526683957,-1.3946883562352383,-1.4646274024574453 +5.144621526683957,-1.9462560874008883,-1.3886606601933726 +5.186790555591203,-1.5803718707500636,-1.0675839812161718 +5.186790555591203,-1.1039715918637378,-1.3747949838300326 +5.186790555591203,-1.3927989840498356,-0.7159611361294109 +5.186790555591203,-1.115588590169129,-0.8045009130876698 +5.186790555591203,-1.2103709551651642,-1.2120728077928937 +5.186790555591203,-2.262402851932084,-1.1269194034988304 +5.186790555591203,-1.0588715623349558,-0.991409215809824 +5.186790555591203,-0.953217910809038,-1.3065371595155868 +5.2289595844984476,-1.3988815274099275,-1.1574579118913424 +5.2289595844984476,-1.2366898559268524,-1.1841626388798354 +5.2289595844984476,-1.6708965009528514,-1.2824437534596986 +5.2289595844984476,-1.2653384884457255,-1.0456473599931155 +5.2289595844984476,-1.4527113598762624,-1.2378884103436278 +5.2289595844984476,-1.0225017523322733,-1.0208443678737336 +5.2289595844984476,-1.0189821888484596,-1.349562163531869 +5.2289595844984476,-1.853970942205288,-1.3571058906177274 +5.271128613405693,-1.532016034941393,-1.0759326892813132 +5.271128613405693,-2.137182380534343,-1.1893692137594332 +5.271128613405693,-1.83650365436482,-1.2388260043185002 +5.271128613405693,-1.4808989812085374,-0.6688398927789376 +5.271128613405693,-1.6413720429151146,-1.233726090274799 +5.271128613405693,-1.048972605058441,-1.4954221829469436 +5.271128613405693,-1.0287801255600155,-1.219270367110116 +5.271128613405693,-1.2901891564537207,-1.076662818318278 +5.313297642312939,-0.9702567918047827,-0.8978295307719982 +5.313297642312939,-1.2015301637630822,-1.4192300589168014 +5.313297642312939,-1.4504639749345551,-0.9282354994612838 +5.313297642312939,-1.6818943193165932,-1.1323065267642418 +5.313297642312939,-1.7225220779875812,-1.5335817688436606 +5.313297642312939,-1.1528066185390382,-1.3225052665370294 +5.313297642312939,-1.34900802831527,-2.0679537082604194 +5.313297642312939,-1.3903748670135234,-1.4455367032376838 +5.355466671220184,-1.2769071499983657,-1.3182529365606885 +5.355466671220184,-1.249443779451955,-1.1846165731794842 +5.355466671220184,-1.034233824133416,-0.7995987627215345 +5.355466671220184,-1.4315982525865407,-1.5393822568187299 +5.355466671220184,-1.3098591409992868,-1.1613243630495356 +5.355466671220184,-1.5604096787367954,-1.7472516803764329 +5.355466671220184,-1.3054293580840461,-1.1052296675000264 +5.355466671220184,-1.3091525479432389,-1.1416168672471092 +5.39763570012743,-2.389005538421737,-0.8707648449940355 +5.39763570012743,-1.3205346516034882,-1.1461695417431093 +5.39763570012743,-1.201058201727951,-1.1138443764578247 +5.39763570012743,-1.0474025820325121,-1.8009996779687252 +5.39763570012743,-1.2226912905525469,-1.3964667015755947 +5.39763570012743,-0.9986491796565866,-1.6844711523728948 +5.39763570012743,-1.7088162582238846,-0.9125319780084536 +5.39763570012743,-1.7391451366636832,-1.313587238246262 +5.439804729034676,-1.3343846055794448,-1.1949396145487892 +5.439804729034676,-1.390612046784587,-1.902989884043261 +5.439804729034676,-1.9791149965403463,-0.9221680439883103 +5.439804729034676,-0.9896619519733396,-1.0821918866241005 +5.439804729034676,-1.1075845368576065,-1.1450545748302063 +5.439804729034676,-0.9938424082197881,-1.2659988700673883 +5.439804729034676,-1.0895087776401788,-0.9646351727671065 +5.439804729034676,-0.9176004248449123,-1.3664286748146397 +5.481973757941921,-1.1035360834274806,-1.0976214109758 +5.481973757941921,-0.8364954769278687,-1.685393936134385 +5.481973757941921,-1.1042801637009998,-1.0022780183878521 +5.481973757941921,-0.8385115881752108,-1.4756842149840805 +5.481973757941921,-1.3854025629259104,-1.0862412096619813 +5.481973757941921,-1.523349238431071,-1.3778022710387487 +5.481973757941921,-1.3902640358220508,-1.4220803486016724 +5.481973757941921,-1.285571781633256,-1.7427807511138909 +5.524142786849167,-0.73305217882285,-1.4559574003108087 +5.524142786849167,-1.033386590407034,-1.667593386982774 +5.524142786849167,-1.0008545417645631,-1.5524502532691913 +5.524142786849167,-0.7548920445541867,-1.1010799951228112 +5.524142786849167,-0.6453175721653495,-1.3375723939533088 +5.524142786849167,-1.2658565983769656,-0.8589373640210325 +5.524142786849167,-1.8108114335585992,-1.582970529326314 +5.524142786849167,-1.1031405171179012,-1.602670330452499 +5.566311815756412,-1.0586189308871978,-1.6699519558631215 +5.566311815756412,-0.7294060792142789,-1.1589351282951736 +5.566311815756412,-0.8355317336108717,-1.1121410790941557 +5.566311815756412,-0.3626714456435236,-1.2192857056051338 +5.566311815756412,-1.113822950923995,-1.1270969871198733 +5.566311815756412,-0.9701854010863395,-0.982830354405904 +5.566311815756412,-1.26985716060962,-1.5991334354012046 +5.566311815756412,-0.957316467931755,-1.5203659722854646 +5.608480844663657,-0.5900152291901293,-2.064673083981443 +5.608480844663657,-0.5695478455236099,-1.2897175552542113 +5.608480844663657,-0.4079754605262952,-1.2256214610080978 +5.608480844663657,-1.0335223546392682,-1.1296108445491626 +5.608480844663657,-0.850682858063569,-1.4107548029904526 +5.608480844663657,-0.6184981980512618,-1.8599662748621846 +5.608480844663657,-0.5761764850012729,-1.157711999350962 +5.608480844663657,-0.5867660897629179,-1.0164223306743854 +5.650649873570903,-0.5047615835344359,-1.6250289588921518 +5.650649873570903,-0.25952907970100686,-1.3423827905402173 +5.650649873570903,-1.2603633760219781,-1.4928782320959737 +5.650649873570903,-0.742687613551108,-1.0611653066443172 +5.650649873570903,-0.18348073066584508,-1.5359757736558137 +5.650649873570903,-0.4907756591903828,-1.0898067641594742 +5.650649873570903,-0.7273736699764115,-1.178547873389999 +5.650649873570903,-0.7695536612487528,-1.4693663369198107 +5.692818902478149,-0.5555918202086976,-1.3952819231286753 +5.692818902478149,-0.5433976168165963,-1.415410403751118 +5.692818902478149,-0.5322310728296424,-1.1306998094992182 +5.692818902478149,0.08289354569336521,-0.9595200022986611 +5.692818902478149,-0.5286438838687241,-1.292690752201076 +5.692818902478149,-0.7123075993094923,-0.9857995905217769 +5.692818902478149,-0.5311878880701215,-0.9963293774528608 +5.692818902478149,-0.6052440416716452,-0.9708286618789471 +5.734987931385394,-0.3899913029047108,-1.5616030111427586 +5.734987931385394,-0.29225588172056083,-0.8735116170535041 +5.734987931385394,-0.5955410879776334,-1.9804119629996988 +5.734987931385394,-0.7772313659196206,-1.1841211507603733 +5.734987931385394,-0.03822261423279699,-1.049398808807104 +5.734987931385394,-0.8446194446749268,-0.9839832316617281 +5.734987931385394,-0.32499255347230505,-0.9656792608129258 +5.734987931385394,-0.4566452204753509,-1.269766189070354 +5.77715696029264,-0.2246639364957645,-0.8518648456229243 +5.77715696029264,0.03552036847586226,-0.9704777345358678 +5.77715696029264,-0.25300593116614223,-0.97921627211785 +5.77715696029264,-0.4906552160942362,-1.0901498130274643 +5.77715696029264,0.10643348259855828,-1.1130739396016216 +5.77715696029264,0.02413639328293052,-1.5419184043828271 +5.77715696029264,-1.309022791023277,-1.0412973525574398 +5.77715696029264,-0.6449273123129005,-1.100014939776714 +5.819325989199886,-0.6731938009477753,-1.0511791708078135 +5.819325989199886,0.03315580428908968,-1.1081962330644521 +5.819325989199886,-0.12417836357680087,-1.1673013498724543 +5.819325989199886,-0.012483766898141319,-1.019564941344227 +5.819325989199886,-0.17568523935131933,-1.2348110708151485 +5.819325989199886,-0.5595125998021158,-1.2344327338187775 +5.819325989199886,-0.26068796934370264,-0.8087650279960126 +5.819325989199886,-0.386490971492089,-0.9360760957958915 +5.861495018107131,-0.008810932884585954,-0.9779755678954009 +5.861495018107131,-0.5568241052263915,-0.8649328376580346 +5.861495018107131,-0.052276370120333926,-0.9641397216266103 +5.861495018107131,0.1490128339269858,-1.186987692589493 +5.861495018107131,0.413686205804798,-0.8665895357526228 +5.861495018107131,-0.6063851911930821,-1.2758789566725879 +5.861495018107131,-1.225001062289809,-1.3574788035978362 +5.861495018107131,0.07228866465508815,-0.9364931484733311 +5.903664047014376,0.12152038108281105,-1.310813319358026 +5.903664047014376,0.4161949992813426,-1.0001187406321848 +5.903664047014376,-0.33854358622763125,-0.8363031298532064 +5.903664047014376,-0.38274550928868156,-1.2709571259521177 +5.903664047014376,0.031189312413788806,-1.3892305339738256 +5.903664047014376,0.2816140237611553,-1.0184503407480539 +5.903664047014376,-0.7641383506723588,-0.874830241235524 +5.903664047014376,-0.6261018709743552,-1.1225791170293784 +5.945833075921622,0.17864595687958945,-0.8506771311376344 +5.945833075921622,0.17648717761160215,-1.4895590104042045 +5.945833075921622,0.04930690206125743,-1.497379170023759 +5.945833075921622,-0.5097435542436847,-0.9543907616478879 +5.945833075921622,-0.32134582943776036,-0.7164346069701378 +5.945833075921622,-0.3378248351622092,-1.21780624352064 +5.945833075921622,0.39004878548156974,-1.6867790783956589 +5.945833075921622,0.47661720017271425,-1.50695255195415 +5.988002104828868,0.6024701737361361,-0.8245632158183761 +5.988002104828868,0.691348323298278,-0.5980847892166626 +5.988002104828868,-0.08608904830694952,-1.5816472822220695 +5.988002104828868,-0.22505128422399756,-1.164268774635641 +5.988002104828868,0.0010132851860904513,-0.5962195713138144 +5.988002104828868,0.5623785429314679,-0.9728261566179204 +5.988002104828868,-0.2243781924864091,-0.5300696343244599 +5.988002104828868,0.22321102441829843,-0.8366168594071836 +6.030171133736113,0.21493065298763003,-0.9404060433292629 +6.030171133736113,-0.06313848201113714,-0.768477355299796 +6.030171133736113,0.23758124513644885,-0.5405269274789554 +6.030171133736113,0.32117664094966214,-0.8437588175802353 +6.030171133736113,0.21899825127531913,-0.965850206639113 +6.030171133736113,0.11858108059582861,-0.595583381737231 +6.030171133736113,0.3417629626392086,-0.9426111302299437 +6.030171133736113,0.4777642368530136,-1.6536430702872311 +6.072340162643359,0.9224436516112632,-1.0929289297462572 +6.072340162643359,0.6532535890900453,-1.4700964409412658 +6.072340162643359,0.5585951985022546,-0.563692975312351 +6.072340162643359,0.821394833816677,-0.3060413657797935 +6.072340162643359,0.37420380463955993,-0.7029608933405451 +6.072340162643359,0.7682194650433359,-1.2284485955768785 +6.072340162643359,0.49451519044915165,-0.9599458492124238 +6.072340162643359,-0.5768888106207773,-0.693168843847866 +6.114509191550605,0.8164658953766278,-0.3666606622846118 +6.114509191550605,0.6915109955905943,-0.5975201782913284 +6.114509191550605,0.7088773694529017,-0.4140304725295098 +6.114509191550605,0.6943051091257586,-0.34037832855776023 +6.114509191550605,0.5891931024034922,-1.215338799551973 +6.114509191550605,0.7140488491165993,-1.3566828456319977 +6.114509191550605,0.8352179409723758,-0.5887039693976138 +6.114509191550605,0.33620620078616426,-0.48913950135864664 +6.15667822045785,0.8402604922704077,-0.38336118185227946 +6.15667822045785,-0.3138223507672502,-0.4818581615586198 +6.15667822045785,0.437518426884014,-0.44576757438349324 +6.15667822045785,0.5754356801039341,-0.40092379491816965 +6.15667822045785,0.21250566557552963,-1.3576096932190194 +6.15667822045785,-0.1951553291170447,-0.47637713388558534 +6.15667822045785,0.37960885765475905,-0.7961344399702749 +6.15667822045785,0.004154446396004152,-0.30371182408943054 +6.1988472493650955,0.8191707956648294,-0.6013125011096133 +6.1988472493650955,0.7797081735300169,-0.08697176380637546 +6.1988472493650955,0.7485025030163135,-0.410768993936468 +6.1988472493650955,0.42529269620872523,-0.18897604400070409 +6.1988472493650955,0.7258424929755269,-0.20171783817381878 +6.1988472493650955,0.28757667456849123,-0.9763610920943266 +6.1988472493650955,0.746109890262806,-0.39355297947024487 +6.1988472493650955,1.0722871842591093,-0.21293267966786955 +6.241016278272341,0.9631257561192645,-0.6902486787064589 +6.241016278272341,0.3996561046570024,-0.11857048613051076 +6.241016278272341,1.014822768108261,-0.25066582103844515 +6.241016278272341,1.0623328130564023,0.04402659866012171 +6.241016278272341,0.5061630175674401,0.00989811051324413 +6.241016278272341,0.7050996668995417,-0.1608016719593054 +6.241016278272341,0.394076783720513,-0.19909850104172283 +6.241016278272341,0.7016496159978652,-0.20516061685385478 +6.283185307179586,0.7388128644096605,-0.16491999002351576 +6.283185307179586,0.7608849374598478,-1.09893380876362 +6.283185307179586,0.5238885042193966,-0.27984167088079553 +6.283185307179586,0.6442094592024437,-0.47826230221823895 +6.283185307179586,0.8877143923093558,-0.4044252686360466 +6.283185307179586,0.9851854873588136,-0.5014637204410138 +6.283185307179586,1.122919957489108,-0.18672971428736557 +6.283185307179586,1.0019647790546997,-0.3410022243223445 diff --git a/week10/TRI.csv b/week10/TRI.csv new file mode 100644 index 0000000..14c0ef9 --- /dev/null +++ b/week10/TRI.csv @@ -0,0 +1,1201 @@ +t,x,y +0.0,0.6594753349706,0.9339420069485739 +0.0,0.29075110361009593,-0.013085361299413956 +0.0,1.356747314882405,-0.297871946414992 +0.0,1.3173276874053161,0.46503460116511885 +0.0,1.4781070710487008,-0.022804350349129393 +0.0,0.8075533953554865,0.13948134205440776 +0.0,1.2920892288369301,-0.561042061026132 +0.0,1.6366406945175695,0.6690757958282215 +0.04216902890724555,1.4486202703313897,0.289253206784154 +0.04216902890724555,0.9184235289793306,-0.25192602035998746 +0.04216902890724555,0.80111318785136,0.01830289317712025 +0.04216902890724555,1.0575094367327085,0.14168867939490803 +0.04216902890724555,0.4810678602601859,-0.43780289577945425 +0.04216902890724555,1.052774734616025,-0.912443481375832 +0.04216902890724555,1.455440354072814,0.844513285023357 +0.04216902890724555,1.3564463714599164,0.1709063918301431 +0.0843380578144911,1.3514854580667808,0.9413268940443105 +0.0843380578144911,1.5347067219659536,0.3626603420751538 +0.0843380578144911,1.1655166409473532,1.2716331443831725 +0.0843380578144911,1.9323083326040846,0.20484880486467405 +0.0843380578144911,0.9474251354262322,-0.4591993069319298 +0.0843380578144911,0.14155597647281748,0.3465171604456586 +0.0843380578144911,0.9056325763020843,-1.0936226151240205 +0.0843380578144911,1.0728733564770434,-0.5762989649729755 +0.12650708672173663,0.12827903382725814,0.292470829453263 +0.12650708672173663,1.717062422503525,-0.3593480474322329 +0.12650708672173663,0.9591597860078671,0.020100212022026498 +0.12650708672173663,0.1337761614421502,-0.046538428367595586 +0.12650708672173663,0.9022605020568221,0.8485220720048606 +0.12650708672173663,1.9589808859924036,-0.1336020617438824 +0.12650708672173663,1.126424760810902,1.3366225578899515 +0.12650708672173663,2.1851423186224297,0.13665587452587968 +0.1686761156289822,1.0501383443081882,1.3826658616312213 +0.1686761156289822,1.9267548718699068,0.23271111868744554 +0.1686761156289822,0.5619391967312742,1.319093276684824 +0.1686761156289822,1.027391666250469,0.6832826968972817 +0.1686761156289822,1.5855911203112498,0.8805061674552233 +0.1686761156289822,1.0485615042732912,0.4379493316213576 +0.1686761156289822,2.0863202152664586,0.34361999770221135 +0.1686761156289822,0.6118693078584206,0.5969639039569011 +0.21084514453622774,1.1019432637594695,0.939527536808713 +0.21084514453622774,0.7597578963182195,1.6126705723488848 +0.21084514453622774,0.3284544189656037,-0.34491131641140116 +0.21084514453622774,0.3738417374702404,-0.5058687370832505 +0.21084514453622774,0.2777189471159974,1.0423945500370704 +0.21084514453622774,1.8234279367804813,0.3726101384826635 +0.21084514453622774,0.10474613066077365,-0.03999562828745484 +0.21084514453622774,1.1823447555331137,0.12433301836512001 +0.25301417344347327,0.6860199040093699,1.6540065093701593 +0.25301417344347327,0.03579591224660139,0.8989501122786261 +0.25301417344347327,0.22646468363130307,0.6554956950092289 +0.25301417344347327,1.2252204831757472,-0.08306369366107891 +0.25301417344347327,1.3956028780620995,1.0249802982872152 +0.25301417344347327,1.2449546523590138,0.6284773268542545 +0.25301417344347327,0.6100255045245959,-0.7606334038297015 +0.25301417344347327,0.4514986730710253,0.7480108741365459 +0.2951832023507188,0.12268208393772095,0.5994083338547155 +0.2951832023507188,0.625368275273682,1.125987516673534 +0.2951832023507188,0.035550740918723345,1.1328273710079952 +0.2951832023507188,0.6879212638133057,0.47105137745928394 +0.2951832023507188,0.4797411179763907,-0.1404910608477935 +0.2951832023507188,-0.20322013427152497,0.0982761017074878 +0.2951832023507188,0.5542061905627135,-0.0759250104855217 +0.2951832023507188,1.2601997722160312,0.6953088694924237 +0.3373522312579644,0.633550877524574,-0.2079465242149977 +0.3373522312579644,1.4425008360480025,0.48970060935843984 +0.3373522312579644,0.45491520032979793,0.5690651659553875 +0.3373522312579644,0.6066359715541045,1.0781672256005916 +0.3373522312579644,1.613362010118873,0.4202732546692499 +0.3373522312579644,0.5531789473048498,0.025852962378123068 +0.3373522312579644,0.32765720361465345,-0.17408810432892496 +0.3373522312579644,0.23013614830172519,0.3865833913630934 +0.37952126016520993,0.818561430495718,0.7515909417915847 +0.37952126016520993,0.9609740477957244,0.7669076911752025 +0.37952126016520993,0.06406669497435569,0.4498921530905269 +0.37952126016520993,0.33960020758912735,-0.5796075895232315 +0.37952126016520993,-0.3234826774176325,1.1985916930922946 +0.37952126016520993,1.314641024641035,0.41901508556874983 +0.37952126016520993,0.5801438001926181,1.5065176445948418 +0.37952126016520993,0.1228385024883557,1.298091843855218 +0.4216902890724555,0.5592329107041238,0.21742912610391718 +0.4216902890724555,0.24891604030781236,0.8329715840266837 +0.4216902890724555,0.2631585101616892,0.8931251844721626 +0.4216902890724555,0.36668843882437224,1.9503210673782516 +0.4216902890724555,0.40606146033697155,1.704507141543492 +0.4216902890724555,1.495901439869374,0.8061829910425256 +0.4216902890724555,-0.02418884690608053,0.4077374530551942 +0.4216902890724555,0.7837534342453691,1.2442744702129456 +0.46385931797970104,1.0396224107539371,0.6404402728130772 +0.46385931797970104,-0.49966012070100496,0.7778951325453385 +0.46385931797970104,-0.08566273857622606,0.11590181424326362 +0.46385931797970104,0.05805882097064066,0.2553970236201012 +0.46385931797970104,0.6597675241881665,0.9079763658948351 +0.46385931797970104,0.8221964255566864,0.31262635404512495 +0.46385931797970104,0.7936259486435285,1.047608867362719 +0.46385931797970104,0.06957051057253888,1.3290620327226452 +0.5060283468869465,-0.9019271624779459,0.9813350466270458 +0.5060283468869465,0.3178506640757702,0.9114919691448248 +0.5060283468869465,-1.0220669967173885,1.0241860207946691 +0.5060283468869465,0.8263234168608271,0.7957292177875228 +0.5060283468869465,-0.614770279132724,1.0563578397308389 +0.5060283468869465,-0.04645886626643112,1.500529684033809 +0.5060283468869465,-0.3366109852781734,1.070913395294216 +0.5060283468869465,0.3005006622709966,0.2790659120705019 +0.5481973757941921,-0.559280526418752,1.750385256587715 +0.5481973757941921,-0.2863821819616147,0.5665182380483502 +0.5481973757941921,0.11364751269061525,1.1943400909791504 +0.5481973757941921,0.04179132199962572,1.7454065767684073 +0.5481973757941921,-1.4032649926722862,0.9697782289931051 +0.5481973757941921,-0.23141487111594194,1.7611542235613427 +0.5481973757941921,-0.3637662441571235,1.607255360239931 +0.5481973757941921,-0.40657087492081195,0.1260617731885143 +0.5903664047014376,0.7552966786901487,1.035301266532025 +0.5903664047014376,-1.2028836280795343,0.7358908776359114 +0.5903664047014376,0.7525647081651832,0.9222521724418082 +0.5903664047014376,0.03802517366939659,1.6901353535867527 +0.5903664047014376,-0.637609270040328,1.4203304139964694 +0.5903664047014376,0.11959291908578004,0.3779282053530363 +0.5903664047014376,-0.5105334587585886,0.6279236714761782 +0.5903664047014376,-0.5868142886423663,1.4013498904876462 +0.6325354336086833,-0.024058200596140777,1.4807335129717933 +0.6325354336086833,0.5119653091600922,0.9148213341545005 +0.6325354336086833,-1.4857263524060085,0.8457220223798868 +0.6325354336086833,-0.5630434183442379,-0.004864398545063819 +0.6325354336086833,0.08325917715828929,1.1017916038649638 +0.6325354336086833,0.49686454912969286,1.2001174567289632 +0.6325354336086833,-0.7294261501188308,-0.018604807398673984 +0.6325354336086833,-0.035159059582459073,0.888594012391439 +0.6747044625159287,-0.9212226165093013,1.557501429391591 +0.6747044625159287,0.47635463624201313,1.2279730442751418 +0.6747044625159287,-0.560991562470643,0.9915524147167539 +0.6747044625159287,-0.5079604210743054,2.315886040778005 +0.6747044625159287,-1.1331386430768544,0.9224010932685867 +0.6747044625159287,0.08519995976563854,0.10746355285782783 +0.6747044625159287,-1.0762036249875366,0.22580391262404764 +0.6747044625159287,0.22074151251822793,0.28390840359028535 +0.7168734914231742,0.007801655383817274,0.9636555150896489 +0.7168734914231742,-0.18163225102568759,0.7937821185054377 +0.7168734914231742,-0.8873438427922641,0.38860410458168104 +0.7168734914231742,-0.9757154863143953,0.6612168037811124 +0.7168734914231742,-0.9856854574942077,0.576590497867105 +0.7168734914231742,-1.2742115382601429,0.7478782307047176 +0.7168734914231742,0.36223104098749326,0.7987597881921621 +0.7168734914231742,0.013467961109796756,0.33821010225550496 +0.7590425203304199,-0.17701355518336453,0.8042793907595649 +0.7590425203304199,-0.6346738531300263,1.0623715595902932 +0.7590425203304199,-0.11833362576295359,1.668152912472719 +0.7590425203304199,-0.392586079325524,0.9769051741047896 +0.7590425203304199,-0.40595274538247783,2.0257056196262977 +0.7590425203304199,-1.43931575173134,1.181914197428148 +0.7590425203304199,-1.2094586545441934,1.3678106293914156 +0.7590425203304199,0.2475895484871713,1.015239765562355 +0.8012115492376654,-0.1593118419766033,0.9878808791117325 +0.8012115492376654,-0.7382252110126775,0.42510399108769525 +0.8012115492376654,-0.03875855927816252,0.9364179143858667 +0.8012115492376654,-1.750060524129092,0.5980650559642728 +0.8012115492376654,-0.645512544185759,-0.024861440153656322 +0.8012115492376654,-0.9412058621102177,0.4584453430175327 +0.8012115492376654,-0.1298422834347419,0.3213510917528739 +0.8012115492376654,-0.37991202149615305,1.970550404909274 +0.843380578144911,-0.8124565241023038,0.48684146259962224 +0.843380578144911,-1.070124936117497,1.0990489269310286 +0.843380578144911,-0.8790003000451196,0.05325992949461045 +0.843380578144911,0.03420888320849991,1.1568932803998158 +0.843380578144911,-1.513303516663017,1.3489114392058061 +0.843380578144911,-0.3642368910118651,1.0001562769798562 +0.843380578144911,0.12024492899021744,0.573803488890922 +0.843380578144911,-0.4672048337613775,1.3081705650349365 +0.8855496070521565,-1.0847494267523383,2.0658675320829065 +0.8855496070521565,-0.8613333671635152,2.1609504749252295 +0.8855496070521565,-0.6697012977774164,0.7994283562127301 +0.8855496070521565,-1.2027021547981993,1.1991123438234335 +0.8855496070521565,0.07273767472851689,1.1086772781811243 +0.8855496070521565,-0.7390188557576787,2.0171529534989827 +0.8855496070521565,-0.7452536773045297,2.1949682444474634 +0.8855496070521565,-0.6386542520736953,0.11152825119514753 +0.9277186359594021,-1.1895654946511685,0.11613379245448907 +0.9277186359594021,-1.205340135515492,1.5516166452827118 +0.9277186359594021,-0.5468348897538584,1.6994014552285759 +0.9277186359594021,-1.1919742074921542,-0.18299542951159975 +0.9277186359594021,-1.3092306249826384,0.200401530281194 +0.9277186359594021,-0.2888018779127265,0.3159392325965894 +0.9277186359594021,-0.6970224205024599,0.29176958489125926 +0.9277186359594021,-0.6779312505075283,1.1172246656398759 +0.9698876648666476,-0.8775872568128179,0.8238149666461552 +0.9698876648666476,0.07511005056434428,1.1741798722478745 +0.9698876648666476,-1.2834368046567086,1.2900418534660498 +0.9698876648666476,-1.4995616787589403,1.619813363012124 +0.9698876648666476,-1.0944333020099004,0.7087470932814364 +0.9698876648666476,-1.7092900072104213,0.5049267665891045 +0.9698876648666476,-0.7923426068733241,0.1527869979884534 +0.9698876648666476,-0.9559415179371126,1.041366438941349 +1.012056693773893,-1.8745752451266442,0.5795102495756959 +1.012056693773893,-0.37961189828822783,0.6342436783993961 +1.012056693773893,-1.349257474417962,1.1673573682478926 +1.012056693773893,-0.8050189959855284,0.7928270017545052 +1.012056693773893,-1.4018200508597065,0.8038684854566545 +1.012056693773893,-0.6163385915193561,1.7628767033170714 +1.012056693773893,-1.540248452180447,0.24199938990101078 +1.012056693773893,0.13177733941417036,0.8781913939408998 +1.0542257226811387,-0.9434830943799162,2.185366599518226 +1.0542257226811387,-2.209126674703181,0.8754409571007612 +1.0542257226811387,-1.68082985611458,1.152844542209564 +1.0542257226811387,-1.031557618820004,0.6598450176758435 +1.0542257226811387,-1.198099018849554,1.4369299989790778 +1.0542257226811387,-1.7908419078049214,0.3313326767948681 +1.0542257226811387,-1.2249438971231559,0.19802518063900698 +1.0542257226811387,-1.1710272176141288,0.6001518494550715 +1.0963947515883843,-0.6684194210121992,0.02287696797154093 +1.0963947515883843,-0.8304664321706487,-0.34825623739798595 +1.0963947515883843,-1.6738883570570537,1.4133306816313962 +1.0963947515883843,-2.163758726069039,0.9003147225398621 +1.0963947515883843,-0.8535577694351908,1.337194426191805 +1.0963947515883843,-1.2457370162602746,1.4802351786561834 +1.0963947515883843,-1.5517510043454985,0.26354310517497737 +1.0963947515883843,-0.8331818067480738,1.214230346868408 +1.1385637804956297,0.11285027042551754,0.6264697177528518 +1.1385637804956297,-0.7411000366048327,1.0785626665898123 +1.1385637804956297,-0.9076766138664518,0.36397056096467334 +1.1385637804956297,-1.344737368816915,1.4845823020581816 +1.1385637804956297,-1.4273055150419616,1.2145680378475663 +1.1385637804956297,-0.5387421838117432,0.060077277384156136 +1.1385637804956297,-0.948285072694647,-0.49388535920310017 +1.1385637804956297,-0.90198226969801,0.3610743174623472 +1.1807328094028753,-0.9560168914986917,1.3549806796006183 +1.1807328094028753,-1.161622070180501,-0.3262099483408477 +1.1807328094028753,-1.3074003920283859,0.4514612849291975 +1.1807328094028753,-0.9058710246895153,-0.31704695944499284 +1.1807328094028753,-0.7234205365373001,1.76118986743547 +1.1807328094028753,-1.240314020589566,0.11961448251090379 +1.1807328094028753,-1.5365481602792253,0.9107303057640977 +1.1807328094028753,-0.38008173109254084,0.1915130200834283 +1.222901838310121,-0.3804547806952664,0.8331546142123835 +1.222901838310121,-1.0234672243843699,0.12964393525446616 +1.222901838310121,-0.6455675511128675,0.41595035425291266 +1.222901838310121,-1.0857235667005605,0.13245105264561907 +1.222901838310121,-1.9296253577891194,0.34636917572831677 +1.222901838310121,-0.6846009304938762,-0.4693792585888664 +1.222901838310121,-1.0343044299294235,1.2457581814671266 +1.222901838310121,-0.4112622012697476,1.0756332290894293 +1.2650708672173665,-1.5460507516869715,0.4928743891211091 +1.2650708672173665,-0.1526235327347819,0.4976656729948307 +1.2650708672173665,0.33612012511684053,0.5850575695686648 +1.2650708672173665,-0.6207309293034743,1.7661476946297607 +1.2650708672173665,-1.148645073738949,1.4602709549852264 +1.2650708672173665,-0.04173246178377166,0.45069165607475564 +1.2650708672173665,-0.26970518358681395,-0.11373370870478883 +1.2650708672173665,-1.291614081161981,0.7596863970174651 +1.3072398961246119,-0.6314172658716817,0.10244656218596848 +1.3072398961246119,-1.1023475281900337,1.1642702429748177 +1.3072398961246119,-1.1886689117335707,-0.2987430554232321 +1.3072398961246119,-1.4704174001707428,0.29599224692474263 +1.3072398961246119,-1.5014872326444704,0.1785238874835121 +1.3072398961246119,-0.587414178324158,-0.22514164376380408 +1.3072398961246119,0.587180587440405,0.43922682580101113 +1.3072398961246119,-0.12229882217496224,-0.2614776270514413 +1.3494089250318575,-0.6410837912976981,0.4067266121766645 +1.3494089250318575,-0.34840519017816785,-0.3439608244340413 +1.3494089250318575,-1.0348306480889766,0.49725049551559 +1.3494089250318575,-0.26051957793398445,0.8713042316736954 +1.3494089250318575,-0.06596223423557657,0.13210096085921774 +1.3494089250318575,-0.4390081548208312,-0.35046381063373055 +1.3494089250318575,-0.5818807111081382,-0.3151704325837308 +1.3494089250318575,-0.6775501926892015,0.5446083563166606 +1.391577953939103,0.5476554418672366,0.5495333161256102 +1.391577953939103,-0.7604360050764567,0.9998428304703568 +1.391577953939103,-0.08045190239090438,0.08952789644475079 +1.391577953939103,-0.19633345877405434,-0.6365885075466753 +1.391577953939103,-1.133188608561015,0.42158918551021146 +1.391577953939103,-0.7550534608418789,-0.686072184284076 +1.391577953939103,-0.6201962319992829,1.0421972287061991 +1.391577953939103,-0.8554320811683536,0.567740864066171 +1.4337469828463485,-0.07716621043749305,-0.3687354826956851 +1.4337469828463485,-0.6567918924642548,0.23973258958761778 +1.4337469828463485,0.843859331193727,0.2944441568428494 +1.4337469828463485,-0.14726115127988926,0.03919223918620632 +1.4337469828463485,0.28529294013001155,-0.39076648627289956 +1.4337469828463485,-1.1164459005898535,0.45861917450032025 +1.4337469828463485,-0.2534899085118177,0.277077604014426 +1.4337469828463485,-0.41736429806312664,-0.3182449743628891 +1.475916011753594,-0.9207010491886636,0.4978729384243717 +1.475916011753594,0.4666807832775382,0.7626086892106623 +1.475916011753594,-0.9217315310303202,0.5278987726793518 +1.475916011753594,-0.4577491536272691,0.15881714515240747 +1.475916011753594,-1.0056833975484392,0.1524824688725127 +1.475916011753594,-0.6726154006391605,0.670902993023297 +1.475916011753594,0.5192472941493116,0.18259573957987008 +1.475916011753594,-0.4001991550295285,0.9179195605987251 +1.5180850406608397,0.08788778112239068,-0.5754104555308451 +1.5180850406608397,-0.7914272557809912,-0.6675896662895912 +1.5180850406608397,-0.44382148849568526,-0.0258099962799046 +1.5180850406608397,-1.107296037564325,0.17269478210091524 +1.5180850406608397,-0.11317452109608175,-0.6242454177850114 +1.5180850406608397,-0.18312516945131058,0.0763280637499936 +1.5180850406608397,-0.23776830357041492,-0.62034058351003 +1.5180850406608397,-0.9335323017625151,-0.05293057890769229 +1.5602540695680853,0.40361762137223,0.34977097351748915 +1.5602540695680853,-0.0625197595960774,0.6575107544087861 +1.5602540695680853,-1.202452439285156,0.16880258287882 +1.5602540695680853,0.8403097311376777,0.05716718873420407 +1.5602540695680853,0.053943922566220284,-0.9521417953615339 +1.5602540695680853,-0.89398522263092,-0.13937320717097357 +1.5602540695680853,-0.4746662052103937,0.37829693524604013 +1.5602540695680853,0.16869079367152034,0.5172846819043605 +1.6024230984753307,1.03944807208847,-0.48079705633902675 +1.6024230984753307,-0.3663585770655228,-0.13448798163930636 +1.6024230984753307,0.06131734162752267,-1.4175727335252288 +1.6024230984753307,0.3321323246960289,0.6946838403508193 +1.6024230984753307,-0.5028988806134046,-0.12920907996004777 +1.6024230984753307,0.7815683557259863,0.07715067063583231 +1.6024230984753307,-1.1734463181511208,-0.10731149764315001 +1.6024230984753307,0.43230807766186696,-0.8386789719286927 +1.6445921273825763,-0.17160354614962373,0.22109832849801336 +1.6445921273825763,0.1519235290274831,-0.8666967864288129 +1.6445921273825763,-0.8396032801777646,0.18441839822850392 +1.6445921273825763,-0.3151540842936159,-0.46819037488952997 +1.6445921273825763,1.3203620594974943,-0.045004983659159725 +1.6445921273825763,0.25264339324427243,1.151660419985649 +1.6445921273825763,1.167128333087594,-0.006867465294155106 +1.6445921273825763,0.040209593401100585,0.4114823914100428 +1.686761156289822,1.4802154415608482,0.005542380688760812 +1.686761156289822,0.9451061955599213,-0.08160807871990522 +1.686761156289822,-0.006624466828526576,-0.7997791897540943 +1.686761156289822,0.8061758051841258,0.13598090571619295 +1.686761156289822,-0.30627628744276103,0.5234708886162663 +1.686761156289822,0.03503687948837014,-0.20933562650015516 +1.686761156289822,0.3019697041485328,-0.5720534127618102 +1.686761156289822,-0.0016687047150632517,0.666087565220471 +1.7289301851970673,0.13713597312297865,0.12845785943556892 +1.7289301851970673,0.28434075549945326,-1.3004554391990968 +1.7289301851970673,1.138626716230971,-0.9868128972236621 +1.7289301851970673,0.08268120952795871,-0.6359282633316259 +1.7289301851970673,0.10383957413529687,-1.329951849531281 +1.7289301851970673,0.37320010712969953,-0.18773032873144851 +1.7289301851970673,0.853360257397727,0.49663200765679777 +1.7289301851970673,-0.2723840652235645,0.177005124339968 +1.771099214104313,1.3925290223895763,-0.4113422997530133 +1.771099214104313,-0.2053107476845376,-0.6634087657398056 +1.771099214104313,0.24041942286942214,0.10437171200809375 +1.771099214104313,0.7260376824775879,0.1248209637352487 +1.771099214104313,1.205737402975425,0.34537508929659794 +1.771099214104313,-0.44600782265072136,-0.472878385024064 +1.771099214104313,-0.17770460796834386,-0.3487441078437096 +1.771099214104313,0.933528360997657,0.5347817132867567 +1.8132682430115585,0.8567712560269276,-0.38637392027985495 +1.8132682430115585,0.6810709607437784,-0.8657947498874378 +1.8132682430115585,0.5024479725159218,0.08205531111102671 +1.8132682430115585,1.3439154783437768,-0.6402099330609461 +1.8132682430115585,0.24399693559508778,-0.0622207346505369 +1.8132682430115585,0.5787889313611128,-0.4487251519089859 +1.8132682430115585,0.8203223857081031,0.14534919115765266 +1.8132682430115585,-0.02246196889468155,-0.03516629215465816 +1.8554372719188041,-0.42410468671673973,-0.3154634782581653 +1.8554372719188041,0.9008040996574724,-1.7640155144224223 +1.8554372719188041,1.6661238502370415,-0.3481475202642418 +1.8554372719188041,0.6388657902177802,0.2256591573965503 +1.8554372719188041,0.5663278107903568,0.6638753258195556 +1.8554372719188041,0.1652628022221635,-0.5329701821656898 +1.8554372719188041,0.3417484506865018,-1.2147256329063056 +1.8554372719188041,1.4331296972848269,-0.23408083047570316 +1.8976063008260495,0.954228637363115,-0.47389943834672366 +1.8976063008260495,0.36836974573789205,0.26711607752803823 +1.8976063008260495,0.09785454518558123,-1.131751678819716 +1.8976063008260495,1.370465814719825,-0.12099281465443829 +1.8976063008260495,0.14906862697427736,-1.1185012128298557 +1.8976063008260495,1.0812393959421802,-1.3335336043187924 +1.8976063008260495,1.2937997882414225,-0.08390854962747851 +1.8976063008260495,1.0107094575555058,0.43745385350054655 +1.9397753297332951,1.8672354659023054,-1.0998748766762456 +1.9397753297332951,1.220078448606763,-1.2026706082158656 +1.9397753297332951,1.9354962113064968,-0.5520303235011155 +1.9397753297332951,0.5679649300690571,-0.9515245496170415 +1.9397753297332951,0.9699914207741076,-1.4177462460960233 +1.9397753297332951,1.6158215454159084,-1.1139723928455512 +1.9397753297332951,0.45015978011680846,-1.4782961425322572 +1.9397753297332951,1.128890695260508,-0.2832034332574574 +1.9819443586405407,0.7415784583756306,-0.7487927148266753 +1.9819443586405407,0.13654995857374685,-0.3061865968810206 +1.9819443586405407,0.06896223545783287,-1.116957283003927 +1.9819443586405407,1.067233731351369,0.25040480338414906 +1.9819443586405407,0.7854046278078627,-1.4681475031318836 +1.9819443586405407,1.8385167086107272,-1.0136883993075676 +1.9819443586405407,1.0750922320518883,0.017909891017782842 +1.9819443586405407,1.833691269724591,-0.9733415629115282 +2.024113387547786,1.0315130710933256,-0.22517233050177965 +2.024113387547786,2.09413067703436,-0.9677196188714559 +2.024113387547786,0.48302610798398626,-1.6414519198579514 +2.024113387547786,0.39859789445430915,-1.2015537300102146 +2.024113387547786,1.7215457006174204,-0.3506838381788958 +2.024113387547786,2.172454021772226,-1.0063661090691505 +2.024113387547786,1.173144698555284,-1.9203059635176791 +2.024113387547786,0.15755053640981276,-0.45320280357129294 +2.066282416455032,0.2759637310309664,-1.2560686320263195 +2.066282416455032,0.3077628602384579,-0.28506641650474274 +2.066282416455032,0.8698612248083417,-1.7776516759402563 +2.066282416455032,0.42454719101225913,-1.5953168028575864 +2.066282416455032,0.15912793850437978,-0.6276247464133029 +2.066282416455032,0.9835057058474628,-0.5268016181173897 +2.066282416455032,1.6187849824459122,-1.3686412566286632 +2.066282416455032,0.21228331664887157,-0.20790731776570603 +2.1084514453622774,0.9167616972240266,0.15078324235028762 +2.1084514453622774,2.017605940055942,-0.9840104177941706 +2.1084514453622774,1.3163567421977893,-1.9678761729618262 +2.1084514453622774,1.2747450917941587,-1.7111290639908838 +2.1084514453622774,0.7101389015749024,-0.6677176213614925 +2.1084514453622774,1.1762951908221662,0.002339064360621701 +2.1084514453622774,2.250247803980877,-0.890367088021969 +2.1084514453622774,0.08106257677863438,-1.3414530419486232 +2.1506204742695227,1.0365094087991997,-1.5631654868218723 +2.1506204742695227,1.072203643894222,-1.4813819135387836 +2.1506204742695227,1.0866242795709353,-0.9851319591107731 +2.1506204742695227,0.7591305751368641,-0.6548320446346932 +2.1506204742695227,1.1778903577200448,-1.4279882090352112 +2.1506204742695227,0.7266198946968819,-1.6016020719456092 +2.1506204742695227,0.9647383123650646,-0.21166104017238896 +2.1506204742695227,1.5979887041817737,-1.0567637025507672 +2.1927895031767686,0.9813513474653996,-0.7225281921979587 +2.1927895031767686,0.8638169456420592,-0.8986412295089424 +2.1927895031767686,0.8525697827129242,-0.8661117519021957 +2.1927895031767686,1.8135894076807877,-1.1943688919111135 +2.1927895031767686,1.8247077309848694,-1.1089818543964491 +2.1927895031767686,-0.3294100491848516,-0.8866734470418414 +2.1927895031767686,2.224669419138778,-0.9224238761049276 +2.1927895031767686,1.3202137728762566,-1.4710396500695186 +2.234958532084014,0.4247318229526059,-0.524531737051322 +2.234958532084014,1.3597977631307243,-0.14362422035567213 +2.234958532084014,0.5596654001306989,-1.0312315973982509 +2.234958532084014,0.06694994956438072,-0.6570395784218543 +2.234958532084014,1.3538716306473884,-0.3645699374180471 +2.234958532084014,0.9568177761253448,-1.5107102997862443 +2.234958532084014,-0.19408632742746723,-1.1839558959049716 +2.234958532084014,1.0895290544472598,-1.2882155441682415 +2.2771275609912593,0.36184562836208445,-0.5776154133641846 +2.2771275609912593,-0.18321228273681744,-1.0125966038810277 +2.2771275609912593,0.7838873389939517,0.2063799030993183 +2.2771275609912593,1.108515350516205,-1.5325206228136907 +2.2771275609912593,0.9110644564442011,-1.4025197224071781 +2.2771275609912593,0.2437798363728758,-1.2938124239461737 +2.2771275609912593,0.30322761272246135,-0.5034020006570277 +2.2771275609912593,-0.011691606244759956,-1.4457598771821198 +2.319296589898505,0.7857880424182124,-0.25844302978846734 +2.319296589898505,1.0029800126112693,-0.12738465969386292 +2.319296589898505,1.6225656950249012,-0.6289228401951622 +2.319296589898505,1.4726255287317123,-1.6799346551109782 +2.319296589898505,0.45114078861248885,-2.06206205010811 +2.319296589898505,0.55546005737665,-1.900934536765865 +2.319296589898505,0.9909352199393757,-2.1207814535878677 +2.319296589898505,2.055212589850315,-1.113912367658304 +2.3614656188057506,1.52164483237796,-1.1580110365838738 +2.3614656188057506,0.7233204632344414,0.13853363633592497 +2.3614656188057506,0.6699103039121275,-0.5387194719089575 +2.3614656188057506,-0.6894309530047452,-1.0137885803155828 +2.3614656188057506,0.6714084952818843,0.09315614436825237 +2.3614656188057506,1.1405473005892772,-0.9942430774441126 +2.3614656188057506,1.5473799320911654,-0.7380807603011261 +2.3614656188057506,1.3505904886248365,-1.4773228033182249 +2.403634647712996,1.7044238773375104,-0.906794154373187 +2.403634647712996,0.1283924286087792,-1.3023427921277335 +2.403634647712996,0.804356878946006,-0.4532301004305255 +2.403634647712996,0.9266144760955041,-2.080095209673688 +2.403634647712996,0.2771402692357024,0.054350380507564466 +2.403634647712996,1.0942208900489048,-0.6134952410029473 +2.403634647712996,1.2981689923274424,-0.5519837448442418 +2.403634647712996,0.6672667250851785,-0.992583511622766 +2.445803676620242,0.030651578515942024,-0.6688758380585401 +2.445803676620242,0.7909592098053995,-1.2053275066851614 +2.445803676620242,0.8056091406537307,-1.9797233394474198 +2.445803676620242,0.9934490812749843,-1.2482198290579354 +2.445803676620242,-0.22126107445566068,-1.264048685091868 +2.445803676620242,0.39356884790154334,-0.3711138681245574 +2.445803676620242,-0.05831774536940937,-0.42164746430472155 +2.445803676620242,0.676294814277354,0.06778666482002293 +2.487972705527487,0.8495857928339046,-1.0512919275780193 +2.487972705527487,1.3826541158087928,-0.6019020169345928 +2.487972705527487,0.04154698537914664,-1.46778262977179 +2.487972705527487,-0.9231682744838263,-0.9154982930951512 +2.487972705527487,0.4247686765835367,-0.7598632240724043 +2.487972705527487,0.6047855718488672,-0.7493495650408057 +2.487972705527487,-0.44034710617222156,-1.4683995519307649 +2.487972705527487,0.8036977983358561,-0.7774881582855983 +2.530141734434733,1.0104651703509293,-0.962300182817493 +2.530141734434733,0.34517008073977046,-1.813095718459714 +2.530141734434733,-0.41126005571146174,-0.6303702254003384 +2.530141734434733,0.889965097640224,-0.6420665141161659 +2.530141734434733,0.07426731333616832,-0.5017782507563868 +2.530141734434733,0.3638463057541956,-1.7754008716866632 +2.530141734434733,0.7619092274491285,-0.10619690235324852 +2.530141734434733,1.170788144171703,-0.48871564584791555 +2.5723107633419784,0.8160486076572663,-1.0132003174808273 +2.5723107633419784,-0.21792537319148983,-1.2289146169758443 +2.5723107633419784,0.3515763235500645,-1.6331853873893236 +2.5723107633419784,0.4578343143586019,-1.8999210458664924 +2.5723107633419784,0.43686811303472406,-0.6300828743226781 +2.5723107633419784,0.027088573614429318,-1.9461545678634327 +2.5723107633419784,-0.5847105986595772,-1.3109035721061182 +2.5723107633419784,-0.7968620066941065,-1.1222964850189345 +2.6144797922492238,-0.3131217392800509,-1.902054192520592 +2.6144797922492238,0.2539782194733798,-0.007982006633103889 +2.6144797922492238,-1.0475128053826857,-1.0192911548827068 +2.6144797922492238,-0.4897330238494984,-0.3889426372935697 +2.6144797922492238,-0.10414112273855727,-0.4698997766519597 +2.6144797922492238,1.0869933628349193,-0.5501361732939515 +2.6144797922492238,0.24194160309220292,-0.7503465874316584 +2.6144797922492238,0.04587097136736423,-2.207473569956532 +2.6566488211564696,-0.865044762345863,-1.1524667530423254 +2.6566488211564696,-0.09628295163577213,-0.654278445288313 +2.6566488211564696,-0.7343474881182506,-1.5302888395733523 +2.6566488211564696,0.6296292237797823,-0.36914182456785083 +2.6566488211564696,-0.3347614064759109,-0.25243178804416944 +2.6566488211564696,0.258559735031599,-0.39602507066558723 +2.6566488211564696,0.544129977977269,-0.47221628280567046 +2.6566488211564696,0.8013643889462077,-0.6425012536041239 +2.698817850063715,0.08105897213287822,-1.7170667426248132 +2.698817850063715,0.2952144880280896,-0.47354869841949093 +2.698817850063715,-0.24388409532178568,-1.536655715984197 +2.698817850063715,-0.144667108100066,0.26563169529446684 +2.698817850063715,-0.32860432845663484,-0.534353357837318 +2.698817850063715,-0.12320544586311147,-0.9637787012547167 +2.698817850063715,0.876933668684531,-0.7161534825915403 +2.698817850063715,-0.13561396205412612,-1.1094192444725135 +2.7409868789709604,-0.3033610390406638,-0.7807325128215317 +2.7409868789709604,0.1752819576368413,-1.2007172928004706 +2.7409868789709604,0.02219635631312361,-1.0638895758323774 +2.7409868789709604,-0.19166887797342214,-1.7800398958397163 +2.7409868789709604,0.11339609019956987,-0.4493654674890083 +2.7409868789709604,-0.5034277184487861,-0.2172328513537698 +2.7409868789709604,-0.06535299698018449,-0.5063258817872263 +2.7409868789709604,-0.3437795828240351,-1.0521542574721416 +2.783155907878206,-0.2700385369695869,-0.4663339118118271 +2.783155907878206,-0.5116204067399998,0.3666252622678605 +2.783155907878206,-0.42691401671148665,-1.6373722109074644 +2.783155907878206,-0.009935337737198957,-0.7537254107770147 +2.783155907878206,-1.7059268916001131,-0.7882510108981996 +2.783155907878206,-1.468774497340136,-0.4361570451413062 +2.783155907878206,-0.5394087171024844,0.021915951014373714 +2.783155907878206,-0.5217506921170274,-1.4551339757692086 +2.8253249367854516,-0.08885822724088854,-1.0248352518010815 +2.8253249367854516,-0.6053271625637275,-1.118842886307919 +2.8253249367854516,-0.6470777378136006,-1.4894819622663351 +2.8253249367854516,0.29607385590226054,-0.6537737699110127 +2.8253249367854516,-1.432453674543741,-1.0751179996788547 +2.8253249367854516,0.32918528677986025,-0.15674949180933273 +2.8253249367854516,-1.2215011952542165,-1.0309511285331474 +2.8253249367854516,-0.409708593753188,0.3852040958305709 +2.867493965692697,-0.24572743958138255,-0.60943560725475 +2.867493965692697,-0.04324605490763622,-1.0399891792753262 +2.867493965692697,-0.7458074498858076,0.050251289503976615 +2.867493965692697,0.31596267982782256,-0.20234487599115986 +2.867493965692697,-1.4260462250818415,-1.1376549533107794 +2.867493965692697,-0.7987929081872014,0.1819945276966044 +2.867493965692697,-0.7767268838057382,-1.2912004775470907 +2.867493965692697,-0.4231677637956134,-0.742909973919207 +2.909662994599943,-0.2205992332497123,0.025328543522329716 +2.909662994599943,-0.45789359061326995,0.09027879641217601 +2.909662994599943,-0.14470429960473952,-0.29783129351852705 +2.909662994599943,0.01994855678158025,-0.29751195089601956 +2.909662994599943,-0.2978996346510221,-0.7866644035478879 +2.909662994599943,-0.5450198537764934,-0.739152753466755 +2.909662994599943,-1.7578959317985121,-0.1169175702713065 +2.909662994599943,-1.6546161198051774,-0.5217906578136501 +2.951832023507188,0.5213862120076328,-0.3647250190127839 +2.951832023507188,-0.2113855291823763,-0.43844404563198763 +2.951832023507188,-1.3548017495125175,-1.1576590635675588 +2.951832023507188,0.4636710818107791,-0.44545333360995415 +2.951832023507188,-0.7199740545927621,-0.24421178173507221 +2.951832023507188,0.27406709338843427,-0.43074130618978995 +2.951832023507188,-0.8402852779391559,0.14095431345892911 +2.951832023507188,-1.2287284619590015,0.49419485664571045 +2.994001052414434,0.20109686451240594,-0.4817487507733095 +2.994001052414434,-0.800145136125989,-0.4761263302828866 +2.994001052414434,-1.1032383948369864,-0.6282277717094158 +2.994001052414434,-0.9716461211008092,-0.5503836044290829 +2.994001052414434,0.35597317316824884,-0.19489732959548695 +2.994001052414434,-0.27849215290108287,0.2782599810869388 +2.994001052414434,-1.1955175509573164,0.3510320576340355 +2.994001052414434,-1.0025030787294862,-0.5866484915008634 +3.0361700813216794,-0.90120596091672,-0.5144036819918023 +3.0361700813216794,-0.8137906307918887,0.8576800482722331 +3.0361700813216794,-0.9491631029768919,-1.3164411897112815 +3.0361700813216794,-0.4848265848298805,-0.878878494121601 +3.0361700813216794,-0.27808362354206295,-0.5447594936636996 +3.0361700813216794,-0.22186604790660847,-0.8745420636611645 +3.0361700813216794,-1.4603603114654442,-0.21807280970230503 +3.0361700813216794,-1.649350396225889,0.44451644358606085 +3.078339110228925,-0.2536827363775662,0.20358872735893685 +3.078339110228925,-2.113617912588014,-0.2801596153568239 +3.078339110228925,-0.8539118834028918,0.9088388280403833 +3.078339110228925,-2.21236598955117,0.051830177402393485 +3.078339110228925,-1.64053651061671,-0.15050975876795802 +3.078339110228925,-0.031206090462824077,0.07708366925041932 +3.078339110228925,-0.135250894557842,0.18176113123331428 +3.078339110228925,0.0010456720790386065,0.2382350754169476 +3.1205081391361706,0.274638141199132,-0.03228464899733049 +3.1205081391361706,-0.7474568453877406,0.2992107857699216 +3.1205081391361706,-0.638248608260527,-0.4644811607591292 +3.1205081391361706,-0.26998239671843305,-0.18866158861904123 +3.1205081391361706,-0.5743068228320846,-0.31639070195921215 +3.1205081391361706,0.31296193161034813,-0.06442675629739489 +3.1205081391361706,-1.0582206648780368,-0.8312327063244513 +3.1205081391361706,-0.7415500910246374,-0.5416594953370057 +3.162677168043416,-1.536980189918189,0.5566680929739654 +3.162677168043416,-0.8111805122476998,0.45514281632115494 +3.162677168043416,-1.8535837120074232,-0.2647344767775731 +3.162677168043416,-1.8747462459305906,-0.02462026995894298 +3.162677168043416,-1.2341624700545806,-0.4286274030290149 +3.162677168043416,-1.716906733903079,0.3381289689745709 +3.162677168043416,-1.618981935940661,-0.3931534761278316 +3.162677168043416,-1.793826536936118,-0.17441974510984556 +3.2048461969506614,-0.3167036891975272,0.6065581585326372 +3.2048461969506614,-1.6033566733738907,0.7137970043527263 +3.2048461969506614,-0.9348246504956238,0.13831776857735067 +3.2048461969506614,-1.13888659431734,0.5045552581030202 +3.2048461969506614,-1.9921191400206015,0.02433791996788312 +3.2048461969506614,-0.4684685417299522,-0.5698302829912144 +3.2048461969506614,-0.40330698313359703,0.35687431236588485 +3.2048461969506614,-1.736407254606529,-0.24980365715708933 +3.2470152258579073,-0.9611822118192128,1.2952395901634128 +3.2470152258579073,-0.8231830105403236,1.3765343440216253 +3.2470152258579073,-1.4851173527973498,-0.6641572279011022 +3.2470152258579073,-0.3107688059180178,0.47062682663538025 +3.2470152258579073,-0.9571464493835449,0.5032525466313743 +3.2470152258579073,-1.7132984146502737,0.590415870765318 +3.2470152258579073,-0.8960346320552899,0.1640493190394412 +3.2470152258579073,-0.23762029559620157,0.9036852160863921 +3.2891842547651526,-1.3768627921973027,-0.14541546509439018 +3.2891842547651526,-0.8510191863241314,1.1265414890122512 +3.2891842547651526,-0.789640093881995,0.9932214363412273 +3.2891842547651526,-1.7632189877640545,0.45539087903657016 +3.2891842547651526,0.08538020589352624,0.41479481395013934 +3.2891842547651526,-2.0987879309242468,0.4409074798684439 +3.2891842547651526,-0.9387974311842279,1.3679237709862575 +3.2891842547651526,-0.4161016319301997,0.896287928882505 +3.331353283672398,-0.6993977122569051,0.6416719204328538 +3.331353283672398,-1.8241721336816346,0.08297956339814316 +3.331353283672398,-1.0436398160846296,0.5869086488823362 +3.331353283672398,-0.8269744860614255,0.36262854713872145 +3.331353283672398,-0.9935025005698823,-0.40663051973985237 +3.331353283672398,-0.8943505706953774,-0.5423721638640306 +3.331353283672398,0.31717442259058903,0.548795194662051 +3.331353283672398,-1.2967022908621408,0.17228806556626278 +3.373522312579644,-0.1223776979852027,0.11386450189222169 +3.373522312579644,-0.7555068102095087,1.2661198746244144 +3.373522312579644,-0.8401660977975933,-0.22295690250933803 +3.373522312579644,-0.6087088097244209,1.5273802990131324 +3.373522312579644,0.10299047737255651,0.13631874644918995 +3.373522312579644,-0.9670057705160201,0.41567641018819035 +3.373522312579644,-1.1363967396553711,-0.06788292198740437 +3.373522312579644,-0.3805498071724298,0.34614886967611114 +3.4156913414868892,-0.7646930954865033,1.39993398809568 +3.4156913414868892,-1.4089280745453276,0.7506292594769929 +3.4156913414868892,-1.7187891214067226,0.4381432742201734 +3.4156913414868892,-0.5817956247124398,-0.5597655272825679 +3.4156913414868892,-0.44035339535070395,0.6819637410262328 +3.4156913414868892,0.0897834603689287,0.9045143239004482 +3.4156913414868892,-0.982592123070009,0.2211767576688779 +3.4156913414868892,-0.5228301876625825,0.23883613067484571 +3.4578603703941346,-0.6757405022113252,1.2322590002200209 +3.4578603703941346,-0.752181715763153,1.75910650195535 +3.4578603703941346,-1.218256520086527,0.5667959181093286 +3.4578603703941346,-0.9826293724830045,0.692081851127436 +3.4578603703941346,-1.3149238465496587,1.2555251616296297 +3.4578603703941346,-0.8988590376654104,1.5548274010350929 +3.4578603703941346,-0.6787258030495711,1.6346981163529575 +3.4578603703941346,-0.08024260393384475,0.9780897434635426 +3.5000293993013805,-0.6430885077946153,0.1226118237237721 +3.5000293993013805,-1.1878792281928257,0.012473962279274109 +3.5000293993013805,-0.504016078905527,0.6998932855399329 +3.5000293993013805,-0.3869617834589275,1.9092961453046098 +3.5000293993013805,-0.7684415994074634,-0.006807567160652894 +3.5000293993013805,-0.38576530208313037,0.35225248456572233 +3.5000293993013805,-0.08731669751652088,1.1131623647591136 +3.5000293993013805,-0.8727313626406408,1.2582320278104542 +3.542198428208626,0.5921158560140819,0.6307159498492223 +3.542198428208626,0.0331646679767702,0.929413462543971 +3.542198428208626,-0.014704160214194184,-0.20858013394042363 +3.542198428208626,-0.17425177811439826,0.49572440726282263 +3.542198428208626,-0.9873843697388992,0.6420934295336913 +3.542198428208626,0.3813686728816629,0.7383874248442666 +3.542198428208626,-1.491051684833383,0.5742329121331138 +3.542198428208626,-1.6718553374539233,0.6433484957783224 +3.5843674571158717,0.19232569744668884,0.7027977825351881 +3.5843674571158717,0.09573350615909651,-0.27864229668211116 +3.5843674571158717,-0.10187332428885235,-0.11216652835575547 +3.5843674571158717,0.390099777781897,0.4613141701442173 +3.5843674571158717,-0.3270581259879607,0.9421955018061123 +3.5843674571158717,0.13180232164003056,-0.16886669335078996 +3.5843674571158717,-0.22467877515405696,-0.5500049340352886 +3.5843674571158717,0.35544352718566463,0.8550631342917476 +3.626536486023117,0.3998710164911352,1.1473095802784594 +3.626536486023117,-0.20039456587561955,0.7765702330598181 +3.626536486023117,0.5058822023756703,0.8057788609711725 +3.626536486023117,-0.730138437585856,0.36894294637069885 +3.626536486023117,-0.2790661190635846,0.4988020491666079 +3.626536486023117,0.10041639299924543,1.0243287764654705 +3.626536486023117,-0.008113399460167828,1.057430381991892 +3.626536486023117,-0.06782016778148262,1.455183844292586 +3.6687055149303625,-0.194113207805917,1.170876959079535 +3.6687055149303625,0.6346179812122437,1.3020282644549948 +3.6687055149303625,-0.48652932451396663,1.1198461670871263 +3.6687055149303625,0.7339788474976227,0.37957879833381186 +3.6687055149303625,1.2286450930215174,0.7604753019880225 +3.6687055149303625,-0.0041626287277011995,1.5867937542094372 +3.6687055149303625,1.2818870706518188,0.8797647473727593 +3.6687055149303625,0.24956719175421424,0.9044455143963873 +3.7108745438376083,0.4764766006267215,0.08913458128527318 +3.7108745438376083,0.2548679203919991,0.966998217588804 +3.7108745438376083,-0.5817079104183315,0.5078725399181123 +3.7108745438376083,0.09514865619842039,1.6225379299683613 +3.7108745438376083,0.8379326898814399,1.3532893578702323 +3.7108745438376083,0.2605671579753144,2.065569676704771 +3.7108745438376083,0.3306770359372268,0.1383960141290247 +3.7108745438376083,0.18398371003194397,0.6779234318556764 +3.7530435727448537,0.24967314566322846,1.1651018145992333 +3.7530435727448537,0.6000643026468356,1.3076140880037332 +3.7530435727448537,-0.8050498289408587,0.8879278906889004 +3.7530435727448537,-0.6750329489773199,1.3375743591676506 +3.7530435727448537,-0.9279766219699599,1.0477302111090054 +3.7530435727448537,0.06249150974976864,-0.018676385667445894 +3.7530435727448537,-0.6707907713476302,0.5889336038379609 +3.7530435727448537,0.8491506121938797,1.342252259286841 +3.795212601652099,0.8585667205223274,1.6991934816101262 +3.795212601652099,0.07560849657196506,1.6378239532654562 +3.795212601652099,0.29897864968154264,0.47200228007413764 +3.795212601652099,0.38730185784943466,2.106620303273394 +3.795212601652099,0.4858103695150054,2.207603180695829 +3.795212601652099,-0.6045436341180377,0.8963093349257727 +3.795212601652099,-0.44135841890392863,1.5320598663106302 +3.795212601652099,0.26491080796574196,1.0024046611999549 +3.837381630559345,0.7881111253302708,0.7739895055442128 +3.837381630559345,-0.6666437352883552,0.9425091370202451 +3.837381630559345,1.4317354811940428,0.902245449885035 +3.837381630559345,0.7073365073818827,1.5533668314989129 +3.837381630559345,0.7132776659655229,0.5076266122541229 +3.837381630559345,0.7195254993955835,1.775825602339216 +3.837381630559345,0.4064622471014361,1.2064510606991337 +3.837381630559345,-0.04753559727080109,0.36878054737115773 +3.8795506594665903,0.5788957679207573,0.1499212823531455 +3.8795506594665903,0.24617543545624682,1.8052245172656032 +3.8795506594665903,0.8768574468283388,0.44608859013174296 +3.8795506594665903,0.2850833927347666,1.730799929728945 +3.8795506594665903,0.429335551550731,1.8681795315892162 +3.8795506594665903,0.29515052254411006,1.4034051509396477 +3.8795506594665903,0.30520772683538144,0.27190456015860176 +3.8795506594665903,0.42748554475512257,0.855275766574175 +3.9217196883738357,0.7733074221568588,2.1360853107056244 +3.9217196883738357,0.6417233925541479,0.020340113358035317 +3.9217196883738357,0.7904432833676018,0.5026849025504294 +3.9217196883738357,0.2885363751761918,1.7318664187886696 +3.9217196883738357,1.1323886753116423,1.8709507776205503 +3.9217196883738357,1.1384251214984076,1.5138150531516505 +3.9217196883738357,0.24843441125841936,0.6223711306076947 +3.9217196883738357,0.43084887239693204,1.4207297685356184 +3.9638887172810815,0.5709835662855403,0.41489580670613513 +3.9638887172810815,-0.061148306919184714,1.4547298356314946 +3.9638887172810815,0.3408604520382227,1.2787618762773623 +3.9638887172810815,1.4671630483818947,1.020408588898847 +3.9638887172810815,0.32490218763499756,1.6565459142373093 +3.9638887172810815,0.11632466036083755,1.5916938196018506 +3.9638887172810815,0.9793045209297897,-0.008768687351170645 +3.9638887172810815,0.8427955085206262,2.0425731673751537 +4.006057746188327,1.2963919244242343,1.937850861657712 +4.006057746188327,1.0086595880195801,2.0674686084302603 +4.006057746188327,1.24277678995758,1.5723962127314404 +4.006057746188327,0.07254584421010024,1.4357192133224 +4.006057746188327,0.7025656585375034,0.9464209392854099 +4.006057746188327,0.6855925287068216,1.0029839355456163 +4.006057746188327,1.4510236370602732,0.3065403479346782 +4.006057746188327,1.4724020866541394,1.4491815852254126 +4.048226775095572,1.5484492200353874,0.5862672380545638 +4.048226775095572,0.5702969666377586,-0.09178241780436514 +4.048226775095572,1.7685512759228286,0.6932512367852104 +4.048226775095572,1.8936715142853435,1.1459826431496583 +4.048226775095572,0.9450464463226034,0.10256394959489534 +4.048226775095572,-0.15932622970626942,0.6678047536296735 +4.048226775095572,1.2813268813083445,1.6625767896600927 +4.048226775095572,0.7751093574296652,0.22613284333517358 +4.090395804002818,0.2801618641681354,1.555568649583147 +4.090395804002818,0.2718529665587123,0.9173688963671208 +4.090395804002818,1.1570027398146998,0.5755510684018654 +4.090395804002818,1.5008098578005282,0.27832167861024293 +4.090395804002818,1.7421824878014935,1.0064530698635141 +4.090395804002818,1.8859773311019086,0.6554045282901628 +4.090395804002818,2.034497783471189,1.156535413127109 +4.090395804002818,1.0603666868743091,1.9260114791579146 +4.132564832910064,1.6787290580821117,1.5470491251237246 +4.132564832910064,1.4902389603010575,1.0554081970589781 +4.132564832910064,0.6199399501723872,0.3897890961633479 +4.132564832910064,-0.16860843787803392,1.125674369881885 +4.132564832910064,0.2886497636958024,0.47183334348741507 +4.132564832910064,1.1108021742785192,1.1493621075742948 +4.132564832910064,1.7579757136865826,0.6032257280640194 +4.132564832910064,1.3645426919367614,0.6935436776412551 +4.174733861817309,1.2509886901908538,1.8728659430708414 +4.174733861817309,2.3213418853450527,0.8939796089879536 +4.174733861817309,1.1259809492515804,0.14513261137843847 +4.174733861817309,0.6721856526792567,-0.1760005615772302 +4.174733861817309,1.632236132157343,0.7522674250420063 +4.174733861817309,0.4633861750386393,1.440928130537562 +4.174733861817309,1.422143095440128,1.0047357782665987 +4.174733861817309,0.881353874188781,0.6367825295395533 +4.216902890724555,0.35020757677748426,0.5693323368850507 +4.216902890724555,0.30600887209399574,1.142761938578805 +4.216902890724555,1.2029766893998903,1.3556684751710626 +4.216902890724555,1.2146169327540324,0.23429361224525203 +4.216902890724555,1.4062038015875877,1.2078762833356167 +4.216902890724555,1.0382716180768936,0.016208585756228078 +4.216902890724555,0.131285952113677,0.755329552200063 +4.216902890724555,0.5754978050282704,0.49096686065895523 +4.2590719196318005,0.7967437798514516,0.8314964977203553 +4.2590719196318005,0.9911586153505664,1.840884399578541 +4.2590719196318005,1.594041124955868,0.03286897403270528 +4.2590719196318005,0.7236498782940655,0.8335896510834436 +4.2590719196318005,0.8455245191553558,1.0831467568203061 +4.2590719196318005,0.28141167196110506,0.5054546111460814 +4.2590719196318005,0.1747615907402995,0.6929295042085653 +4.2590719196318005,0.45345293846506984,0.8567059666677199 +4.3012409485390455,0.4345253559252916,-0.037009879060525 +4.3012409485390455,1.6198603787491268,0.6364095064794669 +4.3012409485390455,1.176282827826447,1.3352597402137674 +4.3012409485390455,1.274578598850645,0.6494281735382968 +4.3012409485390455,0.7811442862045219,0.845565657571626 +4.3012409485390455,0.6242325122249952,0.9742232647633171 +4.3012409485390455,1.2709169643572136,0.21789432373825657 +4.3012409485390455,1.2379746449981268,-0.370747412247573 +4.343409977446291,0.26082149060126847,0.743312963352842 +4.343409977446291,1.7311158214194973,0.6680130135850211 +4.343409977446291,1.5401206747968703,1.3253628676455325 +4.343409977446291,1.1916192280692686,1.554885826336806 +4.343409977446291,1.7957377939280983,0.4005099834380464 +4.343409977446291,1.1929808702868283,-0.4178545119017558 +4.343409977446291,1.419980614478821,0.7584317164923838 +4.343409977446291,1.5274989499182259,0.8503878521682646 +4.385579006353537,1.804614431614084,0.5373988015292928 +4.385579006353537,0.5938512142958337,-0.0788904510988222 +4.385579006353537,0.9152849311162647,0.26467930363630443 +4.385579006353537,1.7735867859489878,0.41092061849282513 +4.385579006353537,0.14339648026534246,0.8745826886738746 +4.385579006353537,-0.40747286633968005,0.6209909554429764 +4.385579006353537,2.1003451125523807,0.7139676216449922 +4.385579006353537,0.7160042488090492,0.13242627775351762 +4.427748035260782,1.0090790465269128,1.0655647531083834 +4.427748035260782,0.5938536708499236,1.1073651477984405 +4.427748035260782,-0.257624990034898,0.4699973853121042 +4.427748035260782,0.9352762222000863,0.9391953648202351 +4.427748035260782,1.021756657040299,1.3734722908243377 +4.427748035260782,0.431358699544607,0.017812338940385142 +4.427748035260782,1.3744562293277875,-0.09841459058028001 +4.427748035260782,1.9220892356582557,0.6567107945486861 +4.469917064168028,0.935382078805081,0.7542230865768861 +4.469917064168028,-0.6065992543199552,0.39598500385937035 +4.469917064168028,1.128208188534157,0.9980369460845901 +4.469917064168028,0.8167143076719986,-0.45228079543439 +4.469917064168028,0.8176261260052964,-0.07291018155265577 +4.469917064168028,0.014802127414054733,1.1352238080804267 +4.469917064168028,0.2194961514393859,1.1236047029769487 +4.469917064168028,0.9133232884748622,0.6445268691195036 +4.512086093075274,1.1073746226872792,0.8509754438239336 +4.512086093075274,1.3814661086280582,0.61654022522502 +4.512086093075274,-0.4620359284294048,0.3675291753454866 +4.512086093075274,0.1387561548126603,1.063859683008659 +4.512086093075274,1.8158381495395242,0.3778926161056065 +4.512086093075274,0.7435898215510397,0.21452019555466004 +4.512086093075274,0.3281821904381765,0.983167531148029 +4.512086093075274,0.17477485345213983,0.16000897941107162 +4.554255121982519,1.268985499700324,0.08921583041853665 +4.554255121982519,0.7509022331869677,0.9052408755967964 +4.554255121982519,1.3194885098027995,0.7198231239244284 +4.554255121982519,-0.10655321898760889,-0.2339496736416256 +4.554255121982519,-0.7929566107078678,0.3892803156392432 +4.554255121982519,-0.5541004531116456,0.017132228998955723 +4.554255121982519,0.6781047974616861,0.16072325934610568 +4.554255121982519,-0.3299558296939418,-0.130200215624783 +4.5964241508897645,0.7713167813746702,0.04049784067883258 +4.5964241508897645,1.198090566852632,0.532966751400147 +4.5964241508897645,0.20793072392317657,0.22064639453437904 +4.5964241508897645,-0.8356072753484316,0.27566740679772017 +4.5964241508897645,0.7563542353658422,-0.5404444541240182 +4.5964241508897645,0.03981703691931798,0.21216939232999799 +4.5964241508897645,0.0851030843074822,0.5242876338215444 +4.5964241508897645,0.01698414206317972,-0.70349028687923 +4.63859317979701,1.2651636301104239,0.004396513202109598 +4.63859317979701,1.2994625142611496,0.07264332319680744 +4.63859317979701,0.8894479923817524,0.4231711017332277 +4.63859317979701,0.8691627022595413,-0.18514782337085578 +4.63859317979701,0.007777341363840035,-0.8681977756700358 +4.63859317979701,-0.04141267972125787,-0.6445359553469071 +4.63859317979701,0.11439951957920474,0.29292216572409113 +4.63859317979701,0.40856220719526126,0.7779483310460601 +4.680762208704255,0.3733045742629404,0.09225981735818628 +4.680762208704255,0.17858335854673024,-0.09471489676229412 +4.680762208704255,0.9604708848058888,0.16527019056918146 +4.680762208704255,-0.8182767904556741,-0.42180613918257825 +4.680762208704255,-0.8777501092041314,0.1941354735531854 +4.680762208704255,1.2011041028609386,-0.02761833009533489 +4.680762208704255,-0.45508443297221063,-0.5002678829864797 +4.680762208704255,0.5675298755857167,-0.10065213878913425 +4.722931237611501,0.14074524769425506,0.41974684303991566 +4.722931237611501,0.39186845942158466,-0.9400451507717037 +4.722931237611501,0.7255436553676262,-0.07071626624137846 +4.722931237611501,0.5541224000634948,0.33920775670023273 +4.722931237611501,-0.4500466873749192,0.6153501650593036 +4.722931237611501,0.6643178391982387,0.31145886802399697 +4.722931237611501,-0.8324300903212167,-0.04366091360038833 +4.722931237611501,0.30925800620956667,-0.5512402252851606 +4.765100266518747,0.841413322628085,0.039771256707816366 +4.765100266518747,-0.14965899105599179,-1.454263905600828 +4.765100266518747,-0.2131386519521232,0.29639569511167385 +4.765100266518747,-0.17016010771840728,-0.6269976879528998 +4.765100266518747,-0.6392481667414888,-0.07743462639847457 +4.765100266518747,-1.3892309756684105,-0.12325842410876522 +4.765100266518747,-1.2565347505772002,0.20900271657375066 +4.765100266518747,-1.0060373684954893,-0.18573978306908054 +4.807269295425992,-0.07919445429805705,-1.1725496952664423 +4.807269295425992,-0.25792796596731055,0.8489628612530146 +4.807269295425992,-0.7034162905482024,-0.038764516354907436 +4.807269295425992,-0.6992647689122936,0.3912349115354926 +4.807269295425992,-0.5758410475854344,-0.4166963546325074 +4.807269295425992,-0.09489109112008626,-0.41591878021461415 +4.807269295425992,0.7453081698023005,-0.10754273637071884 +4.807269295425992,-0.8852490053971205,-0.5755269548506697 +4.849438324333238,0.2549421192769385,-0.47982249747899036 +4.849438324333238,-1.1857474674854027,0.20630838661426337 +4.849438324333238,-0.9960970145900561,-0.3909184702922165 +4.849438324333238,0.013317677292028318,-0.004413948448887262 +4.849438324333238,-0.11558992919236111,0.6827589676420316 +4.849438324333238,-0.5572203614899741,-0.2321282283990309 +4.849438324333238,-0.25764200847854546,0.13209376617038943 +4.849438324333238,0.33828730483208885,0.06248988305495179 +4.891607353240484,-0.3904347317927486,-1.03850798264728 +4.891607353240484,-0.5195211007890037,-1.650760203422129 +4.891607353240484,-0.24107228901485683,0.42481232129298446 +4.891607353240484,-0.4472256651105643,0.03834578976678832 +4.891607353240484,0.009653877162765445,0.1151529106053481 +4.891607353240484,0.2104914127741203,-0.02574549154547029 +4.891607353240484,-0.18961121054320945,0.5335881765832886 +4.891607353240484,-0.9461565077391596,-0.6035843808032619 +4.933776382147729,-0.05759897623811505,-0.8938244594136816 +4.933776382147729,-0.22543000385904366,-0.5613440582860347 +4.933776382147729,-1.8839697097895716,-0.42702715230300636 +4.933776382147729,-0.949345908018886,0.3046931340598914 +4.933776382147729,-0.16516324928489767,-0.3817231423719415 +4.933776382147729,-0.8469994495861799,-0.16196123418904373 +4.933776382147729,0.3828594306225782,-0.12591724150610328 +4.933776382147729,-0.6858385833914181,0.7015858954506392 +4.975945411054974,-1.079723372727463,0.34786685147544194 +4.975945411054974,-1.495907298056069,-0.006800060531332974 +4.975945411054974,0.22365575898305856,-0.8639635541637365 +4.975945411054974,-0.1134603503566064,0.05040611880491397 +4.975945411054974,-0.8609282831358047,-0.46514833463003724 +4.975945411054974,-1.163063528163255,-1.0424911154951788 +4.975945411054974,0.4426716869214027,-0.7199668708062168 +4.975945411054974,-0.32833235123089777,-1.527819297463037 +5.01811443996222,-1.2359769452273057,-0.37037141801674595 +5.01811443996222,-1.0009540692584988,0.47806447110221095 +5.01811443996222,-0.293429135767185,-0.7676174174802921 +5.01811443996222,-0.5834073349827196,0.4151349554922895 +5.01811443996222,-0.9653071203573869,-0.1921212831969451 +5.01811443996222,-0.4941844156772119,0.32638835991952153 +5.01811443996222,-1.281301773404878,-0.4589352833846711 +5.01811443996222,-1.2834000482769432,-1.3848336098145764 +5.060283468869466,-0.5255803688481369,-1.244632343027522 +5.060283468869466,-1.0202447714773613,-1.8339274256990166 +5.060283468869466,-1.073096144813011,0.005177543410520569 +5.060283468869466,0.04343580084347698,-0.167842033802384 +5.060283468869466,-1.3419359142017255,0.11776856789749612 +5.060283468869466,-1.642934385880106,-0.8040679053739461 +5.060283468869466,0.07760773682858835,-0.8616732059397849 +5.060283468869466,-0.7961766414951732,0.31268996716112873 +5.102452497776711,-1.0023987551901783,-1.9415314868763003 +5.102452497776711,-1.3247478482400434,-1.5747085244398833 +5.102452497776711,-0.9534349042569199,-0.644486512087537 +5.102452497776711,-1.831479643800058,-0.4498526443932978 +5.102452497776711,-0.46444034165203574,-1.5323634063577083 +5.102452497776711,-1.2473418208039964,-0.9418958852463162 +5.102452497776711,-0.7307838917754818,-1.1529986442208056 +5.102452497776711,-1.8935793502508949,-0.7733906199240606 +5.144621526683957,-0.01995039831373413,-0.3001566886293947 +5.144621526683957,-1.2970129483084711,-0.7612310489225123 +5.144621526683957,-0.5010533628440816,-0.6045185924253129 +5.144621526683957,-0.4748711958595133,-0.1032329222797066 +5.144621526683957,-1.2402551787407219,-0.623480622390288 +5.144621526683957,-0.7388680615269366,0.2961730005233968 +5.144621526683957,-1.3760396260200232,-1.6484174601824755 +5.144621526683957,-0.742013896278539,-1.0647160633543264 +5.186790555591203,-1.1674344097604687,-0.06819651493776835 +5.186790555591203,-1.3539785161393323,0.20647440675046547 +5.186790555591203,-1.8411095473400012,-0.6040697067345546 +5.186790555591203,-0.41715805721548804,-0.630566016320752 +5.186790555591203,-0.09810485955867887,-1.0415377823810055 +5.186790555591203,-0.625671158469417,-0.3578170237691702 +5.186790555591203,-1.5031765442715088,-0.886162417101864 +5.186790555591203,-0.37799866981433106,-1.023286336203192 +5.2289595844984476,-1.5700242369197304,-1.6169020928963904 +5.2289595844984476,-1.4340733938198262,-0.22800698945270748 +5.2289595844984476,-0.4349244600032567,-0.21258517993329873 +5.2289595844984476,-0.5550072654711891,-0.5858177167008869 +5.2289595844984476,-0.23429131955332738,-0.928372873897971 +5.2289595844984476,-1.3719467869410495,-0.8514268544950935 +5.2289595844984476,-1.9958130720041694,-1.2257316479337632 +5.2289595844984476,-0.3826236425491659,-0.5270282843667493 +5.271128613405693,-1.56485679374429,-0.4758318150552457 +5.271128613405693,-0.30501179574107606,-0.8087666861354579 +5.271128613405693,-1.4963555850173293,-0.8949626992821527 +5.271128613405693,-0.42739306437462377,-1.2873032662074857 +5.271128613405693,-1.8289096604086568,-0.6021372694252454 +5.271128613405693,-1.415600815886163,0.05439096740054272 +5.271128613405693,-1.241881680292089,0.10365963324209648 +5.271128613405693,-1.779755745288915,-0.9164317201834378 +5.313297642312939,-1.8932306922485163,-1.3697198192704745 +5.313297642312939,-0.7999520979368027,-1.1928514713653449 +5.313297642312939,-0.9617176892279393,0.08083125785275802 +5.313297642312939,-1.803655700609115,-1.4533998462276 +5.313297642312939,-1.0408647689959192,-1.238882884279086 +5.313297642312939,-0.23472097284385496,-0.7320467253560116 +5.313297642312939,0.10640716083012414,-0.7591966187631696 +5.313297642312939,-0.9864937255314625,-0.45917848993657867 +5.355466671220184,-1.0390552720383752,-1.5580515708756082 +5.355466671220184,-0.8332183474934902,-0.11603743062262639 +5.355466671220184,-1.226163107235314,-1.1534356564666455 +5.355466671220184,-1.1444285205896332,-1.9915357346521823 +5.355466671220184,-0.37097757332395287,-1.5653368584623928 +5.355466671220184,-0.7592084404303938,-0.1659099300436211 +5.355466671220184,-0.5826571426324977,-0.05876626570793819 +5.355466671220184,-0.39071717614114676,-0.2598485526303995 +5.39763570012743,-1.417509548847971,-0.16373690518919826 +5.39763570012743,-0.020132168433444897,-1.4425733893278783 +5.39763570012743,-1.1416155350329178,-0.09008211292102941 +5.39763570012743,-0.5852456865983757,-0.44343460931332845 +5.39763570012743,-1.335677258526786,-0.04451073044443021 +5.39763570012743,-1.7001122644156088,-1.3223776796007658 +5.39763570012743,-1.3891407902920787,-1.0882105376362445 +5.39763570012743,-0.24241236487561602,-1.3178896858013038 +5.439804729034676,-1.4055490406783453,-1.2359962829195545 +5.439804729034676,-1.0124938305302444,-1.85113025267087 +5.439804729034676,-0.1001776334200909,-0.7637043478941382 +5.439804729034676,-1.4595681048274782,-0.3863024550314266 +5.439804729034676,-1.048593046905573,-1.5352454532265098 +5.439804729034676,-1.0293657181309523,-0.4816258038683303 +5.439804729034676,-0.8383598379823007,0.16230758971989823 +5.439804729034676,-0.04338961057640234,-0.9862536812630563 +5.481973757941921,-1.2474965162897553,-1.835889489502231 +5.481973757941921,-1.544303450859441,-1.2088933273611027 +5.481973757941921,0.13295064033254977,-1.416548343386486 +5.481973757941921,0.09150225779078913,-0.8788151083340436 +5.481973757941921,-1.0731834653789336,-0.8578511380836431 +5.481973757941921,-0.7566292334404371,-1.1823484097822068 +5.481973757941921,-1.214758820930718,-1.7531745647501173 +5.481973757941921,-0.9524404343832209,-0.03780042595956001 +5.524142786849167,-0.663314700324477,-1.229010563726027 +5.524142786849167,-0.988663305495362,-0.08587891092233269 +5.524142786849167,-0.8938238409798098,-1.4126855342124 +5.524142786849167,-0.38560789674318846,-0.42491157314671524 +5.524142786849167,-1.3804025790911676,-1.3686837885401082 +5.524142786849167,-1.1065023036727395,-1.4271712220520472 +5.524142786849167,-1.139920799594694,-0.42542094888811577 +5.524142786849167,-0.3901727269606308,-1.3635677059082298 +5.566311815756412,-1.4576199530879062,-0.8418223880970572 +5.566311815756412,-0.9083000592076708,-1.5607220269125512 +5.566311815756412,-1.3767911379760374,-1.0465171721241107 +5.566311815756412,-0.3736047827060356,-1.2373806005350543 +5.566311815756412,-1.242417714302352,-0.6889520927964088 +5.566311815756412,-0.7799406486589764,-0.606463903419439 +5.566311815756412,-0.5545281066106519,0.13902235253340312 +5.566311815756412,-1.4302643680837237,-0.5932855372851049 +5.608480844663657,-0.9356961248924658,-1.8217015294980685 +5.608480844663657,0.4405057198423422,-0.7345612067803178 +5.608480844663657,-0.4797270226021994,-1.5756392698765849 +5.608480844663657,-0.19190423627334624,-0.9039692510130964 +5.608480844663657,-0.6757864794470608,-0.0964542707457916 +5.608480844663657,0.2263523175903226,-1.147185791847639 +5.608480844663657,0.5070120136191493,-0.6967464960554576 +5.608480844663657,-0.35320037399951215,-2.0505918090822397 +5.650649873570903,0.31483702444418576,-1.4102130691994246 +5.650649873570903,-0.5490719224383638,-1.7472765011732325 +5.650649873570903,-0.7772296893517181,-1.1150011967867377 +5.650649873570903,-0.2426822433730476,-0.13607915265440707 +5.650649873570903,-0.29673584256941676,-1.649711904382682 +5.650649873570903,1.0331641906427116,-0.9903591285344325 +5.650649873570903,0.6406304433189527,-0.8412709239116558 +5.650649873570903,0.5345432473374843,-0.544084471559946 +5.692818902478149,-0.5762342830251415,-0.7163274584594439 +5.692818902478149,0.1824892592909208,-1.0583748169244478 +5.692818902478149,-0.4491065649098904,-0.5224876933208938 +5.692818902478149,-0.15493372613043405,-2.2633896077486564 +5.692818902478149,0.2623931733901885,-1.504848861161324 +5.692818902478149,0.43784264901213626,-1.0968578780574108 +5.692818902478149,0.13362881449775915,-1.447405646254835 +5.692818902478149,0.4125823780771692,-1.3993011698606543 +5.734987931385394,-0.11336187052761304,-2.198790726739782 +5.734987931385394,1.0745732908550136,-0.7530314773141066 +5.734987931385394,0.8321485559334836,-1.2057780939274827 +5.734987931385394,-0.6404266983171983,-1.4311582740577315 +5.734987931385394,-0.7620398441663634,-0.3006152539381204 +5.734987931385394,0.15993715719943968,0.13495242008724728 +5.734987931385394,0.1343606838504133,-0.8088681821179157 +5.734987931385394,-0.9094003788606542,-0.46068323985151877 +5.77715696029264,0.08639647572510756,-0.5905634495677429 +5.77715696029264,0.3146039041340555,-1.8681390908884892 +5.77715696029264,0.9456967304286459,-0.4817503232611244 +5.77715696029264,0.5164769163195957,-1.4740967274584742 +5.77715696029264,1.197199305244929,-1.0394704389941603 +5.77715696029264,1.0337349589572673,-0.8843034754731376 +5.77715696029264,0.27442351081194505,0.023707863355840297 +5.77715696029264,-0.5146216807939369,-1.2290710919160275 +5.819325989199886,0.3683636542581261,-1.5202450755597878 +5.819325989199886,0.8226602697158347,-0.42873305334950174 +5.819325989199886,0.501630406356019,-1.4105855757950094 +5.819325989199886,-0.5126551709910628,-0.44007850175581875 +5.819325989199886,-0.6539685969483214,-0.355155330075822 +5.819325989199886,1.3116257501726643,-0.6712670128100888 +5.819325989199886,-0.7909888707979246,-0.7437061917630142 +5.819325989199886,0.7275225931271818,-1.6528339780474028 +5.861495018107131,-0.15687671213048615,-0.9286205640624066 +5.861495018107131,1.2426778511792582,-0.8421360729227818 +5.861495018107131,-0.8467217661502955,-0.7007438000781191 +5.861495018107131,0.5291949724326807,-0.26475031392562165 +5.861495018107131,0.7822878099026858,-0.4668227888329136 +5.861495018107131,0.8477946450479721,-0.5626815961903584 +5.861495018107131,-0.384793739088908,-0.7849263108208522 +5.861495018107131,-0.4933854898846096,-0.17972577522452693 +5.903664047014376,-0.3903736642900336,-0.3046745724605632 +5.903664047014376,1.3962756414984838,-0.44100066884671857 +5.903664047014376,0.9352944520494036,-0.3611256165866097 +5.903664047014376,1.0799031319153722,-0.16829291187940387 +5.903664047014376,0.8111118383251633,-0.38944462124643303 +5.903664047014376,0.45913433220117966,-1.4983581017929537 +5.903664047014376,-0.04788115550838695,-0.43235932103149677 +5.903664047014376,0.3007304892907884,-0.2728714942827422 +5.945833075921622,0.24853528249908208,-0.958757973766557 +5.945833075921622,-0.5632631205651527,-0.8199303074936157 +5.945833075921622,1.354622956454692,-0.06354731391008162 +5.945833075921622,0.30549981724540126,-1.783252123050143 +5.945833075921622,0.5873194112133326,-0.25045689026641405 +5.945833075921622,1.2852806841200244,-0.5656249403220281 +5.945833075921622,0.6371002016306404,0.014014821916458087 +5.945833075921622,0.21520982763933177,-0.8109147457524877 +5.988002104828868,0.20111781548034396,-1.1225795325361836 +5.988002104828868,1.2834107237498902,-0.12902321807371947 +5.988002104828868,0.9854463651547516,0.051191928696971756 +5.988002104828868,0.08241037426837916,-0.8777160260997137 +5.988002104828868,0.7846685603982821,-0.6915465393182472 +5.988002104828868,0.21273200279207588,-1.2123809744966971 +5.988002104828868,0.5960850640046536,-1.728296937164688 +5.988002104828868,0.7891842249181653,-0.9508095733180624 +6.030171133736113,1.503084399445528,-0.05867514602932722 +6.030171133736113,1.0473852980518363,-0.07726425188133762 +6.030171133736113,1.3533632573609262,-0.5353336770353251 +6.030171133736113,1.3078917521250732,0.1827923989767415 +6.030171133736113,1.3849125124037998,-0.206998382733603 +6.030171133736113,-0.08555659373979985,-0.8044283314057268 +6.030171133736113,0.06430333302320557,-1.215781156194581 +6.030171133736113,0.11091542519388653,-0.739014716996837 +6.072340162643359,1.5348751546478767,0.21835693991909672 +6.072340162643359,1.244533012972816,0.05071558908549839 +6.072340162643359,0.191937349273559,0.19352440310445723 +6.072340162643359,0.9538433017655195,0.5463746603643018 +6.072340162643359,0.45474178647011265,-0.6337896190584047 +6.072340162643359,0.4953766643001434,-0.8790852975943181 +6.072340162643359,0.31519523617850714,0.0373804920413951 +6.072340162643359,1.487345326363251,0.03001996553234787 +6.114509191550605,-0.3190178957001194,-0.5014331738456339 +6.114509191550605,0.24166985313153777,-0.6192621138128451 +6.114509191550605,0.3450032003807183,-1.1449016304829618 +6.114509191550605,2.12663266477928,-0.20844260457275315 +6.114509191550605,1.0394934664931115,-0.7116350650275893 +6.114509191550605,0.9252318182124882,0.7642171780450286 +6.114509191550605,1.0960164309300247,-1.2942296119808208 +6.114509191550605,1.2858869179536674,-0.38259847544091447 +6.15667822045785,1.8338887691559347,-0.6686418085289123 +6.15667822045785,0.14682019072763075,-0.5052049354129031 +6.15667822045785,0.016367442544447552,-0.15138728046841932 +6.15667822045785,0.7069645890815495,-1.276939292900924 +6.15667822045785,1.7285574519891103,0.3601026806376738 +6.15667822045785,1.664661117782231,-0.4120687271290372 +6.15667822045785,0.7644576902272352,0.22481682245882573 +6.15667822045785,0.20134168947651043,-0.04756220237442116 +6.1988472493650955,1.271220588618481,-0.17842660241278943 +6.1988472493650955,0.941124725928062,0.022197485018134844 +6.1988472493650955,0.6327149795042026,-0.7784391278400494 +6.1988472493650955,0.8868844308448942,-0.5294447005170031 +6.1988472493650955,1.3621228594939947,0.1766943136152668 +6.1988472493650955,1.8826489931065362,0.1630380602584169 +6.1988472493650955,0.4431309469538971,0.11872766942727028 +6.1988472493650955,0.966743064587848,-0.036280954354907774 +6.241016278272341,0.5037379778383565,-0.8593122433503135 +6.241016278272341,-0.03838932300982756,0.2976969259810315 +6.241016278272341,0.17722157240825487,0.1884952440269974 +6.241016278272341,1.4662189547844833,-0.05998414532177007 +6.241016278272341,0.5719850932983777,0.45891925633285136 +6.241016278272341,2.0144488791615043,-0.022349053264198004 +6.241016278272341,0.9981604187053703,-0.5441455646711165 +6.241016278272341,0.20543301220257715,-0.5929553999211544 +6.283185307179586,1.6692704380129817,0.3343122242740029 +6.283185307179586,1.1588664320188453,0.5200577456884847 +6.283185307179586,1.3317588548748693,-0.6834773444029543 +6.283185307179586,0.7945977608621522,0.7974595021857716 +6.283185307179586,1.944660730371994,-0.41898484280768034 +6.283185307179586,1.2075399549431605,-1.010154533558398 +6.283185307179586,0.7368267647611609,0.4622551884853247 +6.283185307179586,-0.029206129664778313,-0.07224226057093773 diff --git a/week10/TRI2.csv b/week10/TRI2.csv new file mode 100644 index 0000000..83d4d6a --- /dev/null +++ b/week10/TRI2.csv @@ -0,0 +1,1201 @@ +t,x,y +0.0,1.5032100306498632,-0.010897529525532329 +0.0,0.8031546998143733,0.033903827113398635 +0.0,2.1717435659567577,-0.22679164245070854 +0.0,0.08302573199523722,-0.2800989039377758 +0.0,1.288135843000598,1.2973224361549807 +0.0,1.0044900508217574,-0.07112000658384288 +0.0,1.195449858982477,0.2413259968909625 +0.0,0.8582479029379813,0.781874064647324 +0.04216902890724555,1.4217460529544308,0.32513576512912523 +0.04216902890724555,0.7863542017720676,0.2878998921424625 +0.04216902890724555,0.9575103277653262,-0.03318391242400992 +0.04216902890724555,0.4801617540367231,-0.9639934603407023 +0.04216902890724555,0.6494602266992641,0.6316039362009596 +0.04216902890724555,0.5861091450483995,-0.09781530473981431 +0.04216902890724555,1.1186711090348598,-0.7552993724145982 +0.04216902890724555,1.431131032331952,1.1568497583540378 +0.0843380578144911,0.018302503930879843,0.12705253083699253 +0.0843380578144911,0.20931314618854902,0.8725623132227222 +0.0843380578144911,0.8871680543280341,-0.4822423659488906 +0.0843380578144911,0.7506260186731257,0.8162234910800023 +0.0843380578144911,0.22618659690161913,0.22309250913786627 +0.0843380578144911,-0.21043852197765178,0.4549002441828596 +0.0843380578144911,-0.17166860314443444,0.466422106983114 +0.0843380578144911,1.0041488791925137,0.06877582036941489 +0.12650708672173663,1.258249835131278,1.5730006915629633 +0.12650708672173663,1.5618389560457058,-0.24534690464345543 +0.12650708672173663,0.9103659044390031,0.3070053592780569 +0.12650708672173663,0.8843722125510421,0.3851331242247251 +0.12650708672173663,-0.11597842605306763,0.13490439830733952 +0.12650708672173663,1.6812500505956158,-0.20330828342340668 +0.12650708672173663,0.9821392041284651,0.43896778475143405 +0.12650708672173663,1.6594578090497853,-0.28533854090556643 +0.1686761156289822,1.3130346946554958,0.07774427623624097 +0.1686761156289822,0.6134824725316759,0.811403000422708 +0.1686761156289822,1.6119626823642825,-0.12344366989203509 +0.1686761156289822,0.5634966431131132,1.2347081831137352 +0.1686761156289822,-0.07272337108018345,0.5990121733644332 +0.1686761156289822,0.9514967434763966,1.0081254696935193 +0.1686761156289822,0.7091283049553685,-0.2544390942814522 +0.1686761156289822,1.7180907840652444,0.4942311435049612 +0.21084514453622774,-0.05094507370241097,0.1465572464475986 +0.21084514453622774,-0.13989992540683138,0.5478406825755384 +0.21084514453622774,0.6773167103054909,1.2000950425681487 +0.21084514453622774,1.6877701154962423,0.02230163522309686 +0.21084514453622774,0.32597929448276064,0.7659262331065305 +0.21084514453622774,0.19099692256123468,1.144805746728386 +0.21084514453622774,1.6993456952470052,-0.19413505658903407 +0.21084514453622774,1.8638809143867345,0.0978625508960243 +0.25301417344347327,-0.1316282677819941,0.531383643326358 +0.25301417344347327,1.3212897668640489,0.9126351290878709 +0.25301417344347327,0.5088031810034825,0.016227870327740312 +0.25301417344347327,0.6266935393044405,0.027394166629089223 +0.25301417344347327,0.17133470149609942,0.41618017829102705 +0.25301417344347327,1.6119352489569487,0.5509694236509658 +0.25301417344347327,-0.15574375480452873,0.7578351852239611 +0.25301417344347327,0.7134392886290849,1.4727221266327608 +0.2951832023507188,0.40927593054895756,-0.3939896169400078 +0.2951832023507188,0.5901882177548807,0.7962997447061887 +0.2951832023507188,0.49955681436463234,0.7082541303577405 +0.2951832023507188,0.09965182312754972,0.20173520144268142 +0.2951832023507188,0.9739819553243969,0.5982021581477149 +0.2951832023507188,0.9924846790902992,0.6515736000144801 +0.2951832023507188,0.5410450292578913,0.05009899017803099 +0.2951832023507188,0.9554522733631758,-0.358465499051677 +0.3373522312579644,0.47690638509868016,1.3909322038754586 +0.3373522312579644,0.7322915293275446,-0.30700001743922134 +0.3373522312579644,1.6095397350431047,0.7021555311825507 +0.3373522312579644,0.013654228260007728,0.0256924092145423 +0.3373522312579644,1.1493942419277214,0.5062766771242255 +0.3373522312579644,0.743947674177283,0.5531153853661266 +0.3373522312579644,0.037778725586397055,-0.0515209635184416 +0.3373522312579644,0.8076011676267192,1.043533507810766 +0.37952126016520993,0.09701349607548465,-0.27513719857889374 +0.37952126016520993,0.3492409842870915,1.3718118944686613 +0.37952126016520993,0.06287049728880295,0.7027846743408347 +0.37952126016520993,0.037060694982391174,0.03216493444459234 +0.37952126016520993,-0.6802932555107449,0.6731648913927424 +0.37952126016520993,-0.068682525289957,1.136782488595693 +0.37952126016520993,0.45106742027585106,1.466001880643593 +0.37952126016520993,0.3625402650954176,-0.07152189449373625 +0.4216902890724555,0.9010219052272175,1.5952237226159502 +0.4216902890724555,1.3664298797495136,0.23765980559561084 +0.4216902890724555,-0.19391148514118867,1.0219277362145407 +0.4216902890724555,-0.4973100309616462,0.4415142832944744 +0.4216902890724555,0.660518995985624,-0.15954467999615296 +0.4216902890724555,0.058889369600043345,0.11011963890014675 +0.4216902890724555,-0.5028301295884214,0.5865838280041967 +0.4216902890724555,0.07718560744615668,0.10411882189306432 +0.46385931797970104,0.9009069128044606,1.1415481034029094 +0.46385931797970104,-0.23245004859060334,1.0801381387275384 +0.46385931797970104,1.362696091324895,0.3872065785510809 +0.46385931797970104,-0.022173783822432375,0.9403717628677574 +0.46385931797970104,-0.4084051346569796,1.0906410922715257 +0.46385931797970104,0.55145539394149,2.0397697771361942 +0.46385931797970104,0.046592109790261266,0.09224051260087729 +0.46385931797970104,1.0120288761588916,1.1860869483205225 +0.5060283468869465,-0.6595532479459786,0.914750908541947 +0.5060283468869465,-0.0879550471636476,0.22920418654839247 +0.5060283468869465,1.0470863379409772,0.6425697155498027 +0.5060283468869465,-0.4709931090422622,0.012536061204643678 +0.5060283468869465,0.6148339152542068,0.3020383523797032 +0.5060283468869465,-0.1238497012622782,1.04007294465934 +0.5060283468869465,0.9268474784331737,0.7287813273230113 +0.5060283468869465,0.8674405745482154,0.7061144263305819 +0.5481973757941921,0.3017662199762426,0.9462558897793046 +0.5481973757941921,-0.9553839671778885,0.8753626912311012 +0.5481973757941921,-0.2392017495394695,0.04722420748539835 +0.5481973757941921,-0.4724109697568148,1.0133956658568213 +0.5481973757941921,-0.2181219915553229,0.0756484366120409 +0.5481973757941921,-0.8941571544776702,0.35040427418759623 +0.5481973757941921,0.06881391802478946,0.35725722480151656 +0.5481973757941921,-0.7760818434260518,0.320685989512 +0.5903664047014376,0.08493759264362041,1.5859696099069873 +0.5903664047014376,0.9163662212295769,0.43625209748295307 +0.5903664047014376,0.7674835303033809,1.1166221903124112 +0.5903664047014376,0.897808266743011,0.9868070424654141 +0.5903664047014376,-0.10219427086303194,0.6434166112420072 +0.5903664047014376,-0.791078040231791,1.37349560996249 +0.5903664047014376,-0.2643074830640235,2.0237351399886956 +0.5903664047014376,0.03439042207099019,0.9747581641011581 +0.6325354336086833,-1.5275978013375808,1.4037723216494207 +0.6325354336086833,-0.43224724576152623,1.3523966672344638 +0.6325354336086833,-0.5302661168537672,0.9430172691028835 +0.6325354336086833,0.779124194908178,0.8184281009990453 +0.6325354336086833,-0.3327044458595505,0.14335120586846617 +0.6325354336086833,0.6230640466504032,0.4872848944657929 +0.6325354336086833,-0.8441528366209137,0.18624206620082295 +0.6325354336086833,-0.20272363543471222,0.8054802245666948 +0.6747044625159287,-1.6838428080057402,1.3128086709566895 +0.6747044625159287,0.5670867217788096,1.0462971998618322 +0.6747044625159287,-0.11551125592437539,1.3432159580295078 +0.6747044625159287,-0.6548252276027544,0.3011394771563929 +0.6747044625159287,-0.3725100665173449,0.8268611916287774 +0.6747044625159287,-1.107062980378864,1.2994487749679489 +0.6747044625159287,-0.6249052043052455,1.2252613671685064 +0.6747044625159287,-1.009651720923748,0.7229042121088585 +0.7168734914231742,-0.8895651751974216,0.8543491934218598 +0.7168734914231742,-0.33038543279534716,1.7372206048754169 +0.7168734914231742,-0.9946511436669015,1.181341944324198 +0.7168734914231742,0.0907904507778442,1.6495790435373305 +0.7168734914231742,-1.3365569932569272,0.9502980286125697 +0.7168734914231742,-1.6043129197333104,1.2400419491640389 +0.7168734914231742,-0.40416074535301766,0.8083418441336248 +0.7168734914231742,-1.1959476543264838,0.34114139463459014 +0.7590425203304199,0.5283443001338672,0.5721359615860708 +0.7590425203304199,-1.1241159082585346,1.720046959471628 +0.7590425203304199,-0.7593635571028102,0.7690487230225731 +0.7590425203304199,-0.475914464887421,1.0129767156826386 +0.7590425203304199,-0.7416013857493466,-0.16667349432424472 +0.7590425203304199,-0.8796543544858533,1.8372811286276995 +0.7590425203304199,-1.0417971788916551,0.10433063877512305 +0.7590425203304199,-1.1825584912571314,1.403597794723433 +0.8012115492376654,-1.5215511695885893,1.4304978712801384 +0.8012115492376654,-1.9516361039886472,1.3182170619473217 +0.8012115492376654,-0.7934045633141908,1.3352579994651785 +0.8012115492376654,-1.251006664966984,1.3556178678284674 +0.8012115492376654,-0.866279931205701,-0.11524147188388778 +0.8012115492376654,-1.2745095871640504,1.5076358054849408 +0.8012115492376654,-0.31545364733485004,1.2841417645205957 +0.8012115492376654,-0.24479049317999585,0.43059323341195155 +0.843380578144911,-0.5156979718576895,1.8309938702038568 +0.843380578144911,-0.5139923352547984,1.091195162025842 +0.843380578144911,-0.3933808921884509,2.1142455122310064 +0.843380578144911,-0.44045601580608074,0.9156669190497512 +0.843380578144911,-0.6898363144475921,1.2419734073711242 +0.843380578144911,-0.8086681930838477,0.5526750953415933 +0.843380578144911,-1.053789409452293,1.0283127137144488 +0.843380578144911,-0.7068645594739549,0.5119174570388446 +0.8855496070521565,-0.46416690418609524,1.2954729780131022 +0.8855496070521565,-1.5018262217954528,0.31959901891892517 +0.8855496070521565,-0.4732480002939345,1.8070024556650353 +0.8855496070521565,-1.6290298361568325,1.5622086247728615 +0.8855496070521565,-2.07928111189481,1.3554912081805541 +0.8855496070521565,-0.8342470137271345,-0.12456237049569463 +0.8855496070521565,-0.858319406992155,0.6695440138337045 +0.8855496070521565,-1.1137698510364986,1.5331210364884065 +0.9277186359594021,-0.2445688263148207,1.1311186849633854 +0.9277186359594021,-0.7061348407015531,0.2802342391518856 +0.9277186359594021,-1.8613318937631442,0.7519016885076552 +0.9277186359594021,-1.9246926559338022,0.929205814479638 +0.9277186359594021,-0.5673232350765843,0.4767830907928152 +0.9277186359594021,-0.5509883444777842,0.4502214243012227 +0.9277186359594021,-1.3421169595520135,1.4173534369224388 +0.9277186359594021,-0.6511034110027165,0.3132112057174946 +0.9698876648666476,-0.27231043079845985,0.613991732157404 +0.9698876648666476,-0.5393964503045914,1.1354830581220134 +0.9698876648666476,-1.4047813250118657,1.4951411681134084 +0.9698876648666476,-0.14482355779593037,0.3322773608898365 +0.9698876648666476,-1.6971817674844334,1.3713238126607195 +0.9698876648666476,-1.8527616586550146,0.5294035045785879 +0.9698876648666476,-0.7004751148438868,1.371582668334754 +0.9698876648666476,-0.7476615014990191,1.5841380191690035 +1.012056693773893,-0.9833811256625227,1.6479534150748463 +1.012056693773893,-0.6445230396685431,0.8756738867634297 +1.012056693773893,-1.259827816894051,1.2462867889180562 +1.012056693773893,-0.11488582361720079,0.8807767638521927 +1.012056693773893,-1.6987185947894177,1.487138659432191 +1.012056693773893,-0.5374235890433746,0.4214566926575517 +1.012056693773893,-1.201682043345921,1.912719470878481 +1.012056693773893,-0.6799513143542478,1.6480890426270236 +1.0542257226811387,-1.8815955427941695,1.2184517822454775 +1.0542257226811387,-1.3444001646595631,1.558970850802273 +1.0542257226811387,-0.8565756279654375,-0.06981008837336933 +1.0542257226811387,-0.8112261775614426,0.43623491637105394 +1.0542257226811387,-1.0840962175461373,1.8658729739541047 +1.0542257226811387,-1.0559347268419743,1.720075286738679 +1.0542257226811387,-1.3527832622332947,1.2824314819874236 +1.0542257226811387,-0.6164846959247334,1.5672026478828618 +1.0963947515883843,-1.1015235715835718,1.038502518076606 +1.0963947515883843,-0.3949242160183002,0.5855553720793918 +1.0963947515883843,-0.903245646678585,1.9022829775035235 +1.0963947515883843,-1.2504025719098038,1.1262166272631888 +1.0963947515883843,-0.7408347525682403,1.3307656367031941 +1.0963947515883843,-1.2891703097311895,1.520867491459137 +1.0963947515883843,-0.6386926075283024,0.0014534658141138745 +1.0963947515883843,-0.5663202400969853,1.458619514132093 +1.1385637804956297,0.003716688418057834,0.48395262465274486 +1.1385637804956297,-2.209803843938326,1.0438599063311895 +1.1385637804956297,-1.882474359621979,0.9448100700433884 +1.1385637804956297,-0.6115587143971002,1.4454461456999625 +1.1385637804956297,-1.7687407648349205,0.6819533263139388 +1.1385637804956297,-0.21428346915172802,1.020851800930511 +1.1385637804956297,-1.0553210670104214,0.5752927357043826 +1.1385637804956297,-2.078221433344828,1.0220282864668224 +1.1807328094028753,-0.7792907693640903,1.9349568311566854 +1.1807328094028753,-1.0244750326996428,1.2236295425418215 +1.1807328094028753,-1.6033411082893552,0.696210055476775 +1.1807328094028753,-1.0626887595036232,1.5480164879487814 +1.1807328094028753,-0.7863415851582749,1.7936086377812774 +1.1807328094028753,-0.6506805059194372,1.7107997553801164 +1.1807328094028753,-2.0224402423000627,0.866316730517092 +1.1807328094028753,-0.615111337042467,0.6037718349082489 +1.222901838310121,-1.8100759950900736,0.5052458462941942 +1.222901838310121,-1.129602579054657,0.41337982111911914 +1.222901838310121,-0.9612746782129509,1.5359340905999352 +1.222901838310121,-0.251186873965621,0.8808598500079932 +1.222901838310121,-0.7984080289602598,0.07805966080075288 +1.222901838310121,-0.6962727532901312,-0.16026945098660605 +1.222901838310121,-0.12220178509464263,1.240125493703696 +1.222901838310121,-1.3617282171732583,0.013849589110264904 +1.2650708672173665,-0.7452992939773356,0.6780548368240553 +1.2650708672173665,-2.049260643584999,0.8904390458425171 +1.2650708672173665,-0.6991332452647937,-0.48856095371361263 +1.2650708672173665,-1.6077032436282481,0.28940175558601344 +1.2650708672173665,-0.9629865183133137,-0.5819143222496228 +1.2650708672173665,-1.1251421124319427,0.6663111884458177 +1.2650708672173665,-1.2795288556734654,-0.13742977452917016 +1.2650708672173665,-0.5957906369453725,-0.09801564131114981 +1.3072398961246119,-0.28551797748448926,-0.20931618321934964 +1.3072398961246119,-1.5161125631052825,0.08391455410846721 +1.3072398961246119,-0.7428532511625071,-0.4498959559789434 +1.3072398961246119,-1.2577521951323425,1.145997634687399 +1.3072398961246119,-0.638127398395931,1.2738954417764865 +1.3072398961246119,-0.5392780081479351,1.6935694439876805 +1.3072398961246119,-0.3632756730215914,0.9540547963202346 +1.3072398961246119,-0.6255566405851546,-0.18294401484905265 +1.3494089250318575,-0.7880452421763146,1.4723867273349391 +1.3494089250318575,-0.8966154262865618,0.7832310449434934 +1.3494089250318575,-0.5568331908438577,0.30564601114434764 +1.3494089250318575,-0.7763795589274841,0.3467641295494427 +1.3494089250318575,-1.0957164397066483,0.7262320250113602 +1.3494089250318575,-0.35102678226475,1.4658971613554959 +1.3494089250318575,-1.4839484435721757,0.8418817870725341 +1.3494089250318575,-0.7001486238367993,-0.0602892499553489 +1.391577953939103,0.07593331739650444,0.2392909542339369 +1.391577953939103,-1.1600260253393828,-0.31512327521217376 +1.391577953939103,0.0445078968242727,0.27255955115471464 +1.391577953939103,-0.4478399315538308,0.7577048274489822 +1.391577953939103,-0.5044111732973279,1.2723969153208192 +1.391577953939103,-0.2953571450183374,-0.2943813330170324 +1.391577953939103,-0.757920470845094,0.05224671368677891 +1.391577953939103,0.3452254117652631,-0.27859498756987733 +1.4337469828463485,-0.998573605383348,0.57116633318394 +1.4337469828463485,-0.3354676995373931,0.8429224930230275 +1.4337469828463485,-0.14282557284721453,1.073068806351515 +1.4337469828463485,-0.02377298129529898,0.34835325586518523 +1.4337469828463485,0.36888173149720965,0.8739159943786984 +1.4337469828463485,-0.707293635036905,-0.38541007096741475 +1.4337469828463485,-0.48914150600587836,1.199912344178049 +1.4337469828463485,-0.5384815043954188,-0.7739975788241905 +1.475916011753594,-0.03525968102252397,1.2894374340790415 +1.475916011753594,-0.5454209218893638,-0.24754418759163493 +1.475916011753594,0.16671086760308557,0.054241980050334065 +1.475916011753594,0.7648664805434706,-0.11391108930613836 +1.475916011753594,-0.7895373360233091,-0.7783106527729335 +1.475916011753594,-0.2642462897812579,-0.6957192046460838 +1.475916011753594,-1.28866681808067,0.19703980322776005 +1.475916011753594,-1.2762251061985423,0.5698346723612243 +1.5180850406608397,-0.5567127270815532,0.2687249963885655 +1.5180850406608397,-0.3734158817352897,-0.6191446393354412 +1.5180850406608397,-0.0887184143583925,0.28497323477669045 +1.5180850406608397,0.05016374632940321,0.8205023767785075 +1.5180850406608397,0.1890336903623124,0.18780672467558118 +1.5180850406608397,0.3965548819330451,0.7081799636956622 +1.5180850406608397,0.3722032489679946,1.148590645965359 +1.5180850406608397,-0.7673480908982063,-0.6612032524493155 +1.5602540695680853,-0.12859864459694198,0.476555160670978 +1.5602540695680853,-0.23056655034698037,0.5670118793353983 +1.5602540695680853,-0.09198500287855531,-0.7437417818898199 +1.5602540695680853,-0.8775742121400121,-0.29801723344141573 +1.5602540695680853,0.46889273549017474,-0.09143504990618148 +1.5602540695680853,0.612954848769786,-0.6410192928306859 +1.5602540695680853,-0.9274205548869006,-0.03017418520417841 +1.5602540695680853,-0.4314655042077417,0.1859119044311017 +1.6024230984753307,0.31667341946143585,0.8792697257636688 +1.6024230984753307,-0.4593698441027829,-0.4147978121334076 +1.6024230984753307,0.22593039698174727,0.6452636645411278 +1.6024230984753307,0.8596439506053979,-0.2493633793944952 +1.6024230984753307,-0.5278197628654786,-0.21477038602516704 +1.6024230984753307,0.693171357800745,-0.13538512255174265 +1.6024230984753307,-0.8066791125252651,-0.08309046769420891 +1.6024230984753307,0.08144176544128529,-0.8413902535246214 +1.6445921273825763,-0.20548692019901674,-0.8199188855571624 +1.6445921273825763,0.5217042546709704,-0.2996327971812288 +1.6445921273825763,-0.20756308726901593,-1.3245695659217227 +1.6445921273825763,-0.30298012756481874,-0.07993682180079523 +1.6445921273825763,-0.5364657702712767,-0.44348052071567723 +1.6445921273825763,-0.15040893730204316,-1.02666738060564 +1.6445921273825763,0.08456861330676793,-1.224449809971154 +1.6445921273825763,0.5529317756339999,-0.039113444192239055 +1.686761156289822,1.3154297284618504,-0.5935439456694075 +1.686761156289822,-0.08087915227539155,-0.9203480514099359 +1.686761156289822,0.9956537630162376,-0.30042554231233654 +1.686761156289822,0.38069217085722157,-0.6650699377499324 +1.686761156289822,-0.8255872884905336,0.11148971117644527 +1.686761156289822,0.13715800101946252,0.3172247560781595 +1.686761156289822,0.6009474391313033,-0.04680971428894157 +1.686761156289822,-0.5125124633970174,-0.3929559330228639 +1.7289301851970673,-0.054493032159874555,-0.8039439072190189 +1.7289301851970673,0.3982077144690991,0.30692654916962664 +1.7289301851970673,0.6057803074763972,0.1711284007349268 +1.7289301851970673,0.002800925415927802,-0.9284925397535029 +1.7289301851970673,-0.5543698699370113,-0.3879641597687042 +1.7289301851970673,1.4765977147642997,-0.2670083703679222 +1.7289301851970673,-0.2328941341041948,-0.7656387216232727 +1.7289301851970673,1.0226514406628961,0.13569860752289525 +1.771099214104313,-0.6938850523098692,-0.021735458792008444 +1.771099214104313,1.5030364561466103,-0.6994240925895404 +1.771099214104313,1.3452790474174139,-0.053588859236529174 +1.771099214104313,0.3824596718369019,-0.5855358459336122 +1.771099214104313,0.9854081410413971,0.2208226362423476 +1.771099214104313,-0.6556162538344963,-0.03813375325751189 +1.771099214104313,-0.2902315365428436,-0.31685592360148385 +1.771099214104313,1.1136595307610675,-0.7950569926647033 +1.8132682430115585,-0.27569467478258725,-0.15400038481981143 +1.8132682430115585,0.3712727056184831,-0.2787293689680162 +1.8132682430115585,0.44463936083863226,-0.06829982196239853 +1.8132682430115585,0.841608516065117,-0.8551850831217374 +1.8132682430115585,0.06923705535382618,0.019165512975070964 +1.8132682430115585,0.8961268242150378,-0.9944442912465106 +1.8132682430115585,1.1210998492916397,0.4821737796064526 +1.8132682430115585,-0.6036100801370448,-0.046297962388749336 +1.8554372719188041,1.4312199660912914,-0.9325361473959055 +1.8554372719188041,0.10617921204255232,-0.4685342998501361 +1.8554372719188041,1.4993880417187841,-0.711269282480842 +1.8554372719188041,0.5258006354058471,-1.1161352346570355 +1.8554372719188041,1.2518202328166663,-1.0094400209138121 +1.8554372719188041,-0.11047135291194443,-0.6249824435157223 +1.8554372719188041,1.2363460307391305,-0.2583196168827988 +1.8554372719188041,0.585972245475481,-0.792900094994406 +1.8976063008260495,0.17746856033421943,0.07706084939255697 +1.8976063008260495,1.586994892018106,-0.8455820863013628 +1.8976063008260495,0.5861342059590906,-0.6476435394095451 +1.8976063008260495,1.058250127634851,-0.5501854627753372 +1.8976063008260495,1.1002858391951913,0.1655696408629257 +1.8976063008260495,0.4852411603759011,0.010983407967648628 +1.8976063008260495,0.9870547452865222,0.12554323023105063 +1.8976063008260495,1.8547791674158522,-0.5561545599011704 +1.9397753297332951,0.10293504811929777,-0.23144532747529933 +1.9397753297332951,0.9392968602511349,0.3382463644773037 +1.9397753297332951,0.009894655948435749,-0.8883666492488173 +1.9397753297332951,0.27491351958958987,-1.0214000748434868 +1.9397753297332951,0.6699901781463644,-1.6612185454283748 +1.9397753297332951,-0.08085553189906614,-0.935029972870204 +1.9397753297332951,1.044964216332694,-1.4975898917398027 +1.9397753297332951,0.9185344302197826,-1.423346434437279 +1.9819443586405407,1.8886673603617714,-0.6027761759017849 +1.9819443586405407,0.31617541904150637,-0.31010547189154647 +1.9819443586405407,0.9893832347770476,-0.22092666081151324 +1.9819443586405407,0.733000107003009,0.17612611350837037 +1.9819443586405407,-0.05289433155102208,-0.1786686792538923 +1.9819443586405407,1.4278946822519964,-0.2476491024566596 +1.9819443586405407,1.0760443831828506,-0.3125647204516514 +1.9819443586405407,0.46073768124592435,-1.6627238518076364 +2.024113387547786,1.7427809760622792,-0.2664416564949522 +2.024113387547786,0.5051181836139184,-0.45521594238816543 +2.024113387547786,1.507159669706875,-1.6061413500173989 +2.024113387547786,1.1548123468267322,-0.14898326864088185 +2.024113387547786,-0.058785145318568266,-0.3313262907276244 +2.024113387547786,0.5418998756014302,-1.1367055885820758 +2.024113387547786,0.20727517783517424,-0.9938072917043393 +2.024113387547786,0.9089559364146329,-1.166293381072242 +2.066282416455032,2.053224504959542,-1.3590461624735877 +2.066282416455032,1.4410560329518094,-0.41485969147848867 +2.066282416455032,1.748949755790289,-0.19554029241515902 +2.066282416455032,0.6756943973583991,-2.059484999444544 +2.066282416455032,1.318871947519834,0.13759421428366714 +2.066282416455032,0.611486950339456,-0.7862306732471861 +2.066282416455032,0.5112533000095327,-0.03781577235335776 +2.066282416455032,1.2919617867605937,0.4514356379787562 +2.1084514453622774,1.2242673339016097,0.19607524626690964 +2.1084514453622774,0.17841670970348789,-0.5891383429628305 +2.1084514453622774,0.8980756410104014,0.13068916164142796 +2.1084514453622774,1.5373729590388203,-1.526987413372934 +2.1084514453622774,0.9812299183622368,-0.459171159667112 +2.1084514453622774,0.6205794466551032,-1.3428176687955735 +2.1084514453622774,1.2956181987865012,-0.9992895432080421 +2.1084514453622774,1.149427471728602,-1.6403025636003903 +2.1506204742695227,1.4987092141546121,-0.04204687830869924 +2.1506204742695227,-0.14367710750470886,-0.9553634603848511 +2.1506204742695227,1.8914140315381949,-1.526038496073352 +2.1506204742695227,0.6532082090625797,-0.8621658814943536 +2.1506204742695227,0.6259834906828012,-0.48242586906173773 +2.1506204742695227,1.2028349563978042,-1.590731192995107 +2.1506204742695227,2.0689439549955693,-0.8870468169014595 +2.1506204742695227,1.719705711620278,-1.3170416903593347 +2.1927895031767686,0.7185624132306432,-1.2184697477165969 +2.1927895031767686,0.4737194805693349,-1.3415117855005205 +2.1927895031767686,0.30393091375303427,-1.1877060873716403 +2.1927895031767686,1.6778742492500167,-1.5412440330592898 +2.1927895031767686,1.9144276670337819,-1.121291097116942 +2.1927895031767686,0.31971278894494404,-0.9422426877284436 +2.1927895031767686,0.9032285118593881,-0.9793670263751827 +2.1927895031767686,0.006958580886401999,-0.7893662721188457 +2.234958532084014,1.4797602614047651,-1.4852300070935773 +2.234958532084014,0.3837489723875219,-0.5591022851611109 +2.234958532084014,1.4221440366896618,-1.58023257901707 +2.234958532084014,0.9493473841823592,-1.5436367560152706 +2.234958532084014,0.599288500658643,-0.3585629526535995 +2.234958532084014,0.868667812221052,-1.1499352821848448 +2.234958532084014,1.5383013484371033,-0.4334395192725907 +2.234958532084014,1.2651348377252094,-1.3169405035118031 +2.2771275609912593,0.9641361500483568,-0.7483193403040205 +2.2771275609912593,0.1841112850878227,-0.24076175300637226 +2.2771275609912593,1.265333609245696,-0.17333577430062408 +2.2771275609912593,0.9560899997561622,-1.0158916368891076 +2.2771275609912593,0.501954149995582,-1.6390980443245207 +2.2771275609912593,1.3742304157193752,-0.7936712363945384 +2.2771275609912593,1.8676644336185604,-1.215089158593613 +2.2771275609912593,0.7209572554508853,-0.7246237468267225 +2.319296589898505,0.4208470883855807,-0.30626911718485383 +2.319296589898505,2.013005416922997,-1.1731089338207452 +2.319296589898505,0.5096305768255429,-2.0076208389600927 +2.319296589898505,1.222023437682239,-1.0366327009388097 +2.319296589898505,1.2795329721924287,-0.9276918758485797 +2.319296589898505,0.7320549166716598,-0.40226382739296285 +2.319296589898505,0.8249004141536537,-0.8806401889943569 +2.319296589898505,0.1569107852885404,-1.5635745543480473 +2.3614656188057506,0.8131446155488194,-1.0200184193036022 +2.3614656188057506,0.9834812409697151,0.10496927893153007 +2.3614656188057506,1.3781162696498743,-0.8940171195875624 +2.3614656188057506,1.176921796098588,-0.9640109847995713 +2.3614656188057506,0.3897729696097667,-1.5394514350498154 +2.3614656188057506,0.12094852360572705,-1.7203496990151566 +2.3614656188057506,0.17235971692679086,-0.25028616202244014 +2.3614656188057506,-0.02979879802385066,-0.4894638671114434 +2.403634647712996,0.43906107177428205,-1.8019015329780743 +2.403634647712996,0.4600509382151261,-0.6777083256630293 +2.403634647712996,0.08935565383084343,-1.9342980815027921 +2.403634647712996,0.6918987346509933,-1.3325276484362318 +2.403634647712996,0.9567711280091717,-0.7635504398669444 +2.403634647712996,-0.38307945287820966,-0.6519090541970127 +2.403634647712996,0.009832210872659619,-0.8022657391820996 +2.403634647712996,0.6213318628537559,0.08662620926415654 +2.445803676620242,0.37548046703557786,-0.784842861983444 +2.445803676620242,0.029719183672657468,-0.8404914440869168 +2.445803676620242,0.4928270987122434,-1.128589112775627 +2.445803676620242,1.5594201036836388,-1.4076462153845053 +2.445803676620242,0.8034096200708638,0.007781948150591855 +2.445803676620242,0.5147249467295206,-0.9945862273360948 +2.445803676620242,-0.23962932516366842,-0.26624184361565995 +2.445803676620242,-0.269788580527598,-1.2165566221334858 +2.487972705527487,0.2605988988252001,-0.03150634776641792 +2.487972705527487,0.7217266523703652,-0.43611541870936554 +2.487972705527487,-0.1571868907799427,-1.567357226691207 +2.487972705527487,-0.6265101949829903,-0.6663481156919742 +2.487972705527487,0.5550668994505897,-0.2697816242479131 +2.487972705527487,0.6369196497981173,-0.8010132977494775 +2.487972705527487,-0.05571563366624516,-1.610475628914518 +2.487972705527487,-0.473546275540716,-0.9389927961752448 +2.530141734434733,-0.5300987552479719,-0.9297928915757938 +2.530141734434733,0.6342074416212328,-0.8183239258249493 +2.530141734434733,-0.18608751254338474,-1.625638329930858 +2.530141734434733,-0.2514771910527247,-0.7729222646320898 +2.530141734434733,-0.7375695435661999,-0.756385971555378 +2.530141734434733,1.0262867873770682,-1.2224176709123846 +2.530141734434733,0.47160648078610323,-0.4290548315670487 +2.530141734434733,1.001345094561537,-1.2307633520290593 +2.5723107633419784,-0.19293422034521565,-1.7068656046529078 +2.5723107633419784,-0.3893612813086297,-0.5335184311128169 +2.5723107633419784,0.12326548037750243,0.06679490964679691 +2.5723107633419784,-0.13941158500863401,-2.1954125806422615 +2.5723107633419784,0.7022517996132508,-1.0911792432690166 +2.5723107633419784,-0.19756508429205735,-0.9928904195046432 +2.5723107633419784,-0.6947143631092398,-1.0584656992751333 +2.5723107633419784,-0.29894790665598214,-0.8530160173662644 +2.6144797922492238,0.917947672136496,-1.1051630395581735 +2.6144797922492238,0.726148009431431,-0.38549155951388936 +2.6144797922492238,1.0353443569626741,-0.9528166539149343 +2.6144797922492238,0.2877627922972986,-0.9314278033915886 +2.6144797922492238,0.37959988638336334,-0.41185621016103346 +2.6144797922492238,-0.4119428516839195,-0.15969090825709487 +2.6144797922492238,0.07772236881552264,-1.477409520008099 +2.6144797922492238,0.07375037276508577,-0.5465933303196334 +2.6566488211564696,-0.20780634500546535,-0.9089196682049169 +2.6566488211564696,0.4475790795380135,0.03775464885777724 +2.6566488211564696,-0.5022927131054817,-1.7128257968764515 +2.6566488211564696,0.4815522485171057,0.04300427463450285 +2.6566488211564696,0.7993126905032892,-0.7494989886847332 +2.6566488211564696,0.08921789038925773,-0.21229178092900758 +2.6566488211564696,-0.5221287933967755,-0.9421157621617228 +2.6566488211564696,0.12385254412036648,-0.7300877561590313 +2.698817850063715,-0.0062818625603320855,0.1294618687177045 +2.698817850063715,0.06373142987294539,0.10188265559226628 +2.698817850063715,-0.14218128494180027,-0.9915343448418023 +2.698817850063715,0.34365613741168766,-0.45985821850743896 +2.698817850063715,-0.6867441199998796,-1.0151721608841096 +2.698817850063715,-1.0520667596232074,-0.80050109473629 +2.698817850063715,-0.28495443896432826,-1.3528927704108802 +2.698817850063715,0.27371238297114386,0.16181776793720226 +2.7409868789709604,0.012833654572444286,-0.2168374191615925 +2.7409868789709604,-0.03236128098336927,0.06985573661133992 +2.7409868789709604,-0.6507066680102715,0.17926493806105348 +2.7409868789709604,-1.3382162756219205,-0.258648508660602 +2.7409868789709604,-0.5597764346765796,-0.7675730145560006 +2.7409868789709604,-1.054205445338809,-1.0259922171712292 +2.7409868789709604,-0.6657491376151824,0.25505145058637724 +2.7409868789709604,-0.004003232697001813,0.5648165584207776 +2.783155907878206,-1.2293254205065702,0.0422556700026997 +2.783155907878206,-0.904409701070259,-0.09215449826657196 +2.783155907878206,-0.9726407452326673,-0.9306075934283606 +2.783155907878206,-0.11533410831295438,0.5832622621952264 +2.783155907878206,-0.4550355178680998,0.04253348972278703 +2.783155907878206,-1.2575632897659088,-0.5966803597412629 +2.783155907878206,0.13745892333598297,-1.2464332635890334 +2.783155907878206,-0.7539312116125712,-1.7220674674752436 +2.8253249367854516,0.1642261932813266,-0.9874020902781899 +2.8253249367854516,-0.4955273603791486,-0.8711740697255881 +2.8253249367854516,-0.7016569580395705,-0.1830596550110169 +2.8253249367854516,-0.27822730477079227,-0.3795877420993573 +2.8253249367854516,-0.5422456147142324,-0.8038452695926378 +2.8253249367854516,0.21333840472837018,-0.5222548818783603 +2.8253249367854516,-1.2427623260575813,-0.4103909437664588 +2.8253249367854516,-1.172551617802913,-0.1304088955820134 +2.867493965692697,-1.1805909615177264,-0.34348218407368736 +2.867493965692697,-1.3539978461965032,-1.1742514988350434 +2.867493965692697,-1.2687526943926979,-0.1294157581292944 +2.867493965692697,0.16754175858115028,-0.12184981226631253 +2.867493965692697,-0.31760241785242127,0.14956804601458473 +2.867493965692697,-0.1821128900304379,0.48509214197313355 +2.867493965692697,-1.6256518325122111,-0.5742567537440391 +2.867493965692697,-0.13548940023343015,-1.3232072001467319 +2.909662994599943,-1.620042049128653,0.034411527727049085 +2.909662994599943,-0.3284387288216845,0.49628260997595813 +2.909662994599943,-0.23962668712659996,0.5653285634010918 +2.909662994599943,-1.4037337866882074,-1.3046804586775393 +2.909662994599943,-1.1746389463761946,-1.6198043820397536 +2.909662994599943,-1.2580887498115867,-0.7223985437559659 +2.909662994599943,-0.5275718823349402,0.5270738720333892 +2.909662994599943,-0.9944566295413151,0.41042139585489684 +2.951832023507188,-1.23121636440163,0.30341668283473683 +2.951832023507188,-0.6990745903768217,-0.8022681876388519 +2.951832023507188,-0.008975017690242337,-0.14816506273991642 +2.951832023507188,-0.6652528161469067,-0.6634938089573903 +2.951832023507188,-1.0552765010092304,0.6497809951644595 +2.951832023507188,-2.0639709199656995,-0.15240522759560937 +2.951832023507188,-1.565741427841163,-1.1017139892865617 +2.951832023507188,-1.6736199025509593,-0.25613999284516475 +2.994001052414434,-1.7354160930895075,-0.6476656358395496 +2.994001052414434,-0.8924348876751435,-1.1304907410903282 +2.994001052414434,-0.15018016379689259,-0.5085453219761541 +2.994001052414434,-1.157251640575408,-0.9568183575331519 +2.994001052414434,-0.9129477716582185,0.07240113610898286 +2.994001052414434,-1.4809728578320072,-1.220407515171055 +2.994001052414434,-0.8551052434717004,-0.6509687468392797 +2.994001052414434,-0.5258719148943143,0.5915816645420822 +3.0361700813216794,-0.5703970219652802,-0.363914951408697 +3.0361700813216794,-0.9464661713555497,0.5865844397237894 +3.0361700813216794,-1.0706132906639714,0.3782456880305985 +3.0361700813216794,-0.5906777170557617,0.16407122634451077 +3.0361700813216794,-1.5214932244378492,0.02860399929034227 +3.0361700813216794,-1.7377347923612572,-0.01840202021357623 +3.0361700813216794,-0.7450573909597551,0.6532315881732833 +3.0361700813216794,-0.6897945375666898,-0.7690093663310376 +3.078339110228925,-1.918709726365763,-0.10493226865665689 +3.078339110228925,-0.46386342995088126,0.5213511666043348 +3.078339110228925,-2.033278717408669,0.27125288609076376 +3.078339110228925,-0.06827848479003895,0.24754046291443316 +3.078339110228925,-1.0950357152585801,0.4488292520624605 +3.078339110228925,-1.0403974792977422,0.9204510544474461 +3.078339110228925,-1.7298163333697294,-0.37146725848898154 +3.078339110228925,-1.03971286786656,0.7414317911573858 +3.1205081391361706,-0.8280230722935975,1.1598730238396426 +3.1205081391361706,-1.3078405324571087,0.5428165480796131 +3.1205081391361706,-1.0462658155599462,-0.24943113480312293 +3.1205081391361706,-1.7434506130630214,0.2623949821189478 +3.1205081391361706,0.08711455646537891,0.021630067292449796 +3.1205081391361706,-2.0823452403822467,0.06051058924081918 +3.1205081391361706,-1.2494544025049539,0.8742951989334709 +3.1205081391361706,-0.9981620802237643,-1.0329192046407383 +3.162677168043416,-0.5965565726755411,-0.683395116487356 +3.162677168043416,-1.036569843321028,-0.8438788147799939 +3.162677168043416,-1.0819618953642411,-0.9158887601518529 +3.162677168043416,0.0096253778778298,0.11252190076613602 +3.162677168043416,-1.4937842006631854,0.6764700216460074 +3.162677168043416,-0.8089076424745296,0.42392503382598845 +3.162677168043416,-0.9707765287752815,0.8172565786609319 +3.162677168043416,-0.48649747182925995,0.6668849569525759 +3.2048461969506614,-0.34193452645540756,0.5774875098186025 +3.2048461969506614,-1.7478696752586051,0.5617729459901135 +3.2048461969506614,-1.3163539574757424,0.8710936831042971 +3.2048461969506614,-1.6760178748558041,-0.511170192194205 +3.2048461969506614,0.04392153680829591,0.1403561785109991 +3.2048461969506614,-0.6711886637288584,1.353888289556217 +3.2048461969506614,-0.38382755525366685,0.618588522307347 +3.2048461969506614,-1.0971598211275335,0.9133047888982252 +3.2470152258579073,-0.6026289405546139,0.7105126421814673 +3.2470152258579073,-0.3007816949308413,1.0131471785624435 +3.2470152258579073,0.3157676389392263,-0.08185725476502675 +3.2470152258579073,-1.527200682878096,-0.2358289714596697 +3.2470152258579073,-1.4325323195574007,0.5838769739679068 +3.2470152258579073,-2.01433178410034,0.6945214687122003 +3.2470152258579073,-1.1996418632988233,-0.09875547136345103 +3.2470152258579073,-1.419919521254993,0.12149325270534989 +3.2891842547651526,-1.3177213047671807,-0.7572325253184211 +3.2891842547651526,-0.1643327560257708,-0.006284080622114385 +3.2891842547651526,-1.6546509268223608,0.5338897031924459 +3.2891842547651526,-1.5454631285604141,-0.22408220376146337 +3.2891842547651526,-1.5764521283544655,-0.4513588470825315 +3.2891842547651526,-0.14902366396002664,-0.2200654091296118 +3.2891842547651526,-0.6404500223475496,1.3885229084481523 +3.2891842547651526,-2.078475459463709,0.7458790214952846 +3.331353283672398,-0.777079044771113,-0.5523516448177752 +3.331353283672398,-1.6080600728806065,-0.2829000395992178 +3.331353283672398,-0.4496300324198599,0.20961175814412072 +3.331353283672398,-0.47568296386159714,1.0823662781613386 +3.331353283672398,-1.3361257792575891,0.6264736174084449 +3.331353283672398,0.327562868909427,0.10618517081245893 +3.331353283672398,-1.1414520045994325,0.11305846155763938 +3.331353283672398,-0.8879651188208691,0.4415509667253661 +3.373522312579644,-1.2801321869498377,0.5377320551796956 +3.373522312579644,-0.5940759881972921,0.7272782500574397 +3.373522312579644,-1.413500426350883,0.021271882627227734 +3.373522312579644,-1.0076090188990903,0.28810800567907774 +3.373522312579644,-0.017385456268653177,0.8355486764539004 +3.373522312579644,-1.5481949135027402,-0.1445541416117812 +3.373522312579644,-0.4922301974483945,1.2531308720215304 +3.373522312579644,-0.4941249386216723,0.02738023391603539 +3.4156913414868892,-0.8047110820772543,0.5965737427013562 +3.4156913414868892,0.04108398510706124,1.2707448149853446 +3.4156913414868892,-0.33551806763768194,0.7006126717278927 +3.4156913414868892,-1.2455251277909265,0.9176896180393652 +3.4156913414868892,-1.1840082547521393,1.3729103626402472 +3.4156913414868892,-0.3228102806815925,-0.2699752841100931 +3.4156913414868892,0.08905250579859669,-0.08151230475251825 +3.4156913414868892,-0.9664228164497894,0.018318418695302374 +3.4578603703941346,-0.1620943971594983,0.820691479514333 +3.4578603703941346,-1.515915255227665,0.3222273727906068 +3.4578603703941346,-1.1578876550803914,1.233266603289198 +3.4578603703941346,-0.7923894539091545,0.9527094436398774 +3.4578603703941346,-1.3305638280521142,0.7620795277443113 +3.4578603703941346,-0.6040320932082279,1.512036922300043 +3.4578603703941346,-1.337601508175642,0.03408174484428872 +3.4578603703941346,0.1324861512884924,0.06915027115411776 +3.5000293993013805,-1.0724442395785068,1.3334553740357973 +3.5000293993013805,-1.071828839094176,1.4337111640987974 +3.5000293993013805,-1.4608663771047836,0.5911622267394435 +3.5000293993013805,-0.3356747785363313,0.7389819104430391 +3.5000293993013805,0.7104218826684773,0.4864140045551037 +3.5000293993013805,0.01919055409453263,1.3842679862121285 +3.5000293993013805,-1.294559530325147,1.1117383673497927 +3.5000293993013805,-0.9121514615153385,1.1305835411924314 +3.542198428208626,-0.9041349680232159,1.2148661987935045 +3.542198428208626,0.2349386011866882,0.23310330895372122 +3.542198428208626,0.20721610027908055,0.33325626913648776 +3.542198428208626,-0.1835134079062487,0.059057487028417954 +3.542198428208626,-0.9004422524833885,-0.2588113776605012 +3.542198428208626,-0.27922611488281457,0.7226343417616345 +3.542198428208626,-0.10575717308410937,0.2826776082788203 +3.542198428208626,-0.24421801993587652,1.2571552501975845 +3.5843674571158717,-0.8672799947630128,1.2924367157236543 +3.5843674571158717,-0.20368671042505723,1.287280995992344 +3.5843674571158717,-0.12637317395149314,-0.31336317207913256 +3.5843674571158717,0.0703217755789298,1.6980939583946597 +3.5843674571158717,-0.76685889341892,0.17939851597632062 +3.5843674571158717,-0.11276594168037307,1.1990659720754695 +3.5843674571158717,0.7437739629287534,0.5115394442621581 +3.5843674571158717,0.04132470179761741,0.006574906186752716 +3.626536486023117,0.17796082388661935,-0.12544108687964917 +3.626536486023117,0.5470800958038856,1.2699368467928092 +3.626536486023117,0.9302654958844111,0.4123570479036384 +3.626536486023117,-0.34714148649726706,0.13551424201421458 +3.626536486023117,-0.6148275520372165,1.2360936446710893 +3.626536486023117,-0.016846147486386603,0.19982498637847101 +3.626536486023117,-0.4486558106576116,-0.33852919138066084 +3.626536486023117,0.38990689062974726,0.9892653871462662 +3.6687055149303625,0.22001213520484286,1.4114297503986366 +3.6687055149303625,-0.263916614818761,-0.11365570827621319 +3.6687055149303625,0.23153911250511838,1.5081080137933407 +3.6687055149303625,0.22186288988483158,0.015622728757730298 +3.6687055149303625,-0.6226859030418145,0.014693166874215624 +3.6687055149303625,-0.5695825165221854,-0.08878758907665119 +3.6687055149303625,0.24969748871397693,0.1332916827254661 +3.6687055149303625,-1.0713064028879946,1.1604456104571217 +3.7108745438376083,-0.1497965293649235,1.7460021539528072 +3.7108745438376083,-0.30756113024434206,1.0606829973629457 +3.7108745438376083,-0.49320861612725475,0.817695918554021 +3.7108745438376083,-0.007036250041701331,-0.3248030991893577 +3.7108745438376083,0.8291613535537317,1.4346444518143913 +3.7108745438376083,1.0422721206593784,1.0471612210372747 +3.7108745438376083,-0.06231755515019449,0.5637482865743589 +3.7108745438376083,0.42768554307668444,1.2280576837648873 +3.7530435727448537,1.4718112270154375,0.5434870420596807 +3.7530435727448537,0.7907940709348023,0.8544074807110793 +3.7530435727448537,-0.3037313663178191,0.6383320035928597 +3.7530435727448537,0.632275520593353,0.3164410486744722 +3.7530435727448537,-0.16398002381258542,0.48292519520554944 +3.7530435727448537,0.28501441137682465,0.5329054461795018 +3.7530435727448537,0.14740448455135036,-0.26981221246227904 +3.7530435727448537,0.6314876077251926,2.178490866786162 +3.795212601652099,-0.14312296505889327,1.8065747475868883 +3.795212601652099,1.112167748429208,0.3923632599805419 +3.795212601652099,-0.6979951836999254,1.3039129016075912 +3.795212601652099,0.26232055726955605,1.6899332592083 +3.795212601652099,1.12212841916362,1.2735721475974802 +3.795212601652099,-0.090009176897769,-0.025918742488398427 +3.795212601652099,-0.05921209222879831,-0.007076874957087975 +3.795212601652099,0.6070888346696242,0.2146999831383748 +3.837381630559345,-0.029155603034028255,0.556877148302825 +3.837381630559345,0.24941096767163923,0.768136504882966 +3.837381630559345,0.22674545381399702,1.1633986359463488 +3.837381630559345,1.6432712990591174,0.7419739862145209 +3.837381630559345,-0.5530067667926792,1.1943215855522993 +3.837381630559345,0.23857552020289235,1.4518070674774575 +3.837381630559345,-0.32786516852871067,1.2690119156541908 +3.837381630559345,1.0925419984840763,1.6424934172947299 +3.8795506594665903,-0.4782711614334151,1.2860519621626572 +3.8795506594665903,0.8553870397398886,1.7225230213846565 +3.8795506594665903,-0.5017116279273158,1.0500487108116625 +3.8795506594665903,0.25018779096439386,0.1526120013594725 +3.8795506594665903,0.9682818919691671,0.6655718314073104 +3.8795506594665903,0.7710540552023294,1.344033951125023 +3.8795506594665903,-0.2350581729397634,0.8738770151888291 +3.8795506594665903,1.6728627506082883,0.8324822860265377 +3.9217196883738357,1.0220880658254727,0.8231092416221775 +3.9217196883738357,0.8388822704039153,0.5906295908562507 +3.9217196883738357,0.9142721136236813,0.03812641032132891 +3.9217196883738357,1.4051092404767416,1.6976559746488005 +3.9217196883738357,0.8133438550881916,0.7992390986090048 +3.9217196883738357,0.8839298236967927,0.8316564879980151 +3.9217196883738357,0.48924395696317735,0.7974059368885785 +3.9217196883738357,0.627778418598042,0.22175763544786165 +3.9638887172810815,0.5361704531221743,1.6475713740612017 +3.9638887172810815,0.6468380218768905,-0.1592213595896942 +3.9638887172810815,-0.13736396711058096,1.5749905984457513 +3.9638887172810815,1.254451231209479,1.4920812745660668 +3.9638887172810815,1.5790934110738297,1.3317478907602838 +3.9638887172810815,1.8216561104695557,1.1277437207139815 +3.9638887172810815,0.19303976019721325,0.9766905731861311 +3.9638887172810815,0.4434825374292368,1.0943038323692973 +4.006057746188327,0.3977894182395459,0.9967588048204216 +4.006057746188327,0.9140744058080021,-0.014470055703808549 +4.006057746188327,1.1841004649616358,2.063389655827087 +4.006057746188327,1.4523844835091801,1.8333570942419435 +4.006057746188327,1.1109446384624575,1.2724403674418356 +4.006057746188327,0.5163432942977744,0.0752050602526938 +4.006057746188327,0.09865978675506526,1.4527632060802986 +4.006057746188327,-0.13584122841784785,1.39293022250842 +4.048226775095572,0.7362948150797424,1.3669107211176972 +4.048226775095572,0.4682885028448005,0.18094628517438216 +4.048226775095572,1.940425981876324,1.0242258617688595 +4.048226775095572,0.8623662998597377,0.2434924534520142 +4.048226775095572,0.5366775042121907,0.13780977463221666 +4.048226775095572,1.2035480778586436,1.035768965579833 +4.048226775095572,1.3831414141946319,0.3704199598934965 +4.048226775095572,1.1515847389285518,1.764930329586081 +4.090395804002818,0.24460318677596582,0.26690337038541045 +4.090395804002818,-0.08226814447757391,1.021783886968108 +4.090395804002818,0.9657239140170302,1.880604720344985 +4.090395804002818,0.5438912431456826,0.6077774418962798 +4.090395804002818,0.5390309004114031,0.4085314752993827 +4.090395804002818,1.4419445140414884,0.19566071925640505 +4.090395804002818,1.2856219700060445,1.2369279443362222 +4.090395804002818,1.7547420922663122,0.8807424838616676 +4.132564832910064,1.1856862740704417,2.1837474913031576 +4.132564832910064,1.4341616039809668,1.8172849279043697 +4.132564832910064,1.4531022757419696,1.3567601800692526 +4.132564832910064,0.27209794389767317,0.9134599269378274 +4.132564832910064,0.8689217497724024,1.9701273285854564 +4.132564832910064,1.285974844160064,0.5619634364377687 +4.132564832910064,0.824562200950371,1.930638399664348 +4.132564832910064,0.6007280516195804,0.29249606489258484 +4.174733861817309,1.4014363231682252,0.3504136437061478 +4.174733861817309,0.33458976864601986,0.11960482300743713 +4.174733861817309,2.088483410724784,0.4543725717794734 +4.174733861817309,0.6138117645959925,1.2628118174192098 +4.174733861817309,1.2985709021977307,2.1737883517218224 +4.174733861817309,0.41357372653565694,1.5817955593149184 +4.174733861817309,-0.051483862262111435,0.8410973022466162 +4.174733861817309,1.4968325452247548,0.5886428636978431 +4.216902890724555,1.379567930815012,0.20224576138135175 +4.216902890724555,1.7821727134134258,0.9620284236383255 +4.216902890724555,1.555984794135602,0.3715866699424263 +4.216902890724555,-0.004448135388667951,1.3948172823439693 +4.216902890724555,0.9728322776658576,1.8898041529321215 +4.216902890724555,0.9782866227845837,0.05141603314733145 +4.216902890724555,1.0070921059822897,0.8303926657794803 +4.216902890724555,0.20021693063316215,0.9154536659668441 +4.2590719196318005,1.052080822680973,0.10597965716749036 +4.2590719196318005,0.6231823899097485,0.7296769744321333 +4.2590719196318005,1.388222661627571,0.9825385045291848 +4.2590719196318005,1.3832402735702454,0.1876644843792179 +4.2590719196318005,1.267395939751376,1.9446964958419042 +4.2590719196318005,1.7779271518401267,0.13537316049355186 +4.2590719196318005,0.9128498402177677,1.0483215186398616 +4.2590719196318005,1.3385536778581957,2.141300871088724 +4.3012409485390455,1.9992041934368936,0.33485467725580637 +4.3012409485390455,1.6160708480698778,1.381121719318002 +4.3012409485390455,1.5575926806310723,0.8728503952573311 +4.3012409485390455,0.6680485730604122,0.4887167881648705 +4.3012409485390455,0.4749369327828691,0.1320161275954882 +4.3012409485390455,2.0250955495352,0.2900345907875665 +4.3012409485390455,0.7138212359347185,-0.2657294871710908 +4.3012409485390455,0.27876937109156474,1.496592430167334 +4.343409977446291,0.6830891814599453,-0.2679055744305392 +4.343409977446291,1.2311795868014621,1.7495651946360207 +4.343409977446291,-0.16755691325235245,0.640986440011895 +4.343409977446291,0.8958661757613526,1.2919849458178176 +4.343409977446291,0.3934312457638848,1.5183747853487146 +4.343409977446291,0.3698807658021166,-0.24345633115470666 +4.343409977446291,0.7653669434482554,0.4823373885215781 +4.343409977446291,1.5641578778741927,1.19807656837405 +4.385579006353537,0.13498293904357483,-0.006410816823235632 +4.385579006353537,0.22060298289865998,1.3308085844681856 +4.385579006353537,0.8669001004849962,0.9422158546314874 +4.385579006353537,0.9300625393454927,1.2890390623157955 +4.385579006353537,1.3274577341056681,0.28792255011231527 +4.385579006353537,1.2464834976241637,1.3841534183570787 +4.385579006353537,0.7531119998368505,1.7099962025542275 +4.385579006353537,1.0255766958982084,1.480697704772584 +4.427748035260782,1.8845869113239977,0.38617921076124656 +4.427748035260782,0.6693603001488162,0.676300887098048 +4.427748035260782,0.11875716817971094,0.956166897452649 +4.427748035260782,0.9875046662313368,1.1840276615719518 +4.427748035260782,1.8555703383532238,0.619413085600191 +4.427748035260782,1.1102830711525278,0.8635197462949762 +4.427748035260782,0.7693645149373426,-0.23586426982347797 +4.427748035260782,1.344099060134532,1.1002449153246832 +4.469917064168028,1.1823986242876727,0.8696323224739803 +4.469917064168028,0.34237895570569954,-0.09523796013197267 +4.469917064168028,-0.013173863665915109,1.1668446350721318 +4.469917064168028,-0.676992610042187,0.812990174443857 +4.469917064168028,1.0009748649647339,1.8059786811976026 +4.469917064168028,0.16058225916712043,1.246087547983488 +4.469917064168028,0.95781973034078,-0.4587242460662481 +4.469917064168028,-0.2577992309937782,0.9617815756970624 +4.512086093075274,-0.32278619975993794,-0.01659490106575251 +4.512086093075274,0.043916002126460296,-0.4043941637432577 +4.512086093075274,-0.5075805404409689,0.6007909154509322 +4.512086093075274,0.3210248217128251,1.177515764519828 +4.512086093075274,0.42060037136669304,1.3941758128978212 +4.512086093075274,0.4437902093817326,0.6401076561171934 +4.512086093075274,0.7133025149068141,0.4390233101973261 +4.512086093075274,1.0200862538365434,0.9862604695709127 +4.554255121982519,0.6923304055791034,1.1083307150041883 +4.554255121982519,-0.22848282099876477,0.26215759091777846 +4.554255121982519,-0.1467391786674656,0.15498488330838556 +4.554255121982519,0.2668970074065444,1.3496926542390517 +4.554255121982519,0.05243865052903307,-0.8664254007276093 +4.554255121982519,-0.17416634788883706,-0.2879951573328203 +4.554255121982519,0.6697572389373075,1.2285329730368613 +4.554255121982519,0.4703886488244067,1.2354144374871319 +4.5964241508897645,0.4459489677830814,-0.6606211948120007 +4.5964241508897645,-0.7765149355219532,0.397920731412877 +4.5964241508897645,0.5414312525068461,0.8043040375606366 +4.5964241508897645,0.18332527287687655,-0.13847803445812082 +4.5964241508897645,1.5705903523798355,-0.06754287430872194 +4.5964241508897645,1.0054031411014184,0.17386292356755553 +4.5964241508897645,-0.7000317423766562,0.18905431665094283 +4.5964241508897645,-0.17409753491439012,0.4455386169511015 +4.63859317979701,0.5444644409968035,0.4149633650794988 +4.63859317979701,0.6189694027307557,0.5647919703100333 +4.63859317979701,-0.3840877379390647,0.3391927953957723 +4.63859317979701,0.8612507828425932,-0.6077849431028779 +4.63859317979701,0.8696078785930502,0.6277575900239558 +4.63859317979701,0.47532768833844685,1.1786032627997418 +4.63859317979701,0.1166028313585254,0.10529050604907161 +4.63859317979701,0.12422891828630778,-0.02476734021073068 +4.680762208704255,0.4910089645066873,0.9574386031746502 +4.680762208704255,-0.6624462628148697,-0.11920426947310321 +4.680762208704255,0.8581228183965168,0.724616681733506 +4.680762208704255,0.32082072925746485,0.8151111399622989 +4.680762208704255,-0.03636893022663025,-0.3084346207561298 +4.680762208704255,0.4828662383834467,0.2872592698069228 +4.680762208704255,0.004064286044228871,0.5025457273815593 +4.680762208704255,0.8039954946799381,-0.05495849690082007 +4.722931237611501,-0.43518730041285913,-0.734911443123183 +4.722931237611501,0.13929394528284855,-0.28696388604315787 +4.722931237611501,0.5333205480604244,-0.7261402465656063 +4.722931237611501,0.11728180188848808,-0.23998938921386714 +4.722931237611501,0.10588972643947406,-0.12059236261605603 +4.722931237611501,-0.8094611945969263,0.4630783223525972 +4.722931237611501,-0.7589901314428913,-0.022183572206951233 +4.722931237611501,0.6652147581892327,0.47054009520641354 +4.765100266518747,0.8696315238145699,-0.37859521559508946 +4.765100266518747,-0.1252590703463418,-0.1858730318282981 +4.765100266518747,-0.9526961832308686,-0.6953897651218461 +4.765100266518747,-0.5541214683716476,0.05790237551211713 +4.765100266518747,1.0159427343308916,-0.3843285059381183 +4.765100266518747,-0.4003600254819079,-0.37463373448991133 +4.765100266518747,-0.5099065473807123,0.32594237251031544 +4.765100266518747,0.2173214914692409,-0.9808123882702471 +4.807269295425992,-0.3017315904160743,0.6880248515508884 +4.807269295425992,-0.33783771508127536,-0.03423503423720159 +4.807269295425992,-0.5852700197481064,-1.0095428054428957 +4.807269295425992,-0.6702534380572281,-0.5734120065083548 +4.807269295425992,0.43897164691072227,0.27725371638137153 +4.807269295425992,-0.5802031201337499,-0.9016741080825861 +4.807269295425992,-0.6049636991031261,-0.09111798917947832 +4.807269295425992,-0.2771233319271407,-0.4348816687930367 +4.849438324333238,-0.029383719345666137,-0.6531056863735405 +4.849438324333238,-0.6534371905917906,-1.5155146787931797 +4.849438324333238,-0.4220857499216721,-1.2268035649079023 +4.849438324333238,-0.9560618185611509,0.03839601621612049 +4.849438324333238,-0.13595680198081345,0.13774722782114562 +4.849438324333238,0.4288187585503181,-0.29564908432140447 +4.849438324333238,0.36803154523871734,-0.06014850581323705 +4.849438324333238,-0.4766713707423653,-0.5337218770857739 +4.891607353240484,-1.6837348307048012,0.07085730915621336 +4.891607353240484,-0.9791337067227492,-0.9878979903141278 +4.891607353240484,-0.3997838137771435,-1.268187270249115 +4.891607353240484,-0.6592848135039624,-1.4868791149668694 +4.891607353240484,-1.2383462434600454,0.07666215621510025 +4.891607353240484,-0.4139094441363762,-1.1631534191354773 +4.891607353240484,-0.7563750845176678,0.6550211204376655 +4.891607353240484,-0.7553231567337272,-1.0002811873379744 +4.933776382147729,0.5220871423377046,-0.5129770664605946 +4.933776382147729,-0.3366284399451623,-0.8681699959820751 +4.933776382147729,-0.3490652021903517,0.8379224298765676 +4.933776382147729,0.11388920117170442,-0.43455432545916356 +4.933776382147729,-0.525869921575178,-0.9713005036139111 +4.933776382147729,-0.3541452668941056,0.6803456364801971 +4.933776382147729,-0.913452846405108,-0.2384544378001544 +4.933776382147729,-1.1306144269513376,-0.875589476727537 +4.975945411054974,-0.36846417593667635,-0.5700287085061632 +4.975945411054974,-0.4584680401269753,-1.5097357667991873 +4.975945411054974,-0.5731100636754412,0.47560579503188005 +4.975945411054974,-0.11696089092229567,0.3462125150677914 +4.975945411054974,-0.3955979470923722,-0.8538588154780034 +4.975945411054974,0.0642350147021149,0.1517157860735222 +4.975945411054974,-0.5794622960080518,-0.005949381613228 +4.975945411054974,0.3774969214818378,-1.0070604733701312 +5.01811443996222,-1.4439683569476927,-0.5670958605962135 +5.01811443996222,-0.2948141333789366,0.14210582402312 +5.01811443996222,-0.8052808183323457,-0.9003577233898707 +5.01811443996222,-0.6229875012626345,0.08172785672368776 +5.01811443996222,-0.39992498575312535,-0.828187816513423 +5.01811443996222,-0.10937803961547077,-0.0590425856684057 +5.01811443996222,-0.005048585961296759,-0.7783963486921898 +5.01811443996222,-1.4385966384469804,-0.0812245572299809 +5.060283468869466,-1.6558158107170844,-1.0695534420877941 +5.060283468869466,-1.1471802446667352,-0.22414228540739195 +5.060283468869466,-0.9611009099772125,-1.3456879843069658 +5.060283468869466,-0.19788894177805094,-0.09065361747695055 +5.060283468869466,-1.2419969320574027,-1.5679786116827987 +5.060283468869466,0.3041200656174783,-0.6693858411791693 +5.060283468869466,-0.593041897687278,-0.6688579307593647 +5.060283468869466,-0.45155438601122605,0.1865728443658451 +5.102452497776711,-0.26363916287961153,-1.4538432697001973 +5.102452497776711,-0.20766780026071752,-0.41941326859840766 +5.102452497776711,-0.16884951568653228,-0.279518727643096 +5.102452497776711,-0.15371089139988714,-1.255152249407666 +5.102452497776711,-0.3342058371158453,-0.7388171755419985 +5.102452497776711,-0.7969345092457003,-1.512518162074229 +5.102452497776711,-1.2182453423629613,-1.600793856102275 +5.102452497776711,-1.6103504825086623,-0.19625175173612508 +5.144621526683957,-1.4152122225420964,-0.5038803470433596 +5.144621526683957,-1.776470877336028,-1.0202129396271205 +5.144621526683957,-1.471992809672975,0.048990486912350195 +5.144621526683957,-0.3178498802495293,-0.49277755161134545 +5.144621526683957,-0.1791470498486729,-1.0172779243537347 +5.144621526683957,-0.42931892458525855,-1.4351932732994543 +5.144621526683957,-0.9516492512055699,-1.3874797898194087 +5.144621526683957,-0.5735973240119334,-0.5590018033240054 +5.186790555591203,-0.5695567285717316,-0.5351557812525156 +5.186790555591203,-1.9407257222317633,-0.8185655652557406 +5.186790555591203,-0.8154893267028185,0.21944711450712628 +5.186790555591203,-1.118019768578244,-0.30150406405276353 +5.186790555591203,-0.20832427914391527,-1.1569333048655823 +5.186790555591203,-1.1416004518453864,-1.8917461539454337 +5.186790555591203,-1.2745554380141362,-1.0386895720586187 +5.186790555591203,-0.05773708070410544,-0.4343439200464302 +5.2289595844984476,-0.8013110980014877,-0.29769584611435584 +5.2289595844984476,-1.070137158028718,-1.9191180047757979 +5.2289595844984476,-1.1203972910267233,-0.46596569569605156 +5.2289595844984476,0.004608633423954678,-0.6055529610499457 +5.2289595844984476,-0.19518662588455649,-0.6670463332368427 +5.2289595844984476,-0.7699599578265997,-0.4993211340799082 +5.2289595844984476,-1.3524295988905277,-2.036185782402441 +5.2289595844984476,-1.700672759862361,-1.5618697485233826 +5.271128613405693,-0.2414636743291101,-1.22000257948479 +5.271128613405693,-0.5999332460130216,-1.158907389889261 +5.271128613405693,-0.7784380201528724,-0.08516942930472715 +5.271128613405693,-0.5422497660924255,-0.5805719215390017 +5.271128613405693,-1.6770336330168807,-0.5784598279626529 +5.271128613405693,-1.3278975625720428,-1.5770458332904997 +5.271128613405693,-1.7160769765209725,-0.9133107889931222 +5.271128613405693,-0.8243879152451634,-0.4486082598554354 +5.313297642312939,-0.7195782183130739,-1.7096187308916093 +5.313297642312939,-0.2687890167421958,-0.5081360609143646 +5.313297642312939,-1.223178441815857,-0.8718746448960516 +5.313297642312939,-1.137876016474235,-1.8763498159645353 +5.313297642312939,-0.8640804742055301,-1.499638463504453 +5.313297642312939,-1.808638353265593,-0.5085559339660408 +5.313297642312939,-0.9034172702754487,-0.9305693111928527 +5.313297642312939,-1.0965844939782596,0.038887800788528715 +5.355466671220184,-1.9416727307986572,-0.7698651609647968 +5.355466671220184,-0.4370862395747305,-1.4886029465572952 +5.355466671220184,-1.270155476949639,-1.1931641459167133 +5.355466671220184,-0.3479248634036852,-1.2144031213199984 +5.355466671220184,-1.0607061210224473,-0.6050230848807938 +5.355466671220184,-1.3882559591143975,-0.3822423817749112 +5.355466671220184,-0.2672156543063209,-0.6410677390634079 +5.355466671220184,0.3070998921241018,-1.2219450147836017 +5.39763570012743,-1.625570991000909,-1.6833326101911679 +5.39763570012743,-0.8387960441587116,-0.6551280600458658 +5.39763570012743,-0.5503816282167566,-1.653281782407358 +5.39763570012743,-1.8075641508373792,-0.6995706368645673 +5.39763570012743,-0.42135889852029895,-0.3108941237911176 +5.39763570012743,-0.6979493900269917,-0.6465979774525934 +5.39763570012743,-1.3274992933397294,-1.401353905322434 +5.39763570012743,-0.5826539162399157,-0.7195888791965492 +5.439804729034676,-2.106216098917863,-0.6891198435554216 +5.439804729034676,0.017877937192195326,-1.0632157600839078 +5.439804729034676,-1.0403425620431532,-0.1437525594207708 +5.439804729034676,-1.5215749045325446,-1.3920253841943373 +5.439804729034676,-0.8048102787215887,-1.1925700782364348 +5.439804729034676,-0.11820559667191088,-0.8644219400746299 +5.439804729034676,-1.1404109892144878,-2.181611367027668 +5.439804729034676,-1.5199509664266735,-1.607903749858223 +5.481973757941921,-0.06527560238014996,-1.2942613867222832 +5.481973757941921,-0.6732414631220115,-0.5289846557172759 +5.481973757941921,-1.26440392496575,-1.0701268219402291 +5.481973757941921,-0.38625617527989814,-0.8724584769034035 +5.481973757941921,-1.141810611233124,-0.95640677693538 +5.481973757941921,0.1609701140168276,-0.648367223997879 +5.481973757941921,-0.8916311264520275,-1.1696563595675404 +5.481973757941921,-1.5270184636529218,-1.331200020409984 +5.524142786849167,-0.5671740895007886,-1.8256298133183988 +5.524142786849167,-0.2108761637321654,-1.8925185077806193 +5.524142786849167,-0.42489535171800197,-1.7797123842129734 +5.524142786849167,-1.7974713918478489,-0.912311112508295 +5.524142786849167,0.36424228915563095,-1.0886846398916445 +5.524142786849167,-0.35893870588132665,-1.343900571212912 +5.524142786849167,-0.5968026617891965,-1.1147914149394746 +5.524142786849167,-1.2494560245508515,-0.8824681652723927 +5.566311815756412,-0.7478862519646838,-2.1382331180043206 +5.566311815756412,-0.2501794155117978,-0.4355487511469931 +5.566311815756412,-0.5182194325847155,-1.047887058678595 +5.566311815756412,-0.48938453259072373,-1.1022895491192433 +5.566311815756412,-0.7330834226382612,-1.0982670244497554 +5.566311815756412,-0.6903894230980794,-0.6297236995173474 +5.566311815756412,-0.05968438107613738,-0.9913689185921661 +5.566311815756412,-0.5713262113900326,-1.2958458251731009 +5.608480844663657,-0.3280216951406082,-1.0198520067197956 +5.608480844663657,0.040489628244571585,-0.24588958394543914 +5.608480844663657,0.04340614642497198,-0.21470145914208294 +5.608480844663657,0.2420955795140256,-0.2694985931019065 +5.608480844663657,0.7067725273045792,-1.1041107172242137 +5.608480844663657,-1.2922065529683655,-1.2860672162587716 +5.608480844663657,0.4818795768171904,-0.6348124301691038 +5.608480844663657,-0.9582469496919952,-1.2262394913547674 +5.650649873570903,0.1215245972538192,-1.124950116134755 +5.650649873570903,-0.42414655131332757,0.08406297308949207 +5.650649873570903,0.5749514369244473,-0.917650451432757 +5.650649873570903,-0.49268809408884173,-1.3494022938128065 +5.650649873570903,-0.10398292962975447,-1.751343006824174 +5.650649873570903,0.26737019794323474,-0.9249052493476224 +5.650649873570903,-0.09009661083393194,0.16567397673859052 +5.650649873570903,-1.6332356897935927,-0.5830854049492922 +5.692818902478149,0.14441164430345738,-0.679541806415548 +5.692818902478149,-0.4088280991483938,-1.0032829545010957 +5.692818902478149,-0.6254128735635949,-0.8877586586445592 +5.692818902478149,-1.0250676151983673,-1.1221141307819333 +5.692818902478149,-0.10571513420085799,-1.985021043159509 +5.692818902478149,-0.18612486241304432,-0.7363036443754635 +5.692818902478149,0.10156138135341614,-1.7391378810229847 +5.692818902478149,0.3708930004218413,-0.33853813696366164 +5.734987931385394,-0.7502635054602752,-1.2549206314532877 +5.734987931385394,0.361113627881712,-1.6537182272538529 +5.734987931385394,-0.1969688020460903,-0.24866955318949713 +5.734987931385394,0.6545963482414661,-1.155030256860449 +5.734987931385394,0.7112380636846104,-0.7999986846129006 +5.734987931385394,1.127898393934531,-1.1848121511532712 +5.734987931385394,-0.1947404684107716,-0.7351332005945032 +5.734987931385394,-0.7821918784937972,-0.6718718715336744 +5.77715696029264,0.7543672073904758,-1.5556871859313843 +5.77715696029264,0.2489085505973474,-0.7543154676980907 +5.77715696029264,-0.969554213741048,-0.2932336087040788 +5.77715696029264,0.9480842852432121,-0.8101489469985075 +5.77715696029264,0.30732166161182733,-1.1246806233938094 +5.77715696029264,0.09952808589188633,0.1729277305893866 +5.77715696029264,-0.4974133945579154,-0.4598078750129514 +5.77715696029264,0.15335010174408759,-1.0286475711238967 +5.819325989199886,0.9272247541444215,-0.3438106774569058 +5.819325989199886,-0.05062055142973096,-0.5341783336249792 +5.819325989199886,-0.06008684585448876,-1.3424874276786145 +5.819325989199886,0.7480560140068707,-0.058985379851151154 +5.819325989199886,0.9729008935232711,-0.8700628888657278 +5.819325989199886,-0.217288913277933,0.06001849580000984 +5.819325989199886,0.20376998546562933,-1.5696220734094577 +5.819325989199886,0.3092945504917902,-0.9836675446955884 +5.861495018107131,-0.6771958380350545,-0.4143273019328992 +5.861495018107131,1.0823616384129489,-0.13738353891026212 +5.861495018107131,0.41770082247026924,0.14965419538134994 +5.861495018107131,1.1049400702601053,-1.335458148152572 +5.861495018107131,0.13700097694470675,-1.8323295571181857 +5.861495018107131,-0.3539247583439201,-1.5730397411542194 +5.861495018107131,0.37351039562110183,-1.3030889716753138 +5.861495018107131,-0.48300488819558274,-1.130566232226494 +5.903664047014376,-0.2697605398244386,-0.4021564005732533 +5.903664047014376,-0.7757058353153151,-0.586900236260048 +5.903664047014376,0.9904204836773121,0.14088347594282657 +5.903664047014376,0.3900201502865896,0.29636890352328893 +5.903664047014376,-0.5795698134814636,-0.12254313657044569 +5.903664047014376,0.666011700806537,-0.02231393197307141 +5.903664047014376,0.13252340973187987,-0.7478476041216678 +5.903664047014376,0.5651496381284691,-0.32586937527924065 +5.945833075921622,1.302779993473592,-1.1430179688800752 +5.945833075921622,0.3460936588545248,-0.8833334529965464 +5.945833075921622,0.4428884357444773,-1.431063464304159 +5.945833075921622,0.03833858167325388,-1.2171698347066395 +5.945833075921622,0.9557821759541476,-1.388171870480943 +5.945833075921622,1.03816270435816,0.28120644488087165 +5.945833075921622,1.2571043991235622,-0.9604369799683744 +5.945833075921622,0.6801811811908087,-0.46938067513582354 +5.988002104828868,1.2208528406184276,0.3547834890350382 +5.988002104828868,0.41327482213043387,0.12672179985019116 +5.988002104828868,0.5202532803451005,-1.7412407765150828 +5.988002104828868,1.3640463952568254,-1.0621770724037392 +5.988002104828868,-0.2779051441279986,-0.5174323563473495 +5.988002104828868,0.10678753263138308,-0.56333480119235 +5.988002104828868,1.5393595285128479,-0.457133955724362 +5.988002104828868,0.5363804831469232,-1.520974363234969 +6.030171133736113,0.5232146459558913,-1.6124973398838127 +6.030171133736113,0.07926636710050972,-1.0148362953334797 +6.030171133736113,0.2086636489117477,-0.30606829701493365 +6.030171133736113,1.081999466684769,0.3787761474246075 +6.030171133736113,1.176118475581578,-1.1426603642680915 +6.030171133736113,1.2259941754904178,-0.5125275014696549 +6.030171133736113,-0.33464567038249216,-0.3058875562058864 +6.030171133736113,0.7270292620878752,-1.1344979872984382 +6.072340162643359,1.0477711553719185,0.6586651021320402 +6.072340162643359,0.6728190645568568,-0.8218237358812266 +6.072340162643359,0.7110103370179764,0.07465780137674521 +6.072340162643359,-0.043460259490068265,-0.6844780953596461 +6.072340162643359,1.828744631838417,-0.3685486498126785 +6.072340162643359,1.0644723408923642,0.7792383981763573 +6.072340162643359,0.15249168685701975,-0.1998590660179078 +6.072340162643359,0.11646505579331712,-0.2589736411961548 +6.114509191550605,1.6426172876387368,-0.4714223234857945 +6.114509191550605,0.9364689683202403,0.4254607324308492 +6.114509191550605,0.9620251351272111,-1.0479665328308225 +6.114509191550605,0.09255668558710428,-0.6084602218068134 +6.114509191550605,1.3798164035271894,0.7064747521769754 +6.114509191550605,0.7269265818391859,-0.33172082643945944 +6.114509191550605,0.8297417184125224,-1.1350488808625467 +6.114509191550605,0.8801385793697879,-0.41212571330069747 +6.15667822045785,0.5140213104525617,0.5558871998392877 +6.15667822045785,1.003022205448792,0.036774194123211035 +6.15667822045785,-0.2119267725061147,0.23764540341020796 +6.15667822045785,1.0242200654615405,0.6758569999289836 +6.15667822045785,0.7782779668707305,-0.33233691920631736 +6.15667822045785,1.272997843756915,-0.7580832921622793 +6.15667822045785,0.8540702261769971,0.6371420148386462 +6.15667822045785,0.7600452207925714,-1.303135251407744 +6.1988472493650955,1.6075677190440003,-0.32248444598415216 +6.1988472493650955,0.9869401802413069,0.2950485281064864 +6.1988472493650955,0.3445580998144441,0.1998798171355797 +6.1988472493650955,0.6857463518863314,0.5212373037310337 +6.1988472493650955,1.0556244812976086,0.733807872761088 +6.1988472493650955,0.39355117665362827,-1.0919762070247245 +6.1988472493650955,0.3159522079608701,-0.6781846173217426 +6.1988472493650955,1.676052784294259,0.16586080574263426 +6.241016278272341,1.7705511681345405,-0.03386113971584498 +6.241016278272341,0.3185741295882596,0.440464975369141 +6.241016278272341,0.5737546857841785,0.34346758175992087 +6.241016278272341,0.08706105962375332,0.42975127547050973 +6.241016278272341,0.8618583884229606,0.43950173101631296 +6.241016278272341,0.28836475537587314,-0.5074283456716124 +6.241016278272341,1.3095890696941357,0.969850447761019 +6.241016278272341,0.4033689243906692,-0.8774283797301095 +6.283185307179586,1.2295625570933038,-0.6243339864847133 +6.283185307179586,1.7138567646909444,-0.31644294181157534 +6.283185307179586,0.5710915219265332,0.12945005329983042 +6.283185307179586,0.7304067960846438,0.3953065046545931 +6.283185307179586,2.1822888300550036,-0.20295271798499392 +6.283185307179586,1.6326377767955123,-0.2574899066050032 +6.283185307179586,1.3190066208452071,-0.8946287656244833 +6.283185307179586,0.549595798421303,-0.6762475097524071 diff --git a/week10/estimate_true_trajectory.py b/week10/estimate_true_trajectory.py new file mode 100755 index 0000000..c22182f --- /dev/null +++ b/week10/estimate_true_trajectory.py @@ -0,0 +1,166 @@ +#!/usr/bin/env -S uv run +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "matplotlib", +# "seaborn", +# "pandas", +# "tqdm", +# "numpy", +# ] +# /// + +from pathlib import Path +import matplotlib.pyplot as plt +from matplotlib.patches import Ellipse +import pandas as pd +from tqdm import tqdm +import numpy as np +import seaborn as sns + +HERE = Path(__file__).parent + + +def load_data(): + gps_df = pd.read_csv(HERE / "GPS.csv") + imu_df = pd.read_csv(HERE / "IMU.csv") + imu2_df = pd.read_csv(HERE / "IMU2.csv") + tri_df = pd.read_csv(HERE / "TRI.csv") + tri2_df = pd.read_csv(HERE / "TRI2.csv") + + gps_df["type"] = "GPS" + imu_df["type"] = "IMU" + imu2_df["type"] = "IMU2" + tri_df["type"] = "TRI" + tri2_df["type"] = "TRI2" + + cdf = pd.concat([gps_df, imu_df, imu2_df, tri_df, tri2_df]) + return cdf + + +def plot_cov_ellipse(mean, cov, n_std=1.0, ax=None, **kwargs): + """Plots an n-std ellipse based on the 2D covariance matrix.""" + if ax is None: + ax = plt.gca() + + # Eigen decomposition + vals, vecs = np.linalg.eigh(cov) + order = vals.argsort()[::-1] + vals, vecs = vals[order], vecs[:, order] + + # Angle of rotation in degrees + theta = np.degrees(np.arctan2(*vecs[:, 0][::-1])) + + # Width and height of ellipse = 2 * sqrt(eigenvalue) * n_std + width, height = 2 * n_std * np.sqrt(vals) + ellipse = Ellipse( + xy=mean, + width=width, + height=height, + angle=theta, + edgecolor="red", + facecolor="none", + **kwargs, + ) + + ax.add_patch(ellipse) + ax.plot(*mean, marker="o", color="black") + return ax + + +def plot_position_estimate(df): + """I take a position estimate as a dataframe with columns [x,y] and plot the joint marginal histogram. + Hint: the position estimates are a collection of estimated means. + """ + mean_x, mean_y = df.mean() + + # Create the jointplot + g = sns.jointplot( + data=df, x="x", y="y", kind="scatter", marginal_kws=dict(bins=30, fill=True) + ) + + # Add a star marker at the mean point on the joint axes + g.ax_joint.plot( + mean_x, + mean_y, + marker="*", + color="red", + markersize=15, + label=f"Mean {mean_x:.2f},{mean_y:.2f}", + ) + + # Add vertical line on the marginal x histogram (top plot) + g.ax_marg_x.axvline(mean_x, color="red", linestyle="--") + + # Add horizontal line on the marginal y histogram (right plot) + g.ax_marg_y.axhline(mean_y, color="red", linestyle="--") + + # Add legend for the star marker + g.ax_joint.legend() + + plt.savefig("plotting-result.png") + plt.show() + + +def smooth_trajectory(points, window_size=5): + """I take a 2D ndarray and smooth it using a moving average approach.""" + if window_size < 2: + return points + + # Pad the trajectory at the start and end to preserve length + pad = window_size // 2 + padded = np.pad(points, ((pad, pad), (0, 0)), mode="edge") + + # Compute moving average + smoothed = np.convolve( + padded[:, 0], np.ones(window_size) / window_size, mode="valid" + ) + smoothed_y = np.convolve( + padded[:, 1], np.ones(window_size) / window_size, mode="valid" + ) + + return np.column_stack((smoothed, smoothed_y)) + + +def plot_trajectory_estimate(trajectory: list): + """I take a trajectory (list of t,mu,cov tuples) and plot them! + Hint: I take the mu values and smooth them with a moving average to make the trajectory less ragged. + """ + locs = np.array([p[1] for p in trajectory]) + locs = smooth_trajectory(locs) + fig = plt.plot(locs[:, 0], locs[:, 1]) + for pos in trajectory: + t, mean, cov = pos + plot_cov_ellipse(mean, cov, n_std=1) + plot_cov_ellipse(mean, cov, n_std=2, linestyle="dashed") + return fig + + +def estimate_position(df, trials=50): + """I should output a dataframe with columns x,y + representing the calculated mean position after resampling the data for each trial in trials. + It is important that I output this as a dataframe :) + """ + pass + + +def estimate_trajectory_over_t(df): + """I should output a list of tuples each containing: + - the timestep t + - the estimated position at t (mean) + - the estimated uncertainty over that position (covariance) + """ + trajectory = [] + for t in tqdm(np.sort(df.t.unique())): + # fill me in + # Hint: I should make use of the estimate_position function ;) + continue + return trajectory + + +if __name__ == "__main__": + cdf = load_data() + plot_position_estimate(estimate_position(cdf[cdf.t == 0.0], trials=2000)) + fig = plot_trajectory_estimate(estimate_trajectory_over_t(cdf)) + # pd.read_csv(HERE / "true_trajectory.csv").plot(x="x", y="y", ax=plt.gca()) + plt.show() diff --git a/week10/exercise.py b/week10/exercise.py deleted file mode 100644 index 4ad7766..0000000 --- a/week10/exercise.py +++ /dev/null @@ -1,114 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -import scipy.stats as stats -from sklearn.datasets import fetch_openml - -class PPCA(): - ''' - X - dataset - x - data point - z - laten variable - - ''' - def __init__(self,X, M): - self.D = X.shape[1] # dimension of oryginal data points - self.M = M # dimension of reduced data point - self.X = X #dataset - self.calculate_parameters() - def calculate_parameters(self): - ''' - Determine parameteres of the model (mean, variance and W matrix). - Have to be overriden in child classes - ''' - raise NotImplementedError - def sample_x(self): - ''' - Sample from p(x) distribution - ''' - mean = self.mean - C = np.dot(self.W_ML, self.W_ML.T) + self.sigma * np.eye(self.D) - distribution = stats.multivariate_normal(mean, C) - return distribution.rvs() - def sample_z(self): - ''' - Sample from p(z) distribution - ''' - distribution = stats.multivariate_normal(np.zeros(shape = self.M), np.eye(self.M)) - return distribution.rvs() - def sample_x_given_z(self, z): - ''' - Sample from p(x|z) distribution' - ''' - distribution = stats.multivariate_normal(np.dot(self.W_ML, z) + self.mean, self.sigma * np.eye(self.D)) - return distribution.rvs() - def sample_z_given_x(self, x): - ''' - Sample from p(z|x) distribution - ''' - M_matrix = np.dot(self.W_ML.T, self.W_ML) + self.sigma * np.eye(self.M) - M_matrix_inv = np.linalg.inv(M_matrix) - mean = np.linalg.multi_dot([M_matrix_inv, self.W_ML.T, (x - self.mean)]) - variance = self.sigma * M_matrix_inv - distribution = stats.multivariate_normal(mean, variance) - return distribution.rvs() - - -# ## Closed-form solution (CF) - -class PPCA_CF(PPCA): - ''' - X - dataset - x - data point - z - laten variable - - ''' - def calculate_parameters(self): - ''' - Determine parameteres of the model by optimizing likelihood function. - It involves caltulating mean, variance and W matrix. - ''' - # Implement the closed-form solution here - - - -if __name__ == "__main__": - - # Fetch MNIST data - mnist = fetch_openml('mnist_784', version=1, as_frame=False) - - # Extract data and labels - x_train, y_train = mnist['data'], mnist['target'] - - x_train = x_train / 255 - x_train = x_train.reshape(70000, -1) - x_train = x_train[((y_train == '8') + (y_train == '1')),:] - y_train = y_train[((y_train == '8') + (y_train == '1'))] - - model = PPCA_CF(x_train, 2) - - # sample from p(x) - plt.figure(figsize =(10,10)) - for i in range(1,10): - plt.subplot(3,3,i) - plt.imshow(model.sample_x().reshape(28,28)) - plt.suptitle('Sampling from p(x)', fontsize=20) - - # Show the original image - plt.figure() - idx = np.random.randint(0, x_train[0].shape[0]) - plt.imshow(x_train[idx,:].reshape(28,28)) - plt.suptitle('Original image', fontsize=20) - - # Show the reconstructions - - z = model.sample_z_given_x(x_train[idx,:]) # get latent variable p(z|x) - - plt.figure(figsize =(10,10)) - for i in range(1,10): - plt.subplot(3,3,i) - image = model.sample_x_given_z(z) - plt.imshow(image.reshape(28,28)) - plt.axis('off') - plt.tight_layout() - plt.suptitle('Image reconstruction p(x|z)', fontsize=20) - plt.show() diff --git a/week10/plot_data.py b/week10/plot_data.py new file mode 100755 index 0000000..a72f68e --- /dev/null +++ b/week10/plot_data.py @@ -0,0 +1,43 @@ +#!/usr/bin/env -S uv run +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "matplotlib", +# "pandas", +# ] +# /// + +"""This file helps with plotting parts of the data, with each sensor gettings its own symbol +while the color represets the passage of time.""" + +from pathlib import Path +import matplotlib.pyplot as plt +import pandas as pd +from itertools import cycle +import math + +gps_df = pd.read_csv(Path(__file__).parent / "GPS.csv") +imu_df = pd.read_csv(Path(__file__).parent / "IMU.csv") +imu2_df = pd.read_csv(Path(__file__).parent / "IMU2.csv") +tri_df = pd.read_csv(Path(__file__).parent / "TRI.csv") +tri2_df = pd.read_csv(Path(__file__).parent / "TRI2.csv") + +gps_df["type"] = "GPS" +imu_df["type"] = "IMU" +imu2_df["type"] = "IMU2" +tri_df["type"] = "TRI" +tri2_df["type"] = "TRI2" + +cdf = pd.concat([gps_df, imu_df, imu2_df, tri_df, tri2_df]) + +marker_cycle = cycle(["o", "s", "^", "D", "v", "*", "x", "+", "p", "h"]) +fig, ax = plt.subplots(figsize=(20, 15), dpi=96) +for t, group in cdf.groupby("type"): + marker = next(marker_cycle) + ax.scatter(group["x"], group["y"], label=t, c=group["t"], marker=marker) + +ax.set_xlabel("x") +ax.set_ylabel("y") +ax.legend(title="Type") +plt.savefig("plotted_data.png") +plt.show() diff --git a/week11/exercise1.py b/week11/exercise1.py deleted file mode 100644 index 3daaed9..0000000 --- a/week11/exercise1.py +++ /dev/null @@ -1,28 +0,0 @@ -import numpy as np -import seaborn as sns -import matplotlib.pyplot as plt - -# sns.set_theme() - -if __name__ == "__main__": - m = np.array([[0,0]]).T - cov = np.array([[1,0.5],[0.2,2]]) - - #solution - - observations = [] - for i in range(1000): - x = np.random.normal(size=(2,1)) - - u = # sample from multivariate distribution using samples from univariate distribution - observations.append(u) - - observations = np.concatenate(observations, axis=1) - # Check the covariance matrix - print(np.cov(observations)) - sns.jointplot(x=observations[0,:], y = observations[1,:], kind="kde", space=0, fill=True, aspect=1) - plt.show() - - - - \ No newline at end of file diff --git a/week11/exercise2.py b/week11/exercise2.py deleted file mode 100644 index 849c37f..0000000 --- a/week11/exercise2.py +++ /dev/null @@ -1,141 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -import random -from scipy.stats import multivariate_normal - -alpha = 1 -beta = 25 - - -def generate_dataset(w): - x = np.linspace(-1,1, 30) - y = w[0]*x + w[1] + 0.1 * np.random.normal(size=x.shape) - - x = x[:,None] - y = y[:,None] - - X = np.hstack((x, np.ones_like(x))) - return X, y - -def plot_distribution(m, S): - x, y = np.mgrid[-2:2:.01, -2:2:.01] - pos = np.dstack((x, y)) - rv = multivariate_normal(m.squeeze(), S) - plt.contourf(x, y, rv.pdf(pos), levels=30, cmap='viridis') - plt.axis('equal') - plt.xlim((-2,2)) - plt.ylim((-2,2)) - - - - -def plot_functions(mn, Sn, points = False): - - x = np.linspace(-1,1,30) - for i in range(10): - w = np.random.multivariate_normal(mn.squeeze(), Sn) - y = w[0]*x + w[1] - plt.plot(x,y, c='b', zorder=1) - - if points: - X,y = points - plt.scatter(X[:,0], y, c ='r', zorder=2) - -def calculate_predictive_distribution(x, mn, Sn): - # Implement the function - return mean, std - -def calculate_posterior_parameters(X, y): - # Implement the function - return mn, Sn - -if __name__ == "__main__": - - - w = np.array([[-0.6, 0.4]]).T - X, y = generate_dataset(w) - indexes = list(range(30)) - random.shuffle(indexes) - - - plt.figure(figsize=(15,15)) - - # plot the prior - plt.subplot(221) - plot_distribution(np.array([0,0]), np.array([[1,0], [0,1]])) - plt.title('0 observations') - - # plot posteriors - nb_of_points = 1 - X_new = X[ indexes[:nb_of_points],:] - y_new = y[indexes[:nb_of_points],:] - # calculate posterior distribution - mn, Sn = calculate_posterior_parameters(X_new,y_new) - plt.subplot(222) - plot_distribution(mn, Sn) - plt.title('1 observation') - - nb_of_points = 2 - X_new = X[ indexes[:nb_of_points],:] - y_new = y[indexes[:nb_of_points],:] - # calculate posterior distribution - mn, Sn = calculate_posterior_parameters(X_new,y_new) - plt.subplot(223) - plot_distribution(mn, Sn) - plt.title('2 observations') - - nb_of_points = 10 - X_new = X[ indexes[:nb_of_points],:] - y_new = y[indexes[:nb_of_points],:] - # calculate posterior distribution - mn, Sn = calculate_posterior_parameters(X_new,y_new) - plt.subplot(224) - plot_distribution(mn, Sn) - plt.title('10 observations') - - - # functions - plt.figure(figsize=(15,15)) - plt.subplot(221) - plot_functions(np.array([0,0]), np.array([[1,0],[0,1]]), points=(X,y)) - plt.title('0 observations') - - - nb_of_points = 1 - X_new = X[ indexes[:nb_of_points],:] - y_new = y[indexes[:nb_of_points],:] - # calculate posterior distribution - mn, Sn = calculate_posterior_parameters(X_new,y_new) - plt.subplot(222) - plot_functions(mn, Sn, points=(X_new,y_new)) - plt.title(f'{nb_of_points} observations') - - - - - - nb_of_points = 2 - X_new = X[ indexes[:nb_of_points],:] - y_new = y[indexes[:nb_of_points],:] - # calculate posterior distribution - mn, Sn = calculate_posterior_parameters(X_new,y_new) - plt.subplot(223) - plot_functions(mn, Sn, points=(X_new,y_new)) - plt.title(f'{nb_of_points} observations') - - - nb_of_points = 10 - X_new = X[ indexes[:nb_of_points],:] - y_new = y[indexes[:nb_of_points],:] - # calculate posterior distribution - mn, Sn = calculate_posterior_parameters(X_new,y_new) - plt.subplot(224) - plot_functions(mn, Sn, points=(X,y)) - plt.title(f'{nb_of_points} observations') - - plt.show() - - - # calculate predictive distribution - x = np.array([[3,1]]).T - print(calculate_predictive_distribution(x, mn, Sn)) \ No newline at end of file diff --git a/week3/linear_regression.py b/week2/linear_regression.py similarity index 100% rename from week3/linear_regression.py rename to week2/linear_regression.py diff --git a/week3/pnorm_linear_regression.py b/week2/pnorm_linear_regression.py similarity index 100% rename from week3/pnorm_linear_regression.py rename to week2/pnorm_linear_regression.py diff --git a/week3/polynomial_regression.py b/week2/polynomial_regression.py similarity index 100% rename from week3/polynomial_regression.py rename to week2/polynomial_regression.py diff --git a/week3/polynomial_regression_main.py b/week2/polynomial_regression_main.py similarity index 100% rename from week3/polynomial_regression_main.py rename to week2/polynomial_regression_main.py diff --git a/week3/.gitkeep b/week3/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/week3/line_hesian_taylor.py b/week3/line_hesian_taylor.py new file mode 100644 index 0000000..82bcffa --- /dev/null +++ b/week3/line_hesian_taylor.py @@ -0,0 +1,70 @@ +import numpy as np + +def f(x): + return x[0]**2 + 3 * x[0] * x[1] + 2 * x[1]**2 + +def grad_f(x): + return np.array([2*x[0] + 3*x[1], 3*x[0] + 4*x[1]]) + +# ---- Hessian Estimation via Finite Differences ---- +def hessian(f, x, epsilon=1e-5): + n = len(x) + H = np.zeros((n, n)) + for i in range(n): + for j in range(n): + x_ijp = x.copy() + x_ijp[i] += epsilon + x_ijp[j] += epsilon + x_ipj = x.copy() + x_ipj[i] += epsilon + x_ipj[j] -= epsilon + x_imj = x.copy() + x_imj[i] -= epsilon + x_imj[j] -= epsilon + x_ijm = x.copy() + x_ijm[i] -= epsilon + x_ijm[j] += epsilon + # TODO: Add code here to compute second-order partial derivative + H[i, j] = ( ) + return H + +# ---- Backtracking Line Search ---- +def backtracking_line_search(x, grad, f, alpha=1.0, rho=0.5, c=1e-4): + while True: + # TODO: Add Armijo condition here to break the loop when satisfied + if (): + break + alpha *= rho + return alpha + +# ---- Second-order Taylor Approximation ---- +def taylor_approx(fx, grad, hess, delta): + # TODO: Add code here to implement second-order Taylor expansion + return () + +if __name__ == "__main__": + x0 = np.array([1.0, 1.0]) + grad = grad_f(x0) + H = hessian(f, x0) + alpha = backtracking_line_search(x0, grad, f) + delta = -alpha * grad # Gradient descent step + + x1 = x0 + delta # New point + actual_f = f(x1) + approx_f = taylor_approx(f(x0), grad, H, delta) + + print("Initial x:", x0) + print("Step size (alpha):", alpha) + print("Next x:", x1) + print("Actual f(x1):", actual_f) + print("Taylor Approximation of f(x1):", approx_f) + + + print("\n🔍 Running Tests:") + expected_H = np.array([[2.0, 3.0], [3.0, 4.0]]) + assert np.allclose(H, expected_H, atol=1e-2) + print("✅ Hessian test passed.") + assert 0 < alpha <= 1.0 + print("✅ Line search step size test passed.") + assert np.abs(actual_f - approx_f) < 1e-2 + print("✅ Taylor approximation test passed.") diff --git a/week4/main-pca-exercise.py b/week4/main-pca-exercise.py deleted file mode 100644 index 7b44da2..0000000 --- a/week4/main-pca-exercise.py +++ /dev/null @@ -1,64 +0,0 @@ -import numpy as np -from pca_exercise import PCA - -# Example usage: -if __name__ == "__main__": - - import pandas as pd - import matplotlib.pyplot as plt - data = pd.read_csv('./../datasets/breast_cancer_data/data_processed.csv') - print(data.shape) - # y includes our labels and x includes our features - y = data.diagnosis # M or B - list = ['diagnosis'] - df = data.drop(list,axis = 1 ) # load data into a dataframe - X = df.values # convert to a numpy array - - pca = PCA() - pca.fit(X=X) - - X_pc = pca.transform(X) - X_reconstruction_full = pca.reverse_transform(X_pc) - print("L1 reconstruction error for full PCA : %.4E " % (np.absolute(X - X_reconstruction_full).sum())) - - for rank in range(X_pc.shape[1]+1): - pca_lowrank = PCA(k=rank) - pca_lowrank.fit(X=X) - X_lowrank = pca_lowrank.transform(X) - X_reconstruction = pca_lowrank.reverse_transform(X_lowrank) - print("L1 reconstruction error for rank %i PCA : %.4E " % (rank, np.absolute(X - X_reconstruction).sum())) - - # plt.ion() - fig = plt.figure() - plt.plot(X_pc[y=="M"][:,0], X_pc[y=="M"][:,1],'.', alpha = 0.3) - plt.plot(X_pc[y=="B"][:,0], X_pc[y=="B"][:,1],'.', alpha = 0.3) - plt.xlabel("PC 1") - plt.ylabel("PC 2") - plt.legend(["malignant", "benign"]) - - fig2 = plt.figure() - plt.plot(X_pc[y=="M"][:,0], X_pc[y=="M"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="B"][:,0], X_pc[y=="B"][:,2],'.', alpha = 0.3) - plt.xlabel("PC 1") - plt.ylabel("PC 3") - plt.legend(["malignant", "benign"]) - - - fig3 = plt.figure() - plt.plot(X_pc[y=="M"][:,1], X_pc[y=="M"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="B"][:,1], X_pc[y=="B"][:,2],'.', alpha = 0.3) - plt.xlabel("PC 2") - plt.ylabel("PC 3") - plt.legend(["malignant", "benign"]) - - fig4 = plt.figure() - plt.plot(pca.variance_explained(),'.-') - plt.xlabel("PC dimension") - plt.ylabel("variance explained") - - fig4 = plt.figure() - plt.plot(pca.variance_explained().cumsum() / pca.variance_explained().sum(),'.-') - plt.xlabel("PC dimension") - plt.ylabel("cumulative fraction of variance explained") - - plt.show() \ No newline at end of file diff --git a/week4/main-pca-genetics-exercise.py b/week4/main-pca-genetics-exercise.py deleted file mode 100644 index 111dce9..0000000 --- a/week4/main-pca-genetics-exercise.py +++ /dev/null @@ -1,76 +0,0 @@ -# !pip install pysnptools -from pysnptools.snpreader import Bed -import numpy as np -from pca_exercise import PCA - -# Example usage: -if __name__ == "__main__": - - import pandas as pd - import matplotlib.pyplot as plt - snpreader = Bed('./../datasets/genetic_data/example2.bed', count_A1=True) - data = snpreader.read() - print(data.shape) - # y includes our labels and x includes our features - labels = pd.read_csv("./../datasets/genetic_data/1kg_annotations_edit.txt", sep="\t", index_col="Sample") - list1 = data.iid[:,1].tolist() #list with the Sample numbers present in genetic dataset - labels = labels[labels.index.isin(list1)] #filter labels DataFrame so it only contains the sampleIDs present in genetic data - y = labels.SuperPopulation # EUR, AFR, AMR, EAS, SAS - X = data.val[:, ~np.isnan(data.val).any(axis=0)] #load genetic data to X, removing NaN values - - pca = PCA() - pca.fit(X=X) - - X_pc = pca.transform(X) - X_reconstruction_full = pca.reverse_transform(X_pc) - print("L1 reconstruction error for full PCA : %.4E " % (np.absolute(X - X_reconstruction_full).sum())) - - for rank in range(15): #more correct: X_pc.shape[1]+1 - pca_lowrank = PCA(k=rank) - pca_lowrank.fit(X=X) - X_lowrank = pca_lowrank.transform(X) - X_reconstruction = pca_lowrank.reverse_transform(X_lowrank) - print("L1 reconstruction error for rank %i PCA : %.4E " % (rank, np.absolute(X - X_reconstruction).sum())) - - fig = plt.figure() - plt.plot(X_pc[y=="EUR"][:,0], X_pc[y=="EUR"][:,1],'.', alpha = 0.3) - plt.plot(X_pc[y=="AFR"][:,0], X_pc[y=="AFR"][:,1],'.', alpha = 0.3) - plt.plot(X_pc[y=="EAS"][:,0], X_pc[y=="EAS"][:,1],'.', alpha = 0.3) - plt.plot(X_pc[y=="AMR"][:,0], X_pc[y=="AMR"][:,1],'.', alpha = 0.3) - plt.plot(X_pc[y=="SAS"][:,0], X_pc[y=="SAS"][:,1],'.', alpha = 0.3) - plt.xlabel("PC 1") - plt.ylabel("PC 2") - plt.legend(["EUR", "AFR","EAS","AMR","SAS"]) - - fig2 = plt.figure() - plt.plot(X_pc[y=="EUR"][:,0], X_pc[y=="EUR"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="AFR"][:,0], X_pc[y=="AFR"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="EAS"][:,0], X_pc[y=="EAS"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="AMR"][:,0], X_pc[y=="AMR"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="SAS"][:,0], X_pc[y=="SAS"][:,2],'.', alpha = 0.3) - plt.xlabel("PC 1") - plt.ylabel("PC 3") - plt.legend(["EUR", "AFR","EAS","AMR","SAS"]) - - - fig3 = plt.figure() - plt.plot(X_pc[y=="EUR"][:,1], X_pc[y=="EUR"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="AFR"][:,1], X_pc[y=="AFR"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="EAS"][:,1], X_pc[y=="EAS"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="AMR"][:,1], X_pc[y=="AMR"][:,2],'.', alpha = 0.3) - plt.plot(X_pc[y=="SAS"][:,1], X_pc[y=="SAS"][:,2],'.', alpha = 0.3) - plt.xlabel("PC 2") - plt.ylabel("PC 3") - plt.legend(["EUR", "AFR","EAS","AMR","SAS"]) - - fig4 = plt.figure() - plt.plot(pca.variance_explained(),'.-') - plt.xlabel("PC dimension") - plt.ylabel("variance explained") - - fig4 = plt.figure() - plt.plot(pca.variance_explained().cumsum() / pca.variance_explained().sum(),'.-') - plt.xlabel("PC dimension") - plt.ylabel("cumulative fraction of variance explained") - plt.show() - diff --git a/week4/pca_exercise.py b/week4/pca_exercise.py deleted file mode 100644 index f835251..0000000 --- a/week4/pca_exercise.py +++ /dev/null @@ -1,66 +0,0 @@ -import numpy as np - -def empirical_covariance(X): - """ - Calculates the empirical covariance matrix for a given dataset. - - Parameters: - X (numpy.ndarray): A 2D numpy array where rows represent samples and columns represent features. - - Returns: - tuple: A tuple containing the mean of the dataset and the covariance matrix. - """ - - return mean, covariance - -class PCA: - def __init__(self, k=None): - """ - Initializes the PCA class without any components. - - Parameters: - k (int, optional): Number of principal components to use. - """ - pass - - def fit(self, X): - """ - Fit the PCA model to the dataset by computing the covariance matrix and its eigen decomposition. - - Parameters: - X (numpy.ndarray): The data to fit the model on. - """ - pass - - def transform(self, X): - """ - Transform the data into the principal component space. - - Parameters: - X (numpy.ndarray): Data to transform. - - Returns: - numpy.ndarray: Transformed data. - """ - pass - - def reverse_transform(self, Z): - """ - Transform data back to its original space. - - Parameters: - Z (numpy.ndarray): Transformed data to invert. - - Returns: - numpy.ndarray: Data in its original space. - """ - pass - - def variance_explained(self): - """ - Returns the amount of variance explained by the first k principal components. - - Returns: - numpy.ndarray: Variances explained by the first k components. - """ - pass \ No newline at end of file diff --git a/week5/kernel.py b/week5/kernel.py deleted file mode 100644 index e7010b8..0000000 --- a/week5/kernel.py +++ /dev/null @@ -1,222 +0,0 @@ -import numpy as np -from scipy.spatial import distance_matrix - -class Standardizer: - """ - Standardizes the input data. - - Attributes: - zero_mean (bool): Whether to center the data to have zero mean. - unit_variance (bool): Whether to scale the data to have unit variance. - mean (numpy.ndarray): Mean of each feature. - standard_deviation (numpy.ndarray): Standard deviation of each feature. - """ - def __init__(self, zero_mean=True, unit_variance=True): - self.zero_mean = zero_mean - self.unit_variance = unit_variance - self.mean = 0 - self.standard_deviation = 1 - - def fit(self, X): - """ - Fits the standardizer to the input data. - - Args: - X (numpy.ndarray): Input data. - """ - if self.zero_mean: - self.mean = X.mean(0) - else: - self.mean = np.zeros(X.shape[1]) - if self.unit_variance: - self.standard_deviation = X.std(0) - else: - self.standard_deviation = np.ones(X.shape[1]) - - def transform(self, X): - """ - Transforms the input data using the fitted standardizer. - - Args: - X (numpy.ndarray): Input data. - - Returns: - numpy.ndarray: Transformed data. - """ - return (X-self.mean[np.newaxis,:]) / self.standard_deviation[np.newaxis,:] - - def reverse_transform(self, X): - """ - Reverse transforms the standardized data to the original scale. - - Args: - X (numpy.ndarray): Standardized data. - - Returns: - numpy.ndarray: Reverse transformed data. - """ - return (X * self.standard_deviation[np.newaxis,:]) + self.mean[np.newaxis,:] - - -class MinkowskiExponentialKernel: - """ - Minkowski Exponential Kernel function. - - Attributes: - scale (float): Scaling factor for the kernel. - length_scale (float): Length scale parameter. - p (float): Exponent for the Minkowski distance. - standardizer (Standardizer): Standardizer instance for preprocessing data. - X (numpy.ndarray): Standardized input data. - """ - def __init__(self, scale=1.0, length_scale=1.0, p=1.0, zero_mean=False, unit_variance=False): - self.scale = scale - self.length_scale = length_scale - self.p = p - self.standardizer = Standardizer(zero_mean=zero_mean, unit_variance=unit_variance) - - def fit(self, X): - """ - Fits the kernel to the input data. - - Args: - X (numpy.ndarray): Input data. - """ - self.standardizer.fit(X) - self.X = self.standardizer.transform(X) - - def transform(self, X_star): - """ - Transforms new data using the kernel. - - Args: - X_star (numpy.ndarray): New data to be transformed. - - Returns: - numpy.ndarray: Transformed data. - """ - X_star = self.standardizer.transform(X_star) - distancematrix = distance_matrix(X_star, self.X, self.p) - K = self.scale * np.exp(-np.power(distancematrix,self.p)/self.length_scale) - return K - -class SquaredExponentialKernel: - """ - Squared Exponential Kernel function. - - Attributes: - scale (float): Scaling factor for the kernel. - length_scale (float): Length scale parameter. - standardizer (Standardizer): Standardizer instance for preprocessing data. - X (numpy.ndarray): Standardized input data. - norm2_X (numpy.ndarray): Squared norms of the input data. - """ - def __init__(self, scale=1.0, length_scale=1.0, zero_mean=False, unit_variance=False): - self.scale = scale - self.length_scale = length_scale - self.standardizer = Standardizer(zero_mean=zero_mean, unit_variance=unit_variance) - - def fit(self, X): - """ - Fits the kernel to the input data. - - Args: - X (numpy.ndarray): Input data. - """ - self.standardizer.fit(X) - self.X = self.standardizer.transform(X) - self.norm2_X = (X*X).sum(1) - - def transform(self, X_star): - """ - Transforms new data using the kernel. - - Args: - X_star (numpy.ndarray): New data to be transformed. - - Returns: - numpy.ndarray: Transformed data. - """ - X_star = self.standardizer.transform(X_star) - XX = X_star @ self.X.T - norm2_X_star = (X_star*X_star).sum(1) - K = self.scale * np.exp((XX - 0.5 * self.norm2_X[np.newaxis,:] - 0.5 * norm2_X_star[:,np.newaxis])/self.length_scale) - return K - -class PolynomialKernel: - """ - Polynomial Kernel function. - - Attributes: - constant (float): Constant term in the polynomial. - degree (float): Degree of the polynomial. - standardizer (Standardizer): Standardizer instance for preprocessing data. - X (numpy.ndarray): Standardized input data. - """ - def __init__(self, constant=1.0, degree=1.0, zero_mean=False, unit_variance=False): - self.constant = constant - self.degree = degree - self.standardizer = Standardizer(zero_mean=zero_mean, unit_variance=unit_variance) - - def fit(self, X): - """ - Fits the kernel to the input data. - - Args: - X (numpy.ndarray): Input data. - """ - self.standardizer.fit(X=X) - self.X = self.standardizer.transform(X=X) - - def transform(self, X_star): - """ - Transforms new data using the kernel. - - Args: - X_star (numpy.ndarray): New data to be transformed. - - Returns: - numpy.ndarray: Transformed data. - """ - X_star = self.standardizer.transform(X_star) - XX = X_star @ self.X.T - - K = np.power(XX + self.constant, self.degree) - if (self.degree % 1.0): # for non-integer degrees, we could have NaNs in the Kernel - K[K!=K] = 0.0 - return K - -class LinearKernel: - """ - Linear Kernel function. - - Attributes: - standardizer (Standardizer): Standardizer instance for preprocessing data. - X (numpy.ndarray): Standardized input data. - """ - def __init__(self, zero_mean=True, unit_variance=True): - self.standardizer = Standardizer(zero_mean=zero_mean, unit_variance=unit_variance) - self.X = None - - def fit(self, X): - """ - Fits the kernel to the input data. - - Args: - X (numpy.ndarray): Input data. - """ - self.standardizer.fit(X=X) - self.X = self.standardizer.transform(X=X) - - def transform(self,X_star): - """ - Transforms new data using the kernel. - - Args: - X_star (numpy.ndarray): New data to be transformed. - - Returns: - numpy.ndarray: Transformed data. - """ - X_star = self.standardizer.transform(X_star) - return X_star @ self.X.T diff --git a/week5/kernel_ridge_exercise.py b/week5/kernel_ridge_exercise.py deleted file mode 100644 index d7ccbd4..0000000 --- a/week5/kernel_ridge_exercise.py +++ /dev/null @@ -1,76 +0,0 @@ -import numpy as np - -class KernelRidgeRegressionEx: - """ - Kernel Ridge Regression model. - - Attributes: - ridge (float): Regularization parameter. - N (int): Number of samples. - alpha (numpy.ndarray): Coefficients of the fitted model. - """ - def __init__(self, ridge=0.0): - """ - Initializes the KernelRidgeRegression model with specified parameters. - - Args: - ridge (float, optional): Regularization parameter. Defaults to 0.0. - """ - self.ridge = ridge - self.N = None - self.alpha = None - - def fit(self, K, y): - """ - Fits the model to the training data. - - Args: - K (numpy.ndarray): Kernel matrix. - y (numpy.ndarray): Target variable. - - Notes: - The method computes the coefficients of the model using the provided kernel matrix and target variable. - """ - self.N = K.shape[0] - # self.alpha = Please implement me as an exercise - - def pred(self, K_star): - """ - Predicts target variable for new data. - - Args: - K_star (numpy.ndarray): Kernel matrix for new data. - - Returns: - numpy.ndarray: Predicted target variable. - """ - # prediction = Please implement me as an exercise - return prediction - - def mse(self, K, y): - """ - Computes mean squared error. - - Args: - K (numpy.ndarray): Kernel matrix. - y (numpy.ndarray): Target variable. - - Returns: - float: Mean squared error. - """ - y_pred = self.pred(K) - residual = y - y_pred - return np.mean(residual * residual) - - def score(self, K, y): - """ - Computes the score of the model. - - Args: - K (numpy.ndarray): Kernel matrix. - y (numpy.ndarray): Target variable. - - Returns: - float: Score of the model. - """ - return self.mse(K=K, y=y) diff --git a/week5/main-kernel_ridge_exercise.py b/week5/main-kernel_ridge_exercise.py deleted file mode 100644 index 24b91fa..0000000 --- a/week5/main-kernel_ridge_exercise.py +++ /dev/null @@ -1,104 +0,0 @@ -import numpy as np -import pandas as pd -import datetime -import matplotlib.pyplot as plt -from kernel_ridge_exercise import KernelRidgeRegressionEx as KernelRidgeRegression -from kernel import LinearKernel, PolynomialKernel, SquaredExponentialKernel, MinkowskiExponentialKernel -import pdb - -def load_temperature_data(year = None): - """ - load data from a weather station in Potsdam - - """ - - names = ['station', 'date' , 'type', 'measurement', 'e1','e2', 'E', 'e3'] - data = pd.read_csv('../datasets/weatherstations/GM000003342.csv', names = names) - # convert the date column to datetime format - data['date'] = pd.to_datetime(data['date'], format="%Y%m%d") # 47876 unique days - types = data['type'].unique() - - tmax = data[data['type']=='TMAX'][['date','measurement']] # Maximum temperature (tenths of degrees C), 47876 - tmin = data[data['type']=='TMIN'][['date','measurement']] # Minimum temperature (tenths of degrees C), 47876 - prcp = data[data['type']=='PRCP'][['date','measurement']] # Precipitation (tenths of mm), 47876 - snwd = data[data['type']=='SNWD'][['date','measurement']] # Snow depth (mm), different shape - tavg = data[data['type']=='TAVG'][['date','measurement']] # average temperature, different shape 1386 - arr = np.array([tmax.measurement.values,tmin.measurement.values, prcp.measurement.values]).T - - df = pd.DataFrame(arr/10.0, index=tmin.date, columns=['TMAX', 'TMIN', 'PRCP']) # compile data in a dataframe and convert temperatures to degrees C, precipitation to mm - - if year is not None: - # df = df[pd.datetime(year,1,1):pd.datetime(year,12,31)] - start_date = datetime.datetime(year, 1, 1) - end_date = datetime.datetime(year, 12, 31) - df = df[(df.index >= start_date) & (df.index <= end_date)] - - df['days'] = (df.index - df.index.min()).days - return df - -if __name__ == "__main__": - - year = 1900 - df = load_temperature_data(year = year) - - - np.random.seed(2) - idx = np.random.permutation(df.shape[0]) - - idx_train = idx[0:100] - idx_test = idx[100:] - - data_train = df.iloc[idx_train] - data_test = df.iloc[idx_test] - - unit_variance = False # standardize X to be 1 variance for each feature? - zero_mean = True # standardize X to be 0 mean for each feature? - - ridge = 1.0 # strength of the L2 penalty in ridge regression - if 0: - kernel = LinearKernel(unit_variance=unit_variance, zero_mean=zero_mean) - elif 0: - kernel = SquaredExponentialKernel(scale=1.0, length_scale=200.0, unit_variance=unit_variance, zero_mean=zero_mean) - elif 0: - # The polynomial kernel seems to be numerically very unstable for large degrees - kernel = PolynomialKernel(constant=1.0, degree=2.0, unit_variance=unit_variance,zero_mean=zero_mean) - elif 1: - kernel = MinkowskiExponentialKernel(scale=1.0, length_scale=50.0, p=1.0, unit_variance=unit_variance, zero_mean=zero_mean) - - - def plot_regression(N_train = 10): - x_train = data_train.days.values[:N_train][:,np.newaxis] * 1.0 - y_train = data_train.TMAX.values[:N_train] - - - reg = KernelRidgeRegression(ridge=ridge) - kernel.fit(X=x_train) - K_train = kernel.transform(X_star=x_train) - reg.fit(K_train, y_train) - - x_days = np.arange(366)[:,np.newaxis] - K_days = kernel.transform(X_star = x_days) - y_days_pred = reg.pred(K_days) - - x_test = data_test.days.values[:,np.newaxis] * 1.0 - K_test = kernel.transform(X_star = x_test) - y_test = data_test.TMAX.values - y_test_pred = reg.pred(K_test) - print("training MSE : %.4f" % reg.mse(K_train, y_train)) - print("test MSE : %.4f" % reg.mse(K_test, y_test)) - - - fig = plt.figure() - plt.plot(x_train,y_train,'.') - plt.plot(x_test,y_test,'.') - plt.legend(["train MSE = %.2f" % reg.mse(K_train, y_train),"test MSE = %.2f" % reg.mse(K_test, y_test)]) - plt.plot(x_days,y_days_pred) - plt.ylim([-27,39]) - plt.xlabel("day of the year") - plt.ylabel("Maximum Temperature - degree C") - plt.title("Year : %i N : %i" % (year, N_train)) - - return (fig, reg) - N = 150 - fig, reg = plot_regression(N) - plt.show() \ No newline at end of file diff --git a/week5/main-ridge.py b/week5/main-ridge.py deleted file mode 100644 index 10f0e14..0000000 --- a/week5/main-ridge.py +++ /dev/null @@ -1,86 +0,0 @@ -import numpy as np -import pandas as pd -import datetime -import matplotlib.pyplot as plt -from ridge_regression import RidgeRegression -import pdb - -def load_temperature_data(year = None): - """ - load data from a weather station in Potsdam - - """ - - names = ['station', 'date' , 'type', 'measurement', 'e1','e2', 'E', 'e3'] - data = pd.read_csv('../datasets/weatherstations/GM000003342.csv', names = names) - # convert the date column to datetime format - data['date'] = pd.to_datetime(data['date'], format="%Y%m%d") # 47876 unique days - types = data['type'].unique() - - tmax = data[data['type']=='TMAX'][['date','measurement']] # Maximum temperature (tenths of degrees C), 47876 - tmin = data[data['type']=='TMIN'][['date','measurement']] # Minimum temperature (tenths of degrees C), 47876 - prcp = data[data['type']=='PRCP'][['date','measurement']] # Precipitation (tenths of mm), 47876 - snwd = data[data['type']=='SNWD'][['date','measurement']] # Snow depth (mm), different shape - tavg = data[data['type']=='TAVG'][['date','measurement']] # average temperature, different shape 1386 - arr = np.array([tmax.measurement.values,tmin.measurement.values, prcp.measurement.values]).T - - df = pd.DataFrame(arr/10.0, index=tmin.date, columns=['TMAX', 'TMIN', 'PRCP']) # compile data in a dataframe and convert temperatures to degrees C, precipitation to mm - - if year is not None: - # df = df[pd.datetime(year,1,1):pd.datetime(year,12,31)] - start_date = datetime.datetime(year, 1, 1) - end_date = datetime.datetime(year, 12, 31) - df = df[(df.index >= start_date) & (df.index <= end_date)] - - df['days'] = (df.index - df.index.min()).days - return df - -if __name__ == "__main__": - - year = 1900 - df = load_temperature_data(year = year) - - - np.random.seed(2) - idx = np.random.permutation(df.shape[0]) - - idx_train = idx[0:100] - idx_test = idx[100:] - - data_train = df.iloc[idx_train] - data_test = df.iloc[idx_test] - - fit_mean = True # fit a separate mean for y in the linear regression? - ridge = 1.0 # strength of the L2 penalty in ridge regression - - def plot_regression(N_train = 10): - x_train = data_train.days.values[:N_train][:,np.newaxis] * 1.0 - y_train = data_train.TMAX.values[:N_train] - - reg = RidgeRegression(fit_mean=fit_mean, ridge=ridge) - reg.fit(x_train, y_train) - - x_days = np.arange(366)[:,np.newaxis] - y_days_pred = reg.pred(x_days) - - x_test = data_test.days.values[:,np.newaxis] * 1.0 - y_test = data_test.TMAX.values - y_test_pred = reg.pred(x_test) - print("training MSE : %.4f" % reg.mse(x_train, y_train)) - print("test MSE : %.4f" % reg.mse(x_test, y_test)) - - - fig = plt.figure() - plt.plot(x_train,y_train,'.') - plt.plot(x_test,y_test,'.') - plt.legend(["train MSE = %.2f" % reg.mse(x_train, y_train),"test MSE = %.2f" % reg.mse(x_test, y_test)]) - plt.plot(x_days,y_days_pred) - plt.ylim([-27,39]) - plt.xlabel("day of the year") - plt.ylabel("Maximum Temperature - degree C") - plt.title("Year : %i N : %i" % (year, N_train)) - - return (fig, reg) - N = 150 - fig, reg = plot_regression(N) - plt.show() \ No newline at end of file diff --git a/week5/readme.md b/week5/readme.md deleted file mode 100644 index 8fe1ef0..0000000 --- a/week5/readme.md +++ /dev/null @@ -1 +0,0 @@ -This week we have discussed ridge (i.e. regularized linear) regression and kernelized ridge regression. Please implement the fit() and pred() functions in kernel_ridge_exercise.py diff --git a/week5/ridge_regression.py b/week5/ridge_regression.py deleted file mode 100644 index aa7a4c8..0000000 --- a/week5/ridge_regression.py +++ /dev/null @@ -1,91 +0,0 @@ -import numpy as np - -class RidgeRegression: - """ - Kernel Ridge Regression model. - - Attributes: - ridge (float): Regularization parameter. - N (int): Number of samples. - Ky (numpy.ndarray): Coefficients of the fitted model. - fit_mean (bool): Whether to fit the mean of the data. - mean_y (float or numpy.ndarray): Mean of the target variable. - mean_K (float or numpy.ndarray): Mean of the kernel matrix. - """ - def __init__(self, ridge=0.0, fit_mean=False): - """ - Initializes the KernelRidgeRegression model with specified parameters. - - Args: - ridge (float, optional): Regularization parameter. Defaults to 0.0. - fit_mean (bool, optional): Whether to fit the mean of the data. Defaults to False. - """ - self.ridge = ridge - self.N = None - self.w = None - self.fit_mean = fit_mean - - def fit(self, X, y): - """ - Fits the model to the training data. - - Args: - X (numpy.ndarray): Training feature design matrix. - y (numpy.ndarray): Target variable. - - Notes: - The method computes the coefficients of the model using the provided kernel matrix and target variable. - """ - if self.fit_mean: - self.mean_y = y.mean(0) - self.mean_X = X.mean(0) - X = X - self.mean_X[np.newaxis,:] - y = y - self.mean_y - else: - self.mean_y = 0.0 - self.N = X.shape[0] - XX = X.T @ X + np.eye(X.shape[1]) * self.ridge - Xy = X.T @ y - self.w = np.linalg.lstsq(XX, Xy)[0] - - def pred(self, X_star): - """ - Predicts target variable for new data. - - Args: - X_star (numpy.ndarray): Feature design matrix for new data. - - Returns: - numpy.ndarray: Predicted target variable. - """ - if self.fit_mean: - X_star = X_star - self.mean_X[np.newaxis,:] - return X_star @ self.w + self.mean_y - - def mse(self, X, y): - """ - Computes mean squared error. - - Args: - X (numpy.ndarray): Feature design matrix. - y (numpy.ndarray): Target variable. - - Returns: - float: Mean squared error. - """ - y_pred = self.pred(X) - residual = y - y_pred - return np.mean(residual * residual) - - def score(self, X, y): - """ - Computes the score of the model. - - Args: - X (numpy.ndarray): Feature design matrix. - y (numpy.ndarray): Target variable. - - Returns: - float: Score of the model. - """ - return self.mse(X=X, y=y) diff --git a/week5/svd_pca.py b/week5/svd_pca.py new file mode 100644 index 0000000..995ac56 --- /dev/null +++ b/week5/svd_pca.py @@ -0,0 +1,78 @@ +import numpy as np +import matplotlib.pyplot as plt +from sklearn.decomposition import PCA as skPCA + +def generate_3d_data(n=100): + np.random.seed(42) + mean = [0, 0, 0] + cov = [[3, 1, 1], + [1, 2, 1], + [1, 1, 1]] + return np.random.multivariate_normal(mean, cov, n) + +def SVD(X): + # SVD is like matrix yoga — stretching into U, Σ, and V^T poses. + + # Step 1: Center data + # Step 2: Compute covariance matrix C (C = X^T @ X) + # Step 3: Eigen decomposition of C (Hint: np.linalg.eigh) + # Step 4: Sort eigenvalues and eigenvectors descending + # Step 5: Calculate singular values (Sigma matrix values) + # Step 6: Find Left singular vectors (U) using the formula U = X @ V @ Sigma_inv + # Return U, singular values, and V^T + + pass + +def PCA(data, k=2): + # Warning: PCA may cause dimensionality reduction addiction. + + # Step 1: Center the data + # Step 2: Compute the covariance matrix of the centered data (Hint: np.cov) + # Step 3: Compute eigenvalues and eigenvectors of the covariance matrix (use np.linalg.eigh) + # Step 4: Sort the eigenvalues and eigenvectors in descending order + # Step 5: Select the first k eigenvectors (principal components) + # Step 6: Project the centered data onto the selected components (Hint: X @ components) + # Return the projected data and the components () + pass + + +def visualize(data3d, projected): + """Plot original 3D data and both 2D projections.""" + fig = plt.figure(figsize=(10,5)) + ax1 = fig.add_subplot(121, projection='3d') + ax1.scatter(data3d[:,0], data3d[:,1], data3d[:,2], c='blue', alpha=0.6) + ax1.set_title('Original 3D Data') + ax2 = fig.add_subplot(122) + ax2.scatter(projected[:,0], projected[:,1], c='red', alpha=0.6) + ax2.set_title('2D Projection with PCA') + plt.tight_layout() + plt.show() + + +def main(): + data = generate_3d_data() + projected, components = PCA(data, k=2) + # visualize(projected) + visualize(data, projected) + U, S, Vt = SVD(data) + print("Explicit SVD singular values:", S) + + from numpy.linalg import svd + U_np, S_np, Vt_np = svd(data - np.mean(data, axis=0), full_matrices=False) + print("Numpy SVD singular values:", S_np) + + svd_close = np.allclose(S, S_np, atol=1e-6) + print("Singular values close:", svd_close) + + pca = skPCA(n_components=2) + proj_sk = pca.fit_transform(data) + + # Compare PCA components using abs (ignore sign) + comp_close_0 = np.allclose(np.abs(components[:, 0]), np.abs(pca.components_[0]), atol=1e-6) + comp_close_1 = np.allclose(np.abs(components[:, 1]), np.abs(pca.components_[1]), atol=1e-6) + + print("PCA component 0 close to sklearn (ignoring sign):", comp_close_0) + print("PCA component 1 close to sklearn (ignoring sign):", comp_close_1) + +if __name__ == "__main__": + main() diff --git a/week6/logistic_regression.py b/week6/logistic_regression.py deleted file mode 100644 index 5f8b279..0000000 --- a/week6/logistic_regression.py +++ /dev/null @@ -1,169 +0,0 @@ -import numpy as np -import time - - -def logistic(a): - """ - returns the logistic sigmoid \pi(a) - Keyword arguments: - a -- scalar or numpy array - """ - expa = np.exp(a) - res = expa / (1.0 + expa) - if hasattr(a, "__iter__"): - res[a>709.7] = 1.0 # np.exp will overflow and return inf for values larger 709.7. - elif a>709.7: - res = 1.0 - return res - -def logit(a): - return np.log(a)-np.log(1.0-a) - -def logit_scalar_brent(a): - if a!=0.5: - # determine corresponding x_root - from scipy.optimize import brentq - def f(x): - return a-logistic(x) # we want to find a zero/root of f(x) using brent's method. - return brentq(f, -10, 10, args=(), xtol=2e-12, rtol=8.8817841970012523e-16, maxiter=100, full_output=False, disp=True) - - else: - return 0.0 - -def logit_brent(a): - if hasattr(a, "__iter__"): - f = np.vectorize(logit_scalar_brent) # or use a different name if you want to keep the original f - return f(a) - else: - return logit_scalar_brent(a) - -class LogisticRegression(object): - """ - Implements logistic regression classifier with the objective - \sum_{n\in class_{1}} \log(\pi(x_n.dot(w))) + \sum_{n\in class_{0}} \log(1-\pi(x_n.dot(w))) + lambd/2 * w.T.dot(w) - """ - - def __init__(self, lambd=1e-3, tol=1e-5, max_iter=100, learning_rate=1e-4, decay_rate=1e-5, optimizer="IRLS", verbose=False, debug=False): - """ - Keyword arguments: - lambd -- regularization paramter for L2 norm of w (scalar or numpy 1D array with length equal to the number of dimensions) (default: 1e-5) - tol -- tolerance of the optimizer (default: 1e-5) - max_iter -- maximum number of interations of the optimizer (default: 100) - optmizer -- "IRLS" for Newton Raphson/IRLS or "steep" for steepest descent (default: "IRLS") - verbose -- Boolean indicator (default: False) - """ - self.w = None # create a placeholer for the weights w - self.class_labels = None # crete a placeholder for the list of class labels - self.lambd = lambd - self.tol = tol - self.max_iter = max_iter - self.optimizer = optimizer - self.learning_rate = learning_rate - self.verbose = verbose - self.decay_rate = decay_rate - self.debug = debug - - def fit(self, X, y, w_init=None): - """ - minimize the objective - \sum_{n\in class_{1}} \log(\pi(x_n.dot(w))) + \sum_{n\in class_{0}} \log(1-\pi(x_n.dot(w))) + lambd/2 * w.T.dot(w) - """ - - self.class_labels = np.unique(y) - if len(self.class_labels)>2: - raise Exception("too many classes. This logistic regression class only implements binary classification.") - if w_init is None: - self.w = np.zeros((X.shape[1], 1)) # zero-init w - else: - self.w = w_init - num_iter = 0 - objective_last = np.inf# initialize the objective to a large number - gradient_last = np.inf # initialize the gradient to a large number - # Newton-Raphson / IRLS updates - if self.verbose or self.debug: - t0 = time.time() - w_ret = [self.w] - gradient_ret = [] - objective_ret = [self.objective(y,X)] - - while (objective_last>0.0) and (np.sqrt(gradient_last*gradient_last).sum() > self.tol) and (num_iter1-min_val] = 1-min_val - return z - - def predict(self, X, threshold=0.5): - """ - predict a class label using \pi(x)>=threshold - """ - prediction = np.array([self.class_labels[0]] * X.shape[0])[:,np.newaxis] - prediction[self.predict_proba(X) >= threshold] = self.class_labels[1] - return prediction - - def objective(self, y, X): - """ - L = \sum_{n\in class_{1}} \log(\pi(x_n.dot(w))) + \sum_{n\in class_{0}} \log(1-\pi(x_n.dot(w))) + lambd/2 * w.T.dot(w) - """ - pi = self.predict_proba(X) - log_0_pi = np.log(pi[y==self.class_labels[1]]) - log_1_pi = np.log(1.0-pi[y==self.class_labels[0]]) - loss = -log_0_pi.sum() - log_1_pi.sum() # this version is more stable for perfect prediction - regularizer = 0.5 * (self.lambd * self.w * self.w).sum() - return loss + regularizer - - def gradient(self, X, y): - """ - compute the [D x 1] gradient vector - """ - # implement me - gradient = - return gradient - - def hessian(self, X, y): - """ - compute the [D x D] Hessian matrix - """ - #implement me - hessian = - return hessian \ No newline at end of file diff --git a/week6/nmf.py b/week6/nmf.py new file mode 100644 index 0000000..c188abe --- /dev/null +++ b/week6/nmf.py @@ -0,0 +1,60 @@ +#! /usr/bin/env -S uv run +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "joblib", +# "numpy", +# "rootpath", +# ] +# /// + +import os +import numpy as np +import joblib +import rootpath + + +def nmf(V, rank, max_iter=500, tol=1e-6, epsilon=1e-10): + np.random.seed(42) # do NOT change this. + # Step 1: Generate initial guesses for W,H + # Step 2: Initialize the error term. (Hint: ||V-WH||_2) + # Step 3: For up to max_iter iterations apply: + ## Step 3.1: The multiplicative update for H + ## Step 3.2: The multiplicative update for W + ## Step 3.3: Calculate the current error. + ## Step 3.4: Check convergence, break if neccessary. + ## Step 3.5: update the error term + # Step 4: Return W,H + pass + + +def print_top_words(H, feature_names, n_top_words=10): + for topic_idx, topic in enumerate(H): + top_indices = topic.argsort()[::-1][:n_top_words] + top_words = [feature_names[i] for i in top_indices] + top_scores = topic[top_indices] + print(f"Topic {topic_idx + 1}:") + for word, score in zip(top_words, top_scores): + print(f" {word} ({score:.3f})") + print() + + +def main(): + data_dir = os.path.join(os.path.dirname(__file__), "nmf_data", "train") + + print("Loading data...") + V = joblib.load(os.path.join(data_dir, "tfidf_matrix.pkl")) + feature_names = joblib.load(os.path.join(data_dir, "feature_names.pkl")) + + print(f"Data shape: {V.shape}") + + n_topics = 4 + print(f"Running NMF with {n_topics} topics...") + W, H = nmf(V, rank=n_topics, max_iter=500, tol=1e-6) + + print("\nTop words per topic:") + print_top_words(H, feature_names, n_top_words=10) + + +if __name__ == "__main__": + main() diff --git a/week6/nmf_data/train/feature_names.pkl b/week6/nmf_data/train/feature_names.pkl new file mode 100644 index 0000000..a19c452 Binary files /dev/null and b/week6/nmf_data/train/feature_names.pkl differ diff --git a/week6/nmf_data/train/tfidf_matrix.pkl b/week6/nmf_data/train/tfidf_matrix.pkl new file mode 100644 index 0000000..332eee7 Binary files /dev/null and b/week6/nmf_data/train/tfidf_matrix.pkl differ diff --git a/week6/phenotype_classification_LogisticRegression.ipynb b/week6/phenotype_classification_LogisticRegression.ipynb deleted file mode 100755 index ecc3a4a..0000000 --- a/week6/phenotype_classification_LogisticRegression.ipynb +++ /dev/null @@ -1,1382 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# Machine Learning for Human Phenotype Classification" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": { - "slideshow": { - "slide_type": "skip" - } - }, - "outputs": [], - "source": [ - "### Some imports\n", - "# All packages are included in the Anaconda python distribution and integral part of a machine learning Python environment).\n", - "import numpy as np # efficient matrix-vector operations\n", - "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", - "import seaborn as sns # data visualization \n", - "sns.set_style(\"whitegrid\") # set the figure default style\n", - "sns.set_context(\"talk\")\n", - "sns.set(font_scale=1.5) # bigger fonts in images\n", - "\n", - "import matplotlib.pyplot as plt # basic plotting\n", - "\n", - "# some not so standard imports:\n", - "import importlib # enable reloading of libraries\n", - "import plotting_util as util # useful plotting tools for teaching (see plotting_utils.py)\n", - "importlib.reload(util)\n", - "import logistic_regression\n", - "importlib.reload(logistic_regression)\n", - "\n", - "import time # timing (for example to benchmark an algorithm)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "## Diagnosing Breast cancer biopsies using Logistic Regression" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Wisconsin Diagnostic Breast Cancer (WDBC, 1993) data from UCI Machine Learning repository.\n", - "\n", - "- 569 samples from patients with known diagnosis\n", - "- 357 benign\n", - "- 212 malignant\n", - "- 30 features extracted from fine needle aspirate slides" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "![title](uci_breast_cancer/papers/breast_cancer_nuclei_12938_2011_Article_597_Fig3_HTML.jpg)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are given a number of features that describe the nuclei that have been determined from image processing techniques [Street et al, 1992].\n", - "While the original data consists of 30 features and all presented methods work with 30 features, we restrict ourselves to 2 features, the *concavity* and the *texture* of the nuclei for illustrative purposes.\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(398, 2)\n" - ] - } - ], - "source": [ - "X, y = util.load_data(columns=[\"concavity_mean\", \"texture_mean\"])\n", - "print (X.drop(['bias'], axis=1).shape)\n", - "# X.drop(['bias'], axis=1).head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Note that we have added a constant feature to the matrix $\\mathbf{X}$ with the column name 'bias'." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Binary Classificaiton" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Classification** refers to the task of predicting a **class label** $y$, *i.e.*, the diagnosis, from a **feature vector** $\\bf{x}$.\n", - "For the case, where $y$ can take one of two values, we speak of binary classification.\n", - "\n", - "In machine learning, we assume that we are given pairs of $(\\mathbf{x}, y)$, the so-called **training data**, we would like to **train** a function $f(\\mathbf{x})$ that predicts the value of $y$.\n", - "\n", - "For the task at hand, this means that for the image features, we \n", - "Then given a new image for which we don't know the diagnosis, we can predict the diagnosis based on what we have learned from from the training data.\n", - "We call the new image the **test data**." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The shape of the nulei has been determined and coded in a number of features.\n", - "Let's look at the data:" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(398,)\n", - "['B' 'M']\n", - "Benign samples 'B': 249\n", - "Malignant samples 'M': 149\n" - ] - } - ], - "source": [ - "print (y.shape)\n", - "print (y.unique())\n", - "print (\"Benign samples 'B': {:}\".format((y=='B').sum()))\n", - "print (\"Malignant samples 'M': {:}\".format((y=='M').sum()))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# plot the data" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(-0.01, 0.45)" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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CILo4nSZPUqCIAiCiAQSSoIgCIIIAgklQRAEQQSBhJIgCIIggkBCSRAEQRBBIKEkCIIgiCCQUBIEQRBEEEgoCYIgCCIIJJQEESEnT57EyJEjg05z72zMmTMH48eP9zlWU1MDq9UaJ4sSjz/84Q944okn4m0GEUVIKAkiQpYtW4bLL78cvXr1ircpHcbtt9+OBx980PPzZ599hkmTJqG2tjaOViUWd955J9544w0cOHAg3qYQUaJLNUUniGjx7bffYtu2bfj444/jbUqHMmbMGJ+fS0tL0djYGCdrEpMePXrg8ssvx5/+9Ce8+uqr8TaHiALkURJEBLzyyisYPnw4unfvHm9TiARk6tSp+Prrr8mr7CSQUBIJid1ux0UXXYRx48bB6XT6vPaHP/wBAwcODDhYtyM4ceIEPv30U1x66aUtXvv+++9x6623YsSIERg5ciRuu+02HDx40OecXbt24be//S2GDRuGYcOGYe7cufj22299zhk/fjz+53/+B++//z4uv/xyDB06FBMnTsT69evDvidjDP/4xz8wffp0DBs2DEOHDsWkSZOwdu1az1Dy//3f/8WgQYNahFBtNhvOOeccPPDAAwB89yiXLl2KZ599FgAwYcIEzJkzB0899RTOOussHD582Oc6iqJg7NixuOeee0JaY+91ePTRR/HWW2/hsssuQ3FxMa655hqUlpaiqqoK99xzD4YNG4YLL7wQq1atgqIoPu/fu3cvbrrpJs9a33zzzSgtLfU5J5T1Cfd3MmLECGRkZAR8jUg+SCiJhESv12PBggU4ceIENmzY4Dn+1FNP4e2338ZDDz2Eyy+/PC62ffHFF5BlGePGjfM5vmvXLsyaNQtHjhzBvHnzMH/+fBw+fBhz587FsWPHAADbtm3DnDlzcOLECcyfPx/z58/HiRMn8Nvf/hbbtm1rcZ9ly5bhsssuwwMPPACDwYBHH30Un332WVj3/Mtf/oL/+7//Q//+/fHAAw/gvvvug06nw1NPPYX33nsPAHDFFVdAlmX85z//8bHh008/hc1mw5VXXtliHWbMmIGSkhIAwAMPPIDbb78dV1xxBQBg8+bNPud+8803qKqqwtSpU8NcbXXNnn76aUyfPh133XUXjh49igULFuCmm24Cz/NYunQpBgwYgL/97W94//33Pe/bvn075syZg6amJtxzzz2YP38+Kioq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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "f, ax = plt.subplots(figsize=(7, 7))\n", - "ax = util.scatter_plot_kde2(X,y)\n", - "plt.ylim([8,39.9])\n", - "plt.xlim([-0.01,0.45])\n", - "# plt.savefig(\"./uci_breast_cancer/plots/scatter.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There are many ways to draw a function that separates the samples. But what is a good one?\n", - "\n", - "In this lecture, we will look for a **linear** function for the features $x_1$ and $x_2$ that separates the two classes.\n", - "\\begin{equation}\n", - "x_{1} \\cdot w_1 + x_{2} \\cdot w_2 + b =0\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Equivalently, we can use vector-notation:\n", - "\\begin{equation}\n", - "\\mathbf{x}\\mathbf{w}=0,\n", - "\\end{equation}\n", - "\n", - "where \n", - "\\begin{equation}\n", - "\\mathbf{x}=\n", - "\\left[\n", - "\\begin{matrix}\n", - "x_{1} & x_{2} & 1\n", - "\\end{matrix}\n", - "\\right],\n", - "\\end{equation}\n", - "and\n", - "\\begin{equation}\n", - "\\mathbf{w}=\n", - "\\left[\n", - "\\begin{matrix}\n", - "w_{1} \\\\ w_{2} \\\\ b\n", - "\\end{matrix}\n", - "\\right].\n", - "\\end{equation}\n", - "Note, that we have included the bias $b$ into the vector $\\mathbf{w}$ by creating a new feature in $\\mathbf{x}$ equal to 1." - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/christophlippert/Library/CloudStorage/OneDrive-Personal/HPI/Lectures/2024_SS_Math4ML/Math4ML-Code/week6/plotting_util.py:272: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.\n", - " plt.pcolormesh(xx1, xx2, Z, cmap=cmap, alpha=0.05)\n" - ] - }, - { - "data": { - "text/plain": [ - "(-0.01, 0.45)" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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93H48GEMHz68w+Z37bXXYsuWLfjpp59sAjtWr16N2267DbNnz8bvfvc78DyPt99+G3FxcZbAmkcffRQrVqzA7NmzMWfOHADAxx9/jMrKSrzwwguytva8eSbHcYiJicFf//pXlJeXIy4uDv/5z3+we/duaDQaGyMCiF7qyJEjsXfvXuTk5KB3795uny+d2f3jH//A+PHjMWnSJABAYmIixowZg927d6Nnz54utz+DhfVaz5o1C3PmzIFGo8FHH32E8vJyrF27FkqlErm5ubLWRw7FxcXo06cPGcpOAHmUREhRXl6OxYsXIzY2Fn//+99tokPvuusuRERE4Nlnn+3AGQLjxo0Dz/M2uXiAaEDfeOMNdOvWDS+99BJeffVVZGdn47333kNqaioAYOrUqXj99deRlpaGl156CRs3bkTPnj3x5ptvOhUw8ISnZ6akpODVV19Fr1698PLLL+O5555DeXk5nnvuOfz+97/HmTNnHCI2JS/SGy8wLy8Po0ePxpYtW7B27VqfxwkG0lqnp6fj5ZdfxvPPP4/o6Gj83//9n2VOvqyPN5hMJhQXF2P8+PGBfltEB8AxdxEGBBFGbN68GXv27Al61CsgGu2amhq89957QX9WuLJ7927cd9992L17t8O5cmenqKgIixcvxrZt22x2HYjwhDxKIuwRBAE6nQ5GoxEmkwk6nc5B9i7QLF68GEeOHHEaSEOIZ5bvv/8+rr766i5nJAFg69atGDNmDBnJTgJ5lETYs2HDBovmqMSoUaOC7lneeeedSElJwRNPPBHU54QTgiBg5cqVuHjxIo4fP44NGzZYopIBQK/XW3IUPREfH++TQEFHU1ZWhry8PLz99tsYOnRoR0+HCABkKAnCRy5evIiZM2fi448/9hj00pWYOXMmLly4gIULF2L58uU2bf/5z38wf/58r8Z58803fc697EhWr16NmJgYp+IYRHhChpIgiHajvr4eP/74o1d9s7OzER8fH+QZEYRnyFASBEEQhBsomIcgCIIg3ECGkiAIgiDcQIaSIAiCINxAhpIgCIIg3ECGkiAIgiDcQIaSIAiCINzw/x9RyVZS9HjPAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(7,7))\n", - "ax, clf = util.plotfun2D_logreg(X,y, threshold=0.5, prob=True)\n", - "plt.ylim([8,39.9])\n", - "plt.xlim([-0.01,0.45])\n", - "# plt.savefig(\"./uci_breast_cancer/plots/scatter_decision_boundary.png\", dpi=600)" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/christophlippert/Library/CloudStorage/OneDrive-Personal/HPI/Lectures/2024_SS_Math4ML/Math4ML-Code/week6/plotting_util.py:272: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.\n", - " plt.pcolormesh(xx1, xx2, Z, cmap=cmap, alpha=0.05)\n" - ] - }, - { - "data": { - "text/plain": [ - "(-0.01, 0.45)" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(7,7))\n", - "ax, clf = util.plotfun2D_logreg(X,y, threshold=0.5, prob=True, second_line=True)\n", - "plt.ylim([8,39.9])\n", - "plt.xlim([-0.01,0.45])\n", - "# plt.savefig(\"./uci_breast_cancer/plots/scatter_decision_boundary_secondline.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The classifier predicts all samples on one side of the **decision boundary** to belong to one class, all others to the other class. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we observe, with a linear function, we have to accept that there are missclassifications, especially if we have a large training data set, the training data is rarely **linearly separable**." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## The logistic sigmoid" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As the data are not separable, it is desirable to encode our degree of (un)-certainty by assigning a **probability** for a sample belonging to class $c_1$ each sample.\n", - "\n", - "In this example, $c_1$ refers to a Malignant diagosis." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\\begin{equation}\n", - "p(y=c_1|\\mathbf{x}) = \\pi(\\mathbf{xw})\n", - "\\end{equation}\n", - "\n", - "$y$ is the class label of the sample and $\\pi$ is the **logistic sigmoid**." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The **logistic** $\\pi(a)$ is a function between 0 and 1, making it suited for modeling probabilities. It is called a **sigmoid** function because of its *s*-shape.\n", - "\n", - "\\begin{equation}\n", - "\\pi(a) := \\frac{1}{1+\\exp{\\left(-a\\right)}} = \\frac{\\exp{\\left(a\\right)}}{1+\\exp{\\left(a\\right)}}\n", - "\\end{equation}\n", - "\n", - "Here, as we are modeling linear functions, $a=\\mathbf{x}_n\\mathbf{w}$, where $\\mathbf{x}_n$ is the **feature vector** for the $n$-th individual (given), and $\\mathbf{w}$ is a **weight vector** that we would like to find." - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "def logistic(a):\n", - " \"\"\"\n", - " returns the logistic sigmoid \\pi(a)\n", - " Keyword arguments:\n", - " a -- scalar or numpy array\n", - " \"\"\"\n", - " expa = np.exp(a)\n", - " return expa / (1.0 + expa)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/bw/7wvb07ss3h57p5s47w2rr3080000gn/T/ipykernel_39553/1493706288.py:19: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.\n", - " plt.pcolormesh(xx1, xx2, logistic(xx1), cmap='bwr', alpha=0.05)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "a = np.linspace(-8.0,8.0,100) # create 100 points on a line\n", - "# Set up the figure\n", - "f, ax = plt.subplots(figsize=(7, 6))\n", - "linex=np.arange(-9, 9, 0.003)\n", - "liney = np.arange(-0.1, 1.1, 0.01)\n", - "plt.plot([0,0],[-1,2],':k',alpha=0.8,linewidth=3)\n", - "plt.plot(a, logistic(a), 'k', linewidth=5)\n", - "# plt.plot(a, 1.0-logistic(a), 'k:', linewidth=5, alpha=0.5)\n", - "\n", - "plt.xlim([-8,8])\n", - "plt.ylim([-0.0,1.02])\n", - "plt.yticks([0.0,0.5,1.0])\n", - "plt.xticks([-8,-4,0,4,8])\n", - "\n", - "# ax.patch.set_facecolor('white')\n", - "plt.legend(['decision function','$\\pi(\\mathbf{xw})$','B',\"R\"])\n", - "\n", - "xx1, xx2 = np.meshgrid(linex, liney)\n", - "plt.pcolormesh(xx1, xx2, logistic(xx1), cmap='bwr', alpha=0.05)\n", - "\n", - "ax.patch.set_facecolor('white')\n", - "\n", - "\n", - "ax = plt.xlabel('$\\mathbf{xw}$')\n", - "ax = plt.ylabel('$p(y=c_1|\\mathbf{x})$')\n", - "\n", - "clf = util.LogisticRegression()\n", - "clf.fit(X=X.values,y=y.values[:,np.newaxis])\n", - "Xw = X.values.dot(clf.w)\n", - "bins = np.linspace(-10, 10, 25)\n", - "plt.hist(Xw[y.values=='M'], bins, alpha=0.6, label='M', color='r', density=True)\n", - "plt.hist(Xw[y.values=='B'], bins, alpha=0.6, label='B', color='b', density=True)\n", - "plt.legend(['decision function','$\\pi(\\mathbf{xw})$','$c_1$ (M)',\"$c_2$ (B)\"])\n", - "\n", - "\n", - "# plt.scatter(Xw, (y.values[:,np.newaxis]==\"M\") , (y.values[:,np.newaxis]==\"M\"), size=20)\n", - "\n", - "ax = plt.title(\"The logistic sigmoid\")\n", - "# plt.savefig(\"./uci_breast_cancer/plots/logistic_sigmoid_data.png\", dpi=600)" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'Rectangle' object has no property 'normed'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/bw/7wvb07ss3h57p5s47w2rr3080000gn/T/ipykernel_39553/967711836.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0mXw\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mclf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0mbins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 31\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mXw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;34m'B'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'B'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'b'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnormed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 32\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mXw\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m==\u001b[0m\u001b[0;34m'M'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.5\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'M'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'r'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnormed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[0;31m# plt.scatter(Xw, (y.values[:,np.newaxis]==\"M\") , (y.values[:,np.newaxis]==\"M\"), size=20)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.9/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mhist\u001b[0;34m(x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, data, **kwargs)\u001b[0m\n\u001b[1;32m 2851\u001b[0m \u001b[0morientation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'vertical'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrwidth\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlog\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2852\u001b[0m label=None, stacked=False, *, data=None, **kwargs):\n\u001b[0;32m-> 2853\u001b[0;31m return gca().hist(\n\u001b[0m\u001b[1;32m 2854\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrange\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdensity\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdensity\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mweights\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2855\u001b[0m \u001b[0mcumulative\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcumulative\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbottom\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbottom\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhisttype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mhisttype\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.9/site-packages/matplotlib/__init__.py\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1359\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0minner\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1360\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1361\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0mmap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msanitize_sequence\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1362\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1363\u001b[0m \u001b[0mbound\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnew_sig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbind\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.9/site-packages/matplotlib/axes/_axes.py\u001b[0m in \u001b[0;36mhist\u001b[0;34m(self, x, bins, range, density, weights, cumulative, bottom, histtype, align, orientation, rwidth, log, color, label, stacked, **kwargs)\u001b[0m\n\u001b[1;32m 6909\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mpatch\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6910\u001b[0m \u001b[0mp\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpatch\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6911\u001b[0;31m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6912\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlbl\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6913\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_label\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlbl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/opt/anaconda3/lib/python3.9/site-packages/matplotlib/artist.py\u001b[0m in \u001b[0;36mupdate\u001b[0;34m(self, props)\u001b[0m\n\u001b[1;32m 1060\u001b[0m \u001b[0mfunc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mf\"set_{k}\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1061\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mcallable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1062\u001b[0;31m raise AttributeError(f\"{type(self).__name__!r} object \"\n\u001b[0m\u001b[1;32m 1063\u001b[0m f\"has no property {k!r}\")\n\u001b[1;32m 1064\u001b[0m \u001b[0mret\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAttributeError\u001b[0m: 'Rectangle' object has no property 'normed'" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAGDCAYAAABwcPpaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABPrElEQVR4nO3dd3xT5f4H8E9G07RpugfQTdktBWRTQBSRIchwgQNFVK5X9KoMARcuEAVxgHJ/KCoooKhsGSKOi4DMssumLast3bsZ5/dH6cFwUmjaJCdNP+/XK3LyPeubFvnmec45z6MQBEEAERER1ZpS7gSIiIjqOxZTIiKiOmIxJSIiqiMWUyIiojpiMSUiIqojFlMiIqI6ctlieuzYMcTHx+Py5cs33K64uBhvvPEGkpKS0KFDBzz55JM4d+6cc5IkIiICoJY7AWvOnDmDcePGwWg03nTbF154AYcOHcLkyZOh0+kwb948jB49GuvXr4der6/xOXNzi2E2u9cjt0FBPhj79maHn+eLV+7keVzwHO52ni9euRPZ2UUOPYerCAryaTCf1VUplQoEBOhqvL1LFVOj0YjvvvsOc+bMgYeHx02337NnD/744w8sXLgQvXv3BgB06tQJffv2xbJly/DUU0/V+Nxms+B2xRQAMnNLeR4XPY87fRZnnccd/x+tTkP6rO7Apbp59+7di9mzZ+Pxxx/HxIkTb7r9X3/9BZ1Oh6SkJDEWGBiIzp07488//3RkqkRERCKXapnGxcVhy5YtCAoKwk8//XTT7c+cOYPo6GioVCqLeFRUFDZs2OCoNIncVkVxjris0QXKmAm5MkEQYDAYUFpagrKyMpSVlaKsrBxlZaUoLy9HeXk5Kiqq/qwQXwZDBQwGg+RlNBpgNBphNBphMplgMhmvvq9cNpvN4jqz2QSTyWzxp9lsvrpOgCBULguCALPZDEEwX+15vLYsCJXbVW5j+b7yBUREhOOvv/6q8c/EpYppcHCwTdsXFRXBx8dHEtfpdCgq4vUGIlud2fZ/4nKr/lNkzIQcSRAElJQUIycnB3l5ucjPz0d+fh7y8/NQWFiIwsICFBYWoqioEEVFxSguLrr6KkZJSQlKS0tgMpnk/hgOVZN7dv7JpYqprW40Rr9SaVsPdlCQtCgTkWsJCan5TYW1VWEwQeOhuvmGdVRuMMHzBuep7WctKSnBxYsXceHCBaSmpeNKViYyMjKQmVn5Z1ZWFnJyclBWVlbb1MmKel1MfXx8cP78eUm8uLjYaov1RrKzi9zugr8z/uEh9+KhC5A7hRvKyip0+DlCQvQYMmG1w8+zds7QWp/HZChDWWEGyvIvo7woE+VFV1BelIWKoiswlrNXTg71upjGxsZix44dEAQBCoVCjKempiI2NlbGzIjqp7ie4+ROgf5BMJtRXpSFkrx0lOaeR2neBZTmX4ShJFfu1Og69bqY9uzZEwsWLMD27dvFO3pzcnKwZ88ejBvHfxSIqH4xlheh6MoZFGefRUn2ORRnp8JsdM3uWLVaDa3WC15eXtBqvaDVesLTUwutVgtPz8pljcYDGo0nNBoNPDw00Gg0V5c94OHhAbVaffVV+V6lUlnEVCol1Go1lEoVVCoVgoL0mPLpdigUSigUSkChuPqn8mqDSmEZBwClEgoogKvvFYp/LEMBKCpfClQ2yH6cNQTZ2cVQq227VFivimlOTg7S0tLQrFkz+Pj4oHPnzujSpQtefPFFTJw4Ef7+/vjkk0+g1+sxatQoudMlIrohk6EUhZknUZRxAoWZJ1CaJ71s5SgajQaBgUHw9w+An58//P394evrB19fX/j6+kKv94WPjx4+Pj7Q6XTQ6XTw9q760xseHhqn5VolJEQPn+9vPCpeXWm1Wmg0BiiViptv/A/1qpj+/vvvmDp1KhYvXoyuXbsCAObNm4d3330X7733HsxmMzp27IgPP/wQfn5+MmdLRCRVVpiJ/IuHcP/93+LA9h2AYLbvCRRKaLz84eEdgH4928LfPxghIaFXXyEICgpGUFAQvL11FpfHqG5ctpiOGDECI0aMuGnMz88PM2fOxMyZM52ZHpFbKs2/JC57+TWWMRP3UlaYidy0vchN3YOygsqf8YU6HVEBjS4IWr9G0OrD4KkPgadP5UvjHQCFsvIu4flzhjrlpi1y4WJKRM6XuvNrcZnPmdaNsaIEOef+Rs65XSjJSa31cZQeWnj7R8IrIALe/hHwCoiAVh8Gpdr53axUPRZTIiI7EQQBJdnnkHX6f8hN2wvBZLD5GJ6+YfAJbgZdcCx0QbHQ+oZdu5mGXBaLKRGJPH3D5E6hXhLMZuSdT0bGsc0oyU2zaV8PL3/4No6HPqwF9KEt4OHF+z3qIxZTIhLFdh8jdwr1itlkQM65v5Fx7BeUF2XVeD/vwBiMf+J+rDmghpd/OG8EcgMspkRENhLMZuSc+xsXD62FoTSvRvt4+UcgILoTAqI6wlMXhP/8Zyi2OGGkJXIOFlMiohoSBAEFl47gwoFVKMu/eNPtVR5eCIzthuC4JHj5NXFChiQXFlMiohooK8hA+t7lKMw4ftNtvQNjENK8NwIib+Fdtw0EiykRiUpyrt084x0YJWMmrsNsMiIj5RdcPrIBgvnG03L5NmqDsNZ3wie0Oa+DNjAspkQkStu9VFzmc6ZAUdZppO1eKg60UB2/8EQ0TrgL3gGRTsqMXA2LKRHRdQSzCZeO/IzLRzYCqH5qRl1QLMLbj4BPSJzzkiOXxGJKRCIvtqxw/vx5nNg6F8VXzlS7jUYXhPD2I+Af0Z7duQSAxZSI/iG6y0NypyCrLVs24a23XkNxfr71DRRKhLXsi8YJd/HGIrLAYkpEDZ7ZbMZnn32ChQs/q3Yb78BoRHV+kNdFySoWUyJq0EpLS/Hqq1OwZcsm6xsoFGgcfxcatRkAhZJj5JJ1LKZE1GBlZGTghRf+jaNHj1hd7+EdgNjuY+AT0szJmVF9w2JKRKLCzJPisj60uYyZON7Zs2cwbtwYZGZmWF3vF94O0V0ehtpT5+TMqD5iMSUi0YX9P4rL7vyc6fHjKfjXvx5Hbm6O1fWN4gehccJdvFOXaowXAIioQTl8+BCefPJRq4VUo9Hg008/RZO2g1lIySYspkQk8glpJr7c0f79ezFu3GMoKJA++hIcHIIvvliCoUOHypAZ1Xfs5iUiUcQt98qdgsMcOnQA//73kygtLZGsa9IkHP/3f18hIoKPvVDtsGVKRG7v7NkzePbZcVYLaVRUNBYt+oaFlOqExZSI3FpGxmU8/fRY5OXlSdbFxTXHokXfoFGjxs5PjNwKu3mJyG3l5+fh6aefwOXL0llfWrRohf/+90sEBATIkBm5GxZTIhLlX7o2eIFf43gZM6m78vJyPPvsv3DmzCnJuoiISHz66UIWUrIbFlMiEl06uFZcrs/FVBAEvPPOdBw8mCxZFxQUjM8++wLBwSHOT4zcFq+ZEpHb+e67b7FmzUpJ3MfHB/Pn/x8iI6NkyIrcGVumRCTSN24tdwp1tmfPLrz//kxJ3MPDA3PnzkerVm1kyIrcHYspEYnCE+v3gAWXLl3EpEnPw2QySda9/PJ0dO7cVYasqCFgNy8RuYWKigpMmPCc1WEC77//QQwbdo8MWVFDwWJKRG5h3ry5OHr0sCTeoUNHTJrkvoP2k2tgMSWiem/nzu1YvPhLSTw0NAyzZ38EDw+NDFlRQ8JrpkQkyk3fLy4HRHaQMZOay8vLxauvSluearUH5sz5BEFBwTJkRQ0NiykRiTKObhKX60MxFQQBb7/9OrKyMiXrxo9/Hm3bJsqQFTVE7OYlonpr9eqfsGXLZkm8c+euGD16jAwZUUPFlikRifwi2smdQo1dvHgB7733jiSu1/virbfehVLJtgI5D4spEYkaxw+UO4UaEQQBM2e+iZIS6ZRqr776JmeBIafjVzciqnd++WUT/ve/PyTxIUOG4c47B8iQETV0LKZEVK8UFBRY7d4NCQnF5Mkvy5AREYspEdUzH388B1euZEniU6a8Ar1eL0NGRLxmSkT/kH3ub3E5KMb1xrHdv38ffvjhO0m8T5/bcfvt/WTIiKgSiykRibKO/yYuu1oxNRgMePvt1yVxb29vTJnyKhQKhQxZEVViNy8R1QtLlizB6dMnJfHx45/n3bskO7ZMiUgUENNZ7hSsMlaUYM6cOZJ4fHxbPPDAQzJkRGSJxZSIRGEt+8qdglWXj2xAXl6eRUyhUODll1+HSqWSJymif2A3LxG5tLLCTGSd/F0SHzx4KNq0SXB+QkRWsJgSkUu7eGAVBLPJIqbVajF+/AsyZUQkxWJKRC6rMPMk8s4nS+KPPjoWYWFhzk+IqBq8ZkpEoiuntonLwc16ypgJIAhmXNj/oyQeEhKCxx4bK0NGRNVjMSUi0ZXTrlNM884fQElumiQ+fvwL8PLyliEjouqxm5eIXI4gmHHp8DpJvFWrNhgyZJjzEyK6CbZMiUgUHCdva7RKbvo+lOVfksT/858JnKeUXBKLKRGJ5O7aBQDBbMalw+sl8S5duqBbtx4yZER0c/yKR0QuJTdtD8oLMiTxiRMncvxdclkspkTkMgSzCZeO/CyJ+4Q2R1JSkgwZEdUMiykRuYyc1N0oL8yUxBsnDJYhG6Ka4zVTIhJlHP9VXHb2OL2C2YTLRzZI4vqwVtCHNndqLkS2YjElIlHuud3isrOLaW76fpQXZUnijdve5dQ8iGqD3bxEJDtBEJCR8oskrm/UGj7BcTJkRGQbtkyJSBTS8jZZzluYcRyluemSeKM2A2TIhsh2LKZEJAqK6SrLeTOObZbEvINi4BPSTIZsiGzHbl4iklVJbjoKM1Ik8bBW/fhcKdUbLKZEJKuMY9JrpZ76UPiHt5MhG6LaYTElItmUF2UjN32fJB7W8g4oOAYv1SO8ZkpEokv/eM6zcfxAh58v88SvgGC2iKk99QiMlefaLVFtsZgSkSj//AFx2dHF1FhRguzT2yXx0Ba3QanycOi5ieyN/ShEJIvsMztgNlVYxJRqTwQ37y1TRkS1x5YpEYnC2vR3ynkEwYysk39I4kFNu0Ot8XZKDkT2xGJKRKKAyA5OOU/BpaOoKL4iiYc0u9Up5yeyN3bzEpHTWWuV+jZuA61vmAzZENUdiykROVVZYSYKLh2RxEOas1VK9ReLKRE51ZVTf0piGl0wfBvFy5ANkX3wmikRiS4cXC0uhycOtfvxTYYyZJ/ZIYmHNO/NQRqoXmMxJSJR4aVj1944oJjmpO6GyVBqEVOoPBAU293u5yJyJn4VJCKnEATB6o1HgdFdoPbUyZARkf2wZUpEosaJQxx27OLssyjLvyiJh3CQBnIDLKZEJPJr7LibgLJP/yWJ6YLj4B0Q6bBzEjkLu3mJyOFMhlLkpu2VxIPjkmTIhsj+WEyJyOFy0/ZKx+H10CIg8haZMiKyLxZTInK4K1ZmhwmM7gylWiNDNkT2x2umRCQ6v+8HcTnilnvtcsySvPMoyTkniQc3ZRcvuQ8WUyISFWWdsvsxs89IW6VeAZHwDoyy+7mI5MJuXiJyGLPJgJxzuyTx4KY9ZMiGyHHYMiUiUXiHe+x6vLzzyTBVlFjEFCoPBER3tut5iOTGYkpEIn1oc7seL9vKjUcBkR04ATi5HXbzEpFDlBdnozDzuCQexBuPyA2xmBKRQ+Se2y2JeepD4RPSTIZsiByLxZSI7E4QBGSf+1sSD4zpCoVCIUNGRI7Fa6ZEJErd9a24HN3loVofpyQnFeWFGZJ4YHSXWh+TyJWxmBKRqDQ33S7HybHSKvUJaQZPnyC7HJ/I1bCbl4jsymwyWh3UPjCmqwzZEDkHW6ZEJIrq/GCdj1Fw+SiM5UUWMYXKg4Pak1tjMSUikT2G+LPWxesfngiVxqvOxyZyVezmJSK7MVaUIP/CIUmcXbzk7lhMichu8tL2QTAbLWJqTz18G7WWKSMi52AxJSK7sfpsaXRnKJQqGbIhch5eMyUi0dkdX4rLsd3H2LRveXE2iq+clsQDY/hsKbk/FlMiEpUXSAdaqKm8tH2SmNa3EbwCIuuSElG9wG5eIrKLnLQ9klhAdGcOH0gNAlumRCSK7vZorfY7deqU1dGTAqI61jUlonqBxZSIRF5+jWu139q1ayUx74AoaPWhdU2JqF5gNy8R1YkgCFi1apUkHhDNVik1HCymRFQnpXkXcOrUKUk8IJLFlBoOFlMiqpNcKzce6YLjoNEFypANkTx4zZSIRKe3/Vdcjus57qbbC4JgfYaY6E52zYvI1bGYEpHIUJxr0/Yl2edQUZxtGVQo4M8ZYqiBqVUxPXv2LE6dOoXs7GwoFAoEBgaiefPmiImJsXN6ROTKctJ2S2L60Jbw0OplyIZIPjUupqdPn8ayZcuwceNGZGdXfhMVBAEAxIeyg4KCMHDgQIwcORJxcXEOSJeIHKlpz6dqvK0gmJGXtl8SD2AXLzVANy2maWlpmD17Nn755RdotVp07NgR7du3R1RUFPz9/SEIAvLz85GWlobk5GT88MMP+Oabb9CvXz9MmjQJkZEcSoyovrDlpqHiK2dgKMu3iCmUKvhHtLdzVkSu76bFdNCgQWjRogVmzpyJO++8E97e3jfcvqSkBJs2bcKSJUswaNAgHDoknduQiOq/3HTpWLz6Rq2h1tz43wgid3TTYvrhhx/ijjvuqPEBvb29MXz4cAwfPhxbtmypU3JE5JoEwYy8dCtdvLzxiBqomz5nakshtee+ROS6irPPwlAq7eL1C0+UKSMiedl8N6/ZbIZSeeManJeXB39//9rmREQyOfX7PHG5WZ/x1W5n7cYjfVgrdvFSg2XzCEgPPfQQLl++XO36nTt34u67765TUkQkD2N5kfiqjiCYrV4v9Y/s4MjUiFyazcV0//79GDp0KDZv3mwRN5vNmDt3LsaOHYusrCy7JUhErqUkOxWG0jyLmFqthn94O3kSInIBtRq0oaCgAP/5z3/wwAMPYNq0acjKysKECRNw4MABCILAyYCJ6qm4W5+56TbWWqVJSUko9NQ5IiWiesHmlum4ceOgVCohCAK+++47DB06FMOGDUNycjIEQYCfnx8++OADR+RKRA7modWLL2sEQbB6F+/gwYMdnRqRS7O5mL7wwgtYtmwZYmNjIQgCzp49i8LCQigUCvTo0QNr1qzBwIEDHZErEcmsJCcVFSU5lkGFEgMGDJAnISIXUasp2Nq2bSv+z1PVpatSqXDvvfciLCzMftkRkUuxOlBDaAsEBnK6NWrYbC6m586dw6hRo7BgwQIoFApxfF6TyYQJEyZg8uTJKCqq/k5AIqqfquvi5UANRLW4AWnYsGEoLy+HIAgIDg7GjBkzcPLkScydOxdGoxFr167Fnj17sHXrVkfkS0QOdOLXa/c7tOj7osW60rzzVqdb84vgXbxENrdMy8rKIAgCkpKSsHr1avTu3Rtjx47F8uXLER0dDUEQcOnSJUfkSkQOZjZWiK/r5Z0/IIn5hDTjdGtEqEUxVavVmDx5Mr744gsEBQWJ8YSEBKxcuZIDNhC5qbzzyZIYZ4ghqmRzN++yZcvQtm1bq+u8vb3x3nvvoXfv3nVOjIic7/qu3SplBRkoy78oiXOgBqJKNhfT6grpP/GZM6L6SanWWI3nXZB28XoHxtg0/ymRO6vVozFE1LDkpSdLYv688YhIdNOW6ejRo+t8EoVCga+//rrOxyEi56soyUVJzjlJnNdLia65aTGteo60LuxxDCKSh7W7eLV+jaH15QAtRFVuWkyXLFnijDyIyAWkbHpXXG7VfwoA3sVLVBO8ZkpE1TKWF6Eo66QkzmJKZInFlIiqlXfhIHDdZRqNLghe/hEyZUTkmmo1n2lNGQwGjB07FosXL3bkaYjITqq6dqtU18XLOYuJLDm0ZSoIAnbv3u3IUxCRg5gMZSi8nCKJ+0e2d34yRC6uzi3TGz06w7t4ieqvgstHIZiNFjG11he6oFiZMiJyXXUupsnJyRgzZozV+QyNRiP27NlT11MQkQysPRLjH54IhYK3WhBdr87FtGXLlmjbti3uuOMOybry8nK8//77dT0FETlJ1WwxZrMRBRcPS9b7cSxeIqvqXEyHDRtW/cHVaowfP76upyAiJ6maz9RkKIXJUGqxTqnWQh/WQo60iFxenYvpQw89VO06lUrFYkpUD11fSAHAr0k8lCoPGbIhcn02X/zYunUrPv/8c1RUSCcPJqL6TanWQKHysF5M2cVLVC2bi+miRYvw+++/Q6ORTtVkMplQXFxsl8SIyPla9H0RER3ugWA2WcQVShX8GsfLlBWR67O5mJ48ebLayb9VKhWGDh2K+fPn1zkxIpKHtbt49WEtodJ4yZANUf1gczEtKytDUFBQtev79euHX375pU5JEZF88i4kS2Ls4iW6MZuLaWRkJI4fP17t+piYGJw/f75OSRGRPMoKLqO8IEMS9w9PlCEbovrD5mJ6++23Y8WKFdUWzNJS6Y0LRFQ/5JyTDv+pC4qFh5efDNkQ1R82F9MxY8ZAp9Ph0UcfRXJyssU6QRCwceNGREVF2Ss/InKizOO/SmJ+EeziJboZm58zDQgIwKJFi/Dkk09i1KhRaNeuHdq3r5xFYvv27Thx4gSmT59e64TWrVuHzz77DOnp6QgPD8e4ceNuODDE6tWrMXnyZEn8oYcewmuvvVbrPIgaGkNpPswm6SNv/rxeSnRTtRq0oUWLFli3bh0WLFiAtWvXii1UDw8PPPLII7j//vtrlcyGDRswceJEjB49Gr169cKWLVvw0ksvQavVYsCAAVb3SUlJQXR0NN577z2LeHBwcK1yIGqo8i4clMS0vo2g9Q2TIRui+qXWIyDp9XpMmjQJkyZNQnZ2NgoLC9GoUSNotdpaJ/PBBx9g4MCBmDZtGgCgV69eyM/Px0cffVRtMT1+/Dji4+PRvn37Wp+XiID8C9JHYvx44xFRjdhl+oegoCDExMTUqZCmp6cjLS0Nd955p0W8f//+OHPmDNLT063ul5KSgpYtW9b6vERUOXxgYcYJSdyf10uJasRl5lI6c+YMACA21nKuxOjoaADA2bNnJftkZmYiOzsbR48exYABAxAfH4/+/ftj1apVDs+XyJ0UXJLOXeqh9YN3YLRMGRHVL3Ue6N5eCgsLAQA+Pj4WcZ1OBwAoKiqS7JOSkgIAOH/+PCZNmgRPT0+sWrUKL730EkwmE+655x4HZ03kHqyNeuQXwblLiWrKZYqpIAgAAIVCYTWuVEr/p05ISMCCBQvQuXNnsQj37NkT2dnZ+Oijj2wqpkFBPjffiMgNmU1G5F+yNnep610vDQnRy51CvcOfme1q8zNzmWKq11cmf30LtGrg/Kr1/xQYGIjbbrtNEr/11luxfft25OTkIDAwsEbnz84ugtks2Jq2S+P/RFQTRVknYTaUXRdVQB/qenOXZmUVOvwc7vb/jTN+Zs7irN9NVlYhlEqFTY2sWvXhCIKAixcvitOwmc1mi/e1UXWtNC0tzSKemppqsf6f9u/fjxUrVkji5eXlUKvVVgswEVmy1sWr8vDi3KVENqhVMc3Ly0Pfvn2xd+9eAEBOTo7F+9qIjo5GREQENm7caBHfvHkzYmJi0KRJE8k+ycnJeOWVV8Rrp0BlYd+0aRNuueUWeHjwHwOiGxEEM/KtPF+q0fM5bSJb1Lqbt+paZnXva+OZZ57B1KlT4efnhz59+mDr1q3YsGED5s6dC6CyaKelpaFZs2bw8fHBiBEjsGTJEowfPx7PP/88dDodli5dihMnTuDbb7+tcz5E7q4kJw2G0jyLmEKpQos+/5EnIaJ6yqVu1RsxYgTeeOMNbNu2Dc888wx27dqFWbNmYdCgQQCA33//HQ888ACOHDkCAPDz88OSJUuQmJiImTNn4vnnn0dJSQm++uortGvH5+OIbsZaq9QntAXnLiWykcvcgFRl5MiRGDlypNV1I0aMwIgRIyxi4eHh+OCDD5yRGpHbybMy6hHH4iWynUu1TInIecoKM1GWf0kSd8VHYohcHYspUQOVb+UuXq1fE5gMpSi1UmSJqHospkQNlLUuXlN5MVJ3fo3UnV/LkBFR/cViStQAGUrzUXxFOt61SuMtQzZE9Z/L3YBERI6Xf+EQAMvH2Tz1YfAKiJAnIaJ6jsWUqAGyehdvRDuEtxvm/GSI3AC7eYkamMq5S49L4nwkhqj2atUy9ff3x6+//oqQkBAAlQPO//M9EbmuaucuDeLcpUS1VatiqlAoEB4eLr5XKpUW74nIdXHuUiL74zVTogbEbDIg/6J07tKqLt6SnGuzNnkHRjktL6L6jsWUqAEpyjwJs9Fy7lKlhxY+V+cuTdu9VIy36j/FqbkR1Wfs1yFqQPLOJ0tifo0ToFTxezVRXdhcTGfMmIGioiJH5EJEDiSYzcizMkuMX8S1sXi9AiLFFxHVnM3FdOnSpejXrx+WL19ulzlMicg5irPPwlhWYBFTKNXwa5wgvo/u8pD4IqKas7mYrlmzBgkJCZg+fTqGDRuGv//+2xF5EZGdWevi1TdqBZWH1vnJELkZm4tp06ZNsXDhQixYsABlZWV47LHH8Nxzz+HChQuOyI+I7EAQBKvFNCCig/OTIXJDtb4BqU+fPli/fj0mTpyI7du3Y9CgQZg7dy5KSkrsmR8R2UFp3nlUFGdbBhVK+IW3lSchIjdTp7t51Wo1xo4di82bN2Pw4MFYuHAh+vfvj1WrVtkpPSKyh7z0ZElMH9Icak8fi1hh5knxRUQ1Z5dHY/Lz89GlSxd07NgRWVlZmDp1Ku6//34cPCi9c5CInM/qIzER0rF4L+z/UXwRUc3Z/HBZVlYWDh48iIMHD+LQoUM4fPgwCgsLAVQOM9i8eXMkJiZi165dGDlyJMaMGYOJEydCoVDYPXkiurmyggyUFVySxP2tFFMiqh2bi2mvXr2gUCggCAL8/PzQoUMHtGvXDh06dEBiYiJ0Oh0AwGg04osvvsDHH38MhUKBiRMn2j15Iro5a61S76AYaLwDJHGfkGZOyIjI/dhcTO+//37ccsstaNeuHWJjY6s/sFqNcePGoaioCCtXrmQxJZKJtWLqH9He6rYRt9zr2GSI3JTNxfTNN9+0aftWrVrhypUrtp6GiOzgwoULKMlJlcSrK6ZEVDsOH5u3Z8+emDNnjqNPQ0RWbNy4URLT+jWBVh8qQzZE7uumxXTHjh21Pvj27dvh5+eHu+66q9bHIKLaW79+vSTGVimR/d20mD7xxBMYPXo0fvvtN5hMppse0GAw4JdffsHDDz+Mp556yi5JEpHtDKX52LVrlyR+o2Kaf+mI+CKimrvpNdOVK1fi3XffxdNPP42AgAD06NEDiYmJiIqKgp+fHwRBQH5+PlJTU5GcnIydO3eioKAASUlJHLyBSEZ555Mlk1F46kPh5R9e7T6XDq4Vl/0axzssNyJ3c9Ni2qJFCyxatAj79+/H0qVL8euvv2L9+vWS50YFQYCPjw/69euHUaNGITExsZojEpEz5Kbtk8T8IzvwmW8iB6jx3bwdOnRAhw4dYDKZcOTIEZw6dQo5OTlQKBQIDAxE8+bN0aZNGyiVnG+cSG6GsgIUZZ2SxAMib7nhfvrGrR2VEpFbs/nRGJVKhcTERLY8iVxY5Vi813Xx+oTAyz/ihvuFJw51XFJEbszmYgoAV65cwYYNG3DhwgV4e3ujTZs2SEpKgpeXl73zI6JayEvfL4mxi5fIcWwupnv27MGTTz6JsrIyi5sb/P398e9//xujR4+2a4JEZBtDWSEKs05I4jfr4iWi2rO5mM6aNQsAMGPGDHTv3h1msxnJycn46quvMGPGDBw4cICDNBDJKO98MnDdXbwaXRC8AiLlSYioAbC5mJ48eRJjxozB8OHDxViTJk0waNAgrFixAq+99ho6dOiAhx9+2K6JElHN1KWLN/cf+wZEdrBrXkTuzOZbb3U6HZo0aWJ13X333YdBgwZh+fLldU6MiGxnLC9CYWbtu3gzjm4SX0RUczYX065du+KPP/6odn23bt2QlpZWp6SIqHYqu3jNFjGNdyC8A6PlSYiogbC5mN5///3Yv38/vv76a6vrz58/j9BQDqJNJIfctL2SmC138fpFtBNfRFRzNl8zfeyxx6BWq/Huu+9iy5YtuPfee5GQkACVSoXdu3dj8eLFnLuUSAaG0nzrXbxRNb+Lt3H8QHumRNRg2FxM//3vfyMlJQUpKSnYvXs3du/ebfGtt3Xr1vD19cWJEyfQtGlTqNW1epSViGyUm75PchdvVFQUvANj5EmIqAGxudI999xz4nJBQQGOHj2KlJQUHDt2DEePHsWJEycwadIkKBQKqNVqxMbGomXLlnj//fftmjgRWbLWxXv33Xdj+xUO1EDkaHVqNvr6+qJbt27o1q2bGKuoqMDJkydx7NgxscD+9ttvdU6UiKpXXpyN4itnJPFhw4Zh++fSrl8isi+798FqNBrEx8cjPp7TNxE5i7VWqda3MVq1agWg5sU0+9zf4nJQTFd7pEbUIPCCJpEbsFZMA6I62jwWb9bxa71ILKZENcf50ojqubKCDJTmpkviAdGdZMiGqGFiy5SonrPWKvUOiIJWb/vz3gExne2RElGDw2JKVI8JgoCctN2SeEB0x1odL6xl37qmRNQgsZuXqB4rzbuA8oIMSTwgsnbFlIhqh8WUqB7LSd0liemC46DRBcqQDVHDxWJKVE8JZjNyU6VdvIG88YjI6XjNlKieKsw8DkNpvmVQoURAVO27eK+c2iYuBzfrWevjEDU0LKZE9VTOPwZYqOLXJAFqT59aH/PKaRZTotpgNy9RPWQylCEvPVkSD+RAC0SyYMuUqB7KO38AZlOFRUzl4QW/Jgl1Om5wHFujRLXBYkpUD1nr4g2I6gilyqNOx2XXLlHtsJuXqJ6pKMlDYcZxSZxdvETyYTElqmcqny21nARcowuGLripPAkREYspUX0iCILVLt7AmC42zxBDRPbDa6ZE9Uhp3nmU5V+SxANjutjl+BnHfxWXOU4vUc2xmBLVI9lntktiuuCmtZohxprcc9dGVGIxJao5dvMS1RNmYwVyzknH4rVXq5SIao8tU6J6Iu98MkyGUouYQuWBwCj7zUEa0vI2ux2LqCFhMSWqJ66c+UsSC4jsCJXGy27nCOLjNUS1wm5eonqgrDATRZknJfHguB4yZENE12MxJaoHrN145KkPgy44ToZsiOh6LKZELk4wm5B9dqckHhzXg8+WErkIXjMlcnH5Fw/DWFZgGVQoERjTze7nunRkg7jcOH6g3Y9P5K5YTIlcnLUbj/zD28FDq7f7ufLPHxCXWUyJao7dvEQurKIkDwWXjkjiQbzxiMilsGVK5MKunN4GCJaD2nt4B8A3rLVDzhfWpr9Djkvk7lhMiVyU2WSsLKbXCYrtDoXSMZ1KAZEdHHJcInfHbl4iF5V3PtnqjUecwJvI9bCYErmorJN/SGL+Ee2h8fJ3fjJEdEMspkQuqCQ3HcVXTkvioc37OD8ZIropXjMlckFZJ36XxLz8w6ELceyIRxcOrhaXwxOHOvRcRO6ExZTIxRjLi5CTtkcSD2l+q8NHPCq8dOzaGxZTohpjNy+Ri8k+swOCyWARU3l4ISDaflOtEZF9sWVK5EIEsxlZp/6UxIOa9oBK7enw8zdOHOLwcxC5IxZTIheSf/EgKoqzr4sqENKst1PO79c43innIXI37OYlchGCIODysc2SuG+TeHjqQ2TIiIhqisWUyEUUZ51GSfY5STy0xW3OT4aIbMJiSuQiLqdIW6Ve/hHQh7WSIRsisgWvmRK5gNL8iyi4eFgSD2vdz6kTgJ/f94O4HHHLvU47L1F9x2JK5AIyUrZIYhrvQARE3uLUPIqyTjn1fETugt28RDKrKMlFbupuSTy0VV8olCoZMiIiW7FlSiSzzBO/QTCbLGIqjQ5BTZ0/AXh4h3ucfk4id8BiSiQjY0UJrpySzlka0vxWpwzScD19aHOnn5PIHbCbl0hGmcd/hdlYZhFTqDwQ0vxWmTIiotpgMSWSibG8GJnHf5PEg2K7wUOrlyEjIqotFlMimWQc3yJtlSpVaNS6v0wZEVFt8ZopkQxycnKszlka1DQJGl2g8xO6KnXXt+JydJeHZMuDqL5hMSWSwWeffQazsdwiplCq0aiNvK3S0tx0Wc9PVF+xm5fIyQxlhfjyyy8l8eBmPaHxDpAhIyKqK7ZMiZws49hmlJaWWsQUKg+XuFYa1flBuVMgqpdYTImcqKIk1+rk3yHNesPDy0+GjCx5B0bJnQJRvcRiSuREFw+ugWAyWMSUKg3CWveTKaOaiWvkidvbB8BHq4K1cfePHDmKF4eHOzSHI0eOwmw2O/QcAJCZqXT4ZwHc62fmLPb43QgCUFRmwtbkXJy+XH7zHWqIxZTISYpzUpFz7m9JPKT5rfDQ+sqQUc3ENfLE3d1DodcHAlDDWjVt0sQfJaY8h+bRpIk/jEbHFwa1WunwzwK418/MWezyuxEE6H2NuLu7B9bsyLRbQeUNSEROIAgCLuz/URJXaXQIk/kO3pu5vX1AZSFVeFgtpET1ikIBKDyg1wfi9vb2u+GPLVMiJ8i/cMDq9GZN2g6GWuMtQ0bWnd1x7S7j2O5jAAA+WhX4TwW5H/XVv9v2OhoROZTZZMCF5JWSuKdvGILjesqQUfXKCzIkMYUCbJGS+1Eo7PrXmt28RA6WdfJPlBdlSeIR7UdwvlJq8ARBkDsFu2AxJXIgQ2k+Lh/5WRLv1asXfBsnyJDRjUV3e1R8NUQ//7wW3brdguxs6Zef2srKvIyH77sd2/78xSHb19UPPyzH0KH9cfvtSViy5CunnLPKkiVfYtmyJeL7L774L269tatTc7AXdvMSOVD6vhUwGUqviyrw2muv4aUvTsqS0414+TWWOwW34x8QiOnvzENYo5o90mHr9nVRWlqKTz6Zi+7dkzBy5MNo0sTx5/ynzz9fgNGjHxffDxkyDN26JTk1B3thMSVykPyLh5GXvk8SD2raA23atAHgesWU7M/DQ4NmLdo4bPu6KCoqhMlkQq9efdC+/S1OOeeNhIaGITQ0TO40aoXFlMgBTMZypO9ZLomrNDqEtxsqQ0Z0PbPZjMWLF2HNmpXIz89Dly7d0K5dB8l2KUcPYMXyRTh7+gQ0np7o1KUnRj3yL+h0PuI2Fy+k4btvF+LY0QNQQIFWbRLx4Oh/IaxROLIyL+OFZx7Ev56dip69+8FsNuPH777Erh2/ISsrCwEBQejW83bcc/9jUKvVku0B4ML5VHy/9HOcPH4E5eVlaNk6ESMffhJR0XEAgKNHkjFj+ouY9vocrP7pW5w8fgReXt64++6heOKJp6FSSa/N//zzWsyY8QYAYObMNzFz5pvYtm0P7r13CDp16oIpU16VbPvTT+sRGhqGd96ZjuzsbNx+e198883XyMi4jOjoWDz99LPo2rW7uF9a2jl89tk87N+/FwqFAu3bd8D48S8gPDwCPXt2AgB8+eVCfPnlQmzbtgdffPFfLF68CH/8ce157I0b1+P775ciLS0Ver0vOne7Ffc+8Dg0np4AgP/Om4W8vBx07X4r1q5ahuwrmWgSHoWRDz+FxPada/33w1a8ZkrkAJcOrUNFSY4kHtHhHqg9fazsQc726acf48svF2LIkGGYMWM2/Pz8sWDBPIttUo4ewMw3J0Gr9cazL76OUY+MQ/K+v/He25NhMpkAADnZWZj+8nhkZV7C2HEvYtz4l5CVeQnvvjkJZWXXd/ED61Yvx5ZNazB27FN46ZX30Lf/3Vi/ejnWrPxWsi0ApKeewWtTnkZebjbGPPU8/vXsFBQW5uPNV57DhfRzFtvO//BttI5vh4lTZ6B7z75YsuQrbNiw1upxu3fviXff/QAA8OijY7FggXTyhRs5evQQli//Fk888S/MmDEbKpUKr7wyGUVFRQCArKxMPPXUGFy8eAGTJ7+Ml1+ejosXL+L55/+N0tJSLFjwJVQqFQYPHlrtub/44r94553paN/+FsyYMRujRj2Mrb+sw5xZL1vcuHT65FH8vHYF7h05Bi9MfhMqlQofzX4dJcVFNn2mumDLlMjOSnLTkXniN0lcH9YSgTGufXPF6W3/FZfjeo676fabfl6JzRtXwtNDjVv7DkH/QcMt1q9ZuRR//LYRADBk2Cj0uX2gxfoVyxZh547fAQD3PjAG3ZNus1j/zVefYv++nQCASRMmols3y0eJ3n9/JmJjm+Leex+o2Qe8qrCwED/8sByjRj2CMWOeBAB07dodWVlZ+Pvv7eJ23y39HOER0Zgw5R0olZVtj5iY5njlpXHYuf03JPW6AxvX/wCT0Ygpr86Gr58/AKBxk0i8+9YknDt7EkFBoRbnPnbkAGLjWmDw4LtxKj0PrePbQaPxhLfO+peslT8shqfWC1NfnwOt1gsA0DaxM1589mH8+P1XeG7CdHHb2/sNwbB7HgEAtEnogIP7d+Cvv7Zh8OBhkuMGBASgRYuWAIDw8AgkJLS16WdYVFSERYu+Fa+zenl5Yfz4p7B//x706tUH3323FCaTER9++CkCAioHR4iKisYLLzyDEydSxF6AkJBQq+cuKMjHt99+jeHD78Vzz00AAPTo0QNmlQ/mzX0Tyfv+RoeO3QAAJSXFePu9/0NoWOU1f09PLd5+/QUcO3oAHTs75xosW6ZEdmQ2GZG66xtAsBzCTaHyQGSnUVC4+POahuJc8eXOjhw5BKPRiJ49b7WI3377HeJyeXkZTp04hg4du0EQBJhMJphMJkRExSI4OAyHD+wFABxPOYwWrRLEQgpUFtOPPluOVq0TJeduk9Aehw/uxbhxj2Pd6uW4kH4Odw4cLnbpXi/l2CHc0qm7WEgBQOvlhVs6dcexIwcstm3RKt7ifWhoqNXWsT0EBQVb3LAUElL5paG0tAwAcPBgMtq2bScWUqCymP744zqr3enXO3LkMCoqKnDHHZYjhHXp1htqtQeOHUkWY/4BQWIhBYDAoBAAQHlZme0frJbYMiWyo0uH11mdYLtxm4HQ6kOt7EFyKCgoAACLf+iBygJRpbioEIJgxuqfvsXqn6RdsGG5lYWkqLAAjWy48/auux+AVuuFnds247tvF2L5N/+HiMgYjH78WbRJkBaZ4qIC+PkHSuJ+fgEoKSm2iGk0Wov3CoUSZrNjnuPUai3PVdVyF65+kSwoyEdkZGStj19YWPk7+ufvpOo8el8/lP7js2s0nhbbKBSVuZgF541LzGJKZCeFmSeQcUz6bKDWrzFCW91hZQ/X07TnUzZt33/QcPQfNBzNIv1xKj1Psv7u4Q/i7uHVz5F636jHcd+ox6td//Bj/8bDj/0bANAsUjpo+6RJU23Kt4q/vz8AICcnG+HhEWK8oCBfXPby1kGhUGDQkPvRtUcfyTGqWore3jqL/aocOrAbTcKjJXGlUol+A4bh6Scfw97DZ3Fg399Y/dO3+Gj2dMz/XDp+s06nR36e9Pp7Xm4O9L72n7ZPoVBIZpopLS2x+Tg6nQ9yc/Mk8V27diI6OgZhYY1uuL9erwcAZGdfsfgdmc1mFOTnwccBn70u2M1LZAfGihKc2/k1gOtaAQolors8AqWqfnxv1egCxZc7S0hIhKenJ377bYtF/K+/rs016+XljeiYZrh86TyaxrUUX40aR2DFsi9w6uQxAECLVgk4efwwiq62pADgStZlvPfOFIuuyCpvvvofLF5UeaOTn18Aet82AP0GDENxcSHKy6Xdkq3aJGL/nh0W3bVlZaXYv3cHWrSy/8Af3t46ZGRYDit58GCyzcdJTGyPQ4cOWHzRuHz5EiZMeBb791d2kVe1Zq2Jj28LjUaDLVs2WcR37fwTJpMRLR3w2euifvwfTuTCBEFA+p7lMJRIrzM2TrgLuqAY5ydFN+Tt7Y3HHnsCCxd+Bk9PLTp06Ijt27fhr7/+Z7HdfaMex+yZL+O/82ahW9JtMBoNWLtyGdLTzuDB0U8DAAYOvg/b/vgF773zEoYMfxBKpRI/ff81GjeJQqeuvVB4Xau1dXw7rFu1DE2jGyOwURxyc65gw9oViG97C3Q6H8kdqMPvHY3Xpz2DmW9OxOChIwEIWLf6O5SVlWL4vaPt/rPp0aMnvvnmKyxZ8hXi4xOwbdsf2Lt3j83HeeCBh7Bx43pMmPAsHn54DJRKBRYt+j9ER8fg1ltvBwD4+Ohx+PBBJCfvk1xH9fX1w6hRj2Dx4kVQq9Xo3j0Jqaln8cV/F6BVm3ZIbN/FLp/XXlhMieooJ3UXctOk/9joguPQqLVrT6/WkD3yyBh4eXnh+++X4bvvvkVCQiLGj38es2e/K27TrkNXTH75XaxcsRgfzX4dHh4aNG3WCi+/MReRUbEAgOCQMLz61odYtuT/sOCTmdBoPBGfeAtGPfIvaLVekmJ6z32PQqVSYd261cjIyICXtw86duqBBx560mqekdFN8eqbH+G7pQux4JOZUCpVaNm6LV5/Z56Ygz2NHv048vLysHTpYhiNRvTokYQpU17FlCkv2nScRo0aYf78hfjss4/x9tuvwdPTEx07dsEzz/wHXl6VXeRjxz6FBQvmY+LE57B0qbSL+8knn0ZgYCB+/PF7rFz5AwIDg3B7v8EYcf+jN2zVykEhuMsow3WUnV3ksAv1cgkJ0WPIhNUOP8/aOUMb7HlK8s7jxC+zYTZVWMSVHlq07v8yPH2C6nyOurDHeV4cHg4f3xsPM1jdNVN7snbN1BHUaqXDPwvgXj8zZ7H376ao4BI+WHnBIrZ2zlBkZRVCqVQgKKjmz4SzZUpUS8byYpz5338lhRQAojqOrLaQurJTv18btKBZn/EyZkJUv7CYEtWCYDbj7I5FqCjOlqwLiOqEwBjXup5TU8Zy540YQ+ROXKvTmaieuHhwNQovH5PEtX6NEdW5+kdBiMg9sWVKZKOc1N3ISJE+T6ry8ELTnuOg8tBa2at+iLv1GblTIKqXWEyJbFBwOQWpfy+2skaBmB6P1/tRjjy0erlTIKqX2M1LVEPFOak4s+2/EMwmybomiUPg1zjeyl5E1BCwmBLVQFlhJk7/MR9mY7lknX9kB4TxeVKiBo3FlOgmKkrzcOr3T6ze6aoLjkNM10ddfjYYInIsXjMluoGK4hyc/O0jq4/AaP2aIK7301CqNTJk5hgnfv1AXG7R17YRb4gaMhZTomqUF2ZVFtIS6YwdGu9ANOszHmqNtwyZOY7ZKB2AgohujsWUyIrS/Es49dvHMJRJp9ZSe/qgWZ9nofHyd35iROSSWEyJrnPgwAGc3DrX6jVSlUaHZreOh9Y3TIbMHI9du0S1w2JK9A+5afswYsSLMFqZV1LtqUez256Ft3+ElT3dgztd/yVyJt7NS4TKOUkvHf4ZZ7d/jrIyaSH18PJDi74vuHUhpRv7YfmXePWlf8ly7j9/34Rnx91vdfJwcg0sptTgmYzlOLfjS1w6vM7qeo0uCC36ToDWt5GTMyNXkX0lEz+v/R73jhwjy/l79roDnp5arFu9XJbz082xmFKDVpJ7Himb37U6uTcAePlHoEXfF+HpE+zkzMiVbPr5R/gHBKJdh66ynF+pUuH2fkOw+eeVqCiXDhxC8uM1U2qQBEFA1snfcSF5JQSz0eo2fuHtENP9MajUnk7OTj4pm94Vl1v1n1Ltdnl5Ofh4zps4dGAPDAZ5H6fRaDTo3Lkb3nprJgIDbZtDdsaMN/Dzz2urXa9SqfDZolX487dNuKP/UIt1KccOYsb0F2E2mxEb1xLT35kHlUqFs2dOYPq08TCZjIiIjMWbMz/FkcP7MefdaQCAYfc8IrZwZ8+chuR9O+HtrcOCL1dDqVTi6JFkzJheeSPY4KEjMfLhpwAAPXr2xbIlC7Bzx+/o3YcjbrkatkypwakoycOZ/y3A+X0rqi2kYa37o2nPJxtUIbXFx3PexL4922UvpABQUVGBv/76E6++OtXmfUeNegSJie0RERGJBQu+xIIFX+Lzz79CYFAI2rbrjDdmfoq01NMoKipAq/h2Fvu2ap2Ie+5/DABw9vRxrPpxCSoqKvDZxzNhMhnh6anFsy++Bo2nJ1q3aQeVqrLtknL0AADAbDbjxPHDAICSkmKknjsFADh2JFk8R3zbDuKyf0AgGjeJwoF9f9v8Ocnx2DKlBkMwm3Hl9P9w4cBqmI3Wb+RQqDwwd877WLyTd7XeyPGUQ3KnIHHwYLLN+8TGNkVWVhYSEtoiIaEtAMBgKEduTjb63nk3YmKbi9cpY2KaSfYfMvxBHDt6AIcP7sWan77F2dMncPFCKgDg0bHPITwiGgCg9fJCXPPWOJFyCKdPHYPBUIGTJ0+gpLgICoUSgmBGytEDiG3aAseOVBZbDw8PtGyVaHG+mKbNLYotuQ62TKlBKMk7jxO/zkH63u+qLaRavyZodedLuO+++5ycneto1X+K+LqRlq3aOimjmktMbG/zPkVFRbh06QKaN28hxk6cOA5BMCM6Jg4AkJtzBUqlEjof6fR0SqUSTz83DX7+gTCZTEjetxMA0LN3P/S+bYDFtlWtTIPBgNMnjyE5eR8AoHO3XgCAlKMHYTBU4PTJyknnm7WIh8bTsmfE19cf+Xk5MJvNNn9WciwWU3JrFSV5SN31DVI2zURx9tlqtwtu1hut+k2Gl18TJ2ZXfz034TXc0qkHPDzkb8FrNBokJfXGW2/NtHnfkyePA4BFMT1+PAUAEH21JVpRUQEPD021kxn4+QXg1tsGWsTuuvsByXYJbTuKy8eOHsS+fXsBAAPvuhdaL2+kHD2Ik8ePiF3nCW1vkRzDQ6OB2WyG0Wj98gTJh9285JZMFaW4nLIZmce3QjAZqt1O7alHVOdR8I9o77zk3IC/fyBee+tD8X2zSH+cSs9z6DmbRfrDaLRvi+zkyROVx27WUoylpByDr18AAgIr7+DW6/1QXl4Gg6HC6peH1HOnsWHdCovY5wtm49W3PoZafe2f2LjmraHVeqGsrBQpRw/gQvoZaLVeaNqsFZq3iMehA7ux6eefxO3jrRTT4qJCeHpqodHI/yWGLLFlSm7FUFaICwdX4/DaV5BxdNMNC2lQ0yS0GfQaC2kDdvLkcYSEhCIgIMAiVtXFCwBNIqIAAJmXL0r2Lystxby5b8JgqICXlw4DB1deIjh9KgXfL11osa1arUbL1pXXQI8eTkZeXh6at0yASqVC66s3N+3bsx0A4OWlQ9O4lrheZsZFRETG1OETk6OwmJJbKCvMRNqe5WIRNRlKq93WUx+G5re/gOguD0HtqXNilq7PbKwQXw3ByZMnLLp4AeDy5UvQ6a5dH20d3x4AcOrqtcx/+urzD3HpYjoA4LEn/4MHR/8Lbdt1AgBsWPeDeA21SlVrUxDMV49dWURbtUm8GhfEuFKlstjXbDbjzKkUMR9yLSymVG8JZhNy0/fh5G8f4+j66bhy6s8btkRVHl4Ibz8crQdMgz60uRMzrT9O/PqB+HJ3RqMRqaln0ayZZTHt2LEzdv/9P3yxYA4AICgoBK1aJ2Lv7r8stvvjtw3Y9ucvAIBuSbchqdcdUCgUGPfMFPj6+kMQBPzf/PeQm3NF3Cch0bLrttXVlmrTuFbw9NRWux1Q+chMSUkxknrdUYdPTY7Ca6ZUrwiCgJLcNOSm7kFO6m4Yywpuuo9CqUZIiz5o1Lo/W6IkUqvV+O23HZL4u+/Ollz/vXPgcMz/6B3k5+fCz6+yS/jW2wZKbjwCKp8H/fSLnyRxAIiKjsM3K7YCsLzOrFar8cU3P98w3//9sRktW7dFZHTTm300kgGLKbk8QRBQmnce77//Po7+vBTlhZk12k+hVCMwpisaxQ+Ap862kXEaKs4aY13nbr0Rs+Y7rF+9HA+Oftrp58/MuISdf/2GadPnOP3cVDMspuSSTIZSFGaeRMHFw8i/eAiG0nykbKrZvkq1FiHNeiG05e3w8PJzbKJuhvOZWqdQKDD2XxNwMHm3LOfPvpKJ0Y8/ixYtE2Q5P90ciym5BGNFCUqyz6Ew8wQKM06gJDcNEGx7DMJTH4rguCQENU2CWuPtoEypoYqKjkNUdNzNN3SA1vHtxJuVyDWxmJLTmYzlKMu7iJK8dJRkp6I4+yzKCi7X7mAKJfwj2iOkWS/4hDaHQsF76ojI+VhMyWHMxgqUFWagrOCy+CrNu4DywiwAQh2OrIBPaDMERnWGf2R7qD197JUyEVGtuFwxXbduHT777DOkp6cjPDwc48aNw7Bhw6rdvri4GLNnz8bmzZtRUlKCTp064eWXX0ZMTIzTcm6oTIYyGErz8eeff+LKme2oKM5BRXE2youuoLwoq0Z32taUQqlCr55JOFMUBv+IDtB4+9vt2HSNoaxQXPbQSseiJSLrXKqYbtiwARMnTsTo0aPRq1cvbNmyBS+99BK0Wi0GDBhgdZ8XXngBhw4dwuTJk6HT6TBv3jyMHj0a69evh17PfwxqShAEmI3lMFWUwFhRLP5pLC+CsawIxvJCGMoKYSwrhKEsH4bSfJiNlZMUj7rxHf21ptEFQR/aAr5NEuDbqDWWffwAhkxY7ZiTEQDg9B/zxeWqwe4F4ep/qhmblqheEgQIdekgu45LFdMPPvgAAwcOxLRplZPo9urVC/n5+fjoo4+sFtM9e/bgjz/+wMKFC9G7d28AQKdOndC3b18sW7YMTz31lFPzdwRBEGA0GmE0GmAwVL4qKipQUVEBg6ECBoMB5eXl/3iVoby8HGVlpVCrgctH9sFkKofZWH51ZJtymAxlMBnKri6XXn1fArv+zaoFT30odEGx0Ie2gE9oC3j68HEWV1BUZoLe1wjAQ+5UiOzIiKIyk92O5jLFND09HWlpaXjxRctb8/v3748NGzYgPT0dkZGRFuv++usv6HQ6JCUlibHAwEB07twZf/75p03FdP78j5CTUzm1kXD1G4sgVC0L4pRHZrNZ3ObatmaYTGYIgllcbzKZIAgCTCaT+N7yTyNMJhOMxso/ry0bYTAYrxbQyiLqjjS6IHj5R8A7IALeQTHQBcZwQAUXYO3689bkXNzd3QN6fSAANVuoVL8JAgAjCgtzsDU5126HdZlieubMGQBAbGysRTw6unJy3bNnz0qK6ZkzZxAdHQ3VdWNYRkVFYcOGDTadf/36NTh//rytadONKBTQeAVA69tIfHn6hsHLP5yPrrioZn3GS2KnL5djzY5M3N7eAB+tymotvXgxH0UFJQ7N7eLFfKfM46lUKh3+WQD3+pk5iz1+N4JQ2duyNTkXpy+X2ykzFyqmhYWVNz74+Fh+M9bpKlsrRUVFkn2Kiook21ftY217si+FUgW11hft2sThdCag8Q6ARhcIjS4Ynj7B0OiCoFS5zF8xqoPTl8txemP1jy+tnTMUUxx8PXvtnKHIyiq8+YZ1FBKid/hnAdzrZ+Yszvrd1IbL/EtXNVvC9RPwVsWVSunzg8INrvFZ255uTKvVwtfXF/7+/ggICEBAQAD8/f0RFBSEoKAgBAcHIygoCKGhoQgLC0NAQACUSiXKDSZ4eqhufoI6KjeYsHbOULc4jzt9Fmedx2QyIyTE8TcVVvBn5rKc8bup7c/MZYpp1Z2317coi4uLLdb/k4+Pj9Wu2eLiYqst1vpKpVLBw8MDarUHPDzU8PDQQKOpfHl4aODp6QlPT09oNJV/arVaeHpqodVWvry9vaHVesHb2xteXl7Q6XTQ6Xyg0+ng7a2DXu8Lvd7H6sTH1TGbgezsYrt+zpAQvVt9i66v+HuQH38H8lMqFQgKqnkdcZliWnWtNC0tDS1bXpsUNzU11WL99fvs2LEDgiBYtGhTU1Otbn8jTz/9HIqLi6FQKKBQAAqF8urytZdSqbza4lVApapar4RCUVnwFArl1Xjln0qlStxHpapaVkGlUkKt9oBSqYRarYJKpYZarYZKpRL/rCqearWarWxymkuXLqKiwgfZ2UVo3LiJ3OkQ1RsuU0yjo6MRERGBjRs3ol+/fmJ88+bNiImJQZMm0v+xe/bsiQULFmD79u3iHb05OTnYs2cPxo0bZ9P5hwwZCrNZ3kdDiOQ2YcKzUKtVMBpNWLr0R7nTIao3XKaYAsAzzzyDqVOnws/PD3369MHWrVuxYcMGzJ07F0BloUxLS0OzZs3g4+ODzp07o0uXLnjxxRcxceJE+Pv745NPPoFer8eoUaNk/jRERNRQuFQxHTFiBCoqKrBo0SKsWLECkZGRmDVrFgYNGgQA+P333zF16lQsXrwYXbt2BQDMmzcP7777Lt577z2YzWZ07NgRH374Ifz8bJt6S6nks3OugL8HeSUkJEKjUaGiwsTfhcz485eXrT9/hXCjW2KJiIjopnhnCxERUR2xmBIREdURiykREVEdsZgSERHVEYspERFRHbGYEhER1RGLKRERUR2xmBIREdURiykREVEdsZj+Q05ODqZOnYqePXuiS5cuGDduHM6dOyd3Wg3apUuX0LFjR3z66adyp+L21q1bh7vuuguJiYkYOHAgVq1aJXdKDdr48eMtJv0g51m2bBkGDhyI9u3bY8iQIVizZs1N92ExvUoQBDzzzDP4888/MXHiRLz33nvIysrC6NGjkZ+fL3d6DZIgCJg2bZpkjluyvw0bNmDixIlISkrC/Pnz0aVLF7z00kvYuHGj3Kk1SKtXr8Yvv/widxoN0nfffYfp06ejT58++PTTT9GjRw9MmjQJGzZsuOF+LjXQvZzOnTuHffv2YdasWRg2bBgAIC4uDnfccQe2bt2K4cOHy5tgA7R06VKcOXNG7jQahA8++AADBw7EtGnTAAC9evVCfn4+PvroIwwYMEDm7BqWjIwMvPPOO2jUqJHcqTRIK1euRNeuXfHSSy8BAHr06IHDhw9j6dKlGDhwYLX7sWV6VXl5OQBAp9OJsaqZZ/Ly8uRIqUFLT0/H7Nmz8dZbb8mdittLT09HWloa7rzzTot4//79cebMGaSnp8uUWcP0yiuvICkpCd27d5c7lQapvLzcog4AgL+//03rAIvpVa1atULXrl0xf/58nD59Gjk5OXj77bfh7e2NO+64Q+70GhSz2YwpU6Zg4MCB6N27t9zpuL2q1n9sbKxFPDo6GgBw9uxZp+fUUK1YsQJHjhzBq6++KncqDdbo0aPxv//9Dxs2bEBRURE2btyI33//HUOHDr3hfg2im9doNGL9+vXVrg8ODkZSUhKmT5+OJ554Qpw/VaPRYP78+YiMjHRWqm6tpr+Hr7/+Gunp6ViwYIETs2u4CgsLAQA+Pj4W8apv57xm7RwXLlzAzJkzMXPmTAQGBsqdToN11113YefOnXj++efF2PDhw/HEE0/ccL8GUUzLy8sxefLkatd36dIFjRo1wsiRIxEVFYVp06ZBq9Xi+++/x3PPPYfPP/8cnTp1cmLG7qkmv4fGjRvjww8/xMcffwy9Xu/E7BquqimNFQqF1bhSyQ4sR6u62e7WW29F//795U6nQXv66aexf/9+TJ06FW3atMGBAwfw6aefwsfHB6+88kq1+zWIYqrT6XD8+PEbblPVrbJo0SLxWmlSUhIefPBBzJgxAz/99JPD83R3N/s9mEwmjBo1CgMGDEBSUhKMRqO4zmw2w2g0Qq1uEH9lnarqS8v1LdDi4mKL9eQ43377LY4fP461a9eKf++rvswYjUaoVCrJlx2yv3379mHbtm2YOXMmRowYAaDyS76vry9ee+013HfffWjZsqXVffmV86qLFy8iLi5OLKRA5Tf1jh074tSpUzJm1nBcunQJBw4cwKpVqxAfHy++AOCTTz4Rl8m+qq6VpqWlWcRTU1Mt1pPjbNq0Cbm5uejZs6f4937VqlVIS0tDfHw8Vq5cKXeKDcLFixcBALfccotFvKpn8vTp09Xuy6/5V8XGxmLlypXIz8+3KKgHDhxAeHi4jJk1HKGhofjhhx8k8XvvvRejRo3CPffcI0NW7i86OhoRERHYuHGjxSABmzdvRkxMDJo0aSJjdg3DG2+8IfYEVJk/fz6OHTuGefPmISIiQqbMGpaqL467d+9GTEyMGE9OTgaAG9YCFtOrHnvsMaxZswZjx47FU089Ba1Wi9WrV2PXrl2YO3eu3Ok1CBqNBm3btrW6LjQ0tNp1VHfPPPMMpk6dCj8/P/Tp0wdbt27Fhg0b+HffSZo2bSqJ+fv73/D/CbK/+Ph43HHHHZgxYwaKi4vRunVrHD58GPPnz0fv3r3Rrl27avdlMb0qIiICy5Ytw/vvv48pU6ZAqVSiRYsW+PLLL9GjRw+50yNyqBEjRqCiogKLFi3CihUrEBkZiVmzZol3thM1FHPnzsW8efPw1VdfITs7G+Hh4Xj88cfx1FNP3XA/hVB1lZuIiIhqhTcgERER1RGLKRERUR2xmBIREdURiykREVEdsZgSERHVEYspERFRHbGYEhER1RGLKRERUR2xmBIREdURiykREVEdsZgSuamDBw8iISEBLVu2RLt27XDmzBlx3dy5c9GyZUu0bNkSI0eOxK5du8T3w4cPF7e7ePGiGH/ooYfE+IkTJ8R43759nfq5iFwRiymRm0pMTMTzzz8PACgrK8OUKVNgMplw8OBBLFy4EADg6+uLOXPmoEOHDvD29gYApKSkoLCwEACwa9cu8XgHDx5ERUUFgMopqqp069bNGR+HyKWxmBK5sbFjx6Jnz54AKufm/eSTTzB58mSYTCYAwJtvvonw8HB4eHiIEyCbzWbs27cPALB3717xWBUVFTh48CAAy2LavXt3p3wWIlfGYkrkxhQKBWbNmoXg4GAAwGeffYazZ88CAB544AEMHDhQ3PafLcw9e/YAuFY0W7VqZfG+av31+xE1VCymRG4uODgYM2bMsIjFxMRg2rRpFrHri2lOTg7Onj0LLy8vPProo2L87NmzyMrKAgA0b95cLNREDRmLKVEDcOrUKYv3V65cEQtildatW8Pf3x8AcOjQIWzbtg0A0K5dO/To0QMAsH//fuzYsUPch61SokospkRu7vDhw5g7dy4AQK1WAwCKioowYcIEGI1GcTulUokuXboAAAwGAxYtWgQA6Ny5Mxo1aoSIiAgUFxfj22+/FfdhMSWqxGJK5MaKi4sxYcIEGAwGAMCsWbPEG4YOHDiAjz76yGL7fxbHY8eOAQA6duwIoLKoAtdauf8svkQNHYspkRt74403cO7cOQDA4MGDMXjwYMyaNQt+fn4AgM8///yG3bYeHh5o3749AIh3+1Zp06YNfH19HZc8UT3CYkrkptauXYvVq1cDABo1aoTXX38dABAWFobp06cDqHwMZtKkScjJyQEAxMXFISwsTDxGQkICvLy8AEDSCmUXL9E1CkEQBLmTICIiqs/YMiUiIqojFlMiIqI6YjElIiKqIxZTIiKiOmIxJSIiqiMWUyIiojpiMSUiIqojFlMiIqI6YjElIiKqIxZTIiKiOvp/uEsmZLqHkzIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "a = np.linspace(-8.0,8.0,100) # create 100 points on a line\n", - "# Set up the figure\n", - "f, ax = plt.subplots(figsize=(7, 6))\n", - "linex=np.arange(-9, 9, 0.003)\n", - "liney = np.arange(-0.1, 1.1, 0.01)\n", - "# xx1, xx2 = np.meshgrid(linex, liney)\n", - "# plt.pcolormesh(xx1, xx2, logistic(xx1), cmap='bwr', alpha=0.1)\n", - "\n", - "plt.plot([0,0],[-1,2],':k',alpha=0.8,linewidth=3)\n", - "plt.plot(a, logistic(a), 'k', linewidth=5)\n", - "# plt.plot(a, 1.0-logistic(a), 'k:', linewidth=5, alpha=0.5)\n", - "\n", - "plt.xlim([-8,8])\n", - "plt.ylim([-0.02,1.02])\n", - "plt.yticks([0.0,0.5,1.0])\n", - "plt.xticks([-8,-4,0,4,8])\n", - "\n", - "# ax.patch.set_facecolor('white')\n", - "plt.legend(['decision function','$\\pi(\\mathbf{xw})$','B',\"R\"])\n", - "\n", - "\n", - "\n", - "\n", - "ax = plt.xlabel('$\\mathbf{xw}$')\n", - "ax = plt.ylabel('$p(y=c_1|\\mathbf{x})$')\n", - "\n", - "clf = util.LogisticRegression()\n", - "clf.fit(X=X.values,y=y.values[:,np.newaxis])\n", - "Xw = X.values.dot(clf.w)\n", - "bins = np.linspace(-10, 10, 20)\n", - "plt.hist(Xw[y.values=='B'], bins, alpha=0.5, label='B', color='b', density=True)\n", - "plt.hist(Xw[y.values=='M'], bins, alpha=0.5, label='M', color='r', density=True)\n", - "# plt.scatter(Xw, (y.values[:,np.newaxis]==\"M\") , (y.values[:,np.newaxis]==\"M\"), size=20)\n", - "\n", - "ax = plt.title(\"The logistic sigmoid\")\n", - "plt.savefig(\"./uci_breast_cancer/plots/logistic_sigmoid_data.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Conversely, the probabily to belong to the class $c_2$ (Benign) is given by $1-\\pi(a)$.\n", - "\\begin{equation}\n", - "p(y_n=c_2|\\mathbf{x}_n; \\mathbf{w})= 1-\\pi(\\mathbf{x}_n\\mathbf{w}) = \\frac{1}{1+\\exp{(\\mathbf{x}_n\\mathbf{w}})} \n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Objective\n", - "\n", - "We need to find a way to obtain a suitable set of weights.\n", - "\n", - "We do so by writing down a function, the so-called **objective** function $L$ and then determine the weights $\\mathbf{w}^{opt}$ that minimize $L$.\n", - "\n", - "We would like to assign high probability to all the instances that belong to the target class and low probability otherwise." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Loss Function\n", - "\n", - "The **loss function** measures the **errors** we make on the **training data**.\n", - "So for each error, we record a loss.\n", - "As we are trying to assign high probabilities to the correct class, we would like to obtain a function that records a loss, whenever we assign low probability to the correct class $c_{true}$." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/bw/7wvb07ss3h57p5s47w2rr3080000gn/T/ipykernel_39553/3939639547.py:2: RuntimeWarning: divide by zero encountered in log\n", - " yy = -np.log(xx)\n" - ] - }, - { - "data": { - "text/plain": [ - "(0.0, 10.0)" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "xx = np.arange(0,1.0,0.00001)\n", - "yy = -np.log(xx)\n", - "fig, ax = plt.subplots(figsize=(8, 8))\n", - "plt.plot(xx,yy, linewidth=5)\n", - "plt.title(\"error function for a single $y_n$\")\n", - "plt.ylabel(\"$-\\ln( p(c_{true}|\\mathbf{x}) )$\")\n", - "plt.xlabel(\"$p(y_n=c_{true}|\\mathbf{x})$\")\n", - "plt.xlim([-0.01,1.0])\n", - "plt.ylim([0,10])\n", - "# plt.savefig(\"./uci_breast_cancer/plots/log_error.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "By summing this loss over all samples, we obtain the **log-loss** or **cross-entropy** function.\n", - "\n", - "\\begin{equation}\n", - "loss = -\\sum_{n\\in c_1} \\ln( \\pi(\\mathbf{x}_n\\mathbf{w}) ) - \\sum_{n'\\in c_2} \\ln( 1-\\pi(\\mathbf{x}_{n'}\\mathbf{w}) )\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Regularizer\n", - "\n", - "In addition to the loss, we define the regularizer as a fcuntion that penalizes very large values of $\\mathbf{w}$ and to improve numerical stability.\n", - "In this example, we use the square of the Euclidean norm of $\\mathbf{w}$ as regularizer.\n", - "\n", - "\\begin{equation}\n", - "regularizer = 0.5 \\cdot \\lambda \\cdot \\sum_{d=1}^{D}{w_d}^2\n", - "\\end{equation}\n", - "\n", - "The (hyper)-parameter $\\lambda$ weighs the importance of the regularizer vs. the loss. In this example, we always use $\\lambda=10^{-3}$.\n", - "\n", - "In-depth discussion of the regularizer is beyond the scope of this lecture." - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Weight Shrinkage')" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "xx = np.arange(-5,5,0.01)\n", - "yy = 0.001*0.5 * xx * xx\n", - "f, ax = plt.subplots(figsize=(8, 8))\n", - "plt.plot(xx,yy,linewidth=5)\n", - "plt.xlim([-5,5])\n", - "plt.ylim([-0.00006,0.013])\n", - "plt.xlabel(\"$w_d$\")\n", - "plt.ylabel(\"regularizer ($\\lambda=10^{-3}$)\")\n", - "plt.title(\"Weight Shrinkage\")\n", - "# plt.savefig(\"./uci_breast_cancer/plots/regularizer.png\",dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Combined objective\n", - "Taken together, we obtain the **Logistic Regression objective** $L(\\mathbf{w})$.\n", - "\\begin{equation}\n", - "L(\\mathbf{w}) = \\underbrace{-\\sum_{n\\in c_1} \\ln( \\pi(\\mathbf{x}_n\\mathbf{w}) ) - \\sum_{n'\\in c_2} \\ln( 1-\\pi(\\mathbf{x}_{n'}\\mathbf{w}) )}_{loss} + \\underbrace{ \\lambda \\cdot 0.5 \\cdot \\sum_{d=1}^{D}{w_d}^2}_{regularizer}\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Fitting the model\n", - "Now that we have an objective, how do we obtain a good set of parameters?\n", - "\n", - "Let's look at the objective in 2 dimensions." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[iteration 7, 0.0015s]: objective: 1.250e+02, gradient l2 norm : 2.266e-08\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/christophlippert/Library/CloudStorage/OneDrive-Personal/HPI/Lectures/2024_SS_Math4ML/Math4ML-Code/week6/plotting_util.py:112: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.\n", - " plt.pcolormesh(xx1, xx2, Z, cmap=\"viridis\")\n" - ] - }, - { - "data": { - "image/png": "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IHj64IMP0KBBA2zZsgVbt25F69at8dFHH6F+/foAAH9/f+zcuRNPPfUUtmzZgvDwcLi5uWH37t1mi1NaYuk969Wrh61bt6Jx48Z47733sG7dOty9exfr1q3D6NGjcevWrSKZWYWzR6WZ/RkwYAC6deuGzz77DGvXri1zPyIUXmsXFxe899572LBhAxwcHPDPf/7TOKayXJ/SMBgM+PHHH9GjRw+5T4vI5qikklZ0EpFFEREROHnyZIVktwEFm5g+ePAAH330UYW8nxIdOXIE8+bNw5EjR4zry2zF2bNnMWnSJBw8eNBktpGIrMeZJKIyys/PR05ODvR6PQwGA3JycoxVukWaNGkSLly4YHbRNBWsUfr444/h6elpcwESABw4cAA+Pj4MkIhkwJkkojLatGmTcf+wQp07d66QGaXp06ejXr16WL58ufD3Uor8/HzMnz8fSUlJuHz5MjZt2mTMQASA3NxcYw0iS5ycnMpUfLKyJSQkYMCAAdi7dy/atWtX2cMhUjwGSUQKlJSUhJdffhmffvqpxQXOtuTll19GYmIiJkyYgNmzZ5s895///Afjx48vVT+7d+8uc22lyrRo0SLodDqTel5EVHYMkojIJqSmpuLnn38uVdvWrVsbF/MTke1ikERERERkBhduExEREZnBIImIiIjIDAZJRERERGYwSCIiIiIyg0ESERERkRkMkoiIiIjM+H/rzwUIVAglXwAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(9, 8))\n", - "ax = util.eval_optimizer(X,y)\n", - "# plt.savefig(\"./uci_breast_cancer/plots/objective_heatmap_2d.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The image visualizes the objective $L$ as a function of the two weights $w_1$ and $w_2$, with objective values going from low (yellow) to high (red). The **minimum** is marked by a blue dot." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Taking the derivative" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The derivative of the objective with respect to a single $w_d$ is defined as follows:\n", - "\n", - "\\begin{equation}\n", - "\\frac{\\partial L}{\\partial w_d} = \\sum_n^{N}{x_{nd}} \\cdot\n", - " \\left( \\pi\\left(\\mathbf{x}_n\\mathbf{w}_n\\right)-I\\left(\\mathbf{y}_n== c_1\\right)\\right) + \\lambda \\cdot w_d\n", - "\\end{equation}\n", - "\n", - "$I(a==b)$ denotes the indicator function, which yields 1 if $a=b$ and 0 otherwise.\n", - "\n", - "The sign of the derivative indicates the direction in which the objective gets larger or smaller and the magnitude the rate." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### The gradient\n", - "\n", - "By stacking all partial derivatives into a single vector, we obtain the gradient $\\nabla_\\mathbf{w} (L)$.\n", - "\n", - "\\begin{equation}\n", - "\\nabla{L}\\left(\\mathbf{w}^{t}\\right) =\n", - "\\left[\\begin{matrix}\n", - "\\frac{\\partial L}{\\partial w^t_1}\\\\\n", - "\\vdots\\\\\n", - "\\frac{\\partial L}{\\partial w^t_D}\n", - "\\end{matrix}\\right]\n", - "=\n", - "\\underbrace{\\mathbf{X}^{T}\n", - " \\left( \\pi\\left(\\mathbf{X}\\mathbf{w}^t\\right)-I\\left(\\mathbf{y}==c_1\\right)\\right)}_{\\nabla{\\text{loss}}\\left(\\mathbf{w}^{t}\\right)}+ \\underbrace{\\lambda \\cdot \\mathbf{w}^t}_{\\nabla{\\text{regularizer}}\\left(\\mathbf{w}^{t}\\right)}\n", - "\\end{equation}\n", - "\n", - "$\\nabla_\\mathbf{w} (L)$ is a $D$-dimensional vector pointing in the direction of steepest growth of the objective and in the opposite direction in which the steepest reduction.\n", - "Using the gradient, we can define a simple optimization algorithm." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Steepest descent" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The steepest descent algorithm uses the gradient by making small steps in the direction $-\\nabla_{\\mathbf{w}^{t}} (L)$. You can think about it as being on a hill and descending the hill in the steepest direction downwards.\n", - "Therefore the algorithm is called **steepest descent**.\n", - "\n", - "given learning rate $0<\\alpha<1.0$ and current weight estimate $\\mathbf{w}^{t}$.\n", - "Iterate by setting $\\mathbf{w}^{t+1} = \\mathbf{w}^{t} - \\alpha \\cdot \\nabla_{\\mathbf{w}^{t}} (L)$.\n", - "\n", - "A typical value for $\\alpha$ is around $10^{-4}$." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "A problem with steepest descent is that the estimate tends to oscillate and often even overshoots and diverges (leading to an increase in the objetive). Getting the learning rate right is very hard, trading off progress in learning and risk of diverging. Many tricks exit to improve learning in gradient descent, such as weight decay, where the learning rate is gradually reduced during learning." - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[iteration 7, 0.0020s]: objective: 1.250e+02, gradient l2 norm : 2.266e-08\n", - "[iteration 200000, 16.8855s]: objective: 1.250e+02, gradient l2 norm : 2.804e-02\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "f, ax = plt.subplots(figsize=(9, 8))\n", - "ax = util.eval_optimizer(X,y, steep=True)\n", - "# plt.savefig(\"./uci_breast_cancer/plots/objective_heatmap_2d_steepest.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In the image above, where we applied weight decay, multiplying the learning rate by $1-10^{-6}$ after each iteration, the learning does not converge to the minimum (the blue dot) after 200.000 iterations." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Using curvature information" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can build a better learning algorithm by using second order information, utilizing a second-order Taylor-series expansion around the current weight estimate $\\mathbf{w}^t$." - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[iteration 7, 0.0012s]: objective: 1.250e+02, gradient l2 norm : 2.266e-08\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(10, 10))\n", - "ax = util.eval_optimizer1D(X, y, taylor1=True, taylor2=False)\n", - "# plt.savefig(\"./uci_breast_cancer/plots/derivative_1D.png\", dpi=600)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[iteration 7, 0.0020s]: objective: 1.141e+02, gradient l2 norm : 1.091e-07\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(10, 10))\n", - "ax = util.eval_optimizer1D(X, y, taylor1=True, taylor2=True)\n", - "plt.savefig(\"./uci_breast_cancer/plots/newton_step_1D.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The image depicts the idea for a single weight $w_1$. At the current estimate $w_1^{t}$, we compute the first and second derivatives of the objective to form a parabolic fit to the objective $L$. Then, we obtain $w_1^{t+1}$ as the minimum of that parabolic and iterate." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### The Hessian\n", - "In higher dimensions, the matrix second derivatives is called the Hessian $\\nabla^2_{\\mathbf{w}}(L)$.\n", - "\n", - "\\begin{equation}\n", - "\\mathbf{H}_{\\mathbf{w}^{t}} =\n", - "\\left[\\begin{matrix}\n", - "{\\partial^{2} L }/{\\partial^2 w_1} & {\\partial^{2} L }/{\\partial w_1 \\partial w_2} & \\dots & {\\partial^{2} L }/{\\partial w_1 \\partial w_D}\\\\\n", - "\\vdots & &\\ddots &\\vdots\\\\\n", - "{\\partial^{2} L }/{\\partial w_D \\partial w_1} & {\\partial^{2} L }/{\\partial w_D \\partial w_2} & \\dots & {\\partial^{2} L }/{\\partial^2 w_D}\n", - "\\end{matrix}\\right] \n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\\begin{equation}\n", - "\\mathbf{H}_{\\mathbf{w}^{t}}= \n", - "\\underbrace{\n", - "\\left(\\mathbf{X} \n", - "\\mathrm{diag}\\left(\n", - "\\pi\\left(\\mathbf{X}\\mathbf{w}^{t}\\right) \\cdot \n", - "\\left(\\mathbf{1}-\\pi(\\mathbf{X}\\mathbf{w}^{t}\\right)\n", - "\\right)\n", - "\\right)^{T} \\mathbf{X} \n", - "}_{\\mathbf{H}_{\\mathbf{w}^{t}} (\\mathrm{loss})}+\\underbrace{ \\lambda \\cdot \\mathbf{I}_{D\\times D}}_{\\mathbf{H}_{\\mathbf{w}^{t}} (\\mathrm{regularizer})}\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### The Newton-Raphson algorithm" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The update rule using second order information can be derived by iterating the following update until the Euclidiean ($l^2$) norm of the gradient is close to 0.\n", - "\\begin{equation}\n", - "\\mathbf{w}^{t+1} = \\mathbf{w}^{t} - \\mathbf{H}_{\\mathbf{w}^t}^{-1} \\nabla{L}\\left(\\mathbf{w}^{t}\\right)\n", - "\\end{equation}" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[iteration 7, 0.0021s]: objective: 1.250e+02, gradient l2 norm : 2.266e-08\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/christophlippert/Library/CloudStorage/OneDrive-Personal/HPI/Lectures/2024_SS_Math4ML/Math4ML-Code/week6/plotting_util.py:112: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.\n", - " plt.pcolormesh(xx1, xx2, Z, cmap=\"viridis\")\n" - ] - }, - { - "data": { - "image/png": "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1axNZGQkxo8fj4CAAAQEBGDs2LH43//+Z9bmqaeewttvv419+/ZhwIABaNOmDfr27Ytdu3bZ/D0lScInn3yC559/HgEBAWjTpg369euHDRs2oHBv7X/84x9o2bJlkdtm9+7dQ7t27TB//nwA5muS5s2bh3Xr1gEAevXqhTFjxuC9995D8+bNcf36dbN+jEYjunXrhpdffrlU1/jB67Bo0SLs2bMHISEhaNu2LYYOHYoLFy7gr7/+wssvv4yAgAB0794dERERMBqNZq8/d+4cJkyYYLrWEydOxIULF8zalOb62PqeBAYGok6dOhafIyLbMEgiu1enTh0AQFZWlunYJ598gry8PAAwu6Xz8ccfQ61WY/To0RU6xkL//e9/YTAYEBwcbHY8MjISo0ePxp9//olJkyZh2rRpuH79OsaOHWsK8r777juMGTMGiYmJmDZtGqZNm4bExESMHz8e3333XZHvs2TJEoSEhGD+/PmoWbMmFi1ahOPHj9v0PVetWoV//vOfePTRRzF//nzMmTMHNWrUwHvvvYe9e/cCAJ599lkYDAYcPnzYbAzff/897t27h4EDBxa5DiNGjECfPn0AAPPnz8fUqVPx7LPPAgAOHTpk1vaXX37BX3/9hWeeecbGq11wzVavXo3nn38eM2bMQFRUFGbOnIkJEyZArVZj3rx5aNasGT788EPs27fP9LpTp05hzJgxyMjIwMsvv4xp06YhISEBo0ePRmRkpKldaa5PodK8JwDg4OCAbt264cSJEzafLxE9RCKyc999953UrFkz6ccff5QkSZJyc3Olbt26SQsWLJCaNWsmnT59WpIkScrJyZE6deokvfnmm5U21rlz50rt2rWTjEaj2fHnn39eCgoKklJSUkzHoqKipBYtWkjLli2T8vPzpR49ekg9e/aUMjIyTG3S0tKk7t27S927d5fy8vIkSZKkJ598UmrevLl0+fJlU7vbt29LzZs3l+bMmVPq75mXlye1b99emj17ttlYMzIypNatW0tTpkyRJEmSjEaj9OSTT0pjx441azd9+nQpKChIMhgMkiRJ0osvvig9+eSTpufXrFkjNWvWTIqLizMde+aZZ6T+/fub9bNgwQKpQ4cOUm5ubkmXtojC63DlyhXTsWXLlknNmjWTXnnlFdOxrKwsqVWrVqZrYzAYpF69ekkvvPCCpNfrzdr16dNH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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "f, ax = plt.subplots(figsize=(9,8))\n", - "ax = util.eval_optimizer(X,y, steep=True, irls=True)\n", - "# plt.savefig(\"./uci_breast_cancer/plots/objective_heatmap_2d_steepest_irls.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The blue line corresponds to minimization using the Newton-Raphson algorithm.\n", - "We observe that the curvature information provided by $\\mathbf{H}_{\\mathbf{w}^{t}}$ dramatically speeds up optimization, with convergence achieved after 7 iterations." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### The implementation of logistic regression\n", - "Let's put things together and implement logistic regression." - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [], - "source": [ - "class LogisticRegression(object):\n", - " \"\"\"\n", - " Implements logistic regression classifier with the objective\n", - " \\sum_{n\\in class_{1}} \\log(\\pi(x_n.dot(w))) + \\sum_{n\\in class_{0}} \\log(1-\\pi(x_n.dot(w))) + lambd/2 * w.T.dot(w)\n", - " \"\"\"\n", - "\n", - " def __init__(self, lambd=1e-3, tol=1e-5, max_iter=100):\n", - " \"\"\"\n", - " Keyword arguments:\n", - " lambd -- regularization paramter for L2 norm of w (scalar or numpy 1D array with length equal to the number of dimensions) (default: 1e-5)\n", - " tol -- tolerance of the optimizer (default: 1e-5)\n", - " max_iter -- maximum number of interations of the optimizer (default: 100)\n", - " \"\"\"\n", - " self.w = None # create a placeholer for the weights w\n", - " self.class_labels = None # crete a placeholder for the list of class labels\n", - " self.lambd = lambd\n", - " self.tol = tol\n", - " self.max_iter = max_iter\n", - " \n", - " def fit(self, X, y):\n", - " \"\"\"\n", - " minimize the objective\n", - " \\sum_{n\\in class_{1}} \\log(\\pi(x_n.dot(w))) + \\sum_{n\\in class_{0}} \\log(1-\\pi(x_n.dot(w))) + lambd/2 * w.T.dot(w)\n", - " \"\"\"\n", - " \n", - " self.class_labels = np.unique(y)\n", - " if len(self.class_labels)>2:\n", - " raise Exception(\"too many classes\")\n", - " self.w = np.zeros((X.shape[1], 1)) # zero-init w\n", - " num_iter = 0\n", - " gradient_last = np.inf # initialize the gradient to a large number\n", - " # Newton-Raphson / IRLS updates\n", - " while (np.sqrt(gradient_last*gradient_last).sum() > self.tol) and (num_iter1-min_val] = 1-min_val\n", - " return z\n", - " \n", - " def predict(self, X, threshold=0.5):\n", - " \"\"\"\n", - " predict a class label using \\pi(x)>=threshold\n", - " \"\"\"\n", - " prediction = np.array([self.class_labels[0]] * X.shape[0])[:,np.newaxis]\n", - " prediction[self.predict_proba(X) >= threshold] = self.class_labels[1] \n", - " return prediction\n", - " \n", - " def objective(self, y, X):\n", - " \"\"\"\n", - " L = \\sum_{n\\in class_{1}} \\log(\\pi(x_n.dot(w))) + \\sum_{n\\in class_{0}} \\log(1-\\pi(x_n.dot(w))) + lambd/2 * w.T.dot(w)\n", - " \"\"\"\n", - " pi = self.predict_proba(X)\n", - " log_0_pi = np.log(pi[y==self.class_labels[1]])\n", - " log_1_pi = np.log(1.0-pi[y==self.class_labels[0]])\n", - " loss = -log_0_pi.sum() - log_1_pi.sum() # this version is more stable for perfect prediction\n", - " regularizer = 0.5* (self.lambd * self.w * self.w).sum()\n", - " return loss + regularizer\n", - " \n", - " def gradient(self, X, y):\n", - " \"\"\"\n", - " compute the [D x 1] gradient vector\n", - " \\nabla w := [dL / dw_j for each j \\in 1..D]\n", - " \"\"\"\n", - " pi = self.predict_proba(X)\n", - " return np.dot(X.T, pi-(y==self.class_labels[1]))+ self.lambd * self.w\n", - " \n", - " def hessian(self, X, y):\n", - " \"\"\"\n", - " compute the [D x D] Hessian matrix\n", - " \\nabla^2 w := [d^2 L / (dw_i dw_j) for each i,j \\in 1..D]\n", - " \"\"\"\n", - " pi = self.predict_proba(X)\n", - " return (X * (pi * (1.0-pi))).T.dot(X) + self.lambd * np.eye(X.shape[1])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Evaluating the model" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\\begin{equation}\n", - "\\text{accuracy} = \\frac{1}{N} \\text{# correctly classified}\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Confusion matrix" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "| | Predicted Positive | Predicted Negative |\n", - "|----------| ------------------ |:------------------:|\n", - "| **Positive** | True Positive ($TP$) | False Negative ($FN$)|\n", - "| **Negative** | False Positive ($FP$)| True Negative ($TN$) |\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Trade-off between Sensitivity and Specificity" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\\begin{equation}\n", - "\\text{sensitivity} = \\frac{TP}{TP + FN}\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\\begin{equation}\n", - "\\text{specificity} = \\frac{TP}{TP + FP}\n", - "\\end{equation}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Train error vs. Test error\n", - "\n", - "Let us compute these quantities on the test data:\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "number samples: 398\n", - "number M: 149\n", - "number B: 249\n", - "Accuracy : 0.882\n", - "Sensitivity: 0.799\n", - "Specificity: 0.875\n" - ] - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAUEAAAELCAYAAABHzTQ7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5PElEQVR4nO3dd1gU1/rA8e8CUqQIaMRoBEsEUSxEYsQasF97jBVpdmOLsV8T00yiYAuWJMYSxRIbib0EazTFiD12RewFUQGRPr8/vO7PdUEHBBfY9/M889y7M2fOvEvk5ZwzM+doFEVREEIII2Vi6ACEEMKQJAkKIYyaJEEhhFGTJCiEMGqSBIUQRk2SoBDCqJkZOoD8khZ70dAhiKdYlW1k6BDEM9JTr+WovNrfqWKlKuUmHIMpsklQCJHHMtIMHUG+kCQohFAnM9PQEeQLSYJCCFUURZKgEMKYSUtQCGHUZExQCGHUpDsshDBq0h0WQhgzuTEihDBuGemGjiBfSBIUQqiTmWHoCPKFJEEhhDrSHRZCGDW5MSKEMGoyJiiEMGaKImOCQghjJmOCQgijJmOCQgijJu8OCyGMmnSHhRBGTbrDQgijJi1BIYRRk5agEMKYKXJjRAhh1KQlKIQwakV0TNDE0AEIIQqJzEx1W46qzGTFihW0a9cOT09PmjVrxjfffENiYqK2zL59++jcuTO1atXC19eXhQsX6tVz/Phx/P398fT0pGHDhkyfPp20NHXdd2kJCiHUyYcJFObPn8/MmTPp06cP3t7eREdHExYWxvnz51mwYAGHDh1i4MCBtG7dmuHDhxMVFUVISAiKotCnTx8AYmJiCAoKwtPTk5kzZ3LhwgVmzJhBYmIiEydOfGEMkgSFEOrkcXdYURTmz59Pt27dGDlyJAD169fHwcGBESNGcOrUKcLCwqhWrRqhoaEANG7cmPT0dL7//nv8/f0xNzdn3rx52NraMnfuXMzNzWnSpAmWlpZMmjSJAQMG4OTk9Nw4pDsshFAnj7vDDx8+pH379rRt21Znf6VKlQA4d+4cBw8epEWLFjrHW7ZsSXx8PIcOHQJg//79+Pj4YG5uri3TqlUrMjIy2Ldv3wvjkJagEEIdlQkuPj6e+Ph4vf12dnbY2dlpP9vY2PDxxx/rlYuMjASgWrVqpKWlUbFiRZ3jLi4uAERHR1OrVi1u3LihV8bR0REbGxuio6NfGK8kQSGEOirHBBcvXszs2bP19g8ZMoShQ4c+99yjR48yb948mjVrRkJCAvA4WT7N2toagMTExGzLPCn39A2W7EgSFEKoo3JMMDAwkE6dOuntf7oVmJWoqCgGDhzIG2+8waRJk7StOI1Gk2V5ExMTFEXJtoyiKJiYvHjET5KgEEIdld3hZ7u9amzevJlx48ZRoUIF5s+fj4ODA7GxsQB6rbknn21tbbUtwKxafElJSdja2r7w2nJjRAihjpKpbsuhRYsW8dFHH1G7dm2WLVtG6dKlAXB2dsbU1JTLly/rlH/yuWLFilhbW+Pk5ERMTIxOmbt375KYmKg3VpgVSYJCCHXS09VtObB69WomT55M69atmT9/vk7LzcLCAi8vL7Zv367t9gJs27YNW1tbPDw8AGjQoAG7du0iNTVVp4ypqSl169Z9YQzSHRZCqPNUIsoLd+/e5auvvqJcuXL4+flx8uRJnePOzs4MGjSI4OBgRowYQadOnTh8+DALFixg5MiRWFlZAdC3b182bdpE//79CQwM5NKlS0yfPp2uXbtStmzZF8ahUZQ8/mYFRFrsRUOHIJ5iVbaRoUMQz0hPvZaj8o9WfKqqnFWPz1WV+/XXXxk7dmy2x0NCQujQoQO//fYbYWFhREdH4+TkhJ+fH71799Ype/DgQUJCQjh16hQODg507NiRoUOHUqxYsRfGIUlQvBKSBAueHCfBZZ+oKmfl92VuwjEY6Q4LIdSRxdeFEEataHYaJQkKIVSSSVWFEEZNkqAQwpgpGRmGDiFfSBJ8hfb/HcUPP63g5JnzaEw01KpelaH9Aqjl4a4t83fUEWbPD+fMuWhsrIvTwqchw/oHUry4VY7rEi/v++9CqPJmRZo27wKAi8sbXDj393PPadrsffbs/fNVhPdqSUtQvIx/Dh9j4MhPeLOiC8P6B5KekcHKXzYSNGQMS+ZOpUY1Nw5EHaXfhxOo5vYmIwYFc/P2HZauWse/Z86xeE6o9mVwNXWJlxcc1J2+ffzYs+cP7b47d+4SEKQ/E4qVpSXfzvyS27fvcvTYSb3jRUIRXWNEkuArMuXbHyhT+jWW/zgDK0tLANq3bkr7nv359ofFzP/2a6bOmc/rTq/x05wQLC0sAHjdqTSTps1h/99RNPJ+W3VdIvdMTEz47/hhTPxkpN6xpKRHLF8eobd/2tTPKVasGAGBQ7h//8GrCPPVyyyad4fl3eFX4EF8AmfOR9PSt5E2aQGUcnTAy7MGR0+cJCUlFQf7EnRu10qbAAG8atcA4OyFaNV1idyzsLDgnwPb+OzT0SxdtparV2+88BwPj6oMGRzM4iWr2Lf/wCuI0kDyYaGlgkBagq+AjXVxNq74USdpPXH/fjympqZYWJjzw/RJesdPn7sAPG4Rqq1L5J6lpQV2tjZ07zmQNWs2cP7sXy8858svxvLoUTITPw15BREakNwYeTUURSEuLg5HR8dsJ1MsbExNTXEpX05v/5nz0Rw+fpIG79TRO3b95i0ORB0jdPaPVKlUgaaN6+e6LqFefHwCVas1JEPlL3yNGu60a9uC6dO/5+bN2/kcnYEVwlaeGjlKgocOHeLUqVP4+fkB8OOPP7JgwQJMTU3x9/dn4MCBquu6cOECERERaDQa3n//fSpUqMDSpUv59ttvSUxMxM7Ojj59+tC/f/+cfaNCIinpEf/9cioAfXp10Tn2ID6BFp2DALCytGD8iEFYWJg/W4WqukTOKIqiOgECDOgfQHp6OrPn6q+FW+QU0TFB1Ulw165dfPDBB1SoUAE/Pz8OHjzItGnTcHFxoUyZMnz77bfY2dnRs2fPF9b1zz//0KdPH0xNTbGysmLZsmUMHTqUkJAQ6tevj7u7O8eOHWPGjBnY2NioqrMweZSczJCxn3Pm/EX6+nfjbc+aemVCPx9HWno6y1avo9+H4wn9fBwtfPQnIVBTl8gflpaW+PV8jw0bt3P5cs4mIyiUiujdYdU3RubNm0fVqlVZsWIF8HgaHFNTU5YsWcLixYtp3bo1K1euVFXX7NmzqVevHn/99Rd//PEH/v7+hIaG0rlzZxYuXMjo0aMJDw/nvffeY82aNbn7ZgVUfEIi/UdM4MCho3Rq24LhAwL1ypSws6V1sya0b9WUxXNDed2pNCGzfsxVXSL/+LxbH1tbG9as3WjoUF4JJT1D1VbYqE6Cp0+fpkuXLtjb2wOwZ88eatSooV3Y2Nvbm0uXLqmq6+TJk3Tr1g2L/90FDQwMRFEUWrVqpVOuffv2qpbMKyzu3rtP76FjOXzsJF06tOaLcR++cNzT0sKCJg3e4eatO9x76tGL3NQl8larVr6kpKSwefMOQ4fyamQq6rZCRnUSNDMz0/6S/fvvv9y5c4dGjf6/e/bgwYMsl73LSkJCAo6OjtrPJUqUANAm2CcsLS1JTk5WG2KB9vBhEgNGTOD0uYsEdOvEp2OG6SStizFXaNE5kJ8j9FsVD5OS0Gg0mP9vgsgX1SVejfr13+bgwaMkJLx4WcciIZ/WGDE01UnQzc2NzZs3c//+fRYsWIBGo9GuDH/79m1WrlyJu7v6V7aefpTjyS+wmuXxCqtJ0+dy+txFenXpwJhh+jd7nMuVJfFhEit/3URaWpp2//Wbt4jcvR+v2jWwti6uqi6R/8zMzKjmXoXDR04YOpRXp4i2BFXfGBk2bBgDBgzA29tb23WtUqUKUVFRBAUFYWZmRmho6EsFU1RbMxcuXWbD1h3Y2lhTtUplNmzbqVemXUtfxo8YxPgvQgkaPIa2LX25/yCeFWs3oNFo+O9Hg3JUl8hfzs7lsLCw4MoVI7gh8kQhHO9TQ3USrFu3LhEREezYsYMyZcpox+/Kli3Le++9h5+fH66urqovPGnSJG33+ckM/59//rl2dXnIei3Rwujg4eMAJCQ+5OOvp2dZpl1LX9q19KWYmRkLl60mZNY8rCwtqedVm2H9A6ng/EaO6hL5q6SjAwDx8UXj36gqhbCrq4ZB1hjx9/fPUfnw8PAcX0PWGClYZI2Rgiena4w8nKDuGVTrr1bnJhyDybYl+Ouvv+Ll5cUbb7yh/axGx44dX1gmN0lNCGFYirG9MTJu3DhCQ0O1SXDcuHFoNBqe13DUaDSqkqAQohBKN7IkuGTJEipXrqzzWQhhxIromGC2SbBu3brP/SyEMDKF8PEXNXI0gUJiYiLnzp3D09MTeLzq+5IlSzAzM6Nnz554eXnlS5BCCMNTjD0Jnj9/noCAAEqWLMmGDRu4cuUKwcHBKIpCsWLF2L59Oz/++CPe3t75Ga8QwlCK6HOCql/RmDlzJgCjR48GYPXq1aSnpxMeHs4ff/yBu7s73333Xb4EKYQoAIroGyOqk+A///xDUFAQjRs3BmDnzp24uLjg6emJlZUVHTt25MQJI3qFSAhjY+xJMCUlBQeHx0/JX7t2jfPnz+tMoADI1O5CFGGKoqjaChvVSdDZ2ZlDhw4B8Msvv6DRaGjatCnw+IezdetWXFxc8idKIYThFdGWoOobIz169ODzzz/nxIkTXLx4kSpVqlCvXj3Onj3L2LFjOX36NJMnT87PWIUQBqQY28PSz+rRowfW1tZs3LgRT09PBg8erD2WnJzMl19+SYcOHfIlSCFEAVAIW3lqGGQChVdBJlAoWGQChYInpxMoPPBvqqpcifDCNdN2jpfc/P3334mMjOT69esUK1aM119/HR8fHxo2bJgf8QkhCgijf1g6MzOTUaNGsWXLFhRFwc7OjszMTBITE1m+fDktWrRg5syZRXZiVCGMXnrRTIKq7w7Pnz+fzZs306NHD/bt28eBAwc4ePAg+/bto1evXmzbto3FixfnZ6xCCANSMhVV28s4deoU1atX5+bNmzr7mzdvjpubm94WFxenLXP8+HH8/f3x9PSkYcOGTJ8+XWepiuyobglGRETQrFkzJk6cqLO/VKlSTJgwgZs3b7JmzRqCgoLUVimEKEzy+ebwxYsXGTBgAOnp6Tr7Hz58yJUrVxg5cqTeRC52dnYAxMTEEBQUhKenJzNnzuTChQvMmDGDxMREvZz1LNVJ8Nq1awQGZr+urbe3N3v37lVbnRCikMmvMcH09HRWrlzJtGnTKPa/FRWfdubMGRRFoWnTpjrT+z1t3rx52NraMnfuXMzNzWnSpAmWlpZMmjSJAQMGaJcGzorq7rCDg8Nz1xW+dOkStra2aqsTQhQySrq6LaeioqKYOnUqvXv3ZtSoUXrHT506hYWFBRUqVMi2jv379+Pj44O5ubl2X6tWrcjIyGDfvn3Pvb7qJOjr68uKFSvYuVN/dbMdO3bw888/4+srC/wIUWRlqtxyqHLlykRGRjJkyJAsX709c+YM9vb2fPTRR3h5eeHp6cmIESO4c+cOAI8ePeLGjRtUrFhR5zxHR0dsbGyIjo5+7vVVd4c//PBD/vzzTwYPHkzlypW1F7x48SIXL16kXLlyfPjhh2qrE0IUMmonlo6Pjyc+Pl5vv52dnXYM72mlSpV6bn2nT58mNjaWKlWq4O/vz8WLFwkLCyMgIIBffvmFhIQEAO3qlU+ztrZ+4aqVqpOgvb09q1evZt68eezatYu9e/eiKArlypUjODiYAQMGUKJECbXVCSEKG5VJcPHixcyePVtv/5AhQxg6dGiOL/vxxx+jKAq1atUCwMvLi8qVK9OzZ0/Wr19PkyZNgKzXLVcUBROT53d4c/SwtJ2dHaNGjcqy3y6EKNoyVY73BQYG0qlTJ739WbUC1ahZs6bevjp16mBra8vp06dp06YNkPU65UlJSS+8V5HjN0ZSUlK4f/8+GRlZzzJbtmzZnFYphCgE1HaHs+v25kZSUhJbtmyhevXqVK1a9f9jURTS0tJwcHDA2toaJycnYmJidM69e/cuiYmJemOFz1KdBO/fv8/nn3/Ob7/9lm0ChMd3coQQRZDy6t8Gs7CwYMqUKdStW1eni71jxw6Sk5O1zw02aNCAXbt2MWbMGO0d4m3btmFqavrCReJUJ8HJkyezZcsWGjVqhLu7u86taCFE0WeIFTdNTU0ZNGgQkydPZtKkSfj6+nL27FlmzZpF06ZNeeeddwDo27cvmzZton///gQGBnLp0iWmT59O165dX9g7VZ0Ed+7cSZcuXfjyyy9f7lsJIQqlzHTDzAsQHByMjY0NS5YsYfXq1ZQoUYLu3bvr3GSpXLkyCxcuJCQkhGHDhuHg4EBwcLCqGzGqp9J66623GDduHF27ds39t3mFZCqtgkWm0ip4cjqV1jVvdc8Bl/tT/1nigkz1w9Jvv/02f//9d37GIoQowJRMdVtho7o7/N///peAgABCQkJo1aoVjo6OWT5/I3eHhSialMyiOU2e6u5wzZo1yczMJD09/blzBhaUu8PSHS5YpDtc8OS0OxzzVjNV5VwOReYmHINR3RLs16+fTJgqhBErqi1B1UkwN6+7CCGKjqK5GlEOkuD169efe1yj0WBubo69vb0swi5EEWT0LUFfX19V3WFTU1Pc3d0ZMWIE9evXf6nghBAFh2KAN0ZeBdVJ8IsvvmDatGmkpaXRvn17KlWqhIWFBZcuXWLjxo0kJibSs2dPkpOT2bVrF/379+enn37Cy8srP+MXQrwiGRlGngTPnj1L8eLFWblyJaVLl9Y5NnDgQLp06UJmZiaffPIJo0aNws/Pj7lz57Jw4cI8D1oI8eoV1Zag6oelN27cSM+ePfUSIECJEiXo1q0bv/76KwBWVlZ06NCBEydO5FmgQgjDUjI1qrbCRnVLMCMjg8zM7B8HT0tLIzk5WfvZwsLiueWFEIVLUb07rLol6OXlxeLFi7Ocr//atWuEh4fz1ltvafft2LGDSpUq5U2UQgiDy8gwUbUVNqpbgmPGjKFHjx60a9eOxo0b4+Ligrm5OZcuXWLv3r2YmZkxZswYANq0acPFixcJDQ3Nt8CFEK9WUR0TVJ0EK1asyC+//MKsWbPYsWOHdtW54sWL07RpU4YPH0758uWJi4vD0dGRoKAg2rZtm2+BCyFeraLaHVb97vCz7t+/T3p6OiVLliyQr9PJu8MFi7w7XPDk9N3hIy7tVZWrHbM+N+EYTK478Pb29pQqVQqNRkNmZiYJCQn89ttveRmbEKIAyczUqNoKG9Xd4YSEBL755hu2b99OUlIS2TUgC8osMkKIvJVp7GOCoaGhREREULt2baytrdm/fz/t2rXj7t27/PPPP5iamjJ16tT8jDVHyr/ZxtAhiKfsdJRXKAs7o78xsnv3bpo3b86sWbO4d+8e3t7e+Pv7U7NmTU6dOoWfnx8XL8o4nBBFVVFtCaoeE4yLi6NBgwYAODg44OTkxLFjxwBwd3fn/fffZ8OGDfkTpRDC4DIUjaqtsFGdBK2trXXeAHF2dubs2bPaz66uri+cbksIUXgpikbVVtioToI1a9Zky5Yt2oXX33zzTQ4ePKi9QRIdHS1rEQtRhGWq3Aob1Umwd+/eREVF0bJlSx48eECnTp24ePEivXv35rPPPmPJkiXahZCFEEWPgkbVVtioToLe3t7MmzePihUrYmdnR82aNfnss884cuQIP//8M9WqVWP8+PH5GasQwoDSFY2qrbDJ9RsjT6SmppKcnIydnV1exZQnyti7GzoE8ZRVlh6GDkE8o/HN1Tkqv8Opm6pyTW+tzE04BqP6EZnsmJuby1igEEagMI73qZFtEnR3dyckJIR27doBULVq1Re+I6zRaDh58mTeRiiEKBAK43ifGtkmwY4dO+Ls7KzzuSBOlCCEeDWMriX4zTff6HyePHlyvgcjhCi4MoytJSiEEE8rhBPEqJJtEmzatGmuKtyxY0eugxFCFFyZxtYSLFu2rN6+kydP8vDhQ9zc3KhUqRKZmZlcuXKFkydP4ujoSMOGDfM1WCGE4RTRiaWzT4Lh4eE6nzdv3syECRNYsmQJdevW1Tl2+PBh+vfvj4eHPAsmRFGVXkRvjKp+Y2TmzJkEBAToJUAAT09PAgMDWbRoUZ4GJ4QoOBSVW2Gj+sbInTt3cHR0zPZ48eLFefDgQZ4EJYQoeIrqIzKqW4Jubm6sWbOGpKQkvWNxcXEsW7aMWrVq5WlwQoiCI1OjbnsZp06donr16ty8eVNn/759++jcuTO1atXC19eXhQsX6p17/Phx/P398fT0pGHDhkyfPp20tLQXXlN1S3DYsGH079+ftm3b0rZtW8qXL09KSgqXLl1i/fr1pKWl8e2336qtTghRyOT3c4IXL15kwIABpKen6+w/dOgQAwcOpHXr1gwfPpyoqChCQkJQFIU+ffoAEBMTQ1BQEJ6ensycOZMLFy4wY8YMEhMTmThx4nOvqzoJ1q9fn3nz5jF16lTmzZun3a/RaPDy8mLcuHFUr149J99ZCFGI5Ndzgunp6axcuZJp06ZRrFgxveNhYWFUq1aN0NBQABo3bkx6ejrff/89/v7+mJubM2/ePGxtbZk7dy7m5uY0adIES0tLJk2axIABA3Bycsr2+jlacrN+/fpERETwxx9/sHr1atasWcMff/xBeHi4JEAhirj8mlQ1KiqKqVOn0rt3b0aNGqVzLCUlhYMHD9KiRQud/S1btiQ+Pp5Dhw4BsH//fnx8fHQmc2nVqhUZGRns27fvudfP1Rsjjo6Oz71JIoQoevLrzm/lypWJjIykZMmSRERE6By7cuUKaWlpVKxYUWe/i4sL8HhG+1q1anHjxg29Mo6OjtjY2BAdHf3c68trc0IIVdJVdofj4+OJj4/X229nZ5flvKOlSpXKtq6EhAQAbGxsdPZbW1sDkJiYmG2ZJ+USExOfG68kQSGEKmq7uosXL2b27Nl6+4cMGcLQoUNzdM0ncz5nN4OViYnJc8soioKJyfNH/SQJCiFUUTtzfmBgIJ06ddLbn5vZ521tbQH0WnNPPtva2mpbgFm1+JKSkrR1ZEeSoBBCFbUtwey6vbnh7OyMqakply9f1tn/5HPFihWxtrbGycmJmJgYnTJ3794lMTFRb6zwWTm6OwyPb2cfPnyYzZs3ExsbS2JiorwpIoQRyFC55SULCwu8vLzYvn07Ty+HtG3bNmxtbbXzFTRo0IBdu3aRmpqqU8bU1DTLV32flqMkuGXLFt5991169uzJyJEjOXfuHFFRUTRp0oT58+fnpCohRCHzKt4YycqgQYM4dOgQI0aMYM+ePcycOZMFCxYwYMAArKysAOjbty937tyhf//+7Nq1i0WLFvHNN9/QtWvXLGfEeprqJLhv3z5GjhxJhQoVGDt2rDYrv/HGG7i6ujJt2jTWrVv3El9VCFGQGWrxdW9vb2bNmsWFCxcYPHgwGzZsYMyYMfTr109bpnLlyixcuJCkpCSGDRvGokWLCA4OZsKECS+sX/WSmz169CAjI4Off/6ZBw8e4O3tzaJFi/D29iY9PZ2AgACSk5P1nvMxFFlys2CRJTcLnpwuuTnNuZeqciMvL81NOAajuiV46tQp2rRpk+XtZjMzM9q2bfvChxKFEIVXhkbdVtiovjtcrFgxvRebn3b//v0s3/sTQhQNRj+VVt26dVmzZg0pKSl6x27fvs3y5cupU6dOngYnhCg4jH5S1Y8++ohu3brRvn17GjdujEajYceOHezevZtffvmF1NRUhg0blp+xCiEMKLNQprgXU90SrFy5MsuWLaN06dKEh4ejKApLly5l8eLFODs789NPP+HuLjcjhCiqDHV3OL/l6I0RNzc3wsPDuX//PpcvXyYzM5Ny5crx2muv5Vd8QogCIq8fhC4ocvXanL29Pfb29nkcihCiIDO6xdefpXYxdll8XYiiqaiOCapOglm9epKZmUlsbCwxMTFUqFCBBg0a5GlwQoiCo2imwBwkwWcXY3/aiRMn6Nu37wtfVBZCFF7pRTQN5ngWmax4eHjQq1cv5syZkxfVCSEKIKN/TvBFSpUqxaVLl/KqOiFEAVMYH39RI09agnfu3GHFihUvnLJGZK1B43dYt2Up568c5PDJ3XzxzXiKWxfXKePsUo4F4WGciv6TU9F/Muv7yZQs6WCgiIuuKlMHUDPisyyPmZWwpt7xH3Hq9q7+QY2G8kM68vbfs2kQvYy3doRSpodvvsb6qmWiqNoKm5e+O5yamkpcXBwZGRl8+umneRaYsWjQqC6rflnAsSP/8tXn0ylbrgx9B/pTq3Z1Ov7HH0VRcHCwZ+2GxRQrVow5MxdgambKB8N6417dlda+3UhLSzP01ygSyvTw5fVezbj/x796xzTFzHCf9xHmr9lneW6VkP687t+M+/tPcO2Hjdh4VMR1xiCsKr9O9KRl+Rz5q2H0zwlm18ozNTXlnXfeoW3btrz77rt5FZfRmPjlGK5dvUGnNgEkJz9+L/va1RtMnjYRn6YN2Rn5OwMGB/J6WSd86nfg3NmLABw6eIzV6xbStUdHli3J2ZRI4hkmJjh/+B4uo7pkedi8jCPu80ZQom7VLI/b1KzE6/7NiNtxiBP+UyDzcccx5WYczsPf4/ba33l46nKW5xYmSiFs5amhOglOnDiRN998M9tVn0TOWViYczc2jk3rt2sTIMCf+/8BoFp1N3ZG/k7Hzv/hj33/aBMgwO97/uTc2Yt07NxakuBL0FgUw3Pz19hUr8CtVbuxb1hD57hDk5q4LxiFRqPh2o+bKdfvP3p1lGzxeOKQmOlrtQkQ4Orc9bh89D6luzYh+vPsn64oLIx+TDAoKIjp06fnZyxGJyUllZ7v9yds+jyd/dVrPG5xXL16nRIl7KhQ0ZljR/S7aMePnqRWbZms9GWYWBTDzLY4J/tP58ywOSgZup0+qypv8OCPf4nyHUXslr+zrMO8jCOAXmsvI/ERqXfuY+Px/IV+CgujHxNMSkqiXLlyeXLRrNYkzY5Go2Hw4MF5ct2C7o3yZWnQqC6fThrLqX/PsmVjJBUruQBw48YtvfK3b93BroQttnY2JMQ/f4FpkbWMhEcc8B4KGVm3c24s3s71+ZsBsChXMus6kh634s1sLElNSv7/AxoNZnbWmJe2z9OYDSWjECY4NVQnwcDAQBYuXMibb76Jl5fXS1109uzZaDQaTE1NedHs/saSBO3tS3Dw+ONXDpMeJjFh7CRSUlKxtrEG4NHTv1z/8+jR41++4sWtJAnmlqJARvb/BpW07CcSfiIh6izQhlLt6nF9wVbtfsdmnphYFMPEomhMNlxUu8Oqk+CJEye4c+cO/v7+WFpaYm9vrzfVvkajITIy8oV1eXp6cuTIESpWrEibNm1o06YN5cuXz3n0RYiiKAwI/ohi5sXoO6AXq35dyMDeI7l1687j48/5K5yZWTT/QhcWsZsPkHTuGhUn+KGkpnNvzzGsq1fgzcl9SbufiJJeNNKH0d8YSUlJ0a7x+bJWrFjBrVu32LJlC1u2bCEsLAx3d3fatm3Lf/7zH5ycnPLkOoXJgwfxrPtlCwAb121j95/r+eyrsfh3HwSAlaWF3jlWVo/3PUx8+OoCFXqUtHRO+H2N+48jqRI6AICMh8lEf72c1zo2KDI3E4tGKteXJ+8O54aTkxNBQUEEBQVx7do1tmzZwsaNGwkNDaVWrVq0adOGVq1aUapUqTy9bmGQnJzCb9t2029gALdu3AagtJP+nI1OZUpz//4DkpIeveoQxTOSL9/mcMuxFK9aHlNrK5JOXybjYTLlh3TkQRbPHRZGRXVMUPXd4YCAAP78889sj+/cuZO2bdvmKohy5crRt29f1q5dy9atW/Hx8SEiIoImTZoQFBSUqzoLgzerVOSfY5EE9emhd8zGxprMzExSUlOJuXSFmrWq6ZXxqOnO0cNF4xesMLMoW5IyPX0pVqoESaevkBB1loyHyVi6OGHxuiMPDpw2dIh5IlNRVG2FTbZJ8NGjR1y/fl27HThwgPPnz+vse7JdvXqVvXv3cuXKlZcOyM7ODkdHR0qWLIlGo+Ho0aMvXWdBFX3xMrZ2NgT07qazUt8b5cvSpl0L/tz/Dw8Tk9i0fjuN3vXmzSr//6hFoybeVHGtxK8Rmw0RuniKqY0VrtMHUaaHj87+CuN7kHY/kdtrfzdQZHnL6CZQePToER07diQhIQF4fNPj66+/5uuvv86yvKIouZ5PMC4ujsjISLZu3cqBAwcwNTWlUaNGTJkyBR8fnxdXUEhlZGQwYcxXzJkXwi+blrB21QYcHO3p3a8nCgoTxnwFwJxvF9ClewdWr1vE93MWYWFhweDhfTh6+ARrV6438LcQSWevcnf7QVxGdsGshDWPom9SsnVdHH1rc2bYHDISi8ZwRWF8BlCNbJOgo6MjoaGhHD9+HEVRmDNnDs2bN8fNzU2vrImJCY6OjrRp00b1he/evcv27dvZunUrUVFRmJqa0rBhQyZPnoyvry/Fixd/cSVFwNpVG0hLTWPwh3357KuxJCUlsW/PX3zz5bdcvHAJgLt379HxP/588fV4xowfyqNHyWzdtIMvPgklNVXeGy4ITn8QRoWx3SndqSFm9jYknozh38ApxP12yNCh5ZmiOiaoUV70oN7/jB8/nu7du1OrVq2Xvqi/vz+HDh3CzMyMhg0b0rp1a3x8fLC2tn7pup8oYy8r3xUkqyzlzZaCpvHNnL1u2cWlg6pyq2PW5SYcg1GdBPNS1apVMTExwcPDAxsbm+eW1Wg0LFiwIMfXkCRYsEgSLHhymgTfd2mvqtyamMI1RJNnk6rmxNtvv639/zINlBCFg9E/J5iX8vqZQyFE/jNAp/GVMEgSFEIUPkV1oSVJgkIIVYz+3WEhhHEzuucEhRDiaTImKIQwakX1YWlJgkIIVfKrO5yens5bb71FSkqKzv7ixYtz+PBhAPbt28eMGTM4f/48JUuWpFevXvTu3TtPri9JUAihSn51h6Ojo0lJSWHKlClUqFBBu//JpM2HDh1i4MCBtG7dmuHDhxMVFUVISAiKotCnT5+Xvr4kQSGEKvnVEjx9+jQmJia0bNkSKysrveNhYWFUq1aN0NBQABo3bkx6ejrff/89/v7+mJubv9T1Vc8nKIQwbhlKpqotp06dOoWzs3OWCTAlJYWDBw/SokULnf0tW7YkPj6eQ4defoIKSYJCCFXyaz7BM2fOYG5uTp8+ffD09OTtt99m4sSJJCYmcuXKFdLS0qhYUXfZUheXx6swRkdH5/4L/Y90h4UQqqjtDsfHxxMfH6+3387ODjs7O739p0+fJjExkS5dujBw4EBOnDjBrFmziI6O5qOPPgLQm2jlyYxTiYkvv8qiJEEhhCpqk+DixYuzXFt8yJAhDB06VG//jBkzKFGihHau0rfffpuSJUsyevRo9u/fD5DtYlXPrniZG5IEhRCqqB3vCwwMpFOnTnr7s2oFAtStW1dv37vvvqvz+dkW35PPtra2qmJ6HkmCQghV1L47nF23Nyt3795l586d1KtXT2ft8eTkZABKliyJqakply9f1jnvyednxwpzQ26MCCFUURRF1ZYTGo2GiRMnsnTpUp39mzdvxtTUlPr16+Pl5cX27dt16t62bRu2trZ5sha6tASFEKrkx3OCjo6O+Pn5ER4ejo2NDV5eXkRFRfH999/j5+eHi4sLgwYNIjg4mBEjRtCpUycOHz7MggULGDlyZJaP1eSUQabXfxVkev2CRabXL3hyOr1+rTL1VZU7evOPHNWblpbGTz/9xNq1a7l27RpOTk507dqVvn37am98/Pbbb4SFhREdHY2TkxN+fn559tqcJEHxSkgSLHhymgRrlvFWVe7YzT9zE47BSHdYCKFKZtFsL0kSFEKoIzNLCyGMmrQEhRBGLTeTIxQGkgSFEKpId1gIYdSkOyyEMGrSEhRCGLUMJcPQIeQLSYJCCFWK6HsVkgSFEOrI4utCCKMmLUEhhFGT5wSFEEZNWoJCCKMmY4JCCKMmLUEhhFHLyJQxQSGEEZPusBDCqEl3WAhh1GQCBSGEUZPnBIUQRk26w0IIoyZTaQkhjJq0BIUQRq2o3hgpsouvCyGEGiaGDkAIIQxJkqAQwqhJEhRCGDVJgkIIoyZJUAhh1CQJCiGMmiRBIYRRkyQohDBqkgSFEEZNkmAB4+/vj5ubm87m5eVFQEAABw4cMHR4RuXJf4tevXplW6ZHjx64ubkxa9asVxiZyEvy7nABVKNGDT7++GMAMjIyuHfvHitXrqRPnz5ERERQpUoVA0doPDQaDVFRUdy5c4fXXntN59jNmzc5fPiwgSITeUVaggWQjY0NtWvXpnbt2tSpU4dmzZoxa9YszMzMiIiIMHR4RsXDwwMzMzO2b9+ud2zr1q1UqVIFU1NTA0Qm8ookwULCwsICS0tLNBqNoUMxKjY2NjRs2JCtW7fqHdu8eTOtW7c2QFQiL0kSLIAURSE9PZ309HTS0tKIjY1lxowZPHr0iM6dOxs6PKPTunVroqKiuHv3rnbftWvXOHbsGG3atDFgZCIvyJhgAfTXX39RvXp1vf2jR4+mcuXKBojIuPn6+mJmZsZvv/1G9+7dAdiyZQvVqlXDxcXFwNGJlyVJsACqWbMmEydOBB63Cu/du8fWrVsJDQ3F3NycgIAAA0doXJ7uEj9Jgps3b+Y///mPgSMTeUGSYAFkbW1NjRo1dPY1adKEmzdv8u233+Ln5yeD8a9Y69atGTt2LHFxcSQmJnLy5Elmz55t6LBEHpAxwULE3d2dxMRE4uLiDB2K0XnSJd6xYwdbtmyhdu3alC1b1tBhiTwgLcFC5Pjx45QoUQJHR0dDh2J0rK2tadSoEdu2bSMuLo6OHTsaOiSRRyQJFkCJiYkcOXJE+zk5OZkNGzZw4MABRowYIV1hA2ndujXjxo0jIyOD77//3tDhiDwiSbAAOn78ON26ddN+trKyomLFinzyySf4+fkZMDLj5uPjg6mpKZ6enpQuXdrQ4Yg8IqvNCSGMmtwYEUIYNUmCQgijJklQCGHUJAkKIYyaJEEhhFGTJCiEMGqSBAshX19f/P39tZ/9/f3x9fXNcT15/QreuHHjcHNzy5NzZ82ahZubG1evXs2r8Azu6tWrMhV/ASQPSxcBAwcO5NGjRzk658SJEwwaNIipU6fyzjvv5FNkude8eXOcnZ2L1CuCjo6OhISE5PoPhcgfkgSLgAYNGuT4nLNnz3L79u18iCZvVK1alapVqxo6jDxVvHhxOnToYOgwxDOkOyyEMGqSBHPB19eXCRMmsHr1apo2bUrt2rXp3r07f/31l165jz/+mP/+97/UqFGDxo0ba8fgDh8+THBwMJ6ennh6etK7d2+OHTumd63NmzfToUMHatasSdu2bfWuAVmPCV64cIHhw4fzzjvvUKdOHfz9/Tl48CDweLxt/PjxAAQEBOice/PmTcaMGUO9evWoUaMGHTt2ZP369XrXPHHiBL1798bT05NGjRqxZMkS1T8/NedmNSb477//MnToUOrXr0/16tXx9vZm5MiR3Lx5U+fcW7duMXr0aOrVq0edOnUYPXo0kZGRuLm58ffffwMQERGBm5sbp0+fZuTIkbz99tt4enoyePBgvXHIR48eMW3aNHx9ffHw8MDX15epU6fqDUFs27aNzp074+npSZ06dQgODiYqKkp7PKsxwTNnztCnTx/q1atHrVq16NSpE2vWrFH9sxQvT7rDufTHH3+wfv16/P39ee2111ixYgV9+/Zl4cKF1K1bV1tu06ZNVKxYkQkTJhAbG4ujoyP79+9nwIABVK1aleHDh5OamkpERAR+fn4sWrQILy8v4PEv6vjx4/H09GT06NHExMQwcOBAMjMzKVeuXLaxXbp0ia5du2JmZkavXr1wdHTk559/Jjg4mGXLltG8eXPu3LnDypUrGThwoHYC11u3btGlSxcURcHf358SJUqwY8cORo8eze3bt+nbty8A586dw9/fHzs7Oz744APS0tKYM2cOGRkZL/y55fbcM2fO0LNnT1xcXOjfvz9WVlYcOnSIdevWcfv2bcLDw4HHN3t69erFnTt3CAwMxMHBgdWrV7N3794s6x00aBCVK1dmxIgRXLlyhcWLF3Pr1i1tIkpNTSU4OJgjR47w3nvv4eHhwbFjx/jxxx+JiopiyZIlFCtWTDvDT+PGjenSpQuPHj1i6dKlBAcHs2nTJsqXL6937bi4OPr06YODgwODBg3CwsKCTZs2MWHCBCwsLGjXrt0Lf54iDygix3x8fBRXV1flt99+0+67e/eu4uXlpXTt2lWnXNWqVZWYmBjtvoyMDKVp06ZK9+7dlfT0dO3+hw8fKs2bN1c6dOigKIqipKenK97e3krnzp2V1NRUbbm1a9cqrq6uSq9evbT7evXqpfj4+Gg/Dx8+XKlZs6Zy6dIl7b64uDilTp06yrBhw3Tq+euvv7Rlxo4dq9StW1e5deuWzvf96KOPFA8PDyU2NlZRFEUZOnSoUrt2beX69evaMufPn1c8PDwUV1fX5/7s1J4bFhamuLq6KleuXFEURVEmTpyo1KpVS7l3755OfSNGjFBcXV21+2fPnq24uroq+/fv15ZJSEhQ3n33XZ3v++T7DxkyRKe+iRMnKq6urkp0dLSiKIqyfPlyxdXVVVm0aJFOuR9//FFxdXVVli1bpiiKonz66aeKp6enkpmZqS1z+vRppUWLFsqWLVsURVGUK1euKK6urkpYWJiiKIqyadMmxdXVVTl27Jj2nJSUFKVTp07K1KlTn/tzFHlHusO5VKlSJZo1a6b97OjoSIcOHTh69KjOqmTOzs44OztrP588eZIrV67QrFkzHjx4QFxcHHFxcSQnJ+Pj48OpU6e4efMm//77L3fv3uW9996jWLFi2vM7dOhAiRIlso0rMzOTPXv20KRJE51FgBwcHFi+fLl2UfeszouMjMTLywszMzNtXHFxcbRo0YLU1FT2799PZmYmv//+O02aNOH111/Xnl+5cmUaNmz43J/Zy5z72WefsXPnTuzt7bX7EhMTsbCwACApKQmAyMhIXF1dqV+/vracjY0NPXr0yLLeZ5fMdHd3ByA2NhaAnTt3YmNjozeFWUBAADY2NuzYsQOAMmXK8PDhQyZNmsSFCxcAcHNzY9u2bbRq1SrLa5cpUwaAadOmcfDgQTIyMjA3NyciIoKRI0c+9+ch8o50h3PpzTff1Nvn4uKCoihcu3aNkiVLAmj/94nLly8DEBISQkhISJZ137hxQzvO9XQCBTA1NX3uCmf3798nKSkpyzKurq7Znnfv3j0SEhKIjIwkMjIy27ie1P9sXPD4D8POnTtfGFtuztVoNNy7d48ffviBM2fOcPnyZa5fv47yv5ngMjMzgcdDAVkl1EqVKmVZr4ODg85nc3NzAG33/OrVq5QvX17nD9GTcuXLl+fatWsA9OrVi3379rF06VKWLl3KG2+8gY+PD++//362d7nfeust/P39Wbp0KX/++Sf29vY0bNiQdu3a8e6772b7sxB5S5JgLj37SwH//4vz9MzPz84C/eSXdfjw4dSuXTvLuitVqsStW7cASElJ0Tv+pI6sPInBxCRnjfwn57Vs2VK7otqznh7XymlcT8vNubt37+aDDz6gdOnS1KtXj8aNG+Ph4cG+ffv44YcftOXS09O1iexpT1qMz3rRz0l5znSbmZmZ2n8HNjY2LF26lCNHjhAZGcnevXsJDw9n2bJlhISEZDu+9/HHHxMQEMC2bdvYu3cv27ZtY+PGjXTr1o0vvvjiubGJvCFJMJeetOieFhMTg6mpKW+88Ua25z25oVG8eHGdLhvAsWPHePDgAZaWltqEc+nSJZ0yT1qaVapUybJ+BwcHLC0tiYmJ0Tu2YMECYmNjGTt2rN4xR0dHrKysSE9P14vr+vXrnDx5EisrKxwcHLCxsdGLC3jh2x0vc+6XX36Ji4sLa9eupXjx4tr9GzZs0ClXvnx5oqOj9c7P6uehRrly5Thy5AhpaWk6f/hSU1O5evWq9iZWdHQ0CQkJ1K5dm9q1azNq1CjOnz+vvdmVVRKMjY3l3LlzeHt7069fP/r168e9e/cYPHgwq1atYvTo0dja2uYqbqGejAnm0vHjx3XWAYmNjWX9+vXUq1fvuWN2Hh4evPbaa4SHh/Pw4UPt/sTERD788EPGjx+Pqakp1apVo1y5cqxYsULnUYxNmzZx7969bOs3MzOjQYMG7Nmzhxs3bmj3P3jwgAULFmiT95MW0JMWmJmZGY0bN2bPnj2cPn1ap87JkyczePBg7t27h0ajoXnz5vz++++cPXtWW+bq1avs3r37OT8xXurc+/fvU7ZsWZ0EeOPGDbZv3w78f0u2efPmnDx5Uue/TWpqaq4fO/H19SUxMZFly5bp7F++fDkPHz7UdlsnTZrEBx98oPPftFKlStjZ2WXb2oyIiCAoKIjjx49r9zk4OODi4oJGo8lxa17kjrQEc8nc3Jx+/foRGBiIpaUly5cvJzMzkzFjxjz3vGLFivHJJ5/w4Ycf8t577/H+++9jYWHB6tWruX79OlOnTsXM7PF/lk8++YTBgwfTrVs3OnfuzK1bt1i2bJnOzYGsjBw5ki5dutClSxf8/PywsbFh1apVJCUl8eGHHwJoX0dbsWIFsbGxtGvXjlGjRvH333/j5+eHn58fZcuWZffu3ezatYtu3bppW5/Dhw9n9+7d+Pv7ExQUhKmpKeHh4VhbW5Oamvrc2HJ7buPGjdm8eTMTJ06kRo0aXL16lVWrVmn/QDxJPr1792bdunUEBwcTEBCAo6Mj69at07YONRrNc+N7VpcuXfjll1+YPHkyZ8+excPDgxMnThAREUGtWrXo0qULAMHBwfTr1w8/Pz86duyIhYUFkZGRXL58mSlTpmRZd8eOHVm0aBEDBw6kR48eODk5ceLECX799Vc6deqEtbV1jmIVuSNJMJdq165NmzZtmDt3LgkJCXh5eTFy5EhVr3q1bNmShQsX8t133zF37lxMTEyoUqUK3333HT4+PtpyPj4+/PDDD8yaNYvp06fj5OTEV199pdcqeVblypVZuXIl06dPZ/78+ZiYmFCzZk2mTJmiTWTe3t60bt2aXbt28ddff9GiRQucnZ1ZtWoVYWFh2qRZvnx5xo8frzNhw+uvv86KFSsICQlh/vz5mJuba5PB0+NzWcntuZ999hnFixdn586drFu3jjJlytCxY0eaN29Ojx49+Ouvv6hWrRolSpRg6dKlTJ48mfDwcDQaDS1atKBt27ZMmTIly/HC5zE3N+enn35izpw5bNmyhfXr11OmTBkGDBjAoEGDtF3khg0b8t133/HDDz8wd+5cUlJSqFKlCtOnT6dNmzZZ1l26dGmWLFlCWFgYP//8M/fv36dcuXIMGTKEfv365ShOkXuy0FIu+Pr6Uq5cOe0DuqLgiIuLo0SJEno3pBYuXMiUKVOIjIzM8sFlYbxk0EEUKVOmTMHb25vk5GTtvoyMDLZu3Yqjo+Nz37QRxkm6w6JIad++PevWrSMgIID27duj0WjYtm0bR48eZdKkSXKzQeiRfxGiSGnQoAHz5s3DwsKCsLAwpk6dSmpqKrNmzdKOPQrxNBkTFEIYNWkJCiGMmiRBIYRRkyQohDBqkgSFEEZNkqAQwqhJEhRCGLX/AzbtKBIFyBfOAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(4.5,3.8))\n", - "util.plot_confusion_matrix(x=X, y=y, x_test=X, y_test=y,threshold=0.5)\n", - "# plt.savefig(\"confusion_matrix_train.png\",dpi=600)" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "number samples: 171\n", - "number M: 63\n", - "number B: 108\n", - "Accuracy : 0.895\n", - "Sensitivity: 0.825\n", - "Specificity: 0.881\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "X_test,y_test = util.load_data(testing_data=True, columns=[\"concavity_mean\", \"texture_mean\"])\n", - "\n", - "f, ax = plt.subplots(figsize=(4.5,3.8))\n", - "util.plot_confusion_matrix(x=X, y=y, x_test=X_test, y_test=y_test,threshold=0.5)\n", - "# plt.savefig(\"confusion_matrix_test.png\",dpi=600)" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/christophlippert/Library/CloudStorage/OneDrive-Personal/HPI/Lectures/2024_SS_Math4ML/Math4ML-Code/week6/plotting_util.py:272: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud', or set rcParams['pcolor.shading']. This will become an error two minor releases later.\n", - " plt.pcolormesh(xx1, xx2, Z, cmap=cmap, alpha=0.05)\n" - ] - }, - { - "data": { - "text/plain": [ - "(-0.01, 0.45)" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "importlib.reload(util)\n", - "f, ax = plt.subplots(figsize=(7,7))\n", - "ax, clf = util.plotfun2D_logreg(X,y,X_test=X_test, y_test=y_test, threshold=0.5, prob=True)\n", - "plt.ylim([8,39.9])\n", - "plt.xlim([-0.01,0.45])\n", - "# plt.savefig(\"./uci_breast_cancer/plots/scatter_decision_boundary_test.png\", dpi=600)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusions\n", - "- use data to derive a program instead of relying on expert\n", - "- need a target objective to learn and regularization to avoid overfitting\n", - "- predictions are uncertain -> probabilities\n", - "- fitting to data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## References\n", - "[Street et al, 1992] N. Street, W. Wolberg, O.L. Mangasarian: Nuclear Feature Extraction For Breast Tumor Diagnosis. IS&T/SPIE 1993." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/week6/plotting_util.py b/week6/plotting_util.py deleted file mode 100755 index 8eab22b..0000000 --- a/week6/plotting_util.py +++ /dev/null @@ -1,324 +0,0 @@ -import numpy as np # efficient matrix-vector operations -import numpy.linalg as la # linear algebra (solvers etc.) -import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) -import seaborn as sns # data visualization -import matplotlib.pyplot as plt # basic plotting -# from scipy.stats import norm # not used -from sklearn.model_selection import train_test_split -from sklearn.metrics import f1_score,confusion_matrix -from sklearn.metrics import accuracy_score -from sklearn.neighbors import KernelDensity -from sklearn.neighbors import KNeighborsClassifier -import logistic_regression -import time -sns.set(style="whitegrid") # set the figure default style - -sns.set(font_scale=1.5) # bigger fonts in images - -def plot_logistic(): - a = np.linspace(-8.0,8.0,100) # create 100 points on a line - # Set up the figure - f, ax = plt.subplots(figsize=(7, 6)) - linex=np.arange(-9, 9, 0.003) - liney = np.arange(-0.1, 1.1, 0.01) - xx1, xx2 = np.meshgrid(linex, liney) - plt.pcolormesh(xx1, xx2, logistic_regression.logistic(xx1), cmap='bwr', alpha=0.1) - - plt.plot([0,0],[-1,2],':k',alpha=0.8,linewidth=3) - plt.plot(a, logistic_regression.logistic(a), 'k', linewidth=5) - # plt.plot(a, 1.0-logistic(a), 'k:', linewidth=5, alpha=0.5) - - plt.xlim([-8,8]) - plt.ylim([-0.02,1.02]) - plt.yticks([0.0,0.5,1.0]) - plt.xticks([-8,-4,0,4,8]) - - ax.patch.set_facecolor('white') - plt.legend(['decision function','$\pi(\mathbf{xw})$']) - - ax = plt.xlabel('$\mathbf{xw}$') - ax = plt.ylabel('$p(y=c_1|\mathbf{x})$') - - - bins = np.linspace(-10, 10, 20) - - # plt.scatter(Xw, (y.values[:,np.newaxis]=="M") , (y.values[:,np.newaxis]=="M"), size=20) - - ax = plt.title("The logistic sigmoid") - plt.savefig("./uci_breast_cancer/plots/logistic_sigmoid.png", dpi=600) - -def load_data(testing_data=False, columns=None): - data = pd.read_csv('./../datasets/breast_cancer_data/data_processed.csv') #'./uci_breast_cancer/input/data.csv') - # y has the labels and x holds our features - y = data["diagnosis"] # M or B - x = data.drop(['diagnosis'],axis = 1 ) - if columns: - x = x[columns] - x['bias'] = np.ones(x.shape[0]) - # split data train 70 % and test 30 % - x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=42) - - if testing_data: - return x_test, y_test - else: - return x_train, y_train - - -def scatter_plot_kde2(X,y): - ax = plt.gca() - - plt.scatter(X.concavity_mean[y=="M"], X.texture_mean[y=="M"], alpha=0.8, color="r") - plt.scatter(X.concavity_mean[y=="B"], X.texture_mean[y=="B"], alpha=0.8, color="b") - plt.legend(["$c_1$ (M)", "$c_2$ (B)"]) - # Draw the two density plots - #ax = sns.kdeplot(X.concavity_mean[y=="M"], X.texture_mean[y=="M"],cmap="Reds", shade=True, shade_lowest=False, alpha=0.4) - #ax = sns.kdeplot(X.concavity_mean[y=="B"], X.texture_mean[y=="B"], cmap="Blues", shade=True, shade_lowest=False,alpha=0.4) - plt.xlabel("$x_1$ (" + X.columns[0]+")") - plt.ylabel("$x_2$ (" + X.columns[1]+")") - return ax - - -def eval_optimizer(X, y, steep=False, irls=False, grad=True): - ax = plt.gca() - max_feature = 3 - - clf = logistic_regression.LogisticRegression(learning_rate = 0.001, max_iter=10000) - - # fit the model using IRLS to get bias term correct and a good w - clf.optimizer = "IRLS" - clf.verbose = False - clf.debug = True - clf, res = clf.fit(X.values[:,0:max_feature],y.values[:,np.newaxis]) - w_init = clf.w.copy() - w_opt = w_init.copy() - # print (w_init[:,0]) - - h=0.5 - minx1 = -10 - maxx1 = 50 - minx2 = -0.5 - maxx2 = 1.5 - - xx1, xx2 = np.meshgrid(np.arange(minx1, maxx1, 3.0), np.arange(minx2, maxx2, 0.03)) - w_grid = np.c_[xx1.ravel(), xx2.ravel(), w_init[-1,0] * np.ones(xx2.ravel().shape[0])] - Z = np.zeros(w_grid.shape[0]) - - for i in np.arange(w_grid.shape[0]): - clf.w = w_grid[i,0:max_feature,np.newaxis] - Z[i] = clf.objective(X=X.values[:,0:max_feature],y=y.values[:,np.newaxis]) - - Z = Z.reshape(xx1.shape) - - plt.pcolormesh(xx1, xx2, Z, cmap="viridis") - - w_irls = np.concatenate(res['w'],1) - - plt.colorbar() - plt.axhline(y=0, xmin=minx1, xmax=maxx1, color='w') - plt.axvline(x=0, ymin=minx2, ymax=maxx2, color='w') - - - plt.plot(w_opt[0,0],w_opt[1,0],'mo', markersize=15) - # fit the model using steepest descent - - if steep: - # fit the model using steepest descent - clf.optimizer = "steep" - clf.learning_rate=0.0002 - clf.max_iter = 200000 - w_init[:] = 0.0 - clf, opt = clf.fit(X.values[:,0:max_feature],y.values[:,np.newaxis], w_init=None) - w_steep = np.concatenate(opt['w'],1) - - plt.plot(w_steep[0][::1001],w_steep[1][::1001],'y.-', markersize=5, linewidth=3) - if irls: - plt.plot(w_irls[0],w_irls[1], '.-', markersize=15, linewidth=3, color="r") - plt.xlabel("$w_1$ (" + X.columns[0]+")") - plt.ylabel("$w_2$ (" + X.columns[1]+")") - return ax - - -def eval_optimizer1D(X, y, taylor1=False, taylor2=False): - ax = plt.gca() - max_feature = 3 - - clf = logistic_regression.LogisticRegression(learning_rate = 0.001, max_iter=10000) - - # fit the model using IRLS to get bias term correct and a good w - clf.optimizer = "IRLS" - clf.verbose = False - clf.debug = True - clf, res = clf.fit(X.values[:,0:max_feature],y.values[:,np.newaxis]) - w_init = clf.w.copy() - w_opt = w_init.copy() - # print (w_init[:,0]) - - minx = 27 - maxx = 40 - - xx = np.arange(minx, maxx, 0.3) - plt.xlim([minx,maxx]) - - Z = np.zeros(xx.shape[0]) - dZ = np.zeros(xx.shape[0]) - ddZ = np.zeros(xx.shape[0]) - - def eval1D(w1): - ww = clf.w.copy() - clf.w[0]=w1 - ret = clf.objective(X=X.values[:,0:max_feature],y=y.values[:,np.newaxis]) - clf.w = ww - return ret - - def derivative1D(w1): - ww = clf.w.copy() - clf.w[0]=w1 - ret = clf.gradient(X=X.values[:,0:max_feature],y=y.values[:,np.newaxis]) - clf.w = ww - return ret[0,0] - - def hessian1D(w1): - ww = clf.w.copy() - clf.w[0]=w1 - ret = clf.hessian(X=X.values[:,0:max_feature],y=y.values[:,np.newaxis]) - clf.w = ww - return ret[0,0] - - - - for i in np.arange(xx.shape[0]): - Z[i] = eval1D(xx[i]) - dZ[i] = derivative1D(xx[i]) - ddZ[i] = hessian1D(xx[i]) - - Z = Z.reshape(xx.shape) - - plt.ylim([Z.min()-3,Z.max()]) - - - # plt.plot(xx, Z+xx*dZ) - # plt.plot(xx, ddZ) - - - plt.xlabel("$w_1$ " + X.columns[0]) - plt.ylabel("$L$") - - def taylor1_1D(x,a): - fa = eval1D(a) - da = derivative1D(a) - return fa+(x-a)*da - - def taylor2_1D(x,a): - dda = hessian1D(a) - return taylor1_1D(x,a) + 0.5 * (x-a)*(x-a) * dda - - def solve_taylor2_1D(x): - dx = derivative1D(x) - ddx = hessian1D(x) - return x - dx/ddx - - - a = 28 # where we are - - plt.plot(a,eval1D(a),'.k', markersize=25) # where we are - plt.plot(w_opt[0],eval1D(w_opt[0]),'om', markersize=15) # the minimum - plt.plot(xx, Z, 'm', linewidth=3) - - legend = [ '$w_1^{t}$','$w_1^{opt}$', '$L(w_1)$'] - if taylor1: - plt.plot(xx,taylor1_1D(xx,a),':k', linewidth=4) - legend.append("$L(w_1^{t}) + (w_1 - w_1^{t})\cdot \partial/\partial w_1 L(w_1^{t})$") - if taylor2: - plt.plot(xx,taylor2_1D(xx,a),':r', linewidth=4) - solution_a = solve_taylor2_1D(a) - plt.plot(solution_a,taylor2_1D(solution_a,a),'r.', markersize=25) # the minimum of the taylor exapnsion - legend.append("$L(w_1^{t}) + (w_1 - w_1^{t})\cdot \partial/\partial w_1L(w_1^{t}) + 0.5*(w_1 - w_1^{t})^2\cdot \partial^2/\partial^2 w_1L(w_1^{t})$") - legend.append("$w_1^{t+1}$") - # plt.legend(legend) - return ax - - - - -def plotfun2D_logreg(X,y,X_test=None,y_test=None, h = 0.003, threshold=0.5, cmap='bwr', prob=True, second_line=False): - x=X - minx1 = x.values[:,0].min()-0.05 - maxx1 = x.values[:,0].max()+0.05 - minx2 = x.values[:,1].min()-5 - maxx2 = x.values[:,1].max()+5 - linex=np.arange(minx1, maxx1, h*(maxx1-minx1)) - xx1, xx2 = np.meshgrid(linex, np.arange(minx2, maxx2, h*(maxx2-minx2))) - X_grid = np.c_[xx1.ravel(), xx2.ravel(), np.ones(xx2.ravel().shape[0])] - - y_vals = np.unique(y) - y = y==y_vals[1] - clf = logistic_regression.LogisticRegression() - clf.fit(X=X.values,y=y.values[:,np.newaxis]) - w = clf.w.copy() - - def normal_line(x, threshold=0.5, w=w): - """ - w[2,0]+x*w[0,0]+y*w[1,0] = logit(threshold) - where logit = logistic^{-1} - returns y = logit(threshold)/w[1,0]-(w[2,0]+x*w[0,0])/w[1,0] - """ - return (logistic_regression.logit(threshold)-w[2,0]-x*w[0,0])/w[1,0] - - Z = clf.predict_proba(X_grid) - Z = Z.reshape(xx1.shape) - - ax = plt.gca() - if prob: - plt.pcolormesh(xx1, xx2, Z, cmap=cmap, alpha=0.05) - else: - plt.pcolormesh(xx1, xx2, 1.0*(Z>=threshold), cmap=cmap, alpha=0.1) - - # Plot also the training points - plt.scatter(x.concavity_mean[y], x.texture_mean[y], alpha=0.8, color="r") - plt.scatter(x.concavity_mean[~y], x.texture_mean[~y], alpha=0.8, color="b") - legend = ["$c_1$ (M)", "$c_2$ (B)"] - if X_test is not None: - plt.scatter(X_test.concavity_mean, X_test.texture_mean, alpha=1, color="w",marker='o',edgecolors='k', s=100) - legend = ["$c_1$ (M)", "$c_2$ (B)", "?"] - - plt.legend(legend) - plt.plot(linex,normal_line(linex, threshold=threshold),':k', linewidth=3, alpha=0.8) - #plt.scatter(x.values[:, 0], x.values[:, 1], c=(y), edgecolors='k', alpha=0.8, cmap='bwr') - # plt.scatter(x[y].values[:, 0], x[y].values[:, 1], c='r',cmap='bwr', alpha=0.8) - # plt.scatter(x[~y].values[:, 0], x[~y].values[:, 1], c='b',cmap='bwr', alpha=0.8) - if second_line: - w_alt = w.copy() - w_alt[0]-=0.1 - w_alt[1]-=0.15 - w_alt[2]+=3 - plt.plot(linex,normal_line(linex, threshold=threshold, w=w_alt),':k', linewidth=3, alpha=0.8) - - plt.xlabel("$x_1$ (" + x.columns[0]+")") - plt.ylabel("$x_2$ (" + x.columns[1]+")") - - - plt.xlim(xx1.min(), xx1.max()) - plt.ylim(xx2.min(), xx2.max()) - ax.grid('off') - ax.patch.set_facecolor('white') - - return ax, clf - - -def plot_confusion_matrix(x, y, x_test, y_test, threshold=0.5): - print("number samples: " + str(x_test.shape[0])) - print("number M: " + str((y_test=="M").sum())) - print("number B: " + str((y_test=="B").sum())) - - - clf = logistic_regression.LogisticRegression() - clf.fit(X=x.values,y=y.values[:,np.newaxis]) - predictions=clf.predict(x_test.values, threshold=threshold) - ac = accuracy_score(y_test,predictions) - cm = pd.DataFrame(confusion_matrix(y_test,predictions, labels=["B", "M"]),index=["B", "M"],columns=["B", "M"]) - sns.heatmap(cm,annot=True,fmt="d") - plt.xlabel("predicted diagnosis") - plt.ylabel("true diagnosis") - print('Accuracy : {:.3f}'.format(ac)) - print("Sensitivity: {:.3f}".format( cm["M"]["M"] / (cm["M"]["M"]+cm["B"]["M"]))) - print("Specificity: {:.3f}".format( cm["M"]["M"] / (cm["M"]["M"]+cm["M"]["B"]))) \ No newline at end of file diff --git a/week7/convexity.py b/week7/convexity.py new file mode 100644 index 0000000..5e3c6bc --- /dev/null +++ b/week7/convexity.py @@ -0,0 +1,80 @@ +import numpy as np +import matplotlib.pyplot as plt + +ml_functions ={ + "MSE": lambda x: (x - 3)**2, + "Logistic Loss": lambda x: np.log(1 + np.exp(-x)), + "Hinge Loss": lambda x: np.maximum(0, 1 - x), + "L2 Regularization": lambda x: x**2, + "Exponential Loss": lambda x: np.exp(-x), + + "Sinusoidal": lambda x: np.sin(x), + "Non-Convex Combo": lambda x: np.sin(x) + 0.1*x**2, + "ReLU": lambda x: np.maximum(0, x) +} + + +def plot_with_secant(f, name): + x_vals = np.linspace(-5, 5, 500) + y_vals = f(x_vals) + + # Random convex combination + x1, x2 = np.random.uniform(-4, 4, 2) + x1, x2 = sorted([x1, x2]) + alpha = np.random.uniform(0, 1) + x_alpha = alpha * x1 + (1 - alpha) * x2 + + y1, y2 = f(x1), f(x2) + y_alpha = f(x_alpha) + secant_val = alpha * y1 + (1 - alpha) * y2 + + plt.plot(x_vals, y_vals, label=f"{name}") + plt.plot([x1, x2], [y1, y2], 'r--', label='Secant line') + plt.scatter([x_alpha], [y_alpha], color='blue', label='f(αx1 + (1-α)x2)') + plt.scatter([x_alpha], [secant_val], color='green', label='αf(x1)+(1-α)f(x2)') + plt.title(f"{name}: Visual Jensen's Inequality") + plt.legend() + plt.grid(True) + + +def second_derivative(f, x, h=1e-4): + try: + return (f(x + h) - 2 * f(x) + f(x - h)) / (h ** 2) + except: + return None + +def is_convex(f, x_range=(-5, 5), num_points=1000): + x_vals = np.linspace(x_range[0], x_range[1], num_points) + for x in x_vals: + pass + # your code here + + # return True or False based on convexity + +def is_convex_jensen(f, x_range=(-5, 5), num_samples=1000): + for i in range(num_samples): + pass + # your code here + # Hint: generate two uniform random points (x1, x2) using x_range + # sort x1, x2 points + # sample alpha uniformly from [0, 1] + # apply Jensen's inequality + # You can use tol for numerical stability in comparisons (oiptional) + + # return True or False based on Jensen's inequality + +if __name__ == "__main__": + print("Convexity Check (2nd Derivative Test)\n") + for name, f in ml_functions.items(): + convex_2nd = is_convex(f) + convex_jensen = is_convex_jensen(f) + print(f"{name:<15}: 2nd Derivative Test: {'✅' if convex_2nd else '❌'}, Jensen's Test: {'✅' if convex_jensen else '❌'}") + + print("\n🔍 Visual Convexity Checks (Secant Line Test)\n") + plt.figure(figsize=(8, 6)) + for idx, (name, f) in enumerate(ml_functions.items()): + plt.subplot(3, 3, idx + 1) + plt.xlabel("x") + plot_with_secant(f, name) + plt.tight_layout() + plt.show() diff --git a/week7/exercise.py b/week7/exercise.py deleted file mode 100644 index 1232fd7..0000000 --- a/week7/exercise.py +++ /dev/null @@ -1,83 +0,0 @@ - -import numpy as np -import matplotlib.pyplot as plt - -EPS = 0.001 - -def func(x1,x2): - z = 2*np.cosh(x1) + np.cosh(x2) + np.cosh(0.1*x1*x2) - return z - - -def func_grad(x1, x2): - grad = # implement gradient - return grad - -def func_hessian(x1, x2): - hessian = # implement Hessian - return hessian - -def draw_function(): - - x = np.linspace(-2, 4.5, 100) - y = np.linspace(-2, 4.5, 100) - X, Y = np.meshgrid(x, y) - Z = func(X,Y) - plt.pcolormesh(X, Y, Z, cmap='viridis') - plt.colorbar() - plt.contour(X,Y,Z) - plt.xlabel('x1') - plt.ylabel('x2') - -def gradient_descent(): - X = np.array([4,4]) - lr = 0.03 - solutions = np.copy(X)[:, np.newaxis] - func_values = [func(X[0], X[1])] - for i in range(500): - - X = # implement update - - solutions = np.concatenate((solutions, X[:,np.newaxis]), axis= 1) - func_values.append(func(X[0], X[1])) - if np.abs(func_values[-1]-func_values[-2]) < EPS: - print(f'Gradient descent number of iterations: {i}') - break - - plt.figure() - draw_function() - plt.plot(solutions[0,:], solutions[1,:]) - plt.scatter(solutions[0,:], solutions[1,:],s=4 ) - plt.title('Gradient descent') - -def newtons_method(): - X = np.array([4,4]) - lr = 0.5 - solutions = np.copy(X)[:, np.newaxis] - func_values = [func(X[0], X[1])] - - for i in range(500): - - X = # implement update - - solutions = np.concatenate((solutions, X[:,np.newaxis]), axis= 1) - func_values.append(func(X[0], X[1])) - if np.abs(func_values[-1]-func_values[-2]) < EPS: - print(f'Newtons methods number of iterations: {i}') - break - plt.figure() - draw_function() - plt.plot(solutions[0,:], solutions[1,:]) - plt.scatter(solutions[0,:], solutions[1,:]) - -if __name__ == "__main__": - - gradient_descent() - newtons_method() - plt.show(block=True) - - - - - - diff --git a/week8/2nd_order_log.py b/week8/2nd_order_log.py new file mode 100755 index 0000000..cbd4cf8 --- /dev/null +++ b/week8/2nd_order_log.py @@ -0,0 +1,159 @@ +#!/usr/bin/env -S uv run +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "kagglehub", +# "matplotlib", +# "numpy", +# "pandas", +# "scikit-learn", +# ] +# /// +import numpy as np +from sklearn.metrics import roc_auc_score + + +def sigmoid(z): + return 1 / (1 + np.exp(-z)) + + +def logistic_loss(yh, y): + yh = np.clip(yh, 1e-10, 1 - 1e-10) # prevents log(0) + return -np.mean(y * np.log(yh) + (1 - y) * np.log(1 - yh)) + + +def predict(X, w): + return sigmoid(X @ w) + + +def newton_logistic_regression(data, w, max_iters=1000, tol=1e-8): + X, y = data + n_samples, n_features = X.shape + w = np.zeros(n_features) # initialize weights + + # for a maximum of `max_iter` do + # predict with the current weights + yh = + # Calculate the gradient. + gradient = + # Calculate the Hessian. + hessian = + # Solve the system. + delta = + # update the weights + w = + # check for convergence and break if |delta|709.7] = 1.0 # np.exp will overflow and return inf for values larger 709.7. - elif a>709.7: - res = 1.0 - return res - -class LogisticRegression(): - def __init__(self, l2=0.01, num_iter = 100, method='gd', lr=0.001, tol=0.001) -> None: - self.w = None - self.num_iter = num_iter - self.method = method - self.lr = lr - self.tol = tol - self.l2 = l2 - - - def fit(self, X, y): - self.class_labels = np.unique(y) - self.w = np.zeros((X.shape[1], 1)) - if len(self.class_labels)>2: - raise Exception("too many classes. This logistic regression class only implements binary classification.") - - objective_values = [self.objective(X,y)] - - for i in range(self.num_iter): - - gradient = self.perform_update(X, y) - - objective = self.objective(X,y) - objective_values.append(objective) - - if np.max(np.abs(gradient)) < self.tol: - print(f'Method: {self.method} Number of iterations: {i}') - print(f'Objective function value: {objective_values[-1]}') - break - else: - print(f'Maximum number of iterations reached, objective function value {objective_values[-1]}') - self.training_length = i - - - def predict_proba(self, X): - return sigmoid(np.dot(X, self.w)) - - def predict_proba_w(self, X, w): - return sigmoid(np.dot(X, w)) - - def perform_update(self, X, y): - pi = self.predict_proba(X) - - - - if self.method == 'backtracking': - #perform gradient descent update - - t=1 - alpha = 0.1 - beta = 0.3 - - gradient = self.gradient(X,y, pi) - i = 0 - while True: - # equation from the lecture https://github.com/HealthML/Math4ML-Lecture/blob/master/math4ml_2_Calculus_05_Unconstrained_Optimization_Convexity_handout.pdf - left_side = self.objective_w(X,y,self.w-t*gradient) - right_side = self.objective_w(X,y,self.w) - alpha*t*np.dot(gradient.T, gradient) - if (left_side < right_side) or t<0.001: - if t<0.01: - print('Small t reached') - break - t = t*beta - i +=1 - - update = - gradient * t - - - if self.method == 'gd': - #perform gradient descent update - gradient = self.gradient(X,y, pi) - update = - gradient * self.lr - - if self.method=='hessian': - # implement full Hessian method of optimization here and save it in the 'update' variable - - - if self.method=='diagonal_hessian': - # implement diagonal Hessian method of optimization here and save it in the 'update' variable - - - if self.method=='efficient_diagonal_hessian': - # can you think of a more efficient way of implementing the diagonal Hessian method? - - - self.w = self.w + update - return gradient - - - - def objective(self, X, y): - pi = self.predict_proba(X) - - eps = np.finfo(pi.dtype).eps - pi = np.clip(pi, eps, 1-eps) # to avoid (log(0)) - - log_0_pi = np.log(pi[y==self.class_labels[1]]) - log_1_pi = np.log(1.0-pi[y==self.class_labels[0]]) - loss = -log_0_pi.mean() - log_1_pi.mean() # this version is more stable for perfect prediction - - regularizer = 0.5 * (self.l2 * self.w * self.w).sum() - - return loss + regularizer - - def objective_w(self, X, y,w): - pi = self.predict_proba_w(X,w) - - eps = np.finfo(pi.dtype).eps - pi = np.clip(pi, eps, 1-eps) # to avoid (log(0)) - - log_0_pi = np.log(pi[y==self.class_labels[1]]) - log_1_pi = np.log(1.0-pi[y==self.class_labels[0]]) - loss = -log_0_pi.mean() - log_1_pi.mean() # this version is more stable for perfect prediction - - regularizer = 0.5 * (self.l2 * w * w).sum() - - return loss + regularizer - - def gradient(self, X, y, pi): - gradient = np.dot(X.T, pi - (y==self.class_labels[1])[:,None] )/X.shape[0] + self.l2 * self.w - return gradient - - def hessian(self, X, y, pi): - # write a formula for full Hessian here - hessian = - return hessian - - def hessian_diag(self, X, y, pi): - # write a formula for diagonal Hessian here - hessian_diag = - return hessian_diag - - - - - - -if __name__ == "__main__": - repeat = 10 - n_samples = 1000 - n_features = 400 - n_informative = 400 - tol = 0.01 - - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=1, n_clusters_per_class=2) - log = LogisticRegression(l2=0.5, lr=1, num_iter=1000, method='backtracking', tol=tol ) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') - - print('\n') - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=1, n_clusters_per_class=3) - log = LogisticRegression(l2=0.5, lr=1, num_iter=1000, method='hessian', tol=tol ) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') - - print('\n') - - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=2, n_clusters_per_class=2) - log = LogisticRegression(l2=0.1, lr=0.2, num_iter=10000, method='gd', tol=tol) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') - - print('\n') - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=2, n_clusters_per_class=2) - log = LogisticRegression(l2=0.1, lr=0.25 ,num_iter=1001, method='diagonal_hessian', tol=tol) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') - - print('\n') - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=2, n_clusters_per_class=2) - log = LogisticRegression(l2=0.1, lr=0.25 ,num_iter=1000, method='efficient_diagonal_hessian', tol=tol) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') \ No newline at end of file diff --git a/week9/exercise.py b/week9/exercise.py deleted file mode 100644 index bc5f2ca..0000000 --- a/week9/exercise.py +++ /dev/null @@ -1,172 +0,0 @@ -import numpy as np -import time -import sklearn.datasets -from tqdm import tqdm - - -def sigmoid(a): - """ - returns the logistic sigmoid \pi(a) - Keyword arguments: - a -- scalar or numpy array - """ - expa = np.exp(a) - res = expa / (1.0 + expa) - if hasattr(a, "__iter__"): - res[a>709.7] = 1.0 # np.exp will overflow and return inf for values larger 709.7. - elif a>709.7: - res = 1.0 - return res - -class LogisticRegression(): - def __init__(self, l2=0.01, num_iter = 100, method='gd', lr=0.001, tol=0.001) -> None: - self.w = None - self.num_iter = num_iter - self.method = method - self.lr = lr - self.tol = tol - self.l2 = l2 - - - def fit(self, X, y): - self.class_labels = np.unique(y) - self.w = np.zeros((X.shape[1], 1)) - if len(self.class_labels)>2: - raise Exception("too many classes. This logistic regression class only implements binary classification.") - - objective_values = [self.objective(X,y)] - - for i in range(self.num_iter): - - gradient = self.perform_update(X, y) - - objective = self.objective(X,y) - objective_values.append(objective) - - if np.max(np.abs(gradient)) < self.tol: - print(f'Method: {self.method} Number of iterations: {i}') - print(f'Objective function value: {objective_values[-1]}') - break - else: - print(f'Maximum number of iterations reached, objective function value {objective_values[-1]}') - self.training_length = i - - - def predict_proba(self, X): - return sigmoid(np.dot(X, self.w)) - - def predict_proba_w(self, X, w): - return sigmoid(np.dot(X, w)) - - def perform_update(self, X, y): - pi = self.predict_proba(X) - - if self.method == 'gd': - #perform gradient descent update - gradient = self.gradient(X,y, pi) - update = - gradient * self.lr - - if self.method=='hessian': - # implement full Hessian method of optimization here and save it in the 'update' variable - # you can use solution from the previous week - - if self.method=='bfgs': - # implement BFGS methods here and save the update in the 'update' variable - - - - self.w = self.w + update - return gradient - - - - def objective(self, X, y): - pi = self.predict_proba(X) - - eps = np.finfo(pi.dtype).eps - pi = np.clip(pi, eps, 1-eps) # to avoid (log(0)) - - log_0_pi = np.log(pi[y==self.class_labels[1]]) - log_1_pi = np.log(1.0-pi[y==self.class_labels[0]]) - loss = -log_0_pi.mean() - log_1_pi.mean() # this version is more stable for perfect prediction - - regularizer = 0.5 * (self.l2 * self.w * self.w).sum() - - return loss + regularizer - - def objective_w(self, X, y,w): - pi = self.predict_proba_w(X,w) - - eps = np.finfo(pi.dtype).eps - pi = np.clip(pi, eps, 1-eps) # to avoid (log(0)) - - log_0_pi = np.log(pi[y==self.class_labels[1]]) - log_1_pi = np.log(1.0-pi[y==self.class_labels[0]]) - loss = -log_0_pi.mean() - log_1_pi.mean() # this version is more stable for perfect prediction - - regularizer = 0.5 * (self.l2 * w * w).sum() - - return loss + regularizer - - def gradient(self, X, y, pi): - gradient = np.dot(X.T, pi - (y==self.class_labels[1])[:,None] )/X.shape[0] + self.l2 * self.w - return gradient - - def hessian(self, X, y, pi): - # write a formula for full Hessian here - hessian = - return hessian - - def hessian_diag(self, X, y, pi): - # write a formula for diagonal Hessian here - hessian_diag = - return hessian_diag - - - - - - -if __name__ == "__main__": - repeat = 10 - n_samples = 1000 - n_features = 400 - n_informative = 400 - tol = 0.01 - - print('\n') - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=1, n_clusters_per_class=3) - log = LogisticRegression(l2=0.5, lr=1, num_iter=1000, method='hessian', tol=tol ) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') - - print('\n') - - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=2, n_clusters_per_class=2) - log = LogisticRegression(l2=0.1, lr=0.2, num_iter=10000, method='gd', tol=tol) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') - - print('\n') - t_start = time.time() - np.random.seed(10) - iterations = [] - for i in range(repeat): - X, y = sklearn.datasets.make_classification(n_samples=n_samples, n_classes=2, n_features=n_features, n_informative=n_informative, n_redundant=0, class_sep=2, n_clusters_per_class=2) - log = LogisticRegression(l2=0.1, lr=0.25 ,num_iter=1001, method='bfgs', tol=tol) - log.fit(X,y) - iterations.append(log.training_length) - t_end = time.time() - print(f'Average time: {(t_end- t_start)/repeat}, average iterations {np.mean(iterations)}') diff --git a/week9/prob.py b/week9/prob.py new file mode 100644 index 0000000..5ccd760 --- /dev/null +++ b/week9/prob.py @@ -0,0 +1,85 @@ +#!/usr/bin/env -S uv run +# /// script +# requires-python = ">=3.11" +# dependencies = [ +# "matplotlib", +# ] +# /// + +import matplotlib.pyplot as plt + +hourly_demand = { + 0: 5, 1: 3, 2: 2, 3: 2, 4: 1, 5: 4, + 6: 10, 7: 20, 8: 35, 9: 30, 10: 25, 11: 28, + 12: 40, 13: 38, 14: 35, 15: 45, 16: 50, 17: 60, + 18: 70, 19: 65, 20: 55, 21: 40, 22: 25, 23: 10 +} + +def compute_pmf(demand_dict): + # Calculate the probability mass function (PMF) from demand counts + return None + +def compute_cdf(pmf): + # Compute the cumulative distribution function (CDF) from the PMF + return None + +def expected_value(pmf): + # Calculate the expected value (mean) of the distribution + return None + +def variance(pmf, expected_val): + # Calculate the variance of the distribution + return None + +def median(cdf): + # Find the median hour where cumulative probability reaches 0.5 or more + return None + + +def plot_pmf_cdf(pmf, cdf, expected_val, var, med): + hours = sorted(pmf.keys()) + pmf_vals = [pmf[h] for h in hours] + cdf_vals = [cdf[h] for h in hours] + + colors = ['skyblue' for _ in hours] + + plt.figure(figsize=(14, 5)) + + plt.subplot(1, 2, 1) + plt.bar(hours, pmf_vals, color=colors) + plt.axvline(expected_val, color='r', linestyle='--', label='Expected Hour') + plt.axvline(med, color='g', linestyle=':', label='Median Hour') + plt.title('PMF of Ride Demand') + plt.xlabel('Hour of Day') + plt.ylabel('Probability') + plt.legend() + + plt.subplot(1, 2, 2) + plt.plot(hours, cdf_vals, marker='o', color='green') + plt.axvline(expected_val, color='r', linestyle='--', label='Expected Hour') + plt.axvline(med, color='g', linestyle=':', label='Median Hour') + plt.title('CDF of Ride Demand') + plt.xlabel('Hour of Day') + plt.ylabel('Cumulative Probability') + plt.legend() + + plt.suptitle(f'Expected Hour: {expected_val:.2f}, Variance: {var:.2f}, Median: {med}') + plt.tight_layout() + plt.show() + + +if __name__ == "__main__": + # Your task is to implement key statistical functions—compute_pmf, compute_cdf, + # expected_value, variance, and median—to analyze hourly ride demand data. + pmf = compute_pmf(hourly_demand) + cdf = compute_cdf(pmf) + ev = expected_value(pmf) + var = variance(pmf, ev) + med = median(cdf) + + print(f"Expected Value (Hour): {ev:.2f}") + print(f"Variance: {var:.2f}") + print(f"Median Hour: {med}") + + plot_pmf_cdf(pmf, cdf, ev, var, med) +