diff --git a/us/deductions/abolish_salt.ipynb b/us/deductions/abolish_salt.ipynb new file mode 100644 index 0000000..6c7ecc3 --- /dev/null +++ b/us/deductions/abolish_salt.ipynb @@ -0,0 +1,244 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "762a9c7e", + "metadata": {}, + "outputs": [], + "source": [ + "from policyengine_us import Microsimulation\n", + "from policyengine_core.reforms import Reform\n", + "\n", + "reform = Reform.from_dict({\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD\": {\n", + " \"2025-01-01.2100-12-31\": 0\n", + " },\n", + " \"gov.irs.deductions.itemized.salt_and_real_estate.phase_out.floor.applies\": {\n", + " \"2025-01-01.2029-12-31\": False\n", + " }\n", + "}, country_id=\"us\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "m36duawjesh", + "metadata": {}, + "outputs": [], + "source": [ + "# Congressional District Analysis - Setup\n", + "from policyengine_us import Microsimulation\n", + "import pandas as pd\n", + "\n", + "print(\"Setting up congressional district microsimulations...\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bgcpg1k1guu", + "metadata": {}, + "outputs": [], + "source": [ + "# Create baseline microsimulation with congressional district data\n", + "cd_baseline = Microsimulation(dataset=\"hf://policyengine/test/sparse_cd_stacked_2023.h5\")\n", + "\n", + "# Get congressional district geoids and correct state_fips\n", + "cd_geoids = cd_baseline.calculate(\"congressional_district_geoid\").values\n", + "correct_state_fips = cd_geoids // 100\n", + "cd_baseline.set_input(\"state_fips\", 2023, correct_state_fips)\n", + "\n", + "print(\"Baseline microsimulation ready\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99exvffovks", + "metadata": {}, + "outputs": [], + "source": [ + "# Create reform microsimulation \n", + "cd_reformed = Microsimulation(dataset=\"hf://policyengine/test/sparse_cd_stacked_2023.h5\", reform=reform)\n", + "cd_reformed.set_input(\"state_fips\", 2023, correct_state_fips)\n", + "\n", + "print(\"Reform microsimulation ready\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "whqowthn9rc", + "metadata": {}, + "outputs": [], + "source": [ + "# Calculate baseline data - individual variables to save memory\n", + "print(\"Calculating baseline variables individually...\")\n", + "household_ids = cd_baseline.calculate(\"household_id\")\n", + "state_fips = cd_baseline.calculate(\"state_fips\") \n", + "cd_geoids = cd_baseline.calculate(\"congressional_district_geoid\")\n", + "baseline_income = cd_baseline.calculate(\"household_net_income\", period=2025)\n", + "baseline_tax = cd_baseline.calculate(\"income_tax\", period=2025)\n", + "weights = cd_baseline.calculate(\"household_weight\", period=2025)\n", + "\n", + "print(f\"Baseline variables calculated for {len(household_ids)} households\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "wg4ow67ppok", + "metadata": {}, + "outputs": [], + "source": [ + "# Calculate reform data - individual variables\n", + "print(\"Calculating reform variables...\")\n", + "reform_income = cd_reformed.calculate(\"household_net_income\", period=2025)\n", + "reform_tax = cd_reformed.calculate(\"income_tax\", period=2025)\n", + "\n", + "print(f\"Reform variables calculated\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "tvag721fho", + "metadata": {}, + "outputs": [], + "source": [ + "# Create DataFrame with calculated impacts\n", + "print(\"Creating impact dataframe...\")\n", + "import pandas as pd\n", + "\n", + "cd_data = pd.DataFrame({\n", + " 'household_id': household_ids,\n", + " 'state_fips': state_fips,\n", + " 'congressional_district_geoid': cd_geoids,\n", + " 'baseline_income': baseline_income,\n", + " 'reform_income': reform_income,\n", + " 'baseline_tax': baseline_tax,\n", + " 'reform_tax': reform_tax,\n", + " 'household_weight': weights\n", + "})\n", + "\n", + "# Calculate impacts\n", + "cd_data['reform_impact'] = cd_data['reform_income'] - cd_data['baseline_income']\n", + "cd_data['tax_change'] = cd_data['reform_tax'] - cd_data['baseline_tax']\n", + "cd_data['district_number'] = cd_data['congressional_district_geoid'] % 100\n", + "\n", + "print(f\"Impact dataframe created with {len(cd_data)} households\")\n", + "\n", + "# Free memory\n", + "del household_ids, state_fips, cd_geoids, baseline_income, reform_income, baseline_tax, reform_tax, weights" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "axc8cqndhyk", + "metadata": {}, + "outputs": [], + "source": [ + "# Group by congressional district and calculate weighted averages\n", + "print(\"Aggregating by congressional district...\")\n", + "\n", + "cd_summary = cd_data.groupby(['state_fips', 'congressional_district_geoid', 'district_number']).apply(\n", + " lambda x: pd.Series({\n", + " 'avg_income_impact': (x['reform_impact'] * x['household_weight']).sum() / x['household_weight'].sum(),\n", + " 'avg_tax_change': (x['tax_change'] * x['household_weight']).sum() / x['household_weight'].sum(),\n", + " 'total_households': x['household_weight'].sum()\n", + " })\n", + ").reset_index()\n", + "\n", + "cd_summary = cd_summary.sort_values('avg_income_impact', ascending=False)\n", + "\n", + "print(f\"Summary created for {len(cd_summary)} congressional districts\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41r7sfheye8", + "metadata": {}, + "outputs": [], + "source": [ + "# Show top 10 districts\n", + "print(\"Top 10 Congressional Districts by Average Household Income Impact from Abolishing SALT Cap:\")\n", + "print(cd_summary.head(10)[['state_fips', 'district_number', 'avg_income_impact', 'avg_tax_change', 'total_households']])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "saawvdbwkra", + "metadata": {}, + "outputs": [], + "source": [ + "# Show bottom 10 districts \n", + "print(\"Bottom 10 Congressional Districts (least benefit or most harm):\")\n", + "print(cd_summary.tail(10)[['state_fips', 'district_number', 'avg_income_impact', 'avg_tax_change', 'total_households']])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7uf8bvtd96o", + "metadata": {}, + "outputs": [], + "source": [ + "# Overall statistics\n", + "print(f\"Overall Statistics:\")\n", + "print(f\"Total Congressional Districts: {len(cd_summary)}\")\n", + "print(f\"Districts with positive income impact: {len(cd_summary[cd_summary['avg_income_impact'] > 0])}\")\n", + "print(f\"Districts with negative income impact: {len(cd_summary[cd_summary['avg_income_impact'] < 0])}\")\n", + "print(f\"Average impact across all districts: ${cd_summary['avg_income_impact'].mean():.2f}\")\n", + "print(f\"Median impact across all districts: ${cd_summary['avg_income_impact'].median():.2f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4gj9j5j8tp", + "metadata": {}, + "outputs": [], + "source": [ + "# Display the full summary dataset\n", + "cd_summary" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pe", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/us/deductions/abolish_salt_debug.py b/us/deductions/abolish_salt_debug.py new file mode 100644 index 0000000..936cb3f --- /dev/null +++ b/us/deductions/abolish_salt_debug.py @@ -0,0 +1,254 @@ +#!/usr/bin/env python3 +""" +Debug script for abolish_salt analysis with memory monitoring and optimization. +""" + +import gc +import psutil +import sys +from policyengine_us import Microsimulation +from policyengine_core.reforms import Reform +import pandas as pd +import numpy as np + +def print_memory_usage(label=""): + """Print current memory usage.""" + process = psutil.Process() + mem_info = process.memory_info() + print(f"\n{label}") + print(f"Memory usage: {mem_info.rss / 1024 / 1024:.2f} MB") + print(f"Available system memory: {psutil.virtual_memory().available / 1024 / 1024:.2f} MB") + print(f"System memory percent: {psutil.virtual_memory().percent}%") + +def force_garbage_collection(): + """Force garbage collection and print stats.""" + collected = gc.collect() + print(f"Garbage collector: collected {collected} objects") + return collected + +def create_reform(): + """Create the SALT cap abolishment reform.""" + return Reform.from_dict({ + "gov.irs.deductions.itemized.salt_and_real_estate.cap.JOINT": { + "2025-01-01.2100-12-31": 0 + }, + "gov.irs.deductions.itemized.salt_and_real_estate.cap.SINGLE": { + "2025-01-01.2100-12-31": 0 + }, + "gov.irs.deductions.itemized.salt_and_real_estate.cap.SEPARATE": { + "2025-01-01.2100-12-31": 0 + }, + "gov.irs.deductions.itemized.salt_and_real_estate.cap.SURVIVING_SPOUSE": { + "2025-01-01.2100-12-31": 0 + }, + "gov.irs.deductions.itemized.salt_and_real_estate.cap.HEAD_OF_HOUSEHOLD": { + "2025-01-01.2100-12-31": 0 + }, + "gov.irs.deductions.itemized.salt_and_real_estate.phase_out.floor.applies": { + "2025-01-01.2029-12-31": False + } + }, country_id="us") + +def main(): + print("=" * 60) + print("ABOLISH SALT CAP ANALYSIS - DEBUG VERSION") + print("=" * 60) + + print_memory_usage("Initial memory state") + + # Step 1: Create reform + print("\n1. Creating reform...") + reform = create_reform() + print("Reform created successfully") + + # Step 2: Create baseline microsimulation + print("\n2. Creating baseline microsimulation...") + print_memory_usage("Before baseline creation") + + try: + cd_baseline = Microsimulation(dataset="hf://policyengine/test/sparse_cd_stacked_2023.h5") + print(f"Baseline microsimulation created") + + # Fix state_fips + cd_geoids = cd_baseline.calculate("congressional_district_geoid").values + correct_state_fips = cd_geoids // 100 + cd_baseline.set_input("state_fips", 2023, correct_state_fips) + + print_memory_usage("After baseline creation") + except MemoryError as e: + print(f"ERROR: Memory error creating baseline: {e}") + print_memory_usage("At error") + return + + # Step 3: Calculate baseline variables + print("\n3. Calculating baseline variables...") + try: + household_ids = cd_baseline.calculate("household_id") + print(f" - household_ids calculated: {len(household_ids)} households") + + state_fips = cd_baseline.calculate("state_fips") + print(f" - state_fips calculated") + + cd_geoids = cd_baseline.calculate("congressional_district_geoid") + print(f" - congressional_district_geoid calculated") + + print_memory_usage("Before income/tax calculations") + + baseline_income = cd_baseline.calculate("household_net_income", period=2025) + print(f" - baseline_income calculated") + + baseline_tax = cd_baseline.calculate("income_tax", period=2025) + print(f" - baseline_tax calculated") + + weights = cd_baseline.calculate("household_weight", period=2025) + print(f" - weights calculated") + + print_memory_usage("After baseline calculations") + + except MemoryError as e: + print(f"ERROR: Memory error calculating baseline: {e}") + print_memory_usage("At error") + return + + # Step 4: Free baseline simulation memory before creating reform + print("\n4. Optimizing memory before reform simulation...") + + # Save baseline data to dataframe immediately + baseline_df = pd.DataFrame({ + 'household_id': household_ids, + 'state_fips': state_fips, + 'congressional_district_geoid': cd_geoids, + 'baseline_income': baseline_income, + 'baseline_tax': baseline_tax, + 'household_weight': weights + }) + + # Clear individual arrays + del household_ids, state_fips, cd_geoids, baseline_income, baseline_tax, weights + + # Clear baseline simulation + del cd_baseline + + force_garbage_collection() + print_memory_usage("After clearing baseline simulation") + + # Step 5: Create reform microsimulation + print("\n5. Creating reform microsimulation...") + try: + cd_reformed = Microsimulation( + dataset="hf://policyengine/test/sparse_cd_stacked_2023.h5", + reform=reform + ) + + # Fix state_fips again for reform + cd_geoids = cd_reformed.calculate("congressional_district_geoid").values + correct_state_fips = cd_geoids // 100 + cd_reformed.set_input("state_fips", 2023, correct_state_fips) + + print("Reform microsimulation created") + print_memory_usage("After reform creation") + + except MemoryError as e: + print(f"ERROR: Memory error creating reform simulation: {e}") + print_memory_usage("At error") + # Save baseline results even if reform fails + baseline_df.to_csv("baseline_results.csv", index=False) + print("Baseline results saved to baseline_results.csv") + return + + # Step 6: Calculate reform variables + print("\n6. Calculating reform variables...") + try: + print_memory_usage("Before reform income calculation") + reform_income = cd_reformed.calculate("household_net_income", period=2025) + print(f" - reform_income calculated") + + print_memory_usage("Before reform tax calculation") + reform_tax = cd_reformed.calculate("income_tax", period=2025) + print(f" - reform_tax calculated") + + print_memory_usage("After reform calculations") + + except MemoryError as e: + print(f"ERROR: Memory error calculating reform: {e}") + print_memory_usage("At error") + # Save baseline results + baseline_df.to_csv("baseline_results.csv", index=False) + print("Baseline results saved to baseline_results.csv") + return + + # Step 7: Add reform data to dataframe + print("\n7. Combining results...") + baseline_df['reform_income'] = reform_income + baseline_df['reform_tax'] = reform_tax + + # Clear reform arrays + del reform_income, reform_tax + del cd_reformed + force_garbage_collection() + + # Calculate impacts + baseline_df['reform_impact'] = baseline_df['reform_income'] - baseline_df['baseline_income'] + baseline_df['tax_change'] = baseline_df['reform_tax'] - baseline_df['baseline_tax'] + baseline_df['district_number'] = baseline_df['congressional_district_geoid'] % 100 + + print(f"Impact dataframe created with {len(baseline_df)} households") + print_memory_usage("After creating impact dataframe") + + # Step 8: Aggregate by congressional district + print("\n8. Aggregating by congressional district...") + + def weighted_avg(group): + return pd.Series({ + 'avg_income_impact': (group['reform_impact'] * group['household_weight']).sum() / group['household_weight'].sum(), + 'avg_tax_change': (group['tax_change'] * group['household_weight']).sum() / group['household_weight'].sum(), + 'total_households': group['household_weight'].sum() + }) + + cd_summary = baseline_df.groupby(['state_fips', 'congressional_district_geoid', 'district_number']).apply( + weighted_avg + ).reset_index() + + cd_summary = cd_summary.sort_values('avg_income_impact', ascending=False) + + print(f"Summary created for {len(cd_summary)} congressional districts") + + # Step 9: Display results + print("\n" + "=" * 60) + print("RESULTS") + print("=" * 60) + + print("\nTop 10 Congressional Districts by Average Household Income Impact:") + print(cd_summary.head(10)[['state_fips', 'district_number', 'avg_income_impact', 'avg_tax_change', 'total_households']]) + + print("\nBottom 10 Congressional Districts (least benefit or most harm):") + print(cd_summary.tail(10)[['state_fips', 'district_number', 'avg_income_impact', 'avg_tax_change', 'total_households']]) + + print(f"\nOverall Statistics:") + print(f"Total Congressional Districts: {len(cd_summary)}") + print(f"Districts with positive income impact: {len(cd_summary[cd_summary['avg_income_impact'] > 0])}") + print(f"Districts with negative income impact: {len(cd_summary[cd_summary['avg_income_impact'] < 0])}") + print(f"Average impact across all districts: ${cd_summary['avg_income_impact'].mean():.2f}") + print(f"Median impact across all districts: ${cd_summary['avg_income_impact'].median():.2f}") + + # Save results + cd_summary.to_csv("congressional_district_summary.csv", index=False) + print("\nResults saved to congressional_district_summary.csv") + + print_memory_usage("Final memory state") + + return cd_summary + +if __name__ == "__main__": + # Check if we should increase memory limits + print("Python memory configuration:") + print(f"Max size: {sys.maxsize}") + + # Try to run with optimizations + try: + results = main() + except Exception as e: + print(f"\nUnexpected error: {e}") + import traceback + traceback.print_exc() + print_memory_usage("At unexpected error") \ No newline at end of file diff --git a/us/deductions/congressional_district_summary.csv b/us/deductions/congressional_district_summary.csv new file mode 100644 index 0000000..22f1cec --- /dev/null +++ b/us/deductions/congressional_district_summary.csv @@ -0,0 +1,437 @@ +state_fips,congressional_district_geoid,district_number,avg_income_impact,avg_tax_change,total_households +2.0,201.0,1.0,-3.5073369,510.3354,322603.78 +47.0,4709.0,9.0,-13.144602,395.54288,257661.75 +53.0,5304.0,4.0,-19.408136,881.70074,333011.97 +12.0,1218.0,18.0,-21.7869,75.64127,395720.75 +48.0,4809.0,9.0,-24.369152,431.70593,332121.4 +33.0,3302.0,2.0,-26.281357,636.87915,272362.06 +48.0,4828.0,28.0,-28.181192,201.36841,324055.6 +48.0,4815.0,15.0,-29.244411,1702.7278,227688.67 +48.0,4816.0,16.0,-30.565483,220.63855,269008.38 +53.0,5302.0,2.0,-30.596777,280.33057,298708.06 +33.0,3301.0,1.0,-31.110903,177.93971,303510.44 +48.0,4823.0,23.0,-31.729635,344.91617,251117.9 +56.0,5601.0,1.0,-32.00103,706.61993,247657.31 +32.0,3204.0,4.0,-32.810295,563.6811,351449.78 +48.0,4834.0,34.0,-35.18205,562.8005,223656.88 +53.0,5305.0,5.0,-35.312878,772.9786,308143.75 +53.0,5306.0,6.0,-36.044113,138.4128,367389.2 +53.0,5310.0,10.0,-36.58714,475.96555,342006.94 +48.0,4830.0,30.0,-37.31375,1630.616,267499.34 +12.0,1204.0,4.0,-38.542217,359.56137,274419.1 +48.0,4836.0,36.0,-39.209522,1016.673,297951.78 +12.0,1209.0,9.0,-40.23276,889.4876,220962.69 +53.0,5308.0,8.0,-40.6164,192.99622,316769.84 +47.0,4706.0,6.0,-43.81991,626.9651,331849.4 +48.0,4805.0,5.0,-45.023254,1312.514,276923.0 +53.0,5309.0,9.0,-46.557705,465.6451,323706.0 +12.0,1206.0,6.0,-47.372635,698.2872,349804.56 +47.0,4704.0,4.0,-48.498642,1255.0962,307157.53 +48.0,4837.0,37.0,-48.91384,1676.3678,286212.3 +12.0,1211.0,11.0,-48.919266,1161.8796,200337.17 +12.0,1203.0,3.0,-49.243824,761.08734,288795.94 +12.0,1228.0,28.0,-50.611904,905.2536,309525.5 +48.0,4808.0,8.0,-51.791264,624.688,156338.58 +21.0,2105.0,5.0,-52.726677,168.01572,269442.78 +42.0,4202.0,2.0,-52.99965,630.1505,284317.25 +47.0,4703.0,3.0,-53.953854,870.13745,317254.4 +48.0,4814.0,14.0,-54.84205,618.7546,272328.66 +54.0,5401.0,1.0,-57.74643,377.99765,375333.8 +12.0,1220.0,20.0,-57.80145,963.37354,334298.5 +48.0,4829.0,29.0,-57.907566,813.1235,262317.25 +12.0,1207.0,7.0,-59.99018,610.66534,325026.78 +48.0,4817.0,17.0,-61.18349,681.65454,425408.8 +47.0,4701.0,1.0,-62.168213,258.50797,304572.72 +12.0,1214.0,14.0,-62.464924,485.63608,362677.97 +12.0,1213.0,13.0,-63.17453,539.69476,327529.16 +42.0,4208.0,8.0,-63.734367,2403.0315,313582.7 +12.0,1201.0,1.0,-63.9636,863.86096,299223.47 +47.0,4705.0,5.0,-64.0721,763.59515,258916.5 +12.0,1202.0,2.0,-64.25535,1860.6987,272900.47 +39.0,3909.0,9.0,-64.958466,395.2508,292245.12 +53.0,5301.0,1.0,-65.3642,342.72256,305026.06 +12.0,1212.0,12.0,-66.49544,190.16464,340018.78 +32.0,3201.0,1.0,-66.93362,1313.3689,351437.94 +48.0,4819.0,19.0,-68.15672,678.65717,249945.9 +18.0,1806.0,6.0,-68.36847,760.14594,279479.22 +4.0,407.0,7.0,-68.6206,1944.5819,286002.84 +48.0,4806.0,6.0,-68.70674,147.01392,293092.56 +39.0,3910.0,10.0,-69.7821,925.6354,332650.25 +48.0,4833.0,33.0,-73.203156,430.53534,225891.05 +32.0,3203.0,3.0,-75.06436,724.2072,362567.25 +26.0,2608.0,8.0,-75.31218,338.18924,303621.72 +47.0,4702.0,2.0,-76.413475,439.1179,332541.9 +48.0,4820.0,20.0,-77.36051,961.8224,283061.72 +32.0,3202.0,2.0,-78.050026,859.5477,331466.38 +53.0,5303.0,3.0,-78.92303,564.4075,353562.28 +42.0,4212.0,12.0,-79.01131,499.2817,325958.16 +22.0,2204.0,4.0,-79.45746,202.37755,290291.53 +46.0,4601.0,1.0,-79.82769,1282.9834,331679.7 +48.0,4801.0,1.0,-80.76186,128.94806,296015.56 +12.0,1208.0,8.0,-81.81489,486.56586,359128.06 +22.0,2202.0,2.0,-82.88981,1764.422,286138.3 +48.0,4835.0,35.0,-83.727554,924.22894,282581.0 +39.0,3905.0,5.0,-84.658005,522.8445,346681.38 +48.0,4827.0,27.0,-84.8157,357.8585,267753.2 +12.0,1215.0,15.0,-85.06155,1140.8392,352737.22 +12.0,1224.0,24.0,-85.71513,631.7771,372568.56 +48.0,4832.0,32.0,-85.785164,703.80756,308840.6 +5.0,504.0,4.0,-86.0617,261.52878,276900.6 +42.0,4207.0,7.0,-86.18072,1484.1425,319408.47 +48.0,4802.0,2.0,-86.46785,405.16745,247684.48 +42.0,4216.0,16.0,-86.57202,744.4017,303247.56 +48.0,4812.0,12.0,-88.67004,937.7518,287707.6 +48.0,4813.0,13.0,-89.59504,367.39954,275734.9 +48.0,4804.0,4.0,-90.16176,654.6135,377154.8 +48.0,4822.0,22.0,-92.15364,815.55316,307216.03 +4.0,403.0,3.0,-92.90712,992.49396,269365.12 +4.0,409.0,9.0,-93.73969,509.26318,300080.1 +12.0,1210.0,10.0,-94.50627,303.2958,343436.44 +48.0,4811.0,11.0,-95.344635,3018.345,356870.97 +12.0,1221.0,21.0,-96.59988,913.68665,386327.9 +12.0,1226.0,26.0,-100.75716,934.2216,291059.1 +39.0,3906.0,6.0,-101.650925,565.754,275413.97 +48.0,4831.0,31.0,-102.163445,1019.1407,285097.28 +47.0,4707.0,7.0,-103.023285,688.05927,278059.2 +48.0,4810.0,10.0,-103.176544,556.19946,270310.0 +22.0,2205.0,5.0,-103.993965,214.2296,282477.25 +47.0,4708.0,8.0,-105.1424,869.92664,297491.5 +12.0,1216.0,16.0,-106.22071,798.4875,350483.6 +48.0,4826.0,26.0,-106.87914,765.24756,263945.75 +28.0,2804.0,4.0,-107.43779,386.5411,255360.1 +4.0,402.0,2.0,-108.52308,1176.9524,332153.7 +12.0,1217.0,17.0,-110.66653,807.8042,364966.38 +17.0,1715.0,15.0,-112.696,447.04034,336800.84 +36.0,3605.0,5.0,-113.30681,148.83224,290907.38 +28.0,2801.0,1.0,-113.79794,1163.5355,233708.11 +54.0,5402.0,2.0,-115.31532,842.06647,332190.75 +42.0,4213.0,13.0,-115.80546,77.42241,319599.94 +42.0,4215.0,15.0,-118.13796,911.33765,287391.38 +18.0,1801.0,1.0,-119.759834,484.243,285451.56 +17.0,1717.0,17.0,-119.84055,786.5477,319496.7 +37.0,3703.0,3.0,-120.78709,112.43609,246107.67 +48.0,4818.0,18.0,-123.035774,44.19688,291678.16 +12.0,1205.0,5.0,-123.716194,1204.0461,309286.47 +42.0,4209.0,9.0,-125.593254,368.30884,315885.62 +18.0,1808.0,8.0,-128.05298,691.7033,283902.25 +53.0,5307.0,7.0,-130.25627,1180.3531,353835.78 +39.0,3903.0,3.0,-130.47742,700.9403,334963.75 +17.0,1713.0,13.0,-132.25244,562.1844,293841.3 +39.0,3913.0,13.0,-132.31845,1141.6578,341424.2 +48.0,4803.0,3.0,-134.08617,1067.8328,249608.27 +39.0,3915.0,15.0,-134.78032,202.7815,226033.47 +28.0,2802.0,2.0,-135.05179,357.97433,271698.84 +48.0,4825.0,25.0,-135.34222,800.2431,278621.44 +4.0,406.0,6.0,-136.28542,565.3985,323404.62 +36.0,3608.0,8.0,-136.89124,287.86282,356346.0 +48.0,4821.0,21.0,-137.18254,682.57324,343040.03 +35.0,3502.0,2.0,-138.89262,779.89185,244875.97 +39.0,3904.0,4.0,-139.27565,561.51843,326881.56 +26.0,2612.0,12.0,-140.57668,652.96326,306405.75 +18.0,1804.0,4.0,-141.05315,519.38074,248179.03 +21.0,2101.0,1.0,-143.36163,1293.6611,254408.69 +29.0,2905.0,5.0,-144.00423,934.76416,304250.56 +42.0,4203.0,3.0,-144.58447,718.3137,289010.25 +26.0,2601.0,1.0,-145.83025,510.14603,312651.47 +26.0,2613.0,13.0,-148.88507,443.4571,290590.75 +17.0,1716.0,16.0,-148.91113,1132.5634,327346.56 +29.0,2906.0,6.0,-150.95952,413.1307,313987.5 +42.0,4210.0,10.0,-151.98347,1093.3306,317181.06 +6.0,623.0,23.0,-152.86366,418.8562,253257.06 +39.0,3907.0,7.0,-153.53157,964.35394,288892.56 +39.0,3911.0,11.0,-153.73648,1289.7924,301273.6 +12.0,1225.0,25.0,-155.02518,705.83356,306998.84 +37.0,3710.0,10.0,-155.21718,718.23285,319607.1 +42.0,4214.0,14.0,-156.1908,1159.8248,305760.44 +13.0,1313.0,13.0,-158.31955,883.4081,199697.75 +22.0,2203.0,3.0,-159.67009,696.2944,289523.28 +5.0,503.0,3.0,-160.31914,343.67813,338617.12 +12.0,1222.0,22.0,-160.78433,1750.7781,387881.38 +1.0,101.0,1.0,-160.79562,1118.4731,249776.75 +48.0,4807.0,7.0,-163.97824,288.63266,242806.47 +37.0,3705.0,5.0,-164.04184,757.8932,315482.2 +38.0,3801.0,1.0,-166.03288,1627.8705,291499.4 +39.0,3902.0,2.0,-168.28062,559.7695,315720.2 +40.0,4002.0,2.0,-169.58861,204.05577,276047.56 +29.0,2901.0,1.0,-170.40034,561.9686,317252.78 +13.0,1302.0,2.0,-171.34937,344.04742,277641.56 +35.0,3503.0,3.0,-172.86307,1157.9695,321365.03 +22.0,2206.0,6.0,-173.61815,945.8627,297337.38 +48.0,4824.0,24.0,-174.04932,1471.3838,354300.3 +26.0,2609.0,9.0,-174.16139,179.15117,336763.38 +20.0,2001.0,1.0,-174.66289,1558.6798,255363.61 +39.0,3901.0,1.0,-178.43538,1153.356,312265.97 +12.0,1227.0,27.0,-178.82164,790.3582,373889.0 +18.0,1809.0,9.0,-179.07658,1467.1707,310757.94 +40.0,4003.0,3.0,-179.53036,255.00027,330250.38 +21.0,2102.0,2.0,-180.41495,1261.2664,295711.06 +29.0,2908.0,8.0,-180.55432,542.7163,295775.0 +12.0,1219.0,19.0,-181.96326,663.2249,399392.16 +36.0,3615.0,15.0,-183.8379,210.26373,381524.8 +29.0,2904.0,4.0,-184.18726,692.5714,274519.62 +29.0,2907.0,7.0,-185.13846,453.16486,311653.97 +5.0,501.0,1.0,-185.97136,806.84406,262830.25 +37.0,3706.0,6.0,-189.30254,419.19418,278081.9 +26.0,2605.0,5.0,-190.10541,854.16144,329072.56 +55.0,5504.0,4.0,-190.14368,884.5867,277039.94 +17.0,1701.0,1.0,-191.61661,745.5209,297687.94 +1.0,105.0,5.0,-192.28017,1184.0256,260453.16 +48.0,4838.0,38.0,-192.5712,953.65607,309543.25 +1.0,103.0,3.0,-193.55798,1040.0254,259126.08 +4.0,408.0,8.0,-194.4802,984.1749,348275.2 +26.0,2604.0,4.0,-194.90587,1399.5217,253669.2 +5.0,502.0,2.0,-195.25876,608.87085,272251.78 +37.0,3701.0,1.0,-195.82166,941.6829,345054.88 +26.0,2606.0,6.0,-197.5428,297.17847,294950.2 +36.0,3621.0,21.0,-199.54266,237.78099,314829.78 +17.0,1712.0,12.0,-199.7465,2821.1753,279705.22 +17.0,1702.0,2.0,-201.61284,956.6243,301165.9 +21.0,2103.0,3.0,-201.78505,1141.7466,280827.97 +39.0,3908.0,8.0,-204.20235,473.41528,315421.88 +18.0,1803.0,3.0,-205.19214,1210.3712,295615.9 +39.0,3914.0,14.0,-209.55019,307.99646,307504.88 +36.0,3606.0,6.0,-210.86841,912.29346,308290.97 +45.0,4507.0,7.0,-214.23141,527.27246,329735.06 +42.0,4211.0,11.0,-214.47565,1232.4403,310515.38 +39.0,3912.0,12.0,-218.65549,579.9262,305701.16 +55.0,5503.0,3.0,-221.50403,289.24997,282807.34 +28.0,2803.0,3.0,-223.06386,1313.1465,280722.62 +21.0,2106.0,6.0,-223.36504,422.26953,311588.8 +24.0,2403.0,3.0,-225.38849,603.03723,343457.97 +1.0,104.0,4.0,-229.85208,797.58636,246009.66 +13.0,1308.0,8.0,-230.49927,102.12529,275452.8 +1.0,102.0,2.0,-230.52736,410.91614,286850.03 +36.0,3620.0,20.0,-232.46321,1518.8228,363520.84 +35.0,3501.0,1.0,-233.3735,295.9319,265994.38 +4.0,405.0,5.0,-233.91647,828.48254,257526.05 +12.0,1223.0,23.0,-234.34845,672.30066,344394.1 +36.0,3623.0,23.0,-235.58832,491.73288,294035.12 +51.0,5109.0,9.0,-237.6921,287.28253,275086.7 +26.0,2607.0,7.0,-237.85905,837.9204,316316.8 +8.0,803.0,3.0,-239.60777,374.0271,312243.25 +42.0,4217.0,17.0,-239.99887,661.89276,346370.9 +22.0,2201.0,1.0,-242.55168,663.6657,273894.7 +37.0,3707.0,7.0,-243.21506,626.495,339828.5 +18.0,1807.0,7.0,-243.53029,953.6647,306835.0 +45.0,4503.0,3.0,-244.77313,459.38004,274171.0 +26.0,2603.0,3.0,-245.8073,900.6877,289493.25 +44.0,4402.0,2.0,-246.85768,547.1667,206282.84 +40.0,4004.0,4.0,-247.99547,2511.0825,296100.06 +24.0,2404.0,4.0,-248.11531,347.65518,387357.44 +23.0,2302.0,2.0,-248.91255,1058.2976,287089.2 +34.0,3408.0,8.0,-249.03806,756.01447,340439.2 +4.0,401.0,1.0,-254.08319,152.19629,389753.0 +21.0,2104.0,4.0,-259.86508,391.1517,287980.56 +1.0,107.0,7.0,-260.93036,808.33856,262512.38 +37.0,3712.0,12.0,-261.50034,600.60315,343063.72 +36.0,3613.0,13.0,-261.9774,792.1207,377948.1 +37.0,3709.0,9.0,-264.66116,713.4419,271827.34 +37.0,3711.0,11.0,-265.05624,820.3725,279022.8 +17.0,1707.0,7.0,-265.71667,215.13512,313886.88 +26.0,2610.0,10.0,-265.91983,456.10504,310592.66 +17.0,1704.0,4.0,-266.33572,852.3569,313822.38 +36.0,3619.0,19.0,-267.15802,501.90598,293699.38 +55.0,5507.0,7.0,-268.9798,141.99985,279490.06 +37.0,3714.0,14.0,-272.65616,587.8498,224687.47 +26.0,2602.0,2.0,-274.39203,1396.0642,300641.1 +8.0,805.0,5.0,-280.69696,277.99344,276155.0 +25.0,2501.0,1.0,-283.11554,563.43823,340707.7 +13.0,1309.0,9.0,-286.54736,1250.4996,220634.34 +29.0,2903.0,3.0,-288.25732,67.56588,325306.44 +24.0,2402.0,2.0,-288.33813,490.7686,378905.12 +40.0,4005.0,5.0,-288.79825,839.7526,271089.62 +51.0,5103.0,3.0,-291.07236,1159.8961,294256.0 +49.0,4902.0,2.0,-291.11096,687.42993,315526.4 +34.0,3402.0,2.0,-291.2394,196.43474,292656.8 +31.0,3101.0,1.0,-294.05695,457.47037,230260.98 +17.0,1714.0,14.0,-294.28894,1059.4941,233407.06 +13.0,1305.0,5.0,-295.63184,694.88043,477184.9 +44.0,4401.0,1.0,-295.8512,1011.7317,227312.44 +36.0,3625.0,25.0,-297.13214,473.25848,267410.94 +36.0,3614.0,14.0,-298.6039,142.69641,475572.16 +24.0,2407.0,7.0,-299.27396,233.46542,400518.28 +51.0,5105.0,5.0,-300.20834,1138.8224,339869.5 +20.0,2004.0,4.0,-300.25616,310.52658,274070.1 +13.0,1310.0,10.0,-302.34567,350.28186,285449.16 +45.0,4505.0,5.0,-303.57214,719.27856,296708.8 +6.0,625.0,25.0,-303.94107,133.07571,293711.7 +26.0,2611.0,11.0,-304.9596,889.2532,341216.8 +4.0,404.0,4.0,-306.07648,762.5508,328770.06 +8.0,808.0,8.0,-306.64258,242.36795,267566.25 +45.0,4504.0,4.0,-309.3693,251.29472,297565.5 +13.0,1314.0,14.0,-309.44574,363.81134,274105.44 +6.0,639.0,39.0,-310.13712,607.8133,264689.7 +55.0,5501.0,1.0,-310.16696,649.18604,286489.44 +6.0,634.0,34.0,-310.27167,352.0418,289081.06 +24.0,2406.0,6.0,-311.7271,442.4155,401383.47 +24.0,2401.0,1.0,-313.93698,598.6573,349106.88 +20.0,2002.0,2.0,-315.4184,693.14355,283014.12 +6.0,613.0,13.0,-315.73843,518.7732,252008.98 +45.0,4502.0,2.0,-315.95633,1148.654,293002.0 +36.0,3626.0,26.0,-316.9217,1318.5675,295043.12 +17.0,1703.0,3.0,-317.4041,387.28293,298321.28 +18.0,1802.0,2.0,-317.68716,623.8331,261341.56 +37.0,3704.0,4.0,-324.01447,1164.3091,208289.81 +36.0,3624.0,24.0,-325.4473,533.2802,279421.97 +36.0,3611.0,11.0,-329.82462,362.27856,453676.4 +19.0,1904.0,4.0,-331.16223,534.1115,307615.56 +40.0,4001.0,1.0,-335.8576,518.62335,294638.28 +55.0,5506.0,6.0,-337.3818,204.25807,295792.75 +49.0,4901.0,1.0,-339.8882,280.67188,335445.72 +6.0,652.0,52.0,-339.99646,1870.1163,318846.72 +34.0,3410.0,10.0,-340.51654,1356.0759,302163.53 +36.0,3622.0,22.0,-341.53403,336.749,287925.62 +6.0,622.0,22.0,-341.7546,207.77359,273122.06 +42.0,4204.0,4.0,-345.2112,1038.6029,319770.44 +24.0,2405.0,5.0,-345.77145,676.9098,298207.75 +16.0,1601.0,1.0,-350.91663,321.29617,377135.4 +27.0,2705.0,5.0,-352.05927,987.5542,296524.62 +42.0,4205.0,5.0,-354.13293,298.242,304222.03 +13.0,1303.0,3.0,-354.30527,488.78372,330295.88 +49.0,4903.0,3.0,-355.604,442.8691,339546.06 +55.0,5508.0,8.0,-358.67706,420.2481,320196.94 +6.0,643.0,43.0,-359.99814,1147.0277,268779.72 +55.0,5505.0,5.0,-363.89545,391.12595,309039.88 +17.0,1711.0,11.0,-369.04297,585.31647,308583.56 +8.0,801.0,1.0,-369.4974,1297.8755,335696.44 +27.0,2707.0,7.0,-369.56064,827.4982,291630.88 +16.0,1602.0,2.0,-371.2421,209.8197,345274.5 +10.0,1001.0,1.0,-371.60803,113.45639,453206.66 +31.0,3103.0,3.0,-373.41504,876.10077,228162.25 +42.0,4206.0,6.0,-374.00818,442.0002,293980.66 +51.0,5102.0,2.0,-375.61295,907.53455,257946.1 +50.0,5001.0,1.0,-377.5299,1124.0627,284128.38 +19.0,1901.0,1.0,-382.4822,830.8113,280553.88 +25.0,2502.0,2.0,-382.79608,863.9451,345166.25 +51.0,5104.0,4.0,-385.3183,2257.3425,366701.34 +19.0,1902.0,2.0,-385.47772,485.90253,286652.7 +6.0,631.0,31.0,-392.2405,192.51477,277129.94 +6.0,628.0,28.0,-396.28043,781.28326,408785.5 +6.0,635.0,35.0,-397.6591,638.2927,263386.25 +25.0,2503.0,3.0,-399.89142,802.0852,329859.62 +36.0,3601.0,1.0,-401.65173,77.36151,378596.94 +8.0,804.0,4.0,-403.2298,313.92844,260830.25 +9.0,903.0,3.0,-403.90247,791.30505,293631.2 +19.0,1903.0,3.0,-404.83456,247.43222,299029.88 +27.0,2708.0,8.0,-408.96176,1241.3403,266118.25 +17.0,1708.0,8.0,-409.11578,190.90764,287475.72 +34.0,3401.0,1.0,-413.93457,592.55426,289716.62 +42.0,4201.0,1.0,-414.61905,617.3054,327575.7 +45.0,4506.0,6.0,-420.43246,746.78973,258868.19 +55.0,5502.0,2.0,-421.6655,541.80396,296971.03 +45.0,4501.0,1.0,-422.42056,662.12646,348005.6 +8.0,807.0,7.0,-425.078,287.7622,328412.94 +6.0,626.0,26.0,-425.819,457.62973,388573.6 +9.0,901.0,1.0,-430.56256,136.20097,271317.4 +6.0,646.0,46.0,-431.381,1096.4581,277605.38 +6.0,642.0,42.0,-437.21585,359.69525,260614.75 +17.0,1706.0,6.0,-437.64886,868.1396,291784.12 +9.0,905.0,5.0,-438.30426,680.9416,301261.2 +51.0,5106.0,6.0,-442.93454,655.6638,304239.2 +9.0,902.0,2.0,-444.8924,847.6234,293304.47 +25.0,2507.0,7.0,-447.21103,350.47495,315951.28 +18.0,1805.0,5.0,-448.15726,1089.6431,292638.2 +25.0,2509.0,9.0,-455.9794,873.351,308974.94 +6.0,633.0,33.0,-460.8246,248.51805,275416.2 +8.0,806.0,6.0,-461.33044,559.4349,344485.25 +13.0,1301.0,1.0,-462.02972,653.0027,267064.75 +34.0,3407.0,7.0,-463.08035,36.53798,429162.22 +34.0,3406.0,6.0,-464.84247,696.0355,289501.2 +6.0,624.0,24.0,-471.20993,242.00977,388697.88 +37.0,3702.0,2.0,-475.2839,388.31064,335011.22 +49.0,4904.0,4.0,-475.39188,518.918,249544.3 +34.0,3409.0,9.0,-476.59512,346.93854,283649.03 +13.0,1306.0,6.0,-480.62985,282.5836,277244.06 +30.0,3002.0,2.0,-481.41818,1287.9503,275027.6 +15.0,1501.0,1.0,-483.11774,363.8485,318712.56 +6.0,629.0,29.0,-489.3234,1487.0221,290153.34 +51.0,5101.0,1.0,-489.62906,894.82745,292296.38 +13.0,1312.0,12.0,-494.80472,1098.2985,294440.7 +36.0,3609.0,9.0,-496.72424,301.83908,470486.38 +6.0,650.0,50.0,-508.2648,1112.3099,300065.5 +15.0,1502.0,2.0,-514.5275,1023.8509,282663.12 +6.0,621.0,21.0,-516.50684,759.5112,266022.84 +6.0,644.0,44.0,-526.6282,952.96265,264803.06 +36.0,3602.0,2.0,-534.5859,383.503,304847.1 +30.0,3001.0,1.0,-535.1967,921.68665,176402.7 +51.0,5107.0,7.0,-536.0368,2068.6917,277386.28 +31.0,3102.0,2.0,-546.6188,1051.6456,255552.14 +8.0,802.0,2.0,-561.7467,650.6546,316056.62 +23.0,2301.0,1.0,-564.659,1325.5355,302622.88 +36.0,3607.0,7.0,-574.0793,514.12775,437152.44 +6.0,637.0,37.0,-575.1765,737.7246,422360.94 +6.0,612.0,12.0,-575.8314,309.5766,345597.0 +34.0,3403.0,3.0,-576.7177,364.4702,329023.38 +13.0,1311.0,11.0,-578.03845,1300.491,352652.34 +1.0,106.0,6.0,-585.1438,1279.0985,233547.84 +6.0,620.0,20.0,-585.5695,638.45483,259026.17 +6.0,645.0,45.0,-598.2449,522.4606,390911.94 +25.0,2504.0,4.0,-602.96216,574.66547,446196.38 +36.0,3617.0,17.0,-606.7727,929.23737,322017.8 +36.0,3618.0,18.0,-607.4744,499.6578,303200.72 +25.0,2506.0,6.0,-633.3901,237.98923,320504.7 +34.0,3404.0,4.0,-634.21545,417.03128,282779.62 +6.0,609.0,9.0,-636.8163,989.1679,270278.72 +24.0,2408.0,8.0,-638.5624,554.6891,407437.72 +51.0,5108.0,8.0,-639.6122,524.62726,386765.03 +27.0,2701.0,1.0,-646.42883,1339.6549,303830.12 +36.0,3610.0,10.0,-657.9569,281.3997,415089.03 +37.0,3708.0,8.0,-658.25714,670.749,272202.88 +6.0,601.0,1.0,-660.51807,710.588,269241.5 +25.0,2508.0,8.0,-664.7387,847.96857,392102.53 +6.0,638.0,38.0,-675.5825,455.10626,301713.7 +41.0,4103.0,3.0,-686.57477,679.03186,323609.62 +13.0,1304.0,4.0,-688.9988,1301.1127,287454.0 +41.0,4104.0,4.0,-689.1089,1663.2572,283678.4 +6.0,605.0,5.0,-701.6042,352.92163,326398.66 +34.0,3411.0,11.0,-702.5577,989.2255,401207.7 +27.0,2704.0,4.0,-705.07416,277.1111,295055.3 +29.0,2902.0,2.0,-708.12244,685.7399,281035.2 +6.0,603.0,3.0,-708.8842,827.7349,349257.62 +27.0,2702.0,2.0,-713.92645,298.48245,266152.9 +6.0,618.0,18.0,-720.0183,749.30817,337724.47 +34.0,3405.0,5.0,-729.043,67.48096,355782.66 +6.0,641.0,41.0,-736.2839,1492.8544,293184.53 +13.0,1307.0,7.0,-737.4057,574.05914,330590.34 +34.0,3412.0,12.0,-739.2741,566.0604,335877.62 +6.0,606.0,6.0,-739.7923,499.6087,302981.8 +17.0,1709.0,9.0,-751.90375,190.0488,309416.44 +25.0,2505.0,5.0,-766.1056,4.42073,366570.66 +41.0,4105.0,5.0,-767.5879,1386.7756,240744.66 +20.0,2003.0,3.0,-767.7655,755.49567,267520.2 +36.0,3604.0,4.0,-774.9975,733.15924,308223.2 +17.0,1705.0,5.0,-777.2378,1342.6061,330488.7 +6.0,607.0,7.0,-780.4512,588.93536,267658.3 +6.0,627.0,27.0,-781.48334,513.0643,285424.22 +6.0,610.0,10.0,-786.1103,768.10034,367801.8 +17.0,1710.0,10.0,-790.42285,413.16876,328433.38 +37.0,3713.0,13.0,-804.69135,568.1354,276556.0 +6.0,608.0,8.0,-806.5291,421.65475,441866.25 +6.0,648.0,48.0,-815.38196,300.64096,298684.7 +36.0,3603.0,3.0,-815.72327,343.062,425036.88 +6.0,651.0,51.0,-817.0912,684.1054,390357.72 +6.0,602.0,2.0,-834.8975,520.2855,431266.16 +6.0,632.0,32.0,-834.97705,421.78644,403128.16 +6.0,604.0,4.0,-842.8337,593.96655,264879.06 +36.0,3616.0,16.0,-844.8176,811.8553,417847.56 +11.0,1101.0,1.0,-864.0748,465.45575,406186.44 +51.0,5110.0,10.0,-865.2255,638.9735,373394.88 +51.0,5111.0,11.0,-915.0543,1548.9281,383402.12 +6.0,619.0,19.0,-915.47437,782.69727,371534.06 +41.0,4102.0,2.0,-945.4407,1811.3772,347607.88 +41.0,4101.0,1.0,-964.40234,439.90192,260163.95 +41.0,4106.0,6.0,-1009.98206,385.43738,292226.72 +6.0,630.0,30.0,-1047.467,220.02252,445032.72 +27.0,2703.0,3.0,-1053.226,1307.8638,383068.38 +6.0,647.0,47.0,-1062.3082,1592.4346,336444.28 +27.0,2706.0,6.0,-1063.8112,1353.8525,243975.06 +6.0,640.0,40.0,-1075.2186,1370.8802,480017.94 +6.0,617.0,17.0,-1173.5925,785.4893,445114.94 +9.0,904.0,4.0,-1187.033,382.69766,415800.03 +36.0,3612.0,12.0,-1194.8381,765.22437,465048.7 +6.0,611.0,11.0,-1212.568,1201.8315,449069.88 +6.0,614.0,14.0,-1349.0312,290.37073,434496.2 +6.0,649.0,49.0,-1384.3369,213.11612,412088.12 +6.0,615.0,15.0,-1520.261,233.41556,487420.03 +6.0,616.0,16.0,-1937.8556,1139.9705,456080.7 +6.0,636.0,36.0,-1966.6229,313.70752,465875.12