diff --git a/Comparison-gbt.py b/Comparison-gbt.py new file mode 100644 index 0000000..dd3632e --- /dev/null +++ b/Comparison-gbt.py @@ -0,0 +1,104 @@ +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +from sklearn.ensemble import GradientBoostingRegressor +from boosting.gradient_boosting import GradientBoostingTree + +def load_dataset(file_path): + """ + Load a dataset from a CSV file. + """ + try: + data = pd.read_csv(file_path) + if data.empty: + raise ValueError("Dataset is empty. Please provide a valid dataset.") + X = data.iloc[:, :-1].values + y = data.iloc[:, -1].values + return X, y + except Exception as e: + print(f"Error loading dataset: {e}") + exit() + +def preprocess_data(X, y): + """ + Preprocess the dataset: scale features and return scaled X and y. + """ + X_mean = np.mean(X, axis=0) + X_std = np.std(X, axis=0) + X_scaled = (X - X_mean) / X_std + + y_mean = np.mean(y) + y_std = np.std(y) + y_scaled = (y - y_mean) / y_std + + return X_scaled, y_scaled, y_mean, y_std + +def evaluate_model(y_true, y_pred): + """ + Evaluate the model using MSE, MAE, and R² metrics. + """ + mse = np.mean((y_true - y_pred) ** 2) + mae = np.mean(np.abs(y_true - y_pred)) + r2 = 1 - (np.sum((y_true - y_pred) ** 2) / np.sum((y_true - np.mean(y_true)) ** 2)) + return mse, mae, r2 + +def plot_comparison(y_true, custom_pred, sklearn_pred): + """ + Plot comparison of predictions from both models against true values. + """ + plt.figure(figsize=(10, 6)) + plt.scatter(y_true, custom_pred, alpha=0.7, label="Custom Model Predictions", color="blue") + plt.scatter(y_true, sklearn_pred, alpha=0.7, label="Sklearn Model Predictions", color="green") + plt.plot([min(y_true), max(y_true)], [min(y_true), max(y_true)], 'r--', label="Ideal Fit") + plt.xlabel("True Values") + plt.ylabel("Predicted Values") + plt.title("Comparison of Custom vs Sklearn Model Predictions") + plt.legend() + plt.show() + +if __name__ == "__main__": + # 1. Load Dataset + dataset_path = "data/boston_housing.csv" + X, y = load_dataset(dataset_path) + + # 2. Preprocess Data + X, y, y_mean, y_std = preprocess_data(X, y) + + # 3. Split Data into Training and Testing Sets + train_size = int(0.8 * len(X)) + X_train, X_test = X[:train_size], X[train_size:] + y_train, y_test = y[:train_size], y[train_size:] + + # 4. Train Custom Gradient Boosting Model + print("Training Custom Gradient Boosting Model...") + custom_model = GradientBoostingTree(n_estimators=100, learning_rate=0.1, max_depth=2) + custom_model.fit(X_train, y_train) + print("Custom Model training complete!") + + # 5. Train Sklearn Gradient Boosting Model + print("Training Sklearn Gradient Boosting Model...") + sklearn_model = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=2, random_state=42) + sklearn_model.fit(X_train, y_train) + print("Sklearn Model training complete!") + + # 6. Make Predictions + custom_pred = custom_model.predict(X_test) * y_std + y_mean + sklearn_pred = sklearn_model.predict(X_test) * y_std + y_mean + y_test_original = y_test * y_std + y_mean + + # 7. Evaluate Both Models + print("\nCustom Model Evaluation:") + custom_mse, custom_mae, custom_r2 = evaluate_model(y_test_original, custom_pred) + print(f"Mean Squared Error (MSE): {custom_mse:.4f}") + print(f"Mean Absolute Error (MAE): {custom_mae:.4f}") + print(f"R² Score: {custom_r2:.4f}") + + print("\nSklearn Model Evaluation:") + sklearn_mse, sklearn_mae, sklearn_r2 = evaluate_model(y_test_original, sklearn_pred) + print(f"Mean Squared Error (MSE): {sklearn_mse:.4f}") + print(f"Mean Absolute Error (MAE): {sklearn_mae:.4f}") + print(f"R² Score: {sklearn_r2:.4f}") + + # 8. Plot Results + print("\nPlotting Comparison of Results...") + plot_comparison(y_test_original, custom_pred, sklearn_pred) \ No newline at end of file diff --git a/Comparison-modelSelection.py b/Comparison-modelSelection.py new file mode 100644 index 0000000..4d95f1c --- /dev/null +++ b/Comparison-modelSelection.py @@ -0,0 +1,150 @@ +import numpy as np +import pandas as pd +from boosting.gradient_boosting import GradientBoostingTree +from model_selection.cross_validation import k_fold_cv +from model_selection.bootstrapping import bootstrap +from sklearn.ensemble import GradientBoostingRegressor + +def load_dataset(file_path): + """ + Load dataset from a CSV file. + """ + try: + data = pd.read_csv(file_path) + if data.empty: + raise ValueError("Dataset is empty. Please provide a valid dataset.") + X = data.iloc[:, :-1].values + y = data.iloc[:, -1].values + return X, y + except Exception as e: + print(f"Error loading dataset: {e}") + exit() + +def preprocess_data(X, y): + """ + Preprocess the dataset: scale features and return scaled X and y. + """ + X_mean = np.mean(X, axis=0) + X_std = np.std(X, axis=0) + X_scaled = (X - X_mean) / X_std + + y_mean = np.mean(y) + y_std = np.std(y) + y_scaled = (y - y_mean) / y_std + + return X_scaled, y_scaled, y_mean, y_std + +def grid_search_max_depth(X, y, max_depth_values, n_estimators=100, learning_rate=0.1, k=5): + """ + Perform grid search to find the best max_depth using k-fold cross-validation. + """ + best_score = float("inf") + best_max_depth = None + + for max_depth in max_depth_values: + model = GradientBoostingTree( + n_estimators=n_estimators, + learning_rate=learning_rate, + max_depth=max_depth + ) + score = k_fold_cv(model, X, y, k=k, metric="mse") + print(f"Max Depth: {max_depth}, CV MSE: {score:.4f}") + if score < best_score: + best_score = score + best_max_depth = max_depth + + return best_max_depth, best_score + +def evaluate_model(y_true, y_pred): + """ + Evaluate the model using MSE, MAE, and R² metrics. + """ + mse = np.mean((y_true - y_pred) ** 2) + mae = np.mean(np.abs(y_true - y_pred)) + r2 = 1 - (np.sum((y_true - y_pred) ** 2) / np.sum((y_true - np.mean(y_true)) ** 2)) + return mse, mae, r2 + +def plot_comparison(y_true, custom_pred, sklearn_pred): + """ + Plot comparison of predictions from both models against true values. + """ + import matplotlib.pyplot as plt + plt.figure(figsize=(10, 6)) + plt.scatter(y_true, custom_pred, alpha=0.7, label="Custom Model Predictions", color="blue") + plt.scatter(y_true, sklearn_pred, alpha=0.7, label="Sklearn Model Predictions", color="green") + plt.plot([min(y_true), max(y_true)], [min(y_true), max(y_true)], 'r--', label="Ideal Fit") + plt.xlabel("True Values") + plt.ylabel("Predicted Values") + plt.title("Comparison of Custom vs Sklearn Model Predictions") + plt.legend() + plt.show() + +if __name__ == "__main__": + # 1. Load and Preprocess Dataset + dataset_path = "data/highly_correlated_dataset.csv" + X, y = load_dataset(dataset_path) + X, y, y_mean, y_std = preprocess_data(X, y) + + # 2. Perform K-Fold Cross-Validation for Custom Model + print("\nPerforming K-Fold Cross-Validation for Custom Model...") + custom_model = GradientBoostingTree(n_estimators=100, learning_rate=0.1, max_depth=3) + custom_cv_score = k_fold_cv(custom_model, X, y, k=5, metric="mse") + print(f"Custom Model K-Fold Cross-Validation MSE: {custom_cv_score:.4f}") + + # 3. Perform K-Fold Cross-Validation for Sklearn Model + print("\nPerforming K-Fold Cross-Validation for Sklearn Model...") + sklearn_model = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42) + sklearn_cv_score = k_fold_cv(sklearn_model, X, y, k=5, metric="mse") + print(f"Sklearn Model K-Fold Cross-Validation MSE: {sklearn_cv_score:.4f}") + + # 4. Perform Bootstrapping for Custom Model + print("\nPerforming Bootstrapping for Custom Model...") + custom_bootstrap_scores, custom_mean_bootstrap_score = bootstrap(custom_model, X, y, B=10, metric="mse") + print(f"Custom Model Bootstrap Mean MSE: {custom_mean_bootstrap_score:.4f}") + print(f"Custom Model Bootstrap Scores: {custom_bootstrap_scores}") + + # 5. Perform Bootstrapping for Sklearn Model + print("\nPerforming Bootstrapping for Sklearn Model...") + sklearn_bootstrap_scores, sklearn_mean_bootstrap_score = bootstrap(sklearn_model, X, y, B=10, metric="mse") + print(f"Sklearn Model Bootstrap Mean MSE: {sklearn_mean_bootstrap_score:.4f}") + print(f"Sklearn Model Bootstrap Scores: {sklearn_bootstrap_scores}") + + # 6. Perform Grid Search for Best Max Depth for Custom Model + print("\nPerforming Grid Search for Best Max Depth for Custom Model...") + max_depth_values = [2, 3, 5] + best_max_depth, best_cv_score = grid_search_max_depth(X, y, max_depth_values) + print(f"Best Max Depth: {best_max_depth}") + print(f"Best Custom Model CV MSE: {best_cv_score:.4f}") + + # 7. Train Final Custom Model with Best Parameters + print("\nTraining Final Custom Model with Best Parameters...") + final_custom_model = GradientBoostingTree( + n_estimators=100, learning_rate=0.1, max_depth=best_max_depth + ) + final_custom_model.fit(X, y) + print("Final Custom Model training complete!") + + # 8. Train Final Sklearn Model + print("\nTraining Final Sklearn Model...") + final_sklearn_model = GradientBoostingRegressor( + n_estimators=100, learning_rate=0.1, max_depth=best_max_depth, random_state=42 + ) + final_sklearn_model.fit(X, y) + print("Final Sklearn Model training complete!") + + # 9. Make Predictions for Final Models + custom_pred = final_custom_model.predict(X) * y_std + y_mean + sklearn_pred = final_sklearn_model.predict(X) * y_std + y_mean + y_original = y * y_std + y_mean + + # 10. Evaluate Both Models + print("\nEvaluating Both Models...") + custom_mse, custom_mae, custom_r2 = evaluate_model(y_original, custom_pred) + print(f"Custom Model - MSE: {custom_mse:.4f}, MAE: {custom_mae:.4f}, R²: {custom_r2:.4f}") + + sklearn_mse, sklearn_mae, sklearn_r2 = evaluate_model(y_original, sklearn_pred) + print(f"Sklearn Model - MSE: {sklearn_mse:.4f}, MAE: {sklearn_mae:.4f}, R²: {sklearn_r2:.4f}") + + # 11. Plot Comparison of Both Models + print("\nPlotting Comparison of Both Models...") + plot_comparison(y_original, custom_pred, sklearn_pred) \ No newline at end of file diff --git a/GapFillAI_Close_Your_Skill_Gaps.ipynb b/GapFillAI_Close_Your_Skill_Gaps.ipynb new file mode 100644 index 0000000..73754ae --- /dev/null +++ b/GapFillAI_Close_Your_Skill_Gaps.ipynb @@ -0,0 +1,733 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "source": [ + "# ==========================================================\n", + "# Cell 1: Install All Libraries\n", + "# ==========================================================\n", + "print(\"Installing libraries... (pypdf, openai)\")\n", + "!pip install -q pypdf openai\n", + "print(\"Libraries installed!\")\n", + "print(\"-\" * 40)\n", + "\n", + "\n", + "# ==========================================================\n", + "# Cell 2: Import & Configure API Key (OpenRouter Version)\n", + "# ==========================================================\n", + "import openai\n", + "from google.colab import userdata, files\n", + "import pypdf\n", + "import io\n", + "import json\n", + "import os\n", + "import sys\n", + "import urllib.parse\n", + "from IPython.display import display, Markdown\n", + "\n", + "# --- Use the free, powerful Llama 4 model ---\n", + "OPENROUTER_MODEL = \"meta-llama/llama-4-maverick:free\"\n", + "\n", + "try:\n", + " API_KEY = userdata.get('OPENROUTER_API_KEY')\n", + "\n", + " client = openai.OpenAI(\n", + " base_url=\"https://openrouter.ai/api/v1\",\n", + " api_key=API_KEY\n", + " )\n", + "\n", + " print(f\"✅ OpenRouter Client Configured Successfully!\")\n", + " print(f\"✅ Using Model: {OPENROUTER_MODEL}\")\n", + "\n", + "except Exception as e:\n", + " print(f\"🚨 Error: Could not get API key. Did you add 'OPENROUTER_API_KEY' to Colab Secrets?\\n{e}\")\n", + " raise SystemExit(\"API Key not found\")\n", + "\n", + "print(\"-\" * 40)\n", + "\n", + "\n", + "# ==========================================================\n", + "# Cell 3: Helper Functions (PDF & AI)\n", + "# ==========================================================\n", + "\n", + "def get_pdf_text_from_bytes(pdf_bytes):\n", + " \"\"\"\n", + " Extracts text from PDF bytes.\n", + " On failure, returns an error string.\n", + " \"\"\"\n", + " try:\n", + " pdf_reader = pypdf.PdfReader(io.BytesIO(pdf_bytes))\n", + " text = \"\"\n", + " for page in pdf_reader.pages:\n", + " text += page.extract_text()\n", + " return text\n", + " except Exception as e:\n", + " return f\"PDF_ERROR: {e}\"\n", + "\n", + "def call_ai(prompt):\n", + " \"\"\"\n", + " Sends a prompt to the OpenRouter model and returns the response.\n", + " On failure, it now returns the error message as a string.\n", + " \"\"\"\n", + " try:\n", + " # We put all instructions into the 'user' role\n", + " messages = [\n", + " {\"role\": \"user\", \"content\": prompt}\n", + " ]\n", + "\n", + " kwargs = {\n", + " \"model\": OPENROUTER_MODEL,\n", + " \"messages\": messages,\n", + " \"max_tokens\": 1000 # Fix for 402 credit limit errors\n", + " }\n", + "\n", + " response = client.chat.completions.create(**kwargs)\n", + "\n", + " return response.choices[0].message.content\n", + "\n", + " except Exception as e:\n", + " # Instead of returning None, return the error string.\n", + " error_message = f\"AI_ERROR: {e}\"\n", + " print(f\"🚨 call_ai failed: {error_message}\", file=sys.stderr)\n", + " return error_message\n", + "\n", + "print(\"Helper functions defined (with 'no-system-prompt' fix).\")\n", + "print(\"-\" * 40)\n", + "\n", + "\n", + "# ==========================================================\n", + "# Cell 4: AI Prompts (The \"Brain\") -- ❗️ NEW SIMPLE FORMAT ❗️\n", + "# ==========================================================\n", + "\n", + "# Prompt 1: The Gap Analyzer\n", + "PROMPT_1_GAP_ANALYZER = \"\"\"\n", + "You are an expert tech recruiter.\n", + "Analyze the user's [RESUME] and the [JOB_DESCRIPTION].\n", + "Identify the single most important technical skill (e.g., \"Kubernetes\", \"PyTorch\")\n", + "that is in the [JOB_DESCRIPTION] but missing from the [RESUME].\n", + "\n", + "Return ONLY the name of that single skill.\n", + "Do NOT add any explanation. Just the skill name.\n", + "\n", + "[RESUME]:\n", + "{resume_text}\n", + "\n", + "[JOB_DESCRIPTION]:\n", + "{job_description}\n", + "\"\"\"\n", + "\n", + "# Prompt 2: The OSS Finder\n", + "# We are no longer asking for JSON. We are asking for a simple\n", + "# string separated by a pipe character (|). This is MUCH more reliable.\n", + "PROMPT_2_OSS_FINDER = \"\"\"\n", + "You are an expert open-source mentor.\n", + "A junior developer needs to learn the following skill: *{skill_gap}*\n", + "\n", + "Your goal is to find them a real, impressive open-source project to contribute to.\n", + "\n", + "1. Find the single most famous GitHub repo (in 'owner/repo' format) for this skill.\n", + "2. Write a 1-sentence summary of why to contribute.\n", + "3. Generate the exact GitHub search query for \"good first issues\".\n", + "\n", + "---\n", + "VERY IMPORTANT: You MUST return your answer as a single line,\n", + "with each item separated by a pipe character (|).\n", + "Do NOT add any text, markdown, or explanation.\n", + "\n", + "FORMAT: github_repo|why_contribute|search_query\n", + "\n", + "EXAMPLE (if skill_gap was 'PyTorch'):\n", + "pytorch/pytorch|Contributing to PyTorch is the best way to prove your ML skills.|is:open is:issue repo:pytorch/pytorch label:\"good first issue\"\n", + "\"\"\"\n", + "\n", + "print(\"AI Prompts are ready.\")\n", + "print(\"-\" * 40)\n", + "\n", + "\n", + "# ==========================================================\n", + "# Cell 5: The \"App\" - Step 1: Upload Resume\n", + "# ==========================================================\n", + "#\n", + "# Run this cell first to upload your resume.\n", + "#\n", + "# ==========================================================\n", + "print(\"Please upload your PDF resume:\")\n", + "sys.stdout.flush()\n", + "\n", + "uploaded_files = files.upload()\n", + "\n", + "if not uploaded_files:\n", + " raise SystemExit(\"No file uploaded. Please re-run this cell.\")\n", + "\n", + "filename = list(uploaded_files.keys())[0]\n", + "pdf_bytes = uploaded_files[filename]\n", + "\n", + "print(f\"\\nSuccessfully uploaded: {filename}\")\n", + "print(\"-\" * 40)\n", + "\n", + "\n", + "# ==========================================================\n", + "# Cell 6: The \"App\" - Step 2: Paste Job Description -- ❗️ JOB DESC ADDED ❗️\n", + "# ==========================================================\n", + "#\n", + "# ==========================================================\n", + "\n", + "#@param {type:\"string\"}\n", + "job_description = \"\"\"\n", + "**Job Title: Software Engineer, Backend Systems**\n", + "\n", + "**Location:** San Francisco, CA (Hybrid)\n", + "\n", + "**About Us:**\n", + "At TechCorp, we are building the next generation of cloud infrastructure to help businesses scale. We are a fast-paced, product-driven team looking for engineers who are passionate about building reliable, high-performance distributed systems.\n", + "\n", + "**The Role:**\n", + "We are seeking a Backend Software Engineer to join our core services team. You will be responsible for designing, building, and maintaining the APIs and services that power our main platform. You will work closely with frontend engineers, product managers, and SREs to deliver robust, scalable solutions.\n", + "\n", + "**Responsibilities:**\n", + "* Design, develop, and deploy backend microservices in Python and Go.\n", + "* Write high-quality, maintainable, and well-tested code.\n", + "* Manage and operate cloud infrastructure using modern DevOps principles.\n", + "* Collaborate on system architecture, code reviews, and setting best practices.\n", + "* Monitor system performance and reliability, and participate in an on-call rotation.\n", + "\n", + "**Required Qualifications:**\n", + "* Bachelor's degree in Computer Science or equivalent practical experience.\n", + "* 3+ years of professional software development experience.\n", + "* Strong proficiency in at least one of the following: Python, Go, or Java.\n", + "* Experience with building and consuming RESTful APIs.\n", + "* Experience with cloud platforms (AWS, GCP, or Azure).\n", + "* Strong understanding of relational databases (e.g., PostgreSQL, MySQL).\n", + "\n", + "**Preferred Qualifications (Nice-to-Have):**\n", + "* Experience with container orchestration using **Kubernetes** and Docker.\n", + "* Experience with Infrastructure as Code (IaC) tools like **Terraform**.\n", + "* Familiarity with CI/CD pipelines (e.g., Jenkins, GitHub Actions).\n", + "* Knowledge of **PyTorch** or TensorFlow for internal ML tooling.\n", + "\"\"\" #@param {type:\"string\"}\n", + "\n", + "# --- We check if the user pasted the description ---\n", + "if len(job_description.strip()) < 50:\n", + " print(\"🚨 Please paste a real job description into the text box above before running the next one!\")\n", + " print(\"----------------------------------------\")\n", + " # This line stops the notebook\n", + " raise SystemExit(\"Job description is missing. Please complete Cell 6.\")\n", + "else:\n", + " print(\"✅ Job description pasted successfully.\")\n", + " print(\"You can now run Cell 7 (the final step) below.\")\n", + "\n", + "print(\"-\" * 40)\n", + "\n", + "\n", + "# ==========================================================\n", + "# Cell 7: Run the Analysis! (Formerly Cell 6) -- ❗️ NEW SIMPLE PARSER ❗️\n", + "# ==========================================================\n", + "\n", + "print(\"Starting gapfillai analysis...\")\n", + "raw_text_output = None\n", + "\n", + "try:\n", + " # 1. Process Resume\n", + " print(\"Processing PDF resume...\")\n", + " # pdf_bytes comes from Cell 5\n", + " resume_text = get_pdf_text_from_bytes(pdf_bytes)\n", + " if \"PDF_ERROR:\" in resume_text:\n", + " print(f\"🚨 FAILED TO READ PDF. Error: {resume_text}\")\n", + " raise SystemExit(\"PDF processing failed.\")\n", + " print(\"✅ Resume processed.\")\n", + "\n", + " # --- Truncate text ---\n", + " MAX_RESUME_CHARS = 20000\n", + " MAX_JOB_CHARS = 5000\n", + " resume_text_truncated = resume_text[:MAX_RESUME_CHARS]\n", + " # job_description comes from Cell 6\n", + " job_description_truncated = job_description[:MAX_JOB_CHARS]\n", + "\n", + " if len(resume_text) > MAX_RESUME_CHARS:\n", + " print(f\"⚠️ Resume is very long, truncating to {MAX_RESUME_CHARS} characters.\")\n", + " if len(job_description) > MAX_JOB_CHARS:\n", + " print(f\"⚠️ Job description is very long, truncating to {MAX_JOB_CHARS} characters.\")\n", + " # --- END OF TRUNCATION ---\n", + "\n", + "\n", + " # 2. Find Skill Gap\n", + " print(\"Calling AI to find skill gap...\")\n", + " prompt_1 = PROMPT_1_GAP_ANALYZER.format(\n", + " resume_text=resume_text_truncated,\n", + " job_description=job_description_truncated\n", + " )\n", + " skill_gap_raw = call_ai(prompt_1)\n", + "\n", + " if \"AI_ERROR:\" in skill_gap_raw:\n", + " print(f\"🚨 AI FAILED TO FIND SKILL GAP.\")\n", + " print(f\"The exact error from the API is:\\n{skill_gap_raw}\")\n", + " raise SystemExit(\"AI failed at step 2.\")\n", + "\n", + " # --- Clean the output to get the last line ---\n", + " skill_gap = \"\"\n", + " if skill_gap_raw:\n", + " lines = skill_gap_raw.strip().split('\\n')\n", + " if lines:\n", + " skill_gap = lines[-1].strip().replace(\"`\", \"\")\n", + "\n", + " if not skill_gap:\n", + " print(\"🚨 AI FAILED TO FIND SKILL GAP (returned an empty string).\")\n", + " print(\"This means the model couldn't find a clear gap. Did you paste a real job description in Cell 6?\")\n", + " raise SystemExit(\"AI failed at step 2 (empty skill gap).\")\n", + "\n", + " print(f\"✅ AI found skill gap: {skill_gap}\\n\")\n", + "\n", + " # 3. Find OSS Project\n", + " print(f\"Calling AI to find open-source project for '{skill_gap}'...\")\n", + " prompt_2 = PROMPT_2_OSS_FINDER.format(skill_gap=skill_gap)\n", + " # ❗️ We save the raw output to a new variable for logging\n", + " raw_text_output = call_ai(prompt_2)\n", + "\n", + " if \"AI_ERROR:\" in raw_text_output:\n", + " print(f\"🚨 AI FAILED TO FIND OSS PROJECT.\")\n", + " print(f\"The exact error from the API is:\\n{raw_text_output}\")\n", + " raise SystemExit(\"AI failed at step 3.\")\n", + "\n", + " print(\"✅ AI found project!\\n\\n\")\n", + "\n", + " # 4. Display Results\n", + " print(\"--- 🎯 YOUR PERSONALIZED PLAN ---\")\n", + "\n", + " # --- ❗️ NEW PARSING LOGIC ❗️ ---\n", + " # We are no longer parsing JSON. We are splitting a pipe-separated string.\n", + "\n", + " # 1. Clean the raw string\n", + " cleaned_output = raw_text_output.strip().replace(\"```\", \"\") # Remove any markdown\n", + "\n", + " # 2. Split the string by the pipe character\n", + " parts = cleaned_output.split('|')\n", + "\n", + " # 3. Check if we got the 3 parts we expected\n", + " if len(parts) != 3:\n", + " print(f\"🚨 AI returned an invalid format. Expected 3 parts, got {len(parts)}.\")\n", + " print(\"--- RAW AI OUTPUT (The string that failed to parse) ---\")\n", + " print(raw_text_output) # <-- This will now work\n", + " print(\"---------------------------------------------------------\")\n", + " raise SystemExit(\"AI failed at step 3 (bad format).\")\n", + "\n", + " # 4. Assign parts to variables\n", + " repo_name = parts[0].strip()\n", + " why_contrib = parts[1].strip()\n", + " search_query = parts[2].strip()\n", + "\n", + " # 5. Get the project name from the repo\n", + " project_name = repo_name.split('/')[-1]\n", + "\n", + " display(Markdown(f\"## Your #1 Skill Gap: *{skill_gap}*\"))\n", + " display(Markdown(\"---\"))\n", + " display(Markdown(f\"### Project Recommendation: *{project_name}*\"))\n", + " display(Markdown(f\"*GitHub Repo:* `github.com/{repo_name}`\"))\n", + " display(Markdown(f\"*Why Contribute?* {why_contrib}\"))\n", + "\n", + " display(Markdown(\"### Recommended 'Good First Issues'\"))\n", + " display(Markdown(f\"*The AI's search query will find real, up-to-date 'good first issues' for you to tackle.*\"))\n", + "\n", + " display(Markdown(\"### Find Live Issues on GitHub\"))\n", + " display(Markdown(\"Here is the exact query to find issues you can start on today:\"))\n", + " display(Markdown(f\"```bash\\n{search_query}\\n```\"))\n", + "\n", + " query_safe = urllib.parse.quote(search_query)\n", + " github_url = f\"[https://github.com/](https://github.com/){repo_name}/issues?q={query_safe}\"\n", + "\n", + " display(Markdown(f\"**[Click here to see live issues on GitHub]({github_url})**\"))\n", + "\n", + "\n", + "except SystemExit as e:\n", + " # This just makes the exit cleaner\n", + " print(f\"\\nScript stopped: {e}\")\n", + "except Exception as e:\n", + " print(f\"🚨 An unexpected error occurred ({type(e)}): {e}\")\n", + " if raw_text_output:\n", + " print(\"--- RAW AI OUTPUT ---\")\n", + " print(raw_text_output)\n", + " print(\"-----------------------\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 867 + }, + "id": "2IyC48Hw4ksT", + "outputId": "6ba06f10-b3a6-4195-b772-fcc6d2f03241" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Installing libraries... (pypdf, openai)\n", + "Libraries installed!\n", + "----------------------------------------\n", + "✅ OpenRouter Client Configured Successfully!\n", + "✅ Using Model: meta-llama/llama-4-maverick:free\n", + "----------------------------------------\n", + "Helper functions defined (with 'no-system-prompt' fix).\n", + "----------------------------------------\n", + "AI Prompts are ready.\n", + "----------------------------------------\n", + "Please upload your PDF resume:\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/html": [ + "\n", + " \n", + " \n", + " Upload widget is only available when the cell has been executed in the\n", + " current browser session. Please rerun this cell to enable.\n", + " \n", + " " + ] + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Saving Resume (1).pdf to Resume (1) (6).pdf\n", + "\n", + "Successfully uploaded: Resume (1) (6).pdf\n", + "----------------------------------------\n", + "✅ Job description pasted successfully.\n", + "You can now run Cell 7 (the final step) below.\n", + "----------------------------------------\n", + "Starting gapfillai analysis...\n", + "Processing PDF resume...\n", + "✅ Resume processed.\n", + "Calling AI to find skill gap...\n", + "✅ AI found skill gap: PyTorch\n", + "\n", + "Calling AI to find open-source project for 'PyTorch'...\n", + "✅ AI found project!\n", + "\n", + "\n", + "--- 🎯 YOUR PERSONALIZED PLAN ---\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "## Your #1 Skill Gap: *PyTorch*" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "---" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "### Project Recommendation: *pytorch*" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "*GitHub Repo:* `github.com/pytorch/pytorch`" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "*Why Contribute?* Contributing to PyTorch is the best way to prove your ML skills and be part of a community-driven deep learning framework." + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "### Recommended 'Good First Issues'" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "*The AI's search query will find real, up-to-date 'good first issues' for you to tackle.*" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "### Find Live Issues on GitHub" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "Here is the exact query to find issues you can start on today:" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "```bash\nis:issue is:open repo:pytorch/pytorch label:\"good first issue\"\n```" + }, + "metadata": {} + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "" + ], + "text/markdown": "**[Click here to see live issues on GitHub]([https://github.com/](https://github.com/)pytorch/pytorch/issues?q=is%3Aissue%20is%3Aopen%20repo%3Apytorch/pytorch%20label%3A%22good%20first%20issue%22)**" + }, + "metadata": {} + } + ] + } + ], + "metadata": { + "colab": { + "provenance": [], + "include_colab_link": true + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/Model/Gradient_Boosting.py b/Model/Gradient_Boosting.py new file mode 100644 index 0000000..b888a08 --- /dev/null +++ b/Model/Gradient_Boosting.py @@ -0,0 +1,96 @@ +import numpy as np +import pandas as pd + +class GradientBoostingTree: + def __init__(self, n_estimators, learning_rate, max_depth): + self.n_estimators = n_estimators + self.learning_rate = learning_rate + self.max_depth = max_depth + self.models = [] + + def fit(self, X, y): + n_samples = X.shape[0] + y_pred = np.full(n_samples, np.mean(y)) + self.initial_pred = np.mean(y) + + for _ in range(self.n_estimators): + residuals = y - y_pred + tree = DecisionTreeRegressor(max_depth=self.max_depth) + tree.fit(X, residuals) + self.models.append(tree) + y_pred += self.learning_rate * tree.predict(X) + + def predict(self, X): + y_pred = np.full(X.shape[0], self.initial_pred) + for tree in self.models: + y_pred += self.learning_rate * tree.predict(X) + return y_pred + +class DecisionTreeRegressor: + def __init__(self, max_depth=3): + self.max_depth = max_depth + self.tree = None + + def fit(self, X, y): + self.tree = self._build_tree(X, y, depth=0) + + def predict(self, X): + return np.array([self._predict_single(x, self.tree) for x in X]) + + def _build_tree(self, X, y, depth): + if depth == self.max_depth or len(set(y)) == 1: + return np.mean(y) + + best_split = self._find_best_split(X, y) + if best_split is None: + return np.mean(y) + + feature_idx, threshold = best_split + left_mask = X[:, feature_idx] <= threshold + right_mask = ~left_mask + + return { + "feature_idx": feature_idx, + "threshold": threshold, + "left": self._build_tree(X[left_mask], y[left_mask], depth + 1), + "right": self._build_tree(X[right_mask], y[right_mask], depth + 1), + } + + def _find_best_split(self, X, y): + n_samples, n_features = X.shape + best_mse = float("inf") + best_split = None + + for feature_idx in range(n_features): + thresholds = np.unique(X[:, feature_idx]) + for threshold in thresholds: + left_mask = X[:, feature_idx] <= threshold + right_mask = ~left_mask + if left_mask.sum() == 0 or right_mask.sum() == 0: + continue + + left_mse = self._compute_mse(y[left_mask]) + right_mse = self._compute_mse(y[right_mask]) + mse = (left_mask.sum() * left_mse + right_mask.sum() * right_mse) / n_samples + + if mse < best_mse: + best_mse = mse + best_split = (feature_idx, threshold) + return best_split + + def _compute_mse(self, y): + if len(y) == 0: + return 0 + return np.mean((y - np.mean(y)) ** 2) + + def _predict_single(self, x, tree): + if not isinstance(tree, dict): + return tree + + feature_idx = tree["feature_idx"] + threshold = tree["threshold"] + + if x[feature_idx] <= threshold: + return self._predict_single(x, tree["left"]) + else: + return self._predict_single(x, tree["right"]) \ No newline at end of file diff --git a/Model/ModelSelection.py b/Model/ModelSelection.py new file mode 100644 index 0000000..a9a393e --- /dev/null +++ b/Model/ModelSelection.py @@ -0,0 +1,135 @@ +import numpy as np +import sys +import os + +# Add the project root to the Python path +project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +sys.path.insert(0, project_root) + +from Model.gradient_boosting import GradientBoostingTree + + +def k_fold_cv(model, X, y, k=5, metric="mse"): + """ + Perform k-fold cross-validation. + """ + n = len(X) + indices = np.arange(n) + np.random.shuffle(indices) + folds = np.array_split(indices, k) + + scores = [] + for i in range(k): + train_idx = np.concatenate([folds[j] for j in range(k) if j != i]) + val_idx = folds[i] + + X_train, X_val = X[train_idx], X[val_idx] + y_train, y_val = y[train_idx], y[val_idx] + + model.fit(X_train, y_train) + y_pred = model.predict(X_val) + + if metric == "mse": + score = np.mean((y_val - y_pred) ** 2) + elif metric == "mae": + score = np.mean(np.abs(y_val - y_pred)) + else: + raise ValueError("Unsupported metric. Use 'mse' or 'mae'.") + + scores.append(score) + + return np.mean(scores) + + +def grid_search_max_depth(X, y, max_depth_values, n_estimators=100, learning_rate=0.1, k=5): + """ + Perform grid search to find the best max_depth with k-fold cross-validation. + Args: + X: Feature matrix. + y: Target vector. + max_depth_values: List of max_depth values to test. + n_estimators: Fixed number of estimators. + learning_rate: Fixed learning rate. + k: Number of folds. + Returns: + Best max_depth and its corresponding score. + """ + best_score = float("inf") + best_max_depth = None + + for max_depth in max_depth_values: + model = GradientBoostingTree( + n_estimators=n_estimators, + max_depth=max_depth, + learning_rate=learning_rate, + ) + score = k_fold_cv(model, X, y, k=k) + print(f"Max Depth: {max_depth} -> Score: {score}") + if score < best_score: + best_score = score + best_max_depth = max_depth + + return best_max_depth, best_score + +def bootstrap(model, X, y, B=100): + """ + Perform bootstrapping for model evaluation. + + Args: + model: The model to evaluate. + X (numpy.ndarray): Feature matrix. + y (numpy.ndarray): Target vector. + B (int): Number of bootstrap iterations. + + Returns: + mse_samples (list): Mean squared errors for each bootstrap sample. + mse_mean (float): Mean of the mean squared errors across all bootstrap samples. + """ + n = len(y) + mse_samples = [] + + for _ in range(B): + # Generate bootstrap sample indices + indices = np.random.choice(np.arange(n), size=n, replace=True) + X_sample, y_sample = X[indices], y[indices] + + # Fit the model on the bootstrap sample + model.fit(X_sample, y_sample) + + # Predict on the original data + y_pred = model.predict(X) + + # Calculate MSE for this bootstrap sample + mse = np.mean((y - y_pred) ** 2) + mse_samples.append(mse) + + return mse_samples, np.mean(mse_samples) + + +def calculate_aic(X, y, model): + """ + Calculate the Akaike Information Criterion (AIC) for a Gradient Boosting model. + + Args: + X (numpy.ndarray): Feature matrix. + y (numpy.ndarray): Target vector. + model (GradientBoostingTree): The trained gradient boosting model. + + Returns: + aic (float): AIC score for the gradient boosting model. + """ + n = X.shape[0] + + # Get predictions from the model + y_pred = model.predict(X) + + # Calculate Residual Sum of Squares (RSS) + rss = np.sum((y - y_pred) ** 2) + + # Approximate number of parameters (k) + k = model.n_estimators * (2 ** model.max_depth - 1) # Rough estimate of parameters + + # Calculate AIC using the formula: AIC = n * log(RSS/n) + 2*k + aic = n * np.log(rss / n) + 2 * k + + return aic \ No newline at end of file diff --git a/Model/__init__.py b/Model/__init__.py new file mode 100644 index 0000000..5935378 --- /dev/null +++ b/Model/__init__.py @@ -0,0 +1,2 @@ +from .gradient_boosting import GradientBoostingTree +from .ModelSelection import grid_search_max_depth \ No newline at end of file diff --git a/Output/Boston_housing/Boston_modelSelection.jpeg b/Output/Boston_housing/Boston_modelSelection.jpeg new file mode 100644 index 0000000..e5dfb22 Binary files /dev/null and b/Output/Boston_housing/Boston_modelSelection.jpeg differ diff --git a/Output/Boston_housing/Bostondataset_graph-gbt.jpeg b/Output/Boston_housing/Bostondataset_graph-gbt.jpeg new file mode 100644 index 0000000..2e90933 Binary files /dev/null and b/Output/Boston_housing/Bostondataset_graph-gbt.jpeg differ diff --git a/Output/Boston_housing/gbt-terminal-output.png b/Output/Boston_housing/gbt-terminal-output.png new file mode 100644 index 0000000..ed35671 Binary files /dev/null and b/Output/Boston_housing/gbt-terminal-output.png differ diff --git a/Output/Comparison/Comparison-gbt-terminal-output.png b/Output/Comparison/Comparison-gbt-terminal-output.png new file mode 100644 index 0000000..0ce9e3b Binary files /dev/null and b/Output/Comparison/Comparison-gbt-terminal-output.png differ diff --git a/Output/Comparison/Comparison-gbt.png b/Output/Comparison/Comparison-gbt.png new file mode 100644 index 0000000..3cf7d69 Binary files /dev/null and b/Output/Comparison/Comparison-gbt.png differ diff --git a/Output/Comparison/Comparison-model-selection-terminaloutput.png b/Output/Comparison/Comparison-model-selection-terminaloutput.png new file mode 100644 index 0000000..4ffff88 Binary files /dev/null and b/Output/Comparison/Comparison-model-selection-terminaloutput.png differ diff --git a/Output/Comparison/Comparison-model.png b/Output/Comparison/Comparison-model.png new file mode 100644 index 0000000..3f12c10 Binary files /dev/null and b/Output/Comparison/Comparison-model.png differ diff --git a/Output/Highly Correlated/Gradient_boostingGraph.png b/Output/Highly Correlated/Gradient_boostingGraph.png new file mode 100644 index 0000000..2a66f57 Binary files /dev/null and b/Output/Highly Correlated/Gradient_boostingGraph.png differ diff --git a/Output/Highly Correlated/Output_gradientBoosting.png b/Output/Highly Correlated/Output_gradientBoosting.png new file mode 100644 index 0000000..09204df Binary files /dev/null and b/Output/Highly Correlated/Output_gradientBoosting.png differ diff --git a/Output/Highly Correlated/output_modelSelection.png b/Output/Highly Correlated/output_modelSelection.png new file mode 100644 index 0000000..6ea1d26 Binary files /dev/null and b/Output/Highly Correlated/output_modelSelection.png differ diff --git a/Output/Partially correlated/Graph_gradientBoosting.png b/Output/Partially correlated/Graph_gradientBoosting.png new file mode 100644 index 0000000..1d235c8 Binary files /dev/null and b/Output/Partially correlated/Graph_gradientBoosting.png differ diff --git a/Output/Partially correlated/Output_Model_selection.png b/Output/Partially correlated/Output_Model_selection.png new file mode 100644 index 0000000..a03bc73 Binary files /dev/null and b/Output/Partially correlated/Output_Model_selection.png differ diff --git a/Output/Partially correlated/Output_gradient_boosting.png b/Output/Partially correlated/Output_gradient_boosting.png new file mode 100644 index 0000000..f8d853f Binary files /dev/null and b/Output/Partially correlated/Output_gradient_boosting.png differ diff --git a/README.md b/README.md index f746e56..902fe3a 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,321 @@ -# Project 2 +***Gradient Boosting Trees and Model Selection*** -Select one of the following two options: +***GROUP NAME: GUARDIANS OF IIT*** + +***TEAMMEMBERS*** +##### A20584318 - ANSH KAUSHIK +##### A20593046 - ARUNESHWARAN SIVAKUMAR +##### A20588339 - HARISH NAMASIVAYAM MUTHUSWAMY +##### A20579993 - SHARANYA MISHRA +##### A20541092 - SHUBHAM BAJIRAO DHANAVADE + +***CONTRIBUTION*** +We, as a team of five, collaboratively worked on the implementation, testing, and documentation of the Gradient Boosting Tree model and the associated model selection methods. Each team member contributed equally, taking responsibility for specific aspects of the project to ensure its successful completion. + +**CS584 Project 2:** +**Gradient Boosting and Model Selection** + +This repository contains two independent projects: + +Gradient Boosting: Implements and evaluates the Gradient Boosting algorithm for classification and regression tasks. +Model Selection: Focuses on evaluating and comparing machine learning models using robust methods like bootstrapping and cross-validation. + +*********************************************************1. Gradient Boosting****************************************************** +**Purpose:** +The Gradient Boosting project focuses on implementing and evaluating the Gradient Boosting algorithm, a popular ensemble method for improving model accuracy by sequentially reducing prediction errors. + +**Project Structure (Gradient Boosting):** + 1. main_gradientboosting.py: The primary script to execute Gradient Boosting. + 2. boosting/: folder containing Gradient boosting model + gradient_boosting.py: Initialization of Model for Gradient Boosting. + 3. comparison-gbt.py: This shows the comparison between sk learn model and our model. + 4. Datasets: Located in the data/ directory: + highly_correlated_dataset.csv and partially_correlated_dataset.csv: + These are synthetic datasets generated from code, designed to test the impact of feature correlation on model performance. + boston_housing.csv, highly_correlated_dataset.csv, partially_correlated_dataset + 5. comparison-gbt.py - the comaprison file for our model and sk learn +**Setup for Gradient Boosting:** +1. Clone the Repository: + git clone <"https://github.com/mishrasharanya/CS584_Project2.git"> + cd CS584_Project2-main + +2. Install Dependencies: + Ensure Python 3.11.7 is installed, then run: + pip install -r requirements.txt + +3. Verify Data: +Ensure datasets are present in the data/ directory. If missing, use a compatible dataset in CSV format. + +**How to Run Gradient Boosting** +1. Execute the Script: + Run the Gradient Boosting pipeline: + test_boosting.py - this is a test file to test if its working. + main_gradientboosting.py - This is the main file to be run to get the output. + comparison-gbt.py - this is the file to comapare with sk learn with our model. + + +Output: + Model training progress and evaluation metrics (MSE, MAE, R2). + Visualizations (Actual Vs predicted Graph) saved to the output directory. + +**Customization for Gradient Boosting** + Hyperparameters: Modify parameters like the learning rate, number of iterations, or max depth directly in Gradient_Boosting.py. + Dataset: Replace the default dataset (data/train.csv) with a custom dataset by updating main_gradientboosting.py. + + +*************************************************Gradient BOOSTING QUESTIONS****************************************************** + +1. What Does the Model You Have Implemented Do and When Should It Be Used? +The Gradient Boosting Tree model is a powerful supervised learning algorithm for regression tasks. It builds an ensemble of weak learners (shallow decision trees) by iteratively training each tree to correct the residual errors of the previous ones. This sequential approach allows the model to capture complex, non-linear relationships in data. The final prediction combines the outputs of all trees, scaled by a learning rate to balance learning and generalization. + +Ideal for structured, tabular data, Gradient Boosting excels in tasks requiring high predictive accuracy, such as finance, healthcare, and marketing. Despite being less interpretable than simpler models, it is highly effective when model performance is prioritized. Careful tuning of hyperparameters like learning rate, tree depth, and the number of trees is crucial to prevent overfitting and optimize results, making this model a versatile choice for complex regression problems. + + +2. How Did You Test Your Model to Determine if It Is Working Reasonably Correctly? +Gradient Boosting Tree Model Testing Overview + +The model was rigorously tested using synthetic and real-world datasets to ensure reliability and accuracy. + +**Datasets Used:** +Synthetic: Small datasets (Synthetic generated Datasets namely partially correlated and highly correlated) tested basic functionality and logic correctness. +Real-World: Benchmarks like boston_housing.csv assessed generalization and practical performance. + +**Evaluation Metrics:** +Mean Squared Error (MSE): Measures overall accuracy by averaging squared errors. +Mean Absolute Error (MAE): Captures average prediction deviation in interpretable units. +R² Score: Quantifies explained variance; closer to 1 indicates a better fit. + +**Testing Methods:** +Unit Tests: Validated model functions (fit, predict) with predefined data. +Cross-Validation: Ensured consistency across multiple data splits. +Ground Truth Comparison: Verified prediction alignment with actual target values. +Key tests confirmed minimized residuals, strong predictive accuracy, and robust generalization, combining controlled experiments and practical scenarios for reliability. + +3. What Parameters Have You Exposed to Users of Your Implementation to Tune Performance? +**Optimizing Gradient Boosting Tree Performance** + +The Gradient Boosting Tree model offers key parameters for tuning to balance accuracy and generalization: + +n_estimators (Number of Trees) + +Determines the number of boosting iterations. +Higher values improve performance but can lead to overfitting if unchecked. +Start with 100 and adjust based on validation performance. +learning_rate (Step Size) + +Scales each tree's contribution to the final prediction. +Smaller values (e.g., 0.01–0.1) improve generalization but require more trees. +Larger values risk overfitting. +max_depth (Tree Depth) + +Limits tree complexity to control overfitting. +Deeper trees capture more patterns but may memorize noise. +Start with 2 and increase only if underfitting occurs. +Tuning Tips + +Begin with default values: n_estimators=100, learning_rate=0.1, max_depth=2. +Tune sequentially: Adjust n_estimators, lower learning_rate, and tweak max_depth. +Use cross-validation and grid or random search for robust tuning. +By carefully optimizing these parameters, the model can adapt to various datasets and tasks, maximizing accuracy while avoiding overfitting. + +4. Are There Specific Inputs That Your Implementation Has Trouble With? +**Challenges and Future Improvements for Gradient Boosting Trees** +**Challenges** +**High-Dimensional Sparse Data** +Issue: Slower computation and risk of overfitting due to irrelevant features. +Outliers +Issue: Sensitivity to extreme values can lead to overfitting. +Highly Correlated Features + +Issue: Redundant splits increase complexity without adding value. + + +**Regularization** +Add L1/L2 penalties to reduce overfitting and improve generalization by limiting tree complexity. +Early Stopping +Halt training when validation performance plateaus, preventing overfitting and saving resources. +Classification Support +Extend the model for binary and multiclass tasks using log-loss or softmax loss, enabling applications in fraud detection and sentiment analysis. +These enhancements ensure robust, efficient, and versatile performance across diverse datasets and tasks. + +*****************************************************2. Model Selection*********************************************************** +**Purpose** +The Model Selection project demonstrates robust techniques for evaluating and selecting the best machine learning models. It uses bootstrapping and cross-validation to ensure reliable model performance comparisons. + +**Project Structure (Model Selection):** + 1. main_modelselection.py: The main script for performing model selection. + 2. model_selection/: folder containing boot strapping and cross validation. + bootstrapping.py: Implements bootstrapping for model evaluation. + cross_validation.py: Cross-validation utilities for splitting datasets. + 3. Datasets: Located in the data/ directory: + highly_correlated_dataset.csv and partially_correlated_dataset.csv: + These are synthetic datasets generated from code, designed to test the impact of feature correlation on model performance. + Boston_housing.csv: A real-world dataset. + +**Setup for Model Selection:** + +1. Install Dependencies: +Install required Python libraries: + pip install -r requirements.txt +2. Verify Data: + Ensure datasets are present in the data/ directory. Synthetic datasets (highly_correlated_dataset.csv and partially_correlated_dataset.csv) are pre-generated and included. If needed, refer to the provided code to regenerate these datasets. + +**How to Run Model Selection** +1. Execute the Script: + Run the model selection pipeline: + test_modelselection.py - this is a test file to test if its working. + main_modelselection.py - This is the main file to be run to get the output. + comparison-modelselection.py - this is a comparison file betweern our model and SK learn +Output: + Performance metrics (K- Fold MSE, K Fold Crossvalidation, Bootstrap Mean MSE, Bootstrap Scores, Max Depth- 3 nos CV MSE-3 nos and Best max Depth And Best CV MSE) + Summary of the best-performing model. + +**Customization for Model Selection** + 1. Evaluation Method: + Choose between bootstrapping or cross-validation in main_modelselection.py. + 2. Hyperparameters: + Update cross-validation folds or bootstrapping parameters in cross_validation.py or bootstrapping.py. + 3. Models: + Add or modify models in ModelSelection.py for comparison. + +*****************************************************MODEL SELECTION QUESTIONS********************************************** +1. Do Your Cross-Validation and Bootstrapping Model Selectors Agree with a Simpler Model Selector Like AIC? + +**Agreement Between Model Selectors** + +**Simple Models (e.g., Linear Regression):** +Techniques like AIC, cross-validation, and bootstrapping often agree. +Why AIC Works: Assumes Gaussian residuals and penalizes complexity, aligning well with linear regression's assumptions. +Cross-Validation/Bootstrapping: Evaluate on unseen or resampled data, reinforcing simpler models, similar to AIC. + +**Complex Models (e.g., Gradient Boosting Trees):** +Cross-validation and bootstrapping are more reliable than AIC. +Why AIC Falls Short: Assumes parametric structure and Gaussian residuals, which do not apply to non-linear, non-parametric models. + +**Advantages of Cross-Validation/Bootstrapping:** +Cross-Validation: Directly measures generalization on unseen data. +Bootstrapping: Tests stability and variance through resampling. + +These methods adapt to flexible models like Gradient Boosting Trees, ensuring robust and reliable model selection without reliance on strict parametric assumptions. + +2. In What Cases Might the Methods You've Written Fail or Give Incorrect or Undesirable Results? + +**Challenges in Model Selection and Mitigation Strategies** + +**Small Datasets** + +Challenge: High variance in cross-validation; bootstrapping lacks diversity. +Mitigation: Use stratified sampling to preserve target distribution and consider leave-one-out cross-validation (LOOCV) for reliable estimates. + +**Imbalanced Datasets** + +Challenge: Cross-validation may not maintain class proportions, leading to biased metrics. +Mitigation: Apply stratified k-fold cross-validation to maintain class balance and use oversampling techniques like SMOTE for minority classes. + +**Outliers** + +Challenge: Outliers distort evaluation and cause overfitting. +Mitigation: normalize features + +**Hyperparameter Search with Large Grids** + +Challenge: Large grids lead to high computational costs. +Mitigation: Use randomized search for faster exploration, focus on impactful parameters (e.g., learning_rate), and parallelize the search with multiprocessing or distributed frameworks. +By addressing these challenges with targeted strategies, model selection can be made more efficient and reliable. + + +3. What Could You Implement Given More Time to Mitigate These Cases or Help Users of Your Methods? +**Future Enhancements for Model Selection and Training** + +**Stratified Sampling** + +Challenge: Imbalanced datasets may lead to biased evaluation in cross-validation. +Solution: Use stratified K-fold cross-validation to maintain class proportions in all folds. +Benefit: Provides reliable metrics, especially for minority classes. +Weighted Bootstrapping + +Challenge: Standard bootstrapping over-samples outliers or misses minority classes. +Solution: Assign higher weights to minority samples and lower weights to outliers during resampling. +Benefit: Improves balance and reduces noise impact. +Early Stopping in Grid Search + +Challenge: Large search spaces make grid search computationally expensive. +Solution: Stop the search when performance stops improving over a set number of iterations. +Benefit: Saves time and focuses resources on promising parameters. +Parallelization + +Challenge: Cross-validation and grid search are time-intensive. +Solution: Use parallel processing to distribute tasks across multiple cores or nodes. +Benefit: Significantly reduces computation time. +Feature Selection in Cross-Validation + +Challenge: Irrelevant features increase overfitting and computational cost. +Solution: Apply automated feature selection during cross-validation to retain only relevant features. +Benefit: Improves generalization, interpretability, and efficiency. +These strategies enhance the efficiency, accuracy, and robustness of model selection and training processes. + +4. What Parameters Have You Exposed to Your Users in Order to Use Your Model Selectors? +Key Parameters for Model Selection + +K-Fold Cross-Validation + +k: Number of folds. Higher k (e.g., 10) gives robust estimates but is computationally expensive. +shuffle & random_state: Ensures randomness and reproducibility during data splits. +metric: Determines performance evaluation (e.g., MSE for regression). +Bootstrapping + +B: Number of resampling iterations. Higher B improves variability estimates but increases computation. +metric: Measures performance (e.g., MSE, MAE). +Weighted Sampling: Enhances robustness for imbalanced data. +Grid Search + +param_grid: Defines hyperparameter values to explore. Larger grids improve results but increase runtime. +Early Stopping: Halts search when performance stabilizes, saving time. +Parallelization: Speeds up grid search by processing multiple combinations simultaneously. +Strengths + +Suitable for all model types, including non-parametric models. +Cross-validation ensures generalization, while bootstrapping assesses variability. +Challenges + + +Future Enhancements: + +Stratified Sampling: Maintains class balance in folds. +Weighted Bootstrapping: Handles imbalances and outliers effectively. +Automated Feature Selection: Improves generalization by reducing noise. +Parallelization: Cuts runtime for large-scale tasks. +These adjustments improve the efficiency, accuracy, and scalability of model selection processes. + +**Notes:** +Synthetic Datasets: + 1. highly_correlated_dataset.csv: A synthetic dataset where features have high inter-correlation. + 2. partially_correlated_dataset.csv: A synthetic dataset with moderate feature correlation. + 3. These datasets were generated using custom Python code, which can be found in the project. + 4. Independent Projects: Each project can be run independently. Follow the respective setup and execution instructions for Gradient Boosting or Model Selection. + 5. Extensibility: New models or datasets can be added easily. Update the relevant scripts and configurations as needed. + 6. Troubleshooting: Run unit tests or verify dataset formats if errors occur. + +**Key Takeaways** +**Non-Linear Model Evaluation:** +Cross-validation and bootstrapping are indispensable for evaluating complex models like Gradient Boosting Trees, as they empirically assess performance without relying on restrictive assumptions. +Alignment with Simpler Methods: +While these methods align with simpler selectors like AIC for linear models, their flexibility makes them more suitable for modern machine learning tasks. +Enhancements for Scalability: +By incorporating stratified sampling, parallelization, and other optimizations, these methods can become even more efficient and effective for large-scale or computationally demanding applications. + + +******* + +***Conclusion*** +Cross-validation and bootstrapping provide a robust foundation for model evaluation and selection, particularly for complex tasks involving non-linear relationships. Their empirical, assumption-free approach ensures reliable performance estimation and generalization, even for cutting-edge machine learning models. With future enhancements like parallelization and automated feature selection, these techniques can be scaled and optimized to meet the growing demands of modern data science. -## Boosting Trees -Implement the gradient-boosting tree algorithm (with the usual fit-predict interface) as described in Sections 10.9-10.10 of Elements of Statistical Learning (2nd Edition). Answer the questions below as you did for Project 1. -Put your README below. Answer the following questions. -* What does the model you have implemented do and when should it be used? -* How did you test your model to determine if it is working reasonably correctly? -* What parameters have you exposed to users of your implementation in order to tune performance? (Also perhaps provide some basic usage examples.) -* Are there specific inputs that your implementation has trouble with? Given more time, could you work around these or is it fundamental? -## Model Selection -Implement generic k-fold cross-validation and bootstrapping model selection methods. -In your README, answer the following questions: -* Do your cross-validation and bootstrapping model selectors agree with a simpler model selector like AIC in simple cases (like linear regression)? -* In what cases might the methods you've written fail or give incorrect or undesirable results? -* What could you implement given more time to mitigate these cases or help users of your methods? -* What parameters have you exposed to your users in order to use your model selectors. -See sections 7.10-7.11 of Elements of Statistical Learning and the lecture notes. Pay particular attention to Section 7.10.2. -As usual, above-and-beyond efforts will be considered for bonus points. diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/boosting/__init__.py b/boosting/__init__.py new file mode 100644 index 0000000..a6be0ab --- /dev/null +++ b/boosting/__init__.py @@ -0,0 +1 @@ +from .gradient_boosting import GradientBoostingTree diff --git a/boosting/gradient_boosting.py b/boosting/gradient_boosting.py new file mode 100644 index 0000000..3c61b68 --- /dev/null +++ b/boosting/gradient_boosting.py @@ -0,0 +1,95 @@ +import numpy as np + +class GradientBoostingTree: + def __init__(self, n_estimators=100, learning_rate=0.1, max_depth=3): + self.n_estimators = n_estimators + self.learning_rate = learning_rate + self.max_depth = max_depth + self.models = [] + self.initial_pred = None + + def fit(self, X, y): + n_samples = X.shape[0] + self.initial_pred = np.mean(y) + y_pred = np.full(n_samples, self.initial_pred) + + for _ in range(self.n_estimators): + residuals = y - y_pred + tree = DecisionTreeRegressor(max_depth=self.max_depth) + tree.fit(X, residuals) + self.models.append(tree) + y_pred += self.learning_rate * tree.predict(X) + + def predict(self, X): + y_pred = np.full(X.shape[0], self.initial_pred) + for tree in self.models: + y_pred += self.learning_rate * tree.predict(X) + return y_pred + + +class DecisionTreeRegressor: + def __init__(self, max_depth=3): + self.max_depth = max_depth + self.tree = None + + def fit(self, X, y): + self.tree = self._build_tree(X, y, depth=0) + + def predict(self, X): + return np.array([self._predict_single(x, self.tree) for x in X]) + + def _build_tree(self, X, y, depth): + if depth == self.max_depth or len(set(y)) == 1: + return np.mean(y) + + best_split = self._find_best_split(X, y) + if best_split is None: + return np.mean(y) + + feature_idx, threshold = best_split + left_mask = X[:, feature_idx] <= threshold + right_mask = ~left_mask + + return { + "feature_idx": feature_idx, + "threshold": threshold, + "left": self._build_tree(X[left_mask], y[left_mask], depth + 1), + "right": self._build_tree(X[right_mask], y[right_mask], depth + 1), + } + + def _find_best_split(self, X, y): + n_samples, n_features = X.shape + best_mse = float("inf") + best_split = None + + for feature_idx in range(n_features): + thresholds = np.unique(X[:, feature_idx]) + for threshold in thresholds: + left_mask = X[:, feature_idx] <= threshold + right_mask = ~left_mask + if left_mask.sum() == 0 or right_mask.sum() == 0: + continue + + left_mse = self._compute_mse(y[left_mask]) + right_mse = self._compute_mse(y[right_mask]) + mse = (left_mask.sum() * left_mse + right_mask.sum() * right_mse) / n_samples + + if mse < best_mse: + best_mse = mse + best_split = (feature_idx, threshold) + return best_split + + def _compute_mse(self, y): + return np.mean((y - np.mean(y)) ** 2) + + def _predict_single(self, x, tree): + if not isinstance(tree, dict): + return tree + + feature_idx = tree["feature_idx"] + threshold = tree["threshold"] + + if x[feature_idx] <= threshold: + return self._predict_single(x, tree["left"]) + else: + return self._predict_single(x, tree["right"]) diff --git a/data/Boston_housing.py b/data/Boston_housing.py new file mode 100644 index 0000000..6384a4b --- /dev/null +++ b/data/Boston_housing.py @@ -0,0 +1,35 @@ +import pandas as pd +from sklearn.model_selection import train_test_split +from sklearn.ensemble import GradientBoostingRegressor +from sklearn.metrics import r2_score, mean_squared_error + +# Load the dataset from the URL +url = "https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv" +df = pd.read_csv(url) + +# Save the dataset to a local CSV file +df.to_csv("data/boston_housing.csv", index=False) + +# Features (X) and target (y) +X = df.drop(columns=["medv"]) # 'medv' is the target variable (median value of homes) +y = df["medv"] + +# Split the dataset into training and testing sets +X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) + +# Initialize the Gradient Boosting Regressor +gbr = GradientBoostingRegressor(random_state=42) + +# Fit the model to the training data +gbr.fit(X_train, y_train) + +# Make predictions on the test set +y_pred = gbr.predict(X_test) + +# Calculate R² and Mean Squared Error (MSE) +r2 = r2_score(y_test, y_pred) +mse = mean_squared_error(y_test, y_pred) + +# Print the results +print(f"R²: {r2:.4f}") +print(f"MSE: {mse:.4f}") \ No newline at end of file diff --git a/data/Dataset-highlycorrelated.py b/data/Dataset-highlycorrelated.py new file mode 100644 index 0000000..64792c5 --- /dev/null +++ b/data/Dataset-highlycorrelated.py @@ -0,0 +1,28 @@ +import numpy as np +import pandas as pd + +# Set random seed for reproducibility +np.random.seed(42) + +# Number of samples and features +n_samples = 1000 +n_features = 5 + +# Generate a random base feature +base_feature = np.random.normal(0, 1, n_samples) + +# Create a highly correlated dataset +correlated_data = np.array([base_feature + np.random.normal(0, 0.1, n_samples) for _ in range(n_features)]).T + +# Convert to a DataFrame +columns = [f"Feature_{i+1}" for i in range(n_features)] +df = pd.DataFrame(correlated_data, columns=columns) + +# Add a target variable with a high correlation to one of the features +df['Target'] = df['Feature_1'] * 2 + np.random.normal(0, 0.1, n_samples) + +# Save to CSV +output_file = "highly_correlated_dataset.csv" +df.to_csv(output_file, index=False) + +print(f"Dataset saved to {output_file}") diff --git a/data/boston_housing.csv b/data/boston_housing.csv new file mode 100644 index 0000000..4509d4e --- /dev/null +++ b/data/boston_housing.csv @@ -0,0 +1,507 @@ +crim,zn,indus,chas,nox,rm,age,dis,rad,tax,ptratio,b,lstat,medv +0.00632,18.0,2.31,0,0.538,6.575,65.2,4.09,1,296,15.3,396.9,4.98,24.0 +0.02731,0.0,7.07,0,0.469,6.421,78.9,4.9671,2,242,17.8,396.9,9.14,21.6 +0.02729,0.0,7.07,0,0.469,7.185,61.1,4.9671,2,242,17.8,392.83,4.03,34.7 +0.03237,0.0,2.18,0,0.458,6.998,45.8,6.0622,3,222,18.7,394.63,2.94,33.4 +0.06905,0.0,2.18,0,0.458,7.147,54.2,6.0622,3,222,18.7,396.9,5.33,36.2 +0.02985,0.0,2.18,0,0.458,6.43,58.7,6.0622,3,222,18.7,394.12,5.21,28.7 +0.08829,12.5,7.87,0,0.524,6.012,66.6,5.5605,5,311,15.2,395.6,12.43,22.9 +0.14455,12.5,7.87,0,0.524,6.172,96.1,5.9505,5,311,15.2,396.9,19.15,27.1 +0.21124,12.5,7.87,0,0.524,5.631,100.0,6.0821,5,311,15.2,386.63,29.93,16.5 +0.17004,12.5,7.87,0,0.524,6.004,85.9,6.5921,5,311,15.2,386.71,17.1,18.9 +0.22489,12.5,7.87,0,0.524,6.377,94.3,6.3467,5,311,15.2,392.52,20.45,15.0 +0.11747,12.5,7.87,0,0.524,6.009,82.9,6.2267,5,311,15.2,396.9,13.27,18.9 +0.09378,12.5,7.87,0,0.524,5.889,39.0,5.4509,5,311,15.2,390.5,15.71,21.7 +0.62976,0.0,8.14,0,0.538,5.949,61.8,4.7075,4,307,21.0,396.9,8.26,20.4 +0.63796,0.0,8.14,0,0.538,6.096,84.5,4.4619,4,307,21.0,380.02,10.26,18.2 +0.62739,0.0,8.14,0,0.538,5.834,56.5,4.4986,4,307,21.0,395.62,8.47,19.9 +1.05393,0.0,8.14,0,0.538,5.935,29.3,4.4986,4,307,21.0,386.85,6.58,23.1 +0.7842,0.0,8.14,0,0.538,5.99,81.7,4.2579,4,307,21.0,386.75,14.67,17.5 +0.80271,0.0,8.14,0,0.538,5.456,36.6,3.7965,4,307,21.0,288.99,11.69,20.2 +0.7258,0.0,8.14,0,0.538,5.727,69.5,3.7965,4,307,21.0,390.95,11.28,18.2 +1.25179,0.0,8.14,0,0.538,5.57,98.1,3.7979,4,307,21.0,376.57,21.02,13.6 +0.85204,0.0,8.14,0,0.538,5.965,89.2,4.0123,4,307,21.0,392.53,13.83,19.6 +1.23247,0.0,8.14,0,0.538,6.142,91.7,3.9769,4,307,21.0,396.9,18.72,15.2 +0.98843,0.0,8.14,0,0.538,5.813,100.0,4.0952,4,307,21.0,394.54,19.88,14.5 +0.75026,0.0,8.14,0,0.538,5.924,94.1,4.3996,4,307,21.0,394.33,16.3,15.6 +0.84054,0.0,8.14,0,0.538,5.599,85.7,4.4546,4,307,21.0,303.42,16.51,13.9 +0.67191,0.0,8.14,0,0.538,5.813,90.3,4.682,4,307,21.0,376.88,14.81,16.6 +0.95577,0.0,8.14,0,0.538,6.047,88.8,4.4534,4,307,21.0,306.38,17.28,14.8 +0.77299,0.0,8.14,0,0.538,6.495,94.4,4.4547,4,307,21.0,387.94,12.8,18.4 +1.00245,0.0,8.14,0,0.538,6.674,87.3,4.239,4,307,21.0,380.23,11.98,21.0 +1.13081,0.0,8.14,0,0.538,5.713,94.1,4.233,4,307,21.0,360.17,22.6,12.7 +1.35472,0.0,8.14,0,0.538,6.072,100.0,4.175,4,307,21.0,376.73,13.04,14.5 +1.38799,0.0,8.14,0,0.538,5.95,82.0,3.99,4,307,21.0,232.6,27.71,13.2 +1.15172,0.0,8.14,0,0.538,5.701,95.0,3.7872,4,307,21.0,358.77,18.35,13.1 +1.61282,0.0,8.14,0,0.538,6.096,96.9,3.7598,4,307,21.0,248.31,20.34,13.5 +0.06417,0.0,5.96,0,0.499,5.933,68.2,3.3603,5,279,19.2,396.9,9.68,18.9 +0.09744,0.0,5.96,0,0.499,5.841,61.4,3.3779,5,279,19.2,377.56,11.41,20.0 +0.08014,0.0,5.96,0,0.499,5.85,41.5,3.9342,5,279,19.2,396.9,8.77,21.0 +0.17505,0.0,5.96,0,0.499,5.966,30.2,3.8473,5,279,19.2,393.43,10.13,24.7 +0.02763,75.0,2.95,0,0.428,6.595,21.8,5.4011,3,252,18.3,395.63,4.32,30.8 +0.03359,75.0,2.95,0,0.428,7.024,15.8,5.4011,3,252,18.3,395.62,1.98,34.9 +0.12744,0.0,6.91,0,0.448,6.77,2.9,5.7209,3,233,17.9,385.41,4.84,26.6 +0.1415,0.0,6.91,0,0.448,6.169,6.6,5.7209,3,233,17.9,383.37,5.81,25.3 +0.15936,0.0,6.91,0,0.448,6.211,6.5,5.7209,3,233,17.9,394.46,7.44,24.7 +0.12269,0.0,6.91,0,0.448,6.069,40.0,5.7209,3,233,17.9,389.39,9.55,21.2 +0.17142,0.0,6.91,0,0.448,5.682,33.8,5.1004,3,233,17.9,396.9,10.21,19.3 +0.18836,0.0,6.91,0,0.448,5.786,33.3,5.1004,3,233,17.9,396.9,14.15,20.0 +0.22927,0.0,6.91,0,0.448,6.03,85.5,5.6894,3,233,17.9,392.74,18.8,16.6 +0.25387,0.0,6.91,0,0.448,5.399,95.3,5.87,3,233,17.9,396.9,30.81,14.4 +0.21977,0.0,6.91,0,0.448,5.602,62.0,6.0877,3,233,17.9,396.9,16.2,19.4 +0.08873,21.0,5.64,0,0.439,5.963,45.7,6.8147,4,243,16.8,395.56,13.45,19.7 +0.04337,21.0,5.64,0,0.439,6.115,63.0,6.8147,4,243,16.8,393.97,9.43,20.5 +0.0536,21.0,5.64,0,0.439,6.511,21.1,6.8147,4,243,16.8,396.9,5.28,25.0 +0.04981,21.0,5.64,0,0.439,5.998,21.4,6.8147,4,243,16.8,396.9,8.43,23.4 +0.0136,75.0,4.0,0,0.41,5.888,47.6,7.3197,3,469,21.1,396.9,14.8,18.9 +0.01311,90.0,1.22,0,0.403,7.249,21.9,8.6966,5,226,17.9,395.93,4.81,35.4 +0.02055,85.0,0.74,0,0.41,6.383,35.7,9.1876,2,313,17.3,396.9,5.77,24.7 +0.01432,100.0,1.32,0,0.411,6.816,40.5,8.3248,5,256,15.1,392.9,3.95,31.6 +0.15445,25.0,5.13,0,0.453,6.145,29.2,7.8148,8,284,19.7,390.68,6.86,23.3 +0.10328,25.0,5.13,0,0.453,5.927,47.2,6.932,8,284,19.7,396.9,9.22,19.6 +0.14932,25.0,5.13,0,0.453,5.741,66.2,7.2254,8,284,19.7,395.11,13.15,18.7 +0.17171,25.0,5.13,0,0.453,5.966,93.4,6.8185,8,284,19.7,378.08,14.44,16.0 +0.11027,25.0,5.13,0,0.453,6.456,67.8,7.2255,8,284,19.7,396.9,6.73,22.2 +0.1265,25.0,5.13,0,0.453,6.762,43.4,7.9809,8,284,19.7,395.58,9.5,25.0 +0.01951,17.5,1.38,0,0.4161,7.104,59.5,9.2229,3,216,18.6,393.24,8.05,33.0 +0.03584,80.0,3.37,0,0.398,6.29,17.8,6.6115,4,337,16.1,396.9,4.67,23.5 +0.04379,80.0,3.37,0,0.398,5.787,31.1,6.6115,4,337,16.1,396.9,10.24,19.4 +0.05789,12.5,6.07,0,0.409,5.878,21.4,6.498,4,345,18.9,396.21,8.1,22.0 +0.13554,12.5,6.07,0,0.409,5.594,36.8,6.498,4,345,18.9,396.9,13.09,17.4 +0.12816,12.5,6.07,0,0.409,5.885,33.0,6.498,4,345,18.9,396.9,8.79,20.9 +0.08826,0.0,10.81,0,0.413,6.417,6.6,5.2873,4,305,19.2,383.73,6.72,24.2 +0.15876,0.0,10.81,0,0.413,5.961,17.5,5.2873,4,305,19.2,376.94,9.88,21.7 +0.09164,0.0,10.81,0,0.413,6.065,7.8,5.2873,4,305,19.2,390.91,5.52,22.8 +0.19539,0.0,10.81,0,0.413,6.245,6.2,5.2873,4,305,19.2,377.17,7.54,23.4 +0.07896,0.0,12.83,0,0.437,6.273,6.0,4.2515,5,398,18.7,394.92,6.78,24.1 +0.09512,0.0,12.83,0,0.437,6.286,45.0,4.5026,5,398,18.7,383.23,8.94,21.4 +0.10153,0.0,12.83,0,0.437,6.279,74.5,4.0522,5,398,18.7,373.66,11.97,20.0 +0.08707,0.0,12.83,0,0.437,6.14,45.8,4.0905,5,398,18.7,386.96,10.27,20.8 +0.05646,0.0,12.83,0,0.437,6.232,53.7,5.0141,5,398,18.7,386.4,12.34,21.2 +0.08387,0.0,12.83,0,0.437,5.874,36.6,4.5026,5,398,18.7,396.06,9.1,20.3 +0.04113,25.0,4.86,0,0.426,6.727,33.5,5.4007,4,281,19.0,396.9,5.29,28.0 +0.04462,25.0,4.86,0,0.426,6.619,70.4,5.4007,4,281,19.0,395.63,7.22,23.9 +0.03659,25.0,4.86,0,0.426,6.302,32.2,5.4007,4,281,19.0,396.9,6.72,24.8 +0.03551,25.0,4.86,0,0.426,6.167,46.7,5.4007,4,281,19.0,390.64,7.51,22.9 +0.05059,0.0,4.49,0,0.449,6.389,48.0,4.7794,3,247,18.5,396.9,9.62,23.9 +0.05735,0.0,4.49,0,0.449,6.63,56.1,4.4377,3,247,18.5,392.3,6.53,26.6 +0.05188,0.0,4.49,0,0.449,6.015,45.1,4.4272,3,247,18.5,395.99,12.86,22.5 +0.07151,0.0,4.49,0,0.449,6.121,56.8,3.7476,3,247,18.5,395.15,8.44,22.2 +0.0566,0.0,3.41,0,0.489,7.007,86.3,3.4217,2,270,17.8,396.9,5.5,23.6 +0.05302,0.0,3.41,0,0.489,7.079,63.1,3.4145,2,270,17.8,396.06,5.7,28.7 +0.04684,0.0,3.41,0,0.489,6.417,66.1,3.0923,2,270,17.8,392.18,8.81,22.6 +0.03932,0.0,3.41,0,0.489,6.405,73.9,3.0921,2,270,17.8,393.55,8.2,22.0 +0.04203,28.0,15.04,0,0.464,6.442,53.6,3.6659,4,270,18.2,395.01,8.16,22.9 +0.02875,28.0,15.04,0,0.464,6.211,28.9,3.6659,4,270,18.2,396.33,6.21,25.0 +0.04294,28.0,15.04,0,0.464,6.249,77.3,3.615,4,270,18.2,396.9,10.59,20.6 +0.12204,0.0,2.89,0,0.445,6.625,57.8,3.4952,2,276,18.0,357.98,6.65,28.4 +0.11504,0.0,2.89,0,0.445,6.163,69.6,3.4952,2,276,18.0,391.83,11.34,21.4 +0.12083,0.0,2.89,0,0.445,8.069,76.0,3.4952,2,276,18.0,396.9,4.21,38.7 +0.08187,0.0,2.89,0,0.445,7.82,36.9,3.4952,2,276,18.0,393.53,3.57,43.8 +0.0686,0.0,2.89,0,0.445,7.416,62.5,3.4952,2,276,18.0,396.9,6.19,33.2 +0.14866,0.0,8.56,0,0.52,6.727,79.9,2.7778,5,384,20.9,394.76,9.42,27.5 +0.11432,0.0,8.56,0,0.52,6.781,71.3,2.8561,5,384,20.9,395.58,7.67,26.5 +0.22876,0.0,8.56,0,0.52,6.405,85.4,2.7147,5,384,20.9,70.8,10.63,18.6 +0.21161,0.0,8.56,0,0.52,6.137,87.4,2.7147,5,384,20.9,394.47,13.44,19.3 +0.1396,0.0,8.56,0,0.52,6.167,90.0,2.421,5,384,20.9,392.69,12.33,20.1 +0.13262,0.0,8.56,0,0.52,5.851,96.7,2.1069,5,384,20.9,394.05,16.47,19.5 +0.1712,0.0,8.56,0,0.52,5.836,91.9,2.211,5,384,20.9,395.67,18.66,19.5 +0.13117,0.0,8.56,0,0.52,6.127,85.2,2.1224,5,384,20.9,387.69,14.09,20.4 +0.12802,0.0,8.56,0,0.52,6.474,97.1,2.4329,5,384,20.9,395.24,12.27,19.8 +0.26363,0.0,8.56,0,0.52,6.229,91.2,2.5451,5,384,20.9,391.23,15.55,19.4 +0.10793,0.0,8.56,0,0.52,6.195,54.4,2.7778,5,384,20.9,393.49,13.0,21.7 +0.10084,0.0,10.01,0,0.547,6.715,81.6,2.6775,6,432,17.8,395.59,10.16,22.8 +0.12329,0.0,10.01,0,0.547,5.913,92.9,2.3534,6,432,17.8,394.95,16.21,18.8 +0.22212,0.0,10.01,0,0.547,6.092,95.4,2.548,6,432,17.8,396.9,17.09,18.7 +0.14231,0.0,10.01,0,0.547,6.254,84.2,2.2565,6,432,17.8,388.74,10.45,18.5 +0.17134,0.0,10.01,0,0.547,5.928,88.2,2.4631,6,432,17.8,344.91,15.76,18.3 +0.13158,0.0,10.01,0,0.547,6.176,72.5,2.7301,6,432,17.8,393.3,12.04,21.2 +0.15098,0.0,10.01,0,0.547,6.021,82.6,2.7474,6,432,17.8,394.51,10.3,19.2 +0.13058,0.0,10.01,0,0.547,5.872,73.1,2.4775,6,432,17.8,338.63,15.37,20.4 +0.14476,0.0,10.01,0,0.547,5.731,65.2,2.7592,6,432,17.8,391.5,13.61,19.3 +0.06899,0.0,25.65,0,0.581,5.87,69.7,2.2577,2,188,19.1,389.15,14.37,22.0 +0.07165,0.0,25.65,0,0.581,6.004,84.1,2.1974,2,188,19.1,377.67,14.27,20.3 +0.09299,0.0,25.65,0,0.581,5.961,92.9,2.0869,2,188,19.1,378.09,17.93,20.5 +0.15038,0.0,25.65,0,0.581,5.856,97.0,1.9444,2,188,19.1,370.31,25.41,17.3 +0.09849,0.0,25.65,0,0.581,5.879,95.8,2.0063,2,188,19.1,379.38,17.58,18.8 +0.16902,0.0,25.65,0,0.581,5.986,88.4,1.9929,2,188,19.1,385.02,14.81,21.4 +0.38735,0.0,25.65,0,0.581,5.613,95.6,1.7572,2,188,19.1,359.29,27.26,15.7 +0.25915,0.0,21.89,0,0.624,5.693,96.0,1.7883,4,437,21.2,392.11,17.19,16.2 +0.32543,0.0,21.89,0,0.624,6.431,98.8,1.8125,4,437,21.2,396.9,15.39,18.0 +0.88125,0.0,21.89,0,0.624,5.637,94.7,1.9799,4,437,21.2,396.9,18.34,14.3 +0.34006,0.0,21.89,0,0.624,6.458,98.9,2.1185,4,437,21.2,395.04,12.6,19.2 +1.19294,0.0,21.89,0,0.624,6.326,97.7,2.271,4,437,21.2,396.9,12.26,19.6 +0.59005,0.0,21.89,0,0.624,6.372,97.9,2.3274,4,437,21.2,385.76,11.12,23.0 +0.32982,0.0,21.89,0,0.624,5.822,95.4,2.4699,4,437,21.2,388.69,15.03,18.4 +0.97617,0.0,21.89,0,0.624,5.757,98.4,2.346,4,437,21.2,262.76,17.31,15.6 +0.55778,0.0,21.89,0,0.624,6.335,98.2,2.1107,4,437,21.2,394.67,16.96,18.1 +0.32264,0.0,21.89,0,0.624,5.942,93.5,1.9669,4,437,21.2,378.25,16.9,17.4 +0.35233,0.0,21.89,0,0.624,6.454,98.4,1.8498,4,437,21.2,394.08,14.59,17.1 +0.2498,0.0,21.89,0,0.624,5.857,98.2,1.6686,4,437,21.2,392.04,21.32,13.3 +0.54452,0.0,21.89,0,0.624,6.151,97.9,1.6687,4,437,21.2,396.9,18.46,17.8 +0.2909,0.0,21.89,0,0.624,6.174,93.6,1.6119,4,437,21.2,388.08,24.16,14.0 +1.62864,0.0,21.89,0,0.624,5.019,100.0,1.4394,4,437,21.2,396.9,34.41,14.4 +3.32105,0.0,19.58,1,0.871,5.403,100.0,1.3216,5,403,14.7,396.9,26.82,13.4 +4.0974,0.0,19.58,0,0.871,5.468,100.0,1.4118,5,403,14.7,396.9,26.42,15.6 +2.77974,0.0,19.58,0,0.871,4.903,97.8,1.3459,5,403,14.7,396.9,29.29,11.8 +2.37934,0.0,19.58,0,0.871,6.13,100.0,1.4191,5,403,14.7,172.91,27.8,13.8 +2.15505,0.0,19.58,0,0.871,5.628,100.0,1.5166,5,403,14.7,169.27,16.65,15.6 +2.36862,0.0,19.58,0,0.871,4.926,95.7,1.4608,5,403,14.7,391.71,29.53,14.6 +2.33099,0.0,19.58,0,0.871,5.186,93.8,1.5296,5,403,14.7,356.99,28.32,17.8 +2.73397,0.0,19.58,0,0.871,5.597,94.9,1.5257,5,403,14.7,351.85,21.45,15.4 +1.6566,0.0,19.58,0,0.871,6.122,97.3,1.618,5,403,14.7,372.8,14.1,21.5 +1.49632,0.0,19.58,0,0.871,5.404,100.0,1.5916,5,403,14.7,341.6,13.28,19.6 +1.12658,0.0,19.58,1,0.871,5.012,88.0,1.6102,5,403,14.7,343.28,12.12,15.3 +2.14918,0.0,19.58,0,0.871,5.709,98.5,1.6232,5,403,14.7,261.95,15.79,19.4 +1.41385,0.0,19.58,1,0.871,6.129,96.0,1.7494,5,403,14.7,321.02,15.12,17.0 +3.53501,0.0,19.58,1,0.871,6.152,82.6,1.7455,5,403,14.7,88.01,15.02,15.6 +2.44668,0.0,19.58,0,0.871,5.272,94.0,1.7364,5,403,14.7,88.63,16.14,13.1 +1.22358,0.0,19.58,0,0.605,6.943,97.4,1.8773,5,403,14.7,363.43,4.59,41.3 +1.34284,0.0,19.58,0,0.605,6.066,100.0,1.7573,5,403,14.7,353.89,6.43,24.3 +1.42502,0.0,19.58,0,0.871,6.51,100.0,1.7659,5,403,14.7,364.31,7.39,23.3 +1.27346,0.0,19.58,1,0.605,6.25,92.6,1.7984,5,403,14.7,338.92,5.5,27.0 +1.46336,0.0,19.58,0,0.605,7.489,90.8,1.9709,5,403,14.7,374.43,1.73,50.0 +1.83377,0.0,19.58,1,0.605,7.802,98.2,2.0407,5,403,14.7,389.61,1.92,50.0 +1.51902,0.0,19.58,1,0.605,8.375,93.9,2.162,5,403,14.7,388.45,3.32,50.0 +2.24236,0.0,19.58,0,0.605,5.854,91.8,2.422,5,403,14.7,395.11,11.64,22.7 +2.924,0.0,19.58,0,0.605,6.101,93.0,2.2834,5,403,14.7,240.16,9.81,25.0 +2.01019,0.0,19.58,0,0.605,7.929,96.2,2.0459,5,403,14.7,369.3,3.7,50.0 +1.80028,0.0,19.58,0,0.605,5.877,79.2,2.4259,5,403,14.7,227.61,12.14,23.8 +2.3004,0.0,19.58,0,0.605,6.319,96.1,2.1,5,403,14.7,297.09,11.1,23.8 +2.44953,0.0,19.58,0,0.605,6.402,95.2,2.2625,5,403,14.7,330.04,11.32,22.3 +1.20742,0.0,19.58,0,0.605,5.875,94.6,2.4259,5,403,14.7,292.29,14.43,17.4 +2.3139,0.0,19.58,0,0.605,5.88,97.3,2.3887,5,403,14.7,348.13,12.03,19.1 +0.13914,0.0,4.05,0,0.51,5.572,88.5,2.5961,5,296,16.6,396.9,14.69,23.1 +0.09178,0.0,4.05,0,0.51,6.416,84.1,2.6463,5,296,16.6,395.5,9.04,23.6 +0.08447,0.0,4.05,0,0.51,5.859,68.7,2.7019,5,296,16.6,393.23,9.64,22.6 +0.06664,0.0,4.05,0,0.51,6.546,33.1,3.1323,5,296,16.6,390.96,5.33,29.4 +0.07022,0.0,4.05,0,0.51,6.02,47.2,3.5549,5,296,16.6,393.23,10.11,23.2 +0.05425,0.0,4.05,0,0.51,6.315,73.4,3.3175,5,296,16.6,395.6,6.29,24.6 +0.06642,0.0,4.05,0,0.51,6.86,74.4,2.9153,5,296,16.6,391.27,6.92,29.9 +0.0578,0.0,2.46,0,0.488,6.98,58.4,2.829,3,193,17.8,396.9,5.04,37.2 +0.06588,0.0,2.46,0,0.488,7.765,83.3,2.741,3,193,17.8,395.56,7.56,39.8 +0.06888,0.0,2.46,0,0.488,6.144,62.2,2.5979,3,193,17.8,396.9,9.45,36.2 +0.09103,0.0,2.46,0,0.488,7.155,92.2,2.7006,3,193,17.8,394.12,4.82,37.9 +0.10008,0.0,2.46,0,0.488,6.563,95.6,2.847,3,193,17.8,396.9,5.68,32.5 +0.08308,0.0,2.46,0,0.488,5.604,89.8,2.9879,3,193,17.8,391.0,13.98,26.4 +0.06047,0.0,2.46,0,0.488,6.153,68.8,3.2797,3,193,17.8,387.11,13.15,29.6 +0.05602,0.0,2.46,0,0.488,7.831,53.6,3.1992,3,193,17.8,392.63,4.45,50.0 +0.07875,45.0,3.44,0,0.437,6.782,41.1,3.7886,5,398,15.2,393.87,6.68,32.0 +0.12579,45.0,3.44,0,0.437,6.556,29.1,4.5667,5,398,15.2,382.84,4.56,29.8 +0.0837,45.0,3.44,0,0.437,7.185,38.9,4.5667,5,398,15.2,396.9,5.39,34.9 +0.09068,45.0,3.44,0,0.437,6.951,21.5,6.4798,5,398,15.2,377.68,5.1,37.0 +0.06911,45.0,3.44,0,0.437,6.739,30.8,6.4798,5,398,15.2,389.71,4.69,30.5 +0.08664,45.0,3.44,0,0.437,7.178,26.3,6.4798,5,398,15.2,390.49,2.87,36.4 +0.02187,60.0,2.93,0,0.401,6.8,9.9,6.2196,1,265,15.6,393.37,5.03,31.1 +0.01439,60.0,2.93,0,0.401,6.604,18.8,6.2196,1,265,15.6,376.7,4.38,29.1 +0.01381,80.0,0.46,0,0.422,7.875,32.0,5.6484,4,255,14.4,394.23,2.97,50.0 +0.04011,80.0,1.52,0,0.404,7.287,34.1,7.309,2,329,12.6,396.9,4.08,33.3 +0.04666,80.0,1.52,0,0.404,7.107,36.6,7.309,2,329,12.6,354.31,8.61,30.3 +0.03768,80.0,1.52,0,0.404,7.274,38.3,7.309,2,329,12.6,392.2,6.62,34.6 +0.0315,95.0,1.47,0,0.403,6.975,15.3,7.6534,3,402,17.0,396.9,4.56,34.9 +0.01778,95.0,1.47,0,0.403,7.135,13.9,7.6534,3,402,17.0,384.3,4.45,32.9 +0.03445,82.5,2.03,0,0.415,6.162,38.4,6.27,2,348,14.7,393.77,7.43,24.1 +0.02177,82.5,2.03,0,0.415,7.61,15.7,6.27,2,348,14.7,395.38,3.11,42.3 +0.0351,95.0,2.68,0,0.4161,7.853,33.2,5.118,4,224,14.7,392.78,3.81,48.5 +0.02009,95.0,2.68,0,0.4161,8.034,31.9,5.118,4,224,14.7,390.55,2.88,50.0 +0.13642,0.0,10.59,0,0.489,5.891,22.3,3.9454,4,277,18.6,396.9,10.87,22.6 +0.22969,0.0,10.59,0,0.489,6.326,52.5,4.3549,4,277,18.6,394.87,10.97,24.4 +0.25199,0.0,10.59,0,0.489,5.783,72.7,4.3549,4,277,18.6,389.43,18.06,22.5 +0.13587,0.0,10.59,1,0.489,6.064,59.1,4.2392,4,277,18.6,381.32,14.66,24.4 +0.43571,0.0,10.59,1,0.489,5.344,100.0,3.875,4,277,18.6,396.9,23.09,20.0 +0.17446,0.0,10.59,1,0.489,5.96,92.1,3.8771,4,277,18.6,393.25,17.27,21.7 +0.37578,0.0,10.59,1,0.489,5.404,88.6,3.665,4,277,18.6,395.24,23.98,19.3 +0.21719,0.0,10.59,1,0.489,5.807,53.8,3.6526,4,277,18.6,390.94,16.03,22.4 +0.14052,0.0,10.59,0,0.489,6.375,32.3,3.9454,4,277,18.6,385.81,9.38,28.1 +0.28955,0.0,10.59,0,0.489,5.412,9.8,3.5875,4,277,18.6,348.93,29.55,23.7 +0.19802,0.0,10.59,0,0.489,6.182,42.4,3.9454,4,277,18.6,393.63,9.47,25.0 +0.0456,0.0,13.89,1,0.55,5.888,56.0,3.1121,5,276,16.4,392.8,13.51,23.3 +0.07013,0.0,13.89,0,0.55,6.642,85.1,3.4211,5,276,16.4,392.78,9.69,28.7 +0.11069,0.0,13.89,1,0.55,5.951,93.8,2.8893,5,276,16.4,396.9,17.92,21.5 +0.11425,0.0,13.89,1,0.55,6.373,92.4,3.3633,5,276,16.4,393.74,10.5,23.0 +0.35809,0.0,6.2,1,0.507,6.951,88.5,2.8617,8,307,17.4,391.7,9.71,26.7 +0.40771,0.0,6.2,1,0.507,6.164,91.3,3.048,8,307,17.4,395.24,21.46,21.7 +0.62356,0.0,6.2,1,0.507,6.879,77.7,3.2721,8,307,17.4,390.39,9.93,27.5 +0.6147,0.0,6.2,0,0.507,6.618,80.8,3.2721,8,307,17.4,396.9,7.6,30.1 +0.31533,0.0,6.2,0,0.504,8.266,78.3,2.8944,8,307,17.4,385.05,4.14,44.8 +0.52693,0.0,6.2,0,0.504,8.725,83.0,2.8944,8,307,17.4,382.0,4.63,50.0 +0.38214,0.0,6.2,0,0.504,8.04,86.5,3.2157,8,307,17.4,387.38,3.13,37.6 +0.41238,0.0,6.2,0,0.504,7.163,79.9,3.2157,8,307,17.4,372.08,6.36,31.6 +0.29819,0.0,6.2,0,0.504,7.686,17.0,3.3751,8,307,17.4,377.51,3.92,46.7 +0.44178,0.0,6.2,0,0.504,6.552,21.4,3.3751,8,307,17.4,380.34,3.76,31.5 +0.537,0.0,6.2,0,0.504,5.981,68.1,3.6715,8,307,17.4,378.35,11.65,24.3 +0.46296,0.0,6.2,0,0.504,7.412,76.9,3.6715,8,307,17.4,376.14,5.25,31.7 +0.57529,0.0,6.2,0,0.507,8.337,73.3,3.8384,8,307,17.4,385.91,2.47,41.7 +0.33147,0.0,6.2,0,0.507,8.247,70.4,3.6519,8,307,17.4,378.95,3.95,48.3 +0.44791,0.0,6.2,1,0.507,6.726,66.5,3.6519,8,307,17.4,360.2,8.05,29.0 +0.33045,0.0,6.2,0,0.507,6.086,61.5,3.6519,8,307,17.4,376.75,10.88,24.0 +0.52058,0.0,6.2,1,0.507,6.631,76.5,4.148,8,307,17.4,388.45,9.54,25.1 +0.51183,0.0,6.2,0,0.507,7.358,71.6,4.148,8,307,17.4,390.07,4.73,31.5 +0.08244,30.0,4.93,0,0.428,6.481,18.5,6.1899,6,300,16.6,379.41,6.36,23.7 +0.09252,30.0,4.93,0,0.428,6.606,42.2,6.1899,6,300,16.6,383.78,7.37,23.3 +0.11329,30.0,4.93,0,0.428,6.897,54.3,6.3361,6,300,16.6,391.25,11.38,22.0 +0.10612,30.0,4.93,0,0.428,6.095,65.1,6.3361,6,300,16.6,394.62,12.4,20.1 +0.1029,30.0,4.93,0,0.428,6.358,52.9,7.0355,6,300,16.6,372.75,11.22,22.2 +0.12757,30.0,4.93,0,0.428,6.393,7.8,7.0355,6,300,16.6,374.71,5.19,23.7 +0.20608,22.0,5.86,0,0.431,5.593,76.5,7.9549,7,330,19.1,372.49,12.5,17.6 +0.19133,22.0,5.86,0,0.431,5.605,70.2,7.9549,7,330,19.1,389.13,18.46,18.5 +0.33983,22.0,5.86,0,0.431,6.108,34.9,8.0555,7,330,19.1,390.18,9.16,24.3 +0.19657,22.0,5.86,0,0.431,6.226,79.2,8.0555,7,330,19.1,376.14,10.15,20.5 +0.16439,22.0,5.86,0,0.431,6.433,49.1,7.8265,7,330,19.1,374.71,9.52,24.5 +0.19073,22.0,5.86,0,0.431,6.718,17.5,7.8265,7,330,19.1,393.74,6.56,26.2 +0.1403,22.0,5.86,0,0.431,6.487,13.0,7.3967,7,330,19.1,396.28,5.9,24.4 +0.21409,22.0,5.86,0,0.431,6.438,8.9,7.3967,7,330,19.1,377.07,3.59,24.8 +0.08221,22.0,5.86,0,0.431,6.957,6.8,8.9067,7,330,19.1,386.09,3.53,29.6 +0.36894,22.0,5.86,0,0.431,8.259,8.4,8.9067,7,330,19.1,396.9,3.54,42.8 +0.04819,80.0,3.64,0,0.392,6.108,32.0,9.2203,1,315,16.4,392.89,6.57,21.9 +0.03548,80.0,3.64,0,0.392,5.876,19.1,9.2203,1,315,16.4,395.18,9.25,20.9 +0.01538,90.0,3.75,0,0.394,7.454,34.2,6.3361,3,244,15.9,386.34,3.11,44.0 +0.61154,20.0,3.97,0,0.647,8.704,86.9,1.801,5,264,13.0,389.7,5.12,50.0 +0.66351,20.0,3.97,0,0.647,7.333,100.0,1.8946,5,264,13.0,383.29,7.79,36.0 +0.65665,20.0,3.97,0,0.647,6.842,100.0,2.0107,5,264,13.0,391.93,6.9,30.1 +0.54011,20.0,3.97,0,0.647,7.203,81.8,2.1121,5,264,13.0,392.8,9.59,33.8 +0.53412,20.0,3.97,0,0.647,7.52,89.4,2.1398,5,264,13.0,388.37,7.26,43.1 +0.52014,20.0,3.97,0,0.647,8.398,91.5,2.2885,5,264,13.0,386.86,5.91,48.8 +0.82526,20.0,3.97,0,0.647,7.327,94.5,2.0788,5,264,13.0,393.42,11.25,31.0 +0.55007,20.0,3.97,0,0.647,7.206,91.6,1.9301,5,264,13.0,387.89,8.1,36.5 +0.76162,20.0,3.97,0,0.647,5.56,62.8,1.9865,5,264,13.0,392.4,10.45,22.8 +0.7857,20.0,3.97,0,0.647,7.014,84.6,2.1329,5,264,13.0,384.07,14.79,30.7 +0.57834,20.0,3.97,0,0.575,8.297,67.0,2.4216,5,264,13.0,384.54,7.44,50.0 +0.5405,20.0,3.97,0,0.575,7.47,52.6,2.872,5,264,13.0,390.3,3.16,43.5 +0.09065,20.0,6.96,1,0.464,5.92,61.5,3.9175,3,223,18.6,391.34,13.65,20.7 +0.29916,20.0,6.96,0,0.464,5.856,42.1,4.429,3,223,18.6,388.65,13.0,21.1 +0.16211,20.0,6.96,0,0.464,6.24,16.3,4.429,3,223,18.6,396.9,6.59,25.2 +0.1146,20.0,6.96,0,0.464,6.538,58.7,3.9175,3,223,18.6,394.96,7.73,24.4 +0.22188,20.0,6.96,1,0.464,7.691,51.8,4.3665,3,223,18.6,390.77,6.58,35.2 +0.05644,40.0,6.41,1,0.447,6.758,32.9,4.0776,4,254,17.6,396.9,3.53,32.4 +0.09604,40.0,6.41,0,0.447,6.854,42.8,4.2673,4,254,17.6,396.9,2.98,32.0 +0.10469,40.0,6.41,1,0.447,7.267,49.0,4.7872,4,254,17.6,389.25,6.05,33.2 +0.06127,40.0,6.41,1,0.447,6.826,27.6,4.8628,4,254,17.6,393.45,4.16,33.1 +0.07978,40.0,6.41,0,0.447,6.482,32.1,4.1403,4,254,17.6,396.9,7.19,29.1 +0.21038,20.0,3.33,0,0.4429,6.812,32.2,4.1007,5,216,14.9,396.9,4.85,35.1 +0.03578,20.0,3.33,0,0.4429,7.82,64.5,4.6947,5,216,14.9,387.31,3.76,45.4 +0.03705,20.0,3.33,0,0.4429,6.968,37.2,5.2447,5,216,14.9,392.23,4.59,35.4 +0.06129,20.0,3.33,1,0.4429,7.645,49.7,5.2119,5,216,14.9,377.07,3.01,46.0 +0.01501,90.0,1.21,1,0.401,7.923,24.8,5.885,1,198,13.6,395.52,3.16,50.0 +0.00906,90.0,2.97,0,0.4,7.088,20.8,7.3073,1,285,15.3,394.72,7.85,32.2 +0.01096,55.0,2.25,0,0.389,6.453,31.9,7.3073,1,300,15.3,394.72,8.23,22.0 +0.01965,80.0,1.76,0,0.385,6.23,31.5,9.0892,1,241,18.2,341.6,12.93,20.1 +0.03871,52.5,5.32,0,0.405,6.209,31.3,7.3172,6,293,16.6,396.9,7.14,23.2 +0.0459,52.5,5.32,0,0.405,6.315,45.6,7.3172,6,293,16.6,396.9,7.6,22.3 +0.04297,52.5,5.32,0,0.405,6.565,22.9,7.3172,6,293,16.6,371.72,9.51,24.8 +0.03502,80.0,4.95,0,0.411,6.861,27.9,5.1167,4,245,19.2,396.9,3.33,28.5 +0.07886,80.0,4.95,0,0.411,7.148,27.7,5.1167,4,245,19.2,396.9,3.56,37.3 +0.03615,80.0,4.95,0,0.411,6.63,23.4,5.1167,4,245,19.2,396.9,4.7,27.9 +0.08265,0.0,13.92,0,0.437,6.127,18.4,5.5027,4,289,16.0,396.9,8.58,23.9 +0.08199,0.0,13.92,0,0.437,6.009,42.3,5.5027,4,289,16.0,396.9,10.4,21.7 +0.12932,0.0,13.92,0,0.437,6.678,31.1,5.9604,4,289,16.0,396.9,6.27,28.6 +0.05372,0.0,13.92,0,0.437,6.549,51.0,5.9604,4,289,16.0,392.85,7.39,27.1 +0.14103,0.0,13.92,0,0.437,5.79,58.0,6.32,4,289,16.0,396.9,15.84,20.3 +0.06466,70.0,2.24,0,0.4,6.345,20.1,7.8278,5,358,14.8,368.24,4.97,22.5 +0.05561,70.0,2.24,0,0.4,7.041,10.0,7.8278,5,358,14.8,371.58,4.74,29.0 +0.04417,70.0,2.24,0,0.4,6.871,47.4,7.8278,5,358,14.8,390.86,6.07,24.8 +0.03537,34.0,6.09,0,0.433,6.59,40.4,5.4917,7,329,16.1,395.75,9.5,22.0 +0.09266,34.0,6.09,0,0.433,6.495,18.4,5.4917,7,329,16.1,383.61,8.67,26.4 +0.1,34.0,6.09,0,0.433,6.982,17.7,5.4917,7,329,16.1,390.43,4.86,33.1 +0.05515,33.0,2.18,0,0.472,7.236,41.1,4.022,7,222,18.4,393.68,6.93,36.1 +0.05479,33.0,2.18,0,0.472,6.616,58.1,3.37,7,222,18.4,393.36,8.93,28.4 +0.07503,33.0,2.18,0,0.472,7.42,71.9,3.0992,7,222,18.4,396.9,6.47,33.4 +0.04932,33.0,2.18,0,0.472,6.849,70.3,3.1827,7,222,18.4,396.9,7.53,28.2 +0.49298,0.0,9.9,0,0.544,6.635,82.5,3.3175,4,304,18.4,396.9,4.54,22.8 +0.3494,0.0,9.9,0,0.544,5.972,76.7,3.1025,4,304,18.4,396.24,9.97,20.3 +2.63548,0.0,9.9,0,0.544,4.973,37.8,2.5194,4,304,18.4,350.45,12.64,16.1 +0.79041,0.0,9.9,0,0.544,6.122,52.8,2.6403,4,304,18.4,396.9,5.98,22.1 +0.26169,0.0,9.9,0,0.544,6.023,90.4,2.834,4,304,18.4,396.3,11.72,19.4 +0.26938,0.0,9.9,0,0.544,6.266,82.8,3.2628,4,304,18.4,393.39,7.9,21.6 +0.3692,0.0,9.9,0,0.544,6.567,87.3,3.6023,4,304,18.4,395.69,9.28,23.8 +0.25356,0.0,9.9,0,0.544,5.705,77.7,3.945,4,304,18.4,396.42,11.5,16.2 +0.31827,0.0,9.9,0,0.544,5.914,83.2,3.9986,4,304,18.4,390.7,18.33,17.8 +0.24522,0.0,9.9,0,0.544,5.782,71.7,4.0317,4,304,18.4,396.9,15.94,19.8 +0.40202,0.0,9.9,0,0.544,6.382,67.2,3.5325,4,304,18.4,395.21,10.36,23.1 +0.47547,0.0,9.9,0,0.544,6.113,58.8,4.0019,4,304,18.4,396.23,12.73,21.0 +0.1676,0.0,7.38,0,0.493,6.426,52.3,4.5404,5,287,19.6,396.9,7.2,23.8 +0.18159,0.0,7.38,0,0.493,6.376,54.3,4.5404,5,287,19.6,396.9,6.87,23.1 +0.35114,0.0,7.38,0,0.493,6.041,49.9,4.7211,5,287,19.6,396.9,7.7,20.4 +0.28392,0.0,7.38,0,0.493,5.708,74.3,4.7211,5,287,19.6,391.13,11.74,18.5 +0.34109,0.0,7.38,0,0.493,6.415,40.1,4.7211,5,287,19.6,396.9,6.12,25.0 +0.19186,0.0,7.38,0,0.493,6.431,14.7,5.4159,5,287,19.6,393.68,5.08,24.6 +0.30347,0.0,7.38,0,0.493,6.312,28.9,5.4159,5,287,19.6,396.9,6.15,23.0 +0.24103,0.0,7.38,0,0.493,6.083,43.7,5.4159,5,287,19.6,396.9,12.79,22.2 +0.06617,0.0,3.24,0,0.46,5.868,25.8,5.2146,4,430,16.9,382.44,9.97,19.3 +0.06724,0.0,3.24,0,0.46,6.333,17.2,5.2146,4,430,16.9,375.21,7.34,22.6 +0.04544,0.0,3.24,0,0.46,6.144,32.2,5.8736,4,430,16.9,368.57,9.09,19.8 +0.05023,35.0,6.06,0,0.4379,5.706,28.4,6.6407,1,304,16.9,394.02,12.43,17.1 +0.03466,35.0,6.06,0,0.4379,6.031,23.3,6.6407,1,304,16.9,362.25,7.83,19.4 +0.05083,0.0,5.19,0,0.515,6.316,38.1,6.4584,5,224,20.2,389.71,5.68,22.2 +0.03738,0.0,5.19,0,0.515,6.31,38.5,6.4584,5,224,20.2,389.4,6.75,20.7 +0.03961,0.0,5.19,0,0.515,6.037,34.5,5.9853,5,224,20.2,396.9,8.01,21.1 +0.03427,0.0,5.19,0,0.515,5.869,46.3,5.2311,5,224,20.2,396.9,9.8,19.5 +0.03041,0.0,5.19,0,0.515,5.895,59.6,5.615,5,224,20.2,394.81,10.56,18.5 +0.03306,0.0,5.19,0,0.515,6.059,37.3,4.8122,5,224,20.2,396.14,8.51,20.6 +0.05497,0.0,5.19,0,0.515,5.985,45.4,4.8122,5,224,20.2,396.9,9.74,19.0 +0.06151,0.0,5.19,0,0.515,5.968,58.5,4.8122,5,224,20.2,396.9,9.29,18.7 +0.01301,35.0,1.52,0,0.442,7.241,49.3,7.0379,1,284,15.5,394.74,5.49,32.7 +0.02498,0.0,1.89,0,0.518,6.54,59.7,6.2669,1,422,15.9,389.96,8.65,16.5 +0.02543,55.0,3.78,0,0.484,6.696,56.4,5.7321,5,370,17.6,396.9,7.18,23.9 +0.03049,55.0,3.78,0,0.484,6.874,28.1,6.4654,5,370,17.6,387.97,4.61,31.2 +0.03113,0.0,4.39,0,0.442,6.014,48.5,8.0136,3,352,18.8,385.64,10.53,17.5 +0.06162,0.0,4.39,0,0.442,5.898,52.3,8.0136,3,352,18.8,364.61,12.67,17.2 +0.0187,85.0,4.15,0,0.429,6.516,27.7,8.5353,4,351,17.9,392.43,6.36,23.1 +0.01501,80.0,2.01,0,0.435,6.635,29.7,8.344,4,280,17.0,390.94,5.99,24.5 +0.02899,40.0,1.25,0,0.429,6.939,34.5,8.7921,1,335,19.7,389.85,5.89,26.6 +0.06211,40.0,1.25,0,0.429,6.49,44.4,8.7921,1,335,19.7,396.9,5.98,22.9 +0.0795,60.0,1.69,0,0.411,6.579,35.9,10.7103,4,411,18.3,370.78,5.49,24.1 +0.07244,60.0,1.69,0,0.411,5.884,18.5,10.7103,4,411,18.3,392.33,7.79,18.6 +0.01709,90.0,2.02,0,0.41,6.728,36.1,12.1265,5,187,17.0,384.46,4.5,30.1 +0.04301,80.0,1.91,0,0.413,5.663,21.9,10.5857,4,334,22.0,382.8,8.05,18.2 +0.10659,80.0,1.91,0,0.413,5.936,19.5,10.5857,4,334,22.0,376.04,5.57,20.6 +8.98296,0.0,18.1,1,0.77,6.212,97.4,2.1222,24,666,20.2,377.73,17.6,17.8 +3.8497,0.0,18.1,1,0.77,6.395,91.0,2.5052,24,666,20.2,391.34,13.27,21.7 +5.20177,0.0,18.1,1,0.77,6.127,83.4,2.7227,24,666,20.2,395.43,11.48,22.7 +4.26131,0.0,18.1,0,0.77,6.112,81.3,2.5091,24,666,20.2,390.74,12.67,22.6 +4.54192,0.0,18.1,0,0.77,6.398,88.0,2.5182,24,666,20.2,374.56,7.79,25.0 +3.83684,0.0,18.1,0,0.77,6.251,91.1,2.2955,24,666,20.2,350.65,14.19,19.9 +3.67822,0.0,18.1,0,0.77,5.362,96.2,2.1036,24,666,20.2,380.79,10.19,20.8 +4.22239,0.0,18.1,1,0.77,5.803,89.0,1.9047,24,666,20.2,353.04,14.64,16.8 +3.47428,0.0,18.1,1,0.718,8.78,82.9,1.9047,24,666,20.2,354.55,5.29,21.9 +4.55587,0.0,18.1,0,0.718,3.561,87.9,1.6132,24,666,20.2,354.7,7.12,27.5 +3.69695,0.0,18.1,0,0.718,4.963,91.4,1.7523,24,666,20.2,316.03,14.0,21.9 +13.5222,0.0,18.1,0,0.631,3.863,100.0,1.5106,24,666,20.2,131.42,13.33,23.1 +4.89822,0.0,18.1,0,0.631,4.97,100.0,1.3325,24,666,20.2,375.52,3.26,50.0 +5.66998,0.0,18.1,1,0.631,6.683,96.8,1.3567,24,666,20.2,375.33,3.73,50.0 +6.53876,0.0,18.1,1,0.631,7.016,97.5,1.2024,24,666,20.2,392.05,2.96,50.0 +9.2323,0.0,18.1,0,0.631,6.216,100.0,1.1691,24,666,20.2,366.15,9.53,50.0 +8.26725,0.0,18.1,1,0.668,5.875,89.6,1.1296,24,666,20.2,347.88,8.88,50.0 +11.1081,0.0,18.1,0,0.668,4.906,100.0,1.1742,24,666,20.2,396.9,34.77,13.8 +18.4982,0.0,18.1,0,0.668,4.138,100.0,1.137,24,666,20.2,396.9,37.97,13.8 +19.6091,0.0,18.1,0,0.671,7.313,97.9,1.3163,24,666,20.2,396.9,13.44,15.0 +15.288,0.0,18.1,0,0.671,6.649,93.3,1.3449,24,666,20.2,363.02,23.24,13.9 +9.82349,0.0,18.1,0,0.671,6.794,98.8,1.358,24,666,20.2,396.9,21.24,13.3 +23.6482,0.0,18.1,0,0.671,6.38,96.2,1.3861,24,666,20.2,396.9,23.69,13.1 +17.8667,0.0,18.1,0,0.671,6.223,100.0,1.3861,24,666,20.2,393.74,21.78,10.2 +88.9762,0.0,18.1,0,0.671,6.968,91.9,1.4165,24,666,20.2,396.9,17.21,10.4 +15.8744,0.0,18.1,0,0.671,6.545,99.1,1.5192,24,666,20.2,396.9,21.08,10.9 +9.18702,0.0,18.1,0,0.7,5.536,100.0,1.5804,24,666,20.2,396.9,23.6,11.3 +7.99248,0.0,18.1,0,0.7,5.52,100.0,1.5331,24,666,20.2,396.9,24.56,12.3 +20.0849,0.0,18.1,0,0.7,4.368,91.2,1.4395,24,666,20.2,285.83,30.63,8.8 +16.8118,0.0,18.1,0,0.7,5.277,98.1,1.4261,24,666,20.2,396.9,30.81,7.2 +24.3938,0.0,18.1,0,0.7,4.652,100.0,1.4672,24,666,20.2,396.9,28.28,10.5 +22.5971,0.0,18.1,0,0.7,5.0,89.5,1.5184,24,666,20.2,396.9,31.99,7.4 +14.3337,0.0,18.1,0,0.7,4.88,100.0,1.5895,24,666,20.2,372.92,30.62,10.2 +8.15174,0.0,18.1,0,0.7,5.39,98.9,1.7281,24,666,20.2,396.9,20.85,11.5 +6.96215,0.0,18.1,0,0.7,5.713,97.0,1.9265,24,666,20.2,394.43,17.11,15.1 +5.29305,0.0,18.1,0,0.7,6.051,82.5,2.1678,24,666,20.2,378.38,18.76,23.2 +11.5779,0.0,18.1,0,0.7,5.036,97.0,1.77,24,666,20.2,396.9,25.68,9.7 +8.64476,0.0,18.1,0,0.693,6.193,92.6,1.7912,24,666,20.2,396.9,15.17,13.8 +13.3598,0.0,18.1,0,0.693,5.887,94.7,1.7821,24,666,20.2,396.9,16.35,12.7 +8.71675,0.0,18.1,0,0.693,6.471,98.8,1.7257,24,666,20.2,391.98,17.12,13.1 +5.87205,0.0,18.1,0,0.693,6.405,96.0,1.6768,24,666,20.2,396.9,19.37,12.5 +7.67202,0.0,18.1,0,0.693,5.747,98.9,1.6334,24,666,20.2,393.1,19.92,8.5 +38.3518,0.0,18.1,0,0.693,5.453,100.0,1.4896,24,666,20.2,396.9,30.59,5.0 +9.91655,0.0,18.1,0,0.693,5.852,77.8,1.5004,24,666,20.2,338.16,29.97,6.3 +25.0461,0.0,18.1,0,0.693,5.987,100.0,1.5888,24,666,20.2,396.9,26.77,5.6 +14.2362,0.0,18.1,0,0.693,6.343,100.0,1.5741,24,666,20.2,396.9,20.32,7.2 +9.59571,0.0,18.1,0,0.693,6.404,100.0,1.639,24,666,20.2,376.11,20.31,12.1 +24.8017,0.0,18.1,0,0.693,5.349,96.0,1.7028,24,666,20.2,396.9,19.77,8.3 +41.5292,0.0,18.1,0,0.693,5.531,85.4,1.6074,24,666,20.2,329.46,27.38,8.5 +67.9208,0.0,18.1,0,0.693,5.683,100.0,1.4254,24,666,20.2,384.97,22.98,5.0 +20.7162,0.0,18.1,0,0.659,4.138,100.0,1.1781,24,666,20.2,370.22,23.34,11.9 +11.9511,0.0,18.1,0,0.659,5.608,100.0,1.2852,24,666,20.2,332.09,12.13,27.9 +7.40389,0.0,18.1,0,0.597,5.617,97.9,1.4547,24,666,20.2,314.64,26.4,17.2 +14.4383,0.0,18.1,0,0.597,6.852,100.0,1.4655,24,666,20.2,179.36,19.78,27.5 +51.1358,0.0,18.1,0,0.597,5.757,100.0,1.413,24,666,20.2,2.6,10.11,15.0 +14.0507,0.0,18.1,0,0.597,6.657,100.0,1.5275,24,666,20.2,35.05,21.22,17.2 +18.811,0.0,18.1,0,0.597,4.628,100.0,1.5539,24,666,20.2,28.79,34.37,17.9 +28.6558,0.0,18.1,0,0.597,5.155,100.0,1.5894,24,666,20.2,210.97,20.08,16.3 +45.7461,0.0,18.1,0,0.693,4.519,100.0,1.6582,24,666,20.2,88.27,36.98,7.0 +18.0846,0.0,18.1,0,0.679,6.434,100.0,1.8347,24,666,20.2,27.25,29.05,7.2 +10.8342,0.0,18.1,0,0.679,6.782,90.8,1.8195,24,666,20.2,21.57,25.79,7.5 +25.9406,0.0,18.1,0,0.679,5.304,89.1,1.6475,24,666,20.2,127.36,26.64,10.4 +73.5341,0.0,18.1,0,0.679,5.957,100.0,1.8026,24,666,20.2,16.45,20.62,8.8 +11.8123,0.0,18.1,0,0.718,6.824,76.5,1.794,24,666,20.2,48.45,22.74,8.4 +11.0874,0.0,18.1,0,0.718,6.411,100.0,1.8589,24,666,20.2,318.75,15.02,16.7 +7.02259,0.0,18.1,0,0.718,6.006,95.3,1.8746,24,666,20.2,319.98,15.7,14.2 +12.0482,0.0,18.1,0,0.614,5.648,87.6,1.9512,24,666,20.2,291.55,14.1,20.8 +7.05042,0.0,18.1,0,0.614,6.103,85.1,2.0218,24,666,20.2,2.52,23.29,13.4 +8.79212,0.0,18.1,0,0.584,5.565,70.6,2.0635,24,666,20.2,3.65,17.16,11.7 +15.8603,0.0,18.1,0,0.679,5.896,95.4,1.9096,24,666,20.2,7.68,24.39,8.3 +12.2472,0.0,18.1,0,0.584,5.837,59.7,1.9976,24,666,20.2,24.65,15.69,10.2 +37.6619,0.0,18.1,0,0.679,6.202,78.7,1.8629,24,666,20.2,18.82,14.52,10.9 +7.36711,0.0,18.1,0,0.679,6.193,78.1,1.9356,24,666,20.2,96.73,21.52,11.0 +9.33889,0.0,18.1,0,0.679,6.38,95.6,1.9682,24,666,20.2,60.72,24.08,9.5 +8.49213,0.0,18.1,0,0.584,6.348,86.1,2.0527,24,666,20.2,83.45,17.64,14.5 +10.0623,0.0,18.1,0,0.584,6.833,94.3,2.0882,24,666,20.2,81.33,19.69,14.1 +6.44405,0.0,18.1,0,0.584,6.425,74.8,2.2004,24,666,20.2,97.95,12.03,16.1 +5.58107,0.0,18.1,0,0.713,6.436,87.9,2.3158,24,666,20.2,100.19,16.22,14.3 +13.9134,0.0,18.1,0,0.713,6.208,95.0,2.2222,24,666,20.2,100.63,15.17,11.7 +11.1604,0.0,18.1,0,0.74,6.629,94.6,2.1247,24,666,20.2,109.85,23.27,13.4 +14.4208,0.0,18.1,0,0.74,6.461,93.3,2.0026,24,666,20.2,27.49,18.05,9.6 +15.1772,0.0,18.1,0,0.74,6.152,100.0,1.9142,24,666,20.2,9.32,26.45,8.7 +13.6781,0.0,18.1,0,0.74,5.935,87.9,1.8206,24,666,20.2,68.95,34.02,8.4 +9.39063,0.0,18.1,0,0.74,5.627,93.9,1.8172,24,666,20.2,396.9,22.88,12.8 +22.0511,0.0,18.1,0,0.74,5.818,92.4,1.8662,24,666,20.2,391.45,22.11,10.5 +9.72418,0.0,18.1,0,0.74,6.406,97.2,2.0651,24,666,20.2,385.96,19.52,17.1 +5.66637,0.0,18.1,0,0.74,6.219,100.0,2.0048,24,666,20.2,395.69,16.59,18.4 +9.96654,0.0,18.1,0,0.74,6.485,100.0,1.9784,24,666,20.2,386.73,18.85,15.4 +12.8023,0.0,18.1,0,0.74,5.854,96.6,1.8956,24,666,20.2,240.52,23.79,10.8 +10.6718,0.0,18.1,0,0.74,6.459,94.8,1.9879,24,666,20.2,43.06,23.98,11.8 +6.28807,0.0,18.1,0,0.74,6.341,96.4,2.072,24,666,20.2,318.01,17.79,14.9 +9.92485,0.0,18.1,0,0.74,6.251,96.6,2.198,24,666,20.2,388.52,16.44,12.6 +9.32909,0.0,18.1,0,0.713,6.185,98.7,2.2616,24,666,20.2,396.9,18.13,14.1 +7.52601,0.0,18.1,0,0.713,6.417,98.3,2.185,24,666,20.2,304.21,19.31,13.0 +6.71772,0.0,18.1,0,0.713,6.749,92.6,2.3236,24,666,20.2,0.32,17.44,13.4 +5.44114,0.0,18.1,0,0.713,6.655,98.2,2.3552,24,666,20.2,355.29,17.73,15.2 +5.09017,0.0,18.1,0,0.713,6.297,91.8,2.3682,24,666,20.2,385.09,17.27,16.1 +8.24809,0.0,18.1,0,0.713,7.393,99.3,2.4527,24,666,20.2,375.87,16.74,17.8 +9.51363,0.0,18.1,0,0.713,6.728,94.1,2.4961,24,666,20.2,6.68,18.71,14.9 +4.75237,0.0,18.1,0,0.713,6.525,86.5,2.4358,24,666,20.2,50.92,18.13,14.1 +4.66883,0.0,18.1,0,0.713,5.976,87.9,2.5806,24,666,20.2,10.48,19.01,12.7 +8.20058,0.0,18.1,0,0.713,5.936,80.3,2.7792,24,666,20.2,3.5,16.94,13.5 +7.75223,0.0,18.1,0,0.713,6.301,83.7,2.7831,24,666,20.2,272.21,16.23,14.9 +6.80117,0.0,18.1,0,0.713,6.081,84.4,2.7175,24,666,20.2,396.9,14.7,20.0 +4.81213,0.0,18.1,0,0.713,6.701,90.0,2.5975,24,666,20.2,255.23,16.42,16.4 +3.69311,0.0,18.1,0,0.713,6.376,88.4,2.5671,24,666,20.2,391.43,14.65,17.7 +6.65492,0.0,18.1,0,0.713,6.317,83.0,2.7344,24,666,20.2,396.9,13.99,19.5 +5.82115,0.0,18.1,0,0.713,6.513,89.9,2.8016,24,666,20.2,393.82,10.29,20.2 +7.83932,0.0,18.1,0,0.655,6.209,65.4,2.9634,24,666,20.2,396.9,13.22,21.4 +3.1636,0.0,18.1,0,0.655,5.759,48.2,3.0665,24,666,20.2,334.4,14.13,19.9 +3.77498,0.0,18.1,0,0.655,5.952,84.7,2.8715,24,666,20.2,22.01,17.15,19.0 +4.42228,0.0,18.1,0,0.584,6.003,94.5,2.5403,24,666,20.2,331.29,21.32,19.1 +15.5757,0.0,18.1,0,0.58,5.926,71.0,2.9084,24,666,20.2,368.74,18.13,19.1 +13.0751,0.0,18.1,0,0.58,5.713,56.7,2.8237,24,666,20.2,396.9,14.76,20.1 +4.34879,0.0,18.1,0,0.58,6.167,84.0,3.0334,24,666,20.2,396.9,16.29,19.9 +4.03841,0.0,18.1,0,0.532,6.229,90.7,3.0993,24,666,20.2,395.33,12.87,19.6 +3.56868,0.0,18.1,0,0.58,6.437,75.0,2.8965,24,666,20.2,393.37,14.36,23.2 +4.64689,0.0,18.1,0,0.614,6.98,67.6,2.5329,24,666,20.2,374.68,11.66,29.8 +8.05579,0.0,18.1,0,0.584,5.427,95.4,2.4298,24,666,20.2,352.58,18.14,13.8 +6.39312,0.0,18.1,0,0.584,6.162,97.4,2.206,24,666,20.2,302.76,24.1,13.3 +4.87141,0.0,18.1,0,0.614,6.484,93.6,2.3053,24,666,20.2,396.21,18.68,16.7 +15.0234,0.0,18.1,0,0.614,5.304,97.3,2.1007,24,666,20.2,349.48,24.91,12.0 +10.233,0.0,18.1,0,0.614,6.185,96.7,2.1705,24,666,20.2,379.7,18.03,14.6 +14.3337,0.0,18.1,0,0.614,6.229,88.0,1.9512,24,666,20.2,383.32,13.11,21.4 +5.82401,0.0,18.1,0,0.532,6.242,64.7,3.4242,24,666,20.2,396.9,10.74,23.0 +5.70818,0.0,18.1,0,0.532,6.75,74.9,3.3317,24,666,20.2,393.07,7.74,23.7 +5.73116,0.0,18.1,0,0.532,7.061,77.0,3.4106,24,666,20.2,395.28,7.01,25.0 +2.81838,0.0,18.1,0,0.532,5.762,40.3,4.0983,24,666,20.2,392.92,10.42,21.8 +2.37857,0.0,18.1,0,0.583,5.871,41.9,3.724,24,666,20.2,370.73,13.34,20.6 +3.67367,0.0,18.1,0,0.583,6.312,51.9,3.9917,24,666,20.2,388.62,10.58,21.2 +5.69175,0.0,18.1,0,0.583,6.114,79.8,3.5459,24,666,20.2,392.68,14.98,19.1 +4.83567,0.0,18.1,0,0.583,5.905,53.2,3.1523,24,666,20.2,388.22,11.45,20.6 +0.15086,0.0,27.74,0,0.609,5.454,92.7,1.8209,4,711,20.1,395.09,18.06,15.2 +0.18337,0.0,27.74,0,0.609,5.414,98.3,1.7554,4,711,20.1,344.05,23.97,7.0 +0.20746,0.0,27.74,0,0.609,5.093,98.0,1.8226,4,711,20.1,318.43,29.68,8.1 +0.10574,0.0,27.74,0,0.609,5.983,98.8,1.8681,4,711,20.1,390.11,18.07,13.6 +0.11132,0.0,27.74,0,0.609,5.983,83.5,2.1099,4,711,20.1,396.9,13.35,20.1 +0.17331,0.0,9.69,0,0.585,5.707,54.0,2.3817,6,391,19.2,396.9,12.01,21.8 +0.27957,0.0,9.69,0,0.585,5.926,42.6,2.3817,6,391,19.2,396.9,13.59,24.5 +0.17899,0.0,9.69,0,0.585,5.67,28.8,2.7986,6,391,19.2,393.29,17.6,23.1 +0.2896,0.0,9.69,0,0.585,5.39,72.9,2.7986,6,391,19.2,396.9,21.14,19.7 +0.26838,0.0,9.69,0,0.585,5.794,70.6,2.8927,6,391,19.2,396.9,14.1,18.3 +0.23912,0.0,9.69,0,0.585,6.019,65.3,2.4091,6,391,19.2,396.9,12.92,21.2 +0.17783,0.0,9.69,0,0.585,5.569,73.5,2.3999,6,391,19.2,395.77,15.1,17.5 +0.22438,0.0,9.69,0,0.585,6.027,79.7,2.4982,6,391,19.2,396.9,14.33,16.8 +0.06263,0.0,11.93,0,0.573,6.593,69.1,2.4786,1,273,21.0,391.99,9.67,22.4 +0.04527,0.0,11.93,0,0.573,6.12,76.7,2.2875,1,273,21.0,396.9,9.08,20.6 +0.06076,0.0,11.93,0,0.573,6.976,91.0,2.1675,1,273,21.0,396.9,5.64,23.9 +0.10959,0.0,11.93,0,0.573,6.794,89.3,2.3889,1,273,21.0,393.45,6.48,22.0 +0.04741,0.0,11.93,0,0.573,6.03,80.8,2.505,1,273,21.0,396.9,7.88,11.9 diff --git a/data/highly_correlated_dataset.csv b/data/highly_correlated_dataset.csv new file mode 100644 index 0000000..a2d5fac --- /dev/null +++ b/data/highly_correlated_dataset.csv @@ -0,0 +1,1001 @@ +Feature_1,Feature_2,Feature_3,Feature_4,Feature_5,Target +0.636649696669833,0.4291963255137945,0.30593339722349355,0.4103647925147393,0.4543381848089624,1.1618912575163571 +-0.045800932879907774,-0.15271616824273643,-0.22430280224913485,-0.14138465006509304,-0.18360571200957004,-0.15469494913359455 +0.6536515750927099,0.5684465460006963,0.6063279847585281,0.6494902253051371,0.468124220837691,1.2130971318279953 +1.458336178637468,1.4922337034441213,1.7117986221420445,1.570292890992366,1.4900208372378816,2.861872775400822 +-0.16433104336197696,-0.42351484141871454,-0.17849806226996018,-0.3708392110514186,-0.16087046654116147,-0.3500771177950728 +-0.19478841840700556,-0.2128075862118867,-0.36768511385916963,-0.1748802295644475,-0.36156016885686004,-0.30586138818087266 +1.6687321375101647,1.579333363043614,1.6278164444491552,1.3087736523471138,1.6840610806124507,3.3053483711497593 +0.8309519093211057,0.6857258660460896,0.6127043302590722,0.7044462739165277,0.8162122112613426,1.5033412479652521 +-0.3645191144030186,-0.4035498190917116,-0.3612052805462448,-0.5183017701801066,-0.5428977181320559,-0.6150314441565211 +0.48903652242990786,0.6363170573486205,0.4954475784041768,0.6058927261930885,0.5284070798521799,0.8943640314983118 +-0.3316782862490297,-0.6241736792493597,-0.4727813116863793,-0.46115460754477533,-0.30358551204835893,-0.6692286152085222 +-0.4459697931010169,-0.5420022314268783,-0.3331500888160378,-0.6062860589558855,-0.39237497221967027,-0.8472859355079627 +0.44948835882856064,0.1650480365873043,0.11324591470760911,0.1434629589843326,0.2428406370558489,0.9189377594973995 +-1.9821990264667546,-2.0072705547686844,-2.052992063169097,-1.8934122437030572,-1.9370485763538963,-3.8549800981813616 +-1.5513214521965077,-1.641970348319858,-1.7832777651476333,-1.7328245666994884,-1.717256925467867,-3.0547425900537397 +-0.5424964508947079,-0.581670143118253,-0.45844964413904105,-0.6201999402045474,-0.613463885035203,-1.1711238597591265 +-1.0779729206958686,-1.0392826044654848,-1.164765727882108,-1.0609144992856216,-1.2233060709063253,-1.938089623992571 +0.2658587491898417,0.11386109615459852,0.03103177278421687,0.38386413231120275,0.518465123648747,0.5511508447135067 +-0.9400588063406431,-0.8444822725002885,-0.953139961362111,-0.9597933328081326,-0.892491575601271,-1.8948516353434368 +-1.3698871066951002,-1.536229540820639,-1.3571296213441997,-1.421112825738199,-1.372488974823038,-2.643381671084643 +1.517932317725104,1.4716420319481869,1.585674943895437,1.6826424277296084,1.4598579939338632,3.0608097300432155 +-0.28314630088039355,-0.19803860669071643,-0.27209243669507555,-0.36814456417492797,-0.29928798055899447,-0.5263697824668544 +0.06509274546182556,0.20359406427178894,0.02638554397632359,-0.11765606846954205,0.04893575659304676,0.37940389078371983 +-1.2105211503522704,-1.555630226125368,-1.309358112787882,-1.346389219733596,-1.5846876624328878,-2.4485544435300453 +-0.3716284075151115,-0.8463339401072651,-0.7313568944947247,-0.612247030654593,-0.3166740747198522,-0.7750329044319626 +0.1545549566772693,0.12930754418523557,0.07207051219156516,0.07909883693560404,-0.012528610132373524,0.320767764555785 +-1.1471932296054828,-0.9709424592712175,-1.131951188429797,-1.2291092152354142,-1.2541902058070207,-2.1872348656528615 +0.3877011510174981,0.4995926536396157,0.42061989047417536,0.3497180042689207,0.3316720979070319,0.6247488990159562 +-0.5392868926457633,-0.5796727483913424,-0.6516193592378933,-0.4407848787091708,-0.4718311174335672,-1.2751293744391772 +-0.3939730063131173,-0.3408573683564815,-0.28824964862269264,-0.21148090393146485,-0.2902428498670114,-0.8466575396882494 +-0.6274442659717314,-0.5209943525656658,-0.8505393475706959,-0.5154842610406992,-0.7253201918324432,-1.4182808278493915 +1.6854197771211787,1.7549235645384909,1.786453343275553,1.7106554789296733,1.9777120205846717,3.3283564194897934 +0.026425087522594013,0.034138552197687994,0.031853646517512824,-0.12861259839322084,0.05960283794061423,0.10310014465811704 +-0.9929913349856259,-1.0071639130392371,-1.155940332381368,-1.3416187949044427,-1.0038674332342548,-2.075057556326478 +0.7742262658732516,0.928565902853077,0.8284433342621488,0.7416068299949137,0.894118336220273,1.405769874068369 +-1.063444973642019,-0.9448776460799144,-1.1761563998907525,-1.1251733313324563,-0.9814074599127771,-2.1199562311125035 +0.08628702870452129,0.24810519172263212,0.1746086749189789,0.2605582465795925,0.42737308450836664,0.2588284058705596 +-2.1061076119007573,-2.0105664864505255,-1.9426237467801184,-1.981821450174988,-2.0283416581801053,-4.381712567653176 +-1.3057408670424333,-1.3307434801176299,-1.4244593054268917,-1.3304160772702358,-1.1657975496173152,-2.529458494254268 +0.30157106613033896,0.019953645380211688,0.17620010789951884,0.12797268161158293,0.23517805484501356,0.6848727526345105 +0.9068593491411974,0.6689952668865046,0.7994881969543327,0.7589424682355889,0.7883761616091853,1.9091272084980575 +0.1254798549030765,0.13044003737866008,0.18706557728681392,0.24795610913803198,0.002141198025637614,0.3728077312933217 +-0.007780199045110958,-0.16805712218169977,-0.1743014093446341,-0.2772369611292878,-0.13268685892706011,0.20464099437573968 +-0.3049545425393595,-0.2858682083859166,-0.2786820551602095,-0.27113892680555396,-0.3823860546229453,-0.6455182899406245 +-1.4957847203615093,-1.5607639836056475,-1.4070610113037656,-1.3852785032719606,-1.3957161088780965,-2.980612282715233 +-0.6314782146460414,-0.6077411416622615,-0.9248383362524565,-0.7613542372910456,-0.6127361583544282,-1.3046002726168853 +-0.3954064831184455,-0.46061806446796777,-0.3447313644641977,-0.3905687097477291,-0.6680874060614186,-0.7906152817613099 +0.8994830105204907,1.0561921941050532,1.0234967523508085,1.338587670666171,1.0549187398184887,1.9522533566046127 +0.49127232454105096,0.31082881791716965,0.3861672828924844,0.3331840102697722,0.4558044400478866,0.848043200689035 +-1.6250310199479887,-1.747521086976836,-1.6433154629982112,-1.7237094503622015,-1.7817080515940784,-3.336167007112535 +0.26152769924384206,0.40659379586155847,0.1869165996717484,0.25027826102865586,0.39699033389503147,0.6607734921381403 +-0.34550192707257565,-0.47179530198740655,-0.4560263806590712,-0.3669571641561115,-0.3499657336536081,-0.5890002034549423 +-0.6275189816776848,-0.7427336492134844,-0.7057768698935292,-0.6308948378077284,-0.6427559771106961,-1.2913511280370775 +0.6377436654232586,0.5813036859632015,0.533300936728425,0.6311605228678817,0.5845447910340381,1.360927530958589 +0.9759690071114089,0.8964124301486295,1.204493180079632,0.9290299905250653,0.90934144208238,1.986059598472021 +0.8641177823223934,0.8493543331440487,0.8456029097335193,0.9519162962487436,0.8191271043736958,1.8782630255448858 +-0.841772930321783,-0.8868396105771045,-0.8947722011713252,-0.6929979293508748,-0.7682822717771068,-1.6760949012608888 +-0.1919394739252781,-0.22177345777994184,-0.2887734726909169,-0.26434879939976186,-0.30726655029932626,-0.281315736463298 +0.3856234468630072,0.3575195643037565,0.21104847879595506,0.4274621503107481,0.3174122069428415,1.0354480847752765 +0.9384836939137486,0.9949041182591136,0.9359770559467329,0.9518439301210964,0.933156122890124,1.936777303332244 +-0.4020043667804555,-0.3940844416284927,-0.44742891172027244,-0.4041842139029189,-0.5096931223933652,-0.7990759169814265 +-0.4705132387268247,-0.19939615550375678,-0.2189450171020682,-0.15773219284216453,-0.08096779721500316,-0.8687817789315515 +-0.9914584039688179,-1.0672884890131393,-1.115673659896023,-1.2014260469747513,-1.139859382192831,-2.0194448937580245 +-1.3701780019584808,-1.2065287993739204,-1.2491398353255079,-1.1643545236007833,-1.3303130954108278,-2.5015592333644885 +0.7762817282538848,0.8390620573341608,0.6610787914761214,0.713356156050167,0.8868909999482153,1.5705705602773676 +1.2442730391082086,1.2979641628096648,1.3883993497047469,1.2929520010823436,1.3357523621843512,2.461252746193866 +-0.2014782691524244,-0.31589183740797677,0.10348318558439032,-0.05307729085109643,-0.0688705350270562,-0.48652543880685245 +1.119615576629876,0.9901049816733938,1.005373060970368,1.0332573252300365,1.1642907285319752,2.348953172420396 +0.314865904916445,0.5039108386576282,0.3841624367723891,0.24271277853992124,0.3595799693125834,0.7164505511156639 +-0.6104693664320527,-0.552498214380965,-0.5758474790934383,-0.5397211774868367,-0.6162013872932517,-1.2706741700055149 +0.3567035476204955,0.457935353967531,0.234462555853744,0.41859623333846124,0.2435032563785814,0.7710522297532333 +1.5857406491882813,1.6616496386465909,1.7082880322789298,1.4675637229048808,1.5160696212308733,3.020625701555277 +-0.028143850003925996,-0.026960280013807764,-0.015593159467671328,-0.18958451875486906,0.025126565410908595,-0.03779064250053636 +1.436344433395149,1.5843752265545656,1.7278293457229168,1.550153197905863,1.4091062824298817,2.917964501997967 +-2.5201184221450306,-2.6815102936331794,-2.6930484036421434,-2.6643394754758605,-2.5996605947781735,-4.869503863334139 +0.7725268460590926,0.7902952187725188,1.0037086966310063,0.8332165500805261,0.8319816116397044,1.4679718118453162 +-0.06861112162780379,0.14862418321528548,0.16456261764164964,0.05073540212261468,0.09117581379691528,-0.26505750613584 +-0.3418188665624591,-0.17861890674898623,-0.243703341880632,-0.49975303654036884,-0.19529146060004354,-0.7731805292174223 +0.2418367555989334,0.07781614896740234,0.11516322197081709,0.05292608270538648,0.12520462802035445,0.35001666116637475 +-1.9025467403895435,-2.032587841086034,-2.012421776408338,-2.018130825707724,-1.8397617247652485,-3.671427745003189 +-0.2545371012782979,-0.2196190919518522,-0.09961872199012467,-0.15630578536010606,-0.31903083939691557,-0.35421027305419206 +0.32218680107990355,0.4172332464046579,0.3711485584965511,0.28729260405064144,0.3707050282335812,0.67639525995469 +1.445730539619778,1.333508563128162,1.2811870743828009,1.6457615120787727,1.4863407233805108,3.0135905738080706 +-0.3105954199175633,-0.7478883135873712,-0.6299888644443477,-0.7094342733388231,-0.6251956676491554,-0.607795001777103 +-0.7703000576700323,-0.863547287842346,-0.8270781781124623,-0.6773768531129252,-0.712864102684053,-1.550111280110141 +-0.4587528788654296,-0.6238282861759524,-0.47075714526798107,-0.524188940672347,-0.26928971299925475,-0.9508095196362354 +1.0184304631052583,0.864588097937343,0.9097432688120846,1.0013606049364299,0.9137015102536911,2.00582182707276 +0.3526300255623358,0.3139730777779373,0.45064818863905076,0.33673125806555776,0.37925321848706117,0.5504798954937684 +-0.5556644183491091,-0.5750850446693402,-0.7248703901709013,-0.41580465016449186,-0.5213083561855061,-1.0849033603374842 +0.4936324482048583,0.6585141865604307,0.5276262267638722,0.47453123665807495,0.4419089661226385,0.9832315053883123 +0.08991742340663399,0.1297520258082724,-0.0847203731906751,-0.01278449316974084,-0.08499847843216124,0.25437091922105554 +0.964922766881905,0.998692426493972,1.044616220081306,1.1106954192599956,0.8980676422233527,1.939197883407671 +-0.6292901395136544,-0.6398323794730122,-0.7114989653215527,-0.7134011584655665,-0.8412489319725255,-1.274850649184218 +-0.32246755801703825,-0.44154545837584513,-0.2857011493953564,-0.3055062992353471,-0.15725193879185642,-0.7320544190348395 +-0.3188441454105997,-0.28819697439013076,-0.47849644919113427,-0.26863296172767814,-0.40361912252448157,-0.6304729671390232 +-1.4715866061429768,-1.4710913767856646,-1.3355684549663436,-1.5667104723415621,-1.4981068810368356,-2.869349489204337 +0.3039837960961851,0.3631683387886973,0.4002927434704612,0.3556693668285018,0.3850356595433566,0.4936336930839841 +0.061235203726678566,0.15386954887587379,0.3194097024810781,0.20206579653360024,0.14888016189430053,0.13121778282143107 +0.09674622411270906,-0.15026241995914555,-0.007838268043883177,-0.008103478921976284,-0.07157294715799434,0.21679674337836652 +-0.19993828578534814,-0.15279816757264456,-0.1766014048456342,-0.22735923683671852,-0.2277799064502853,-0.47168304993252275 +-1.315569731064449,-1.3777297894406626,-1.4860599988491492,-1.5653929281951078,-1.3124938429080661,-2.689925092619698 +-0.710270860584728,-0.5108504782011101,-0.33508975686328785,-0.49852902704740254,-0.3704768182484802,-1.3974806362928345 +-0.1338770460486967,-0.42968082465423896,-0.17776642709437737,-0.20760722728545555,-0.31788200227518126,-0.3810961939266557 +-0.8162362320371362,-0.689733790780142,-0.6952162132237003,-0.7136581503631394,-0.7944654956980173,-1.5974800925493333 +-0.05046742999225748,-0.28022690095274194,-0.23424595864675007,-0.16754966939873261,-0.12126212611333162,-0.19047029735043497 +0.3000602641019853,0.5683181521401348,0.4401925885418487,0.4283632026658277,0.4242161473274639,0.7064058975072922 +1.9474632917167871,1.7961238277457434,1.7568717468346655,1.8567616506468845,1.7831886737328366,4.128709357972404 +0.06923625651447333,0.23841700539267724,0.23181684394940655,0.3102361514146372,0.17918573499515408,0.0523968328587647 +0.19517349465318345,0.22468854314786552,0.3026107320090179,0.23751513294334758,0.15018152483098873,0.4437677755438344 +0.11695721962051153,-0.014127172657932792,-0.26142754971938353,-0.05126170655268229,-0.06633766147608473,0.1612402487528211 +-1.9378394553753762,-1.9731826155104608,-2.034949599690278,-1.804168200884835,-1.9668360094478656,-3.7715834933709735 +-0.004770588131244591,-0.0427931660564463,-0.054827765123593594,-0.10425102393380754,0.22742428682906926,-0.13606701717101072 +0.14723698300990182,0.06432212748059855,0.03014423522694381,0.21610912839071583,0.056240771565855247,0.3425326418625749 +2.5128103012825465,2.363023366907139,2.3422944189434056,2.3101959715109484,2.322818155859127,4.938321705876158 +-0.1773190742667649,-0.11827853023910996,-0.15346309184590412,-0.029396751669842652,-0.205778985848815,-0.3753366074433667 +0.338043442580235,0.25022598568645393,0.3266947032276637,0.264279783938415,0.35348321689740125,0.5729843576457393 +0.2056297888185842,-0.05757176123924517,-0.054138682903095245,-0.05898164448777149,0.13262462491000906,0.49349462472674377 +-1.1744399173228905,-1.2681129750803832,-1.2442571876353683,-1.3576790547378264,-1.227623277613404,-2.43257787008974 +1.1629327191865173,0.8865894486354895,1.247693527156677,1.0973433427772512,0.9845800171126565,2.3810618643062176 +0.8569984722875353,0.7328302564267573,0.9174737439956037,0.6479523795840857,0.8336167338298722,1.6795871417488373 +0.9015845403388453,1.0322934892043385,0.7426757986583932,0.7302673125056997,0.6529720764530818,1.7917218434978042 +-0.7906844242387009,-0.8309270260049365,-0.970604146510221,-0.9231185513736269,-0.9530029989454875,-1.566593257737389 +1.4666673331390176,1.4008682729626598,1.4519150774772989,1.4985734723833897,1.3770322623849998,2.8571521991121505 +-1.5161515540653292,-1.4281401457131078,-1.4376540007669796,-1.3810907276522184,-1.4088144081222918,-3.01126639677657 +0.7502002470303799,0.589103683081475,0.5729173737339469,0.6176247591403816,0.6557735395077039,1.653433950496201 +2.07582108650811,2.2451675373274997,2.2644209409824456,2.0809036869254225,2.1220921975813396,4.073832694432949 +-0.9602727786067851,-1.1086176066615727,-1.1814719338814177,-1.0786117340909613,-1.0179092503473643,-1.8033645428861855 +-0.6417253146047077,-0.4548655601358847,-0.434467497117505,-0.38642522776764077,-0.5677247648977107,-1.133640865860637 +0.09323753042834196,0.17118949663176564,0.10691941752057535,0.026131261611316556,0.11461116083952003,0.10485956195387952 +-0.4705994130858511,-0.4316570815454058,-0.5446249685724173,-0.33785482891046964,-0.4936929366454069,-1.0867042866807575 +-1.5185277095211054,-1.50681585718516,-1.5595868464882776,-1.5749695509542194,-1.5070628535438748,-3.0068593290250343 +0.11075505022955581,0.07052464057542632,0.0648059103080792,0.06879176842037774,0.15294692577020105,0.16676934818242434 +-0.9009325868202401,-0.9950175901294229,-1.2354238440705974,-0.9552671977031119,-1.0230403021610082,-1.61500485172418 +0.5189458607865796,0.5327738440093194,0.6230862533805052,0.6007816728290473,0.5189509829861034,1.0413724756231424 +-0.9438398977628683,-0.9548283053279057,-0.9152916710067416,-0.9305054902617121,-1.0776465509084512,-1.9678997363292545 +1.6463431218463755,1.4925742277278498,1.5942346180622775,1.5111100996653861,1.554957174934108,3.17797029259158 +-0.664306243443773,-0.7730676628100384,-0.6880983152788327,-0.7888453371884584,-0.7353025375360762,-1.219621990978463 +-0.4448222977193748,-0.16715950105615685,-0.42417776196170565,-0.28826576338246374,-0.24916739674863053,-0.9467629928471682 +0.8732572243546556,0.6896065098042796,0.8608644072731926,0.9026475860566453,0.7442821399462903,1.750897328655354 +-1.1607470422028654,-1.3776168430091993,-1.2576284255238346,-1.23044133053454,-1.2967682439228196,-2.225913809894483 +0.19770358426813023,0.2439360187277811,0.3121370121257788,0.2893485644064448,0.17004986707576958,0.34698133334317743 +1.44471343561359,1.3122315244680298,1.0944200122472785,1.470978727509522,1.3607841442715625,2.8848339883531637 +-1.6224887932644803,-1.5901490681241868,-1.6173926645853545,-1.5693522733347491,-1.5040951290688067,-3.2466344275112125 +0.19719150387945847,0.20902917832315424,0.12435179295390805,0.21579914413278206,0.14388784780314406,0.4627154589105261 +0.2425756118200365,0.23756256878494297,0.30310908931183905,0.10799171173941668,0.3506790256111284,0.5442256571911056 +0.7833807765354568,0.9308092156375183,0.8288272905141303,0.5187498580944037,0.7941708526937694,1.5447501799454306 +-1.3465782195676022,-1.3970411087257335,-1.3077133003602845,-1.1981131379550651,-1.2493792885943256,-2.6867915329855525 +-1.4644617013437058,-1.403306315562301,-1.3916739995018808,-1.3299390362123635,-1.341595036066073,-2.9661013038397606 +0.6813920719393949,0.5116160896019929,0.5108750287611648,0.4704632981254234,0.5966027020771134,1.2150229031868454 +0.21228853840135326,0.13266579211776935,0.20732045050166525,0.3213376936518205,0.32954245491189305,0.45033716254251943 +0.15135361540024594,0.23290740990266953,0.33469121989108935,0.2444524774261858,0.4780753931106404,0.4919264068837987 +0.13110919813660438,0.5125952260697777,0.30952748945223124,0.4592262345603657,0.26122574519724345,0.17384648220410248 +-0.7439208963474411,-0.6779360727488947,-0.9707235435106549,-0.671413634752593,-0.6282145513754932,-1.5651447636551525 +0.09994471782025369,0.2553237877328719,0.19477149149882295,0.1575613686539868,0.17933359617985226,0.11281665847613323 +0.45727398931231816,0.16705599678142322,0.189218091214284,0.39208909719461016,0.20614377459981686,0.9870071564969486 +-0.6133697090921044,-0.7759875588303156,-0.8774789995724623,-0.7360645255209881,-0.715438131729865,-1.1818908727645647 +1.7969594766269843,1.828254873112363,1.7420318473224994,1.9184281795119873,1.8795097590854601,3.5780651840123228 +0.6990765014462184,0.4420614112361641,0.48477376809508455,0.42609185029250746,0.7656502764177968,1.30635109672854 +-1.0931269485034891,-1.0631391177022718,-1.0584394143778255,-1.2562861857523921,-1.2097180787709687,-2.177016217842986 +0.6240704702829675,0.7123227147063422,0.6878720560203277,0.6649704316523993,0.5435357356853614,1.0916787278323545 +-1.2246222417146786,-1.0858274659210245,-1.0353320090488953,-0.9733988058729529,-0.9473805984778829,-2.4349018267436078 +1.016178861001526,0.8117350815856526,0.8326750232595224,0.8350673072791353,0.5796205999878152,2.1195101606118456 +1.0196383323310445,1.2084177538570826,1.1126865479855048,1.1317310036764299,1.1493999007469775,1.9141567509987212 +-0.9852221930473997,-0.7066674144995838,-0.8901423552680249,-1.0043182967287503,-0.8190797901221945,-2.1236962137777655 +1.0656331724452859,1.1214301979011592,0.8479398624210234,0.9200987408854829,1.042836167538843,2.289210134060058 +0.6567561675704257,0.31127150775371143,0.23759804626132638,0.4921627736508799,0.510143151879283,1.2523363711903928 +0.9604874418455418,0.7409744088734562,0.7830677893385455,0.7923225520701793,0.7717031981037182,2.034569668285466 +1.9531838946591833,1.7710351967624858,1.9125983316459605,1.8721546424024926,1.881731581190954,3.8909680227985834 +-0.1859126818363419,-0.2687901019135686,-0.25505048300435945,-0.1467504654122768,-0.3220001990639376,-0.3880208453668166 +-0.6683946084794588,-0.7071003269128562,-0.7953328571522255,-0.8249334870833819,-0.866542419838259,-1.292947947009253 +-0.8136215706468468,-0.7907809779666131,-0.9840890356952015,-1.0437947514498132,-0.8585249516874598,-1.7156430269683378 +-0.7876911425685007,-0.8234053873296906,-0.7549856657969414,-0.8318733969179877,-0.9431688398250982,-1.562132570787437 +-0.06668159901891652,-0.10908646173958851,-0.20881490140876263,-0.12551910453897783,-0.11856439947129044,-0.1715121395202423 +0.33489266202669127,0.35632777404151755,0.41875476620099106,0.2445273428413181,0.24163457882671974,0.5377359797128793 +0.20129434044335143,0.19317650916701673,0.17646909743734657,0.25915295374014996,0.331659117959045,0.43633688835934276 +0.7991157413493464,1.0361371212055013,0.7519397253007203,0.8763338137607022,1.0073262589626726,1.571900702010901 +-0.15629378954163153,-0.14776421083389887,-0.1336766271836607,0.012073035721125445,-0.1171569064024261,-0.32829006192773386 +1.4437001144778419,1.4720081350468892,1.4033938624687532,1.4842321844259407,1.26823222886756,2.766384134614268 +-0.36351594395304787,-0.062296211314992134,-0.1671255873901582,-0.08331606338641376,-0.2771455217729628,-0.5678918511298153 +2.609810234868042,2.7208491510456185,2.7717319754340144,2.6858812804338625,2.7217389461853947,5.307291888374696 +0.643656762880354,0.6066634442648567,0.7235095589678098,0.6535022112294732,0.6475332784407359,1.3837291141779058 +-0.7179573277818226,-0.8929020986973253,-0.804943301822889,-0.908078892676196,-0.901789607939717,-1.4664591258078135 +-0.979060837460881,-1.0889316662373532,-1.1812594809141492,-1.1555284700498096,-1.0909564279436554,-2.1310399638721043 +0.32542235488086757,0.6197572627108383,0.44939349281042956,0.4239816499014083,0.5192234562972455,0.8461364480106862 +-0.3224255989828846,-0.4446489764588015,-0.3014826982375971,-0.2713386424780197,-0.11941969606136695,-0.650960948766356 +0.8080776128909135,0.8673438642217244,0.8470579844959959,0.7499480738468044,0.5184956170602636,1.5412752461798216 +0.37498888521971385,0.3308419093285303,0.3535587599309137,0.7081452032436206,0.43634368067039864,0.7916579278877391 +-0.09529222765657523,-0.09949414558031425,0.016540856282038316,-0.1444332562844568,-0.05144803326276644,-0.07387237651282072 +-0.7917885081659498,-0.8897181600982712,-0.7574983310575281,-0.8884562486299512,-0.9385913285294786,-1.5858820719404463 +-1.611681670172228,-1.4559918977087927,-1.331885204514256,-1.5211595259969894,-1.3417302615091347,-3.0955058235505186 +-0.4359774014524251,-0.6063273872553958,-0.4874836113299708,-0.4069350671960464,-0.5100559400898947,-0.7636548090531633 +0.7229962448316518,0.9026160609316666,0.9276310102814885,0.8827538755189508,0.852269525622744,1.3383543709230978 +0.15395697973508257,0.4165247064588892,0.44225892778408826,0.3425033235250157,0.269695953814433,0.2405349489042175 +-1.2137605852977342,-1.382056179171269,-1.3075029464053576,-1.4883779857655088,-1.3048672575921774,-2.3317674542674918 +0.013881552498015065,0.19215154261222156,0.01967690109794601,-0.06551206116838529,-0.011476378929259734,-0.24349815138501368 +0.4293648535248767,0.3191191619491759,0.1973163763380604,0.3357295625278218,0.34245192703718347,0.8437841377332544 +-0.8858212160938012,-0.8412687155818295,-0.8125862333149999,-0.7741274174467621,-0.780913380608429,-1.9147255523500695 +0.2089741013872427,0.1556398836871031,-0.03458991486033047,-0.0028396972150317445,0.12003559326701405,0.37029282263113295 +0.08060013185246603,-0.005939972458431073,0.02097681315220761,-0.24255451552337587,-0.026434711699897973,0.13131825480201165 +-1.0065562548332387,-1.0941830693435157,-1.099238979126727,-1.0858523572087022,-1.050403076880351,-2.048936947457228 +0.370309810613074,0.5382221713269576,0.3763049140312747,0.38215308271855475,0.324709870745978,0.6853934960148871 +0.5178439722557091,0.5416941471955046,0.6033290127866516,0.4517636856882914,0.5097684450032127,0.9259735795485368 +1.0952809934785055,1.1550270373900953,1.1052802287553625,0.984497283103184,1.097996852141608,2.4197531136388797 +1.1081318549385417,0.9244747562477866,1.1816886333662422,0.9568276800714355,1.1308770729967816,2.4030099102932185 +-1.3727833609245206,-1.473313005638892,-1.4729010060309708,-1.366615836209697,-1.1394980147838365,-2.8617733038746693 +-0.9337658707947345,-0.8905844121270851,-1.0055245537609758,-1.0004565675334234,-0.8551014291493805,-1.7093200664591122 +0.4448360984279842,0.6634468700622562,0.43776932268157737,0.5644416591062118,0.6310192638474942,0.8497256478086831 +0.447495859157114,0.5493472857907749,0.5968051320984699,0.2283232846217697,0.46318933101342324,0.907910465647399 +0.3747871591260784,0.48374188325373235,0.6050875451455542,0.42936249979326785,0.41246087570910017,0.7432469222624652 +4.027689164973415,3.852660631197056,3.8978540225865714,3.7401260945636157,3.858964625616633,7.989403465821433 +0.4465041871540385,0.44584973729619526,0.6892398773821597,0.5452564428559178,0.5816075022191266,0.9913936086686916 +1.0662751204010081,1.1960171728161355,1.017761553442961,1.081760864331585,1.0277143660441392,2.145138893859682 +0.8821610369362826,1.0422350697255431,1.1207241746483159,1.033786141482779,0.936472310502801,1.716666931550641 +0.7408836890002422,0.60618221802249,0.8037151134770237,0.4654575741397923,0.6913230114777111,1.351308433620437 +-0.34476421246954836,-0.36227345941629574,-0.24170704491577089,-0.3107200970072704,-0.2792299051385375,-0.7788879263110088 +0.8837434277606406,0.7855570434584721,0.9371491113703732,0.8148028628144377,0.8093980058316944,1.6033488439610717 +-0.8401742769619587,-0.8164971881416314,-0.9384875353053492,-0.5871604708813764,-0.7437287415238275,-1.6791261990824005 +-0.20891919051762867,-0.2434318682025911,-0.28926342036627406,-0.2849952038493564,-0.28751947266701444,-0.5375049402636969 +-0.5688982531550792,-0.2753913689124519,-0.5588938938972987,-0.45291768739385174,-0.5367536104939877,-1.1643525575620126 +0.2963890521636614,0.05717156931172289,0.1540220717620569,-0.09851213986991396,-0.03802100041306504,0.7297882896883598 +2.1958987247705575,2.2788245514713865,2.209644492713294,2.0754629462422063,2.4931360705920182,4.511727406833273 +-1.8362831215690456,-1.9320193731552642,-1.7915156776579997,-1.7827877550135782,-1.8659201561298189,-3.675793932548353 +0.7496378784677235,0.7606793875245073,0.8233138047741849,0.6857041610097065,0.6637748847950284,1.490567284321132 +-1.5713359614445022,-1.630838288511462,-1.5431955811812519,-1.4948646022098095,-1.7055950793348977,-2.9546844679469033 +-0.49046063167720433,-0.5368691696215762,-0.44355676342328343,-0.6092721546864084,-0.17836607555665568,-0.9288456513185376 +1.0759685269940236,1.2210810001946675,0.9901632628772914,1.1409408109202415,0.9816177937450767,2.1191564080003946 +0.06866116629337372,0.2062403195468265,-0.020405077517073697,0.2511618031498481,0.021395226534855427,-0.005279479125297748 +-1.092444978092155,-1.1377871345031767,-0.9527828873996395,-1.0357742170935795,-1.0361610943007,-2.1455026343678356 +-0.6189157975804772,-0.9019577043960298,-0.6373688088694349,-0.6876455587008633,-0.6552824126855404,-1.1548992179026683 +0.900650049093811,0.780349117918368,0.6756957969969214,0.6804533570171108,0.7753909544562443,1.7381349457362576 +-0.78611581021792,-0.798829614293137,-0.7721575862937258,-0.8874547774297279,-0.5496057809402104,-1.5431113449220366 +0.07947829162406705,0.2955211494982517,0.013877802270837153,0.3520158831530097,0.2670743551280461,0.12259925375663117 +0.03674363506868829,-0.1514385418673698,-0.061513401964630114,-0.01551392407669281,-0.060031240092852996,0.05508403021747631 +-0.393629413840385,-0.562340613775886,-0.4604584388918445,-0.6011520219675152,-0.677294860117995,-1.0360410334370032 +2.0635766325283527,2.0228268963972473,2.015898532225079,1.9876406586682003,2.174727326576714,4.104975124685092 +0.797830702862418,0.7069954342246637,0.6528670044401192,0.5159730558672332,0.8407416264685936,1.6925983359656414 +-1.857372505249963,-2.0237152798739637,-1.9243981893380873,-1.8816338467353837,-2.164923134500037,-3.777885266056582 +0.13109549059862818,0.09106037282976315,0.06096204796919838,0.15172408587364333,0.3067119652919504,0.267443618018788 +-0.6048881568498604,-0.702490096061066,-0.6433154172902796,-0.5164589171641335,-0.6437950278137463,-1.285371384368913 +1.0152729971090777,0.921065180491894,0.9462248885472895,0.8446102688903722,0.9362163883191721,2.0665901618474325 +-0.8304335125314494,-0.7819312931211773,-0.7912708062419757,-0.9767105157284864,-0.8027202100962938,-1.682519344816516 +-0.13509447747713518,-0.05629514341965058,0.17210386409977782,-0.025529681493726947,-0.19897970447953164,-0.36411310902247107 +0.44681918758559275,0.7026313374320057,0.33812735309263764,0.44599804720489633,0.5800745569205903,1.0268935219376982 +0.7642795211008347,0.7093310329990163,0.9716280471585094,0.9356240755218258,0.9311982968806836,1.621452243554891 +-1.265224161562377,-1.038575149558914,-1.2175765807954226,-1.197775320301768,-1.103090710481804,-2.5909389995175713 +-0.45689526251717405,-0.3240656420886271,-0.2573092203572809,-0.4888130586352354,-0.3358316993788119,-0.8640116940925704 +-0.47153696433503356,-0.564823715993269,-0.43081459599103156,-0.4585158346238993,-0.5349275134929411,-0.889332728388029 +-0.730326555679576,-0.7863605951476109,-0.7266448522847115,-0.433706918358432,-0.8092079320760961,-1.3964229878580345 +1.7888328314601716,1.7465422012033935,1.7883538795270308,1.8147528861325428,1.8473915670950376,3.4082400733208353 +0.24939214634059279,0.4971467221534015,0.2191915658211268,0.3992299356604092,0.4473706592053541,0.5994449467844484 +-1.2277959311135995,-1.2736388663727987,-1.2005592042779059,-1.1533496141393553,-1.357462217621441,-2.512561758519772 +1.0012148432156684,1.068977440079511,0.9476777936538286,0.9389287935750872,0.8640045797251137,1.9666468930872103 +1.9227826327554878,1.9770386280074774,2.1860222138769436,2.1431096200389126,2.0754803158174893,4.109353440736996 +1.069870917535904,1.0312563657665414,1.1382770930598618,0.9233027433352365,0.884166817352905,2.169929173143909 +-1.3966030667066842,-1.6446093103953254,-1.4826079819330422,-1.4959851633750536,-1.601138205614527,-2.831838380958086 +-0.6051981747353719,-0.44787088460375457,-0.46942513088642374,-0.38068973122455685,-0.5976171085468868,-1.4309257867463343 +1.434168387870393,1.3555998881963527,1.1788043155204935,1.1833049339766202,1.225663247997829,3.0073131891354214 +-0.6657675646821762,-0.7497456449868861,-0.7788915419836858,-0.5652198834940859,-0.781539215451737,-1.4660560964452127 +0.37331824257038754,0.183398042483515,0.5624928901639615,0.4346488257317158,0.2811189360595535,0.6462925947908247 +0.7690571456635662,0.7945288681089863,0.9182675939999346,0.6858571022754827,0.9768930764862849,1.5049790614183476 +-0.8710977803259107,-0.883256616404732,-0.9507415152092884,-0.8271672638860585,-0.8016763984751598,-1.6005543814817922 +-0.05192481692055893,-0.019095880565630337,-0.05492508133647267,-0.088204779635627,-0.13742729821379865,-0.026525635174541942 +-3.1873917408244354,-3.1176891208868573,-3.331728777568449,-3.165315851320462,-3.2140252004037118,-6.390567232632897 +-1.1164550006422265,-1.1314930092991946,-0.9071119568075453,-1.0535635045601435,-0.9826411323521603,-2.2020807949205707 +-0.2356320689895525,-0.18454654084811534,-0.18602646902398243,-0.25855076574615066,-0.1334595659158126,-0.5313027072662155 +-1.3891546316553476,-1.1285324307170521,-1.0536614383184746,-1.1984271615314204,-1.3296436846308572,-2.7643438943541603 +1.6212886977967653,1.4545525455309836,1.5445789962136613,1.6615010096906357,1.7416219823298777,3.2499110700713443 +-1.5205321421071116,-1.398176195368735,-1.4679421678624545,-1.6296945560058065,-1.4849319083813262,-2.944187294646088 +-0.5135974809559605,-0.49046246979775093,-0.41689989444442654,-0.552168860706423,-0.5736307271138451,-0.930477149668026 +0.2543498948071351,0.12258830997592675,0.1953895310586684,0.22368157576517292,0.20315423321754106,0.5580975278348347 +1.5504043011255424,1.4760409374199492,1.4197065253113523,1.4280596301759607,1.5703491314783584,3.0645738464964745 +-1.3749483390887216,-1.4845850075907947,-1.5231582602248095,-1.4882352814565816,-1.1770712538263708,-2.6757144487384306 +1.0539324756877018,1.0955929442387984,1.2513045050473166,1.0273063506292122,1.0431912256459381,2.098668104755099 +-0.021407783949893143,0.01364830276838951,0.08234659727414523,-0.0977405711079978,0.08012502952766593,-0.15100700477109957 +-0.8601988810500326,-1.0902332449342311,-1.0731360611043235,-1.1836885150441456,-1.0224887754273042,-1.760726541291159 +0.47627516562726124,0.3535209613747522,0.5976477543738203,0.45197540239311745,0.540439345315674,0.9610030296329549 +0.43099264957163946,0.2669970238691204,0.3160795664931304,0.13921593751536535,0.052010740450344956,0.9530068775097534 +-0.5608850932193575,-0.7150962806746604,-0.5867872274340153,-0.6968756662573262,-0.7264938547286511,-1.1401230036544303 +0.08900699663902202,0.13643333508094005,0.0777618712276225,0.06298974247322355,-0.0077853973266295284,0.057094122154083424 +-0.41622524328201005,-0.3390544675763648,-0.3299078197501692,-0.3489165337764861,-0.37741719229495146,-0.8267763182343382 +0.12687143572947618,-0.05906332762781169,0.027347038225622164,0.3228371384722425,0.049409218597412444,0.2650884754646076 +0.646883690882992,0.5943742092874809,0.6651338224374546,0.510942332564725,0.7280361089123883,1.3123511446562595 +1.656827683814211,1.7054277564500893,1.370778461684434,1.7019549204754043,1.6887062779711435,3.405642519223865 +-1.1421452671473906,-1.335932051940817,-1.1501699342765555,-1.1405053427253418,-1.1778577447023135,-2.1823982102857915 +2.0544344286054717,2.086592948425328,1.9768840524120808,2.0551241007185967,2.2949121386223537,4.049447769972777 +-2.0852110948782796,-1.9058817101973122,-1.801745816679602,-1.9317642040638987,-1.9105051365769676,-4.232036535561454 +-0.3354056323459129,-0.0734460441073237,-0.18479710443222827,-0.19754841996934477,-0.2734747660696,-0.7748311357873732 +0.6391163391758306,0.5631633178801266,0.5671505082914585,0.6068860645264501,0.7246548578384102,1.3481142453797088 +0.17065520711764534,0.22124084826586854,0.21821847712658216,0.4319049690754878,0.22047624417443296,0.48619242506906224 +-0.8379885791158422,-0.4804625336507431,-0.6515034072128015,-0.5621388965574626,-0.5316576698520369,-1.707485351022577 +-0.1692643899041789,-0.03423228397751743,-0.06626911584247167,-0.15726141303393112,-0.0507488287017647,-0.36267183628085714 +-0.24370098291555403,-0.39511512958065353,-0.7417818003123411,-0.5360318666542974,-0.44733213358579316,-0.3407237101412104 +-0.5899718480982011,-0.5808329426877094,-0.46166821833539295,-0.7377704234366453,-0.7389806382606767,-1.1293879108749014 +0.9334511744661892,0.7687755248569323,0.8834044451311958,0.8287552759669842,0.7577808803700458,1.910525919412484 +0.36519842181980383,0.2739710453093908,0.2363133211793258,0.47767630145143886,0.4892899326535609,0.611305193042235 +-0.7027985605797685,-0.6406581847340784,-0.800440834565578,-0.845626380919619,-0.7098218638249358,-1.337724314231595 +0.9915075237320276,0.9414396975221191,1.067239178154071,0.7940909386155812,0.9075572289274673,1.8901014134130794 +0.2782720664577442,0.4474593801712523,0.2127488328823362,0.31992629450001614,0.38318196249297026,0.44314211432199263 +0.8396013502461503,0.877907128092574,0.6975270677793641,0.7143966403542339,0.8824944050469924,1.6445255428156296 +0.6617986225432136,0.4793208117476304,0.7433602961600853,0.550376497212091,0.6575088231621583,1.2650179727415582 +-0.8958040562863774,-0.7238002491497806,-0.795139723293481,-0.8713548690948902,-0.8498618480441191,-1.8137680820112587 +-0.4609768052433174,-0.659987102928411,-0.6539735978506096,-0.6967427806159846,-0.5914478847702054,-1.0660517739391266 +0.729797629453721,0.7088964779280267,0.7689561026637237,0.649881420501625,0.8330834876523961,1.555476889554209 +0.5347957494841804,0.6353902860586342,0.5077949970694371,0.6807130571121958,0.6657272185402442,1.1823601284200036 +0.03274939039289222,0.1786651550142483,0.08918054587811239,-0.15163857218724452,-0.046631594025927085,-0.129235466628297 +0.027480585129678256,0.4283192389093181,0.22346447979609535,-0.042459830140701774,0.22553861460809604,0.15280695082601153 +1.2804830115253378,1.3383372017020432,1.3308655156706193,1.2146623978350355,1.2647614842754464,2.479913160068513 +-0.5924832885002503,-0.6098910507078688,-0.5554052827111283,-0.5183758385848454,-0.6767376062692693,-1.099269023302222 +0.6556869377531955,0.6005479460180927,0.7232161936567751,0.5274052003703488,0.47120031127970324,1.3045292262397494 +-0.1547228291458987,-0.11342710984651036,-0.20222401969507145,-0.24865076024545582,-0.30006673606487055,-0.30656810188369754 +-0.22018389910173478,-0.24974796578293953,-0.3358686157693005,-0.21324532347565966,-0.2449222048875891,-0.4588775631455914 +1.180553481907219,1.2782979875784226,1.143724243270421,0.9242061087012251,1.2221492798208096,2.4823198842377865 +0.9644371038897612,0.84842342490717,1.0340210539417412,0.8748869143655331,0.744906830884979,1.8049154065270197 +0.8692906666358248,0.863283944909778,0.7120336866820534,0.8518531391410029,0.8323572121024488,1.7993653671451504 +1.3065140691386672,1.3720712323597752,1.2693325304849306,1.2645479597447569,1.2398098725915878,2.7231611547662893 +-0.1101797816022569,0.06316250269420462,0.0626484454429043,0.12159629281240071,-0.005027062494384709,-0.14872555515047275 +0.5754416049874267,0.7658470213419252,0.67656248639439,0.56920336139966,0.5309488500964387,1.3833531014071951 +-0.3407892270289228,-0.37199207524814837,-0.40849711463118754,-0.1974758572680991,-0.33232057950910976,-0.7344731303303155 +0.2632151322725138,0.26833617709383906,0.4363521381114892,0.3396157190479672,0.3047958145079459,0.6221607468043807 +-0.1488401846662292,-0.2401584776648541,0.10186101783404136,-0.16379831335550193,-0.07611425996411506,-0.30828943286660043 +0.1026609574824289,0.14094608805474085,0.11660911089510893,0.09500860145588703,0.11932405631825524,0.32866252260012474 +0.6481263008725867,0.673050675788125,0.5047501964633135,0.5844305488558195,0.4753178129417091,1.2954837021730365 +-0.8252705610393817,-0.772443396618284,-0.9731167357388201,-0.6961923935917008,-0.7098008588291183,-1.6893287002650104 +2.1410374400680805,2.259836519020214,2.118184873807578,1.9847193629383588,2.1134175797076598,4.412682100523324 +-0.9995699400186899,-1.0065769833826066,-0.8956296471680762,-1.0822693054143617,-0.9861780297819533,-2.048296073939273 +-1.4117352694231193,-1.1473144472284809,-1.166671838138194,-1.1105583235804841,-1.2151068481262461,-2.964743114736294 +1.0641773341181924,1.0489407858861364,1.1578704894081824,1.098557379981682,1.1063351287778458,2.076669979919002 +0.7772539383907743,0.7529527237154958,0.7327355287840053,0.881716001696095,0.8134429279378085,1.6164111714404017 +0.5031503427680444,0.6936735928087329,0.5149034537803462,0.7940634153530262,0.6716786606450134,1.145504560694798 +0.6883383822639003,0.7132557203385943,0.7118206418967681,0.5881660065701165,0.45365594012972443,1.387789702057452 +0.14082831038745514,-0.041643467613332846,0.07913038929164394,0.05588945981061591,-0.0661228565815242,0.41347632749831276 +-0.7753781863160999,-0.9044142966716382,-1.051827350154905,-1.0126235996198174,-0.9227490685261904,-1.686573864779959 +0.05446027110070553,-0.07598281647435462,0.23478845601179474,0.15127788800050726,0.10142161876315414,0.06459419571962077 +-0.5280890978271164,-0.7128646315927726,-0.6197545894227116,-0.6572193129134349,-0.5578306109193991,-1.085035707369643 +0.9899864791379623,1.0641580497697298,1.1150791979323305,1.0224235616337727,0.8979456519580729,1.9685170155286726 +-0.1807659786139426,-0.08953687989148201,-0.28127015635065017,-0.21161458870567817,-0.19685356618392286,-0.3531225184028655 +-0.8868374631466055,-0.7754306246543906,-0.9620796123340555,-0.9916055383492288,-0.8767506078571665,-1.7045838305539918 +-0.35163281030180626,-0.31640847293489743,-0.3362827726297231,-0.27106063517804296,-0.4015386006634476,-0.7477463044206616 +0.3741137724215016,0.41363777013844216,0.4632098969651439,0.20659113902767903,0.3782128047643982,0.7621304135383158 +-0.5466829305664261,-0.6297566667513197,-0.3840884705112786,-0.5954596020282285,-0.4866443308051778,-1.0978781501652575 +-0.806162997461445,-0.7523375535461779,-0.7516125041849183,-0.7281022089244344,-0.927603945102866,-1.7049149853120051 +0.24399181350725374,0.2857845059308513,0.21941908381070896,0.2628769850792159,0.28646865100720265,0.47661695810636395 +0.28866038808335776,0.2941684559080027,0.14232965034213357,0.43980083558770405,0.07477634810688921,0.5629548231770037 +-0.38787854789249565,-0.5595466596378877,-0.3839431180992148,-0.4044322601129524,-0.5630769750153504,-0.7922651522852959 +-0.3760828920741904,-0.6863725976054472,-0.5675088481933943,-0.5364281444508804,-0.5039872356401214,-0.7489898384902357 +0.08356014051264593,0.34176520853300585,0.3948967928348685,0.23478127534278015,0.39953590464904276,0.1746876350866305 +-1.7034764549875197,-1.4959680870981646,-1.476522806457975,-1.4528214117517677,-1.475564571972593,-3.4501824278857725 +-1.3140317832526278,-1.4937413507808672,-1.2484055671147702,-1.565681450711168,-1.627588121721647,-2.5007920931081293 +-0.8551320910939781,-0.6490963300610366,-0.6505510922465082,-0.8124841129008713,-0.918333111938561,-1.827212245108258 +-0.23592369190111562,-0.25264841570376023,-0.22714670065609308,-0.2695232424098333,-0.21004419307717914,-0.5439443946492208 +0.19389626299206864,0.4169012040026668,0.2589679284153919,0.10728551531241093,0.37228465117699544,0.6657888884064929 +1.29515817319155,1.5370568119072217,1.441265429214944,1.4801055637747162,1.5129018027122774,2.486517210884177 +0.9118058960224982,0.9260165555220672,0.9004912924395432,0.8327524387367153,0.8744166337821184,1.6882363245740204 +-0.08402301393316242,-0.29653410108348055,-0.15222288034165543,-0.32722792009458457,-0.0437125702128604,-0.09459835336620305 +-0.07666724797536077,0.10217819063595122,-0.07839734870955935,0.02140507862504436,-0.07297532997640199,-0.36104648132810896 +-1.2616335938522998,-0.9764043115144232,-1.019092505669572,-0.9309420901687129,-0.9130383090351263,-2.5467945787018436 +-0.07313758081763819,-0.05544084991701022,-0.010655433020474923,0.004190311894098988,-0.18171462449503165,0.06830733087237248 +-0.24947823837988323,-0.2743197921859128,-0.5015320483616191,-0.3210654564410349,-0.3791534222139445,-0.6534500689751065 +0.17482740346067663,0.1450950370482575,0.3685353718169594,0.38186277551327497,0.14201442084490784,0.15145835834748192 +-0.8088949515744074,-0.7863656624042559,-0.9252030660240036,-0.7592089075046539,-0.8547154736193022,-1.7677080233445845 +0.5178155293238728,0.41640936342296514,0.40401327392059777,0.5500868712131411,0.514720392514538,1.125467015482444 +1.5906680629626866,1.3974718844182243,1.3640044782915066,1.4502776879591015,1.5441490622252296,3.2938137979239546 +-0.09680211161544226,-0.2609960670786467,-0.28814939824364666,-0.08110007190573953,-0.10257181316814407,-0.24486310292873542 +0.3044048280107859,0.512980559597934,0.26616697178771254,0.5212597871814894,0.3089563890177687,0.6771308964216787 +0.8098011418775617,0.6272176523418337,0.6192418959480634,0.6304810858499394,0.671119907269791,1.7586278165063223 +-0.41707342918853324,-0.24784770089418634,-0.20589455813317942,-0.19142653797259312,-0.5509651387464112,-0.6554122169340839 +0.22136202785942358,0.170512335505187,0.17150451422089638,0.17152938841187831,0.3604153793236418,0.41809052760086235 +-0.08073439512552476,-0.15814339497749982,0.030367411408597993,0.015833102115808483,-0.01777020650800524,-0.3916159620180482 +0.053347873429680684,-0.013976345446034197,0.13772423719946458,0.030427538948198093,0.04878748664446259,0.024607854618392683 +-0.8614900552581566,-0.6494286218547726,-0.7599032652338816,-0.7506827002634404,-0.6141157510110582,-1.765660530009839 +0.007215568266600393,0.008920356465275944,0.016765828186343333,-0.14971199500458482,-0.09971447909598025,-0.011462743124638273 +0.6691691392596839,0.44316956159638937,0.37846891488552503,0.4433941113637774,0.3854395798422526,1.319552338418496 +1.3139534935019062,1.4671454303803204,1.596236362622963,1.341931487760185,1.3415215753081853,2.739796446796879 +0.7979146862975327,1.0094490997019614,1.1399904904489955,0.972804660874436,0.9524836879152587,1.7232722152638236 +2.300299490260917,2.2649223391018025,1.9849165880992878,2.252627195062447,2.196345620475316,4.5834316151293555 +-0.7882799306032361,-0.622497639898757,-0.8697504219766875,-0.7027469441765943,-0.6933800160762661,-1.4667113736012902 +0.8054133628546865,0.8363437721417696,0.8443396024829776,0.635154700634789,1.129520168470175,1.646592862372482 +0.2873324744779594,0.05073723713014788,0.0868882262473326,0.3875489710311398,-0.04160123968172463,0.581115546242176 +2.129241379243986,2.148456417105345,2.2403994885632588,2.219330927279759,2.250676492130114,4.349137174198968 +-0.6256973140004578,-0.7822702346968629,-0.8811255055958128,-0.8859481994044515,-0.8640113426123746,-1.244169423177124 +-0.7719292550468492,-0.9360977348018371,-0.6232162354001158,-0.824009050281682,-0.8983633570696534,-1.338077392383922 +-0.6481837862585924,-0.6951077369335265,-0.48033778600966254,-0.5817736631937529,-0.6613698582694099,-1.4402086891966408 +-1.9081649029832566,-2.0895169361548183,-2.1026383212465856,-2.1905805960049634,-2.2147726913906043,-3.867846895875715 +-0.5863265139810949,-0.5306202568378061,-0.4230563953487878,-0.5059633549465535,-0.35730253822041586,-1.185304917657585 +-0.6849231243527673,-0.7558529620125393,-0.6485426191179671,-0.8198798903157287,-0.6749029288523076,-1.3259009796597354 +0.18032304451685682,0.07454425300620068,0.09399903767038331,0.10995758720720536,0.15271338433194512,0.48744213774402256 +0.4719301047170392,0.3187159043565827,0.260134251322963,0.273128062201651,0.47685755102585947,0.9414203527104628 +2.0323219588885717,1.7837475247890557,1.883985145512851,1.732903710241921,1.7249179426859986,3.922420952826523 +0.9536242530926269,1.0394436792985289,1.0365874506358446,0.9650074852075886,0.8173533250529577,1.9914998958307542 +-0.6522454426970214,-0.47337872219002786,-0.5629976157970613,-0.5183737120107693,-0.7947004288818719,-1.2289950087798465 +-0.8524174570544463,-1.0830334575721674,-1.0561143195674576,-0.8469263117407207,-0.9683561253606867,-1.899020780046833 +0.4241476345312951,0.3989680854872647,0.41163672711142146,0.5739116967700291,0.508089024176981,0.8479148556955103 +-1.1188944822679798,-1.4698861325296502,-1.32763049338008,-1.2877991860191553,-1.3099473492274087,-2.3968031476039893 +1.8451122989626274,1.766456372413664,1.8238922054217708,1.7781862160326634,1.846392956960342,3.6237594881750486 +1.1429079655900762,1.171096323742251,1.376694338400268,1.2634065071644058,1.0383344376146788,2.1955350384838725 +-0.450707621518214,-0.6141401740745578,-0.6077744463446046,-0.6049274060888983,-0.3888601778433026,-0.8204887732122293 +-1.8478471580438476,-1.8053205104034094,-1.6625756049072904,-1.803201667342126,-1.689171777266978,-3.6840112986704767 +1.2567109703143482,1.2534766369572634,1.5027836849982423,1.2574523670230888,1.4271778023120132,2.384862840553094 +0.005501545541824651,-0.09381311231272349,0.11260512928966172,-0.006534239338686854,-0.30381606301162306,0.09900968737938354 +1.1721268840763222,1.2447507456770868,1.1973765696550656,1.3320951633874694,1.2689653978532407,2.2008731857598027 +-1.699118757062561,-1.6666014141280925,-1.545284713522347,-1.5456971350898676,-1.7132041827861197,-3.3652261350780277 +-0.5457097477010443,-0.581692935739833,-0.5423989872339082,-0.4921820364325932,-0.639107348208909,-1.1728205623312442 +0.12381411518448288,-0.04942430874054338,0.02479187287351225,-0.08268457852301564,0.0586801895818215,0.21106052211591375 +0.11887592483124873,0.019815082732136727,0.03709607364081145,0.0818401057508401,0.056089954390333374,0.28817892446633586 +-0.350460702898662,-0.2827202624493899,-0.4064679325292391,-0.46258291431756005,-0.5352194694571755,-0.6487764658913711 +0.5471704234905527,0.7568960375265336,0.3696253238255302,0.7075381427359901,0.6234772479659406,1.2280377543367014 +-1.2098014960567787,-1.1975785530753542,-0.9994134803763313,-1.0791428526378142,-1.2207739609069588,-2.4278283620807026 +0.007753880174255184,-0.05940624323337604,-0.12976169465509677,-0.1808737738623016,-0.027352745431463876,0.04615284664484447 +0.08802764782768528,0.20143528716105807,0.09804814203407232,0.17438648356799785,0.09976722976227373,0.1322815634149381 +0.48935553241324425,0.3996125051834872,0.7191250536307048,0.6020557507778723,0.6262938284842816,0.9969100530887682 +0.8444342922737954,0.7934926424643757,0.6441214762098344,0.6447803586042093,0.6589617093792852,1.732817189348442 +-1.069019090897803,-0.9708488999966137,-1.1649496907443722,-1.1307496589731065,-1.1769996906785274,-2.1478691665410437 +-1.4885253935274616,-1.6463686513600637,-1.334958840515149,-1.6399582340997876,-1.6105328493994069,-3.157425835464173 +1.4941770563886174,1.1859265397970826,1.1944706914135235,1.027870720149215,1.3652942150678167,3.0215012024103243 +0.26796218894157736,0.4340801586639419,0.27730248368593774,0.35235997512096456,0.26137089624674403,0.5723805256187005 +-0.6557025237484299,-0.7213370054739888,-0.7631890788996386,-0.6875960009310904,-0.6840269933150359,-1.3794223951316549 +1.5568532880122314,1.6062996030464753,1.635225423735478,1.5773586564311954,1.5129067357555939,2.9852678724172117 +0.1425338621791844,0.14973355593290835,0.13645488502819,-0.07928153748257806,-0.08192169569630332,0.4326556394087653 +1.3321440267050797,1.2183667761566408,1.0500346493486001,1.144212241056179,1.1222657772851798,2.7134326044995998 +0.11830205703907133,-0.06512873142099936,0.014301625097389997,-0.15431629459499918,-0.05039234002617589,0.21369601098597168 +2.1145775327869503,2.165479695544132,2.000012481560766,2.1977180356474055,2.064138197250221,4.1154517772591515 +1.8625915761741847,1.8722998416859817,1.7476187379208998,1.6467353842313959,1.6363000688757554,3.643001669506235 +-0.285459421433362,-0.27190322288587626,-0.20637978261609058,-0.12342378753308386,-0.15636663840761184,-0.44065980318810083 +0.8876499842204548,0.9672232559729692,1.0133915265431526,1.06615791532277,0.9624633649190527,1.7890661625277142 +0.5408950301830442,0.49226519932957524,0.46777477418030733,0.5553169143315413,0.6276163501092736,1.0267313536660176 +1.1719958985947485,1.4200570331341322,1.4750256562884343,1.2553530624055742,1.4342207713111068,2.3949607203119627 +-0.7593027475860723,-0.90771771640869,-0.9396665759804421,-0.9298864389414706,-0.8685327671725183,-1.600045313916777 +0.575730623426271,0.6798323582985082,0.8245046647578299,0.6016190562801321,0.6840415848214741,1.30154554988058 +1.0362991244910107,1.170859822836638,1.102844319578655,1.0686729510654085,0.9813044568946587,2.207878302471694 +-1.7864208164120063,-1.7921472095211084,-1.648607190649538,-1.807022245503806,-1.9361364480343273,-3.6194990399442903 +-1.152517842884865,-1.126797920076415,-1.1366039815207625,-1.3613743541123384,-1.2518634883692932,-2.367902710472816 +-1.957658456506171,-2.1411986116293122,-1.9046096021398258,-2.2622789796725464,-2.1009534024248966,-4.17713023288157 +-0.18335948560858312,-0.27176204953198146,-0.2171817708427798,-0.24673840959509794,-0.25870108914532797,-0.5148770483723031 +0.6592345119390682,0.7001068300056785,0.7077507311516716,0.6613864811628996,0.6830275676821593,1.184522046382361 +1.485644880717387,1.5248878443001221,1.7296005241407162,1.447048070404615,1.571150349301171,2.9848087955335125 +0.10235277546860515,0.037142087536439355,0.1629984926477644,0.14368116432915373,0.012796453292706234,0.1720821804930743 +1.6037464329529372,1.6154682860041252,1.6859899876717332,1.7459597732345364,1.6229114288859976,3.0729593171643503 +-1.2193669006128922,-1.2974967410707408,-1.507731899868725,-1.4073559303510723,-1.2617027138952024,-2.46685020547224 +-1.6542849441913294,-1.7470588630789763,-1.8322132011015084,-1.737442310046141,-1.669199917959658,-3.258036173617924 +0.01794007970836297,-0.21620540897048673,-0.026276150682433438,-0.0055333955852303815,-0.06155145306547523,0.08866409440828465 +0.45035357580604857,0.5590238393598493,0.39861756871613135,0.24837189196934975,0.32387100474578956,0.710740123526209 +0.0846526376544394,0.10545065977495555,-0.09410700459492474,-0.010379442619323408,-0.09601788776559081,0.1564789272604957 +-2.049339944169506,-2.1966683695504385,-2.0533438300786706,-2.012253502857661,-2.1525034253350714,-4.237013966036173 +-0.21880323430837306,-0.02014925898826897,0.06974265329157117,-0.021097018671025494,-0.14322072609107833,-0.34743359890271874 +-1.2645007053295891,-1.3547669775599875,-1.2349292530498233,-1.4981447707550997,-1.2289029166304217,-2.4505867690238285 +0.6045368594508556,0.6960212703631444,0.5555716978547647,0.5935370218491444,0.6474837217008116,1.1192709962692653 +0.3137365779218726,0.39602065899819766,0.3554473633825539,0.2787719208145016,0.23162093915872514,0.5508686356037051 +-0.8812433844518459,-0.9633205663589874,-1.0203764344126114,-0.929891090886434,-0.7630628570213769,-1.8086134739535225 +-0.39003861019332997,-0.5922434838953332,-0.5526369089775497,-0.46579245935989516,-0.48187039822217725,-1.005356559859794 +-1.0570863642153454,-1.1282676271205776,-1.1005750884519159,-0.9095424811443534,-1.1999078619402685,-2.0805759110866333 +-0.03179579601327549,-0.15429828882129615,-0.1104436555335724,-0.11217564530997921,-0.10686398999725427,-0.09087604666056406 +1.125363814964762,0.8719600996781938,0.8296287833038988,0.9053850706703168,0.96623095878408,2.34774513818631 +-0.9616507283866869,-0.9924438753404793,-0.9984915144873627,-0.870758844447669,-0.815266837005806,-2.0331423785696288 +0.7642148269358839,0.4324705166067692,0.44798575183311345,0.5337042093708749,0.3932352696919575,1.4665173590467746 +-0.47370665380928634,-0.4620524118011788,-0.8232024873726675,-0.4034924672536434,-0.4326535464368461,-1.0980658334224842 +-0.968949108177926,-0.6441482167287514,-0.5875756298121779,-0.7640000319613606,-0.6529241895651099,-2.0383272727052772 +-0.03169619784410457,-0.16503568409156213,0.0018466054671093801,-0.22274202182588493,-0.16989579046201486,-0.18159059529503102 +-0.9971264839310963,-1.0113018723658365,-1.0728723949118737,-1.1685551578971547,-1.0629936843053975,-1.894655599977548 +-0.42467402993890746,-0.5036807943168886,-0.5517674003731222,-0.708800530253075,-0.657280230084559,-0.9191742447529542 +-1.1305597574618527,-1.150677665496921,-1.3150433273206046,-1.1316727091130012,-1.218224006696879,-2.248701946449244 +1.9508795345180119,1.972320659707998,2.1342974206974756,2.08358481522509,1.9610661354820962,3.8636827286498434 +-0.08716627165720797,0.10953179380770084,0.22499242144903978,0.22019976611036673,0.10122855177996565,-0.30127906991569725 +-0.7206278337211879,-0.6515006127245196,-0.684056135167933,-0.6154149747602613,-0.5907071608905407,-1.45808570975954 +0.12892786531329198,0.09021366850149216,0.31633297515275643,0.33026376848772054,0.13917030427205723,0.3177660638129434 +-0.1703803946713019,-0.02541244325190231,-0.09479937179743725,-0.1703296829561981,-0.3090605561134291,-0.46153672859693906 +-0.16211175909116163,-0.1322405158065484,-0.3546421434208157,-0.33661118120760825,-0.2230940774608468,-0.24331223910918537 +0.7811571504785658,0.537838089625567,0.5729843631470595,0.6991746332851806,0.6435204530402893,1.477342208809362 +0.7969748630296032,0.7613014935920653,0.7707005067245009,0.7992757852712452,0.7824494788158093,1.5456513334519224 +-0.6500894538140459,-0.4621682483294205,-0.5759559194848719,-0.5197567101764382,-0.5631684723614319,-1.2471105953270871 +-0.5313579738226659,-0.5967496226026162,-0.5976835683881836,-0.537081092581381,-0.5633430306782866,-1.1290595633672806 +-0.1553885484870789,-0.16775389237504285,-0.28419165290255555,-0.24273314890582343,-0.12350721631641925,-0.30701961104057124 +-2.362899455167523,-2.0655339152736487,-2.310009014522131,-2.1735394787502287,-2.263747747839334,-4.757267993213855 +-1.5285927788658438,-1.5937896654620503,-1.5099652131488037,-1.3856925037168564,-1.5525279046988605,-3.0442487570613057 +1.3683430869174442,1.2287698071291469,1.2608137608048644,1.4212963026785592,1.316854485734925,2.4986122632825385 +1.5664778821930596,1.6753495730617713,1.57326609858849,1.7295480007575765,1.6279824777335106,2.949987582865311 +-0.1842079961719924,-0.17687978904376395,-0.37749446612637527,-0.19762978431390074,-0.0853620433733143,-0.306819291739301 +0.5644621481949883,0.5534703256712895,0.6743385180243865,0.5304399898523046,0.5582268921031467,1.2326424369548816 +0.3532033989342389,0.45657622087563954,0.10068546035950365,0.3869066220348501,0.30927072009146533,0.6153581275153257 +2.990131590675028,2.945020228482913,3.1942398427869305,2.9394313015693116,3.0306494513616076,5.955860346132942 +1.0758290814022358,1.1888667737377379,1.2582098511608613,1.224964066664165,1.2294732471787733,2.1811300880947018 +-0.05567945569798939,-0.18850367355665587,-0.15813565017902867,-0.24736988545737004,0.06806613399370098,-0.04203715123010836 +-0.9928237558096025,-0.7836026499796961,-1.2158541493831556,-0.9269601119209525,-0.9104791356572869,-2.18841523878629 +-1.433749935134232,-1.4071947849407607,-1.6425773764543015,-1.6909617161001884,-1.5981690298790299,-2.9561038949663017 +0.16350001730576286,0.1267979770888883,0.1970452197383412,0.2588025341746658,0.20714191918464658,0.2937420966265382 +-0.7338822727091148,-0.8113064588751614,-0.8574105672771948,-0.7597432678770942,-0.994781424162878,-1.3974505256946246 +-1.3289946264103651,-1.336294920899694,-1.4737755489784985,-1.5817293054140076,-1.3477386231691924,-2.4081462044485806 +-0.7884094575358298,-0.6852859492214781,-0.49355336435619157,-0.6045029211406788,-0.6331562426429423,-1.5996194877526313 +-1.2576288848124728,-1.086089125407619,-1.0150552873842211,-1.1393400812976662,-1.0387137985483226,-2.6559555158353447 +1.5345760036155554,1.6896804771268057,1.5946852236347548,1.7752563071539016,1.6159954156641942,3.1093788149512407 +1.0078981672921687,0.6896724413296849,0.7218798399899073,0.8817723258228912,0.8431940690517413,2.1478959135384086 +-0.06315845590586205,-0.009356415926041101,-0.04067437307759446,0.03156945722218646,-0.04907513496693468,-0.11551549971377402 +1.7357640674568515,1.4109713614836088,1.4585984609549825,1.3841872433885052,1.5821064372973301,3.3808632803982737 +0.020943547781879443,0.0280560254076411,0.12698822638394994,0.018435084504882113,0.03949232398730897,0.13768648971176078 +-0.84282907100856,-0.7169210009813822,-0.9148158725850296,-0.9071480649383721,-0.6530181691172838,-1.6193035801672764 +1.6773350725264449,1.3974733878417316,1.5742740348058435,1.6087943252939128,1.566210319171161,3.2520620606333273 +0.739519332500571,0.6202305623594564,0.7324254476906815,0.7066477524652076,0.4113417776850855,1.5171812267545761 +-0.8310957966628166,-1.0651424473596371,-0.9556960520820301,-1.117763329500744,-1.050100783651652,-1.562465036559746 +-0.06950205502429394,-0.21831469493319164,-0.19514752881668546,-0.08265386361784015,-0.25550619029924976,-0.020815105792698504 +-0.7732120008036112,-0.7965810637795863,-0.8939333004900869,-1.0925859951573276,-1.0950565003667598,-1.553068899138168 +-1.3235470360442179,-1.3487946015074472,-1.4184670443823233,-1.5022186710735652,-1.2228526369529573,-2.6829020167063677 +1.0040136551483052,0.9832388472535945,1.0442416387768558,0.8302997019129639,0.9964918017536418,2.1307546925047367 +1.8542980688372772,2.0062351065234165,1.8466852958750002,1.7741657715260584,1.9627373722600618,3.587580087376466 +-1.480387462161372,-1.4316984121374734,-1.3940453029191429,-1.5569264127978992,-1.3820272077891709,-2.9169169952306433 +0.5626317909494757,0.5017455632397958,0.5680890268786793,0.6042691279043506,0.4247674798213271,0.9882609191625085 +-0.66766103137432,-0.759157621777607,-0.7008209884029803,-0.6720493388946133,-0.6990042830773708,-1.2287844355226798 +-0.5324481886974237,-0.5696664367625918,-0.6243719385531064,-0.44918484400418524,-0.40294730628629494,-1.0907009289559635 +-0.5227551794931976,-0.29748448170799663,-0.5600964738771023,-0.5233466556267179,-0.6975159272171194,-0.9186520354216483 +-0.768460248822765,-0.7395228116061373,-0.8700911668653544,-0.8374290703625626,-1.1171677013048973,-1.4877792220099773 +0.057362316574011724,-0.08658580867597514,0.09854567488848398,0.11429794555986436,0.025811027166734352,-0.007597389858169545 +-0.6831971083055116,-0.9631959120853948,-0.8843101470549545,-0.8379033450352648,-0.8451258718137916,-1.2239314434032988 +0.1562879143664883,0.318643431951688,0.3925389556611436,0.15175748694926433,0.2840131674213097,0.4677003553757496 +-0.06960405537710876,0.0044883702886597335,-0.13791548757032143,0.05554330863294267,0.022613754902316666,-0.05097946149429594 +-0.31063027892669026,-0.1840596633346733,-0.06774401846462047,-0.29785926014452246,-0.17518746564328888,-0.6974193443570025 +-1.094217323748904,-0.9330592413969677,-1.082327313024424,-1.0011232919178406,-0.8816866815172058,-2.2190360429335487 +-0.5850393991526026,-0.5893167565686228,-0.5332943241126437,-0.5945631181487726,-0.45721819175966183,-1.1555360765646292 +0.7432164749874277,0.7881791782416918,0.8029342940784183,0.6641101338961047,0.6034942477444245,1.416061910041712 +0.6522621619485939,0.5095064882537138,0.4213614808302925,0.45917414942543755,0.5513753690721198,1.4737589811435083 +-0.9144740763430733,-1.1994852820733046,-0.9351158510124498,-0.9431498526422044,-0.9149014084648568,-1.814515505513543 +-0.003086377003694629,0.07635234237170649,0.22728417240524174,0.13416647935383857,-0.024623923178798066,-0.276507558718125 +0.9367963800052079,0.6662464799457577,0.5297052394363826,0.661604116729226,0.6011000625035501,1.907528341286038 +-1.5473019115688365,-1.6518841392305206,-1.6191308003722904,-1.7181758184162463,-1.7439994937689318,-3.1294195628194044 +0.6015699627267966,0.841886092640276,0.29403311034692725,0.6507934928569594,0.47720604812840584,1.1956472698417484 +-0.6852721688308299,-0.6258755923984163,-0.7591902392981675,-0.6129837471724526,-0.5872818125956036,-1.4074062742402298 +0.4746547449208114,0.5392456999759195,0.7335153050832539,0.7781051725280135,0.5091447902240498,1.0300141315022915 +-0.8004798341496222,-0.6710790063447917,-0.8214373598817223,-0.645246339168364,-0.8488940083706372,-1.4889908904439062 +-1.6960072386941005,-1.7566133119435978,-1.9222700971054163,-1.6904527938085252,-1.866045474333975,-3.3637091611623355 +-1.4390838072897019,-1.5855329888379786,-1.647336210781631,-1.7663292929287429,-1.5156792044677414,-2.9120987332932198 +0.2024092994886009,0.1087700059829491,0.2548755804777372,0.12447098182472426,0.04938928409907721,0.40068487849628476 +0.21083755954285446,0.4653768582044361,0.07655427700087925,0.2544118215517908,0.24179739918579063,0.4236350807434718 +-1.0162783684333097,-1.0174054686370002,-1.009447616268343,-0.9594148054582335,-0.9153171749745137,-2.112799740853103 +0.6526810834684943,0.6859556664585194,0.7883356270953366,0.6553939928306267,0.7677984922100262,1.3632550317941121 +-1.838363998825245,-1.7541581752671138,-1.4757498279151866,-1.5669989088078116,-1.736437234929284,-3.630723765264443 +-0.03376302722883842,-0.010528534013091742,-0.07642292107634496,-0.015996639546895418,0.06547103044669382,0.0865180695199905 +-1.2257764583923234,-1.302884850911066,-1.3349214700151206,-1.2988635798966623,-1.1899665698703061,-2.3260179387557995 +-0.6984397579889834,-0.6935727891626676,-0.44225175762124325,-0.5775902164428972,-0.6678780459996939,-1.46544700773698 +-0.11207163541026555,0.017889679892623384,0.2068429104913337,-0.01636008289118237,0.29748872110984215,-0.1421134333696346 +-0.8090533546269807,-0.7628316933494815,-0.7925186665077291,-0.8387450533875238,-0.9659773142638121,-1.7132020475634087 +-0.4378256281960165,-0.29271009983558394,-0.46579577912356734,-0.4148905509775388,-0.419924120186526,-0.8060580462979481 +0.8893011256434117,0.8817210715698021,1.001389875130637,0.984406184040878,0.8830496852980405,1.7269408314108126 +-0.8641180908513137,-0.5713984584231638,-0.5929278776276318,-0.5002675720190978,-0.4816456724695318,-1.830561504040186 +0.8329406215600782,0.7647341265902245,0.8687772425266996,0.731672740083552,1.0046110054303097,1.6938857773898968 +-0.9524816949906437,-1.2555573457251517,-0.9846067108444845,-0.9351873472299248,-0.9627145765171542,-2.1724201027967016 +0.6959300993700698,0.5081024728728457,0.6177458820290231,0.34769557098583315,0.6521990532298833,1.2167626412996166 +1.3958589949992732,1.4107203418123184,1.3338310129594246,1.3818018523324147,1.421806573878304,2.7739688016211184 +-2.5318657061634675,-2.228972851492737,-2.3339948551253356,-2.434623311133115,-2.5081685978762738,-5.055487235663451 +-0.7500178298629744,-0.7535992729344072,-0.7655820414691613,-0.7384638388269458,-0.9640122327198833,-1.5369675367417677 +0.47723358326171084,0.4393103771051163,0.6457787067664317,0.5670245551233695,0.7806594806987193,0.7965235366516618 +-0.17286619606104608,-0.2595227864600869,-0.05639130011513238,-0.20878445634314696,-0.1561475782281459,-0.42752157633594273 +0.44775390120977787,0.47328420291424866,0.2599878484199537,0.4122008819040705,0.3219501828843605,0.9346287351432951 +-0.4812918643273898,-0.39514090942882807,-0.6075677445864669,-0.6270921344615886,-0.4711794978171238,-0.9044055515919434 +0.07657437982490464,-0.07200854375089594,0.03344433233697841,0.2259079132663905,-0.010686664203100174,0.15152644789021516 +-0.17604461040977606,-0.343669673905984,-0.3124631779286251,-0.07174232396891925,-0.11501503196981207,-0.23640584271585324 +1.0799838029841513,1.3548785791969855,1.2024530594202993,1.2550644967603708,1.150519148230724,2.1997073083142262 +0.1717328078972271,0.2933822610383035,0.5055764984596555,0.1578051709641714,0.3182885572892432,0.268720050398633 +0.31495477288504947,0.2507733888875655,0.1535948876246269,0.32966381963463187,0.33124530815659003,0.6018593404289372 +-0.3751404154408496,-0.3584140575102238,-0.41510502722741444,-0.4419235609945378,-0.5569697552335898,-0.8905674466024847 +-0.3962477614491686,-0.7511809979741813,-0.42355193056501617,-0.5881663616414401,-0.4800485868054898,-0.8033094219374789 +-0.5128760828876554,-0.43222063715990483,-0.4202503676540028,-0.3965417694250442,-0.3276717736320847,-0.9145421038531769 +0.543720999274249,0.42723425966260536,0.3831393371267228,0.3406875666003152,0.39153050179289833,1.1559710070195948 +-0.44809684092451985,-0.32855746686648,-0.5509061171648454,-0.3554440978352392,-0.34347296866135435,-0.7559927492571274 +0.28763812746156925,0.18838526166715908,0.3130535311904292,0.18275570060697968,0.18522190832900753,0.5449877305432392 +2.000679630730656,2.083969514785774,1.9997244009438457,2.2473048599296206,2.072774719318453,4.135969240912738 +0.6287006774043982,0.7785822408257336,0.652132532933837,0.7814914375724862,0.8086736579228346,1.2380709321639993 +-0.23761899253173616,-0.3004851566004094,-0.20656431011646806,-0.30409329844779753,-0.2513254481573701,-0.3280794768064829 +1.2748983118731883,1.1116792899276424,1.297052504148149,1.2803998532027516,1.2043630783901444,2.547610949002164 +-0.4362081287333727,-0.4488854569375734,-0.4029092753364434,-0.46513941604156267,-0.3390680053878901,-0.8016931200863178 +-2.0314254634553666,-2.137706074656877,-2.0152170663572835,-1.9528776708345588,-1.9293534925620672,-3.9153396904797475 +-0.9564923891469941,-0.9429726867350384,-0.9006545096458479,-1.1310046706974457,-0.9389244534052652,-1.9323275411521088 +-2.02704650671451,-1.7849468093601892,-1.8483579553480474,-1.7255801511075997,-1.8434800775964912,-4.032254114674602 +-0.40441875177593817,-0.37497554103705005,-0.2611117285651772,-0.35009855754473285,-0.45133470989244917,-0.6799511610312461 +0.09784484715173442,0.022242178685554535,-0.011329840897833315,-0.041222761607336296,0.018139768122861576,0.18238937791046247 +1.5510083699583577,1.5315781708119283,1.8076356861326774,1.6465191350325392,1.6231282720736995,2.969927511666099 +0.35628316698082557,0.29695970896348395,0.35900594635743105,0.4078193007034346,0.29252097809374,0.9268670394201421 +-0.3547587092712048,-0.22412099051303871,-0.19969533444827683,-0.2775460579939081,-0.2565539438838893,-0.7564938649761233 +0.8760485794268418,1.0914848902864867,0.7023994723122859,0.7544698122412115,0.7314130237052647,1.7679727639474379 +-2.2146994572376335,-2.3223320115853014,-2.182439723577714,-2.233288968766259,-2.4068691679212844,-4.313798247530154 +0.07410137651801499,0.3820322819838097,0.1524190663591208,0.11791834683156913,0.16880025327578924,0.0873533626629098 +0.887339129332684,0.8705510712335476,0.7070369212341174,0.9529195846811485,0.7902031390793828,1.673891467343155 +-1.5520454034596465,-1.450522605330828,-1.5601238086114537,-1.5352257049013138,-1.6134039503225905,-3.0787170772418095 +1.062728799505491,1.3196160916264423,1.0371305500170065,1.2269157218249696,1.1453222668540914,1.946149959219743 +0.35855332721750843,0.3757069547551004,0.5509735477961103,0.3594434158591914,0.5285232499255106,0.6883160467482249 +-0.3004241789579297,-0.3763719943340084,-0.282154007701961,-0.5137413189489981,-0.31298225837557736,-0.5763444914843189 +0.5311996842084451,0.6274698008045303,0.824818616320711,0.6321863951850119,0.7971360170183378,1.0354041787343737 +2.276860842789193,2.3930497460462585,2.1484033558488393,2.3490931357354707,2.3098056454976685,4.399376591259812 +0.22474790509155246,0.2915131784395835,0.1889916300495844,0.1630401215498645,0.29861723735713974,0.6089136058035062 +0.3175311470266505,0.18565285755071484,0.1188698237799265,0.36753188088543887,0.17582411325355735,0.6454161094482185 +-0.4417167440125216,-0.5912856190001209,-0.5289303872599506,-0.35720936026205774,-0.5237949262424425,-0.740318276248869 +-0.8865471533731241,-0.8701424332043575,-0.9416570678064493,-0.7579528839989589,-1.123758390078539,-1.7990979317642926 +0.7475767944793736,0.7503319601044809,0.9542942171884018,0.7843701393169459,0.9489503639484755,1.4071523907896708 +-0.8474694376042298,-0.8624362833704027,-0.8957067937190433,-0.9640680706870159,-0.7020514279268786,-1.6680207831829434 +-0.03564766397916823,0.19531005068780638,0.1784041705887941,0.010207476683113018,0.016248512684665498,-0.09287404059115842 +-0.7697924951145774,-0.5233876122737957,-0.41724535780626487,-0.45803335269844464,-0.5030526174048402,-1.6573611360282905 +0.5226358061621588,0.47469748761523456,0.7093437009568709,0.5335584970996275,0.4035936143772959,1.1922500382030672 +0.424055589395568,0.33946437876778796,0.18571768297297606,0.1165049648109037,0.3719274604346976,0.7858841565017364 +0.8012467007037156,1.1223830324784279,1.1634632682365793,1.0367286240967244,1.1500331987882235,1.4184667629278744 +-0.6109894693257409,-0.7347053322532077,-0.39537231181467436,-0.4942074763224287,-0.6842935962428512,-1.0891623332557487 +-0.20795950919285147,-0.3305449647699009,-0.3672128190960747,-0.2976293609249264,-0.22893108222914602,-0.46634881996696526 +-0.7730141688111375,-0.9576353465543601,-0.8780503821349914,-0.8496363318807194,-1.0064308929542218,-1.6068107268838374 +-0.4422138893085706,-0.32428536443342526,-0.4106787637734885,-0.40211525265102427,-0.43295382087944245,-1.0609665373201387 +0.3045001989219385,0.32811024829423147,0.35455286704951117,0.5083196838529417,0.4231998932122811,0.7830945465035761 +0.7386989725348678,0.5693333460411645,0.6745950679481519,0.7353925646103286,0.7381683727680698,1.3484498863487668 +-0.784677682262807,-0.8601941795810117,-0.994076269322544,-0.8284175749269329,-0.9325240095182035,-1.563510416455049 +0.8050095021932067,0.8060696812230972,1.0745871296842529,1.033112559558412,0.8482184033501963,1.7012810366404574 +1.2757186581399256,1.2366711928959149,1.3557061407006992,1.486807203732217,1.452669478983779,2.593609009580161 +0.3651605510054976,0.35100036425237846,0.4916479033768468,0.30422074388082754,0.4553108992364505,0.7243556708117761 +1.7814629517321947,1.858343276792481,1.7977058743913106,1.8514282048038277,1.898854166331802,3.392759317635648 +-0.7615221675040935,-0.8342636655573943,-0.8517744937257369,-0.8083056696485527,-0.9008843712128013,-1.6040168185849155 +-1.0821868574644609,-1.465211309021324,-1.1364562223864227,-1.1957292498037841,-1.2825126776327325,-2.1455936811246694 +-1.7464123215926757,-1.6890136292155653,-1.913677870059432,-1.7100848934028252,-1.6888533328703612,-3.571542050184051 +1.4708089612765542,1.6235318156170553,1.454522934698656,1.4121550440866093,1.4998139688015752,2.9619538685529854 +0.6251845294625034,0.7195178554880083,0.6577683974612809,0.6611495077457515,0.7203188033129716,1.3185433998065208 +-0.2119037517801208,-0.16935323795293675,-0.044447410726449824,-0.2575774041260687,0.12106650912230829,-0.32755721498023144 +0.3682796040345362,0.25981947292506846,0.26205929781820464,0.42416312690000924,0.38382923324070195,0.613941272287804 +-1.1332727669996567,-1.1261411788213223,-1.0859070691887842,-1.176726471366046,-1.1161732135284024,-2.0468809285014182 +2.427703988257764,2.5056314185730173,2.5150375551986075,2.451338373601276,2.3946530625972535,4.93215591097094 +0.44853193875971364,0.19605523084703558,0.20268493652116049,0.09825621057642142,-0.12613377763036235,0.8968924621525209 +0.13927008544146155,0.035977414727043355,0.010814413738110262,0.22399755210623445,0.09255630235760767,0.38749382919058717 +0.6505875188891739,0.7339661795400483,0.6973511141058125,0.4420159797589544,0.6931653743170074,1.5377158149783452 +0.4383734721161589,0.5267372721982373,0.600485517924407,0.47934819750412233,0.5200458511762508,0.7328749341266309 +0.3387285951988068,0.36946625649380804,0.3133487430365186,0.21330214852936158,0.2084935015816626,0.6549309261484783 +-0.7791474143915355,-0.7200238014628396,-0.9277604005934184,-0.8358380942044802,-0.8225129613889913,-1.7961379947704037 +0.32764055930425906,0.5503740258735477,0.5066163471712158,0.644091011699559,0.29352846408527367,0.6745462718733206 +1.9739473899325541,1.8904071592679699,1.6842019715375527,1.7932915505894567,1.788027713560027,3.984434204057622 +1.2786056376010784,1.486465960675328,1.3501135363610146,1.4225996638785439,1.3930851502350334,2.5532950636578806 +1.7805164042611519,1.634162906235347,1.782963328313995,1.6288119055100057,1.7647773897526666,3.495579451422473 +-0.40321086985972043,-0.5973244674485423,-0.6060049481580839,-0.3850637511776337,-0.5209682148057476,-1.0113731913382735 +-1.034337009824456,-0.8492678232460618,-1.073037124807739,-1.0563237287363314,-0.9568237129011685,-2.031320651307735 +0.0023147160738631323,-0.05599659284574539,-0.04938394194236219,-0.19908381001202405,-0.030539104404367606,0.15017288053925879 +0.06251046334143494,0.011420510175846374,-0.09855523923227,0.16533190303643447,-0.025364481331330353,0.06591908110952667 +1.1794688859831706,1.046242221731024,1.0309160154824446,1.1367236493039596,1.1308729227994927,2.4029437648686556 +-1.6439913479853718,-1.6628070752007431,-1.632820515956644,-1.8469583643824952,-1.7665136403480353,-3.4447971273127487 +1.4449146539615263,1.575868798987372,1.4661217346916735,1.4756198180142868,1.616032763309715,2.935550614292304 +-0.2223628818107356,-0.13827867201586874,-0.18160489730008658,-0.11936963319418331,-0.14286759378381617,-0.4840639933959369 +-0.3238849881893039,-0.39575020260313154,-0.3524624989159166,-0.3431046477927611,-0.3970358885492761,-0.7240117714388992 +-1.0455819084708218,-0.8421086378025296,-0.9699497669065116,-1.0800274405794632,-1.0903642350020266,-2.1672001810632566 +-1.6952215181899695,-1.5477023566422812,-1.6281748322362295,-1.9462822708474639,-1.5841534359046914,-3.42980419458324 +0.7276583260269792,0.842234143088417,0.7892583560349107,0.8754929025356178,1.0316418760850161,1.493559983623212 +0.11567787374774999,0.16744902526515223,0.11032407871529945,-0.0487141018059937,-0.027473202354416734,0.10013942737594819 +-1.0837084078167394,-1.393213290093808,-1.3023341677510296,-1.491694779553295,-1.3239368005058063,-2.207128348790264 +-1.4018320634890433,-1.2552860670689352,-1.2492982110710376,-1.5783113645620301,-1.271918024646807,-2.8078113047780016 +-0.3333627536228524,-0.1548540643168172,-0.38547790180192604,-0.2543866132703541,-0.25714407809054657,-0.7766294296988907 +1.8102435808309358,1.6472169357501556,1.650764627851439,1.6818832703298896,1.613066896760446,3.8001536818293733 +-0.2675554904881763,-0.34435474422551327,-0.3585871306188062,-0.2821569894348299,-0.5428943803778787,-0.6204605289824867 +-1.4579057734931329,-1.5683518419774123,-1.5066437141187299,-1.3642405168218301,-1.3672240037017036,-2.9827552383496148 +-0.35198241690063203,-0.35470636782018294,-0.32684315044882856,-0.18201059578363682,-0.16969245212752979,-0.8017956287835138 +-0.22989286002690534,-0.35119976056044055,-0.3841282147638695,-0.11109356547547855,-0.44701832279633674,-0.2799377113399989 +-2.7156010694420267,-2.7339374528005744,-2.6710205281560326,-2.8361601901582714,-2.7576435221195275,-5.375911616024105 +0.0442781330501741,-0.19485156843567641,-0.033020888932046175,-0.057749928913208556,0.1025233764349204,-0.005102934524016028 +-0.11219592505220286,-0.22937269681371766,-0.1526471567138207,-0.3926058677034794,-0.08615488836289137,-0.11376869421840884 +0.9551627290152798,0.7864340821920831,0.6530938078559084,0.6732681316278716,0.7900703670813128,1.9303953274594474 +1.9069194122667028,1.758180476930653,1.8897613796290207,1.8240945095686774,1.8313448515493589,3.8395641666445557 +1.159144661205974,1.2784934219119344,1.1816447867751236,1.1892263932740645,1.1348637714290084,2.2838416015367025 +-0.2494502603970969,-0.21780948170207104,-0.224411309771671,-0.26433230244064065,-0.28198127106744314,-0.5738421194898911 +-1.141842538022739,-1.0034678501792644,-1.1890912770218844,-1.0441851949136787,-0.9937019304147864,-2.249908466140018 +2.6072081875960293,2.5075763478646467,2.588296151476979,2.64370381656375,2.4857755626003493,5.1599076521925 +0.029678293000585314,0.14467095672114982,0.0956324636199544,0.27471130175280245,-0.021361531473932216,0.2410321489586811 +0.030775389539907633,-0.09526409812658511,0.014647138603740397,-0.017600373615666236,0.11495675059654778,-0.06537833144449515 +0.1076346664507927,0.0648996629736476,-0.23277285294711175,-0.11822735717664118,-0.028561232661159442,0.3688850101870799 +0.09743050423989122,0.21526869474720847,0.21413372316520335,0.22269312229949623,0.33593149631323616,0.18372912360000238 +-0.030372555811038204,-0.08903528992546435,0.07689269201578153,-0.2245884146378971,-0.21151163262199732,-0.03083653821996582 +-0.4419505001462497,-0.6912214674427215,-0.6096659337559346,-0.4254659300365827,-0.5791398429141188,-0.800585223629556 +-0.5586657939395,-0.6363659254680526,-0.6196666510259242,-0.5751807451349153,-0.6391002397247875,-1.1803565173794437 +-0.24493876011685786,0.026969551609340094,0.004581585755141435,-0.0893109070033974,-0.03201700207364167,-0.4034526817638521 +-0.6042069698432082,-0.6382595715561851,-0.5121869500871078,-0.5905563432488767,-0.6912794648336449,-1.479168325224534 +-0.5831463280210534,-0.666525153467252,-0.5935722661355229,-0.6410040403300002,-0.7616091247726606,-1.2382916093643006 +0.10414342146200863,-0.03028355295412774,-0.019356587898991973,0.09065552936874831,-0.03719515880091495,0.1158805621899107 +-0.3549074406503463,-0.17015979615418841,-0.18183919216335598,-0.31914389943389343,-0.18558489410172938,-0.8351654825378687 +1.4535154964598667,1.3807406571058374,1.5630351947078347,1.6705281803450416,1.5756519225586536,2.8855355091118384 +-2.5669078057425567,-2.59573981462506,-2.6651844620870664,-2.736586792459187,-2.8239960814414466,-5.095240614666944 +1.1461802087425996,1.154069945287062,1.1253755837146306,1.095063459325761,1.2248954264725191,2.3626264173351297 +1.2221919825806595,1.1764080106546715,1.3490309406574648,1.3113158076586522,1.4958267051396144,2.4684716408813596 +-2.110072673589618,-2.015187575699677,-1.9861586944053045,-2.236523743449857,-2.0687895937345155,-4.286714693668591 +-0.381863408984731,-0.3166433677469932,-0.45698952528772163,-0.2946615439397563,-0.40679902010281327,-0.7268251741869453 +-0.46368188444564173,-0.4253250516150653,-0.289425047320243,-0.4769516335438364,-0.08900780689548682,-0.9149351994061984 +-1.245974125770877,-1.508367163125442,-1.413980555221073,-1.325233416634421,-1.5394085445480723,-2.3983426347481522 +-0.8100487345120093,-0.9740792567581332,-0.7705292777893239,-0.874081788782773,-0.7758060409039654,-1.542403798730867 +-0.9888599933832791,-1.0756108407358593,-1.1032561463656594,-1.0412989422809427,-1.0926136182026365,-1.9746723453744954 +1.904402048615868,1.5957901662874172,1.7372461445437968,1.862853750053094,1.886785205468864,3.71907879661561 +1.035509482962257,0.945212813091592,1.0548491428581677,1.0218220457107416,0.97165229066014,2.0057239503413062 +1.228393063722354,1.2452102733859338,1.2631832990092375,1.296686759817969,1.2216917054153136,2.4018071914809043 +0.7620450730768958,0.7895863415870544,0.609717451204918,0.698541969750265,0.6265536270044393,1.4925635127621661 +-1.1314713318563205,-1.1592563211662155,-1.168404756814202,-1.1866937288507133,-1.1632339532418425,-2.2361376209536656 +-0.6148904523527865,-0.5574650449144828,-0.5066507945987261,-0.37741679719806326,-0.6252130023742881,-1.158263465692767 +0.5218104894000783,0.5625616316567476,0.6122960396576231,0.4194250392111537,0.49415709320638634,1.038509109498619 +-1.3400317880079256,-1.1886220059835337,-1.161818340397062,-1.325834416248945,-1.278547426877994,-2.6784510972258038 +0.8317663690185444,0.7446140258906659,0.6279449022976836,0.779535323675671,0.563594650843413,1.6778633685370892 +-0.28678712788797417,-0.19339863917728223,0.008193593509754293,-0.31993907847678443,-0.11481081932064449,-0.6251647870891823 +-0.35470484196231333,-0.5283780198703079,-0.3483432764517993,-0.46982715729620994,-0.42458805989250115,-0.8019489096889223 +0.7392887553581059,0.7866388362021899,0.8384990420033932,0.5665995419865152,0.5841462877059604,1.3030337209851408 +0.4183728141156322,0.5055101908874001,0.429091868128317,0.3959723275399881,0.42743739803728575,0.7672306924235772 +-0.30229678567155244,-0.46263447867672963,-0.307630241348535,-0.3692376682087292,-0.35412900922231405,-0.5572790260163262 +1.1118394377019956,1.1349217559968279,1.2432766538160887,1.1836389761303179,0.9846831308063447,2.1533877316000343 +-0.9939335978541729,-1.0849940563626603,-0.9592438564244717,-0.985932703169949,-1.047898560887321,-2.01164789945094 +0.4813376389195889,0.6024859285040904,0.7216724374820862,0.6686253993108431,0.5112198500752373,1.0093184065804095 +0.6057392159230249,0.6264872546252372,0.6803209579756815,0.5740140360130658,0.7642041388874625,1.2635473814883167 +-0.11565353940816181,-0.16640976113087194,-0.34105511243340114,-0.3293660069519623,-0.2571503881063168,-0.33926036403292753 +0.2260998897815605,0.43430969500940086,0.2689584180465118,0.3771487691336363,0.28614302323118634,0.5519057152084852 +-1.3188880734377884,-1.3823354957284437,-1.2178528253528833,-1.1238565600924462,-1.3256303534170382,-2.525041137940028 +0.9754178041727926,0.9862340182375059,1.0173398264410078,0.9366584391552211,0.9135302484505387,1.837850622623729 +-0.16694395824902925,-0.05200880448944806,-0.20717420652064975,-0.23181522186402992,-0.12362306228466005,-0.4162716034621739 +-0.4876600105916836,-0.48404216845011927,-0.41620582394760086,-0.622009620627594,-0.5252724333775595,-0.856210952868748 +1.0979279388516556,1.158107268355486,1.1942709003855072,0.9044886993956667,1.0272933451232036,2.181170525577781 +-0.6408715436865823,-0.5031166459726827,-0.7959757824501013,-0.6377167233384069,-0.6985066614609697,-1.5037208821183496 +-1.2974913121679372,-1.3060903417528615,-1.4921533667431877,-1.350663443999604,-1.468847189487255,-2.734950774809143 +-1.5156473078310524,-1.5316983139597309,-1.5706666794144373,-1.4988928210132375,-1.5909497662082075,-3.0562315781793528 +0.5818841858837853,0.7105187987541149,0.6367712181645593,0.593144006710434,0.3974307074551392,1.0474641067391104 +-1.2131719823760099,-1.265940569186594,-1.332886053872988,-1.139735877907108,-1.1830567294110463,-2.467686341815664 +1.9447823754738862,1.7571844863128603,1.8900144498710791,1.706382332525883,1.7846739600165409,3.8928043723161303 +-2.0951927825219796,-2.1170708314550954,-2.0395227217318768,-1.9864024841630015,-2.159274992287065,-4.044160104640486 +1.599003437822974,1.852797704173249,1.7004010731141121,1.692582078791084,1.886329866425562,3.168961484023169 +0.32172553413131566,0.12917460060841826,0.06742651481576567,0.15018239073468465,0.21971911524185705,0.7507052482199073 +-0.10875122826575222,0.05652366059741923,-0.22829469351314308,-0.03746008113861625,-0.2003274690679121,-0.07462644032782739 +-0.7621860414103532,-0.4949326744349124,-0.5168181617807689,-0.5039554749405502,-0.4592453446619037,-1.3809411158854987 +0.4838782820671129,0.2592054968718766,0.18587655173658713,0.43483339027876333,0.438940936002997,0.9962320234727826 +-0.09116752102024064,-0.0008697731257062205,0.06362903853955881,-0.0295068602192285,0.0018232961235735631,-0.3786639568243787 +1.0942485537861057,0.8932992312513595,1.08748649757929,1.0995125738448388,1.060726321551363,2.234579594112598 +0.14742568171894113,0.17677845034514322,0.4385369456215129,0.3530648479490835,0.15927722103984313,0.39969135221923635 +0.16935172943978427,0.2388249097607767,0.3810933865234886,0.2687274259814949,0.12412593243976815,0.3305967483360268 +-0.2926670304999519,-0.4228478077790612,-0.38175711913860755,-0.29132952271530466,-0.30801806704927165,-0.4108756739923789 +-0.10049426077805179,-0.04459085412550922,-0.06757932397419895,-0.04576570790072863,-0.24744006912213135,-0.11500516540935779 +0.35911234870966746,0.5032175122670879,0.40735992029226215,0.4085174889517261,0.2644144225941403,0.7750520351346133 +-1.736123060415017,-1.760743063082819,-1.5398511316648216,-1.65836891501748,-1.5379528828758058,-3.3636080497094505 +-1.2743043740169626,-1.4540761808113731,-1.5119883278493147,-1.3455649468283095,-1.4248921676457431,-2.5152717629078376 +0.8048008424240203,0.8914304342689748,0.5646265474872463,0.7129076614961235,0.6828802642733963,1.360320634908505 +0.07732156792348233,0.3671241571810213,0.10866195757250371,0.16277370436167304,0.12606930428294436,0.10472924069992809 +-0.07538512473517592,-0.1836137691678944,-0.1257095780352927,-0.5010259099404847,-0.30546394994154347,-0.031053446745566482 +-0.03516241144601165,0.1195802366062288,0.06812129211615288,0.03949401699515734,-0.20239414455743207,-0.1510839569018529 +0.42838748518978553,0.4817292969147592,0.4545588508600561,0.29873409735063505,0.32452306550930976,0.8344277198558772 +-0.5030309489692274,-0.6140081035631999,-0.6597294331458923,-0.3804926804810731,-0.5261737379011958,-1.1105455293287618 +-0.5944863577228005,-0.8268353089390995,-1.0099191116992003,-0.7763703183211372,-0.7835552322561778,-1.010580455925424 +0.17349865686049634,0.3189327064131551,0.2816466746278961,0.07694891314418537,0.18135739890289287,0.5151465594627942 +-1.0133044572268517,-0.8098713497441811,-1.0611924049115555,-0.9833607930278438,-0.9740686905299933,-2.1149958039677763 +0.40631079512569857,0.46454084173190735,0.20640396927560803,0.3036406472082214,0.5105369028695482,0.8273513902903056 +-1.732901582521268,-1.790565039588046,-1.6880772296419022,-1.6552428626665938,-1.721628222830762,-3.5338525698189405 +1.1091498275198486,1.2278617484955878,1.1084732061475113,1.058250373759592,0.9717473796169167,2.279794118942835 +0.3109664215693842,0.4195003926318466,0.4603917692009153,0.5683814455238698,0.4444849339242344,0.6729011508630013 +0.1506614923992402,0.22251595619673048,0.21024489569562674,0.17694155514441912,0.31396441028955324,0.38249354195980695 +0.8759106917875946,1.0169247673944761,0.9667547607309233,0.9860917935683285,1.123893671799839,1.7850132283459779 +1.7605052036599342,1.820890486534054,1.6284161682224985,1.5289722649199131,1.6026600705456588,3.814551027958715 +1.185431402276323,1.0997676626733528,0.8795653538241137,1.0845195432106018,1.0242634437210187,2.268070428051572 +-1.8513191531853925,-1.7993876812954541,-1.9123422990306884,-1.7889871132876332,-1.8070384871380494,-3.8736986418144363 +-1.2964591390547027,-1.2332481137238909,-1.2274489762343201,-1.2299964646329444,-1.378834767408584,-2.6322272981795516 +-0.6178133613843607,-0.6204671108313322,-0.5926507235580288,-0.6246566745599847,-0.622776860974387,-1.3924255493247482 +0.14227888047165282,0.08190500166268441,0.04289703080751581,0.06756833928971288,-0.12047633552337574,0.13531153394270637 +0.42492370705006566,0.2647030126996927,0.4181441722837851,0.6780929312999827,0.34075399009518315,0.7497159486803346 +-0.701906914879987,-0.7554045590604455,-0.7438941293670323,-0.754253238857667,-0.6890691723642399,-1.4960327203031367 +0.2842865274553213,0.21089895796875643,-0.030939740167207158,0.20063128284808676,0.14837929034400005,0.4731112447156366 +-0.705273515359338,-0.8704843407152733,-0.7375352659647836,-0.8639955622714636,-0.7351548915912006,-1.3587251356741348 +-0.592559641332074,-0.5728854712107923,-0.46863203221059146,-0.6983438991517815,-0.6133073006927833,-1.2357381887726815 +-1.306556487591508,-1.4271082189468345,-1.5540743100524328,-1.3968797675388915,-1.504301101714602,-2.6310644326702644 +-1.193556475410828,-0.7476856762793552,-0.9818260134426798,-0.8128398914407136,-0.927758676307338,-2.2976896733715626 +-1.283897073663243,-1.194382633094848,-1.3187739277453208,-1.377312688041491,-1.474994736117819,-2.6444263998046282 +-1.041280821290075,-1.0224538098891491,-0.8505889895345844,-0.9994649059085451,-0.8367760171771926,-2.1090162324506223 +0.8705785069221939,1.03855802545117,1.0088193349778245,1.012953272157402,0.9180447621218432,1.7777330124536792 +-0.898278628879445,-0.9567936453927822,-1.0186239217585327,-1.0028745559163754,-0.9689774159288012,-1.990714037820912 +2.7697479193536867,2.5872161172214283,2.4354897505957824,2.661879210408273,2.528154906032666,5.301005287812315 +0.47957304941812007,0.5128203992837019,0.5036617138116999,0.34359213636302477,0.5503600182169688,0.9937578317160124 +0.2801235784151678,0.10900791680611488,0.38904372770924833,0.31293008136154665,0.15169298656672361,0.6094485848870254 +-0.6971299543823488,-0.971419313674966,-0.8306219339847457,-0.9249000099941593,-0.9102244521433344,-1.1878378952794566 +0.8318013247673959,0.762581001799018,0.6980819814906198,0.7725002279528053,0.7856300339141467,1.6794121371214727 +-0.41164137330063466,-0.5126848678155929,-0.5434295951610754,-0.7026376859771615,-0.5726947670700188,-0.7413087748754599 +0.19622256375255065,0.041578238679362195,0.12090061425050123,0.18889382769998325,0.17367425923895818,0.3728978631465039 +2.567627902158954,2.649620081345055,2.4787831010427817,2.6272789990502443,2.461951944617048,5.164978526476417 +-0.2562564809143667,-0.15921767264118303,-0.01373190815687933,-0.05763969252406022,-0.23654159411740056,-0.34578727765378003 +1.124667077472681,1.174589850089474,1.1718494785968512,1.0498304741056965,1.1599941224896892,2.0369348731327985 +-0.7875010846575066,-0.6211420238646418,-0.7014150999325217,-0.6782216061660797,-0.7350610606753605,-1.533640543557845 +0.18210578125281968,-0.038349746967333,-0.1325250932247867,-0.1532941089704006,0.027654976748432723,0.577770235513376 +1.7532120543922762,1.8162747268496233,1.901151428828986,1.7455243101258915,1.762809790369255,3.5346275307054866 +-0.6146465771093188,-0.6786100221765246,-0.5604967832544564,-0.5240257476922348,-0.6064595238643045,-1.0642358578953528 +1.8675970956009755,1.792801899654119,1.7571564742601986,1.892118750704003,1.6501103050028043,3.672272976249007 +0.7121121800927208,0.6871659923674414,0.8079344208236692,0.7092702297095187,0.8965956294169011,1.4210196107690702 +-0.39296167185119235,-0.6371246105482915,-0.6122238597327884,-0.6599474334865518,-0.5788909743974708,-0.7825708734635259 +0.5701428028820756,0.6147303227439427,0.5542073898044171,0.6969665102729402,0.7021664360894407,0.9185264978282742 +0.9920151951504539,0.817692619740355,0.896584137878701,0.9744925733965322,0.888945282604767,1.8672126075158877 +0.5475629036473916,0.572694587502986,0.4447031069083873,0.38977840239415407,0.6526109524389305,0.9854382993563845 +-1.702226971012527,-1.5987122692274236,-1.5230704818486358,-1.4919617372588045,-1.700509196242931,-3.3222473342218013 +-0.7883140849153971,-0.7527551510744066,-0.9102516636587036,-0.7295604592118378,-0.6819303919989015,-1.4894128592623888 +-0.251222315256346,-0.27166838013858263,-0.370363018678081,-0.12727351075319754,-0.28311604399008805,-0.4700409862420386 +-0.11736365155177228,-0.08060984908605918,-0.28199223000789964,-0.18396048098432677,-0.07151437870648954,-0.152317013417974 +0.5514299995632924,0.6686162493592844,0.6120651282715887,0.3030017162310779,0.6904695005636877,1.0864450578544074 +0.037069254566070436,0.26515270834650606,0.16266895490606662,0.20560938676777232,0.05444696981122581,0.1943316760860952 +-1.3436549159729707,-1.400320881394928,-1.3680139800287376,-1.306187991041904,-1.403793531771381,-2.6864309876827344 +0.22972581360286298,0.25987776546704877,0.2759400815389056,0.211130688245318,0.42593027911463976,0.46523803194840163 +0.6865913416527833,0.5063813040595129,0.49336236994015914,0.5127357906971625,0.8204078927384979,1.3466234199793257 +0.5680344232244902,0.5110701558115471,0.6062274342856973,0.83531222230303,0.5459822144648917,1.204513894212623 +0.9350255756081287,1.045588593772971,1.025725532383773,1.0502196641392414,1.139894337347015,1.827931269554966 +0.8030012468439177,0.7569225479291584,0.8655579867025185,0.9070180521865256,0.823225007563056,1.7036456314076422 +0.38396443866937835,0.32956841280344723,0.3706552106160144,0.3941140964915983,0.6534046387040666,0.654713963267156 +-0.038248260416728956,-0.11577779420606582,-0.05205943718153877,-0.2791960013439627,-0.24488787815517257,-0.1863881463062773 +-1.5269158889136765,-1.6428182715045938,-1.5306331297843845,-1.6779867581955814,-1.651498829049055,-2.9850891023147024 +0.24210097216801138,0.48912116571614234,0.4882347991718642,0.40305776310397534,0.2670638157763797,0.4753475228777215 +0.21919029507785287,0.15194538185227902,0.1664463053414631,0.167699863296274,-0.04296946989056055,0.3929914485403929 +0.2555655576387095,0.2302790549810301,0.29729873423096626,0.26011475364473424,0.3013250425071552,0.6001368885249649 +-1.209614568175263,-1.3694184067050408,-1.300815093273331,-1.250321748655746,-1.2627987962055638,-2.4799552777591347 +-1.0597368775844935,-1.08420045744574,-1.0802685219387895,-1.096068235533643,-1.1095402341824825,-2.1394938805990242 +0.9779559201590217,0.9683099899138221,1.020591748118053,0.9267522365381672,1.0425334443289282,2.095834635325159 +-0.07146054742331687,0.017757627467464975,-0.05598867444519418,0.00906332529953885,0.27027478955047074,0.010993139734431306 +0.6018981116922755,0.5029140481792133,0.702710032680042,0.4865635218403821,0.655683183569481,1.3610360444115837 +0.13591908999031915,-0.007644591114786908,-0.07101749382773576,-0.17671736959796072,0.0793308122554668,0.24362560228724717 +0.031887304362937456,0.05986687341491742,-0.0718317432032546,0.10367418896590003,-0.03518034246564486,0.18684489922432196 +1.1284028745512984,0.9566672576082481,0.7994295505928766,0.9889858331895334,0.967807063480058,2.161910466325729 +-0.5221108095988359,-0.2467413618193242,-0.6760718386677449,-0.5217842647247775,-0.5398680957229357,-1.134911906669878 +0.025280100249937154,0.13110077939777418,-0.0256074922810645,-0.04342407353452375,0.05506892866801043,-0.18448538476256182 +-0.6136467279663255,-0.5626807483892438,-0.4463290380246298,-0.5330663827724502,-0.28038543548501027,-1.060006635742798 +-0.6148101950579101,-0.4440426521412229,-0.523774978981504,-0.460770902200966,-0.3167777311138817,-1.316018375023428 +-0.46758571776918834,-0.48679675681528456,-0.25781067704552973,-0.46876152032605073,-0.2954974587287163,-0.9478246935130826 +0.2488464367348611,0.21407379670403667,0.22560514650896896,0.14823090583138948,-0.008287421960683938,0.40666043927689377 +-0.4278761193404837,-0.5620542273635529,-0.6755990430072825,-0.4135155878458091,-0.5148495439887341,-0.7862357138479533 +1.0976370553703074,1.347295153129537,1.3212536839956899,1.3984866620024423,1.5260588820140293,2.157710744668881 +-0.8051034708118924,-0.9495613296790574,-0.813527437660333,-0.936550777485359,-0.9176734688834747,-1.7406886306670797 +-0.23517774932970298,-0.1985482357408837,-0.2862579116448444,-0.1112228087297492,-0.07654988695599323,-0.4261892422407999 +-0.42505175707562,-0.5032868424146153,-0.39771190398467576,-0.6311370653329217,-0.29553681807891485,-0.9934765166322628 +1.6081999471792754,1.620863019539066,1.3613280606128129,1.512923008465094,1.4688742759393303,3.132659321827002 +0.2862387080981278,0.16443049989978345,0.20632181418640816,0.11615993503882652,0.1123726133247594,0.3617885047336475 +1.0049914746780517,1.215100243816555,0.9053946987731383,1.0625791011394319,0.788313306290346,1.8675871381363427 +-1.5746795955785007,-1.4041451968251453,-1.6648710182904296,-1.5103356148609428,-1.4171440521760765,-3.1315062741849538 +0.051868725736328336,0.31525693860279747,0.22876854690796197,0.3990916668476423,0.18557466558690403,-0.0927161523376358 +0.817715463699195,0.926504110355189,0.8772579009959535,0.8021872307894452,0.9072458408122063,1.4873163549362185 +0.06117096539265475,0.12166371909704934,0.04251601991396378,0.1450446190316073,-0.04269804468351224,0.1221050391720287 +0.9667624223502328,0.8727131171307903,0.9470773192430952,1.0375296287356979,1.038956621018331,1.8791641550911604 +-0.5304141468096026,-0.5451767895154478,-0.5572783563134859,-0.5331189979013385,-0.5139165446102668,-0.8616246300232744 +1.4170326284814567,1.4938632373040122,1.4362769154436532,1.390962050869659,1.4362067982900097,3.017454911565351 +2.2764125254384426,2.29400840527184,2.2944088206069964,2.214330813169839,2.1874159048840087,4.46603280460177 +-0.42783881852200506,-0.5033575451200165,-0.3445884573797377,-0.3642484570303262,-0.24314746556352385,-0.799963875203662 +-0.42863705420409903,-0.45074296645851875,-0.5125140414461951,-0.45176734361295395,-0.5051919998739689,-0.7823458527202529 +1.497578542074642,1.62379502874325,1.5705562685893169,1.4775085019583738,1.2859375310723764,2.9354091983468433 +1.4705322379864278,1.7042613172841843,1.4619548120752344,1.5880226602999987,1.568669803734366,2.7915103223230355 +-0.38176678917864126,-0.5290604280898714,-0.4741039974445964,-0.44306057219204464,-0.5194224962506223,-0.7647634232880883 +-0.4300456303242837,-0.32504188939004885,-0.30199770779986135,-0.32783595549112066,-0.40412787377868153,-0.8773758281299785 +-0.2798996465660226,-0.3184353108973126,-0.23369379958561784,-0.3868469410432875,-0.14557136849199948,-0.6033757428291071 +-1.2736290687086214,-1.514837669716949,-1.3647029337407601,-1.2575732609752,-1.368095394707863,-2.503026450600794 +-0.8953303333578481,-1.0110985452971537,-0.9714816511504961,-1.0372855891951838,-0.9306139089210753,-1.865733627416256 +-0.9088271033607433,-0.847851889901248,-0.9005320016474423,-0.9453551779382944,-1.1144592048753772,-1.932853961479401 +-0.739085148583946,-0.7951968732870589,-0.9100950576302957,-0.7058236866338415,-0.6857422148153387,-1.4672620001329089 +-0.0959286248508249,-0.059023285324282915,-0.13169731342474547,-0.22581657655303153,-0.016253980978970746,-0.15326024044476222 +0.2703650850571304,0.20423091290903217,0.19445895598734808,0.2435126571894612,0.19221195980710393,0.4230656757242555 +1.4361278720820108,1.7409141517713775,1.6742658685652767,1.5036508814780454,1.3600330234675304,2.9650648052631294 +-0.9874980701611387,-0.8357581492025846,-0.9603772771347013,-1.0742305665323284,-0.8539128212332823,-2.152044254099885 +0.9809993994121377,1.206200421821397,0.8875178226255592,1.1194076315464843,0.861554402030978,1.904187452952711 +-0.23480052995276293,-0.22989336526551407,-0.24501961476399933,-0.2793567582892509,-0.2731166451624795,-0.4954019135252868 +-0.06231746079632601,-0.019901260777723428,-0.11089602406206238,-0.1301014025642379,-0.013629258544832608,-0.18825729285784498 +0.48663458761683964,0.5231552372245244,0.60384059294325,0.6823889861671129,0.5551636993049349,0.9167631278785601 +-1.1775945123363947,-0.9750285789504711,-1.0248330657066207,-1.054163046932457,-1.272072999387613,-2.168081576441978 +0.3916942362981621,0.2656317910572571,0.24523543325770006,0.3682448875830379,0.17001498791398412,0.6983000636924342 +0.182437847412796,0.1881297645893189,0.32733029378649336,0.2830892627799812,0.23855190350361954,0.6089978670727834 +0.389683749915553,0.3827210112448644,0.5752742330266111,0.5455488302045579,0.43793263953551664,0.8230801778042112 +0.41573942799428815,0.2302819612339485,0.39825481096818793,0.07134751193467506,0.5818956531551511,0.8406843697197754 +2.368682655089444,2.3715738968059243,2.4090061887083682,2.402353443560193,2.355864633347807,4.784989345517655 +-0.5407942641986423,-0.6985275103188977,-0.6527340561592269,-0.6939241941864859,-0.7298850865942081,-0.8285957534720894 +-0.48827751881464915,-0.5849092253167155,-0.6743121364542889,-0.48306085965887546,-0.5875362520303578,-1.0759143380224432 +-0.6877632574091447,-0.6779674059172721,-0.6756067671314446,-0.8856222320621756,-0.5988270609109154,-1.4875683067119283 +-0.3779460298993035,-0.4721437279822239,-0.5061116343959395,-0.3005761482884824,-0.6024974530387858,-0.8313786794557991 +-0.7567508104821657,-0.7478734066127697,-0.5077808211283781,-0.5842845178170967,-0.5761539059062665,-1.5102873062678754 +1.280931948468552,1.2110706738089385,1.0783008494273065,1.2039042114993208,1.0911576921086863,2.3892867844558467 +1.5205624797941526,1.5423001632204107,1.3839536542913282,1.5386610196317694,1.2823450761434967,3.043358883520166 +-0.6378083146571407,-0.6220659302008159,-0.5858762157727285,-0.3363808884682138,-0.750567767690387,-1.1062619159729143 +-0.6931090430977958,-0.9041474621789889,-0.9719344933234773,-0.7452809086453884,-1.0547129898979484,-1.3710773471331137 +0.4464109049265088,0.448363093868379,0.5305504805622441,0.5662968660335661,0.4196086544388984,0.8635532639554899 +-0.5233536813529859,-0.43425052344490056,-0.6246220774552325,-0.5391540418345333,-0.5823210755202938,-1.1085234075743344 +0.6589640016326331,0.6523425808508468,0.6133927826378087,0.6187792424188163,0.5697881150071927,1.4077791737204226 +0.1894921467042449,0.14980159139053986,0.15772808366011193,0.1553434764508096,0.3272636005700159,0.29640101608468505 +-1.4346632876812537,-1.467356449878428,-1.5946779655691994,-1.5983553141686861,-1.3929410940364184,-2.6846869833025826 +1.626854073385283,1.4372759863464193,1.546800702782006,1.478803791360112,1.5140249025856114,3.447044121542002 +1.6210244757717036,1.8640136241398164,1.7743167152387194,1.6608220766612234,1.6164855617763254,3.267724031409586 +-0.48235466619657075,-0.5719279597142093,-0.6499744787122526,-0.6203758355528883,-0.6694592012898913,-0.965860841200806 +-0.5539507587395515,-0.41848240704987244,-0.46054772210401834,-0.5561683176586227,-0.4476836993276902,-1.004835536654947 +0.38912001115907086,0.20200681088018202,0.31781785780320065,0.3049570431392762,0.22015189449709932,0.8877198725408743 +0.4471273036697835,0.2457886977586794,0.49981851683625367,0.33082372918279096,0.26468489959720065,0.8136554342336254 +0.5494476296513107,0.7120260063074215,0.6725329959567432,0.6732378025114992,0.5931979831003498,1.0462397459889512 +1.9691231099708912,2.1331025890152557,2.1098163602574624,1.9579913817643504,1.9715503771765737,3.806011476473453 +-0.28751769434264296,-0.24067800219692892,-0.31596942000939565,0.13073880952400097,-0.24050133737560508,-0.5341288948518802 +-0.8197893475673272,-0.7524585741833053,-0.7825211006090768,-0.6622856545204224,-0.7774649936758945,-1.5729159067889653 +-1.4101226564331013,-1.588021929874734,-1.4890560599116338,-1.5037734780229994,-1.343282356424041,-2.9552378766523297 +-0.6529639867149851,-0.789391813007639,-0.8786225326951093,-0.7076432311992292,-0.8219945486601681,-1.3514478639115861 +0.0979039017381638,-0.03623286616088729,-0.10706411361970071,-0.09392758716752946,0.09397955972690625,0.06108241171819262 +1.9341262445967833,1.7035895218196042,1.913747796959145,1.6931098908470463,1.6965516333337263,3.778372508169183 +-0.5738281016940017,-0.611261936515131,-0.42260971616920684,-0.6516185061485649,-0.6793913604177051,-1.0925544973653734 +0.20286576426444572,0.1570099959920099,0.24808842384433846,0.2670096207148239,0.2618657587754037,0.3323833218610635 +-0.1847667152948471,0.012796376759885243,-0.16969295206174517,-0.08456091957970947,-0.09816370951418606,-0.399616026192924 +1.1078062667984652,1.1696603716074465,1.1687652083092903,1.2851758758506044,1.2205224205238228,2.052881360802199 +2.6234175891833673,2.3031093025411247,2.5571024267637954,2.6263106473266657,2.286565565763569,5.265534199339201 +-0.3693104905654975,-0.7429387881838273,-0.5133151499624609,-0.39347733439917565,-0.3916231787720139,-0.7430483131154598 +-0.6128743297062144,-0.5501259603039397,-0.6738188008662968,-0.5746781191256325,-0.42221010171418194,-1.298644584415745 +0.9849144511537826,1.0899295356744272,0.9551290922670849,1.0916974381382731,0.8941132221527719,1.9509274725393178 +0.6792509139304187,0.40714100535378794,0.6754837132114397,0.7451369112905415,0.5340137772416829,1.3765313159111818 +1.8747234416179943,1.7967343081208704,1.9003364166877525,1.799289508225637,2.0139339161457865,3.6679600683450544 +0.5029678333337992,0.5313033996742218,0.3643154032159692,0.5067509895866764,0.510190194976168,0.8583094122674205 +-0.31688598634065057,-0.22045831296621474,-0.3755044883350454,-0.19834002420946223,-0.44271057566032196,-0.45321452941261964 +0.5432708959852177,0.5521526495210229,0.6049597076802046,0.6134044182655146,0.364049621277381,1.0232145214994082 +1.1072583534950797,1.1470024790570006,1.193664779434529,1.1723003556540816,1.0736257600227523,2.2048406966714706 +0.8751106059977343,0.8346078952061106,0.8897679396211079,0.7382745800145716,0.797710219713789,1.8513051854975 +0.5079162580883916,0.29421738312657775,0.5655311629881784,0.3853455844550785,0.5788233407842464,1.3687380349338316 +1.023036100536497,1.1434954112523277,0.9866806389189605,1.009729712139943,0.9267668467707063,1.9216235560841073 +1.1583346100530898,1.1908352409913017,0.978495376733342,1.1568934517066731,1.0172669112216117,2.3616519414788306 +1.3733226951169937,1.432985855004986,1.342853715331387,1.2757369903557922,1.4272552545151749,2.6758901617045767 +0.6117087846014299,1.0413336582332753,0.7488730701104986,0.6477254067246043,0.7493828947123491,1.1695385387451886 +-0.1929976865835646,-0.3755293742667132,-0.027772627564411206,-0.33596859912370436,-0.32423331542864264,-0.45801657526780815 +0.3065784034837945,0.31918335140943366,0.2177685966631014,0.034708944186335605,0.25486509506329696,0.5005913101875306 +1.2626009113024808,1.1777642145683214,1.2494430487885302,1.2736000913360443,1.210263150657039,2.5210726864264954 +-0.8464837027901521,-0.7882027805469352,-0.7789717061486395,-0.7565566189594467,-0.7077551370797714,-1.8404176742851277 +0.43836874932397474,0.36412208434277693,0.3130614341968231,0.3294856323342145,0.3616512727211395,0.9714182552991365 +-0.42672076130296166,-0.43576244566716504,-0.40634484168272267,-0.49511524323505596,-0.6455666040761557,-0.8479412290025858 +0.1460572866934816,-0.028238469889058367,0.19565177551745064,-0.07399553221778361,0.013548084703213599,0.3343580706771072 +1.3154160818271081,1.3114027361645997,1.1841960620281111,1.2411250380131673,1.3844662444744258,2.584213302459594 +0.18036885361948046,0.03938169835273542,0.3525769470908885,0.25555091718443246,0.10172446611153191,0.3240173138177861 +0.09120824073717654,0.12149446490832537,0.014233732706942968,0.13926111729058127,0.00764005126540359,0.2111728719910859 +-1.5169437561867691,-1.4014755814684445,-1.2273129300704113,-1.4095093145281161,-1.3774694913350172,-3.1502925756141207 +0.6335768191362402,0.6332466321231849,0.6055720650774669,0.6309043234287424,0.4563021780403725,1.2313545948311468 +0.5260916805011698,0.600482895341494,0.7040746012575403,0.6722685449277087,0.812618938684823,0.9662220096144942 +2.177549032781831,2.2889696449917176,2.089577709710698,2.0809012262428754,2.073117155315743,4.2660411845045605 +-0.13452673500449136,-0.3613117436546229,-0.44930495414541927,-0.3596034988391208,-0.25720469170572063,-0.4800372940715469 +0.442280342283202,0.2549956894849008,0.24100373190503332,0.3516779367076425,0.2104802140491179,1.018493343514404 +0.313188793854831,0.17628805613920792,0.3503308625703521,0.33209522656733204,0.3751455893466913,0.5577237123942851 +1.6275377272579201,1.6532454647558363,1.4929591359041248,1.5932507109886196,1.6180588920062824,3.371413060032195 +-0.275401305802226,-0.02674475850793169,-0.24519712843279223,-0.2224874324982244,-0.11878795953904955,-0.44392337946502275 +0.22475414579693706,0.46388240909998035,0.2698370493368437,0.30016118251740515,0.1896700165184112,0.32090832094222477 +0.5291181345257153,0.5903401151666177,0.5991529768388211,0.7141622387952918,0.6876815798547531,0.949395145484146 +0.1245243633312465,0.2534746036321488,0.24144108591180802,0.14904575657980454,-0.00073500723910358,0.5050990225980614 +-0.4632479964090072,-0.4366268605966338,-0.35147415741407945,-0.31132220555185675,-0.381844572522939,-0.7514033986253 +0.14688093512859485,0.323677171084609,0.18814847477105817,0.3233645218501283,0.0841855177428203,0.29061001892437927 +0.8757017688221933,1.001748511098899,1.2591820813391983,1.2400050330741195,1.198860116055436,1.7771408482861215 +-0.9517242737993068,-0.9520147681233321,-1.004091824957531,-0.995990986757925,-1.0103853451447906,-1.9665331878933325 +0.025695371572895337,0.11349994453520783,0.09832702354618603,0.1917088441274772,0.19738205093188688,0.09462601456582467 +-0.6761961285280582,-0.706539632650023,-0.861277550849456,-0.5587020861060642,-0.6919219335567013,-1.4241104471283637 +1.4024548958998397,1.2042218773696798,1.1687806768932256,1.23978602263174,1.019808919410743,2.601674415369841 +-1.615125363942417,-1.497962865141107,-1.5568255993248883,-1.573310315562796,-1.6092598211233087,-3.3624063065359393 +-0.8119505995462213,-0.5705447515837841,-0.4628913676434413,-0.6037761309243744,-0.49168291351045007,-1.621791924307384 +0.3486114528765098,0.39868319338157343,0.42346023747120626,0.4010673704418948,0.3938774568005053,0.5841161822027608 +1.6756199927341975,1.723335834990559,1.4475871170710788,1.4364678870397185,1.6836230197649076,3.3445122389770416 +0.1300844843490716,0.03279470748853404,-0.04852482243188405,-0.08007615260940706,-0.025422804769270627,0.15270286475485695 +-0.67815448613844,-0.4682840674435086,-0.48804640952029293,-0.4455448148701729,-0.6518697157634643,-1.4345443645270792 +1.930826991764242,1.8356031168382028,2.033960205379373,1.6620316843240617,1.8015506556685266,3.946970514169803 +-1.4945449460942493,-1.5369379832390764,-1.3592635036748382,-1.2945656902367926,-1.4377221613639204,-2.964341837424488 +-2.2094007920504954,-2.1032759007963064,-2.122721291188934,-2.086568534749766,-2.4302103632200924,-4.419768026232326 +0.7044487847550358,0.5276191293063118,0.4460230495148488,0.39403798847028476,0.6073586386156309,1.4967939668171368 +-0.6523512571921265,-0.35478715677751294,-0.4632230238102662,-0.4477151415654302,-0.4578795507148554,-1.2566416550495183 +-0.9958588509812559,-1.0816308797276362,-0.8962823270600974,-1.0209180444400805,-0.898529357425826,-1.847061372837375 +0.7551257644758966,0.6854015817633186,0.5750787075513883,0.8313554841432216,0.5502960532184364,1.4642656027202792 +0.35237934626513356,0.07985229751865541,0.20885678104950323,0.34206902804819295,0.3682572298067244,0.6617951946775162 +-0.5542803153896388,-0.6033257413428157,-0.6413355056123524,-0.7040857030550293,-0.34092873963395354,-1.2386715574184122 +-1.2494993447204843,-1.1806473476129498,-1.242389086798282,-1.2215781573244768,-1.4123922342086261,-2.5418967611782106 +0.8332924715379656,0.8258077903573249,0.9954795458452235,0.8518945429158199,0.9495975077705213,1.7630619325061758 +0.6771138720831716,0.7142491574787433,0.5905037492865536,0.6584844350104709,0.6503121724273903,1.4842264813925568 +-0.13349509132912396,-0.11822617437916405,-0.3382063005263267,-0.17199305387636446,-0.2536192486042073,-0.1709596658495811 +1.908794185033271,1.879042698869822,1.8054149215452189,2.0214507029597493,1.8959253932328528,3.6381691834115983 +-1.1070457999305159,-1.1848539053077194,-0.9787373931244119,-0.966078584335895,-0.9867244458424177,-2.1057770785949583 +-1.4878151315345203,-1.5170042259613488,-1.471762180629751,-1.5995022873220355,-1.5856378261916235,-3.1594821253962477 +-0.6948343512497422,-0.9910216669713168,-0.6490894451001868,-0.8253691305722677,-0.5753164178557222,-1.2998569700872498 +0.06701900872171901,-0.0642756321716963,-0.07358534654294578,-0.08415327945328263,-0.2122623570344176,0.09725956478633249 +0.2382000769638432,0.0802921249511778,0.11543637570071319,0.2867897139318224,0.09386383467772741,0.5466534853210719 +-0.41853930467701805,-0.12063660620164826,-0.18970662569388314,-0.21721547346170758,-0.22757631829745464,-0.9703234441434927 +0.47824754658569596,0.42979613179074794,0.2686272155108343,0.4773686789911211,0.354593924311524,1.0736118564420065 +-1.3421126542767061,-1.204872325993836,-1.0331297508523987,-1.172547451972359,-1.3231967730328549,-2.830722783163901 +1.3783879702083777,1.5958652267891977,1.5008153249087113,1.5407215066485505,1.5247240476704482,2.6899304493314378 +-0.14171730779691805,-0.17704283047505256,-0.1402160086479639,-0.04946563833152509,-0.02906174697097389,-0.3832440783707396 +1.2547396409052096,1.2920321513796837,1.0561573068492651,0.9783659585670288,1.2031097386815295,2.334050796528169 +0.12915792497983453,0.43594450280374264,0.3334309257163453,0.32315549326301396,0.3304117028424774,0.2677686067185159 +0.7705280725197834,0.43309769043188934,0.43280302695160894,0.5627621931446505,0.517011245951618,1.721665056823263 +0.6753729611388088,0.6833292949504981,0.6814506577851991,0.564614987379739,0.5252022499292042,1.6174364445096185 +0.47003245143023076,0.3370792087761514,0.46635017699171943,0.4980175968796895,0.6530904290259745,0.9497804815690863 +0.6372333598059152,0.5602713437147766,0.5695595859766911,0.6108479283429306,0.5614681828553454,1.3861348471185826 +1.357707937618197,1.2682935578084613,1.5181965986480097,1.2261713452782468,1.5396822730782627,2.738625339029248 +0.248633412539404,0.1436233988950686,0.2014520028534924,0.18418676329685907,0.200009964410411,0.5471551445556293 +0.773525316183518,0.603347993312487,0.7858877251854021,0.7399085018917777,0.571452668631638,1.5128357672543122 +-0.03417524768688187,0.03257261242230579,-0.15055834503170265,-0.15530446623337107,0.04707224076163338,-0.04884280283150352 +1.4490752835749976,1.4142317754124896,1.4764287782239252,1.416546090963806,1.4527073542889688,2.951898437610638 +-0.6961261440900023,-0.6411418052235818,-0.6452813029449502,-0.770338626257868,-0.5912798922212459,-1.4500982610676376 +1.7858131045454644,1.7439052962694475,1.6119755037012002,1.9128649246672251,1.923326024765075,3.56387677910163 +-0.05964877867961151,-0.22221828069919514,0.16136956040172062,-0.0696035264031468,-0.006362395229840882,-0.12514056925897185 +-1.3173980924313418,-1.403769366278906,-1.3017106560257934,-1.2854995476054298,-1.4899991865993296,-2.552155853129631 +0.18746008713887546,-0.06312108263118843,0.08838488329619051,0.28097919996488013,0.22567575267771428,0.2683169571149829 +-0.9750905209413089,-0.6879150620834277,-0.7912786315204664,-0.6891562539470553,-0.6809761067294213,-1.9553352627433829 +0.9062336266417004,0.7038120451054433,0.8753997103690795,0.7397986757339893,0.9092293308495661,2.0036678001886705 +-0.6331503598305136,-0.4538963793793103,-0.6439542093609515,-0.8612137670757248,-0.8679970366815373,-1.1498947044024335 +-0.4480543088593695,-0.35504716099730754,-0.4106165383584568,-0.5933871405174589,-0.4014852615137945,-0.7611907128298684 +-1.9283925762544196,-1.8789653518183829,-1.870382991326122,-2.026924213435397,-1.953399313460034,-3.8543419684910356 +-0.33989504725047537,-0.3259356514836098,-0.4016822203184841,-0.3144593565029262,-0.28697535553122366,-0.6476903381323484 +-2.329126680416671,-2.50851092437553,-2.279148756689776,-2.412296867906262,-2.361570591840047,-4.55802974416305 +-1.6611905902680841,-1.529554885618714,-1.5270925029728586,-1.5449423710765244,-1.5599170489007936,-3.166355627583075 +0.8011198848567509,0.7803956995161687,0.6554491062533032,0.5383725552507848,0.8090456554793195,1.4070794784252132 +0.6886344851967036,0.8122021667841992,0.9220564439220774,0.666003515729106,0.6859560733631603,1.2457248396884226 +0.2874957453060717,0.5526929117956415,0.5895190181337935,0.5141655394295934,0.5877832308377702,0.7059359007524082 +-1.0296478655882095,-0.8937269328512327,-0.6517704696780044,-0.9382987318909544,-0.7678391012875225,-2.0869846667532994 +0.038527991096296024,-0.018838989859477528,-0.16006075946593967,-0.06243188401053958,-0.00842000508715822,0.009883903266784316 +0.09170996544704027,-0.16909128271339802,0.0206856622244591,0.052881696769443855,0.15543781776679547,0.058003832194520155 +-1.107056147182813,-1.2543693187204887,-1.3665745595114411,-0.9947849085789608,-1.2152795090597956,-2.2696139645200373 +1.5759078804519504,1.4911274084075783,1.5587132174050715,1.4812940554134455,1.4236869451446525,3.0115788325615185 +0.9289801192871672,0.8866995280033365,0.8225422607589942,0.8842992708414783,0.8814547654485637,2.067069665847582 +-0.2851123333519592,-0.3339845462970563,-0.028619594347168598,-0.20170448195653343,-0.17747006999287407,-0.5724682719019757 +0.07007809346192484,0.2680535065523729,-0.05057565800732742,0.26609680252193,-0.012512829129781265,0.1343611327475779 +0.28842376047032076,0.3600222134729098,0.03946450415082631,-0.0015528184943500722,0.2621596269844009,0.6356551884574246 +-1.9663057354429332,-1.9815230363850422,-2.0888612424945427,-1.97341256694541,-2.0110959202169494,-3.8363769539592094 +-0.12828604537313262,-0.23997369639222244,-0.44472615964231066,-0.2586576073965033,-0.3470080600497024,-0.1619832750908013 +-0.6111538632776922,-0.7032051449879138,-0.6068743025470675,-0.6253070753793806,-0.6301049462526265,-1.114945532164627 +-0.9664751891407573,-1.0968118558971391,-1.2081283145205477,-1.067357265294388,-0.9152671856427634,-1.9960349333606002 +-0.17408526905431215,-0.27335224103406863,-0.278254534767639,-0.28599679597179994,-0.2639533611269158,-0.3779572186043104 +1.7950344009246166,1.8234617808637976,1.589905344863903,1.868827584796072,1.9129513371756919,3.6669719673934607 +0.552655396144238,0.5166668037188474,0.6088130808133456,0.952133881371394,0.5191024819173147,1.052571886124514 +-0.5874856861771732,-0.537761348058307,-0.4068411742023434,-0.49037537084258964,-0.5243839475696116,-1.175482035557069 +0.4980925168755137,0.5570568764736837,0.608647570499738,0.48777622155310774,0.4555547107164811,1.0360614101935088 diff --git a/data/partially_correlated.py b/data/partially_correlated.py new file mode 100644 index 0000000..778092c --- /dev/null +++ b/data/partially_correlated.py @@ -0,0 +1,36 @@ +import numpy as np +import pandas as pd +# Adjust the correlation matrix for partial correlation +partial_correlation_matrix = np.array([ + [1.0, 0.3, 0.2, 0.1, 0.0], + [0.3, 1.0, 0.4, 0.2, 0.1], + [0.2, 0.4, 1.0, 0.3, 0.2], + [0.1, 0.2, 0.3, 1.0, 0.4], + [0.0, 0.1, 0.2, 0.4, 1.0] +]) +mean = [0, 0, 0, 0, 0] +# Set a random seed for reproducibility +np.random.seed(42) + +# Number of samples +n_samples = 1000 + +# Generate a multivariate normal distribution for partially correlated predictors +X_partial = np.random.multivariate_normal(mean, partial_correlation_matrix, size=n_samples) + +# Create a DataFrame for predictors +df_partial = pd.DataFrame(X_partial, columns=['X1', 'X2', 'X3', 'X4', 'X5']) + +# Generate the target variable y with a weaker non-linear relationship and noise +noise_partial = np.random.normal(0, 0.5, n_samples) +df_partial['y'] = ( + 1.5 * df_partial['X1'] + + 0.5 * np.log(np.abs(df_partial['X2']) + 1) - + 0.8 * df_partial['X3'] + + 0.2 * df_partial['X4']**2 + + noise_partial +) + +# Save to CSV +file_path_partial = "data/partially_correlated_dataset.csv" +df_partial.to_csv(file_path_partial, index=False) diff --git a/data/partially_correlated_dataset.csv b/data/partially_correlated_dataset.csv new file mode 100644 index 0000000..26f3dc5 --- /dev/null +++ b/data/partially_correlated_dataset.csv @@ -0,0 +1,1001 @@ +X1,X2,X3,X4,X5,y +-0.7538426154933627,0.24206017670735241,-0.33430356170259234,-1.1327894259177118,0.4358145584981347,-0.7101728212987517 +0.4970061882058334,1.0819633614203372,0.5712056432981559,-0.27920868365559454,-1.3988632362142444,0.4440848974125947 +0.1302279897103078,-1.2082367601358992,1.6021204649368836,0.7133329934908386,-0.007905941302549442,-1.4863100062841719 +-0.2918780560499774,-0.8607451129104995,1.2680122984475504,0.6806188006605262,0.7760823695944536,-1.2141351253982122 +-0.6959112168447769,-1.7977192267528443,-0.4951636962296553,-0.4495847777880061,-1.172239140710754,0.2735062287968616 +-0.9076375988036625,-0.7882458277574038,0.21325703771969476,0.5476402809113722,0.39783947582441465,-1.818578535033888 +1.3095208256405306,1.1289172670568166,0.5338202940294344,0.32972024216432677,-1.5446585055023163,2.461016178958514 +1.961452514323227,-0.03290247328183007,0.25848343700751897,1.696282585918876,0.27718559387579056,3.570940741944458 +0.08472061916788934,-1.1664311846051967,0.16493622423764756,-0.9461004464750672,-0.2944721268102442,0.19357709848954835 +-0.3660440044705412,-0.008416044154220818,1.6529572410914575,-0.26409176921131045,0.9880218383920977,-1.9240573123793556 +-0.13219103221817363,0.07329167504600806,-1.1891317339153427,0.16385506803202127,0.28228906161000084,1.5929145683225174 +-0.8939208813484745,-0.5475386863390311,-1.4348479186738146,0.008995402837571548,0.06320184702363947,0.3921199653806732 +0.740895654360064,-0.1633368821918926,-0.2577508509566316,1.4030790402168944,-0.11145932138798205,1.7913083974418293 +-1.2166334637504457,-0.7965188264857067,-0.34336028963418797,-1.4254884949942939,-0.5775784023986289,-0.9697747290005271 +1.1177430106923834,-0.10796986325959365,0.729682248385539,-2.5599592016727315,0.09604488159958562,2.493116169767248 +0.17546093141244642,-1.3734708156363624,0.15084248878416723,-1.290131502118205,0.04466441339313242,0.6517001671790822 +-0.48318509378347896,0.19037890445068686,1.3450231465543463,-0.31219133794760245,-0.4957779510573181,-2.746542392708264 +0.5090796464946955,0.8290073742863283,0.5159103617104919,0.2864645757929776,-0.7538688084949081,1.6902792269120992 +1.0604598380404124,-0.1314223940295987,-0.012699049695277026,-0.3838306302457592,-0.5956467029989411,1.769714485426408 +0.7110713759197133,1.0873508710552406,1.3242066410395728,0.7148280144347944,0.5743100440072003,0.6764590697411043 +0.6708745715249252,0.3259385476336255,1.0836504898084494,1.4883448930411864,0.759699328650468,0.694531967891552 +0.8340255970270795,0.6291958823940279,-0.009561124226698586,-1.2909769702379161,-1.3423816833504019,1.4684964868015489 +0.7374859402161759,2.108056420753716,0.9446129714313345,0.12166198129104219,2.1800430206996744,0.8275354131112889 +0.42224279358873856,0.17769782335313547,-1.3448180769812206,-0.23527884903138693,0.47431593906117075,1.0023732660538411 +-1.830133711950675,-0.7930883765578093,-0.006531737234976626,0.4878349246748126,-0.891881628031329,-1.2618656047756798 +-1.1513161760709216,-2.213640435373958,-1.7681027739200992,-1.1470102615524247,-0.23330296096519249,-0.08291934287909897 +1.5468863012276248,0.5757349488108027,0.9705382123920566,0.6371086315414435,1.4127737523498196,1.3364581204827846 +-0.8111242944516458,-1.6660060725422674,-1.0032272319843558,-1.428989105242578,0.3991348871278742,0.2644584640605707 +1.6589393684895983,0.12216871473177485,-0.8799552156769345,-0.4720216009744931,-0.5967099197021324,3.9386035487755824 +-0.3200090058780366,-1.0999952496731082,-1.5641822216971528,0.12483012279333397,0.8500066119626476,1.1526708214165113 +0.4727787013430516,-0.008519578372738743,-0.627872648787495,-0.21230394900910404,-0.16834689733512903,0.6066546121737533 +1.0887284402419166,1.2294259318353193,0.9400055737330694,0.3201056736988713,-1.6238260488214513,1.9296229715524622 +0.05895694690826213,1.400679326251536,1.0789464737855863,0.815903578263577,-0.8290936833522474,0.16179415948476447 +-0.7806986498530282,0.19627199794922218,1.0408022206358254,-1.1135241168739674,-1.1075788790312902,-1.396880054554882 +-0.09329260920502548,0.4710733590696618,0.31093372320270735,0.9222739580147817,1.1110111077471594,0.33229523423193447 +-1.7093826502491385,0.8603624873188672,-1.1161395352514238,0.2961604204319209,-1.4610412429319977,-0.1460535207589242 +-0.0986787030582799,-0.9925522570737236,-1.0492192505455358,-0.1512011409970574,0.7257946645058574,2.13318532948783 +0.27900089819474977,-1.2235761334981483,0.38047426981699317,-0.8440145513021268,-0.7283907154391772,0.3127947578830136 +0.6067398721908727,0.33863790600906735,0.7342145580868691,0.49089013031390805,-0.9738232076493633,1.3287015866980822 +-0.6270696511733018,-1.0301889683220307,0.17902569559189235,-0.31661390783673976,0.6114422654991064,-0.518127626744558 +-0.3520592902436105,0.11464205679316507,0.6688892175597497,-1.6264612683598236,-0.006971997419258126,-0.23031048581200111 +-0.21706029260897572,2.7399222869152764,-0.8739234773072114,1.4577018136525048,-0.5452648190332844,0.6119242587712506 +-0.16969857915410758,0.46255114541155845,0.14150138078771515,-1.4496889418063277,-0.8774470255600625,0.15746888491066557 +-0.6469201218847352,-1.0418248689560727,-0.6798605972777026,0.12539007966925073,-0.08546153301931453,-0.4728369899591517 +-2.4627793216439393,-2.923740436351792,-1.0305528921655398,-0.265183607306285,-0.7857725080004718,-1.7581100962717515 +0.15950182242386599,-0.9860135812401646,-1.4078991983938396,-0.021893878510867933,-0.8567435581194346,2.2442729129800765 +0.12729935983176238,1.2302179549584165,-0.23508388874572012,1.436974763546997,-0.5251552333298318,0.1558019286230179 +-1.722648964786916,-1.1158236600728073,-0.8606486463740779,1.0598186148456417,0.45735214675960395,-1.3071067757716526 +0.11649485302699311,0.4498826541051641,1.1299608121263476,-0.31337223627659916,1.0370075128310567,0.0370861264074791 +0.14419955851137836,0.647702491088206,-0.6924479947181488,-0.09510095921098766,1.3437244192183944,0.9284180348424198 +-0.04511065259923264,1.5752433817129143,2.424736498508841,-0.9163287136875681,0.41065346361531363,-1.0020196694894288 +1.290722687172713,1.1356877227661994,-0.25589389006988006,-0.055232325192542946,-0.38125257901536413,2.6963863551793805 +2.5437459250343157,-0.7702863349973431,-0.4275501134202057,1.5330444369958287,0.8069270783182247,5.084104795768288 +2.457882788621302,1.0218096191082664,0.5159933439776478,0.5679816816529991,-0.32755919029852476,3.5548891375652385 +-2.105797894068479,-1.6443728877892843,-0.27078795936925915,-0.8560144080113059,0.14195542096605196,-2.917587770462699 +0.35019924705491134,-0.5248149980891079,-0.4225616046538732,-0.4700363906902985,-0.12916622490633306,0.5577064672935529 +-0.9469532828460387,1.0589388341865844,0.030287424191357125,0.6797666121684205,-1.854033404752774,-0.6364717164700452 +0.5036004361206096,1.260937687452892,1.8822529006225766,0.929510468989275,1.2619013414646325,-0.15998477957200907 +0.08319559913550159,0.22249365022060533,-0.5269021242898204,0.2074795927389523,0.8673426484894275,0.5861149062420339 +0.5224444194493941,1.477313783963536,0.2838197147607297,-0.12931822017418784,-0.050323373285451514,0.8015978873764477 +-0.4608232979916716,0.7417442285166409,0.7378148897513088,0.40758822974572917,0.9234515701049054,-1.1234121278680802 +1.0971716938389586,0.408063261793039,-0.22591416366141248,-0.8749971255643108,-0.47220335460630564,2.6741763563694265 +-0.010821904161305058,1.6590900410054197,-0.11122281317000246,-0.37908683566484064,-0.6858735366969188,0.42285670636487815 +0.6030364672233779,0.24990668147903272,-0.08516927198821775,-0.46233362860008753,-0.21185258660495138,0.45644268545707445 +0.8993951664757706,0.30486399184401936,-0.38898908300947155,-1.488918258024863,0.9093613957804654,2.6085348269743336 +0.6125771342273603,2.0015208956875328,0.9554375685123303,0.10685909852026569,-0.13378679621304557,0.6039206507030459 +-0.7017266178569371,-0.19504633365684995,-0.3512789086305741,1.0499550225968357,0.05437991533187857,-0.4462952784360811 +-0.15232403706965328,-0.41552006941876873,0.020967326108501397,0.13857352764185837,0.9926649122187747,0.736118263118154 +0.45830666369859563,0.34848076370884773,1.0666380800889113,0.45577048810690174,0.09151043532543322,0.014903899638049264 +-0.006588496539113043,-1.4980326416155771,-0.7144761619279147,0.969119157842798,0.8384548178209555,1.351880149071573 +0.20328539963692238,0.5804054682934925,0.38276312668722007,-0.9484804602691136,-1.375197970066751,-0.18198039103189617 +0.7432511390903589,0.3673971681759432,0.8980035447653114,0.28554461037531315,0.9266160044033557,0.45940081932082366 +0.6259829253195893,0.6879356284677934,-0.6402851344588664,-0.953375148955579,-1.2112903813147682,2.1995034834063194 +0.4242415648372272,0.08850989563528518,0.6509563367122091,-0.15487566673616893,0.27364033167024676,-0.6148874482420145 +-1.0191424341209485,1.8146040098805256,-0.4976486586273149,-0.13221748997216784,-0.6725868340177668,-0.5092650946653786 +0.7819049777955218,1.3949173919879596,0.6104803613742893,-1.1715510880390407,0.9713534169766438,1.4460494734958245 +1.5228290477655246,-0.7717418358656486,0.053633896850734525,1.1363099249711464,1.2094244446479239,2.8062018064531107 +-1.016455567948368,0.6697271926365362,0.810143094913568,-1.185293635444388,-0.14485471243221548,-1.116904050388456 +1.2822159885175697,1.5860583661729453,-0.822465614120662,0.1993637636340024,1.0181919423744867,3.2315323386242625 +-1.8661529312578775,0.43403695698406064,0.2036547455810252,1.3615119398514748,0.7518255761234853,-1.6721275348014144 +0.42983243006929667,0.6572240110897596,1.2824352190389698,1.1526196856332254,1.3455454942260414,-0.35971589994877995 +-0.9161938258683288,-0.6530917008174034,-0.9081708371210981,0.22003434478753225,0.3410683640400602,-0.31878511657481806 +-0.12324929921814375,-0.7774684201828624,-1.783383479908779,-0.16715532542836334,1.1972231541988507,1.5772494669157393 +1.1315068591857123,1.6386001118084148,0.4881254308530279,-0.7189668013512707,-0.11528258141252544,1.3606396074285025 +0.1306824606732759,-0.10694130840463117,-1.9095562198740994,-2.328881287003096,-1.866944885574087,3.3373540946036533 +-1.411226238867057,-1.4673226564036121,-0.26303517550409994,-1.685789532401304,0.6221528832932084,0.27586951352537215 +-0.7766564244526475,0.7370130437813559,-0.3488736667588316,1.972947552742224,2.010142125185536,0.1601991669625019 +1.9084202500347212,-0.3872742707595,-0.052727323706913715,0.17316398625868012,-1.5680556928638225,3.3269903642131284 +1.3357223455693135,-1.4059245718031539,-0.5983916152165927,-0.3341060393228912,0.5019336394664302,2.98584855104772 +0.7043299619901794,-1.17282463711034,-0.26785567838420726,-0.6112159433021732,-0.39607617446574966,1.3767181352055085 +1.2909961553853586,0.1362641829790842,-0.15274853399022673,-0.643544964100991,-0.03252310840470855,1.2950158698838954 +1.1692975273248207,-0.4843175182831842,0.7689892140428718,0.5624928967786469,0.7132672117628082,1.0466253714735592 +-0.415379796687328,-1.4688564693647033,-1.7384365117582736,-1.3493449506103432,-0.7847405424533738,0.8877242208316032 +0.09649092644520693,0.18980370939419064,0.9548848043124555,-0.22265503365699837,-0.5635744560955493,0.3296888097643449 +-0.6002819180097416,-0.03602320072243367,-1.8114739811187373,1.4495067441347267,2.235766128329534,0.9291101902302998 +-0.051830615032309076,2.0620674741938982,-0.817401995005284,-1.1103839513042426,0.8547594201190236,1.2093516792851127 +0.6225774123179338,-0.9921418318154375,-0.4470539791404522,0.41614934054384983,1.2881035202972642,2.11532744757934 +0.7386505565559883,1.3545547206887159,-0.30772879714768253,0.9825624326134529,1.9808759030075065,1.4145449235843466 +0.6411575294274685,0.9542279725772774,-0.26451386930771725,0.2500671883318444,-1.695465475476674,1.1374196985745173 +-0.4897309600045779,-1.7276558941852365,0.21659254161612507,0.034284342049490005,0.3291678249546419,-0.3718779586885338 +1.693434068361829,-0.2711233961616032,-0.8992834753349069,-1.7372260059856035,-1.0318048906651498,4.497503754387537 +0.5465373843747329,-0.47935071878678753,0.259535032478432,0.41402922509472995,1.0273083591412533,1.0931062570077756 +0.13004085963162754,-0.8312143854051374,0.1574014974733599,0.07734074507128243,-0.34881668756648265,0.4969886535719269 +0.4608988696692508,-0.22760397232221188,-1.2851058089488205,-0.34843058197191423,-0.6299685929226263,1.8853047331727504 +1.6006907128730483,1.0634785377022118,1.201365522204766,0.4500370009080512,1.091714179359822,2.042764824364768 +-0.056197289582534705,0.2723556001400617,1.4835609877882967,1.4941715405635425,2.310325621637347,-0.6033735606603593 +-1.0870505778443265,-1.8460116980052077,-0.1295490369592333,0.6395786584129157,0.34546062503870045,-1.437151297532452 +-0.24539383069301202,-0.36944798334947176,-0.2833029017314647,-0.2331304111719384,1.200409545285562,0.04966500727460837 +-1.0739508992278985,-1.3722187788652394,0.26829800548576316,-1.6549308576568638,1.3714599318170464,-1.3827369985617866 +0.9147135919694128,0.6103545000168785,0.7482624007974213,-0.07640206469783763,0.38703660592588546,1.0533963644170143 +-0.9434642054868321,0.4285305522901429,0.22793323535511045,-0.1682716094840323,-0.15088172122701776,-1.6538806352805573 +0.21991070021986633,-0.07527727805202768,0.14626644411698597,0.2397687838836337,0.8969874814791966,1.5303308010687806 +0.3808992492877656,1.285374104048715,-0.03233231800244698,-0.6982512524809729,-2.095426618543471,1.0880433650907868 +-0.25198753782186845,-1.6763997405461044,0.18348741478749334,2.060327918384152,0.9766608434796382,0.1143354600536155 +0.666594303919273,1.0379286047496687,0.016447320561558055,-0.429206343746464,-1.4479674475812883,1.3124540622786682 +0.5394965907054905,1.7299608792818046,1.8092544054849098,2.3091884656910118,-0.07641820398022306,1.1901346480857282 +-0.936214233947945,0.6674390185293068,-0.6181313067607381,-1.0826670930792333,0.9542447800721048,0.4169437382211642 +0.2524238019733193,-0.6422358724177398,-0.42171543077952195,-0.4949249411972442,0.9134252969524705,0.7183013121862224 +-0.8011440226921065,0.42628228100065396,-0.44062280480250976,0.31326129823494,0.09940125986660664,-1.443269621304665 +0.6572382307771036,-0.047781478091891504,-0.16542169684092897,0.9521816861578415,0.3692306098588752,1.7312807274876871 +-1.576593912174096,0.002633003223741532,-0.7747253938369512,-0.6826147139997125,0.5451439953433406,-2.3409025651159387 +-0.6729817037344501,-1.9656456946743157,-2.283526592957142,0.6211430463528588,-1.3520079866595924,1.2199821253042624 +-0.8402236141169913,0.20093819290193532,-1.200920254590944,0.9157942453909267,-1.4083191347928095,-0.16912210090780966 +-0.5137201844113557,0.42428398745475165,0.03181387888819819,-0.38625321547142394,-0.12300886809916296,-0.6241751858358593 +-0.8706051383746294,2.3829244038462725,0.44856951256561195,-0.01709549667266881,-0.022037892660841087,-0.7107523660476809 +-0.4525185798291824,0.3593232592999293,-0.3101696518985893,1.174714494341927,0.7291453497172378,-0.3429749745015237 +1.9616320719187903,1.1701597875328411,1.9051729611241217,0.2919122467342327,-0.047264988700540196,1.6858880646788026 +1.4560795461043798,0.4862658444429541,2.2186355790219543,0.8304138506160548,0.009314387677778908,0.7381265269487804 +1.4225582924488103,0.21032284944961496,0.7900240745195124,0.09083769664088641,-1.4862797729408859,1.6737110261162462 +-1.553833252371789,-0.7616144846451373,-0.41828224396282004,1.7604590453111573,1.6528883144077975,-1.044251931295121 +-0.34460697831868775,-0.2007226769375409,-2.2322802698917656,-0.28992461221629773,-2.7064388866836637,1.5951896953539524 +0.010558940334529905,-0.027770788897201786,-0.032689753083106156,-0.18133919143543312,0.0864856594111113,0.4841828353457811 +0.08916918768123248,-0.3380409081205204,0.781176289093881,0.6217489783351783,0.5694788293717169,-0.07195256585572196 +-1.2154002929210077,-0.276652571762867,0.6777838191730197,1.367004450449119,-1.657850783725451,-1.6426737624213397 +-1.352121593571816,-2.507414210330431,-0.5991750562676263,-0.17738934553582777,0.8988776140682586,-1.7062209958483519 +-1.6720753346669732,1.3972770723235042,0.4247662129820671,0.7771439240540983,0.909553511985729,-2.264854817033102 +-0.49945833216792646,-1.423134266815724,-0.4618950324242258,-0.5403338490241968,0.9530695648142341,0.3610053622485583 +-0.32850809465916775,-0.2466835607366779,-1.0791609066691168,-0.4634791207177317,0.09050210289426273,0.8882431967298077 +1.42985760571908,0.8928704182673873,-0.48324745109684936,-0.16978383606580588,-0.17854165535531472,2.5100215009253484 +1.1239813242025347,0.2575268857867877,-0.42014322625241685,-0.2146575563905926,0.6805391394018949,1.8163560047198026 +1.6206811522019882,-0.5449135406613366,1.219298037894812,0.05743445872238378,-0.5643593249618052,1.3866766777785047 +-2.3359312033682613,-0.5215580563951379,-0.1036218382058123,1.4200637122518809,-1.1780824161808687,-2.539608771686929 +0.18306190950074877,-0.20426963275230636,-0.4831337090809489,-0.19964569455631184,0.25893042849349385,1.2789486742903766 +-0.5037732584452396,-0.8073328113781749,-0.6144220129224578,-0.6713325564101171,-0.8406394786116638,-0.08178876391155473 +-0.36047734363210865,-0.9582392888561225,-1.2833425222260944,0.5163104141266688,1.541126200283705,1.3292773216419767 +0.017290659228433276,-0.2835422260453711,0.7648946821123577,0.0198209819015631,-0.06866004348000833,-0.3993494680366031 +-1.0203661406200033,-0.6255360027542965,-0.15421134010835152,1.368172410082155,-0.553476359735861,-0.8520250740612113 +-0.9218423099611048,1.074723309075926,-0.7127539399555888,-0.966255748277807,-0.08314084061408664,-0.36660849378630306 +0.38799871310568307,0.7495019658928423,0.6671197039955462,2.0810417002649673,1.834496858507543,1.5674204786681907 +1.1706907318085054,-0.4347635426298726,0.9881359737866618,0.29085893419727543,0.4455427492691638,1.3257360394869133 +0.3354748412790273,-0.21994224868674359,0.25688924513984673,0.5781372648130849,2.258762948849821,1.6018638792649502 +-1.0891771791373548,-1.5387994317430664,-1.8941895586571305,-1.3789104863239987,-2.2877237546520943,0.30159803489047 +-1.4780808822156206,1.578506423023929,1.0808133192721818,0.3687916692269961,-0.6158855179349267,-2.3219145059188495 +-1.0888270536183497,1.4579299001824664,0.6262089270064419,1.1246024727055908,-0.6628775914693281,-1.6962023367702466 +-1.2026019133387142,0.06708389068507709,-0.8060392647989378,-0.5296564395726647,0.16823637592644752,-1.505142966778793 +0.3428208924020465,0.9086620626902375,0.6828111985832629,1.671235197764378,1.1841453291558923,0.8443554813993671 +-1.2374681620581296,-0.12570120283505415,-0.5165282499260359,0.3524782718799144,0.8515153308219987,-1.2902521505634037 +-0.023745770453827225,-0.9509760323737085,0.28237534648199797,-1.7343467784585251,-0.8836027900645179,2.133324482641101 +-0.019596393503748113,-1.0273134035578986,0.6119938625734754,-0.2441950725078296,-0.76962369192831,-0.24578060646773336 +-0.9437927605192981,-0.5143096014095957,-0.488921371790498,-0.7970132771029237,-0.6677130974685728,-1.2551155620861907 +-0.7083062598211621,-1.164282504171497,-0.40368307844279183,-0.3587186104755801,-0.29634905208469053,-0.19122731009107333 +0.6631487333373116,0.2588164178117866,0.15398343718194046,-0.6931981345676473,0.8867563835765405,0.045407026517734206 +-1.273425393239636,0.831877595065849,0.21779435394234709,0.37111808561508014,-0.05798060767989262,-1.8001355130716772 +0.09576631578816414,1.8198544174935836,1.0145943591154998,1.0712422365580545,0.22569786012080167,0.08784124272217236 +-0.3068525086638772,1.2619381588197767,1.85889494349295,-0.6608675732764777,-1.2061390418997893,-1.0546343173558657 +0.6825671619408725,-0.7270777834642722,-0.8747299351281902,-1.5136398013424688,-1.810628242561925,2.9418823242662766 +0.7425080063540423,-0.049366219818724535,0.6109344400642045,1.802739814917858,1.1762578061310869,1.0472970069622893 +1.4500917885326725,0.4843472028940377,-0.5536023325940702,-1.2087675868757255,-0.42172040732017446,3.032423898172642 +1.1018115552403112,0.21118501487431215,-0.5433919785966782,-0.20082317142464973,-0.033384392427760264,1.8082361054151845 +-1.5104287757305834,0.022698344243362666,1.1555739116763837,-0.7625058804727846,-1.149804538149848,-3.6266282418780635 +0.08439159282671072,1.016899207639412,-0.8093349352830043,0.7497072608738301,1.0627301159793157,1.3921955657083072 +-0.614667740017041,0.2233880433207187,0.3654304171075799,1.1519116835838465,0.35196576242650923,-1.4849465654250804 +-1.973834977361592,0.05637417175020346,0.21856819771364047,-0.715788419906515,1.499161908730605,-3.213028636168194 +-0.20890876159928407,1.5275639766210107,-0.5876906711493178,0.5013811321384696,-0.18528896811011408,0.17310701440689524 +0.5225621574674151,-0.8742091403495997,-0.4017563165808745,1.013883049765611,0.580696775607677,1.899775039646175 +-1.452111138367868,-0.8853550308545914,-1.80309556794141,-0.5683404172458358,-0.9187073004047517,0.5466850366326934 +-1.3045358422846984,-1.4035097961663379,-2.6718008452536965,-1.5873304283365859,-0.549281004214799,0.4722315411867276 +-0.4579292687751148,-0.4334253663990491,-2.0682616322060485,-1.304478809528206,-1.242921798473347,0.5615726245978605 +-1.0183714399928951,0.9393113358900388,-0.9496322733701504,-0.9741106394495223,-0.7531877610593285,-0.3093500121132998 +-0.41486738371271986,-0.3619056446908298,-0.3373743624308973,-1.2080471318749297,0.46274211271465965,0.10176535107163312 +-0.5077259680230307,0.13462391735382445,-0.6833799563904479,-0.5717966317204108,0.5983208415544157,0.02298556690365053 +-1.6778390337821696,0.7175783511401251,-0.9896451569018514,0.9492120311576983,0.5290235032148911,-1.497544305065341 +0.05620424845577382,0.8989050632928659,0.043973114126595624,-0.6675779590840197,0.7069604122823507,0.3585790170508186 +0.10739364472124133,0.036070779613039616,-0.030229313363471944,-0.22371187729005357,-0.8275396225859801,0.3967562546477621 +-1.341959417210606,-0.8828587603104812,-1.2270831713302863,0.46308788151172336,-0.5028772461282119,-0.15177144569832512 +0.056508828181364615,1.4337593290900401,0.8805042715986008,0.4904270547131813,1.812925476607026,-1.10434226551046 +2.3336464623309774,0.14543997927995905,0.29770514139432513,0.8867581787446056,-1.7195174588770923,3.3029982866676573 +-0.7595380320292527,-0.03514767812215124,0.7533969756638096,0.3726033199235254,1.0089701760110368,-1.590081534443336 +0.40460706615243447,2.1209034944095224,0.5233424588127824,1.058793784074572,-0.4754970505993121,0.5225187060331793 +-0.02042362961557777,-0.027946168216203646,0.18465096131975303,1.622372331660633,1.6295536267077928,1.2274283989687778 +1.0696927018841162,0.4517924452169153,-0.6322220015441508,-0.46573334273827277,0.8430939961771511,2.022392704314581 +-0.6893842271103999,-0.09413328210696226,-0.9006273355702401,-1.067180597462712,-0.7444818580807023,-0.06146466686357596 +0.36052418853989415,0.3982659834781804,-0.33910946165922395,-1.4078261119926763,-0.9010810622170259,1.6540962157366381 +-1.9865476887053175,-1.3498679520791397,0.32150854877684565,-1.439470730721802,-0.4140348823100223,-2.6910760015731006 +-0.9052533640016198,-0.5559532850829217,0.54727384001921,0.21664931868790685,-0.006740944873683255,-2.4885540550298018 +2.0899636680606672,0.14826542813703053,0.262799737644969,2.830981392345607,0.9201006374043131,4.382395817453799 +0.5191846151060396,-0.6365677934891365,-0.938742592072416,-0.5407355489967774,-0.503877306231716,2.3492708810719733 +0.8701984378575577,1.5826698056576092,1.4595848090716415,0.05979241956350018,-0.6624748203597817,0.44430910896531695 +-0.972467178694479,-1.7169028271707776,0.09253909738671408,0.7681939375887039,1.1745758474008885,-1.3381785290042925 +0.7299376677377304,1.145509702158151,0.5858054505762832,-0.27031077677597676,-1.5419718149119404,1.4854004028730605 +-0.20006066564326438,-0.48772903420880137,-1.0452641032107812,-0.8251285848409261,-1.7956392992836216,0.7055256819777361 +-0.012479640163998627,0.44752810733409903,0.10677752872107396,-1.4263516719045446,-0.3304292477793506,0.23260260240295255 +-2.0472295418096045,0.2266279872414885,-0.6339605661352218,-0.37799161591669017,-1.9541541753631393,-2.358237817196167 +-0.2220105885112361,-0.4831801023990035,-0.5576088564229551,0.5339421098247307,0.18538330461579286,0.7525593927200029 +-0.929183393206014,0.8768951756607594,-1.7304045967833699,-0.4190824779020748,0.7097258824248556,1.5313408327910984 +-0.12021675121708371,-0.4383221864332244,0.05932426087075931,-0.9651591962399761,0.22032968720854565,0.5538786161061167 +-1.0908490456091748,-0.3777843734429121,0.22856568066807684,0.40167230698031087,1.5340754700902646,-1.0466996600952645 +-0.6844865688441765,-1.4707738002969777,-2.473577339439099,0.014113112622085916,0.15956707693157057,1.1514544453059532 +-1.7008615318373863,-1.1108133471702113,-0.7172811381835958,-1.135303562308624,-0.7989820545841271,-1.8590819315733007 +0.717433265779926,0.3368015941377737,-2.2250010295285896,-0.7921220005729629,-0.17395214502327652,3.157947795261245 +0.2789837628695648,0.5938387564528093,0.9127656980590094,-0.15322098126865133,0.2034603375584953,-0.020383913344235643 +-0.42705940561998057,0.8112382550011674,1.051157017721489,-0.10298135523320866,0.4467922780982828,-1.7216446963041643 +-2.6568302155621564,-2.170165742282261,0.15926826612564618,1.2288210578764938,0.48317040951968837,-3.3214150271626055 +-1.0423955828036555,0.5038703213865979,1.1251987031097208,1.476113373249729,0.8938560596096172,-1.6242903980323755 +0.15958997285772702,0.19388597490601264,-0.026633230017272854,0.7282202843054805,-1.102161830176225,0.6355559533074764 +-0.6325674530119998,0.44938315503748916,-0.7489991241069458,0.7399869563192844,1.8656849445980515,0.19757721336466366 +0.0034184982665301134,0.9046708393200409,-0.5797827792033663,-0.3423056254046517,1.3455606378770288,0.9600255670132591 +0.31071695926905285,0.03487602641528585,0.06764586568945016,-0.746343448549747,-1.023131176181385,0.2870009445064754 +-0.5716228817766922,0.5501927762858281,0.03054365517648146,0.18573260674475023,-0.22787889724588228,-0.9127305923915385 +1.267536341250763,0.006423670758442738,-1.18757178192704,0.05824228842776021,0.763169567115519,2.2557662347113085 +-3.6891995541887166,-0.9071300859584521,-0.6207596563401114,0.7630742966267698,0.6082384337510628,-3.7055478405502815 +1.242740641100364,1.2171899179001449,-0.35320298077514883,1.5474769635941088,-0.32241531539658724,3.030455814816959 +-0.38532700623615146,0.7001093713263287,0.3723543041849175,-0.2775923363344169,-0.033342917629178265,-0.7075426870277648 +1.1373316814395102,1.2445834899792059,-0.5136004951919237,-1.034281330394828,-1.8761863363158922,2.2706894397336796 +-0.40360644021635966,0.18071848243499936,-0.8474105487907266,-0.2870606563360913,-2.3634293703367932,1.6398900622565358 +1.1359353942806716,0.7997706053679402,0.4039253520521711,0.896010380949109,0.4678077659257369,1.2984953218807913 +-0.9079197250852238,0.4713946894998887,0.5426874399982021,-0.9540257397309474,-0.5292196627594936,-1.6353151203347538 +0.9239767608138134,0.010734439265280673,-1.5552559220444309,-0.9973337531890365,-0.8955222161684865,3.0423618371414727 +1.0759542471481756,0.7099081383356466,0.36890703612504216,-0.5162941499482692,-0.6109967369727963,1.9404439789485453 +0.31908497773909716,-0.6359429508045487,-0.7728898694623635,-0.2922602222930696,1.923236970649204,1.839098280506427 +-0.6268449527709993,-0.22245870922811078,-0.2627438653411875,2.9111381786058206,1.1005686650106616,1.9691090990453415 +-2.304534716212031,-0.12202142341661158,0.10358929516478974,-1.2781745689908692,-0.04798626414239989,-2.9022826865203153 +3.3091440348834427,2.0777736932100432,1.403109452357815,1.952391575232592,-0.8482647638165988,4.6376829174335805 +-0.7992455736629112,-0.34414033395926436,-1.876662170977673,-2.3039812031016065,-2.2160404816275467,1.383532016475155 +-0.12284223964200501,-0.6929011847643255,-0.11887338362239062,-0.8919170410874362,-0.47068636788339063,0.4870766025802248 +-0.6073690069213042,-1.3528307785129494,0.6745706494418026,1.0125698787896484,1.0551742149473549,0.2162721376164234 +0.38774294730237363,-0.2534250440620006,1.254610503902748,-0.5541256348556994,-1.700420640442493,-0.9466257577847547 +-0.7452698300560608,-1.3012064583656033,-0.5979255810402344,-0.737496862293015,0.6514234751659268,0.4872210630010366 +-0.22788990118109187,-1.327535011272341,0.1335019341835486,-0.08118072560898722,1.4293215684696443,0.06504373394333443 +-0.7874876578655707,0.48328504237184394,-0.7420020396153929,0.013520193038216851,-0.5285317359789955,0.028451597270514606 +-0.4238567282837914,-0.01416643195155655,-0.23625219851396084,-0.13282924090911588,0.42466855517269836,-0.4872184575968954 +-0.2245668629496281,-0.30051826540992166,-0.8768417571076979,1.6440641970588188,-0.4401005905118684,0.6153776383693723 +0.6158647365602774,0.5514041119137848,0.4288145946952111,0.7570149829062487,1.730762353044811,1.2903763554162062 +-1.4449995150837505,-0.4746314680249731,-1.6415687608949578,0.5630639142843388,-1.1214122428273186,-0.269416502849475 +0.32971215081432853,1.1781876433523408,1.1750049204739783,0.30063378165583066,0.5164753556868368,0.4479154942328765 +-0.20759666543625316,1.3112295486190226,-1.1801418647718203,0.4524671486491726,0.03583568185924737,1.0859013076233943 +-0.49972174720239215,0.3823126122431785,-0.031683744193676186,-0.4259416592950906,2.5536505311889734,-0.8259824264107767 +0.3354292337373413,0.31388528616122446,-2.097186989248618,-1.4335787033812069,-1.9248216902995876,1.9490238317527528 +0.5685333930759267,-0.6213748625580425,0.5165240988279293,0.6571800033194266,0.13261965218577718,1.1772817909287996 +1.30056330989089,0.07713930392966918,1.1994346226410182,0.2664940951029927,1.2281477178447233,1.2546001956005042 +1.4165685670947714,0.2090083203735418,-1.6644364294869045,-0.003091298613784069,-0.38227313776599997,3.068412815844311 +1.3223330867520204,1.352843929710358,1.4616835799217054,0.27675650570391797,-0.8505920429468002,0.9879971518975028 +-0.538213027368736,-0.4585692314430906,-0.022815922343707745,-0.02512883916994069,-0.9153919130567085,-0.8335919290603657 +0.9939285461935334,0.8910158906654695,0.22701362129046998,1.9074505561818647,0.4076720641431579,1.6140203275995777 +0.3931553234862355,-0.40261313580700764,-1.680126658078629,-0.2537243350250067,-1.1416661175989593,1.7070368322281462 +1.1119025084695549,0.92858411863968,0.45314523612473995,-1.40166752523587,-1.5121976442194405,1.4597498238629387 +-0.5250698966839736,0.068395301053506,0.3335191762495022,-0.8395985384619437,0.48326502671491006,-1.0865956487477462 +-0.435590821563822,-1.0061156734318608,2.1910853458860178,1.3567872385681716,1.744466695447796,-2.0593287602700343 +1.2697473889795994,1.1171259179851998,-0.2072591064963231,-1.7275473816929998,-1.4583240397931576,2.228839634346431 +0.7188210451461997,0.5984561773499034,-0.14972073848513576,-0.3061420840893187,-0.4303547473114475,2.462567006064372 +0.9591608286728869,0.7615258115894417,0.46352017002332485,0.5527127928040502,-0.7165265128530702,2.038383944710689 +0.3086043108228518,1.1988290630263685,0.19224811809083864,0.27628913678234573,0.8500505782695224,0.32882788571899485 +-0.4149338135424176,0.9494674379500562,0.6061748726997516,-0.8209758276444504,-0.5635959645069034,-0.5025515449657696 +0.20955259334532453,0.055936630001218325,0.9127136550942007,1.609720914959746,1.209692809878708,0.3383448826724853 +0.30481673233665985,0.36616288945520636,-0.14780515397032357,-0.4585390568627668,-0.15071521899636903,1.369066762208822 +0.3872570623008803,0.7025146395204079,1.2676182350191518,2.5170398902997833,0.9991132285983975,0.6906396328989309 +0.08169766389893342,0.02046034597039538,-1.4691669476600893,-2.146069672094127,-0.9029777267431096,2.7751833759945983 +-0.029886708938853708,-0.1847532173685198,0.047610082512846555,0.7840263589463029,0.42688417778270316,-0.1491640664606483 +-0.5512651969503071,0.8299182246597923,-0.6217281381096774,-0.3681082593915471,0.15941594731886297,-0.6682101089572575 +-1.356574606421702,-0.3973211429804579,1.598015430600462,2.5202729813442146,1.6653172957993205,-1.5135723272066923 +-0.8376877061003752,0.2222639171511894,0.9572589259263575,0.965201653852419,2.141688629859512,-1.0902842368540098 +0.6360037188542514,1.1629962088846348,2.2527069556915604,2.6344150039762098,0.9193466141725195,2.2195701802573184 +0.1341551697817761,0.42059209398023756,-0.1790771446861582,0.5880802635148411,-1.0959756865755022,-0.01066360670735056 +0.8101107652176833,-0.6824357741887614,0.19572658794679837,0.14946361401702934,0.2889436523068653,1.6726338988741998 +1.823487293096477,0.46866333469392435,-0.5656908205811716,0.8045569654597141,-1.781360386530215,3.3045217018486155 +-1.228071329779406,0.6712269597996866,-0.14878309614241297,1.19486947561815,-0.34714530954639294,-0.7890795181749295 +-2.068706396278649,0.018820748777049694,0.21194396202249866,-0.04662464264053644,-0.9377463978882001,-3.998101853284353 +-0.23989228068849847,0.481131806807323,0.969642994759381,-1.3233178957587854,-1.1612743395379395,-1.2203003891199473 +-1.8518603367427133,-0.1356076405832665,0.6111174884967837,-0.5168569313464183,-0.09162511619395937,-3.537609753084226 +-0.21964286775399255,-0.7903688081434185,-0.7135612490889114,-0.12472896882662707,1.6761541390686834,0.5751890019564356 +-0.14891023436374748,1.9213084437160743,0.7453166974883143,0.3016514816826659,0.061991708222145614,-0.5859448129863423 +-1.414585415903033,0.11037960603468248,1.2320001206990105,0.9587394760172622,0.9074469446755213,-2.5417637997430234 +-0.557760985240475,-0.013911139497021453,-0.9033311563452874,-2.4015463594539055,-0.0306933682038375,1.5598633735141418 +-0.7059036166126647,0.23236299673332458,-1.1283002100389246,-1.1850130073090874,0.006088766474314514,0.5288914101926898 +0.8308989645077574,-0.7414784069636089,0.23930263212393857,-0.7858676453065138,-1.0606265303178983,2.2651849579032906 +2.882403597774578,1.6866009806203908,1.3709854978906157,0.5607256618433354,-0.10742730151424341,3.9917513759724494 +-0.14992913526309334,0.09426718563910452,0.46870499701203683,-0.5137509866754219,-1.1065588909475326,-1.1104755892272342 +-1.4416899763900861,0.6261156939304272,0.03661140973356891,-0.2910734517960209,-0.2651032676280621,-1.250094004198155 +0.2809525898738562,-0.2105082366432037,-0.14037394038694223,-0.2839562232706548,-1.8285258317155881,0.3427962975162977 +-0.4540640983297086,0.8349023801857453,0.3776520837162179,0.037290386748885344,1.1216348370656586,-0.22423480939469176 +0.5211632177639443,1.7412386287237311,-0.7581866786544227,-1.9661901841766956,-0.25403840190700916,3.4525469821840455 +0.8445913860023431,2.344849157593218,0.948394334256352,0.4416092340917883,0.7991013689819917,1.379230158927393 +-0.40814160192416543,-1.0204694036305477,0.31259352002281343,0.8493027761939572,0.6499220614013311,-1.1144386531304489 +0.4636856026750781,0.16118430766823075,0.026943405155850194,-0.5219079086180685,-2.121449035922418,0.34406538924100727 +-0.7011222286845324,-1.4110482104947413,-0.6579061175730928,-0.7883346618295923,-0.028816301798223278,0.7003388898109693 +-0.5277036628989038,-0.8690751384415712,0.09938853703326182,-0.2083481127188346,-0.6634286443479066,-0.6342240145072836 +-1.6733010332316585,-0.2176521631133697,0.1873820039302451,-0.33500032168351535,-0.738333260375109,-2.499163068347401 +-0.27473778446104724,-1.7465436249870472,-1.8576797824261793,1.4303193266207455,-0.1599705872482975,2.3677836613130667 +1.8946692751335616,1.979783085783198,-0.2689683303677897,-0.22765076489349148,-1.499318973328812,3.961630236117231 +-0.5877134391445091,0.45854635358441115,-1.1708101954434162,-2.7081815080347362,-2.3139436697337814,1.850047465674682 +-0.1332628275243996,-1.0511098562017978,-0.9228191245566766,-0.19764255611689566,0.15911952087012374,0.8010299087057052 +-0.2224228225579131,1.4929213451732533,0.15751899903720892,0.32204532693675225,-0.6963793744677792,-0.13851339052633455 +0.95681799942747,-0.21907387229304665,0.9539358484927846,1.7636377622825483,0.04534270852731072,1.8221570890002428 +0.31451280034066065,1.2734606900147492,-0.04229121890286758,0.41196492929862627,-1.921522291442704,1.2269815635709413 +0.03939585110411757,-1.1380823450913071,-0.5321503722029518,-0.7487950414985235,-1.3302887488093347,0.848257540379766 +-0.15769135511910407,-0.1478429456541793,0.7418317537228123,-2.0104017041674345,-2.110598995870267,0.588338964072033 +-1.2501990606038131,-0.9887042640307264,0.06638267169497059,0.5519120663543754,1.0390973600436517,-1.588258748498719 +1.8713223015309268,-0.44880387834684105,2.5481247118404,0.4115014800978995,0.7028712080163401,0.5618884415418457 +0.1245002880951135,0.810387215132429,1.3545160217760652,-1.0629571244290636,-1.5724662773144107,-0.7536017883498782 +-1.2285130962008395,0.12511014388112404,-1.057673426353484,0.18788061800216302,0.4236102855892151,-1.4200010277811568 +0.557227284775094,-0.6514079181455019,-0.05205265674715393,0.5865136770329827,0.04420129469303997,1.0608918068265887 +0.8698457944965042,0.34241516817256595,-0.7331102828616017,-1.287246571412738,0.12491532580153157,2.9867549823055 +0.9595024088662386,-0.3502742313163284,-1.6907102293456746,0.614298088539723,1.261272331140707,2.6149004876422297 +-0.010552912317522672,-0.4193555268209025,1.0391668255949478,0.578344744892269,-0.6057964152568225,-0.5109269625349735 +-1.3116510033729445,-1.2790252890256797,-0.5019535023220169,0.7575206755952997,-0.38526120220117643,-1.36761693785123 +-1.537070804825599,-0.924883343642839,0.8782630011746466,0.6020290435982969,0.6580834406351737,-2.738450652347442 +1.1769027244129229,0.2617053308632318,-0.6640491759320818,-0.3631080570266374,-0.6987330887960136,1.6841744351308943 +0.049029195516447396,-0.7578420394585244,-0.4962140314145761,-0.0852388137391273,-0.7971951090019574,0.6437425063082662 +-1.2134851816333823,-1.0148961974459687,1.4709337333324992,0.7203612607469166,3.290755114145268,-2.6397595402432983 +-0.3748518872833535,1.2193461087957351,2.0519529360561184,-0.2072071060842222,-0.14575278304089787,-1.526502947334913 +1.4299021121109752,0.03543082311490936,0.4153459274238041,-0.21279434281465764,-0.9202802285223486,1.9506819664843307 +-0.5081853786041273,1.1562020787370781,1.4735838130837475,0.08514622809819147,0.2756951952417337,-2.154717016218967 +-1.3366415615958234,-0.3155913884524345,0.5123267285589816,0.7286038714067214,0.983809508308565,-1.6294087381370725 +-0.9499384994805093,-1.9184268111362741,-3.044843393190242,-1.545613548245747,-2.154787326368987,2.1294250874393854 +-1.762364609699161,0.09529844551949224,-0.5396202343172443,1.3912295888516628,-0.029727805437185773,-1.6800365751676873 +-1.713492110697513,-0.18876471841282924,-0.6707980168497207,-0.4511262667819592,-0.7042194358125295,-1.911030589432612 +-0.308598109901261,-0.6224940036017079,-0.8301098567778993,-0.4136005527738213,0.9753839591157349,0.21850731731638573 +-0.5848311903347513,0.3000287079953242,0.37255089236396216,-0.6634709402539105,1.9141315943915527,-0.847154418158157 +1.0305530904132716,0.284951120499458,0.49513758864089447,-1.2214779240177969,-0.47848164117216685,1.811275785994987 +-1.3928904125038217,1.386975262510585,-1.3324593044749256,0.03765196418663898,-0.3296959831838598,-1.4615189948268816 +-0.22955486746794013,-0.1898159713900063,-0.36704273351025335,-0.2879449861359894,-0.7924441370498907,-0.21659674542169516 +-0.740734850039585,0.7331353425016834,0.5414232920355104,0.7618482829415099,-0.9412149956220839,-1.2806657801877717 +0.5138878738224747,-1.2149750424258592,-2.364213839636193,0.249590709043649,-0.7184111033102905,3.200367857650883 +-0.3872341762689071,-0.016963567607254988,-0.7699996475370341,0.3706860556200111,1.0359623534259452,0.667696233470914 +-0.0709136162185806,0.22182525605280679,-0.5605492927721212,1.3744914309005818,-0.32081252268067023,0.4342168674172826 +-0.07551410296274531,1.332569675536103,1.0284191079673022,-1.177404299335345,-0.39862390388834595,-0.4842459249553641 +0.5494687498208972,-0.8934671486923955,-0.24425589505473835,-0.6775616441636683,0.3986984079020699,1.1743635511270687 +-0.9183891492714459,-0.9408329502335718,-0.7821395629534574,-0.8333645188927843,-0.18076001822982807,-0.6821779659673356 +-1.0680448994557303,-0.7875132287852076,0.15346565715759306,0.3244785340973552,-0.8284011677159625,-1.5869631605089887 +-1.0963590680054498,-1.6522156588600179,-2.0376043028386985,-0.8965243125131537,-0.028544323303943433,1.0193948130153034 +-0.3855140683908703,0.7118463316017982,-0.3509587226415476,-0.9034029152695081,-0.2197552946899557,-0.39240824963548615 +-0.545808707033003,0.5255632252211745,1.5740175658500108,-0.7388005766388824,-0.5680061474178549,-1.5436728223004441 +0.860976690971299,-1.3074020956316537,-1.7436399597419463,-0.9008052467399706,0.46332904002023473,2.4157770366185556 +0.15423874024121415,0.3319793100894619,0.22510078670262257,-0.5905363761785445,0.20873798853132802,-0.016311855387517282 +-0.7427503364974147,-0.40732703024169187,0.20264861696081676,-0.9514824500370727,0.22289597667634464,-1.0890791868781666 +-1.6333120507175558,0.1478112307029298,-1.408457798686383,-0.11958379203537442,-0.6237289670475266,-0.4139835184111055 +-0.20624301882408771,0.21412926227123255,-0.17901999148830755,0.7302775420686715,0.038194349444894395,-0.09987504807958214 +0.47797004382705177,1.389013933455139,-0.4142348052339975,1.9166874023745752,1.8297724845867747,1.1178996432188568 +-0.005679431961576429,0.06189832381217053,0.23724794399783053,-0.7118410567724298,0.8798457628813335,-1.0663893295766287 +-0.009309820889352829,0.8617831600677208,-0.323661468566829,-0.4072482331372528,-0.9954332663584743,0.6059168197142148 +2.0534003216694665,1.4680642898248062,1.9527299960740614,2.5981096538145536,0.17544380668627382,3.626553745721589 +-1.591864175361842,0.39836603031360895,-1.5544927062827358,-1.2541338260860613,-0.3839531940409171,-0.4742516215561502 +-0.23931895405245313,-1.4502584720696858,-0.592799470511688,-0.8194207702911956,-2.039925970520871,0.7814330368860801 +1.7036136489814744,1.6964266790805955,0.5281784029365527,-0.24743739381203114,-0.992326302361368,3.2222163247879028 +1.5001027670695342,0.27706132112454207,0.18917384573658477,-1.045964490838728,-0.7428033615739612,2.170108604651649 +0.3837199710207046,0.18523206198762093,1.2800913084007535,1.1066026765318635,1.0529398628298556,0.328845378723004 +1.504964025983743,0.8032422016325106,0.13336798500189093,0.911444578924747,1.4454183078855931,1.7956835864382792 +0.7351853614844694,1.3029320716226118,0.013578505199511209,1.571118841324316,0.9861486957805969,1.5502157667103877 +0.9598051339796513,1.5945470962530826,1.0603403591318052,1.003820097598501,1.206682834282866,0.3661516598684501 +0.6086848352707411,0.5494784901978537,-0.10195153552443417,0.30492729308011846,1.2602518869518642,1.0947211699936044 +-0.09856112748160821,-2.779657609265841,-0.551772050847696,-1.099684345582125,-1.1123026162498413,1.17712318579106 +0.4846262128219027,1.110744564986872,1.3745255803237344,1.8754713665012064,-0.3639430180007875,0.7613685502222107 +-0.7222625340737254,1.0471658222485913,1.00394892709869,-0.49789281427910137,0.2808069879634685,-1.4478036600200872 +-0.26024712347534695,-0.9778237773132201,0.5559571516686216,1.4243516960166172,2.1375658792381182,-0.5521589522229838 +0.25206175556480864,-0.10796942038278212,0.0780963074384093,0.43772436485379584,-0.2658959984222053,0.3100801836130732 +-1.7546136446990457,-0.39177679059029497,0.18603404016010316,0.020400479484034666,0.12508795040838253,-3.3640971988333366 +-0.7092120217080274,-0.260294902585772,0.14670221498381078,-1.0780251021369722,-0.4653579390539114,-0.15146482119083737 +-0.8843523519716476,-0.788742225730604,-0.25516426150391514,0.19840548239597036,0.5596479934407489,-0.9755808552760037 +-0.746007388643857,-0.7549299699535692,-0.4761827535971902,1.0406134895036745,1.4163923736983548,-0.4847181762218172 +1.6689227621014284,1.5056828501995136,0.10531622365421565,-0.023604406881146636,0.2541659886180725,3.6729934081954623 +1.9232486775470647,1.5867005206538645,-0.5020859643485763,-0.22852247425492875,-0.35398336329823527,3.151054591934273 +1.2446639583476713,1.17524012649969,0.3661855345497833,-0.17630623294708456,-0.42299162184695366,1.4060402611384184 +-0.08673779315843784,0.5476367592784382,0.36577547442986535,0.836538762973226,-1.7055176560534995,-0.6125132633226673 +0.7644811456461449,1.3015006066785786,2.276268627859685,0.7983565560592997,-0.4477403177988385,-0.163973562609446 +0.33197005392743045,1.3826204840935936,-0.12537465561157818,1.0069575328566072,0.8614464008766999,1.450963777652588 +-0.6362608438669013,-2.1677387834039545,-0.43214913776053726,-0.18484390761999733,-0.9193787900821173,0.3445082404133412 +1.3490525384606236,-0.5385651712661383,-0.9064796143120603,-0.921358413158809,-1.558308988524208,4.419965560561158 +-0.859854921146342,-0.5873188570667112,-0.00015155239075411364,0.31537997815244956,0.07479145794273005,-2.163461291038703 +0.053595675895223634,-0.560994864686622,-0.5271084272015162,-0.2800035062766716,-0.22914466522115795,1.0447901187562796 +-0.9885864680066001,0.6652007961348293,0.9545071841473836,-0.24851407388073218,0.3402774810439794,-2.2577260294104646 +-1.2665396631465964,-0.19435006460328647,-0.0630566617715985,-0.7060164543319707,-0.20895942667426015,-1.9540788137722152 +-0.3919681584347724,-1.643901259018088,-0.8130799837795913,1.1735133663325132,0.45087802306831487,0.514180197431185 +0.3987796818846988,-0.6053852460187119,-0.008488702503147197,-3.1329433334890533,-1.882177238437702,2.3503243138221803 +0.2530103008620223,-0.3890530770514373,0.27256707948838305,0.7243958321301117,0.9553054298586348,1.2729852070566343 +1.6993438676262558,2.277189904571334,0.07006724232135406,1.790895383112685,0.447743782230456,4.1490650851283615 +-1.26778001451178,0.6729829771891623,-0.9021246248033241,2.0141666554718953,2.2710710791114206,-0.09969474597760516 +0.7464697093551916,1.9425278721817683,-0.414197098932918,1.6626806436342267,-0.1938015013184104,3.2191060201591615 +0.4716926054815241,1.6787568732579072,1.0426835919251,0.36638080479955415,1.0003349030398638,-0.3633490523183245 +-0.6280031891387572,-0.16830568437782198,-0.3538317002684581,0.3021090365384016,-0.25557817072549716,-1.2282607320465704 +0.37030121331958354,0.7843775298797663,0.06807553773598664,-0.43679250584159923,0.48088762305687144,-0.2603001218462567 +2.261654613947947,0.9927276481953985,1.462457637003438,0.8366896141266575,0.13598186682937952,2.357570632185335 +-3.9915646847659794,-0.47925852212459996,-0.20983859182253042,-0.8476261238937831,0.4275540291897791,-5.399162399322203 +-0.2526601219766767,0.7594115251744117,-0.09016203080441258,-0.2642967098447642,-0.09322722514861173,0.04102897703298675 +-0.22982439190258605,0.20543928251222657,-0.622153598397419,0.545141194842681,-0.21942592072003025,0.3805150560134783 +-2.4549446104446546,-1.3866721276841165,-0.539582806538895,0.7335139291303923,1.551609536002447,-3.413720558904431 +0.21403074072460604,0.8803790853579337,0.8382891955678765,0.08658135274102957,-1.169788543681982,0.3692280908995376 +-0.17025650202899967,0.6013016423954431,-0.3672185543309323,1.3309609430749698,1.7309062920816753,0.747903668443732 +-0.16794811283232663,0.04498672890604043,-0.10180281562969518,-0.3146545881009436,-1.237680811650534,0.23785081881320477 +-0.7587260238118768,0.5048286382354449,-0.2810124152758042,-1.2556737398969466,-0.9181205630457123,-1.3399773690385746 +0.1855686410520774,-1.3364483929345208,-0.8042021341591452,-0.7535987057343724,-0.27105551782327886,1.6153582979493872 +1.0354401276544478,-0.7059427890986548,1.0432596161460292,0.10423916541970835,0.8856318195277197,0.3939019960250706 +0.2514466287491525,0.2500760564911207,-1.0920339098134828,0.03142007043839937,0.1613149090258037,1.1639350861921614 +0.6781113076016714,0.5468267461034755,0.577634313984576,2.254899219153201,0.8984413509340384,2.057258843165683 +1.3763857155191972,-0.8084381567089094,-0.3726652492471851,-0.1519921223948829,1.2598686200985696,2.7091096848195395 +-0.20366749675967336,-1.2473264152266095,2.2542902762685455,-0.8827962974152699,-0.45120724418386543,-1.973966970609738 +0.26882489412737176,0.8490094682568263,0.8132309117610222,-1.404873852715418,-1.3308825208698454,0.45784833485139625 +-1.4414513267575961,-0.20570981595355362,-1.0888379795402736,-0.021301561864781264,0.1089490035739861,-1.9632492866193438 +-0.4161222055286767,-2.560906330133379,-1.3891808415768658,-2.5574998764914527,-1.2288409729488168,3.005463736357513 +0.5270068422029467,-0.12803762980495725,0.5573166958341806,0.3719576700622232,0.9902782851059461,0.32992515469037875 +-0.5125652122775769,-0.8120670010465978,-0.8160972296034217,-0.5459626210776564,-0.771005591665722,0.8001540657329386 +-0.2497098903552309,-1.7567191643365194,-0.3271506162140853,-0.39855546292962774,0.4214388393532774,0.1626797373370627 +-0.5142473952457476,0.7670034960466733,0.7809690907171553,0.573502551573069,0.6315416590325378,-1.307510738385153 +-0.7551355858288356,-0.4514896915759011,-0.5590028894906686,-0.4283484085325192,-0.5461780614661081,-0.8446027873781063 +-1.3165974437726753,0.2237170816845958,-0.6783475969816587,1.2123369014254821,2.371084854602099,-0.5992324622365288 +0.332205376217879,-0.2869011117236962,-0.27932089755416617,-1.525314553765597,-1.1073476355828957,0.9584846459889458 +-0.18185604441761957,0.5701900112296989,1.0772408223227037,-0.36055953033103477,-0.4586185359303176,-0.5606800541454544 +1.470976160197943,-1.2009235603082087,0.2040787228652091,0.782969480873454,-1.0120682948405386,2.3690218409724206 +0.1387449276550854,0.9939020300291795,0.2122793376890641,1.7879687765540708,0.4845861357638193,0.03472550954704601 +-0.4777670355899654,0.08884736270325014,-0.13013358424615112,0.42190775972876693,-1.2441303745834913,-0.8195396526773077 +1.0631590260009383,-0.1936152948326164,-0.3513381395315927,0.9019142296288475,-1.0520217712462052,1.5374381811769715 +-0.019309485299399718,-0.9481785777095426,-0.49639466308798114,-0.6271815689202734,1.3444912783323075,0.7972216451182061 +-1.7727246162956671,-1.179440335430023,-1.2202404227630794,-0.4313474831037908,-0.6952778680476068,-1.851352265347261 +0.05262776299462235,0.2481391571525578,0.29141056272695215,1.139206036780241,-0.2338038405758059,0.6791857074448713 +0.8758252594517008,-1.0286196132483152,0.575881775232593,1.6746875253167075,-0.49757590492389336,1.722087984445011 +-0.6053806448296255,-1.3856705576604442,-1.62063753932965,-1.8370873708309134,-1.8999553260065292,1.4093591889907253 +-1.8116961685912694,-0.004298677237316014,-0.5349008060196593,-0.07235473210828049,0.4132985798900977,-1.9584857655671275 +-0.5890094752872239,-0.030755616704615584,0.006128765525960658,-0.7990910636682971,-0.04104668484383315,-0.26360838184002694 +-0.38620606274869995,-0.18685926477390297,2.064725685211368,0.11227386362559996,-0.346288473790107,-2.1529626616852453 +-0.1313437817770884,-0.04415111298704278,0.007848652810779025,-0.34886458049071106,0.002566559247089272,-0.5429513339714728 +-0.8444068860116563,-2.606746405798547,-0.8905650510695875,-0.6782814633106877,0.7407280637634804,-0.7077269008624855 +1.2469017857149614,0.3913246402104747,0.8562740524680426,-1.1890981657806206,-0.6154589778051519,1.290227583610732 +0.11488062813796508,0.859186217394318,-0.28288981972498295,0.26290128801780716,1.1014779966435784,0.413919529339464 +0.03689791624738342,2.0426970105564606,0.09093607828665043,0.6087397032260282,0.4983598157014163,0.6666116918129291 +0.7179498305906116,0.10047760919131059,-0.07639554516193277,1.5172919685085446,1.1231586362524608,1.47377486285904 +-0.16591623833931962,-1.0689533846386754,-0.5310492956044588,-0.9385941984037779,-0.15251896559874903,1.0596448129193108 +-2.120198446321309,-1.2942457905653397,-2.1062796145167506,-1.5932048894642956,0.8289566841493399,-0.8789031705716304 +0.27106222864687624,-0.4743955206078596,0.6939471388901888,-1.0813459763060467,1.4738563922621437,0.25090091715484386 +-1.4506061511519874,-1.6176976597774242,-1.5788290730545549,0.06356089406808647,-0.1466220820064505,0.16110333858037001 +-0.26181350871775305,1.4131674513768473,2.3512940268923983,1.2034001764003548,-0.5565877776589019,-1.372738390826091 +0.4958104624089094,0.5954945032199979,0.4713764530756874,0.705069527331431,-0.33064095103522845,0.6696122287593878 +-1.187822579605291,-1.9505175948687934,-0.29203965926186537,-1.0021749272253129,-1.3640455500689066,-1.107213140589785 +0.46034148671040115,0.28871855253153944,0.06924028123231543,-0.9047220676189112,-1.4322064785574873,0.6090328879115343 +0.4583584126620236,0.9841399612642737,1.6943486575449063,0.4516456791405673,-0.029441762610710822,-0.7098583939383081 +-0.39457644352226673,0.27804920368880304,-0.6472609733778478,-0.9890057494863622,1.1702521406429385,-0.026265417092562388 +-0.5919000291369276,-0.15359559065148526,0.846436282823919,0.26010276860255066,0.5070321724233859,-1.1021936279002025 +0.5599417795105452,-0.7253468712094885,-1.0809977669109623,-0.23871173565409382,-2.558511418689357,1.8778774632100599 +2.193452622691709,0.07730574800411345,0.058882289946987854,-0.4106706583080719,0.9363600972699382,2.6391482685427543 +0.19827829270656072,-0.6176637648761253,-1.1714070442183842,0.08545206152289603,-0.5229876315462281,2.3605796258986183 +-1.1450291478818564,0.8120203431973042,0.5069299161650316,0.617518375267046,-1.9211943183737472,-1.589618053179815 +0.1306795393972646,-0.5084027611877043,-1.1508262843054589,0.9642661634524965,0.5295352075616223,0.8046961415501408 +2.0863550298716778,-0.19574677269130156,0.198696473579053,-0.8052924966686957,-0.34047876307719815,2.9687355556579496 +0.7195683628718511,-0.8494306927512033,0.1640976921753167,0.6506367253494778,-1.9098182469777985,1.3956221406976903 +-0.8052725721854107,0.1066868087773862,0.22171772491598488,0.04428916783841716,-1.3926934194639593,-0.4819093380860945 +-1.7755642608608322,-1.6740116064581836,-0.7943400368941259,0.15063924645092655,0.24765368931021917,-2.085602244813214 +0.1504868927140335,-1.0541708472586915,-0.13371435618361735,-0.3062297504704974,0.5280628124970107,1.1994136586481985 +1.533119076276922,1.1259627480952108,0.0029627621612998293,0.472876742070395,0.5803547171999542,3.418886479662629 +-0.2700636271861754,0.6644111940625489,2.140351076195507,1.5346176822161546,0.744437544841566,-1.705957456314679 +0.22518382842308568,0.30967845545630557,-0.8548749862752436,0.15120811588102764,-1.2773696349300423,1.0223825277034573 +-0.09314013888269443,-1.3656400820011905,-0.5504359206127298,-1.5547603393049356,-1.7597515433178805,0.6964641635673884 +-0.6784682109527065,-0.16437115014907672,0.8219630064885702,-1.5893763147709608,-0.22650753613147986,-1.195689300168394 +-1.1511360404083903,-0.33077787831730376,-2.0158110012468615,0.4125584146849912,-0.1375397121776567,0.044572463408214434 +-1.0936520278828428,-1.335102819577088,-2.79573169291342,-2.2403727499824124,-1.9380455909970928,2.3538142854361648 +0.947257945254112,1.4815382730164752,0.14442284548104825,-0.6172561118911567,-0.9635035060946199,2.381080718172811 +0.901649399526998,-0.7515649390264493,0.1436643167913549,-0.7060606299609385,-0.6531796048492593,1.2434537557845478 +-0.09963520806160205,0.75973053602012,-0.4014840283169774,-1.4639446185351452,-0.06963871636871903,-0.10072100592704492 +-0.872496037935113,-0.41797810853633965,-1.3359164755483413,0.10415708247033491,0.5756807361934878,-0.07384753167486072 +0.9390026059725676,-0.019212729051358783,-0.7893719240477312,0.9499493926569529,0.17158777840085554,2.3767662304109116 +0.10911173756832572,-0.42922787213063907,-0.04015046662827248,-0.8571293376912885,-0.4933865500253379,0.6459981382476311 +-0.021635518275940385,-1.2225801508507435,0.8503498010074644,-1.2717562511430018,-0.5235183954166727,-0.15326257394486006 +-0.202597887439268,-1.0860047023894395,-1.2261187212998748,-0.8242245271356434,0.3199122864315587,1.2428687153581182 +-0.6773031111098078,-0.2667076555311919,-0.6239559863019876,-0.057931416444696585,-1.989639342577781,0.3598143049405385 +-0.41617556092623303,-0.7663671823633297,0.05110204764031409,0.9031322241788637,-0.8272151549946157,-0.026685833098822498 +0.6802657799899584,-0.14868841256963392,-0.06682044393195989,0.8257885139290218,2.3903453975160263,1.092866536920762 +-0.06760569183611764,-1.6296428949958461,-2.244934236815309,0.4306363343683282,-0.868736770730347,1.9649535014457848 +-0.555959499302376,0.5546981862589748,-0.5000501538937773,0.5024405452734807,0.39287060776442856,-0.2476952871930328 +-0.04686494250575844,-1.5354804176760963,-1.7136557637456726,-0.313804181580362,-0.48899412106014284,2.6038833575106013 +-0.3582008451550024,0.3383299123554756,0.734137397348433,1.0535433497731468,1.0262734915608989,-0.8485595711143493 +0.597178894132787,0.9003354063351461,-0.5566699034380792,0.7344334225991932,0.9304805096531065,1.7601007822569161 +1.2812189160210525,0.17020922870907484,0.7509353762899581,2.1523758244307065,1.616976161904461,2.0850589058393765 +0.7287705863327049,0.41458875599664813,0.4171299423592437,1.4790283546496494,1.656559014378057,1.9198680076287267 +0.5349293355144513,0.9901426673618574,-0.38569665888982857,1.208196546078916,-0.10234618561408916,2.7269209007014212 +-1.774727479171007,-1.3900247345771999,-0.4376406528087707,-1.2113853892429214,0.5795676764553407,-1.357529401996881 +1.149301787902005,-0.13515780658061138,-1.1546752316670952,-0.2897989969111007,-1.8280321997414815,2.769261849753317 +0.1780278236746731,-0.25524875505926387,0.52873669925749,-1.1323844761076232,-0.11038308344943162,0.23256959511159375 +0.6115131155392864,-0.9159016394806834,-0.02312192226948365,-1.7179828086492828,-0.9524942177792813,0.659000973816019 +0.15079054019440788,0.14684076336018306,-0.43947433969030314,-1.2097020762191815,-0.04369915649974909,1.3115220366801643 +-0.8789873054868668,-0.7848558058809245,-0.6093330205174048,0.24549535543626524,0.2427392080375829,-0.46220892443552375 +-0.16996273605188622,-0.3884656999352328,1.4436640049380978,-0.2073226854026457,0.24919081525684508,-1.0230080812733662 +0.9068936075412194,-0.9110284572405529,-1.6128423540792853,-2.0688879034746432,-1.118427303564363,3.4747634071769475 +0.34870140510931963,-0.6825047758742357,0.22980203433750687,-0.16992802512281882,-0.48901676060936305,0.41289895799533405 +-0.11329286221782267,0.26795558499172295,0.3927501552981211,1.5592716323647906,0.5634238850825536,-0.08468336722105471 +-1.2713434601174673,-0.8050429843608827,-1.3759526233387889,-0.8222888970680395,-0.32994843496732423,0.1350824093554467 +0.021188960560823245,0.29932431584007535,0.1439810929202435,0.39522041973838856,-1.378244072609603,-0.11061932961042911 +-0.8818125305267804,-0.7443161474210285,-0.7866760271852041,-0.6312934144537787,0.3783820525588336,0.7058397551639435 +1.444615710476062,-0.3246275587809308,-0.6609576606626013,-0.9363270750721273,-2.628809215172067,3.22702824816088 +-1.4440413458316765,-0.38229027510427094,0.08816769731651655,0.2292841334020445,-1.3011436764365885,-2.70205239225109 +0.14907972657223958,1.1785054977926974,1.96452069027463,-0.5504191203925323,-1.4574945510142916,-0.9623583222526383 +-0.2953518861438558,-1.5236804847729248,0.16252993940747837,-1.088280312392461,0.2338439766148217,-0.19915936122841552 +0.04040391744788827,-0.40490276808192077,-0.0606225776502462,-0.6885410800283807,1.490885775188082,-0.7232854847512374 +-0.4452609458642508,-0.3176435141927295,-1.0859729755414649,-0.6006900028884069,0.10123737357217644,1.2107105899474906 +0.7284589358046039,-0.7320086314518441,0.18398876262764005,-0.8808117865181723,-0.9046819389895905,1.726875442191191 +1.6095381363802037,1.1093350546106895,2.424524834942707,-0.8555949243725237,-2.0817993011159333,1.2608859094012004 +-0.21154885595964254,-0.0862547961569648,0.075616179685213,-0.5892369989373517,-0.8162091895188256,-0.18430644289339665 +1.4651057872542075,-1.2272138745274743,-0.7819207490312341,-0.10147700130629704,0.3251889946148889,2.5346217224797316 +1.3426969664207828,1.4952361460846006,0.0618228119105168,-1.0569239582194576,-2.4529173638313635,2.403387967243683 +-0.2712371003644865,0.30247226766419405,0.007560080785802476,-1.926013546162559,0.5255922156502618,0.882024409616037 +-1.0192552828134165,-1.054407186083839,0.18602900517964746,0.27121853443376887,-0.09568451869418382,-1.8286105783677877 +0.1772279630676056,0.43352904773678275,1.0055676343137874,0.17990740626912274,-1.2564876419782705,-1.6179538511876137 +-0.6562622560175834,0.7647022458406719,-0.7550294615862241,2.0807580916725863,0.5747692650713285,0.6559790170210948 +-1.0302529567747627,0.19294935532300603,-1.9103305145675624,0.717466671110879,0.8057521045218183,0.10317222965075125 +-1.4842814452924384,0.585031525601526,2.0591247573442746,1.1230599137458013,2.0204394076745404,-3.323385403083748 +-1.9810309450213321,-0.9687301475759632,-1.2042384254221703,1.01826259897831,1.38218859343655,-1.0978302414563688 +1.231765230492574,0.19060248640643157,0.6814634430434942,0.35439327078252564,0.9851270912554262,1.7336286505444496 +-0.8289335448027447,0.2523330039289278,0.3735783819612628,0.15267149098513272,1.1650896049494726,-1.295712295873663 +-1.0983987196104477,0.33127032546405,-1.5069854231755684,1.6356124340525415,0.39883214016225593,0.833868369210224 +0.45741662836799063,2.452775676470127,0.5806497123380904,0.4231984105238882,-0.8305287409966844,0.11752888694669172 +-0.12699438583475095,0.7853756566773878,-1.0202667949479163,-0.5667809321935839,-0.11448158981843379,1.2320753119694519 +-0.3303090393215732,-0.5025166563910833,0.4147899146225728,1.378663281221511,0.8784619512980962,0.0696869161608426 +-0.9428539214699926,-0.6702331395262466,-1.3724728976949994,-0.3351259221136408,-0.5005917787428013,-0.6571402197588075 +0.5452314386296253,1.549612284754228,1.6036481303553032,1.0317477891520332,2.1850253485507256,-0.5356352993890414 +1.779518590597623,0.6629405492089753,1.7148385951769465,1.3797775294632215,0.3114311600308424,1.5594868779039484 +0.8946480599975339,0.10290697326710277,-1.7016108084522628,0.8098831999139866,1.0978415054868227,2.55264687348848 +-0.9408345530788881,-0.7296117677126049,-0.9729309708366762,0.3284750523900903,0.3081213099907637,0.03933033661015395 +-1.0422773409782802,0.02216407243338256,-1.3006615048344363,0.18948967083687476,0.0036722868422033993,-0.8120139226557808 +-0.027594514999597322,0.5556386829554328,-0.886323480583306,-1.3195778639506919,-0.3455024235273537,0.8086929955793825 +0.8788181656036609,1.005218929952341,1.4290827094032044,-0.14678489839389497,-0.7078678504925828,0.22132999721179974 +-0.2620335841044779,0.8520762539801573,-0.906780724720353,0.029906371539776638,-0.7229677244681191,1.2000229035242784 +-0.9907953862117461,-0.5920603886577669,-0.28060945864011344,-0.35322576305418196,-1.4463525055745605,-0.9977156276416388 +-0.21126043226571445,-2.221158860853943,-1.084455995744376,-1.0721354043231295,-0.6918804764346408,1.275814095301547 +0.8927004491371248,0.3562848996918485,-0.5091146264000489,1.233420460081589,0.7676484244516655,2.1479794669783976 +1.051456466684368,1.4932746745088674,1.1365690085745546,-0.8551250176753716,-0.007233651089917885,1.9170059078885466 +-1.704930074978627,-0.49919355704123125,-0.6492106722213472,-0.09932755653339599,0.02905619910834629,-2.2081755778476606 +-0.4140529468618338,0.4267920456936156,1.0218147050228947,1.6787338473747795,0.5395881333777365,-0.03943327299682864 +1.7951521951670522,1.387811181466956,0.14441028219241114,0.7066775790749242,0.5493939498364937,3.217515417944202 +0.6790383540643181,0.18017734125144333,1.2728003408925859,0.038853443774736034,-0.09663549749852335,0.0032418436040768245 +2.138386236122208,0.9615080937302924,0.8734187240948981,1.2682219716861058,1.24048753255887,4.417828824245667 +-0.36303975012316053,-0.2740197211132826,-0.9975689785953704,-0.4685929842948682,0.17176382504107468,-0.10931979186620933 +0.9908521842121262,0.08138283508292501,-1.305603335090087,-0.2920995808995297,0.07130751043838592,2.4101028101260886 +0.2947110783319192,0.6579364124989873,0.5743334934649021,0.9741030086224624,0.5686468479337351,-0.1910536105510754 +0.6026594828513555,-0.1082009803139616,-2.234832415012917,-1.0336508869507737,-1.1770191443514515,3.433141953799745 +-0.8942522698522125,1.22421668777751,0.4026300504456901,-1.4410552534641203,-0.9296995537816574,-0.0038575280033105175 +-0.6308493753118548,-0.12760933076515216,-1.3558208125395943,-0.05267877361676151,-1.1459699929053582,1.0339488659605978 +0.9739590600564341,0.974506602306235,1.1638900857133456,0.5251091616690916,-1.3907520420047041,1.5371080971834252 +0.768706198039729,1.7558002161442152,2.082944986493131,1.2829653932088234,0.21145350046241185,0.22394704400646875 +-0.8838188341661268,-0.4868107836003138,-3.1808877009559606,-0.8611432222336635,-0.21812409196711416,1.382991656763944 +-0.1460021028489183,0.32673521635305525,1.1082054273706035,-0.5200591423172706,-1.1813562318498443,-1.7456994801597192 +-0.18063370231691794,0.5227074875813724,-1.130437007485814,-0.5739482663836483,-2.692729239619704,1.9274641386802043 +-0.3804125964737848,1.2198472016585737,-0.2417374690666867,0.06617540964526886,0.9498742243075763,0.25685513930210163 +0.4300151920123547,-0.8990546651519923,0.7834861227224212,-1.6441796276675962,0.27048314724323264,0.6335988758628519 +1.030208431279215,0.038802457250309,-0.2634380666861031,0.030380201353271404,0.4660741362634571,2.439310419224906 +0.4606671340799491,-0.7355512576805918,-1.2255265979864591,-1.7667696511947522,-1.8992159459673708,2.0849972665575742 +0.760225051876908,0.020417542091435734,-0.0054283923167437135,1.059628458335094,-0.3771259100247626,1.582659751985259 +-1.3515069155820822,-0.6380761860528772,-0.12839198806900684,0.16925203946199727,-0.3429797131105335,-1.758370851500407 +-0.6300589030378286,-0.7065806912593902,-0.19296508290765102,-0.4468633871708848,-0.7006494990142901,-0.16419445448211373 +-0.09513956079020373,-0.9819922981768614,0.5548381578338192,1.014783374394665,0.029896204425054446,-0.07035830264799905 +0.05864017014303565,0.19004035708607836,-0.13292868647234013,0.5434976827801598,0.23672938862507473,-0.38508918489265576 +0.10582261416687465,-1.767531098258333,-0.796126840009282,0.19237331465649102,-0.1510727292149596,1.3498028892747587 +0.5201343429707617,-0.5352032351994932,-0.39304593084488954,1.0591763312561526,0.7158643439204638,2.0577726167365733 +-0.29360325960586786,-1.0954923846309015,-0.46018644788783475,0.3212140801978445,-0.2786816896980902,0.3036660401492809 +1.839979241847039,0.309386782949713,-0.15943394771826042,0.8626802187889737,0.22717017707891077,3.5586964752173436 +1.364145426642731,0.6994630566401913,0.6271712336731283,-0.9847782155437416,-2.360175341137412,1.4808302130185589 +1.336189164099704,1.038273320134969,0.9512247537224323,0.7541928907020248,1.7014856607938798,1.699986448688251 +-1.7108516779447822,0.9216585833691369,0.0312154232923984,0.8813084148237693,-0.4388355944436913,-2.4215698493652154 +-0.03450366260317487,-0.8847289370068653,0.4066515468186423,-1.6838348526325675,-0.22597819451985052,0.8803656561624095 +0.7343359955630799,-0.0008124438217407995,0.631378121868352,0.41670791301806337,-1.0226608067228435,0.6472824309192629 +0.027045835706223265,-0.4465937264715768,-1.1694217657254895,-2.2437140175290984,-1.1803157021495272,2.512599342141049 +-0.7295373938557673,0.9934642237543104,1.996809920081335,1.3372634087581388,1.0898205144297863,-1.4453071582743835 +0.16194937061640524,2.1856909236952657,0.7412438882899699,-1.9637228575994798,-0.3806943458839419,1.3463143231523953 +-1.9688930077049736,-0.7594146641139013,0.4255144162408669,0.8449308788965387,-0.06588038937916124,-2.7319196011177636 +0.7923316020575796,-0.17853063581576545,0.7359513034963396,1.210746295731541,0.9777147951699745,0.47594576888770357 +1.255297410356775,0.9867890279870304,-0.5878612220811466,0.5049026011209948,-0.1780321333561155,2.74608725608094 +-0.13178371159090832,0.48583540449799767,-0.17473309978131446,0.25019331472516715,1.283006489158937,-0.1139263616088328 +1.1422435477781194,0.6673300422020777,-0.3839826548963175,0.15757837010771225,0.42420820922584207,2.1090974407253666 +-0.009921107187302713,0.3031311213916493,-0.9492602158219514,0.9291878796355758,0.8767085821137964,0.8623224213662163 +1.9297913442142112,-0.18019552848612647,-0.2608247815061016,0.8034081301841137,0.2239108218064233,2.825317042292954 +0.29591565695266686,0.06455861825729145,0.26737983017333156,0.9416432470116389,1.404054336882735,-0.5400811371954991 +0.5424913285123184,-0.5010422848569062,2.2301400001969327,1.3659455024489806,3.486130999358346,-0.728205246731642 +-1.018834585890598,0.5162316834398756,0.8340697766175664,0.6547392395050193,0.04941449625932331,-1.8049672293025487 +-1.9196064693290888,-0.4906164512020657,-0.301489588914894,0.8303743421010115,1.135125300992095,-2.9748073659537835 +-4.165727639261237,-3.024437709781567,-2.4146023463227784,-1.727182699571846,-1.2731064764522484,-3.0162438472185125 +0.3527995201024783,-0.8019567144915238,0.333527687237732,-0.37389385336006736,0.8986780796791053,1.5349072342764656 +-0.04263918607944411,-0.6436114797107911,-1.5642585223768122,0.5180872373483625,-0.3583319810834273,2.001107164756339 +0.7849712990152102,0.8604067004585035,-0.37302775156019846,0.22197702617390733,0.4037687024852996,2.6179022243529513 +-1.5783383366207768,-0.5704242812842867,-1.6766151297731946,-0.843195833288026,-1.2355889898078256,-0.4627827071376752 +0.8854857475347977,0.7558670675398577,0.5027387217262808,0.2358191381903348,-0.11349685843441358,1.8023960838471724 +-0.544893265319437,0.8113879735430843,-0.9072236256852639,-0.4985638958382399,0.405545659631457,-0.10678347720779813 +-0.2771685361964804,-0.320456205325415,-1.6989106628193047,-0.3415890468103142,0.27709010116773103,0.7835308513218264 +-0.7495337368762338,-2.0588458171324495,-0.6984314342358028,-0.08591808957352276,-0.9972257578068634,-1.3746303469368073 +-1.1835056163087563,-0.6258793181165195,-0.600814662469879,-0.35755018943727007,-0.5148978229348221,-0.43294113573744153 +2.747878733652988,-0.7492298744432966,0.290332503888678,0.7110632203257882,1.454377990247734,5.0404240776028715 +-0.30066534869674005,-0.1927793555330936,-0.4972707241892821,-2.245081345980512,-0.3408832792914261,0.7664510720220069 +0.03766912276898263,-0.8897751741115764,-1.0271713553594237,-2.4480859714147702,-0.7178339395592185,2.268118833179588 +0.20507184983576995,0.26875631874206285,-0.01747632622206425,1.8161419541052506,0.19692400866072318,0.7233506704205079 +0.7322154684763853,-0.3838739386255587,0.2738233281652613,1.009550112479922,-0.8603908847496075,1.4368729859622005 +1.4726147493345203,1.9674455000541202,-0.08906196366292067,0.9722544149518011,2.055045771195943,3.5755444379242123 +1.1946465341758,0.5015637753254527,-0.5126218268624535,-0.6746706782348484,-0.4906433201740465,1.6249709216013475 +0.4178323870765763,-0.010185005569718958,0.9688019159612306,-1.5884520961781894,-0.6348711256327105,0.5661290694927305 +-0.022435729301145697,1.1917913456631455,-0.09889376728837714,2.0437101856102045,-0.47027981732662577,1.1348353863391492 +-0.21666503642889498,-1.2114427465819744,-0.522581032501023,-1.5416365190615695,-1.0966129945995593,1.021915663241082 +0.9228902676770222,-0.22992649142716304,-0.5847687097069248,-0.17137348638066266,0.2436316169939118,2.1909983467506193 +0.4455056682274153,1.7167538300623622,0.41773683093639924,1.0903729239135573,2.393790852769376,0.9774693022240986 +1.9125558093108053,0.8738337919041282,0.30794218158643344,0.27307672863126836,1.3137702901413955,2.8995939660696117 +1.8124541974231179,-0.4794454765978546,0.24084119040534557,0.08252119172692107,-1.0493882639796717,2.6162663792460226 +0.36515299089105396,-2.0569149227857815,-2.3512643991017934,0.847854177034752,0.7231099033911174,3.616373553728032 +-0.31924382645163135,-1.4580021272916217,-0.5393550765722807,-1.704940478092592,0.687068831528861,1.1930371467117369 +0.020268548786818927,0.29519550110028786,0.6082653826455103,0.3391747094668331,-0.2558303240362733,-0.1935789924301802 +0.48015827320865534,1.1929106001895569,2.13362009071556,2.341812320597219,1.1784680946924573,-0.13270268301673915 +-0.44213377750066485,-0.8286588492212429,0.021353055997650874,0.18223718371400038,-0.4441266352261482,-0.5611394899824172 +0.07095352059466842,-0.1356824968996799,-1.0595481272731078,-0.22777663578578164,-0.34881201653034294,1.477396696576039 +1.6345465348307027,2.4116426453328845,0.8520389103748359,1.137612515541053,0.333649403207549,2.6614663523524085 +0.14756582354730272,0.967594498900147,0.18350648007249418,2.2498847068845915,0.5132782863211889,1.7551113899584423 +0.04067785093190608,-0.19473513374859777,1.100523886732165,1.181795150234766,0.30419620895461585,0.4321437803085464 +-0.024444591460287483,-1.1852567736928348,0.48804127109946127,-0.3524567300714558,0.1535078604286055,0.5079149489525654 +0.7748541088994619,0.8865092800374106,-0.37275031075623466,-0.863129704091193,-1.360062483607732,1.9734232478171767 +1.5076850957053438,1.914611559551221,1.181392624145487,-0.9403392060848759,0.4207009864398182,1.7726348012411064 +-0.6870855506474628,-0.7619691091670956,-0.9253240219908778,-1.8455655125679267,-1.4183530653148477,-0.6027054963338816 +0.8758799623616932,-1.771899493921435,-1.394958261360994,-0.11797412988167391,-0.771765198292006,2.8581440819922936 +-0.8902641251285949,-0.541617517777897,0.6926635331329491,0.5385587003021713,-1.3092711690307337,-1.7781080666595404 +1.4565203144678818,1.3157426041036706,1.6693981562912654,0.39075099069527275,0.86026389019361,1.4948475189173427 +-0.4152647786420881,-0.07433446333190945,-0.7752875876562075,-1.1543745707294673,-1.659106944353418,0.22274710157305438 +-0.1561645875393151,1.3803543154021898,1.438696871869731,-0.9165045211861174,0.10842719020339159,-0.9437761267418502 +-1.0333515121981816,-1.2232855546658992,0.5693737564325067,-0.6169335747262485,1.1360107604106804,-2.419611290885487 +0.543687209155035,0.3009528531204631,0.7802866963146998,1.627321704439385,0.22358478238243254,0.382501208013374 +-0.05112166791916572,0.5917751281834801,-1.5286551832035984,0.16797139117254917,0.27857051272193584,1.6226349558870368 +-0.4235343752984103,0.018815221160957362,0.6405991766238813,0.6290843602063544,0.4136061496151664,-0.2013574600815332 +-2.26137153330717,-1.0736304406610202,-0.019133618085249923,-0.022951049332712505,0.6914762757070178,-3.0607572936468745 +1.0528388572604819,0.12235550378595475,-1.07210571735796,-0.29229440828936665,1.115920506357062,2.6756504033919795 +1.0423810776480642,-0.11959896076047755,-0.6487368465042088,-0.866370745033475,-0.35908708361960007,2.7654051009392333 +-1.6349411340771078,-1.5301334926087014,-0.9802786646926492,0.8337753210665977,0.590227101878167,-1.4704634476455145 +-0.036910933247285775,-1.2137634407532658,-0.31889352585991015,-0.1501264454240059,0.5076152097265053,0.7850100231743433 +1.4347785907201835,-2.0822630653552814,-1.4019810942863102,-0.13045463456658746,0.4718738615300474,3.4697434350089287 +-0.1776768390900523,1.2166275543836715,0.640151839946326,1.1527881111689697,2.178465708534674,0.31755303510639044 +1.052504208328327,-0.24784624649430564,0.972044402686797,0.16877650065095895,0.05218678941474796,0.9932289469698492 +0.5299804175023535,0.8550746050698359,1.5087090071796412,1.2142376978045655,1.1865537676931788,0.34106642166305834 +1.757745385619631,0.3999403963493889,0.45047750462080244,-0.1330740072205394,0.9542461277205077,2.0566933451424374 +-0.3390722247774411,0.3150223551315373,-0.31114501608857,0.9974738932653023,1.7911174531382064,0.42974152185188297 +0.7104775633988286,-1.1812080168239842,-0.7141430887206759,-0.8426949502168165,-0.6009571371088552,3.2113536622554983 +-2.2167222074721313,-0.08341707103723045,-1.746777949815434,-0.23428493986869733,-0.09927011363672734,-2.3805789119459035 +-0.5810223913459398,0.358193304132817,2.2349716413611262,-0.691019649792689,-0.6878844114283642,-2.580811090787297 +2.433557793034514,1.0857005344123154,0.5082320299384281,1.55811212858003,0.6648333420086696,4.212649877004341 +0.1198177964406301,0.1901530257460598,0.15167940701789107,-1.259057385690812,0.36739193353653105,0.8556723210970443 +-0.7964183917589168,0.8699852785803835,0.358988587148033,0.42872320558581317,0.9947197592317575,-1.4118656033906807 +-2.4913075503986275,0.020530929299195744,-0.9451072603522778,-0.9397209890569502,0.3235161438376207,-4.210614049535666 +-1.5448250165426802,-2.0100753185185236,-1.8931331092969979,0.22776568683685072,-0.23920599448244553,0.4382217019313178 +-0.021589716969928358,1.7691375739297177,1.182974762421041,-0.06966083138430054,0.02297761404764126,-0.0882728360290454 +-0.8863326031512637,0.9211588619800318,1.0115347008476445,0.48064458755286393,1.1668746043884346,-2.6375322977845066 +-0.22327957094677803,-0.6931427502159292,-0.28475653567289605,0.0621040652532189,2.9144499143675593,-0.1468339320358948 +1.1656995647430277,0.39517415741578027,-1.0370104833853055,-0.12606819585106901,-0.6032760944536436,3.5319372123407833 +2.758736171165428,1.0437266154967875,-0.5635289521183717,-1.5663718458614686,-0.9931194902903833,6.16091723639287 +0.661698128760611,-1.2092833696649896,-0.0521927977599288,-1.3613183944809109,-0.03157987899057526,2.2705930948306468 +-0.6082316315925962,0.42720379353411897,-0.5261694123583465,-0.9785212169591158,-0.24379086522437765,-0.210108809641487 +-0.4151871624242971,0.34659771426211566,-1.4517558523281295,0.4008184968680074,0.8802427475974341,0.761039340975349 +0.5587989336580659,0.6232508265503209,-0.7916919582650892,0.0016377285316047298,0.6814773702658197,1.6483050117675775 +-1.2762644360677335,-1.4321206847000458,-2.0358538547977836,-0.7095460236504996,-0.4027090453455419,0.8234792265646018 +-0.8779136452072722,-0.08851891994140497,0.6889785506230028,-0.25097982712425404,1.018653346420277,-2.250967345229434 +-0.09070843910571019,-0.13081903669026426,-1.051324835431891,-1.2925752101801233,-1.5853320830419961,0.697718607742168 +1.9904403654609562,-0.32066739909511144,0.17409668277354678,-0.037321259856654174,1.6309647826076819,3.4908676777770786 +-0.6721670136214628,-1.5519991630991719,-0.957858375415462,-0.6445456244686358,-0.7556649986835463,0.2873817833203744 +-2.7774034452572898,-2.011380443525742,-0.30703800347765126,-0.6098067435695831,1.0115724959085834,-2.6056689381069593 +1.970831683351437,1.209471962626534,0.32251175986674346,1.030603936313297,-1.093008929148995,2.971287686373829 +-0.9795497230034179,-0.48399525254498654,-0.5259576164434545,1.0109657242493013,-0.32012376817308574,-0.6741683595751944 +-0.47300139178668454,0.24482797978970577,-0.9504257727083544,-1.788484729231448,-0.17722511213114425,0.3388662391669308 +-0.4276055614798125,1.0468293284890315,2.2417233992796555,0.5699728292710192,-0.5028088297042383,-2.007985952313571 +-0.0037835995775116703,0.7733655351270677,-2.0481233989391057,0.23591133685547386,0.0394448519776415,1.1911202697704115 +0.17752438633210663,-0.39729154907920344,-1.5001909522440053,0.8074632899798112,0.6964863498482249,1.5202899012738413 +0.07835589611578588,-0.5390330818749478,-0.7343696734907076,0.5616094103291577,-0.8006103009376236,0.26556085161670673 +-2.600625952052054,-0.04652689429421084,-0.9093528385211362,0.07706361758076119,0.1446408461291773,-2.802568799508871 +-0.4147084169203474,1.201093808609759,-0.17924524498718541,1.9555069700329106,1.4688473539075222,1.0389069537285647 +0.2863237378782252,-0.808090950909247,-0.8501932178121067,-1.0859941382698983,0.7754149379608105,0.77652125220176 +-1.93611880589514,-0.5852310786888008,-0.6076163034026524,-1.5652798470112026,-0.672878704090699,-1.0307569996416068 +-0.15324664270921934,0.11173319174983891,0.7767684961226741,0.18527845452645855,0.5661212375475625,0.45724853917155395 +1.6163146582005772,-0.676836865507624,-0.48259595276610223,-0.1343737735321057,0.9119618117065509,3.095617805351988 +0.8319024656372375,-1.2044939907871302,0.46264221545866835,2.1698579804701508,1.621242816667641,1.8940885270223082 +-1.3536130971293114,-1.2872582444738077,-1.5604919496182788,-1.2256055898377585,-0.5690522750006971,1.344237935423744 +-1.4269127956513676,-0.0780477877277422,0.897911223638461,-1.0449523194865316,1.6944074921442849,-3.262221450792574 +1.0054861584738026,0.19191731900408862,0.49378364607050756,0.48114174221565986,1.314906503944317,1.2573366310022178 +-0.6241728478363812,-0.07892278956150393,-2.0693976871521973,-2.0779295042343144,-1.7273046817690636,1.7106097823526576 +-0.34237266163058133,0.4269035725073504,0.08531129873916024,0.4000817205386141,1.1740791828718817,0.30053223672869195 +-0.020787146105282952,1.4782587393962947,0.14822479323060303,2.165258032250506,0.9082906789878442,1.4215554992476465 +-0.05859347705656032,2.212188746767676,1.3978125216997528,-0.6957185155097406,1.2059341462108513,-0.7751760515934167 +-0.07063413451418518,0.10347489244242151,-0.374240903438317,-0.4174766990049168,-0.809696017790728,-0.19806120847305198 +1.1686975347722162,2.7753152307779008,1.117356574121803,2.191224580425248,0.3196745110605474,2.312785107138015 +-1.086408711854298,0.3119457808380074,1.767751113148973,0.48369457861776644,-0.07103619539825701,-3.3647298676527617 +0.5772557291783981,-0.17462960574375286,0.8389881994116168,0.0679946124853185,-0.9894799571780778,0.30000678196940855 +0.21497116745668843,-0.07641151478391,1.3257076022220744,-0.4482204610910474,0.8516507796061278,-0.9432106855204025 +-1.408851609351753,0.38073628847866287,-0.7245307032693203,-0.8515053576275672,-1.0544758074828793,-1.974351023612443 +-0.08948152607931159,1.282164822029142,-0.9405444823655607,-0.14905702043486238,-1.7660463951676115,1.662792027948254 +0.767913395635469,-1.057209804913946,-0.9825133666025501,0.02938648169904003,-1.2186636460914384,2.0498925386082965 +-0.7026160878462158,0.5402363556548135,-0.7957195877068276,-0.29869624412616996,0.8683324900605944,-0.817605033667016 +1.047946721414098,0.19024677546806396,0.7342440582279156,0.9661674294044159,0.7570376150481659,1.1741714986070622 +0.02807481019853468,-1.6322112817667898,1.5819876109222202,0.10905961643042839,1.4688067812594603,-0.7030011482345688 +0.14176817288458063,-1.498410405773568,-1.0076569509293518,-2.2282333224899187,-1.4464231909021883,1.5963765511482626 +0.19272569915318752,0.13805742612088823,-1.245696475578751,-2.405801649138761,-1.7291805596421757,2.6737072761312195 +0.33027204000632876,0.5102810663967645,1.1850152076860478,1.1805134201549126,0.7820996778370505,-0.4913126183552335 +0.11832357547792598,-0.6323319399690307,0.6453271584381215,0.30349036873286467,-0.24061841015517957,0.7801641370689611 +2.2487916464941984,1.671358758119187,-0.7686289610962852,0.7389218018469232,0.7195839511570334,4.850565601075323 +-1.0296762523631346,-1.4205844230527336,0.20712620315547225,1.1038346026908339,2.1166056666333173,-1.2244706660331688 +1.0141681884744171,0.18836531345069293,1.790896758403891,-0.6153320909439953,-0.9445087558661609,-0.12203295445318602 +-0.35258703591335994,0.28224863983808524,0.3258748501245493,0.6547160712218529,-0.15001082347630673,-0.6320260177058542 +-0.29616755122096755,-1.1847057681875375,-1.1293675733893238,-1.6984789147814159,-1.5446970074166404,1.7333448072689117 +-0.8647124313153981,-1.2298640027692689,-0.7041951794828474,-0.713767553021355,-0.09163780338519756,-0.24359644457665677 +0.9164118886960448,1.0056607165725777,1.1386165234702792,0.3675203478810047,0.868383583393936,0.7301462223828027 +-2.1646033488100658,-1.1697478078595682,-0.030457280040649525,0.23537060021232195,-1.3305884798588845,-2.794968718273596 +-0.6753763740157642,-0.9740664455308574,0.44779187826270417,-1.3855638743438,1.2375028220712072,-0.949222278877581 +-1.0846547799599915,-1.2973356341874538,-1.216268165388145,0.016560366741634282,2.4322372162966865,-0.40964073613685353 +-0.6635339211047396,0.18995097779747316,2.6452462588406482,0.9760965554196754,-0.3069318321568972,-3.8768851555083383 +0.22700249664995745,0.14587194282793334,-1.5669717175092723,-0.5241279013343847,-2.9899867594431697,2.203969180457886 +0.22929172100823647,-1.0958388554003708,-1.3573770573504012,-1.2753554258854467,-1.0940163471637732,2.2745213507895237 +-0.01074450052510763,0.7983287475223377,-0.04229457278574532,-0.049005846906248374,-2.0937816808388683,-0.07509981996717097 +-0.6142776325833376,0.06655602682999726,0.78077674778376,-0.2759717346938725,-1.425329075137756,-0.5492208812989562 +-0.7440691237985793,-0.043516844006267374,0.600299564962209,-0.7639426809784768,2.7674300970397163,-1.4148151188867137 +0.5265586601837821,-0.24464737792929575,0.7674744149102016,-0.7015516706516889,-0.1978537640167104,-0.1343522487110333 +0.6402024342458743,-0.25828517379090454,-1.943539676658069,0.35252139972766505,1.1777577820643692,3.083233281291896 +-0.7243226087099309,0.8065607803535656,0.011470105424158298,-0.08810273338503652,-0.4982105629603858,-0.5993710126208576 +0.9042320742776757,0.3924551693004032,1.0483011890140026,-0.9856963961465436,-0.4031276745187596,1.0748508789740663 +-0.0177971103894469,-1.4456798432017757,0.06989463717342602,0.2683377589155411,0.3835829546871145,0.16607342230130998 +-1.3533341921698412,-0.75362279770815,-0.2809790474467551,-1.76192263254311,-2.968210645978508,-0.678254006692346 +0.7649803576939403,0.6117592859101504,0.34223509280751785,0.6346108641372699,1.980655528220892,1.0620126602483986 +-1.727662187523932,0.1484369396069025,0.09493584596489346,-0.2520741397753454,-2.394637677380395,-2.3075620403973636 +-1.727082012873479,-0.8714249198971036,-0.4819640097461269,-0.7182962592999502,0.016427768024193917,-2.7409840703188415 +-1.489500726296782,1.1379665419275597,1.0735650851621803,0.8229412867683128,0.2939415783691193,-2.794665835150107 +-0.6753846471285286,-0.15149782295587744,1.4584285035919153,1.1559133552933774,0.1642930373810305,-0.980983312842614 +0.040392887986429024,0.3986763069457283,-0.4930669718982908,0.02774092989719002,-0.020263556101435116,0.2394262407964723 +-0.9341377041054657,-0.19065758179940243,-1.4598839624415523,-0.2094638781529467,0.6683248685831953,-0.4391906395767038 +1.8019624213937946,1.311678963241755,-0.701152287161602,1.7337800988454752,0.530431576024832,4.06007052104516 +-0.3908467046545112,-0.3147900408171271,1.566569065679061,1.3446623040500978,0.3089413210906703,-1.9484665410306237 +-0.5981715977921864,-0.2920940911425024,-0.9783278315895186,-0.25293672632749525,0.3982329618986694,-1.0778080076905279 +-0.6266670850233791,-0.07791176298386723,-0.2489672299201951,0.13377365544648637,-0.1541827123678487,-0.815028156373865 +0.8774971166783646,-0.35801574499931116,0.2713023410675341,0.29990361039815433,0.7506029215849028,1.3381342609728393 +0.5569430527713,1.0242944722036083,0.953414921631118,0.09113630131985677,0.8226517729180494,0.4007018881972409 +-0.12675222171190084,-0.15841159149449094,0.09068434127815793,-0.17348113040138483,-1.0771470188238836,-0.25557107150878144 +0.8223608332210091,0.1378520125319066,-2.2258503573584907,0.809513037948061,-0.15220650233006142,3.231375385633143 +-0.7106850379063621,0.6379190247214631,-0.26881461339088447,0.7964068890201527,0.46873633516236013,0.03401093058025967 +0.584819282803629,1.4020710909581593,1.1507513494907018,0.5977624896216607,-0.07794360236525782,0.37103441034230167 +0.7596425629674666,-0.37334492032985434,-1.3110774871650104,-1.2836201698910414,-0.47533726547597727,2.3894453496453556 +0.06698456616395453,0.3365430966680818,-0.3464617751272046,-0.6159417393087562,0.5085115009585489,0.4580036231451699 +0.010060102655502055,1.3268113654243092,0.29451362150807314,0.5663610020778593,1.2380812968723918,0.5555550023978482 +1.671405866209687,2.0853213528029353,0.820788149112004,-1.2178917652547674,-0.6096255914437937,3.416471698750147 +-0.7017522486006614,1.0659026792508874,-0.37685611894148036,-1.0895074860836675,-0.7919144941995311,-0.4650264030322113 +-0.41870786989704384,0.31108772005068996,0.1937024747785144,-0.07847716418270265,0.9402545383043479,-0.596896601425829 +1.0310700483612096,-0.7209662531937182,-0.7507705399101906,-0.8982952655905379,-1.6603705623242142,2.749230056375133 +-1.3437505240079903,0.11649307161864068,0.19861701925618125,-0.3606055977359779,0.07477761808552287,-2.5897048319416296 +-0.3783400737744527,0.13369034487366957,1.0431005328023741,2.8151390222049555,0.35868580001552497,0.2559586413367777 +0.5611077055952152,1.994123752413924,1.633329844545815,-1.689951591749211,-2.579131760560285,-0.07832616011633009 +1.7914861870448562,-1.3074268761732495,-0.556600001251423,-0.5994188118095399,-1.9620466619661805,2.7379112107191292 +-0.23788648700793769,-1.2624018999258777,1.4293523610543026,-1.0811773853769269,-0.9081321605914441,-0.6749359894275597 +0.2761542631156381,-1.1076521499080556,-2.017058660121112,0.3463369500373286,0.414816684951876,2.2327181100910103 +0.1095758059365025,-0.8352099406701243,0.6524643206985005,-0.0029592483323552608,0.5167777741369918,0.0471136496101263 +0.5781701815856579,0.44451316065756735,1.1376480141831042,-0.24039250418399283,0.25910922143057874,0.14363325961974904 +-1.1689029576476437,-0.8230463689219251,0.27855447766951397,-0.08416239876961137,2.4421670470207992,-2.1627269156276316 +-0.21085602605124873,0.4353431419007615,1.4400074707132056,-0.008302375198082428,-0.22973297706475085,-1.3102014087918388 +-0.3593572046161933,2.0237753199590482,2.304698813157172,0.8067493317848874,0.6626850718215197,-2.3159235347895626 +0.295583869389063,-0.057053654286980365,-0.888611345967699,-0.36324856376522413,0.33928411445112727,1.9038836969312756 +-1.3692381041709352,-0.044397785850572254,0.5439108339560771,-0.2737671538878839,0.7681542246136308,-3.1302610860316356 +0.05692745163035078,-2.0925410705393244,-0.16995057968354935,-0.6130926142321087,-0.0019728290657192995,0.7631320693773156 +-0.41875438015570177,-2.2085632661551267,-0.6028998995247314,1.6009115012291213,0.27593321507600677,0.42854771047153495 +0.5194787421798592,-0.5587915710736158,-0.3354748663370875,1.1020555353835926,-0.12056582016191283,1.7976693172089722 +0.7948513350524588,0.8529397890797412,-0.5814525597866003,0.752548823879642,0.07580315516354104,1.9133760377439812 +-0.6681254853737982,-0.5796812323895162,-0.3120595299682827,-0.13684584989875295,-0.2069549526338347,-0.7795170690537399 +0.11598937355078828,-0.5626379609279845,0.9959706992387368,0.3351639243805408,-0.0023697122366044313,0.049462941564481167 +0.5832884317978287,-0.3777693544770351,0.6373235791297119,1.4568414980424993,2.2962834305499142,0.9644994011005225 +0.8917076830228738,-0.30938285553554123,-1.7619512066781886,-0.041654948908925675,0.25344507198514216,3.140569701580927 +1.4432519494260485,0.1293435066099308,0.9409591447288519,0.11687025092640636,0.7497959351465258,0.9849976193552537 +0.8661577314441538,0.38712646351772356,1.8284199842555922,1.1433166714473946,1.2917702412809042,-0.44085610250471796 +0.46769779457554483,0.16309682047442242,0.5642592883205277,-0.16778079391388734,0.2724705913748706,0.3849163815353758 +-1.6753232185897957,-0.5237612594579166,-1.2692125521736781,-0.6818081236706306,0.480033288458045,-1.3534746048454904 +-0.6729917178902797,-0.7066145489145128,1.3063457584420923,0.49133435952187976,-0.21303261469534657,-1.4258091507069572 +0.7696500818062352,0.4150834914262431,0.9731429149379487,-0.036640047559027326,-1.0520293611326246,0.5098693299927525 +-0.9616926625352714,0.5447780459452349,0.3874938122154633,1.7556775683295436,-0.39770039850362493,-0.8160755089471998 +0.8027712462530907,-0.8647274974624549,0.0031826898516153918,-1.416268998179041,-0.8057514254351805,1.1026404917978065 +-0.18944028919080222,0.3697109551030589,1.4389830215923447,0.2784341702004591,-0.749413705777607,-0.3183233958740723 +-1.0825806956980482,-0.6601564752578684,0.45528906663837526,0.8875607909481358,0.57167181583486,-1.6592145277833 +-0.19530907379027895,-0.2574290444780111,0.44554769704748665,0.6222960763389487,0.7339031849116646,-0.10862320405976722 +-0.6971529086708536,1.5363833210256188,0.8274901423969948,0.36854251238605185,-0.3290587813371088,-1.6332330068581868 +1.6084052119523624,-0.1359675748415057,1.214914426665691,1.42483807086452,0.34837631780013834,2.0644563216507814 +-0.029454140681366578,-0.9701687474097801,-0.20404566480521766,-0.6542946430261434,-1.9543170372303196,-0.10768716612917928 +1.1971877886883282,-0.9869610994974533,-0.7870826063651855,0.3890097492985734,-0.27078838895533636,3.025050597200835 +-1.5929341480307313,-0.9285695629427115,-1.149038134943306,0.9005226764114883,1.0626685910886347,-1.1575802536253241 +0.6917447305658794,-1.2922393529704053,-0.17581610551508509,0.1093990098418958,-1.35865785711689,1.6100234724709717 +-0.15346511138556135,0.41554496750849196,-0.5107540936522791,-1.4677559166418335,-1.4704785131640905,1.132011405574829 +-1.1026540292308873,1.0967445980402,0.62310897056755,1.1552224863239955,-0.7582462719715949,-2.1316376020637677 +1.9283223774565348,0.29505421122573583,-0.0315041980010338,-0.6798342033170038,0.03520166419679038,2.797152246192008 +0.398418907379484,0.40863070567445287,2.3762006946077006,0.522349975723577,0.32295734986159175,-0.8487911037409769 +-0.3943348547272189,0.49567724016023645,0.10963434881892041,-0.43012947643749305,0.43418624110106047,0.6081928032871002 +-0.3742839310999427,-1.9390340487041313,-0.9921789975041689,-0.6628288797725725,-1.7271384681442714,0.7901850450458309 +0.45721232924881583,0.4003514481396916,0.7626350618421306,0.30056343811631075,-1.1219804247436727,0.5577077991793689 +-0.0012086600808373735,0.7328496720683919,-0.10690860385933329,-1.5979675165464975,-1.2020454205466464,0.8158118261427808 +1.560038725217869,-0.5465698720606994,-0.2953783942056723,-0.7295038351616469,-0.7244338905032169,3.8719385161187505 +1.1163980303720262,-0.9358252609306921,0.342400458729665,0.20044913694790278,-1.8742285324818113,0.8653686798908977 +-0.15543009896943857,-0.8917167851584269,0.2303437091338517,-1.254328999036443,-0.7743613598612208,0.2633010384908253 +-2.0656632509843518,-0.12190671404221291,0.624902017023281,-0.7799834392617748,0.18901278222933166,-4.231998843232109 +0.29663121794013864,0.7853154322989158,-0.012146087056938768,0.05992894735850866,0.9032604858625948,-0.508106236770179 +1.492793127046585,1.3282207922340041,0.8859974328312901,-0.9320712623946098,-0.3725337033844242,2.2754263221985735 +0.9399860408693981,0.6157379481552571,-2.110396706933194,-0.510832477076238,0.6540456158275011,3.460131181928754 +-0.761004334841125,0.07749177392401153,0.12865698275655701,0.7956225147654704,0.8140927345499054,-1.222929565859011 +-0.5717728188769221,0.26215613677548893,0.9094642537874795,-1.217113741945657,-0.25447836083483344,-1.2256437651195162 +-1.6412383730229367,0.3349228103644521,0.7618062819761506,-1.5745866776733541,-3.0235804142402425,-0.8818514918639877 +1.6624648700066555,1.8609294903375329,1.249580792549733,0.09847603984199195,1.8982214587947612,1.892457892365729 +2.0368844825148544,-0.17486648617349607,1.049499144343659,0.5886954850523439,2.4053533191819962,2.620679319922279 +-1.1808060752908962,-0.23779535529365337,-0.9585927991802906,0.37145600728903216,2.0771768422634658,-1.1947554413649826 +0.5536490139710606,0.18828020785124427,1.1399860875559036,-0.11023624111894664,0.9806298992599488,0.15478487336501703 +-1.5617785904898247,-1.624562433491245,-1.2193316309831677,1.3709286807614494,1.221841705740222,-0.6279732338563484 +-0.21795050098413482,-0.8366304754463375,-0.6388482361385703,0.6626705400287759,1.2204364039217483,0.3706863597261529 +-0.43355637007598813,0.15795744816405866,0.8313273246667549,0.6895750107085777,0.25065912101893983,-0.2375155934168075 +-0.5818968637006984,-2.56084780086373,-2.457386771039037,-1.0959660265525775,0.6843814621478689,2.556884240554663 +-0.35265239427742073,0.7183859346095617,-0.7070520374814873,0.1847370943260118,1.2882591429898458,0.38255464113878807 +-0.25078245792188275,-2.8458848010355666,-0.3019600442362733,1.2205332414688004,-0.4088869207435752,-0.31526949386516123 +0.12493916250710436,-0.7762970735611034,-0.4176025554140837,-1.072494497342838,-0.6538276047980359,0.8583005166972667 +1.2408549674056573,0.22319668026989034,-1.262678014971956,-0.02177463171743058,-0.32331979159439933,4.323767303034575 +-1.2494299345684778,1.4731624352438624,1.4903975362118458,-0.307237858076942,-0.9721369688305677,-2.7101659089242394 +0.2992130695987734,0.3558595617516158,1.1793835051945074,-0.11416684477449764,0.4802707818555958,0.21174620802097766 +0.48870003838731557,0.8488235669952898,0.11604770561095758,-1.3822037678292882,-0.6647777174531273,2.050555308769607 +0.5752314813039314,-0.9383183806983716,-0.5631219367409606,-0.968619781338114,-0.013535803348814043,1.9413819769873895 +0.09927759444755702,0.585869198086493,0.4158642056329588,1.1927615055305474,-0.6236951110325695,-0.08958346346483181 +0.3779806445651463,-1.338673269558033,-0.9554623652648967,0.08990899711373079,0.5162348336919366,0.5400933135980839 +1.0804049227133683,-1.047761317637322,-0.795429596942932,0.4757707016235504,0.49481259694008173,3.0026777961650817 +-1.8988687088690448,-0.41237533570198176,0.048360729097190344,0.9376877650443888,-1.3941225758929627,-2.945881517933606 +0.5750452850052545,0.7872542536480093,0.21824385000551094,-0.8953590499812546,0.14592996744040795,1.2267218919530263 +1.2197439681015074,1.8842985909283123,0.3198330574863782,0.45240749107063394,-0.48564483744982756,1.519414717800068 +1.1970603293610098,0.7621520703285535,0.5608159500904394,0.5993742640658217,0.2061853079317788,1.569436780074548 +-0.6789472140336421,1.3513853214405125,1.4248244993041201,0.7196736902008428,1.424336965813791,-1.6103325224920653 +-1.1816326885283703,0.11015872290549128,0.3325853083095294,-0.07667194824425981,-0.36851863779337757,-1.850793272033425 +-2.168700305630637,-0.5563175300078088,-0.6189197005847131,0.595495998205996,-1.4809672438138368,-3.0232414583457503 +1.4151604786672487,-0.9602771037972169,-0.028716283917821328,0.49393776402656187,0.7745855717976456,3.1295070438309502 +-0.4761477262220252,0.8161385253770352,0.666973739100642,0.3307780657165656,0.23241219155461645,-1.226008868345771 +-1.405674897785882,1.2728183990989206,0.9153725047837765,1.7563392704323382,0.07150197983175921,-2.6505892307251324 +-0.61226365828256,0.8748915064243958,0.4128394873888746,-0.6153364467419141,0.501867768400699,-0.9131756015249237 +-0.11361463420002134,0.6549083495724525,0.22063081319471867,-0.16399270198906163,0.5743542849644214,-0.07248741138455611 +0.6782775558243783,-0.1292280264158639,0.5323677767956548,-1.8956028307121116,-1.0030500886085814,1.4512459656459784 +1.4726502477658496,1.8192672584672982,1.9321858194096522,1.910999818877126,0.8642590339882971,2.5929154863950172 +0.526446410111473,0.6692254679860152,-0.05244007858094621,0.20172497730201489,-1.2739307681756564,0.9777157165669972 +0.7349490293325214,0.03403809503995017,0.12161092425978949,0.3023728296080592,-0.44068885348875136,0.9803466669265902 +0.6021224321134375,-0.7211102482159993,0.5454938168099389,0.47797088436753543,-1.0066465664350022,0.23237242523282675 +-0.3137982549336204,-0.6596635093828833,-0.6311617627181911,-1.0474528759415793,0.4321409749030717,0.9172477229966999 +0.9843523319682863,0.41649450613061595,1.1895222919622412,1.546445116001617,0.6161600883236684,1.2694562766823259 +-0.4522631002548347,0.2660852690943676,-0.4840578329156564,-1.3002111905236025,0.5836839857162631,-0.04508758239976196 +0.2107595355783361,-1.0403504876911165,-0.29365185483148126,0.2694157982187035,0.2017180801849809,-0.030198784638779563 +1.7293048608733412,0.36783368799961014,-0.16740905982627233,-1.023519819020602,-1.7394306263282835,3.816223320039192 +-0.36432318195498814,-1.6469538284323058,1.945251613947998,-0.36675250007695714,-1.2490076815102387,-2.2029198269998838 +1.928252500645273,-0.4941691390621951,0.23165330688961794,1.625946059639278,-1.6136059047392717,3.1409423648058095 +-0.10685122821812303,-1.1984401175109174,-0.5788463328133161,0.9587092891926464,0.3248860090724191,1.0596712153899566 +2.6197557680501613,-0.9280920643956939,-0.05179208573549471,0.6335867811702278,0.4706036536161204,3.7813402713554645 +-0.640668232051474,-0.4854079335660842,0.8815849985492299,1.126367115686304,-0.5451831307218672,-1.9614399415488308 +1.4323948661952997,-0.3468759128204969,0.3440507450824967,-1.921923504587104,-0.8611063649164865,1.6990297893944457 +1.7568114851755063,1.829241636263584,2.1931829665781204,0.20249068691253386,1.5440959474888976,1.7693741779569505 +0.6004326089716839,0.6523618068787413,-0.028621157368001304,-1.3788290693541363,-1.4536973202777996,1.2822894687615118 +2.1364175302220043,1.0028870742616847,1.6275622247572756,-0.2473708306063015,0.6427326258024998,3.725744865727151 +1.5644575436711958,1.7916602925976035,0.5844726132764192,-0.4776969797877475,0.4425069941473136,1.9408878258657858 +1.712812986359868,1.712263270820037,1.0187297384720093,0.6206197835231468,0.8290459762145073,1.8694356810016122 +-0.618985608105333,1.8689992766411136,2.0368817115267497,0.361934166506102,0.4721774551948639,-2.2874993559102457 +-0.48419328461347233,-0.8765935508192266,-0.5196727361926636,-0.2790516698585087,-1.2963532621809457,0.14131865261204102 +-1.7397502303495174,-1.0466169699364605,0.1967837341684129,-0.819667179388371,-0.15713342167678682,-2.509689059555299 +-1.0883379640560957,-0.710942320592448,-0.3305764698175018,-0.5508544672689889,-0.621398580407588,-0.7326693927027785 +1.131824909490985,-0.7894971784645849,-1.3741002748164604,0.690543102791158,-0.7334477592879145,2.6940606817105612 +0.9782843690942867,-1.7175164479094367,0.5827235389780323,0.30108744915904556,0.6428223808023555,0.8284417899271735 +0.25255743469939873,-0.3265359753420179,-0.5787499344266344,0.6542568721136822,0.5398435836277706,0.16962464819093492 +-2.51914735818134,-1.685805847646953,-1.0687960876636788,-1.6109776108315486,0.24541057488078366,-3.0224310723853423 +-0.6462499616497315,0.514115425243008,-0.7399785117660503,-0.4119532258225857,0.7096916700275678,-0.39506985539067585 +0.2824062557817292,-0.5179050948527152,-1.579938188046091,0.6179314268091488,-0.024876655818275993,1.8221032061400932 +0.14816667916013262,-0.05718994304255577,1.6214289421990284,1.6293942956485836,1.1830279323525947,-0.8318192991827699 +0.17039691184297237,-0.8333572355644577,0.1328567927739185,0.27817094005576953,1.9216973181580281,1.089563067050177 +-0.03880207799065879,0.7536654188599089,1.6673946309973502,1.1544425961137879,1.1033958089567761,-0.2307021141660507 +-1.3349054812649106,-0.6519395827255888,0.06882110779598297,0.3630879360791366,1.2686784213883864,-1.9474749808761618 +-1.8077591525528875,-0.9179673021190092,-0.25405557086436953,-0.5327495806417604,0.10517739407847959,-3.02295744139335 +-0.6694336125651793,-0.3927957738123129,1.1345289211596956,0.0699787514129077,-0.508768078922813,-2.0284901670948288 +-1.4160758455817264,-0.24692635013828948,-0.6365294957229308,-1.4652510457222332,0.5116926152047929,-1.3750679416965588 +-1.5653081769996084,-0.46865806827779016,-0.5612220688087117,0.025153506300894923,0.21917138234850397,-2.035250999245368 +-0.8821494117043143,-0.9964719346993196,1.1053949620603336,1.9021086569584593,0.437549265709207,-1.4871052754926948 +-1.5027451646973964,0.09061106012051075,0.26475394664822743,-1.717664937073104,-0.4282193455368667,-2.1592087126292223 +1.100501643842405,-1.0432415702288111,-0.26318151521887984,0.4754733103675673,0.046429904727502115,2.070510619632994 +1.1237259702730082,0.8808253490356316,1.5810463468426157,2.2641950442258505,0.24265852948722533,1.4441525161606508 +-0.1139507630935239,0.013838246520046863,-1.0796635456376267,-0.5474942086709961,-0.33103251962975705,0.8637876140118173 +-0.7703472905794587,-0.2862218908998932,-0.20831889396579883,-0.6205527581771,0.9894252403445988,-0.6058097404081018 +-1.2929024768237989,-1.774802987533451,-1.5263180453832437,-0.789972353263276,-1.124052229000601,-0.5385206841389557 +1.0021984874764245,1.0942778029704472,0.23809865808596697,1.881000276918462,1.3531467933077856,3.0255882610148284 +-2.9116972405003856,-1.071975397590535,0.42769818542977206,-0.09748660418118259,1.0664609900406106,-4.833583607127247 +0.5465133004083955,-0.3916172726593737,-0.1621923060949846,-0.38155163785660523,0.1667142753692686,0.3349731072036124 +0.5918487946526017,-0.12111081453489266,-0.724834020047746,0.9556252074594991,0.9062783511872657,1.8978333473717806 +-0.05755393949227096,0.23537192516129204,-0.3851311457620757,-0.23036037745595922,-1.29725640298471,-0.07063083977611612 +0.49950690485144983,1.0425823545516757,-0.2223881412903981,1.326337385071429,1.796457064433487,1.796758211198365 +0.9869183208030814,-0.04698462845912715,-0.638400157038571,-0.8669745952711514,-0.5787119385321571,0.9625494211896879 +-0.3676165013801382,-0.17312613657704973,-1.3210654788473153,-0.37806546891206466,-0.2296767052163735,1.3100783501078257 +1.0237659507484556,-0.6895579736211268,0.49036491263442594,1.8241786733841168,-0.5660257528281971,2.4072627368479367 +1.4884974343118837,-1.8669430482254332,-0.20256991276399797,-0.8466664900899822,0.2439228560489537,2.314555797243611 +-1.977043791466402,-1.053364789046856,-0.38509495640273916,-1.3673064359197002,0.34235066210596565,-2.6632330020085773 +1.3348805866110105,0.5162199988804462,0.6865145827544558,0.5161897158078155,0.6996577805044113,2.5506427276461654 +-0.5603467753591825,-0.10070890373862985,1.5017071444024457,2.2116497096731482,2.2008759978859507,-1.3843197275629007 +0.49806520914587243,0.028085149742179884,-0.6307974368876303,-0.6209960850225174,-1.3336414910538485,0.9256195634308696 +0.6678881177801589,0.6178808691101233,1.9776871037485861,-0.27761370736281776,1.177978336128681,-1.4573710855801858 +-0.4981804454326946,0.9536938587997464,-0.29184998627520564,1.2101520453472936,0.8475196113830809,-0.06142525373731156 +-1.01907758019232,1.06463704170442,0.17387089973243497,0.6907355776867948,0.20029778592704356,-1.3236725477182825 +-0.005002401479495266,-1.338999959295366,-0.889508229535258,1.4699784819503787,0.03474247725774186,1.9188786123728652 +0.0665315979541555,0.39245698979209015,-0.2683451287523226,-2.48800608556793,-1.3520982530273793,1.0185040448549172 +0.7016646030212892,1.4456974848813833,0.9353826656914423,0.4109807573085322,-0.06797007063929301,0.024993588501680652 +-0.3625848327201327,1.218550180193123,-0.005119906410021405,-0.9442234537839849,-1.2153069152570126,0.26243853484856206 +-1.0956421102169016,-0.4053510630658535,-0.2488988156996662,0.7380227832066323,-0.9962859466235369,-0.6618999821832006 +1.2349187982290621,0.8757260185879344,0.4180487144280701,0.5470156553713671,0.8836139607482185,1.106706172881232 +1.306399435048274,1.4080963089476355,0.7546340745050515,0.5772633436033787,1.0913431887915086,2.4027137907203344 +-0.48867056591101304,-0.6476737470374099,-0.949162062209613,0.7732800645712453,0.14684361190338446,0.414369354726307 +-1.6504150281571954,-2.4367757329413022,0.19154582596377562,-0.3936913560505296,-1.3235117980360258,-1.4346910842429224 +0.6539149604819837,-0.2971163662214773,-0.1719041687872411,1.2471068962989325,1.9573356934576924,1.5244125275696634 +0.05271420870693993,0.31673375644331636,-0.19250200898935677,-0.9246960347253864,-0.3899433849510328,-0.7194763655609376 +1.6182951980010012,0.6684412506029194,1.0278349583509285,0.7608380942861713,-0.3260294235413426,1.9009109641477027 +0.06878102407557435,0.2955081321891506,1.0911626508632422,0.2671883461330426,1.0301301453129423,-0.0959572536500275 +0.27117566085512124,2.144308736433634,-0.29667681094469345,-0.7390284344932851,0.1456313078473112,0.879261570072998 +-1.7509449880766288,-1.382876598521367,-0.40531685890423746,-0.43317211901769354,0.23092862341515247,-2.0244646561618973 +0.09250434774447665,0.40562714771745206,0.08479784618723711,0.03469560084022593,-1.371002968569782,0.153334035672522 +0.5037539818288246,0.6680311318912558,0.06207915367735842,0.747339615228328,-0.005315590800543396,-0.37626400605207966 +2.7706904849926697,0.9453875136188334,0.15749040839569675,0.5066434938844877,-0.6798772274179032,5.249785310979951 +-0.2710095055130754,-0.3966256776140714,-0.45417337826995985,-0.5999536275420413,0.00743565799420288,-0.25484497602959766 +-0.6333794358006549,-0.7256296603890364,-0.2661781007390498,-1.0498659171484253,-1.88955524064546,0.008980734122100431 +-0.7740663375027477,-0.04737332831657666,0.08397357909261993,1.0693161065335488,0.3480447475240876,-1.0197988315237008 +1.955417388244486,1.592979438808714,0.18675393794600054,0.26776286618073575,-0.4327460539340259,3.9032756392036445 +1.4891448175987507,0.9313033252273605,-0.36554663888586214,-0.4449115031007081,0.6693993093915956,3.097869384364589 +-0.2832285073936157,-0.01590841541687936,1.2291915683957737,0.39429306639297096,0.2293270357917266,-1.4866731457329119 +-1.8729522148921713,0.29280428874092135,0.5833792965794777,0.9339711765126051,0.05413620852331473,-3.4200220110582173 +-0.6861247290346931,-0.3481865133309341,-0.3718772951403173,-0.10896009674408315,0.9296172676939205,-0.18100526325022964 +-0.3297507567375246,-0.7254649921187127,0.25645664348920133,-1.588023532979443,-1.466005958266103,-0.8594000662121997 +0.14454334513609812,-0.14180223068524708,1.215999261618563,1.1930619209627171,-0.9116470877558291,-0.08205587290108879 +-1.286684665156761,0.8191043992778101,-0.2598289689453051,0.09223001329847819,-0.2685682227237578,-1.970812777453415 +-0.2751038743956908,1.0202026895759149,1.192206204415689,-1.5152683613884954,-0.011885394639541904,0.07052762113396294 +-0.30433409945175466,0.06852786039628168,0.5802648354094309,-0.3577254742841989,0.7470047772773056,-0.7813288083117398 +-2.148375166139592,-0.6552500145698202,0.43606132651524643,0.8818558780652959,0.7225329388048866,-2.841839936748365 +2.65918428010269,-0.14536508654956426,-0.845799429778784,0.11652106882068136,0.040755412283909435,4.776987522317815 +1.7172681756143842,1.2062942366398,-0.18861873887631284,-0.5490800059525469,-0.4176368270032521,2.306563623589532 +-0.6181008558524111,-0.762107435625498,-1.7710769835744629,-0.7564672631680964,0.3360724895565043,0.4570495151002545 +0.20004065551199993,0.94703606094682,1.345439602060414,0.5983165920763521,1.6092979670275345,-0.03534535695083052 +2.947587719529082,-0.03706531659828481,3.381202915435783,1.7890411838747469,1.1424205682816537,2.4580782838329016 +-0.3090949221474533,0.20450931459382288,-1.2829512470432862,-0.9534839176132062,0.033734650044873915,1.428076021398215 +-1.438035339012106,-2.3574112876386315,-0.8921447652685817,0.1912802800462246,-0.6265170058545019,-0.6287971722186225 +0.32166917093351155,0.9532519173840869,-0.18020565538543026,-0.1498617867598978,-0.15295135099705867,0.4825568631494868 +-0.4512511436525989,-2.0790583572930226,-1.7250529757693165,-1.5395694889927498,-0.4421274839078854,1.3415003496084614 +-0.5715082237077131,-1.15041538800576,-1.5824641631267886,-0.30423579706389126,-0.8442072098604273,0.8615100878453726 +-1.3454556905428012,0.0030951151185879496,0.9580781640680669,0.5188216827559526,-0.2551933281040601,-3.8862877448139814 +-1.6611731310543687,-1.0361366236590928,-0.5910827278486088,0.9860380442477692,-0.04447075938484207,-0.6321912663527784 +0.06696118421612658,1.6568413462714595,0.9697415260526385,-0.14138972278774903,0.1586081445738637,0.038089111108909446 +-0.988692088505791,-0.35298911469142563,1.3795245322060574,0.11725641709004994,0.0850551370228758,-1.8192324946077254 +-0.03162060057504685,-1.7614341371776432,-0.4588268219089739,0.5368862654081201,-0.1844226815871289,0.09485303850450466 +-0.41923671290991404,0.5333120771511618,0.4792930431351232,-0.5100916183102334,-0.03652188469708501,-0.12425315587959718 +-0.3513910309479795,0.5539522257722304,0.9564918953338993,-0.5272469358470526,-0.3412388697220255,0.09946801346009426 +-0.9560076130751131,0.6902675994405394,0.45040842671291653,1.1579665649124764,1.4587774872096875,-1.9241565959484723 +1.1739470166312533,0.8712495227066276,-0.14974335045666007,-0.9092485221195751,-0.2986036689838073,2.7450658786019533 +0.34034656632567073,0.9326775406419704,0.5808668572369273,-0.05714098052997454,-0.007323317549622403,0.3764875384866222 +0.6396923244005617,1.6597807131177613,0.634197991315924,-1.5257918873270058,-1.480137988692533,0.6346931864694724 +-0.1379681505881604,-0.595912503737733,-0.5527715786532184,-0.8047657014515089,-0.9933682001948705,0.8449594274654962 +1.8045115165089638,2.669224635517187,1.7462393230739037,1.4002720167342582,2.3587165853542253,2.768719947277492 +1.1130233450482117,0.7789104200208735,0.15528201479409806,0.8789247887052677,1.0354992090490418,1.6872484128907783 +-0.9786959779173826,-1.1743196143231736,-0.7834289489977889,0.5685417795870783,-0.7713945948519774,0.19466330077753308 +-0.20797023383646715,0.6606049998245107,-1.1327372413069883,-0.18165221706021625,-0.7513836167590507,0.021043241336607732 +0.9306413513635736,-0.3243836357477523,-0.10403444635728813,0.7230416951867948,-0.12513394507810746,0.9768429548222906 +-0.40245813266928043,-1.2794746407873892,-0.6079678283308734,-0.5934239742963144,-0.43437158440318396,0.43338866196314785 +-1.932512042659328,-0.4183864073356031,-0.0011600655998022067,0.8258173251244696,0.0845632952122547,-2.5739925753102595 +0.6848575158906962,1.0551374893078758,1.666966014674836,-0.08858532200008425,0.47886527477974505,-0.30283243501967444 +-0.8294404742629947,-0.0377577734376711,-1.034641850129925,0.23673381881264877,0.9905685652724502,0.018089766183325362 +-0.6431611014903273,-1.1755697420002298,1.1950625523569922,-0.5111093983589337,0.9955478382536638,-1.2144526833036546 +-0.5961631106933695,-1.8903156939910941,1.6414000636954662,-1.3541900245653282,-0.47010011301660615,-0.880846190586186 +0.7440705778152572,0.23266912507836665,-1.9353845915063064,1.3728865051237218,-1.0140186586763478,3.084399712781795 +1.1118609546512124,-0.4924234061662228,0.5785946015171229,0.8450985782115111,-1.093028334792811,1.8492448290393833 +-0.03377325202513029,0.013986944967771895,0.10015728623449872,0.20564695399074234,0.577196308036785,-0.3382077094527197 +2.088108789095649,0.07458021199774875,0.25041253036746364,2.11211263232488,-0.32908380003948146,4.886911501141693 +0.7005095474428517,-1.1134836284934408,-0.7182203870667321,0.1329811858566351,-0.19734314200443376,1.5967733423330057 +-0.13311911754393155,1.2897113225931085,1.2245637391823363,0.5109214631539097,1.9223151710716706,0.33974007017811025 +-1.9232824557038737,-1.2937532733322965,-0.44789575022091915,0.7198491005912522,0.2717430557515101,-1.990431834367176 +1.4779672800251722,0.5910293308005604,-0.06419065838641586,-0.6682942476816573,-0.19396228469669435,1.9020620345771353 +0.5132539105054968,-0.23489981613638136,-0.25270158546344546,0.30914891476457906,0.39092580274549305,1.7806913427994 +-0.4469727573482144,0.0005470837045609522,0.45087904940565426,-1.112854775224567,0.2951027491095498,-0.7202490641469264 +-1.2107426721347256,-1.471369744962635,0.19944183193323836,-1.0961659387854654,0.8825477244777024,-0.8574031967134469 +0.20457345222612502,-0.2461865379840007,-0.47933905965010387,-0.5604810891623987,1.1756865838631285,1.4751312549009927 +-0.20240142219109855,1.186457369871761,0.410820559559043,0.8726846912596995,-0.08748494584168318,0.08017620756506028 +-1.255867252265519,-1.4241087980436495,-0.9786632486512253,1.1357155996610944,0.8902356309959705,-0.696288741780394 +2.187421761675193,3.514063320594676,1.8995988940012254,0.8703349460696826,-0.5761143660211132,3.154405652765854 +-1.133803392947007,-0.9599440578203475,-1.144808991197634,-2.2194144729197602,-1.9119491999425928,0.5371379432393856 +0.23284379219274934,-0.7345467698541697,0.28237919801253264,1.373719341725779,0.33395585451235843,1.119085280911185 +0.9772397497394201,1.0442506021110385,1.4367337181087068,0.7923926907823597,0.9493588442350966,-0.27729976719312754 +0.29752211146975255,-2.007397025771303,-2.410022802909588,-2.7877150484431947,-1.9990292325481567,4.7026007708682975 +-0.7383967942965771,0.38783152763363193,0.4878539911702334,1.860709065952624,0.7927747493306284,-0.9608524128638274 +0.7969493552958677,0.09976741679205217,-1.328089560411902,-1.1314858811154207,-1.1523346894673996,3.388151918779265 +-1.3854698050916696,0.7814043824594086,0.6296130128019429,0.5315750389790322,0.3735019434907208,-1.9251360234546357 +0.1789096744327017,-0.5922001244448566,0.7020367508811833,0.8665309527566789,1.5193316766663132,0.20939755520153303 +-0.41339935559341495,-0.5226394274926616,-1.125481423396327,0.8683995071663019,1.5190916955748388,0.8844872900117866 +0.1422990943298842,-0.3197249673555921,-0.5019437950799769,1.2830454033535685,0.77858911922005,0.5837360309461814 +0.13555494632326243,-1.3892282655273887,-0.9431589673729401,-0.6218685454433617,0.38099378635037445,2.2823172423829137 +0.6903865691899651,0.6727783665865601,1.4456236981546495,-0.9107562751397877,-0.42013478937038273,1.2979044713069996 +0.5192519510168184,1.2121867792204275,-1.0811561979057827,-0.6982512773300499,-0.38265719423100775,2.3347613689646813 +-1.0809556577899355,-0.13643063708520212,-1.4387844944856156,-1.8107123490872037,-0.6498430501459618,1.0444779006211649 +-0.11393577588104768,-0.30905494565494507,0.776503226608227,1.0199847394723736,-0.05440054860735482,-0.7339538400245744 +-2.7695517457212877,-1.0124529471503274,-0.43661652870115103,-0.6515183455906818,1.1304505842386203,-3.7690187729356155 +-0.8574944473383193,-0.2379265550422963,0.5565896763593067,-1.4985480964628515,0.19874776446360692,-1.1552028347421244 +-0.6825013297304019,-0.011156520182643565,-1.0357475401965444,0.6348457969429225,-0.9017102977961924,0.10846976654925301 +-0.11173378146156797,-1.3414013577116053,-1.5512775886227144,0.1817860951455891,-0.050081614143464244,1.3084121054294007 +0.041748791102364256,1.064681267144074,-0.037604533132099535,-1.1674223865377071,-0.7376355367227933,0.9966538462855998 +-0.24052521501721488,1.3316225641752495,1.246764846252839,1.0470801855452019,0.4992628555500382,-0.5624473731529672 +-0.30444090849648087,-0.4057025621805524,0.2743265500679224,0.3267526509120286,1.1457311116435667,-0.9836539204380477 +-1.3844177662892008,0.5584411756569226,-0.031042169993033983,1.050538806229364,0.04792716715660839,-1.3498270103806544 +0.2241801682925559,-2.6927783877753706,-0.4341983421977222,-0.4214091047357939,-1.1714294669073606,1.8040997368405982 +1.703143043034559,0.7723055685097312,2.132409791058307,-0.6903650189526128,0.45756692232562135,1.3159828024000435 +0.8101121797440188,1.4330590474426075,0.8904692416960767,0.6194579831931899,-0.19661402922886045,1.6004372329302519 +-1.3003273578986843,-0.1325335764723798,-2.308631684198485,-0.23429684883187635,-1.1584562363929654,-0.639079970545811 +1.512846557299273,1.604433885672696,1.72947796871516,0.6248764766595661,1.0851317483182312,1.676364460873434 +-1.4473824303881062,1.1390722543260812,1.7067383610666849,-1.452610555283151,-0.5517885884528912,-3.3194030980607203 diff --git a/main_gradientboosting.py b/main_gradientboosting.py new file mode 100644 index 0000000..9afc11a --- /dev/null +++ b/main_gradientboosting.py @@ -0,0 +1,91 @@ +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +from boosting.gradient_boosting import GradientBoostingTree + +def load_dataset(file_path): + """ + Load a dataset from a CSV file. + """ + try: + data = pd.read_csv(file_path) + if data.empty: + raise ValueError("Dataset is empty. Please provide a valid dataset.") + X = data.iloc[:, :-1].values + y = data.iloc[:, -1].values + return X, y + except Exception as e: + print(f"Error loading dataset: {e}") + exit() + +def preprocess_data(X, y): + """ + Preprocess the dataset: scale features and return scaled X and y. + """ + X_mean = np.mean(X, axis=0) + X_std = np.std(X, axis=0) + X_scaled = (X - X_mean) / X_std + + y_mean = np.mean(y) + y_std = np.std(y) + y_scaled = (y - y_mean) / y_std + + return X_scaled, y_scaled, y_mean, y_std + +def evaluate_model(y_true, y_pred): + """ + Evaluate the model using MSE, MAE, and R² metrics. + """ + mse = np.mean((y_true - y_pred) ** 2) + mae = np.mean(np.abs(y_true - y_pred)) + r2 = 1 - (np.sum((y_true - y_pred) ** 2) / np.sum((y_true - np.mean(y_true)) ** 2)) + return mse, mae, r2 + +def plot_results(y_true, y_pred): + """ + Plot actual vs. predicted values. + """ + plt.figure(figsize=(8, 6)) + plt.scatter(y_true, y_pred, alpha=0.7, label="Predictions") + plt.plot([min(y_true), max(y_true)], [min(y_true), max(y_true)], 'r--', label="Ideal Fit") + plt.xlabel("True Values") + plt.ylabel("Predicted Values") + plt.title("Actual vs. Predicted") + plt.legend() + plt.show() + +if __name__ == "__main__": + # 1. Load Dataset + dataset_path = "data/boston_housing.csv" + X, y = load_dataset(dataset_path) + + # 2. Preprocess Data + X, y, y_mean, y_std = preprocess_data(X, y) + + # 3. Split Data into Training and Testing Sets + train_size = int(0.8 * len(X)) + X_train, X_test = X[:train_size], X[train_size:] + y_train, y_test = y[:train_size], y[train_size:] + + # 4. Train Gradient Boosting Model + print("Training Gradient Boosting Model...") + model = GradientBoostingTree(n_estimators=100, learning_rate=0.1, max_depth=2) + model.fit(X_train, y_train) + print("Model training complete!") + + # 5. Make Predictions (scaled) + y_pred_scaled = model.predict(X_test) + + # 6. Scale back predictions to original y scale + y_pred = y_pred_scaled * y_std + y_mean + + # 7. Evaluate the Model + mse, mae, r2 = evaluate_model(y_test * y_std + y_mean, y_pred) # Scale back y_test to original scale + print("\nModel Evaluation:") + print(f"Mean Squared Error (MSE): {mse:.4f}") + print(f"Mean Absolute Error (MAE): {mae:.4f}") + print(f"R² Score: {r2:.4f}") + + # 8. Plot Results + print("\nPlotting Actual vs. Predicted Results...") + plot_results(y_test * y_std + y_mean, y_pred) # Scale back y_test to original scale diff --git a/main_modelselection.py b/main_modelselection.py new file mode 100644 index 0000000..656b997 --- /dev/null +++ b/main_modelselection.py @@ -0,0 +1,88 @@ +import numpy as np +import pandas as pd +from boosting.gradient_boosting import GradientBoostingTree +from model_selection.cross_validation import k_fold_cv +from model_selection.bootstrapping import bootstrap + +def load_dataset(file_path): + """ + Load dataset from a CSV file. + """ + try: + data = pd.read_csv(file_path) + if data.empty: + raise ValueError("Dataset is empty. Please provide a valid dataset.") + X = data.iloc[:, :-1].values + y = data.iloc[:, -1].values + return X, y + except Exception as e: + print(f"Error loading dataset: {e}") + exit() + +def preprocess_data(X, y): + """ + Preprocess the dataset: scale features and return scaled X and y. + """ + X_mean = np.mean(X, axis=0) + X_std = np.std(X, axis=0) + X_scaled = (X - X_mean) / X_std + + y_mean = np.mean(y) + y_std = np.std(y) + y_scaled = (y - y_mean) / y_std + + return X_scaled, y_scaled + +def grid_search_max_depth(X, y, max_depth_values, n_estimators=100, learning_rate=0.1, k=5): + """ + Perform grid search to find the best max_depth using k-fold cross-validation. + """ + best_score = float("inf") + best_max_depth = None + + for max_depth in max_depth_values: + model = GradientBoostingTree( + n_estimators=n_estimators, + learning_rate=learning_rate, + max_depth=max_depth + ) + score = k_fold_cv(model, X, y, k=k, metric="mse") + print(f"Max Depth: {max_depth}, CV MSE: {score:.4f}") + if score < best_score: + best_score = score + best_max_depth = max_depth + + return best_max_depth, best_score + +if __name__ == "__main__": + # 1. Load and Preprocess Dataset + dataset_path = "data/boston_housing.csv" + X, y = load_dataset(dataset_path) + X, y = preprocess_data(X, y) + + # 2. Perform K-Fold Cross-Validation + print("\nPerforming K-Fold Cross-Validation...") + model = GradientBoostingTree(n_estimators=100, learning_rate=0.1, max_depth=3) + cv_score = k_fold_cv(model, X, y, k=5, metric="mse") + print(f"K-Fold Cross-Validation MSE: {cv_score:.4f}") + + # 3. Perform Bootstrapping + print("\nPerforming Bootstrapping...") + bootstrap_scores, mean_bootstrap_score = bootstrap(model, X, y, B=10, metric="mse") + print(f"Bootstrap Mean MSE: {mean_bootstrap_score:.4f}") + print(f"Bootstrap Scores: {bootstrap_scores}") + + # 4. Perform Grid Search for max_depth + print("\nPerforming Grid Search for max_depth...") + max_depth_values = [2, 3, 5] + best_max_depth, best_cv_score = grid_search_max_depth(X, y, max_depth_values) + print(f"Best Max Depth: {best_max_depth}") + print(f"Best CV MSE: {best_cv_score:.4f}") + + # 5. Train Final Model with Best Parameters + print("\nTraining final model with best parameters...") + final_model = GradientBoostingTree( + n_estimators=100, learning_rate=0.1, max_depth=best_max_depth + ) + final_model.fit(X, y) + print("Final model training complete!") diff --git a/model_selection/__init__.py b/model_selection/__init__.py new file mode 100644 index 0000000..1d85e3c --- /dev/null +++ b/model_selection/__init__.py @@ -0,0 +1,2 @@ +from .cross_validation import k_fold_cv +from .bootstrapping import bootstrap diff --git a/model_selection/bootstrapping.py b/model_selection/bootstrapping.py new file mode 100644 index 0000000..dd950a8 --- /dev/null +++ b/model_selection/bootstrapping.py @@ -0,0 +1,23 @@ +import numpy as np + +def bootstrap(model, X, y, B=100, metric="mse"): + n = len(X) + scores = [] + + for _ in range(B): + indices = np.random.choice(np.arange(n), size=n, replace=True) + X_sample, y_sample = X[indices], y[indices] + + model.fit(X_sample, y_sample) + y_pred = model.predict(X_sample) + + if metric == "mse": + score = np.mean((y_sample - y_pred) ** 2) + elif metric == "mae": + score = np.mean(np.abs(y_sample - y_pred)) + else: + raise ValueError("Unsupported metric.") + + scores.append(score) + + return scores, np.mean(scores) diff --git a/model_selection/cross_validation.py b/model_selection/cross_validation.py new file mode 100644 index 0000000..114f951 --- /dev/null +++ b/model_selection/cross_validation.py @@ -0,0 +1,28 @@ +import numpy as np + +def k_fold_cv(model, X, y, k=5, metric="mse"): + n = len(X) + indices = np.arange(n) + np.random.shuffle(indices) + folds = np.array_split(indices, k) + + scores = [] + for i in range(k): + train_idx = np.concatenate([folds[j] for j in range(k) if j != i]) + val_idx = folds[i] + + X_train, X_val = X[train_idx], X[val_idx] + y_train, y_val = y[train_idx], y[val_idx] + + model.fit(X_train, y_train) + y_pred = model.predict(X_val) + + if metric == "mse": + score = np.mean((y_val - y_pred) ** 2) + elif metric == "mae": + score = np.mean(np.abs(y_val - y_pred)) + else: + raise ValueError("Unsupported metric.") + scores.append(score) + + return np.mean(scores) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..7fea300 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +numpy>=1.21.0 +pandas>=1.3.0 +matplotlib>=3.4.0 +python >=3.11.7 \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..3c05498 --- /dev/null +++ b/setup.py @@ -0,0 +1,35 @@ +from setuptools import setup, find_packages + +# Read the contents of README.md for long description +with open("README.md", "r", encoding="utf-8") as fh: + long_description = fh.read() + +setup( + name="gradient_boosting_model_selection", + version="1.0.0", + author="Shubham Dhanavade", + author_email="sdhanavade@hawk.iit.edu.com", + description="Implementation of Gradient Boosting and Model Selection (K-Fold CV, Bootstrapping)", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/mishrasharanya/CS584_Project2", # Replace with your GitHub URL + packages=find_packages(where="src"), + package_dir={"": "src"}, + install_requires=[ + "numpy>=1.21.0", + "pandas>=1.3.0", + "matplotlib>=3.4.0", + ], + classifiers=[ + "Programming Language :: Python :: 3", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + ], + python_requires=">=3.7", + entry_points={ + "console_scripts": [ + "run_gradient_boosting=main_gradientboosting:main", + "run_model_selection=main_modelselection:main", + ] + }, +) diff --git a/tests/test_boosting.py b/tests/test_boosting.py new file mode 100644 index 0000000..7f97973 --- /dev/null +++ b/tests/test_boosting.py @@ -0,0 +1,89 @@ +import numpy as np +import sys +import os +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../src'))) + +from boosting.gradient_boosting import GradientBoostingTree + +def test_gradient_boosting_training(): + ... + + + + +def test_gradient_boosting_training(): + """ + Test training of the GradientBoostingTree model. + """ + # Create a synthetic dataset + X = np.random.rand(100, 2) + y = 3 * X[:, 0] + 2 * X[:, 1] + np.random.normal(0, 0.1, 100) + + # Initialize and train the model + model = GradientBoostingTree(n_estimators=10, learning_rate=0.1, max_depth=3) + model.fit(X, y) + + # Verify that the model has stored estimators + assert len(model.models) == 10, "Number of estimators should match n_estimators." + print("GradientBoostingTree training test passed.") + +def test_gradient_boosting_prediction(): + """ + Test prediction of the GradientBoostingTree model. + """ + # Create a synthetic dataset + X_train = np.random.rand(100, 2) + y_train = 4 * X_train[:, 0] + 3 * X_train[:, 1] + np.random.normal(0, 0.1, 100) + X_test = np.random.rand(20, 2) + y_test = 4 * X_test[:, 0] + 3 * X_test[:, 1] + np.random.normal(0, 0.1, 20) + + # Initialize and train the model + model = GradientBoostingTree(n_estimators=20, learning_rate=0.1, max_depth=3) + model.fit(X_train, y_train) + + # Make predictions + y_pred = model.predict(X_test) + + # Verify predictions have the same length as test data + assert len(y_pred) == len(y_test), "Predictions should have the same length as test data." + # Verify predictions are finite + assert np.all(np.isfinite(y_pred)), "Predictions should not contain NaN or infinite values." + print("GradientBoostingTree prediction test passed.") + +def test_gradient_boosting_regression_performance(): + """ + Test the performance of the GradientBoostingTree model on a simple regression task. + """ + # Create a synthetic dataset + X = np.random.rand(200, 1) + y = 5 * X[:, 0] + np.random.normal(0, 0.2, 200) + + # Split data into training and testing sets + train_size = int(0.8 * len(X)) + X_train, X_test = X[:train_size], X[train_size:] + y_train, y_test = y[:train_size], y[train_size:] + + # Initialize and train the model + model = GradientBoostingTree(n_estimators=50, learning_rate=0.1, max_depth=3) + model.fit(X_train, y_train) + + # Make predictions + y_pred = model.predict(X_test) + + # Compute MSE + mse = np.mean((y_test - y_pred) ** 2) + print(f"GradientBoostingTree regression MSE: {mse:.4f}") + + # Verify MSE is reasonably small + assert mse < 0.1, "MSE should be small for a simple linear relationship." + print("GradientBoostingTree regression performance test passed.") + +if __name__ == "__main__": + print("Testing GradientBoostingTree training...") + test_gradient_boosting_training() + + print("\nTesting GradientBoostingTree prediction...") + test_gradient_boosting_prediction() + + print("\nTesting GradientBoostingTree regression performance...") + test_gradient_boosting_regression_performance() diff --git a/tests/test_model_selection.py b/tests/test_model_selection.py new file mode 100644 index 0000000..9d92c99 --- /dev/null +++ b/tests/test_model_selection.py @@ -0,0 +1,55 @@ + +import sys +import os +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../src'))) +import numpy as np +from boosting.gradient_boosting import GradientBoostingTree + +def test_gradient_boosting_training(): + ... + +from model_selection.cross_validation import k_fold_cv +from model_selection.bootstrapping import bootstrap +from boosting.gradient_boosting import GradientBoostingTree + +def test_k_fold_cv(): + """ + Test k-fold cross-validation. + """ + # Create synthetic dataset + X = np.random.rand(100, 2) + y = 4 * X[:, 0] + 3 * X[:, 1] + np.random.normal(0, 0.1, size=100) + + # Initialize the Gradient Boosting model + model = GradientBoostingTree(n_estimators=10, learning_rate=0.1, max_depth=3) + + # Perform k-fold cross-validation + score = k_fold_cv(model, X, y, k=5, metric="mse") + + assert score > 0, "Cross-validation score should be greater than 0." + print(f"K-Fold Cross-Validation MSE: {score:.4f}") + +def test_bootstrap(): + """ + Test bootstrapping for model evaluation. + """ + # Create synthetic dataset + X = np.random.rand(100, 2) + y = 4 * X[:, 0] + 3 * X[:, 1] + np.random.normal(0, 0.1, size=100) + + # Initialize the Gradient Boosting model + model = GradientBoostingTree(n_estimators=10, learning_rate=0.1, max_depth=3) + + # Perform bootstrapping + scores, mean_score = bootstrap(model, X, y, B=10, metric="mse") + + assert len(scores) == 10, "Number of bootstrap scores should match the number of iterations." + assert mean_score > 0, "Mean bootstrap score should be greater than 0." + print(f"Bootstrap Mean MSE: {mean_score:.4f}") + +if __name__ == "__main__": + print("Testing K-Fold Cross-Validation...") + test_k_fold_cv() + + print("\nTesting Bootstrapping...") + test_bootstrap()