From: drowe67 Date: Mon, 16 Mar 2015 23:18:36 +0000 (+0000) Subject: coherent modem C and Octave code giving the same results with AWGN noise at rate Rs. X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=76a0221524ec447abe806a76d6757e1d85e36482;p=freetel-svn-tracking.git coherent modem C and Octave code giving the same results with AWGN noise at rate Rs. git-svn-id: https://svn.code.sf.net/p/freetel/code@2078 01035d8c-6547-0410-b346-abe4f91aad63 --- diff --git a/codec2-dev/octave/cohpsk.m b/codec2-dev/octave/cohpsk.m index 9b06292b..f553ec67 100644 --- a/codec2-dev/octave/cohpsk.m +++ b/codec2-dev/octave/cohpsk.m @@ -618,7 +618,7 @@ function sim_out = ber_test(sim_in) s_ch = s_ch + noise; - [rx_symb rx_bits rx_symb_linear amp_linear amp_ phi_ EsNo_ prev_sym_rx sim_in] = symbol_rate_rx(sim_in, s_ch, prev_sym_rx); + [rx_symb rx_bits rx_symb_linear amp_linear amp_ phi_ EsNo_ prev_sym_rx sim_in] = qpsk_symbols_to_bits(sim_in, s_ch, prev_sym_rx); phi_log = [phi_log; phi_]; amp_log = [amp_log; amp_]; @@ -662,8 +662,8 @@ function sim_out = ber_test(sim_in) if verbose av_tx_pwr = (s_ch_tx_log * s_ch_tx_log')/length(s_ch_tx_log); - printf("EsNo est (dB): %3.1f Terrs: %d BER %4.2f QPSK BER theory %4.2f av_tx_pwr: %3.2f", - mean(10*log10(EsNo__log)), Terrs, + printf("EsNo est (dB): %3.1f Terrs: %d Tbits: %d BER %4.2f QPSK BER theory %4.2f av_tx_pwr: %3.2f", + mean(10*log10(EsNo__log)), Terrs, Tbits, Terrs/Tbits, 0.5*erfc(sqrt(EsNo/2)), av_tx_pwr); if ldpc_code printf("\n LDPC: Terrs: %d BER: %4.2f Ferrs: %d FER: %4.2f", @@ -738,6 +738,7 @@ function sim_out = ber_test(sim_in) hold off; end ylabel('Phase (rads)'); + legend('boxoff'); subplot(212) plot(phi_x, amp_log(:,2),'r+;Estimated HF channel amp;') @@ -748,6 +749,7 @@ function sim_out = ber_test(sim_in) end ylabel('Amplitude'); xlabel('Time (symbols)'); + legend('boxoff'); figure(4) clf diff --git a/codec2-dev/octave/tcohpsk.m b/codec2-dev/octave/tcohpsk.m index d1e1f15e..9e9e9d45 100644 --- a/codec2-dev/octave/tcohpsk.m +++ b/codec2-dev/octave/tcohpsk.m @@ -5,6 +5,13 @@ % script loads the output of unittest/tcohpsk.c and compares it to the % output of the reference versions of the same functions written in % Octave. +% +% Ideas: +% [ ] EB/No v BER curves changing Np, freq offset etc +% + can do these pretty fast in C, if we jave the channel models +% [ ] better interpolation between two signals +% [ ] feedback to correct out freq offset est +% [ ] fading channel rand('state',1); randn('state',1); @@ -14,16 +21,20 @@ cohpsk; autotest; n = 2000; -rames = 35; +frames = 35; framesize = 160; foff = 1; +EsNodB = 8; +EsNo = 10^(EsNodB/10); +variance = 1/EsNo; + load ../build_linux/unittest/tcohpsk_out.txt sim_in = standard_init(); -sim_in.framesize = 160; -sim_in.ldpc_code = 0; -sim_in.ldpc_code_rate = 1; +sim_in.framesize = 160; +sim_in.ldpc_code = 0; +sim_in.ldpc_code_rate = 1; sim_in.Nc = 4; sim_in.Rs = 50; sim_in.Ns = 4; @@ -41,14 +52,19 @@ tx_bits_log = []; tx_symb_log = []; rx_amp_log = []; rx_phi_log = []; +ch_symb_log = []; rx_symb_log = []; rx_bits_log = []; +noise_log = []; +nerr_log = []; phase = 1; freq = exp(j*2*pi*foff/sim_in.Rs); ch_symb = zeros(sim_in.Nsymbrowpilot, sim_in.Nc); +Nerrs = Tbits = 0; + for i=1:frames tx_bits = tx_bits_coh(ptx_bits_coh:ptx_bits_coh+framesize-1); ptx_bits_coh += framesize; @@ -61,29 +77,82 @@ for i=1:frames [tx_symb tx_bits prev_tx_sym] = bits_to_qpsk_symbols(sim_in, tx_bits, [], []); tx_symb_log = [tx_symb_log; tx_symb]; + noise = sqrt(variance*0.5)*(randn(sim_in.Nsymbrowpilot,sim_in.Nc) + j*randn(sim_in.Nsymbrowpilot,sim_in.Nc)); + noise_log = [noise_log; noise]; + for r=1:sim_in.Nsymbrowpilot phase = phase*freq; - ch_symb(r,:) = tx_symb(r,:)*phase; + ch_symb(r,:) = tx_symb(r,:)*phase + noise(r,:); end phase = phase/abs(phase); + ch_symb_log = [ch_symb_log; ch_symb]; [rx_symb rx_bits rx_symb_linear amp_linear amp_ phi_ EsNo_ prev_sym_rx sim_in] = qpsk_symbols_to_bits(sim_in, ch_symb, []); rx_symb_log = [rx_symb_log; rx_symb]; rx_amp_log = [rx_amp_log; amp_]; rx_phi_log = [rx_phi_log; phi_]; - rx_bits_log = [rx_bits_log; rx_bits]; + rx_bits_log = [rx_bits_log rx_bits]; + + % BER stats + + if i > 2 + error_positions = xor(prev_tx_bits, rx_bits); + Nerrs += sum(error_positions); + nerr_log = [nerr_log sum(error_positions)]; + Tbits += length(error_positions); + end + prev_tx_bits = tx_bits; end stem_sig_and_error(1, 111, tx_bits_log_c(1:n), tx_bits_log(1:n) - tx_bits_log_c(1:n), 'tx bits', [1 n -1.5 1.5]) stem_sig_and_error(2, 211, real(tx_symb_log_c(1:n)), real(tx_symb_log(1:n) - tx_symb_log_c(1:n)), 'tx symb re', [1 n -1.5 1.5]) stem_sig_and_error(2, 212, imag(tx_symb_log_c(1:n)), imag(tx_symb_log(1:n) - tx_symb_log_c(1:n)), 'tx symb im', [1 n -1.5 1.5]) -stem_sig_and_error(3, 211, rx_amp_log_c(1:n), rx_amp_log(1:n) - rx_amp_log_c(1:n), 'Amp Est', [1 n -1.5 1.5]) -stem_sig_and_error(3, 212, rx_phi_log_c(1:n), rx_phi_log(1:n) - rx_phi_log_c(1:n), 'Phase Est', [1 n -4 4]) -stem_sig_and_error(4, 211, real(rx_symb_log_c(1:n)), real(rx_symb_log(1:n) - rx_symb_log_c(1:n)), 'rx symb re', [1 n -1.5 1.5]) -stem_sig_and_error(4, 212, imag(rx_symb_log_c(1:n)), imag(rx_symb_log(1:n) - rx_symb_log_c(1:n)), 'rx symb im', [1 n -1.5 1.5]) +stem_sig_and_error(3, 211, real(ch_symb_log_c(1:n)), real(ch_symb_log(1:n) - ch_symb_log_c(1:n)), 'ch symb re', [1 n -1.5 1.5]) +stem_sig_and_error(3, 212, imag(ch_symb_log_c(1:n)), imag(ch_symb_log(1:n) - ch_symb_log_c(1:n)), 'ch symb im', [1 n -1.5 1.5]) +stem_sig_and_error(4, 211, rx_amp_log_c(1:n), rx_amp_log(1:n) - rx_amp_log_c(1:n), 'Amp Est', [1 n -1.5 1.5]) +stem_sig_and_error(4, 212, rx_phi_log_c(1:n), rx_phi_log(1:n) - rx_phi_log_c(1:n), 'Phase Est', [1 n -4 4]) +stem_sig_and_error(5, 211, real(rx_symb_log_c(1:n)), real(rx_symb_log(1:n) - rx_symb_log_c(1:n)), 'rx symb re', [1 n -1.5 1.5]) +stem_sig_and_error(5, 212, imag(rx_symb_log_c(1:n)), imag(rx_symb_log(1:n) - rx_symb_log_c(1:n)), 'rx symb im', [1 n -1.5 1.5]) +stem_sig_and_error(6, 111, rx_bits_log_c(1:n), rx_bits_log(1:n) - rx_bits_log_c(1:n), 'rx bits', [1 n -1.5 1.5]) check(tx_bits_log, tx_bits_log_c, 'tx_bits'); check(tx_symb_log, tx_symb_log_c, 'tx_symb'); check(rx_amp_log, rx_amp_log_c, 'rx_amp_log'); check(rx_phi_log, rx_phi_log_c, 'rx_phi_log'); check(rx_symb_log, rx_symb_log_c, 'rx_symb'); +check(rx_bits_log, rx_bits_log_c, 'rx_bits'); + +% Determine bit error rate + +sz = length(tx_bits_log_c); +Nerrs_c = sum(xor(tx_bits_log_c(framesize+1:sz-framesize), rx_bits_log_c(2*framesize+1:sz))); +Tbits_c = sz - 2*framesize; +ber_c = Nerrs_c/Tbits_c; +ber = Nerrs/Tbits; +printf("EsNodB: %4.1f ber..: %3.2f Nerrs..: %d Tbits..: %d\n", EsNodB, ber, Nerrs, Tbits); +printf("EsNodB: %4.1f ber_c: %3.2f Nerrs_c: %d Tbits_c: %d\n", EsNodB, ber_c, Nerrs_c, Tbits_c); + +% C header file of noise samples so C version gives extacly the same results + +function write_noise_file(noise_log) + + [m n] = size(noise_log); + + filename = sprintf("../unittest/noise_samples.h"); + f=fopen(filename,"wt"); + fprintf(f,"/* Generated by write_noise_file() Octave function */\n\n"); + fprintf(f,"COMP noise[][PILOTS_NC]={\n"); + for r=1:m + fprintf(f, " {"); + for c=1:n-1 + fprintf(f, " {%f,%f},", real(noise_log(r, c)), imag(noise_log(r, c))); + end + if r < m + fprintf(f, " {%f,%f}},\n", real(noise_log(r, n)), imag(noise_log(r, n))); + else + fprintf(f, " {%f,%f}}\n};", real(noise_log(r, n)), imag(noise_log(r, n))); + end + end + + fclose(f); +endfunction diff --git a/codec2-dev/octave/test_cohpsk.m b/codec2-dev/octave/test_cohpsk.m index cc78c952..9efca139 100644 --- a/codec2-dev/octave/test_cohpsk.m +++ b/codec2-dev/octave/test_cohpsk.m @@ -105,8 +105,8 @@ function test_single sim_in.ldpc_code_rate = 1; sim_in.ldpc_code = 0; - sim_in.Ntrials = 20; - sim_in.Esvec = 100; + sim_in.Ntrials = 35; + sim_in.Esvec = 8; sim_in.hf_sim = 0; sim_in.hf_mag_only = 0; sim_in.modulation = 'qpsk'; @@ -469,11 +469,13 @@ function rate_Fs_rx(rx_filename) subplot(211) plot(phi_x, phi_log(:,1),'r+;Estimated HF channel phase;') ylabel('Phase (rads)'); + legend('boxoff'); subplot(212) plot(phi_x, amp_log(:,1),'r+;Estimated HF channel amp;') ylabel('Amplitude'); xlabel('Time (symbols)'); + legend('boxoff'); figure(6); clf diff --git a/codec2-dev/src/cohpsk.c b/codec2-dev/src/cohpsk.c index 5bd4a92b..467a21a3 100644 --- a/codec2-dev/src/cohpsk.c +++ b/codec2-dev/src/cohpsk.c @@ -252,18 +252,15 @@ void qpsk_symbols_to_bits(struct COHPSK *coh, int rx_bits[], COMP rx_symb[][COHP /* demodulate */ i = c*NSYMROW + r; - rot = cmult(rx_symb[data_r][c], pi_on_4); - rx_bits[2*i] = rot.real < 0; - rx_bits[2*i+1] = rot.imag < 0; + rot = cmult(coh->rx_symb_buf[data_r][c], pi_on_4); + rx_bits[2*i+1] = rot.real < 0; + rx_bits[2*i] = rot.imag < 0; //printf(" c: %d ch_est: %f %f phi_: %f amp_: %f\n",c, ch_est.real, ch_est.imag, coh->phi_[r][c], coh->amp_[r][c]); } //exit(0); } - r = NSYMROW+19; c = 0; - //printf("%d %d %f %f\n", r,c, coh->rx_symb_buf[r][c].real, coh->rx_symb_buf[r][c].imag); - /* shift buffers */ for(r=0; r<2*NSYMROW; r++) { @@ -275,8 +272,5 @@ void qpsk_symbols_to_bits(struct COHPSK *coh, int rx_bits[], COMP rx_symb[][COHP for(c=0; crx_pilot_buf[r][c] = coh->rx_pilot_buf[r+NPILOTSFRAME][c]; } - } - r = 19; c = 0; - //printf("%d %d %f %f\n", r,c, coh->rx_symb_buf[r][c].real, coh->rx_symb_buf[r][c].imag); - + } } diff --git a/codec2-dev/unittest/noise_samples.h b/codec2-dev/unittest/noise_samples.h new file mode 100644 index 00000000..43514580 --- /dev/null +++ b/codec2-dev/unittest/noise_samples.h @@ -0,0 +1,879 @@ +/* Generated by write_noise_file() Octave function */ + +float pilots_coh[][PILOTS_NC]={ + { -0.750637, -0.169150, -0.198189, 0.149946,98189,-0.739629}, {0.149946,0.156191}}, + { {-0.207799,-0.082395}, {-0.012774,-0.024059}, {-0.542473,0.150651}, {-0.557826,0.080852}}, + { {0.424481,-0.439771}, {0.241057,-0.095271}, {-0.122474,0.176513}, {-0.149839,-0.775902}}, + { {0.169449,-0.087091}, {0.057882,0.155138}, {-0.391015,0.682880}, {-0.047971,0.543943}}, + { {-0.126863,0.065765}, {-0.073408,-0.274510}, {-0.234292,-0.153578}, {0.267075,0.469822}}, + { {-0.198585,0.031338}, {0.032354,0.302185}, {0.517222,-0.257059}, {-0.070852,0.045672}}, + { {-0.119477,-0.150342}, {0.260492,0.059694}, {-0.386988,-0.751987}, {-0.015045,0.245076}}, + { {0.153618,0.043296}, {-0.093370,-0.231196}, {0.311326,0.320627}, {-0.358093,0.393267}}, + { {0.476120,-0.170839}, {0.088240,0.576671}, {-0.468749,-0.416425}, {0.188985,-0.197548}}, + { {0.106220,0.206540}, {-0.077208,0.274809}, {-0.158754,0.316251}, {-0.116200,0.398616}}, + { {0.005197,0.294655}, {-0.206240,-0.190517}, {-0.265506,-0.114146}, {-0.028927,-0.229450}}, + { {-0.327728,-0.591345}, {-0.264472,-0.326577}, {-0.319878,-0.049284}, {0.158014,0.121971}}, + { {0.333520,-0.031147}, {0.003040,-0.135846}, {0.106355,0.082121}, {-0.283272,0.084046}}, + { {-0.343361,-0.506014}, {-0.185367,0.071766}, {-0.235493,0.170638}, {-0.445364,0.118883}}, + { {0.030208,-0.084031}, {0.409588,-0.179503}, {-0.482369,0.171370}, {-0.235941,0.080570}}, + { {-0.163495,0.582012}, {0.029252,0.076722}, {0.026239,-0.047555}, {-0.291130,-0.030024}}, + { {0.233385,-0.043682}, {0.384037,-0.158860}, {-0.273275,-0.230238}, {-0.213361,-0.404230}}, + { {-0.023375,-0.118087}, {-0.725656,-0.340884}, {0.341971,0.093778}, {-0.523398,0.051230}}, + { {0.341573,0.080278}, {0.411039,0.144772}, {0.337592,-0.284542}, {0.143894,-0.287883}}, + { {-0.049250,-0.062392}, {-0.237897,-0.255614}, {0.594200,0.139619}, {-0.033038,-0.213744}}, + { {0.073954,0.409955}, {-0.003634,0.002362}, {0.324892,0.180648}, {0.083703,0.095812}}, + { {0.094269,0.227403}, {0.205705,0.392200}, {-0.207251,0.112733}, {-0.268652,-0.303959}}, + { {-0.678356,-0.181429}, {-0.449746,0.622208}, {-0.030572,0.012442}, {0.237300,0.199256}}, + { {-0.119067,0.295658}, {-0.277609,-0.358077}, {-0.277796,-0.003471}, {0.121675,0.248683}}, + { {-0.114906,-0.038697}, {0.130222,0.044976}, {0.327228,-0.412443}, {0.660641,-0.037530}}, + { {0.569286,0.227664}, {0.268515,-0.039355}, {-0.184280,0.265188}, {-0.015837,-0.271356}}, + { {-0.027961,-0.080279}, {0.613017,-0.142081}, {-0.148378,0.191099}, {-0.394520,-0.171700}}, + { {-0.198314,-0.009023}, {-0.407328,0.108614}, {0.372154,-0.037212}, {0.675887,0.264015}}, + { {0.228980,0.237428}, {0.126555,0.117235}, {0.402235,0.191166}, {0.506753,0.333828}}, + { {0.194145,0.320122}, {0.062956,0.705506}, {0.190924,-0.341264}, {-0.623968,-0.297513}}, + { {0.224056,-0.010422}, {0.135507,0.159078}, {0.369115,0.176294}, {-0.317725,-0.151294}}, + { {-0.383506,-0.238362}, {-0.324011,0.057282}, {-0.274604,-0.047381}, {0.277525,-0.358549}}, + { {-0.215697,-0.588638}, {-0.128376,-0.230927}, {0.535021,-0.163071}, {0.043876,-0.185057}}, + { {0.244435,-0.374774}, {-0.086461,0.104828}, {-0.700383,-0.174090}, {-0.589216,-0.435133}}, + { {-0.240667,0.144112}, {0.180207,0.363533}, {0.246474,0.179655}, {-0.457104,0.205039}}, + { {-0.131872,0.443207}, {-0.247986,0.070223}, {-0.127800,-0.212280}, {-0.347726,-0.404625}}, + { {-0.414375,0.279466}, {-0.013539,0.504233}, {-0.295185,0.052245}, {0.424058,-0.081735}}, + { {0.136434,-0.033282}, {-0.713914,-0.135201}, {-0.788441,0.694102}, {0.039437,0.201192}}, + { {-0.249947,-0.591067}, {-0.011299,0.409663}, {-0.244712,0.393058}, {0.787304,-0.019331}}, + { {0.092214,0.064805}, {-0.122779,-0.306884}, {0.026603,-0.035376}, {-0.313137,-0.278021}}, + { {-0.449133,0.100669}, {0.213763,0.114155}, {0.198330,0.219683}, {-0.284401,-0.035136}}, + { {-0.079223,0.368838}, {-0.228556,-0.207711}, {0.072793,0.351840}, {0.360625,0.030095}}, + { {-0.070576,0.119426}, {0.161652,-0.225144}, {-0.196486,-0.205592}, {0.075950,0.010825}}, + { {-0.273783,-0.169569}, {0.196193,-0.611403}, {0.426909,0.036470}, {0.174337,-0.301462}}, + { {-0.049598,0.184766}, {-0.283231,-0.244950}, {0.453568,0.003957}, {0.415593,-0.576587}}, + { {-0.239989,-0.319452}, {-0.024350,-0.220417}, {0.498768,0.416310}, {-0.176612,-0.054317}}, + { {-0.044332,0.011365}, {0.134760,0.231953}, {-0.158193,-0.110258}, {0.391388,0.363376}}, + { {0.013925,0.055840}, {0.331354,0.092750}, {0.231037,-0.162999}, {0.335371,0.318295}}, + { {0.129043,0.697470}, {-0.033113,-0.079267}, {0.003693,-0.383891}, {-0.327320,-0.343125}}, + { {0.536432,0.308010}, {0.016166,-0.026355}, {0.160359,0.235783}, {-0.208461,-0.225741}}, + { {0.190603,-0.113880}, {-0.063480,-0.155972}, {0.366982,0.201820}, {0.023565,0.802017}}, + { {0.282362,0.290370}, {-0.087651,0.095848}, {0.304063,-0.519349}, {0.339344,0.091272}}, + { {0.294241,0.078683}, {0.216384,0.044954}, {0.088316,0.056581}, {-0.591483,0.234643}}, + { {-0.197041,0.333059}, {0.352109,-0.168940}, {-0.281306,0.155800}, {-0.006672,0.108919}}, + { {0.181052,-0.659838}, {-0.104519,-0.429662}, {0.112094,0.572306}, {-0.354971,-0.372359}}, + { {0.083849,-0.368311}, {-0.112095,0.180757}, {0.595885,-0.377973}, {-0.007485,0.338153}}, + { {-0.311245,0.031271}, {-0.361868,-0.787014}, {0.104295,-0.162860}, {-0.274978,0.191277}}, + { {0.138853,0.250596}, {0.632978,-0.075892}, {-0.366015,0.164123}, {0.426258,0.088491}}, + { {-0.037587,0.497099}, {-0.068182,0.118070}, {0.017717,-0.196019}, {0.572783,-0.102963}}, + { {0.704050,0.495086}, {-0.295899,-0.190195}, {-0.328530,-0.086476}, {-0.126744,0.020201}}, + { {0.003121,0.154235}, {0.291369,0.083007}, {0.276283,0.045798}, {-0.263297,-0.112896}}, + { {-0.064754,-0.469734}, {0.003077,-0.230726}, {0.202952,0.138956}, {0.018527,-0.301757}}, + { {-0.301897,0.492262}, {0.035637,-0.165207}, {-0.008182,-0.183366}, {0.298276,-0.172922}}, + { {0.180983,0.148276}, {0.288793,0.374504}, {-0.340241,0.078329}, {0.623561,0.008403}}, + { {-0.067233,-0.157124}, {0.118974,-0.383335}, {-0.000209,-0.110650}, {-0.491976,0.308069}}, + { {0.205250,0.151948}, {-0.518783,-0.257999}, {0.355916,-0.109313}, {0.165621,-0.116488}}, + { {0.499678,-0.675667}, {0.123787,-0.252315}, {0.176236,-0.466609}, {0.484550,0.199475}}, + { {0.186971,0.075064}, {-0.068606,0.085637}, {0.198384,0.235058}, {-0.278252,0.090447}}, + { {0.501919,0.132821}, {0.037085,0.092691}, {-0.154619,0.528693}, {-0.190320,-0.216820}}, + { {0.021907,-0.660836}, {-0.341831,-0.120982}, {0.165047,0.604154}, {0.443337,0.232205}}, + { {0.238949,-0.075965}, {-0.427228,-0.066472}, {0.039015,0.052095}, {0.307768,-0.089109}}, + { {-0.007385,-0.495322}, {-0.239433,0.202327}, {0.634929,-1.042951}, {-0.107694,-0.605126}}, + { {0.122646,0.030785}, {-0.139947,-0.322940}, {-0.283219,0.127295}, {-0.090952,-0.228342}}, + { {-0.082661,0.376296}, {-0.697140,0.127885}, {0.007774,0.019003}, {-0.333871,-0.406022}}, + { {-0.210094,-0.363358}, {0.044731,0.002957}, {0.377764,0.115305}, {-0.173813,-0.252643}}, + { {0.022192,-0.205000}, {-0.127319,0.019202}, {0.127148,-0.401677}, {-0.435804,0.257746}}, + { {-0.247867,0.096296}, {0.040248,0.112352}, {-0.165120,0.007692}, {-0.341181,0.168080}}, + { {0.134237,-0.296421}, {0.096711,0.400760}, {0.082616,0.100963}, {-0.312106,0.309869}}, + { {0.401439,0.005954}, {-0.079511,-0.028648}, {-0.079080,-0.305465}, {0.263908,-0.317726}}, + { {-0.083958,0.549842}, {-0.608503,0.226455}, {-0.038722,0.000599}, {-0.268167,-0.019197}}, + { {0.143782,-0.486617}, {-0.335772,0.131586}, {0.256420,-0.123672}, {-0.493165,0.403056}}, + { {-0.210181,-0.060864}, {-0.063225,-0.207438}, {-0.270969,0.162853}, {-0.548033,0.155899}}, + { {0.072573,0.164042}, {0.488351,-0.361147}, {-0.001143,0.132952}, {-0.177542,0.197302}}, + { {-0.233658,-0.152655}, {-0.488336,-0.021538}, {-0.403831,-0.268588}, {0.407006,-0.358564}}, + { {0.071012,0.295097}, {-0.133802,0.109545}, {0.204246,-0.120997}, {0.147307,-0.226298}}, + { {0.085903,-0.306695}, {-0.521463,-0.205527}, {0.106089,0.243041}, {-0.046981,-0.530510}}, + { {-0.128299,-0.133926}, {0.421907,-0.331015}, {0.386853,-0.219924}, {-0.545935,0.049115}}, + { {-0.289527,0.056319}, {0.443432,0.162843}, {0.133633,-0.264205}, {0.102733,-0.272720}}, + { {0.036967,0.071746}, {0.682517,0.092190}, {0.310418,-0.099308}, {-0.020267,0.144437}}, + { {0.252024,-0.484688}, {-0.218885,0.422658}, {-0.152217,-0.253107}, {-0.695584,0.068956}}, + { {-0.257295,0.057598}, {-0.287129,-0.343327}, {-0.200932,0.308002}, {-0.154093,-0.005804}}, + { {-0.046448,-0.342914}, {0.033488,0.106985}, {-0.232717,-0.390423}, {-0.117062,-0.010060}}, + { {0.026485,-0.510532}, {-0.397122,-0.181092}, {-0.415051,0.589772}, {-0.610981,0.370078}}, + { {-0.415396,-0.284130}, {0.364897,-0.079092}, {0.420973,-0.566796}, {0.246298,0.392044}}, + { {-0.104109,0.168948}, {-0.054490,-0.075493}, {-0.330142,0.062531}, {-0.133820,-0.050149}}, + { {0.009306,-0.467261}, {-0.083032,-0.202301}, {-0.609399,0.271013}, {0.258863,0.323654}}, + { {-0.210115,-0.062191}, {-0.308122,-0.008010}, {-0.218688,-0.511983}, {0.022297,0.441155}}, + { {0.200211,0.094209}, {0.406845,0.091360}, {0.008600,-0.222807}, {0.002906,-0.096101}}, + { {-0.168037,0.005815}, {-0.323343,0.122386}, {0.303921,-0.210101}, {-0.468198,-0.163300}}, + { {-0.268946,-0.198553}, {-0.254072,0.249818}, {0.220147,-0.009878}, {0.169065,-0.207748}}, + { {-0.147231,-0.010295}, {-0.115043,0.266273}, {0.338094,0.249762}, {-0.147565,-0.178146}}, + { {-0.503063,-0.039751}, {-0.441040,0.400739}, {-0.405809,0.418514}, {-0.067378,0.009732}}, + { {-0.387675,0.197428}, {0.022297,0.047084}, {-0.249243,-0.313489}, {-0.180239,0.408501}}, + { {-0.405163,0.345411}, {-0.383411,0.122620}, {-0.431622,0.368799}, {-0.129054,-0.047048}}, + { {0.085798,-0.134799}, {0.192376,0.000713}, {-0.335550,0.221554}, {-0.182825,0.100061}}, + { {-0.054539,-0.415310}, {-0.168359,-0.088806}, {0.052474,0.149768}, {-0.009944,-0.284774}}, + { {-0.350402,0.037612}, {-0.351370,0.074558}, {-0.056874,-0.055789}, {-0.557330,0.084536}}, + { {-0.248106,-0.215540}, {0.330297,0.192510}, {0.160990,-0.483173}, {-0.374872,0.247123}}, + { {0.120883,0.144681}, {-0.416648,0.058365}, {0.178562,-0.009860}, {-0.052922,0.242033}}, + { {-0.131057,0.235019}, {0.334219,0.162875}, {-0.209231,-0.313440}, {0.393031,0.517514}}, + { {0.530223,-0.482817}, {-0.024045,0.211552}, {0.161005,-0.367734}, {-0.083244,-0.011815}}, + { {0.428923,0.033814}, {-0.224554,0.323629}, {-0.117996,0.505097}, {-0.439880,0.059119}}, + { {0.295171,-0.097915}, {-0.241116,-0.001890}, {0.010521,0.450290}, {0.050223,-0.175483}}, + { {-0.138449,-0.186499}, {0.352804,-0.358224}, {0.136518,0.236976}, {0.037614,-0.119853}}, + { {-0.230179,0.611811}, {0.024512,-0.217859}, {0.052668,0.339789}, {-0.217374,-0.437640}}, + { {0.157835,-0.020912}, {0.047790,-0.254040}, {0.001998,0.264781}, {0.052181,-0.131100}}, + { {0.612390,-0.110527}, {-0.223960,-0.035628}, {0.064775,0.187124}, {0.156971,-0.144299}}, + { {-0.115485,-0.561693}, {-0.134587,-0.369904}, {0.061035,-0.566715}, {-0.204560,-0.270755}}, + { {-0.355931,-0.132269}, {-0.033181,0.190919}, {-0.487867,0.150675}, {0.081094,-0.066387}}, + { {0.368642,0.263879}, {-0.181228,-0.207395}, {0.331549,0.396041}, {0.057914,-0.055271}}, + { {0.172137,-0.129355}, {0.086691,-0.127009}, {0.042065,-0.486369}, {-0.288649,0.182860}}, + { {-0.197551,0.203733}, {-0.149892,0.443174}, {-0.300283,-0.037080}, {-0.194922,0.118139}}, + { {0.118892,0.079908}, {-0.161673,0.016710}, {-0.517838,-0.068323}, {0.122450,-0.228322}}, + { {-0.036977,0.542285}, {0.284871,-0.101393}, {-0.238096,-0.144462}, {-0.102862,-0.234622}}, + { {0.326718,-0.017903}, {-0.346808,0.377061}, {-0.211130,0.216720}, {0.113638,0.062949}}, + { {-0.420593,-0.163544}, {-0.291632,-0.009618}, {-0.110017,0.191581}, {0.232602,-0.351584}}, + { {0.208436,-0.291321}, {-0.165405,-0.519177}, {0.306514,0.124206}, {-0.062237,-0.073093}}, + { {-0.399272,0.094421}, {-0.058123,-0.036453}, {0.483004,0.104957}, {0.104348,-0.426096}}, + { {0.001498,0.264373}, {0.406732,-0.152246}, {-0.121016,0.293527}, {-0.329360,-0.812076}}, + { {-0.018420,0.678098}, {-0.158633,0.387057}, {-0.559246,-0.212606}, {0.072426,-0.284959}}, + { {0.118444,-0.068243}, {0.278248,-0.211104}, {0.070576,0.425958}, {0.271879,0.246654}}, + { {0.094031,-0.131825}, {-0.282289,-0.049041}, {-0.373891,-0.302456}, {-0.227884,-0.192733}}, + { {-0.244425,0.122333}, {0.200478,-0.216924}, {-0.075055,0.293724}, {0.168716,-0.053591}}, + { {-0.185449,0.053923}, {-0.295328,-0.328449}, {0.286143,-0.320320}, {0.017508,-0.513248}}, + { {-0.161983,0.176158}, {-0.117215,-0.133509}, {0.308148,-0.161242}, {-0.026812,0.010712}}, + { {0.314395,-0.061646}, {0.005157,0.039000}, {0.341661,0.000337}, {-0.433630,0.012631}}, + { {0.220066,-0.291704}, {-0.198750,-0.151449}, {0.039655,0.119239}, {0.391911,0.307104}}, + { {0.136871,0.240055}, {-0.308597,-0.137190}, {-0.334406,0.160725}, {-0.383993,0.044252}}, + { {-0.291432,0.068310}, {-0.163666,-0.361391}, {-0.215031,0.460159}, {0.365707,-0.017438}}, + { {0.038056,-0.040434}, {-0.047275,-0.573753}, {0.500151,0.106227}, {0.399111,-0.048684}}, + { {-0.226557,0.456785}, {0.099609,0.874971}, {-0.275930,0.232954}, {0.743177,0.047751}}, + { {-0.301367,0.043677}, {0.372991,-0.394366}, {-0.237636,0.712973}, {0.266291,0.178007}}, + { {0.224608,-0.299456}, {0.300515,-0.072274}, {0.109868,-0.161879}, {-0.193502,0.191043}}, + { {0.143543,-0.768328}, {0.107163,-0.049111}, {0.185223,-0.112948}, {-0.465104,-0.088753}}, + { {-0.070734,0.305588}, {-0.011645,0.533423}, {-0.515526,-0.029224}, {-0.293416,-0.154416}}, + { {-0.601596,-0.221804}, {0.111743,0.485429}, {-0.094634,0.705711}, {0.093249,-0.186518}}, + { {0.500781,0.015170}, {-0.102209,-0.040730}, {-0.095777,0.426814}, {-0.163871,0.177583}}, + { {0.060146,0.121686}, {-0.363903,0.448653}, {0.179742,0.611761}, {0.076594,0.090366}}, + { {-0.528655,0.424088}, {-0.195457,-0.508613}, {0.849239,-0.130073}, {0.061236,0.021353}}, + { {0.069400,0.514672}, {-0.261211,0.125938}, {0.096376,0.488357}, {-0.162779,-0.348447}}, + { {0.200835,-0.298812}, {0.282533,-0.113286}, {-0.532350,0.514004}, {-0.024171,0.121432}}, + { {-0.015662,-0.210281}, {-0.053859,0.069280}, {-0.213310,-0.149043}, {-0.161621,0.012651}}, + { {0.080742,-0.542827}, {-0.005453,-0.333953}, {-0.066893,-0.359637}, {0.445159,-0.316766}}, + { {-0.335971,0.113456}, {0.107434,-0.026868}, {0.154326,0.345420}, {-0.077934,0.013356}}, + { {0.141882,0.096971}, {0.058530,-0.247759}, {-0.040150,0.363820}, {0.142603,-0.158582}}, + { {0.043306,0.248428}, {-0.017649,0.173914}, {0.272948,-0.048338}, {0.061449,-0.128407}}, + { {-0.078264,-0.012755}, {-0.385851,-0.051113}, {-0.497050,-0.165339}, {-0.083777,0.148115}}, + { {0.359862,0.206582}, {-0.043245,-0.326234}, {0.160224,-0.156650}, {0.110566,-0.054612}}, + { {-0.216932,-0.248404}, {0.228132,-0.065703}, {0.047573,-0.031677}, {0.041428,-0.200722}}, + { {0.119094,-0.152201}, {-0.171351,0.009613}, {0.285642,0.606035}, {0.031309,-0.133380}}, + { {0.350543,-0.621683}, {0.042457,0.121395}, {-0.179323,-0.133353}, {0.440970,-0.145267}}, + { {-0.210403,0.169964}, {-0.376885,-0.114910}, {-0.581170,0.205353}, {0.388940,0.015168}}, + { {-0.271985,0.132315}, {-0.028112,0.142125}, {0.130773,-0.079253}, {0.248825,0.118157}}, + { {0.061308,0.072113}, {-0.162158,-0.512223}, {-0.050172,0.098094}, {0.440553,0.063540}}, + { {0.129083,0.068097}, {0.215612,0.736455}, {-0.251203,0.556114}, {-0.241472,0.099671}}, + { {0.039643,-0.173446}, {0.620995,-0.074037}, {-0.528139,-0.010820}, {-0.031840,-0.138359}}, + { {0.244136,-0.365867}, {-0.265703,-0.165531}, {-0.079152,0.402421}, {0.179394,-0.022616}}, + { {-0.075656,-0.000027}, {0.077298,-0.171896}, {0.106007,0.030031}, {-0.102138,0.113610}}, + { {-0.421454,-0.370327}, {0.035291,0.305994}, {0.168915,-0.086631}, {-0.409700,0.067963}}, + { {0.261705,-0.179992}, {0.200007,0.004994}, {0.554603,-0.208057}, {0.012334,-0.404191}}, + { {0.116455,0.151354}, {-0.006627,-0.672645}, {-0.054726,0.341888}, {0.185663,-0.312808}}, + { {0.520168,-0.071498}, {0.138636,0.060533}, {0.250091,-0.000412}, {-0.127521,0.002973}}, + { {0.080612,0.070134}, {0.519018,-0.702856}, {-0.272517,0.382425}, {-0.117376,-0.071236}}, + { {-0.079169,0.000922}, {-0.264795,0.014230}, {-0.072424,-0.207691}, {0.151612,0.264665}}, + { {-0.201559,0.498738}, {0.187285,-0.087080}, {-0.278962,-0.205998}, {0.071420,0.000413}}, + { {0.077295,-0.078966}, {-0.106354,0.248953}, {-0.290988,0.065494}, {0.140891,0.259763}}, + { {0.431680,-0.718668}, {-0.002345,0.014676}, {0.003236,0.362900}, {-0.588252,0.277076}}, + { {0.139082,0.067486}, {-0.092467,-0.001664}, {-0.524394,-0.196325}, {0.260669,-0.209731}}, + { {0.570793,-0.163082}, {0.152269,-0.326717}, {0.310936,0.111217}, {0.030388,0.693550}}, + { {0.014890,-0.088310}, {0.059908,-0.073207}, {-0.133444,0.180107}, {-0.350009,-0.060947}}, + { {0.157542,0.100875}, {0.026741,-0.066180}, {-0.292609,-0.131301}, {0.049926,0.123887}}, + { {-0.154898,-0.706446}, {-0.835367,0.070030}, {0.210491,-0.039018}, {-0.346824,0.373473}}, + { {0.338521,0.295744}, {0.328618,-0.007983}, {-0.245961,0.479585}, {0.077339,0.062343}}, + { {-0.146545,-0.092528}, {-0.324695,-0.078452}, {0.362388,-0.196544}, {0.023928,0.089223}}, + { {-0.308858,-0.201934}, {0.183533,0.323761}, {-0.282542,-0.373722}, {-0.018089,-0.020390}}, + { {-0.213850,0.077721}, {-0.283258,-0.531132}, {0.379554,-0.294232}, {0.245172,-0.335399}}, + { {0.056847,-0.089430}, {0.103652,0.164106}, {0.034376,-0.136882}, {-0.149279,0.162423}}, + { {-0.050005,0.401940}, {0.073722,-0.032143}, {0.068425,0.010830}, {-0.100729,-0.377849}}, + { {-0.054875,0.309814}, {0.190530,0.076686}, {0.440330,-0.067758}, {-0.354993,-0.172835}}, + { {0.295425,0.344580}, {0.248627,-0.147405}, {-0.162808,-0.349600}, {-0.281384,0.297502}}, + { {0.099975,0.583696}, {-0.281417,-0.012094}, {0.028733,0.275055}, {-0.408470,0.293581}}, + { {0.326483,0.090221}, {0.467181,0.197717}, {0.259066,0.011534}, {-0.183980,-0.303549}}, + { {-0.284214,0.275556}, {-0.036331,-0.165929}, {0.096247,-0.061859}, {-0.307822,0.290306}}, + { {-0.343957,0.005490}, {0.445916,0.077954}, {-0.035170,-0.171954}, {-0.310348,-0.361716}}, + { {-0.155451,0.321627}, {-0.394078,0.048913}, {-0.017139,-0.253109}, {0.189541,-0.238246}}, + { {0.232455,-0.419364}, {0.275656,-0.243207}, {-0.124787,0.244906}, {0.264559,-0.381791}}, + { {-0.090732,-0.014726}, {0.683460,-0.070517}, {-0.131062,0.041445}, {0.085321,0.213573}}, + { {0.129182,-0.234801}, {0.462801,0.160543}, {-0.082582,0.165245}, {-0.226717,0.211012}}, + { {-0.435602,-0.012168}, {0.322612,-0.114953}, {0.145738,-0.009746}, {0.298943,-0.098434}}, + { {0.076457,0.061976}, {-0.005380,-0.241261}, {0.163778,0.264683}, {0.085400,0.177385}}, + { {0.597068,-0.075116}, {0.399816,0.017422}, {0.389982,-0.031140}, {-0.294093,-0.388388}}, + { {0.318878,-0.036815}, {-0.234112,-0.801294}, {-0.265327,0.133147}, {-0.015259,0.144176}}, + { {0.070844,-0.653566}, {-0.015310,-0.057587}, {-0.337054,-0.265253}, {0.473293,0.318475}}, + { {0.434273,0.075673}, {-0.088919,0.414944}, {-0.191497,-0.230056}, {-0.497719,0.269404}}, + { {0.033744,0.069354}, {-0.239676,-0.023515}, {0.030579,-0.000166}, {-0.209733,0.628387}}, + { {-0.184956,-0.378498}, {0.192721,0.059267}, {-0.508250,0.248714}, {-0.184745,0.044113}}, + { {-0.282850,-0.173266}, {0.052474,-0.228206}, {0.351982,-0.081880}, {-0.255820,-0.344486}}, + { {-0.063649,0.098122}, {-0.167299,-0.079985}, {-0.168359,-0.150255}, {0.076669,-0.112331}}, + { {0.366231,-0.201318}, {-0.553282,-0.328085}, {-0.187832,0.034580}, {0.174095,-0.394287}}, + { {-0.205402,-0.499996}, {-0.418680,-0.053061}, {-0.117287,0.311258}, {0.194219,0.048315}}, + { {-0.172346,0.770721}, {0.408969,0.237808}, {-0.365306,0.061178}, {0.255282,0.015140}}, + { {-0.109597,-0.199425}, {-0.077180,-0.201362}, {0.134809,0.003829}, {0.148081,0.055186}}, + { {-0.054262,-0.026898}, {-0.094435,-0.241610}, {-0.178328,0.299753}, {-0.414479,0.056818}}, + { {-0.185036,-0.150994}, {0.013833,-0.232444}, {0.161182,0.187601}, {-0.275356,0.106707}}, + { {0.374102,-0.012281}, {0.489070,-0.138166}, {-0.302481,-0.327111}, {0.217411,0.376323}}, + { {0.078610,0.049859}, {0.473731,0.312158}, {-0.313817,-0.367920}, {0.554755,-0.100771}}, + { {0.143516,-0.452864}, {0.085905,0.073405}, {-0.008586,-0.145278}, {0.502481,0.085643}}, + { {-0.413392,-0.048657}, {0.344558,0.150758}, {-0.064876,0.200362}, {0.215220,0.085384}}, + { {-0.223838,0.813131}, {0.136495,0.503562}, {0.037339,0.325496}, {0.016412,-0.125430}}, + { {-0.201446,0.705457}, {-0.138195,-0.072044}, {-0.382619,-0.425436}, {-0.070534,-0.197187}}, + { {-0.024347,-0.219038}, {0.190098,0.471902}, {0.140685,-0.039844}, {0.345504,0.187211}}, + { {0.432318,0.179298}, {-0.131667,-0.176622}, {0.116418,0.319021}, {-0.385235,-0.035748}}, + { {0.311539,-0.201679}, {-0.152516,-0.425898}, {0.059908,0.349891}, {0.084949,-0.082877}}, + { {-0.688961,-0.025307}, {-0.448917,0.640223}, {0.059411,-0.281467}, {-0.268988,0.300101}}, + { {0.411467,-0.247394}, {0.030981,-0.316311}, {-0.172255,0.329551}, {0.221466,-0.352427}}, + { {-0.010861,-0.258829}, {0.042930,-0.447836}, {0.192195,-0.442534}, {-0.496557,0.303134}}, + { {0.162976,0.245563}, {-0.377804,0.139764}, {0.390353,0.027945}, {-0.350942,-0.038163}}, + { {0.490435,-0.478758}, {0.177853,0.466072}, {-0.298821,0.313830}, {0.028664,-0.601953}}, + { {0.065439,-0.492205}, {0.691453,-0.101211}, {-0.091691,-0.387725}, {-0.743918,-0.134731}}, + { {-0.326988,-0.344278}, {-0.269384,-0.563013}, {0.110825,0.171358}, {0.139110,-0.058018}}, + { {-0.208397,0.054860}, {0.349607,0.243547}, {0.362209,0.331386}, {-0.587735,0.128467}}, + { {-0.226421,-0.237055}, {0.153288,0.038228}, {-0.159819,0.451976}, {-0.731017,-0.243144}}, + { {0.414704,0.082777}, {-0.229986,-0.179830}, {0.735124,-0.059787}, {0.084100,-0.234950}}, + { {-0.009129,0.086255}, {-0.276279,-0.048737}, {0.121304,-0.225277}, {0.640434,-0.102903}}, + { {0.614793,0.272580}, {0.498993,-0.523114}, {-0.429207,0.035989}, {-0.274787,0.134686}}, + { {0.180790,0.358864}, {-0.023047,0.065324}, {0.308703,0.238520}, {0.060760,0.275676}}, + { {-0.067385,0.509101}, {-0.043290,-0.246975}, {-0.192233,0.071204}, {0.052692,-0.288360}}, + { {-0.031514,-0.262345}, {-0.367949,0.180763}, {-0.004922,-0.182172}, {0.168995,0.053817}}, + { {-0.167453,-0.005158}, {-0.417444,0.165249}, {0.034439,-0.021640}, {-0.441203,0.085585}}, + { {0.008977,0.219848}, {-0.073203,0.245379}, {0.011695,-0.542637}, {0.243605,-0.085983}}, + { {0.492628,0.180833}, {-0.292378,-0.482823}, {0.369409,-0.220277}, {0.144359,0.048600}}, + { {0.258174,0.070210}, {-0.226118,-0.159983}, {0.059975,0.099203}, {0.231947,0.354344}}, + { {0.376285,-0.318337}, {-0.011974,-0.054908}, {-0.221093,0.003776}, {-0.043697,0.072246}}, + { {0.330174,-0.074655}, {0.090225,-0.116280}, {-0.143245,0.471809}, {-0.241901,-0.156598}}, + { {-0.014764,-0.090827}, {-0.557101,0.575360}, {-0.162818,0.221511}, {0.090063,-0.083107}}, + { {-0.726531,-0.225389}, {-0.085854,-0.157015}, {0.052982,-0.124716}, {-0.277968,0.192631}}, + { {0.390945,0.187383}, {0.044613,-0.010036}, {-0.199634,-0.247389}, {0.092595,0.552461}}, + { {-0.251794,-0.365084}, {0.187220,0.324906}, {-0.265520,-0.457451}, {0.085599,0.300422}}, + { {0.598367,0.234726}, {-0.313287,0.147727}, {0.354592,0.106822}, {0.359412,-0.239216}}, + { {0.001004,0.082232}, {0.053954,-0.059520}, {-0.380669,-0.550896}, {-0.214904,-0.033183}}, + { {0.063894,0.587134}, {-0.176766,-0.237091}, {-0.378504,0.687891}, {0.100150,-0.474589}}, + { {-0.024853,-0.042631}, {-0.228418,-0.018471}, {0.214901,-0.119222}, {0.301672,-0.032019}}, + { {0.148857,-0.313287}, {-0.110050,-0.259782}, {0.216752,0.058100}, {-0.059348,-0.031191}}, + { {-0.519067,0.339193}, {0.064570,0.247008}, {0.200315,0.230864}, {-0.149875,0.221494}}, + { {0.967113,-0.014945}, {-0.259459,0.289004}, {-0.169500,0.486778}, {-0.353389,0.479504}}, + { {-0.332104,-0.245401}, {0.359284,-0.621389}, {-0.138287,0.028163}, {0.402340,0.167997}}, + { {-0.300602,-0.581617}, {0.376286,-0.569120}, {0.145366,-0.115393}, {0.121327,0.408137}}, + { {0.003044,0.181737}, {0.529158,0.324516}, {0.120197,0.263861}, {-0.088841,-0.012370}}, + { {0.050556,-0.541265}, {-0.470490,-0.605930}, {-0.302888,0.228295}, {-0.379453,0.239140}}, + { {-0.367779,-0.303912}, {-0.270036,-0.874281}, {-0.141817,-0.254576}, {0.212963,0.086223}}, + { {0.376274,0.127668}, {0.003865,-0.003529}, {0.016964,0.495091}, {0.163785,0.186446}}, + { {0.522536,-0.336653}, {0.474372,0.087297}, {-0.014762,0.222145}, {-0.021979,0.179251}}, + { {0.013027,0.064962}, {-0.134777,-0.167132}, {0.013371,0.022012}, {0.152787,-0.622872}}, + { {-0.001121,-0.436419}, {0.088268,-0.196491}, {-0.164590,0.290373}, {-0.086976,0.129774}}, + { {0.005381,0.116676}, {0.394283,-0.553228}, {0.501610,-0.757587}, {0.045999,0.924685}}, + { {-0.210291,0.093077}, {0.005616,0.008494}, {0.536801,0.429660}, {0.553244,0.496067}}, + { {-0.014174,-0.217077}, {-0.442078,0.117157}, {0.052577,0.252468}, {0.133596,-0.302114}}, + { {0.066692,-0.210007}, {-0.024506,0.166687}, {-0.132973,0.216990}, {-0.378907,0.339904}}, + { {-0.071062,0.253040}, {0.723311,-0.281540}, {0.199863,0.131619}, {-0.185019,-0.247654}}, + { {-0.048021,-0.319240}, {-0.609517,-0.209317}, {0.141367,0.028844}, {-0.309397,0.638208}}, + { {-0.096966,0.185327}, {-0.449172,-0.148644}, {0.107145,0.122620}, {-0.226685,0.085414}}, + { {0.123137,-0.507010}, {0.035061,-0.405579}, {-0.665680,-0.081938}, {0.025117,-0.074546}}, + { {-0.276162,-0.300109}, {0.021657,0.182082}, {-0.046924,0.439472}, {-0.003342,0.221774}}, + { {0.100394,-0.014396}, {0.108518,0.707619}, {-0.093496,0.084405}, {-0.294377,0.155924}}, + { {0.015601,-0.416095}, {-0.207130,0.054667}, {-0.003294,-0.046254}, {0.058958,0.035571}}, + { {-0.166583,0.261310}, {-0.231978,-0.413367}, {-0.087134,0.485384}, {0.176379,0.111352}}, + { {-0.109017,0.162398}, {0.753678,-0.352826}, {0.032553,-0.018528}, {0.027350,0.428136}}, + { {-0.454516,0.193027}, {-0.194805,-0.244220}, {0.391591,0.224543}, {-0.357781,0.000919}}, + { {0.456979,-0.131506}, {0.070305,-0.018777}, {0.148938,-0.219166}, {-0.030467,-0.435105}}, + { {-0.071701,-0.269393}, {-0.070570,0.046294}, {0.066870,-0.232841}, {0.133145,0.110002}}, + { {0.101548,-0.077140}, {-0.082616,-0.038048}, {-0.420662,-0.051301}, {0.019527,-0.496392}}, + { {-0.168364,-0.230933}, {0.161906,-0.191272}, {0.610299,-0.152656}, {-0.209238,0.065691}}, + { {0.154753,-0.188244}, {0.952206,-0.416603}, {0.059695,0.282839}, {-0.250931,0.291837}}, + { {-0.016336,-0.302427}, {-0.277827,0.624406}, {0.123465,-0.441014}, {0.271318,-0.279612}}, + { {-0.055681,-0.293139}, {0.392449,-0.115001}, {0.055223,-0.317362}, {0.147117,0.058829}}, + { {-0.210021,0.132249}, {0.010372,0.150179}, {0.388006,0.292219}, {-0.228610,-0.077640}}, + { {-0.461618,0.033395}, {0.182859,0.488652}, {0.042498,-0.014597}, {-0.406817,0.147791}}, + { {0.314427,0.092150}, {-0.067273,0.059179}, {-0.037496,0.401134}, {0.052262,0.008443}}, + { {-0.043777,0.336999}, {0.312904,-0.430385}, {0.029779,0.182786}, {0.397514,-0.275671}}, + { {-0.011040,-0.098204}, {-0.384790,0.107988}, {-0.169643,-0.106682}, {0.331089,-0.071821}}, + { {0.049983,-0.158137}, {0.362512,0.013191}, {0.283657,0.236168}, {-0.058940,-0.517155}}, + { {-0.032295,-0.221165}, {-0.052623,0.072054}, {-0.074915,0.072867}, {0.099013,0.384157}}, + { {0.365194,0.154402}, {0.629388,-0.105209}, {-0.483499,0.148980}, {-0.133843,0.015912}}, + { {-0.098715,-0.478623}, {-0.524517,0.460393}, {-0.215372,-0.472132}, {-0.407925,0.524680}}, + { {0.022968,0.129873}, {0.046810,0.150556}, {0.172892,0.235215}, {-0.089234,0.005368}}, + { {0.002832,0.081650}, {0.029455,0.854959}, {-0.592918,-0.388429}, {-0.074676,0.141013}}, + { {0.014543,0.315084}, {-0.249245,-0.115690}, {-0.412515,0.066233}, {-0.485386,0.097857}}, + { {0.290953,0.027835}, {-0.418451,0.202531}, {-0.187529,0.204908}, {-0.023085,0.513081}}, + { {-0.258644,0.411239}, {0.106116,0.491138}, {-0.393229,0.160471}, {-0.434560,-0.294429}}, + { {0.016989,-0.011315}, {0.190441,0.206952}, {0.390324,0.192402}, {-0.306832,-0.022567}}, + { {0.190620,0.142245}, {0.128750,-0.052751}, {0.273936,0.154470}, {0.270445,-0.049614}}, + { {0.154772,-0.511616}, {-0.113155,0.173922}, {-0.216281,0.064004}, {-0.028929,-0.596442}}, + { {-0.326645,-0.247114}, {-0.054943,0.073963}, {-0.097002,0.272506}, {-0.111669,-0.347525}}, + { {-0.572468,-0.629206}, {0.262774,0.226937}, {0.012402,-0.244323}, {0.044559,0.172408}}, + { {0.107975,-0.123569}, {0.271133,-0.368227}, {-0.461258,0.074716}, {-0.542716,0.298122}}, + { {-0.159471,0.262413}, {0.411871,0.183411}, {-0.317667,-0.120780}, {-0.431727,0.171749}}, + { {-0.484429,0.287719}, {-0.319951,0.599269}, {0.219441,-0.171262}, {-0.153417,0.186684}}, + { {0.536449,-0.123444}, {0.111294,0.028028}, {0.022914,-0.193746}, {0.080604,-0.508708}}, + { {0.593477,-0.205395}, {-0.025656,-0.180458}, {-0.409849,-0.078293}, {-0.096687,0.187835}}, + { {-0.026294,0.191748}, {0.044241,0.135014}, {0.039458,-0.006727}, {-0.615259,0.196813}}, + { {-0.167524,-0.244251}, {-0.043568,-0.109964}, {0.136617,-0.399412}, {-0.085877,-0.056180}}, + { {0.053807,-0.221761}, {0.260891,-0.294736}, {0.473293,0.006510}, {0.378570,-0.138360}}, + { {0.215450,0.095927}, {-0.072731,-0.454063}, {0.050196,0.327213}, {-0.361325,-0.307572}}, + { {0.601297,-0.163960}, {-0.154052,-0.246465}, {-0.241445,0.027168}, {-0.007335,-0.385698}}, + { {0.350911,-0.563312}, {-0.207168,-0.042404}, {0.064874,0.224612}, {0.235870,-0.007660}}, + { {0.118117,0.078834}, {-0.110417,0.485598}, {-0.184062,-0.043305}, {-0.265259,-0.323935}}, + { {0.135252,-0.264820}, {-0.090688,0.227259}, {-0.214834,-0.439678}, {0.125947,-0.049620}}, + { {0.109358,-0.049967}, {0.114211,0.111147}, {0.008820,-0.075684}, {0.093200,0.017930}}, + { {-0.510286,0.374088}, {0.131518,-0.701320}, {-0.335833,-0.647279}, {-0.152105,0.063869}}, + { {0.507388,0.499527}, {-0.154010,-0.050098}, {0.158747,0.021492}, {0.003366,-0.100517}}, + { {0.321997,-0.164972}, {-0.002128,-0.285251}, {0.119419,-0.031229}, {0.155682,-0.575869}}, + { {0.325517,0.059569}, {-0.162478,-0.352961}, {0.407223,-0.390844}, {-0.450301,0.176865}}, + { {-0.038199,0.114773}, {-0.535195,0.187826}, {-0.321321,-0.035799}, {0.045766,-0.197339}}, + { {-0.044078,-0.006786}, {0.111488,0.188249}, {-0.156393,-0.849835}, {-0.727996,0.092839}}, + { {0.478616,0.199355}, {0.076938,0.251060}, {-0.143436,-0.221799}, {0.510431,0.421355}}, + { {-0.251529,0.116722}, {-0.012478,-0.056341}, {0.394425,-0.148447}, {0.189882,-0.498929}}, + { {0.288345,-0.101309}, {0.002293,0.076881}, {-0.000850,-0.043498}, {-0.225962,-0.122389}}, + { {0.305172,0.233319}, {-0.349315,-0.538676}, {0.098687,0.055864}, {0.480233,-0.225805}}, + { {-0.168200,-0.329210}, {-0.282830,-0.173777}, {0.119306,-0.007902}, {0.029248,-0.011320}}, + { {0.302429,0.000077}, {-0.166087,0.043900}, {-0.138765,0.093793}, {-0.303218,0.088529}}, + { {-0.111799,0.280024}, {0.112168,-0.029621}, {-0.260182,0.311411}, {-0.040533,0.463816}}, + { {-0.133204,-0.028277}, {0.029498,-0.098190}, {0.568278,0.005486}, {-0.014700,0.368417}}, + { {-0.040147,-0.274857}, {-0.545128,0.077048}, {-0.099423,0.314228}, {-0.080927,-0.028965}}, + { {-0.251461,-0.121591}, {0.388248,0.094052}, {0.094202,0.250863}, {0.166882,0.118831}}, + { {-0.155616,0.225246}, {-0.157587,-0.528799}, {0.143844,0.298740}, {-0.051253,0.222578}}, + { {-0.244496,0.227898}, {0.091201,0.081164}, {0.089971,-0.271517}, {0.000964,0.263170}}, + { {0.316189,-0.070368}, {0.273359,0.056081}, {0.264907,0.356739}, {0.268639,0.234692}}, + { {-0.340614,-0.048855}, {-0.769490,-0.470076}, {-0.136659,0.167449}, {-0.051982,0.193616}}, + { {0.054793,0.016388}, {-0.021158,0.140343}, {0.085307,-0.595568}, {0.017222,0.159122}}, + { {0.292823,0.194546}, {0.620162,-0.240192}, {0.173644,-0.343837}, {0.296348,-0.633418}}, + { {0.101503,0.108657}, {-0.070613,-0.685550}, {0.195726,-0.566730}, {0.130433,0.344140}}, + { {0.210603,0.022525}, {-0.058027,-0.264947}, {-0.334582,0.009886}, {-0.069001,-0.285679}}, + { {0.569472,-0.233393}, {0.355773,-0.078239}, {-0.192797,0.293623}, {-0.145237,0.133416}}, + { {0.175782,0.178869}, {0.278593,0.298022}, {-0.268352,-0.294007}, {-0.369889,-0.149101}}, + { {-0.085830,0.088541}, {0.223899,-0.278944}, {-0.450735,0.314336}, {0.033138,-0.004060}}, + { {0.093632,-0.103129}, {0.098862,0.096244}, {-0.273388,0.265800}, {-0.323330,-0.024594}}, + { {-0.262240,-0.064696}, {-0.388027,-0.420380}, {-0.083504,0.175516}, {-0.262181,-0.608883}}, + { {-0.376482,0.104219}, {-0.252399,-0.035238}, {-0.344144,-0.020389}, {-0.528925,0.234133}}, + { {-0.165722,0.136287}, {-0.260101,-0.265211}, {-0.280332,0.142985}, {-0.858225,-0.181161}}, + { {0.361160,0.230629}, {-0.110940,-0.148884}, {-0.111889,-0.133805}, {-0.018377,-0.086508}}, + { {-0.261888,-0.157668}, {0.108391,-0.419726}, {-0.571168,-0.054514}, {-0.175414,0.239386}}, + { {-0.719097,0.338244}, {-0.515942,0.726361}, {0.201597,0.471820}, {-0.020826,0.182413}}, + { {0.000913,0.244699}, {-0.006443,-0.733880}, {-0.153436,0.484484}, {-0.213930,0.190152}}, + { {-0.308299,-0.066902}, {-0.169539,-0.103659}, {-0.023120,0.362402}, {-0.356277,0.009707}}, + { {-0.321486,0.250732}, {-0.189093,0.303420}, {-0.016102,-0.100816}, {-0.282744,-0.125252}}, + { {-0.048772,-0.249470}, {0.150520,0.109001}, {0.086462,-0.108351}, {-0.638463,0.083005}}, + { {-0.641853,-0.305082}, {-0.549656,0.162001}, {0.003398,0.166868}, {0.732520,0.419660}}, + { {-0.280466,0.408709}, {0.106493,-0.021317}, {-0.315959,0.340823}, {0.179071,0.283548}}, + { {0.167744,0.420586}, {-0.069414,-0.253366}, {-0.044998,-0.144675}, {0.028316,0.037821}}, + { {-0.137914,0.013546}, {-0.359836,-0.239635}, {-0.054894,-0.128650}, {0.135744,-0.020107}}, + { {-0.127755,0.417756}, {-0.300354,0.046783}, {0.051663,0.205262}, {0.066619,0.384590}}, + { {0.206115,-0.122332}, {0.132781,0.058641}, {0.010356,-0.045014}, {-0.206678,0.292679}}, + { {-0.278040,-0.049601}, {0.227087,0.046874}, {0.342113,-0.433999}, {-0.379606,0.484330}}, + { {0.181283,0.252494}, {-0.340974,0.238385}, {0.054575,-0.244962}, {-0.285874,0.230659}}, + { {-0.608757,0.337165}, {0.343990,-0.211060}, {0.108844,-0.553364}, {0.353272,-0.012342}}, + { {0.434207,0.150424}, {-0.143038,-0.178495}, {0.145507,0.090446}, {-0.199361,0.422781}}, + { {0.021573,0.004357}, {0.148851,-0.092096}, {0.267090,0.095125}, {-0.200667,-0.200744}}, + { {0.013924,-0.057218}, {0.001869,0.260184}, {0.142119,0.397194}, {-0.168498,-0.223962}}, + { {0.448688,-0.170649}, {-0.082005,-0.186810}, {-0.351338,-0.067275}, {-0.030032,-0.109484}}, + { {0.138364,-0.201932}, {0.095766,0.088879}, {0.184251,-0.361527}, {0.310058,-0.156774}}, + { {-0.154605,0.327350}, {-1.087511,0.169317}, {-0.228248,-0.109929}, {0.209852,0.002672}}, + { {0.047592,-0.124445}, {0.078113,-0.403396}, {-0.086168,-0.077122}, {-0.024422,0.160412}}, + { {0.133377,0.050234}, {-0.422389,-0.258499}, {-0.015039,0.148372}, {-0.043008,0.042826}}, + { {-0.028461,0.402616}, {0.026249,-0.510879}, {-0.149099,-0.008391}, {0.035683,-0.091728}}, + { {0.279212,0.203650}, {0.058601,-0.074051}, {0.023345,-0.141703}, {-0.031720,-0.076374}}, + { {0.268078,-0.028517}, {-0.047667,0.333660}, {0.585226,0.009540}, {-0.264899,0.241786}}, + { {0.243772,-0.278048}, {0.183448,-0.501459}, {0.346970,-0.130720}, {0.513764,-0.472347}}, + { {-0.516370,0.099855}, {-0.068486,-0.059831}, {0.345512,-0.363237}, {-0.377999,-0.132980}}, + { {0.207477,0.241947}, {-0.259904,-0.106711}, {0.076736,-0.375355}, {0.231505,0.100801}}, + { {-0.067932,0.009240}, {0.234047,0.282603}, {-0.556706,-0.495021}, {-0.534919,0.038842}}, + { {-0.008911,-0.206110}, {-0.558019,-0.300012}, {-0.247166,0.072925}, {0.020211,-0.291628}}, + { {-0.077345,0.162304}, {0.264104,0.049533}, {-0.669281,-0.366020}, {-0.225053,0.230398}}, + { {-0.344701,0.122569}, {-0.687418,0.151367}, {-0.410798,0.006934}, {-0.492509,0.267568}}, + { {0.652268,-0.167759}, {-0.053274,-0.336155}, {0.254565,-0.237585}, {0.166367,-0.183526}}, + { {-0.158887,-0.307262}, {-0.325838,0.167855}, {-0.098077,-0.121476}, {-0.263091,0.040721}}, + { {0.451123,-0.123993}, {0.043002,0.101413}, {0.105760,0.348384}, {0.300362,0.344852}}, + { {0.626542,0.194217}, {-0.085215,0.190287}, {0.410734,-0.128683}, {0.075397,-0.186311}}, + { {0.355915,0.411299}, {0.391607,0.148682}, {0.332943,0.211463}, {-0.142008,0.252619}}, + { {0.322234,-0.259853}, {-0.059185,-0.050467}, {0.020346,-0.454939}, {-0.196079,-0.372418}}, + { {-0.290778,0.625184}, {0.162559,-0.157000}, {-0.310926,-0.196453}, {-0.090794,0.090607}}, + { {-0.292114,0.057084}, {0.210841,0.162463}, {-0.174734,-0.179877}, {-0.397110,0.309046}}, + { {-0.545503,0.002671}, {0.482630,0.298433}, {0.261763,-0.212414}, {0.943999,0.203439}}, + { {0.100658,0.455934}, {0.528948,0.319301}, {0.091805,0.539295}, {-0.067833,0.397577}}, + { {0.124946,-0.073545}, {0.269438,0.365259}, {0.071964,-0.042427}, {-0.245738,-0.113193}}, + { {-0.185533,0.083695}, {-0.029065,-0.191401}, {-0.050121,0.019143}, {0.021585,-0.110199}}, + { {-0.193868,-0.655720}, {0.256105,-0.522931}, {-0.061841,-0.200688}, {-0.027884,-0.236400}}, + { {0.193301,0.057530}, {-0.243564,0.667818}, {-0.295781,0.055316}, {0.038874,-0.085848}}, + { {0.011785,0.144373}, {0.483641,0.181309}, {-0.254839,0.121461}, {0.195791,0.522883}}, + { {0.269510,0.043112}, {0.130732,-0.278834}, {-0.237420,-0.204660}, {0.031736,0.250031}}, + { {0.311520,0.475600}, {0.334873,0.314302}, {-0.399669,0.544440}, {0.043908,-0.083592}}, + { {0.084714,-0.373458}, {0.149177,-0.017630}, {0.112516,-0.029530}, {-0.118067,0.365395}}, + { {0.290655,-0.465648}, {-0.306663,-0.093608}, {0.117548,0.010509}, {0.047994,0.305511}}, + { {0.056130,0.025837}, {-0.085148,-0.405549}, {-0.000889,0.150828}, {-0.294468,0.090769}}, + { {-0.026238,0.206763}, {-0.035827,0.191150}, {0.184761,-0.436860}, {0.391517,0.375869}}, + { {-0.157098,-0.017041}, {-0.310583,0.007466}, {0.093189,-0.114124}, {-0.081830,0.188917}}, + { {-0.099520,0.169449}, {-0.448814,0.102187}, {0.414874,-0.155173}, {-0.301451,-0.379805}}, + { {-0.039633,0.137112}, {0.299287,-0.028959}, {-0.084194,-0.227466}, {-0.436013,0.206846}}, + { {-0.111253,-0.169665}, {-0.124955,0.044086}, {0.119277,0.257644}, {0.034760,-0.120348}}, + { {-0.000680,-0.381221}, {-0.268635,0.179197}, {-0.094189,0.307820}, {0.018035,0.209537}}, + { {0.235401,0.187852}, {0.180738,0.079864}, {-0.004662,-0.471080}, {0.243335,-0.001910}}, + { {-0.345383,-0.481771}, {-0.171982,0.386774}, {-0.046505,-0.640629}, {-0.299541,-0.116037}}, + { {0.104531,-0.216338}, {-0.016112,0.332837}, {-0.061611,0.027044}, {0.350349,-0.017170}}, + { {-0.177477,0.056674}, {-0.841625,-0.227394}, {0.123291,-0.031347}, {-0.157365,-0.040863}}, + { {-0.083101,-0.274397}, {0.354234,-0.374733}, {0.334759,0.179168}, {0.335408,0.242021}}, + { {-0.113617,0.018340}, {0.074596,0.596974}, {0.185245,-0.189192}, {0.175381,0.094824}}, + { {-0.490311,-0.118713}, {-0.148119,-0.247817}, {-0.157654,-0.089530}, {0.030907,0.329222}}, + { {0.057211,-0.045283}, {-0.161888,0.123292}, {0.217489,-0.180580}, {0.438249,0.396373}}, + { {-0.156105,-0.156698}, {-0.293354,0.154571}, {-0.101100,0.119492}, {0.075963,0.532119}}, + { {-0.299882,0.163880}, {-0.333608,0.130850}, {0.244609,0.267176}, {0.135427,0.155656}}, + { {0.275799,0.135315}, {-0.523854,-0.182311}, {0.119718,-0.221857}, {-0.100655,0.170687}}, + { {0.410499,0.213837}, {0.316934,0.364732}, {-0.266182,-0.333428}, {0.480303,0.140437}}, + { {-0.228357,0.712201}, {-0.217266,0.243744}, {-0.077160,-0.415566}, {0.236963,-0.032095}}, + { {-0.575525,-0.407173}, {-0.366629,-0.418648}, {0.283307,-0.540519}, {0.209535,0.555715}}, + { {0.262552,0.073856}, {-0.059241,-0.200618}, {0.032215,-0.584477}, {0.505345,0.177218}}, + { {0.121115,-0.068893}, {-0.404804,0.356993}, {-0.283214,-0.074082}, {-0.045393,0.555761}}, + { {-0.404623,-0.010290}, {0.153425,0.157278}, {-0.084394,-0.076790}, {-0.354709,0.354541}}, + { {0.015501,0.358369}, {-0.175281,0.340178}, {0.115858,0.217047}, {-0.143357,0.378122}}, + { {-0.156993,-0.123102}, {-0.116446,0.472620}, {0.060065,0.274302}, {0.033934,0.034772}}, + { {0.445688,0.073365}, {0.076703,0.127737}, {0.013379,-0.001000}, {-0.106641,0.106805}}, + { {0.136507,-0.050043}, {0.407353,0.115308}, {0.048256,-0.133254}, {-0.354396,0.203819}}, + { {0.057112,-0.119060}, {-0.034097,-0.006022}, {0.151687,0.131282}, {0.569624,-0.004227}}, + { {0.053252,0.266006}, {-0.068506,0.379758}, {0.068197,0.068154}, {0.509348,-0.315765}}, + { {-0.252571,0.386562}, {-0.242553,-0.009619}, {0.109045,-0.344774}, {0.070281,0.124619}}, + { {0.588064,0.153643}, {-0.286665,-0.078885}, {-0.065767,-0.509563}, {-0.238757,0.013033}}, + { {0.592504,0.372148}, {0.198193,-0.001872}, {-0.164003,0.489567}, {0.330735,-0.039598}}, + { {0.551413,-0.543238}, {0.198649,-0.158903}, {0.614444,0.307301}, {0.104530,-0.018691}}, + { {0.405624,0.220570}, {0.119711,-0.072664}, {0.401416,0.188302}, {-0.311105,-0.014044}}, + { {-0.223710,0.182913}, {0.048391,-0.155886}, {0.235030,-0.279472}, {-0.228086,-0.213426}}, + { {0.604851,0.078354}, {0.506793,-0.086594}, {-0.054977,0.102919}, {0.534624,0.017529}}, + { {-0.166029,-0.346383}, {0.269711,-0.507934}, {-0.373672,0.036060}, {-0.305587,-0.744863}}, + { {0.441346,-0.060188}, {-0.304415,0.202950}, {-0.062409,0.745989}, {-0.500153,-0.115002}}, + { {0.214561,0.283251}, {-0.066077,0.082956}, {0.057705,0.473443}, {-0.154244,-0.159944}}, + { {0.375115,-0.131898}, {0.421969,-0.203231}, {-0.346070,-0.298714}, {0.374636,-0.113327}}, + { {-0.465686,0.323633}, {0.063348,-0.238724}, {-0.175278,0.476950}, {-0.004760,-0.008709}}, + { {0.067378,0.189710}, {-0.301664,-0.103541}, {0.288538,-0.129511}, {-0.295042,0.370832}}, + { {-0.049706,-0.067306}, {-0.433963,-0.525780}, {-0.204288,-0.353320}, {0.585501,0.334824}}, + { {0.068500,0.349823}, {-0.085300,-0.223413}, {-0.501679,0.024676}, {0.097606,0.079271}}, + { {-0.029818,-0.074044}, {0.120673,0.273486}, {0.292707,-0.425173}, {-0.065695,-0.552875}}, + { {0.153431,0.213775}, {-0.545516,-0.090535}, {0.182061,-0.432678}, {-0.024692,0.008854}}, + { {0.012272,0.650140}, {0.183305,0.146783}, {-0.303150,-0.051364}, {-0.040416,-0.474937}}, + { {0.466283,-0.229823}, {-0.454822,-0.368263}, {0.339692,-0.352136}, {0.302220,0.168355}}, + { {0.285413,0.026541}, {-0.184937,-0.338350}, {0.179855,0.042314}, {0.191997,-0.290051}}, + { {0.057999,0.197916}, {-0.319933,-0.254896}, {-0.358152,0.097749}, {0.328450,0.278269}}, + { {-0.529053,0.163930}, {-0.206725,0.111785}, {0.003646,-0.051068}, {-0.409627,0.172131}}, + { {0.338982,0.264312}, {-0.296369,-0.689427}, {0.289000,0.122387}, {0.689854,0.114741}}, + { {-0.072556,0.058667}, {0.053296,0.089908}, {-0.258195,0.346536}, {0.179452,0.275513}}, + { {0.217976,0.105524}, {-0.093284,-0.340609}, {-0.085653,-0.094071}, {-0.245449,-0.204522}}, + { {0.299511,0.031897}, {0.094393,-0.237600}, {-0.351494,-0.360402}, {0.035671,-0.192860}}, + { {-0.375761,0.161259}, {-0.082457,0.404184}, {0.218729,-0.114659}, {-0.285135,0.086589}}, + { {0.020432,0.497980}, {-0.088665,-0.548632}, {0.036243,-0.155825}, {-0.018136,-0.224846}}, + { {0.064848,-0.705306}, {0.245386,-0.014907}, {0.339186,0.499815}, {0.288021,0.308072}}, + { {0.085955,-0.085473}, {-0.080541,-0.438020}, {0.267508,0.407301}, {0.095101,0.197840}}, + { {0.385409,0.061069}, {0.145571,0.246037}, {-0.010435,0.023842}, {0.748146,0.280212}}, + { {0.158664,-0.132333}, {0.714549,-0.065846}, {0.075026,0.079960}, {-0.361743,0.166121}}, + { {0.123921,0.032806}, {0.199295,0.417281}, {0.412380,0.372668}, {-0.114147,0.012044}}, + { {0.220517,-0.309738}, {0.144591,0.363805}, {0.197831,-0.250712}, {0.247870,0.194177}}, + { {-0.029792,0.445695}, {-0.010258,-0.187190}, {0.247151,0.752962}, {-0.081488,0.240171}}, + { {-0.301210,0.161370}, {-0.345753,0.173568}, {-0.325136,0.033637}, {-0.334615,0.248127}}, + { {-0.002860,0.126716}, {0.044056,0.394778}, {0.051727,0.262136}, {0.043435,0.268112}}, + { {-0.359698,0.355919}, {-0.016470,0.539318}, {-0.133463,0.159863}, {-0.182504,-0.181658}}, + { {-0.138521,-0.280747}, {0.352360,-0.204980}, {0.024765,0.084903}, {-0.016047,-0.158251}}, + { {-0.605491,-0.232194}, {0.362599,0.178285}, {0.136504,0.099373}, {0.133053,-0.127493}}, + { {-0.134097,-0.689844}, {0.276129,-0.129312}, {-0.226950,0.343167}, {-0.193134,0.055267}}, + { {0.265991,-0.028750}, {0.225480,0.204140}, {-0.071638,-0.257176}, {-0.061660,-0.281285}}, + { {-0.323990,-0.400253}, {0.449986,0.256602}, {-0.305499,0.137363}, {0.358872,-0.071735}}, + { {-0.550683,0.337922}, {-0.183415,0.040950}, {0.184440,0.142174}, {0.001831,0.060649}}, + { {-0.009584,-0.135027}, {-0.105114,-0.290293}, {-0.088416,-0.295909}, {0.285938,0.069336}}, + { {0.046654,-0.361367}, {-0.191181,0.194387}, {-0.018166,-0.199814}, {-0.561919,-0.059259}}, + { {-0.357145,0.451881}, {-0.439857,-0.254140}, {-0.018046,-0.074637}, {-0.073873,0.069698}}, + { {0.310901,0.238022}, {0.316223,0.102695}, {-0.312272,0.069989}, {-0.257023,0.142629}}, + { {-0.075574,0.308918}, {-0.527511,0.746990}, {-0.131306,0.298231}, {-0.057440,-0.417032}}, + { {0.063992,-0.887247}, {-0.242489,-0.011633}, {0.469357,-0.664555}, {0.067752,-0.019301}}, + { {0.052724,0.394885}, {-0.043939,-0.478548}, {-0.119808,-0.009861}, {0.258077,0.071794}}, + { {-0.190137,-0.535694}, {-0.031586,0.057199}, {0.060612,-0.238949}, {0.065260,-0.024833}}, + { {-0.634911,0.146988}, {0.447127,0.323905}, {-0.230478,0.151543}, {0.036625,-0.293484}}, + { {-0.411448,0.151426}, {0.257570,-0.122968}, {0.139098,-0.021651}, {-0.368472,0.213651}}, + { {-0.149453,0.454535}, {-0.210339,0.296542}, {0.040633,-0.229725}, {0.157802,0.005207}}, + { {0.080951,0.083094}, {-0.516394,0.280162}, {0.086662,-0.513597}, {-0.082402,-0.442305}}, + { {0.000189,-0.299236}, {0.379256,0.364702}, {-0.623435,-0.249511}, {0.241071,-0.235868}}, + { {-0.141085,-0.097336}, {0.041599,0.091306}, {-0.126351,0.218399}, {-0.197818,-0.233951}}, + { {0.359242,-0.169653}, {-0.465112,0.242055}, {0.013084,-0.473507}, {0.326926,0.191781}}, + { {0.304768,-0.033096}, {0.269308,-0.011298}, {-0.184114,0.267605}, {-0.114497,0.095484}}, + { {0.245680,-0.254547}, {-0.164196,0.295373}, {0.014902,0.195129}, {0.107310,-0.042995}}, + { {0.076061,-0.090716}, {-0.178272,-0.175612}, {-0.087566,0.606199}, {0.088978,-0.094910}}, + { {-0.253722,0.015712}, {-0.090821,0.114261}, {0.392550,0.111828}, {-0.485530,0.130041}}, + { {-0.055393,-0.090870}, {0.109115,0.299201}, {0.390637,0.118373}, {-0.468852,0.282569}}, + { {0.134651,-0.503563}, {-0.506943,0.252243}, {-0.284490,-0.312102}, {-0.244641,-0.120744}}, + { {-0.044476,0.010216}, {0.131850,0.101517}, {0.349638,0.046300}, {-0.202553,0.241071}}, + { {-0.241671,-0.339925}, {0.332388,0.526163}, {-0.005394,-0.244052}, {-0.093853,0.018542}}, + { {-0.101921,-0.112693}, {-0.006686,-0.034622}, {-0.333293,-0.572770}, {0.269088,0.155957}}, + { {-0.243034,0.062171}, {-0.127442,-0.062839}, {-0.120155,-0.201511}, {0.042808,-0.481094}}, + { {-0.033607,-0.542330}, {0.084847,-0.310522}, {-0.022108,-0.329436}, {0.139193,0.002162}}, + { {-0.046894,-0.225112}, {-0.146294,0.029209}, {-0.068051,0.268054}, {0.044824,0.595400}}, + { {0.502831,-0.210258}, {-0.145194,-0.184828}, {0.366492,-0.321215}, {0.097902,-0.212077}}, + { {0.014367,-0.468204}, {-0.035245,-0.184203}, {-0.097370,0.117162}, {0.488473,0.008289}}, + { {-0.454983,0.034629}, {-0.169942,0.009179}, {-0.158608,-0.003545}, {-0.086065,-0.375550}}, + { {0.266907,-0.008657}, {0.007073,0.089276}, {-0.258080,-0.069931}, {-0.235702,0.036613}}, + { {-0.260897,0.206469}, {-0.524603,-0.133800}, {0.041563,0.096580}, {-0.183627,-0.241137}}, + { {0.175936,-0.500950}, {-0.008606,0.188507}, {0.414018,0.231522}, {-0.179589,-0.263917}}, + { {0.146682,0.051886}, {-0.185684,0.336659}, {0.180751,0.088013}, {0.301963,0.203400}}, + { {0.086215,0.224183}, {-0.287850,0.249666}, {-0.536841,0.344035}, {0.231232,-0.027995}}, + { {0.171314,0.121981}, {-0.201640,-0.394449}, {-0.459541,-0.193336}, {-0.097314,-0.329971}}, + { {0.362382,-0.419323}, {-0.348975,-0.068758}, {0.233386,0.007622}, {0.346897,0.253847}}, + { {0.104055,0.018977}, {0.318347,0.287960}, {0.167338,0.444125}, {-0.100481,-0.153221}}, + { {-0.370652,0.377550}, {-0.046187,-0.122496}, {-0.277057,-0.494554}, {-0.042165,0.303449}}, + { {0.028520,0.267884}, {0.061266,-0.033241}, {-0.129171,0.210348}, {-0.157996,-0.020544}}, + { {0.416883,-0.531371}, {-0.594562,-0.206319}, {-0.354998,-0.155110}, {0.186548,0.011597}}, + { {0.312936,-0.481010}, {-0.041506,0.033691}, {-0.089896,-0.062443}, {-0.132532,0.332141}}, + { {0.159098,-0.337958}, {0.058072,-0.132705}, {-0.349372,-0.392527}, {-0.119614,-0.103995}}, + { {-0.329719,0.335981}, {0.001704,-0.558027}, {-0.091847,0.205856}, {0.079916,-0.518702}}, + { {0.160272,-0.461201}, {-0.080361,-0.618755}, {0.016109,-0.079389}, {-0.115677,-0.242694}}, + { {0.069101,-0.039756}, {0.570929,0.129946}, {-0.171891,0.080278}, {-0.237307,0.198061}}, + { {0.286210,0.134469}, {0.089154,-0.040032}, {0.018098,0.050934}, {0.152664,-0.074733}}, + { {0.301645,-0.186744}, {-0.569251,0.678041}, {-0.086198,-0.355228}, {0.145390,0.006819}}, + { {0.123820,-0.039840}, {-0.104958,-0.079176}, {0.320272,-0.098105}, {0.120773,-0.721187}}, + { {0.008603,0.168275}, {-0.356346,-0.418043}, {0.487357,0.159079}, {-0.122079,-0.625331}}, + { {0.193805,0.191173}, {0.121689,0.577862}, {0.361145,-0.238519}, {0.189142,-0.120365}}, + { {0.205872,0.506972}, {0.185040,-0.213607}, {-0.300622,0.237747}, {-0.205006,0.064606}}, + { {0.150218,-0.005475}, {0.131682,-0.237559}, {-0.284699,0.172347}, {-0.326346,-0.110994}}, + { {-0.428772,0.095781}, {0.088997,-0.554301}, {-0.027058,-0.258987}, {0.026624,-0.111769}}, + { {-0.387364,-0.373952}, {0.255240,-0.521831}, {-0.388858,0.156181}, {-0.215389,-0.313737}}, + { {0.122469,-0.270588}, {-0.245651,0.142192}, {-0.051836,0.064418}, {-0.162756,0.064064}}, + { {0.090555,-0.195261}, {0.075838,0.280906}, {0.438603,0.103674}, {-0.330922,0.036343}}, + { {-0.439965,-0.056238}, {0.074443,-0.005512}, {0.454568,-0.005669}, {-0.247008,0.102724}}, + { {0.735395,-0.403461}, {-0.010502,-0.346938}, {-0.447092,-0.249129}, {0.546815,-0.031365}}, + { {0.661934,-0.010685}, {0.374472,-0.059051}, {-0.433357,-0.162190}, {0.066079,-0.081903}}, + { {0.029673,-0.095089}, {0.151543,-0.161194}, {-0.306024,0.123837}, {-0.156017,0.263246}}, + { {-0.326430,0.060630}, {0.057331,-0.076996}, {-0.056679,-0.817793}, {0.166678,0.102087}}, + { {0.042304,0.338655}, {-0.197200,0.153612}, {0.017715,0.390955}, {0.321823,-0.256262}}, + { {0.119709,0.013648}, {-0.172531,0.426087}, {0.291565,0.279280}, {0.080981,0.383917}}, + { {0.560157,0.707374}, {-0.274363,0.316987}, {0.303790,0.106691}, {0.791752,-0.059253}}, + { {-0.125287,0.037254}, {0.113988,-0.237066}, {-0.033617,-0.124468}, {0.200297,0.290500}}, + { {-0.099453,0.057509}, {0.403240,0.219347}, {-0.400434,0.047853}, {-0.419202,-0.433125}}, + { {0.096270,-0.416269}, {-0.082635,0.284145}, {0.241708,0.162581}, {-0.195656,0.371500}}, + { {-0.453867,-0.314253}, {0.497090,0.094136}, {0.031554,-0.093975}, {-0.354559,0.068035}}, + { {0.292815,-0.222662}, {-0.194458,0.013912}, {0.335312,-0.135256}, {0.154077,-0.268395}}, + { {-0.021624,-0.233776}, {0.027479,-0.129260}, {0.106552,0.410307}, {0.336726,0.271258}}, + { {-0.564414,0.200229}, {-0.026778,0.025833}, {0.256954,-0.159695}, {0.462558,0.000229}}, + { {-0.219016,-0.246607}, {0.235825,-0.402196}, {-0.153755,-0.365940}, {-0.008557,0.199175}}, + { {-0.150851,-0.532299}, {-0.356300,0.466685}, {0.082369,-0.007880}, {0.146835,-0.086287}}, + { {0.238574,0.043594}, {0.261569,0.113621}, {0.040133,0.172372}, {-0.119125,0.230920}}, + { {0.308503,0.100190}, {0.255597,-0.351762}, {-0.464365,0.323098}, {-0.207587,-0.069694}}, + { {0.130547,0.010142}, {-0.049972,-0.213893}, {-0.014041,0.311985}, {0.137673,-0.347950}}, + { {-0.086680,-0.391476}, {-0.495518,0.280736}, {-0.268681,0.176915}, {0.162318,0.007075}}, + { {-0.592450,0.037016}, {-0.246303,0.074470}, {-0.421026,0.229646}, {0.136144,0.033142}}, + { {-0.663077,0.006927}, {0.249174,-0.118136}, {0.135236,0.231997}, {-0.051767,0.069810}}, + { {0.158006,-0.010589}, {-0.126423,0.032265}, {0.384440,-0.482789}, {0.083930,-0.041596}}, + { {-0.107275,0.433097}, {0.228882,0.005491}, {-0.259030,0.211088}, {0.207871,0.185867}}, + { {0.127057,0.245708}, {-0.374643,-0.088120}, {-0.188721,0.110972}, {0.180255,-0.396976}}, + { {-0.091444,-0.001257}, {0.205483,0.531142}, {-0.184290,0.219803}, {-0.602029,-0.083879}}, + { {0.090004,-0.073035}, {-0.318365,0.003865}, {-0.023001,-0.072886}, {0.155029,0.004933}}, + { {0.150161,-0.047797}, {0.285417,0.076175}, {-0.157911,0.700126}, {-0.240971,-0.356821}}, + { {-0.249749,0.365461}, {0.019786,0.190980}, {0.156558,-0.013901}, {0.322725,0.014685}}, + { {-0.349094,0.408092}, {-0.064257,0.120068}, {-0.269976,-0.359059}, {-0.131080,-0.248116}}, + { {-0.275820,-0.426232}, {-0.012223,0.209922}, {0.155609,0.224234}, {-0.172628,-0.564935}}, + { {0.213990,-0.175654}, {0.687710,0.431803}, {0.253825,-0.044364}, {-0.063678,0.125600}}, + { {0.537560,0.238989}, {0.276030,0.071277}, {-0.489062,0.351953}, {-0.183653,0.179729}}, + { {0.218585,-0.179033}, {0.100758,0.083730}, {-0.050541,-0.102841}, {-0.068832,-0.056724}}, + { {-0.659510,-0.020775}, {0.015347,0.803935}, {-0.031689,-0.141336}, {-0.206792,0.278911}}, + { {0.183572,0.359188}, {0.050047,0.457418}, {-0.096600,0.184507}, {-0.600875,0.117718}}, + { {0.161460,0.169075}, {-0.264349,-0.252561}, {-0.122984,-0.388214}, {0.042490,-0.165163}}, + { {0.075767,0.401094}, {-0.205769,-0.228517}, {0.297610,-0.077188}, {-0.917020,-0.323387}}, + { {0.170191,-0.418353}, {-0.264060,0.046730}, {0.115544,-0.277143}, {-0.324407,-0.573902}}, + { {-0.089175,-0.031015}, {-0.431202,-0.293815}, {-0.319096,0.044373}, {-0.261045,0.156393}}, + { {-0.050451,0.008085}, {0.025346,-0.229599}, {-0.029224,-0.133644}, {0.096329,0.718894}}, + { {-0.200243,0.164983}, {0.174557,0.114397}, {-0.261547,-0.306955}, {0.126214,0.675886}}, + { {-0.252924,-0.259288}, {0.125639,0.117342}, {-0.168188,0.242621}, {-0.614182,0.189163}}, + { {-0.203669,0.216237}, {-0.341965,0.196155}, {0.037468,-0.081842}, {0.252153,-0.019450}}, + { {-0.060591,0.057774}, {-0.084345,0.289206}, {-0.213574,-0.388526}, {-0.574437,0.098093}}, + { {-0.562575,-0.469257}, {-0.134940,-0.295025}, {0.049850,0.343805}, {0.164630,0.158147}}, + { {0.175889,-0.042186}, {-0.501534,0.466667}, {-0.268245,0.056050}, {-0.437288,0.085981}}, + { {-0.690350,-0.389616}, {0.359702,0.010198}, {-0.069356,-0.104982}, {-0.280201,0.278051}}, + { {-0.128112,0.062066}, {-0.116195,-0.110040}, {-0.217336,-0.069854}, {0.458761,-0.263771}}, + { {-0.084646,0.088964}, {-0.088920,-0.223539}, {-0.179404,-0.276027}, {-0.414491,0.131846}}, + { {-0.547990,-0.166899}, {-0.391318,-0.361356}, {-0.002807,-0.049104}, {-0.010463,-0.198575}}, + { {-0.199288,0.092246}, {-0.086310,-0.140044}, {0.173532,0.549590}, {0.173059,-0.135199}}, + { {0.172739,-0.202049}, {-0.500409,-0.235050}, {0.004864,-0.093599}, {-0.512367,0.092678}}, + { {0.057804,0.621128}, {-0.265998,-0.187163}, {-0.314596,-0.201931}, {-0.266090,0.247971}}, + { {-0.009696,0.217425}, {0.351587,-0.079493}, {-0.169426,0.412127}, {-0.195940,0.080417}}, + { {-0.410704,0.113203}, {-0.091857,-0.283896}, {0.159312,-0.244307}, {0.088071,-0.291631}}, + { {-0.012095,0.202151}, {0.097899,0.131247}, {-0.226766,0.209171}, {0.168974,-0.059341}}, + { {-0.155634,-0.067134}, {-0.216319,0.167708}, {0.512302,-0.206821}, {-0.321984,0.210696}}, + { {0.148943,0.059004}, {0.373379,0.041416}, {-0.197942,-0.081652}, {0.133140,0.236666}}, + { {-0.187395,0.165562}, {-0.343350,0.018754}, {-0.159677,-0.566853}, {-0.001640,-0.027648}}, + { {0.163782,0.293334}, {0.036332,0.138021}, {-0.064558,-0.142167}, {0.259767,-0.115597}}, + { {0.121030,0.083697}, {0.024810,-0.342801}, {0.138902,-0.316408}, {0.124024,-0.234421}}, + { {-0.024343,0.446185}, {0.155320,-0.104991}, {0.135360,-0.381332}, {-0.272978,0.169109}}, + { {0.359805,0.002852}, {-0.166361,-0.370852}, {-0.284412,-0.390674}, {-0.224696,0.243857}}, + { {-0.135495,0.207078}, {-0.088234,0.376937}, {-0.814875,-0.192836}, {-0.207077,0.278174}}, + { {-0.250976,-0.537133}, {-0.017139,-0.363026}, {0.151263,-0.053573}, {0.157060,-0.022022}}, + { {0.343221,-0.123221}, {-0.089134,-0.233667}, {-0.239557,-0.120883}, {0.149270,-0.291819}}, + { {0.502411,0.243858}, {0.064279,-0.042317}, {0.244308,0.426273}, {0.115258,0.534448}}, + { {0.460384,0.116201}, {-0.006587,-0.052965}, {0.597874,0.237400}, {-0.136976,-0.055674}}, + { {-0.030452,0.221369}, {0.005662,-0.526857}, {-0.394345,-0.594409}, {0.092510,-0.405953}}, + { {-0.051779,-0.061778}, {0.786461,0.118242}, {-0.344586,-0.129979}, {0.894504,-0.205313}}, + { {0.331781,0.136261}, {0.393119,-0.112556}, {0.184879,0.303625}, {-0.150074,-0.195154}}, + { {0.031411,0.080052}, {0.554379,0.836549}, {-0.256779,0.187369}, {0.282648,0.452926}}, + { {0.022250,0.604992}, {-0.705455,-0.153929}, {0.216969,0.484779}, {-0.312277,0.274537}}, + { {0.024175,-0.110293}, {0.223588,-0.034500}, {0.178271,-0.041906}, {-0.164862,-0.301957}}, + { {0.000177,-0.391684}, {-0.244520,0.426967}, {-0.167607,0.322118}, {-0.363421,-0.024859}}, + { {-0.248823,-0.100511}, {0.101875,-0.427084}, {-0.075964,0.280731}, {0.008837,-0.382087}}, + { {-0.299886,0.127693}, {-0.217088,0.429609}, {0.186034,0.102096}, {-0.552744,0.230382}}, + { {0.605158,0.174801}, {-0.311193,-0.101680}, {0.061546,-0.072584}, {0.524856,-0.178276}}, + { {-0.127190,0.229758}, {-0.188527,0.367571}, {0.112216,0.052919}, {0.331260,-0.151535}}, + { {0.047299,0.358494}, {0.386306,0.351973}, {-0.419264,-0.045993}, {-0.272888,0.264139}}, + { {-0.085712,0.086740}, {0.533861,-0.311798}, {0.019341,-0.153873}, {-0.686380,0.111817}}, + { {0.101401,-0.002165}, {0.253583,-0.622254}, {-0.253818,0.678082}, {-0.106549,-0.278660}}, + { {0.166635,0.309350}, {0.432917,-0.146008}, {0.258851,0.672427}, {0.147021,-0.064743}}, + { {-0.472031,-0.127296}, {0.133710,0.370868}, {-0.352452,-0.297374}, {-0.193246,-0.081238}}, + { {0.049306,0.263954}, {-0.226056,0.031608}, {-0.020716,0.131896}, {-0.500833,0.083320}}, + { {-0.162786,-0.176787}, {-0.259091,-0.229662}, {-0.479914,-0.654043}, {-0.412901,0.113145}}, + { {-0.034338,-0.113323}, {-0.106373,0.422490}, {0.565830,0.113342}, {-0.449456,0.352516}}, + { {-0.495567,-0.260141}, {-0.301416,-0.031588}, {0.065189,-0.375019}, {0.261065,-0.100496}}, + { {-0.060755,0.373225}, {-0.190993,-0.204586}, {0.125869,0.195125}, {-0.136718,0.518666}}, + { {-0.121227,-0.140705}, {-0.421236,-0.122112}, {0.358874,0.190809}, {0.182613,0.015559}}, + { {-0.372553,0.266298}, {-0.204710,0.537836}, {0.192189,-0.097712}, {0.351409,0.187658}}, + { {0.050020,-0.079922}, {0.304566,0.052710}, {-0.350521,-0.260963}, {-0.448466,0.324565}}, + { {0.177481,0.507321}, {0.026964,-0.172614}, {-0.063634,0.036089}, {-0.145796,-0.423960}}, + { {-0.549544,-0.172574}, {-0.058013,0.170384}, {0.336716,0.237782}, {0.484133,-0.027802}}, + { {-0.075011,0.407211}, {-0.024945,0.021139}, {0.477806,-0.510355}, {0.057491,0.438869}}, + { {0.272389,0.518640}, {0.187689,0.057881}, {-0.273753,0.098045}, {-0.204553,0.469565}}, + { {-0.072684,0.019320}, {-0.180099,-0.185911}, {0.332242,-0.964138}, {-0.055424,-0.662741}}, + { {0.323052,0.231102}, {0.220313,-0.180294}, {-0.226098,-0.205153}, {-0.347678,-0.094264}}, + { {-0.309807,0.347090}, {0.248006,-0.054820}, {0.258767,0.040123}, {0.146635,0.289631}}, + { {-0.019799,-0.525711}, {0.083167,0.178840}, {0.617428,-0.206230}, {-0.318311,-0.388748}}, + { {-0.339295,-0.333504}, {-0.129246,0.255188}, {0.256071,-0.434421}, {0.440038,0.399693}}, + { {0.034333,-0.051881}, {-0.229416,0.291700}, {-0.033723,0.118917}, {0.084786,-0.142580}}, + { {-0.038502,-0.384894}, {-0.402881,-0.474330}, {0.454693,-0.012882}, {-0.491053,0.169587}}, + { {-0.159531,-0.390352}, {0.293604,-0.027252}, {0.235487,-0.011413}, {-0.270154,0.057752}}, + { {0.417679,-0.369494}, {0.191542,-0.499632}, {0.362184,-0.065383}, {-0.583128,-0.315048}}, + { {-0.023411,0.312475}, {-0.272480,0.053081}, {-0.126663,-0.389703}, {-0.041257,0.100169}}, + { {-0.512070,-0.000459}, {0.316160,-0.142520}, {-0.001064,-0.145740}, {0.376772,-0.156521}}, + { {-0.085864,0.069352}, {0.226263,-0.071519}, {0.120810,-0.146389}, {-0.098627,-0.060060}}, + { {-0.452822,-0.245564}, {0.363480,-0.559709}, {-0.528765,-0.097790}, {0.125119,-0.268130}}, + { {0.258255,0.359036}, {-0.072150,-0.048828}, {0.056580,-0.068168}, {-0.319077,-0.160286}}, + { {-0.038851,-0.014355}, {-0.472211,-0.380606}, {-0.224293,-0.211614}, {-0.189009,-0.460993}}, + { {-0.213751,-0.054265}, {0.124008,-0.230092}, {-0.237176,-0.183186}, {0.062169,0.180179}}, + { {0.186036,0.288622}, {0.131776,-0.434891}, {0.056124,-0.591780}, {-0.204979,0.008739}}, + { {-0.630205,-0.115577}, {0.082887,-0.032029}, {0.275139,-0.418408}, {-0.287928,-0.363370}}, + { {-0.372304,-0.373130}, {0.184356,0.374850}, {-0.355166,0.349403}, {-0.248177,-0.148117}}, + { {0.309448,-0.086800}, {0.134556,-0.412731}, {-0.135535,0.235598}, {-0.126734,-0.053616}}, + { {-0.053847,-0.377723}, {0.211095,-0.081442}, {0.504984,-0.304444}, {-0.038566,-0.260699}}, + { {-0.043668,-0.320508}, {0.253440,0.327733}, {-0.220489,0.163082}, {-0.243122,-0.162088}}, + { {0.272041,-0.133113}, {-0.867580,0.431133}, {0.120704,0.140710}, {-0.100544,-0.504906}}, + { {-0.167996,0.027994}, {-0.219122,-0.290150}, {0.154543,0.005285}, {0.422489,-0.248459}}, + { {-0.221783,0.187374}, {-0.160290,-0.351700}, {-0.078375,0.078507}, {0.100576,-0.064557}}, + { {0.180743,-0.073680}, {-0.033422,0.255362}, {0.206744,-0.131968}, {-0.084554,-0.701967}}, + { {0.070815,-0.161010}, {0.049762,-0.506614}, {0.281445,0.172096}, {0.233854,-0.162606}}, + { {0.029584,0.029795}, {0.167933,0.201140}, {-0.428108,0.239207}, {-0.384757,-0.156211}}, + { {-0.421753,-0.403460}, {-0.068371,-0.387026}, {0.295394,0.347505}, {-0.330042,0.028248}}, + { {-0.167874,-0.053649}, {0.435960,0.243740}, {0.020950,-0.079716}, {-0.201178,-0.021154}}, + { {-0.478552,0.149895}, {-0.196069,0.179231}, {0.100731,0.096427}, {0.275487,-0.065372}}, + { {-0.046086,-0.144322}, {-0.081379,-0.209169}, {0.329780,-0.628136}, {0.224595,-0.474586}}, + { {-0.613518,0.144507}, {0.153580,-0.086012}, {-0.153203,-0.151171}, {0.320162,-0.171669}}, + { {0.151753,0.260114}, {0.072969,-0.013845}, {-0.056000,0.122476}, {-0.164692,-0.207353}}, + { {-0.198894,0.491417}, {-0.033672,-0.222939}, {-0.782717,0.483884}, {-0.118945,0.057735}}, + { {0.005565,0.112025}, {-0.097701,-0.294581}, {-0.406290,0.011821}, {-0.036819,0.340880}}, + { {0.035830,-0.201691}, {-0.229630,-0.013521}, {0.075843,0.355415}, {-0.461471,0.276728}}, + { {0.462180,-0.698787}, {-0.445679,0.267831}, {-0.248870,0.272786}, {-0.316451,0.375315}}, + { {-0.062385,-0.128004}, {0.463397,-0.083143}, {-0.223740,0.361141}, {-0.174683,-0.176110}}, + { {-0.493490,0.119962}, {0.044678,0.379576}, {-0.091953,0.130660}, {0.112553,-0.533401}}, + { {-0.315330,-0.239101}, {-0.236109,-0.149813}, {-0.091038,-0.179157}, {-0.489021,0.315986}}, + { {-0.291056,-0.125378}, {0.066180,-0.444660}, {-0.132314,0.826316}, {-0.608603,-0.031863}}, + { {-0.142302,-0.498945}, {-0.176933,0.737322}, {-0.280277,0.134375}, {-0.098022,-0.049478}}, + { {-0.454735,-0.047583}, {-0.565409,0.134555}, {-0.172797,-0.149378}, {0.045524,-0.203377}}, + { {-0.545220,-0.348348}, {-0.078910,0.498200}, {-0.603216,0.033016}, {0.087622,0.431977}}, + { {-0.052281,0.230053}, {0.384460,-0.361470}, {0.130074,0.337060}, {-0.300222,0.321375}}, + { {0.192759,0.088328}, {-0.018645,-0.676572}, {-0.022448,-0.343645}, {-0.136674,-0.083915}}, + { {-0.169028,0.358224}, {0.162984,0.668363}, {0.000838,0.299548}, {0.104827,-0.033189}}, + { {0.549265,-0.041655}, {-0.563883,-0.595276}, {-0.122963,-0.103295}, {0.150705,-0.265804}}, + { {0.225920,0.118360}, {-0.117574,-0.002741}, {-0.091999,0.253816}, {0.128415,0.213468}}, + { {0.188648,0.130925}, {-0.134975,-0.231525}, {0.177100,-0.189467}, {-0.623359,-0.870831}}, + { {-0.306345,-0.499669}, {0.426688,0.026102}, {-0.076894,0.487078}, {0.123985,-0.111148}}, + { {-0.161171,0.322309}, {0.103725,0.370546}, {-0.195975,0.138884}, {0.076040,-0.429248}}, + { {0.293598,-0.107841}, {0.101084,-0.274654}, {-0.008407,0.044039}, {-0.442580,-0.573657}}, + { {-0.157276,0.259698}, {0.134826,0.552039}, {0.123858,-0.179623}, {0.405607,-0.052280}}, + { {-0.110172,0.100793}, {0.150476,0.050423}, {0.117329,0.397467}, {-0.011744,0.433637}}, + { {0.412879,-0.467523}, {-0.122821,-0.240503}, {0.564931,-0.720087}, {0.277058,0.060957}}, + { {0.508622,0.130913}, {0.045999,0.171607}, {0.161552,-0.018655}, {-0.089951,0.052533}}, + { {0.516733,0.363644}, {0.155072,0.114691}, {0.146474,-0.037485}, {0.473569,0.349376}}, + { {-0.181486,-0.001031}, {0.081226,-0.320215}, {0.758419,-0.170350}, {0.051254,-0.421202}}, + { {0.086832,-0.068656}, {-0.275439,0.011697}, {-0.187045,0.164539}, {0.326636,0.140882}}, + { {-0.281786,-0.234776}, {-0.279920,0.018957}, {-0.612378,0.119639}, {0.504112,0.107157}}, + { {0.002761,-0.220022}, {-0.269992,0.314836}, {-0.033970,-0.246868}, {-0.467403,0.299340}}, + { {0.175979,0.002067}, {-0.225810,-0.423784}, {0.039353,0.464520}, {0.291001,-0.232498}}, + { {0.335621,0.387737}, {0.170337,-0.566674}, {0.039566,-0.141503}, {-0.320886,0.131850}}, + { {-0.128517,0.148529}, {-0.326366,-0.143009}, {-0.134317,-0.050097}, {-0.122751,0.307493}}, + { {-0.162453,0.000215}, {-0.774821,-0.232180}, {0.635256,0.242493}, {-0.155597,-0.342856}}, + { {0.086958,-0.075834}, {-0.273125,-0.413269}, {0.023357,-0.219333}, {0.098744,0.178131}}, + { {0.287212,-0.167848}, {-0.113376,-0.138184}, {-0.301722,0.283789}, {-0.231011,-0.093221}}, + { {-0.064651,0.204041}, {0.170784,0.496631}, {0.031486,-0.167687}, {-0.204872,0.343666}}, + { {0.073439,0.107610}, {-0.135846,-0.046685}, {0.232823,0.070048}, {-0.220308,0.349654}}, + { {-0.483123,-0.634566}, {0.263157,0.267612}, {-0.009499,0.141829}, {0.105101,0.497112}}, + { {0.308704,-0.030905}, {0.081339,0.503197}, {-0.198621,0.097553}, {-0.256187,-0.006828}}, + { {0.279158,-0.288511}, {0.242053,-0.053646}, {-0.397605,0.467627}, {0.075981,0.109621}}, + { {-0.061416,-0.129049}, {0.037884,-0.628939}, {0.249860,0.193028}, {0.518050,0.095677}}, + { {0.015633,0.208625}, {0.410430,-0.108274}, {-0.017577,-0.249220}, {-0.663620,-0.057646}}, + { {-0.386144,0.101896}, {-0.289335,-0.021553}, {0.008933,0.138690}, {0.432972,-0.179303}}, + { {0.472990,-0.227674}, {0.211031,-0.196656}, {-0.179655,-0.062053}, {-0.173843,-0.250873}}, + { {-0.177167,0.148105}, {0.515155,0.049309}, {0.153913,-0.054680}, {0.154416,-0.149354}}, + { {-0.378151,-0.529605}, {0.543997,-0.629351}, {-0.488092,0.371209}, {0.148977,-0.500769}}, + { {-0.298932,0.775249}, {-0.156693,0.169099}, {0.192338,0.085683}, {0.243607,-0.273957}}, + { {-0.646539,-0.098929}, {0.320154,-0.266220}, {-0.197256,0.126973}, {-0.076271,0.127551}}, + { {0.091143,0.048258}, {0.327315,-0.620576}, {0.238906,0.332557}, {-0.297491,-0.028042}}, + { {-0.897302,0.005616}, {-0.057198,0.036047}, {-0.385703,-0.252269}, {0.355031,-0.130695}}, + { {-0.282227,-0.116572}, {0.256442,-0.267655}, {-0.484174,0.161397}, {0.210853,-0.096762}}, + { {-0.456225,0.040804}, {-0.158774,-0.025065}, {0.271553,-0.065267}, {0.280465,0.076303}}, + { {0.389077,-0.317746}, {0.159268,-0.054514}, {-0.292418,0.282627}, {0.259012,-0.232612}}, + { {0.256202,-0.472650}, {-0.041732,-0.060537}, {-0.203934,-0.039773}, {-0.190480,-0.273329}}, + { {0.212706,0.038207}, {-0.229275,-0.178065}, {-0.177929,0.255039}, {-0.529620,-0.188948}}, + { {0.107730,-0.248778}, {0.166051,0.281076}, {-0.043225,-0.100508}, {0.011603,-0.013182}}, + { {0.007717,0.019110}, {0.380199,0.279756}, {0.172197,0.740602}, {0.141028,-0.607718}}, + { {0.043620,0.081221}, {0.478237,-0.089515}, {-0.326453,-0.095982}, {0.174018,-0.289185}}, + { {-0.303101,-0.090081}, {0.012505,0.214967}, {-0.118853,-0.131763}, {-0.120371,0.329118}}, + { {-0.354942,0.123753}, {0.199646,0.209581}, {0.212102,0.110778}, {-0.025481,0.164322}}, + { {-0.042263,-0.141988}, {0.018359,-0.337862}, {-0.260655,-0.088932}, {-0.021313,-0.051210}}, + { {0.012075,0.282060}, {-0.575799,0.217554}, {-0.016913,-0.102201}, {0.005143,-0.378669}}, + { {-0.368877,-0.191366}, {-0.263846,0.104310}, {-0.326166,-0.132103}, {-0.069314,-0.336371}}, + { {-0.638917,0.312666}, {0.076254,-0.045576}, {-0.306320,0.392910}, {-0.202712,-0.236029}}, + { {0.296275,-0.051005}, {0.297655,0.058970}, {-0.207287,-0.029545}, {0.186180,-0.311233}}, + { {-0.308811,-0.128891}, {0.393455,0.312561}, {-0.323936,-0.216938}, {-0.279997,-0.312598}}, + { {-0.017715,0.192334}, {0.191040,-0.031431}, {-0.400927,0.226484}, {0.528582,0.142199}}, + { {0.016658,0.059584}, {-0.143142,0.053582}, {0.044942,-0.370173}, {0.079287,0.225220}}, + { {0.129110,0.101918}, {0.137879,-0.239667}, {-0.021762,0.286119}, {-0.030631,-0.128959}}, + { {0.247051,0.247382}, {-0.690824,0.434746}, {0.312531,-0.166914}, {0.431212,-0.183300}}, + { {0.210177,0.114609}, {-0.308857,0.218722}, {-0.048561,-0.285957}, {0.437055,0.082692}}, + { {0.462024,0.474809}, {0.106575,0.196282}, {0.141879,0.031484}, {0.036606,-0.515950}}, + { {-0.296843,-0.252566}, {0.217226,0.374562}, {-0.236102,0.467397}, {0.237798,-0.757079}}, + { {0.022372,-0.078354}, {-0.110184,0.021228}, {0.181594,0.074618}, {0.235691,-0.405070}}, + { {0.003187,0.288786}, {0.359606,0.030613}, {0.078376,0.535216}, {0.197628,0.560212}}, + { {0.056269,-0.207321}, {-0.048339,-0.644288}, {-0.033071,0.157624}, {0.078392,-0.133799}}, + { {-0.050138,0.751557}, {-0.284543,0.249575}, {-0.582029,0.241567}, {-0.321171,-0.385637}}, + { {-0.472612,0.104666}, {0.352327,-0.093044}, {-0.014852,-0.012402}, {0.081522,-0.443913}}, + { {-0.251592,0.202083}, {-0.092225,-0.019708}, {-0.031896,0.001121}, {-0.026742,0.013063}}, + { {0.277494,-0.051027}, {0.230204,-0.064048}, {-0.378301,0.098841}, {-0.046177,0.199849}}, + { {-0.248311,-0.367319}, {0.051378,-0.013866}, {-0.210158,0.123566}, {-0.091994,0.196944}}, + { {0.124777,-0.497228}, {-0.443959,-0.310404}, {-0.138817,-0.212841}, {-0.103675,0.271919}}, + { {-0.218824,-0.029115}, {-0.005918,0.314294}, {-0.123951,-0.388590}, {-0.098144,-0.000446}}, + { {0.419822,-0.316253}, {0.226603,-0.159634}, {-0.431881,0.248757}, {-0.230967,-0.070311}}, + { {-0.269547,-0.042349}, {-0.211972,-0.000647}, {0.053123,-0.285005}, {-0.783638,-0.160576}}, + { {-0.005407,0.153375}, {0.326402,0.060740}, {0.290711,0.172841}, {0.409211,-0.141028}}, + { {-0.113567,0.071332}, {0.015458,0.126351}, {0.284529,0.180460}, {-0.700352,0.143537}}, + { {0.271442,0.114144}, {-0.619357,-0.123591}, {0.475729,0.076111}, {0.444297,0.286228}}, + { {0.264773,-0.237365}, {0.023818,0.563823}, {0.130032,0.085195}, {0.229399,0.037323}}, + { {-0.484696,0.124113}, {0.085900,-0.055420}, {-0.091183,0.200187}, {-0.062178,-0.098489}}, + { {-0.236513,-0.360860}, {0.003417,-0.267469}, {0.129667,-0.158791}, {0.049538,-0.409947}}, + { {0.255042,0.333242}, {-0.157095,-0.117623}, {0.269565,-0.379136}, {-0.373459,0.209706}}, + { {0.175282,-0.103688}, {-0.035506,-0.016863}, {0.242469,-0.138987}, {0.018964,-0.368706}}, + { {-0.436314,-0.086232}, {0.350027,0.121991}, {0.017147,-0.179083}, {0.086714,0.222335}}, + { {-0.155665,-0.683861}, {0.265249,-0.038379}, {0.175880,-0.160403}, {-0.289620,-0.106358}}, + { {-0.270386,-0.548841}, {-0.892965,0.661359}, {-0.173937,0.079489}, {0.097853,-0.496588}}, + { {0.176678,-0.031578}, {0.425756,0.353226}, {-0.249492,0.004345}, {0.429392,-0.065144}}, + { {0.040970,-0.006643}, {0.474779,0.519027}, {-0.434614,0.036193}, {-0.297140,-0.199760}}, + { {-0.349348,0.095671}, {-0.217545,0.497003}, {0.229333,0.204164}, {0.183723,0.054213}}, + { {0.627523,-0.132003}, {0.414922,-0.207594}, {-0.060518,-0.112704}, {0.111296,0.309715}}, + { {-0.447887,0.148215}, {-0.458216,-0.439480}, {-0.308149,-0.044863}, {0.318667,0.183143}}, + { {-0.116899,-0.295075}, {0.665278,0.102565}, {0.208556,-0.166291}, {0.337050,0.200414}}, + { {0.463266,-0.105257}, {-0.116619,-0.104356}, {0.009105,-0.504449}, {0.356936,0.466396}}, + { {-0.003930,0.069645}, {0.363183,0.241183}, {0.943932,-0.164304}, {0.056710,-0.284049}}, + { {0.167467,-0.072575}, {-0.243166,-0.075108}, {0.039487,-0.425519}, {0.176687,0.184184}}, + { {0.073522,-0.429456}, {-0.490993,0.304487}, {-0.010361,0.292852}, {-0.110772,-0.331516}}, + { {-0.444811,0.266264}, {0.144467,0.342760}, {0.269047,0.038791}, {-0.059013,0.304606}}, + { {-0.718936,-0.316461}, {0.106222,0.180340}, {0.002654,-0.328146}, {0.326098,0.166166}}, + { {0.682774,0.138110}, {0.133092,0.070017}, {0.406606,-0.060298}, {0.044134,-0.567706}}, + { {0.218301,-0.222084}, {-0.249033,0.111984}, {-0.240028,-0.038628}, {-0.076397,-0.328831}}, + { {0.240195,-0.192697}, {-0.049095,-0.020532}, {0.184800,0.248373}, {-0.107797,-0.215315}}, + { {0.282405,0.218027}, {0.689576,0.209545}, {0.230194,0.070232}, {-0.148190,0.120725}}, + { {0.001280,0.160150}, {-0.171090,-0.077593}, {0.080757,-0.357525}, {0.425190,0.071998}}, + { {-0.399293,-0.057862}, {-0.278881,0.369177}, {0.660429,0.021882}, {-0.247306,0.010255}}, + { {-0.372683,-0.054390}, {0.233675,-0.575181}, {-0.193380,0.039631}, {0.780341,-0.297500}}, + { {-0.021256,0.162674}, {0.188968,-0.170429}, {-0.177897,-0.054397}, {-0.111671,-0.705913}}, + { {0.167206,0.005994}, {0.261893,-0.310677}, {0.348813,-0.165625}, {0.272079,0.147623}}, + { {0.282788,0.450844}, {0.670252,-0.045115}, {-0.232873,0.167656}, {0.237266,-0.167403}}, + { {-0.432778,-0.004933}, {0.191563,0.141671}, {-0.333580,0.387492}, {-0.251357,-0.326546}}, + { {0.189885,0.021115}, {-0.345198,-0.039455}, {-0.606831,0.035055}, {0.008302,0.150339}}, + { {0.149662,0.028556}, {-0.352265,-0.061472}, {-0.328494,0.070046}, {-0.084629,-0.033776}}, + { {-0.393803,-0.175243}, {0.098778,0.319484}, {0.635575,-0.074077}, {0.272303,0.081426}}, + { {0.347321,-0.208954}, {-0.305327,-0.101401}, {-0.159838,-0.190008}, {0.320577,-0.230657}}, + { {-0.354666,0.221640}, {0.054974,0.039057}, {-0.102788,0.175127}, {-0.078936,-0.031547}}, + { {-0.094802,0.116260}, {0.192542,-0.242659}, {-0.020726,0.112136}, {-0.234005,0.303896}}, + { {0.338323,0.400542}, {0.173088,-0.167962}, {0.275075,-0.355857}, {0.032675,0.394586}}, + { {-0.121956,0.205782}, {0.386040,0.283440}, {0.196377,-0.476216}, {0.296771,-0.082415}}, + { {0.053290,0.251205}, {0.013283,-0.439975}, {-0.343783,-0.035132}, {-0.388895,-0.417480}}, + { {-0.221704,0.308375}, {0.018026,-0.399619}, {-0.043163,-0.050631}, {-0.039951,-0.377403}}, + { {-0.016731,-0.245156}, {-0.327890,0.019541}, {0.548853,-0.495454}, {0.179951,0.088605}}, + { {-0.007942,0.145052}, {-0.061160,-0.094042}, {0.034180,-0.182565}, {-0.477157,0.521269}}, + { {-0.409371,0.211094}, {-0.199085,0.160954}, {-0.146090,-0.168790}, {-0.138481,0.033407}}, + { {0.305289,0.494550}, {-0.132562,-0.026627}, {0.331440,-0.270939}, {0.400129,0.006980}}, + { {0.017709,0.477184}, {0.115615,-0.686163}, {-0.232599,0.010193}, {-0.030466,0.372934}}, + { {0.316832,0.162987}, {-0.160059,0.195700}, {0.006744,-0.072664}, {0.327453,-0.216116}}, + { {0.209876,0.506287}, {0.031023,0.080605}, {0.038732,0.164244}, {0.251549,0.053644}}, + { {0.229321,0.281343}, {-0.137941,-0.520068}, {0.065785,0.025930}, {0.016833,-0.052879}}, + { {-0.237999,0.025132}, {0.259859,0.432569}, {-0.493253,0.033327}, {0.591210,0.313192}}, + { {-0.228422,-0.078936}, {-0.122042,0.335354}, {0.037804,0.288142}, {0.063791,0.434678}}, + { {-0.224809,0.301278}, {0.566415,-0.063526}, {-0.155378,-0.494862}, {-0.155127,0.350880}}, + { {-0.335870,0.303514}, {0.289612,0.341449}, {0.009257,0.010707}, {-0.020231,-0.038568}}, + { {0.680252,-0.465089}, {0.397681,-0.433497}, {0.247393,-0.107111}, {0.058676,0.168195}}, + { {0.039578,-0.348684}, {-0.024993,0.327516}, {0.096453,0.457663}, {0.130413,0.135843}}, + { {-0.467869,-0.361154}, {0.155096,-0.131328}, {-0.304657,-0.308348}, {-0.073965,0.030247}}, + { {-0.201437,0.001473}, {0.446996,0.423075}, {-0.061201,0.237662}, {-0.350719,-0.212199}}, + { {0.331177,0.111346}, {-0.372870,-0.172531}, {0.167177,-0.245025}, {0.223442,0.127694}}, + { {-0.014620,-0.379008}, {0.032066,-0.446978}, {0.065415,0.126669}, {0.045734,-0.016189}}, + { {-0.401781,-0.024779}, {-0.043161,0.215822}, {-0.611732,0.167876}, {-0.250995,0.577554}}, + { {-0.082351,0.133760}, {0.268943,0.122705}, {0.090022,-0.171535}, {0.173245,0.122200}}, + { {-0.105657,-0.054048}, {0.277628,-0.059633}, {0.139341,-0.061801}, {0.054982,0.120608}}, + { {-0.564556,0.329524}, {-0.205449,-0.245544}, {0.134283,-0.239716}, {0.172456,0.317787}}, + { {0.240893,0.027910}, {-0.779836,0.334224}, {-0.163845,-0.096801}, {-0.214915,0.015389}}, + { {-0.491458,-0.236569}, {0.723136,0.120896}, {-0.279355,0.049278}, {0.040787,-0.100651}}, + { {-0.014526,0.254337}, {0.231298,0.077235}, {-0.300233,0.054249}, {-0.139203,-0.142036}}, + { {-0.010942,0.015491}, {-0.087115,0.013235}, {-0.147881,0.113229}, {-0.198188,-0.071774}}, + { {0.034825,-0.162960}, {-0.086402,-0.134662}, {-0.110036,-0.158377}, {-0.324578,-0.560300}}, + { {0.151523,0.098134}, {-0.192342,-0.244164}, {-0.427821,-0.143494}, {0.105182,-0.229518}}, + { {-0.243838,-0.207873}, {0.026748,-0.402442}, {0.643881,0.018653}, {-0.143612,0.044430}}, + { {-0.302882,-0.407361}, {-0.277802,0.102274}, {0.624597,-0.718286}, {-0.217515,0.054275}}, + { {0.742662,0.258210}, {0.515132,0.314964}, {0.223835,-0.368202}, {0.599708,-0.322687}}, + { {-0.027426,0.063008}, {-0.213694,-0.433592}, {0.146057,0.273598}, {-0.166725,-0.022171}}, + { {0.049245,-0.134684}, {-0.018353,-0.150306}, {0.001657,0.222507}, {-0.438816,0.298313}}, + { {-0.149907,0.134112}, {0.444079,-0.317764}, {-0.009438,-0.125807}, {0.041038,-0.118273}}, + { {0.551577,-0.029592}, {-0.358377,0.214297}, {-0.187758,0.123273}, {-0.562108,-0.254053}}, + { {0.089962,-0.461756}, {0.243228,0.378552}, {-0.329504,0.130369}, {0.795833,-0.118606}}, + { {-0.143847,0.233914}, {-0.065432,-0.009538}, {-0.045932,-0.456904}, {-0.095123,-0.027405}}, + { {-0.650994,-0.042882}, {-0.106258,0.195841}, {-0.054224,0.156926}, {0.134335,0.313253}}, + { {-0.069158,-0.568228}, {0.045789,-0.089844}, {-0.220245,-0.093721}, {0.063417,0.089514}}, + { {0.011381,0.586498}, {-0.437604,-0.164288}, {-0.169189,0.017737}, {-0.321377,-0.023027}}, + { {0.213454,-0.023227}, {-0.435901,-0.083661}, {0.329689,-0.162721}, {0.174870,-0.275193}}, + { {-0.132195,0.354806}, {0.371000,-0.179897}, {-0.041212,0.302581}, {-0.546320,-0.306548}}, + { {0.082207,0.211989}, {-0.119913,-0.175620}, {0.144611,-0.331013}, {0.115176,-0.592770}}, + { {-0.004779,0.251080}, {0.455567,0.012934}, {0.006712,0.003697}, {-0.075832,0.070085}}, + { {-0.475533,0.038234}, {-0.160870,-0.307172}, {0.056282,-0.341745}, {-0.062199,-0.345588}}, + { {-0.190724,0.182430}, {0.039671,0.035041}, {-0.263546,-0.095662}, {-0.056137,0.178071}}, + { {-0.281846,-0.543699}, {-0.140531,-0.459541}, {-0.021084,-0.128409}, {0.044652,0.038068}}, + { {-0.117599,0.498785}, {0.024698,0.446429}, {0.313370,-0.140753}, {-0.574128,-0.067568}}, + { {0.104019,-0.137892}, {-0.056605,0.212533}, {0.248536,0.093597}, {-0.145855,-0.269298}}, + { {0.645233,0.235739}, {0.369417,-0.231321}, {0.892515,-0.429466}, {0.221230,0.172989}}, + { {0.660023,0.188262}, {-0.314714,0.198499}, {-0.273496,-0.008311}, {-0.065954,0.026514}}, + { {0.143684,0.140383}, {0.231764,0.188496}, {-0.068177,-0.277947}, {0.753748,-0.505820}}, + { {-0.072658,-0.334230}, {0.050335,-0.461555}, {0.733732,0.438314}, {0.083266,0.363720}}, + { {-0.293573,0.039348}, {0.350445,0.130303}, {0.000060,-0.249070}, {-0.135674,0.317709}}, + { {-0.142936,0.329291}, {-0.338889,0.402064}, {0.216202,0.014242}, {-0.183612,-0.109445}}, + { {-0.283113,-0.328312}, {0.101481,-0.190903}, {0.269143,-0.066795}, {-0.477870,-0.169084}}, + { {-0.332132,0.075855}, {0.459367,0.548948}, {0.228574,-0.027249}, {0.597990,0.420692}}, + { {0.338707,0.185517}, {0.123306,0.254570}, {-0.567387,-0.017971}, {-0.159632,0.724618}}, + { {-0.099857,-0.023261}, {0.202366,-0.446425}, {-0.017213,-0.175690}, {-0.179668,0.191014}}, + { {-0.295693,0.050115}, {-0.229870,0.418125}, {0.081928,-0.042068}, {-0.217694,-0.498772}}, + { {0.270821,0.424281}, {0.098372,0.107956}, {-0.296930,0.012717}, {0.074703,-0.093238}}, + { {0.035538,-0.258941}, {-0.105462,0.264650}, {0.150153,-0.255382}, {-0.347271,0.027627}}, + { {-0.146697,0.195532}, {0.271766,0.285808}, {0.427760,0.313798}, {0.146033,-0.204501}}, + { {-0.174687,-0.130912}, {-0.072116,-0.220196}, {0.005406,0.079367}, {-0.341387,-0.337282}}, + { {0.040776,-0.273468}, {0.162054,-0.293889}, {-0.095893,-0.073910}, {-0.153809,0.072013}}, + { {-0.399039,0.197391}, {-0.122582,0.025539}, {0.093073,0.185761}, {-0.147191,-0.100242}}, + { {0.159192,-0.188934}, {0.319853,0.503711}, {0.298025,0.284095}, {0.367592,0.333317}}, + { {0.259993,-0.223631}, {0.133688,-0.150725}, {0.371685,-0.286109}, {-0.128682,-0.205815}}, + { {0.301786,0.145686}, {-0.006231,-0.053463}, {-0.399470,0.347937}, {0.287029,0.144095}}, + { {-0.124526,-0.006985}, {-0.215361,-0.302206}, {-0.276933,0.153569}, {-0.299072,-0.396968}}, + { {-0.099547,-0.038670}, {-0.116547,-0.446520}, {-0.066402,0.597855}, {0.409473,-0.366261}}, + { {-0.097590,0.516989}, {-0.371481,-0.084358}, {0.139753,0.066608}, {0.043319,0.038938}}, + { {0.411728,0.249545}, {-0.229102,-0.071913}, {-0.366588,0.203653}, {-0.060501,-0.150898}}, + { {-0.244834,-0.164805}, {-0.043895,0.460592}, {0.516437,0.606527}, {-0.564238,0.156219}}, + { {0.063852,-0.480668}, {-0.261661,0.276559}, {0.024709,0.018977}, {0.120096,-0.065969}}, + { {-0.459615,0.225288}, {0.205790,-0.091607}, {-0.481009,0.485888}, {0.095197,-0.591906}}, + { {-0.229465,-0.378202}, {-0.401284,0.408425}, {-0.439732,0.162614}, {0.463624,0.074766}}, + { {0.324169,-0.425729}, {0.373437,-0.006803}, {0.097621,-0.335840}, {-0.310547,0.302224}}, + { {0.353228,0.016554}, {0.202199,0.371007}, {0.065840,-0.013911}, {-0.039032,-0.139574}}, + { {-0.203928,-0.339581}, {0.063513,-0.385976}, {0.050521,-0.087251}, {0.055797,-0.053225}}, + { {-0.094803,-0.144163}, {0.324038,-0.011558}, {0.213554,-0.242747}, {0.103304,0.006201}} +}; \ No newline at end of file diff --git a/codec2-dev/unittest/tcohpsk.c b/codec2-dev/unittest/tcohpsk.c index d5999098..13665c33 100644 --- a/codec2-dev/unittest/tcohpsk.c +++ b/codec2-dev/unittest/tcohpsk.c @@ -42,6 +42,7 @@ #include "test_bits_coh.h" #include "octave.h" #include "comp_prim.h" +#include "noise_samples.h" #define FRAMES 35 #define RS 50 @@ -57,6 +58,7 @@ int main(int argc, char *argv[]) int tx_bits_log[COHPSK_BITS_PER_FRAME*FRAMES]; COMP tx_symb_log[NSYMROWPILOT*FRAMES][PILOTS_NC]; + COMP ch_symb_log[NSYMROWPILOT*FRAMES][PILOTS_NC]; float rx_amp_log[NSYMROW*FRAMES][PILOTS_NC]; float rx_phi_log[NSYMROW*FRAMES][PILOTS_NC]; @@ -64,14 +66,14 @@ int main(int argc, char *argv[]) int rx_bits_log[COHPSK_BITS_PER_FRAME*FRAMES]; FILE *fout; - int f, r, c, log_r, log_data_r; + int f, r, c, log_r, log_data_r, noise_r; COMP phase, freq; int *ptest_bits_coh, *ptest_bits_coh_end; coh = cohpsk_create(); assert(coh != NULL); - log_r = log_data_r= 0; + log_r = log_data_r = noise_r = 0; ptest_bits_coh = (int*)test_bits_coh; ptest_bits_coh_end = (int*)test_bits_coh + sizeof(test_bits_coh)/sizeof(int); @@ -92,10 +94,13 @@ int main(int argc, char *argv[]) ptest_bits_coh = (int*)test_bits_coh; bits_to_qpsk_symbols(tx_symb, (int*)tx_bits, COHPSK_BITS_PER_FRAME); - for(r=0; r